|
Streaming multimedia
1 Comparatie
2 Problemele streamingului multimedia
Aplicatiile de streaming multimedia au cerinte uriase legate de retea. Una din cele mai importante si greu de satisfacut cerinta, este largimea benzii de care are nevoie aplicatiile multimedia. De exemplu, compresia MPEG standard necesita o banda de 1.5 Mbiti/s, iar standardul MPEG -2 necesita 4 Mbiti/s. Pe langa banda mare necesara, sunt si alte cerinte, cum ar fi intarzierea. Aceste aplicatii solicita un delay cat mai scurt si un jitter cat mai mic, pe langa o banda constanta. Daca delayul dintre pachete este prea mare, redarea video se va opri periodic, asteptand urmatorul frame sa ajunga. Jitterul este la fel de important, un jitter prea mare da fluctuatii mari de delay ceea ce duce la un buffer prea plin sau prea gol la receptie, cauzand o degradare a redarii video. Aceste cerinte sunt greu de satisfacut intr-o retea ca Internetul.
Intr-o retea cu un delay variabil si cu diferite nivele de congestie, partenerii de comunicatie trebuie sa-si adapteze parametri de conexiune (reducerea calitatii streamingului multimedia, adaptarea materialului audio sau video). Aplicatiile multimedia de streaming aleg adesea UDP-ul ca si protocol de transport, fata de TCP, din cauza delayului mic. Mai precis, aplicatiile multimedia de streaming aleg UDP in locul TCP-ului pentru a evita delayul de start al TCP-ului si aglomerarea retelei cu informatiile necesare mentinerii coneziunii. Avantajul vitezei la UDP peste TCP vine cu in neajuns: nu raspunde la congesti. Acesta este un mare minus pentru aplicatiile de streaming deoarece pot bloca traficul altor aplicatii, care folosesc TCP-ul ( o conexiune UDP poate afecta mai multe conexiuni TCP). Cand pachetele sunt aruncate, UDP-ul continua sa transmita la aceiasi rata, ceea ce poate duce la o infometare a aplicatiilor TCP sau chiar la o blocare a acestora.
Un remediu pentru congestie se poate gasi in doua moduri. Primul este implementarea unui mecanism de Congestion Avoid la nivel de aplicatie similar cu mecanismul AIMD al TCP-ului. Al doilea, problema congestiei poate fi implementata la nivel de router folosind RED (Random Early Detection) sau SFQ (Stochastic Fairness Queuing). Acesti algoritmi tncearca sa evite congestia prin modificarea lungimii cozii si prin aruncarea de pachete din coada cand este necesar. Pe de alta parte,algoritmii decid ce pachet trece si pot oferi o alocare corecta a resurselor fata de diferitele aplicatii.
Politica de aruncare a pachetelor la cele mai multe routere din Internet este Random-Drop Policy. Aceasta politica refera toate mecanismele de aruncare a pachetelor care nu iau in considerare tipul pachetului si fac aruncarea doar cand coada a fost depasita.
Politica de Random-Drop este dezastruasa pentru aplicatiile de streaming multimedia. Majoritatea codarilor multimedia ,pentru a ajunge la o rata buna de codare, folosesc legaturi intre pachet. De exemplu, MPEG foloseste patru tipuri de frameuri in procesul de codare: I-frames (Intra-coded frames), P-frames (Predictive-coded frames), B-frames (Bi-directionally predictive-coded frames) and D-frames (DC-coded frames).
Aruncarea aleatoare de pachete duce nu doar la pierderea unui pachet ci la un ansamblu de pachete.