Solicited-node multicast

En solicited-node multicast IPv6 adress definieras av IANA (RFC 4291, section 2.7.1) som FF02:0:0:0:0:1:FF00::/104 vilket ger intervallet:

  • FF02:0:0:0:0:1:FF00:0000 – FF02:0:0:0:0:1:FFFF:FFFF
  • Förkortat
  • FF02::1:FF00:0000 – FF02::1:FFFF:FFFF

Solicited-node IPv6 multicast-adresser skapas automatiskt genom att associera IPv6 adresser med interface. Varje IPv6 adress tilldelas en solicited-node multicast MAC-adress. Det görs med hjälp av en särskild kartläggning av nätverksenheternas unicast-adresser och den solicited-node multicast prefix. De 24 sista eller minst signifikanta bitar i en IPv6 adress, vare sig GUA eller LLA, ska läggas till solicited-node IPv6 multicast-adressen.

Till exempel:

  • Adressen 2001:DB8:CAFE:1:1:800:200E:8C6C/64 inkluderas i multicast-adressen: FF02::1:FF0E:8C6C
  • Adressen 2001:DB8::AB:1/64 ska bli medlen i IPv6 solicited-node adressen FF02::1:FFAB:1
  • Adressen 2001:DB8::AB:2/64 ska bli medlen i IPv6 solicited-node adressen FF02::1:FFAB:2

De hexadecimala talen markerade med rosa liknande färg betonar de minst signifikanta 24 bitar i en IPv6 adress.

Observera att alla IP multicast adresser associeras med MAC-multicast adresser. För att förstå hur IP- och MAC-adresser associeras börjar vi först med IPv4 och därefter IPv6.

Multicast MAC-adress

I IPv4 används följande klass D multicast-adresser:

  •  224.0.0.0 – 224.0.0.255 Reserverade för Well-Known multicast adresser
  • 224.0.1.0 – 238.255.255.255 Globala
  • 239.0.0.0 – 239.255.255.255 Lokala

I IPv4 kan man associera en broadcast IPv4-adress med en broadcast MAC-adress: FF-FF-FF-FF-FF-FF. Liknande kan vi associera Multicast IPv4 adresser och dess multicast MAC-adresser. Här nedan ett exempel på hur multicast IPv4 adress associeras till en multicast MAC-adress. Som standard börjar IPv4 multicast MAC-adresser med 010005:

MAC-adress IPv4 adress 1st oktett 2a oktett 3e oktett 4e oktett
230.1.2.3 230 0000 0001 0000 0010 0000 0011
230.129.2.3 230 0000 0001 0000 0010 0000 0011
239.1.2.3 239 0000 0001 0000 0010 0000 0011
Mest signifikant 0000 0001 0000 0010 0000 0011
01 00 5E 01 02 03
  • I exemplet ser vi att fler adresser kan associeras till en MAC-adress, vilket kan leda till problem. När ett paket tas emot konverteras signaler till ettor och nollor, och dessa till ramar. Det är nu som kan destination MAC-adress läsas av. MAC-adressens första delen som 01-00-5E säger till att detta är en multicast paket som ska skickas till nätverksskiktet för vidare hantering.
  • Flera IPv4-adresser ingår i multicast gruppen: 230.1.2.3, 230.129.2.3, 239.1.2.3
  • Den första biten av de 24 minst signifikanta bitar sätts alltid till noll. Till exempel i IP-adressen 230.129.2.3 den andra oktetten i binärt format är 1000 0001. Den mest signifikant bit konverteras till noll därmed resulterar som följande: 0000 0001, vilket är i decimalt format 1 och hexadecimalt 01
  • De 24 sista eller minst signifikanta bitar i adressen associeras till MAC-adressen som börjar alltid med 01-00-5E

I IPv6 associeras solicited-node multicast-adresser till specifika MAC-adresser som tilldelas från intervallet 3333000000 till 3333FFFFFFFF. Som bekant består MAC-adresser av 48 bitar som delas upp i två grupper av 24 bitar eller 6 hexadecimala tal per grupp. Den andra gruppen av 24 bitar i en MAC-adress läggs till Multicast MAC-adresser i den definierade intervallet exempelvis 33-33-FF.

