Na podstawie którego adresu przełącznik podejmuje decyzje o przesyłaniu ramki?
A. Adresu docelowego IP
B. Adresu źródłowego IP
C. Adresu źródłowego MAC
D. Adresu docelowego MAC
Pytanie z egzaminu CKE, styczeń 2016 (arkusz E.13-X-16.01).
Przełącznik Ethernet podejmuje decyzję o przesłaniu ramki przede wszystkim na podstawie adresu docelowego MAC. To jest sedno działania urządzenia warstwy 2 modelu OSI. Gdy ramka trafia na port switcha, urządzenie odczytuje jej nagłówek Ethernet i sprawdza, do jakiego adresu MAC ma ona dotrzeć. Następnie porównuje ten adres z tablicą MAC, często nazywaną też tablicą CAM. Jeśli zna port, za którym znajduje się dany adres MAC, wysyła ramkę tylko tym portem. To ogranicza niepotrzebny ruch w sieci i jest jedną z dużych zalet przełącznika w porównaniu ze starym hubem. Adres źródłowy MAC też jest ważny, ale służy głównie do uczenia się, czyli switch zapamiętuje: ten adres MAC widziałem na tym porcie. Moim zdaniem to bardzo praktyczna rzecz do zapamiętania: switch uczy się z adresu źródłowego, ale przełącza według adresu docelowego. Jeśli adres docelowy MAC nie jest jeszcze znany, przełącznik rozsyła ramkę na inne porty w danej domenie rozgłoszeniowej, czyli wykonuje flooding. Podobnie ramki broadcast, np. na adres FF:FF:FF:FF:FF:FF, trafiają do wszystkich portów w danym VLAN-ie, poza portem wejściowym. W praktyce ma to znaczenie przy projektowaniu sieci LAN, segmentacji VLAN, diagnostyce problemów z ARP oraz przy analizie ramek w Wiresharku. Zgodnie z zasadami działania Ethernet i mechanizmami opisanymi w standardach IEEE 802.3 oraz rodzinie IEEE 802.1, klasyczny przełącznik warstwy 2 nie podejmuje decyzji na podstawie adresu IP. Od tego jest router albo przełącznik warstwy 3, gdy wykonuje routing między sieciami. Dobra praktyka branżowa to rozumieć rozdział: MAC działa lokalnie w sieci Ethernet, IP służy do komunikacji między sieciami. Niby detal, ale w realnej konfiguracji sieci bardzo często ratuje przed myleniem VLAN-ów, bramy domyślnej i tablicy MAC.
W tym pytaniu łatwo pomylić kilka warstw modelu OSI, bo w jednej transmisji często występują jednocześnie adresy IP i adresy MAC. Trzeba jednak patrzeć na to, jaką funkcję pełni klasyczny przełącznik. Switch warstwy 2 analizuje ramkę Ethernet, a nie pakiet IP jako podstawę zwykłego przełączania w sieci LAN. Dlatego adres źródłowy IP ani adres docelowy IP nie są normalnie używane do decyzji, którym portem wysłać ramkę. Adresy IP są istotne dla routerów, zapór sieciowych i przełączników warstwy 3 podczas routingu, czyli wtedy, gdy ruch ma przejść między różnymi sieciami IP. W zwykłym LAN-ie, na poziomie Ethernetu, urządzenie końcowe najpierw musi znać adres MAC następnego skoku, często przez ARP, i dopiero wtedy powstaje ramka z adresem MAC odbiorcy lub bramy. Częsty błąd myślowy polega na tym, że skoro użytkownik wpisuje adres IP albo pinguje adres IP, to każde urządzenie po drodze podejmuje decyzje właśnie według IP. To nie tak, przynajmniej nie na tym etapie. Adres źródłowy MAC też bywa mylący, bo switch rzeczywiście go odczytuje i wykorzystuje, ale głównie do budowania swojej tablicy MAC. Dzięki temu uczy się, jaki adres znajduje się za konkretnym portem. Sama decyzja o wysłaniu ramki dalej opiera się jednak na adresie docelowym MAC. Jeżeli tego adresu nie ma jeszcze w tablicy, przełącznik rozgłasza ramkę w obrębie właściwego VLAN-u, a gdy wpis już istnieje, kieruje ją konkretnym portem. Z mojego doświadczenia, dobre rozróżnienie jest takie: adres źródłowy MAC pomaga switchowi się uczyć, adres docelowy MAC mówi mu, gdzie wysłać ramkę, a adresy IP są sprawą routingu i komunikacji między sieciami. To proste zdanie naprawdę porządkuje temat.