IPv4 versus IPv6: adreslengte, header, adresconfiguratie, NAT en IPsec

IPv4 en IPv6 zijn allebei protocollen van de netwerklaag die pakketten bij hun bestemming afleveren. IPv4-adressen zijn 32 bits, wat maar ongeveer 4,3 miljard adressen oplevert, dus het werd gebruikelijk dat veel apparaten één globaal adres delen via privéadressen en NAT. IPv6 verlengt de adressen tot 128 bits, vereenvoudigt de header tot een vaste 40 bytes en schaft het opsplitsen van pakketten (fragmentatie) door routers onderweg af. De twee zijn echter niet compatibel: een apparaat met alleen IPv4 en een apparaat met alleen IPv6 kunnen niet rechtstreeks met elkaar communiceren. De overgang combineert daarom dual stack (beide tegelijk draaien), tunneling (pakketten van het ene protocol binnen pakketten van het andere vervoeren) en adresvertaling zoals NAT64.

KenmerkIPv4IPv6
Adreslengte en aantal adressen32 bits: 2 tot de macht 32 (ongeveer 4,3 miljard) adressen128 bits: 2 tot de macht 128 (ongeveer 3,4×10^38) adressen
NotatieVier decimale getallen van 8 bits, gescheiden door punten (bijv. 192.0.2.1)Acht hexadecimale groepen van 16 bits, gescheiden door dubbele punten; voorloopnullen in elke groep, en één reeks nulgroepen als ::, mogen worden weggelaten (bijv. 2001:db8::1)
HeaderVariabele lengte van 20 tot 60 bytes, met opties en een header-checksumVast 40 bytes zonder checksum; opties worden erachter gekoppeld als extensieheaders; het equivalent van TTL is de hop limit
FragmentatieRouters onderweg, niet alleen de bron, kunnen pakketten opsplitsen (tenzij de DF-bit is gezet)Routers fragmenteren niet; alleen de bron splitst pakketten, met een extensieheader; de MTU van een link is minstens 1280 bytes
Automatische adresconfiguratieToegewezen via DHCP (of handmatig ingesteld)SLAAC, waarbij de host zijn eigen adres opbouwt uit de informatie van router advertisements (RA), of DHCPv6; een link-localadres wordt altijd automatisch aangemaakt
Resolutie van MAC-adressenARP, dat met een broadcast vraagtICMPv6 Neighbor Discovery (NDP), dat met multicast vraagt
NATOm het adrestekort op te vangen, is het delen van één globaal adres via privéadressen en NAPT gebruikelijkZo ontworpen dat elk apparaat een globaal adres krijgt en end-to-end met hetzelfde adres communiceert, omdat er adressen genoeg zijn; NAT wordt in het algemeen niet gebruikt
Soorten bestemmingenUnicast, broadcast, multicastUnicast, multicast, anycast; er is geen broadcast, multicast neemt die plaats in
IPsecOptioneel, toegevoegd wanneer nodigEerdere eisen maakten implementatie verplicht; de huidige eisen (RFC 8504) maken haar aanbevolen. Of het werkelijk wordt gebruikt, hangt bij beide af van de configuratie

De getalswaarden zijn typische ordegroottes en variëren per procesgeneratie en product.

Wanneer welke variant?

IPv4
Wordt nog op veel netwerken en diensten gebruikt, dus vrijwel elk apparaat zal het in de nabije toekomst moeten ondersteunen. Omdat adressen schaars zijn, wordt het samen met privéadressen en NAT gebruikt.
IPv6
Wanneer je veel apparaten een globaal adres wilt geven zonder via NAT te gaan, of bij het bouwen van een nieuw netwerk. In de praktijk wordt het meestal als dual stack naast IPv4 ingevoerd.

Veelgestelde vragen

Kan een IPv6-apparaat rechtstreeks met een IPv4-apparaat communiceren?

Nee. Het headerformaat en de adreslengte verschillen, en de twee zijn niet compatibel. Veel netwerken gebruiken dual stack: apparaten krijgen zowel een IPv4- als een IPv6-adres en gebruiken wat bij de andere kant past. Om een apparaat met alleen IPv6 een server met alleen IPv4 te laten bereiken, worden vertaalmechanismen zoals NAT64 en DNS64 gebruikt. Om IPv6-pakketten over een IPv4-netwerk te vervoeren, verpakt tunneling ze in IPv4-pakketten.

Wordt NAT niet gebruikt bij IPv6?

Het kan worden gebruikt, maar is in het algemeen niet nodig. De belangrijkste reden dat NAT zich bij IPv4 verspreidde, was het adrestekort, terwijl IPv6 elk apparaat ruim voldoende globale adressen kan geven. Verbindingen die van buitenaf beginnen beperken, is de taak van een firewall, niet van NAT. NAT versleutelt geen verkeer en beschermt op zichzelf niet tegen aanvallen van buitenaf.

Wat verandert er aan DNS met IPv6?

A-records koppelen een naam aan een IPv4-adres en AAAA-records aan een IPv6-adres. Dual-stackapparaten vragen meestal beide op en gebruiken IPv6 als ze daarmee verbinding kunnen maken, en anders IPv4.

Waarom worden IPv6-adressen hexadecimaal (met grondtal 16) geschreven?

Omdat 128 bits in decimale notatie erg lang zouden worden. Het adres wordt verdeeld in acht groepen van 16 bits, die elk als vier hexadecimale cijfers worden geschreven. Voorloopnullen in elke groep mogen wegvallen, en één reeks groepen die geheel uit nullen bestaan, mag worden ingekort tot ::. Zo kan 2001:0db8:0000:0000:0000:0000:0000:0001 worden geschreven als 2001:db8::1.

Test uw begrip

