IPv4 har kun omkring 4,3 milliarder adresser, og de er for længst blevet uddelt. IPv6 er efterfølgeren, og den fylder mere og mere i både netværk og eksamen. I CCNA 200-301 v2.0 skal du kunne fejlsøge IPv6-adressekonfiguration, tildeling og præfiksstørrelser, herunder unicast og modificeret EUI-64 (emne 1.4). IPv6 indgår også i statisk routing og OSPFv3.

Opbygningen af en IPv6-adresse

En IPv6-adresse er 128 bit lang og skrives som otte grupper (hextets) med fire hexadecimale cifre:

2001:0DB8:0000:0000:0000:0000:0000:0001

To regler for at forkorte

  1. Foranstillede nuller i en gruppe må fjernes: 0DB8 → DB8, 0000 → 0.
  2. Én sammenhængende række af grupper med kun nuller må erstattes med ::. Det må kun gøres én gang i en adresse.
2001:0DB8:0000:0000:0000:0000:0000:0001
2001:DB8:0:0:0:0:0:1
2001:DB8::1

Er der flere rækker af nuller, forkorter man den længste. Er de lige lange, forkorter man den første.

Præfiks og interface-ID

Ligesom med CIDR i IPv4 skriver man præfikslængden efter en skråstreg: 2001:DB8:ACAD:10::1/64. Et typisk LAN-segment er /64: De første 64 bit er netværksdelen, og de sidste 64 bit er interface-ID’et. En virksomhed får typisk en /48 eller /56 fra udbyderen og deler den op i mange /64-subnets.

Præfiks Typisk brug
/48 Tildeling til en lokation eller virksomhed
/56 Tildeling til mindre virksomheder eller private
/64 Ét LAN-segment (påkrævet for SLAAC)
/127 Point-to-point-link mellem routere
/128 Én enkelt adresse, fx loopback

Adressetyper

IPv6 har ingen broadcast. I stedet bruges multicast.

Type Præfiks Formål
Global unicast (GUA) 2000::/3 Offentlige, routbare adresser (svarer til offentlige IPv4-adresser)
Unique local (ULA) FC00::/7 (i praksis FD00::/8) Interne adresser, der ikke routes på internettet (minder om private IPv4-adresser)
Link-local FE80::/10 Bruges kun på det lokale link. Alle IPv6-interfaces har én. Routing-protokoller og next hop bruger dem
Loopback ::1/128 Svarer til 127.0.0.1
Unspecified ::/128 “Ingen adresse”, bruges fx under opstart
Multicast FF00::/8 Én til mange, fx FF02::1 (alle noder) og FF02::2 (alle routere)
Anycast (fra unicast-området) Samme adresse på flere enheder. Nærmeste svarer

Der findes også solicited-node multicast-adresser (FF02::1:FFxx:xxxx), som erstatter ARP-broadcasts i Neighbor Discovery.

Modificeret EUI-64

Med EUI-64 laver enheden selv sit 64-bit interface-ID ud fra sin 48-bit MAC-adresse:

  1. Del MAC-adressen på midten.
  2. Indsæt FFFE i midten.
  3. Vend den 7. bit (U/L-bit) i den første byte.

Eksempel med MAC 00:1A:2B:3C:4D:5E:

00 1A 2B | 3C 4D 5E
00 1A 2B FF FE 3C 4D 5E
Første byte 00 = 0000 0000 -> vend 7. bit -> 0000 0010 = 02
Interface-ID: 021A:2BFF:FE3C:4D5E

Med præfikset 2001:DB8:ACAD:10::/64 bliver adressen 2001:DB8:ACAD:10:21A:2BFF:FE3C:4D5E.

Mange operativsystemer bruger i dag tilfældige (privacy) interface-ID’er i stedet for EUI-64 af hensyn til privatlivet, men Cisco-routere bruger EUI-64, når du beder om det.

Sådan får en enhed sin adresse

Metode Hvordan
Statisk Adressen skrives manuelt
SLAAC Enheden får præfikset fra routerens Router Advertisement (RA) og laver selv interface-ID’et
SLAAC + stateless DHCPv6 Adressen via SLAAC. DNS m.m. via DHCPv6
Stateful DHCPv6 DHCPv6-serveren tildeler adressen (default gateway kommer stadig fra RA)

