IPv6 multicast adresser

Bild 1: Multicast IPv6 adresser

Multicast är en kommunikationsteknik där en avsändare skickar datapaket till en grupp av nätverksenheter samtidigt (en-till-flera). Gruppen identifieras med en IPv6 multicast adress.

Ett paket skickat till en multicast grupp har alltid en enskild avsändaradress vilket innebär att en multicast adress kan aldrig vara avsändaradress.

Generellt finns två typer av IPv6 multicast adresser, de som administreras och tilldelas av IANA känd som Assigned, och de som skapas automatiskt på IPv6 nätverksenheter känd som Solicited-Node.

IPv6 Multicast adressformat

Multicast adresser inleder med hexadecimala siffror ff vilket innebär att 8 bitar sätts till ettor (1111 1111), det vill saga att prefixen för IPv6 multicast adresser är FF00::/8. Till dessa åtta ettor följer 4 bitar till. De 4 bitarna kodas som flaggor:  O, R och P samt T.

Flaggor O, R och P tas inte upp här, men flaggan T indikerar två typer av multicast adresser:

Bild 2: Multicast IPv6 adressformat
  • Permanent (T = 0): IPv6 multicast permanenta adresser kända som fördefinierade multicast adresser och som administreras centralt av IANA.
    Dessa adresser inkluderar både well-known och solicited multicast-adresser.
  • Nonpermanent (T = 1): IPv6 multicast nonpermanent adresser är tillfälliga därmed inte permanenta.
    Dessa adresser tilldelas dynamiskt oftast av multicast applikationer.

Till de 8 första bitar följer 4 bitar allokerade till flagor och därefter 4 bitar till scope. Dessa 4 bitar berättar hut långt bort från avsändare kan få färdas paket adresserade med IPv6 multicast adress. Till exempel 0010 = 2 betyder att multicast adressen ff02 gäller endast inom det lokala länken där Link-local adresser används. Resterande 112 bitar används till grupp ID.

Bild 3: Multicast IPv6 adress räckvidd

Scope

IPv6 adressers räckvidd (scope) definieras med fyra bitar, 24 ger 16 kombinationer, från 0 till F. Bild 3 illustrerar de olika räckvidd IPv6 multicast adresser har.

När paket adresserade med IPv6 multicast adresser sänds ut till en grupp av mottagare hamnar paketen på mellanliggande routrar. De ska avgöra räckvidden innan de vidarebefordrar något multicast-paket. Detta förhindrar vandrande paket utan att få komma till rätt mottagargrupper.

Det finns ingen automatisk mekanism för routrar för att avgöra räckvidden och filtrera multicast-paket. Men link-lokal multicast paket filtreras automatiskt. Räckvidden för en sajt och organisations lokala adresser måste konfigureras manuellt.

Att se bara en lista av de olika räckvidden är inte så upplysande men med hjälp av bild 4 illustreras Multicast IPv6 scope.

Bild 4: Multicast IPv6 scope
  • Scope 1 Interface-local innebär att multicast paket får inte lämna det fysiska interfacet av en nätverksenhet.
  • Scope 2 Link-local innebär att multicast paket kan färdas inom det lokala nätverket som avsändaren är ansluten till. Det framgår att sådana multicast paket kan inte routas ut till andra nätverk.
  • Scope 5 Site-local innebär att multicast paket kan färdas mellan delnät inne i sajten. Till exempel sajten Stockholm som kan bestå av ett antal lokala delnät.
  • Scope 8 Organizational-local innebär att multicast paket kan färdas mellan sajter inom en organisations nätverk som kan bestå av flera sajter.
  • Scope E Global motsvarar det hela Internet i vilket multicast paket kan färdas.

I IPv4 används 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

Som bekant har alla delnät en egen broadcast adress. Ibland kan IPv4 multicast och broadcast adresser blandas ihop även om de är olika adresser till olika kommunikationssätt. Det sker inte det i IPv6 eftersom broadcast-teknik inte används. Istället används multicast IPv6 adresser som grupperas i well-known, transient och solicited-node.

Well-Known Multicast adresser

