IP datagram: Porovnání verzí

Smazaný obsah Přidaný obsah
wiki
encyklopedizace, obrázky tabulek převedeny na tabulky (snad jsem se u bitů nepřepočítal…), drobné úpravy, kat.
Řádek 1:
V [[IP protokol|protokolu IP]] se datové [[paket]]y označují termínem [[datagram]]. Jejich formát závisí na verzi protokolu:
Pojmem datagram se označuje datový paket v [[IP protokol|protokolu IP]]. Název pochází z analogie s [[telegram]]em – stejně jako telegramy jsou datagramy přenášeny každý samostatně, nezávisle na ostatních. Teoreticky může každý ze skupiny datagramů odeslaných stejným strojem témuž adresátovi putovat jinou cestou než ostatní (v praxi tak divoké změny nebývají). A jelikož se v paketu nepřepravují telata, ale data, byl zvolen název datagram.
 
Jeho formát pochopitelně závisí na verzi protokolu.
 
 
== IP verze 4 (IPv4) ==
 
{| class="wikitable" align="center" style="margin: 0 auto; text-align: center; width: 50em;"
[[Soubor:Ipv4-datagram.gif|400px]]
|-
! colspan="1"|
! colspan="4" width="11%"|Bity 0–3
! colspan="4" width="15%"|4–7
! colspan="8" width="22%"|8–15
! colspan="3" width="7%"|16–18
! colspan="13" width="34%"|19–31
|-
! colspan="1"|0
| colspan="4"|Verze
| colspan="4"|Délka hlavičky
| colspan="8"|Typ služby
| colspan="16"|Celková délka
|-
! colspan="1"|32
| colspan="16"|Identifikace
| colspan="3"|Příznaky
| colspan="13"|Posun fragmentu
|-
! colspan="1"|64
| colspan="8"|Životnost (TTL)
| colspan="8"|Protokol
| colspan="16"|Kontrolní součet hlavičky
|-
! colspan="1"|96
| colspan="32"|Adresa odesilatele
|-
! colspan="1"|128
| colspan="32"|Cílová adresa
|-
! colspan="1"|160
| colspan="32"|Volby (volitelná délka)
|-
! colspan="1"|…
| colspan="32"|&nbsp;<br />Data<br />&nbsp;
|}
 
* '''Verze''': Verze IP, zde 4.
* '''Délka hlavičky''': Délka hlavičky ve čtyřbajtových slovech. Díky volbám může být hlavička různě dlouhá, proto tato položka.
* '''Typ služby (Type Ofof Service, TOS)''': Podle původních představ měla tato položka umožnit odesilateli, aby posalzvolil charakter přepravní služby ideální pro dotyčný datagram. Jednotlivé bity znamenaly např. požadavek na nejmenší zpoždění, největší šířku pásma či nejlevnější dopravu. [[Směrování]] pak mělo brát ohled na hodnotu TOS a volit z alternativních tras tu, která nejlépe odpovídala požadavkům datagramu. V praxi však k realizaci nedošlo. V současnosti se položka používá k podobným účelům - nese značku pro mechanismy zajišťující služby s definovanou kvalitou ([[QoS]]).
* '''Celková délka''': Délka datagramu v bajtech.
* '''Identifikace''': Odesilatel přidělí každému odeslanému paketu jednoznačný identifikátor. Pokud byl datagram při přepravě fragmentován, pozná se podle této položky, které fragmenty patří k sobě (mají stejný identifikátor).
* '''Volby''': Slouží pro fragmentaci. Definovány jsou dvě: ''More fragments'' ve významu „nejsem poslední, za mnou následuje další fragment původního datagramu“ a ''Don’t fragmnt'' zakazující tento datagram fragmentovat.
* '''Posun fragmentu''' udává, na jaké pozici v původním datagramu začíná tento fragment. Jednotkou je 8osm bajtů.
* '''Životnost (Time To Live, TTL)''': Představuje ochranu proti zacyklení. Každý směrovač zmenší tuto hodnotu o jedničku (podle původní definicepřípadně o počet sekund, které datagram ve směrovači strávil, pokud zde čeká déle). Pokud tím TTL nabydenabude hodnotu nula, datagram zahodí, protože vypršela jeho životnost.
* '''Protokol''': KterémuUrčuje, kterému protokolu vyšší vrstvy se mají data předat při doručení.
* '''Kontrolní součet''': Ověřuje, zda nedošlo k poškození dat. Počítá se pouze z hlavičky a pokud nesouhlasí, datagram bude zahozen.
* '''Adresa odesilatele''': [[IP adresa|IPv4 adresa]] počítače, který datagram vyslal.
* '''Cílová adresa''': IPv4IP adresa stroje, kterému je datagram určen.
* '''Volby''': Různé rozšiřující informace či požadavky. Například lze předepsat sérii adres, kterými má datagram projít.
 
