18.2. IPv6 – Internet další generace

Díky vynálezu WWW začal Internet, a tím i počet počítačů komunikujících pomocí TCP/IP, v posledních patnácti letech exponenciálně růst. Podle informací CERN (http://public.web.cern.ch/) vzrostl jejich počet z několika tisíc v roce 1990 na zhruba 100 000 000 v současnosti.

Jak již víte, má IP adresa pouze 32 bitů. Protože není z organizačních důvodů možné používat mnoho adres z 32 bitového adresního prostoru, je počet adres již nedostačující. Pouze pro připomenutí - Internet se skládá z podsítí, které jsou dále členěny. Ty se skládají vždy z mocniny dvou mínus 2 použitelných adres. Pokud tedy chcete připojit k Internetu 128 počítačů, pak potřebujete podsíť s 256 síťovými adresami, ze kterých můžete použít pouze 254 adres. Dvě adresy není možné použít, protože jedna je broadcast a druhá základní adresa sítě.

Aby se maximálně využívaly současné adresy v IPv4, používá se DHCP nebo NAT (angl. Network Address Translation). Tyto nástroje, spolu s veřejnými a neveřejnými adresními prostory, částečně řeší nedostatek adres. Nevýhodou těchto metod je náročnější konfigurace, protože pro korektní nastavení počítače v IPv4 sítích potřebujete množství informací, jako je vlastní IP adresa, síťová maska, adresa brány a podle potřeby také nameserver. Všechny tyto informace musíte vědět.

S IPv6 je omezený adresní prostor a komplikovaná konfigurace minulostí. V následujících odstavcích si přiblížíme základní přednosti IPv6 a způsob přechodu od starého k novému protokolu.

18.2.1. Přednosti IPv6

Největší výhodou nového protokolu je enormní rozšíření adresního prostoru, protože IPv6 obsahuje místo 32bitových adres 128bitové adresy.

IPv6 adresy se neliší od svých předchůdců pouze délkou, ale také vnitřní strukturou, která obsahuje informace o systému a síti. Více v části 18.2.2 – „Adresování v IPv6“.

Dalšími důležitými přednostmi nového protokolu jsou:

Automatická konfigurace

IPv6 zavádí v síťování princip Plug and Play, protože nový systém se do lokální sítě integruje bez nutnosti manuální konfigurace. Autokonfigurační mechanismus zjistí vlastní adresu z informací, které obdrží prostřednictvím ND (Neighbor Discovery) protokolu ze sousedních routerů. Tento proces nevyžaduje žádný zásah ze strany správce sítě a oproti DHCP v IPv4 sítích má tu výhodu, že není nutné udržovat centrální server.

Mobilita

IPv6 umožňuje, aby jednomu síťovému rozhraní bylo přiděleno více adres. Tím pádem budete mít jako uživatel systému jednoduše přístup k různým sítím. Tuto funkci je možné porovnat s roamingem u mobilních telefonů. Pokud se nacházíte se svým mobilem v zahraničí, připojí se telefon automaticky k cizí síti. Je zcela jedno, kde jste. Máte zaručenou dostupnost prostřednictvím běžného telefonního čísla a můžete telefonovat v cizích sítích, jako by to byly domovské sítě.

Bezpečná komunikace

Zatímco v IPv4 patří zabezpečení komunikace pouze mezi doplňkové funkce, obsahuje IPv6 IPSec pro bezpečnou komunikaci.

Zpětná kompatibilita

Rychlý přechod celého Internetu na IPv6 není realistický. Proto je důležité, že obě verze mohou koexistovat v jednom systému. Koexistence obou je možná díky používání kompatibilních adres (IPv4 lze převést na IPv6). Je také možné použít různé tunely (viz část 18.2.3 – „IPv4 versus IPv6 – cestování mezi světy“). Prostřednictvím tzv. Dual-Stack-IP je možná podpora obou protokolů na jednom systému. Každý z obou protokolů používá vlastní síťový stack, takže nikdy nedojde ke kolizi.

Multicasting

Zatímco v IPv4 sítích posílají některé služby (např. SMB) své pakety prostřednictvím všesměrového vysílání všem počítačům v lokální síti, je v IPv6 dostupný zcela jiný způsob. Pomocí multicastu je možné komunikovat se skupinou počítačů, tedy ne nutně se všemi jako v případě broadcast. Která skupina to bude, záleží na aplikaci. Existují však i určité předdefinované skupiny, jako jsou všechny nameservery (angl. all nameservers multicast group) nebo všechny routery (angl. all routers multicast group).

18.2.2. Adresování v IPv6

Jak již bylo uvedeno, má současný IP protokol dvě výrazné nevýhody. První je blížící se nedostatek IP adres a druhým složitá správa routování, jejíž složitost stále narůstá. První problém odstraňuje IPv6 rozšířením adresního prostoru na 128 bitů. Řešení druhého problému leží v hierarchické adresní kultuře, sofistikovaných mechanismech pro přiřazování adresy v síti a možnosti používání více adres pro jedno rozhraní, které zajišťuje přístup do různých sítí (tzv. multihoming).

Existují tři důležité typy IPv6 adres:

Unicast

Adresy tohoto typu patří právě jednomu síťovému rozhraní. Pakety s adresou tohoto typu jsou směrovány přímo na příjemce. Unicast adresy se používají pro komunikaci s jednotlivými počítači v lokální síti nebo Internetu.

Multicast

Adresy tohoto typu odkazují na skupinu rozhraní. Pakety s touto adresou jsou doručeny všem členům skupiny. Multicast používají především různé síťové služby, aby komunikovaly s určitou skupinou počítačů.

Anycast

Adresy tohoto typu odkazují na skupinu rozhraní. Pakety s adresou tohoto typu jsou odeslány členu skupiny, který je podle směrovacích protokolů nejblíže odesílateli. Anycast adresy se používají v případě, kdy je vyhledáván server poskytující určité síťové služby. Všechny servery určitého typu obdrží stejnou anycast adresu. Pokud tedy terminál vyžaduje službu, odpoví ten server, který je podle směrovacího protokolu počítače nejblíže. Pokud tento server neodpovídá, je kontaktován další nejbližší.

IPv6 adresa sestává z osmi bloků po 16ti bitech, které jsou odděleny dvojtečkou a jsou v hexadecimálním zápise. Počáteční nulové byty (v rámci bloku) je možné vypustit, uprostřed nebo na konci musí být zachovány. Více než čtyři nulové byty za sebou je možné nahradit :: (tzv. collapsing). V každé adrese je však možné :: použít maximálně jednou. Příklad 18.3 – „Sample IPv6 Address“ obsahuje tři různé ekvivalentní zápisy.

Příklad 18.3. Sample IPv6 Address


fe80 : 0000 : 0000 : 0000 : 0000 : 10 : 1000 : 1a4 
fe80 :    0 :    0 :    0 :    0 : 10 : 1000 : 1a4 
fe80 :                           : 10 : 1000 : 1a4

Každá část IPv6 adresy má definovaný význam. První byty tvoří prefix a vypovídají o typu adresy. Prostřední část adresuje síť nebo je bez významu. Konec adresy tvoří tzv. host část. Síťová maska se určuje v IPv6 délkou prefixu a zapisuje se za lomítko na konci adresy. Adresa zobrazená v příkladu 18.4 – „IPv6 adresa s vyznačenou délkou prefixu“ obsahuje informaci, že prvních 64 bitů tvoří síťovou část adresy a posledních 64 bitů část týkající se počítače. Jinými slovy, 64 značí, že je síťová maska tvořena 64 1-bitovými hodnotami z levé části. Stejně jako v případě IPv4 je IP adresa kombinována pomocí AND s hodnotami síťové masky, aby se zjistilo, zda jsou počítače ve stejné části sítě.

Příklad 18.4. IPv6 adresa s vyznačenou délkou prefixu

fe80::10:1000:1a4/64

IPv6 rozpoznává různé prefixy s definovaným významem (viz tabulka 18.4 – „Různé IPv6 prefixy“).

Tabulka 18.4. Různé IPv6 prefixy

Prefix (hexadecimálně.)

Definice

00

IPv4 adresy a IPv4 over IPv6 adresy. Jedná se o adresy zpětně kompatibilní s IPv4. Vhodný router musí ještě převést IPv6 paket na IPv4. Tento prefix používají i další speciální adresy, jako je loopback smyčka.

První číslice 2 nebo 3

Aggregatable Global Unicast Address – Stejně jako IPv4 lze sítě IPv6 dělit na jednotlivé části. Aktuálně je možné použít následující adresní prostory: 2001::/16 (production quality address space) a 2002::/16 (6to4 address space).

fe80::/10

Tzv. link-local adresy. Adresy s tímto prefixem není možné routovat a jsou dostupné pouze v rámci podsítě.

fec0::/10

Tzv. site-local adresy. Tyto adresy je sice možné směrovat, ale pouze v rámci organizace. Tím tedy odpovídají tyto adresy současným privátním adresním prostorům (např. 10.x.x.x).

ff

Multicast) IPv6 adresy.

