Насколько я понимаю, таблица переадресации IP состоит в том, что у них есть список различных сетей (идентифицируемых по их диапазонам IP), и они подключаются к маршрутизатору следующего перехода. Однако меня удивляет, почему две записи в этом списке имеют перекрывающиеся IP-адреса. Например, таблица пересылки в маршрутизаторе может выглядеть так:
192.24.0.0/18 D
192.24.12.0/22 B
В приведенной выше таблице адреса от 192.24.12.0
до 192.24.15.255
перекрываются, т. Е. Совпадают с обеими записями table.
Я знаю, что есть способы решить эту проблему, но мой вопрос: почему перекрывающиеся адреса вообще появляются в таблице IP? Почему маршрутизатор должен поддерживать две разные возможности маршрутизации для одного и того же адреса?
Если два или больше маршрута соответствуют месту назначения, самое определенное (т.е. с самой долгой длиной префикса) применяется. Например, если Вы будете иметь
0.0.0.0/0 via A dev eth0
10.0.0.0/8 via B dev eth0
10.1.0.0/16 via C dev eth0
10.1.2.0/24 dev eth0
, то хост направит:
10.1.2.1
непосредственно его месту назначения, 10.1.3.1
, 10.2.1.1
, 1.2.3.4
. Комментарий, что сеть 0.0.0.0/0
обычно называют значение по умолчанию .
Редактирование : В Вашем примере 192.24.12.1
соответствия оба правила, но это будет направлено к B, так как это более конкретно. В моем примере 10.1.2.1
соответствия все правила и четвертые победы.
, Почему сетевые адреса в таблице маршрутизации накладываются? Легче указать его тот путь. Если бы они не могли бы наложиться, я должен был бы добавить маршрут для x.0.0.0/8
для каждого x между 0 и 255 кроме 10.
Это довольно распространено (повсеместный на самом деле) и является этим путь как, как IPv4 (и 6) разработан.
"Маршрут По умолчанию" является ничем больше затем, что маршрут последней инстанции, будучи 0.0.0.0/0
, Имеющим более определенные подсети, позволяет более гибкую маршрутизацию, и, значительно, сокращает количество, если записи потребовали в таблице маршрутизации - в то время как это не имеет значения так в маленьких системах, более крупные маршрутизаторы часто извлекают выгоду из этих оптимизаций.
Точно так же это допускает нейтрализацию, не развертывая динамическую маршрутизацию. Один пример - если существует быстрая, но нестабильная ссылка, куда интерфейс идет вверх и вниз (как ссылка PPP) к интересному сайту и более медленной более общей ссылке, с помощью подсетей, может позволить обработке отказа и тейлбеку быть почти бесшовной.
Другой пример вызывает уточненный маршрут - например, рекламирующий 0.0.0.0/1, и 128.0.0.0/1 через VPN будет иметь результирующий эффект маршрута по умолчанию независимо от метрического набора на маршруте по умолчанию.
Так короче говоря, потому что это - то, как протокол разработан, и это дает гибкость в маршрутизации простым способом (и для реализации и от программирования системы для маршрутизации пакетов)