Přeskočit na obsah

IPv6

Z Wikipedie, otevřené encyklopedie
Přednáška Pavla Satrapy popisující protokol IPv6.

IPv6 (internetový protokol verze 6) je v označení nastupujícího protokolu pro komunikaci v současném Internetu (resp. v počítačových sítích, které Internet vytvářejí). IPv6 nahrazuje dosluhující protokol IPv4. Přináší zejména masivní rozšíření adresního prostoru (tj. možnost přidělit všem zařízením jejich vlastní IPv6 adresu) a zdokonalení schopnosti přenášet vysokorychlostně data.

Pro používání IPv6 není ze strany uživatele v operačních systémech nutná žádná speciální příprava (tj. minimálně Android 5.0, Windows Vista, Linux 2.6.12). Stejně jako pro IPv4 je však nutné příslušné nastavení síťových prvků (routerů), a aby IPv6 podporoval poskytovatel internetového připojení. V případech kdy síť LAN a WAN ještě není na protokol IPv6 připravena, je možno využít různých tzv. mechanismů přechodu, založených na enkapsulaci (zabalení) paketů IPv6 do IPv4.

Motivace a charakteristika

[editovat | editovat zdroj]

Starší protokol IPv4 poskytuje omezený adresní prostor – maximálně 232 adres (cca 4×109 = 4 miliardy adres), prakticky však mnohem méně, protože adresy jsou sdružovány kvůli snadnějšímu směrování do podsítí (viz maska sítě) a část adres je rezervována pro speciální využití[1]. Protokol IPv4 též nevyhovuje současnému nárůstu přenosových rychlostí (zejména kvůli přenosu multimediálních dat – videokonference, internetová televize, telefonování po internetu atd.).

Související informace naleznete také v článku IPv4.

IPv6 nahrazuje formát IP datagramů, které jsou zodpovědné za vlastní přenos dat. Díky vrstevnaté struktuře rodiny protokolů TCP/IP, které Internet používá, je nahrazena pouze síťová přenosová vrstva – tj. IP datagramy. Všechny vyšší protokoly zůstávají nedotčeny (UDP, TCP a tedy i jejich nadstavby HTTP, FTP atd.) Nově byl implementován pouze omezený soubor protokolů (např. DHCPv6, ICMPv6 apod.)

Související informace naleznete také v článcích Referenční model ISO/OSI a TCP/IP.

Hlavní změna, kterou přináší IPv6, je daleko větší adresní prostor, což umožňuje větší pružnost při přidělování adres. Je znemožněno použití překladu síťových adres (NAT), který byl zaveden kvůli vyčerpání adresního prostoru IPv4 a kvůli bezpečnosti. IPv6 zjednodušuje přidělování a přečíslování adres při změně poskytovatele připojení. Při návrhu IPv6 však nebylo záměrem přiřadit stálou adresu každému člověku či počítači (část adresy se při změně poskytovatele připojení změní).

Velký adresní prostor IPv6 obsahuje celkem 2128 (zhruba 3,4×1038) adres, což odpovídá počtu 5×1028 adres pro každého ze 7 miliard dnes žijících lidí. U IPv4 připadá na každého člověka přibližně 0,5 adresy. Nebo také 252 adres pro každou hvězdu ve známém vesmíru (milionkrát více adres pro každou hvězdu, než umožňoval protokol IPv4 pro naši planetu). Případně srovnání s počtem atomů ve známém vesmíru (1078 až 10100).[2] Vysoký počet adres umožňuje hierarchické uspořádání, což zjednodušuje směrování a přečíslování.

Přečíslování sítě při změně poskytovatele připojení může být u IPv4 velmi obtížné,[3][4], s IPv6 je výrazně jednodušší - na příslušném routeru stačí změnit prefix sítě.[5] V adresním prostoru IPv6 existuje možnost přidělení tzv. PI (provider-independent) rozsahu, který je nezávislý na poskytovateli konektivity a je přidělen přímo koncovému uživateli.[6] Nutnost přečíslování sítí při změně poskytovatele tedy zcela odpadá.

Vznik IPv6

[editovat | editovat zdroj]

Počátkem devadesátých let 20. století se stalo zřejmé, že technologie CIDR[7] nestačí k odvrácení vyčerpání adresního prostoru IPv4. Bylo nutné výrazněji upravit protokol IPv4. Koncem roku 1992 komise IETF přišla s požadavkem na ustavení pracovních skupin pro definici a vytvoření „IP nové generace“ (IPng).[8]

IPng bylo převzato IETF 25. července 1994 spolu se vznikem několika IPng pracovních skupin. Do roku 1996 bylo vydáno několik dokumentů RFC definujících IPv6, počínaje RFC 2460. (Mimochodem, IPv5 nebylo předchůdcem IPv6, ale experimentální streamovací protokol, který měl podporovat přenos zvuku a videa.[9])

Předpokládá se, že protokol IPv4 bude v dohledné budoucnosti i nadále podporován. Uzly (klienti nebo servery) podporující pouze IPv4 nebudou schopny přímé komunikace s IPv6 uzly. Budou muset využít prostředníka, viz Mechanismy přechodu níže.

Vlastnosti a odlišnosti od IPv4

[editovat | editovat zdroj]

IPv6 je ve velkém rozsahu konzervativním rozšířením IPv4. Většina přenosových a aplikačních vrstev protokolů vyžaduje malé nebo žádné změny pro funkčnost s IPv6. Výjimkami jsou protokoly aplikací zahrnující adresy síťové vrstvy (jako např. FTP či NTP v3). Nicméně aplikace vyžadují obvykle malé změny a novou kompilaci, aby pracovaly s IPv6.

Větší adresní prostor

