MAC adresstyper


Innan vi fördjupar oss i hur enheter kommunicerar i ett nätverk behöver vi återkoppla till något vi redan lärt oss: binära och hexadecimala talsystem. Dessa talbaser är grunden för hur datorer representerar adresser och data. Ethernet bygger på adressering med MAC-adresser, och dessa skrivs alltid i hexadecimalt format. Att kunna förstå och översätta mellan binärt och hexadecimalt underlättar därför när vi analyserar hur kommunikation sker på nätverksnivå.

I ett Ethernet-nätverk används olika typer av adressering på lager 2 (L2) beroende på om kommunikationen är mellan en enskild mottagare, alla enheter, eller en specifik grupp. Dessa kallas:

  • Unicast – kommunikation mellan två unika enheter.
  • Broadcast – kommunikation till alla enheter i nätverket.
  • Multicast – kommunikation till en viss grupp av mottagare.

Vi går nu igenom dessa transmissionssätt mer i detalj.

Unicast

I unicast-kommunikation skickas ramar från en specifik avsändare till en specifik mottagare. Både avsändare och mottagare identifieras med sina unika MAC-adresser.

Exempel: En klient med IP-adressen 192.168.1.5 begär en webbsida från en server med IP-adressen 192.168.1.200.

  • IP-paketet kapslas in i en Ethernet-ram.
  • Ramen innehåller både avsändarens och mottagarens MAC-adress i ramens header.

Broadcast

En Ethernet broadcast-ram skickas till alla enheter i samma nätverk. Den kännetecknas av följande:

  • Destinations-MAC-adress: alltid FF-FF-FF-FF-FF-FF (hexadecimalt).
  • Binärt: alla 48 bitar är satta till 1.
  • Switchar vidarebefordrar broadcast genom alla portar, utom den port där ramen togs emot.
  • Routrar: blockerar broadcast-trafik och skickar den inte vidare till andra nätverk.

Ett exempel är DHCP eller ARP, som använder broadcast för att hitta rätt enheter.

Notera att IP-broadcast för nätverket 192.168.1.0/24 är 192.168.1.255 (Destination IP)

Multicast

Multicast används när en avsändare vill skicka data till flera mottagare samtidigt, men inte till alla.

Egenskaper för multicast:

  • Destinationens MAC-adress börjar alltid med 01-00-5E. Därefter skapas de tre sista bytes av adressen genom att ta de 23 lägsta bitarna från multicast IP-adressen. Den 24:e biten sätts alltid till 0.
  • Destinationens multicast IP-adress ligger inom intervallet 224.0.0.0 – 239.255.255.255.
  • Avsändaren använder alltid en unicast-MAC.
  • Switchar beter sig likadant som vid broadcast om de inte har stöd för multicast (dvs. skickar ut ramen på alla portar). Om de har stöd, skickas ramarna enbart till gruppmedlemmarna.
  • Routrar skickar normalt inte vidare multicast, men om de är konfigurerade för det kan de göra det.

Notera att H1 skickar paket till två klienter och en server, men inte till alla enheter i nätverket. Eftersom switchen har stöd för multicast skickas ramarna endast vidare till de portar som tillhör gruppens medlemmar, istället för att floodas ut till alla portar som vid broadcast.

Hur en multicast IP-adress omvandlas till en multicast MAC-adress

Precis som för unicast och broadcast måste både MAC-adress och IP-adress användas för att identifiera sändare och mottagare. För multicast skapas en speciell MAC-adress genom att översätta delar av IP-adressen till MAC-format.

Grundregel

  1. Alla Ethernet multicast MAC-adresser börjar med 01-00-5E hexadecimalt som motsvarar binärt 00000001 00000000 01011110.
  2. Endast de lägsta 23 bitarna av IP-adressen används i MAC-adressen.
  3. Den 24:e biten sätts alltid till 0.

Den resulterande format blir: MAC = 01-00-5E-xx-yy-zz där xx-yy-zz kommer från den lägsta 23 bitar av multicast IP-adressen.

Metod

  1. Skriv multicast IP-adressen i binärt (32 bitar).
  2. Plocka ut de 23 lägsta bitarna.
  3. Sätt en 0-bit framför dem (så att den första av de 24 MAC-bitarna blir 0).
  4. Lägg 01-00-5E framför och gruppera i tre bytes → skriv om till hex.

Exempel: 224.0.0.1

1. Skriv multicast IP-adressen i binärt (32 bitar).

  224     .    0      .    0      .   1
1110 0000 . 0000 0000 . 0000 0000 . 0000 0001

2. Plocka ut de 23 lägsta bitarna.

000 0000 . 0000 0000 . 0000 0001

3. Sätt en 0-bit framför (MSB av de 24 MAC-bitarna):

0 0000000 . 00000000 . 00000001

För att omvandla binära till hexadecimalt separeras bitarna i grupper av fyra. Därefter skrivs grupperna i hexadecimalt

0000 0000 . 0000 0000 . 0000 0001
    00    .    00     .01

4. Lägg på prefixet 01-00-5E:

01-00-5E-00-00-01

Resultat: Multicast IP-adressen 224.0.0.1 omvandlas till multicast MAC-adress 01-00-5E-00-00-01

Metoden illustreras i bilden nedan:

Sammanfattning

En multicast IP-adress är en speciell adress inom intervallet 224.0.0.0 – 239.255.255.255 som gör det möjligt för en avsändare att skicka data till en utvald grupp av mottagare, istället för bara en mottagare (unicast) eller alla i nätverket (broadcast).

För att ramar ska kunna levereras på lager 2 översätts multicast IP-adressen till en multicast MAC-adress. Alla multicast-MAC-adresser börjar med prefixet 01-00-5E. Därefter bildas de tre sista bytes genom att ta de 23 lägsta bitarna av IP-adressen, medan den 24:e biten alltid sätts till 0.

Det innebär att flera olika multicast-IP kan mappa till samma MAC-adress. För att hantera detta används protokoll som IGMP (Internet Group Management Protocol) tillsammans med funktioner i switchar och routrar, som säkerställer att endast de enheter som är medlemmar i multicast-gruppen får ta emot ramarna.

Varför multicast behövs:

  • Effektivare än broadcast, eftersom endast de enheter som valt att delta i gruppen får trafiken.
  • Avlastar nätverket, då onödig trafik inte skickas till alla portar.
  • Ger en flexibel kommunikationsmodell där en avsändare kan nå många mottagare samtidigt utan att duplicera dataflöden.

Exempel på användning av multicast:

  • Videokonferenser och distansutbildning – flera deltagare tar emot samma ström.
  • Onlinespel – spelservrar distribuerar samma spelinformation till många klienter.
  • Strömmande media (t.ex. IPTV) – en TV-sändning distribueras till många användare samtidigt.
  • Routingprotokoll (t.ex. OSPF, EIGRP) – routrar utbyter information med flera grannar på en gång.