Как настроить роутер в ospf

Время на прочтение
9 мин

Количество просмотров 137K

В прошлой статье мы рассмотрели основные моменты настройки сетевого оборудования HUAWEI и остановились на статической маршрутизации. В сегодняшнем топике речь пойдёт о динамической маршрутизации по протоколу OSPF совместно с маршрутизаторами Cisco. Добро пожаловать под кат.

Теория

Итак, в нашей супер сети присутствуют 4 маршрутизатора: два HUAWEI и два Cisco. Роутер R2 будет являться ASBR, R3 — ABR.

Напомню, что в OSPF маршрутизаторы делятся на несколько типов:

  • Внутренний маршрутизатор (internal router) — маршрутизатор, все интерфейсы которого принадлежат одной зоне. У таких маршрутизаторов только одна база данных состояния каналов.
  • Пограничный маршрутизатор (area border router, ABR) — соединяет одну или больше зон с магистральной зоной и выполняет функции шлюза для межзонального трафика. У пограничного маршрутизатора всегда хотя бы один интерфейс принадлежит магистральной зоне. Для каждой присоединенной зоны маршрутизатор поддерживает отдельную базу данных состояния каналов.
  • Магистральный маршрутизатор (backbone router) — маршрутизатор, у которого всегда хотя бы один интерфейс принадлежит магистральной зоне. Определение похоже на пограничный маршрутизатор, однако магистральный маршрутизатор не всегда является пограничным. Внутренний маршрутизатор интерфейсы которого принадлежат нулевой зоне, также является магистральным.
  • Пограничный маршрутизатор автономной системы (AS boundary router, ASBR) — обменивается информацией с маршрутизаторами, принадлежащими другим автономным системам или не-OSPF маршрутизаторами. Пограничный маршрутизатор автономной системы может находиться в любом месте автономной системы и быть внутренним, пограничным или магистральным маршрутизатором.[1]

Area 0 — магистральная (backbone) зона, area 1 — тупиковая зона (stub).

  • Магистральная (транзитная) зона (backbone (transit) area) — зона используемая для подключения других зон.
  • Тупиковая зона (stub area) — зона, не принимающая информацию о маршрутах, являющихся внешними для данной автономной системы.
  • Полностью тупиковая зона (totally stub area) — зона, не принимающая информацию о внешних маршрутах и маршрутах из других автономных систем.

Итак, приступим к настройке.

Первоначальная настройка:

Для начала нам необходимо создать vlan интерфейс, назначить ему соответствующий ip адрес и разрешить прохождение трафика через физический интерфейс, таким образом добиться ip коннективити между девайсами.

После этого включим процесс OSPF на маршрутизаторах:

Cisco:

R1(config)#router ospf 1
R1(config-router)#network 172.16.1.0 0.0.0.255 area 0
R1(config-router)#network 1.1.1.1 0.0.0.0 area 0
R1(config-router)#router
R1(config-router)#router-id 1.1.1.1

HUAWEI:

[R2]ospf 1 router-id 2.2.2.2
[R2-ospf-1]area 0
[R2-ospf-1-area-0.0.0.0]network 172.16.1.0 0.0.0.255
[R2-ospf-1-area-0.0.0.0]network 2.2.2.2 0.0.0.0
[R2-ospf-1-area-0.0.0.0]

Естественно, при настройке необходимо изменить значения router-id и анонсируемые сети для разных зон. Таким образом, первоначальная конфигурация OSPF будет выглядеть так:
R1 [Cisco]:

router ospf 1
 router-id 1.1.1.1
 log-adjacency-changes
 redistribute static
 network 1.1.1.1 0.0.0.0 area 0
 network 172.16.1.0 0.0.0.255 area 0
!

R2 [HUAWEI]:

ospf 1 router-id 2.2.2.2
 area 0.0.0.0
  network 172.16.1.0 0.0.0.255
  network 2.2.2.2 0.0.0.0
#

R3 [HUAWEI]:

ospf 1 router-id 3.3.3.3
 area 0.0.0.0
  network 3.3.3.0 0.0.0.3
  network 172.16.1.0 0.0.0.255
 area 0.0.0.1
  network 172.16.2.0 0.0.0.3
#

R4: [Cisco]

router ospf 1
 log-adjacency-changes
 area 1 stub
 network 4.4.4.4 0.0.0.0 area 1
 network 172.16.2.0 0.0.0.3 area 1
!

Маршрутизатор R4 является ABR, поэтому в нём описываются несколько зон. Пока мы не будем переводить зону 1 в состояние stub. Посмотрим, что у нас получилось:

Switch#show ip ospf neighbor

Neighbor ID     Pri   State           Dead Time   Address         Interface
2.2.2.2           1   FULL/BDR        00:00:39    172.16.1.2      Vlan100
3.3.3.3           1   FULL/DR         00:00:31    172.16.1.3      Vlan100
Switch#

DR, BDR, DROTHER

Мы видим, что маршрутизаторы R2 и R3 выбрались BDR и DR, соответственно. Напомню что это означает. Так как познать всю теорию OSPF не является целью нашего повествования, опишем эти понятия вкратце.

  1. DR, designated router (выделенный маршрутизатор) — маршрутизатор который управляет процессом обмена сообщениями в сети OSPF.
  2. BDR, backup designated router (резервный выделенный маршрутизатор) — маршрутизатор, который заменяет DR в случае выбывания последнего.

Выбор BDR и DR осуществляется на основе приоритета маршрутизатора, но по умолчанию приоритеты всех устройств равны 1. В этом случае процесс выбора проходит по идентификатору маршрутизатора, что мы и наблюдаем. Но есть одно НО. Если DR и BDR уже выбраны, перевыборы не происходят. Действует принцип: кто первый встал того и тапки. Проверим. Для этого исключим из процесса маршрутизатор R2.

[R2]ospf 1
[R2-ospf-1]area 0
[R2-ospf-1-area-0.0.0.0]undo network 172.16.1.0 0.0.0.255
[R2-ospf-1-area-0.0.0.0]

Теперь R1 стал BDR, R3 же остался DR:

R1#show ip ospf neighbor

Neighbor ID     Pri   State           Dead Time   Address         Interface
3.3.3.3           1   FULL/DR         00:00:33    172.16.1.3      Vlan100
R1#

[R3]display ospf peer

         OSPF Process 1 with Router ID 3.3.3.3
                 Neighbors

 Area 0.0.0.0 interface 172.16.1.3(Vlanif100)'s neighbors
 Router ID: 1.1.1.1          Address: 172.16.1.1
   State: Full  Mode:Nbr is  Slave  Priority: 1
   !!!!!DR: 172.16.1.3  BDR: 172.16.1.1!!!!!  MTU: 1500
   Dead timer due in 35  sec
   Retrans timer interval: 4
   Neighbor is up for 00:35:59
   Authentication Sequence: [ 0 ]

                 Neighbors

 Area 0.0.0.1 interface 172.16.2.1(Vlanif101)'s neighbors
 Router ID: 4.4.4.4          Address: 172.16.2.2
   State: Full  Mode:Nbr is  Master  Priority: 1
   DR: 172.16.2.2  BDR: 172.16.2.1  MTU: 1500
   Dead timer due in 33  sec
   Retrans timer interval: 5
   Neighbor is up for 00:56:48
   Authentication Sequence: [ 0 ]

[R3]

Сейчас мы снова включим в процесс OSPF на роутере R2 сеть 172.16.1.0/24.

[R2]ospf 1
[R2-ospf-1]area 0
[R2-ospf-1-area-0.0.0.0]network 172.16.1.0 0.0.0.255
[R2-ospf-1-area-0.0.0.0]

Теперь посмотрим состояние маршрутизаторов:

R1#show ip ospf neighbor

Neighbor ID     Pri   State           Dead Time   Address         Interface
2.2.2.2           1   FULL/DROTHER    00:00:36    172.16.1.2      Vlan100
3.3.3.3           1   FULL/DR         00:00:39    172.16.1.3      Vlan100
R1#

Второй маршрутизатор перешёл в состояние DROTHER, т. е. он не является ни DR, ни BDR. Да будет так.

Межзональный обмен маршрутами

Теперь посмотрим, что мы имеем в таблицах маршрутизации.

R1#show ip route
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route

Gateway of last resort is not set

     1.0.0.0/32 is subnetted, 1 subnets
C       1.1.1.1 is directly connected, Loopback0
     2.0.0.0/32 is subnetted, 1 subnets
O       2.2.2.2 [110/1] via 172.16.1.2, 00:05:59, Vlan100
     3.0.0.0/32 is subnetted, 1 subnets
O       3.3.3.3 [110/1] via 172.16.1.3, 00:05:59, Vlan100
     4.0.0.0/32 is subnetted, 1 subnets
O IA    4.4.4.4 [110/3] via 172.16.1.3, 00:05:59, Vlan100
     172.16.0.0/16 is variably subnetted, 2 subnets, 2 masks
C       172.16.1.0/24 is directly connected, Vlan100
O IA    172.16.2.0/30 [110/2] via 172.16.1.3, 00:05:59, Vlan100
R1#

Флаги IA означают, что маршрут пришёл из другой зоны OSPF.

То же самое на HUAWEI.

[R2]disp ip routing-table
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Public
         Destinations : 10       Routes : 10

Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface

        1.1.1.1/32  OSPF    10   2           D   172.16.1.1      Vlanif100
        2.2.2.2/32  Direct  0    0           D   127.0.0.1       LoopBack0
        3.3.3.3/32  OSPF    10   1           D   172.16.1.3      Vlanif100
        4.4.4.4/32  OSPF    10   3           D   172.16.1.3      Vlanif100
      127.0.0.0/8   Direct  0    0           D   127.0.0.1       InLoopBack0
      127.0.0.1/32  Direct  0    0           D   127.0.0.1       InLoopBack0
     172.16.1.0/24  Direct  0    0           D   172.16.1.2      Vlanif100
     172.16.1.2/32  Direct  0    0           D   127.0.0.1       Vlanif100
     172.16.2.0/30  OSPF    10   2           D   172.16.1.3      Vlanif100

[R2]

В глобальной таблице маршрутизации явно не видно, что маршрут 4.4.4.4/32 пришёл из другой зоны. Посмотрим более детально маршруты по протоколу OSPF.

[R2]dis ospf routing

         OSPF Process 1 with Router ID 2.2.2.2
                  Routing Tables

 Routing for Network
 Destination        Cost  Type       NextHop         AdvRouter       Area
 2.2.2.2/32         0     Stub       2.2.2.2         2.2.2.2         0.0.0.0
 172.16.1.0/24      1     Transit    172.16.1.2      2.2.2.2         0.0.0.0
 1.1.1.1/32         2     Stub       172.16.1.1      1.1.1.1         0.0.0.0
 3.3.3.3/32         1     Stub       172.16.1.3      3.3.3.3         0.0.0.0
 4.4.4.4/32         3     Inter-area 172.16.1.3      3.3.3.3         0.0.0.0
 172.16.2.0/30      2     Inter-area 172.16.1.3      3.3.3.3         0.0.0.0

 Total Nets: 6
 Intra Area: 4  Inter Area: 2  ASE: 0  NSSA: 0

[R2]

Здесь мы видим, что маршруты 4.4.4.4/32 и 172.16.2.0/30 пришли из другой зоны (Inter-area).

Редистрибьюция маршрутов

Усложним ситуацию. Вспомним, что маршрутизатор R2 по совместительству является пограничным маршрутизатором автономной системы, т. е. за ним потенциально могут быть другие маршрутизаторы. Добавим парочку статических маршрутов в рай, т. е. туда, откуда не возвращаются, да простят меня DNS’ы гугла.

[R2]ip route-static 8.8.8.8 32 NULL0
[R2]ip route-static 8.8.4.4 32 NULL0

И добавим редистрибьюцию статических маршрутов:

[R2]ospf 1
[R2-ospf-1]import-route static

Т. о. образом конфиг секции OSPF на маршрутизаторе R2:

[R2-ospf-1]di th
#
ospf 1 router-id 2.2.2.2
 import-route static
 area 0.0.0.0
  network 2.2.2.2 0.0.0.0
  network 172.16.1.0 0.0.0.255
#
return
[R2-ospf-1]

Посмотрим таблицы маршрутизации.

R1#show ip route
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route

Gateway of last resort is not set

     1.0.0.0/32 is subnetted, 1 subnets
C       1.1.1.1 is directly connected, Loopback0
     2.0.0.0/32 is subnetted, 1 subnets
O       2.2.2.2 [110/1] via 172.16.1.2, 00:01:49, Vlan100
     3.0.0.0/32 is subnetted, 1 subnets
O       3.3.3.3 [110/1] via 172.16.1.3, 00:01:49, Vlan100
     4.0.0.0/32 is subnetted, 1 subnets
O IA    4.4.4.4 [110/3] via 172.16.1.3, 00:01:49, Vlan100
     172.16.0.0/16 is variably subnetted, 2 subnets, 2 masks
C       172.16.1.0/24 is directly connected, Vlan100
O IA    172.16.2.0/30 [110/2] via 172.16.1.3, 00:01:50, Vlan100
     8.0.0.0/32 is subnetted, 2 subnets
O E2    8.8.8.8 [110/1] via 172.16.1.2, 00:01:50, Vlan100
O E2    8.8.4.4 [110/1] via 172.16.1.2, 00:01:52, Vlan100
     9.0.0.0/32 is subnetted, 1 subnets
O E2    9.9.9.9 [110/1] via 172.16.1.2, 00:01:52, Vlan100
R1#

Флаг E означает, что маршруты импортировались из другого протокола маршрутизации.

То же самое на HUAWEI:

[R3]disp ospf routing

         OSPF Process 1 with Router ID 3.3.3.3
                  Routing Tables

 Routing for Network
 Destination        Cost  Type       NextHop         AdvRouter       Area
 3.3.3.3/32         0     Stub       3.3.3.3         3.3.3.3         0.0.0.0
 172.16.1.0/24      1     Transit    172.16.1.3      3.3.3.3         0.0.0.0
 172.16.2.0/30      1     Transit    172.16.2.1      3.3.3.3         0.0.0.1
 1.1.1.1/32         2     Stub       172.16.1.1      1.1.1.1         0.0.0.0
 2.2.2.2/32         1     Stub       172.16.1.2      2.2.2.2         0.0.0.0
 4.4.4.4/32         2     Stub       172.16.2.2      4.4.4.4         0.0.0.1

 Routing for ASEs
 Destination        Cost      Type       Tag         NextHop         AdvRouter
 8.8.4.4/32         1         Type2      1           172.16.1.2      2.2.2.2
 8.8.8.8/32         1         Type2      1           172.16.1.2      2.2.2.2

 Total Nets: 8
 Intra Area: 6  Inter Area: 0  ASE: 2  NSSA: 0

[R3]

Настройка тупиковых зон

Переходим к заключительному этапу — настройке тупиковой зоны area 1. Предварительно посмотрим какие маршруты пришли на несправедливо забытый маршрутизатор R4.

R4#show ip route
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route

Gateway of last resort is not set

     1.0.0.0/32 is subnetted, 1 subnets
O IA    1.1.1.1 [110/3] via 172.16.2.1, 00:02:18, Vlan101
     2.0.0.0/32 is subnetted, 1 subnets
S       2.2.2.2 [1/0] via 172.16.2.1
     3.0.0.0/32 is subnetted, 1 subnets
O IA    3.3.3.3 [110/1] via 172.16.2.1, 00:02:18, Vlan101
     4.0.0.0/32 is subnetted, 1 subnets
C       4.4.4.4 is directly connected, Loopback0
     172.16.0.0/16 is variably subnetted, 2 subnets, 2 masks
O IA    172.16.1.0/24 [110/2] via 172.16.2.1, 00:02:18, Vlan101
C       172.16.2.0/30 is directly connected, Vlan101
     8.0.0.0/32 is subnetted, 2 subnets
O E2    8.8.8.8 [110/1] via 172.16.2.1, 00:02:19, Vlan101
O E2    8.8.4.4 [110/1] via 172.16.2.1, 00:02:21, Vlan101
C    192.168.254.0/24 is directly connected, Vlan96
R4#

Видим, что пришли абсолютно все маршруты. Переведём зону 1 в тупиковую.

[R3]ospf 1
[R3-ospf-1]area 1
[R3-ospf-1-area-0.0.0.1]stub
[R3-ospf-1-area-0.0.0.1]

R4(config)#router ospf 1
R4(config-router)#area 1 stub
R4(config-router)#

Смотрим таблицу маршрутизации:

R4#show ip route
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route

Gateway of last resort is 172.16.2.1 to network 0.0.0.0

     1.0.0.0/32 is subnetted, 1 subnets
O IA    1.1.1.1 [110/3] via 172.16.2.1, 00:01:54, Vlan101
     2.0.0.0/32 is subnetted, 1 subnets
O IA    2.2.2.2 [110/2] via 172.16.2.1, 00:00:04, Vlan101
     3.0.0.0/32 is subnetted, 1 subnets
O IA    3.3.3.3 [110/1] via 172.16.2.1, 00:01:54, Vlan101
     4.0.0.0/32 is subnetted, 1 subnets
C       4.4.4.4 is directly connected, Loopback0
     172.16.0.0/16 is variably subnetted, 2 subnets, 2 masks
O IA    172.16.1.0/24 [110/2] via 172.16.2.1, 00:01:54, Vlan101
C       172.16.2.0/30 is directly connected, Vlan101
C    192.168.254.0/24 is directly connected, Vlan96
O*IA 0.0.0.0/0 [110/2] via 172.16.2.1, 00:01:54, Vlan101
R4#

Видим, что пришли все маршруты, кроме маршрутов из других автономных систем. На все остальные адреса пакеты будут маршрутизироваться по вновь пришедшему дефолтному маршруту.

Переведём зону 1 в абсолютно тупиковую. Это можно сделать только на ABR маршрутизаторе.

[R3]ospf 1
[R3-ospf-1]area 1
[R3-ospf-1-area-0.0.0.1]stub no-summary
[R3-ospf-1-area-0.0.0.1]

Посмотрим таблицу маршрутизации:

R4#show ip route
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route

Gateway of last resort is 172.16.2.1 to network 0.0.0.0

     4.0.0.0/32 is subnetted, 1 subnets
C       4.4.4.4 is directly connected, Loopback0
     172.16.0.0/30 is subnetted, 1 subnets
C       172.16.2.0 is directly connected, Vlan101
C    192.168.254.0/24 is directly connected, Vlan96
O*IA 0.0.0.0/0 [110/2] via 172.16.2.1, 00:00:03, Vlan101
R4#

Видим, что теперь все пакеты, кроме подключенных напрямую сетей будут маршрутизироваться по дефолтному маршруту.

На этом всё. Спасибо за внимание.

Список использованных источников

1. OSPF xgu.ru — xgu.ru/wiki/OSPF
2. К. Пакет, Д. Тир: Создание масштабируемых сетей Cisco
3. HedEx Lite — документация по оборудованию HUAWEI.

Материал из Xgu.ru

Перейти к: навигация, поиск

stub.png
Данная страница находится в разработке.
Эта страница ещё не закончена. Информация, представленная здесь, может оказаться неполной или неверной.

Если вы считаете, что её стоило бы доработать как можно быстрее, пожалуйста, скажите об этом.

Автор: Наташа Самойленко

На этой странице описывается настройка OSPF на маршрутизаторах Cisco.

Тут описываются не только те настройки, которые наиболее часто встречаются в реальной жизни, то и более редкие.

Кратко основные принципы работы OSPF и основные настройки можно просмотреть в презентации Настройка OSPF на маршрутизаторах Cisco

Содержание

  • 1 Описание работы протокола
  • 2 Базовые настройки
    • 2.1 Выбор идентификатора маршрутизатора (Router ID)
    • 2.2 Включение OSPF
  • 3 Настройка OSPF для сетей различных типов
    • 3.1 OSPF в сетях точка-точка (point-to-point)
    • 3.2 OSPF в широковещательных сетях со множественным доступом
      • 3.2.1 Выбор DR и BDR
    • 3.3 OSPF в NBMA сетях
      • 3.3.1 Broadcast mode (Cisco extension)
      • 3.3.2 Nonbroadcast mode (RFC 2328 compliant)
        • 3.3.2.1 Статическое задание соседей (команда neighbor)
      • 3.3.3 Point-to-multipoint mode (RFC 2328 compliant)
      • 3.3.4 Point-to-multipoint Nonbroadcast mode (Cisco extension)
      • 3.3.5 Point-to-point mode (Cisco extension)
  • 4 Изменения параметров протокола
    • 4.1 Изменение cost и reference bandwidth
    • 4.2 Изменение hello и dead-интервалов
      • 4.2.1 Fast Hello
    • 4.3 Отключение проверки значения MTU
    • 4.4 Изменение administrative distance
    • 4.5 Изменение таймеров
      • 4.5.1 Вычисления SPF
  • 5 Управление информацией о маршрутах
    • 5.1 Фильтрация маршрутов
      • 5.1.1 ABR type 3 LSA filtering
    • 5.2 Суммирование маршрутов
      • 5.2.1 Пример настройки
    • 5.3 Маршрут по умолчанию
    • 5.4 Настройка разных тупиковых зон
    • 5.5 Stub router
  • 6 Перераспределение маршрутов
    • 6.1 Перераспределение статических маршрутов
  • 7 База данных состояния каналов (LSDB)
  • 8 Просмотр информации OSPF
    • 8.1 Таймеры, статистика, общая информация
    • 8.2 Дополнительная информация о маршрутах OSPF
    • 8.3 Таблица маршрутизации
    • 8.4 Информация об интерфейсах
    • 8.5 База данных состояния каналов
      • 8.5.1 Пример
    • 8.6 Информация о ABR
    • 8.7 Соседи, установленные отношения соседства
    • 8.8 SPF
    • 8.9 Virtual link
  • 9 Дополнительные возможности
    • 9.1 Virtual link
    • 9.2 Аутентификация
      • 9.2.1 Настройка типа аутентификации для зоны
      • 9.2.2 Настройка типа аутентификации и пароля на интерфейсах
      • 9.2.3 Аутентификация для virtual link
    • 9.3 Защита LSDB от перегрузки
    • 9.4 Graceful restart (nonstop forwarding)
    • 9.5 OSPF LSA Group Pacing
    • 9.6 LSA flooding
      • 9.6.1 Блокирование LSA flooding
      • 9.6.2 Уменьшение LSA flooding
  • 10 Разное
    • 10.1 Indication LSA
  • 11 Дополнительная информация

[править] Описание работы протокола

Тут описаны кратко основные этапы настройки/работы протокола, а также команды настройки и просмотра, которые используются для каждого этапа (подробнее этапы работы на странице OSPF).

Описание этапа Команды настройки Команды просмотра
1 Включить OSPF на маршрутизаторе router ospf 1 sh ip protocol
2 Маршрутизатор выбирает Router ID router-id 1.1.1.1 sh ip protocol
3 Включить OSPF на интерфейсах network 10.0.1.0 0.0.0.0 area 0

(-if)# ip ospf 1 area 0

sh ip protocol

sh ip ospf int br

4 Обнаружение соседей с помощью Hello-пакетов sh ip ospf interface
5 Установка отношений соседства sh ip ospf neighbor
6 Синхронизация LSDB sh ip ospf database
7 Вычисление SPF sh ip ospf
8 Помещение лучших маршрутов в таблицу маршрутизации sh ip ospf rib

sh ip route

[править] Базовые настройки

Пример топологии

[править] Выбор идентификатора маршрутизатора (Router ID)

Router ID можно назначить административно выполнив команду:

dyn3(config-router)#router-id <ip-address>

Если RID не был назначен административно, то он выбирается автоматически, в зависимости от настроек маршрутизатора, по таким правилам:

  1. Настроен один loopback-интерфейс и несколько интерфейсов с различными адресами:
    • Адрес присвоенный loopback-интерфейсу будет Router ID.
  2. Настроены несколько loopback-интерфейсов с несколькими IP-адресами в каждом:
    • Наибольший IP-адрес присвоенный любому из loopback-интерфейсов будет Router ID.
  3. Настроены несколько интерфейсов с IP-адресом на каждом:
    • Наибольший IP-адрес из всех активных интерфейсов будет Router ID.

Перезапустить процесс OSPF можно командой:

dyn3# clear ip ospf process

[править] Включение OSPF

Включить OSPF на интерфейсах в соответствующих сетях:

dyn3(config)# router ospf <process-id>
dyn3(config-router)# network <network> <wildcard mask> area <area-id>

Параметры команды network:

  • <network> — непосредственно присоединенная сеть к маршрутизатору.
  • <wildcard mask> — маска, которая указывает с помощью 0 какая часть из указанной сети должна совпадать, а с помощью 1 какая часть сети может быть произвольной.
  • <area-id> — идентификатор зоны, в которой будет работать интерфейс маршрутизатора. Интерфейс попадет в эту зону при условии, что его IP-адрес совпадает с сетью указанной с помощью network и wildcard mask. Для небольших сетей этот параметр можно указывать равным 0, но для больших сетей необходимо соблюдать иерархический дизайн зон в OSPF. Все обновления OSPF, которые передаются между различными зонами, должны проходить через зону 0.

Команда network делает следующее:

  • включает OSPF на интерфейсе, IP-адрес которого совпадает с указанной сетью и маской,
  • анонсирует сеть этого интерфейса через другие интерфейсы, на которых включен OSPF.

Note-icon.gif

В процессе OSPF могут быть настроены команды network с перекрывающимися сетями. Интерфейс будет назначен в зону команды network, которая соответствует максимально IP-адресу этого интерфейса.
Например, если есть такие настройки OSPF:

network 192.168.1.1 0.0.0.0 area 1
network 192.168.1.0 0.0.0.255 area 2
network 192.168.0.0 0.0.255.255 area 3

То интерфейс с адресом 192.168.1.1 будет в зоне 1, интерфейс с адресом 192.168.1.3 — в зоне 2, а интерфейс с адресом 192.168.2.5 — в зоне 3.

На маршрутизаторах можно использовать другой вариант включения OSPF, непосредственно на интерфейсе.

Включение OSPF на интерфейсах:

dyn3(config-if)# ip ospf <process-id> area <area-id> 

Отличия включения OSPF с помощью команд network и ip ospf area проявляется при использовании secondary адресов:

  • При использовании команды network, анонсируются сети любых secondary адресов, которые попадают в сеть;
  • Команда ip ospf area по умолчанию анонсирует сети secondary адресов, но эта возможность может быть отключена.

Не анонсировать сети secondary адресов:

dyn3(config-if)# ip ospf <process-id> area <area-id> secondaries none

Note-icon.gif

При использовании unnumbered интерфейсов, отличается влияние команд ip ospf area и network.
Например, есть lo0 с адресом 192.168.1.1 и unnumbered интерфейс s0/0.

Если настроить команду network 192.168.1.1 0.0.0.0 area 1, то и на lo0 и s0/0 будет включен OSPF и они будут в зоне 1.

Для того чтобы включить OSPF командой ip ospf area на обоих интерфейсах, необходимо дать команду и на lo0 и на s0/0.

[править] Настройка OSPF для сетей различных типов

[править] OSPF в сетях точка-точка (point-to-point)

Примеры сетей point-to-point:

  • serial-интерфейс, использующий на канальном уровне протоколы PPP или HDLC
  • point-to-point подынтерфейс, использующий на канальном уровне протокол Frame Relay
  • Туннельный интерфейс
  • Тип point-to-point может быть задан и для Ethernet, как правило, если это транзитный линк, который соединяет два устройства

Характеристики работы OSPF в сетях point-to-point:

  • По умолчанию Hello Interval равен 10 секундам, Router Dead Interval — 40 секундам
  • OSPF автоматически определяет этот тип интерфейса
  • Так как на интерфейсах point-to-point есть только два соседа, то нет необходимости выбирать DR и BDR
  • Пакеты OSPF отправляются на адрес 224.0.0.5

Обычно в качестве IP-адреса отправителя в пакетах OSPF указывается адрес исходящего интерфейса маршрутизатора.
Однако возможно использование IP unnumbered интерфейсов с OSPF.

Если интерфейс unnumbered и OSPF на primary интерфейсе включается командой network, тогда процесс запускается на обоих интерфейсах. Если OSPF на primary интерфейсе включается через ip ospf [id] area [area], тогда процесс запускается только на нем.

Note-icon.gif

OSPF не проверяет сеть и маску сети при установке отношений соседства в point-to-point сетях.
Поэтому можно использовать IP unnumbered интерфейсы.

[править] OSPF в широковещательных сетях со множественным доступом

Характеристики работы OSPF в широковещательных сетях:

  • Необходимо выбирать DR и BDR.
  • Все пакеты предназначенные DR и BDR отправляются на адрес 224.0.0.6.
  • Пакеты предназначенные другим маршрутизаторам отправляются на адрес 224.0.0.5.
  • Все соседние маршрутизаторы устанавливают полные отношения соседства (full adjacencies) только с DR и BDR.

[править] Выбор DR и BDR

Для того чтобы выбрать для сети DR и BDR, маршрутизаторы просматривают значение приоритета в hello-сообщениях и следуют таким условиям для того чтобы определить какой маршрутизатор выбрать:

  • Маршрутизатор с наивысшим значением приоритета становится DR.
  • Маршрутизатор со вторым наивысшим значением приоритета становится BDR.
  • По умолчанию приоритет интерфейса равен 1. Если у маршрутизаторов одинаковые приоритеты, то DR и BDR выбираются по значению Router ID. Маршрутизатор с наивысшим Router ID становится DR, а маршрутизатор со вторым наивысшим Router ID — BDR.
  • Маршрутизатор с приоритетом равным 0 не может стать DR или BDR. Маршрутизатор не ставший DR или BDR называется DROTHER.
  • Если в сети появляется новый маршрутизатор с более высоким приоритетом чем у текущего DR, то это не влияет на выбранных DR и BDR, переизбрание их не происходит. DR и BDR меняются только тогда, когда один из них вышел из строя. Если из строя вышел DR, то его заменяет BDR и происходят выборы нового BDR. Если из строя выходит BDR, то выбирается новый BDR.

Для того чтобы определить, что DR вышел из строя BDR использует Wait Timer.
Если в течение этого таймера BDR не получает подтверждения того, что DR отправляет LSA, то он считает, что DR вышел из строя.

Присвоить интерфейсу приоритет:

dyn3(config-if)#ip ospf priority <1-255>

[править] OSPF в NBMA сетях

Общая таблица сравнения различных режимов работы OSPF:

Режим работы OSPF Отношения соседства Выбор DR/BDR Соответствие RFC HelloInterval Адреса подсетей
Broadcast Автоматически Выбирается Cisco 10 секунд Одна подсеть
Nonbroadcast Настраиваются Выбирается RFC 2328 30 секунд Одна подсеть
Point-to-multipoint Автоматически Не выбирается RFC 2328 30 секунд Одна подсеть
Point-to-multipoint nonbroadcast Настраиваются Не выбирается Cisco 30 секунд Одна подсеть
Point-to-point Автоматически Не выбирается Cisco 10 секунд Разные для каждого подынтерфейса

В сетях NBMA по умолчанию HelloInterval равен 30 секундам, RouterDeadInterval — 120 секундам.

Существует несколько режимов работы OSPF в NBMA сетях.
Выбор режима работы влияет на то, как будет работать hello-протокол:

  • каким образом будут передаваться пакеты протокола по нешироковещательной сети,
  • будут ли выбираться DR и BDR,
  • как будут устанавливаться отношения соседства.

Настройка режима работы OSPF:

dyn3(config-if)#ip ospf network <broadcast | non-broadcast | point-to-multipoint [non-broadcast] | point-to-point >

По умолчанию на интерфейсах настроены такие режимы:

  • на подынтерфейсе point-to-point Frame Relay — режим point-to-point;
  • на подынтерфейсе point-to-multipoint Frame Relay — режим nonbroadcast;
  • на основном (физическом) интерфейсе Frame Relay — режим broadcast.

[править] Broadcast mode (Cisco extension)

Пример настройки интерфейса для работы в broadcast режиме:

dyn3(config)# interface serial 0/0
dyn3(config-if)#encapsulation frame-relay
dyn3(config-if)#ip ospf network broadcast

[править] Nonbroadcast mode (RFC 2328 compliant)

В Nonbroadcast режиме работы:

  • эмулируется работа OSPF в широковещательных сетях,
  • соседи должны быть настроены вручную,
  • hello отправляются unicast,
  • требуется выбор DR и BDR,
  • как правило, используется в сетях с топологией full mesh.
[править] Статическое задание соседей (команда neighbor)

Статическое задание соседа для установления отношения соседства:

dyn3(config-router)# neighbor <ip-address> [priority <number>] [poll-interval <number>] [cost <number>] [database-filter all]

Опции команды neighbor:

  • <ip-address> — IP-адрес соседнего маршрутизатора
  • priority <number> — приоритет соседа. По умолчанию 0. Диапазон значений от 0 до 255.
  • poll-interval <number> — интервал времени в течение которого NBMA-интерфейс ждет, прежде чем отправить hello-пакет соседу, даже в том случае, если сосед неактивен. Диапазон значений от 0 до 4294967295 секунд.
  • cost <number> — задает cost соседа. Диапазон значений от 1 до 65535. Соседи, для которых не указан cost используют значение назначенное на интерфейсе (командой ip ospf cost). Эта опция не используется для сетей NBMA.
  • database-filter all — фильтрует исходящие LSA, которые отправляются этому соседу.

Если в команде neighbor не задан приоритет соседа, то по умолчанию он будет равен 0.
Но задание приоритета в команде neighbor не гарантирует, что такой приоритет и будет использоваться для соседа.
Маршрутизатор будет сравнивать приоритет, который указан в команде neighbor, и приоритет, который пришел в hello-пакете.
И выберет больший их двух приоритетов.

Если, например, на маршрутизаторе dyn1 задан приоритет соседа dyn3 равный 1, а от dyn3 приходит hello-пакет, в котором указан приоритет равный 3, то dyn1 будет использовать высший приоритет — 3.
Эти изменения автоматически появятся в конфигурационном файле, где вместо строки neighbor 3.3.3.3 priority 1, появится строка neighbor 3.3.3.3 priority 3.

При статическом задании соседей, достаточно указать соседей только на одном маршрутизаторе.

[править] Point-to-multipoint mode (RFC 2328 compliant)

В режиме Point-to-multipoint:

  • сеть рассматривается как несколько соединений point-to-point,
  • point-to-multipoint virtual circuit должны поддерживать multicast и broadcast,
  • маршрутизаторы автоматически обнаруживают соседей,
  • не выбираются DR и BDR,
  • Type 2 LSA не отправляются соседям,
  • LSA дублируются. Маршрутизатор должен скопировать LSU каждому соседу,
  • как правило, используется в сетях с топологией частичный mesh (partial mesh).

[править] Point-to-multipoint Nonbroadcast mode (Cisco extension)

Если point-to-multipoint virtual circuit не поддерживают multicast и broadcast, то режим Point-to-multipoint не может использоваться, так как тогда нельзя автоматически обнаружить соседей.
В таких случаях используется проприетарный режим Point-to-multipoint nonbroadcast.

В режиме Point-to-multipoint nonbroadcast:

  • сеть рассматривается как несколько соединений point-to-point,
  • соседи должны быть настроены вручную,
  • не выбираются DR и BDR.

[править] Point-to-point mode (Cisco extension)

В режиме Point-to-multipoint:

  • маршрутизаторы автоматически обнаруживают соседей,
  • не выбираются DR и BDR,
  • каждому подынтерфейсу выделяется своя подсеть,
  • как правило, используется в сетях с топологией частичный mesh (partial mesh).

[править] Изменения параметров протокола

[править] Изменение cost и reference bandwidth

Изменение значения cost на интерфейсе:

dyn3(config-if)# ip ospf cost <1 - 65535>

Для тех режимов работы OSPF, в которых соседи задаются с помощью команды neighbor, cost можно указать так:

dyn3(config-router)# neighbor <neighbor> cost <1 - 65535>

Изменение формулы подсчета cost, значение задается в Mbps и по умолчанию 100 Mbps:

dyn3(config-router)# auto-cost reference-bandwidth <ref-bw>

Note-icon.gif

Так как стоимость интерфейса высчитывается на основании пропускной способности интерфейса, один из вариантов поменять стоимость это изменить параметр bandwidth на соответствующем интерфейсе.

[править] Изменение hello и dead-интервалов

Изменение hello-интервала:

router(config-if)# ip ospf hello-interval <sec> 

Изменение dead-интервала:

router(config-if)# ip ospf dead-interval <sec> 

[править] Fast Hello

OSPF fast hello-пакеты — это hello-пакеты, которые отправляются с интервалом менее 1 секунды. Это достигается установкой dead-интервала равным 1 секунде (множитель равен 4 по умолчанию).

Более частая отправка hello-пакетов позволяет увеличить скорость сходимости сети и скорость обнаружения соседей.

Когда на интерфейсе настроена отправка hello-пакетов, с интервалом менее 1 секунды, то в hello-пакете, который отправляется с этого интерфейса, hello-интервал будет равен 0.
Hello-интервал полученный в hello-пакетах, которые приходят на этот интерфейс, игнорируется.
Dead-интервал должен быть одинаковым.

Настройка dead-интервала равным 1 и изменение множителя:

router(config-if)# ip ospf dead-interval minimal hello-multiplier 5 

Посмотреть установленные значения:

router# show ip ospf interface

[править] Отключение проверки значения MTU

Для того чтобы маршрутизаторы установили отношения соседства у них должны совпадать значения MTU на интерфейсах.
Информация о значении MTU передается в DD-пакетах и сравнивается в начале обмена DD-пакетами.

Отключение проверки MTU:

router(config-if)# ip ospf mtu-ignore

[править] Изменение administrative distance

По умолчанию administrative distance для всех типов маршрутов OSPF 110.
Однако можно изменить AD и настроить различные значения для разных типов маршрутов.

Изменение administrative distance:

dyn3(config-router)# distance ospf <[external <dist1>] [inter-area <dist2>] [intra-area <dist3>]>

[править] Изменение таймеров

[1]

dyn3(config-router)# timers lsa arrival
dyn3(config-router)# timers pacing flood
dyn3(config-router)# timers pacing lsa-group
dyn3(config-router)# timers pacing retransmission
dyn3(config-router)# timers throttle lsa all

[править] Вычисления SPF

dyn3(config-router)# timers throttle spf <spf-start> <spf-hold> <spf-max-wait> 

Параметры команды:

  • spf-start — Initial delay to schedule an SFP calculation after a change, in milliseconds. Range is from 1 to 600000.
  • spf-hold — Minimum hold time between two consecutive SPF calculations, in milliseconds. Range is from 1 to 600000.
  • spf-max-wait — Maximum wait time between two consecutive SPF calculations, in milliseconds. Range is 1 to 600000.

[править] Управление информацией о маршрутах

[править] Фильтрация маршрутов

Для OSPF фильтрация маршрутов отличается от остальных протоколов, так как OSPF не анонсирует маршруты в сети, а анонсирует информацию о топологии с помощью LSA. Фильтрация LSA будет означать, что у маршрутизаторов в зоне будут отличаться LSDB и это приведет к сбоям в маршрутизации трафика.

IOS поддерживает три варианта фильтрации, которые можно считать фильтрацией маршрутов для OSPF:

  • Фильтрация маршрутов с использованием команды distribute-list in (настройка distribute-list описана на странице Маршрутизация в Cisco). Маршрутизатор фильтрует маршруты, которые помещаются в таблицу маршрутизации, но LSDB остается неизменной.
  • ABR type 3 LSA filtering — предотвращение создания конкретных type 3 LSA на ABR.
  • Использование параметра area range no-advertise — вариант управления type 3 LSA, которые создаёт ABR.

[править] ABR type 3 LSA filtering

Настройка ABR type 3 LSA filtering:

router(config-router)# area <area-id> filter-list prefix <prefix-name> <in | out>

ABR type 3 LSA фильтрация применённая в различных направлениях:

  • in — фильтрация сетей, которые передаются в указанную зону,
  • out — фильтрация сетей, которые передаются из указанной зоны.

Посмотреть применённые фильтры на ABR:

router# show ip ospf

[править] Суммирование маршрутов

Суммарный маршрут для зоны (настраивается на ABR):

dyn3(config-router)# area <area-id> range <address> <mask> [advertise|not-advertise] [cost <cost>]

Параметры команды:

  • area-id — зона в которой находятся компоненты суммарного маршрута
  • not-advertise — позволяет фильтровать маршруты

Суммарный внешний маршрут (настраивается на ASBR):

dyn3(config-router)# summary-address <ip-address> <mask> [not-advertise]  [tag <tag>]

На маршрутизаторе, на котором настроено суммирование маршрутов, автоматически создается суммарный маршрут на интерфейс null0.
Это позволяет отбрасывать пакеты, которые идут в не использующиеся сети суммарного маршрута.
Иначе, эти пакеты были бы отправлены на default gateway, а это может привести к петле.

При необходимости, можно отключить автоматическую вставку суммарного маршрута на null0:

dyn(config-router)# no discard-route [internal] [external]

Суммарные маршруты, которые автоматически вставляются OSPF получают значение AD 110.
С помощью команды discard-route можно поменять значение AD суммарного маршрута на null0:

dyn(config-router)# discard-route [internal] [AD] [external] [AD]

Note-icon.gif

Если трафик идёт в сети, которых нет на ABR, но они попадают в суммарный маршрут в Null 0, то ABR отбрасывает его и генерирует ICMP unreachable.
Можно отключить отправку ICMP unreachable:

interface Null0

no ip unreachables

[править] Пример настройки

Настройка суммирования маршрутов:

router ospf 1
 area 0 range 192.0.0.0 255.255.0.0
 area 4 range 192.4.0.0 255.255.0.0
 network 192.0.1.0 0.0.0.255 area 0
 network 192.4.1.0 0.0.0.255 area 4

Суммарные маршруты в таблице маршрутизации маршрутизатора, на котором они настроены:

O    192.4.4.0/24 [110/11] via 192.4.1.11, 00:00:04, FastEthernet2/0
     192.0.0.0/32 is subnetted, 4 subnets