[editovat | editovat zdroj]

V současnosti hlavním důvodem pro převzetí IPv6 je větší adresní prostor: adresy v IPv6 jsou 128 bitů dlouhé, oproti 32 bitům u IPv4. Díky většímu adresnímu prostoru odpadá potenciální vyčerpání adresního prostoru IPv4, bez potřeby překladu síťových adres a jiných postupů porušujících přirozenost internetových přenosů jako komunikace mezi dvěma koncovými body. Překlad síťových adres může být ve výjimečných případech stále zapotřebí, ovšem návrháři Internetu vědí, že bude v IPv6 obtížně realizovatelný, proto se snaží překladu síťových adres vyhnout, kdykoliv je to možné. Také se zjednodušuje správa středních až velkých sítí, díky nepotřebnosti složitých schémat podsítí. Tvorba podsítí se v ideálním případě změní v logické rozdělení IP sítě pro optimální přístup a směrování. Nevýhoda výměnou za rozšířený adresní prostor je jisté zvýšení režijních přenosů oproti IPv4, což může nepříznivě ovlivnit oblasti s omezenou šířkou přenosového pásma (lze využít komprese hlavičky paketů ke zmírnění tohoto problému). Také zapamatování adresy IPv6 může být pro člověka velmi obtížné až nemožné, kvůli její délce. Je proto vhodné využívat DNS.

Bezstavová autokonfigurace adres (SLAAC)

[editovat | editovat zdroj]

Host v IPv6 může být konfigurován automaticky, pokud je připojen na směrovanou IPv6 síť, za použití zpráv směrem k ICMP v6 směrovači. Při prvním připojení k síti host vyšle 'router solicitation' multicast žádost o konfigurační parametry na místní linku. Odpovídajícím způsobem nastavený ICMPv6 směrovač odpoví na tuto žádost paketem 'router advertisement', který obsahuje konfigurační parametry síťové vrstvy.[10] Pokud není IPv6 autokonfigurace použitelná, host může využít stavové konfigurace (DHCPv6) nebo být nastaven ručně či jiným způsobem.[11]

Multicast je součástí základní specifikace IPv6 na rozdíl od IPv4, kde byl zaveden později. IPv6 nepoužívá broadcast na místní linku, stejného výsledku je možno dosáhnout pomocí multicastu skupině all-hosts (ff02::1). Většina prostředí nicméně v současné době nemá infrastrukturu sítě připravenou směrovat multicast. Multicast v jednotlivé podsíti bude fungovat, ale globální nemusí.

Adresy místní linky

[editovat | editovat zdroj]

Rozhraní IPv6 má kromě globálních adres často využívaných aplikacemi také adresy místní linky. Ty jsou vždy k dispozici a nikdy se nemění, což zjednodušuje vývoj konfiguračních a směrovacích protokolů.

Jumbogramy

[editovat | editovat zdroj]

Protokol IPv4 má omezenou velikost paketu na 64 KiB. Naproti tomu IPv6, pokud je použit u komunikace hostů a komunikační cesty umožňující MTU (maximální velikost transportní jednotky) větší než 65576 oktetů (65536 + 40 na hlavičku), disponuje volitelně podporu pro pakety přes tento limit. Ty se označují jako jumbogramy a jejich velikost může být až 4 GiB. Použití jumbogramů může snížit režii a tak zvýšit průchodnost přenosové trasy.

Bezpečnost v síťové vrstvě

[editovat | editovat zdroj]

Protokol pro IP vrstvu šifrování a autentizaci IPsec je integrální součástí souboru protokolů IPv6, na rozdíl od IPv4, kde je přítomen volitelně (obvykle ale implementován). V současnosti však IPsec není využíván, vyjma zabezpečení spojení mezi směrovači BGP.

Na rozdíl od IPv4, Mobilní IPv6 (MIPv6) používá trojstranné směrování, a je proto stejně efektivní jako IPv6. Tato výhoda je víceméně hypotetická, jelikož v současné době nejsou v provozu ani MIPv4, ani MIPv6.

Nepřítomnost kontrolního součtu

[editovat | editovat zdroj]

Paket protokolu IPv4 nese pole s kontrolním součtem celé hlavičky. Jelikož se hodnoty některých polí hlavičky při cestě mezi jednotlivými směrovači změní (např. TTL), musí se uvedený kontrolní součet v každém směrovači vždy přepočítat. V dnešních sítích je chybovost provozu velmi nízká a chyby jsou odhaleny pomocí protokolů linkové vrstvy (Ethernet). Z tohoto důvodu nemá IPv6 uvedenou kontrolu implementovánu. V případě, že je hlavička paketu poškozena, dojde v nejhorším případě k zaslání paketu nesprávnému hostu.

Stav provozního nasazení

[editovat | editovat zdroj]

Jako výsledek pracovní skupiny IETF s názvem „IPv6 Deployment WG“ vedené Jimem Boundem bylo v červenci 1999 ustaveno IPv6 fórum.[12] V listopadu 2007 představují IPv6 účty mizivé procento aktivních adres ve veřejně přístupném internetu, kde stále převládá IPv4. Kromě zřetelných výjimek bezstavové autokonfigurace, pružnějšího adresování a bezpečného nalezení souseda (SEND), mnoho z možností bylo přeneseno do IPv4, ať už více či méně elegantním způsobem. Proto je nasazení IPv6 z největší části motivováno vyčerpáním adresního prostoru IPv4, které bylo zpomaleno představením technologie CIDR a rozsáhlému využití překladu síťových adres.

Vyčerpání IPv4

[editovat | editovat zdroj]

