OSPF и туннельные интерфейсы
OSPF и туннельные интерфейсы#
Обзор OSPF#
Протокол OSPF (Open Shortest Path First, открытый протокол с выбором кратчайшего пути первым) - протокол динамической маршрутизации, в котором используется алгоритм состояния канала (Дейкстра) в противоположность протоколам (наподобие RIP), в которых используется алгоритм вектора расстояний. OSPF является протоколом внутренних шлюзов (IGP) и действует в одной автономной системе (AS). В протоколе OSPF каждый маршрутизатор объявляет состояние его собственных каналов (или подключений) в объявлении состояния каналов (link state advertisement, LSA), которое отправляется многоадресной рассылкой на другие маршрутизаторы в сети. Кроме того, каждый маршрутизатор использует объявления LSA, получаемые с других маршрутизаторов, для построения графа, представляющего топологию сети. При построении таблицы маршрутизации маршрутизатор применяет алгоритм выбора кратчайшего пути Дейкстры для поиска наилучшего пути к каждому узлу топологии сети через граф. Основой таблицы маршрутизации становится "дерево кратчайших путей". Протокол OSPF является иерархическим. В OSPF сеть разбивается на "области". Внутри каждой области на маршрутизаторах имеется только локальная маршрутная информация. Маршрутная информация о других областях вычисляется при помощи сводок путей, которыми обмениваются области. Это позволяет сократить объем сведений о топологии сети, которые маршрутизаторам приходится создавать и поддерживать, что делает OSPF неплохо подходящим для средних и более крупных сетей.
Реализация протокола OSPF соответствует стандарту RFC 2328: OSPF Version 2.
Взаимодействие с туннельными интерфейсами#
Существуют некоторые нюансы взаимодействия протокола OSPF с туннельными интерфейсами и, в частности, с интерфейсом OpenVPN. Особенность туннельных интерфейсов заключается в том, что по умолчанию их типом является point-to-point. Поэтому, если мы имеем интерфейс OpenVPN, настроенный в режиме сервера, корректной работы может не получиться, так как тип point-to-point имеет очень жесткую семантику по RFC 2328 и подразумевает возможность установления только одного соседства, а режим сервера автоматически подразумевает под собой установление множества связей, т.е., установление типа point-to-multipoint. В то же время, в RFC 2328 тип point-to-multipoint определяется как множество связей типа point-to-point. В Numa edge тип подсети на интерфейсе настраивается с помощью команды set interfaces <интерфейс> ip ospf network <тип>
. Таким образом, для корректной работы OSPF с OpenVPN, необходимо указывать тип point-to-multipoint как для интерфейса, настроенного в режиме сервера, так и для интерфейса, находящегося в режиме клиента при осуществлении нескольких соединений у соответствующего сервера.