Till exempel:

  • Adressen 2001:DB8::AA:1/64 ska bli medlen i IPv6 solicited-node multicast-adressen FF02::1:FFAA:0001
  • IPv6 MAC-adress: 3333FFAA0001
  • Adressen 2001:DB8::BB:2/64 ska bli medlen i IPv6 solicited-node multicast-adressen FF02::1:FFBB:0002
  • IPv6 MAC-adress: 3333FFBB0002

Exemplet nedan illustrerar vad som händer när alla adressuppgifter är kända. Router A skickar ping-paket till Router B.

Bild 1: Solicited-node Multicast adress

Vad händer om inte alla adressuppgifter är kända? Till exempel Router A känner inte Router B MAC-adress.

Router A måste använda en IPv6 multicast-adress som byggs upp med Solicited-node funktionen. En sådan funktion är en del av protokollet Network Discovery Protocol eller NDP. Multicast MAC-adresser byggs upp enligt standard där 33-33-FF samt de 24 minst signifikanta bitar i en IPv6 adress sätts ihop:

  • Router A adressering:
  • Source IPv6 GUA: 2001:DB8::AA:1
  • Source MAC-address: c557.180C.C302
  • Destination IPv6 GUA: 2001:DB8::BB:2
  • Destination IPv6 MAC: 3333.FFBB.0002
  • Router B svar och adressering
  • Source IPv6 GUA: 2001:DB8::BB:2
  • Source MAC-address: C464.130A.A280
  • Destination IPv6 GUA: 2001:DB8::AA:1
  • Destination IPv6 MAC: c557.180C.C302

Neighbor Discovery Protocol – NDP

Bild 6: NDP Neighbor Solicitation Message

IPv6 solicited-node multicast adresser används av två grundläggande IPv6 mekanismer som är en del av Neighbor Discovery Protocol eller NDP:

  • Address Resolution – IPv6 nätverksenheter skickar ut ett Neighbor Solicitation meddelande till en närliggande router som lyssnar NDP och som kan nås via IPv6 multicast adressen ff02::2 (Link-local scope, alla routrar). IPv6 nätverksenheter behöver information för att bygga upp en egen IPv6-adress. Det har händer oftast vid start och det är standard beteende på de flesta IPv6 nätverksenheter.
  • Duplicate Address Detection – DAD tillåter verifikation av link-local adresser som unika inom en länk (delnät). Ett Neighbor Solicitation meddelande skickas till sig själv så att det kan verifieras om tilldelad link-local adressen är unik.

Solicited-Node associerad till MAC adresser

I tidigare laborationer har vi konfigurerat manuellt IPv6 GUA och LLA, självkonfiguration och med eui-64 samt översiktet routing. Nu ska vi analysera vilka multicast adresser har associerats till varje ipv6 adress.

Bild 7: Router R1 Multicast adresser

Observationer:

  • Router R1 har LLA FE80::1
  • Router R1 har GUA 2001:DB8:CAFE:1::1
  • FF02::1 Multicast adress som når alla IPv6 nätverksenheter i länken (delnät).
  • FF02::2 Multicast adress som når alla IPv6 routrar.
  • FF02::1:FF00:1 Multicast solicited-node associerad till GUA

Den globala unicast adressen har associerats till en solicited-node adress genom att kopiera de sista 24 bitar i adressen för att generera en Solicited-node adress:

Bild 8: Solicited-node Multicast IPv6 adresser
  • R1 har GUA 2001:DB8:CAFE:1::1
  • GUA 2001:0db8:cafe:0001:0000:0000:0000:0001
  • De sista 6 hexadecimala siffror motsvarar 24 bitar används för att skapa en Solicited-node multicast adress:
  • ff02:0000:0000:0000:0000:0001:ff00:0001
  • ff02::1:ff00:1