Na nejvyšší úrovni byl adresní prostor IPv4 vyčerpán 3.2.2011,[13] kdy mezinárodní organizace IANA rozdělila poslední bloky adres regionálním správcům (RIPE, AFRINIC, APNIC, ARIN, LACNIC). V držení některých regionálních správců ještě zůstávají volné IP adresy, jejichž očekávané datum vyčerpání se liší. Jednotlivé regiony postupně přecházejí do režimu rozdělování posledního bloku /8 (kromě LACNIC který si jako poslední ponechal jen /9), který se obvykle rozděluje po menších částech a za specifických pravidel, což způsobuje zpomalení rozdělení posledních IPv4 bloků.

Stav vyčerpání IPv4
registr region fáze vyčerpání IPv4 adres úplné vyčerpání
AFRINIC Afrika duben 2017 (/8)[14]
APNIC Asie, Pacifik duben 2011 (/8)[15]
ARIN Kanada, karibské a severoatlantické ostrovy, USA duben 2014 (/8)[16] září 2015[17]
LACNIC Latinská Amerika, Karibik květen 2015 (/9)[14]
RIPE NCC Evropa, Střední východ, Střední Asie září 2012 (/8)[18]

Předchozí odhady doby než dojde k vyčerpání adresního prostoru IPv4 se velmi široce rozcházely. Paul Wilson (ředitel APNIC) v roce 2003 uvedl, že na základě současného tempa nasazení bude dostupný prostor dostatečný do roku 2023. V září 2005 zpráva publikovaná Cisco Systems uvádí vyčerpání fondu dostupných adres pouze ve čtyřech až pěti letech.[19] V listopadu 2007 předpovídala denně aktualizovaná zpráva vyčerpání IANA fondu nepřiřazených adres na květen 2010.

Vládní pobídky

[editovat | editovat zdroj]

Mnoho vlád zavádí požadavek na podporu IPv6 v novém vybavení. V České republice jsou požadavky na IPv6 definovány Usnesením vlády č. 727/2009, podle kterého mají úřady povinnost zahrnout požadavek na IPv6 do všech požadavků na nákup prvků síťové infrastruktury. Usnesení vlády č. 982/2013 pak ukládá zahrnout požadavek na podporu IPv6 do všech relevantních výběrových řízení, a to jak na dodávky služeb, tak zboží (hardware)[20].

Vláda USA určila nasazení IPv6 na páteřních sítích všech federálních agentur do roku 2008[21] a zakoupila /16 blok o 281 bilionech síťových adres pro počáteční nasazení.[22][23][24] Čínská lidová republika má pětiletý plán pro nasazení IPv6 sítě s názvem „China Next Generation Internet“ (Čínský Internet příští generace).

Současné nasazení

[editovat | editovat zdroj]

IPv6 fórum, založené v únoru 1999 komisí IETF, pro celosvětovou koordinaci nasazení, vytvořilo dosud přes 45 státních IPv6 fór a IPv6 pracovních skupin.[25] Dne 20. července 2003 sdružení ICANN oznámilo, že hlavní internetové DNS servery byly upraveny pro podporu obou verzí IP protokolu. Dne 8. června 2012 proběhl Světový den IPv6, jehož smyslem bylo otestovat a propagovat veřejné nasazení protokolu IPv6. V polovině roku 2024 globální rozšíření IPv6 přesahovalo 46% uživatelů Google, v Česku dle stejné statistiky rozšíření přesahuje 26%.[26]

Adresování

[editovat | editovat zdroj]

128bitová délka

[editovat | editovat zdroj]

Hlavní změnou oproti IPv4 je délka síťové adresy. Adresy IPv6 jsou 128 bitů dlouhé[27], zatímco IPv4 adresy mají 32 bitů. Zatímco IPv4 obsahuje zhruba 4 miliardy adres, IPv6 má dostatek prostoru pro 3.4×1038 unikátních adres. Adresy IPv6 se typicky skládají ze dvou logických částí: 64bitového (pod)síťového prefixu a 64bitové části hosta, buď automaticky vytvářené na základě MAC adresy rozhraní nebo přiřazené následně. Jelikož globálně unikátní MAC adresa umožňuje vystopovat uživatelské vybavení – a tedy uživatele – IPv6 adresy se mění s časem. RFC 3041 byla vyvinuta s cílem snížit šanci trvalého svázání identity uživatele a IPv6 adresy, což obnovuje některé z možností anonymity existující u IPv4. RFC 3041 popisuje mechanismus na jehož základě náhodné na čase závislé bity mohou být využity k identifikaci okruhu rozhraní, nahrazujíc tak neměnné a sledovatelné MAC adresy.

V původním návrhu RFC 4291 je počítáno s obecným rozdělením adresy na síťový prefix a identifikátor koncového uzlu, kdy pro síťový prefix se mělo použít prvních n bitů a pro identifkátor síťového prvku zbývajících 128-n bitů.[28] SLAAC počítá s 64bitovým prefixem sítě, pro jinou velikost síťového prefixu není chování implementací IPv6 definováno.[28]

IPv6 adresy se obvykle zapisují jako osm skupin čtyř hexadecimálních číslic. Například 2001:0db8:85a3:08d3:1319:8a2e:0370:7334 je platná adresa IPv6. Pokud je jedna nebo více ze čtyřčlenných po sobě následujících skupin 0000, nuly mohou být vynechány a nahrazeny dvěma dvojtečkami (::). Např. 2001:0db8:0000:0000:0000:0000:1428:57ab lze tedy nahradit 2001:0db8::1428:57ab. Libovolný počet po sobě následujících skupin 0000 může být nahrazen dvěma dvojtečkami, pokud se v adrese toto nahrazení vyskytuje pouze jednou. Předcházející nuly ve skupině mohou být vynechány (jako v ::1 pro místní smyčku). Adresy níže jsou tedy platné a rovnocenné:

