Hver maskinvare i ditt lokale nettverk har en MAC-adresse i tillegg til IP-adressen som er tildelt av den lokale ruteren eller serveren. Hva er egentlig den MAC-adressen til?
Dagens spørsmål og svar-økt kommer til oss med tillatelse fra SuperUser - en underavdeling av Stack Exchange, en samfunnsdrevet gruppe av spørsmål og svar-nettsteder.
Spørsmålet
SuperUser-leser Vishnu Vivek er nysgjerrig på MAC-adresser og deres funksjon:
Jeg forstår at IP-adresser er hierarkiske, slik at rutere over hele Internett vet hvilken retning de skal videresende en pakke. Med MAC-adresser er det ikke noe hierarki, og dermed vil ikke videresending av pakker være mulig. Så MAC-adresser brukes ikke til pakkeoverføring.
Jeg tror ikke det sitter der uten grunn. Så spørsmålet mitt er hvor nøyaktig spiller en MAC-adresse inn under en pakkeoverføring?
Hvor faktisk? Hva er den spesifikke funksjonen til MAC-adressen?
Svaret
SuperUser-bidragsyter Werner Henze gir litt innsikt i funksjonen til MAC-adressen:
Hva brukes MAC-adresser til?
MAC-adresser er grunnleggende om lavt nivå som får ethernetbasert nettverk til å fungere.
Nettverkskort har hver sin unike MAC-adresse. Pakker som sendes på Ethernet kommer alltid fra en MAC-adresse og sendes til en MAC-adresse. Hvis et nettverkskort mottar en pakke, sammenligner det pakkens destinasjons-MAC-adresse med adapterens egen MAC-adresse. Hvis adressene stemmer overens, blir pakken behandlet, ellers blir den kastet.
Det er spesielle MAC-adresser, en for eksempel er ff: ff: ff: ff: ff: ff, som er kringkastingsadressen og adresserer alle nettverkskort i nettverket.
Hvordan fungerer IP-adresser og MAC-adresser sammen?
IP er en protokoll som brukes på et lag over Ethernet. En annen protokoll for eksempel vil være IPX.
Når datamaskinen din vil sende en pakke til en eller annen IP-adresse x.x.x.x, er den første kontrollen om destinasjonsadressen er i samme IP-nettverk som selve datamaskinen. Hvis x.x.x.x er i samme nettverk, kan IP-adressen nås direkte, ellers må pakken sendes til den konfigurerte ruteren.
Inntil nå ser det ut til at ting har blitt verre, for nå har vi to IP-adresser: den ene er den opprinnelige IP-pakkens måladresse, den andre er IP-en til enheten vi skal sende pakken til (neste hopp, enten den endelige destinasjonen eller ruteren).
Siden ethernet bruker MAC-adresser, må avsenderen få MAC-adressen til neste hop. Det er en spesiell protokoll ARP (adresseoppløsningsprotokoll) som brukes til det. Når avsenderen har hentet MAC-adressen til neste hopp, skriver han den mål-MAC-adressen i pakken og sender pakken.
Hvordan fungerer ARP?
ARP i seg selv er en protokoll over Ethernet, som IP eller IPX. Når en enhet vil vite MAC-adressen for en gitt IP-adresse, sender den en pakke til kringkastet MAC-adresse og spør "Hvem har IP-adressen y.y.y.y?" Alle enheter mottar den pakken, men bare den med IP-adressen yy.y.y vil svare med en pakke "It's me." Den spørrende enheten mottar svaret og vet nå at kildens MAC-adresse er riktig MAC-adresse å bruke. Selvfølgelig vil resultatet bli bufret, så enheten trenger ikke å løse MAC-adressen hver gang.
Rute
Jeg glemte nesten å nevne: det er ingen ruting basert på MAC-adresser. Ethernet og MAC-adresser på lavt nivå kan bare nå alle enheter på samme nettverk (kablet eller trådløst). Hvis du har to nettverk med en ruter imellom, kan du ikke ha en enhet i nettverk A sende en pakke til MAC-adressen til en enhet i nettverk B. Ingen enhet i nettverk A har MAC-adressen til enheten i nettverk B, så en pakken til denne MAC-adressen vil bli kastet av alle enheter i nettverket A (også av ruteren).
Routing gjøres på IP-nivå. Enkelt sett gjør ruteren bare det jeg beskrev ovenfor i avsnittet “Hvordan fungerer IP-adresser og MAC-adresser sammen?”. Ruteren vil motta pakker for sin egen MAC-adresse, men for en annen IP-adresse. Han vil da sjekke om han kan nå direkte IP-adressen. I så fall sender han pakken til målet. Ellers har ruteren selv en konfigurert oppstrømsruter og sender pakken til den ruteren.
Selvfølgelig kan du ha flere rutere konfigurert. Hjemmereuteren din vil bare ha en oppstrømsruter konfigurert, men i internett-ryggraden har de store ruterne store rutetabeller, slik at de vet de beste måtene for alle pakker.
Andre bruksområder for MAC-adresser
- Nettverksbrytere lagrer en liste over MAC-adresser sett i hver port, og videresender bare pakker til portene som trenger å se pakken.
- Trådløse tilgangspunkter bruker ofte MAC-adresser for tilgangskontroll. De tillater bare tilgang for kjente enheter (MAC-adressen er unik og identifiserer enheter) med riktig passordfrase.
- DHCP-servere bruker MAC-adressen til å identifisere enheter og gi noen enheter faste IP-adresser.