C       192.0.0.1 is directly connected, Loopback0
O       192.0.0.2 [110/2] via 192.0.2.2, 00:00:04, FastEthernet1/0
O       192.0.0.3 [110/2] via 192.0.1.3, 00:00:04, FastEthernet0/0
O       192.0.0.4 [110/2] via 192.0.1.4, 00:00:04, FastEthernet0/0
C    192.0.1.0/24 is directly connected, FastEthernet0/0
C    192.4.1.0/24 is directly connected, FastEthernet2/0
C    192.0.2.0/24 is directly connected, FastEthernet1/0
O    192.4.2.0/24 [110/11] via 192.4.1.9, 00:00:04, FastEthernet2/0
O    192.4.3.0/24 [110/11] via 192.4.1.10, 00:00:04, FastEthernet2/0
O    192.0.0.0/16 is a summary, 00:00:04, Null0
O IA 192.1.0.0/16 [110/2] via 192.0.1.3, 00:00:04, FastEthernet0/0
O IA 192.2.0.0/16 [110/2] via 192.0.1.4, 00:00:05, FastEthernet0/0
O IA 192.3.0.0/16 [110/21] via 192.0.1.12, 00:00:05, FastEthernet0/0
O    192.4.0.0/16 is a summary, 00:00:05, Null0

Значение AD у суммарного маршрута:

dyn1(config)#do sh ip route 192.4.0.0
Routing entry for 192.4.0.0/16, supernet
  Known via "ospf 1", distance 110, metric 1, type intra area
  Routing Descriptor Blocks:
  * directly connected, via Null0
      Route metric is 1, traffic share count is 1

После отключения автоматической вставки суммарного маршрута:

O    192.4.4.0/24 [110/11] via 192.4.1.11, 00:00:06, FastEthernet2/0
     192.0.0.0/32 is subnetted, 4 subnets
C       192.0.0.1 is directly connected, Loopback0
O       192.0.0.2 [110/2] via 192.0.2.2, 00:00:06, FastEthernet1/0
O       192.0.0.3 [110/2] via 192.0.1.3, 00:00:06, FastEthernet0/0
O       192.0.0.4 [110/2] via 192.0.1.4, 00:00:06, FastEthernet0/0
C    192.0.1.0/24 is directly connected, FastEthernet0/0
C    192.4.1.0/24 is directly connected, FastEthernet2/0
C    192.0.2.0/24 is directly connected, FastEthernet1/0
O    192.4.2.0/24 [110/11] via 192.4.1.9, 00:00:07, FastEthernet2/0
O    192.4.3.0/24 [110/11] via 192.4.1.10, 00:00:07, FastEthernet2/0
O IA 192.1.0.0/16 [110/2] via 192.0.1.3, 00:00:07, FastEthernet0/0
O IA 192.2.0.0/16 [110/2] via 192.0.1.4, 00:00:07, FastEthernet0/0
O IA 192.3.0.0/16 [110/21] via 192.0.1.12, 00:00:07, FastEthernet0/0

Включение вставки суммарного маршрута со значением AD 250:

dyn1(config-router)#discard-route internal 250

Проверка значения AD:

dyn1#sh ip route 192.4.0.0
Routing entry for 192.4.0.0/16, supernet
  Known via "ospf 1", distance 250, metric 1, type intra area
  Routing Descriptor Blocks:
  * directly connected, via Null0
      Route metric is 1, traffic share count is 1

[править] Маршрут по умолчанию

dyn3(config-router)# default-information originate [always] [metric <metric-value>]
[metric-type <type-value>] [route-map <map-name>]

Информация распространяется только если маршрут по умолчанию присутствует в таблице маршрутизации (это можно обойти с помощью параметра always).

Команда default-information originate говорит OSPF перераспределить любой маршрут по умолчанию найденный в таблице маршрутизации (статический или полученный по другому протоколу маршрутизации).

По умолчанию метрика маршрута будет 1, а тип маршрута — E2.

[править] Настройка разных тупиковых зон

Тупиковая зона (stub area):

router(config-router)# area 1 stub

Стоимость, которая будет присвоена маршруту по умолчанию, при анонсировании его в stub или NSSA зону (по умолчанию 1):

router(config-router)# area 1 default-cost 20

Totally stubby area (no-summary нужно настраивать только на ABR):

router(config-router)# area 1 stub no-summary

Not-so-stubby area (NSSA):

router(config-router)# area 1 nssa

Генерация маршрута по умолчанию на ABR для NSSA зоны (маршрут будет с типом N2):

router(config-router)# area 1 nssa default-information-originate

Totally not-so-stubby area (Totally NSSA) автоматически генерирует маршрут по умолчанию как межзональный:

router(config-router)# area 1 nssa no-summary

Если ABR, является ASBR и к нему присоединена NSSA зона, можно отключить генерацию Type 7 LSA в NSSA зону (type 5 LSA в зону 0 генерируется):

router(config-router)# area 1 nssa no-redistribution

На ABR, который соединяет NSSA зону с нулевой, происходит преобразование Type 7 LSA в Type 5 LSA. Когда ABR несколько, то фактически преобразованием занимается только один из них. Выбирается тот ABR, у которого больше Router ID.

Однако, это не значит, что данные могут передаваться только через одного из ABR.
При преобразовании Type 7 LSA в Type 5, в LSA сохраняется информация о ASBR от которого был получен внешний маршрут, в виде Forwarding address.
Остальные маршрутизаторы передают трафик по кратчайшему пути к ASBR, который указан в поле Forwarding address, независимо от того какой ABR выполнял преобразование.

Если на ABR настроена фильтрация маршрутов и отфильтрован маршрут к ASBR, который анонсировал внешний маршрут в NSSA зоне, то внешний маршрут будет в LSDB, но его не будет в таблице маршрутизации (так как нет пути к ASBR).

Можно настроить на ABR обнуление forwarding address. Тогда передачу трафика к внешним маршрутам NSSA зоны будет выполнять именно тот ABR, который выполняет трансляцию Type 7 LSA в Type 5 (так как если forwarding address равен нулю, то трафик передается на тот маршрутизатор, который анонсировал маршрут).

Обнуление forwarding address:

router(config-router)# area 1 nssa translate type7 suppress-fa

[править] Stub router

Stub router — функция, которая позволяет указать, что маршрутизатор, временно или постоянно, не будет транзитным маршрутизатором.
Эта функциональность описана в RFC 3137.

router(config-router)# max-metric router-lsa on-startup <announce-time | wait-for-bgp>

Опции команды:

  • announce-time — время в секундах, в течение которого маршрутизатор будет анонсировать infinite метрику для всех транзитных маршрутов,
  • wait-for-bgp — маршрутизатор перестанет быть тупиковым, когда BGP просигнализирует о том, что convergence complete или по истечению 10 минут (по первому из этих событий).

[править] Перераспределение маршрутов

Перераспределение маршрутов (route redistribution) — обмен маршрутной информацией между двумя различными маршрутизирующими протоколами

[править] Перераспределение статических маршрутов

redistribute static

пример:

R2(config)# router ospf 100
 router-id 10.xx.243.3
 log-adjacency-changes
 redistribute static route-map POS
 network 10.xx.0.0 0.0.255.255 area 84
!
route-map POS permit 100
 match ip address 10
!
access-list 10 permit 192.168.84.0 0.0.0.255
!
ip route 192.168.84.0 255.255.255.0 Tunnel0

при этом статический маршрут 192.168.84.0 255.255.255.0 передается по OSPF маршрутизатору R3:

R3#sh ip route ospf
     10.0.0.0/8 is variably subnetted, 4 subnets, 2 masks
O       10.xx.246.0/30 [110/11112] via 10.xx.243.3, 00:54:54, FastEthernet0/0
O       10.xx.238.0/24 [110/2] via 10.xx.243.3, 00:54:54, FastEthernet0/0
O E2 192.168.xx.0/24 [110/20] via 10.xx.243.3, 00:20:54, FastEthernet0/0

редистрибуция всех статических и директ-коннектед маршрутов, описанных в акцесс листе 53:

router ospf 84
 router-id 10.250.84.200
 log-adjacency-changes
 redistribute connected metric-type 1 subnets
 redistribute static metric-type 1 subnets
 network 10.84.0.0 0.0.255.255 area 84
 distribute-list 53 out
!
access-list 53 remark ***  redistribute static route ***
access-list 53 permit 10.250.84.200
access-list 53 permit 10.xx.0.0 0.0.255.255

просмотр переданных маршрутов:

asa-sm#  sh route dmz-out  | i 10.xx.243.3
O E1 10.xx.129.158 255.255.255.255 [110/31] via 10.xx.243.3, 0:15:09, dmz-out
O E1 10.xx.129.157 255.255.255.255 [110/31] via 10.xx.243.3, 0:15:09, dmz-out
O    10.xx.246.248 255.255.255.248 [110/11] via 10.xx.243.3, 0:15:09, dmz-out
           [110/11121] via 10.84.243.3, 0:15:09, dmz-out
O    10.xx.253.96 255.255.255.248 [110/11] via 10.xx.243.3, 0:15:09, dmz-out
O E1 10.xx.129.2 255.255.255.255 [110/31] via 10.xx.243.3, 0:07:08, dmz-out
O E1 10.xx.249.120 255.255.255.252 [110/30] via 10.xx.243.3, 0:03:33, dmz-out
O E1 10.xx.236.64 255.255.255.224 [110/30] via 10.xx.243.3, 0:03:13, dmz-out
O E1 10.xx.252.80 255.255.255.240 [110/31] via 10.xx.243.3, 0:05:59, dmz-out

[править] База данных состояния каналов (LSDB)

[править] Просмотр информации OSPF

[править] Таймеры, статистика, общая информация

Параметры, статистика протоколов маршрутизации запущенных на маршрутизаторе:

dyn3# show ip protocols

Информация о Router ID, таймерах и статистика:

dyn3# show ip ospf

Просмотр RIB OSPF (команда доступна с версии 12.4(15)T):

show ip ospf <process-id> rib

[править] Дополнительная информация о маршрутах OSPF

show ip ospf rib <>

[править] Таблица маршрутизации

Маршруты полученные по протоколу OSPF:

dyn3# show ip route ospf 

Обозначения маршрутов OSPF:

  • O — OSPF intra-area (router LSA) и network LSA — сети в зоне маршрутизатора.
  • O IA — OSPF interarea (summary LSA) — сети вне зоны маршрутизатора, но в той же автономной системе.
  • O E1 — Type 1 external routes — сети вне автономной системы маршрутизатора. К метрике внешнего маршрута добавляется cost всех линков по которым передавался маршрут. Используется когда несколько маршрутизаторов анонсируют внешнюю сеть.
  • O E2 — Type 2 external routes (по умолчанию) — сети вне автономной системы маршрутизатора. Используется только cost внешнего маршрута.
  • O N1 — Type 1 NSSA external routes
  • O N2 — Type 2 NSSA external routes

[править] Информация об интерфейсах

Информация о настройках OSPF на интерфейсах:

dyn3# show ip ospf interface

Краткий вывод информации об интерфейсах:

dyn2#sh ip ospf interface brief 
Interface    PID   Area            IP Address/Mask    Cost  State Nbrs F/C
Lo3          1     0               199.2.2.2/24       1     LOOP  0/0
Fa1/0        1     0               192.168.1.5/30     1     BDR   1/1
Fa0/0        1     0               192.168.1.2/30     1     BDR   1/1

[править] База данных состояния каналов

База данных состояния каналов (link state database):

dyn3# show ip ospf database 

Дополнительные параметры команды show ip ospf database позволяют выводить информацию о конкретных LSA:

  • adv-router Advertising Router link states
  • asbr-summary ASBR summary link states
  • database-summary Summary of database
  • external External link states
  • network Network link states
  • nssa-external NSSA External link states
  • opaque-area Opaque Area link states
  • opaque-as Opaque AS link states
  • opaque-link Opaque Link-Local link states
  • router Router link states
  • self-originate Self-originated link states
  • summary Network summary link states

Note-icon.gif

При просмотре LSDB с дополнительными параметрами, вывод некоторых полей LSA более очевиден.
Например, дополнительно указано, что в конкретном LSA используется в роли Link ID.

dyn3# show ip ospf database database-summary 

[править] Пример

Настройки маршрутизатора dyn2:

dyn2# sh ip int br
Interface                  IP-Address      OK? Method Status                Protocol
FastEthernet0/0            192.168.1.2     YES NVRAM  up                    up      
FastEthernet1/0            192.168.1.5     YES NVRAM  up                    up      
Loopback0                  197.1.2.1       YES NVRAM  up                    up      
Loopback1                  197.1.3.1       YES NVRAM  up                    up      
Loopback3                  199.2.2.2       YES manual up                    up      

dyn2# sh run | sec router ospf
router ospf 1
 log-adjacency-changes
 network 192.168.0.0 0.0.255.255 area 0
 network 199.0.0.0 0.255.255.255 area 0

База данных состояния каналов:

dyn2# show ip ospf database 

            OSPF Router with ID (199.2.2.2) (Process ID 1)

                Router Link States (Area 0)

Link ID         ADV Router      Age         Seq#       Checksum Link count
199.1.1.1       199.1.1.1       1692        0x80000288 0x00A7A3 4
199.2.2.2       199.2.2.2       1496        0x80000287 0x000B5D 3
199.3.3.3       199.3.3.3       1122        0x80000288 0x00F15B 3
199.4.4.4       199.4.4.4       399         0x80000287 0x0082A1 4

                Net Link States (Area 0)

Link ID         ADV Router      Age         Seq#       Checksum
192.168.1.1     199.1.1.1       1692        0x80000286 0x0010D6
192.168.1.6     199.3.3.3       1122        0x80000286 0x00E9EB
192.168.1.10    199.4.4.4       399         0x80000286 0x00EED9

LSA 1, которые анонсирует локальный маршрутизатор:

dyn2# show ip ospf database router self-originate 

            OSPF Router with ID (199.2.2.2) (Process ID 1)

                Router Link States (Area 0)

  LS age: 951
  Options: (No TOS-capability, DC)
  LS Type: Router Links
  Link State ID: 199.2.2.2
  Advertising Router: 199.2.2.2
  LS Seq Number: 80000287
  Checksum: 0xB5D
  Length: 60
  Number of Links: 3

    Link connected to: a Stub Network
     (Link ID) Network/subnet number: 199.2.2.2
     (Link Data) Network Mask: 255.255.255.255
      Number of TOS metrics: 0
       TOS 0 Metrics: 1

    Link connected to: a Transit Network
     (Link ID) Designated Router address: 192.168.1.6
     (Link Data) Router Interface address: 192.168.1.5
      Number of TOS metrics: 0
       TOS 0 Metrics: 1

    Link connected to: a Transit Network
     (Link ID) Designated Router address: 192.168.1.1
     (Link Data) Router Interface address: 192.168.1.2
      Number of TOS metrics: 0
       TOS 0 Metrics: 1

Все LSA type 2 в LSDB:

dyn2#show ip ospf database network 

            OSPF Router with ID (199.2.2.2) (Process ID 1)

                Net Link States (Area 0)

  Routing Bit Set on this LSA
  LS age: 1866
  Options: (No TOS-capability, DC)
  LS Type: Network Links
  Link State ID: 192.168.1.1 (address of Designated Router)
  Advertising Router: 199.1.1.1
  LS Seq Number: 80000286
  Checksum: 0x10D6
  Length: 32
  Network Mask: /30
        Attached Router: 199.1.1.1
        Attached Router: 199.2.2.2

  Routing Bit Set on this LSA
  LS age: 1295
  Options: (No TOS-capability, DC)
  LS Type: Network Links
  Link State ID: 192.168.1.6 (address of Designated Router)
  Advertising Router: 199.3.3.3
  LS Seq Number: 80000286
  Checksum: 0xE9EB
  Length: 32
  Network Mask: /30
        Attached Router: 199.3.3.3
        Attached Router: 199.2.2.2

  Routing Bit Set on this LSA
  LS age: 590
  Options: (No TOS-capability, DC)
  LS Type: Network Links
  Link State ID: 192.168.1.10 (address of Designated Router)
  Advertising Router: 199.4.4.4
  LS Seq Number: 80000286
  Checksum: 0xEED9
  Length: 32
  Network Mask: /30
        Attached Router: 199.4.4.4
        Attached Router: 199.3.3.3

[править] Информация о ABR

Информация о ABR (например, стоимость пути к ABR):

dyn3# show ip ospf border-routers

[править] Соседи, установленные отношения соседства

Информация о соседях:

dyn3# show ip ospf neighbor

Более подробная информация об изменениях отношений соседства (каждое изменение состояния):

router(config-router)# log-adjacency-changes detail

[править] SPF

Информация о том как часто маршрутизатор запускал алгоритм SPF:

dyn2# sh ip ospf statistics

OSPF process ID 1
------------------------------------------

  Area 0: SPF algorithm executed 7 times

  Summary OSPF SPF statistic

  SPF calculation time
Delta T   Intra D-Intra Summ    D-Summ  Ext     D-Ext   Total   Reason
2w2d   8        0       0       0       0       0       8       R, N, X
2w2d   8        0       0       0       0       0       8       R,
2w1d   4        4       0       0       0       0       8       R, N,
2w1d   0        0       0       0       0       0       0       R,
2w1d   4        0       0       0       0       0       4       R, N,
2w1d   4        0       0       0       0       0       4       R, N,
2w1d   8        0       0       0       0       0       8       R, N,
1d15h   8       0       0       0       0       0       16      R, N, SN, SA, X
1d15h   0       0       0       0       0       0       0       R, N, SN, SA, X
1d15h   0       0       0       0       0       0       0       R, N, SN, SA, X

Причины запуска алгоритма:

  • N — возникли изменения в network LSA (type 2).
  • R — возникли изменения в router LSA (type 1).
  • SA — возникли изменения в Summary autonomous system boundary router (ASBR) (SA) LSA.
  • SN — возникли изменения в Summary Network (SN) LSA.
  • X — возникли изменения в External Type-7 (X7) LSA.

[править] Virtual link

show ip ospf virtual-links

[править] Дополнительные возможности

[править] Virtual link

Virtual link — специальное соединение, которое позволяет соединять, например, разорванную на части зону или присоединить зону к магистральной, через другую зону. Настраивается между двумя ABR.

Для того, чтобы маршрутизаторы могли передать пакеты OSPF через virtual link, они инкапсулируют их в IP-пакеты.
Этот механизм используется как временное решение или как backup на случай выхода из строя основных соединений.

Некоторые характеристики virtual link:

  • Работа hello-протокола в virtual link не отличается от его работы при обычных соединениях.
  • Через virtual link маршрутизаторы могут установить отношения соседства также как и в случае, если они непосредственно присоединены друг к другу.
  • В LSA, которые отправляются через virtual link, устанавливается опция DoNotAge (DNA).
  • Virtual link находится в area 0.

Настройка virtual link:

dyn3(config-router)# area <area-id> virtual-link <router-id> 

Параметры команды virtual link:

  • <area-id> — транзитная зона, через которую идет virtual link (транзитная зона не может быть тупиковой),
  • <router-id> — Router ID соседа, с которым устанавливается соединение с помощью virtual link.

Просмотр информации о virtual link:

dyn3# show ip ospf virtual-links

[править] Аутентификация

OSPF поддерживает три типа аутентификации:

  • type 0 (none)
  • type 1 (clear text)
  • type 2 (MD5)

Note-icon.gif

Фактически OSPF позволяет указать только тип аутентификации, без указания пароля. При такой ситуации отношения соседства установятся (если у соседей указан одинаковый тип аутентификации), но сама аутентификация не будет выполняться.

Тип аутентификации может быть настроен на интерфейсе или для всей зоны. А сам пароль только на интерфейсах.

Note-icon.gif

Тип аутентификации может быть настроен на интерфейсе и для всей зоны. Настройки на интерфейсе являются более приоритетными.

[править] Настройка типа аутентификации для зоны

Настройка аутентификации type 1 для зоны 1 (пароль надо задавать на интерфейсах):

router(config-router)# area 1 authentication

Настройка аутентификации type 2 для зоны 0 (пароль надо задавать на интерфейсах):

router(config-router)# area 0 authentication message-digest

[править] Настройка типа аутентификации и пароля на интерфейсах

Настройка аутентификации type 0:

router(config-if)# ip ospf authentication null

Настройка аутентификации type 1:

router(config-if)# ip ospf authentication 
router(config-if)# ip ospf authentication-key <key-value>

Настройка аутентификации type 2:

router(config-if)# ip ospf authentication message-digest
router(config-if)# ip ospf message-digest-key <key-number> md5 <key-value>

[править] Аутентификация для virtual link

Аутентификация type 1 (plaintext) для virtual link:

router(config-router)# area <id> virtual-link <router-id> authentication-key <key-value>

Аутентификация type 2 (MD5) для virtual link:

router(config-router)# area <id> virtual-link <router-id> message-digest-key <key-number> md5 <key-value>

[править] Защита LSDB от перегрузки

dyn3(config-router)# max-lsa <maximum-number> [<threshold-percentage>] 
[warning-only] [ignore-time <minutes>]
[ignore-count <count-number>] [reset-time <minutes>]