2001:0db8:0000:0000:0000:0000:1428:57ab
2001:0db8:0000:0000:0000::1428:57ab
2001:0db8:0:0:0:0:1428:57ab
2001:0db8:0:0::1428:57ab
2001:0db8::1428:57ab
2001:db8::1428:57ab

Více než jedna zkracující skupina dvou dvojteček je neplatná, jelikož by mohla učinit adresu nejednoznačnou, např. v 2001:0000:0000:FFD3:0000:0000:0000:57ab, zkráceno na 2001::FFD3::57ab může znamenat 2001:0000:0000:0000:0000:FFD3:0000:57ab nebo 2001:0000:FFD3:0000:0000:0000:0000:57ab či obdobnou permutaci.

Posloupnost čtyř bajtů na konci IPv6 adresy může být také uvedena v desítkové soustavě za použití tečky jako oddělovače. Tato notace je často využívána v kompatibilních adresách (viz níže). Schéma je výhodné při vypořádávání se se smíšeným prostředím IPv4 a IPv6 adres. Obecná notace má formu x:x:x:x:x:x:d.d.d.d, kde x zastupují šest vyšších řádů hexadecimálně a d odpovídají desítkovým číslům osmibitové části nižšího řádu adresy, stejně jako u IPv4. Například ::ffff:12.34.56.78 je totožné s ::ffff:c22:384e a 0:0:0:0:0:ffff:0c22:384e. Používání této notace není schváleno a není podporováno řadou aplikací. Další informace lze nalézt v RFC 4291 – „Architektura adresování IPv6“[27].

Skutečné IPv6 adresy v URL

[editovat | editovat zdroj]

V URL je adresa IPv6 uzavřena v hranatých závorkách. Například:

https://[2001:0db8:85a3:08d3:1319:8a2e:0370:7344]/

Tato notace umožňuje analýzu URL bez záměny IPv6 adresy a čísla portu:

>https://[2001:0db8:85a3:08d3:1319:8a2e:0370:7344]:443

Další informace lze nalézt v RFC 2732 – „Formát skutečných IPv6 adres v URL“ a RFC 3986 – „URI: Obecný syntax“.

Notace sítě

[editovat | editovat zdroj]

Sítě IPv6 jsou popisovány za pomoci notace CIDR. IPv6 síť (či podsíť) je skupina blízkých IPv6 adres, jejíž velikost musí být mocninou čísla dvě. Počáteční bity adresy, stejné pro všechny hosty dané sítě, se nazývají prefixem sítě. Síť je označena první adresou v síti a lomítkem oddělenou délkou prefixu v bitech (desítkově). Například 2001:0db8:1234::/48 označuje síť s adresami od 2001:0db8:1234:0000:0000:0000:0000:0000 do 2001:0db8:1234:ffff:ffff:ffff:ffff:ffff. Protože jednotlivý host může být chápán jako síť s délkou prefixu 128 bitů, někdy se adresy hostů zapisují s /128 na konci.

Druhy IPv6 adres

[editovat | editovat zdroj]

Adresy IPv6 se dělí do tří kategorií[27]:

  • unicast adresy
  • multicast adresy
  • anycast adresy

Unicast adresa reprezentuje jednotlivé síťové rozhraní. Paket zaslaný na unicast adresu je doručen konkrétnímu počítači. Následující typy adres jsou IPv6 unicast adresy:

  • globální unicast adresy
  • adresy místní linky
  • adresy místní stránky
  • unikátní lokální IPv6 unicast adresy
  • speciální adresy

Multicast adresy jsou používány k definování množiny rozhraní obvykle patřících různým uzlům, nikoli pouze jednomu. Paket zaslaný na multicast adresu je protokolem doručen všem rozhraním určeným touto adresou. Multicast adresy mají prefix FF00::/8 a jejich druhý oktet určuje dosah adresy, tzn. rozsah v jakém je multicast adresa zviditelněna. Běžně využívány jsou rozsahy místní linky (0x2), místní stránky (0x5) a globální (0xE). Anycast adresy jsou také přiřazeny více než jednomu rozhraní, patřící rozdílným uzlům. Nicméně paket vyslaný na anycast adresu je obvykle doručen pouze jednomu z členských rozhraní, typicky „nejbližšímu“ vzhledem k představě směrovacího protokolu o vzdálenosti. Anycast adresy nemohou být snadno identifikovány, mají strukturu běžné unicast adresy a liší se pouze zaváděním do směrovacího protokolu na více místech v síti.

Speciální adresy

[editovat | editovat zdroj]

Existují adresy, které mají speciální význam v IPv6:

Místní linka
  • ::/128 — adresa samých nul je nespecifikovaná adresa a je používána pouze v softwaru.
  • ::1/128 — adresa místní smyčky je adresa pro localhost. Pokud aplikace vyšle paket na tuto adresu, IPv6 paket je vrácen zpět na téhož hosta (odpovídá 127.0.0.1 v IPv4).
  • fe80::/10 — prefix místní linky udává platnost adresy pouze v místní fyzické lince. Analogické autokonfigurační IPv4 adrese 169.254.0.0/16.
ULA
  • fc00::/7 — unikátní lokální adresy (ULA) jsou směrovatelné pouze v množině spolupracujících sítí. Zavedeno v RFC 4193 jako náhrada za "site-local" (viz níže). Adresy zahrnují 40bitové pseudonáhodné číslo minimalizující nebezpečí konfliktu při sloučení sítí či úniku paketů.
