IPv6 multicast adresser

Multicast är en kommunikationsteknik där en avsändare skickar datapaket till en grupp av nätverksenheter (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.

Bild 1: Multicast IPv6 adresser

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.

Bild 2: Multicast IPv6 adressformat

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

  • 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 (transient) 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.

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.

Bild 3: Multicast IPv6 adressformat

När ett paket adresserade med IPv6 multicast adresser sänds ut till en grupp av mottagare hamnar paketet på mellanliggande routrar. Dessa ska avgöra paketets räckvidden innan det vidarebefordras. 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 kan Multicast IPv6 scope illustreras så här.

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.

Som bekant har alla IPv4 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.

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

Bild 5: 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.