
Как ответил Baldrickk в другом моем вопросе (о чем-то немного другом), это выглядит "похоже на отправку письма в другую страну - оно сужается до страны, затем региона, затем города, затем улицы, затем здания. Интернет разделен аналогичным образом. Каждый достигнутый шлюз будет знать, что находится на какой стороне (таблицы маршрутизации), например, ваш маршрутизатор знает все адреса 192.168.XX в локальной сети и направляет сообщения другим IP-адресам на другую сторону шлюза. Это происходит по всему Интернету". Как маршрутизаторы узнают, на какую "сторону" должен быть переслан пакет? Я имею в виду, что Интернет состоит из миллионов хостов и сетей, и, очевидно, в средней таблице маршрутизации вы не найдете маршрутов квсеэти сети.
решение1
Внизу находятся конечные сетевые маршрутизаторы. Они просто знают, что локально, а что нет. Типичный маршрутизатор небольшого офиса или дома просто знает, что, скажем, 192.168.1.0/24 локально, а все остальное идет на маршрутизатор провайдера.
На самом верху находятся маршрутизаторы ядра интернета. У них есть полная таблица маршрутизации интернета. У них большое количество маршрутов (околотри четверти миллионаили около того) но очень мало информации о каждом маршруте. Это маршрутизаторы, которые управляют большими региональными сетями и маршрутизацией между различными поставщиками интернет-услуг.
Это верно, что маршрутыделатьсужаются: глобальная таблица интернета содержит только широкие маршруты, указывающие на провайдера, но маршрутизаторы внутри этого провайдера имеют гораздо более узкие маршруты для разных регионов и клиентов. Наконец, как только вы достигнете собственного маршрутизатора клиента, у него будут еще более конкретные маршруты для отдельных подсетей. Поэтому "полная таблица интернета" не содержит каждую отдельную подсеть в мире.
Маршрутизаторам, у которых нет маршрута по умолчанию к маршрутизатору «выше» для охвата всех сотен тысяч сетей, на самом деле приходится иметь огромные таблицы маршрутизации.