IPv4
  • ::ffff:0:0/96 — tento prefix se používá pro IPv4 mapované adresy (viz Mechanismy přechodu níže).
  • 2002::/16 — pro adresování tunelu IPv6 v IPv4.
Multicast
  • ff00::/8 — použití pro multicast adresy[27][29].
Užito v příkladech, neschváleno, či zastaralé
  • ::/96 — nulový prefix se používal pro adresy kompatibilní s IPv4. Nyní zastaralý.
  • 2001:db8::/32 — dle RFC 3849 vyhrazeno pro dokumentaci. Kdekoliv je dán příklad IPv6 adresy, měl by mít tento prefix.
  • fec0::/10 — prefix "site-local" byl definován v rfc1884 pro lokální IP např. uvnitř místní organizace. Použití bylo v září 2004 odmítnuto dle RFC3879 kvůli nejednoznačnosti adres a nejasné definici "sites". Nahrazeno konceptem ULA (Unique local address) zavedeným v rfc4193.

V protokolu IPv6 nejsou vymezeny žádné rozsahy adres pro broadcast — aplikace používají multicast ke skupině all-hosts. IANA udržuje oficiální seznam IPv6 adresního prostoru. Přiřazení globálních unicastů lze nalézt na stránkách konkrétních regionálních registrátorů, nebo na stránkách GRH DFP.

Zónové rejstříky

Určitý problém představují adresy lokální linky pro systémy s více než jedním rozhraním. Jelikož každé rozhraní může být připojeno k jiné síti a všechny adresy se zdají být na stejné podsíti, objevuje se nejednoznačnost neřešitelná směrovacími tabulkami. Například host A má dvě rozhraní a těmto rozhraním jsou při aktivaci automaticky přiřazeny adresy místní linky (dle RFC 2462): fe80::1/64 a fe80::2/64. Pouze jedno z rozhraní je připojeno do stejné fyzické sítě jako host B s adresou fe80::3/64. V případě že host A se pokusí o spojení s fe80::3, jak určí rozhraní které má použít?

Řešení, definované v RFC 4007, je dodatkem k unikátnímu zónovému rejstříku místního rozhraní v textové podobě ve tvaru <adresa>%<id_zóny>, například https://[fe80::1122:33ff:fe11:2233%eth0]:80/. Toto ovšem může vyvolat další problémy kvůli kolizi s procentovým kódováním použitým v URI[1].

  • Implementace IPv6 v Microsoft Windows používá číselnou identifikaci zóny: fe80::3%1
  • BSD aplikace typicky použijí jméno rozhraní jako identifikátor zóny: fe80::3%pcn0
  • Linuxové aplikace také použijí jméno rozhraní jako identifikátor zóny: fe80::3%eth0

Poměrně málo aplikací pracujících s protokolem IPv6 "rozumí" syntaxi identifikátorů zóny (s důležitou výjimkou v OpenSSH), čímž se pro ně adresy místní linky stávají nepoužitelnými, pokud místní linky využije více než jedno rozhraní.

IPv6 paket

[editovat | editovat zdroj]

Paket IPv6 se skládá ze dvou hlavních částí: hlavičky a těla. Hlavička se nachází v prvních 40 oktetech (320 bitů) paketu:

Hlavička IPv6[30]
Byty 0 1 2 3
0–3 Verze Třída provozu Značka toku
4–7 Délka dat Další hlavička Max. skoků
8–11 Zdrojová adresa
12–15
16–19
20–23
24–27 Cílová adresa
28–31
32–35
36–39
  • verze — 4 bity, verze 6
  • třída provozu — 8 bitů na prioritu paketu. Úroveň priority se dělí na rozsahy: kde zdroj podporuje kontrolu přetížení a bez podpory kontroly přetížení.
  • Značka toku — 20 bitů pro správu QoS. Původně určeno pro speciální obsluhu aplikací reálného času, nyní se nepoužívá.
  • Délka dat — 16 bitů pro délku těla paketu. Při vynulování se nastaví „jumbo“ tělo (skok za skokem)
  • Další hlavička — 8 bitů, určuje další vnořený protokol. Hodnoty se shodují s hodnotami definovanými pro IPv4.
  • Zdrojová a cílová adresa — 128 bitů na každou adresu.
  • Hop limit — 8 bitů, číselně definuje počet povolených přechodů síťovými prvky. Každý přechod znamená snížení čísla o 1.

Tělo paketu může být 64KiB velké ve standardním režimu nebo větší s volbou „jumbo“ těla. Fragmentace je v IPv6 ošetřena pouze na straně odesílatele. Směrovače paket nikdy nefragmentují. Je očekáváno že host sám zjistí velikost MTU. Pole Protocol z IPv4 je nahrazeno položkou Next header (Následující hlavička). Tato položka obvykle určuje protokol přenosové vrstvy použitý tělem paketu. Nicméně, za přítomnosti rozšiřujících položek položka následující hlavička označuje přítomnost zvláštní hlavičky Options. Vložení této hlavičky pro přenos voleb je analogické AH a ESP v protokolu IPsec pro obě verze IPv4 a IPv6.

DNS a IPv6

[editovat | editovat zdroj]

V systému DNS jsou IPv6 adresy zastoupeny AAAA záznamy (tzv. „quad-A“ záznamy) pro dopředné vyhledávání. Reverzní vyhledávání se odehrávají pod ip6.arpa (dříve ip6.int), kde je adresní prostor přenesen na tzv. hranice nibble. Toto schéma, jednoduše přenesené ze známého A záznamu a schémat in-addr.arpa, je definováno v RFC 3596.

