logo search
Лекции_Информационные сети

Метод расщепления горизонта

Для предотвращения образования ложных маршрутов используется несколько методов, один из них - метод расщепления горизонта (split-horizon). Данное правило не так сложно, как может показаться из названия: "Если известно, что путь до узла X лежит через соседний узел Y, то узлу Y не надо посылать объявления маршрута до X".

Мы рассмотрим тот же пример, что и на Рисунке 2, но в условиях, когда действует правило расщепления горизонта. После выхода из строя маршрутизатора А узел В узнает о недееспособности А при первом же обмене. Узлу С правило расщепления горизонта запрещает посылать информацию об А на В, так как путь к А лежит через В. Таким образом, узел С не может теперь (непреднамеренно) обманывать своего соседа слева, и узел В тут же помечает маршрутизатор А как недоступный. После следующего обмена уже С узнает от В о недоступности А, вместе с тем ложная информация от узла D, который все еще считает маршрутизатор А действующим, на С не поступит.

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

Рисунок 3. Пример ситуации, когда правило расщепления горизонта не действует.

Рассмотрим пример сети с избыточной топологией (см. Рисунок 3). В начальный момент времени А и B знают, что расстояние до узла D равно "2". После выхода D из строя маршрутизатор C, не получив от D сообщения, определяет, что узел D недоступен. А и В продолжают считать D доступным, но правило расщепления горизонта запрещает им сообщать эту ложную информацию маршрутизатору С. При следующем обмене C уведомляет A и B о недоступности D. Но одновременно с этим узел А получает от В сообщение о пути до D стоимостью "2", а узел В получает аналогичное сообщение от А. В соответствии с методом расщепления горизонта каждый занесет в таблицу запись о пути до D длиной 3, причем укажет второй узел в качестве источника этой информации. При следующих обменах таблицы уже не будут корректироваться. Таким образом, информация об аварии на D не будет услышана.