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

  1. Широковещательные сети множественного доступа (broadcast multiaccess)
  2. Нешироковещательные сети множественного доступа (nonbroadcast multiaccess — NBMA)
  3. Point — to — Point. «Точка-точка»
  4. Point — to — multipoint. «точка-многоточек»

Топология сети

ospf

Исходные данные для решения поставленной задачи

ospf

Настройка роутера R1

Задаем IP адрес интерфейсу FastEthernet0/0 и активируем порт

R1(config)#interface Fa0/0
R1(config-if)#ip address 172.16.1.17 255.255.255.240
R1(config-if)#no shutdown
R1(config-if)#exit

Выставляем режим работы и задаем IP адрес интерфейсу Serial0/0/0 и активируем порт

R1(config)#interface S0/0/0
R1(config-if)#clock rate 64000
R1(config-if)#encapsulation ppp
R1(config-if)#ip address 192.168.10.1 255.255.255.252
R1(config-if)#no shutdown
R1(config-if)#exit

Выставляем режим работы, задаем IP адрес интерфейсу Serial0/0/1 и активируем порт

R1(config)#interface s0/0/1
R1(config-if)#encapsulation ppp
R1(config-if)#ip address 192.168.10.5 255.255.255.252
R1(config-if)#no shutdown

Сохраняем конфигурацию

R1(config-if)#copy running-config startup-config
Destination filename [startup-config]?
Building configuration...
[OK]

Настройка роутера R2

Задаем IP адрес интерфейсу FastEthernet0/0 и активируем порт

R2(config)#interface Fa0/0
R2(config-if)#ip address 10.10.10.1 255.255.255.0
R2(config-if)#no shutdown
R2(config-if)#exit

Выставляем режим работы и задаем IP адрес интерфейсу Serial0/0/0 и активируем порт

R2(config)#interface S0/0/0
R2(config-if)#encapsulation ppp
R2(config-if)#ip address 192.168.10.2 255.255.255.252
R2(config-if)#no shutdown
R2(config-if)#exit

Выставляем режим работы, задаем IP адрес интерфейсу Serial0/0/1 и активируем порт

R2(config)#interface S0/0/1
R2(config-if)#clock rate 64000
R2(config-if)#encapsulation ppp
R2(config-if)#ip address 192.168.10.9 255.255.255.252
R2(config-if)#no shutdown
R2(config-if)#exit

Сохраняем конфигурацию

R2(config-if)#copy running-config startup-config
Destination filename [startup-config]?
Building configuration...
[OK]

Настройка роутера R3

Задаем IP адрес интерфейсу FastEthernet0/0 и активируем порт

R3(config)#interface Fa0/0
R3(config-if)#ip address 172.16.1.33 255.255.255.248
R3(config-if)#no shutdown
R3(config-if)#exit

Выставляем режим работы, задаем IP адрес интерфейсу Serial0/0/0 и активируем порт

R3(config)#interface S0/0/0
R3(config-if)#clock rate 64000
R3(config-if)#encapsulation ppp
R3(config-if)#ip address 192.168.10.6 255.255.255.252
R3(config-if)#no shutdown
R3(config-if)#exit

Выставляем режим работы, задаем IP адрес интерфейсу Serial0/0/1 и активируем порт

R3(config)#interface S0/0/1
R3(config-if)#encapsulation ppp
R3(config-if)#ip address 192.168.10.10 255.255.255.252
R3(config-if)#no shutdown
R3(config-if)#exit

Сохраняем конфигурацию

R3(config)#copy running-config startup-config
Destination filename [startup-config]?
Building configuration...
[OK]

Для проверки и просмотра выполненных настроек используем команду show ip interface brief

R1# show ip interface brief

ospf

R2> show ip interface brief

ospf

R3> show ip interface brief

ospf

На сетевых интерфейсах компьютеров выставляем в качестве шлюзов IP-адреса, назначенные интерфейсам FastEthernet0/0 соответствующего роутера.
PC1 в качестве шлюза имеет ip адрес FastEthernet0/0 роутера R1 — 172.16.1.17
PC2 в качестве шлюза имеет ip адрес FastEthernet0/0 роутера R2 — 10.10.10.1
PC3 в качестве шлюза имеет ip адрес FastEthernet0/0 роутера R2 — 172.16.1.33

Переходим к настройке OSPF. Для этого необходимо прописать сети на каждом роутере, исходя из таблицы с исходными данными

Для роутера R1

R1(config)#router ospf 1
R1(config-router)#network 172.16.1.16 0.0.0.15 area 0
R1(config-router)#network 192.168.10.0 0.0.0.3 area 0
R1(config-router)#network 192.168.10.4 0.0.0.3 area 0
R1(config-router)#end

Для роутера R2

R2(config)#router ospf 1
R2(config-router)#network 10.10.10.0 0.0.0.255 area 0
R2(config-router)#network 192.168.10.0 0.0.0.3 area 0
R2(config-router)#network 192.168.10.8 0.0.0.3 area 0
R2(config-router)#end

Для роутера R3

R3(config)#router ospf 1
R3(config-router)#network 172.16.1.32 0.0.0.7 area 0
R3(config-router)#network 192.168.10.4 0.0.0.3 area 0
R3(config-router)#network 192.168.10.8 0.0.0.3 area 0
R3(config-router)#end

Для проверки и просмотра выполненных настроек используем команду show ip protocols

Для роутера R1

