Prečo je presne použitá MAC adresa?
Každý kus hardvéru v lokálnej sieti má okrem adresy IP, ktorú mu priradil lokálny smerovač alebo server, aj MAC adresu. Čo presne je tá MAC adresa pre?
Dnešná relácia otázok a odpovedí sa k nám pridelí zdvorilosťou SuperUser - podskupiny Stack Exchange, zoskupenia webových stránok typu Q & A.
Otázka
Čítačka SuperUser Vishnu Vivek je zvedavá o MAC adresách a ich funkcii:
Rozumiem, že adresy IP sú hierarchické, takže smerovače po celom internete vedia, ktorý smer posielať paket. Pri MAC adresách nie je žiadna hierarchia, a preto by posielanie paketov nebolo možné. MAC adresy sa preto nepoužívajú na prenos paketov.
Nemyslím si, že tam sedí bez akéhokoľvek dôvodu. Takže moja otázka spočíva v tom, kam presne ide počas prenosu paketov MAC adresu?
Kde naozaj? Čo je špecifická funkcia MAC adresy?
Odpoveď
Sprostredkovateľ SuperUser Werner Henze ponúka niekoľko informácií o funkcii MAC adresy:
Na čo sa používajú MAC adresy?
MAC adresy sú základy nízkej úrovne, ktoré robia vašu sieť založenú na sieti Ethernet.
Sieťové karty majú jedinečnú MAC adresu. Pakety odosielané na ethernet vždy pochádzajú z MAC adresy a posielajú sa na MAC adresu. Ak sieťový adaptér prijíma paket, porovnáva cieľovú MAC adresu paketu s vlastnou MAC adresou adaptéra. Ak sa adresy zhodujú, paket sa spracuje, inak sa vyhodnotí.
Existujú špeciálne MAC adresy, jeden je napríklad ff: ff: ff: ff: ff: ff, čo je adresa vysielania a adresy každého sieťového adaptéra v sieti.
Ako IP adresy a MAC adresy spolupracujú?
IP je protokol, ktorý sa používa na vrstve nad ethernetom. Ďalším protokolom by bolo napríklad IPX.
Keď počítač chce poslať paket na niektorú adresu IP x.x.x.x, potom prvou kontrolou je, či je cieľová adresa v rovnakej sieti IP ako samotný počítač. Ak je x.x.x.x v rovnakej sieti, cieľová adresa IP sa dá dosiahnuť priamo, inak musí byť paket zaslaný do konfigurovaného smerovača.
Zdá sa, že doteraz sa veci zhoršili, pretože teraz máme dve adresy IP: jedna je pôvodná cieľová adresa IP paketu, druhá je IP zariadenia, ku ktorému by sme mali poslať paket (ďalší chmeľ, buď konečný cieľ alebo smerovač).
Keďže ethernet používa adresy MAC, odosielateľ potrebuje získať MAC adresu nasledujúceho chmeľu. Existuje špeciálny protokol ARP (protokol rozlíšenia adresy), ktorý sa na to používa. Akonáhle odosielateľ získal MAC adresu nasledujúceho hopu, zapíše cieľovú MAC adresu do paketu a odošle paket.
Ako funguje ARP?
Samotná ARP je protokol nad ethernetom, ako IP alebo IPX. Keď zariadenie chce poznať adresu MAC pre danú adresu IP, pošle paket na vysielanú MAC adresu s otázkou "Kto má IP adresu yyyy?" Všetky zariadenia prijmú tento paket, ale iba ten s adresou IP rrrr bude reagovať s paketom "Som to ja". Požiadané zariadenie dostane odpoveď a teraz vie, že adresa MAC zdroja je správna MAC adresa, ktorú chcete použiť. Výsledok bude samozrejme ukladaný do vyrovnávacej pamäte, takže zariadenie nemusí pokaždé vyriešiť adresu MAC.
smerovanie
Skoro som zabudol spomenúť: neexistuje žiadne smerovanie založené na MAC adresách. Nízka úroveň ethernetových a MAC adries môže dosiahnuť iba každé zariadenie na rovnaký siete (káblové alebo bezdrôtové). Ak máte medzi sebou dve siete so smerovačom, nemôžete mať zariadenie v sieti A poslať paket na adresu MAC zariadenia v sieti B. Žiadne zariadenie v sieti A nemá adresu MAC zariadenia v sieti B, takže paket na túto MAC adresu budú zlikvidované všetkými zariadeniami v sieti A (aj smerovačom).
Smerovanie sa vykonáva na úrovni IP. Jednoducho vidieť, router práve robí to, čo som opísal vyššie v časti "Ako IP adresy a MAC adresy pracujú spoločne?". Router prijme pakety pre vlastnú MAC adresu, ale pre inú IP adresu. Potom skontroluje, či môže priamo dosiahnuť cieľovú adresu IP. Ak áno, odošle paket do cieľa. V opačnom prípade má samotný router nakonfigurovaný smerovač smerom nahor a odošle paket do tohto smerovača.
Samozrejme môžete nakonfigurovať viacero smerovačov. Váš domáci smerovač bude mať nakonfigurovaný len jeden smerovač smerom nahor, ale na internetovej chrbtici veľké smerovače majú veľké smerovacie tabuľky, takže vedia najlepšie spôsoby pre všetky pakety.
Iné prípady použitia pre adresy MAC
- Sieťové prepínače ukladajú zoznam adries MAC zobrazených na každom porte a odosielajú iba pakety do portov, ktoré potrebujú vidieť paket.
- Bezdrôtové prístupové body často používajú MAC adresy na riadenie prístupu. Umožňujú prístup iba pre známe zariadenia (adresa MAC je jedinečná a identifikuje zariadenia) so správnou prístupovou frázou.
- Servery DHCP používajú MAC adresu na identifikáciu zariadení a poskytovanie pevných adries IP niektorým zariadeniam.
Máte niečo doplniť vysvetlenie? Vyjadrite sa v komentároch. Chcete sa dozvedieť viac odpovedí od iných používateľov technickej úrovne Stack Exchange? Pozrite sa na celý diskusný príspevok tu.