Wikisage is op 1 na de grootste internet-encyclopedie in het Nederlands. Iedereen kan de hier verzamelde kennis gratis gebruiken, zonder storende advertenties. De Koninklijke Bibliotheek van Nederland heeft Wikisage in 2018 aangemerkt als digitaal erfgoed.
- Wilt u meehelpen om Wikisage te laten groeien? Maak dan een account aan. U bent van harte welkom. Zie: Portaal:Gebruikers.
- Bent u blij met Wikisage, of wilt u juist meer? Dan stellen we een bescheiden donatie om de kosten te bestrijden zeer op prijs. Zie: Portaal:Donaties.
Internet Protocol Version 6
Internet Protocol Version 6 (IPv6) is de opvolger van Internet Protocol Version 4 (IPv4). Het is de tweede versie van het Internet Protocol die in gebruik is genomen. De tussenliggende versie IPv5 was een experimentele aanvulling op IPv4, maar is nooit geïmplementeerd.
IPv6 is onder andere ontwikkeld om de beperkingen en tekortkomingen van IPv4 te verhelpen. Met name het tekort aan beschikbare IP-nummers levert een enorm probleem op: er zijn ongeveer 4 miljard IPv4-adressen beschikbaar en op 3 februari 2011 heeft de Internet Assigned Numbers Authority (IANA) de laatste IPv4-blokken vrijgegeven.[1][2]
IPv4-adressen bestaan uit 32 bits, terwijl IPv6-adressen uit 128 bits bestaan. Daardoor heeft IPv4 ongeveer 4 × 109 adressen, terwijl IPv6 er ongeveer 3,4 × 1038 heeft. Het nieuwe IPv6 heeft dus een bijna onuitputtelijke voorraad adressen: voor elke aardbewoner zijn er ongeveer 50.000 quadriljoen beschikbaar.
Naast een groot adresbereik kent IPv6 nog een aantal verbeteringen:
- Betere routing en netwerk-autoconfiguratie.
- Overbodig maken van NAT
- Gegevensbeveiliging op IP-niveau.
- Ondersteuning van mobiele nodes.
IPv6-adressering
Het belangrijkste verschil tussen IPv4 en IPv6 is de lengte van het netwerkadres. Een IPv6-adres, zoals gedefinieerd in RFC 2373, RFC 2374 en RFC 2460, is 128 bits lang; dit komt overeen met 32 hexadecimale cijfers, die gebruikt worden in een IPv6-adres, zoals beschreven in de volgende sectie.
Het aantal mogelijke adressen is 2128 ≈ 3,4 × 1038. Het aantal IPv6-adressen kan ook berekend worden als 1632, omdat elk van de 32 hexadecimale cijfers 16 mogelijke waarden kent.
Soms bestaat een IPv6-adres uit twee logische delen: een 64-bit netwerkprefix en een 64-bit "host-addressing"-deel, dat vaak automatisch van de interface ofwel het MAC-adres wordt afgeleid.
Notatie van IPv6-adressen
IPv6-adressen zijn 128 bits lang en worden normaal geschreven als 8 groepen van 4 hexadecimale cijfers.
3ffe:6a88:85a3:08d3:1319:8a2e:0370:7344
is een geldig IPv6-adres.
Als een groep van 4 cijfers 0000 is, dan wordt dit 0 of kan soms helemaal worden weggelaten bijvoorbeeld:
3ffe:6a88:85a3:0000:1319:8a2e:0370:7344
kan ook worden geschreven als
3ffe:6a88:85a3:0:1319:8a2e:0370:7344 3ffe:6a88:85a3::1319:8a2e:0370:7344
Wanneer er meer dan twee opeenvolgende groepen gereduceerd zijn tot dubbele punten, dan mogen ook die weer tot twee dubbele punten gereduceerd worden.
2001:2353:0000:0000:0000:0000:1428:57ab 2001:2353:0000:0000:0000::1428:57ab 2001:2353:0:0:0:0:1428:57ab 2001:2353:0::0:1428:57ab 2001:2353::1428:57ab
zijn gelijk en hebben dezelfde betekenis, maar
2001::25de::cade
is onjuist, omdat hierdoor meerdere mogelijkheden ontstaan voor de posities van de "0000".
Ook hoeven nullen vooraan in een getal niet geschreven te worden:
2001:2353:02de::0e13
is gelijk aan
2001:2353:2de::e13
Als het adres een IPV4-getal betreft, dan mogen de laatste 32 bits decimaal geschreven worden; derhalve
::ffff:192.168.89.9 is gelijk aan ::ffff:c0a8:5909, maar is niet gelijk aan ::192.168.89.9 of ::c0a8:5909
Het ::ffff:1.2.3.4-formaat wordt een IPv4-mapped address genoemd en het gebruik hiervan is bedoeld om IPv4 en IPv6 samen te gebruiken op één systeem. Het ::1.2.3.4 formaat is een IPv4-compatible address en het gebruik hiervan wordt ontraden in RFC 4291.
IPv4-adressen worden eenvoudig naar het IPv6-formaat geconverteerd. Het IPv4-adres 135.75.43.52 wordt dan 0000:0000:0000:0000:0000:FFFF:874B:2B34 of ::FFFF:874B:2B34. Ook kan de hybride notatie gebruikt worden (IPv4-mapped addresses), waarmee het ::ffff:135.75.43.52 wordt.
IPv6-pakket
Een IPv6-pakket bestaat uit twee delen: de header en de payload.
IPv6 kent verschillende headers, een vaste header en een aantal optionele headers. Bij het ontwerp van IPv6 is gekozen voor een kleine, efficiënte vaste header die, naar behoefte, uitgebreid kan worden met optionele headers.
De vaste header bestaat uit de eerste 40 bytes van het pakket, met zowel het afkomstadres als het doeladres van het pakket (elk 128 bits), de IP-versie (4 bits), verkeersklasse (8 bits, Packet Priority), flow label (20 bits, QoS-management), grootte van de lading (16 bits), next header (die aangeeft wat de volgende header zal zijn) en de hoplimiet (8 bits, time to live). Hierna volgt de lading die minimaal 1280 bytes groot moet zijn of 1500 bytes in een omgeving met een flexibele MTU-grootte. De lading kan tot 65.535 bytes groot zijn als de "jumbo payload"-optie ondersteund wordt.
Optionele headers zijn:
- Hop-by-Hop Options header
- Routing header
- Fragment header
- Destination Options header
- Authentication header
- Encrypted Security Payload header
Verschillen met IPv4
De wijze waarop het protocol werkt, verschilt nauwelijks van de wijze waarop IPv4 werkt. Een van de weinige verschillen is dat in IPv6 een subnet niet langer een netwerkadres en een broadcastadres bevat: het eerste adres in een IPv6 subnet is het router-anycast-adres (waar dat het netwerkadres is in IPv4), terwijl broadcast in IPv6 geïmplementeerd wordt als een speciaal geval van multicast, waarbij het adres ff02::1 overeenkomt met het subnet-specifieke broadcastadres in IPv4.
Routering en toekenning van IPv6-netwerken
Zoals reeds aangegeven kent IPv6 een 128-bits IP-adres. Een volledig adres wordt ook wel aangeduid als een /128-adres.
Adressen op een lokaal netwerksegment
Een LAN heeft een /64-adres; de eerste 64 bits van het netwerkadres zijn dus gelijk voor alle nodes in het lokale netwerk. De laatste 64 bits maken iedere node op het lokale netwerk uniek. Hierdoor is het uitdelen van IP-nummers overbodig; de laatste 64 bits worden gekozen op basis van het MAC-adres van de netwerkkaart.
De prefix _fe80_ duidt altijd op een adres in het lokale segment; het adres fe80::1319:8a2e:0370:7344/128 duidt dus per definitie op een node in het lokale segment. Een broadcast naar fe80::/64 is een broadcast naar alle nodes op het lokale segment.
Adressen binnen een netwerk
Een campus- of bedrijfsnetwerk heeft een /48-adres. Alle nodes binnen dit netwerk delen dus dezelfde eerste 48 bits. De bits 49 tot en met 64 worden gebruikt om het segment binnen het bedrijfsnetwerk aan te geven.
De prefix _fc80_ duidt altijd op een adres binnen het campusnetwerk. Op deze wijze kan een node binnen het netwerk geadresseerd worden.
Adressering op hoger niveau
Een van de uitgangspunten van het ontwerp van IPv6 is de betere routeerbaarheid. Door de overvloed van IP-nummers is het mogelijk netwerknummerhiërarchie op te zetten.
Op hoog niveau wordt een onderscheid gemaakt tussen netwerknummers voor de verschillende continenten. Binnen de continenten kunnen Internet Exchanges en Internet Service Providers hiërarchische nummerplannen opstellen.
Deze hiërarchie kent twee voordelen:
- Routeringstabellen in routers worden minder complex.
- Applicaties kunnen, aan de hand van het IP-nummer, bepalen welke nodes netwerktechnisch dichterbij staan. Zo kunnen applicaties als Bittorrent distributiealgoritmen ontwikkelen die efficiënter netwerkverkeer opleveren doordat bij voorkeur peers worden gekozen die dichter bij elkaar staan.
Overbodig maken van NAT
NAT is ontwikkeld als techniek om het adresprobleem op internet te omzeilen; NAT maakt het mogelijk meerdere nodes samen één IPv4-adres te laten delen.
De meningen over NAT zijn verdeeld: deze variëren van "de grootste weeffout van het internet" tot "een zegen voor de veiligheid van achterliggende systemen".
NAT op IPv4 kent verschillende situaties:
- In client/server-situaties (bijvoorbeeld waar een computer verbinding zoekt met een mail- of webserver) biedt NAT geen belemmeringen.
- Bij peer-to-peer-situaties, waarbij twee clients een verbinding willen opbouwen, ontstaat er een probleem wanneer beide clients achter een NAT-voorziening zitten; ze kunnen geen verbinding opbouwen. Er zijn verschillende oplossingen, zoals de portforwarding aanzetten op de NAT-voorziening (zoals bij Bittorrent) of door gebruik te maken van een derde, niet ge-NAT-te client die als doorgeefstation dienst doet (zoals bij Skype). In deze situatie biedt IPv6 een uitkomst doordat NAT niet meer nodig is.
NAT op IPv4 biedt slechts een schijn van veiligheid voor systemen achter het NAT-systeem. De achterliggende systemen kunnen in eerste instantie niet meer rechtstreeks vanaf het internet aangesproken worden. Verschillende[3] methodes[4] echter laten zien dat het gros van de NAT-methodes te omzeilen zijn. Deze semi-veiligheid kan in een IPv6-situatie worden gesimuleerd door IP-poortnummers op de netwerkrouter van het (campus)netwerk dicht te zetten. Voorbeeld: er kan voor gekozen worden om alle VoIP-verkeer rechtstreeks door te laten, terwijl web- en mailverkeer wordt verwezen naar de daarvoor aangewezen servers.
Gegevensbeveiliging op IP-niveau
IPv6 maakt het mogelijk om gegevens tijdens het transport te voorzien van beveiliging. Deze beveiliging kent twee vormen:
- Versleuteling (encryptie) van gegevens. Zender en ontvanger kunnen een sleutel afspreken waarmee het gegevenstransport beveiligd wordt. IPv4 kent deze mogelijkheid niet, waardoor veel beveiligingsvarianten boven de IP-laag ontwikkeld zijn, bijvoorbeeld VPN, HTTPS, SSH, etc. De versleuteling van IPv6 maakt beveiliging op bovenliggende niveaus overbodig, ieder gegevenstransport op basis van IPv6 kan immers veilig gebeuren.
- Authenticatie van gegevens. Hierbij kan de zender ieder pakket voorzien van een elektronische waarborg. Andere partijen kunnen de gegevens niet ongemerkt wijzigen, noch zich als de oorspronkelijke afzender voordoen. Hierdoor heeft de ontvanger zekerheid over de herkomst van de ontvangen IP-pakketten.
Deze gegevensbeveiliging maakt het onder andere mogelijk "closed user groups" te creëren van computers die alleen onderling contact mogen hebben, terwijl zij toch op willekeurige plekken op het internet aangekoppeld worden.
Ondersteuning van mobiele nodes
IPv6 maakt het mogelijk een node (tijdelijk) van een ander IP-adres gebruik te laten maken.
Wanneer een IPv6-node (node A) een andere IP-node (node B) aanroept, die (tijdelijk) een ander IP-adres gebruikt, ontvangt node A een redirect waarbij wordt aangegeven wat het actuele IP-adres van node B is. Hierna kan het verkeer tussen A en B plaatsvinden.
Om het redirectmechanisme van B goed te laten verlopen, is het natuurlijk essentieel dat er nog wel een node is die reageert op het oorspronkelijke IP-adres van B. Hiervoor is het mogelijk om het IP-adres van B te laten termineren op een homenode (node H). Tijdens het opstarten van het systeem geeft B door aan H wat het actuele IP-adres is. Wordt een verbinding van A naar B aangevraagd, dan komt deze uit op H. H geeft een redirect aan A waarna de daadwerkelijke verbinding opgezet kan worden.
Het IP-adres van B (zoals dit uitkomt op H), kan uiteraard gewoon in DNS opgenomen worden.
Samen met de faciliteiten voor gegevensbeveiliging biedt deze faciliteit de mogelijkheid voor het opbouwen van volkomen virtuele netwerken. Alleen het homing device (node H) vereist nog een vaste plek.
Wereldtestdag
Op 8 juni 2011 is de wereldtestdag voor IPv6. Een aantal grote bedrijven zoals Microsoft en Google zal voor één dag de websites over zowel IPv4 als IPv6 aanbieden om zo de impact hiervan te testen. [1]
Externe links
- v6ops IPv6 Operations
- Archief van de slides en presentaties van de 'IPv6 Space Odyssey'-seminars uit 2009
- http://www.iana.org/assignments/ipv6-address-space
- http://www.kame.net/
- http://www.freeswan.org/
- http://www.faqs.org/rfcs/rfc2460.html
- RIPE: IPv6 adrestypes
- Lawrence E. Hughes: The Second Internet - Reinventing Computer Networking with IPv6 (Uitgave: 1 juli 2010)
Bronvermelding
Bronnen, noten en/of referenties: