Отличие link state и distance vector
Обновлено: 05.07.2024
Протоколы маршрутизации можно разделить на две основные группы:
1. Внутренние (Interior Gateway Protocol)
2. Внешние (Exterior Gateway Protocol)
В свою очередь внутренние протоколы делятся еще на две группы:
1. Дистанционно-векторные (Distance Vector Protocols)
2. По состоянию канала (Link State Protocols)
Протоколы дистанционно-векторные:
1. RIPv1,RIPv2
2. IGRP, EIGRP
Протоколы по состоянию канала:
1. OSPF
2. IS-IS
Дистанционно векторные протоколы знают о сетях только дистанцию (или метрику) до них и вектор, направление (или next-hop). Основными чертами можно назвать:
1. периодическая отправка обновлений о маршрутах (кроме EIGRP)
2. неполное знание топологии сети
3. используют алгоритм Беллмана-Форда (кроме EIGRP, который использует DUAL).
1. обновления только при изменениях сети
2. знают топологию сети
3. используют алгоритм SPF
Метрику протоколы маршрутизации считают исходя из собственных стандартов. RIP - по количеству хопов, EIGRP - исходя из пропускной способности и задержек, OSPF - исходя из пропускной способности или по цене маршрута. Так же метрика может быть задана вручную администратором. При нескольких одинаковых маршрутах с одинаковой АД и метрикой, возможна балансировка траффика. Так же EIGRP позволяет делать балансировку на маршрутах и с не одинаковой метрикой. Динамические протоколы позволяют быстро реагировать на изменение маршрутов, уменьшают количество ошибок (возможных при конфигурации статических маршрутов), обеспечивают хорошую масштабируемость сети.
Протоколы маршрутизации эволюционируют и работают не только на ipv4 для ipv6 так же есть соответствующие версии вышеуказанных протоколов.
Маршрутизация это механизм передачи информации от источника к месту назначения по объединенной сети. Маршрутизация с вектором расстояния и маршрутизация по состоянию канала - это два алгоритма маршрут
Содержание:
Маршрутизация это механизм передачи информации от источника к месту назначения по объединенной сети. Маршрутизация с вектором расстояния и маршрутизация по состоянию канала - это два алгоритма маршрутизации, которые подразделяются на категории в зависимости от способа обновления таблиц маршрутизации.
Основное различие между вектором расстояния и маршрутизацией состояния канала состоит в том, что при маршрутизации по вектору расстояния маршрутизатор разделяет знания всей автономной системы, тогда как при маршрутизации состояния канала маршрутизатор разделяет знания только своих соседних маршрутизаторов в автономной системе.
Сравнительная таблица
Основа для сравнения | Маршрутизация вектора расстояния | Маршрутизация состояния канала |
---|---|---|
Алгоритм | Беллман Форд | Дийсктра |
Просмотр сети | Информация о топологии с точки зрения соседа | Полная информация о топологии сети |
Расчет наилучшего пути | На основе наименьшего количества хмелей | Исходя из стоимости |
Обновления | Полная таблица маршрутизации | Обновления состояния связи |
Частота обновлений | Периодические обновления | Запущенные обновления |
ЦП и память | Низкое использование | Интенсивный |
Простота | Высокая простота | Требуется обученный сетевой администратор |
Время конвергенции | Умеренный | Быстро |
Обновления | В эфире | При многоадресной рассылке |
Иерархическая структура | Нет | да |
Промежуточные узлы | Нет | да |
Определение дистанционной векторной маршрутизации
Алгоритмы дистанционно-векторной маршрутизации периодически отправляют всю или часть своей таблицы маршрутизации соседним соседям. Маршрутизаторы, использующие протокол маршрутизации с вектором расстояния, будут автоматически отправлять периодические обновления, даже если в сети нет изменений.
RIP и IGRP - это широко используемый протокол вектора расстояния, который использует счетчики переходов или его метрики маршрутизации.
Определение маршрутизации состояния канала
Вывод
При дистанционной векторной маршрутизации доля маршрутизации, информация всей автономной системы и информация передаются только соседям. С другой стороны, при маршрутизации состояния канала маршрутизаторы обмениваются знаниями только о своих соседях, и эта информация предоставляется всем маршрутизаторам.
Итак, чем хорош EIGRP? — прост в конфигурации — быстрое переключение на заранее просчитанный запасной маршрут — требует меньше ресурсов роутера (по сравнению с OSPF) — суммирование маршрутов на любом роутере (в OSPF только на ABR\ASBR) — балансировка трафика на неравноценных маршрутах (OSPF только на равноценных)
Мы решили перевести одну из записей блога Ивана Пепельняка, в которой разбирается ряд популярных мифов про EIGRP: — “EIGRP это гибридный протокол маршрутизации”. Если я правильно помню, это началось с первой презентации EIGRP много лет назад и обычно понимается как «EIGRP взял лучшее от link-state и distance-vector протоколов». Это совершенно не так. У EIGRP нет никаких отличительных особенностей link-state. Правильно будет говорить «EIGRP это продвинутый distance-vector- протокол маршрутизации». — “EIGRP это distance-vector протокол”. Неплохо, но не до конца верно тоже. EIGRP отличается от других DV способом, которым обрабатывает потерянные маршруты (или маршруты с возрастающей метрикой). Все остальные протоколы пассивно ждут обновления информации от соседа (некоторые, например, RIP, даже блокируют маршрут для предотвращения петель маршрутизации), в то время как EIGRP ведет себя активнее и запрашивает информацию сам. — “EIGRP сложен во внедрении и обслуживании”. Неправда. В свое время, EIGRP в больших сетях с низкоскоростными линками было сложновато правильно внедрить, но ровно до того момента, как были введены stub routers. С ними (а также несколькими исправлениями работы DUAL-алгоритма), он не чуть не хуже, чем OSPF. — “Как и LS протоколы, EIGRP хранит таблицу топологии маршрутов, которыми обменивается”. Просто удивительно, насколько это неверно. EIGRP не имеет вообще никакого понятия о том, что находится дальше ближайших соседей, в то время как LS протоколы точно знают топологию всей области, к которой они подключены. — “EIGRP это DV протокол, который действует, как LS”. Неплохая попытка, но по-прежнему, абсолютно неверно. LS протоколы строят таблицу маршрутизации, проходя через следующие шаги: — каждый маршрутизатор описывает сеть, исходя из информации, доступной ему локально (его линки, подсети, в которых он находится, соседи, которых он видит) посредством пакета (или нескольких), называемого LSA (в OSPF) или LSP (IS-IS) — LSA распространяются по сети. Каждый маршрутизатор должен получить каждую LSA, созданную в его сети. Информация, полученная из LSA, заносится в таблицу топологии. — каждый маршрутизатор независимо анализирует свою таблицу топологии и запускает SPF алгоритм для подсчета лучших маршрутов к каждому из других маршрутизаторов Поведение EIGRP даже близко не напоминает эти шаги, поэтому непонятно, с какой стати он «действует, как LS» Единственное, что делает EIGRP — это хранит информацию, полученную от соседа (RIP сразу же забывает то, что не может быть использовано в данный момент). В этом смысле, он похож на BGP, который тоже хранит все в таблице BGP и выбирает лучший маршрут оттуда. Таблица топологии (содержащая всю информацию, полученную от соседей), дает EIGRP преимущество перед RIP – она может содержать информацию о запасном (не используемом в данный момент) маршруте.
Мы решили перевести одну из записей блога Ивана Пепельняка, в которой разбирается ряд популярных мифов про EIGRP:
— “EIGRP это гибридный протокол маршрутизации”. Если я правильно помню, это началось с первой презентации EIGRP много лет назад и обычно понимается как «EIGRP взял лучшее от link-state и distance-vector протоколов». Это совершенно не так. У EIGRP нет никаких отличительных особенностей link-state. Правильно будет говорить «EIGRP это продвинутый distance-vector- протокол маршрутизации».
— “EIGRP это distance-vector протокол”. Неплохо, но не до конца верно тоже. EIGRP отличается от других DV способом, которым обрабатывает потерянные маршруты (или маршруты с возрастающей метрикой). Все остальные протоколы пассивно ждут обновления информации от соседа (некоторые, например, RIP, даже блокируют маршрут для предотвращения петель маршрутизации), в то время как EIGRP ведет себя активнее и запрашивает информацию сам.
— “EIGRP сложен во внедрении и обслуживании”. Неправда. В свое время, EIGRP в больших сетях с низкоскоростными линками было сложновато правильно внедрить, но ровно до того момента, как были введены stub routers. С ними (а также несколькими исправлениями работы DUAL-алгоритма), он не чуть не хуже, чем OSPF.
— “Как и LS протоколы, EIGRP хранит таблицу топологии маршрутов, которыми обменивается”. Просто удивительно, насколько это неверно. EIGRP не имеет вообще никакого понятия о том, что находится дальше ближайших соседей, в то время как LS протоколы точно знают топологию всей области, к которой они подключены.
— “EIGRP это DV протокол, который действует, как LS”. Неплохая попытка, но по-прежнему, абсолютно неверно. LS протоколы строят таблицу маршрутизации, проходя через следующие шаги:
— каждый маршрутизатор описывает сеть, исходя из информации, доступной ему локально (его линки, подсети, в которых он находится, соседи, которых он видит) посредством пакета (или нескольких), называемого LSA (в OSPF) или LSP (IS-IS)
— LSA распространяются по сети. Каждый маршрутизатор должен получить каждую LSA, созданную в его сети. Информация, полученная из LSA, заносится в таблицу топологии.
— каждый маршрутизатор независимо анализирует свою таблицу топологии и запускает SPF алгоритм для подсчета лучших маршрутов к каждому из других маршрутизаторов
Поведение EIGRP даже близко не напоминает эти шаги, поэтому непонятно, с какой стати он «действует, как LS»
Единственное, что делает EIGRP — это хранит информацию, полученную от соседа (RIP сразу же забывает то, что не может быть использовано в данный момент). В этом смысле, он похож на BGP, который тоже хранит все в таблице BGP и выбирает лучший маршрут оттуда. Таблица топологии (содержащая всю информацию, полученную от соседей), дает EIGRP преимущество перед RIP – она может содержать информацию о запасном (не используемом в данный момент) маршруте.
Давайте теперь вникать в теорию работы данного протокола. Для начала, учтем, что каждый EIGRP-процесс обслуживает три таблицы:
1) Таблицу соседей (neighbor table), то есть информацию о непосредственно подключенных к искомому маршрутизаторах, которые участвуют в обмене маршрутами. Посмотреть её можно командой show ip eigrp neighbors.
2) Таблицу топологии сети (topology table), в которой содержится информация о сетевой топологии, полученная от других маршрутизаторов. Её можно посмотреть по команде show ip eigrp topology.
3) Ну и, конечно, таблицу маршрутизации (routing table), следуя которой роутер принимает решения о перенаправлении пакетов. Взглянуть на неё мы можем по команде show ip route.
Идем дальше. Еще одна важная часть этого балета - метрика. Что это такое? Некое число, которое отражает различные характеристики маршрута (или их совокупность), которое служит для объективной оценки качества того или иного маршрута. Характеристики могут быть очень разными, от количества роутеров на данном маршруте до суммарной загрузки интерфейсов на нем (или её средним арифметическим).
О метрике EIGRP:
Итак, формула подсчета метрики:
bw - это не просто Bandwidth, пропускная способность, а 10000000/самая маленькая пропускная способность по дороге маршрута в килобитах) * 256;
delay - это не просто задержка, а сумма всех задержек по маршруту в десятках микросекунд * 256
delay в командах show interface, show ip eigrp topology и прочих показывается в микросекундах;
K1-K5 - это коэффициенты для включения определенных параметров в формулу.
Страх и ужас, да? Но фактически работают только параметры bw и delay, а коэффициенты K1 и K3=1, остальные нулю. В итоге мы просто складываем эти два числа. Но не забываем, что считаются он по своим формулам.
Метрика считается по худшему показателю пропускной способности по всей длине маршрута.
Если K5=0, то используется следующая формула: Metric = (K1 * bw + (K2 * bw) / (256 — load) + (K3 * delay)
Как уже говорилось, производить суммирование маршрутов можно на любом роутере. Но давайте проиллюстрируем это. Допустим всё к тому же R2 подключены подсети из 192.168.0.0/24 до 192.168.7.0/24, а мы это дело суммируем в 192.168.0.0/21 (если забыли логику процесса, то курим матчасть). Роутер анонсирует этот суммарный маршрут, а остальные знают, что source address начинающийся на 192.168.0.0
192.168.7.0 это туда. А если отвалится одна из подсетей? Роутер разошлет query-запросы с адресом пропавшей сети (пусть это будет 192.168.5.0/24), но соседи не будут передавать их дальше, а вышлют реплаи, мол "друже, ты ку-ку? это же твоя подсеть, сам разбирайся".
При дефолтных настройках, если просто сказать роутеру, что он eigrp stub, включатся режимы сonnected и summary. Для нас представляет интерес режим receive-only, в котором роутер не производит анонсирования известных ему сетей, а только слушает, что говорят ему соседи. Это похоже на команду passive interface в протоколе RIP, но в случае с EIGRP она полностью отключит протокол на выбранном интерфейсе, что не даст установить соседства в принципе.
О чем мы не поговорили и что хотелось бы в ближайшее время обсудить?
• Настройка аутентификации соседей в EIGRP;
• Принципы graceful shutdown;
• Балансировка нагрузки.
Читайте также: