Лекция 11. Протокол маршрутизации OSPF Учебные вопросы: 1. Общие сведения о протоколе OSPF 2. Метрика протокола OSPF
Вопрос 1.
Open Shortest Path First (OSPF) является протоколом состояния канала Link-state, который быстро реагируют на изменения в сети, рассылая модификации при изменениях в сетевой топологии всем маршрутизаторам в пределах некоторой области сети. OSPF предназначен для работы в больших гибких составных сетях и может работать с оборудованием разных фирм производителей, поэтому получил широкое распространение.
Административное расстояние протокола OSPF равно. Протокол используется внутри определенной области, в которой маршрутизаторы разделяют маршрутную информацию между собой. Таких областей может быть несколько, среди которых нулевая область (area 0) является главной или единственной. Далее рассматривается случай единственной области area 0.
Протоколы Link-state создают таблицы маршрутизации на основе информации, хранящейся в специальной базе данных (link-state database), а также в таблице данных соседних устройств (neighbor table). При этом алгоритм Дийкстра (Dijkstra) обеспечивается выбор кратчайшего пути (shortest path) к адресату назначения. Протокол OSPF не проводит периодический обмен объемными обновлениями (update) маршрутной информации, также как протокол EIGRP, и характеризуется быстрой сходимостью (convergence).
Для обмена маршрутной информацией между устройствами протокол OSPF использует пять типов пакетов: 1. Пакет Hello 2. Пакет описания базы данных DataBase Description - DBD 3. Пакет запроса Link-State Request - LSR 4. Пакет обновлений Link-State Update - LSU 5. Пакет подтверждения Link-State Acknowledgment - LSAck.
Hello-пакеты используются, чтобы устанавливать и поддерживать отношения смежности (adjacency) между соседними устройствами. Hello-пакеты содержат идентификатор устройства (Router ID), который по сути является адресом одного из интерфейсов маршрутизатора. На этапе формирования смежности устанавливаются 3 значения параметров: 1. Период времени обмена Hello-пакетами (Hello Interval) 2. Период времени (Dead Interval), по истечению которого связь считается потерянной, если за это время не было получено ни одного Hello-пакета. 3. Тип сети (Network Type).
Различают три типа сетей: 1. Широковещательные с множественным доступом (Broadcast multi- access), например Ethernet. 2. Сети типа точка-точка (Point-to-point). 3. Нешироковещательные с множественным доступом (Nonbroadcast multiaccess - NBMA), например, сети Frame Relay, ATM. В сетях первых двух типов период рассылки Неllо-пакетов составляет 10 секунд, а в сетях NBMA - 30 сек. Период Dead Interval - в четыре раза больше. Обмен Hello-пакетами производится с использованием адресов или многоадресного режима (multicast) без подтверждения доставки.
Пакет DBD содержит сокращенный список базы данных передающего маршрутизатора и используется принимающим маршрутизатором для проверки своей базы данных. Принимающий маршрутизатор может запросить полную информацию о входах базы данных, используя пакет запроса Link-State Request - LSR. Для ответа на запрос LSR используется пакет обновлений Link-State Update - LSU. Пакет LSU может содержать 7 различных типов извещений или объявлений (Link-State Advertisements - LSAs).
Обмен маршрутной информацией производится только при возникновении изменений в сети. Когда происходят изменения, маршрутизатор, первым заметивший это изменение, создает извещение о состоянии этого соединения LSAs, которое передается соседним устройствам. Каждое устройство маршрутизации получив обновление LSAs, модифицирует свою базу данных и транслирует копии LSAs всем соседним маршрутизаторам. Для подтверждения принятого пакета обновлений LSU используется пакет подтверждения (Link-State Acknowledgment - LSAck).
Когда в сети происходит изменение, например, соседнее устройство становится недостижимым, протоколы состояния связи заполняют всю область обновлениями LSAs с использованием многоадресного режима multicast Информация рассылается во все порты, кроме порта, на котором данная информация была получена. Каждый маршрутизатор копирует сообщение LSAs и модифицирует свое состояние связи, т.е. топологическую базу данных, которая содержит весь набор состояний. Затем маршрутизатор передает LSAs на все соседние маршрутизаторы в пределах области (area) и они повторно вычисляют маршруты. Итак, обновления маршрутной информации вызываются изменениями в сети.
Состояние связи (соединения) - это описание интерфейса, которое должно включать IP адрес интерфейса, маску подсети, тип сети и так далее. Содержащаяся в топологической базе данных информация используется, чтобы вычислить лучшие пути через сеть. Для вычисления кратчайшего пути к адресату назначения строится дерево, где корнем является сам маршрутизатор. Затем отбираются кратчайшие пути к сетям назначения и помещаются в таблицу маршрутизации.
При вычислениях используется алгоритм Dijkstra выбора первого кратчайшего пути (shortest path first algorithm). Построение топологического дерева с использованием алгоритма Dijkstra позволяет формировать пути свободные от маршрутных петель (loop-free routing). Для этого протокол OSPF создает и поддерживает: 1. Топологическую базу данных (link-state database). 2. Базу данных смежных устройств (adjacency database). 3. Таблицу маршрутизации.
Пакет OSPF размещается внутри IP-пакета сразу вслед за заголовком. Основной информацией пакета OSPF является: -тип пакета, -идентификатор маршрутизатора (Router ID), -номер области (area 0), -маска сети или подсети, -интервалы времени (Hello Interval, Dead Interval), -идентификаторы главного назначенного маршрутизатора (Designated Router - DR) и запасного (Backup Designated Router - BDR) определяющего маршрутизатора данной области, -список соседних устройств.
Выбор главного назначенного маршрутизатора области сети (DR) и запасного назначенного маршрутизатора сети (BDR), производится в сетях с множественным доступом. В сетях «точка-точка» этот механизм не используется. В сегменте сети с множественным доступом, несколько маршрутизаторов связаны между собой. Поскольку каждый маршрутизатор должен установить полное отношение смежности со всеми соседними маршрутизаторами и обменяться информацией о состоянии связи (соединений), то, например, при 5 маршрутизаторах необходим обмен десятью состояниями связи. В общем случае для n маршрутизаторов должно быть n-(n-1)/2 обменов, на что должны быть выделены дополнительные ресурсы, прежде всего, полоса пропускания.
Если в сети выбран главный назначенный маршрутизатор области (DR), то маршрутизатор, первым обнаруживший изменение в сети, посылает информацию об изменениях только маршрутизатору DR, а тот в свою очередь, рассылает LSAs всем другим OSPF маршрутизаторам области, используя адрес Если маршрутизатор DR выходит из строя, то его функции начинает выполнять запасной назначенный маршрутизатор области сети BDR.
Механизм выбора маршрутизаторов DR и BDR 1. Выбор DR и BDR происходит на основе сравнения приоритетов маршрутизаторов. По умолчанию приоритет всех маршрутизаторов равен 1. Приоритеты могут быть установлены на любое значение от 0 до 255. Маршрутизатор с приоритетом 0 не может быть избранным DR или BDR. Маршрутизатор с самым высоким OSPF приоритетом будет отобран как DR маршрутизатор. Маршрутизатор со вторым приоритетом будет BDR.
Механизм выбора маршрутизаторов DR и BDR 2. Когда не задано никаких дополнительных параметров и приоритет одинаков, в качестве идентификатора ID маршрутизатора протокол OSPF выбирает адрес одного из своих интерфейсов с наибольшим значением. Маршрутизатор с высшим значением идентификатора ID становится DR. Маршрутизатор со вторым наибольшим значением идентификатора ID становится BDR.
Механизм выбора маршрутизаторов DR и BDR 3. Поскольку у интерфейсов используются разъемы, то они являются ненадежными элементами сети. Для повышения надежности на маршрутизаторах формируют виртуальные логические интерфейсы loopback. OSPF использует адрес интерфейса loopback как ID маршрутизатора, независимо от значения адресов других интерфейсов. Маршрутизатор, на котором сформировано несколько интерфейсов loopback, использует самый большой адрес интерфейса loopback в качестве ID маршрутизатора. Таким образом, выбор DR и BDR происходит на основе сравнения адресов интерфейсов loopback.
После выбора, DR и BDR сохраняют свои роли, даже если к сети добавляются маршрутизаторы с более высоким приоритетом до тех пор, пока маршрутизаторы не будут переконфигурированы.
Вопрос 2.
Протокол маршрутизации OSPF использует метрику cost. Метрика протокола OSPF базируются на полосе пропускания bandwidth. Алгоритм протокола рассчитывает суммарное значение метрики всех соединений через сеть. Меньшее число указывает лучший маршрут. Для вычисления метрики OSPF используется следующая формула: Метрика (Cost) = 10 8 / Bandwidth.
Соединение FastEthernet имеет стоимость - 1 единица, Ethernet - 10 единиц, канал ОЦК со скоростью 64 кбит/с ,5 ~ 1562, канал со скоростью 128 кбит/с - 781, канал Т1 - 64, канал Е единиц. Если маршрут состоит из нескольких соединений, то значения метрик складываются. Например, для сети метрика маршрута из локальной Сети 1 в локальную Сеть 2 будет складываться из метрики исходящей Сети 1 - Fast Ethernet (1), метрики соединения маршрутизаторов А и В (48), метрики соединения маршрутизаторов В и С (1562) и метрики сети назначения Ethernet (10). Суммарное значение метрики будет равно М Е = = 1621.