Protokol IP verze 6 Petr Grygárek S využitím částí zpracovaných Filipem Staňkem
Proč IPv6 1995 - RFC 1883: Internet Protocol, Version 6 Požadavky Adresní prostor 128 bitů (3,4 * 10E38) Různé druhy adres (uni-, multi-, any-cast) Důraz na používání globálně směrovatelných adres (omezení NAT) Hierarchické směrování a adresace (agregace) Podpora QoS Automatická konfigurace Optimalizace vysokorychlostního směrování Podpora mobility Snadný přechod z IPv4 + koexistence Bezpečnost (autentizace, šifrování)
Formát IPv6 paketu
Hlavička IPv6 RFC 2460: Internet Protocol, Version 6 Minimalizace a zjednodušení (základní) hlavičky 40 B, 32 B adresy Položky Verze (4 b) Třída provozu (8 b) Značka toku (20 b) Délka dat za hlavičkou (16 b) Další hlavička (8 b) Dosah (8 b) Adresy odesílatele a příjemce (2 x 128 b)
Porovnání hlaviček IPv4 a IPv6 IP v4 Ve r ze Volb y 8 b 8 b 8 b 8 b Dé lka h l. Id e n t ifika ce Typ slu žb y Volb y 3 b Ce lková d é lka Posu n fr a g m e n tu TTL Pr otokol Kon tr oln í sou če t Ad r e sa od e síla te le Cílová a d r e sa IP v6 Ve r ze Tř íd a p r ovozu Zn a čka toku Dé lka d a t Da lš í h la vička Ma x. skoků Ad r e sa od e síla te le
Pole Délka dat, další hlavička, dosah Délka dat týká se dat, bez hlavičky maximální délka je 64 kb (jumbogram lze vyžádat zvláštní volbou) Identifikace další hlavičky možnost řetězení hlaviček také identifikace přenášených dat (např. TCP) Dosah náhrada za TTL průchod směrovačem (hop) sníží tuto hodnotu při dosažení 0, je paket zahozen a vyslána ICMPv6 zpráva, slouží k prevenci zacyklení
Pole Identifikace toku dat Jednoznačná identifikace dílčího toku IP adresa odesílatele IP adresa cíle Značka toku (určována odesílatelem, jednoznačná spolu s adresou odesílatele) Možnost rychlejšího směrování indexování route-cache Možnost zajištění QoS-PHB pro tok V praxi zpravidla použito ToS stejně jako IPv4 DSCP Použití Flow Label generovaného zdrojem výhodné zejména při zašifrovaných L4 hlavičkách pro identifikaci jednotlivého toku (oproti NBAR + marking v ToS) Životnost položky v paměti směrovače max. 6s Kvůli restartu OS zdroje a znovupoužití hodnoty
Ztracené položky IPv4 hlavičky Délka hlavičky, Identifikace, Kontrolní součet nejsou již třeba Rozšiřující Volby, Fragmentace nahrazeny mechanismem zřetězením rozšiřujícíh hlaviček
Zřetězení rozšiřujících hlaviček Každá rozšiřující hlavička je samostaný blok Propojení pomocí položky Další hlavička Poslední rozšiřující hlavička ukazuje na typ dat paketu (zastupuje položku Protokol z IPv4) Řetěz obsahuje pouze hlavičky, které jsou nutné
Vybrané hodnoty položky Další hlavička Ro zš iřu jíc í h la vič k y 0 volb y p r o vše ch n y 4 3 sm ě r ová n í 4 4 fr a g m e n ta ce 5 0 šifr ová n í ob sa h u (ES P) 5 1 a u te n t iza ce (AH ) 5 9 p osle d n í h la vička 6 0 volb y p r o cíl 6 2 m ob ilita Typ n e s e n ýc h d a t 6 TCP 8 EGP 9 IGP 1 7 UDP 4 6 RS VP 4 7 GRE 5 8 ICM P
Doporučené pořadí rozšiřujících hlaviček 1. základní hlavička IPv6 2. volby pro všechny 3. volby pro cíl (pro první cílovou adresu) 4. směrování 5. fragmentace 6. autentizace 7. šifrování obsahu 8. volby pro cíl (pro konečného příjemce) Slouží k optimalizaci/urychlení zpracování
Rozšiřující hlavička Volby Pro všechny (typ 0), pro cíl (typ 60) Délka 16 B 8 b 8 b 8 b 8 b Da lší h la vička Dé lka d a t Volb y
Struktura Volby Samotná volba má části typ (1 B) délka (1 B) data 2 nejvyšší bity typu určují co s neznámou volbou 00 přeskočit a pokračovat dalšími volbami 01 zahodit datagram a nepokračovat dalšími volbami 10 zahodit datagram a odesilateli poslat ICMP zprávu 11 zahodit datagram a ICMP poslat jen pokud cílová adresa nebyla multicastová třetí nejvyšší bit určuje možnost změny volby po cestě 0 volba se nesmí změnit 1 volba se může změnit
Vybrané typy Voleb Pro všechny 0 Pad1 1 PadN 5 Upozornění směrovače 194 Jumbo obsah (začíná bity 11) Pro cíl 0 Pad1 1 PadN 201 Domácí adresa u MoIP (jako SRC adresa je CoA kvůli Reverse Path check)
Rozšiřující hlavička Směrování (source routing/moip) 8 b 8 b 8 b 8 b Další hlavička Délka dat Typ směrování = 0 Zbývá segmentů Rezerva = 0 Adresa [1] Adresa [2]. Adresa [n]
Rozšiřující hlavička Fragmentace IPv6 nedovoluje fagmentovat na cestě fragmentuje tedy výlučně odesílatel IPv6 vyžaduje min. délku MTU 1280 B (IPv4 576 B) Posun fragmentu je v osmicích bajtů od začátku fragmentované části dat Příznak M určuje, zda-li jsou další fragmenty 8 b 8 b 1 3 b 2 b 1 b Da lš í h la vička Re ze r va = 0 Posu n fr a g m e n tu R e z. Id e n t ifika ce M
Jumbogramy Použití oznámeno volbou Délka dat je určena 32 bity Velikost je tedy 64 kb až 4 GB Délka dat v základní hlavičce se vynuluje 8 b 8 b 8 b 8 b Dé lka ju m b o d a t Typ volb y = 1 9 4 Dé lka volb y = 4
Adresování v IPv6
Rozsahy platnosti adres v IPv6 Globální agregovatelné http://www.iana.org/assignments/ipv6-unicast-address-assignments Typický formát 48b prefix sítě (typická délka) 16b subnet ID (není nutný VLSM) 64b interface ID (dostatek potenciálních adres na segmentu) Linkové lokální (fe80::/10) Jednoznačné v rámci jedné L2 domény pro servisní protokoly, směrovací protokoly, autokonfiguraci Eliminuje potřebu L2+ protokolů Vše neseno v IPv6 paketech Možnost komunikace i před přidělením globálně jednoznačné adresy Unique local address (fc00::/7) Jednoznačné v rámci jedné administrativní domény směrovatelné i mezi skupinou spolupracujících sítí obdoba privátních adres IPv4 nahrazují původní site-scope adresy
Typy adres v IPv6 Individuální (unicast) Skupinové (multicast) Výběrové (anycast) nejbližší člen skupiny (z pohledu routingu) z hlediska formátu nerozpoznatelné od unicast adres stejný princip lze aplikovat i u IPv4 IPv6 nemá adresy typu broadcast! (nahrazeno multicastem)
Zápis IPv6 adres Standardní zápis FEDC:BA98:7654:1230:FECD:BACD:7546:3210 Zkrácené zápisy Mějme adresu 2001:0718:1001:0000:0000:69ff:fe06:e407 Zkrácení počátečních nul 2001:718:1001:0:0:69ff:fe06:e407 Vynechání nul 2001:718:1001::69ff:fe06:e407
Prefixy sítí Příslušnost k dané síti je dána prefixem všechna rozhraní na jedné síti mají stejný prefix (popř. více stejných prefixů) podobné jako IPv4 CIDR Zápis ve formě IPv6_prefix / délka_prefixu
Speciální IPv6 adresy ::/128 unspecified address ::1/128 - loopback ::ffff:0:0/96 IPv4 mapped addresses Poslední 4 bajty jsou IPv4 adresou Příklad zápisu: 0:0:0:ffff:0:0:158.196.158.77 Adresy pro mechanismy přechodu (příklady) 2001::/32 Teredo tunneling 2002::/16 6to4 tunneling
Skupinové adresy (FF00::/8) 8 b 4 b 4 b 112 b 11111111 000T rozsah skupinová adresa Význam bitu T 1 trvalé přiřazení 0 dočasné přiřazení Význam rozsahu 1 lokální uzel, 2 linka, 3 subnet, 5 místo, 8 organizace, E globální Unicast-prefix based multicast adresy 2^32 alokovatelných multicast adres odvoditelných z globálního unicast prefixu (a jeho délky) Embedded-RP multicast adresy
Některé rezervované skupinové adresy FFxx::1 všechny stanice (počítače i směrovače) FFxx::2 všechny směrovače FFxx::9 všechny směrovače provozující RIPNG a další...
Identifikátor rozhraní - modifikované EUI-64 Používáno pro autokonfiguraci adres pro Ethernet (a varianty) mezi 3. a 4. bajt MAC adresy se vloží 16 bitů FFFE
Povinné adresy rozhraní Koncová stanice lokální linková adresa (FE80::...) všechny individuální adresy lokální smyčka (::1) skupinová adresa pro všechny uzly (FF01::1) skupinová adresa pro vyzývaný uzel pro všechny přidělené individuální (a příp. výběrové) adresy všechny skupinové adresy Směrovač výběrová adresa pro směrovače v podsíti všechny výběrové adresy, které byly přiděleny skupinová adresa pro všechny směrovače (FF05::2)
ICMPv6 (Integrace IPv4 ICMP + ARP + IGMP )
Zpráva ICMPv6 nejvyšší bit typu 0 chyba 1 informační 8 b 8 b 1 6 b Typ Kód Kon tr oln í sou če t Tě lo zp r á vy
ICMPv6 typy a kódy I typ kód popis 1 nedoručitelný datagram 1 0 ve směrovací tabulce neex. směr pro adresu 1 1 spojení s cílem je administrativně uzavřeno 1 3 nedosažitelná adresa 2 0 příliš velký datagram 3 čas vypršel 3 0 dosažen max. počet hopů 3 1 vypršel čas na sestavení datagramu z fragmentů 4 chybný parametr 4 0 chybné pole v záhlaví 4 1 nepodporovaný typ v poli hlavička 4 2 nepodporovaná volba
ICMPv6 typy a kódy II typ kód popis 128 0 žádost o echo 129 0 echo 133 0 žádost o směrování 134 0 oznámení o směrování 135 0 žádost o linkovou adresu (náhrada ARP) 136 0 oznámení o linkové adrese (náhrada ARP) 137 0 změň směrování
Neighbor Discovery ARP/INARP, autokonfigurace adresy, výběr default GW, duplicate address detection (DAD) Neighbor Solicitation/Neighbor Advertisement Náhrada ARP Zasíláno na multicast adresu odvozenou z hledané IPv6 adresy (Solicited-Node Address) Prefix FF02::1:FFxx:xxxx/104 Posledních 24b převzatých z nejnižších 24b IPv6 adresy FSM pro udržování sousedství Router Solicitation/Router Advertisement Propaguje linkové prefixy a jejich preference (životnosti) Podpora pro automatickou konfiguraci Poznámka: Proxy ARP omezen z důvodu nutnosti provozu interface v promisc módu poslech Neighbor Solicitation pro všechny možné adresy
DNS a IPv6 RFC 3596 (vychází z RFC 1886) Adresy typu AAAA konstrukce se záznamy typu A6 odnačeny jako experimental Nepřímé odkazy na částí prefixů pro usnadnění přeadresování sítě Reverzní záznamy v doméně ip6.arpa: michelle IN AAAA 2001:718:1001:9e:a00:69ff:fe06:e407 zone "1.0.0.1.8.1.7.0.1.0.0.2.IP6.ARPA": 7.0.4.e.6.0.e.f.f.f.9.6.0.0.a.0.e.9.0.0 IN PTR michelle.vsb.cz.
Podpora v OS *BSD KAME Project www.kame.net Linux standardní jádro USAGI Project www.linux-ipv6.org Microsoft Windows starší než 2000 podpora IPv6 není a nebude 2000 stáhnout a instalovat záplatu XP,Vista, Win 7 integrováno (vč. tunelovacích mechanismů)
Směrování v IPv6 Stejné principy jako u IPv4 V IPv6 od začátku kladen důraz na agregovatelnost adres V Internetu nicméně dnes i IPv6 PI adresy Sousedské vazby typicky navazovány na lokálních linkových adresách Rozhraní může mít více globálních adres kterou jinak zvolit? Vazby zůstanou zachovány i při přeadresování sítě Nutnost explicitního ošetření pri předávání next-hopu na nesousední směrovač (EBGP do IBGP) Load-balancing (per-flow) router musí být schopen počítat hash z vhodných polí IPv6 hlavičky
Směrovací protokoly pro IPv6 IGP: RIP-NG, OSFPv3, IS-IS, ( EIGRPv6 ) EGP: BGPv4+ (Multiprotocol BGP) Adresní prefixy šířeny jako NLRI atribut Další závislost na IPv4 adresách pouze v atributech NEXT-HOP (redefinováno) a AGREGATOR (ponecháno IPv4 ID) Samotná transportní relace může být IPv6 nebo IPv4 Router ID často v IPv4 stylu Odvození z IPv4 adresy interface (pokud je), jinak nutno konfigurovat manuálně
OSPFv3 Nekompatibilní s OSPFv2 Zprávy neseny v paketech IPv6 Adresní schema 3. vrstvy odděleno od topologické informace (nové typy LSA) podpora více prefixů na interface Nové typy LSA Extenze pro paralelní propagování síťových adres různých rodin ve vývoji s ohledem na obecnost (ne všechny segmenty mají adresy všech typů, např. při migraci) vede na multitopology routing
Integrated IS-IS Topologická informace a výpočet nejkratších cest z principu odděleny od adresního schematu na L3 Zprávy IS-IS šířeny v L2 rámcích Lze provozovat v režimu single-topology (IPv4+ IPv6) nebo multi-topology (IPv4/IPv6) se samostatnými metrikami linek V praxi používáno u některých ISP
Tunnelling Statické tunely GRE, ipv6ip Dynamické tunely 6to4, ISATAP,... obvykle svázány se statickým routigmen
IPv6 QoS IntServ Rozšíření RSVP o přenos adres IPv6 od začátku koncipováno obecně Diffserv Pole IPv6 Traffic Class zpracováváno stejně jako IPv4 DSCP Alternativně lze použit Flow Label, pokud zdroj vyplňuje V praxi zatím téměř neimplementováno IPv6 musí být zohledněno v klasifikačních mechanismech typu NBAR apod.
Další Podpora vícenásobných adres DHCPv6, prefix delegation (DHCP-PD) Mobile IP Home Agent, Correspondent Node, Care-of Address Bezpečnost IPv6 IPSec původně vyvinut pro IPv6, na IPv4 backportován Hlavičky AH/ESP, protokol ISAKMP/IKE Připojení/propojení IPv6 sítí a izolovaných IPv6 strojů dual-stack hosts, IPv4-kompatibilní adresy statické tunely dynamické tunely tunnel broker, 6to4, Teredo, ISATAP MPLS - 6PE NAT-PT
Literatura Satrapa Pavel: IPv6 Neocortex, Praha 2002, ISBN 80-86330-10-9 + aktualizované vydání (2008) Dostálek Libor, Kabelová Alena: Velký průvodce protokoly TCP/IP a systémem DNS Computer Press, Praha 2000, ISBN 80-7226-323-4