Ethernet, MAC og ARP

Ethernet (IEEE 802.3) er en udbredt standard for kablede lokalnetværk. Den beskriver, hvordan enheder sender rammer på det lokale netværks link. IP ligger ovenpå og bruges til at sende pakker mellem netværk. Wi-Fi bruger også MAC-adresser, men er en anden linkteknologi end Ethernet.

Ethernet i byte/s

Tabellen viser den nominelle rå kapacitet omregnet til byte/s. Det er øvre grænser for selve forbindelsen; rammer, kontrolfelter, pauser og software gør den faktiske nyttedatahastighed lavere.

Ethernet-typeOmtrentlig rå kapacitetTypisk medie
10BASE-T1,25 MB/sSnoet kobberpar
100BASE-TX12,5 MB/sSnoet kobberpar
1000BASE-T125 MB/sSnoet kobberpar

Tallene er omregnet fra den nominelle linkkapacitet ved at dividere med 8. De er ikke løfter om filkopierings- eller internet-hastighed. Begge enheder, kabel, switch og netkort skal understøtte den valgte Ethernet-type.

Ethernet-rammen

En Ethernet-ramme leverer data mellem netværksgrænseflader på samme lokale link. Den indeholder blandt andet:

En switch videresender Ethernet-rammer på det lokale netværk. En router flytter IP-pakker mellem netværk og indkapsler dem i en ny linkramme ved hvert link.

MAC-adresser

En almindelig Ethernet-MAC-adresse er 48 bit, dvs. 6 byte, og skrives ofte som seks par hexadecimale cifre, fx 02:1A:2B:3C:4D:5E. Netkort, Wi-Fi-radioer og andre netværksgrænseflader har hver deres MAC-adresse. En adresse kan være fabriksregistreret eller lokalt sat af software.

En MAC-adresse identificerer en grænseflade på det lokale link; den er ikke en internetadresse og rout’es ikke gennem internettet. Når en router sender videre til næste netværk, bruges en ny lokal Ethernet-ramme med de næste MAC-adresser.

ARP: find MAC ud fra IPv4

ARP (Address Resolution Protocol) finder den lokale linkadresse, der hører til en IPv4-adresse. Værten undersøger først sin ARP-cache. Hvis opslaget mangler, sender den en ARP-forespørgsel som broadcast på det lokale net. Værten med den ønskede IPv4-adresse svarer normalt direkte med sin MAC-adresse.

  1. Hvis destinationen er på samme subnet, spørger værten efter destinationens MAC-adresse.
  2. Hvis destinationen er på et andet subnet, spørger værten i stedet efter routerens/default gatewayens MAC-adresse.
  3. IP-pakken sendes derefter i en Ethernet-ramme til den fundne næste-hop-MAC.

ARP gælder IPv4. IPv6 bruger Neighbor Discovery Protocol (NDP) i stedet.

Se ARP-cache på din computer

Efter at have kontaktet en lokal enhed kan du se de IPv4-til-MAC-opslag, computeren har gemt:

ping 192.168.1.1
arp -a

På Linux kan du også bruge ip neigh. Listen er computerens cache, ikke en fuldstændig liste over alle enheder på netværket. Den kan være tom eller forældet, indtil der har været trafik.

I Wireshark kan filteret arp vise ARP-forespørgsler og -svar. En forespørgsel ligner typisk “Who has 192.168.1.1? Tell 192.168.1.20”.

Switchens MAC-adressetabel

En Ethernet-switch lærer ved at læse afsender-MAC-adressen på hver ramme, den modtager. Den gemmer typisk en tabel med VLAN, MAC-adresse og den port, hvorfra adressen sidst blev set.

VLANLært MAC-adresseSwitchport
102:1A:2B:3C:4D:5EPort 1
102:AA:BB:CC:DD:EEPort 4

Switchens MAC-tabel er ikke en ARP-tabel. MAC-tabellen forbinder MAC-adresser med switchporte. ARP-cachen forbinder IPv4-adresser med MAC-adresser på en vært eller router.

På administrerbare switch kan MAC-tabellen ses i webadministrationen eller kommandolinjen. Kommandoer er producentafhængige; Cisco-switches bruger fx show mac address-table.

Switch kontra hub

En hub gentager signalet videre til alle sine porte uden at undersøge MAC-adresser. Alle tilsluttede enheder deler derfor samme medie og kollisionsdomæne. Hubs er stort set afløst af switches i moderne netværk, men kan stadig findes i ældre eller særlige laboratorieopsætninger. En almindelig switch lærer MAC-adresser og sender kendt unicast-trafik målrettet til den rigtige port; hver switchport er sit eget kollisionsdomæne.

ARP og RARP er forskellige

RARP er historisk og bruges stort set ikke i moderne netværk. BOOTP og senere DHCP overtog behovet for at tildele en enhed dens IP-konfiguration. RARP er ikke en kommando til at læse switchens MAC-tabel.

Kilder