Протокол OSPF (Open Shortest Path First) — это масштабируемый протокол динамической маршрутизации основанный на технологии отслеживания состояния канала.
Протокол OSPF поддерживает следующие типы сетей:
- Широковещательные сети множественного доступа (broadcast multiaccess)
- Нешироковещательные сети множественного доступа (nonbroadcast multiaccess — NBMA)
- Point — to — Point. «Точка-точка»
- Point — to — multipoint. «точка-многоточек»
Топология сети
Исходные данные для решения поставленной задачи
Настройка роутера 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
R2> show ip interface brief
R3> show ip interface brief
На сетевых интерфейсах компьютеров выставляем в качестве шлюзов 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)
Если маршрутизация настроена правильно, то компьютеры в нашей сети будут пинговаться.
Таблицу маршрутов можно рассматривать как маленькую базу данных. Формат записей в ней изменяется в зависимости от используемого протокола. Соответственно большинство протоколов маршрутизации не позволяют маршрутизаторам ссылаться на устройства, непосредственно с ними не связанные. При такой организации таблиц отдельный маршрутизатор не несет ответственности за всю сеть. Каждый из них отвечает только за свой небольшой участок (в пределах своих физических соединений). Использование полной таблицы маршрутов для всей сети на каждом маршрутизаторе влечет за собой ряд проблем:
Размер таблицы — чем больше таблица маршрутов, тем больше времени необходимо затратить маршрутизатору на ее обработку.
Конвергенция — целью протокола маршрутизации является наискорейшее достижение конвергенции при изменении данных в таблице. Поэтому если каждый маршрутизатор будет хранить полную таблицу, то изменения, сделанные на одном конце сети, могут не скоро попасть в таблицы маршрутов на другом ее конце. Замедление конвергенции приведет к возникновению петель и разрывов в маршрутах, в результате чего данные могут быть утеряны
Таблицы маршрутов выполняют еще одну важную функцию — это хранение и обновление метрик маршрутов (routing metrics).
На основании метрик делается выбор маршрута. Заданные каждому из маршрутов в таблице метрики используются для расчетов, на основании которых принимается решение, по какому из маршрутов, ведущих к одному и тому же адресу, следует отправить пакет. Например: