В маршрутизаторе перераспределение маршрутов позволяет сети, использующей один протокол маршрутизации , динамически маршрутизировать трафик на основе информации, полученной от другого протокола маршрутизации.
В Интернете маршрутизаторы пересылают пакеты данных между компьютерными сетями . [1] [2] Для того чтобы маршрутизатор определил, куда пересылать каждый пакет, он может использовать:
В небольшой сети, например, дома или в домашнем офисе, маршрут по умолчанию часто используется для отправки всего трафика интернет-провайдеру пользователя . Аналогично, сети среднего размера, например, филиалы или небольшие интернет-провайдеры, могут использовать маршруты по умолчанию для трафика, предназначенного для публичного Интернета . Но в сетях среднего и большого размера маршрутизаторы используют протоколы динамической маршрутизации для определения наилучших путей к различным сетевым пунктам назначения.
Иногда сеть может использовать более одного протокола динамической маршрутизации, например, если происходит слияние двух разных компаний или если используются сетевые устройства от разных поставщиков. [8] В таких сетях часто бывает полезно перераспределять информацию из одного протокола маршрутизации в другой. [9]
Перераспределение маршрутов может использоваться для того, чтобы позволить разным сетям, принадлежащим одной компании, общаться друг с другом. Его также можно использовать, когда две компании объединяются и их сети используют разные протоколы маршрутизации. И его можно использовать в сочетании с VRF или MP-BGP .
При ненадлежащей реализации перераспределение маршрутов может привести к образованию петель маршрутизации .
Каждый протокол маршрутизации содержит механизмы избегания петель, но информация, необходимая для избегания петель, теряется при перераспределении маршрутов. Например, протокол маршрутизации на основе вектора расстояния может предотвращать петли с помощью правила «расщепления горизонта»; то есть, если маршрутизатор узнает маршрут из определенного интерфейса, он не будет повторно объявлять маршрут из того же интерфейса. Другими словами, если A узнает от B, что путь к C проходит через B, то он не скажет B направлять пакеты, предназначенные для C, через A. Аналогично, протокол маршрутизации на основе состояния канала может хранить базу данных, содержащую состояние различных каналов в сети, представляя собой «карту» (так сказать) сети. Но часть сети, маршруты которой изучаются путем перераспределения, не «отображаются» таким же образом. Информация «где я узнал этот маршрут?» теряется в процессе перераспределения.
Вероятность образования петель увеличивается, если в одной сети имеется более одного маршрутизатора, выполняющего перераспределение, и если перераспределение происходит в обоих направлениях (например, как из EIGRP в OSPF, так и из OSPF в EIGRP).