IPv6 Well-known adresser har prefix ff00::/12. T flaggan är satt till 0. Dessa adresser motsvarar Well-known multicast IPv4 adresser i intervallet 224.0.0.0 till 239.255.255.255. Organisationen IANA administrerar definitionen av IPv6 multicast adresser:

Tabell på Well-Known multicast adresser

Prefix Flagg Scope Grupp ID Komprimerad Beskrivning
ff 0 1 0:0:0:0:0:0:1
::1
ff01::1 Interface-local scope, alla
ff 0 1 0:0:0:0:0:0:2
::2
ff01::2 Interface-local scope, alla routrar
ff 0 2 0:0:0:0:0:0:1
::1
ff02::1 Link-local scope, alla
ff 0 2 0:0:0:0:0:0:2
::2
ff02::2 Link-local scope, alla routrar
ff 0 2 0:0:0:0:0:0:5
::5
ff02::5 Link-local scope, OSPF routrar
ff 0 2 0:0:0:0:0:0:6
::6
ff02::6 Link-local scope, OSPF tilldelade routrar
ff 0 2 0:0:0:0:0:0:9
::9
ff02::9 Link-local scope, RIP routrar
ff 0 2 0:0:0:0:0:0:a
::a
ff02::a Link-local scope, EIGRP routrar
ff 0 2 0:0:0:0:0:1:2 ff02::1:2 Link-local scope, alla DHCP-agenter
ff 0 5 0:0:0:0:0:0:2
::2
ff05::2 Site-local scope, alla routrar
ff 0 5 0:0:0:0:0:1:3 ff05::1:3 Site-local scope, alla DHCP servrar

Observationer:

  • Samma grupp ID kan få flera scope eller räckvidd, exempelvis grupp ID ::1 har för scope Interface-local men även Link-local.
  • Packet adresserad till alla routrar med grupp ID ::2 kan bli begränsade till link-local eller till hela sajten.
  • IPv4 multicast 224.0.0.5 adresserar till alla OSPF routrar och IPv6 multicast adress ff02::5 har samma målgrupp eller grupp ID.

Solicited-node Multicast

En solicited-node multicast adress skapas automatiskt genom att associera IPv6 adresser med ett visst interface. IPv6 adresser som global unicast, unik lokal, och link-lokal tilldelas en solicited-node multicast adress. Var och en av dessa adresser mappas till en solicited-node multicast adress. Detta görs med hjälp av en särskild kartläggning av nätverksenheternas unicast-adresser och den solicited-node multicast prefix.

IPv6 solicited-node multicast prefixet:

  • Föredragen – ff02:0000:0000:0000:0000:0001:ff00::/104
  • Komprimerade: ff02:0:0:0:0:1:ff00::/104
Bild 5: MLD

En av fördelarna med att använda en L3 multicast adress är att den adressen associeras till en L2 Ethernet MAC-adress. Detta gör att ramen (frame) kan filtreras av en switch. Det innebär att multicast paket adresserad till en grupp av mottagare endast kommer att vidarebefordras till portar där det finns nätverksenheter som är medlemmar i den multicast-gruppen. Du kanske undrar hur switchar kan identifiera medlemmar i en viss multicast grupp. De får hjälp av Multicast Listener Discovery (MLD).

OBS: IPv6 solicited-node multicast adresser filtreras inte av MLD.

Om MLD inte implementeras på switchar kommer ramen som innehåller multicast-paketet att vidarebefordras ut alla portar (vilket är default på de flesta switchar). Med hjälp av destinationens MAC-adress kan ramen fortfarande filtreras på Ethernet interfacet. Ett Ethernet interface kan avgöra om en ram ska tas bort eller överföras till ett övre skikts protokoll för vidare bearbetning.

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 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

Laboration 5: Solicited-node multicast adress

Bild 9: Solicited-node multicast ipv6 adress

För att förklara en sådan ipv6 adress använder jag en material från CBT nuggets gjort av Keith Barker. Bilden illustrerar topologin där en 1941 router kopplas till en 2960 switch och till switch en dator. Syfte är att upptäcka multicast ipv6 solicited-node adressen. Vi kommer också att verifiera de som förklaras om hur en sådan adress byggs upp. De sista 24 bitar ska klistras in i den solicited-node multicast ipv6 adress.

