Роутинг OSPF

Роутинг OSPF

OSPF Open Shortest Path First 

OSPF часто применяемый протокол маршрутизации внутри автономной системы. Роутер хранит топологическую базу описывающую полную структуру сети. По базе роутер вычисляет shortest-path tree, с собой в качестве корня. Обращением дерева вычисляется таблица маршрутизаци. При изменениии состояния линков роутеры рассылает соседям Link State Advertise(LSA)-сообщения с информацией о состоянии линков. LSA так же рассылаются каждые 30 минут. После получения LSA роутер перестраивает топологическую базу.

Конкуренты протокола OSPF  

RIP (routed) - не поддерживает сетевые маски, рассылает полную таблицу роутинга каждые 30 сек. Считает оптимальность пути только по числу хопов.  

IGRP - поддерживает сетевые маски, работает по событию, хранит "веса" линков, не требует больших ресурсов, но реализован только на CISCO-роутерах.

Характеристики 

Link-state протокол. 

VLSM - Variable Length Subnet Mask. Классы - отменяются.

Простая схема с сетями класса A,B,C недостаточно гибка, требуется чтобы протоколы роутинга умели поддерживать VSML.

OSPF это делает. 

Расчитан для работы в иерархических сетях. 

Areas - группировка подсетей в "areas" - непересекающиеся зоны. 

Умеет суммаризовать роутинг с поглощением. 

Поддерживается роутерами большинства производителей. 

* Концепции OSPF * 

OSPF роутер ID. 

LSA - Link State Advertisment. 

Hello protocol 

Распределение обязанностей между роутерами в multicast-сети 

Types LSAs 

Суммаризация роутинга 

LSM 

Диалекты разных производителей 

OSPF router ID  

Порядковый номер, под которым роутер известен в OSPF.

Используется при работе протокола между роутерами для координации.  

По умолчанию - старший IP-адрес на активном интерфейсе.

LSA - Link State Advertisment  

LSA - оповещающее сообщение, посылается роутером на активный интерфейс. Содержит всю информацию о вызванном изменении роутинга.  

Если LSA принес изменения, то они вносятся в топологическую базу, по SFP-алгоритму перестраивается таблица роутинга и LSA рассылается дальше.  

Иначе LSA дальше не рассылается.  

Посланный пакет распространяется далее всеми роутерами (если в этом есть необходимость)  

Посылается только при изменении состояния линка  

А так же посылается каждые 30 минут. (На всякий случай)  



Пример:

---------------------------------------------------------------

Router# show ip ospf database

OSPF Router with id(192.168.239.66) (Autonomous system 300)  

 Displaying Router Link States(Area 0.0.0.0) 

Link ID ADV Router Age Seq# Checksum Link count

172.18.21.6 172.18.21.6 1731 0x80002CFB 0x69BC 8

172.18.21.5 172.18.21.5 1112 0x800009D2 0xA2B8 5

172.18.1.2 172.18.1.2 1662 0x80000A98 0x4CB6 9

172.18.1.1 172.18.1.1 1115 0x800009B6 0x5F2C 1

172.18.1.5 172.18.1.5 1691 0x80002BC 0x2A1A 5  

Displaying Net Link States(Area 0.0.0.0) 

Link ID ADV Router Age Seq# Checksum

172.18.1.3 192.20.239.66 1245 0x800000EC 0x82E  

 Displaying Summary Net Link States(Area 0.0.0.0) 

Link ID ADV Router Age Seq# Checksum

172.18.240.0 172.18.241.5 1152 0x80000077 0x7A05

172.18.241.0 172.18.241.5 1152 0x80000070 0xAEB7

172.18.244.0 172.18.241.5 1152 0x80000071 0x95CB  

Выводит листинг с временами последний обновлений LSA

пакетов с соседних роутеров.

---------------------------------------------------------------

Типы сетей

Point-to-Point - сосед определяется однозначно - это     "тот-конец"

Multiaccess - соседи находятся по отклику на Hello protocol (напр. ethernet, выделяется Designate Router (за главного) FDDI)

Nonbroadcast - соседей придется задавать явно при Multiaccess  конфигурации OSPF (напр. Frame relay, X.25)

Выделенные DR роутеры в Multiaccess-сети  

Рассылать в multicast-сети LSA-сообщения от каждого к каждому - слишком дорогое удовольствие. "Соседи" все свои LSA шлют только выделенному Designed Router'у(DR). DR рассылает аккумулированные LSA всем "соседям".  

DR выбирается по протоколу Hello. Hello использует сетевые multicast сообщения по 224.0.0.5.  

Выбирается так же Backup Designate Routera (BDR) - запасной. Он автоматически заменит DR если от того не придет ни одного LSA дольше определенного времени. Став DR он проинициирует выборы нового BDR.  

  

 

Вновь включенный router отдает свой LSA DR'у (точнее DR+BDR) посылая multicast по 224.0.0.6  

  

 

DR рассылает свои LSA всем "своим" посылая multicast по 224.0.0.5

Пример:

---------------------------------------------------------------

Router# debug ip osfp events

Router (config-if)# shutdown

! интерфейс "упал"  

 

Листинг этой команды покажет список рассылаемых LSA 

Router (config-if)# no shutdown

! интерфейс "ожил"  

Листинг этой команды покажет список рассылаемых LSA

---------------------------------------------------------------

Топология OSPF  

Пространство адресов в OSPF организуеся по иерархическому принципу, распадаясь на непересекающиеся area (зоны?)  



Классификация OSPF роутеров 

Area Border Router (ABR) - имеет интерфейсы, подключенные сразу к нескольким area. Для каждого из таких интерфейсов выполняет свою копию алгоритма роутинга. 

Internal router - все интерфейсы подключены к сетям, расположенным в одной и той же area. Исполняет одну копию алгоритма роутинга. 

Backbone router - имеет интерфейс к бэкбону 

Autonomous System Boundary router - обменивается информацией с роутерами, принадлежащими разным автономным системам 

* Конфигурирование OSPF * 

Запуск процесса роутинга OSPF

---------------------------------------------------------------

Router# router ospf process-id

---------------------------------------------------------------

process-id Внутренний номер - уникальное значение для    каждого процесса роутинга. OSPF процессы на    "дружественных" роутерах запускаются с одним и тем же    process-id

Определить, какие интерфейсы исполняют OSPF

---------------------------------------------------------------

Router# network netaddress wildcard-mask area area-id

---------------------------------------------------------------

netaddress Адрес напрямую подключенных сетей или подсетей

wildcard-mask Обращенная маска для сравнения заданного адреса    с адресами интерфейсов (чтоб выяснить - исполнять    ли OSPF на данном интерфейсе)

area-id  Задает, какой area принядлежат адреса

Пример 1

---------------------------------------------------------------

router ospf 63

network 1.0.0.0 0.255.255.255 area 0

---------------------------------------------------------------

Пример 2. Внутренний роутер

---------------------------------------------------------------

interface e 0

ip address 131.108.25.1 255.255.255.0

interface e 1

ip address 131.108.2.26 255.255.255.0

interface e 2

ip address 131.108.3.7 255.255.255.0

interface loopback 0

ip address 3.3.3.3 255.0.0.0

---------------------------------------------------------------

Вариант 1

Разрешаем в OSPF только перечисленные интерфейсы

router ospf 63

network 131.108.25.1 0.0.0.0 area 0

network 131.108.3.7 0.0.0.0 area 0

network 131.108.2.26 0.0.0.0 area 0

Вариант 2

Разрешаем в OSPF все, что попадет в маску

router ospf 63

network 131.108.0.0 0.0.255.255 area 0

Вариант 3

Разрешаем в OSPF все, в т.ч. адреса на loopback-интерфейсе

router ospf 63

network 0.0.0.0 255.255.255.255 area 0

Пример 3. Конфигурирование Area Border Router



---------------------------------------------------------------

network 131.108.25.1 0.0.0.255 area 0

network 131.108.0.0 0.0.255.255 area 34

---------------------------------------------------------------  

 

В примере интерфейсы (e0) и (е1 + е3) "смотрят" в разные area. Хотя 131.108.25.1 попадает внутрь 131.108.0.0, но преимущество имеет более точный роутинг.

Типы Link State Andvertisement

Router LSA  

 Посылается внутри-area роутерами  

 Вызывают перерасчет SPF дерева  

 "O" (OSPF derived router)

Summary LSA  

 Посылается Area Border роутером  

 "IA" (Inter Area routes)



---------------------------------------------------------------

Roter# show ip ospf

Routing Process "ospf 201" with ID 192.168.110.200

Supports only single TOS(TOS0) route

It is an area border and autonomous system boundary router

Summary Link update interval is 0:30:00 and the update due in 0:16:26

External Link update interval is 0:30:00 and the update due in 0:16:27

Redistributing External Routes from,  

igrp 200 with metric mapped to 2, includes subnets in redistribution  

rip with metric mapped to 2  

