Tento článek není žádným vyčerpávajícím popisem IPv6. Vznikl jako moje poznámky, když jsem se připravoval na Cisco test 642-901 BSCI, takže i jako poznámky vypadá. Pokud někdo chcete doplnit nějakou podstatnou informaci, je vítán v komentářích.
Vlastnosti IPv6
- adresy jsou dlouhé
128 bit = 16 bytů
- to znamená
3,2*10na38
adres (IPv4 cca 4 miliardy) - integrovaný IPsec
- podpora mobilních připojení (mobile IP - MIPv6)
- používají se zápis podsítí pomocí CIDR adresa/prefix
Bezpečnost v IPv6 - IPsec
IPv4 původně neobsahovalo žádné bezpečnostní mechanismy a bezpečnost se řešila až na vyšších vrstvách (aplikačně). Až časem byl doplněn bezpečnostní mechanismus, který funguje přímo na 3. vrstvě OSI modelu, tedy na IP, a to IPsec - Internet Protocol Security. IPsec poskytuje šifrování a autentizaci. V IPv6 je jeho implementace povinná, ale nepoužívá se příliš často.
Podpora mobility v IPv6
Další integrální součást IPv6 je mobilita. Dnes je velké množství mobilních zařízení, která se připojují do sítě z různých míst. Podpora mobility má zajistit, aby mobilní zařízení mělo adresu ze své domácí sítě a ta se neměnila ani při připojení jinde. Mobile IPv6 obchází problémy s triangulárním routingem (komunikace od zdroje jde do mé domácí sítě a odtud k mému mobilnímu zařízení připojenému jinde, ale zde se provádí zabezpečeně optimalizace, aby se komunikovalo napřímo) a tudíž je efektivní jako normální IPv6. Zatím se ale MIPv6 příliš nerozšířilo.
Příkazy Cisco IOSu pro IPv6
ROUTER(config)#ipv6 unicast-routing // zapne podporu IPv6 ROUTER(config)#ipv6 cef // zapne Cisco Express Forwarding (CEF) pro IPv6 ROUTER(config-if)#ipv6 address 2002:C0A8:2101::1/128 // definice IPv6 adresy ROUTER(config-if)#ipv6 enable // zapne IPv6 pouze pro interface
Bezstavová autokonfigurace IP adres - stateless address autoconfiguration (SLAAC)
Když je klient připojen do routované IPv6 sítě, tak se může automaticky nakonfigurovat pomocí ICMPv6 router discovery message. Když se klient poprvé připojí do sítě (třeba při bootování), tak posílá router solicitation (RS) zprávu (link-local multicast) jako požadavek o konfigurační parametry, router odpovídá pomocí router advertisement (RA) zprávy. RA obsahuje 64bit prefix pro linku a lifetime. Adresa se vytvoří ze zaslaného prefixu a doplní se MAC adresa klienta (v případě Ethernetu). Pro úvodní komunikaci si klient vytvoří lokální adresu s prefixem FE80::
.
Pozn.: V IPv6 existuje i stavová autokonfigurace, podobně jako v IPv4, pomocí DHCPv6.
Adresy v IPv6
Formát IPv6 adres a jejich zkracování
- adresy se skládají z 8 skupin po 4 hexa číslech (16bitů) oddělených dvojtečkou
0123:BB99:3210:FE00:58A0:4565:98AE:1245
- adresy se dají zapisovat zkráceně, počítá se, že budou existovat adresy s hodně nulami, úvodní 0 ve skupině se dají vynechat (až na jednu), skupiny nulových 16bitových bloků se můžeme zapsat jako
::
(dvě dvojtečky), ale může se použít pouze jednou 1080:0000:0000:0000:0008:0800:0000:417A = 1080:0:0:0:8:800:0000:417A = 1080::8:800:0:417A
Typy IP adres
- unicast - identifikátor jednoho interfacu na jednom nodu
- anycast - novinka v IPv6, stejná adresa přiřazená skupině interfaců, které typicky patří jiným nodům, paket je doručen pouze jednomu - nejbližšímu interfacu (podle daného routovacího protokolu), který je identifikován touto adresou, anycast adresa je normální unicast adresa, takže se špatně identifikuje
- multicast - identifikátor skupiny interfaců, které typicky patří jiným nodům, paket je doručen všem interfacům
Pozn.: v IPv6 není broadcast, nahrazuje se pomocí link-local all hosts multicast group
Základní adresy
- ::/0 je default route.
- ::1/128 loopback adresa
- ::/128 je nespecifikovaná adresa
- FF00::/8 jsou multicast adresy
- FC00::/7 jsou unikátní lokální adresy
Multicast adresy
Multicast adresy začínající FF (prvních 8 bitů je 1) FF::/8
- FF01::1 lokální node - všichni hosté
- FF01::2 lokální node - všechny routery
- FF02::1 lokální link - všichni hosté
- FF02::2 lokální link - všechny routery
- FF05::2 lokální site - všechny routery
- FF02::5 všechny OSPF routery
- FF02::6 všechny designated routery
IPv6 paket
U IPv6 je snaha, aby hlavička byla co nejmenší. Některé méně užívané části byli přesunuty do rozšiřujících hlaviček. Velikost hlavičky je pevná a rovná se 40B, z čehož 32B jsou adresy. Takže neobsahuje údaj o velikosti hlavičky, také se odstranil kontrolní součet (checksum).
IPv6 paket obsahuje verzi, traffic class (priorita - QoS), flow label (QoS, zatím se nepoužívá), payload length (velikost dat, max 64kB, nebo se nastaví 0 a pak jde o jumbo až 4GB), next header (obdoba protokolu u IPv4), hop limit (místo TTL), zdrojová a cílová adresa.
bits | 0-3 | 4-11 | 12-15 | 16-23 | 24-31 |
0 | version = 6 | traffic class | flow label | ||
32 | payload length | next header | hop limit | ||
64 | source address | ||||
96 | |||||
128 | |||||
160 | |||||
192 | destination address | ||||
224 | |||||
256 | |||||
288 |
Next Header může také indikovat jednu z 6 rozšiřujících hlaviček. V tom případě ze normální hlavičkou následuje další jedna nebo i více hlaviček se speciálními údaji. Může se jednat třeba o směrování (seznam uzlů, přes které má paket projít) a fragmentaci (linková vrstva podle technoligie může přepravovat nějak max. velké rámce, Ethernet MTU = 1500B, fragmentace rozdělí větší data, u IPv6 může provést pouze odesílatel).
Při přechodu z IPv4 na IPv6 se mohou použít techniky
Dual Stack
Současně se používá IPv4 i IPv6, routery mají dva oddělené stacky, na doplnění je třeba NAT nebo dual-stack servery, aby se mohlo komunikovat mezi IPv4 a IPv6.
6to4 tunneling
Pro komunikaci izolovaných IPv6 sítí přes IPv4 páteř, kde se pakety balí do IPv4 (IP typ 41), na routerech se mohou použít tunely - manuální, GRE tunely, polo či plně automatické tunely, IPv6 adresa se vytvoří z prefixu 2002::/16
a IPv4 převedená na hexa, př: 172.31.100.1 -> 2002:AC1F:6401::/48
, hraniční router musí mít IPv6 adresu 2002::/16
v prefixu.
IPv6 na vyhrazených linkách
Stejná L2 infrastruktura, ale oddělené Frame Relay nebo ATM PVC.
IPv6 na MPLS páteři
Oddělené IPv6 sítě komunikují přes MPLS IPv4 páteř.
Ahoj,
Link-local adresa je FE80::/10, nejspíš se jedná pouze o překlep ;-).