Unicast adresy jsou vystavěny ze tří stupňů:

Public Topology

První část (která obsahuje také výše uvedený prefix) slouží pro směrování paketů v prostředí Internetu. Zde jsou obsaženy informace o poskytovateli nebo instituci, která zajišťuje připojení k Internetu.

Site Topology

Druhá část obsahuje směrovací informace o podsíti, ke které paket náleží.

Interface ID

Třetí díl pak jednoznačně určuje rozhraní, pro které je paket určen. To umožňuje použít MAC adresy jako součást adresy. Protože jsou celosvětově jedinečné a pevně přidělené výrobcem hardwaru, znamená to velké zjednodušení konfigurace. Ve skutečnosti se prvních 64 bitů skládá z tzv. EUI-64 tokenu, kde se odejme posledních 48 bitů MAC adresy a zbylých 24 bitů tvoří speciální informace, které vypovídají o typu tokenu. To také umožňuje přiřadit EUI-64 token zařízením bez MAC adresy, jako jsou PPP a ISDN spojení.

Na základě této struktury existuje 5 různých typů IPv6 unicast adres:

:: (unspecified)

Tuto adresu používá počítač jako zdrojovou adresu, když poprvé inicializuje síťové rozhraní a nemá ještě žádné informace o vlastní adrese.

