L3 - IPv4 a IPv6

IP adresy

Protokoly IPv4 i IPv6 mají společné to, že pro adresování stanic používají IP adresy. U IPv4 jsou dlouhé 32 bitů a v protokolu IPv6 jsou 128 bitů dlouhé.

Pro adresování sítí (subnetů) se používá u obou protokolů kombinace adresy sítě („nulté“ IP adresy v daném subnetu) a síťové masky, která se zapisuje jako počet bitů v adrese (počítají se souvisle zleva), které patří adrese sítě a zbytek je adresa stanice v rámci subnetu. U IPv4 i IPv6 se tedy používá zápis s lomítkem, například:

  • 192.168.1.0/24
  • 2001:db8:1::/64

Mimo to se ještě občas vidí u IPv4 použití zápisu s (explicitní) síťovou maskou, např. místo 192.168.1.0/24 to je 192.168.1.0/255.255.255.0. Tohle je však historická specialita IPv4 a u IPv6 není možná - jediný přípustný zápis IPv6 adresy je s délkou masky v bitech.

Na IP adresy se v případě obou protokolů často díváme jako na řetězce 32 respektive 128 bitů. U IPv4 to je skoro přirozené, protože na 32-bitových počítačích nám 32 bitů IP adresy krásně zapadá do unsigned integeru a dá se proto snadno uložit a zpracovávat. U IPv6 je nejužitečnější představit si adresu jako 128 bitů v jedné proměnné (i když ve skutečnosti to bývá datová struktura se čtyřmi 32-bitovými čísly a nebo pole 16ti bytů).

IPv4 adresy se obvykle zapisují dekadicky po osmi bitech oddělených tečkami. Zato zápis IPv6 adres je poněkud komplikovaný, nicméně to má svoje důvody. Nebudu zabíhat do detailů, raději odkážu podrobné vysvětlení např. z Wikipedie. Pro nás stačí vědět, že existuje kanonický zápis, kde jsou explicitně uvedena všechna čísla (nibly). Adresa se zapisuje hexadecimálně po 16ti bytech oddělených dvojtečkou. Naproti tomu existují různá pravidla, jak lze adresu zkrátit, zejména vynecháváním nulových niblů a vynecháváním celých sekcí s nulami. Například tyto dvě adresy jsou synonyma:

  • 2001:0db8:85a3:0000:0000:8a2e:0370:7334
  • 2001:db8:85a3::8a2e:370:7334

Samotná číselná hodnota adresy je sice bezrozměrný řetězec bitů, přesto ale existují skupiny nebo typy adres. U IPv4 to jsou adresy zakázané nebo nepoužitelné (0.0.0.0 a nebo adresy loopbacků ze subnetu 127.0.0.0/8). Pak to jsou adresy vyčleněné pro použití v lokálních sítích, které se nesmí používat v Internetu (privátní adresy dle RFC 1918, tedy například subnety 10.0.0.0/8 nebo 192.168.0.0/16). Dále máme normálně použitelné unicast adresy, adresy multicastových skupin a link-local adresy, které známe z (pro IPv4 né moc užitečné autokonfigurace).

U IPv6 jsou naopak linkové (link-local) adresy nesmírně užitečné a všudypřítomné. Navíc IPv6 přineslo ULA adresy a o trochu komplikovanější členění multicast adres.

Odkazy: