W jaki sposób przełącznik uczy się adresu MAC, którego nie ma w tabeli odnośników?

12

Mam stosunkowo głupie pytanie. Załóżmy, że Switch właśnie się uruchomił i otrzymał ramkę zawierającą docelowy adres MAC urządzenia sieciowego, którego nie ma w tabeli adresów MAC.

Co się wtedy stanie? Czy nadaje (adres MAC ff:ff:ff:ff:ff:ff) i odbiera odpowiedzi z podłączonych urządzeń, czy też istnieje protokół dedykowany do tego, który jest używany? Nie sądzę, że przełącznik używa ARP (Address Resolution Protocol)?

Ron Maupin
źródło
1
Jeśli się nad tym zastanowić, kiedy przełącznik nie może faktycznie zmienić ramki (ponieważ na przykład nie ma w tabeli niezbędnego adresu), zwykle musi traktować tę ramkę jako hub ze względu na kompatybilność.
Todd Wilcox,
Naprawdę dziękuję wszystkim za odpowiedzi.

Odpowiedzi:

28

Dobre pytanie. Odpowiem animacją:

wprowadź opis zdjęcia tutaj

Kiedy host A wysyła ramkę, przełącznik nie ma niczego w swojej tabeli adresów MAC. Po odebraniu ramki rejestruje adres MAC hosta A w celu przełączenia mapowania portów . Ponieważ nie wie, gdzie jest docelowy adres MAC, wysyła ramkę do wszystkich portów.

Zapewnia to, że jeśli host B istnieje (który w tym momencie przełącznik jeszcze nie wie), że go otrzyma. Mamy nadzieję, że po otrzymaniu ramki Host B wygeneruje ramkę odpowiedzi, która pozwoli Switchowi nauczyć się mapowania adresu MAC z ramki powrotnej.

Możesz przeczytać więcej o tym, jak Przełącznik działa tutaj (gdzie wziąłem z animacji). Proponuję również przeczytać całą serię artykułów, aby bliżej przyjrzeć się, jak pakiet porusza się w sieci .

Ostatnia uwaga dotycząca warunków Flooding vs. Broadcast . Przełącznik nigdy nie emituje ramek, transmisja nie jest działaniem, które może podjąć przełącznik. Przełącznik może zalać tylko ramkę. Nadawane jest tylko ramka z docelowym adresem MAC ffff.ffff.ffff. Jest to często mylone, ponieważ efekt końcowy jest taki sam, ale tak naprawdę są różne .

Eddie
źródło
Główną różnicą między powodzią a transmisją jest to, jak zareagują kolejne węzły
Ferrybig
2
@Ferrybig Correct. Ale chciałbym fraza to nieco inaczej ... Główną różnicą pomiędzy przełącznikiem zalewa się unicast ramkę, a przełącznik zalewa do nadawania ramki jest jak kolejny węzeł (y) będą reagować. Nie ma czegoś takiego jak przełącznik nadający ramkę. (Ten komentarz i moja odpowiedź mówi o ruchu tranzytowym, a nie o zarządzaniu ruchem do / z przełącznika)
Eddie,
5

Przełącznik nie korzysta z ARP, ale ARP może pomóc w zapobieganiu takiej sytuacji z dwóch powodów:

  1. Jeśli węzeł A wysyła pakiet IP do węzła B, który nie znajduje się w pamięci podręcznej ARP, najpierw wyśle ​​żądanie ARP (które jest pakietem rozgłoszeniowym i zostanie automatycznie zalane do wszystkich portów przez przełącznik). Kiedy węzeł B wyśle ​​odpowiedź ARP, przełącznik pozna jego adres MAC. Do czasu faktycznego transferu danych przełącznik zna adresy MAC uczestników i nie musi zalewać pakietów danych.

  2. Wiele urządzeń po podniesieniu łącza wyśle darmowy pakiet ARP . Oprócz aktualizacji pamięci podręcznej ARP innych węzłów w sieci, GARP zapełni również tablicę adresów MAC przełącznika.

IPv6 nie używa ARP, ale NDP spełnia podobny cel.

Więc ogólnie rzecz biorąc, chociaż przełączniki z pewnością będzie zalewać klatek na adresy unicast nie nauczyli, że nie jest konieczne tak często, jak mogłoby się wydawać, ponieważ będzie to zazwyczaj mają możliwość uczenia się adresów węzłów od ramek transmisji wcześniej. Można jednak na pewno to zaobserwować za pomocą przełącznika, który miał przepełnioną tabelę MAC lub który właśnie się zrestartował.

Hobbs
źródło
4

Gdy przełącznik odbiera ramkę, aktualizuje swoją tablicę adresów MAC o źródłowy adres MAC i port, na którym odebrał ramkę. Jeśli docelowego adresu MAC nie ma w jego tabeli adresów MAC (nieznana emisja jednostkowa), następuje zalanie ramki do wszystkich portów, z wyjątkiem portu, na który ramka została odebrana.

Ron Maupin
źródło
Z wyjątkiem sytuacji, gdy powodzi, nie zalewa ramki z powrotem do portu, z którego ją otrzymała, prawda?
Todd Wilcox,
1
Dobrze. nie wysyła go do portu, z którego odebrano ramkę.
Ron Maupin
3
Dodam tylko, że przełącznik nie uczy się nowego (docelowego) adresu MAC, dopóki urządzenie nie odpowie.
Ron Trunk
Zalewając ramkę do wszystkich portów, istnieje ryzyko bezpieczeństwa?
3
To może być. I dlatego niektóre / wiele przełączników obsługuje wyłączenie zalewania emisji pojedynczej nieznanej emisji pojedynczej (a także multiemisji). W ciągu trzech dekad pracy w sieci nigdy nie musiałem z niej korzystać.
Ricky Beam,