Dlaczego przełączniki potrzebują tabel ARP, gdy tłumaczenie odbywa się po stronie maszyny?

12

Jak wynika z tytułu, dlaczego przełączniki potrzebują tabel ARP, gdy tłumaczenie odbywa się po stronie maszyny?

Z grubsza mówiąc, dlaczego istnieją dwie tabele ARP na maszynach i przełącznikach? Czy ten na przełączniku nie jest wystarczający?

Mohamad-Jaafar NEHME
źródło
Myślę, że odpowiedzi na tej stronie są poprawne. Znalazłem innych komentatorów na innych stronach, którzy twierdzili, że przełączniki L2 zawierają tabele ARP. To nie ma sensu. Tylko urządzenia L3 zawierają tabele ARP.
Stephen Gibbons

Odpowiedzi:

23

Jest to dość powszechne nieporozumienie, a dokładniej problem terminologiczny. W przełączniku drugiej warstwy nie ma tabeli ARP, tylko tabela przesyłania. Przełącznik rejestruje każdy adres MAC src, który widzi jako przychodzący w tabeli przesyłania, i przypisuje go do portu, aby ramki z MAC dst były wysyłane tylko do portu znanego z tego MAC. Wiele osób nazywa to „tabelą arp” lub „pamięcią podręczną arp”, mimo że tak nie jest.

W zarządzanym przełączniku drugiej warstwy znajduje się tabela przesyłania plus tabela ARP, ale ta ostatnia służy tylko do interfejsu zarządzania do komunikowania się z zainteresowanymi hostami (tj. Komputerem, którego używasz do konfigurowania przełącznika). W zarządzanym przełączniku warstwy 3 będzie tablica przesyłania plus tablica ARP, ponieważ jest ona potrzebna do interfejsu zarządzania, a funkcjonalność routera umożliwia przekazywanie między podsieciami.

Jeff Meden
źródło
Rozumiem, że modelowałbyś przełącznik jako zestaw portów (przełączających). Porty to numerowane kolejki pakietów. Przełącznik opróżnia porty w dowolnej kolejności i utrzymuje mapowanie z systemu Mac na port. Kiedy pakiet jest opróżniany z portu, src mac (adres) jest mapowany na port (numer). Gdy pakiet, który ma zostać odsączony, musi zostać dostarczony, jest on wysyłany do portu docelowego komputera Mac, jeśli jest znany, lub rozgłaszany, jeśli nie jest znany. Oznacza to, że port musi uzyskać pakiet eth, aby został zmapowany.
Rob
@Rob, w twoim komentarzu jest wiele niejasnych stwierdzeń, jeśli nie wręcz nieścisłości. Porty nie są kolejkami; na niektórych platformach może istnieć mapowanie 1 do 1, ale nie są one takie same. Adres MAC jest uczony, gdy ramka jest odbierana, a nie przesyłana. Ramki są dostarczane do kolejki wyjściowej w kolejności ich otrzymania, być może w połączeniu z jakimś rodzajem QoS, nie jest to arbitralne. Ramki o nieznanych adresach docelowych są zalewane, a nie rozgłaszane.
YLearn
Następnie: model przełącza się jako numerowane pary kolejek (pakiet Ethernet) (wejście, wyjście). Podczas odczytywania kolejki wejściowej upewnij się, że src mac tego pakietu jest mapowany na numer portu kolejki wejściowej. Ten pakiet musi zostać umieszczony w kolejce wyjściowej odpowiadającej dst mac. Jeśli port nie jest zmapowany, pakiet jest umieszczany w kolejce do wszystkich kolejek innych niż jego własne. (Nie jestem pewien, czym jest rozróżnienie rozgłoszeniowe / powodziowe, ponieważ zakładam, że dosłownie wysyła ten sam sygnał na wszystkich przewodach na poziomie sprzętowym; a może krąży przez porty?)
Rob
Ach ... Myślę, że sprzeciwiam się modelowaniu przełącznika jako kolejek pakietów. Przełącznik może działać na mniejszych porcjach danych niż na całych pakietach. Tj. Gdy tylko wiemy, które porty powinny otrzymać pakiet, dla którego otrzymujemy bajty, możemy wysłać te bajty. np: ustaw w kolejce tyle bajtów, aby obsłużyć nagłówek Ethernet; nie trzymaj całego pakietu.
Rob
@Rob, zalana ramka to ramka emisji pojedynczej z nieznanym miejscem docelowym, które są zalewane przez każdy port inny niż port odbierający. Transmisja to ramka wszystkich miejsc docelowych, która jest wysyłana do wszystkich portów innych niż port odbierający, ale będzie nadal traktowana w ten sposób przez wszystkie przełączniki odbierające ją w domenie rozgłoszeniowej L2. Chociaż podobny efekt działa na jednym przełączniku, wpływ na całą sieć jest znacząco różny.
YLearn
6