AAAA schéma bylo jedno ze dvou nabízených v době vývoje architektury IPv6. Druhý návrh, vytvořený pro usnadnění přečíslování sítě, by měl A6 záznamy pro dopředné vyhledávání a množství jiných inovací jako např. bit-string pojmenování a DNAME záznamy. Je popisován v experimentálním RFC 2874 a odkazovaných dokumentech (s diskuzí kladů a záporů obou schémat v RFC 3364).

Pole záznamu AAAA
NAME Doménové jméno
TYPE AAAA (28)
CLASS Internet (1)
TTL Lhůta platnosti záznamu v sekundách
RDLENGTH Délka pole RDATA
RDATA Řetězcová forma adresy IPv6 jak uvedeno v RFC 3513

RFC 3484 udává jak mají aplikace vybrat IPv6 nebo IPv4 adresu k použití, včetně adresy získané z DNS.

RFC o IPv6 a DNS

[editovat | editovat zdroj]
  • Rozšíření DNS pro podporu IP verze 6 — RFC 1886
  • Rozšíření DNS pro podporu agregací a přečíslování adres IPv6 — RFC 2874
  • Kompromisy v DNS podpoře pro IPv6 — RFC 3364
  • Výchozí výběr adres pro IPv6 — RFC 3484
  • Architektura adresování IPv6 — RFC 3513
  • Rozšíření DNS pro podporu IPv6 (nahrazuje 1886 a 3152) — RFC 3596

Mechanismy přechodu

[editovat | editovat zdroj]

Před kompletním nahrazením IPv6 za IPv4, což se pravděpodobně nestane v dohledné budoucnosti, je zapotřebí množství tzv. mechanismů přechodu, umožňující IPv6 hostům využívat IPv4 služby a izolovaným IPv6 hostům a sítím dosáhnout IPv6 Internet přes infrastrukturu IPv4.[31] obsahuje přehled přechodových mechanismů zmíněných níže.

Duální implementace

[editovat | editovat zdroj]

Jelikož IPv6 je konzervativním rozšířením IPv4, je poměrně snadné vytvořit síťovou implementaci podporující obě verze IP, sdílející většinu kódu. Taková se nazývá duální implementace a host používající tuto implementaci se nazývá dual stack host. Tento přístup je popsán v RFC 4213. Většina současných implementací IPv6 používá duální implementaci. Některé z dřívějších experimentálních implementací používaly nezávislé IPv6 a IPv4. Nejsou známy žádné implementace pouze pro IPv6.

Tunelování

[editovat | editovat zdroj]

Pro dosažení IPv6 konektivity prostřednictvím existující IPv4 infrastruktury je možno použít techniky někdy nesprávně označované jako tunelování, která zapouzdřuje IPv6 pakety do IPv4, použité jako linkové vrstvy pro IPv6. Pakety IPv6 mohou být přímo zapouzdřeny do IPv4 paketů použitím protokolu číslo 41, nebo do UDP paketů, například pro překonání směrovače nebo NAT zařízení blokujícího přenos protokolu 41. Další možností je využití obecného schématu zapouzdření, jako je např. AYIYA – Anything In Anything[32] nebo GRE.

Automatické tunelování

[editovat | editovat zdroj]

Automatické tunelování se vztahuje k technice automatického určení koncových bodů tunelu pomocí směrovací infrastruktury. Doporučený způsob automatického tunelování je tunelování 6to4, využívající zapouzdření protokolem 41. Koncové body tunelu jsou určeny za pomoci známé IPv4 anycast adresy na vzdálené straně a vnoření IPv4 adresy do IPv6 adresy na místní straně. 6to4 je v současnosti široce nasazováno. Jiný mechanismus automatického tunelování je ISATAP. Tento protokol považuje IPv4 síť za virtuální místní IPv6 linku s mapováním každé IPv4 adresy na adresu místní linky IPv6. Teredo je technika automatického tunelování používající UDP zapouzdření a uvádí se jako schopné překonat vícenásobný NAT. V současné době není Teredo příliš nasazováno, nicméně experimentální verze Tereda je instalována ve Windows XP SP2 implementaci IPv6. Ve Windows Vista jsou IPv6, 6to4 a Teredo přítomny a standardně povoleny.

Spravované tunelování

[editovat | editovat zdroj]

Spravované tunelování je technika kde koncové body tunelu jsou výslovně uvedeny. Ať už lidským operátorem nebo automatickou službou známou jako zprostředkovatel tunelu. Spravované tunelování je obvykle více deterministické a snadněji odladitelné než automatické tunelování, proto je doporučeno pro velké dobře spravované sítě. Spravované tunelování používá protokol 41 v položce Protocol IPv4 paketu. Tato metoda je také známa pod názvem 6in4.

Použití proxy a překlad

[editovat | editovat zdroj]

Pokud IPv6 host potřebuje přistupovat k IPv4 službě, jako je například web server, je potřeba některá z metod překladu. Jedna z funkčních metod je použití duální implementace proxy v aplikační vrstvě, například webová proxy. Byly také nabídnuty techniky podobné NAT pro překlad na nižších vrstvách bez ohledu na aplikaci. Většina byla shledána příliš nespolehlivými v praxi, kvůli široké škále funkcionalit vyžadovaných běžnými protokoly aplikační vrstvy, a mnohdy jsou považovány za zastaralé.

Hlavní milníky v dostupnosti IPv6

