Skąd pakiet IP wie, którą bramę wybrać?

11

Załóżmy, że dwie bramy istnieją w tej samej sieci. Jeśli dobrze rozumiem, tabela routingu IP na komputerze nadawcy decyduje, które pakiety są kierowane przez którą bramę.

Tabele routingu IP zawierają adres IP bramy.

W jaki sposób używany jest ten adres IP bramy podczas wysyłania pakietów IP?

Simon Farshid
źródło
1
Pakiet nie „wie”, router decyduje, do której bramy ma go wysłać, niezależnie od tego, jakie połączenie istnieje między routerem a wybraną bramą. (Jak wskazują odpowiedzi, sieć Ethernet jest dobrze znaną i powszechną warstwą 2 dla ruchu IP).
Peter Cordes

Odpowiedzi:

14

TL; DR: adres bramy jest przechowywany tylko w ramce Ethernet, która przechowuje ten pakiet TCP / IP

Serwer-> przełącznik-> ruch routera, a także serwer-> przełącznik-> ruch serwera to miejsce, w którym adresowanie IP nie odgrywa żadnej znaczącej roli. To świat podstawowych protokołów, najprawdopodobniej Ethernet. To świat, który działa na adresowaniu MAC.

Musisz tylko rozwiązać problem, że domyślną bramą jest adres IP. To coś w rodzaju ... przy uruchomieniu ... ale ten parametr IP bramy jest potrzebny tylko do zrobienia jednej rzeczy, a mianowicie do pytania: kto ma tutaj 192.168.1.1? Odpowiedź brzmi: brama to MAC 88: 99: aa: bb: cc: dd: ee: ff. (To zapytanie / odpowiedź ARP, tłumacz między dwoma światami.) Pakiet trafia do tego MAC na poziomie Ethernet, mimo że może mieć inne miejsce docelowe na poziomie IP.

Tak więc pakiet jest oznaczony, aby przejść do wybranej bramy, kodując go w polu „docelowy MAC” ramki Ethernet. Pole określa, która brama w tej sieci je otrzyma, jeśli istnieje wiele bram. („Ramka” to leżąca poniżej kapsułka, w której znajduje się pakiet lub część pakietu).

kubańczyk
źródło
2
Poszedłbym dalej i powiedziałbym, że to jedyna odpowiedź, która faktycznie odpowiada na pytanie.
Peter Green
3
Dotyczy to nie tylko domyślnej bramy, ale także adresu „następnego przeskoku” dla dowolnego wpisu w tablicy routingu.
Peter Green,
2
Oczywiście istnieją inne protokoły warstwy 1/2 niż Ethernet. Protokoły LAN IEEE mają adresy MAC, ale inne protokoły używają czegoś lub niczego innego.
Ron Maupin
6

Nagłówek datagramu IP zawiera tylko informacje o adresie źródła i miejsca docelowego. W zależności od miejsca docelowego router powinien wiedzieć, gdzie dalej przesłać pakiet, a ta informacja jest przechowywana w tabeli routingu.

Może istnieć statyczna informacja o trasie dla adresu lub jego podsieci, a dla pozostałych używana jest brama domyślna . Zwykle dzieje się tak w sieci lokalnej: może istnieć statyczne trasowanie do innych sieci lokalnych i domyślna brama dla reszty, tj. Internetu. W przypadku kilku bram domyślnych, tj. Tras do 0.0.0.0lub ::, brama aktywna zostaje wybrana na podstawie wartości Preferencji lub Metryki .

Sprawa komplikuje się, gdy istnieje kilka tras między miejscami docelowymi, ponieważ istnieją one między dostawcami usług internetowych na poziomie Internetu. Istnieje kilka metod udostępniania informacji między routerami: RIP ( Routing Information Protocol ), Open Shortest Path First (OSPF) i Border Gateway Protocol (BGP). Niezależnie od tego, w jaki sposób te informacje są udostępniane, tablica routingu zna następny skok, a pakiet IP jest świadomy tylko swojego ostatecznego miejsca docelowego.

Esa Jokinen
źródło
1
Warto również wspomnieć o routingu opartym na zasadach, w którym można wybierać różne tabele routingu w oparciu o różne kryteria, takie jak źródłowy adres ip lub znak zapory.
Bratchley,
Nie zapomnij wyjaśnić, że najdłuższe dopasowanie prefiksu ma pierwszeństwo przed wszystkim innym, gdy możliwe są dwa dopasowania.
Ron Maupin
Pytanie nie dotyczy tego, w jaki sposób router przesyła pakiet, ale przede wszystkim, w jaki sposób nadawca wysyła go do właściwego routera.
Barmar
@Barmar: Oryginalna wersja tego pytania mogła zostać zinterpretowana na dwa sposoby, a ta odpowiedziała na drugie. Proces wyboru routera na podstawie tabeli routingu jest taki sam na maszynie inicjującej. Dlatego nadal uważam tę odpowiedź za przydatną, podczas gdy druga obniża jedną warstwę. Uzupełniają się.
Esa Jokinen
Właśnie sprawdziłem historię edycji. Nie widzę istotnej różnicy w oryginalnej wersji. Pytanie brzmi, w jaki sposób pakiet dociera do routera, który jest określony na podstawie tabeli routingu.
Barmar
2