Параметры команды max-lsa:

  • max-lsa <maximum-number> — максимальное количество LSA, которое маршрутизатор может хранить в LSDB (сгенерированных не локальным маршрутизатором);
  • <threshold-percentage> — процент от максимального количества LSA при достижении которого будет сгенерировано log-сообщение. По умолчанию 75%;
  • warning-only — указывает, что при достижении максимума LSA будет только сгенерировано сообщение. Выключено по умолчанию;
  • ignore-time <minutes> — время, в течение которого будут игнорироваться LSA полученные от соседей после достижения максимума LSA. По умолчанию 5 минут;
  • ignore-count <count-number> — количество раз, которое OSPF процесс может попадать в состояние игнорирования LSA. Если количество будет превышено, то процесс OSPF надо будет поднимать вручную. По умолчанию 5 раз;
  • reset-time <minutes> — время, после которого счетчик включения состояния игнорирования собьется в ноль. В течение этого диапазона времени количество LSA не должно превышать максимума. По умолчанию 10 минут.

Состояние игнорирования — наступает если включена защита от перегрузки. В этом состоянии процесс OSPF разрывает все отношения соседства и очищает свою базу данных.

[править] Graceful restart (nonstop forwarding)

Graceful restart позволяет маршрутизатору, при перезагрузке процесса OSPF, передавать трафик и избегать появления петель в сети.

Описан в RFC 3623. В RFC этот функционал называется nonstop forwarding (NSF).

Cisco реализовала функционал аналогичный RFC, до появления стандартной процедуры graceful restart, поэтому маршрутизаторы Cisco поддерживают два варианта выполнения это процедуры.

Для того чтобы трафик передавался без петель во время перезагрузки процесса OSPF, должны выполняться такие условия:

  • Маршрутизатор, на котором выполняется NSF, должен оповестить соседей, что будет выполняться перезагрузка с помощью отправки «grace LSA»;
  • База данных LSA остается неизменной во время перезагрузки;
  • Все соседи маршрутизатора поддерживают NSF и соответствующим образом настроены;
  • Перезагрузка выполняется в пределах «grace period»;
  • Во время перезагрузки маршрутизаторы, с которыми установлены отношения соседства, должны работать в режиме «helper».

По умолчанию оба варианта graceful restart включены (начиная с IOS 12.4(6)T).
Отключить graceful restart:

router(config-router)# nsf [cisco | ietf] helper disable

[править] OSPF LSA Group Pacing

[2]

dyn3(config-router)# timers pacing lsa-group 

[править] LSA flooding

[править] Блокирование LSA flooding

По умолчанию маршрутизатор анонсирует LSA через все интерфейсы.
Можно указать через какие интерфейсы или какому соседу не анонсировать LSA.

Для broadcast, nonbroadcast, point-to-point сетей:

dyn1(config-if)# ip ospf database-filter all out

Для point-to-multipoint сетей:

dyn1(config-router)# neighbor <ip-address> database-filter all out

[править] Уменьшение LSA flooding

dyn1(config-if)# ip ospf flood-reduction

[править] Разное

[править] Indication LSA

Если в сети где работает OSPF есть не только маршрутизаторы Cisco, но и маршрутизаторы других производителей, которые не поддерживают demand circuit, то в LSDB может появится Indication LSA.

При использовании DC не отправляются периодические обновления LSA, поэтому в LSA устанавливается бит Do Not Age (DNA). При установке отношений соседства маршрутизаторы договариваются между собой о поддержке DC.

Indication LSA это специальный тип LSA, который отправляет пограничный маршрутизатор (ABR) для того чтобы оповестить маршрутизаторы в своей зоне о том, что в сети есть маршрутизаторы, которые не поддерживают DC (demand circuit).

Маршрутизатор dyn4 это ABR и он сообщает маршрутизаторам в своей зоне о том, что в сети есть маршрутизаторы, которые не поддерживают DC.
Сообщает он это с помощью специального Indication LSA.

Indication LSA это LSA type 4 в котором Link-state ID это ABR, а не ASBR.
Даже если в сети не используется перераспределение маршрутов в OSPF и нет ASBR, это LSA будет в LSDB.

LSDB на dyn4:

dyn4#show ip ospf database
            OSPF Router with ID (192.0.0.4) (Process ID 1)
.....
                Summary ASB Link States (Area 2)
Link ID         ADV Router      Age         Seq#       Checksum
192.0.0.4       192.0.0.4       1263        0x80000005 0x00844A

Подробная информация о LSA:

dyn4#show ip ospf database asbr-summary 
            OSPF Router with ID (192.0.0.4) (Process ID 1)
                Summary ASB Link States (Area 2)

  LS age: 1323
  Options: (No TOS-capability, No DC, Upward)
  LS Type: Summary Links(AS Boundary Router)
  Link State ID: 192.0.0.4 (AS Boundary Router address)
  Advertising Router: 192.0.0.4
  LS Seq Number: 80000005
  Checksum: 0x844A
  Length: 28
  Network Mask: /0
        TOS: 0  Metric: 16777215 

Маршрутизаторы внутри зоны, за dyn4 получают это LSA:

dyn7#sh ip ospf da asbr-summary 
            OSPF Router with ID (192.2.0.7) (Process ID 1)
                Summary ASB Link States (Area 2)

  Adv Router is not-reachable
  LS age: 1441
  Options: (No TOS-capability, No DC, Upward)
  LS Type: Summary Links(AS Boundary Router)
  Link State ID: 192.0.0.4 (AS Boundary Router address)
  Advertising Router: 192.0.0.4
  LS Seq Number: 80000005
  Checksum: 0x844A
  Length: 28
  Network Mask: /0
        TOS: 0  Metric: 16777215 

В Indication LSA метрика устанавливается в максимальное значение: 16777215.

Подробнее об Indication LSA [3].

[править] Дополнительная информация

  • OSPF Neighbor States
  • OSPF down bit and domain tag
  • Настройка OSPF на маршрутизаторах Cisco (презентация)
 Просмотр этого шаблона Cisco Systems, Inc.
Устройства Cisco 871 • Cisco Router • Cisco Switch • Сisco Сatalyst  • Cisco IPS • Cisco ASA • PIX • Dynamips
Безопасность
(коммутаторы и
маршрутизаторы)
Cisco Security • Port security • DHCP snooping • Dynamic ARP Protection • IP Source Guard • Аутентификация при доступе к сети • 802.1X в Cisco • Zone-Based Policy Firewall • Cisco NAT • NAT в Cisco  • Cisco SSH
Cisco ASA Cisco ASA/NAT • Cisco ASA/Troubleshooting • Cisco ASA/IPS • Cisco ASA failover • Cisco ASA/Transparent firewall • Cisco ASA/Site-to-Site_VPN • Cisco ASA/Easy_VPN • Cisco ASA/WebVPN • Объединение OSPF-сетей туннелем между двумя системами ASA (без GRE) • Центр сертификатов на Cisco ASA
VPN IPsec в Cisco • Cisco IOS Site-to-Site VPN  • DMVPN  • Cisco Easy VPN • Cisco Web VPN • Cisco ipsec preshared
Канальный уровень CDP  • VLAN в Cisco  • ISL  • VTP  • STP в Cisco  • Cisco Express Forwarding  • Агрегирование каналов  • Зеркалирование трафика  • QinQ  • Frame Relay
Сетевой уровень Маршрутизация в Cisco  • RIP  • EIGRP  • IS-IS  • OSPF • BGP  • PIM  • Multicast  • GLBP  • VRRP  • HSRP  • DHCP  • IPv6  • IPv6 vs IPv4  • Резервирование Интернет-каналов без использования BGP • Использование BGP для резервирования Интернет-каналов
Разное Режим ROMMON в Cisco • Опция 82 DHCP • 802.1X и RADIUS • SNMP в Cisco • QoS в Cisco  • EEM  • Troubleshooting  • Автоматизация работы устройств Cisco  • Cisco NTP  • Cisco IP SLA  • Cisco Enhanced Object Tracking

Configuring OSPF

This module describes how to configure Open Shortest Path First (OSPF). OSPF is an Interior Gateway Protocol (IGP) developed
by the OSPF working group of the Internet Engineering Task Force (IETF). OSPF was designed expressly for IP networks and it
supports IP subnetting and tagging of externally derived routing information. OSPF also allows packet authentication and uses
IP multicast when sending and receiving packets.

Cisco supports RFC 1253,
OSPF Version 2 Management Information Base, August 1991. The OSPF MIB defines an IP routing protocol that provides management information related to OSPF and is supported
by Cisco routers.

For protocol-independent features that work with OSPF, see the «Configuring IP Routing Protocol-Independent Features» module.

Information About OSPF

Cisco OSPF Implementation

The Cisco implementation conforms to the OSPF Version 2 specifications detailed in the Internet RFC 2328. The following list
outlines key features supported in the Cisco OSPF implementation:

  • Stub areas—The definition of stub areas is supported.

  • Route redistribution—Routes learned via any IP routing protocol can be redistributed into any other IP routing protocol.
    At the intradomain level, OSPF can import routes learned via Interior Gateway Routing Protocol (IGRP), Routing Information
    Protocol (RIP), and Intermediate System-to-Intermediate System (IS-IS). OSPF routes can also be exported into IGRP, RIP, and
    IS-IS. At the interdomain level, OSPF can import routes learned via Exterior Gateway Protocol (EGP) and Border Gateway Protocol
    (BGP). OSPF routes can be exported into EGP and BGP.

  • Authentication—Plain text and message-digest algorithm 5 (MD5) authentication among neighboring routers within an area is
    supported.

  • Routing interface parameters—Configurable parameters supported include interface output cost, retransmission interval, interface
    transmit delay, router priority, router “dead” and hello intervals, and authentication key.

  • Virtual links—Virtual links are supported.

  • Not-so-stubby area (NSSA)—RFC 3101, which replaces and is backward compatible with RFC 1587.

  • OSPF over demand circuit—RFC 1793.

Router Coordination for OSPF

OSPF typically requires coordination among many internal routers: Area Border Routers (ABRs), which are routers connected
to multiple areas, and Autonomous System Boundary Routers (ASBRs). At a minimum, OSPF-based routers or access servers can
be configured with all default parameter values, no authentication, and interfaces assigned to areas. If you intend to customize
your environment, you must ensure coordinated configurations of all routers.

Route Distribution for OSPF

You can specify route redistribution; see the task “Redistribute Routing Information” in the
Network Protocols Configuration Guide, Part 1, for information on how to configure route redistribution.

The Cisco OSPF implementation allows you to alter certain interface-specific OSPF parameters, as needed. You are not required
to alter any of these parameters, but some interface parameters must be consistent across all routers in an attached network.
Those parameters are controlled by the
ip
ospf
hello-interval
,
ip
ospf
dead-interval
, and
ip
ospf
authentication-key
interface configuration commands. Therefore, if you do configure any of these parameters, ensure that the configurations
for all routers on your network have compatible values.

By default, OSPF classifies different media into the following three types of networks:

  • Broadcast networks (Ethernet, Token Ring, and FDDI)

  • Nonbroadcast multiaccess (NBMA) networks (Switched Multimegabit Data Service [SMDS], Frame Relay, and X.25)

  • Point-to-point networks (High-Level Data Link Control [HDLC] and PPP)

You can configure your network as either a broadcast or an NBMA network.

X.25 and Frame Relay provide an optional broadcast capability that can be configured in the map to allow OSPF to run as a
broadcast network. See the
x25
map
and
frame-relay
map
command pages in the
Cisco IOS Wide-Area Networking Command Reference publication for more detail.

OSPF Network Type

You have the choice of configuring your OSPF network type as either broadcast or NBMA, regardless of the default media type.
Using this feature, you can configure broadcast networks as NBMA networks when, for example, you have routers in your network
that do not support multicast addressing. You also can configure NBMA networks (such as X.25, Frame Relay, and SMDS) as broadcast
networks. This feature saves you from needing to configure neighbors, as described in the “Configuring OSPF for Nonbroadcast
Networks”section later in this module.

Configuring NBMA networks as either broadcast or nonbroadcast assumes that there are virtual circuits (VCs) from every router
to every router, that is, a fully meshed network. This is not true in some cases, for example, because of cost constraints
or when you have only a partially meshed network. In these cases, you can configure the OSPF network type as a point-to-multipoint
network. Routing between two routers that are not directly connected will go through the router that has VCs to both routers.
Note that you need not configure neighbors when using this feature.

An OSPF point-to-multipoint interface is defined as a numbered point-to-point interface having one or more neighbors. It
creates multiple host routes. An OSPF point-to-multipoint network has the following benefits compared to NBMA and point-to-point
networks:

  • Point-to-multipoint is easier to configure because it requires no configuration of neighbor commands, it consumes only one
    IP subnet, and it requires no designated router election.

  • It costs less because it does not require a fully meshed topology.

  • It is more reliable because it maintains connectivity in the event of VC failure.

On point-to-multipoint broadcast networks, there is no need to specify neighbors. However, you can specify neighbors with
the
neighbor router configuration command, in which case you should specify a cost to that neighbor.

Before the
point-to-multipoint keyword was added to the
ip
ospf
network
interface configuration command, some OSPF point-to-multipoint protocol traffic was treated as multicast traffic. Therefore,
the
neighbor router configuration command was not needed for point-to-multipoint interfaces because multicast took care of the traffic.
Hello, update, and acknowledgment messages were sent using multicast. In particular, multicast hello messages discovered all
neighbors dynamically.

On any point-to-multipoint interface (broadcast or not), the Cisco IOS software assumed that the cost to each neighbor was
equal. The cost was configured with the
ip
ospf
cost
interface configuration command. In reality, the bandwidth to each neighbor is different, so the cost should differ. With
this feature, you can configure a separate cost to each neighbor. This feature applies to point-to-multipoint interfaces only.

Because many routers might be attached to an OSPF network, a
designated router is selected for the network. Special configuration parameters are needed in the designated router selection if broadcast
capability is not configured.

These parameters need only be configured in those devices that are themselves eligible to become the designated router or
backup designated router (in other words, routers with a nonzero router priority value).

You can specify the following neighbor parameters, as required:

  • Priority for a neighboring router

  • Nonbroadcast poll interval

On point-to-multipoint, nonbroadcast networks, use the
neighbor router configuration command to identify neighbors. Assigning a cost to a neighbor is optional.

Prior to Cisco IOS Release 12.0, some customers were using point-to-multipoint on nonbroadcast media (such as classic IP
over ATM), so their routers could not dynamically discover their neighbors. This feature allows the
neighbor router configuration command to be used on point-to-multipoint interfaces.

Area Parameters

Use OSPF Not-So-Stubby Areas (NSSA) feature to simplify administration if you are an Internet service provider (ISP) or
a network administrator that must connect a central site that is using OSPF to a remote site that is using a different routing
protocol.

Prior to NSSA, the connection between the corporate site border router and the remote router could not be run as an OSPF
stub area because routes for the remote site could not be redistributed into the stub area, and two routing protocols needed
to be maintained. A simple protocol such as RIP was usually run and handled the redistribution. With NSSA, you can extend
OSPF to cover the remote connection by defining the area between the corporate router and the remote router as an NSSA.

As with OSPF stub areas, NSSA areas cannot be injected with distributed routes via Type 5 LSAs. Route redistribution into
an NSSA area is possible only with a special type of LSA that is known as Type 7 that can exist only in an NSSA area. An NSSA
ASBR generates the Type 7 LSA so that the routes can be redistributed, and an NSSA ABR translates the Type 7 LSA into a Type
5 LSA, which can be flooded throughout the whole OSPF routing domain. Summarization and filtering are supported during the
translation.

RFC 3101 allows you to configure an NSSA ABR router as a forced NSSA LSA translator. This means that the NSSA ABR router
will unconditionally assume the role of LSA translator, preempting the default behavior, which would only include it among
the candidates to be elected as translator.

Note


Even a forced translator might not translate all LSAs; translation depends on the contents of each LSA.


The figure below shows a network diagram in which OSPF Area 1 is defined as the stub area. The Enhanced Interior Gateway
Routing Protocol (EIGRP) routes cannot be propagated into the OSPF domain because routing redistribution is not allowed in
the stub area. However, once OSPF Area 1 is defined as an NSSA, an NSSA ASBR can inject the EIGRP routes into the OSPF NSSA
by creating Type 7 LSAs.

Figure 1. OSPF NSSA

The redistributed routes from the RIP router will not be allowed into OSPF Area 1 because NSSA is an extension to the stub
area. The stub area characteristics will still exist, including the exclusion of Type 5 LSAs.

Route summarization is the consolidation of advertised addresses. This feature causes a single summary route to be advertised
to other areas by an ABR. In OSPF, an ABR will advertise networks in one area into another area. If the network numbers in
an area are assigned in a way such that they are contiguous, you can configure the ABR to advertise a summary route that covers
all the individual networks within the area that fall into the specified range.

When routes from other protocols are redistributed into OSPF (as described in the module «Configuring IP Routing Protocol-Independent
Features»), each route is advertised individually in an external LSA. However, you can configure the Cisco IOS software to
advertise a single route for all the redistributed routes that are covered by a specified network address and mask. Doing
so helps decrease the size of the OSPF link-state database.

In OSPF, all areas must be connected to a backbone area. If there is a break in backbone continuity, or the backbone is purposefully
partitioned, you can establish a virtual link. The two endpoints of a virtual link are ABRs. The virtual link must be configured
in both routers. The configuration information in each router consists of the other virtual endpoint (the other ABR) and the
nonbackbone area that the two routers have in common (called the transit area). Note that virtual links cannot be configured
through stub areas.

You can force an ASBR to generate a default route into an OSPF routing domain. Whenever you specifically configure redistribution
of routes into an OSPF routing domain, the router automatically becomes an ASBR. However, an ASBR does not, by default, generate
a defaultroute into the OSPF routing domain.

You can configure OSPF to look up Domain Naming System (DNS) names for use in all OSPF show EXEC command displays. You can
use this feature to more easily identify a router, because the router is displayed by name rather than by its router ID or
neighbor ID.

OSPF uses the largest IP address configured on the interfaces as its router ID. If the interface associated with this IP address
is ever brought down, or if the address is removed, the OSPF process must recalculate a new router ID and resend all its routing
information out its interfaces.

If a loopback interface is configured with an IP address, the Cisco IOS software will use this IP address as its router ID,
even if other interfaces have larger IP addresses. Because loopback interfaces never go down, greater stability in the routing
table is achieved.

OSPF automatically prefers a loopback interface over any other kind, and it chooses the highest IP address among all loopback
interfaces. If no loopback interfaces are present, the highest IP address in the router is chosen. You cannot tell OSPF to
use any particular interface.

In Cisco IOS Release 10.3 and later releases, by default OSPF calculates the OSPF metric for an interface according to the
bandwidth of the interface. For example, a 64-kbps link gets a metric of 1562, and a T1 link gets a metric of 64.

The OSPF metric is calculated as the ref-bw value divided by the bandwidth value, with the ref-bw value equal to 108 by default,
and the bandwidth value determined by the bandwidth interface configuration command. The calculation gives FDDI a metric of
1. If you have multiple links with high bandwidth, you might want to specify a larger number to differentiate the cost on
those links.

An administrative distance is a rating of the trustworthiness of a routing information source, such as an individual router
or a group of routers. Numerically, an administrative distance is an integer from 0 to 255. In general, the higher the value,
the lower the trust rating. An administrative distance of 255 means the routing information source cannot be trusted at all
and should be ignored.

OSPF uses three different administrative distances: intra-area, interarea, and external. Routes within an area are intra-area;
routes to another area are interarea; and routes from another routing domain learned via redistribution are external. The
default distance for each type of route is 110.

Because simplex interfaces between two devices on an Ethernet represent only one network segment, for OSPF you must configure
the sending interface to be a passive interface. This configuration prevents OSPF from sending hello packets for the sending
interface. Both devices are able to see each other via the hello packet generated for the receiving interface.

You can configure the delay time between when OSPF receives a topology change and when it starts a shortest path first (SPF)
calculation. You can also configure the hold time between two consecutive SPF calculations.

The OSPF on-demand circuit is an enhancement to the OSPF protocol that allows efficient operation over on-demand circuits
such as ISDN, X.25 switched virtual circuits (SVCs), and dialup lines. This feature supports RFC 1793, Extending OSPF to Support
Demand Circuits.

Prior to this feature, OSPF periodic hello and LSA updates would be exchanged between routers that connected the on-demand
link, even when no changes occurred in the hello or LSA information.

With this feature, periodic hellos are suppressed and the periodic refreshes of LSAs are not flooded over the demand circuit.
These packets bring up the link only when they are exchanged for the first time, or when a change occurs in the information
they contain. This operation allows the underlying data link layer to be closed when the network topology is stable.

This feature is useful when you want to connect telecommuters or branch offices to an OSPF backbone at a central site. In
this case, OSPF for on-demand circuits allows the benefits of OSPF over the entire domain, without excess connection costs.
Periodic refreshes of hello updates, LSA updates, and other protocol overhead are prevented from enabling the on-demand circuit
when there is no «real» data to send.

Overhead protocols such as hellos and LSAs are transferred over the on-demand circuit only upon initial setup and when they
reflect a change in the topology. This means that critical changes to the topology that require new SPF calculations are sent
in order to maintain network topology integrity. Periodic refreshes that do not include changes, however, are not sent across
the link.