::1 (loopback)

Adresa pro smyčku loopback.

Adresy kompatibilní s IPv4

IPv6 adresa sestává z IPv4 adresy a 96-bitového prefixu samých nul. Tento typ kompatibilních adres se používá při tunelování (viz odst. 18.2.3 – „IPv4 versus IPv6 – cestování mezi světy“). IPv4/IPv6 počítače tak mohou komunikovat s ostatními počítači, které se nacházejí v čistě IPv4 síti.

IPv4 adresy mapované na IPv6

Tento typ specifikuje čistě IPv4 adresy v IPv6 zápisu.

Lokální adresy

Existují dva typy adres pro lokální používání:

link-local

Tento typ adres je vyhrazen pouze pro používání v lokálních částech sítě. Routery nesmí předávat pakety s touto zdrojovou nebo cílovou adresou do Internetu nebo jiné části sítě. Tyto adresy jsou označeny speciálním prefixem (fe80::/10) a ID rozhraním síťové karty. Střední část adresy obsahuje nulové byty. Tento druh adres se používá autokonfiguračními programy, které komunikují s počítači ve stejném segmentu sítě.

site-local

Tento typ adres je možné směrovat mezi jednotlivými podsítěmi, ale pouze v rámci sítě, nesmí se použít v rámci Internetu. Takové adresy se používají pro intranet a jsou ekvivalentem pro privátní adresy v IPv4. Kromě definovaného prefixu (fec0::/10) a ID rozhraní obsahují tyto adresy 16-bitové pole s informacemi o ID segmentu sítě. Zbytek je vyplněn nulovými byty.

Navíc obsahuje IPv6 další vynález a to možnost přiřadit jednomu síťovému rozhraní vice síťových adres. To má tu výhodu, že je k dispozici více sítí. Jedna z nich může být nakonfigurována zcela automaticky pomocí MAC adresy a známého prefixu, výsledkem je dosažitelnost všech počítačů v IPv6 síti (pomocí link-local adresy) okamžitě po jejím zprovoznění. Pokud je součástí IP adresy MAC adresa, jsou jednotlivé IP adresy celosvětově unikátní. Jediné variabilní části adresy jsou ty, které určují topologii (site topology a public topology) v závislosti na síti, ve které se počítač právě nachází.

Pokud se počítač pohybuje mezi jednotlivými sítěmi, potřebuje minimálně dvě adresy. Jedna je jeho domovská adresa skládající se z ID rozhraní, informací o domovské síti a odpovídajícího prefixu. Domovská adresa je statická a neměnná. Všechny pakety, které jsou určeny pro tento počítač, mu budou doručeny, ať se fyzicky nachází kdekoliv. To umožňují zcela nové funkce IPv6, tzv. Stateless Autoconfiguration a Neighbor Discovery. Přenosný počítač může tedy mít kromě domovské adresy jednu nebo více adres, které patří sítím, ve kterých se počítač právě nachází. Těmto adresám se říká Care-of Address. V domácí síti mobilního počítače musí existovat instance, která bude komunikaci směrovanou na jeho domovskou adresu dále přeposílat, pokud se nalézá v jiné síti. Tuto funkci přebírá v IPv6 tzv. Home Agent. Ten pak vytvoří tunel, kterým posílá pakety. Pakety, které mají jako cílovou Care-of Address, mohou putovat bez okliky přes Home agenta.

