How does an IP packet know which gateway to take?

Suppose two gateways exist on the same network. If I understand correctly, the IP routing table on sender's computer decides which packets get routed through which gateway.

IP routing tables contain the IP address of the gateway.

How is this IP address of the gateway used when sending IP packets?

11
задан 25 March 2018 в 14:20
5 ответов

TL; DR: в кадре Ethernet, который содержит этот пакет TCP / IP

Трафик сервер-> коммутатор-> маршрутизатор, а также трафик сервер-> коммутатор-> сервер, здесь IP-адресация фактически не играет какой-либо значимой роли. Это мир базового протокола, скорее всего, Ethernet. Итак, это мир, который работает на MAC-адресации.

Так что вам нужно только разрешить заблуждение, что шлюз по умолчанию - это IP-адрес. Это вроде как ... при запуске ... но этот параметр IP шлюза только необходим для выполнения одной задачи, а именно для вопроса: у кого здесь 192.168.1.1? Ответ приходит, что это шлюз MAC 88: 99: aa: bb: cc: dd: ee: ff. (Это запрос / ответ ARP, транслятор между двумя мирами.) Пакет переходит на этот MAC-адрес на уровне Ethernet, несмотря на то, что он может иметь другое место назначения на уровне IP.

Таким образом, пакет помечается для перехода к выбранный шлюз, закодировав его в поле «MAC-адрес назначения» кадра Ethernet. Поле определяет, какой шлюз в этой сети получит его, если есть несколько шлюзов. («Фрейм» - это нижележащая капсула, в которой находится пакет или его часть.)

13
ответ дан 2 December 2019 в 21:45

Заголовок IP-дейтаграммы содержит только адресную информацию об источнике и получателе. В зависимости от пункта назначения маршрутизатор должен знать, куда пересылать пакет дальше, и эта информация сохраняется в таблице маршрутизации.

Для адреса или его подсети может быть статический маршрут , а для остальных используется шлюз по умолчанию . Обычно это происходит в локальной сети: там может быть статическая маршрутизация в другие локальные сети и шлюз по умолчанию для остальных, то есть в Интернет. В случае нескольких шлюзов по умолчанию , то есть маршрутов к 0.0.0.0 или :: , активный выбирается с помощью его Предпочтения или Значение метрики

Ситуация усложняется, когда между пунктами назначения существует несколько маршрутов, как между поставщиками услуг Интернета на уровне Интернета. Существует несколько способов обмена информацией между маршрутизаторами: Протокол информации о маршрутизации (RIP), Сначала откройте кратчайший путь (OSPF) и Протокол пограничного шлюза ( BGP). Независимо от того, как эта информация передается, таблица маршрутизации знает следующий переход, а IP-пакет знает только его конечный пункт назначения.

6
ответ дан 2 December 2019 в 21:45

Краткий и простой ответ: он не кодируется в пакете или является целевым адресом Ethernet, в зависимости от того, как вы на него смотрите. Стек IP / Ethernet проверяет, какой шлюз обрабатывает IP-адрес назначения, отправляет ARP-запрос для IP-адреса шлюза, чтобы получить его MAC-адрес, а затем отправляет пакет на MAC-адрес шлюза. Затем шлюз пересылает пакет и снова делает то же самое. Это предполагает сеть Ethernet.

Думаю, я ответил на ваш вопрос. Однажды я подумал о том же. Ваш вопрос также можно интерпретировать как то, как хост, учитывая конкретную таблицу маршрутизации, решает, на какой шлюз отправить исходящий пакет.

2
ответ дан 2 December 2019 в 21:45

Одна из возможностей состоит в том, что сеть сконфигурирована с использованием протокола резервирования первого участка (FRHP), такого как VRRP или HSRP. У FHRP есть адрес виртуального шлюза, который используют хосты, и трафик, отправляемый на виртуальный адрес, перехватывается одним из физических маршрутизаторов, который затем пересылает трафик. Если первичный маршрутизатор выходит из строя, вторичный маршрутизатор может определить это и взять на себя пересылку пакетов.


В любом случае пакеты не определяют путь, по которому они идут. Каждый пакет пересылается индивидуально и независимо от любых других пакетов на основе информации в таблице маршрутизации маршрутизатора, и пакеты в один и тот же пункт назначения из одного и того же источника могут проходить по разным путям, если таблица маршрутизации изменяется.

Маршрутизаторы изучают маршруты в трех способов:

  1. Сети с прямым подключением
  2. Статически настроенные маршруты
  3. Через протокол динамической маршрутизации
2
ответ дан 2 December 2019 в 21:45

Конечно, одна деталь, на которую обращают внимание, - совпадает ли маршрут. Если я отправляю на 192.0.2.55/24 и для трафика доступен маршрут до 10.55.0.0/16, то этот маршрут игнорируется, потому что он не применяется.

Следующий критерий, который обычно рассматривается, - иметь больше конкретные маршруты имеют приоритет перед более общими маршрутами. Под «конкретным» маршрутом я подразумеваю более мелкие подсети. Другими словами, большие числа при использовании нотации / CIDR и большие маски подсети при использовании нотации «маска подсети». Другими словами, сети назначения с меньшим количеством возможных адресов.

Таким образом, «шлюз по умолчанию», также известный как «шлюз последней инстанции», обычно определяет место назначения для всего трафика в сеть 0.0.0.0/0. Любой маршрут для меньшей сети будет «более конкретным», чем этот, и будет иметь приоритет. Итак, 192.0.2.0/24 будет иметь больший приоритет.

В-третьих, маршруты обычно имеют другое поле, называемое «метрикой», или иногда другое имя, например «приоритет». Если у вас есть несколько сетей одинакового размера, это может оказать влияние.

Эти «метрические» значения могут быть созданы автоматически (например, таким образом более высокоскоростная сеть используется для большей части трафика) , но ее можно настроить вручную.

Где информация о шлюзе, которая должна быть взята, закодирована в отправленных IP-пакетах?

IP-пакеты не содержат никакой информации о маршрутизации, за исключением указания IP-адреса назначения. Детали маршрутизации определяются оборудованием, которое обрабатывает маршрутизацию в пути, и такие детали обычно не помещаются в IP-пакет (поэтому оборудование не ищет такие детали, поскольку их там нет. Поскольку оборудование не выглядит для такой информации было бы бессмысленно пытаться включить такую ​​информацию.)

RFC 791 стр. 11 показывает таблицу в стиле "ASCII ART" информации, которая содержится в IP-пакете. После этой таблицы это документ показывает подробности (например, раздел «Параметры» описан на стр. 15).

0
ответ дан 2 December 2019 в 21:45

Теги

Похожие вопросы