The OSPF LSA group pacing feature allows the router to group OSPF LSAs and pace the refreshing, checksumming, and aging functions.
The group pacing results in more efficient use of the router.

The router groups OSPF LSAs and paces the refreshing, checksumming, and aging functions so that sudden increases in CPU usage
and network resources are avoided. This feature is most beneficial to large OSPF networks.

OSPF LSA group pacing is enabled by default. For typical customers, the default group pacing interval for refreshing, checksumming,
and aging is appropriate and you need not configure this feature.

Original LSA Behavior

Each OSPF LSA has an age, which indicates whether the LSA is still valid. Once the LSA reaches the maximum age (1 hour),
it is discarded. During the aging process, the originating router sends a refresh packet every 30 minutes to refresh the LSA.
Refresh packets are sent to keep the LSA from expiring, whether there has been a change in the network topology or not. Checksumming
is performed on all LSAs every 10 minutes. The router keeps track of LSAs that it generates and LSAs that it receives from
other routers. The router refreshes LSAs that it generated; it ages the LSAs that it received from other routers.

Prior to the LSA group pacing feature, the Cisco software would perform refreshing on a single timer and checksumming and
aging on another timer. In the case of refreshing, for example, the software would scan the whole database every 30 minutes,
refreshing every LSA that the router generated, no matter how old it was. The figure below illustrates all the LSAs being
refreshed at once. This process wasted CPU resources because only a small portion of the database needed to be refreshed.
A large OSPF database (several thousand LSAs) could have thousands of LSAs with different ages. Refreshing on a single timer
resulted in the age of all LSAs becoming synchronized, which resulted in much CPU processing at once. Furthermore, a large
number of LSAs could cause a sudden increase of network traffic, consuming a large amount of network resources in a short
time.

Figure 2. OSPF LSAs on a Single Timer Without Group Pacing

LSA Group Pacing with Multiple Timers

Configuring each LSA to have its own timer avoids excessive CPU processing and sudden network-traffic increase. To again
use the example of refreshing, each LSA gets refreshed when it is 30 minutes old, independent of other LSAs. So the CPU is
used only when necessary. However, LSAs being refreshed at frequent, random intervals would require many packets for the few
refreshed LSAs that the router must send, which would be inefficient use of bandwidth.

Therefore, the router delays the LSA refresh function for an interval of time instead of performing it when the individual
timers are reached. The accumulated LSAs constitute a group, which is then refreshed and sent out in one packet or more. Thus,
the refresh packets are paced, as are the checksumming and aging. The pacing interval is configurable; it defaults to 4 minutes,
which is randomized to further avoid synchronization.

The figure below illustrates the case of refresh packets. The first timeline illustrates individual LSA timers; the second
timeline illustrates individual LSA timers with group pacing.

Figure 3. OSPF LSAs on Individual Timers with Group Pacing

The group pacing interval is inversely proportional to the number of LSAs that the router is refreshing, checksumming, and
aging. For example, if you have approximately 10,000 LSAs, decreasing the pacing interval would benefit you. If you have a
very small database (40 to 100 LSAs), increasing the pacing interval to 10 to 20 minutes might benefit you slightly.

The default value of pacing between LSA groups is 240 seconds (4 minutes). The range is from 10 seconds to 1800 seconds (30
minutes).

By default, OSPF floods new LSAs over all interfaces in the same area, except the interface on which the LSA arrives. Some
redundancy is desirable, because it ensures robust flooding. However, too much redundancy can waste bandwidth and might destabilize
the network due to excessive link and CPU usage in certain topologies. An example would be a fully meshed topology.

You can block OSPF flooding of LSAs in two ways, depending on the type of networks:

  • On broadcast, nonbroadcast, and point-to-point networks, you can block flooding over specified OSPF interfaces.

  • On point-to-multipoint networks, you can block flooding to a specified neighbor.

The growth of the Internet has increased the importance of scalability in IGPs such as OSPF. By design, OSPF requires LSAs
to be refreshed as they expire after 3600 seconds. Some implementations have tried to improve the flooding by reducing the
frequency to refresh from 30 minutes to about 50 minutes. This solution reduces the amount of refresh traffic but requires
at least one refresh before the LSA expires. The OSPF flooding reduction solution works by reducing unnecessary refreshing
and flooding of already known and unchanged information. To achieve this reduction, the LSAs are now flooded with the higher
bit set. The LSAs are now set as “do not age.”

Cisco routers do not support LSA Type 6 Multicast OSPF (MOSPF), and they generate syslog messages if they receive such packets.
If the router is receiving many MOSPF packets, you might want to configure the router to ignore the packets and thus prevent
a large number of syslog messages.

The former OSPF implementation for sending update packets needed to be more efficient. Some update packets were getting lost
in cases where the link was slow, a neighbor could not receive the updates quickly enough, or the router was out of buffer
space. For example, packets might be dropped if either of the following topologies existed:

  • A fast router was connected to a slower router over a point-to-point link.

  • During flooding, several neighbors sent updates to a single router at the same time.

OSPF update packets are now automatically paced so they are not sent less than 33 milliseconds apart. Pacing is also added
between resends to increase efficiency and minimize lost retransmissions. Also, you can display the LSAs waiting to be sent
out an interface. The benefit of pacing is that OSPF update and retransmission packets are sent more efficiently. There are
no configuration tasks for this feature; it occurs automatically.

You can display specific statistics such as the contents of IP routing tables, caches, and databases. Information provided
can be used to determine resource utilization and solve network problems. You can also display information about node reachability
and discover the routing path that your device packets are taking through the network.

How to Configure OSPF

To configure OSPF, perform the tasks described in the following sections. The tasks in the “Enabling OSPF” section are required;
the tasks in the remaining sections are optional, but might be required for your application. For information about the maximum
number of interfaces, see the “Restrictions for OSPF” section.

Enabling OSPF

SUMMARY STEPS


  1. enable


  2. configure


    terminal

  3. router ospf
    process-id

  4. network
    ip-address
    wildcard-mask

    area
    area-id


  5. end

DETAILED STEPS

  Command or Action Purpose

Step 1


enable

Example:


Device> enable

Enables privileged EXEC mode.

  • Enter your password if prompted.

Step 2


configure


terminal

Example:


Device# configure terminal

Enters global configuration mode.

Step 3

router ospf
process-id

Example:


Device(config)# router ospf 109

Enables OSPF routing and enters router configuration mode.

Step 4

network
ip-address
wildcard-mask

area
area-id

Example:


Device(config-router)# network 192.168.129.16 0.0.0.3 area 20 

Defines an interface on which OSPF runs and defines the area ID for that interface.

Step 5


end

Example:


Device(config-router)# end

Exits router configuration mode and returns to privileged EXEC mode.

Configuring OSPF Interface
Parameters

SUMMARY STEPS


  1. enable


  2. configure


    terminal

  3. interface
    type
    number


  4. ip

    ospf

    cost
    cost


  5. ip

    ospf

    retransmit-interval
    seconds


  6. ip

    ospf

    transmit-delay
    seconds


  7. ip

    ospf


    priority
    number-value


  8. ip

    ospf


    hello-interval
    seconds


  9. ip

    ospf


    dead-interval
    seconds


  10. ip

    ospf


    authentication-key
    key


  11. ip

    ospf


    message-digest-key
    key-id


    md5
    key


  12. ip

    ospf


    authentication
    [message-digest |
    null
    ]


  13. end

DETAILED STEPS

  Command or Action Purpose

Step 1


enable

Example:


Device> enable

Enables
privileged EXEC mode.

  • Enter your
    password if prompted.

Step 2


configure


terminal

Example:


Device# configure terminal

Enters global
configuration mode.

Step 3

interface
type
number

Example:


Device(config)# interface Gigabitethernet 0/0

Configures an
interface type and enters interface configuration mode.

Step 4


ip

ospf

cost
cost

Example:


Device(config-if)# ip ospf cost 65 

Explicitly
specifies the cost of sending a packet on an OSPF interface.

Step 5


ip

ospf

retransmit-interval
seconds

Example:


Device(config-if)# ip ospf retransmit-interval 1 

Specifies the
number of seconds between link-state advertisement (LSA) retransmissions for
adjacencies belonging to an OSPF interface.

Step 6


ip

ospf

transmit-delay
seconds

Example:


Device(config-if)# ip ospf transmit-delay 

Sets the
estimated number of seconds required to send a link-state update packet on an
OSPF interface.

Step 7


ip

ospf


priority
number-value

Example:


Device(config-if)# ip ospf priority 1 

Sets priority
to help determine the OSPF designated router for a network.

Step 8


ip

ospf


hello-interval
seconds

Example:


Device(config-if)# ip ospf hello-interval 1 

Specifies the
length of time between the hello packets that the Cisco IOS software sends on
an OSPF interface.

Step 9


ip

ospf


dead-interval
seconds

Example:


Device(config-if)# ip ospf dead-interval 1 

Sets the
number of seconds that a device must wait before it declares a neighbor OSPF
router down because it has not received a hello packet.

Step 10


ip

ospf


authentication-key
key

Example:


Device(config-if)# ip ospf authentication-key 1 

Assigns a
password to be used by neighboring OSPF routers on a network segment that is
using the OSPF simple password authentication.

Step 11


ip

ospf


message-digest-key
key-id


md5
key

Example:


Device(config-if)# ip ospf message-digest-key 1 md5 23456789 

Enables OSPF
MD5 authentication. The values for the
key-id
and
key
arguments must match values specified for other neighbors on a network segment.

Step 12


ip

ospf


authentication
[message-digest |
null
]

Example:


Device(config-if)# ip ospf authentication message-digest 

Specifies the
authentication type for an interface.

Step 13


end

Example:


Device(config-if)# end

Exits
interface configuration mode and returns to privileged EXEC mode.

Configuring OSPF over Different Physical Networks

Configuring OSPF for Point-to-Multipoint Broadcast Networks

SUMMARY STEPS


  1. configure


    terminal


  2. interface


    type


    number

  3. ip
    ospf
    network
    point-to-multipoint

  4. exit

  5. router
    ospf

    process-id

  6. neighbor
    ip-address
    [cost
    number]

DETAILED STEPS

  Command or Action Purpose

Step 1


configure


terminal

Example:

Device# configure terminal

Enters global configuration mode.

Step 2


interface


type


number

Example:

Device(config)# interface gigabitethernet 0/0/0

Specifies an interface type and number, and enters interface configuration mode.

Step 3

ip
ospf
network
point-to-multipoint

Example:

Device#(config-if) ip ospf network point-to-multipoint

Configures an interface as point-to-multipoint for broadcast media.

Step 4

exit

Example:

Device#(config-if) exit

Enters global configuration mode.

Step 5

router
ospf

process-id

Example:

Device#(config) router ospf 109

Configures an OSPF routing process and enters router configuration mode.

Step 6

neighbor
ip-address
[cost
number]

Example:

Device#(config-router) neighbor 192.168.3.4 cost 180

Specifies a neighbor and assigns a cost to the neighbor.

Note

 

Repeat this step for each neighbor if you want to specify a cost. Otherwise, neighbors will assume the cost of the interface,
based on the
ip
ospf
cost
interface configuration command.

Configuring OSPF for Nonbroadcast Networks

SUMMARY STEPS


  1. configure


    terminal


  2. interface


    type


    number

  3. ip
    ospf
    network
    point-to-multipoint
    non-broadcast

  4. exit

  5. router
    ospf

    process-id

  6. neighbor
    ip-address
    [cost
    number]

DETAILED STEPS

  Command or Action Purpose

Step 1


configure


terminal

Example:

Device# configure terminal

Enters global configuration mode.

Step 2


interface


type


number

Example:

Device(config)# interface gigabitethernet 0/0/0

Specifies an interface type and number, and enters interface configuration mode.

Step 3

ip
ospf
network
point-to-multipoint
non-broadcast

Example:

Device#(config-if) ip ospf network point-to-multipoint non-broadcast

Configures an interface as point-to-multipoint for nonbroadcast media.

Step 4

exit

Example:

Device#(config-if) exit

Enters global configuration mode.

Step 5

router
ospf

process-id

Example:

Device#(config) router ospf 109

Configures an OSPF routing process and enters router configuration mode.

Step 6

neighbor
ip-address
[cost
number]

Example:

Device#(config-router) neighbor 192.168.3.4 cost 180

Specifies a neighbor and assigns a cost to the neighbor.

Note

 

Repeat this step for each neighbor if you want to specify a cost. Otherwise, neighbors will assume the cost of the interface,
based on the
ip
ospf
cost
interface configuration command.

Configuring OSPF Area
Parameters

SUMMARY STEPS


  1. enable


  2. configure


    terminal


  3. router

    ospf

    process-id


  4. area


    area-id


    authentication


  5. area


    area-id


    stub
    [no summary ]


  6. area


    area-id


    default-cost

    cost


  7. end

DETAILED STEPS

  Command or Action Purpose

Step 1


enable

Example:


Device> enable

Enables
privileged EXEC mode.

  • Enter your
    password if prompted.

Step 2


configure


terminal

Example:


Device# configure terminal

Enters global
configuration mode.

Step 3


router

ospf

process-id

Example:


Device(config)# router ospf 10

Enables OSPF
routing and enters router configuration mode.

Step 4


area


area-id


authentication

Example:


Device(config-router)# area 10.0.0.0 authentication 

Enables
authentication for an OSPF area.

Step 5


area


area-id


stub
[no summary ]

Example:


Device(config-router)# area 10.0.0.0 stub no-summary 

Defines an area
to be a stub area.

Step 6


area


area-id


default-cost

cost

Example:


Device(config-router)# area 10.0.0.0 default-cost 1

Specifies a
cost for the default summary route that is sent into a stub area or
not-so-stubby area (NSSA)

Step 7


end

Example:


Device(config-router)# end

Exits router
configuration mode and returns to privileged EXEC mode.

Configuring OSPFv2 NSSA

Configuring an OSPFv2 NSSA
Area and Its Parameters

SUMMARY STEPS


  1. enable


  2. configure
    terminal


  3. router

    ospf
    process-id


  4. redistribute

    protocol
    [process-id ]
    {level-1 |
    level-1-2 |
    level-2 }
    [autonomous-system-number ]
    [metric {metric-value |
    transparent }]
    [metric-type
    type-value ]
    [match {internal |
    external
    1
    |
    external
    2
    }] [tag
    tag-value ]
    [route-map
    map-tag ]
    [subnets ]
    [nssa-only ]


  5. network
    ip-address
    wildcard-mask

    area
    area-id


  6. area


    area-id

    nssa

    [no-redistribution ] [default-information-originate [metric ] [metric-type ]] [no-summary ] [nssa-only ]

  7. summary-address
    prefix mask
    [not-advertise ] [tag tag ] [nssa-only ]


  8. end

DETAILED STEPS

  Command or Action Purpose

Step 1


enable

Example:

Device> enable

Enables
privileged EXEC mode.

  • Enter your
    password if prompted.

Step 2


configure
terminal

Example:

Device# configure terminal

Enters global
configuration mode.

Step 3


router

ospf
process-id

Example:

Device(config)# router ospf 10

Enables OSPF
routing and enters router configuration mode.

  • The
    process-id
    argument identifies the OSPF process. The range is from 1 to 65535.

Step 4


redistribute

protocol
[process-id ]
{level-1 |
level-1-2 |
level-2 }
[autonomous-system-number ]
[metric {metric-value |
transparent }]
[metric-type
type-value ]
[match {internal |
external
1
|
external
2
}] [tag
tag-value ]
[route-map
map-tag ]
[subnets ]
[nssa-only ]

Example:

Device(config-router)# redistribute rip subnets

Redistributes
routes from one routing domain to another routing domain.

  • In the
    example, Routing Information Protocol (RIP) subnets are redistributed into the
    OSPF domain.

Step 5


network
ip-address
wildcard-mask

area
area-id

Example:

Device(config-router)# network 192.168.129.11 0.0.0.255 area 1

Defines the
interfaces on which OSPF runs and the area ID for those interfaces.

Step 6


area


area-id

nssa

[no-redistribution ] [default-information-originate [metric ] [metric-type ]] [no-summary ] [nssa-only ]

Example:

Device(config-router)# area 1 nssa

Configures a
Not-So-Stubby Area (NSSA) area.

Step 7

summary-address
prefix mask
[not-advertise ] [tag tag ] [nssa-only ]

Example:

Device(config-router)# summary-address 10.1.0.0 255.255.0.0 not-advertise
 

Controls the
route summarization and filtering during the translation and limits the summary
to NSSA areas.

Step 8


end

Example:

Device(config-router)# end

Exits router
configuration mode and returns to privileged EXEC mode.

Configuring an NSSA ABR as a
Forced NSSA LSA Translator

SUMMARY STEPS


  1. enable


  2. configure

    terminal


  3. router

    ospf
    process-id


  4. area

    area-id

    nssa

    translate type7

    always


  5. area

    area-id

    nssa

    translate type7

    suppress-fa


  6. end

DETAILED STEPS

  Command or Action Purpose

Step 1


enable

Example:

Device> enable

Enables
privileged EXEC mode.

  • Enter your
    password if prompted.

Step 2


configure

terminal

Example:

Device# configure terminal

Enters global
configuration mode.

Step 3


router

ospf
process-id

Example:

Device(config)# router ospf 1

Enables OSPF
routing and enters router configuration mode.

  • The
    process-id
    argument identifies the OSPF process. The range is from 1 to 65535.

Step 4


area

area-id

nssa

translate type7

always

Example:

Device(config-router)# area 10 nssa translate type7 always

Configures a
Not-So-Stubby Area Area Border Router (NSSA ABR) device as a forced NSSA Link
State Advertisement (LSA) translator.

Note

 

You can use
the
always keyword
in the
area
nssa
translate
command to configure an NSSA ABR device
as a forced NSSA LSA translator. This command can be used if RFC 3101 is disabled and
RFC 1587 is used.

Step 5


area

area-id

nssa

translate type7

suppress-fa

Example:

Device(config-router)# area 10 nssa translate type7 suppress-fa

Allows ABR to
suppress the forwarding address in translated Type-5 LSA.

Step 6


end

Example:

Device(config-router)# end

Exits router
configuration mode and returns to privileged EXEC mode.

Disabling RFC 3101
Compatibility and Enabling RFC 1587 Compatibility

SUMMARY STEPS


  1. enable


  2. configure

    terminal


  3. router

    ospf
    process-id


  4. compatible
    rfc1587


  5. end

DETAILED STEPS

  Command or Action Purpose

Step 1


enable

Example:

Device> enable

Enables
privileged EXEC mode.

  • Enter your
    password if prompted.

Step 2


configure

terminal

Example:

Device# configure terminal

Enters global
configuration mode.

Step 3


router

ospf
process-id

Example:

Device(config)# router ospf 1

Enables OSPF
routing and enters router configuration mode.

  • The
    process-id argument identifies the OSPF process.

  • Use
    router ospf
    process-id
    command to enable OSPFv2 routing.

Step 4


compatible
rfc1587

Example:

Device(config-router)# compatible rfc1587

Enables the device to be RFC 1587 compliant.

Step 5


end

Example:

Device(config-router)# end

Exits router
configuration mode and returns to privileged EXEC mode.

Configuring OSPF NSSA Parameters

Prerequisites

