Rob's web

Home - Techniek - Computer - Protocollen - IPv6


Internet Protocol versie 6 (IPv6) is versie 6 van het internetprotocol voor het toewijzen van IP-adressen. Het is de opvolger van Internet Protocol versie 4 (IPv4) en is de tweede versie van het internetprotocol die in gebruik is genomen. De tussenliggende versie IPv5 was een experimentele aanvulling op IPv4, maar deze werd nooit geïmplementeerd.

IPv6 adressen

IP6 heeft 128 bits adressen in tegenstelling met IP4 dat maar 32 bits adressen heeft.

Met IPv6 zijn 340 282 366 920 938 463 463 374 607 431 768 211 456 adressen mogelijk. Bij IPv4 zijn maar 4 294 067 296 adressen mogelijk.

Een IP6 adres wordt verdeeld in acht blokken van 16 bits, 4 hexadecimale cijfers, welke door een : worden gescheiden. Een voorbeeld hiervan is 2234:0000:0000:6904:0019:d2ff:feb3:5e4f.

Een blok met vier nullen kan ook met een nul worden geschreven, dus 2234:0:0:6904:0019:d2ff:feb3:5e4f.

En serie van 16-bits blokken met alleen nullen erin kan als :: worden weergegeven. Dit kan slechts een keer gebruikt worden. Het verkorte resultaat wordt: 2234::6904:0019:d2ff:feb3:5e4f.

Groepering van adressen (prefixen)

Voor het groeperen van IPv6-adressen wordt gebruik gemaakt van de binaire waarde van het adres. De groepering gebeurt met een zogenaamde prefix. Dit zijn alle adressen die met dezelfde bits beginnen. Het aantal bits dat hetzelfde is, wordt achter het adres geschreven, gescheiden door een slash. De prefix

2001:db8::/32

bevat dus alle adressen van

2001:0db8:0000:0000:0000:0000:0000:0000

tot en met

2001:0db8:ffff:ffff:ffff:ffff:ffff:ffff

Zoals hierboven te zien is blijven de eerste 32 bits, oftewel de eerste 8 hexadecimale cijfers, gelijk.

De prefix

2001:db8:1234::/64

bevat alle adressen van

2001:0db8:1234:0000:0000:0000:0000:0000

tot en met

2001:0db8:1234:0000:ffff:ffff:ffff:ffff

Het is gebruikelijk om de scheiding tussen groepen aan te brengen tussen twee hexadecimale cijfers in een adres, dus per veelvoud van vier bits. Dit verhoogt de leesbaarheid van de adressen. Daarom worden de prefixen /48, /52, /56, /60 en /64 veel gebruikt. Ligt de scheiding niet tussen twee hexadecimale cijfers, dan worden de adressen minder leesbaar.

Toewijzing adresblokken

IPv6-adresranges worden op de volgende wijze toegewezen:

PrefixToegewezen aanAantal adressen
/32LIR (Local Internet Registry, meestal een internetprovider)296
/48Organisatie280
/64Netwerk binnen organisatie264
/128Host (PC, server, printer, router)1

IPv6 EUI-64 Identifiers

Het originele IEEE 802 MAC address bestaat uit een 24-bit fabrikanten ID en een uniek 24-bit ID voor ieder network interface card. The IPv6 standaard gebruikt een 24-bit fabrikanten ID en een uniek 40-bit ID voor ieder network interface card.

Fig 2

De laatste 64-bits van een IPv6 adres zijn de interface ID. Sinds het originele MAC adres 48-bits is en het nieuwere IPv6 EUI-64 identifier 64-bits is, wordt het originele MAC adres omgezet naar een 64-bit frame. De hexadecimal waardes "FF" en "FE" worden in het midden van het originele 48-bit MAC adres geplaatst. Het originele MAC adres van 00-19-D2-B3-5E-4F wordt omgezet in 00-19-D2-FF-FE-B3-5E-4F.

Hierna wordt het tweede bit in het eerste byte geset. We krijgen dan 02-19-D2-FF-FE-B3-5E-4F. Binair gezien 000000U0. Als U=1 dan EUI-64 is uniek, bij U-0 niet uniek.

In Windows Vista en Win7 worden de EUI-64 identifiers standaard random gegenereed. Voor servers is dit ongewenst en dient de standaard EUI-64 gebruikt te worden, te vergelijken met een vast IPv4 adres.

IPv6 topograpische terminologie

