Как маршрутизатор в Интернете узнает, куда отправить пакет, чтобы получить его по IP-адресу назначения? [закрыто]

Я выполнял небольшую внештатную ИТ-работу (среди прочего) по поводу последнее десятилетие сейчас.Я настроил или перестроил больше локальных сетевых устройств, чем я могу рассчитывать, и в последнее время я изучал некоторые из больших пробелов, которые остались в моих знаниях о сетях. В целом, хотя я определенно не назову себя «экспертом», я думаю, что на данный момент у меня есть достаточное представление о том, как все работает внутри периметра сети, и четкое понимание большинства основ работы с сетью (уровни стека OSI, TCP / IP, DNS, MAC-адресация и ARP, протоколы более высокого уровня и т. д.)

Однако на днях кое-что мне пришло в голову: «Как бы я объяснил кому-то, как маршрутизировать пакет на Интернет действительно работает? " И я понял, что у меня возникнут проблемы с ответом на этот вопрос.

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

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

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

5
задан 10 December 2015 в 10:01
3 ответа

Маршрутизатор имеет таблицу маршрутизации, заполненную информацией о том, куда отправлять пакеты. Если это простой домашний маршрутизатор, он, вероятно, имеет две записи; локальная сеть (например, 192.168.1.0/24) напрямую подключается к интерфейсу LAN, а все остальное отправляется через маршрут по умолчанию на интерфейсе WAN на адрес шлюза (следующий переход), который является маршрутизатором, управляемым поставщиком Интернет-услуг.

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

1
ответ дан 3 December 2019 в 01:24

Маршрутизаторы используют протоколы маршрутизации для распространения информации о местоположении каждой сети в Интернете между собой. Каждый маршрутизатор, который участвует в протоколе маршрутизации, составляет таблицу маршрутизации (другие маршрутизаторы в основном используют предварительно настроенные маршруты по умолчанию). Каждая запись в таблице маршрутизации по существу гласит: «Чтобы достичь пунктов назначения в префиксе P, отправьте через интерфейс I на адрес следующего перехода A» (если только пункт назначения не находится в сети с прямым подключением, и в этом случае адреса следующего перехода нет).

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

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

2
ответ дан 3 December 2019 в 01:24

Как вы уже упоминали, BGP - это ваш основной ответ.

Я постараюсь подвести итог, но ответ может получиться довольно длинным и сложным.

IP-адреса распределяются ARIN + несколькими другими подобными международными организациями, которым поручена работа по распределению и отслеживанию IP-адресного пространства.

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

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

Но опять же, то, что вы ищете, это BGP, и это много вариантов.

Некоторые ссылки для дальнейшего чтения: http://searchtelecom.techtarget.com/feature/BGP-essentials-The-protocol-that-makes-the-Internet-work http://www.cisco.com/c/en/us/support/docs/ip/border-gateway-protocol-bgp/13753-25.html

4
ответ дан 3 December 2019 в 01:24

Теги

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