18.2.3. IPv4 versus IPv6 – cestování mezi světy

Přechod všech počítačů připojených k Internetu z IPv4 na IPv6 není možné provést okamžitě, spíš je pravděpodobné, že starý a nový protokol budou koexistovat dlouhou dobu. Sdílení na jednom počítači je řešeno pomocí Dual Stack, zůstává ale otázkou, jak bude komunikovat IPv6 počítač s IPv4 počítačem a jak přenášet IPv6 přes stávající IPv4 sítě. Odpovědí na tyto otázky je tzv. tunelování a používání kompatibilních adres (viz 18.2.2 – „Adresování v IPv6“).

Jednotlivé ostrůvky IPv6 v moři IPv4 sítí si vyměňují svá data pomocí tunelů. Při tunelování jsou IPv6 pakety zabaleny do IPv4 paketů, aby je bylo možné přenášet v IPv4 sítích. Tunel je definován jako spojení mezi dvěma IPv4 konci. Pakety musí obsahovat IPv6 cílovou adresu (nebo odpovídající prefix) a IPv4 adresu počítače na konci tunelu. V jednoduchých případech se konfigurují takové tunely ručně a říká se jim statické.

Pokud není ruční vytváření tunelů reálné kvůli jejich vysokému počtu, existují tři různé způsoby pro vytváření dynamických tunelů:

6over4

IPv6 pakety jsou automaticky zabaleny do IPv4 paketů a poslány přes IPv4 síť, kde je aktivován multicasting. IPv6 se tedy zdá, že celý Internet je pouze velká LAN. Nevýhodou tohoto řešení je špatná škálovatelnost a také skutečnost, že IP multicasting není dostupný v celém Internetu. Toto řešení se hodí pro malé firmy a organizace, které mají možnost provádět IP multicasting. Více informací naleznete v RFC 2529.

6to4

Zde jsou IPv4 adresy automaticky generovány z IPv6 adres. Tak mohou jednotlivé ostrůvky IPv6 komunikovat prostřednictvím IPv4. Problém ale nastává při komunikaci s čistě IPv4 počítači. Více viz RFC 3056.

IPv6 Tunnel Broker

Tento postup se používá pro speciální servery, které vytvářejí uživatelům tunely automaticky a je popsán v RFC 3053.

[Important]Iniciativa 6Bone

Uprostřed starobylého Internetu existuje 6Bone (www.6bone.net), což je celosvětová síť IPv6 podsítí, které jsou navzájem spojeny tunely. V rámci 6Bone sítí se testuje IPv6. Softwaroví vývojáři a poskytovatelé, kteří vyvíjí nebo poskytují IPv6 služby, mohou tyto segmenty použít pro testování, aby získali důležité zkušenosti s protokolem. Bližší informace naleznete na stránkách projektu 6Bone.

18.2.4. Konfigurace IPv6

Pokud chcete používat IPv6, není za běžných okolností třeba na pracovních stanicích provádět žádné změny. Musí však být zavedena podpora pro IPv6 v jádře. Jako uživatel root ji zavedete příkazem modprobe ipv6.

Protože se IPv6 z velké části konfiguruje samo, bude síťové kartě přiřazena adresa v link-local síti. Standardně není třeba mít na pracovní stanici směrovací tabulku. Pro směrování se používá Router Advertisement Protocol, pomocí kterého se pracovní stanice dotazují na prefix a brány, které mají být používány. K nastavení směrovače pro IPv6 slouží program radvd. Tento program pak sdělí pracovním stanicím prefixy pro IPv6 adresy a informace o směrování. Pro automatické nastavení adres a směrování lze také použít program zebra.

Informace o nastavení různých typů tunelů pomocí souborů /etc/sysconfig/network naleznete v manuálové stránce ifup (man ifup).

18.2.5. Další informace

Přehled v této kapitole neobsahoval všechny podrobnosti o IPv6. Pro hlubší studium můžete využít následující literaturu:

http://www.ngnet.it/e/cosa-ipv6.php

Série dokumentů, kde jsou velice dobře vysvětleny základy IPv6. Dobrý úvod do problematiky.

http://www.bieringer.de/linux/IPv6/

Dokument Linux-IPv6-HOWTO a mnoho odkazů.

http://www.6bone.de/

Připojení k IPv6 pomocí tunelů.

http://www.ipv6.org/

Vše o IPv6.

RFC 2640

Úvod do IPv6.

IPv6 Essentials

Kniha popisující všechny důležité aspekty IPv6. Silvia Hagen: IPv6 Essentials. O'Reilly & Associates, 2002 (ISBN 0-596-00125-8).