OSPF (open shortest path first) - протокол маршрутизации, использующийся в рамках AS для получения маршрутов к удаленной сети. Основан он на технологии отслеживания канала (link-state technology). Для выбора наиболее эффективного маршрута используется алгоритм Дейкстры.
Преимущества протокола:
- Широкая сфера применения: OSPF применим к крупномасштабной сети.
- Быстрая конвергенция: при изменении топологии сети быстрое обновление маршрутов между устройствами.
- Наличие area: возможность разделить домен маршрутизации на несколько небольших областей для экономии сетевых и системных ресурсов.
- Многоадресная передача: пакеты отправляются с использованием мультикаст адресов.
- Аутентификация: что позволяет обеспечить безопасное взаимодействие.
- Классификация маршрутов. Маршруты подразделяются на несколько типов для обеспечения гибкого управления.
Основные понятия OSPF:
Router ID: Идентификатор маршрутизатора, который используется для определения в сети OSPF
Hello Interval: Частота отправки сообщений Hello, которые используются для обнаружения соседних маршрутизаторов
Router Dead Interval: Время ожидания, после которого маршрутизатор считается недоступным, если не получает Hello-сообщения от него
Wildcard-маска: Используется для настройки сетей и зон в OSPF
Area ID: Идентификатор области, к которой принадлежит маршрутизатор
Network: Настройка сетей, которые участвуют в OSPF
Log-adjacency-changes: Опция для логирования изменений в соседствах маршрутизаторов
Redistribute static: Команда для перераспределения статических маршрутов в OSPF
Loopback интерфейсы: OSPF может использовать адреса loopback интерфейсов для определения Router ID
Area Border Router (ABR): Настройка маршрутизатора, который обеспечивает связь между различными областями в OSPFЭти параметры позволяют настраивать и оптимизировать работу OSPF в сети, обеспечивая эффективное функционирование протокола маршрутизации.
Рассмотрим пример настройки
Для начала необходимо создать vlan интерфейс, назначить ему ip адрес.Добиться L3 связности. После этого включить OSPF процесс.
Switch A
vlan 3100
Interface Ethernet1/0/1
switchport mode trunk
interface Vlan3100
ip address 10.45.30.1 255.255.255.0
router ospf 1
ospf router-id 10.45.30.1
network 10.45.30.0 0.0.0.255 area 10
Switch B
Interface Ethernet1/0/1
switchport mode trunk
interface Vlan3100
ip address 10.45.30.2 255.255.255.0
router ospf 1
ospf router-id 10.45.30.2
network 10.45.30.0 0.0.0.255 area 10
Базовая настройка выполнена, соседство поднято.
SwitchA#show ip ospf neighbor
OSPF process 1:
Neighbor ID Pri State Dead Time Address Interface
10.45.30.2 1 Full/DR 00:00:35 10.45.30.2 Vlan3100
SwitchB#show ip ospf neighbor
OSPF process 1:
Neighbor ID Pri State Dead Time Address Interface
10.45.30.1 1 Full/Backup 00:00:38 10.45.30.1 Vlan3100
Анонсируем маршрут. Создадим loopback интерфейс
interface Loopback5
ip address 15.15.15.15 255.255.255.255
router ospf 1
redistribute connected
SwitchA# show ip route
Codes: K - kernel, C - connected, S - static, R - RIP, B - BGP
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
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
* - candidate default
C 15.15.15.15/32 is directly connected, Loopback5 tag:0
На соседе так же видим
SwitchB#show ip route
Codes: K - kernel, C - connected, S - static, R - RIP, B - BGP
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
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
* - candidate default
O E2 15.15.15.15/32 [110/20] via 10.45.30.1, Vlan3100, 00:20:16 tag:0
В данном примере мы использовали тип broadcast, который является типом по умолчанию. Рассмотрим другие типы сетей и произведем настройку
Режим Non-broadcast
В NBMA сетях OSPF не предполагает возможности широковещания. Вместо этого требуется явная конфигурация соседских отношений, поскольку нет встроенного механизма для обнаружения друг друга.
Добавляем к базовой конфигурации следующие настройки:
Switch A
interface Vlan3100
ip ospf network non-broadcast
И в ручную прописываем соседа
router ospf 1
neighbor 10.45.30.2
Switch B
interface Vlan3100
ip ospf network non-broadcast
router ospf 1
neighbor 10.45.30.1
SwitchB#show ip ospf interface
Loopback is up, line protocol is up
OSPF not enabled on this interface
Vlan1 is up, line protocol is up
OSPF not enabled on this interface
Vlan3100 is up, line protocol is up
Internet Address 10.45.30.2/24, Area 0.0.0.10, MTU 1500
Process ID 1, Router ID 10.45.30.2, Network Type NBMA, Cost: 1
Transmit Delay is 1 sec, State DR, Priority 1
Designated Router (ID) 10.45.30.2, Interface Address 10.45.30.2
Backup Designated Router (ID) 10.45.30.1, Interface Address 10.45.30.1
Timer intervals configured, Hello 30, Dead 120, Wait 120, Retransmit 5
Hello due in 00:00:27
Neighbor Count is 2, Adjacent neighbor count is 1
Crypt Sequence Number is 0
Hello received 1215 sent 1225, DD received 11 sent 6
LS-Req received 2 sent 2, LS-Upd received 34 sent 20
LS-Ack received 18 sent 30, Discarded 6428
Режим Point-to-multipoint
Сети P2MP помогают эффективно соединять коммутатор с несколькими удаленными без необходимости отдельной подсети для каждого соединения. Этот тип сети упрощает маршрутизацию, позволяя устанавливать несколько соединений через одну IP-сеть.
Для настройки данного типа используйте команду:
Switch A
interface Vlan3100
ip ospf network point-to-multipoint
Switch B
interface Vlan3100
ip ospf network point-to-multipoint
SwitchA#show ip ospf interface
Loopback is up, line protocol is up
OSPF not enabled on this interface
Vlan1 is up, line protocol is up
OSPF not enabled on this interface
Vlan3100 is up, line protocol is up
Internet Address 10.45.30.1/24, Area 0.0.0.10, MTU 1500
Process ID 1, Router ID 10.45.30.1, Network Type POINTOMULTIPOINT, Cost: 1
Transmit Delay is 1 sec, State Point-To-Point
Timer intervals configured, Hello 30, Dead 120, Wait 120, Retransmit 5
Hello due in 00:00:22
Neighbor Count is 1, Adjacent neighbor count is 1
Crypt Sequence Number is 0
Hello received 1417 sent 7851, DD received 9 sent 15
LS-Req received 3 sent 3, LS-Upd received 26 sent 46
LS-Ack received 40 sent 23, Discarded 1
Режим Point-to-point
Сети точка-точка прямолинейны и устанавливают одно смежное соединение между двумя коммутаторами. Этот тип сети используется при наличии прямого выделенного соединения между устройствами, обеспечивая эффективную связь без необходимости в сложных согласованиях.
К базовой настройке добавьте:
Switch A
interface Vlan3100
ip ospf network point-to-point
Switch B
interface Vlan3100
ip ospf network point-to-point
SwitchA#show ip ospf interface
Loopback is up, line protocol is up
OSPF not enabled on this interface
Vlan1 is up, line protocol is up
OSPF not enabled on this interface
Vlan3100 is up, line protocol is up
Internet Address 10.45.30.1/24, Area 0.0.0.10, MTU 1500
Process ID 1, Router ID 10.45.30.1, Network Type POINTOPOINT, Cost: 1
Transmit Delay is 1 sec, State Point-To-Point
Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5
Hello due in 00:00:00
Neighbor Count is 1, Adjacent neighbor count is 1
Crypt Sequence Number is 0
Hello received 1446 sent 7881, DD received 18 sent 29
LS-Req received 5 sent 5, LS-Upd received 34 sent 54