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-type | Omtrentlig rå kapacitet | Typisk medie |
|---|---|---|
| 10BASE-T | 1,25 MB/s | Snoet kobberpar |
| 100BASE-TX | 12,5 MB/s | Snoet kobberpar |
| 1000BASE-T | 125 MB/s | Snoet 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:
- Modtager-MAC – hvilken grænseflade rammen er sendt til på det lokale link.
- Afsender-MAC – hvilken grænseflade sendte rammen.
- Type/længde – angiver typen af indhold, fx IPv4 eller IPv6.
- Payload – typisk en IP-pakke.
- Fejlkontrol – modtageren kan opdage beskadigede rammer.
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.
- Hvis destinationen er på samme subnet, spørger værten efter destinationens MAC-adresse.
- Hvis destinationen er på et andet subnet, spørger værten i stedet efter routerens/default gatewayens MAC-adresse.
- 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.
| VLAN | Lært MAC-adresse | Switchport |
|---|---|---|
| 1 | 02:1A:2B:3C:4D:5E | Port 1 |
| 1 | 02:AA:BB:CC:DD:EE | Port 4 |
- Kendt unicast-destination: switchen sender normalt rammen kun ud på den port, der står i tabellen.
- Ukendt unicast eller broadcast: switchen videresender rammen til de øvrige relevante porte i samme VLAN.
- Tabellen opdateres, når enheder flytter port eller sender igen, og dynamiske opslag udløber normalt efter en periode uden trafik.
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
- ARP: IPv4-adresse → MAC-adresse på det lokale link; bruges stadig i IPv4-netværk.
- RARP: MAC-adresse → IPv4-adresse, oprindeligt til enheder der kendte deres hardwareadresse, men ikke deres IP-konfiguration. Det krævede en RARP-server på samme link.
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.