To IPv6 or not
IPv6 werd voor het eerst voorgesteld in 1995 en in 1998 werd de eerste versie door de IETF goedgekeurd. Het protocol is dus allesbehalve nieuw. Tijdens mijn studies werd al voorspeld dat het niet lang zou duren voordat IPv6 overal de standaard zou worden. In de praktijk bleef die doorbraak echter uit.
Dankzij technieken zoals NAT en DNAT raakten IPv4-adressen niet meteen uitgeput. IPv6 werd nauwelijks toegepast in LAN netwerken. Ondertussen zijn we twintig jaar verder en rijst de vraag: is de overstap naar IPv6 onvermijdelijk, en riskeren we de trein te missen als we nu niet instappen?
Vanuit die bezorgdheid ben ik mij dit jaar opnieuw gaan verdiepen in IPv6, met als centrale vraag of en in welke mate onze netwerken hier vandaag al op aangepast moeten worden.
Zonder te veel te spoilen, kan alvast meedelen dat de IPv4-adressen effectief opgebruikt zijn. De laatste vrije adressenblokken werden in 2019 verdeeld. Vandaag is het enkel nog mogelijk om IPv4-adressen te herverdelen of over te kopen. Dit gebeurt via een grijze markt die niet schaalbaar of duurzaam is (dit is een eindig verhaal).
In werkelijkheid wordt IPv6 vandaag al veel meer gebruikt dan vaak wordt aangenomen, maar deze evolutie verloopt grotendeels onzichtbaar. In 2025 verliep ongeveer 43% van al het internetverkeer via IPv6 ( ref ). Regionaal lopen de cijfers sterk uiteen. In hetzelfde rapport wordt vermeld dat Frankrijk, Duitsland en India een IPv6-adoptiegraad hebben van respectievelijk 80%, 75% en 74%. In België ligt de IPv6-adoptiegraad rond de 69% ( ref ).
Mobiele netwerken zijn al geruime tijd IPv6-first. Internetproviders zorgen er bovendien voor dat SOHO- en thuisnetwerken meestal als dual-stack functioneren, waarbij IPv4 en IPv6 naast elkaar worden gebruikt. Moderne webbrowsers maken gebruik van het Happy Eyeballs-algoritme om automatisch te bepalen of een website via IPv4 of IPv6 wordt bereikt. Zonder dat gebruikers het expliciet merken, verloopt vandaag dus al een aanzienlijk deel van het netwerkverkeer via IPv6.
De redenen waarom er na meer dan dertig jaar nog steeds IPv4-netwerken bestaan, zijn relatief eenvoudig te verklaren:
- IPv6 is in de eerste plaats een infrastructurele aanpassing. Het biedt geen directe nieuwe functionaliteiten en loste lange tijd geen acuut probleem op.
- Lokale netwerken hadden nooit een tekort aan IP-adressen. Dankzij de private adresruimtes uit RFC 1918 (10.0.0.0/8, 172.16.0.0/12 en 192.168.0.0/16) beschikten netwerkbeheerders over meer dan voldoende adresruimte.
- NAT wekt de indruk extra veiligheid te bieden doordat interne systemen worden afgeschermd van het internet. Dit gevoel van veiligheid is echter misleidend. Reverse NAT, port forwarding en 'stoute' gebruikers maken duidelijk dat een degelijk geconfigureerde firewall onmisbaar is (en dat NAT mag worden uitgeschakeld).
Laat me je daarom meenemen in de mijn zoektocht naar IPv6:
Waarom IP
Om computers (clients en servers) met elkaar te laten communiceren (webbrowsen, emailen, berichten, meta-data, IoT, ...) hebben ze een unieke identificatie nodig. Een goede manier om dit te begrijpen is door netwerkverkeer te vergelijken met het sturen van brieven. In plaats van een continu gesprek, sturen computers elkaar namelijk "brieven" in de vorm van datapakketjes (van meestal 1500 bytes groot). Zoals een fysieke brief een naam, straat, postcode en land nodig heeft om aan te komen, heeft een datapakketje een IP-adres. Dit adres bevat alle informatie om een pakketje van de ene kant van de wereld naar de andere te sturen.
Van IPv4 (Classful & CIDR) naar IPv6
In de begindagen van IPv4 gebruikten we Classful Networking. Hierbij bepaalde de eerste bit(s) van een adres de klasse (A, B of C) en daarmee de vaste splitsing tussen het netwerk-ID en het host-ID. Dit systeem was echter niet schaalbaar en leidde tot enorme verspilling van adressen. Om dit op te lossen werd CIDR (Classless Inter-Domain Routing) geïntroduceerd, waarbij we een subnetmasker gebruiken om flexibel te bepalen welk deel van het adres bij het netwerk hoort.
Bij IPv6 stappen we af van die variabele complexiteit door volgende zaken:
- De Boundary: In IPv6 is de 64e bit de vaste grens (boundary). De laatste 64 bits (het Interface ID) zijn gereserveerd voor de host.
- Functieherkenning: Aan de hand van de eerste bits (de prefix) herkent een computer direct de functie van het adres, zoals Global Unicast (internet-routeerbaar), Unique-local (niet routeerbaar), Link-Local (alleen voor het eigen segment) of Multicast (het oude broadcast).
- Subnetting: Een ISP deelt meestal een prefix uit van bijvoorbeeld /48 of /56. Dit geeft jou als netwerkbeheerder respectievelijk 16 of 8 bits de ruimte om eigen subnets (VLAN's) te definiëren, terwijl de laatste 64 bits altijd voor de hosts blijven.
Laag 3 van het ISO-OSI model
Waarom hebben we dit dus nodig? IP bevindt zich op Laag 3 van het OSI-model (de Netwerklaag). Waar Laag 2 (Ethernet) zorgt voor communicatie binnen hetzelfde fysieke netwerk, zorgt laag 3 (en IP) ervoor dat data over verschillende netwerken heen gerouteerd kan worden. Zonder een uniek IP-adres is wereldwijde communicatie simpelweg onmogelijk.
Waarom IPv6?
De voorraad IPv4-adressen is officieel uitgeput. Met ongeveer 4,3 miljard adressen voor bijna 8 miljard mensen (die elk een smartphone, laptop, smartwatch en een slimme koelkast bezitten) is er geen toekomst in IPv4. Nu hoor ik je denken: "Wat is het probleem? Met NAT (Network Address Translation) kunnen we toch oneindig veel apparaten achter één publiek IP-adres verbergen?" Maar juist dat is eigenlijk het probleem. NAT was (of is ;-)) een goede tijdelijke oplossing, maar het heeft het de fundamentele end-to-end architectuur van het internet kapotgemaakt. Het internet is ontworpen voor directe punt-tot-punt communicatie. Omdat NAT dit blokkeert, moeten we complexe en onveilige "trucs" uithalen zoals NAT traversal, STUN/TURN-servers of het gebruik van externe tussenstations (relays) om apparaten van buitenaf bereikbaar te maken. Dit zorgt voor extra vertraging, hogere kosten en onnodige beveiligingsrisico's. Bovendien is de wereldwijd verdeling van IPv4-adressen oneerlijk gebeurd. Omdat het Westen als eerste aan tafel zat, bezitten enkele Amerikaanse universiteiten meer IPv4-adressen dan heel China of Afrika. In die regio’s is de noodzaak groter, waardoor de IPv6-adoptie daar vaak veel sneller gaat dan bij ons ref. Het belangrijkste om te beseffen: IPv6 wint gestaag terrein. Er komt een moment dat een cruciale service (bv een nieuwe leerlijn van een uitgever) alleen nog via IPv6 bereikbaar is. Als je wacht tot dat moment, moet je halsoverkop je hele schoolnetwerk omgooien terwijl je waarschijnlijk met andere prioriteiten bezig bent. In een SOHO-omgeving (Small Office/Home Office) is IPv6 vaak een kwestie van één vinkje aanzetten, maar in een gestructureerd bedrijfsnetwerk met VLAN’s, firewalls en routing-protocollen komt er aanzienlijk meer bij kijken. Een goede voorbereiding is dus essentieel. IPv6 heeft 128 bits gerekend voor het IP adres. Hoeveel is dit eigenlijk? Wel 2^128 zijn ongeveer 10^36 adressen. Ter vergelijking:
- Er zijn op aarde ongeveer 10^22 zandkorrels, dit is ongeveer 2^74. We kunnen dus elke zandkorrel een computernetwerk geven waarin je elke zandkorrel zoveel adressen kan geven als er zandkorrels op aarde zijn (ik weet dat ik een fout van 2^20 maak).
- Als een hacker een netwerkscanner zou bouwen die alle IPv6 adressen scant en hij slaagt erin om 1 miljoen adressen per seconde te scannen, heeft hij 10^30 seconden nodig om alles te scannen. Ons heelal is ongeveer 13,8 miljard jaar oud, of 1,38 x 10^10. In 1 jaar zitten ongeveer 3,1 x 10^7 seconden. Dus 10^30 (het aantal seconden nodig om alles te scannen) is ongeveer 10^13 keer het aantal seconden dat het heelal oud is. Dit lijkt absurd, maar met IPv6 ga je geen netwerkscan meer uitvoeren, dit is een onmogelijke taak, meer hierover verderop.
- Astronomen schatten het aantal sterren in het heelal op 10^24. Dus elke ster kan 10^12 aantal adressen krijgen. 10^12 is ongeveer 2^40 of elke ster kan 256 keer een IPv4 range krijgen.
Naast de grotere adresruimte hebben we natuurlijk nog redenen om IPv6 leuk te vinden:
- Geen NAT meer (End-to-End Connectivity): Dit is de grootste verandering voor netwerkarchitectuur. Omdat we genoeg adressen hebben, is Network Address Translation (NAT) technisch gezien niet meer nodig. Elke host kan een echt publiek adres krijgen. Dit herstelt de oorspronkelijke "end-to-end" visie van het internet.
- Efficiëntere Routing (Fixed Header): De IPv6-header heeft een vaste lengte van 40 bytes. Bij IPv4 was de header variabel (20 tot 60 bytes), wat betekende dat routers per pakketje moesten berekenen waar de data begon. Routers kunnen pakketjes veel sneller verwerken in de hardware.
- Geen Checksum van laag 3: IPv6-routers berekenen geen checksum meer op laag 3 (dat laten we over aan laag 2 en laag 4). Dit bespaart kostbare CPU-cycli op elke "hop" die een pakketje maakt.
- Stateless Address Autoconfiguration (SLAAC): In IPv4 heb je bijna altijd een DHCP-server nodig om adressen uit te delen. IPv6-apparaten kunnen zichzelf configureren zonder hulp van een server.
- Geen Broadcasts meer: In IPv4 kan een broadcast-storm een heel VLAN platleggen. IPv6 kent simpelweg geen broadcast meer. Vervanging: Alles wat vroeger broadcast was, gebeurt nu via Multicast. Voordeel: Alleen apparaten die daadwerkelijk geïnteresseerd zijn in een pakketje (bijv. alle routers of alle hosts) verwerken het verkeer. De rest van de netwerkkaarten negeert het pakketje al op hardware-niveau.
- Ingebouwde Beveiliging IPsec: Bij het ontwerp van IPv6 was IPsec een verplicht onderdeel, maar in de praktijk is het nog steeds optioneel. Alles zit wel klaar om alle verkeer in IPv6 te encrypteren.
- Mobility: IPv6 ondersteunt "Mobile IPv6" beter, waardoor als apparaten van netwerk wisselen (bijvoorbeeld van Wi-Fi naar 5G) hun actieve verbindingen/sessies niet verliezen.
theorie IPv6
Adresnotatie
Een IPv6-adres is 128 bits en ziet er bijvoorbeeld zo uit:
2001:0db8:85a3:0000:0000:8a2e:0370:7334
Dit lijkt op een MAC adres, maar dit is het niet. IPv4 was decimaal geschreven (elk octet was een getal tussen 0 en 256), een IPv6 adres wordt hexadecimaal geschreven, elk karakter gaat van 0 tot F. En natuurlijk is dit onderliggend binair. Bovenstaand adres komt in een packet sniffer als volgt tevoorschijn:
0010 0000 0000 0001 0000 1101 1011 1000 1000 0101 1010 0011 0000 0000 0000 0000 0000 0000 0000 0000 1000 1010 0010 1110 0000 0011 0111 0000 0111 0011 0011 0100
Het mag duidelijk zijn dat het onbegonnen werk is om op binair niveau met IPv6 te werken. Daarom heeft IPv6 een aantal regels om de adressen leesbaarder te maken.
Regels
- Hexadecimaal in groepjes van 4: een niet afgekort IPv6 adres bestaat uit 8 hextets (denk aan de 4 octets van IPv4).
2001:0db8:85a3:0000:0000:8a2e:0370:7334
- beginnullen in een hextet mogen weglaten worden
2001:db8:85a3:0:0:8a2e:370:7334
- Eén keer mag je een aaneengesloten reeks nullen vervangen door ::
2001:db8:85a3::8a2e:370:7334
Oefening
- schrijf volgende adressen zo eenvoudig mogelijk (oplossingen helemaal onderaan):
1)2001:0db8:0000:0000:0000:ff00:0042:8329 2)fe80:0000:0000:0000:0202:b3ff:fe1e:8329 3)0000:0000:0000:0000:0000:0000:0000:0001 4)2001:0db8:0001:0000:0000:ab00:0000:0001 5)2001:0000:0000:a000:0000:0000:0000:0100
- Schrijf volgende adressen volledig volluit (oplossingen helemaal onderaan):
Belangrijke ranges:
- 1 → loopback (zoals 127.0.0.1 in IPv4).
- fe80::/10 → link-local (altijd aanwezig op elke interface).
- 2000::/3 → globale unicast (vergelijkbaar met publieke IPv4)
Soorten IPv6-adressen
- Unicast → 1-op-1 communicatie (meest gebruikt).
- Multicast → 1 naar een groep.
- Anycast → 1 naar de dichtstbijzijnde van meerdere servers.
Basisconcepten
- Dual stack: systemen draaien vaak tegelijk IPv4 én IPv6.
- Stateless Address Autoconfiguration (SLAAC): toestellen kunnen zelf een IPv6-adres genereren.
- NAT is meestal niet nodig: elk toestel kan een uniek adres krijgen.
Oefening
bouw een virtueel netwerk
Praktijk
- Je eigen IP checken:
Probeer eerst na te kijken of je out of de box al
- Linux/macOS: ifconfig of ip addr
- Windows: ipconfig
- Ping in IPv6:
- Linux/macOS: ping6 ipv6.google.com
- Windows: ping -6 ipv6.google.com
- https://www.netacad.com/
- https://dnschecker.org/
- https://www.ipv6speedtest.eu/
- http://speedtestv6.tools.uebi.net/
- https://test-ipv6.run/
je schoolnetwerk IPv6 configureren
WAN configureren
- Configureer IPv6 op alle WAN verbindingen die je hebt. Deze configuratie is afhankelijk van je provider:
- Eurofiber: zij geven een vast IP adres en je moet ook een IPv6 range aanvragen. Normaal ga je dan 2 adressen krijgen. een /124 adres voor je modem (over deze verbinding gaat enkel het netwerkverkeer van de modem en 1 prefix voor al je netwerken, meestal een /48 waardoor je gemakkelijk al je ip-ranges (vlans) een subnet kan geven.
- proximus/orange/fiberklaar: Alle ISP's die over een GPON verbinding binnenkomen. Hier ga je het IPv4 adres bekomen via een PPPoE verbinding, het IPv6 adres krijg je via DHCPv6. Dit kan een dynamisch of vast IP adres zijn. In beide gevallen krijg je een adres voor de modem en een prefix voor je interne netwerken. Dit is meestal een /56 netwerk waardoor je nog extra vlannen kan configureren.
- Telenet: hier krijgen IPv4 en IPv6 een adres via DHCP. Als je een vast adres wil krijgen, moet je het mac adres voor IPv4 en het DUID adres voor IPv6 registreren op mijn telenet. De rprexif is ook een /56 netwerk
Je weet dat je configuratie werkt als je vanuit de router kan pingen naar een IPv6 adres. Je zal ook altijd een IPv6 adres krijgen voor de modem en een prefix om je netwerk IPv6 connectiviteit te geven. Vergeet niet als je een vast IP adres hebt, de DNS gegevens in te vullen.
- Configureer je LAN-netwerken met een IPv6 adres:
- Als je een prefix hebt gekregen van DHCP, moet/mag je track interface gebruiken. Dit komt omdat de prefix kan veranderen (omdat je dynamisch adres heb). Heb je een vast adres aangevraagd bij telenet, kan je eventueel de interne netwerken handmatig configurern
- Als je een echt vast IP adres hebt zoals bij Eurofiber, moet je alle netwerken intern handmatig configureren. Het gemakkelijkste is dat je je perfix neemt en hier in het laatste hex van de prefix je vlan nummers zet.
- RA configureren
- voor de wifi netwerken kan je best stateless of unmanaged kiezen
- voor de bedraade netwerken assisted of ... kiezen
interessante onderwerpen
- Stap 5: Praktische tools
- Problemen met MTU:
- Pingen (ping6, ping -6).
- Traceroute met IPv6.
- Wireshark: IPv6-pakketten analyseren.
- Oefening: ping naar ipv6.google.com en bekijk het resultaat.