IPv6 introduceerde een nieuwe terminologie om het netwerk topografie te defineren. De nieuwe termen worden gebruikt om delen van een organisatie netwerk te klassificeren. Bij gebruik van IPv6 adressering kan een organisatie zijn netwerk opdelen in subsecties door gebruik van subnet masks of subnets. IPv6 gebruikt geen afzonderlijk subnet mask, maar gebruikt de functie van subnet mask in een compleet IPv6 adres. IPv6 classificeert de omvang of berijk van een IPv6 adres door zijn prefix, zoals FE80 en FEC0, welke dezelfde functie als een separate subnet mask hebben.

Er worden drie termen gebruikt om de omvang van de adressen te beschrijven, Global, Link-Local, and Unique-local. De term "unique-local" vervangt de term "site-local" welke eerder gebruikt werd, maar niet langer is goed gekeurd. IPv6 adressen kunnen het netwerk in gescheide segmenten opdelen, vergelijkbaar met een afzonderlijk subnet mask zoals bij IPv4. Hiermee kan het dataverkeer binnen een afgescheide gebied gehouden worden.

Unique-Local

Unique-Local is de gehele netwerk of een deel van het gehele netwerk. Een router kan unique local address packets door geven aan ieder deel van het gehele netwerk, maar niet buiten het netwerk.

Link-Local

Link-Local is een deel van het gehele netwerk. In een bedrijf bijvoorbeeld, zijn drie subnetten zoals administratie, verkoop en management. Elk van deze drie subnetten is gedefineert als Link-Local of delen van het gehele netwerk. Routers zullen geen packets met een Link-Local adres doorgeven.

Global

Een global address is het internet address welke gebruikt wordt om een lokaalnetwerk aan te duiden en wordt beheert door de Internet Assigned Numbers Authority (IANA). Het wordt gebruikt om met het internet te communiceren.

Fig 3

Soorten van IPv6 adressen

Er zijn drie breede classificaties voor IPv6 adressen - Unicast, Multicast, en Anycast. Een Unicast adres levert packets aan een enkel netwerk adres. Een Multicast adres levert packets aan meerdere adressen. Anycast levert packets aan de dichtsbij zijnde interface en wordt gebruikt voor router functies.

Unicast Adressen

Unicast addressen worden georganiseerd door de omvang van het adres zoals Global, Link-Local, Site-Local, Unique-local, an Special. Global wordt gebruikt voor het IPv6 deel van het internet en komt overeen met de fuctie het IPv4 private IP adres. Link-local wordt gebruikt op een local area network wanneer er geen router of gateway aanwezig is.

Global Unicast IPv6 Adressen

Global Unicast IPv6 adressen hebben de zelfdefunctie als IPv4 Public Addressen. Een Global Unicast kan naar alle IPv6 addressen in het IPv6 deel van het local area network verzenden, als ook naar andere Global IPv6 addressen van het IPv6 deel van het internet. Een Global Unicast IPv6 adres is vergelijkbaar met een IPv4 public adres. Het Global Unicast adres is uniek en wordt gebruikt voor internet internet adressen. Het Global internetadres begint met 2000: of geschreven als 2000:/3. De eerste drie bits worden 001. Zo wordt een internetadres geïdentificeerd en onderscheide van andere IPv6 adressen.

Guaf

Het Subnet ID wordt gebruikt om subnets of secties van een netwerk te indentificeren. Het Interface ID wordt gebruikt om een interface of apparaat in een netwerk aan te duiden.

Er kunnen maximaal 216 = 65536 subnetten worden gebruikt. Het aantal apparaten of interfaces is maximaal 264 ≈ 18,4×1018.

Het bereik loopt van 2000:0000:0000 t/m 3fff:ffff:ffff. Het aantal global routing prefixen is 245 ≈ 35,1×1012.

Link-Local IPv6 Adressen

Het Link-Local IPv6 addres wordt gwebruikt om op het local area netwerk te communiceren en wordt niet door een router verder gestuurd. De Link-Local adressen dienen het zelfde doel als de IPv4 APIPA adressen (169.254.xxx.xxx). Een IPv6 link-Local addres begint altijd met FE80 of FE80::/64. Link-Local IPv6 adressen worden automatisch toegewezen zonder gebruikers ingrijpen. Link-Local IPv6 addressen worden vereist voor de Network Discovery functie. Zonder een Link-Local IPv6 adres zal Network Discovery niet functioneren. Om deze reden wijzen Microsoft operating systems automatische een Link-Local adres "FE80" toe aan netwerk devices.

