stringtranslate.com

Реклама маршрута «Разделенный горизонт»

В компьютерных сетях объявление маршрутов с разделением горизонта представляет собой метод предотвращения образования петель маршрутизации в протоколах маршрутизации на основе векторов расстояний , запрещающий маршрутизатору объявлять маршрут обратно на интерфейс, с которого он был получен.

Концепция была предложена в 1974 году Торстеном Цегреллом и первоначально реализована в шведской сети TIDAS, созданной по образцу ARPANET . [1] [2] [3]

Терминология

Вот некоторая базовая терминология:

В то время как при расщепленном горизонте N не посылает никакой информации через I, при отравлении обратный узел N говорит невинную ложь.

Пример

В этом примере сетевой узел A направляет пакеты в узел B , чтобы достичь узла C. Связи между узлами представляют собой отдельные двухточечные связи.

Согласно правилу расщепления горизонта, узел A не объявляет свой маршрут для C (а именно от A к B к C ) обратно к B . На первый взгляд, это кажется излишним, поскольку B никогда не будет маршрутизировать через узел A , потому что маршрут стоит дороже, чем прямой маршрут от B к C . Однако, если связь между B и C выйдет из строя, и B получил маршрут от A к C , B может в конечном итоге использовать этот маршрут через A . A отправит пакет обратно в B , создав петлю. Это проблема счета до бесконечности . При наличии правила расщепления горизонта этот конкретный сценарий петли не может произойти, что улучшает время сходимости в сложных, высокоизбыточных средах.

Маршрутизация с разделением горизонта с обратным отравлением [4] — это вариант объявления маршрута с разделением горизонта, при котором маршрутизатор активно объявляет маршруты как недостижимые через интерфейс, по которому они были изучены, устанавливая метрику маршрута на бесконечность (16 для RIP ). Эффект такого объявления заключается в немедленном удалении большинства петлевых маршрутов до того, как они смогут распространиться по сети.

Основным недостатком poison reverse является то, что он может значительно увеличить размер объявлений маршрутизации в некоторых довольно распространенных топологиях сети, но позволяет повысить общую эффективность сети в случае сбоев. Split horizon утверждает, что если соседний маршрутизатор отправляет маршрут маршрутизатору, принимающий маршрутизатор не будет распространять этот маршрут обратно на объявляющий маршрутизатор на том же интерфейсе.

При отравлении маршрута, когда маршрутизатор обнаруживает, что один из его подключенных маршрутов вышел из строя, маршрутизатор отравляет маршрут, назначая ему бесконечную метрику и объявляя об этом соседям. Когда маршрутизатор объявляет отравленный маршрут своим соседям, его соседи нарушают правило разделенного горизонта и отправляют обратно отправителю тот же отравленный маршрут, называемый обратным отравлением. Чтобы дать маршрутизатору достаточно времени для распространения отравленного маршрута и гарантировать, что во время распространения не возникнет никаких петель маршрутизации, маршрутизаторы реализуют механизм удержания.

Яд Обратный

Poison Reverse часто используется в маршрутизации по вектору расстояния для решения проблемы счета до бесконечности . На практике, poison reverse можно рассматривать как альтернативу split horizon. При poison reverse объявления маршрутов, которые были бы подавлены split horizon, вместо этого объявляются с расстоянием бесконечности.

Основная идея ядовитого обратного пути заключается в том, чтобы убедиться, что путь не возвращается в тот же узел, если стоимость изменилась в сети. Примером этого может служить: узел Z прокладывает маршрут через узел Y к месту назначения X. Если стоимость между Y и X увеличивается, возникнет проблема счета до бесконечности. Чтобы избежать этого, мы реализуем ядовитый обратный путь. Пока Z прокладывает маршрут через узел Y, чтобы добраться до X, Z будет говорить Y белую ложь: Z объявит Y бесконечную стоимость до места назначения X.



Цифры по краям — это стоимость ссылок.

Следуя этой топологии, строим векторы расстояний всех узлов сети:

Первая, вторая и третья строки соответствуют векторам расстояний до узла Z, узла Y и узла X соответственно.

Следующая матрица содержит оценки расстояний от Z до всех остальных узлов сети через каждого из его соседей.

Поскольку Z прокладывает маршрут через Y, чтобы добраться до X, стоимость перехода из Z в X составляет 3. Обратный яд включается, когда узел транслирует свой вектор расстояния своим соседям. Векторы расстояния, транслируемые Z, следующие:

Для Y: узел Z объявляет свой вектор расстояния, заменяя последний элемент на ∞, т.е. он отправляет [0, 1, ∞]

Для X: узел Z объявляет свой вектор расстояния без каких-либо замен, т.е. он отправляет [0, 1, 3]

Как мы видим в векторе расстояния, который передается узлу Y, конечный пункт назначения X имеет бесконечное значение.

Poison reverse решает проблему счета до бесконечности, поскольку если связь между Y и X увеличилась, скажем, до 70, то Y и Z не будут прыгать между собой и вместо этого напрямую попробуют другой путь. В качестве альтернативы, если poison reverse не используется, когда связь между Y и X увеличилась, Y объявит новость Z. Однако перед объявлением Y может воспользоваться тем фактом, что Z может достичь X со стоимостью 3, чтобы решить, что Y может достичь X со стоимостью 4. Затем Z обновляет свою стоимость перехода в X через Y на 5. После этого Y обновляет свою стоимость перехода в X через Z на 6 и так далее, пока стоимость перехода из Z в X не достигнет 30. В этот момент, после 30 итераций, алгоритм сходится.

Яд не всегда работает наоборот. Например:

4-х узловая сеть

Если связь между C и D выйдет из строя, узел C все равно может попытаться пройти через B, чтобы добраться до пункта назначения. B уже направлял через A и будет продолжать это делать. Теперь A не может направить через B из-за обратного отравления, но в этот момент A в конечном итоге получит сообщение от C, объявляющее, что у C есть маршрут со стоимостью 7 до D, где c(C,B)+расстояние(B,D)=3+(3+1)=7. Затем A будет полагаться на C для маршрута до D. Подводя итог, после отказа CD обновится C, за которым последуют A, B, C, A, B, C и так далее. Отсюда у нас есть цикл, который мы не можем разрешить с обратным отравлением. [5]

Однако это можно осуществить с помощью реализации протокола векторов расстояний, называемого RIP .

Реализации

Метод расщепления горизонта эффективен и прост в реализации, поэтому используется большинством протоколов векторного расстояния. Он особенно используется:

Смотрите также

Ссылки

  1. ^ Процедура маршрутизации для сети коммутации сообщений TIDAS, Труды IEEE по связи 1975 г.
  2. Письмо Торстена Цегреля профессору Леонарду Кляйнроху, 1974-08-19
  3. ^ Торстен Цегрелл — швед, который «починил» Интернет, Internetmuseum.se, дата доступа 2017-11-09
  4. ^ Протоколы маршрутизации IP Автор: Уйлесс Д. Блэк
  5. ^ https://people.mpi-sws.org/~gummadi/teaching/sp07/datanets/homework/homework2solution.pdf [ пустой URL-адрес PDF ]

Джеймс Ф. Куроуз; Кит В. Росс (2017). Компьютерные сети: подход сверху вниз, седьмое издание . Харлоу, Англия: Pearson. стр. 418.

Внешние ссылки