[editovat | editovat zdroj]
Rok Ohlášení a dostupnost
1996 Linux získává podporu IPv6 v jádře vývojové verze 2.1.8.[33]
1997 Koncem roku 1997 operační systém IBM AIX 4.3 podporuje IPv6 jako první z komerčních platforem.[34][35]
1998 Microsoft Research[36] poprvé uvolnil experimentální IPv6 zásobník. Tato verze nebyla určena pro nasazení v produkčním prostředí.
2000 Podpora IPv6 v produkční kvalitě se stala dostupnou od počátku do poloviny roku 2000 ve FreeBSD, OpenBSD a NetBSD díky KAME projektu.[37]
Sun Solaris podporuje IPv6 od verze 8 v únoru 2000.[38]
2002 Microsoft Windows NT 4.0 a Windows 2000 SP1 disponují omezenou podporou IPv6 pro výzkum a experimenty od roku 2002.
Microsoft Windows XP (2001) měly podporu IPv6 pro testovací účely. Ve Windows XP SP1 (2002) a Windows Server 2003 je IPv6 zahrnuto jako kmenový síťový protokol použitelný pro komerční nasazení.[39]
IBM z/OS podporoval IPv6 od verze 1.4, dostupné od září 2002.[40]
2003 Apple Mac OS X v10.3 "Panther" (2003) podporuje IPv6.[41]
V červenci, ICANN oznamuje viditelnost IPv6 AAAA záznamů pro doménu nejvyššího řádu zemí Japonsko (.jp) a Koreu (.kr) na kořenových DNS serverech pod sériovým číslem 2004072000. IPv6 záznamy pro Francii (.fr) byly přidány o něco později. Tím se IPv6 stává funkční ve veřejném smyslu.
2007 Microsoft Windows Vista (2007) nativně podporují IPv6.[39]
Apple AirPort Extreme 802.11n základová stanice je v základním nastavení IPv6 brána. Používá „6to4“ tunelování a volitelně může směrovat skrz ručně nastavený IPv4 tunel.[42]
2008 4. února 2008 organizace IANA přidává AAAA záznamy IPv6 adres čtyř kořenových serverů.[43] Díky tomuto přechodu je pro dva internetové hosty možné komunikovat kompletně bez použití IPv4.

Přestože byl protokol IPv6 uvítán jako budoucnost internetu a očekává se, že vyřeší mnoho problémů, zazněla také jeho kritika. Jednou z námitek je extrémní velikost adresního prostoru. S více než bilionem adres na čtvereční centimetr povrchu planety byly 128bitové adresy označeny za neúměrně velké. Tato námitka je běžná, nicméně nezohledňuje fakt, že IETF nikdy neměla v úmyslu přiřadit statické adresy každému z možných míst. Délka je zvolena s ohledem na agregaci směrování, autokonfigurace adres a jiné záležitosti působící problémy v IPv4. Zpracování takto dlouhých adres může vyžadovat více času a může zvýšit cenu směrovačů.

