Vznik IPv6

Protokol IPv4 byl až na jednu výjimku navržen velmi dobře. Bohužel tato výjimka, malý adresní prostor, představuje fundamentální problém.

Řešením bylo pouze vytvoření nového protokolu, který bylů označen IP verze 6 (IPv6). První úplný standard popisující IPv6 byl publikován jako RFC 1883 [1] roku 1995 a poměrně brzy (1998) byl nahrazen inovovanou verzí označenou jako RFC 2460 [2], která platí dodnes.

Přechod na IPv6 je však pozvolný, rozhodně pomalejší, než bylo dříve očekáváno, a je spojen s řadou postupných změn, které se občas vzájemně negují. Došlo tak například k vypuštění jedné z kategorií adres, k doplňování a zase rušení metod implementace či přechodu od IPv4 k IPv6 nebo (v roce 2007) likvidaci značně rozpracovaného mechanismu překladu adres a protokolů (NAT-PT - Network Address Translation – Protocol Translation).

Je třeba zdůraznit, že protokol IPv6 leží z pohledu referenčního modelu síťové architektury dle ISO/OSI na 3., tj. síťové vrstvě, zbývající vrstvy zůstávají v zásadě nezměněny (výjimku tvoří například jmenná služba - DNS).

IPv6 adresa

Adresa představuje asi nejmarkantnější rys protokolu IPv6. Její délka činí 128 bitů, takže celý adresní prostor obsahuje asi 3,4.1038 unikátních adres.

IPv6 adresa se zapisuje formou osmi dvojtečkami oddělených čtveřic hexadecimálních číslic, přičemž tento zápis někdy lze zkrátit (systémy ovšem interně pracují s plnou délkou). Je například možné vypustit vedoucí nulu či nuly ve čtveřici nebo nahradit čtveřici či posloupnost čtveřic obsahujících pouze nuly dvojicí dvojteček (toto v celé adrese pouze jedenkrát). IPv6 adresa se stejně jako IPv4 adresa dělí na část identifikující síť či podsíť a část označující konkrétní rozhraní. Rozsah síťové části se v IPv6 nepopisuje maskou podsítě (ta zcela zmizela), ale prefixem, tj. počtem bitů síťové části - stejně jako v případě CIDR u IPv4.

Příklad tří forem zápisu téže IPv6 adresy

  • 2001:0A40:0000:0000:0005:0000:7654:0022
  • 2001:A40:0:0:5:0:7654:22
  • 2001:A40::5:0:7654:22

Nejkratší zápis funkční IPv6 adresy (jde o loopback, obdoba 127.0.0.1 z prostředí IPv4)

  • ::1

Obr. 1: Hierarchie dělení IPv6 adresního prostoru

 Další významnou novinkou je jiné rozdělení typů IP adres. V prostředí IPv6 se lze setkat s těmito typy adres:

  • unicast - adresace jediného uzlu (přesněji rozhraní),
    • globální (dosah či platnost celosvětová),
    • site-local (platnost v rámci sítě instituce – tento typ adres byl zrušen),
    • link-local (platnost v rámci segmentu sítě),
  • multicast - adresace skupiny uzlů, pracuje se všemi,
  • anycast – adresace skupiny uzlů, pracuje se pouze s jedním.

Adresa typu broadcast známá z IPv4 již v IPv6 není, místo ní se používá multicast s volitelným rozsahem. Rozdíl mezi adresami typu multicast a anycast spočívá v reakci uzlů (resp. příslušných aplikací) na příjem paketu. V případě multicastu se všichni příjemci přijatými daty aktivně zabývají, u anycastu se v rámci skupiny ozve jediný uzel (zřejmě v dané chvíli nejméně zatížený) a komunikace pak probíhá pouze s ním.

Adresa/prefix

Význam/užití

::/0 (prefix délky 0)

default route

::/128 (samé nuly)

neexistující adresa (RFC4291)

::1/128 (1 na konci)

loopback (RFC4291)