Jedną z możliwości jest to, że sieć jest skonfigurowana z protokołem redundancji pierwszego przeskoku (FRHP), takim jak VRRP lub HSRP. FHRP ma adres bramy wirtualnej, którego używają hosty, a ruch wysyłany na adres wirtualny jest odbierany przez jeden z fizycznych routerów, który następnie przekazuje ruch. Jeśli podstawowy router ulegnie awarii, router pomocniczy może to ustalić i przejąć przekazywanie pakietów.


W każdym razie pakiety nie określają ścieżki, którą podążają. Każdy pakiet jest przesyłany indywidualnie i niezależnie od innych pakietów, w oparciu o informacje w tablicy routingu routera, a pakiety do tego samego miejsca docelowego z tego samego źródła mogą przyjmować różne ścieżki, jeśli tabela routingu ulegnie zmianie.

Routery uczą się tras na trzy sposoby:

  1. Bezpośrednio połączone sieci
  2. Trasy skonfigurowane statycznie
  3. Poprzez dynamiczny protokół routingu
Ron Maupin
źródło
2

Krótka i prosta odpowiedź: nie jest zakodowana w pakiecie lub jest to docelowy adres Ethernet, w zależności od tego, jak na to patrzysz. Stos IP / Ethernet sprawdza, która brama obsługuje docelowy adres IP, wysyła żądanie ARP dla adresu IP bramy w celu uzyskania adresu MAC, a następnie wysyła pakiet na adres MAC bramy. Brama następnie przekazuje pakiet i robi to samo ponownie. Zakłada to sieć Ethernet.

Myślę, że odpowiedziałem na to, o co prosisz. Kiedyś zastanawiałem się nad tym samym. Twoje pytanie można również zinterpretować jako sposób, w jaki host, biorąc pod uwagę konkretną tabelę routingu, decyduje, do której bramy wysłać pakiet wychodzący.

Alex Cannon
źródło
0

Oczywiście jednym szczegółem, który się analizuje, jest to, czy trasa jest zgodna. Jeśli wysyłam do 192.0.2.55/24, a dla ruchu do 10.55.0.0/16 dostępna jest trasa, trasa ta jest ignorowana, ponieważ nie ma zastosowania.

Kolejnym kryterium, na które zwykle się patrzy, jest posiadanie bardziej szczegółowych tras, które mają priorytet w stosunku do bardziej ogólnych tras. Przez „określoną” trasę rozumiem mniejsze podsieci. Innymi słowy, większe liczby przy użyciu notacji / CIDR i większe maski podsieci przy użyciu notacji „maska ​​podsieci”. Innymi słowy, sieci docelowe z mniejszą liczbą możliwych adresów.

Tak więc „brama domyślna”, znana również jako „brama ostatniej szansy”, zazwyczaj określa miejsce docelowe dla całego ruchu do sieci 0.0.0.0/0. Każda trasa dla mniejszej sieci będzie „bardziej szczegółowa” niż ta i będzie miała pierwszeństwo. Tak więc 192.0.2.0/24 będzie miał wyższy priorytet.

Po trzecie, trasy zwykle mają inne pole zwane „metryką”, a czasem inną nazwą, np. „Priorytet”. Jeśli masz wiele sieci tego samego rozmiaru, może to mieć wpływ.

Te wartości „metryczne” mogą być generowane automatycznie (np. W ten sposób, że sieć o większej prędkości jest wykorzystywana do większego ruchu), ale mogą być dostosowywane ręcznie.

Gdzie informacja o bramce, którą należy pobrać, jest zakodowana w pakietach IP wysyłanych?

Pakiety IP nie zawierają żadnych informacji o routingu, z wyjątkiem określenia docelowego adresu IP. Szczegóły routingu są określane przez sprzęt, który obsługuje routing po drodze, i takie szczegóły zwykle nie są umieszczane w pakiecie IP. (Dlatego sprzęt nie szuka takich szczegółów, ponieważ go nie ma. Ponieważ sprzęt nie szuka takich informacji, próba włączenia takich informacji byłaby bezcelowa).

RFC 791 strona 11 pokazuje tabelę w stylu „ASCII ART” informacji znajdujących się w pakiecie IP. Po tej tabeli dokument ten zawiera szczegółowe informacje (np. Sekcja „Opcje” została opisana na stronie 15).

TOOGAM
źródło