Evaluate the
following considerations before you implement this feature:

  • You can set a
    Type 7 default route that can be used to reach external destinations. When
    configured, the device generates a Type 7 default into the Not-So-Stubby Area
    (NSSA or the NSSA Area Border Router (ABR).

  • Every device
    within the same area must agree that the area is NSSA; otherwise, the devices
    cannot communicate.

Configuring Route Summarization Between OSPF Areas

Configuring Route Summarization When Redistributing Routes into OSPF

SUMMARY STEPS

  1. summary-address {ip-address
    mask

    |
    prefix
    mask
    }
    [not-advertise ][tag
    tag [nssa-only]

DETAILED STEPS

Command or Action Purpose

summary-address {ip-address
mask

|
prefix
mask
}
[not-advertise ][tag
tag [nssa-only]

Example:

Device#(config-router) summary-address 10.1.0.0 255.255.0.0
Specifies an address and mask that covers redistributed routes, so that only one summary route is advertised.

  • You can use the optional
    not-advertise keyword to filter out a set of routes.

Establishing Virtual Links

SUMMARY STEPS

  1. area
    area-id
    virtual-link
    router-id [authentication
    [message-digest
    |
    null
    ]]
    [hello-interval
    seconds ] [retransmit-interval
    seconds ] [transmit-delay
    seconds ] [dead-interval
    seconds ] [authentication-key
    key |
    message-digest-key
    key-id
    md5
    key
    ]

DETAILED STEPS

Command or Action Purpose

area
area-id
virtual-link
router-id [authentication
[message-digest
|
null
]]
[hello-interval
seconds ] [retransmit-interval
seconds ] [transmit-delay
seconds ] [dead-interval
seconds ] [authentication-key
key |
message-digest-key
key-id
md5
key
]

Example:

Device(config-router-af)# area 1 virtual-link 10.1.1.1 router1

Establishes a virtual link.

Generating a Default Route

SUMMARY STEPS


  1. enable


  2. configure


    terminal

  3. router ospf
    process-id

  4. default-information
    originate [always ] [metric
    metric-value ] [metric-type
    type-value ] [route-map
    map-name ]


  5. end

DETAILED STEPS

  Command or Action Purpose

Step 1


enable

Example:


Device> enable

Enables privileged EXEC mode.

  • Enter your password if prompted.

Step 2


configure


terminal

Example:


Device# configure terminal

Enters global configuration mode.

Step 3

router ospf
process-id

Example:


Device(config)# router ospf 109 

Enables OSPF routing and enters router configuration mode.

Step 4

default-information
originate [always ] [metric
metric-value ] [metric-type
type-value ] [route-map
map-name ]

Example:


Device(config-router)# default-information originate always 

Forces the ASBR to generate a default route into the OSPF routing domain.

Note

 

The
always keyword includes the following exception when a route map is used. When a route map is used, the origination of the default
route by OSPF is not bound to the existence of a default route in the routing table.

Step 5


end

Example:


Device(config-router)# end

Exits router configuration mode and returns to privileged EXEC mode.

Configuring Lookup of DNS Names

SUMMARY STEPS


  1. enable


  2. configure


    terminal

  3. ip
    ospf
    name-lookup


  4. end

DETAILED STEPS

  Command or Action Purpose

Step 1


enable

Example:


Device> enable

Enables privileged EXEC mode.

  • Enter your password if prompted.

Step 2


configure


terminal

Example:


Device# configure terminal

Enters global configuration mode.

Step 3

ip
ospf
name-lookup

Example:


Device# ip ospf name-lookup 

Enables OSPF routing and enters router configuration mode.

Step 4


end

Example:


Device(config)# end

Exits global configuration mode and returns to privileged EXEC mode.

Forcing the Router ID Choice with a Loopback Interface

SUMMARY STEPS


  1. configure


    terminal


  2. interface


    type


    number

  3. ip
    address

    ip-address
    mask

DETAILED STEPS

  Command or Action Purpose

Step 1


configure


terminal

Example:


Device# configure terminal

Enters global configuration mode.

Step 2


interface


type


number

Example:


Device(config)# interface loopback 0

Creates a loopback interface and enters interface configuration mode.

Step 3

ip
address

ip-address
mask

Example:


Device#(config-if) ip address 192.108.1.27 255.255.255.0

Assigns an IP address to this interface.

Controlling Default
Metrics

SUMMARY STEPS


  1. enable


  2. configure


    terminal

  3. router ospf
    process-id

  4. auto-cost
    reference-bandwidth
    ref-bw


  5. end

DETAILED STEPS

  Command or Action Purpose

Step 1


enable

Example:


Device> enable

Enables
privileged EXEC mode.

  • Enter your
    password if prompted.

Step 2


configure


terminal

Example:


Device# configure terminal

Enters global
configuration mode.

Step 3

router ospf
process-id

Example:


Device# router ospf 109 

Enables OSPF
routing and enters router configuration mode.

Step 4

auto-cost
reference-bandwidth
ref-bw

Example:


Device(config-router)# auto-cost reference-bandwidth 101 

Differentiates
high -bandwidth links.

Step 5


end

Example:


Device(config-router)# end

Exits router
configuration mode and returns to privileged EXEC mode.

Changing the OSPF Administrative Distances

SUMMARY STEPS


  1. enable


  2. configure


    terminal

  3. router ospf
    process-id

  4. distance
    ospf {intra-area |
    inter-area |
    external }
    dist


  5. end

DETAILED STEPS

  Command or Action Purpose

Step 1


enable

Example:


Device> enable

Enables privileged EXEC mode.

  • Enter your password if prompted.

Step 2


configure


terminal

Example:


Device# configure terminal

Enters global configuration mode.

Step 3

router ospf
process-id

Example:


Device(config)# router ospf 109 

Enables OSPF routing and enters router configuration mode.

Step 4

distance
ospf {intra-area |
inter-area |
external }
dist

Example:


Device(config-router)# distance ospf external 200 

Changes the OSPF distance values.

Step 5


end

Example:


Device(config-router)# end

Exits router configuration mode and returns to privileged EXEC mode.

Configuring OSPF on Simplex Ethernet Interfaces

Command

Purpose


passive-interface  interface-type interface-number 

Suppresses the sending of hello packets through the specified interface.

Configuring Route Calculation Timers

SUMMARY STEPS


  1. enable


  2. configure


    terminal

  3. router ospf
    process-id

  4. timers
    throttle
    spf
    spf-start

    spf-hold
    spf-max-wait


  5. end

DETAILED STEPS

  Command or Action Purpose

Step 1


enable

Example:


Device> enable

Enables privileged EXEC mode.

  • Enter your password if prompted.

Step 2


configure


terminal

Example:


Device# configure terminal

Enters global configuration mode.

Step 3

router ospf
process-id

Example:


Device(config)# router ospf 109 

Enables OSPF routing and enters router configuration mode.

Step 4

timers
throttle
spf
spf-start

spf-hold
spf-max-wait

Example:


Device(config-router)# timers throttle spf 5 1000 9000

Configures route calculation timers.

Step 5


end

Example:


Device(config-router)# end

Exits router configuration mode and returns to privileged EXEC mode.

Configuring OSPF over On-Demand Circuits

SUMMARY STEPS

  1. router ospf

    process-id

  2. interface
    type number

  3. ip ospf demand-circuit

DETAILED STEPS

  Command or Action Purpose

Step 1

router ospf

process-id

Enables OSPF operation.

Step 2

interface
type number

Enters interface configuration mode.

Step 3

ip ospf demand-circuit

Configures OSPF over an on-demand circuit.

What to do next

Note


You can prevent an interface from accepting demand-circuit requests from other routers to by specifying the
ignore keyword in the
ip
ospf
demand-circuit
command.


Prerequisites

Evaluate the following considerations before implementing the On-Demand Circuits feature:

  • Because LSAs that include topology changes are flooded over an on-demand circuit, we recommend that you put demand circuits
    within OSPF stub areas or within NSSAs to isolate the demand circuits from as many topology changes as possible.

  • Every router within a stub area or NSSA must have this feature loaded in order to take advantage of the on-demand circuit
    functionality. If this feature is deployed within a regular area, all other regular areas must also support this feature before
    the demand circuit functionality can take effect because Type 5 external LSAs are flooded throughout all areas.

  • Hub-and-spoke network topologies that have a point-to-multipoint (P2MP) OSPF interface type on a hub might not revert to
    nondemand circuit mode when needed. You must simultaneously reconfigure OSPF on all interfaces on the P2MP segment when reverting
    them from demand circuit mode to nondemand circuit mode.

  • Do not implement this feature on a broadcast-based network topology because the overhead protocols (such as hello and LSA
    packets) cannot be successfully suppressed, which means the link will remain up.

  • Configuring the router for an OSPF on-demand circuit with an asynchronous interface is not a supported configuration. The
    supported configuration is to use dialer interfaces on both ends of the circuit. For more information, refer to
    Why OSPF Demand Circuit Keeps Bringing Up the Link .

Logging Neighbors Going Up or Down

SUMMARY STEPS


  1. enable


  2. configure


    terminal

  3. router ospf
    process-id

  4. log-adjacency-changes [detail ]


  5. end

DETAILED STEPS

  Command or Action Purpose

Step 1


enable

Example:


Device> enable

Enables privileged EXEC mode.

  • Enter your password if prompted.

Step 2


configure


terminal

Example:


Device# configure terminal

Enters global configuration mode.

Step 3

router ospf
process-id

Example:


Device(config)# router ospf 109 

Enables OSPF routing and enters router configuration mode.

Step 4

log-adjacency-changes [detail ]

Example:


Device(config-router)# log-adjacency-changes detail
Changes the group pacing of LSAs.

Note

 

Configure the
log-adjacency-changes command if you want to know about OSPF neighbors going up or down without turning on the
debug
ip
ospf
adjacency
EXEC command because the
log-adjacency-changes command provides a higher-level view of the peer relationship with less output. Configure the
log-adjacency-changes
detail command if you want to see messages for each state change.

Step 5


end

Example:


Device(config-router)# end

Exits router configuration mode and returns to privileged EXEC mode.

Changing the LSA Group Pacing Interval

SUMMARY STEPS


  1. enable


  2. configure


    terminal

  3. router ospf
    process-id

  4. timers
    pacing
    lsa-group
    seconds


  5. end

DETAILED STEPS

  Command or Action Purpose

Step 1


enable

Example:

Device> enable

Enables privileged EXEC mode.

  • Enter your password if prompted.

Step 2


configure


terminal

Example:

Device# configure terminal

Enters global configuration mode.

Step 3

router ospf
process-id

Example:

Device(config)# router ospf 109 

Enables OSPF routing and enters router configuration mode.

Step 4

timers
pacing
lsa-group
seconds

Example:

Device(config-router)# timers pacing lsa-group 60

Changes the group pacing of LSAs.

Step 5


end

Example:

Device(config-router)# end

Exits router configuration mode and returns to privileged EXEC mode.

Blocking OSPF LSA Flooding

Command

Purpose


ip ospf database-filter all out 

Blocks the flooding of OSPF LSA packets to the interface.

On point-to-multipoint networks, to block flooding of OSPF LSAs, use the following command in router configuration mode:

Command

Purpose


neighbor   ip-address   database-filter all out 

Blocks the flooding of OSPF LSA packets to the specified neighbor.

Reducing LSA Flooding

Command

Purpose


ip ospf flood-reduction 

Suppresses the unnecessary flooding of LSAs in stable topologies.

Ignoring MOSPF LSA Packets

Command

Purpose


ignore lsa mospf 

Prevents the router from generating syslog messages when it receives MOSPF LSA packets.

Monitoring and Maintaining OSPF

Command

Purpose


show ip ospf  [process-id ]

Displays general information about OSPF routing processes.


show ip ospf border-routers 

Displays the internal OSPF routing table entries to the ABR and ASBR.


show ip ospf  [process-id  
[area-id ]] database 


show ip ospf  [process-id  
[area-id ]] database  [database-summary ]


show ip ospf  [process-id  
[area-id ]] database  [router ]  [self-originate ]


show ip ospf  [process-id  
[area-id ]] database  [router ]  [adv-router  [ip-address ]]


show ip ospf  [process-id  
[area-id ]] database  [router ]  [link-state-id ]


show ip ospf  [process-id  
[area-id ]] database  [network ]  [link-state-id ]


show ip ospf  [process-id  
[area-id ]] database  [summary ] [link-state-id ]


show ip ospf  [process-id  
[area-id ]] database  [asbr-summary ]  [link-state-id ]


 show ip ospf  [process-id  
[Router# area-id ]] database  [external ] [link-state-id ]


show ip ospf  [process-id  
[area-id ]] database  [nssa-external ]  [link-state-id ]


show ip ospf  [process-id  
[area-id ]] database  [opaque-link ]  [link-state-id ]


show ip ospf  [process-id  
[area-id ]] database  [opaque-area ]  [link-state-id ]


show ip ospf  [process-id  
[area-id ]] database  [opaque-as ]  [link-state-id ]

Displays lists of information related to the OSPF database.


show ip ospf flood-list interface   type 

Displays a list of LSAs waiting to be flooded over an interface (to observe OSPF packet pacing).


show ip ospf interface  [type number ]

Displays OSPF-related interface information.


 show ip ospf neighbor  [interface-name ] [neighbor-id ] detail 

Displays OSPF neighbor information on a per-interface basis.


show ip ospf request-list  [neighbor ] [interface ] [interface-neighbor ]

Displays a list of all LSAs requested by a router.


show ip ospf retransmission-list  [neighbor ] [interface ] [interface-neighbor ]

Displays a list of all LSAs waiting to be re-sent.


show ip ospf  [process-id] summary-address  

Displays a list of all summary address redistribution information configured under an OSPF process.


show ip ospf virtual-links 

Displays OSPF-related virtual links information.

To restart an OSPF process, use the following command in EXEC mode:

Command

Purpose


clear ip ospf  [pid ]  {process    | redistribution  | counters  [neighbor   [  neighbor  -  interface ]
 
[neighbor-id ]]} 

Clears redistribution based on the OSPF routing process ID. If the
pid option is not specified, all OSPF processes are cleared.

Displaying OSPF Update Packet Pacing

SUMMARY STEPS

  1. show
    ip
    ospf
    flood-list
    interface-type
    interface-number

DETAILED STEPS

Command or Action Purpose

show
ip
ospf
flood-list
interface-type
interface-number

Example:
Device> show ip ospf flood-list ethernet 1

Displays a list of OSPF LSAs waiting to be flooded over an interface.

Restrictions for OSPF

On systems with a large number of interfaces, it may be possible to configure OSPF such that the number of links advertised
in the router LSA causes the link-state update packet to exceed the size of a “huge” Cisco buffer. To resolve this problem,
reduce the number of OSPF links or increase the huge buffer size by entering the
buffers
huge
size

size command.

A link-state update packet containing a router LSA typically has a fixed overhead of 196 bytes, and an additional 12 bytes
are required for each link description. With a huge buffer size of 18024 bytes, there can be a maximum of 1485 link descriptions.

Because the maximum size of an IP packet is 65,535 bytes, there is still an upper bound on the number of links possible on
a router.

Configuration Examples for OSPF

Example: OSPF Point-to-Multipoint

In the figure below, Router 1 uses data-link connection identifier (DLCI) 201 to communicate with Router 2, DLCI 202 to communicate
with Router 4, and DLCI 203 to communicate with Router 3. Router 2 uses DLCI 101 to communicate with Router 1 and DLCI 102
to communicate with Router 3. Router 3 communicates with Router 2 (DLCI 401) and Router 1 (DLCI 402). Router 4 communicates
with Router 1 (DLCI 301). Configuration examples follow the figure.

Figure 4. OSPF Point-to-Multipoint Example

Router 1 Configuration


hostname Router 1
!
interface serial 1
 ip address 10.0.0.2 255.0.0.0
 ip ospf network point-to-multipoint
 encapsulation frame-relay
 frame-relay map ip 10.0.0.1 201 broadcast
 frame-relay map ip 10.0.0.3 202 broadcast
 frame-relay map ip 10.0.0.4 203 broadcast
!
router ospf 1
 network 10.0.0.0 0.0.0.255 area 0

Router 2 Configuration


hostname Router 2
!
interface serial 0
 ip address 10.0.0.1 255.0.0.0
 ip ospf network point-to-multipoint
 encapsulation frame-relay
 frame-relay map ip 10.0.0.2 101 broadcast
 frame-relay map ip 10.0.0.4 102 broadcast
!
router ospf 1
 network 10.0.0.0 0.0.0.255 area 0

Router 3 Configuration


hostname Router 3
!
interface serial 3
 ip address 10.0.0.4 255.0.0.0
 ip ospf network point-to-multipoint
 encapsulation frame-relay
 clock rate 1000000
 frame-relay map ip 10.0.0.1 401 broadcast
 frame-relay map ip 10.0.0.2 402 broadcast
!
router ospf 1
 network 10.0.0.0 0.0.0.255 area 0

Router 4 Configuration


hostname Router 4
!
interface serial 2
 ip address 10.0.0.3 255.0.0.0
 ip ospf network point-to-multipoint
 encapsulation frame-relay
 clock rate 2000000
 frame-relay map ip 10.0.0.2 301 broadcast
!
router ospf 1
 network 10.0.0.0 0.0.0.255 area 0

Example: OSPF
Point-to-Multipoint with Broadcast

The following
example illustrates a point-to-multipoint network with broadcast:


interface Serial0
 ip address 10.0.1.1 255.255.255.0
 encapsulation frame-relay
 ip ospf cost 100
 ip ospf network point-to-multipoint
 frame-relay map ip 10.0.1.3 202 broadcast
 frame-relay map ip 10.0.1.4 203 broadcast
 frame-relay map ip 10.0.1.5 204 broadcast
 frame-relay local-dlci 200
!
router ospf 1
 network 10.0.1.0 0.0.0.255 area 0
 neighbor 10.0.1.5 cost 5
 neighbor 10.0.1.4 cost 10

The following
example shows the configuration of the neighbor at 10.0.1.3:


interface serial 0
 ip address 10.0.1.3 255.255.255.0
 ip ospf network point-to-multipoint
 encapsulation frame-relay
 frame-relay local-dlci 301
 frame-relay map ip 10.0.1.1 300 broadcast
 no shutdown
!
 router ospf 1
 network 10.0.1.0 0.0.0.255 area 0

The output shown
for neighbors in the first configuration is as follows:


Device# show ip ospf neighbor
Neighbor ID     Pri   State           Dead Time   Address         Interface
172.16.1.1           1   FULL/  -        00:01:50    10.0.1.5        Serial0
172.16.1.4           1   FULL/  -        00:01:47    10.0.1.4        Serial0
172.16.1.8           1   FULL/  -        00:01:45    10.0.1.3        Serial0

The route
information in the first configuration is as follows:


Device# show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area 
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
       i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, * - candidate default
       U - per-user static route, o - ODR
Gateway of last resort is not set
C    1.0.0.0/8 is directly connected, Loopback0
     10.0.0.0/8 is variably subnetted, 4 subnets, 2 masks
O       10.0.1.3/32 [110/100] via 10.0.1.3, 00:39:08, Serial0
C       10.0.1.0/24 is directly connected, Serial0
O       10.0.1.5/32 [110/5] via 10.0.1.5, 00:39:08, Serial0
O       10.0.1.4/32 [110/10] via 10.0.1.4, 00:39:08, Serial0

Example: OSPF
Point-to-Multipoint with Nonbroadcast

The following
example illustrates a point-to-multipoint network with nonbroadcast:


interface Serial0
 ip address 10.0.1.1 255.255.255.0
 ip ospf network point-to-multipoint non-broadcast
 encapsulation frame-relay
 no keepalive
 frame-relay local-dlci 200
 frame-relay map ip 10.0.1.3 202
 frame-relay map ip 10.0.1.4 203
 frame-relay map ip 10.0.1.5 204
 no shutdown
 !
 router ospf 1
  network 10.0.1.0 0.0.0.255 area 0
  neighbor 10.0.1.3 cost 5
  neighbor 10.0.1.4 cost 10
  neighbor 10.0.1.5 cost 15

The following
example is the configuration for the router on the other side:


interface Serial9/2
 ip address 10.0.1.3 255.255.255.0
 encapsulation frame-relay
 ip ospf network point-to-multipoint non-broadcast
 no ip mroute-cache
 no keepalive
 no fair-queue
 frame-relay local-dlci 301
 frame-relay map ip 10.0.1.1 300
 no shutdown
 !
 router ospf 1
  network 10.0.1.0 0.0.0.255 area 0

The output shown
for neighbors in the first configuration is as follows:


Device# show ip ospf neighbor

Neighbor ID     Pri   State           Dead Time   Address         Interface
172.16.1.1           1   FULL/  -        00:01:52    10.0.1.5        Serial0
172.16.1.4           1   FULL/  -        00:01:52    10.0.1.4        Serial0
172.16.1.8           1   FULL/  -        00:01:52    10.0.1.3        Serial0

Example: Variable-Length Subnet Masks

OSPF, static routes, and IS-IS support variable-length subnet masks (VLSMs). With VLSMs, you can use different masks for
the same network number on different interfaces, which allows you to conserve IP addresses and more efficiently use available
address space.

In the following example, a 30-bit subnet mask is used, leaving two bits of address space reserved for serial-line host addresses.
There is sufficient host address space for two host endpoints on a point-to-point serial link.


interface ethernet 0
 ip address 172.16.10.1 255.255.255.0
! 8 bits of host address space reserved for ethernets
interface serial 0
 ip address 172.16.20.1 255.255.255.252
! 2 bits of address space reserved for serial lines
! Router is configured for OSPF and assigned AS 107
router ospf 107
! Specifies network directly connected to the router
 network 172.16.0.0 0.0.255.255 area 0.0.0.0

Example: Configuring OSPF NSSA

In the following
example, an Open Shortest Path First (OSPF) stub network is configured to
include OSPF Area 0 and OSPF Area 1, using five devices. Device 3 is configured as the NSSA
Autonomous System Border Router (ASBR). Device 2 configured to be the NSSA
Area Border Router (ABR). OSPF Area 1 is defined
as a Not-So-Stubby Area (NSSA).

Device 1


hostname Device1
!
interface Loopback1
 ip address 10.1.0.1 255.255.255.255
!
interface Ethernet0/0
 ip address 192.168.0.1 255.255.255.0
 ip ospf 1 area 0
 no cdp enable
!
interface Serial10/0
 description Device2 interface s11/0
 ip address 192.168.10.1 255.255.255.0
 ip ospf 1 area 1
 serial restart-delay 0
 no cdp enable
!
router ospf 1
 area 1 nssa
!
end

Device 2


hostname Device2
!
!
interface Loopback1
 ip address 10.1.0.2 255.255.255.255
!
interface Serial10/0
 description Device1 interface s11/0
 no ip address
 shutdown
 serial restart-delay 0
 no cdp enable
!
interface Serial11/0
 description Device1 interface s10/0
 ip address 192.168.10.2 255.255.255.0
 ip ospf 1 area 1
 serial restart-delay 0
 no cdp enable
!
interface Serial14/0
 description Device3 interface s13/0
 ip address 192.168.14.2 255.255.255.0
 ip ospf 1 area 1
 serial restart-delay 0
 no cdp enable
!
router ospf 1
 area 1 nssa
!
end

Device 3


hostname Device3
!
interface Loopback1
 ip address 10.1.0.3 255.255.255.255
!
interface Ethernet3/0
 ip address 192.168.3.3 255.255.255.0
 no cdp enable
!
interface Serial13/0
 description Device2 interface s14/0
 ip address 192.168.14.3 255.255.255.0
 ip ospf 1 area 1
 serial restart-delay 0
 no cdp enable
!
router ospf 1
 log-adjacency-changes
 area 1 nssa
 redistribute rip subnets
!
router rip
 version 2
 redistribute ospf 1 metric 15
 network 192.168.3.0
end

Device 4


hostname Device4
!
interface Loopback1
 ip address 10.1.0.4 255.255.255.255
!
interface Ethernet3/0
 ip address 192.168.3.4 255.255.255.0
 no cdp enable
!
interface Ethernet4/1
 ip address 192.168.41.4 255.255.255.0
!
router rip
 version 2
 network 192.168.3.0
 network 192.168.41.0
!
end

Device 5


hostname Device5
!
interface Loopback1
 ip address 10.1.0.5 255.255.255.255
!
interface Ethernet0/0
 ip address 192.168.0.10 255.255.255.0
 ip ospf 1 area 0
 no cdp enable
!
interface Ethernet1/1
 ip address 192.168.11.10 255.255.255.0
 ip ospf 1 area 0
!
router ospf 1
!
end

Example: OSPF NSSA Area with
RFC 3101 Disabled and RFC 1587 Active

In the following
example, the output for the
show
ip
ospf
and
show
ip
ospf
database

nssa commands shows an Open Shortest Path First
Not-So-Stubby Area (OSPF NSSA) area where RFC 3101 is disabled, RFC 1587 is
active, and an NSSA Area Border Router (ABR) device is configured as a forced
NSSA LSA translator. If RFC 3101 is disabled, the forced NSSA LSA translator
remains inactive.


Device# show ip ospf

Routing Process "ospf 1" with ID 10.0.2.1
Start time: 00:00:25.512, Time elapsed: 00:01:02.200
Supports only single TOS(TOS0) routes
Supports opaque LSA
Supports Link-local Signaling (LLS)
Supports area transit capability
Supports NSSA (compatible with RFC 1587)
Event-log enabled, Maximum number of events: 1000, Mode: cyclic
Router is not originating router-LSAs with maximum metric
Initial SPF schedule delay 5000 msecs
Minimum hold time between two consecutive SPFs 10000 msecs
Maximum wait time between two consecutive SPFs 10000 msecs
Incremental-SPF disabled
Minimum LSA interval 5 secs
Minimum LSA arrival 1000 msecs
LSA group pacing timer 240 secs
Interface flood pacing timer 33 msecs
Retransmission pacing timer 66 msecs
Number of external LSA 0. Checksum Sum 0x000000
Number of opaque AS LSA 0. Checksum Sum 0x000000
Number of DCbitless external and opaque AS LSA 0
Number of DoNotAge external and opaque AS LSA 0
Number of areas in this router is 1. 0 normal 0 stub 1 nssa
Number of areas transit capable is 0
External flood list length 0
IETF NSF helper support enabled
Cisco NSF helper support enabled
Reference bandwidth unit is 100 mbps
Area 1
Number of interfaces in this area is 1
It is a NSSA area
Configured to translate Type-7 LSAs, inactive (RFC3101 support
disabled)
Area has no authentication
SPF algorithm last executed 00:00:07.160 ago
SPF algorithm executed 3 times
Area ranges are
Number of LSA 3. Checksum Sum 0x0245F0
Number of opaque link LSA 0. Checksum Sum 0x000000
Number of DCbitless LSA 0
Number of indication LSA 0
Number of DoNotAge LSA 0
Flood list length 0

The table below describes the
show
ip
ospf
display fields and their descriptions.

Table 1. show ip ospf Field
Descriptions

Field

Description

Supports NSSA
(compatible with RFC 1587)

Specifies that RFC 1587 is
active or that the OSPF NSSA area is RFC 1587 compatible.

Configured to
translate Type-7 LSAs, inactive (RFC3101 support disabled)

Specifies that OSPF NSSA area has an ABR device configured to act as a forced translator
of Type 7 LSAs. However, it is inactive because RFC 3101 is disabled


Device2# show ip ospf database nssa

Router Link States (Area 1)
LS age: 28
Options: (No TOS-capability, DC)
LS Type: Router Links
Link State ID: 10.0.2.1
Advertising Router: 10.0.2.1
LS Seq Number: 80000004
Checksum: 0x5CA2
Length: 36
Area Border Router
AS Boundary Router
Unconditional NSSA translator
Number of Links: 1
Link connected to: a Stub Network
(Link ID) Network/subnet number: 192.0.2.5
(Link Data) Network Mask: 255.255.255.0
Number of MTID metrics: 0
TOS 0 Metrics: 10

The table below describes the
show
ip
ospf database nssa
display fields and their descriptions.

Table 2. show ip ospf database nssa Field
Descriptions

Field

Description

Unconditional
NSSA translator

Specifies that NSSA ASBR device is a forced NSSA LSA
translator

Example: OSPF Routing and Route Redistribution

OSPF typically requires coordination among many internal routers, ABRs, and ASBRs. At a minimum, OSPF-based routers can be
configured with all default parameter values, with no authentication, and with interfaces assigned to areas.

Three types of examples follow:

  • The first is a simple configuration illustrating basic OSPF commands.

  • The second example illustrates a configuration for an internal router, ABR, and ASBRs within a single, arbitrarily assigned,
    OSPF autonomous system.

  • The third example illustrates a more complex configuration and the application of various tools available for controlling
    OSPF-based routing environments.

Example: Basic OSPF Configuration

The following example illustrates a simple OSPF configuration that enables OSPF routing process 9000, attaches Ethernet interface
0 to area 0.0.0.0, and redistributes RIP into OSPF and OSPF into RIP:


interface ethernet 0
 ip address 10.93.1.1 255.255.255.0
 ip ospf cost 1
!
interface ethernet 1
 ip address 10.94.1.1 255.255.255.0
!
router ospf 9000
 network 10.93.0.0 0.0.255.255 area 0.0.0.0
 redistribute rip metric 1 subnets
!
router rip
 network 10.94.0.0
 redistribute ospf 9000
 default-metric 1 

Example: Basic OSPF Configuration for Internal Router ABR and ASBRs

The following example illustrates the assignment of four area IDs to four IP address ranges. In the example, OSPF routing
process 109 is initialized, and four OSPF areas are defined: 10.9.50.0, 2, 3, and 0. Areas 10.9.50.0, 2, and 3 mask specific
address ranges, and area 0 enables OSPF for
all
other
networks.


router ospf 109
 network 192.168.10.0 0.0.0.255 area 10.9.50.0
 network 192.168.20.0 0.0.255.255 area 2
 network 192.168.30.0 0.0.0.255 area 3
 network 192.168.40.0 255.255.255.255 area 0
!
! Interface Ethernet0 is in area 10.9.50.0:
interface ethernet 0
 ip address 192.168.10.5 255.255.255.0
!
! Interface Ethernet1 is in area 2:
interface ethernet 1
 ip address 192.168.20.5 255.255.255.0
!
! Interface Ethernet2 is in area 2:
interface ethernet 2
 ip address 192.168.20.7 255.255.255.0
!
! Interface Ethernet3 is in area 3:
interface ethernet 3
 ip address 192.169.30.5 255.255.255.0
!
! Interface Ethernet4 is in area 0:
interface ethernet 4
 ip address 192.168.40.1 255.255.255.0
!
! Interface Ethernet5 is in area 0:
interface ethernet 5
 ip address 192.168.40.12 255.255.0.0

Each
network
area
router configuration command is evaluated sequentially, so the order of these commands in the configuration is important.
The Cisco software sequentially evaluates the address/wildcard-mask pair for each interface. See the
network
area
command page in the
Cisco IOS IP Routing: OSPF Command Reference for more information.

Consider the first
network
area
command. Area ID 10.9.50.0 is configured for the interface on which subnet 192.168.10.0 is located. Assume that a match is
determined for Ethernet interface 0. Ethernet interface 0 is attached to area 10.9.50.0 only.

The second
network
area
command is evaluated next. For area 2, the same process is then applied to all interfaces (except Ethernet interface 0).
Assume that a match is determined for Ethernet interface 1. OSPF is then enabled for that interface, and Ethernet interface
1 is attached to area 2.

This process of attaching interfaces to OSPF areas continues for all
network
area
commands. Note that the last
network
area
command in this example is a special case. With this command, all available interfaces (not explicitly attached to another
area) are attached to area 0.

Example: Complex Internal Router with ABR and ASBR

The following example outlines a configuration for several routers within a single OSPF autonomous system. The figure below
provides a general network map that illustrates this sample configuration.

Figure 5. Sample OSPF Autonomous System Network Map

In this configuration, five routers are configured with OSPF:

  • Router A and Router B are both internal routers within area 1.

  • Router C is an OSPF ABR. Note that for Router C, Area 1 is assigned to E3 and area 0 is assigned to S0.

  • Router D is an internal router in area 0 (backbone area). In this case, both
    network router configuration commands specify the same area (area 0, or the backbone area).

  • Router E is an OSPF ASBR. Note that BGP routes are redistributed into OSPF and that these routes are advertised by OSPF.

Note


You do not need to include definitions of all areas in an OSPF autonomous system in the configuration of all routers in the
autonomous system. Only the
directly connected areas must be defined. In the example that follows, routes in area 0 are learned by the routers in area 1 (Router
A and Router B) when the ABR (Router C) injects summary LSAs into area 1.


The OSPF domain in BGP autonomous system 109 is connected to the outside world via the BGP link to the external peer at IP
address 10.0.0.6. Sample configurations follow.

Following is the sample configuration for the general network map shown in the figure above.

Router A Configuration—Internal Router

interface ethernet 1
 ip address 192.168.1.1 255.255.255.0
router ospf 1
 network 192.168.0.0 0.0.255.255 area 1
Router B Configuration—Internal Router

interface ethernet 2
 ip address 192.168.1.2 255.255.255.0
router ospf 202
 network 192.168.0.0 0.0.255.255 area 1
Router C Configuration—ABR

interface ethernet 3
 ip address 192.168.1.3 255.255.255.0
interface serial 0
 ip address 192.168.2.3 255.255.255.0
router ospf 999
 network 192.168.1.0 0.0.0.255 area 1
 network 192.168.2.0 0.0.0.255 area 0
Router D Configuration—Internal Router

interface ethernet 4
 ip address 10.0.0.4 255.0.0.0
interface serial 1
 ip address 192.168.2.4 255.255.255.0
router ospf 50
 network 192.168.2.0 0.0.0.255 area 0
 network 10.0.0.0 0.255.255.255 area 0
Router E Configuration—ASBR

interface ethernet 5
 ip address 10.0.0.5 255.0.0.0
interface serial 2
 ip address 172.16.1.5 255.255.255.0
router ospf 65001
 network 10.0.0.0 0.255.255.255 area 0
 redistribute bgp 109 metric 1 metric-type 1
router bgp 109
 network 192.168.0.0
 network 10.0.0.0
 neighbor 172.16.1.6 remote-as 110

Example: Complex OSPF Configuration for ABR

The following sample configuration accomplishes several tasks in setting up an ABR. These tasks can be split into two general
categories:

  • Basic OSPF configuration

  • Route redistribution

The specific tasks outlined in this configuration are detailed briefly in the following descriptions. The figure below illustrates
the network address ranges and area assignments for the interfaces.

Figure 6. Interface and Area Specifications for OSPF Sample Configuration

The basic configuration tasks in this example are as follows:

  • Configure address ranges for Ethernet interface 0 through Ethernet interface 3.

  • Enable OSPF on each interface.

  • Set up an OSPF authentication password for each area and network.

  • Assign link-state metrics and other OSPF interface configuration options.

  • Create a
    stub
    area
    with area ID 36.0.0.0. (Note that the
    authentication and
    stub options of the
    area router configuration command are specified with separate
    area command entries, but can be merged into a single
    area command.)

  • Specify the backbone area (area 0).

Configuration tasks associated with redistribution are as follows:

  • Redistribute IGRP and RIP into OSPF with various options set (including including
    metric-type ,
    metric ,
    tag , and
    subnet ).

  • Redistribute IGRP and OSPF into RIP.

The following is a sample OSPF configuration:


interface ethernet 0
 ip address 192.0.2.201 255.255.255.0
 ip ospf authentication-key abcdefgh
 ip ospf cost 10
!
interface ethernet 1
 ip address 172.19.251.202 255.255.255.0
 ip ospf authentication-key ijklmnop
 ip ospf cost 20
 ip ospf retransmit-interval 10
 ip ospf transmit-delay 2
 ip ospf priority 4
!
interface ethernet 2
 ip address 172.19.254.2 255.255.255.0
 ip ospf authentication-key abcdefgh
 ip ospf cost 10
!
interface ethernet 3
 ip address 10.56.0.0 255.255.0.0
 ip ospf authentication-key ijklmnop
 ip ospf cost 20
 ip ospf dead-interval 80

In the following configuration, OSPF is on network 172.16.0.0:


router ospf 201
 network 10.10.0.0 0.255.255.255 area 10.10.0.0
 network 192.42.110.0 0.0.0.255 area 192.42.110.0
 network 172.16.0.0 0.0.255.255 area 0
 area 0 authentication
 area 10.10.0.0 stub
 area 10.10.0.0 authentication
 area 10.10.0.0 default-cost 20
 area 192.42.110.0 authentication
 area 10.10.0.0 range 10.10.0.0 255.0.0.0
 area 192.42.110.0 range 192.42.110.0 255.255.255.0
 area 0 range 172.16.251.0 255.255.255.0
 area 0 range 172.16.254.0 255.255.255.0
 redistribute igrp 200 metric-type 2 metric 1 tag 200 subnets
 redistribute rip metric-type 2 metric 1 tag 200

In the following configuration, IGRP autonomous system 200 is on 192.0.2.1:


router igrp 200
 network 172.31.0.0
!
! RIP for 192.168.110
!
router rip
 network 192.168.110.0
 redistribute igrp 200 metric 1
 redistribute ospf 201 metric 1

Examples: Route Map

The examples in this section illustrate the use of redistribution, with and without route maps. Examples from the IP and
Connectionless Network Service (CLNS) routing protocols are given.

The following example redistributes all OSPF routes into IGRP:


router igrp 109
 redistribute ospf 110

The following example redistributes RIP routes with a hop count equal to 1 into OSPF. These routes will be redistributed
into OSPF as external LSAs with a metric of 5, a metric type of Type 1, and a tag equal to 1.


router ospf 109
 redistribute rip route-map rip-to-ospf
!
route-map rip-to-ospf permit
 match metric 1
 set metric 5
 set metric-type type1
 set tag 1

The following example redistributes OSPF learned routes with tag 7 as a RIP metric of 15:


router rip
 redistribute ospf 109 route-map 5
!
route-map 5 permit
 match tag 7
 set metric 15

The following example redistributes OSPF intra-area and interarea routes with next-hop routers on serial interface 0 into
BGP with an INTER_AS metric of 5:


router bgp 109
 redistribute ospf 109 route-map 10
!
route-map 10 permit
 match route-type internal
 match interface serial 0
 set metric 5

The following example redistributes two types of routes into the integrated IS-IS routing table (supporting both IP and CLNS).
The first type is OSPF external IP routes with tag 5; these routes are inserted into Level 2 IS-IS link state packets (LSPs)
with a metric of 5. The second type is ISO-IGRP derived CLNS prefix routes that match CLNS access list 2000; these routes
will be redistributed into IS-IS as Level 2 LSPs with a metric of 30.


router isis
 redistribute ospf 109 route-map 2
 redistribute iso-igrp nsfnet route-map 3
!
route-map 2 permit
 match route-type external
 match tag 5
 set metric 5
 set level level-2
!
route-map 3 permit
 match address 2000
 set metric 30

With the following configuration, OSPF external routes with tags 1, 2, 3, and 5 are redistributed into RIP with metrics of
1, 1, 5, and 5, respectively. The OSPF routes with a tag of 4 are not redistributed.


router rip
 redistribute ospf 109 route-map 1
!
route-map 1 permit
 match tag 1 2
 set metric 1
!
route-map 1 permit 
 match tag 3
 set metric 5
!
route-map 1 deny
 match tag 4
!
route map 1 permit
 match tag 5
 set metric 5

In the following configuration, a RIP-learned route for network 192.168.0.0 and an ISO-IGRP-learned route with prefix 49.0001.0002
are redistributed into an IS-IS Level 2 LSP with a metric of 5:


router isis
 redistribute rip route-map 1
 redistribute iso-igrp remote route-map 1
!
route-map 1 permit
 match ip address 1
 match clns address 2
 set metric 5
 set level level-2
!
 access-list 1 permit 192.168.0.0 0.0.255.255
 clns filter-set 2 permit 49.0001.0002...

The following configuration example illustrates how a route map is referenced by the
default-information router configuration command. This type of reference is called
conditional
default
origination
. OSPF will originate the default route (network 0.0.0.0) with a Type 2 metric of 5 if 172.16.0.0 is in the routing table.

Note


Only routes external to the OSPF process can be used for tracking, such as non-OSPF routes or OSPF routes from a separate
OSPF process.



route-map ospf-default permit
 match ip address 1
 set metric 5
 set metric-type type-2
!
 access-list 1 permit 172.16.0.0 0.0.255.255
!
router ospf 109
 default-information originate route-map ospf-default

Example: Changing the OSPF Administrative Distances

The following configuration changes the external distance to 200, making it less trustworthy. The figure below illustrates
the example.

Figure 7. OSPF Administrative Distance

Router A Configuration


router ospf 1
 redistribute ospf 2 subnet
 distance ospf external 200
!
router ospf 2
 redistribute ospf 1 subnet
 distance ospf external 200

Router B Configuration


router ospf 1
 redistribute ospf 2 subnet
 distance ospf external 200
!
router ospf 2
 redistribute ospf 1 subnet
 distance ospf external 200

Example: OSPF over On-Demand Routing

The following configuration allows OSPF over an on-demand circuit, as shown in the figure below. Note that the on-demand
circuit is defined on one side only (BRI 0 on Router A); it is not required to be configured on both sides.

Figure 8. OSPF over On-Demand Circuit

Router A Configuration


username RouterB password 7 060C1A2F47
isdn switch-type basic-5ess
ip routing
!
interface TokenRing0
 ip address 192.168.50.5 255.255.255.0
 no shutdown
!
interface BRI0
 no cdp enable
 description connected PBX 1485
 ip address 192.168.45.30 255.255.255.0
 encapsulation ppp
 ip ospf demand-circuit
 dialer map ip 192.0.2.6 name RouterB broadcast 61484
 dialer-group 1
 ppp authentication chap
 no shutdown
!
router ospf 100
 network 192.168.45.0 0.0.0.255 area 0
 network 192.168.45.50 0.0.0.255 area 0
!
dialer-list 1 protocol ip permit

Router B Configuration


username RouterA password 7 04511E0804
isdn switch-type basic-5ess
ip routing
!
interface Ethernet0
 ip address 192.168.50.16 255.255.255.0
 no shutdown
!
interface BRI0
 no cdp enable
 description connected PBX 1484
 ip address  192.168.45.17 255.255.255.0
 encapsulation ppp
 dialer map ip 192.168.45.19 name RouterA broadcast 61485
 dialer-group 1
 ppp authentication chap	
 no shutdown
!
router ospf 100
 network 192.168.45.0 0.0.0.255 area 0
 network 192.168.45.50 0.0.0.255 area 0
!
dialer-list 1 protocol ip permit

Example: LSA Group Pacing

The following example changes the OSPF pacing between LSA groups to 60 seconds:


router ospf
 timers pacing lsa-group 60

Example: Blocking OSPF LSA Flooding

The following example prevents flooding of OSPF LSAs to broadcast, nonbroadcast, or point-to-point networks reachable through
Ethernet interface 0:


interface ethernet 0
 ip ospf database-filter all out

The following example prevents flooding of OSPF LSAs to point-to-multipoint networks to the neighbor at IP address 10.10.10.45:


router ospf 109
 neighbor 10.10.10.45 database-filter all out

Example: Ignoring MOSPF LSA Packets

The following example configures the router to suppress the sending of syslog messages when it receives MOSPF packets:


router ospf 109
 ignore lsa mospf

Additional References for
OSPF Not-So-Stubby Areas (NSSA)

Related Documents

Related
Topic

Document
Title

Cisco IOS
commands


Cisco IOS Master Command
List, All Releases

OSPF
commands


Cisco IOS IP Routing: OSPF
Command Reference

Protocol-independent features that work with OSPF

“Configuring IP Routing Protocol-Independent Features” module in
IP Routing: Protocol-Independent Configuration Guide

RFCs

RFC

Title

RFC 1587


The OSPF NSSA Option
, March 1994

RFC 3101


The OSPF NSSA Option
January 2003

Technical Assistance

Description

Link

The Cisco
Support and Documentation website provides online resources to download
documentation, software, and tools. Use these resources to install and
configure the software and to troubleshoot and resolve technical issues with
Cisco products and technologies. Access to most tools on the Cisco Support and
Documentation website requires a Cisco.com user ID and password.

http://www.cisco.com/cisco/web/support/index.html

Feature Information for
Configuring OSPF

The following table provides release information about the feature or features described in this module. This table lists
only the software release that introduced support for a given feature in a given software release train. Unless noted otherwise,
subsequent releases of that software release train also support that feature.

Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco
Feature Navigator, go to www.cisco.com/go/cfn. An account on Cisco.com is not required.

В этой статье мы будем использовать MIkroTik с RouterOS версии 7.2 для изучения протокола динамической маршрутизации OSPF.

Введение

Протокол OSPF (Open Shortest Path First) — это протокол динамической маршрутизации, который ищет кратчайший путь (маршрут) используя алгоритм Дейкстры. Перед тем, как начать обмен маршрутной информацией между роутерами, им необходимо установить соседские отношения. Для этого между роутерами должна быть IP связность.

OSPF — это масштабируемый протокол и если нужно объединить много роутеров в одну автономную систему эти роутеры можно поделить на зоны (Area). Но в статье это не рассматривается.

Для обмена маршрутной информацией используются специально выделенные мультикастовые адреса:

  • 224.0.0.5
  • 224.0.0.6

То-есть для работы OSPF мультикаст должен быть разрешен.

Схема сети (broadcast)

У нас есть 4 роутера и все они находятся в одном широковещательном домене (broadcast), например подключены к одному коммутатору. Эти роутеры обслуживают некоторые локальные сети. И мы с помощью OSPF создадим таблицы маршрутизации на каждом роутере MikroTik, так чтобы из каждой подсети можно было попасть в каждую подсеть.

OSPF - 4 роутера - broadcast

OSPF — 4 роутера — broadcast

Вся настройка OSPF в MikroTik у нас находится в меню /Routing/OSPF.

Создание инстанса OSPF

Вначале на вкладке Instances создаём на каждом роутере свой инстанс:

Создание OSPF Instances

MikroTik — Создание OSPF Instances

Можно ничего не менять, а можно указать RouterID. Он указывается в виде похожем на ip адрес, но это не ip адрес, это идентификатор роутера. И соседские роутеры знают друг друга по этим идентификаторам. Если появятся два роутера с одинаковыми идентификаторами, то роутеры запутаются. В OSPF каждый роутер должен иметь уникальный номер. Я на первом роутере указываю 0.0.0.1, на втором 0.0.0.2 и так далее.

Если бы мы не указали на каждом роутере свой Router ID, то роутеры бы автоматически назначили его себе, взяв какой-нибудь из своих ip адресов. Но лучше задать Router ID вручную, а не доверять глупой железке.

Создание зоны OSPF

Дальше переходим на вкладку Areas и создаём новую зону OSPF. Здесь ничего не меняем, на каждом роутере всё оставляем по умолчанию:

Создание OSPF Area

MikroTik — Создание OSPF Area

В этой статье я не рассказываю про деление автономной системы на зоны и объединение зон. И так как зона у нас одна, то создаём её по умолчанию.

Указываем интерфейсы которые будут участвовать в обмене OSPF

Переходим на вкладку Interface Templates и создаём шаблоны. В шаблоне обязательно нужно указать интерфейс. Дополнительно можно указать определённую подсеть, маршрут к которой будет передаваться по OSPF на остальные роутеры. Также нужно указать тип сети, если роутеры находятся в одном широковещательном домене (как у нас), то указывается broadcast. А если они соединены по типу точка-точка (патч-кордами или L3_VPN-ами), то тип сети будет ptp (peer-to-peer).

Также, если интерфейс обслуживает локальную сеть, где находятся только конечные устройства пользователей, то нужно поставить галочку Passive, чтобы в эту локалку не отправлялись OSPF пакеты. А шаблон делаем, для того чтобы опубликовать эту сеть в OSPF.

А если вам к определённым сетям, за определёнными интерфейсами не нужно передавать маршруты. И эти интерфейсы не должны участвовать в OSPF, то просто не создавайте для этих интерфейсов шаблоны.

Вот пример моих настроек на первом роутере:

Создание OSPF Interface Template

MikroTik -Создание OSPF Interface Template

Интерфейс ether2 у меня идет в широковещательный домен, по которому будет происходить обмен OSPF пакетами. Поэтому я указываю тип сети Broadcast и не ставлю галочку Passive.

Интерфейс ether3 у меня обслуживает локальную сеть, маршрут к которой я хочу опубликовать. Но я не хочу пускать туда OSPF трафик. Поэтому я ставлю галочку Passive. Тип сети Broadcast, так как интерфейс обслуживает локальную сеть, а не одно устройство.

Все остальные настройки оставляю по умолчанию. И создаю по 2 таких шаблона на каждом роутере.

Просмотр соседей OSPF

Чтобы убедиться что всё работает перейдите на вкладку Neighboards:

Соседство определяется состоянием (State). Если оно полное (Full), значит все в порядке и роутеры начали обмениваться маршрутами. Ещё одним рабочим состоянием является TwoWay (двухстороннее соединение), но только для Broadcast соединения.

Дело в том, что в Broadcast соединении происходит выбор главного маршрутизатора — DR и резервного главного маршрутизатора BDR. А все остальные роутеры называют DROTHER. Вот между DROTHER будет состояние не Full а TwoWay и они не будут между собой обмениваться маршрутной информацией.

А если у вас тип сети PTP, то все роутеры будут иметь соседство Full.

Немного теории (основные понятия и состояния соседства)

В самом начале роутеры с включенным и настроенном OSPF начинают искать соседей. Затем с найденными соседями устанавливаются соседские отношения. При этом роутеры договариваются о том как будет происходить обмен информацией о маршрутах.

И так у нас сейчас OSPF работает в broadcast (ethernet) среде. И алгоритм при этом немного отличается от работы в среде peer-to-peer. Главным отличаем работы в broadcast — является процесс выборов DR и BDR.

Основные понятия:

  • LSDB — база данных маршрутной информации.
  • Hello пакет — используется для обнаружения соседей, построения соседских отношений и мониторинга доступности соседа.
  • DBD пакет — проверяет синхронизацию базы данных (LSDB) между роутерами. С помощью DBD роутер сообщает, какие у него есть соседи.
  • LSR — запрос определенных записей из LSDP соседа. То есть роутер получает DBD от соседа и понимает что у его соседа есть ему неизвестные соседи. И чтобы понять как до них добраться и какие у них есть опубликованные сети, роутер запрашивает эту информацию с помощью LSR запроса.
  • LSU — отправка определенных записей из LSDB в ответ на запрос (LSR).

Состояния соседства:

  1. Down — самое первое состояние, когда роутер ещё не начал посылать Hello пакеты для поиска соседей.
  2. Init — как только роутер отправляет свой первый Hello пакет соседу, то он переходит в состояние Init и начинает ждать Hello пакеты от соседей.
  3. TwoWay — в этом состоянии соседи могут остаться, но только в broadcast среде и если их больше трёх. При установке соседских отношений роутеры отправляют сообщение hello друг другу два раза. Первый раз чтобы нащупать соседа, а второй раз, чтобы сообщить соседу о том, что его заметили и с ним хотят дружить. Во втором hello пакете роутер посылает Router ID соседа. И если роутер видит в этом пакете свой Router ID, то он переходит в TwoWay. Другими словами, в этом состоянии роутер знает, что сосед про него знает. Также в этом состоянии проходят выборы за роль DR и BDR (об этом ниже).
  4. Exstart – здесь роутеры договариваются о том, кто первый начнет обмен. Для этого из двух соседей выбирается главный роутер (master), и второстепенный (slave). Главным становится тот роутер, у которого Router ID больше.
  5. Exchange – роутеры начинают обмениваться DBD пакетами. При этом master посылает DBD первым, то есть сообщает, какие у него есть соседи.
  6. Loading – переход в это состояние происходит тогда, когда роутер осознает, что в его LSDB не хватает части маршрутной информации. То есть соседа он уже знает, нужно узнать какие сети обслуживает сосед и какие у него есть соседи, и какие сети есть у соседей. В этом состояние роутер отсылает LSR запросы. И в ответ он получает LSU ответы, и наполняет свою базу LSDB.
  7. Full – после того, как база данных LSDB у соседей синхронизовалась, роутеры переходят в это состояние.

Немного теории (что такое DR и BDR и зачем нужно голосование)

Когда у вас широковещательная среда (broadcast). То каждый OSPF роутер должен синхронизировать свою базу LSDB с базами других роутеров. В такой среде может быть очень много OSPF роутеров. Ни как у нас 4, а например 100. И представьте что 100 роутеров начнут синхронизацию каждый с каждым. Это очень серьёзно нагрузить broadcast среду.

Разработчики OSPF решили что в broadcast среде обмен маршрутной информацией будет происходить не каждый с каждым, а каждый с главным. И этот главный будет передавать свою большую LSDB всем остальным. Такой главный роутер назвали DR (designated router).

Но если что-то случится с DR, то все соседские отношения рухнут. Чтобы этого не произошло в процессе выборов выбирают ещё BDR (backup designated router). BDR точно также как и DR наполняет свою базу LSDB, но не распространяет её. Но если что-то случится с DR, то он его заменит его.

А роутеры которые не стали DR и BDR называют DROTHER. Роутеры DROTHER имеют статус соседства FULL с роутерами DR и BDR (то есть кидают LSR и получают LSU). А соседство двух роутеров DROTHER описывается состоянием TwoWay (синхронизации не происходит). Вот поэтому в broadcast среде, где больше трёх роутеров, можно наблюдать соседство TwoWay и при этом всё корректно работает.

Посмотрим таблицу маршрутизации

После прочтения теории, если вы её осилили, вернёмся к нашей сети и посмотрим какие маршруты мы получили по протоколу OSPF:

То есть теперь мы можем получить доступ ко всем подсетям.

Схема сети (точка — точка)

Теперь немного изменим условия. Допустим эти 4 роутера не в одном широковещательном домене а соединены по типу точка-точка (ptp). Например патч-кордами, или L3_VPN. При этом, у меня, каждый роутер соединён с каждым другим роутером:

OSPF - 4 филиала

OSPF (ptp)

Изменяем Interface Templates

Заходим на каждый роутер, и отключаем шаблон, который был для broadcast (в моём случае это ether2). И затем создаём новые шаблоны для соединений по типу peer-to-peer (в моём случае это vpn). Получается вот так:

OSPF - Interface Templates для ptp

OSPF — Interface Templates для ptp

Это проделывается на всех роутерах.

Просмотр соседей OSPF

Затем перейдём на вкладку Neighbors, чтобы посмотреть соседей OSPF и их состояния:

OSPF — вкладка Neighbors

В этом случае (ptp), чтобы все работало, состояния должно быть Full и никакими другими. Так как здесь не идет голосования и нет DR и BDR роутеров.

Посмотрим таблицу маршрутизации

После того, как мы убедились в полном соседстве наших роутеров, посмотрим на таблицу маршрутизации на первом роутере:

Маршруты OSPF

Теперь у нас есть доступ ко всем подсетям, через vpn соединения.

Перестройка маршрутов

И так из первой подсети (192.168.1.0/24) в четвертую (192.168.4.0/24) и пятую подсеть (192.168.5.0/24) пакеты пойдут через l2tp-in4.

Как только упадет VPN между 1 и 4 роутером, маршруты перестроятся:

OSPF - таблица маршрутизации

OSPF — таблица маршрутизации

Теперь в 4 и 5 подсеть с первого роутера пакеты пойдут через l2tp-in2 и l2tp-in3 используя ECMP. То есть половина соединений пойдет через R2, а половина через R3. И периодически такие соединения будут перестраиваться, что не совсем правильно.

Когда мы создавали Interface Templates мы не меняли параметр Cost. Поэтому у нас цена каждого соединения равна единицы. Вот как это выглядит, если потеряно соединение R1 с R4:

OSPF — Параметр Cost

То есть кратчайшем путём от первой подсети к пятой подсети будет через R1 — R2 — R4 или через R1- R3 — R4. И эти пути равны. А так как у нас два равноценных пути, то в работу вступает ECMP.

Чтобы это исправить, нужно на роутере R1 в Interface Templates увеличить стоимость (Cost) перехода к R3:

OSPF — Меняем параметр Cost

Теперь наша схема изменится:

OSPF — Параметр Cost

Теперь кратчайшем путём от первой подсети к пятой подсети будет через R1 — R2 — R4, а путь R1- R3 — R4 будет дороже.

Чтобы в этом убедиться посмотрим таблицу маршрутизации:

OSPF - таблица маршрутизации

OSPF — таблица маршрутизации

Видим что действительно пакеты в 4 и 5 подсети пойдут через R2 (l2tp-in2).

Итог

Мы узнали как настроить на роутерах MikroTik обмен маршрутной информацией с помощью протокола OSPF.

Узнали что для этого нужно:

  • Создать инстанс (Instances)
    • В нем указать RouterID для каждого роутера
  • Создать зону (Area)
  • Создать шаблон для интерфейса (Interface Templates)
    • Указать интерфейс
    • Если нужно, указать подсети
    • Указать тип соединения
    • Если нужно, поменять параметр Cost
    • Если нужно, поставить галочку Passive
  • Проследить за соседями (Neighbors) и посмотреть какие маршруты прилетели к нам по OSPF (IP / Routes)

Также вы узнали что OSPF работает по мультикасту и нужна IP связность. А также в различных средах (broadcast / ptp) алгоритм установки соседских отношений может отличаться.

Вы узнали что в broadcast среде роутеры выбирают себе DR и BDR, и обмениваются маршрутной информацией только через DR, а не каждый с каждым.

Сводка

MIkrotik. OSPF на примере 4 роутеров

Имя статьи

MIkrotik. OSPF на примере 4 роутеров

Описание

В этой статье мы будем использовать MIkroTik с RouterOS версии 7.2 для изучения протокола динамической маршрутизации OSPF

В данной статье можно ознакомиться с базовой настройкой протокола динамической маршрутизации OSPF, на примере подключения двух роутеров.

Знакомство с протоколом OSPF

OSPF (англ. Open Shortest Path First) — протокол динамической маршрутизации, основанный на технологии отслеживания состояния канала.
Протокол OSPF распространяет информацию о доступных маршрутах между маршрутизаторами одной автономной системы.
OSPF имеет следующие преимущества:

  • Высокая скорость сходимости по сравнению с дистанционно-векторными протоколами маршрутизации;
  • Поддержка сетевых масок переменной длины (VLSM);
  • Оптимальное использование пропускной способности с построением дерева кратчайших путей.

Использование протокола OSPF при настройке роутеров

OSPF протокол является стандартом для сетевых инженеров, которые работают с большим количеством сетевого оборудования. По сути, с помощью этого протокола можно передавать маршрутную информацию разным устройствам. В качестве примера рассмотрим базовую настройку между двумя роутерами.

Ping

Имеются два роутера, у которых есть прямое подключение. Таким образом при написании команды ping для обоих роутеров можно проверить доступны ли они.

Рисунок 1- Terminal «2»

Рисунок 2- Terminal «2»
На рисунке 3 видно, что устройство B1 у нас доступно через ether2 и ether4.

Рисунок 3-Neighbor List

Настройка первого роутера

Настроим роутер B1, на котором установлена операционная система RouterOS 7.4 и здесь создаем Instances, где можно оставить настройки по умолчанию:

  • Вторая версия протокола говорит о том, что мы работаем с ipv4 протоколом.
  • В VRF стоит main то есть оставляем все в основной таблице маршрутизации
  • Router ID оставляем по умолчанию

Рисунок 4- OSPF Instances
В разделе Interface Templates можно увидеть, что у нас не создана Area, как представлено на рисунке 5.

Рисунок 5-OSPF Interface Templates
В RouterOS 6 создана backbone Area, без которой невозможно работа у протокола OSPF, поэтому называние будет таким же. И Area ID это 32-битное число 0:0:0:0 как показано на рисунке 6.

Рисунок 6- OSPF Area
Дальше создаем шаблон интерфейса и указываем соседний интерфейс.

Рисунок 7- OSPF Interface Templates

Настройка второго роутера

Переходим к настройке второго роутера. Здесь у нас настройки будут отличаться, потому что у нас RouterOS 6.

Рисунок 8- настройка второго роутера
Instances и Areas нам создавать не требуется, так как они у нас уже есть. Далее указываем сеть, которая настроена между двумя нашими роутерами.

Рисунок 9- Network OSPF
В разделе Interface для ether2 смотрим Status o подключении Neighbors на рисунке 9

Рисунок 10-OSPF «ether2»
В разделе Neighbors можем посмотреть соседнее устройство, а также его состояние.

Рисунок 11-Columns
В данном случае Full, то есть, между соседними устройствами налажена полноценная работа.
Рисунок 12-Full состояние

Дополнительная сеть для передача маршрутной информации

На RouterOS6

Чтобы передать соседу какую-то маршрутную информацию для этого перейдём в раздел OSPF Network Address и пропишем какую-нибудь дополнительную сеть, которая есть на нашем роутере.

Рисунок 13- Address List
В качестве примера возьмем пятую сеть.
Network:172.29.5.0/24

Рисунок 14- Address
Указываем IP адрес и ID новой сети.

Рисунок 15- New OSPF Network
После чего, смотрим появилась ли данная сеть в разделе IP Routers и выставляем фильтр OSPF и yes.

Рисунок 16-Route List
Видим, что данная сеть принадлежит соседнему устройству. Также она есть на нашем роутере, но мы можем выключить адрес и эта сеть будет активной.

Рисунок 17- Route List
RouterOS 7

Возможно и с RouterOS 7 прописать какую-либо сеть, которую нужно будет передать соседнему устройству.
В качестве примера возьмем вторую сеть.

Рисунок 18- Address
Указываем интерфейс, за которым есть соседнее устройство.

Рисунок 19- OSPF Interface Templates
В разделе Routes можно увидеть, что появилась вторая сеть.

Рисунок 20-вторая сеть

Обмен маршрутной информацией и трафиком по двум интерфейсам

Дополнительно для нашего случая, когда роутеры соединены более чем одной сетью, то есть у нас есть основной и резервный интерфейс можно
настроить обмен маршрутной информации, так чтобы весь трафик шел по
двум интерфейсам одновременно.
В раздел IP Neighbors видим информацию о ether2 и ether4.

Рисунок 21- Neighbor List
Переходим на первый роутер, который у нас на RouterOS 7 и указываем ему ether4 пятую сеть, по которой он увидит своё соседнее устройство.

Рисунок 22-OSPF
Далее открывает раздел IP Routers, но маршруты никакие не передаем.

Рисунок 23- Route List
Можно четвертую сеть прописать так, чтобы она шла в RIP для этого, перейдем в раздел OSPF Network и добавляем 172.29.4.0/24, также в нашу Area.

Рисунок 24- New OSPF Network
В разделе Neighbors видим, что нам пришло два маршрута причем с пометкой ECMP, то есть работа осуществляется одновременно по двум интерфейсам.

Рисунок 25- Route List

Пассивный интерфейс

Есть возможность сделать интерфейс пассивным, то есть на нем не будет передаваться никаких OSPF сообщений по 89 протоколу.

Рисунок 26- New OSPF
На RouterOS 7 также можно настроить пассивность интерфейса.

Рисунок 27- OSPF «ether4»

Влияние цены на выбор интерфейса и на активность маршрутов

На RouterOS 7

Выбор интерфейса основывается на цене. Чем выше стоимость, тем меньше вероятность что именно этот интерфейс будет выбран для передачи трафика. То есть, сделать так, чтобы по ether2 информация в сторону соседа не проходила, можно увеличив стоимость. Таким образом для ether2 стоимость будет 100, а для ether4 стоимость будет 1.

Рисунок 28- OSPF
Тогда в таблице маршрутизации второй маршрут будет подсвечен синим, то есть он в данном случае не активен, но он может стать иным в ситуации если выключится ether4.

Рисунок 29-Route List
Например, если выключить интерфейс ether4, то трафик пойдет по интерфейсу ether2 и только в этой ситуации он станет активным.

Рисунок 30- OSPF
При возвращении ether4 обратно ему нужно какое-то время на то, чтобы договориться с соседним устройством и без проблем вернуться в таблицу маршрутизации.

Рисунок 31- OSPF
На RouterOS 6

На RouterOS 6 также можем выбрать интерфейс. Необходимо зайти в раздел Routing OSPF Interface скопировать необходимый нам интерфейс и, указать стоимость, там где мы не пойдем.

Рисунок 32- OSPF «ether4»
И в разделе IP Routes до соседнего устройства будет осуществляться соединение через ether2. Если бы стоимость была одинаковая, то был бы ESMP маршрут.

Рисунок 33- Route List
На рисунке 32 видно, что у нас появился ESMP маршрут, то есть который указывает что у нас есть выбор Gateway через ether4 и через ether2.

Рисунок 34- Route

Если опять изменим стоимость на одинаковую, то настройки вернутся к исходным.

На этом базовый обзор протокола OSPF и настройка роутеров закончена.

  • Как настроить роутер в офисной сети
  • Как настроить роутер делинк с телефона
  • Как настроить роутер глобал алания
  • Как настроить роутер билайн smart box one под другого провайдера
  • Как настроить роутер в орион телекоме