Link local

Vergelijk de Link-local, Site-local and Unique-local adres formaat in de bovenstaande figuur. Het valt op dat de link-local adres geen subnet ID heeft. This part of the IPv6 is usually filled with zeros (or simply ::). De Global, Site-local and Unique-local adressen gebruiken een Subnet ID welke het verschil maken met een link-local adres.

Site-Local IPv6 Adressen

Deze worden vervangen door Unique-local adressen.

Unique-local IPv6 adressen

ULA

Unique-local is de vervanging voor de Site-local adres. Het wordt niet automatisch gegenereerd en moet dus handmatig worden toegewezen. Het Unique-local heeft dezelfde functie als het Site-local adres. Het Unique-local adress kan het gehele netwerk of een deel ervan zijn. Het Unique-local adres kunnen ook meerdere locaties zijn, zoals Amsterdam en New York, zolang de twee locaties deel uitmaken van hetzelfde netwerk. Als je het site-local adres met het unique-local adres vergelijkt zie je dat er een global ID en een subnet ID wordt gebruikt. Het unique-local adres is kenbaar aan de prefix FC00/8.

Wanneer de ULA ook echt local is wordt de prefix FD00/8

In een normaal netwerk dienen ULA's niet gebruikt te worden maar GUA's. ULA's alleen gebruiken voor test doeleinden of als je je LAN dualstack wilt laten werken maar nog geen GUA hebt.

IPv6 loopback adres

Het IPv6 loopback adres is het gereserveerde IP adres van de network interface card. Het wordt gebruikt om te controleren of een IP adres aan de network interface card is toegekend en om de network interface card te testen. Het loopback adres voor IPv4 is 127.0.0.1. Het loopback adres voor IPv6 is 0:0:0:0:0:0:0:1 (or ::1).

IPv6 unspecified adres

Het IPv6 unspecified adres is 0:0:0:0:0:0:0:0:, of eenvoudig een dubbele dubbele punt :: om alleen nullen weer te geven. Het is te vergelijken met het IPv4 adres 0.0.0.0. Het unspecified adres wordt gebruik wanneer een interface controleeert of zijn interface ID al niet in gebruik is tijdens de eerste verbinding met het netwerk. Omdat de identifier willekeurig wordt gegenereerd is er een kans dat deze al door een ander device wordt gebruikt. Wanneer een device zich met het netwerk verbind, maakt het zich bekent met :: en onderzoekt of het zelf gegenereerde adres vrij is. Indien het adres niet door een ander device wordt gebruikt, wordt deze in gebruik genomen.

Zone ID's voor Local-Use addressen

Zone IDs worden gebruikt voor Local-Use Addressen om aantegeven to welke zone op een local area network an IPv6 Site-Local adres behoort. Local-Use IPv6 adressen kunnen vaker gebruikt worden om computers verbonden op meerdere zones te indentificeren binnen hetzelfde geographische local area netwerk. Zone IDs worden voorgegaan met een procent teken. Zie op de figuur onder.

Zone ID

Zone ID wordt ook Scope ID genoemd. Numerieke waardes gebruikt voor de zone ID worden geselecteerd door het zendende netwerk device en niet door het ontvangende netwerk device. Het is mogelijk voor een enkele computer om met meer dan een zone ID te worden geïdentificeerd.

Multicast adressen

Een broadcast adres zendt packets naar alle netwerk adressen, terwijl een multicast packets zend naar een specifieke groep van adressen. IPv4 gebruikt broadcast en multicast adressen om packets te distribuëren. IPv6 gebruikt alleen multicast adressen. Multicast addressering wordt gebruikt voor onderzoek naar topologie, gateway en groepen. Een computer of netwerk device kan zijn aanwezigheid aan andere computers en devices melden op de local-link met gebruik van een multicast adres. Voorbeeld, een IPv6 adres met de prefix FF02 wordt gebruikt om een packet naar alle computers op de link-local te sturen.

Anycast

Anycast is een computerterm en het is een vorm van verzenden van data.

Concept