Klienten bruger altid routerens link-local-adresse som default gateway.

Konfiguration på Cisco IOS

R1(config)# ipv6 unicast-routing
R1(config)# interface GigabitEthernet0/0
R1(config-if)# ipv6 address 2001:DB8:ACAD:10::1/64
R1(config-if)# ipv6 address FE80::1 link-local
R1(config-if)# no shutdown
R1(config-if)# interface GigabitEthernet0/1
R1(config-if)# ipv6 address 2001:DB8:ACAD:20::/64 eui-64
R1(config-if)# no shutdown
  • ipv6 unicast-routing gør det muligt for routeren at route IPv6 og sende RA’er.
  • En fast link-local som FE80::1 gør output og fejlsøgning lettere at læse.
  • eui-64 lader routeren selv danne interface-ID’et.

En statisk IPv6-rute og en default route:

R1(config)# ipv6 route 2001:DB8:ACAD:30::/64 2001:DB8:ACAD:12::2
R1(config)# ipv6 route ::/0 GigabitEthernet0/2 FE80::2

Bruger du en link-local-adresse som next hop, skal du også angive udgangsinterfacet.

Kontrol og fejlsøgning

R1# show ipv6 interface brief
R1# show ipv6 interface GigabitEthernet0/0
R1# show ipv6 route
R1# show ipv6 neighbors
R1# ping 2001:DB8:ACAD:30::1
R1# traceroute 2001:DB8:ACAD:30::1

På klienter:

ipconfig            (Windows)
ip -6 addr          (Linux)
ifconfig            (macOS)
ping -6 2001:db8:acad:10::1

Typiske fejl:

  • ipv6 unicast-routing mangler: Routeren sender ingen RA’er, og klienterne får ingen SLAAC-adresse eller gateway.
  • Forkert præfikslængde: SLAAC kræver /64.
  • Fejl i forkortelsen: fx :: brugt to gange, eller manglende nuller.
  • Klienten har kun en link-local-adresse (FE80::): Den har ikke modtaget en RA, eller RA’en er blokeret (fx af RA guard).
  • Forkert next hop i en statisk rute med link-local uden udgangsinterface.

Neighbor Discovery i stedet for ARP

IPv6 bruger Neighbor Discovery Protocol (NDP), som bygger på ICMPv6, til en række opgaver, der i IPv4 er spredt ud på flere protokoller:

ICMPv6-besked Formål
Router Solicitation (RS) Klienten spørger: “Er der en router her?” (sendes til FF02::2)
Router Advertisement (RA) Routeren annoncerer præfiks, præfikslængde og sig selv som gateway (sendes til FF02::1)
Neighbor Solicitation (NS) Svarer til en ARP-forespørgsel: “Hvem har denne IPv6-adresse?”
Neighbor Advertisement (NA) Svarer til et ARP-svar

Neighbor Solicitation bruges også til Duplicate Address Detection (DAD), hvor en enhed tjekker, at ingen andre allerede bruger adressen, før den tager den i brug. Fordi IPv6 er så afhængig af ICMPv6, må du aldrig blokere al ICMPv6 i en firewall eller ACL.

Subnetting med IPv6

IPv6-subnetting er lettere end i IPv4, fordi man næsten altid bruger /64 til LAN og blot tæller på grænsen mellem præfiks og subnet-ID. Har du fået 2001:DB8:ACAD::/48, er den fjerde hextet dit subnet-ID: 2001:DB8:ACAD:1::/64, 2001:DB8:ACAD:2::/64 og så videre. Det giver 65.536 subnets på hver /64, og man behøver aldrig at spare på adresser. Mange vælger at lade subnet-ID’et matche VLAN-nummeret, fx 2001:DB8:ACAD:10::/64 til VLAN 10.

Det skal du kunne til eksamen

  • Forkorte og udvide IPv6-adresser korrekt.
  • Genkende adressetyper ud fra præfikset.
  • Beregne en EUI-64-adresse ud fra en MAC-adresse.
  • Konfigurere og fejlsøge IPv6-adresser og statiske ruter på IOS.

Relateret: IP adresse typer, Subnet forklaret, Unicast, multicast & broadcast og vores artikel om OSPFv3.