Основы компьютерных сетей #8 — Динамическая маршрутизация — протокол OSPF

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

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

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

Схема следующая

PC1 — 192.168.10.2/24 192.168.10.1

PC2 — 192.168.20.2/24 192.168.20.1

R1

conf t
int e0/0
no shutdown
ip address 192.168.10.1 255.255.255.0
exit
int e1/0
no shutdown
ip address 1.1.1.1 255.255.255.252
exit

R2

conf t
int e0/0
no shutdown
ip address 192.168.20.1 255.255.255.0
exit
int e1/0
no shutdown
ip address 1.1.1.2 255.255.255.252
exit

Настроим OSPF

Здесь мы используем понятие Wildcard mask, которая используется с протоколами маршрутизации и списками доступа (ACL или access lists). Команда ниже (network 192.168.10.0 0.0.0.255) означает, что мы настраиваем не для одного ip адреса, а для всех хостов сети.

R1

conf t
router ospf 1
network 192.168.10.0 0.0.0.255 area 0
network 1.1.1.0 0.0.0.3 area 0
exit

R2

conf t
router ospf 1
network 192.168.20.0 0.0.0.255 area 0
network 1.1.1.0 0.0.0.3 area 0
exit

Проверим на роутерах

show ip route
show ip ospf neighbor

Видим что появился маршрут с буквой O (OSPF) и соседа. Делаем пинг с ПК1 на ПК2 и видим, что все работает.

Теперь модернизируем схему. Добавим еще один роутер и ПК.

Сделаем на роутерах R1 и R2

erase startup-config
reload

PC1 — 192.168.10.2/24 192.168.10.1

PC2 — 192.168.20.2/24 192.168.20.1

PC3 — 192.168.30.2/24 192.168.30.1

R1

conf t
int e0/0
no shutdown
ip address 192.168.10.1 255.255.255.0
exit
int e1/0
no shutdown
ip address 1.1.1.1 255.255.255.252
exit
int e2/0
no shutdown
ip address 1.1.2.1 255.255.255.252
exit

R2

conf t
int e0/0
no shutdown
ip address 192.168.20.1 255.255.255.0
exit
int e1/0
no shutdown
ip address 1.1.1.2 255.255.255.252
exit
int e3/0
no shutdown
ip address 1.1.3.1 255.255.255.252
exit

R3

conf t
int e0/0
no shutdown
ip address 192.168.30.1 255.255.255.0
exit
int e2/0
no shutdown
ip address 1.1.2.2 255.255.255.252
exit
int e3/0
no shutdown
ip address 1.1.3.2 255.255.255.252
exit

Настроим OSPF.

Для начала настроим loopback интерфейс для идентификации роутера в сети. 

R1

int loopback 0
ip address 192.168.200.1 255.255.255.255
exit
router ospf 1
network 192.168.10.0 0.0.0.255 area 0
network 1.1.1.0 0.0.0.3 area 0
network 1.1.2.0 0.0.0.3 area 0
exit
exit
wr mem

R2

int loopback 0
ip address 192.168.200.2 255.255.255.255
exit
router ospf 1
network 192.168.20.0 0.0.0.255 area 0
network 1.1.1.0 0.0.0.3 area 0
network 1.1.3.0 0.0.0.3 area 0
exit
exit
wr mem

R3

int loopback 0
ip address 192.168.200.3 255.255.255.255
exit
router ospf 1
network 192.168.30.0 0.0.0.255 area 0
network 1.1.2.0 0.0.0.3 area 0
network 1.1.3.0 0.0.0.3 area 0
exit
exit
wr mem

Проверим через уже знакомые команды

show ip route
show ip ospf neighbor

Маршруты появились, соседи видны. Как видите в графе Neighbor ID видны адреса наших loopback интерфейсов.

Имитируем отключение одного из маршрутов, например разорвем линк между R1 и R3 и сделаем пинг с ПК1 до ПК3. Пинги пойдут не сразу, но как только маршрут перестроится, мы увидим, что связь восстановилась.

Теперь вернем схему к первоначальному виду, сбросим маршрутизаторы и научимся настраивать Router ID.

PC1 — 192.168.10.2/24 192.168.10.1

PC2 — 192.168.20.2/24 192.168.20.1

R1

e0/0 192.168.10.1/24

e1/0 1.1.1.1/30

R2

e0/0 192.168.20.1

e1/0 1.1.1.2/30

Настройте PC и маршрутизаторы самостоятельно по инструкции выше, практики никогда не бывает много. Далее настройте OSPF и проверьте что все работает.

Как видите сейчас в графе Neighbor ID стоит 192.168.10.1 и 192.168.20.1 соответственно (в предыдущей схеме здесь были ip адреса loopback интерфейсов). 

Настроим Router ID

R1

router ospf 1
router-id 10.10.10.10

В консоли появится сообщение о необходимости перезагрузиться или выполнить команду clear ip ospf process. Пока игнорируем это и настроим R2

R2

router ospf 1
router-id 20.20.20.20

Если сейчас выполнить show ip ospf neighbor то увидим, что Neighbor ID остался прежним. Чтобы применились наши новые Router ID, как уже было сказано выше перезагрузимся или выполним команду

clear ip ospf process

При выполнении команды необходимо ввести y (yes). Выполним на R1 и R2.

Далее проверяем снова через show ip ospf neighbor и видим, что Neighbor ID изменился на тот, что задавали мы.