Wanneer een host gegevens wil versturen naar een andere host van een bepaald type, maar het daarbij niet uitmaakt welke host specifiek de gegevens ontvangt, spreken we van anycast. De voordelen van anycasting zijn redundantie en schaalbaarheid van aangeboden diensten; indien meerdere servers een bepaalde service aanbieden op hetzelfde anycast-adres, kan het uitvallen van een server gecompenseerd worden door deze tijdelijk uit de BGP-4-routeringstabellen te halen. Anderzijds kan de netwerkbeheerder er op deze manier ook voor zorgen dat een host altijd met de server communiceert die, vanuit het standpunt van het netwerk, zich het dichtst bij de host in kwestie bevindt, zonder dat de beheerder alle hosts één voor één moet configureren indien er zich een aanpassing voordoet in de beschikbare servers.

Nadelen

Het grote nadeel van anycast is de onzekerheid: Doordat anycast-adressen geconfigureerd worden in de netwerklaag, is het mogelijk dat de host die daadwerkelijk de anycast-pakketten doorkrijgt, midden in de communicatiesessie verandert. Hierdoor is het minder geschikt voor diensten die van connectiegeoriënteerde protocollen gebruikmaken, zoals TCP maar tegenwoordig wordt anycast ook voor TCP gebruikt, vooral voor applicaties waarbij het fout gaan van een TCP sessie vrij eenvoudig hersteld kan worden en/of waarbij TCP 'conversations' vrij kort zijn. Ook zijn er verschillende proprietary implementaties die de gevolgen van een zogenaamde pop-switch kunnen herstellen.

Voor diensten op basis van UDP is anycast echter zeer geschikt en ook bepaalde TCP-gebaseerde applicaties zoals content-delivery versnellers voor HTTP of streaming media. Een goed voorbeeld hiervan is het DNS-protocol. Zo bevinden bijna alle DNS-rootservers zich in een anycast-cloud en ook DNS service providers bieden anycast-DNS services.

Prefixen

Ee IPv6 prefix is dat deel van het adres die gebruikt wordt om de netwerk devices te informeren wat ze met de data packets moeten doen op basis van de prefix. Bijvoorbeeld FF00::/8 is een prefix dat een multicast adres aanduidt.

Prefixes voor IP adressen mogen met Classless Inter-Domain Routing (CIDR) worden aangeduidt, welk deel van het netwerk IP adres het netwerk adres aanduidt. IPv6 is ontworpen om zonder een apart subnet mask te werken, maar gebruikt voor dit doel de prefix welke hetzelfde doel dient als het IPv4 subnet mask. De IPv6 prefix wordt uitgedrukt als adres/prefix zoals FE80::/64 wat betekent dat de eerste 64-bits het netwerkadres voorstelt.

GebruikBinairHexadecimaal IPv4 equivalent
Ongespecificeert00...0 (128 bits)::/1280.0.0.0
Loopback adres / localhost00...1 (128 bits)::1/128127.0.0.1
Global Unicast0012000::/3Alle openbare IPv4 adressen (A, B en C netwerken)
Link local Unicast1111 1110 10fe80::/10169.254.0.0 (Apipa)
Unique local Unicast1111 1100fc00::/7Private IPv4 adressen 192.168.0.0; 172.16.0.0; 10.0.0.0
Unique local Unicast1111 1101fd00::/8Private IPv4 adressen 192.168.0.0; 172.16.0.0; 10.0.0.0
Multicast adres1111 1111ff00::/8224.0.0.0
Interface multicast local all nodes1111 1111 0000 0001ff01::1 
Link-local multicast all nodes1111 1111 0000 0010ff02::1 
Interface-local multicast all routers1111 1111 0000 0001ff01::2 
Link-local multicast all routers1111 1111 0000 0010ff02::2 
Site-local multicast all routers1111 1111 0000 0101ff05::2 

Voor de gehele lijst van multicast IPv6 adres prefixen zie de website van de IANA organization, http://www.iana.org/assignments/ipv6-multicast-addresses/.

IPv6 header

IPv6 header
IPv6 header.

Windows XP and IPv6

IPv6 is standaard in Windows XP niet geconfigureerd. Om IPv6 te installeren type "ipv6 install" op de command prompt. Om het te verwijderen type "ipv6 uninstall" op de command prompt. Windows XP gebruikt ping6.exe and tracert6.exe voor pingen en traceren van IPv6 adressen.

Windows XP gebruikt het MAC adres voor het hostdeel van het IPv6 adres. Microsoft biedt geavanceerde ondersteuning voor Windows XP en IPv6. Je kunt het "Advanced Networking Pack for Windows XP" gratis downloaden van de Microsoft website. Het bestaat uit het de laatste IPv6 protocols and technologiëen.

Het verdelen in subnetten

Zie de handleiding nummerplan voor meer informatie hierover.