Każde urządzenie korzystające z protokołu IP ma tablicę ARP. Ponieważ IP jest protokołem L3 i wymaga bazowego protokołu L2, jest to wymóg, aby urządzenie mogło tłumaczyć adres IP L3 na odpowiadający mu adres L2.

Niezależnie od tego, czy Twoje urządzenie komunikuje się z adresem IP w sieci lokalnej, czy nie, musi wysyłać swój ruch L2 (aby uprościć, wykluczmy transmisję i multiemisję z tej dyskusji) na określone urządzenie w lokalnej domenie L2. Jeśli adres IP znajduje się w sieci lokalnej, będzie to adres bezpośrednio do urządzenia docelowego. Jeśli nie, będzie to urządzenie działające jako brama lub router dla sieci lokalnej, która może przekazywać ruch L3 do miejsca docelowego.

Jeśli przełącznik w ogóle nie korzysta z protokołu IP (tzn. Nie zapewnia żadnego zarządzania przez IP, nie ma funkcji L3 itp.), To nie potrzebuje tabeli ARP.

Nie znam jednak platformy przełączników korporacyjnych, która nie korzysta z protokołu IP. Telnet, SSH, HTTP, HTTPS i SNMP to tylko kilka przykładów powszechnie obsługiwanych usług przełącznika przedsiębiorstwa, które wymagałyby dostępu do adresu IP.

YLearn
źródło
2

Jak zapewne już wiesz, celem tablicy ARP jest tłumaczenie adresów warstwy sieciowej na adresy warstwy łącza. tzn. adresy IP na adresy MAC.

Tabele, do których się odwołujesz, nie są kompletne. Przełączniki warstwy 2 mają również dwa rodzaje tabel:

  • tablica ARP, która służy do komunikacji z przełącznikiem „jak komputer” w celu połączenia z jego elementami sterującymi. Cóż, będzie to mieć, jeśli jest to przełącznik zarządzany

  • tabela, która odnosi porty przełącznika do adresów MAC

Przykład 1: Jeśli komputer uruchomi pakiet, użyje adresu MAC, jeśli adres IP jest lokalny (z tabeli ARP). Kiedy ten pakiet dotrze do przełącznika, przełącznik przeniesie pakiet do odpowiedniego portu na podstawie adresu MAC (z portu przełączników / tablicy MAC).

Przykład 2: Jeśli przełącznik uruchamia pakiet ze swojego interfejsu zarządzania, robi to samo, co komputer, używając tabeli ARP. Ale jeśli przełącznik uruchamia pakiet z funkcji przełączania, to po prostu przenosi ten pakiet z jednego portu do drugiego zgodnie z tabelą portów / MAC.

fred3
źródło
Dziękuję skarbie. Ładne i pomocne przykłady. Proszę nie mylić pakietów i ramek.
Mohamad-Jaafar NEHME
-2

Przełączniki mają tabele adresów MAC.
Punkty końcowe, takie jak komputery PC, mają tabele arp.

Ronnie Royston
źródło
Więc tylko przełączniki mają tabele adresów MAC? I tylko punkty końcowe mają tabele ARP?
YLearn
1
@YLearn Dla rzeczywistych przełączników L2, tak.
Navin,