Dynamisk IPv6

Bild 1: IPv6 Adresskonfigurering

Dynamisk allokering av IPv6 adresser kan konfigureras med tre olika metoder:

  1. Stateless Address Autoconfiguration ( SLAAC)
  2. SLAAC och stateless DHCPv6
  3. Stateful DHCPv6

Stateless IPv6

Stateless innebär en självkonfiguration av IPv6-adresser och fungerar ungefär som DHCP server-klient i IPv4. Men i dynamiskt stateless finns ingen DHCP-server utan en router som ger information över hur nätverksenheter kan skapa och konfigurera egna adresser.

Routrar som kör IPv6 konfigureras för att använda NDP (Neighbor Discovery Protocol) så att de kan kommunicera med nätverksenheter via olika meddelande, två av de är RS (Route Solicitation och (RA) Router Annonsmeddelande. Via dessa två protokoll sker det som kallas “Stateless autoconfiguration“.

ICMPv6 Router Solicitation och Router Advertisement

När en router bygger upp sin egen Link-Local adress (LLA) inkluderas denna adress till multicast gruppen ff02::1 (alla nätverksenheter i samma länk). Men när en router aktiveras för routing inkluderas routerns adresser till en multicast group till: ff02::2 (alla routrar i samma länk). Dessa multicast adresser möjliggör dynamiskt IPv6-adresskonfigurationer.

När en Cisco router konfigureras som en IPv6 router möjliggörs följande:

  • Routern kan vidarebefordra IPv6-paket.
  • Routern kan konfigureras med ett dynamiskt IPv6 routing-protokoll.
  • Routern kan skicka ICMPv6 RA meddelande ut till länken (nätverk) via Ethernet interface.
  • Varje interface med en IPv6-adress blir medlem i all-IPv6 routrar multicast-gruppen (ff02 :: 2).
  • Router skickar RA-meddelande var 200:e sekund.
  • Router svarar alla RS-meddelande

Dynamisk IPv6 adressallokering börjar med ICMPv6 Router Solicitation och Router Advertisement meddelande. Dessa meddelanden används för kommunikation mellan routrar och nätverksenheter anslutna till samma länk.

Router Solicitation (RS) och Router Advertisement (RA) är två av de fem meddelande i ICMPv6 Neighbor Discovery Protocol (NDP eller bara ND). ICMPv6 NDP meddelanden som RS och RA inkapslas i IPv6-paket.

En IPv6-aktiverat router annonserar sig själv och ger sig till känna för alla nätverksenheter i samma nätverk direkt efter kommandot IPv6 unicast-routing är aktiverat. Detta säger tydligt att en IPv6-router behöver konfigureras först sa att den börjar kommunicera med andra nätverksenheter inom ett och samma nätverk.

RS och RA kommunikation

RA-meddelande genereras av routrar för att annonsera deras närvaro och länkspecifika parametrar såsom prefix, prefixlängd, default gateway och MTU (Maximum Transmission Unit). RA meddelande adresseras med multicast destinationsadress för alla IPv6-enheter (ff02 :: 1). RA meddelande kan också skickas som unicast. När routrar skickar ett RA meddelande annonserar sin link-local avsändaradress vilken blir default gateway av mottagare-enheter.

RS meddelande skickas av enheter som är konfigurerade för att få IPv6 adresser dynamiskt. RS meddelande skickas som multicast för alla IPv6-routrar (ff02 :: 2). Avsändarens IPv6-adress är antingen enhetens link-local eller en ospecificerad IPv6-adress (: :).

Kommunikationen mellan routrar och klient-enheter anslutna till samma länk kan sammanfattas i två steg och här illustreras med hjälp av bild 2:

Steg 1:

Win PC med en link-local adress: fe80::d0f8:9ff6:4201:7086 är konfigurerad för att få sin IPv6-adressering automatiskt (GUA adress och annat). Sedan starten har WinPC inte haft någon kontakt med den lokala routern,  så den skickar ut ett Router Solicitation meddelande i förväntan att få information om hur den kan få IPV6 adressinformation.

Router Solicitation Message innehåller följande information:

Source IPv6 address: FE80 :: d0f8: 9ff6: 4201: 7086
Destination IPv6 address: FF02::2

FE80 :: d0f8: 9ff6: 4201: 7086 är en link-local adress
FF02::2 är en multicast adress för alla IPv6 routrar.

Steg 2:

Routern tar emot RS meddelandet och svarar med ett RA meddelande. Routern föreslår enheterna på delnätet 2001:db8:cafe:1::/64 hur enheter får eller skapar sin globala unicast adress samt andra adressinformation. I RA meddelandet inkluderas länkens prefix och dess längd. Default gateway adressen avsändaren av RA meddelandet, det vill säga routerns adress link-local: fe80::1

Router Advertisement Message innehåller följande information:

Source IPv6 address: FE80 :: 1
Destination IPv6 address: FF02::1
Förslag på dynamiska sätt att få en GUA adress Metod 1: Stateless Address Autoconfiguration (SLAAC)
Metod 2: SLAAC och en stateless DHCPv6-server
Metod 3: Stateful DHCPv6-server

Metoden i RA meddelandet är bara ett förslag till klient-datorer. Klientoperativsystemen kan också konfigureras för att ignorera RA meddelandet. De flesta organisationer föredrar statiskt konfigurering av IPv6-adressinformation på specifika system, exempelvis servrar och skrivare. I Windows kan du göra det med kommandot:

netsh interface ipv6 set interface “Local Area Connection” routerdiscovery=disabled

RA flaggor A, O, och M

Den lokala router (oftast default gateway) tillhandahåller instruktioner för dynamiskt allokering av IPv6 adresser. Den föreslår hur anslutna enheter kan få en GUA adress och annan adressinformation. Förslaget utformas med metoder som definierar olika sätt att få IPv6 adresser dynamiskt. Dessa metoder använder sig av flaggor som aktiverar speciella tjänster, beroende på flagornas värde startas de nödvändiga tjänsterna. Här nedan en översikt av metoderna:

  • Address Autoconfiguration flagga (A flagga): När flaggan är inställd på 1 (på) betyder det att mottagaren av RA meddelandet ska skapa automatiskt sin GUA adress genom att kombinera länkens prefix (nätverksadress) och en självkonstruerade interface ID. Metoden med vilken en host konstruerar själv en Interface ID är upp till systemet. Tidigare har vi tagit upp två metoder:
    • EUI-64
    • Random 64-bit
  • Other configuration flags (O flagga): När flaggan är inställd på 1 (på) betyder att mottagaren av RA meddelandet ska få adresseringsinformation från en stateless DHCPv6 server. Adresseringsinformation inkluderar alla parametrar som kompletterar en GUA adress. Till exempel kan denna information innehålla DNS-serveradresser och ett domännamn.
  • Managed Address Configuration flagga (M-flagga): När flaggan är inställd på 1 (på) meddelar routern att mottagen av RA meddelandet ska använda en stateful DHCPv6 server för att få sin globala unicast-adress och kompletterande adresseringsinformation (parametrar). Detta liknar DHCP för IPv4. Den enda informationen som mottagaren av RA meddelandet använder är routerns IPv6 adress. Denna adressen blir mottagarens default gateway.

Flaggorna ovan kombineras exempelvis så här:

  • M = 0, O = 0 DHCPv6 ignoreras och klienter fixar LLA
  • M = 1, O = 0 DHCPv6 stateful, klienter fixar LLA och GUA
  • M = 1, O = 1 DHCPv6 stateful om router tilldelar den globala prefixet, annars DHCPv6 stateless.
  • M = 0, O = 1 DHCPv6 stateless.

Det är viktigt att förstå skillnaden mellan en stateful DHCPv6 server och en stateless DHCPv6 server. En stateful DHCPv6 server tilldelar globala unicast adresser och upprätthåller information om varje allokerad adress samt DHCPv6 klienten som lånade GUA adressen. En stateless DHCPv6 server tilldelar inte globala unicast adresser. En stateless DHCPv6 server tillhandahåller kompletterande adresseringsinformation som är samma för alla DHCPv6 klienter anslutna till länken. Till exempel IPV6 adresser för DNS servrar och domännamn.

Exempel

Router R2 konfigureras med en GUA via metoden eui-64. Router R1 konfigureras med IPv6 självkonfiguration.

Bild 2: Stateless autoconfiguration

Konfigurationer:

För att aktivera ipv6 på router R2 så att den kan använda RA-meddelande R2(config)# ipv6 unicast-routing
IPv6 adresskonfiguration på interface g0/0
  • R2(config)# int g0/0
  • R2(config-if)# ipv6 address 2001:1234::/64 eui-64
  • R2(config-if)# end
För att aktivera felsökning för Network Discovery R2# debug ipv6 nd
IPv6 adresskonfiguration på interface g0/0
  • R1(config)# ipv6 unicast-routing
  • R1(config)# int g0/0
  • R1(config-if)# ipv6 address autoconfig
  • R1(config)# end
För att aktivera felsökning för Network Discovery
  • R1# debug ipv6 nd
För att starta interfacet g0/0 på R2
  • R2# conf t
  • R2(config)# int g0/0
  • R2(config-if)# no shut
  • R2(config-if)# end
  • R2#
För att starta interfacet g0/0 på R1
  • R1# conf t
  • R1(config)# int g0/0
  • R1(config-if)# no shut
  • R1(config-if)# end
  • R1#

Nu gäller att läsa alla meddelande som visar RS och RA, tiden, protokoll, etc.