IPv6 lost problemen onvoldoende op
![Tech & Toekomst](https://static.agconnect.nl/3716b8e7-d509-5695-a5c4-c707fdf87148/article/d1/c0/d1c0b592-f42e-4a6d-b764-215d03828072/opening_image/opening_image_hero/tech-en-toekomst.jpg)
Dus er moet een oplossing gevonden worden voor de schaarste aan adresruimte.
Deze schaarste is al in de jaren tachtig voorzien. De IETF (Internet Engineering Task Force) werkt al sinds die tijd aan een oplossing. En volgens het IETF is die oplossing er al sinds 1995: IPv6. IPv6-adressen zijn vier keer zolang als IPv4-adressen: 128 bits in plaats van 32, wat resulteert in een adresruimte in de orde van 10 tot de macht 38. Maar de invoering ervan wil maar niet lukken, terwijl het einde van IPv4, althans als we het blijven gebruiken zoals het nu wordt gebruikt, snel dichterbij komt.
Er zijn verschillende directe oorzaken te noemen voor de haperende invoering:
• IPv6 is niet backwards compatible met IPv4. Een machine met IPv6 is niet zichtbaar vanuit het huidige internet en kan niet communiceren met dit net, anders dan via gateways die per applicatie ingericht moeten worden.
• Voor het gros van de internet-gebruikers heeft het, door deze incompatibiliteit, geen voordeel om als eerste over te stappen. Men is, terecht, van mening dat afwachten beter is.
• Het adresseersysteem is verweven geraakt met de applicaties. Internet-applicaties maken direct gebruik van IP-adressen. Terwijl veel operatingsystemen en netwerkapparatuur beschikbaar zijn in versies die IPv6 kunnen hanteren, moet de conversie voor het gros van de applicaties nog gebeuren.
De invoering van IPv6 wordt derhalve wel vergeleken met het y2k-probleem, met twee essentiële verschillen: er is geen sluitende businesscase en er is geen harde deadline. Bovendien is er een alternatief: NAT (Network Address Translation, zie kader), dat in ieder geval voor de korte termijn voor veel organisaties het probleem minder acuut maakt. NAT wordt op grote schaal toegepast. Vrijwel elk ADSL-modem of elke router heeft NAT ingebouwd. NAT wijst in feite op een fundamenteel andere oplossingsrichting voor de adresschaarste, een richting die weleens veel beter geschikt zou kunnen zijn om de enorme groei in omvang en diversiteit van het internet op te vangen.
NAT is een voorbeeld van hiërarchische adressering en het is een voorbeeld van bottom-up emergence (zie kader). Het illustreert vooral dat hiërarchische adresseermechanismen, in tegenstelling tot IPv6, bottom-up kunnen ontstaan. Het toepassen van NAT heeft lokale kortetermijnvoordelen en het toepassen van IPv6 heeft dat niet. Bovendien is NAT maar een simpel voorbeeld van een hiërarchisch mechanisme. Binnen dit onderwerp is nog een grote rijkdom aan mogelijkheden te ontdekken. Het internet kent momenteel diverse hiërarchische adresseermechanismen (DNS, CIDR, URL et cetera). Een onderliggend homogeen en plat adresseersysteem, zoals IPv4 en IPv6, was onmiskenbaar een succesvolle keuze in de context van de jaren zeventig, toen TCP/IP ontwikkeld werd, maar eigenlijk is er geen noodzaak toe en het huidige internet lijkt andere prioriteiten te hebben.
Ideaalbeeld
Hoe gaat internet-adressering er de komende jaren uitzien? Met alle voorbehoud dat er te maken valt bij het doen van voorspellingen over het internet, lijkt het ideaalbeeld van het IETF, het volledig vervangen van IPv4 door IPv6, niet erg waarschijnlijk. Het lost te weinig problemen op, kan niet bottom-up ingevoerd worden en er is geen dwingende noodzaak. Ongetwijfeld zal IPv6 een zekere rol gaan vervullen, in die zin dat sommige toekomstige name spaces IPv6-adressering zullen hanteren, bijvoorbeeld in Aziatische landen waar het tekort aan IPv4 extra nijpend is en de taalbarrière koppeling met de rest van het internet minder noodzakelijk maakt (ze hebben bij wijze van spreken voldoende aan een e-mail-gateway). Of in nieuwe omgevingen, zoals auto’s, waarbij traditionele applicaties irrelevant zijn en vrijwel alle applicaties nieuw ontwikkeld moeten worden. Hun uitstekende schaalbaarheid zal hiërarchische mechanismen een nog belangrijker rol geven dan nu al het geval is. Het routeerprobleem bijvoorbeeld wordt sterk vereenvoudigd, onder andere door modularisering van het probleem (bijvoorbeeld: routeren binnen het auto-domein staat helemaal los van routeren binnen de RFID-wereld).
Er wordt, ook bij internet-registraties, serieus rekening gehouden met de mogelijkheid dat IPv4-adressen een verhandelbaar goed gaan worden. Dit zal een sterke stimulans vormen om veel IPv4-ruimte vrij te maken door verdergaande toepassing van NAT en andere hiërarchische mechanismen. Daarmee kan de levensduur van IPv4-adressering vele jaren verlengd worden. Er zal een klassiek drielaags internet overblijven zoals we dat nu kennen (BGP, OSPF, NAT), met daaraan via gateways gekoppeld een groot aantal nieuwe name spaces, elk met eigen adressering, routering en zoekfuncties en eigen applicaties, die het klassieke internet zullen gebruiken om met de rest van de wereld verbonden te zijn. Ongetwijfeld zullen veel van die nieuwe omgevingen IPv6 gebruiken, maar bij gebrek aan een dwingende reden om IPv4 op te heffen, blijft het klassieke internet bestaan als het overkoepelende netwerk. De beperkingen die een homogeen adresseersysteem oplevert, zouden weleens een groter nadeel kunnen zijn dan de voordelen van de vrijheid en modulariteit die hiërarchische adressering kan bieden, nog afgezien van het gigantische probleem om een nieuw homogeen systeem in te voeren.
Dr. J.L.M. Vrancken is universitair docent ICT bij de faculteit TBM van de TU-Delft (j.l.m.vrancken@tudelft.nl).
Met dank aan Marnix Kaart, Piet Van Mieghem, Simon Hania, Henk Uijterwaal en de studenten van het vak SPM9618 van fac. TBM van de TU-Delft.NAT wijst op fundamenteel andere oplossingsrichting voor adresschaarste
Hiërarchische
adressering
Bekende voorbeelden van hiërarchische adressering zijn telefoonnummers en filesystemen. De essentie is dat er sprake is van een boomstructuur van domeinen (of name spaces) en van adressen in de vorm van een pad. Bij telefonie is de top van de boom het internationale domein. Daaronder hangen de nationale domeinen. En daaronder in de meeste landen de lokale netten. Een telefoonnummer is een pad. Er is weliswaar geen scheidingsteken, zoals de slash of backslash in file-paden in een filesysteem, maar een telefoonnummer is wel degelijk een rijtje deeladressen (drie in geval van een internationaal nummer).
De omvang van het netwerk is exponentieel in het aantal niveaus in de boom van domeinen. Dus paden hoeven nooit erg lang te worden, zelfs niet in enorm grote netwerken. Dit maakt hiërarchische adressering en routering zo uitstekend schaalbaar.
Binnen het internet is DNS het bekendste voorbeeld van een hiërarchisch adresseersysteem. DNS-paden worden nu nog vertaald naar IP-adressen, maar het zou ook zonder onderliggende IP-adressering kunnen functioneren.
Network Address Translation
NAT wordt gebruikt om een organisatie (A) via een gateway (een kastje) aan het internet te koppelen. Met één echt IP-adres (in het kastje) kunnen dan duizenden machines aan het internet gekoppeld worden. Ook binnen A wordt IP-adressering toegepast, maar die adressen zijn niet zichtbaar of bekend in de buitenwereld. Alle communicatie tussen A en het internet verloopt via het NAT-kastje. Dit heeft, behalve het verlichten van de adresschaarste, ook grote voordelen in termen van beheersbaarheid van de informatiestromen tussen A en het internet en beheersbaarheid van de zichtbaarheid vanuit het internet van machines binnen A.
Het NAT-kastje codeert de zendende machine binnen A door middel van het origin TCP-poortnummer. Op deze manier kunnen ook servers binnen A zichtbaar gemaakt worden door een combinatie van IP-adres en poortnummer (bijvoorbeeld 130.161.04.181:8080). Applicaties zoals multi-player games, p2p-file-sharingsystemen en VOIP, bevatten nog diverse andere manieren om de beperkingen van NAT te omzeilen. NAT is een relatief simpel voorbeeld van hiërarchische adressering, met nog heel veel ruimte voor creatieve uitbreidingen.
Bottom-up
emergence
Bottom-up emergence gaat over de globale effecten die optreden in situaties waarin grote aantallen deelnemers (mensen, dieren of zelfs dingen) een specifiek eenvoudig gedrag vertonen dat bedoeld is voor lokale effecten en voordelen voor die ene deelnemer. Voorbeelden hiervan zijn prijsvorming op een aandelenbeurs, de temperatuur van een macroscopisch object of een mierenhoop. In de IT is het ontstaan van de facto-standaarden een voorbeeld van emergence.
Bottom-up emergence in het geval van menselijke deelnemers wordt versterkt doordat er wel degelijk sprake is van een coördinatiemechanisme, alleen niet van een centrale coördinatie: alle deelnemers kijken goed om zich heen. Zaken, zoals standaarden of netwerken, waarvan de waarde wordt bepaald door de mate van gebruik door anderen, lenen zich bij uitstek voor emergence-effecten. Het internet in zijn huidige omvang en rijkdom is daardoor ook het product van emergence.
Scheiding applicatie en adressering
Een groot probleem voor de invoering van IPv6 is momenteel de verwevenheid van applicaties en adressering: veel applicaties refereren direct aan IP-adressen. Dit kan ook anders opgelost worden. Een applicatie referereert doorgaans aan een relatief klein aantal processen waarmee de applicatie communiceert. Deze kunnen op een applicatie-specifieke manier worden aangeduid, bijvoorbeeld als simpele strings die binnen de applicatie betekenis hebben. Een aparte adresseerlaag kan de vertaling maken van deze namen naar globale adressen in het internet. Deze laag moet geconfigureerd worden, maar dit vertalen en configureren zijn handelingen die niet applicatie-specifiek zijn. Dit kan voor grote groepen applicaties op dezelfde manier. Dit maakt dat het voor de hand ligt om adressering uit de applicatie te halen.
Dit principe is eveneens een toepassing van hiërarchische adressering: elke applicatie wordt een name space onderin de boom. De adresseerlaag vormt de gateway waarin de namen uit deze name space vertaald worden naar globaal geldende adressen.