16Aug
Varje bit hårdvara på ditt lokala nätverk har en MAC-adress utöver den IP-adress som tilldelats den av den lokala routern eller servern. Vad exakt är den MAC-adressen för?
Dagens fråga &Svarssession kommer till oss med tillstånd av SuperUser-en indelning av Stack Exchange, en community-driven gruppering av Q & A-webbplatser.
Frågan
SuperUser-läsare Vishnu Vivek är nyfiken på MAC-adresser och deras funktion:
Jag förstår att IP-adresser är hierarkiska, så att routrarna över hela internet vet vilken riktning som ska skickas till ett paket. Med MAC-adresser finns det ingen hierarki, och paketförmedling skulle således inte vara möjligt. Så, MAC-adresser används inte för paketöverföring.
Jag tror inte att det sitter där utan anledning. Så min fråga är, var exakt kommer en MAC-adress till spel under en paketöverföring?
Var i själva verket? Vad är den specifika funktionen för MAC-adressen?
Svaret
SuperUser-bidragsgivaren Werner Henze ger viss inblick i MAC-adressens funktion:
Vad används MAC-adresser för?
MAC-adresser är de låga grunderna som gör ditt Ethernet-baserade nätverksarbete.
Nätverkskort har alla en unik MAC-adress. Paket som skickas på Ethernet kommer alltid från en MAC-adress och skickas till en MAC-adress. Om en nätverksadapter tar emot ett paket jämförs paketets destinationsadress-MAC-adress med adapterns egen MAC-adress. Om adresserna matchar behandlas paketet, annars kasseras det.
Det finns särskilda MAC-adresser, en är till exempel ff: ff: ff: ff: ff: ff, vilken är sändningsadressen och adresserar varje nätverksadapter i nätverket.
Hur fungerar IP-adresser och MAC-adresser tillsammans?
IP är ett protokoll som används på ett lager över ethernet. Ett annat protokoll till exempel skulle vara IPX.
När din dator vill skicka ett paket till en viss IP-adress x.x.x.x är den första kontrollen om destinationsadressen är i samma IP-nätverk som själva datorn. Om x.x.x.x är i samma nätverk, kan destinations-IP nås direkt, annars behöver paketet skickas till den konfigurerade routern.
Hittills verkar saker värre, för nu har vi två IP-adresser: den ena är den ursprungliga IP-paketets måladress, den andra är IP för den enhet som vi ska skicka paketet till( nästa hop, antingenslutdestination eller router).
Eftersom Ethernet använder MAC-adresser behöver avsändaren få MAC-adressen till nästa hop. Det finns ett särskilt protokoll ARP( adressupplösningsprotokoll) som används för det. När avsändaren har hämtat MAC-adressen till nästa hop skriver han mål MAC-adressen i paketet och skickar paketet.
Hur fungerar ARP?
ARP själv är ett protokoll ovanför ethernet, som IP eller IPX.När en enhet vill veta MAC-adressen för en viss IP-adress skickar den ett paket till den sändande MAC-adressen och frågar "Vem har IP-adress yyyy?" Alla enheter tar emot det paketet, men endast den som har IP-adressen kommer att svaramed ett paket "Det är jag". Den frågande enheten tar emot svaret och vet nu att källkod MAC-adressen är rätt MAC-adress att använda. Naturligtvis blir resultatet cachelagrat, så enheten behöver inte lösa MAC-adressen varje gång.
Routing
Jag glömde nästan att nämna: det finns ingen routning baserad på MAC-adresser. Ethernet- och MAC-adresser med låg nivå kan bara nå alla enheter på samma -nätverk( kabel eller trådlöst).Om du har två nätverk med en router däremellan kan du inte ha en enhet i nätverket A skicka ett paket till MAC-adressen till en enhet i nätverk B. Ingen enhet i nätverket A har enhetens MAC-adress i nätverk B, så enpaket till denna MAC-adress kommer att kasseras av alla enheter i nätverket A( även av routern).
Routing görs på IP-nivå.Att bara se routern gör bara vad jag beskrev ovan i avsnittet "Hur fungerar IP-adresser och MAC-adresser tillsammans?".Routern kommer att få paket för sin egen MAC-adress men för en annan IP-adress. Han kommer då att kontrollera om han direkt kan nå måladressen. Om så är fallet skickar han paketet till målet. Annars har routern själv också en uppströms-router konfigurerad och skickar paketet till den routern.
Naturligtvis kan du ha flera routrar konfigurerad. Din hemrouter har bara en uppströms-router konfigurerad, men i ryggraden för internet har de stora routrarna stora routingbord så att de vet de bästa sätten för alla paket.
Andra användarfall för MAC-adresser
- Nätverksväxlar lagrar en lista över MAC-adresser som ses vid varje port och endast vidarebefordrar paket till portarna som behöver se paketet.
- Trådlösa åtkomstpunkter använder ofta MAC-adresser för åtkomstkontroll. De tillåter endast åtkomst till kända enheter( MAC-adressen är unik och identifierar enheter) med rätt lösenordsfras.
- DHCP-servrar använder MAC-adressen för att identifiera enheter och ge vissa enheter fasta IP-adresser.
Har du något att lägga till förklaringen? Ljud av i kommentarerna. Vill du läsa mer svar från andra tech-savvy Stack Exchange-användare? Kolla in hela diskussionsgängan här.