Петли маршрутизации является общей проблемой , с различными типами сетей , в частности , компьютерных сетей . Они образуются при возникновении ошибки в работе алгоритма маршрутизации , и в результате в группе узлов путь к конкретному месту назначения образует петлю.
В простейшей версии, петле маршрутизации размера два, узел A думает, что путь к некоторому пункту назначения (назовем его C) проходит через его соседний узел, узел B. В то же время узел B считает, что путь к C начинается в узел А.
Таким образом, всякий раз, когда трафик для C прибывает в A или B, он будет бесконечно зацикливаться между A и B, если не существует какого-либо механизма, предотвращающего такое поведение.
Как может образоваться петля маршрутизации
Например, на этой иллюстрации узел A передает данные узлу C через узел B. Если связь между узлами B и C выходит из строя и B еще не сообщил узлу A о поломке, узел A передает данные узлу B, предполагая, что что линия ABC функционирует и имеет наименьшую стоимость. Узел B знает о неработающей ссылке и пытается связаться с узлом C через узел A, тем самым отправляя исходные данные обратно узлу A. Кроме того, узел A получает данные, которые он отправил обратно от узла B, и сверяется со своей таблицей маршрутизации. В таблице маршрутизации узла A будет указано, что он может достичь узла C через узел B (потому что он еще не был проинформирован о разрыве), таким образом отправляя свои данные обратно узлу B, создавая бесконечный цикл. Эта проблема петли маршрутизации также называется петлей с двумя узлами .
Как может сохраняться петля маршрутизации
Теперь подумайте, что произойдет, если одновременно исчезнут и ссылка от A до C, и ссылка от B до C (это может произойти, если узел C разбился). A считает, что C все еще доступен через B, а B считает, что C доступен через A. В простом протоколе достижимости, таком как EGP , петля маршрутизации будет существовать вечно.
В наивном протоколе вектора расстояния, таком как протокол информации о маршрутизации , цикл будет сохраняться до тех пор, пока метрики для C не достигнут бесконечности (максимальное количество маршрутизаторов, которые может пройти пакет в RIP, равно 15. Значение 16 считается бесконечным, а значение 16 считается бесконечным). пакет отбрасывается).
Профилактика и смягчение последствий
В протоколе маршрутизации на основе состояния канала , таком как OSPF или IS-IS , петля маршрутизации исчезает, как только новая топология сети распространяется на все маршрутизаторы в зоне маршрутизации. Если предположить, что сеть достаточно надежна, это происходит в течение нескольких секунд.
Новые протоколы маршрутизации с вектором расстояния, такие как BGP , EIGRP , DSDV и Babel, имеют встроенную защиту от петель: они используют алгоритмы, гарантирующие, что петли маршрутизации никогда не возникнут, даже временно. Старые протоколы маршрутизации, такие как RIP и IGRP , не реализуют новейшие формы предотвращения петель, а только обеспечивают смягчение последствий, такие как разделение горизонта , отравление маршрута и таймеры удержания .