Я понимаю протокол разрешения адресов и то, как он вещает всем устройствам в подсети, чтобы найти MAC-адрес назначения. Я знаю, что когда компьютер не может найти назначение через ARP, он приходит к выводу, что оно должно быть в другой подсети, поэтому он отправляет его на маршрутизатор.
Если пункт назначения действительно находится на другом конце земного шара и маршрутизатору приходится подключаться к маршрутизатору вашего интернет-провайдера, как маршрутизатор вообще находит IP-адрес своего шлюза по умолчанию?
решение1
Первый абзац неверен, все наоборот.
ARP используется, когда известно, что пункт назначения находится в текущей сети. Последовательность выглядит примерно так:
Проверьте таблицу маршрутизации для пункта назначения
Таблица маршрутизации проверяется в порядке специфичности, поэтому, хотя записи 192.0.0.0/8 и 192.168.0.0/16 обе соответствуют 192.168.1.1, вторая является более специфичным соответствием. 0.0.0.0/0 соответствует всему и является маршрутом по умолчанию.
Подключено или маршрутизировано?
Соответствующий маршрут будет либо подключенной сетью (отправляющее устройство имеет IP-адрес в той же сети), либо нет. Если подключено, то выдается arp и извлекается mac-адрес (предполагается, что устройство существует), затем пакет передается на уровень 2 (ethernet) для передачи.
Если сеть не является подключенной сетью, то она будет иметь IP-адрес шлюза. Этот IP-адресдолженбыть в подключенной сети. Итак, снова, выдается arp для IP-адреса шлюза, полученного по MAC-адресу, и пакет передается на уровень 2 для передачи на IP-адрес шлюза.
На следующем этапе
По прибытии туда выполняется тот же самый процесс. Либо шлюз имеет IP-адрес назначения на подключенном интерфейсе, либо он передает его другому маршрутизатору.
Создание таблицы маршрутизации
Существует множество способов заполнения таблицы маршрутизации. Маршруты для подключенных сетей всегда настраиваются ОС на основе адресов интерфейсов. В среде, где используется DHCP, интерфейсу выдается IP-адрес, а вместе с ним обычно идет шлюз по умолчанию. Таким образом, как только DHCP выполнен, устройство имеет маршрут подключенной сети и маршрут по умолчанию.
Более простая настройка — статическая. Устройство имеет статически назначенный IP-адрес в своей конфигурации, шлюз по умолчанию и, возможно, некоторые статические маршруты. Все это вручную настраивается на самом устройстве.
Динамическая маршрутизация
Очевидно, что при работе с чем-то таким сложным, как Интернет, ручное добавление статических маршрутов будет сложной задачей. Это все еще происходит на некоторых уровнях, но всему помогают протоколы динамической маршрутизации. Это фактически то, что маршрутизатор «владеет» набором диапазонов IP-адресов и сообщает об этом другим маршрутизаторам. Все маршрутизаторы изучают маршрутизацию друг у друга.
Это означает, что интернет-провайдер может получить новый диапазон IP-адресов, добавить его в свою конфигурацию и объявить его за пределами своей сети, а остальной Интернет узнает об этом без необходимости дополнительной настройки.
Отказ от ответственности
Обратите внимание, что все это описание представляет собой сокращенную версию того, что происходит. Существует множество исключений, оговорок и различных технологий, которые могут изменить ход процесса, но на базовом уровне все работает именно так.
решение2
Вот тут-то и вступают в дело DHCP-серверы. Они отправляют запрос на обнаружение в сети, используя IP-адрес 255.255.255.255, а исходный IP-адрес — 0.0.0.0, поскольку свой собственный IP-адрес они пока не знают.
Однако здесь в игру вступают MAC-адреса, поскольку пакет Discover инкапсулируется в кадр Ethernet канального уровня с целевым MAC-адресом FF:FF:FF:FF:FF:FF, а источником может быть любой MAC-адрес сетевого интерфейса.
Первый коммутатор, который получает пакет для FF:FF:FF:FF:FF:FF, перешлет этот пакет discover из каждого порта коммутатора, кроме того, с которого он пришел, поскольку он не знает, кто такой FF:FF:FF:FF:FF:FF, пока его не увидит DHCP-сервер. Если DHCP-сервер — это первый коммутатор, он не перешлет запрос, поскольку коммутатор — это DHCP-сервер, он получит этот кадр, а затем отправит информацию обратно на IP 255.255.255.255, поскольку он не знает, кто с ними связывается, поскольку исходный IP-адрес — 0.0.0.0, но он знает MAC-адрес, с которого с ними связались, поэтому он инкапсулирует пакет offer, при этом исходный MAC-адрес будет DHCP-сервером, а целевой MAC-адрес — устройством, отправившим пакет discover, и он будет отправлен как одноадресная рассылка, а не как широковещательная рассылка.
Затем устройство получает это предложение, затем запрашивает аренду, DHCP-сервер затем подтверждает аренду.
Также обратите внимание, что если шлюз по умолчанию означает, что ваше соединение должно проходить через другие устройства, это обычно означает, что маршрут задан статически или, другими словами, установлен вручную, а не является динамическим маршрутом, поскольку определенные настройки не позволяют устройству определить, какое устройство на самом деле является шлюзом по умолчанию.
решение3
Большинство интернет-подключений используют ту или иную форму PPP — будь то PPPoA для DSL или PPPoE для кабельного соединения.
PPP — это протокол «точка-точка» (что, в конце концов, и отражено в его названии), и поэтому шлюзом по умолчанию всегда будет то, что находится на другом конце соединения PPP.
Нет необходимости, чтобы это было обнаружено каким-либо образом, поскольку это то, что есть. Единственный вопрос в том, следует ли активно использовать удаленный конец PPP-соединения в качестве шлюза по умолчанию, что вы обычно и делаете.