Назад | Перейти на главную страницу

IP-маршрутизация - как это снова работает?

Может кто-нибудь объяснить мне, как работает IP-маршрутизация?

Например. если я пингую 123.123.123.123, как каждый маршрутизатор узнает, куда идти, как показано на traceroute свалка.

Это объяснение будет упрощено, дайте мне знать, если вам нужны более подробные сведения. Это не совсем точно, но должно дать вам хорошее объяснение.

Он в основном пузырится. Когда вы делаете ping x. Если ваш компьютер не имеет адреса x в таблице маршрутизации, он переходит на свой шлюз (если вы посмотрите на свою таблицу маршрутизации, это будет тот, который имеет назначение по умолчанию или 0.0.0.0), затем он просмотрит свою таблицу маршрутизации, чтобы узнать, есть ли у нее маршрут, соответствующий этому адресу или диапазону IP-адресов, если, например, если он 123.123.123.0/24 в качестве маршрута он будет отправлять его на любой IP-адрес, связанный с этим маршрутом. В противном случае он будет делать то же, что и ваш компьютер, отправьте его по маршруту по умолчанию.

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

  1. ваш компьютер (нет совпадений, отправить по маршруту по умолчанию)
  2. ваш маршрутизатор (нет совпадения, отправьте на маршрут по умолчанию) ->
  3. ....
  4. маршрутизатор X (найдено совпадение для 123.0.0.0/8 со связанным адресом 10.10.10.1)
  5. маршрутизатор в 10.10.10.1 (найдено совпадение для 123.123.0.0/16 со связанным адресом 123.123.0.1)
  6. маршрутизатор на 123.123.0.1 (найдено совпадение для 123.123.123.0/24 со связанным адресом 123.123.123.1)
  7. Маршрутизатор по адресу 123.123.123.1 напрямую подключен к этому компьютеру (или через коммутатор) и отправляет ему пакет, потому что ему известен MAC-адрес сетевой карты.

Команды route и traceroute (tracert для окон) может помочь прояснить это. В unix эти команды имеют -n опция, которая заставляет их показывать адрес, а не DNS-имя конкретного адреса.

с использованием маршрута, мой маршрут по умолчанию - это показать, будет ли:

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.1.1     0.0.0.0         UG    100    0        0 eth0

IFACE здесь важен, потому что он сообщает компьютеру, какая сетевая карта подключена к этому маршрутизатору, который находится по адресу 192.168.1.1. Мой компьютер будет отправлять все пакеты с неизвестным местоположением через eth0 сетевая карта.

Каждый маршрутизатор получает IP-пакет с адресом назначения. Он выберет следующий переход на основе наиболее точного маршрута, соответствующего пункту назначения.

Если мы начнем с вашего компьютера, на нем будет установлено два (их может быть и больше, но обычно «два») маршрута. Один предназначен для локальной сети, а другой - для 0.0.0.0/0 («Интернет», обычно называемый маршрутом по умолчанию). Если машина, которую вы проверяете, не является локальной для локальной сети, пакет будет отправлен на шлюз по умолчанию.

Затем каждый промежуточный маршрутизатор, пока не подключен маршрутизатор, к которому подключена конечная LAN, будет делать то же самое. Найдите наиболее точный маршрут к месту назначения, затем отправьте пакет.

Промежуточные маршрутизаторы, скорее всего, узнают о наилучшем маршруте, используя один или несколько протоколов маршрутизации (BGP, OSPF или аналогичные), как для уменьшения административной нагрузки, так и для обеспечения определенной степени отказоустойчивости.