Za výše popsanou hlavičkou následuje případná výplň, která její délku dorovná na násobek čtyř bajtů (pokud jsou volby kratší, délka hlavičky se uvádí ve čtyřbajtových slovech). Za ní jsou pak najdeteumístěna samotná nesená data.
 
 
== IP verze 6 (IPv6) ==
 
{| class="wikitable" align="center" style="margin: 0 auto; text-align: center; width: 50em;"
[[Soubor:Ipv6-datagram.gif|400px]]
|-
! colspan="1"|
! colspan="4" width="11%"|Bity 0–3
! colspan="4" width="11%"|4–7
! colspan="4" width="11%"|8–11
! colspan="4" width="11%"|12–15
! colspan="4" width="11%"|16–19
! colspan="4" width="11%"|20–23
! colspan="4" width="11%"|24–27
! colspan="4" width="11%"|28–31
|-
! colspan="1"|0
| colspan="4"|Verze
| colspan="8"|Třída provozu
| colspan="20"|Značka toku
|-
! colspan="1"|32
| colspan="16"|Délka dat
| colspan="8"|Další hlavička
| colspan="8"|Maximum skoků
|-
! colspan="1"|64
| colspan="8"|Životnost (TTL)
| colspan="8"|Protokol
| colspan="16"|Kontrolní součet hlavičky
|-
! colspan="1"|96
| colspan="32" rowspan="4"|Adresa odesilatele
|-
! colspan="1"|128
|-
! colspan="1"|160
|-
! colspan="1"|192
|-
|-
! colspan="1"|224
| colspan="32" rowspan="4"|Adresa odesilatele
|-
! colspan="1"|256
|-
! colspan="1"|288
|-
! colspan="1"|320
|-
! colspan="1" valign="top"|352<br />…
| colspan="32"|&nbsp;<br />Data<br />&nbsp;
|}
 
Hlavička IPv6 datagramu je jednodušší - cílem návrhu bylo umožnit její rychlé zpracování. Proto z ní byly odstraněny všechny zbytné položky i kontrolní součet, který je nutné přepočítávat na každém směrovači po cestě (protože se mění životnost). V důsledku toho se prodloužila jen na dvojnásobek (40 &nbsp;B proti původním 20 &nbsp;B), přestože délka nesených adres je čtyřnásobná. Obsahuje následující položky:
 
* '''Verze''': Verze protokolu, zde 6.
Řádek 36 ⟶ 116:
* '''Délka dat''': Délka datagramu, ovšem nepočítá se do ní úvodní 20B hlavička.
* '''Další hlavička''': Rozšiřující prvky jsou v IPv6 přesunuty do rozšiřujících hlaviček, které se v případě potřeby připojují za základní hlavičku. Jsou zřetězeny položkami ''Další hlavička'', které vždy identifikují typ následující hlavičky. Poslední hlavička pak v této položce nese informaci o protokolu vyšší vrstvy, kterému mají být data předána při doručení. Pokud tedy datagram žádné rozšiřující hlavičky nemá, hned základní hlavička v této položce stanoví protokol vyšší vrstvy.
* '''Maximum skoků''': Životnost datagramu. Stejně najako název funguje stejně jakou TTL v IPv4 -zde každý směrovač zmenší hodnotu o jedničku a dojde-li do nuly, datagram zahodí.
* '''Adresa odesilatele''': [[IP adresa|IPv6 adresa]] počítače, který datagram vyslal.
* '''Cílová adresa''': IPv6 adresa stroje, kterému je datagram určen.
 
[[Kategorie:IP protokoly]]