igrp 2 with metric mapped to 100  

igrp 32 with metric mapped to 1

Number of areas in this access server is 3

Area 192.168.110.0  

Number of interfaces in this area is 1  

Area has simple password authentication  

SPF algorithm executed 6 times  

Area ranges are  

Link State Update Interval is 0:30:00 and due in 0:16:55  

Link State Age Interval is 0:20:00 and due in 0:06:55

---------------------------------------------------------------

Типы роутинга

"O" - OSPF derived router (Router LSA)

"IA" - Inter Area routes (Summary LSA)

"E1" - Type-1 External Routes

"E2" - Type-2 External Routes

Метрика типа E1 сумирует внутренние и внешние метрики

Метрика типа E2 сумирует только внешние метрики    (т.е. не учитывает метрику при прохождении    одной и той же area

Конфигурирование в nonbroadcast сетях  

Если сеть не имеет broadcast'а (напр. frame-relay, X.25),

"соседей" по OSPF придется задавать в явном виде

Пример:

---------------------------------------------------------------

router ospf 

neighbor 172.16.3.4 priority 1 poll-interval 180

--------------------------------------------------------------- 

* СУММАРИЗАЦИЯ РОУТИНГА *  

 



Таблицы роутинга для B

---------------------------------------------------------------

131.108.4.0 255.255.252.0

131.108.8.0 255.255.252.0

131.108.12.0 255.255.252.0 

~~~~~~~~~

131.108.16.0 255.255.252.0

. . .

131.108.28.0 255.255.252.0 

~~~~~~~~~  

||  

/

131.108.16.0 255.255.240.0

---------------------------------------------------------------

Суммаризация роутинга сокращает количество строк в таблице роутинга, при этом расширяется (виртуальная) сетевая маска - включающая в себя настоящие сетевые маски.

Суммаризация роутинга может порождать фантомный роутинг (несуществующих сетей) 

~~~~~~~~~

131.108.12.0 255.255.252.0 

~~~~~~~~~  

||  

/

131.108.12.0 255.255.240.0

При этом 131.108.8.0 255.255.252.0 выпадает по такой сетевой

маске в 0-ю подсетку.

Конфигурация суммаризации роутинга

---------------------------------------------------------------

Route# area area-id range address mask

---------------------------------------------------------------  

 



---------------------------------------------------------------

router ospf 63

network 1.0.0.0 0.255.255.255 area 0

network 2.0.0.0 0.255.255.255 area 2

area 0 range 1.0.0.0 255.0.0.0

area 2 range 2.0.0.0 255.0.0.0  

   router ospf 63  

   network 1.0.0.0 0.255.255.255 area 0  

   network 3.0.0.0 0.255.255.255 area 3  

   area 0 range 1.0.0.0 255.0.0.0  

   area 3 range 3.0.0.0 255.0.0.0

---------------------------------------------------------------  

Для корректной суммаризации роутинга требуется распределение адресов непрерывными кусками

Мониторинг OSPF

---------------------------------------------------------------

Route# show ip protocols 

. . .

Routing Protocol is "ospf 109" 

Sending updates every ?? seconds, next due in ?? seconds 

Invalid after ??? seconds, hold down 280, flushed after 630 

. . .

---------------------------------------------------------------

Поддержка вариаций OSPF разных производителей 

CISCO-router ----- > non-CISCO-router

---------------------------------------------------------------

Router (config-if)# ip ospf cost cost

---------------------------------------------------------------  

 

При вычислении пути Cisco-роутеры для оценки стоимости интерфейса используют ширину линка (bandwidth). Реализации OSPF других производителе могут использовать для определения цены другие алгоритмы. Для согласования стоимость линка в этом случае придется задавать вручную командой ip osf cost 

* КРАТКИЙ СПИСОК OSPF КОМАНД *  

area authentication  

area virtual-link  

default-information originate (OSPF)  

default-metric (BGP, EGP, OSPF, and RIP)  

ip ospf authentication-key  

ip ospf cost  

ip ospf dead-interval  

ip ospf hello-interval  

ip ospf message-digest-key  

ip ospf network  

ip ospf priority  

ip ospf retransmit-interval  

ip ospf transmit-delay  

ip ospf-name-lookup  

match route-type  

network area  

neighbor (OSPF)  

ospf auto-cost-determination  

router ospf  

redistribute  

set metric-type  

show ip ospf  

show ip ospf border-routers  

show ip ospf database  

show ip ospf interface  

show ip ospf neighbor  

show ip ospf virtual-links