Proč nové adresy

O čem to je

IPv4 adres je asi 4,3 miliardy. Lidí na Zemi je víc než 8 miliard a každý má mobil, počítač, televizi, hodinky. Adresy prostě došly. Evropský registr RIPE NCC rozdal poslední volný blok IPv4 v roce 2019.

Řešením je IPv6: adresy tak dlouhé, že jich je víc, než kolik kdy budeme potřebovat. Už dnes po IPv6 jezdí velká část provozu internetu a každý síťař ho musí umět přečíst a zapsat.

Nové pojmy

Připomenutí: IPv4Adresa o 32 bitech, zapsaná čtyřmi desítkovými čísly s tečkami.192.168.1.10
IPv6 adresaAdresa o 128 bitech. Píše se jako 8 skupin po 4 šestnáctkových číslicích, oddělených dvojtečkami.2001:0db8:0000:0000:0000:ff00:0042:8329
Šestnáctková čísliceČíslice 0–9 a písmena a–f (a = 10 … f = 15). Jedna šestnáctková číslice = 4 bity, skupina 4 číslic = 16 bitů.
PrefixČíslo za lomítkem, které říká, kolik bitů zleva tvoří síť. Běžná síť v IPv6 má /64: 64 bitů síť, 64 bitů zařízení.2001:db8:1:2::/64

Kolik je to adres

IPv4: 2³² ≈ 4,3 miliardy. IPv6: 2¹²⁸ ≈ 3,4 · 10³⁸ adres. Na každého člověka na Zemi by připadlo asi 4 · 10²⁸ adres.

Jak adresu zkrátit

Dlouhé adresy se zkracují podle dvou pravidel:

V každé skupině můžeš vynechat úvodní nuly: 0db8 → db8, 0042 → 42, 0000 → 0.
Jeden souvislý úsek skupin, které jsou celé nulové, nahradíš dvěma dvojtečkami ::. V adrese smí být :: jen jednou.
Zkrať 2001:0db8:0000:0000:0000:ff00:0042:8329.
Úvodní nuly: 2001:db8:0:0:0:ff00:42:8329. Tři nulové skupiny za sebou nahradím ::. Výsledek 2001:db8::ff00:42:8329.
Rozepiš celou adresu 2001:db8:a::1.
Viditelné skupiny: 2001, db8, a, 1 → jsou to 4 skupiny, chybí 8 − 4 = 4 nulové skupiny v místě ::. Každou skupinu doplním na 4 číslice: 2001:0db8:000a:0000:0000:0000:0000:0001.

Vyber správné zkrácení.

Druhy adres

ZačínáDruhK čemu
2000::/3 (2… nebo 3…)globální unicastveřejná adresa v internetu
fe80::/10link-localjen v místní síti, má ji každé rozhraní
fc00::/7 (v praxi fd…)unikátní lokální (ULA)vnitřní síť, obdoba privátních IPv4
::1loopback„já sám“
ff00::/8multicastskupina příjemců

IPv6 nemá broadcast. Místo něj používá multicast.

✗V adrese 2001:db8::1::5 jsem dvakrát použil ::, je to kratší.
✓Správně 2001:db8:0:1::5 (nebo jiná varianta s jediným ::).

Když jsou :: dvě, nikdo nepozná, kolik nulových skupin patří do které mezery. Adresa by nebyla jednoznačná.

IPv6 adresa má 128 bitů, 8 skupin po 4 šestnáctkových číslicích. Zkracuje se vynecháním úvodních nul a jedním :: místo nulových skupin. Běžná podsíť je /64, broadcast neexistuje.

Srovnání s IPv4

O čem to je

Když nastavíš notebook ve škole, nejspíš dostane dvě adresy: IPv4 jako 192.168.1.20 i IPv6 jako 2001:db8:10:20::1a. Tomu se říká dual stack a je to dnes běžný stav. Abys rozuměl tomu, co vidíš v ipconfig nebo ip a, porovnáme IPv6 s tím, co znáš z IPv4.

Nové pojmy

IPv6Nová verze protokolu IP se 128bitovými adresami.
Dual stackZařízení i síť běží s IPv4 i IPv6 současně.
HextetJedna skupina IPv6 adresy: 4 šestnáctkové číslice = 16 bitů.V 2001:db8::1 je první hextet 2001.
Identifikátor rozhraníPosledních 64 bitů adresy. Určuje konkrétní zařízení v síti /64.
SLAACAutomatické nastavení adresy bez DHCP serveru: router v síti oznámí prefix a zařízení si k němu samo doplní identifikátor rozhraní.
NDPProtokol pro hledání sousedů v IPv6. Mimo jiné nahrazuje ARP (zjištění MAC adresy k IP adrese) a hledá routery v síti.

Porovnání

IPv4IPv6
délka adresy32 bitů128 bitů
zápisdesítkově s tečkamišestnáctkově s dvojtečkami
typická podsíť/24/64
broadcastanone, jen multicast
automatické adresyDHCPSLAAC nebo DHCPv6
MAC k IP adreseARPNDP
loopback127.0.0.1::1
vnitřní adresyprivátní 10/8, 172.16/12, 192.168/16ULA fc00::/7, link-local fe80::/10
velikost hlavičkyproměnná, 20–60 Bpevná 40 B

Díky obrovskému množství adres v IPv6 není potřeba NAT (překlad mnoha privátních adres na jednu veřejnou). Každé zařízení může mít vlastní veřejnou adresu. Ochranu pak musí zajistit firewall.

Stavba adresy

Poskytovatel přidělil firmě prefix /48. Kolik podsítí /64 si z něj firma udělá?
Mezi /48 a /64 je 64 − 48 = 16 bitů na číslování podsítí. 2¹⁶ = 65 536 podsítí /64.
Domácnost dostala /56. Kolik má podsítí /64?
64 − 56 = 8 bitů → 2⁸ = 256 podsítí.

Pravidla zápisu

Úvodní nuly ve skupině vynech (0db8 → db8).
Nejdelší úsek nulových skupin nahraď :: (jen jednou).
Písmena piš malá (doporučení RFC 5952).
Při rozepisování spočítej viditelné skupiny a :: doplň tolika nulovými skupinami, aby jich bylo 8.
  • ::1 – loopback
  • fe80::… – link-local, jen místní síť
  • 2001:db8::… – dokumentační rozsah pro příklady
  • ff02::1 – multicast všem uzlům v místní síti
  • /64 – běžná velikost podsítě
  • SLAAC – zařízení si adresu sestaví samo
✗Adresa fe80::1 je veřejná adresa, kterou uvidí celý internet.
✓fe80::/10 je link-local: platí jen v jedné místní síti a router ji dál nepošle.

Každé rozhraní s IPv6 má link-local adresu automaticky. K internetu je potřeba globální adresa (2… nebo 3…).

IPv6: 128 bitů, podsíť /64, bez broadcastu, místo ARP je NDP, adresy přes SLAAC nebo DHCPv6, NAT obvykle není potřeba. Link-local fe80::, loopback ::1, globální 2000::/3.