Маршрутизация петли
Петля маршрутизации является распространенной проблемой в различных типах сетей , особенно в компьютерных сетях . Они образуются, когда в работе алгоритма маршрутизации возникает ошибка , и в результате в группе узлов путь к определенному пункту назначения образует петлю. [1]
В простейшей версии, петле маршрутизации размера два, узел 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 считается бесконечностью, а пакет отбрасывается).
Предотвращение и смягчение последствий [ править ]
В протоколе маршрутизации с отслеживанием состояния канала , таком как OSPF или IS-IS , петля маршрутизации исчезает, как только новая топология сети передается всем маршрутизаторам в зоне маршрутизации. При условии достаточной надежности сети это происходит в течение нескольких секунд. [2]
Новые протоколы маршрутизации с вектором расстояния, такие как EIGRP , DSDV и Babel, имеют встроенную функцию предотвращения петель: они используют алгоритмы, которые гарантируют, что петли маршрутизации никогда не возникнут, даже временные. Старые протоколы маршрутизации, такие как RIP и IGRP, не реализуют новейшие формы предотвращения петель, а реализуют только средства смягчения последствий, такие как разделение горизонта , отравление маршрута и таймеры удержания .
См. также [ править ]
Ссылки [ править ]
- ^ «Что такое петля маршрутизации и как избежать петли маршрутизации?» . Гики для гиков . 04.01.2022 . Проверено 3 февраля 2022 г.
- ^ Кучера, Ян; Басат, Ран Бен; Кука, Марио; Античи, Джанни; Ю, Минлан; Митценмахер, Майкл (23 ноября 2020 г.), «Обнаружение петель маршрутизации в плоскости данных» , Материалы 16-й Международной конференции по новым сетевым экспериментам и технологиям , Нью-Йорк, Нью-Йорк, США: Ассоциация вычислительной техники, стр. 466– 473, номер домена : 10.1145/3386367.3431303 , ISBN 978-1-4503-7948-9 , получено 03 февраля 2022 г.