Welke schrijfwijze verkort het IPv6-adres 2001:0db8:0000:0000:0000:0000:0000:0001 juist volgens de afkortingsregels?

  1. A2001:db8:1
  2. B2001:db8::1
  3. C2001:db8::0::1
Antwoord en toelichting tonen

Antwoord: B. 2001:db8::1

Een IPv6-adres is 128 bits lang (IPv4 heeft 32 bits) en wordt verdeeld in acht groepen van 16 bits, die elk als vier hexadecimale cijfers worden geschreven. Er zijn twee afkortingsregels: voorloopnullen in elke groep mogen worden weggelaten (0db8→db8, 0001→1), en één reeks opeenvolgende groepen met alleen nullen mag één keer door „::” worden vervangen. Hier worden de vijf nulgroepen van de derde tot en met de zevende samengevoegd tot 2001:db8::1. „::” twee keer gebruiken mag niet, omdat dan niet vast te stellen is hoeveel nulgroepen elk ervan vervangt. „2001:db8:1” heeft maar drie groepen en mist de „::” die weggelaten nulgroepen aangeeft; het zou als een ander adres worden gelezen en is dus niet juist.

Welk van de volgende IPv4-adressen valt binnen een bereik van privéadressen?

  1. A172.32.0.1
  2. B192.168.100.1
  3. C11.1.1.1
Antwoord en toelichting tonen

Antwoord: B. 192.168.100.1

De privéadressen die in RFC 1918 zijn vastgelegd, zijn de drie bereiken 10.0.0.0/8, 172.16.0.0/12 (172.16.0.0 tot 172.31.255.255) en 192.168.0.0/16. Ze mogen binnen organisaties en huishoudens vrij worden gebruikt, en omdat er op het internet geen routes naar worden geadverteerd, kunnen veel organisaties dezelfde adressen tegelijk gebruiken. Voor communicatie met het internet vertaalt de NAT van de router ze naar globale adressen. Bij 172.32.0.1 valt het tweede octet buiten 16–31, dus het hoort niet bij 172.16.0.0/12, en 11.1.1.1 valt buiten 10.0.0.0/8.

Breedbandrouters voor thuisgebruik voeren NAPT (IP-masquerading) uit, een vorm van NAT (Network Address Translation). Wat maakt NAPT mogelijk?

  1. AMeerdere apparaten in huis kunnen, onderscheiden door poortnummers, tegelijk één globaal IP-adres delen om met het internet te communiceren
  2. BHet verkeer tussen apparaten in huis en het internet wordt versleuteld, zodat het onderweg niet kan worden afgeluisterd
  3. CElk apparaat in huis krijgt automatisch een eigen, afzonderlijk globaal IP-adres
Antwoord en toelichting tonen

Antwoord: A. Meerdere apparaten in huis kunnen, onderscheiden door poortnummers, tegelijk één globaal IP-adres delen om met het internet te communiceren

NAT (Network Address Translation) herschrijft het bron- of doel-IP-adres van pakketten die door een router gaan. NAPT herschrijft naast IP-adressen ook poortnummers en legt de koppeling tussen „intern adres en poort” en „externe poort” vast in een vertaaltabel. Daardoor kunnen meerdere apparaten met privéadressen tegelijk het ene globale adres van de router gebruiken. Terugkomende pakketten worden aan de hand van de tabel bij het juiste apparaat afgeleverd. NAPT herschrijft alleen adressen en versleutelt niets. Bovendien hebben verbindingen die van buitenaf beginnen geen vermelding in de tabel en bereiken ze de interne apparaten standaard niet; om binnen een server aan te bieden zijn instellingen zoals port forwarding nodig.

  1. Welke beschrijving van de rol van ARP is juist?
  2. Wat is de rol van het veld TTL (Time To Live) in de IPv4-header?
  3. Wat is de juiste volgorde van de berichten wanneer een apparaat via DHCP een IP-adres verkrijgt?

Oefenvragen over Basis van computernetwerken

Belangrijke termen uitgelegd

CIDR (Classless Inter-Domain Routing)
De methode om de lengte van het netwerkdeel van een IP-adres vrij vast te leggen als een aantal bits (de prefixlengte) na een schuine streep, zoals in 192.168.1.0/24, en die schrijfwijze.
Subnetmasker (subnet mask)
Waarde van 32 bits die aangeeft hoeveel bovenste bits van een IP-adres het netwerk aanduiden (het netwerkdeel). Wordt geschreven als bijvoorbeeld 255.255.255.0, wat hetzelfde betekent als /24 in CIDR-notatie.
NAT (Network Address Translation)
Techniek die de IP-adressen herschrijft van pakketten die door een router gaan. De variant die ook poortnummers herschrijft, zodat veel apparaten één globaal adres kunnen delen, heet NAPT (IP-masquerading).
DHCP (Dynamic Host Configuration Protocol)
Protocol dat apparaten die met een netwerk verbinding maken automatisch en voor beperkte tijd een IP-adres, subnetmasker, standaardgateway, DNS-servers en andere instellingen toekent.
ARP (Address Resolution Protocol)
Protocol dat op basis van een IP-adres het MAC-adres opzoekt van een apparaat in hetzelfde netwerk. Het verzoek wordt als broadcast verstuurd, en het betreffende apparaat antwoordt.
MAC-adres
Adres van 48 bits dat in Ethernet en draadloze LAN's wordt gebruikt om apparaten binnen hetzelfde netwerk aan te duiden. De bovenste 24 bits geven de fabrikant aan, en het adres wordt bij de productie aan elke interface toegekend.
DNS (Domain Name System)
Systeem dat gedistribueerd wordt beheerd door servers over de hele wereld en domeinnamen zoals www.example.com koppelt aan de IP-adressen die voor de communicatie worden gebruikt.

Verwante vergelijkingen