Konfigurationer:

  • R1(config)# ipv6 unicast-routing
  • R1(config)# interface g0/1
  • R1(config-if)# no ip address
  • R1(config-if)# ipv6 address fe80::12:3456 link-local
  • R1(config-if)# ipv6 address 2001:db8:6783:1:a:b:cc12:3456/64
  • R1(config-if)# no shutdown
  • R1(config-if)# end
  • R1# show ipv6 int g0/1
Bild 10: show ipv6 interface g0/0

Observationer:

  1. När link-local adressen konfigurerades med kommandot ipv6 address fe80::12:3456 link-local aktiverades IPv6. Observera att de sista sex hexadecimala siffror motsvarar 24 bitar.
  2. Den globala unik adressen innehåller också samma sista sex siffror som link-local adressen: 2001:db8:6783:1a:b:cc12:3456
  3. Tre multicast adresser har associerats till de olika IPv6 adresser:
    1. FF02::1 – Link-local scope, alla nätverksenheter i samma länk
    2. FF02::2 – Link-local scope, alla routrar
    3. FF02::1:ff12:3456 – Solicited-node adress. Alla solicited node multicast ipv6 adress startar med FF02::1:FF/104 d.v.s. FF02:0000:0000:0000:0000:0001:FF12:3456. Här visas endast en solicited-node ipv6 adress på grund av att i laborationer använder vi samma sista sex siffror i GUA och LLA adresser, annars hade skapats två solicited-node ipv6 adresser.
  4. ND och DAD är igång. ND står för Neighbor Discovery Protocol som ersätter ARP protokollet. ND används tillsammans med ICMP för att upptäcka närliggande routrar via deras Link-local adresser. ND är avskedad mest för hosts som behöver information för att konstruera själva sina Link-local adresser. Routrarna använder istället olika meddelandetyper  för att hantera dynamiskt ipv6 adresser. DAD ser till att inte samma link-local adress konstrueras flera gånger av olika nätverksenheter.
  5. Routrar skickar ut meddelande relaterade till IPv6 adresser varje 200 sekunder.

Några frågor om Multicast adresser

  1. Vilket är prefixet av en IPv6 multicast adress?
    1. ff00::/8
  2. Vilken scope/räckvidd har följande multicast adresser?
    1. ff02::/16 – Link-local scope
    2. ff05::/16 – Site local scope
  3. Vilken Well-known multicast adress tilldelas till alla nätverksenheter i den link-local scope/räckvidd?
    1. ff02::1 – All nodes
  4. Vilken Well-known multicast adress tilldelas till alla IPv6 routrar?
    1. ff02::2 – All-routers
  5. För vilka adresstyper genereras Solicited-node multicast adresser?
    1. Global unicast, unique local unicast och Link-local adresser
  6. Kan två nätverksenheter i samma länk (delnät) ha samma Solicited-node multicast adress?
    1. Ja, det kan hända när man konfigurerar ipv6 adresser som slutar på samma sista sex hexadecimala siffror.
  7. Kan en nätverksenhet ha en och samma Solicited-node multicast adress till ens global unicast och link-local adresser?
    1. Ja, det är precis det som hände i laborationen där vi utforskade solicited-node adresser.
  8. Associera varje IPv6 adress till Solicited-node multicast adress och deras MAC-adresser:
    1. 2001:db8:bee:47:0201:41ff:fea1:1067
      1. Solicited-node: ff02::1:ffa1:1067
      2. MAC: 33-33-ff-a11067 (33-33-00-00-00 till 33-33-ff-ff-ff-ff reserverad för multicast)
    2. fe80::0201:41ff:fea1:1067
      1. Solicited-node: ff02::1:ffa1:1067
      2. MAC: 33-33-ff-a11067 (notera att det är samma för GUA)
    3. 2001:db8:deed:30:feaf:d899:10bc:7
      1. Solicited node: ff02::1:ffbc:7
      2. MAC: 33-33-ff-bc0007
    4. 2001:db8:feed:1:a:1ab::7000
      1. Solicited-node: ff02::1:ff00:7000
      2. MAC: 33-33-ff-007000
    5. 2001:db8:feed:1:a:2ab::7000
      1. Solicited-node: ff02::1:ff00:7000
      2. MAC: 33-33-ff-007000