OSPF Open Shortest Path First OSPF часто применяемый протокол маршрутизации внутри автономной системы. Роутер хранит топологическую базу описывающую полную структуру сети. По базе роутер вычисляет shortest-path tree, с собой в качестве корня. Обращением дерева вычисляется таблица маршрутизаци. При изменениии состояния линков роутеры рассылает соседям Link State Advertise(LSA)-сообщения с информацией о состоянии линков. LSA так же рассылаются каждые 30 минут. После получения LSA роутер перестраивает топологическую базу. Конкуренты протокола OSPF RIP (routed) - не поддерживает сетевые маски, рассылает полную таблицу роутинга каждые 30 сек. Считает оптимальность пути только по числу хопов. IGRP - поддерживает сетевые маски, работает по событию, хранит "веса" линков, не требует больших ресурсов, но реализован только на CISCO-роутерах. Характеристики
Пример:
---------------------------------------------------------------
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 роутеров
---------------------------------------------------------------
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