Ztráta paketů

Z Wikipedie, otevřené encyklopedie
(přesměrováno z Packet loss)

Ztráta paketů (anglicky packet loss) je v informatice chyba při přenosu dat v počítačové síti. Nastává, když jeden nebo více paketů putujících přes počítačovou síť nedosáhne svého cíle. Ztráta paketů je brána jako jeden ze tří hlavních problémů v digitální komunikaci. Zbylé dva problémy jsou bitová chyba a falešné pakety způsobené rušením.

Příčiny[editovat | editovat zdroj]

Ztráta paketů může být způsobena několika faktory jako je zhoršení kvality signálu po síti, zahození paketů kvůli zahlcení sítě,[1][2] poškozené pakety zamítnuté během přenosu, selhání síťového hardwaru, selhání síťových ovladačů, nebo běžného směrování (jako je DRS (Dynamic Source Routing) v ad hoc sítích[3]). Ztráta paketů může být způsobena i záměrně prostřednictvím techniky odrazování sítě (anglicky network dissuasion) pro účely řízení provozu sítě.[4]

Následky[editovat | editovat zdroj]

Když je ztráta paketů způsobena problémy se sítí, mohou mít ztracené či zahozené pakety za následek znatelné problémy s výkonem nebo odchylky (jitter) při streamování, ve VoIP, online hraní a videokonferencích a bude mít nežádoucí vliv i na ostatní síťové aplikace.[5] Nicméně je potřeba říci, že ztráta paketů nemusí vždy znamenat problém. Pokud je prodleva a ztráta paketů přijatelná, nemá pak žádný negativní vliv.[6]

Obnova paketů[editovat | editovat zdroj]

Některé protokoly, jako třeba TCP, zajišťují spolehlivé doručování paketů. V případě ztráty paketů požádá příjemce o přeposlání segmentů, které nebyly doručeny, nebo je odesílatel automaticky znovu pošle.[7] Přestože se TCP dokáže zotavit ze ztráty paketů, opakované posílání chybějících paketů má za následek pokles propustnosti spojení. Tento pokles je zapříčiněn problémem s protokolem sliding window, který se používá pro potvrzení přijatých paketů. V některých variantách TCP se v případě, že se přenesený paket ztratil, přeposílají i všechny pakety, které byly poslány za ním. Toto přeposílání má za následek celkový pokles propustnosti spojení.

Protokoly, jako UDP, neumožňují žádnou obnovu ztracených paketů. U aplikací, které používají UDP se očekává, že aplikace mají své vlastní mechanismy pro řešení situace se ztracenými pakety (např. u VoIP dojde jen ke snížení kvality hovoru, data se znovu neposílají).

Přijatelná ztráta paketů[editovat | editovat zdroj]

„Množství ztracených paketů se zvyšuje spolu s intenzitou provozu. Z toho důvodu se výkon v uzlu často měří nejen co se týče zpoždění, ale také z hlediska pravděpodobnosti ztráty paketů. Ztracený paket může být znovu přenesen na bázi end-to-end, aby se zajistilo, že všechny údaje jsou nakonec přeneseny od zdroje k cíli.“[8] Výše ztráty paketů, která je přijatelná, závisí na typu dat, která jsou odesílána. „Například pro VoIP nemá občasná ztráta jednoho či dvou paketů vliv na kvalitu konverzace. Významný vliv na kvalitu mají ztráty mezi 5 a 10 % z celkového přenosu.“[9] Na druhou stranu, pokud přenášíme textový dokument nebo webovou stránku, jediný zahozený paket může zapříčinit ztrátu části souboru, kde jsou používány schémata pro přeposílání ztracených paketů.

V situaci, kdy je množství přenášeného obsahu větší, než je možné spojením přenést, není žádné jiné řešení, než zahazovat pakety (bottleneck).[2] Protokol TCP je navržen se strategií pomalého startu, takže nadměrná ztráta paketů způsobí, že odesílatel zpomalí odesílání dat a zastaví tak přetěžování spojení (pomocí zpětné vazby se dozví o ztrátě paketů a tím i o přetížení).[10] Datové pakety tak budou přenášeny po delší dobu.

Je mnoho metod pro určení, které pakety byly zahozeny. Většina základních síťových zařízení používá metodu FIFO pro pakety, čekající na projití úzkým místem (bottleneck) a zahazují pakety, pokud je fronta ve chvíli, kdy je paket obdržen, plná. Tento typ zahazování paketů se nazývá tail drop. Nicméně, zahazování paketů, když je fronta plná, je pro jakékoli spojení, které vyžaduje práci v reálném čase, špatné. V případech, kdy QoS závisí na rychlosti připojení, mohou být pakety záměrně zahozeny, aby se zpomalily určité služby, tak aby zajistily dostupnost šířky pásma pro ostatní služby s větším významem. Z tohoto důvodu není ztráta paketů nezbytným ukazatelem špatného připojení.

Ztráta paketů je úzce spojena s QoS a vztahuje se k Erlangově měrné jednotce.

Jakožto pravidlo odvozené z dennodenní praktické zkušenosti se dá určit, že obecně se u TCP/IP protokolů dá tolerovat ztráta paketů menší než 0,1 % (1 ztracený paket na každých 1000 paketů). Cokoliv většího, bude mít větší či menší následek (v závislosti na okolnostech) a je potřeba tuto ztrátu řešit.[11]

Reference[editovat | editovat zdroj]

V tomto článku byl použit překlad textu z článku Packet loss na anglické Wikipedii.

  1. Kurose, J. F. & Ross, K. W. (2010) Computer Networking: A Top-Down Approach. New York: Addison-Wesley. P 30.
  2. a b Kurose, J. F. & Ross, K. W. (2010). Computer Networking: A Top-Down Approach. New York: Addison-Wesley. P 30.
  3. Perkins, C. E. (2001). Ad Hoc Networking. Boston: Addison-Wesley. P 147.
  4. "Controlling Applications by Managing Network Characteristics" Vahab Pournaghshband, Leonard Kleinrock, Peter Reiher, and Alexander Afanasyev ICC 2012
  5. Kurose, J. F. & Ross, K. W. (2010). Computer Networking: A Top-Down Approach. New York: Addison-Wesley. P 602.
  6. Packet loss or latency at intermediate hops. [online]. [cit. 2007-02-25]. Dostupné online. 
  7. Kurose, J. F. & Ross, K. W. (2010). Computer Networking: A Top-Down Approach. New York: Addison-Wesley. P 242.
  8. Kurose, J. F. & Ross, K. W. (2010). Computer Networking: A Top-Down Approach. New York: Addison-Wesley. P 42-43.
  9. Mansfield, K. C. & Antonakos, J. L. (2010). Computer Networking from LANs to WANs: Hardware, Software, and Security. Boston: Course Technology, Cengage Learning. P501.
  10. Kurose, J. F. & Ross, K. W. (2010). Computer Networking: A Top-Down Approach. New York: Addison-Wesley. P 282-283
  11. Archivovaná kopie. sdu.ictp.it [online]. [cit. 2013-12-05]. Dostupné v archivu pořízeném dne 2013-10-10. 

Související články[editovat | editovat zdroj]

Externí odkazy[editovat | editovat zdroj]