CZ 
06.10.2024 Hanuš VÍTEJTE V MÉM SVĚTĚ

An English translation is available for this article. Pro tento článek je dostupný anglický překlad.
TCP/IP - Internet Protocol Version 6 - IPv6

TCP/IP - Internet Protocol Version 6 - IPv6

| Petr Bouška - Samuraj |
Internet Protocol (IP) se používá pro datovou komunikaci v přepínaných počítačových sítích, které používají TCP/IP. Jedná se o nejrozšířenější protokol na internetu i v LAN. První hlavní verze se dnes označuje jako IPv4 a stále se jedná o majoritně používanou verzi. Její hlavní nevýhodou je, že adresy jsou velké 32 bitů. Proto vznikla nová verze IPv6, která přináší řadu výhod, ale hlavní rozdíl je, že adresy jsou velké 128 bitů. IPv6 se dnes již celosvětově nasazuje.
zobrazeno: 42 503x (42 481 CZ, 22 EN) | Komentáře [1]

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ř.

Související články:

Počítačové sítě - Computer networks

Tento seriál se věnuje základům počítačových sítí. Jsou zde stručně popsány důležité praktické aspekty, které by měl znát každý, kdo se o sítě zajímá. Obsahuje jedny z nejčtenějších článků na tomto webu. Je využíváno pro výuku na školách.

Cisco IOS

Velký seriál o operačním systému aktivních prvků firmy Cisco. Obsahuje jedny z nejčtenějších článků na tomto webu. Články popisují konfiguraci switchů a routerů, primárně s Cisco IOS. Věci ohledně portů, VLAN, STP, ACL, QoS, apod.

Pokud se chcete vyjádřit k tomuto článku, využijte komentáře níže.

Komentáře
  1. [1] Martin Kalous

    Ahoj,

    Link-local adresa je FE80::/10, nejspíš se jedná pouze o překlep ;-).

    Pondělí, 16.01.2017 11:19 | odpovědět
Přidat komentář

Vložit tag: strong em link

Vložit smajlík: :-) ;-) :-( :-O

Nápověda:
  • maximální délka komentáře je 2000 znaků
  • HTML tagy nejsou povoleny (budou odstraněny), použít se mohou pouze speciální tagy (jsou uvedeny nad vstupním polem)
  • nový řádek (ENTER) ukončí odstavec a začne nový
  • pokud odpovídáte na jiný komentář, vložte na začátek odstavce (řádku) číslo komentáře v hranatých závorkách