Jaka jest różnica między tabelami przekazywania i routingu?
źródło
Routing to decyzja, przez który interfejs ma zostać wysłany pakiet. Tę decyzję należy podjąć także w przypadku pakietów tworzonych lokalnie. Tabele routingu zawierają adresy sieciowe i powiązany interfejs lub narzędzie Nexthop. Dotyczy to ip route
i ip rule
(w kontekście Linuksa).
Przekazywanie odnosi się do pakietów, które docierają do systemu, ale nie są przeznaczone dla tego systemu. Przekazywanie jest decyzją systemu: „Biorę pakiet i staram się doprowadzić go do miejsca docelowego”. Zamiast go po prostu upuścić. „przekazywanie” jest powszechnym terminem w kontekście filtrów pakietów. Netfilter w Linuksie ma trzy łańcuchy w swojej tabeli bazowej: WEJŚCIE, WYJŚCIE i DO PRZODU. Ten łańcuch po prostu podejmuje decyzję „Czy ten pakiet powinien zostać przesłany dalej, czy odrzucony?” (jeśli przekazywanie jest ogólnie włączone w systemie; Linux ponownie: / proc / sys / net / ipv4 / ip_forward).
W większości systemów - tych z jednym połączeniem sieciowym - będą takie same. Na routerze będą się jednak różnić.
Tabela routingu przechowuje wszystkie trasy, których router uczy się od swoich rówieśników i sąsiadów za pomocą dynamicznego protokołu routingu, takiego jak OSPF lub BGP. Każda trasa jest sortowana i oceniana na podstawie parametrów używanego protokołu routingu, a podzbiór pozycji tablicy routingu, które są „najlepsze”, jest umieszczany w tabeli przekazywania. Gdy router odbiera pakiet, sprawdza adres docelowy w tabeli przesyłania, aby zdecydować, za pośrednictwem którego interfejsu wysłać pakiet i jaki powinien być adres następnego przeskoku. W miarę uczenia się nowych tras, podnoszenia lub obniżania interfejsów lub zmian zasad w schemacie rankingu, tabela routingu jest ponownie oceniana, a tabela przesyłania aktualizowana.
Tabele routingu są zwykle przechowywane w pamięci RAM; stoły przekazujące na sprzęcie o wysokiej wydajności będą rozłożone na karty liniowe (w systemach modułowych) i będą przechowywane w szybszej TCAM. Zazwyczaj istnieje ograniczona liczba tras, które mogą odbywać się w TCAM; gdy tabela przesyłania przekroczy pojemność TCAM, pakiety mogą zostać upuszczone lub skierowane do oprogramowania (co jest znacznie wolniejsze).
źródło
Po pierwsze, moim zdaniem, uważam, że powinieneś najpierw dobrze zrozumieć różnicę między przekazywaniem a routingiem , co często jest zaniedbywane. Zgodnie z książką Computer Networks na stronie 240 autorstwa Lary L. Peterson , przekazywanie to szereg działań, które router podejmie po odebraniu pakietu, w tym sprawdzenie adresu docelowego, sprawdzenie tabeli i wysłanie pakietu w kierunku określonym przez ten stół. Jednak routing tutaj odnosi się do procesu, w którym budowane są tabele przekazywania.
Wracając do pierwotnego pytania, możemy wyciągnąć wniosek, że chociaż możemy zachować tabelę przekazywania i tabelę routingu w tych samych strukturach, istnieje wiele powodów, aby je rozdzielić. Tabela spedycja zwykle musi być tak skonstruowane, aby zoptymalizować proces patrząc adres przekazując pakiet, który posiada więcej informacji, takich jak adres MAC. W przeciwieństwie do tego, tabela routingu zwykle koncentruje się na obliczaniu zmian w topologii, a wpisy w tabeli routingu są zwykle bardziej zwięzłe, z uwzględnieniem tylko adresu IP następnego przeskoku.
źródło
Tabela routingu zawiera całą ścieżkę do innego miejsca docelowego (ten sam cel może mieć 2 lub więcej różnych ścieżek)
ale
Tabela przekazywania zawiera tylko najlepszą ścieżkę do każdego miejsca docelowego (tylko jedna ścieżka dla każdego miejsca docelowego)
źródło