::0:IP:V4/96

IPv4 kompatibilní adresa (RFC4291 zrušilo)

::ffff:IP:V4/96

IPv4 mapovaná IPv6 adresa (RFC4291)

2000::/3

globální unicast adresy (RFC3513)

2002::/16

6to4 globální unicast adresy (RFC3056)

3ffe::/16

6bone (RFC1897 historické)

FC00::/7

unique local unicast (RFC4193)

FE80::/10

link local unicast (RFC4291)

FEC0::/10

site local unicast (RFC3513 zrušilo)

FFgs::/8

multicast (g=flags, s=scope, RFC4291)

Tabulka 1: Základní rozdělení IPv6 adresního prostoru

Díky obrovskému rozsahu adresního prostoru není nutné adresami šetřit a naopak lze přidělenou adresu vhodně členit, resp. v opačném pohledu menší sítě agregovat. Toto představuje jednu důležitých z výhod IPv6, neboť při dobrém návrhu sítě lze výrazně zefektivnit činnost směrovacích protokolů a směrovačů.

Adresa/prefix

Uživatel

2001:0718::/32

CESNET, z.s.p.o.

2001:0718:0800::/42

CESNET, z.s.p.o., oblast Brno

2001:0718:0808::/48

CESNET, z.s.p.o., oblast Brno, Univerzita obrany

 Tabulka 2: Příklad členění IPv6 adresního prostoru

Formát IPv6 paketu

Formát IPv6 paketu, konkrétněji jeho záhlaví, je oproti svému předchůdci co do počtu polí a manipulace s nimi zjednodušen, ovšem jeho velikost se díky delší adrese zvětšila. Dále byla pozměněna koncepce zpracování tohoto záhlaví, které se nyní skládá ze základního záhlaví a rozšiřujících záhlaví (toto uspořádání sice bylo možné i v IPv4, avšak využívalo se málo).

Základní záhlaví IPv6 paketu má tato pole:

  • Version (verze, 4 bity; obsahuje hodnotu 6),
  • Traffic Class (třída provozu, 8 bitů; umožňuje označit požadavek na prioritní zpracování),
  • Flow Label (označení toku, 20 bitů; tokem se rozumí související pakety, například náležící do téhož TCP spojení – ty pak sdílí stejné označení toku),
  • Payload Lenght (délka datové části; 16 bitů),
  • Next Header (identifikace typu následujícího rozšiřujícího záhlaví; 8 bitů),
  • Hop Limit (životnost paketu - každý průchozí směrovač toto pole dekrementuje a při dosažení nuly paket zahodí; 8 bitů),
  • Source Address (zdrojová IPv6 adresa; 128 bitů),
  • Destination Address (cílová IPv6 adresa; 128 bitů).

Obr. 2: Základní záhlaví IPv6 paketu

Základní IPv6 záhlaví se skládá z 8 polí a má celkovou délku 40 oktetů (záhlaví IPv4 má 13 polí a délku 20 oktetů).

K některým dalším změnám: u IPv6 se oproti IPv4 nevyskytuje kontrolní součet záhlaví, jehož ověření a výpočet nové hodnoty po dekrementaci pole doby života paketu jsou výpočetně náročné operace, které zejména ve vysokorychlostních sítích nelze zanedbat. Chyby v současných sítích jsou jednak velmi vzácné, jednak bývají odhaleny již na 2. vrstvě.

Nově je definována maximální délka IPv6 paketu. Standardní hodnota činí stejně jako u IPv4 64 KiB, avšak v případě potřeby lze využít i tzv. jumbogramy o délce až 4 GiB. Použití jumbogramů je v praxi omezené. Sice potenciálně zrychlují přenosy, avšak je třeba, aby i linková vrstva podporovala náležité dlouhé rámce a dále se vyžaduje modifikovaná implementace TCP a UDP protokolů, neboť maximální velikost jejich segmentů je 64 KiB.

Naposledy změněno: středa, 25. dubna 2012, 11.09