R1> show ip protocols
Routing Protocol is ospf 1
  Outgoing update filter list for all interfaces is not set 
  Incoming update filter list for all interfaces is not set 
  Router ID 192.168.10.5
  Number of areas in this router is 1. 1 normal 0 stub 0 nssa
  Maximum path: 4
  Routing for Networks:
    172.16.1.16 0.0.0.15 area 0
    192.168.10.0 0.0.0.3 area 0
    192.168.10.4 0.0.0.3 area 0
  Routing Information Sources:  
    Gateway         Distance      Last Update 
    192.168.10.5         110      00:20:14
    192.168.10.9         110      00:20:17
    192.168.10.10        110      00:20:15
  Distance: (default is 110)

Для роутера R2

R2> show ip protocols
Routing Protocol is ospf 1
  Outgoing update filter list for all interfaces is not set 
  Incoming update filter list for all interfaces is not set 
  Router ID 192.168.10.9
  Number of areas in this router is 1. 1 normal 0 stub 0 nssa
  Maximum path: 4
  Routing for Networks:
    10.10.10.0 0.0.0.255 area 0
    192.168.10.0 0.0.0.3 area 0
    192.168.10.8 0.0.0.3 area 0
  Routing Information Sources:  
    Gateway         Distance      Last Update 
    192.168.10.5         110      00:20:50
    192.168.10.9         110      00:20:52
    192.168.10.10        110      00:20:51
  Distance: (default is 110)

Для роутера R3

R3> show ip protocols
Routing Protocol is ospf 1
  Outgoing update filter list for all interfaces is not set 
  Incoming update filter list for all interfaces is not set 
  Router ID 192.168.10.10
  Number of areas in this router is 1. 1 normal 0 stub 0 nssa
  Maximum path: 4
  Routing for Networks:
    172.16.1.32 0.0.0.7 area 0
    192.168.10.4 0.0.0.3 area 0
    192.168.10.8 0.0.0.3 area 0
  Routing Information Sources:  
    Gateway         Distance      Last Update 
    192.168.10.5         110      00:21:13
    192.168.10.9         110      00:21:15
    192.168.10.10        110      00:21:13
  Distance: (default is 110)

Далее задаем OSPF Router ID. Это порядковый номер, под которым роутер известен в OSPF. Он используется при работе протокола между роутерами для координации. По умолчанию — старший IP-адрес на активном интерфейсе.

R1(config)#router ospf 1
R1(config-router)#router-id 10.4.4.4
R1(config-router)#Reload or use "clear ip ospf process" command, 
for this to take effect

Для применения настроек необходимо набрать команду clear ip ospf process

R1# clear ip ospf process
Reset ALL OSPF processes? [no]: yes

Проверим внесенные изменения командой show ip protocols

R1# show ip protocols

Routing Protocol is "ospf 1"
  Outgoing update filter list for all interfaces is not set 
  Incoming update filter list for all interfaces is not set 
  Router ID 10.4.4.4
  Number of areas in this router is 1. 1 normal 0 stub 0 nssa
  Maximum path: 4
  Routing for Networks:
    172.16.1.16 0.0.0.15 area 0
    192.168.10.0 0.0.0.3 area 0
    192.168.10.4 0.0.0.3 area 0
  Routing Information Sources:  
    Gateway         Distance      Last Update 
    10.4.4.4             110      00:02:16
    192.168.10.5         110      00:08:53
    192.168.10.9         110      00:02:16
    192.168.10.10        110      00:02:11
  Distance: (default is 110)

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

ospf

Таблицу маршрутов можно рассматривать как маленькую базу данных. Формат записей в ней изменяется в зависимости от используемого протокола. Соответственно большинство протоколов маршрутизации не позволяют маршрутизаторам ссылаться на устройства, непосредственно с ними не связанные. При такой организации таблиц отдельный маршрутизатор не несет ответственности за всю сеть. Каждый из них отвечает только за свой небольшой участок (в пределах своих физических соединений). Использование полной таблицы маршрутов для всей сети на каждом маршрутизаторе влечет за собой ряд проблем:
Размер таблицы — чем больше таблица маршрутов, тем больше времени необходимо затратить маршрутизатору на ее обработку.
Конвергенция — целью протокола маршрутизации является наискорейшее достижение конвергенции при изменении данных в таблице. Поэтому если каждый маршрутизатор будет хранить полную таблицу, то изменения, сделанные на одном конце сети, могут не скоро попасть в таблицы маршрутов на другом ее конце. Замедление конвергенции приведет к возникновению петель и разрывов в маршрутах, в результате чего данные могут быть утеряны
Таблицы маршрутов выполняют еще одну важную функцию — это хранение и обновление метрик маршрутов (routing metrics).
На основании метрик делается выбор маршрута. Заданные каждому из маршрутов в таблице метрики используются для расчетов, на основании которых принимается решение, по какому из маршрутов, ведущих к одному и тому же адресу, следует отправить пакет. Например:

  • Условно пронумеруем каналы нашей сети
  • ospf

  • С компьютера PC1 будем пинговать компьютер PC3
  • ospf

  • Если мы уберем 3 канал в нашей сети, то увидим, что компьютер PC3 перестанет отвечать на эхо-запросы n-количество времени, а после возобновления связи (перестроения таблицы маршрутов) пинг возобновиться, но уже с большим временем ответа от узла. Это связано с тем, что теперь пакеты стали проходить по более длинному маршруту (через канал 1 и 2)/li>

    ospf

  • И наоборот отключение 1 канала проблемы с доступностью компьютера PC3 не вызовет, т.к. маршрутизатор выберет кратчайший путь до узла, которым является 3 канал
  • ospf