что такое деление горизонта в сети
Что такое деление горизонта в сети
1 Для предотвращения появления петель маршрутизации и зацикливания пакетов протоколы маршрутизации используют метод расщепления горизонта или split horizon. В этой статье мы попытаемся пролить свет именно на эту технологию.
Согласно технологии Split-Horizon маршрутизатор не будет распространять информацию об определенном маршруте через интерфейс, который является источником данной информации. Другими словами, маршрутизатор не будет информировать о достижимости получателя своего соседа, от которого была получена информация о маршруте к получателю.
В центре у нас R1 (Хаб), а роутеры R2 и R3 подключены к нему, через frame-relay облако по технологии Point-to-Multipoint.
Все роутеры обмениваются между собой машрутами с помощью протокола динамической маршрутизации RIP. Взглянем на таблицу маршрутизации роутера R1
Из вывода мы видим что хосты из сети 1.0.0.0/8 могут взаимодействовать со всеми сетями R2 и R3 (4.0.0.0/8 и 5.0.0.0/8). Но посмотрим, могут ли сети R2 и R3 обмениваться между собой. Таблица маршрутизации на R2 выглядит:
Но из следующего вывода видно что маршрутизаторы R2 и R3 не получают информацию друг о друге и следовательно сети 4.0.0.0/8 и 5.0.0.0/8 не взаимодействуют!
Посмотрим вывод команды show ip interface s0/0.1 на R1
В силу вступила технология расщепления горизонта, тем самым заблокировав работу сети. Маршрутная информация, приходя на R1 не уходила дальше, так как во всех этих процессах был задействован один и тот же интерфейс (s0/0.1), который был и приемником и передатчиком для сетей 4.0.0.0/8 и 5.0.0.0/8
Для исправления этой ситуации следует отменить split horizon на интерфейсе Serial0/0.1 маршрутизатора R1 с помощью команды no ip split-horizon
После чего маршрутная информация сможет распространятся из того же интерфейса на котором она была принятаПосмотрим теперь таблицу маршрутизации на R2
Теперь R2 и R3 знают друг о друге, так как в их таблицах роутинга приличествуют сети друг друга.
ИТ База знаний
Полезно
— Онлайн генератор устойчивых паролей
— Онлайн калькулятор подсетей
— Руководство администратора FreePBX на русском языке
— Руководство администратора Cisco UCM/CME на русском языке
— Руководство администратора по Linux/Unix
Навигация
Серверные решения
Телефония
FreePBX и Asterisk
Настройка программных телефонов
Корпоративные сети
Протоколы и стандарты
Терминология протокола RIP (Routing Information Protocol)
Функции и термины. Часть 2
Эта статья подробно объясняет функции и терминологию протокола RIP (административное расстояние, метрики маршрутизации, обновления, пассивный интерфейс и т.д.) с примерами.
Онлайн курс по Кибербезопасности
Изучи хакерский майндсет и научись защищать свою инфраструктуру! Самые важные и актуальные знания, которые помогут не только войти в ИБ, но и понять реальное положение дел в индустрии
Маршрутизаторы хранят в таблице маршрутизации только одну информацию о маршруте для одного пункта назначения. Маршрутизаторы используют значение AD и метрику для выбора маршрута.
Административная дистанция
В сложной сети может быть одновременно запущено несколько протоколов маршрутизации. Различные протоколы маршрутизации используют различные метрики для расчета наилучшего пути для назначения. В этом случае маршрутизатор может получать различную информацию о маршрутах для одной целевой сети. Маршрутизаторы используют значение AD для выбора наилучшего пути среди этих маршрутов. Более низкое значение объявления имеет большую надежность.
Административная дистанция | Протокол/Источник |
0 | Непосредственно подключенный интерфейс |
0 или 1 | Статическая маршрутизация |
90 | EIGRP |
110 | OSPF |
120 | RIP |
255 | Неизвестный источник |
Давайте разберемся в этом на простом примере: А маршрутизатор изучает два разных пути для сети 20.0.0.0/8 из RIP и OSPF. Какой из них он должен выбрать?
Метрики маршрутизации
У нас может быть несколько линий связи до целевой сети. В этой ситуации маршрутизатор может изучить несколько маршрутов, формирующих один и тот же протокол маршрутизации. Например, в следующей сети у нас есть два маршрута между ПК-1 и ПК-2.
Хорошо, теперь поймите концепцию метрики; скажите мне, какой маршрут будет использовать OFF1, чтобы достичь сети 20.0.0.0/8? Если он выбирает маршрут S0/1 [192.168.1.245/30], он должен пересечь устройство 3 уровня. Если он выбирает маршрут S0/0 [19.168.1.254/30], то ему придется пересечь два устройства уровня 3 [маршрутизатор OFF! и последний маршрутизатор OFF3], чтобы достичь целевой сети.
Таким образом, он будет использовать первый маршрут, чтобы достигнуть сети 20.0.0.0/8.
Маршрутизация по слухам
Иногда RIP также известен как маршрутизация по протоколу слухов. Потому что он изучает информацию о маршрутизации от непосредственно подключенных соседей и предполагает, что эти соседи могли изучить информацию у своих соседей.
Обновления объявлений
RIP периодически транслирует информацию о маршрутизации со всех своих портов. Он использует локальную трансляцию с IP-адресом назначения 255.255.255.255. Во время вещания ему все равно, кто слушает эти передачи или нет. Он не использует никакого механизма для проверки слушателя. RIP предполагает, что, если какой-либо сосед пропустил какое-либо обновление, он узнает об этом из следующего обновления или от любого другого соседа.
Пассивный интерфейс
По умолчанию RIP транслирует со всех интерфейсов. RIP позволяет нам контролировать это поведение. Мы можем настроить, какой интерфейс должен отправлять широковещательную передачу RIP, а какой нет. Как только мы пометим любой интерфейс как пассивный, RIP перестанет отправлять обновления из этого интерфейса.
Расщепление горизонта
Split horizon-это механизм, который утверждает, что, если маршрутизатор получает обновление для маршрута на любом интерфейсе, он не будет передавать ту же информацию о маршруте обратно маршрутизатору-отправителю на том же порту. Разделенный горизонт используется для того, чтобы избежать циклов маршрутизации.
Чтобы понять эту функцию более четко, давайте рассмотрим пример. Следующая сеть использует протокол RIP. OFF1-это объявление сети 10.0.0.0/8. OFF2 получает эту информацию по порту S0/0.
Как только OFF2 узнает о сети 10.0.0.0/8, он включит ее в свое следующее обновление маршрутизации. Без разделения горизонта он будет объявлять эту информацию о маршруте обратно в OFF1 на порту S0/0.
Ну а OFF1 не будет помещать этот маршрут в таблицу маршрутизации, потому что он имеет более высокое значение расстояния. Но в то же время он не будет игнорировать это обновление. Он будет предполагать, что OFF1 знает отдельный маршрут для достижения сети 10.0.0.0/8, но этот маршрут имеет более высокое значение расстояния, чем маршрут, который я знаю. Поэтому я не буду использовать этот маршрут для достижения 10.0.0.0/8, пока мой маршрут работает. Но я могу воспользоваться этим маршрутом, если мой маршрут будет недоступен. Так что это может сработать как запасной маршрут для меня.
Это предположение создает серьезную сетевую проблему. Например, что произойдет, если интерфейс F0/1 OFF1 выйдет из строя? OFF1 имеет прямое соединение с 10.0.0.0/8, поэтому он сразу же узнает об этом изменении.
В этой ситуации, если OFF1 получает пакет для 10.0.0.0/8, вместо того чтобы отброс ить этот пакет, он переадресует его из S0/0 в OFF2. Потому что OFF1 думает, что у OFF2 есть альтернативный маршрут для достижения 10.0.0.0/8.
OFF2 вернет этот пакет обратно в OFF1. Потому что OFF2 думает, что у OFF1 есть маршрут для достижения 10.0.0.0/8.
Это создаст сетевой цикл, в котором фактический маршрут будет отключен, но OFF1 думает, что у OFF2 есть маршрут для назначения, в то время как OFF2 думает, что у OFF1 есть способ добраться до места назначения. Таким образом, этот пакет будет бесконечно блуждать между OFF1 и OFF2. Чтобы предотвратить эту проблему, RIP использует механизм подсчета прыжков (маршрутизаторов).
Количество прыжков
RIP подсчитывает каждый переход (маршрутизатор), который пакет пересек, чтобы добраться до места назначения. Он ограничивает количество прыжков до 15. RIP использует TTL пакета для отслеживания количества переходов. Для каждого прыжка RIP уменьшает значение TTL на 1. Если это значение достигает 0, то пакет будет отброшен.
Это решение только предотвращает попадание пакета в петлю. Это не решает проблему цикла маршрутизации.
Split horizon решает эту проблему. Если расщепление горизонта включено, маршрутизатор никогда не будет вещать тот же маршрут обратно к отправителю. В нашей сети OFF2 узнал информацию о сети 10.0.0.0/8 от OFF1 на S0/0, поэтому он никогда не будет транслировать информацию о сети 10.0.0.0/8 обратно в OFF1 на S0/0.
Это решает нашу проблему. Если интерфейс F0/1 OFF1 не работает, и OFF1, и OFF2 поймут, что нет никакого альтернативного маршрута для достижения в сети 10.0.0.0/8.
Маршрут отравления
Маршрут отравления работает противоположном режиме расщепления горизонта. Когда маршрутизатор замечает, что какой-либо из его непосредственно подключенных маршрутов вышел из строя, он отравляет этот маршрут. По умолчанию пакет может путешествовать только 15 прыжков RIP. Любой маршрут за пределами 15 прыжков является недопустимым маршрутом для RIP. В маршруте, находящимся в неисправном состоянии, RIP присваивает значение выше 15 к конкретному маршруту. Эта процедура известна как маршрутное отравление. Отравленный маршрут будет транслироваться со всех активных интерфейсов. Принимающий сосед будет игнорировать правило разделения горизонта, передавая тот же отравленный маршрут обратно отправителю. Этот процесс гарантирует, что каждый маршрутизатор обновит информацию об отравленном маршруте.
Таймеры RIP
Для лучшей оптимизации сети RIP использует четыре типа таймеров.
Вы все еще можете использовать RIPv1, но это не рекомендуется. В следующей таблице перечислены ключевые различия между RIPv1 и RIPv2.
Основные различия между RIPv1 и RIPv2
RIPv1 | RIPv2 |
Он использует широковещательную передачу для обновления маршрутизации. | Он использует многоадресную рассылку для обновления маршрутизации. |
Он посылает широковещательный пакет по адресу назначения 255.255.255.255. | Он отправляет многоадресную рассылку по адресу назначения 224.0.0.9. |
Он не поддерживает VLSM. | Он поддерживает VLSM. |
Он не поддерживает никакой аутентификации. | Он поддерживает аутентификацию MD5 |
Он поддерживает только классовую маршрутизацию. | Он поддерживает как классовую, так и бесклассовую маршрутизацию. |
Он не поддерживает непрерывную сеть. | Он поддерживает непрерывную сеть. |
Онлайн курс по Кибербезопасности
Изучи хакерский майндсет и научись защищать свою инфраструктуру! Самые важные и актуальные знания, которые помогут не только войти в ИБ, но и понять реальное положение дел в индустрии
Что такое деление горизонта в сети
Для предотвращения появления петель маршрутизации и зацикливания пакетов протоколы маршрутизации используют метод расщепления горизонта или split horizon.
Согласно технологии Split-Horizon маршрутизатор не будет распространять информацию об определенном маршруте через интерфейс, который является источником данной информации. Другими словами, маршрутизатор не будет информировать своего соседа, от которого была получена информация о маршруте к получателю.
Рассмотрим следующую сетевую топологию
Маршрутизаторы R1, R2, R3 подключены к Frame-Relay облаку. Причем R1 подключен по технологии Point-to-Multipoint, а R2 и R3 по технологии Point-to-Point. Таким образом R2 и R3 могут обмениваться трафиком только через R1. На каждом роутере также настроен Loopback адрес. EIGRP включён на всех интерфейсах
Посмотрим таблицу маршрутизации на R1
Из вывода мы видим что хосты из сети 136.1.100.0/24 могут взаимодействовать со всеми сетями R2 и R3 (136.1.110.0/24 и 136.1.120.0/24). Но посмотрим, могут ли сети R2 и R3 обмениваться между собой. Таблица маршрутизации на R2 выглядит так.
У R2 почему-то нет маршрута к сети 136.1.120.0/24. Таким образом маршрутизаторы R2 и R3 не получают информацию друг о друге и следовательно сети 136.1.110.0/24 и 136.1.120.0/24 не взаимодействуют!
В силу вступила технология расщепления горизонта, тем самым заблокировав работу сети. Маршрутная информация, приходя на R1 не уходила дальше, так как во всех этих процессах был задействован один и тот же интерфейс (s1/0), который был и приемником и передатчиком для сетей 136.1.110.0/24 и 136.1.120.0/24
Для исправления этой ситуации следует отменить split horizon на интерфейсе Serial1/0 маршрутизатора R1 с помощью команды no ip split-horizon eigrp
Но Давайте проверим с помощью команды show ip interface s1/0:
И в этот момент можно легко растеряться. На самом деле эта строка говорит лишь о том, что split horizon выключен для протокола RIP. А для протокола EIGRP надо посмотреть вывод команды show ip eigrp interfaces detail s1/0 (появилась в IOS 15.x)
Оказывается split-horizon включен для протокола EIGRP. Выключаем его.
А теперь проверим таблицу маршрутизации на R2
Появился маршрут. Теперь на R1 маршрутная информация сможет распространятся из того же интерфейса на котором она была принята и сети за R2 и R3 могут взаимодействовать друг с другом.
Посмотрим еще раз вывод команды show ip eigrp interfaces detail s1/0 на R1
Метод разделения Horizon передает пакеты данных в прямом направлении и распространяется на все подключенные узлы, кроме того маршрутизатора, который отправил новое обновление. Этот метод предотвращает петли маршрутизации, а также сублимирует те области, где отравление маршрутов не может избежать возникновения петель маршрутизации. Этот метод интегрирован в большинство протоколов маршрутизации векторов расстояния, включая RIP, IGRP, EIGRP и VPLS.
Техопедия объясняет разделение горизонта
Есть много разных путей во взаимосвязанной сети, и эксплуатационные факторы динамически меняются. Маршрутизаторы, как правило, обновляют свою таблицу маршрутизации с помощью актуальной информации о доступных путях, адресах, неработающих путях и т. Д. Обычно большинство протоколов маршрутизации включают метод / метод, в котором они часто объявляют об обновлениях состояния своим соседним соседям. Однако этот процесс полезен, но может создать серьезные узкие места в сети, если их логика маршрутизации не рассчитана и приведет к образованию петель маршрутизации.
Краудсорсинг: что это такое, почему это работает и почему оно не уходит
Кажется почти невозможным, чтобы что-то настолько простое могло выполнить задачи, которые когда-то были назначены сотрудникам, но в некоторых случаях краудсорсинг действительно работает.
ИТ База знаний
Полезно
— Онлайн генератор устойчивых паролей
— Онлайн калькулятор подсетей
— Руководство администратора FreePBX на русском языке
— Руководство администратора Cisco UCM/CME на русском языке
— Руководство администратора по Linux/Unix
Навигация
Серверные решения
Телефония
FreePBX и Asterisk
Настройка программных телефонов
Корпоративные сети
Протоколы и стандарты
Распределение изменений топологии сети
Как только изменение в топологии сети было обнаружено, оно должно быть каким-то образом распределено по всем устройствам, участвующим в плоскости управления. Каждый элемент в топологии сети может быть описан как:
Полный курс по Сетевым Технологиям
В курсе тебя ждет концентрат ТОП 15 навыков, которые обязан знать ведущий инженер или senior Network Operation Engineer
Этот довольно ограниченный набор терминов может быть помещен в таблицу или базу данных, часто называемую таблицей топологии или базой данных топологии. Таким образом, вопрос о распределении изменений в топологии сети на все устройства, участвующие в плоскости управления, можно описать как процесс распределения изменений в определенных строках в этой таблице или базе данных по всей сети.
Способ, которым информация распространяется по сети, конечно, зависит от конструкции протокола, но обычно используются три вида распространения: поэтапное (hop-by-hop) распространение, лавинное (flooded) распространение и централизованное (centralized) хранилище некоторого вида.
Лавинное (flooded) распространение.
При лавинной рассылке каждое устройство, участвующее в плоскости управления, получает и сохраняет копию каждой части информации о топологии сети и доступных местах назначения. Хотя существует несколько способов синхронизации базы данных или таблицы, в плоскостях управления обычно используется только один: репликация на уровне записи. Рисунок 6 иллюстрирует это.
На рисунке 6 каждое устройство будет рассылать известную ему информацию ближайшим соседям, которые затем повторно рассылают информацию своим ближайшим соседу. Например, A знает две специфические вещи о топологии сети: как достичь 2001: db8: 3e8: 100 :: / 64 и как достичь B. A передает эту информацию в B, который, в свою очередь, передает эту информацию в C. Каждое устройство в сети в конечном итоге получает копию всей доступной топологической информации; A, B и C имеют синхронизированные базы данных топологии (или таблицы).
На рисунке 6 связь C с D показана как элемент в базе данных. Не все плоскости управления будут включать эту информацию. Вместо этого C может просто включать подключение к диапазону адресов 2001: db8: 3e8: 102 :: / 64 (или подсети), который содержит адрес D.
Примечание. В более крупных сетях невозможно уместить все описание подключений устройства в один пакет размером с MTU, и для обеспечения актуальности информации о подключении необходимо регулярно задерживать время ожидания и повторно загружать данные.
Интересная проблема возникает в механизмах распространения Flooding рассылки, которые могут вызывать временные петли маршрутизации, называемые microloops. Рисунок 7 демонстрирует эту ситуацию. На рисунке 7, предположим, что канал [E, D] не работает. Рассмотрим следующую цепочку событий, включая примерное время для каждого события:
Хотя время и порядок могут незначительно отличаться в каждой конкретной сети, порядок обнаружения, объявления и повторных вычислений почти всегда будет следовать аналогичной схеме. В этом примере между этапами 5 и 7 образуется микропетля; в течение 400 мс, A использует E для достижения D, а E использует A для достижения D. Любой трафик, входящий в кольцо в A или D в течение времени между пересчетом E лучшего пути к D и пересчетом A лучшего пути к D будет петлей. Одним из решений этой проблемы является предварительное вычисление альтернативных вариантов без петель или удаленных альтернатив без петель.
Hop by Hop
При поэтапном распределении каждое устройство вычисляет локальный лучший путь и отправляет только лучший путь своим соседям. Рисунок 8 демонстрирует это.
На рисунке 8 каждое устройство объявляет информацию о том, что может достигнуть каждого из своих соседей. D, например, объявляет о достижимости для E, а B объявляет о доступности для C, D и E для A. Интересно рассмотреть, что происходит, когда A объявляет о своей доступности для E через канал на вершине сети. Как только E получит эту информацию, у него будет два пути к B, например: один через D и один через A. Таким же образом у A будет два пути к B: один напрямую к B, а другой через E. Любой из алгоритмов кратчайшего пути, рассмотренные в предыдущих статьях, могут определить, какой из этих путей использовать, но возможно ли формирование микропетель с помощью лавинного механизма распределения?
В промежутке между шагами 3 и 5 А будет указывать на Е как на свой лучший путь к В, в то время как Е будет указывать на А как на свой лучший путь к В—микропетля. Большинство распределительных систем hop-by-hop решают эту проблему с помощью split horizon или poison reverse.
Определены они следующим образом:
Централизованное Хранилище.
В централизованной системе каждое сетевое устройство сообщает информацию об изменениях топологии и достижимости контроллеру или, скорее, некоторому набору автономных служб и устройств, действующих в качестве контроллера. В то время как централизация часто вызывает идею единого устройства (или виртуального устройства), которому передается вся информация и который передает правильную информацию для пересылки всем устройствам обработки пакетов в сети, это чрезмерное упрощение того, что на самом деле означает централизованная плоскость управления. Рисунок 9 демонстрирует это.
На рисунке 9, когда канл между D и F не работает:
Во время временных интервалов, описанных здесь, сеть все еще может образовывать микропетли. Централизованная плоскость управления чаще всего переводится в плоскость управления не запущенными устройствами переадресации трафика. Хотя они могут казаться радикально разными, централизованные плоскости управления на самом деле используют многие из тех же механизмов для распределения топологии и достижимости, а также те же алгоритмы для вычисления безцикловых путей через сеть, что и распределенные плоскости управления.
Плоскости сегментирования и управления.
Одна интересная идея для уменьшения состояния, переносимого на любое отдельное устройство, независимо от того, используется ли распределенная или централизованная плоскость управления, заключается в сегментировании информации в таблице топологии (или базе данных). Сегментация-это разделение информации в одной таблице на основе некоторого свойства самих данных и хранение каждого полученного фрагмента или фрагмента базы данных на отдельном устройстве. Рисунок 10 демонстрирует это.
В этом случае предположим, что схема сегментирования немного проще: это диапазон IP-адресов. В частности, на рисунке представлены два диапазона IP-адресов: 2001: db8: 3e8: 100 :: / 60, который содержит от 100 :: / 64 до 10f :: / 64; и 2001: db8: 3e8: 110 :: / 60, который содержит от 110 :: / 64 до 11f :: / 64. Каждый из этих диапазонов адресов разделен на один контроллер; X будет содержать информацию о 2001: db8: 3e8: 100 :: / 60, а Y будет содержать информацию о 2001: db8: 3e8: 110 :: / 64. Не имеет значения, где эти доступные пункты назначения подключены к сети. Например, информация о том, что 2001: db8: 3e8: 102 :: / 64 подключен к F, будет храниться в контроллере X, а информация о том, что 2001: db8: 3e8: 110 :: / 64 подключен к A, будет храниться на контроллере Y. Чтобы получить информацию о доступности для 2001: db8: 3e8: 102 :: / 64, Y потребуется получить информацию о том, где этот пункт назначения соединен с X. Это будет менее эффективно с точки зрения вычисления кратчайших путей, но он будет более эффективным с точки зрения хранения информации, необходимой для вычисления кратчайших путей. Фактически, возможно, если информация хранится правильно (а не тривиальным способом, используемым в этом примере), чтобы несколько устройств вычислили разные части кратчайшего пути, а затем обменивались только результирующим деревом друг с другом. Это распределяет не только хранилище, но и обработку.
Существует несколько способов, с помощью которых информация о плоскости управления может быть разделена, сохранена и, когда вычисления выполняются через нее, чтобы найти набор путей без петель через сеть.
Согласованность, доступность и возможность разделения.
В 2000 году Эрик Брюер, занимаясь как теоретическими, так и практическими исследованиями, постулировал, что распределенная база данных обладает тремя качествами: Согласованностью, Доступностью и устойчивость к разделению (Consistency, Accessibility Partition tolerance-CAP). Между этими тремя качествами всегда есть компромисс, так что вы можете выбрать два из трех в любой структуре системы. Эта гипотеза, позже доказанная математически, теперь известна как теорема CAP. Эти три термина определяются как:
Проще изучить теорему CAP в небольшой сети. Для этого используется рисунок 11.
Невозможно решить эту проблему, чтобы все три качества были сохранены, из-за времени, необходимого для синхронизации информации между двумя копиями базы данных. Та же проблема актуальна и для сегментированной базы данных.
Онлайн курс по Кибербезопасности
Изучи хакерский майндсет и научись защищать свою инфраструктуру! Самые важные и актуальные знания, которые помогут не только войти в ИБ, но и понять реальное положение дел в индустрии