Содержание
Динамическая маршрутизация
Статическая маршрутизация, рассмотренная в документе Статическая маршрутизация, имеет ряд существенных недостатков:
- масштабируемость: появление каждого нового устройства в сети требует изменения конфигурации всех существующих узлов;
- эксплуатация: изменения в сети потребуют обновления маршрутной информации на всех сетевых узлах;
- оперативность: выход из строя устройств или каналов связи требует внесения изменений в таблицы маршрутизации устройств, которые необходимо выполнить вручную.
Протоколы динамической маршрутизации лишены всех перечисленных недостатков статической маршрутизации. Кроме того, некоторые из протоколов поддерживают следующие функции:
- балансировка: при наличии нескольких путей прохождения трафика маршрутизатор выполняет распределение передаваемых данных между каналами связи, обеспечивая равномерное распределение утилизации устройств и каналов;
- отказоустойчивость: автоматический переход на использование резервной инфраструктуры в случае выхода из строя основной.
Из названия следует, что протоколы динамической маршрутизации выполняют обмен маршрутной информацией и её актуализацию в автоматическом режиме и, несмотря на схожесть основной функциональности, протоколы можно классифицировать следующим образом:
- По области применения:
- внутренние: протоколы динамической маршрутизации, используемые внутри автономной системы, т.е. набора устройств и каналов связи, находящихся под единым управлением (например, ODR, RIP, OSPF);
- внешние: протоколы динамической маршрутизации, используемые для обмена маршрутной информацией между автономными системами (например, BGP).
- По принципу работы:
- дистанционно-векторные (distance-vector): протоколы подобного типа предусматривают обмен таблицами маршрутизациями, при этом сетевые узлы оперируют только информацией о своих непосредственных соседях и маршрутной информацией, полученной от них (например RIP, ODR);
- состояния канала связи (link state): протоколы подобного типа предусматривают обмен таблицами топологии, при этом каждый из сетевых узлов оперирует информацией о структуре всей сети и может воспроизвести всю схему (например, OSPF).
Поддержка протоколов динамической маршрутизации реализована на устройствах Инфинет семейств InfiLINK 2x2 и InfiMAN 2x2. Далее все примеры будут рассматриваться для устройств данного типа.
За работу каждого из протоколов динамической маршрутизации отвечает отдельный модуль в архитектуре устройства, однако для модулей RIP и OSPF добавлен модуль ARDA (см. Команда ARDA), выполняющий функции координации и интеграции в общую систему (рис. 1). Конфигурация и анализ работы протоколов OSPF и RIP выполняются через ARDA.
Рисунок 1 - Внутренняя архитектура модулей динамической маршрутизации в устройствах InfiLINK 2x2, InfiMAN 2x2
Описание протоколов динамической маршрутизации
Ниже, в текущем документе будет представлено описание протоколов динамической маршрутизации ODR, RIP, OSPF. Для каждого из протоколов предусмотрены дочерние страницы с примера практической настройки устройств:
Протокол ODR
ODR (On Demand Routing - маршрутизация по запросу) - протокол распространения маршрутной информации, применяемый в сетевых топология типа "звезда". Топология "точка-многоточка" по своему смыслу является "звездой", поэтому ODR широко используется в беспроводных сетях. Алгоритм работы ODR, по сравнению с другими протоколами динамической маршрутизации, очень прост, поэтому его использование не является ресурсозатратным.
Рассмотрим алгоритм работы протокола ODR на примере (рис. 2). Схема сети состоит из базовой станции БС1 и трёх абонентских устройств АС2, АС3 и АС4, подключенных к БС1. За каждым беспроводным устройством расположен сегмент локальной сети с закреплённой за ним адресацией. За областью MINT также закреплена IP-подсеть.
- Этап 0: предварительная настройка. Необходимо установить радиоканал между беспроводными устройствами, назначить IP-адреса на сетевые интерфейсы и глобально отключить коммутацию. Таблица маршрутизации устройств после выполнения предварительной настройки представлена в таблице 1.
- Этап 1: распределение ролей. Протокол ODR предусматривает две роли: hub - центральное устройство, spoke - тупиковые устройства. Как правило в качестве центрального устройства выступает сектор базовой станции, имеющий подключение к опорной сети, а в качестве тупиковых устройств - абонентские станции, за которыми непосредственно расположены пользовательские устройства.
- Этап 2: рассылка маршрута по умолчанию. Устройства, для которых определена роль hub, рассылают сообщения, в которых сообщают о своей роли всем устройствам. Для рассылки таких сообщений используются служебные поля протокола MINT (см. Коммутация в устройствах семейств InfiLINK 2x2 и InfiMAN 2x2.), т.е. граница получателей сообщений ограничена областью MINT. Получая такое сообщение, устройства с ролью spoke формируют список hub'ов. Поскольку топология "звезда" подразумевает, что устройство с ролью hub имеет подключение к опорной сети, то устройства с ролью spoke могут добавить в таблицу маршрутизации маршрут по умолчанию, указав в качестве шлюза адрес hub'а (таблица 2). В одной области MINT может быть несколько устройств с ролью hub, поэтому каждый из spoke'ов может иметь в RIB несколько маршрутов по-умолчанию.
- Этап 3: выборы маршрута по умолчанию. Для распространения информации об устройствах с ролью hub используется протокол MINT, имеющий внутреннюю метрику, отражающую радиопараметры каналов связи и их текущую загрузку, поэтому критерием для выбора маршрута по умолчанию для добавления в FIB является наименьшее значение этой метрики. Анализ метрик для каждого из устройств с ролью hub выполняется перманентно, поэтому, в случае роста метрики для используемого маршрута по умолчанию он может быть заменён другим. Таким образом реализуются функции отказоустойчивости и балансировки.
- Этап 4: рассылка маршрутной информации. Каждое из устройств с ролью spoke формирует служебные сообщения для каждого устройства с ролью hub. Эти сообщения содержат информацию о непосредственно подключенных и статических маршрутах, находящихся в FIB устройства. Важно отметить, что информация о сетях, общих с hub'ами, в такие сообщения не включаются. Например, устройство АС3 сообщит БС1 о сети 192.168.3.0/24, но не сообщит о 172.16.0.0/29, т.к. радиоинтерфейс БС1 ассоциирован с этой сетью и информация о ней уже есть в FIB БС1 (таблица 1).
- Этап 5: связность между всеми сегментами локальной сети достигнута. В таблицу маршрутизации беспроводных устройств добавлены необходимые маршруты (таблица 2).
Рисунок 2 - Схема работы протокола ODR в сети с топологией "звезда"
Таблица 1 - Таблицы маршрутизации беспроводных устройств после предварительной настройки
Таблица 2 - Таблицы маршрутизации беспроводных устройств после настройки ODR
Чаще всего протокол ODR используется в схеме PTMP (рис. 2), однако для лучшего понимания усложним схему, реализовав функцию балансировки и отказоустойчивости (рис.3):
- два сектора БС1 и БС2, коммутаторы InfiMUX1 и InfiMUX2 подключены в Коммутатор 1;
- к каждому из секторов подключены по два абонентских устройства: АС11 и АС12 к БС1, АС21 и АС22 к БС2;
- все устройства объединены в единую область MINT (см. Коммутация в устройствах семейств InfiLINK 2x2 и InfiMAN 2x2.);
- устройствам InfiMUX1 и InfiMUX2 назначены роли hub, т.к. они имеют подключение к внешней сети WAN, беспроводным устройствам - роль spoke.
Следует пояснить, что роль - характеристика не устройства, а интерфейса, поддерживающему работу протокола MINT. Например, беспроводное устройство может играть роль hub в области MINT, к которой оно подключено интерфейсом rf5.0, и роль spoke в области MINT, подключенной через интерфейс prf0. В рассматриваемом примере используется одна общая область MINT, поэтому на устройствах БС1 и БС2 достаточно активировать поддержку протокола ODR на одном из интерфейсов, поддерживающих работу MINT
После предварительной настройки и распределения ролей, устройства АС11, АС12, АС21 и АС22 добавят в таблицу маршрутизации маршрут по умолчанию, указав в качестве шлюза InfiMUX1 или InfiMUX2. Выбор шлюза будет продиктован наименьшим значением метрики до этого устройства. Каждое из устройств с ролью hub получит маршрутную информацию о пользовательских сетях LAN-11, LAN-12, LAN-21 и LAN-22 от устройств с ролями spoke. Устройства БС1 и БС2 являются в данной схеме промежуточными и не сообщают маршрутную информацию устройствам с ролью hub.
Отказоустойчивость: допустим, что весь трафик, проходящий через БС1, также проходит через InfiMUX1, а трафик БС2 - через InfiMUX2. В случае выхода из строя InfiMUX1, устройства БС1, АС11 и АС12 удалят из таблицы маршрутизации запись со шлюзом InfiMUX1, а вместо него добавят другой маршрут по умолчанию через InfiMUX2. Аналогичная ситуация произойдёт при выходе из строя InfiMUX 2.
Балансировка: метрика маршрутов по умолчанию в ODR рассчитывается исходя из радиопараметров и уровня загрузки каналов. Это позволяет выполнять балансировку трафика на стороне устройств с ролью spoke и равномерно утилизировать устройства и каналы связи в области MINT.
можно вместо картинки сделать видео
Рисунок 3 - Схема резервирования с использованием протокола ODR
Особенности протокола ODR
В списке особенностей протокола ODR по сравнению со статической маршрутизацией можно выделить:
- простота настройки: базовая конфигурация ODR подразумевает распределение ролей;
- масштабируемость: рост числа устройств в сети не требует выполнения большего объёма работ, на устройствах достаточно выполнить предварительную настройку и определить роль;
- оперативность: состояние устройств и каналов связи постоянно отслеживаются протоколом ODR, поэтому изменения в топологии сети мгновенно отразятся на таблице маршрутизации;
- отказоустойчивость и балансировка: реализация схем повышения надёжности и равномерной утилизации не требует дополнительных манипуляций и выполняется автоматически;
- ограничение топологии: ODR не может быть применён в сетях с произвольной топологией и предназначен для сетей типа "звезда";
- фирменная реализация: протокол ODR поддерживается другими производителями оборудования, однако эти реализации не будет совместимы с устройствами Инфинет. Это происходит потому что транспортная технология для ODR не стандартизована и в устройствах Инфинет используется фирменный протокол MINT.
Практика ODR
Практические примеры по настройки ODR представлены на дочерней странице документа: Настройка протокола ODR.
Протокол OSPF
OSPF (Open Short Path First - открытый протокол выбора кратчайшего пути) - протокол динамической маршрутизации, базирующийся на алгоритме построения дерева кратчайших путей. Протокол OSPF обладает следующими характеристиками:
- OSPF разработан сообществом IETF в 1988 году. Поскольку протокол является открытым, то он может использоваться в герерогенных сетях, построенных с использованием оборудования разных производителей.
- На текущий момент актуальны две версии протокола OSPF: версия 2 для IPv4-сетей, описанная в RFC 2328, и версия 3 для IPv6-сетей, описанная в RFC 2740. Устройства Инфинет поддерживают работу протокола IPv4, поэтому далее в статье будет рассматриваться OSPF версии 2.
- OSPF относится к протоколам динамической маршрутизации состояния каналов связи.
- OSPF является внутренним протоколом маршрутизации, т.е. используется для обмена маршрутной информации внутри автономной системы (АС).
- Служебные сообщений протокола OSPF инкапсулируются в IP-пакеты. Поле "Протокол верхнего уровня" устанавливается равным 89.
- За протоколом OSPF зарезервированы два адреса группового вещания 224.0.0.5 и 224.0.0.6. Их назначение описано ниже (ВСТАВИТЬ ССЫЛКУ).
- Значение Distance для протокола OSPF равно 110.
- Как рассчитывается метрика?
Области OSPF
Число маршрутизаторов автономной системы, использующих протокол OSPF для обмена маршрутной информацией может быть велико. Следствием этого является высокая загрузка каналов связи из-за большого объёма служебных сообщений OSPF. Для снижения объёма передаваемой служебной информации, в протоколе OSPF предусмотрено деление автономной системы на области (аrea).
Каждая из областей имеет 32-битный идентификатор, который принято записывать в двух форматах:
- формат IP-адреса: используется в конфигурации устройств. Так, например области 0 и 2 (рис. 4а) в конфигурации устройств будут записаны как 0.0.0.0 и 0.0.0.2 соответственно;
- формат числа: используется на схемах (рис. 4а-б) для того, чтобы упростить понимание и проще запоминать.
Не обязательно использовать последовательные идентификаторы для областей. Так, например, сеть может включать в себя области с идентификаторами 0,2 и 7 (рис. 4а).
Принадлежность к области является характеристикой интерфейса, а не устройства. Таким образом, один маршрутизатор может быть подключен к нескольким областям (рис. 4а).
За областью с идентификатором 0.0.0.0 зарезервировано специальное название - магистральная. Наличие магистральной области является обязательным условием для работы протокола OSPF. Каждая из областей должна быть непосредственно подключена к магистральной области, т.е. схема, в которой одна из областей подключена к другой, не имея соединения с магистральной, запрещена (рис. 4б).
Рисунок 4а - Разрешённая схема сети с использованием нескольких областей OSPF
Рисунок 4б - Запрещённая схема сети с использованием нескольких областей OSPF
Типы маршрутизаторов
В зависимости от места маршрутизатора в схеме сети выделяют следующие типы устройств (рис. 5):
- Внутренний маршрутизатор (IR - internal router): маршрутизатор, все интерфейсы которого ассоциированы с одной областью. Маршрутизаторы R2 и R4 являются внутренними.
- Магистральный маршрутизатор (BR - backbone router): маршрутизатор, обладающий интерфейсом, подключенным к магистральной области. Маршрутизаторы R1, R2 и R3 являются магистральными.
- Пограничный маршрутизатор области (ABR - area border router): маршрутизатор, интерфейсы которого ассоциированы с разными областями OSPF. Маршрутизатор R3 является ABR, т.к. находится на стыке областей 0 и 2.
- Пограничный маршрутизатор автономной системы (ASBR - autonomous system border router): маршрутизатор, имеющий подключение к внешней сети. Маршрутизатор R1 является ASBR, т.к. имеет подключение к сети LAN, которая находится под управлением сторонних лиц.
Рисунок 5 - Схема сети с маршрутизаторами различных типов
Алгоритм работы OSPF
Рассмотрим этапы работы протокола OSPF. Некоторые из этапов потребуют подробного объяснения - оно приведено в соответствующих разделах ниже.
- Этап 1: Запуск протокола OSPF. Устройство определяет список интерфейсов, которые будут участвовать в работе протокола OSPF, и идентификаторы областей, к которым эти интерфейсы подключены.
- Этап 2: Установка отношений соседства. На списке интерфейсов, определённых на этапе 1, предпринимается попытка найти другие маршрутизаторы и установить с ними соседские отношения.
- Этап 3: Распределение ролей. Для снижения объёма служебных сообщений в широковещательных сегментах сети выбирается назначенный маршрутизатор (DR), являющийся центральной точкой обмена обмена маршрутной информацией в сегменте.
- Этап 4: Синхронизация базы данных о состоянии каналов связи (LSDB). В соответствии с протоколом OSPF каждый из маршрутизаторов должен обладать одинаковым набором маршрутной информации, что требует синхронизации базы данных о состоянии каналов связи.
- Этап 5: Построение дерева кратчайших связей (SPT). К маршрутной информации, полученной на этапе 4, применяется алгоритм Дейкстры, позволяющий получить дерево кратчайших связей. Корнем этого дерева является устройство, запустившее алгоритм, а ветками - известные сети назначения, информация о которых получена от других маршрутизаторов. Таким образом, каждое из устройств обладает набором путей к каждой из сетей, оптимизированных по критерию метрики.
- Этап 6: Экспорт маршрутов в FIB. Набор маршрутов, полученный на этапе 5 хранится в RIB, поэтому устройство проводит дополнительную оптимизацию, сравнивая значения Distance для маршрутной информации, полученной из разных источников. Лучшие маршруты, полученные в ходе сравнения, помещаются в FIB и используются при передачи пользовательских и служебных данных.
- Этап 7: Контроль за состоянием сети. Протоколы динамической маршрутизации выполняют постоянный контроль за состоянием каналов связи, т.к. таблица маршрутизации всех устройств должна поддерживаться в актуальном состоянии.
Запуск протокола OSPF
Начало работы протоколы OSPF сопровождается с двумя процессами: выбором идентификатора маршрутизатора (router-id) и определением списка интерфейсов, участвующих в работе OSPF.
Маршрутизатор имеет 32-битный идентификатор, который, как правило, записывается в формате IP-адреса. Идентификатор может быть установлен вручную, либо выбран автоматически, как наибольший IP-адрес устройства. При ручном выборе идентификатора рекомендуется устанавливать его равным IP-адресу, предварительно ассоциированным с интерфейсом loopback0. Совпадение адреса управления и идентификатора маршрутизатора упростит эксплуатацию и диагностику сетевых проблем. При автоматическом выборе идентификатора, устройство Инфинет генерирует специальный адрес из подсети группового вещания 224.*.*.*, связанный с серийным номером маршрутизатора. Это позволяет избежать переопределения идентификатора при удалении IP-адреса или сетевого интерфейса.
Набор интерфейсов, участвующих в работе протокола OSPF, определяется в соответствии со следующей логикой:
- в конфигурации устройства указывается диапазон адресов для работы OSPF и их связь с конкретной областью;
- сетевые интерфейсы, IP-адреса которых включены в указанный диапазон, используются в OSPF и связываются с заданной областью. Следует понимать, что проверяется вхождение в диапазон не только IP-адреса интерфейса, но и всех адресов этой сети.
если интерфейс не попал в список, это не значит, что об этой сети не будет анонсов
Команда | Соответствие eth1 | Соответствие eth2 | Комментарий |
---|---|---|---|
network 0.0.0.0/0 area 0 | да | да | |
network 10.10.30.0/24 area 0 network 192.168.6.0/28 area 1 | да | да | |
network 10.10.30.0/25 area 0 network 192.168.6.0/28 area 1 | нет | да |
Рисунок 6 - Схема маршрутизатора с двумя сетевыми интерфейсами
Как определяется набор интерфейсов
Установка отношений соседства
Hello-пакеты
условия для отношений
статусы отношений
Распределение ролей
выборы DR/BDR
зачем
Синхронизация LSDB
LS*
Типы LSA
- Обмен DBD между соседями;
- Формирование LSR о неизвестной маршрутной информации из DBD, полученных от соседа;
- Отправка LSU, содержащих подробное описание запрошенной в LSR информации;
- Отправка LSAck в качестве подтверждения получения LSU;
- LSDB между соседями считается синхронизированной;
- Повторение процедуры синхронизации LSDB с другими соседями, в том числе в других area.
OSPF
Описание алгоритма. AD и расчёт метрик.
Пример настройки и анализ вывода команд.
Область применения. Достоинства и недостатки.
Отличие distance-vector и link-state.
Термины: AS, Area, интерфейс, отношения смежности, таймеры, LSA, LSU, LSR, LSAck, LSDB, DBD
Виды областей: Backbone, Normal, Stub, Totally Stub, NSSA, Totally NSSA
Отношения соседства: Hello, Multicast, стадии, таймеры, аутентификация, Router-id
Ролий устройств 2: DR, BDR, DROther
Типы LSA
Алгоритм Дейкстры
Распространение маршрута по молчанию
Алгоритм OSPF
Выборы DR/BDR
Приоритеты маршрутов в зависимости от типа. + типы маршрутов
Virtual link
Фильтры маршрутов
Суммирование маршрутов
Пассивные интерфейсы
RIP
Описание алгоритма. AD и расчёт метрик.
Пример настройки и анализ вывода команд.
Область применения. Достоинства и недостатки.
+попробовать wildcard mask
Дополнительные материалы
Онлайн-курсы
- Предварительная настройка и установка устройств семейств InfiLINK 2x2 и InfiMAN 2x2.
Коммутация в устройствах семейств InfiLINK 2x2 и InfiMAN 2x2.
Вебинары
- ВСТАВИТЬ БУДУЩИЙ ВЕБИНАР
Прочее
Настройка сети через Web-интерфейс в устройствах семейств InfiLINK 2x2, InfiMAN 2x2.
- Команда ifconfig (настройка интерфейсов)
- Команда route (статические маршруты)
- Команда mint в версии MINT
- Команда mint в версии TDMA
- Команда ARDA
- Команда OSPF
- Команда arip
- Команда rip (модуль динамической маршрутизации)
- RFC 2328
Вопросики