Elk stuk hardware op uw lokale netwerk heeft een MAC-adres naast het IP-adres dat eraan is toegewezen door de lokale router of server. Waar is dat MAC-adres precies voor?
De vraag- en antwoordsessie van vandaag komt tot ons dankzij SuperUser - een onderdeel van Stack Exchange, een community-gedreven groepering van Q & A-websites.
De vraag
SuperUser-lezer Vishnu Vivek is benieuwd naar MAC-adressen en hun functie:
Ik begrijp dat IP-adressen hiërarchisch zijn, zodat routers op internet weten in welke richting ze een pakket moeten doorsturen. Met MAC-adressen is er geen hiërarchie, en dus is het doorsturen van pakketten niet mogelijk. MAC-adressen worden dus niet gebruikt voor pakketoverdracht.
Ik denk niet dat het daar zonder reden zit. Dus mijn vraag is, waar komt een MAC-adres precies in het spel tijdens een pakketoverdracht?
Waar inderdaad? Wat is de specifieke functie van het MAC-adres?
Het antwoord
SuperUser-bijdrager Werner Henze biedt enig inzicht in de functie van het MAC-adres:
Waar worden MAC-adressen voor gebruikt?
MAC-adressen zijn de basisprincipes die uw ethernet-netwerk laten werken.
Netwerkkaarten hebben elk een uniek MAC-adres. Pakketten die via het ethernet worden verzonden, zijn altijd afkomstig van een MAC-adres en verzonden naar een MAC-adres. Als een netwerkadapter een pakket ontvangt, vergelijkt deze het bestemmings-MAC-adres van het pakket met het eigen MAC-adres van de adapter. Als de adressen overeenkomen, wordt het pakket verwerkt, anders wordt het verwijderd.
Er zijn speciale MAC-adressen, een is bijvoorbeeld ff: ff: ff: ff: ff: ff, dat is het uitzendadres en adresseert elke netwerkadapter in het netwerk.
Hoe werken IP-adressen en MAC-adressen samen?
IP is een protocol dat wordt gebruikt op een laag boven ethernet. Een ander protocol zou bijvoorbeeld IPX zijn.
Als uw computer een pakket naar een IP-adres x.x.x.x wil sturen, dan is de eerste controle of het bestemmingsadres zich in hetzelfde IP-netwerk bevindt als de computer zelf. Als x.x.x.x zich in hetzelfde netwerk bevindt, kan het bestemmings-IP rechtstreeks worden bereikt, anders moet het pakket naar de geconfigureerde router worden gestuurd.
Tot nu toe lijken de zaken erger te zijn geworden, omdat we nu twee IP-adressen hebben: het ene is het doeladres van het originele IP-pakket, het andere is het IP-adres van het apparaat waarnaar we het pakket moeten sturen (de volgende hop, ofwel de laatste bestemming of de router).
Omdat ethernet MAC-adressen gebruikt, moet de afzender het MAC-adres van de volgende hop krijgen. Daarvoor is een speciaal protocol ARP (Address Resolution Protocol) gebruikt. Zodra de afzender het MAC-adres van de volgende hop heeft opgehaald, schrijft hij dat doel-MAC-adres in het pakket en verzendt het pakket.
Hoe werkt ARP?
ARP zelf is een protocol boven ethernet, zoals IP of IPX. Wanneer een apparaat het MAC-adres van een bepaald IP-adres wil weten, stuurt het een pakket naar het uitgezonden MAC-adres met de vraag "Wie heeft het IP-adres y.y.y.y?" Alle apparaten ontvangen dat pakket, maar alleen het apparaat met het IP-adres y.y.y.y reageert met een pakket "Ik ben het". Het vragende apparaat ontvangt het antwoord en weet nu dat het bron-MAC-adres het juiste MAC-adres is om te gebruiken. Het resultaat wordt natuurlijk in de cache opgeslagen, dus het apparaat hoeft niet elke keer het MAC-adres op te lossen.
Routing
Ik vergat bijna te vermelden: er is geen routing op basis van MAC-adressen. Ethernet- en MAC-adressen op laag niveau kunnen alleen elk apparaat op het dezelfde netwerk (bekabeld of draadloos). Als je twee netwerken hebt met een router ertussen, kun je geen apparaat in netwerk A een pakket laten sturen naar het MAC-adres van een apparaat in netwerk B.Geen apparaat in netwerk A heeft het MAC-adres van het apparaat in netwerk B, dus een pakket naar dit MAC-adres wordt door alle apparaten in netwerk A (ook door de router) weggegooid.
Routing gebeurt op IP-niveau. Simpel gezegd doet de router gewoon wat ik hierboven heb beschreven in de sectie "Hoe werken IP-adressen en MAC-adressen samen?". De router ontvangt pakketten voor zijn eigen MAC-adres maar voor een ander IP-adres. Hij zal dan controleren of hij het beoogde IP-adres rechtstreeks kan bereiken. Als dat het geval is, stuurt hij het pakket naar het doel. Anders heeft de router zelf ook een upstream-router geconfigureerd en stuurt hij het pakket naar die router.
U kunt natuurlijk meerdere routers laten configureren. Uw thuisrouter heeft slechts één upstream-router geconfigureerd, maar in de internetbackbone hebben de grote routers grote routeringstabellen, zodat ze de beste manieren voor alle pakketten weten.
Andere use-cases voor MAC-adressen
- Netwerkswitches slaan een lijst met MAC-adressen op die op elke poort te zien zijn en sturen alleen pakketten door naar de poorten die het pakket moeten zien.
- Draadloze toegangspunten gebruiken vaak MAC-adressen voor toegangscontrole. Ze bieden alleen toegang voor bekende apparaten (MAC-adres is uniek en identificeert apparaten) met de juiste wachtwoordzin.
- DHCP-servers gebruiken het MAC-adres om apparaten te identificeren en geven sommige apparaten vaste IP-adressen.