Každý hardware v místní síti má kromě adresy IP přidělené místním směrovačem nebo serverem také adresu MAC. K čemu přesně je ta MAC adresa?
Dnešní relace Otázky a odpovědi k nám přichází s laskavým svolením SuperUser - členění Stack Exchange, komunitního seskupení webů otázek a odpovědí.
Otázka
Čtečka SuperUser Vishnu Vivek je zvědavá na MAC adresy a jejich funkce:
Chápu, že adresy IP jsou hierarchické, takže směrovače na celém internetu vědí, kterým směrem předat paket. S MAC adresami neexistuje žádná hierarchie, a proto by předávání paketů nebylo možné. MAC adresy se tedy nepoužívají pro přenos paketů.
Nemyslím si, že to tam sedí bezdůvodně. Moje otázka tedy zní, kde přesně při přenosu paketů vstupuje do hry MAC adresa?
Kde vlastně? Jaká je konkrétní funkce adresy MAC?
Odpověď
Přispěvatel SuperUser, Werner Henze, nabízí pohled na funkci MAC adresy:
K čemu se používají MAC adresy?
MAC adresy jsou základy nízké úrovně, díky nimž funguje vaše síť založená na ethernetu.
Každá síťová karta má jedinečnou adresu MAC. Pakety, které se odesílají na ethernetu, vždy pocházejí z adresy MAC a odesílají se na adresu MAC. Pokud síťový adaptér přijímá paket, porovnává cílovou adresu MAC paketu s vlastní adresou MAC adaptéru. Pokud se adresy shodují, paket se zpracuje, jinak se zahodí.
Existují speciální adresy MAC, například ff: ff: ff: ff: ff: ff, což je vysílací adresa a adresy každého síťového adaptéru v síti.
Jak IP adresy a MAC adresy spolupracují?
IP je protokol, který se používá ve vrstvě nad ethernetem. Dalším protokolem by například byl IPX.
Pokud váš počítač chce odeslat paket na nějakou adresu IP x.x.x.x, je první kontrolou, zda je cílová adresa ve stejné síti IP jako samotný počítač. Pokud je x.x.x.x ve stejné síti, lze cílovou IP adresu dosáhnout přímo, jinak je nutné odeslat paket na nakonfigurovaný router.
Doposud se zdálo, že se situace zhoršila, protože nyní máme dvě adresy IP: jedna je cílová adresa původního IP paketu, druhá je IP zařízení, na které bychom paket měli poslat (další skok, buď konečná cíl nebo router).
Vzhledem k tomu, že ethernet používá adresy MAC, musí odesílatel získat adresu MAC dalšího směrování. K tomu se používá speciální protokol ARP (address resolution protocol). Jakmile odesílatel získá MAC adresu dalšího směrování, zapíše tuto cílovou MAC adresu do paketu a odešle paket.
Jak ARP funguje?
Samotný ARP je protokol nad ethernetem, jako je IP nebo IPX. Když chce zařízení znát MAC adresu pro danou IP adresu, odešle paket na vysílanou MAC adresu s dotazem „Kdo má IP adresu rrrr?“ Tento paket obdrží všechna zařízení, ale pouze to s IP adresou r.r.r.y odpoví paketem „To jsem já.“ Dotazovací zařízení obdrží odpověď a nyní ví, že zdrojová MAC adresa je správná MAC adresa, kterou lze použít. Výsledek bude samozřejmě uložen do mezipaměti, takže zařízení nemusí pokaždé řešit adresu MAC.
Směrování
Skoro jsem zapomněl zmínit: neexistuje směrování na základě MAC adres. Nízkoúrovňové ethernetové a MAC adresy se mohou dostat pouze ke každému zařízení na internetu stejný síť (kabelová nebo bezdrátová). Pokud máte dvě sítě se směrovačem mezi sebou, nemůžete mít zařízení v síti A odeslat paket na adresu MAC zařízení v síti B. Žádné zařízení v síti A nemá adresu MAC zařízení v síti B, takže a paket na tuto MAC adresu bude vyřazen všemi zařízeními v síti A (také routerem).
Směrování se provádí na úrovni IP. Jednoduše řečeno, router právě dělá to, co jsem popsal výše v části „Jak fungují adresy IP a MAC adresy společně?“. Směrovač obdrží pakety pro svou vlastní adresu MAC, ale pro jinou adresu IP. Poté zkontroluje, zda může přímo dosáhnout cílové adresy IP. Pokud ano, odešle paket k cíli. Jinak má samotný router také nakonfigurovaný upstream směrovač a odešle paket tomuto routeru.
Samozřejmě můžete mít nakonfigurováno více směrovačů. Váš domácí směrovač bude mít nakonfigurován pouze jeden předcházející směrovač, ale v páteřní síti Internet mají velké směrovače velké směrovací tabulky, takže znají nejlepší způsoby pro všechny pakety.
Další případy použití pro MAC adresy
- Síťové přepínače ukládají seznam MAC adres viděných na každém portu a přeposílají pakety pouze na porty, které potřebují vidět paket.
- Bezdrátové přístupové body často používají MAC adresy pro řízení přístupu. Umožňují přístup pouze známým zařízením (adresa MAC je jedinečná a identifikuje zařízení) se správnou přístupovou frází.
- Servery DHCP používají adresu MAC k identifikaci zařízení a přidělení některých zařízení pevnou IP adresou.