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
- Foranstillede nuller i en gruppe må fjernes:
0DB8→DB8,0000→0. - É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:
- Del MAC-adressen på midten.
- Indsæt
FFFEi midten. - 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-routinggør det muligt for routeren at route IPv6 og sende RA’er.- En fast link-local som
FE80::1gør output og fejlsøgning lettere at læse. eui-64lader 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-routingmangler: 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.