Multicast är en teknik där en nod skickar paket till flera destinationer samtidigt (en-till-många). Destinationerna är faktiskt en uppsättning interface (en grupp), identifierade av en enda multicast-adress känd som en multicast-grupp. Två viktiga regler gäller för IPv4 och IPv6 multicast:
- Paket som skickas till en multicast-grupp har alltid en unicast-avsändaradress.
- En multicast-adress kan inte vara en avsändaradress för ett paket.
Det finns inga broadcast-adress i IPv6. Istället görs denna funktionalitet i IPv6 med hjälp av speciella multicast-grupper.
IPv6 Multicast adressformat
I IPv6 särskiljs multicast-adresser från alla andra adresser genom att de åtta första bitarna från vänster har värdet 11111111 (hexadecimalt FF), vilket identifierar att adressen är multicast. Detta inkluderar alla multicast-adresser som en del av prefixet ff00::/8, vilket motsvarar IPv4 multicast-adressutrymmet 224.0.0.0/4.
Efter de åtta ettor följer 4 ytterligare bitar som kodar för flaggor: O, R, P och T. I denna sammanhang behandlas inte flaggorna O, R och P, men flaggan T indikerar två typer av multicast-adresser.
- Permanent (T = 0): IPv6 multicast permanenta adresser, även kända som fördefinierade multicast-adresser, administreras centralt av IANA. Dessa adresser inkluderar well-known multicast-adresser.
- Nonpermanent (T = 1): IPv6 multicast ”nonpermanent” adresser är tillfälliga och tilldelas dynamiskt, oftast av multicast-applikationer.
Efter de 8 och de 4 bitar allokeras ytterligare 4 bitar för att definiera räckvidden (scope) för IPv6 multicast-adresser. Dessa 4 bitar indikerar hur långt bort från avsändaren paket adresserade med en IPv6 multicast-adress kan nå. Till exempel betyder 0010 att multicast-adressen ff02 är begränsad till det lokala nätverket där Link-local adresser används. De återstående 112 bitarna används för att identifiera själva multicast-gruppen.
IPv6 multicast-adress räckvidd (Scope)
Fyra bitar till räckvidden genererar 16 olika räckviddsområde. Detta illustreras med bilden nedan:
- Interface-Local (FF01::/16) innebär att multicast-paketet inte får lämna det fysiska interfacet av en nätverksenhet.
- Link-Local (FF02::/16) innebär att multicast-paketet kan färdas inom det lokala nätverket där avsändaren är ansluten. Sådana multicast-paket kan inte routas ut till andra nätverk.
- Site-Local (FF05::/16) innebär att multicast-paketet kan färdas mellan delnät inom en sajt (till exempel sajten Stockholm, som kan bestå av flera lokala delnät).
- Organizational-Local (FF08::/16) innebär att multicast-paketet kan färdas mellan sajter inom en organisations nätverk, som kan bestå av flera sajter.
- Global (FF0E::/16) innebär att multicast-paketet kan färdas över hela Internet.
IPv6 Multicast adressers räckvidd kan vidare illustreras så här:
Routrar måste avgöra räckvidden av multicast-paketet innan de vidarebefordrar det, vilket förhindrar att paketen vandrar utan att nå rätt mottagargrupper. Det finns ingen automatisk mekanism för routrar 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.
Typer av Multicast IPv6 adresser
Inom IPv6 finns olika typer av multicast-adresser, inklusive well-known, transient och solicited node.
Låt oss förklara var och en:
Well-Known – Well-known multicast-adresser är avsiktligen definierade adresser som används för att kommunicera med specifika grupper av noder som har en gemensam funktion eller tjänst. Dessa adresser administreras av IANA. Några exempel på well-known multicast-adresser inkluderar:
- FF02::1 – All Nodes Multicast Address används för att skicka meddelanden till alla noder inom samma lokala nätverk.
- FF02::2 – All Routers Multicast Address används för att skicka meddelanden till alla routrar i det lokala nätverket.
- FF02::5 – All OSPFv3 routers
- FF02::6 – All OSPFv3 Designated Routers
- FF02::a – All EIGRP (IPv6) routers
Transient – Dessa multicast-adresser används för temporära ändamål, särskilt i samband med nätverksenheternas mobilitet och rörliga noder. Transienta multicast-adresser används när en nod ändrar sin nätverksposition och behöver meddela andra noder om sin nya plats. När deras uppgifter är slutförda, blir dessa adresser föråldrade och upphör att användas. För att representera dessa adresser, sätts de sista 32 bitarna i adressen vanligtvis till noll.
Solicited-Node – Dessa multicast-adresser används i samband med Neighbor Discovery Protocol (NDP) som används för att fråga efter specifika noder. När en nod behöver uppdatera sin Neighbor Cache eller leta efter en specifik nod i nätverket, skickar den en ”Neighbor Solicitation” (NS)-begäran. För att undvika att skicka NS-begäran till alla noder, använder den avsändande noden solicited-node multicast-adresser.
Neighbor Discovery Protocol
Generellt används IPv6 solicited-node multicast-adresser i två grundläggande IPv6-mekanismer som är en del av Neighbor Discovery Protocol (NDP):
Address Resolution – När IPv6-nätverksenheter behöver bygga upp sin egen IPv6-adress, skickar de ut ett Neighbor Solicitation-meddelande till en närliggande router som lyssnar efter NDP och som kan nås via IPv6 multicast-adressen ff02::2 (Link-Local scope, alla routrar). Detta fortfarande kallas Address Resolution, och det utförs vanligtvis vid nätverksstart på de flesta IPv6-nätverksenheter.
Duplicate Address Detection – DAD möjliggör verifiering av Link-Local-adresser som unika inom en länk (delnät). För att säkerställa att en tilldelad Link-Local adress är unik, skickar en nätverksenhet ett Neighbor Solicitation-meddelande som når alla andra nätverksenheter inom samma nätverkssegment. Om det inte finns någon konflikt innebär det att adressen är unik och kan användas av enheten.
Sammanfattningsvis är IPv6 multicast-adresser användbara för att rikta meddelanden till specifika grupper av noder i nätverket. Well-known multicast-adresser används för allmänt kända ändamål, transienta multicast-adresser används temporärt för mobilitet, och solicited-node multicast-adresser används för adressuppslagningar inom Neighbor Discovery Protocol.