Paket

Paket označuje v informatice blok dat přenášený v počítačových sítích založených na přepojování paketů, kde je možné přenášet data i při výpadcích některých spojů. Některé typy síťových spojů přenos paketů nepodporují (například tradiční telekomunikační linky typu bod-bod, anglicky point-to-point) a data se v nich přenášejí jako proud bajtů, znaků nebo bitů.

Ve starší češtině se germanismus paket (německy das Paket) užíval pro balík, balíček.[1] Paket je též slisovaný odpadový materiál vycházející z paketovacího lisu.[2]

Struktura paketu

[editovat | editovat zdroj]

Paket se skládá z řídících dat (metadat) a z uživatelských dat (užitečné zatížení, anglicky payload). Řídící data poskytují síti potřebná data k doručení paketu, například adresu zdroje a cíle, kódy pro detekci chyb – kontrolní součty a informace o pořadí. Obvykle se řídící data nalézají v hlavičkách paketů a na jejich konci, přičemž uživatelská data jsou mezi nimi.

Různé komunikační protokoly používají různé konvence pro rozlišování mezi řídícími prvky a daty. V binárních synchronních přenosech používají pakety 8bitové skupiny (bajty) a k vymezení jednotlivých prvků jsou použity speciální znaky. Další protokoly (například Ethernet), definují začátek hlavičky a datových prvků jako pozici vzhledem k začátku paketu. Některé protokoly formátují informace na úrovni bitů místo použití bajtové úrovně.

Dobrý způsob jak pochopit paket je představit si ho jako dopis: hlavička je jako obálka a oblast dat je cokoliv, co se dá dovnitř obálky. Rozdíl je však v tom, že některé sítě mohou rozdělit větší pakety na menší, pokud je to nutné (menší části zůstávají ve formátu paketů) – viz fragmentace IP datagramů.

Sítě využívající pakety mohou využít dvě základní výhody: detekci chyb a adresaci více cílů doručení.

Detekce chyb

[editovat | editovat zdroj]

Je efektivnější a spolehlivější vypočítat kontrolní součet nebo kontrolní cyklický kód z obsahu paketu než kontrolovat chyby pomocí paritního bitu. Přílohy paketů často obsahují data k detekci chyb, které se vyskytnou během přenosu.

Adresace paketů

[editovat | editovat zdroj]

Moderní sítě obvykle spojují tři nebo více počítačů. V takovém případě hlavička paketu obsahuje adresovací informace tak, že paket je přijat správným cílovým počítačem. Ve složitějších sítích postavených na redundantních spojích a spojovacích uzlech (jako byl ARPANET a je moderní Internet) může série paketů poslaných z jednoho počítače do druhého využít k dosažení stejného cíle různé cesty. Tato technologie se nazývá přepojování paketů.

Paket versus datagram

[editovat | editovat zdroj]

Termín paket označuje jakoukoliv zprávu naformátovanou jako paket, zatímco termín datagram označuje pakety služby nespolehlivého přenosu dat. Rozdíl mezi spolehlivým a nespolehlivým přenosem dat je ten, že v prvním případě odesílatel zprávy dostane při chybě přenosu zprávu značící selhání, zatímco v druhém případě nikoliv.

Například IP poskytuje nespolehlivé služby. TCP využívá IP ke spolehlivému přenosu dat. UDP využívá IP k nespolehlivému přenosu. Všechny tyto protokoly používají pakety, ale UDP pakety jsou nazývány datagramy.

Když Arpanet prorazil s paketově spínanými doménami, poskytl spolehlivé doručování paketů pomocí připojení počítače přes rozhraní 1822. Vysílající počítač jednoduše uspořádal data v paketu ve správném formátu, vložil adresu cílového počítače, a poslal zprávu přes rozhraní jeho IMP připojením. Jakmile byla zpráva doručena na cílový počítač, bylo potvrzení o doručení odesláno na vysílající počítač. Pokud by se zpráva nemohla po síti doručit, bylo odesláno chybové hlášení zpět na vysílající počítač.

Mezitím, vývojáři z Kyklady a ALOHAnet*** prokázali, že je možné vybudovat efektivní počítačovou síť bez poskytování zaručeného přenosu paketů. Toto později využili návrháři Ethernetu.

Pokud je k odesíláni využita síť s nezaručeným přenosem, pak se stává odesílatel odpovědným za zajištění spolehlivosti detekce a přenesení ztracených paketů. Následné zkušenosti Arpanetu uvádějí, že síť sama o sobě nemůže spolehlivě odhalit všechny chyby paketů a to klade důraz na detekci chyb při každém přenosu. To vedlo k vývoji Principu konec-konec*** (anglicky end-to-end principle), který je jedním ze základních internetových principů.

IP pakety se skládají z hlavičky a vlastních dat. Hlavička paketu IP obsahuje:

  1. 4 bity označující verzi, specifikují jestli se jedná o IPv4 nebo IPv6 paket
  2. 4 bity označující délku hlavičky (údaj je počtem čtveřic bitů)
  3. 8 bitů označujících typ služby (Type of Service; nepoužíváno, v současnosti nahrazeno informací o QoS)
  4. 16 bitů označujících délku paketu v bytech
  5. 16 bitů označujících identifikační tag pomáhající k rekonstrukci paketu z více fragmentů
  6. 3 bity, které obsahují nuly; příznak označující zda je možno paket fragmentovat (DF: Don't Fragment, MF: More Fragments)
  7. 13 bitů označujících offset fragmentu
  8. 8 bitů obsahujících hodnotu TTL Time to live; označují, přes kolik routerů může paket projít, než bude zničen
  9. 8 bitů označujících protokol (ICMP, UDP, TCP, …)
  10. 16 bitů obsahujících kontrolní součet CRC záhlaví (nikoliv dat)
  11. 32 bitů obsahujících zdrojovou IP adresu
  12. 32 bitů obsahujících cílovou IP adresu
Související informace naleznete také v článku IP datagram.

Odesílání s nezaručeným přenosem

[editovat | editovat zdroj]

Mnoho sítí neposkytuje zaručený přenos, nezfalšování paketů nebo nepoškození doručených paketů, jako například internetový protokol UDP. Je však možné nastavit transportní protokol na vrch služeb paketů, který může poskytnout takovou ochranu. TCP a UDP jsou nejlepšími příklady vrstvy 4, Transportní vrstvy, ze sedmi vrstev OSI modelu.

Záhlaví paketu určuje datový typ, číslo paketu, celkový počet paketů, a IP adresy odesílatele a příjemce.

  1. Příruční slovník jazyka českého 4. Část 1. Praha: Státní nakladatelství, 1941-1943. Dostupné online. Kapitola Paket, s. 27. 
  2. FRICEK, Martin. Konstrukce paketovacího lisu na kovový šrot. Praha, 2017. Diplomová práce. ČVUT Fakulta strojní. Vedoucí práce Antoní Bubák. s. 52. Dostupné online.