Německý výzkumník a nezávislý bezpečnostní konzultant Marc Heuse pak v roce 2012 upozornil na to, že protokol IPv6 je zranitelný kvůli funkci router advertisement, kdy útočník může předstírat, že je router a vysílat falešné pakety. [44]

  1. RFC6890: Special-Purpose IP Address Registries [online]. IETF, 2013-04 [cit. 2015-12-01]. Kapitola IPv4 Special-Purpose Address Registry Entries. Dostupné online. (anglicky) 
  2. WULF, Wiliam A. Ohlédnutí za dvacátým stoletím. Překlad Ivan Boháček. Vesmír [online]. 2001-05 [cit. 2015-12]. Dostupné online. ISSN 1214-4029. 
  3. RFC2071: Network Renumbering Overview: Why would I want it and what is it anyway? [online]. IETF, 1997-01 [cit. 2015-12-01]. Dostupné online. (anglicky) 
  4. RFC2072: Router Renumbering Guide [online]. IETF, 1997-01 [cit. 2015-12-01]. Dostupné online. (anglicky) 
  5. PETR, Emanuel; SURÝ, Ondřej. Vlastnosti protokolu IPv6 (II). Computerworld [online]. 2011-11-02 [cit. 2015-12]. Dostupné online. ISSN 1210-9924. 
  6. ripe-655: IPv6 Address Allocation and Assignment Policy [online]. RIPE, 2015-10 [cit. 2015-12-01]. Kapitola 7. IPv6 Provider Independent (PI) Assignments. Dostupné online. (anglicky) 
  7. RFC1518: An Architecture for IP Address Allocation with CIDR [online]. IETF, 1993-9 [cit. 2015-12-01]. Dostupné online. (anglicky) 
  8. RFC1550: IP: Next Generation (IPng) White Paper Solicitation [online]. IETF, 1993-12 [cit. 2015-12-01]. Dostupné online. (anglicky) 
  9. KRIKORIAN, Raffi. What ever happened to IPv5? [online]. O’Reilly Media [cit. 2015-12-01]. Dostupné v archivu pořízeném dne 2015-12-15. (anglicky) 
  10. RFC2462: IPv6 Stateless Address Autoconfiguration [online]. IETF, 1998-12 [cit. 2015-12-01]. Dostupné online. (anglicky) 
  11. RFC2894: Router Renumbering for IPv6 [online]. IETF, 2000-08 [cit. 2015-12-01]. Dostupné online. (anglicky) 
  12. https://www.ipv6forum.org – IPv6 fórum
  13. VÁCLAVÍK, Lukáš. Adresy IPv4 došly, zachovejte paniku. cnews.cz [online]. 2011-02-04 [cit. 2015-12]. Dostupné online. ISSN 1804-9907. 
  14. a b https://www.root.cz/clanky/uz-i-v-africe-dochazeji-ipv4-adresy/
  15. Archivovaná kopie. www.apnic.net [online]. [cit. 2015-11-28]. Dostupné v archivu pořízeném z originálu dne 2015-09-29. 
  16. https://www.arin.net/announcements/2014/20140423.html
  17. https://blog.nic.cz/2015/09/29/zero/
  18. Archivovaná kopie. www.ripe.net [online]. [cit. 2015-11-28]. Dostupné v archivu pořízeném z originálu dne 2015-09-18. 
  19. Pragmatická zpráva o úbytku IPv4 síťových adres: Tony Hain, Cisco Systems
  20. PRŮŠA, Jiří. Mgr. [online]. Lupa, 10.8.2015. Dostupné online. 
  21. Nařízení Office of Management Budget ze srpna 2005. www.whitehouse.gov [online]. [cit. 11-01-2008]. Dostupné v archivu pořízeném dne 16-06-2008. 
  22. Alokace IPv6 adres ministerstva obrany USA. www.gcn.com [online]. [cit. 11-01-2008]. Dostupné v archivu pořízeném dne 01-12-2008. 
  23. Kousnutý IPv6 (oprava první zprávy). www.gcn.com [online]. [cit. 11-01-2008]. Dostupné v archivu pořízeném dne 22-10-2008. 
  24. Poskytnutí nástrojů pro sdílení informací Archivováno 28. 5. 2008 na Wayback Machine.: Síťové podnikové služby (Vedoucí Ředitelství pro informační politiku ministerstva obrany)
  25. IPv6 pracovní skupiny
  26. Statistika na stránkách Google
  27. a b c d RFC4291: IP Version 6 Addressing Architecture [online]. IETF, 2006-02 [cit. 2015-12-01]. Dostupné online. (anglicky) 
  28. a b ZAJÍC, Radek. Proč 18 trilionů adres domácnosti nestačí. Root.cz [online]. 21. 6. 2018. Dostupné online. ISSN 1212-8309. 
  29. Adresy IPv6 multicastů
  30. SATRAPA, Pavel. Internetový protokol verze 6 [online]. 3. vyd. CZ.NIC, z. s. p. o, 2009-11 [cit. 2015-12-01]. (CZ.NIC). S. 35. Dostupné v archivu pořízeném dne 2012-11-07. ISBN 978-80-904248-4-5. 
  31. Přechodové mechanismy IPv6 / Porovnání tunelování
  32. https://www.sixxs.net/tools/ayiya/
  33. projekt vývoje IPv6 pro Linux. www.linux-ipv6.org [online]. [cit. 2008-01-10]. Dostupné v archivu pořízeném z originálu dne 2007-12-30. 
  34. Podpora IPv6 obsažená v AIX 3.3. dict.regex.info [online]. [cit. 10-01-2008]. Dostupné v archivu pořízeném dne 28-07-2013. 
  35. To je AIX 4.3.. dict.regex.info [online]. [cit. 10-01-2008]. Dostupné v archivu pořízeném dne 28-07-2013. 
  36. Internetový protokol verze 6 (staré vydání IPv6 Microsoft Research)
  37. Projekt KAME
  38. Změny v Sun Solaris 8 oproti Solaris 7. www.ocf.berkeley.edu [online]. [cit. 10-01-2008]. Dostupné v archivu pořízeném dne 07-09-2006. 
  39. a b Hlavní IPv6 stránka Microsoftu
  40. https://www-03.ibm.com/servers/eserver/zseries/announce/zos_r4/
  41. Mac OS X 10.3 používá IPv6[nedostupný zdroj]
  42. Technická specifikace Apple AirPort Extreme.
  43. IPv6: přichází na kořenový server ve vaší blízkosti
  44. IPv6 není bezpečný a nasazujte ho s rozmyslem, varuje expert. www.ictmanazer.cz [online]. [cit. 2012-09-17]. Dostupné v archivu pořízeném z originálu dne 2012-09-01. 

Literatura

[editovat | editovat zdroj]

Hlavní specifikace

[editovat | editovat zdroj]
  • RFC 2460: Internet Protocol, Version 6 (IPv6) Specification (obsoletes RFC 1883)
  • RFC 2461/RFC 4311: Neighbor Discovery for IP Version 6 (IPv6) (4311 updates)
  • RFC 2462: IPv6 Stateless Address Autoconfiguration
  • RFC 4443: Internet Control Message Protocol (ICMPv6) for the IPv6 Specification (obsoletes RFC 2463)
  • RFC 2464: Transmission of IPv6 Packets over Ethernet Networks
  • RFC 4291: Internet Protocol Version 6 (IPv6) Addressing Architecture (obsoletes RFC 3513)
  • RFC 3041: MAC address use replacement option
  • RFC 3587: An IPv6 Aggregatable Global Unicast Address Format

Bezstavová autokonfigurace

[editovat | editovat zdroj]
  • RFC 2461: Neighbor Discovery for IP Version 6 (IPv6)
  • RFC 2462: IPv6 Stateless Address Autoconfiguration

Programování

[editovat | editovat zdroj]
  • RFC 3493: Basic Socket Interface Extensions for IPv6 (překonává RFC 2553)
  • RFC 3542: Advanced Sockets Application Program Interface (API) for IPv6 (překonává RFC 2292)
  • RFC 4038: Application Aspects of IPv6 Transition
  • RFC 3484: Default Address Selection for Internet Protocol version 6 (IPv6)

Existuje množství knih s tématem IPv6:

Externí odkazy

[editovat | editovat zdroj]

Zainteresované pracovní skupiny IETF

[editovat | editovat zdroj]
  • (anglicky) ipv6 IP Version 6 (uzavřena)
  • (anglicky) multi6 Site Multihoming in IPv6
  • (anglicky) shim6 Site Multihoming by IPv6 Intermediation
  • (anglicky) v6ops IPv6 Operations
  • (anglicky) 6bone IPv6 Backbone (uzavřena)
  • (anglicky) ipng IP Next Generation (uzavřena)
  • (anglicky) ipv6mib IPv6 MIB (uzavřena)