Ipv6

From PostgreSQL_wiki
Revision as of 13:00, 6 July 2010 by 10.68.71.30 (talk) (Nibbles en het hexadecimale talstelsel)
Jump to: navigation, search

Digitaal zei u?

Mensen hebben over het algemeen tien vingers en dat is de basis onder ons rekenkundig stelsel. Het is tot op de dag van vandaag nog niet gelukt om computers met tien vinders te bouwen, zodat er weinig anders over blijft dan de verkeerde angelsaksische interpretatie van getalstelsels te volgen. Digit komt van het latijns digitus, of vinger. Digit staat in het angelsaksisch taalgebied voor een getal op basis van het tientallig stelsel en digital voor electronische weergave op basis van het binaire of tweetallig stelsel.

Nibbles en het hexadecimale talstelsel

ipv6 maakt het voor mensen een beetje moeilijker door alles hexadecimaal weer te geven. Zo zou ipv4 er stukken moeilker uitzien als zo'n adres een hexadecimale notatie zou hebben. Voorbeelden:

ipadres hexadecimaal verkort
10.0.0.1 0a:00:00:01 a::1
194.151.143.206 c2:95:8f:ce c2:95:8f:ce

Een ipv6 adres bestaat uit 128 bits oftewel 16 bytes, de waarde van een byte ligt tussen de 0 en 255. Deze combinatie van feiten leidt de onmogelijkheid om deze waarden op een voor mensen begrijpelijke wijze weer te geven.
Wat te doen?
We hakken elke byte in twee stukken, de zogeheten nibbles, de vier hoogste en vier laagste bits. Vier bits hebben een waardebereik van nul tot vijftien, zestien verschillende waarden in totaal. Dat is het hexadecimale talstelsel . De combinatie van twee nibbles levert 256 waarden in totaal.
Makkelijk toch?

Configuratie

De interface heeft:

  • Een ipv4 adres;
  • Een extern ipv6 adres;
  • Een lokaal ipv6 adres (autoconfigured).
eth0      Link encap:Ethernet  HWaddr 00:16:3e:0f:4b:d4  
          inet addr:85.17.171.111  Bcast:85.17.171.127  Mask:255.255.255.192
          inet6 addr: 2001:1af8:4200:b060:216:3eff:fe0f:4bd4/64 Scope:Global
          inet6 addr: fe80::216:3eff:fe0f:4bd4/64 Scope:Link

Adres notatie

Een ipv6 adres bestaat als vanouds bij ipv4 uit twee delen, een netwerkdeel en een deel - de node - voor een specifiek station of apparaat. Een ipv6 adres is moeilijk leesbaar, omdat de representatie van het adres hexadecimaal is. ipv6 kent spelregels in de notatie, die afwijken van de vertrouwde manier bij ipv4.

  • Voorloopnullen mag je weglaten, dat was al zo
  • Een groep van 16 bits gelijk aan 0 mag je in zijn geheel weg laten, dat is nieuw.
  • Je mag meerdere aaneengesloten groepen van 16 bits die nul zijn weglaten, dat is ook nieuw.
  • Het OS vertaalt twee aaneengesloten dubbele punten door zovel bits toe te voegen totdat het totaal weer 128 bits is
  • Het Mac adres of hardware adres van de ethernet interface komt terug in het node gedeelte van het ipv6 adres

Het Mac adres in het ip-adres

Ethernet:  00:16:3e:0f:4b:d4 

Ethernet:  00: 16:3e:      0f:4b:d4 
Node:      02  16:3e ff:fe 0f:4b d4
Verschil:  02        ff fe

In het voorbeeld van het Scope Link adres van hierboven is de notatie de verkorte versie van het feitelijk adres:

Verkort:   fe80::216:3eff:fe0f:4bd4
Feitelijk: fe80:0000:0000:0000:0216:3eff:fe0f:4bd4

De definitie van het netwerk waarin het adres zich bevindt werkt net even iets anders en meer rechtstreeks dan bij ipv4. Het getal achter de slash slaat op het aantal bits van links af dat tot het netwerk behoort.

Verkort:   fe80::216:3eff:fe0f:4bd4/64
Feitelijk: fe80:0000:0000:0000:0216:3eff:fe0f:4bd4/64

Dus in het voorbeeld van hierboven zijn de eerste vier groepen van 16 bits het netwerk adres en de laatste vier groepen het node adres.

Netwerk:   fe80:0000:0000:0000:
Node:                          0216:3eff:fe0f:4bd4
Compleet:  fe80:0000:0000:0000:0216:3eff:fe0f:4bd4/64

Voor het publieke ipv6 ip-adres:

ip-adres:  2001:1af8:4200:b060:216:3eff:fe0f:4bd4/64
Netwerk:   2001:1af8:4200:b060
Node:                          0216:3eff:fe0f:4bd4
Compleet:  fe80:0000:0000:0000:0216:3eff:fe0f:4bd4/64 Scope:Global

Adres ranges

ipv6 notatie ipv4 adres

De representatie van een ipv4 netwerk in ipv6 is als volgt:

0:0:0:0:0:ffff:a.b.c.d/96

Pingen ipv6

De ping6 werkt iets anders dan ping. ping6 naar een global address gaat goed.
Vanaf 2001:1af8:4200:b060:216:3eff:fe0f:4bd4

martin@webserver:~$ ping6 2001:1af8:4200:b060:216:3eff:fe0f:4bd4
PING 2001:1af8:4200:b060:216:3eff:fe0f:4bd4(2001:1af8:4200:b060:216:3eff:fe0f:4bd4) 56 data bytes
64 bytes from 2001:1af8:4200:b060:216:3eff:fe0f:4bd4: icmp_seq=1 ttl=64 time=0.000 ms
martin@webserver:~$ ping6 2001:1af8:4200:b060:206:5bff:fe39:84d4
PING 2001:1af8:4200:b060:206:5bff:fe39:84d4(2001:1af8:4200:b060:206:5bff:fe39:84d4) 56 data bytes
64 bytes from 2001:1af8:4200:b060:206:5bff:fe39:84d4: icmp_seq=1 ttl=64 time=4.00 ms

Echter de ping naar het autoconfigured ipv6 adres op eth0 werkt alleen met de toevoeging van de interface in de opdracht.

martin@webserver:~$ ping6 -Ieth0 fe80::206:5bff:fe39:84d4
PING fe80::206:5bff:fe39:84d4(fe80::206:5bff:fe39:84d4) from fe80::216:3eff:fe0f:4bd4 eth0: 56 data bytes
64 bytes from fe80::206:5bff:fe39:84d4: icmp_seq=1 ttl=64 time=4.00 ms

Routing

DHCP en DNS


Terug naar: Uwork bouwstenen