Протокол IP : Протокол OSPF

Близкая к оптимальной маршрутизация при распределении между процессами OSPF

20 октября 2016 - Машинный перевод
Другие версии: PDF-версия:pdf | Английский (22 августа 2015) | Отзыв


Содержание


Введение

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

Предварительные условия

Требования

Для этого документа отсутствуют особые требования.

Используемые компоненты

Настоящий документ не имеет жесткой привязки к каким-либо конкретным версиям программного обеспечения и оборудования.

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

Условные обозначения

Дополнительные сведения об условных обозначениях см. в документе Технические рекомендации Cisco. Условные обозначения.

Проблема

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

В приведенной ниже топологии имеются процессы OSPF 1 и OSPF 2. Маршрутизатор 1 (R1) и маршрутизатор 2 (R2) выполняют перераспределение из OSPF 1 в OSPF 2.

/image/gif/paws/28025/2ospf-redis-1.jpg

Конфигурации для маршрутизаторов R1 и R2 показывают ниже.

_________________________ М1
hostname r1  
!  
ip subnet-zero  
!  
interface Loopback0  
 ip address 10.255.255.1 255.255.255.255  
!  
interface Loopback1  
 ip address 192.168.255.1 255.255.255.255  
!  
interface Ethernet0/0  
 ip address 10.0.0.1 255.255.255.0  
!  
interface Ethernet1/0  
 ip address 192.168.0.1 255.255.255.0  
!  
router ospf 1  
 router-id 10.255.255.1  
 log-adjacency-changes  
 passive-interface Loopback0  
network 10.0.0.0 0.0.0.255 area 0
 network 10.255.255.1 0.0.0.0 area 0 
!  
router ospf 2  
 router-id 192.168.255.1  
 log-adjacency-changes  
 redistribute ospf 1 subnets match internal
 
!--- Redistributing OSPF 1 into OSPF 2.
 
 passive-interface Loopback1  
 network 192.168.0.0 0.0.0.255 area 0  
 network 192.168.255.1 0.0.0.0 area 0  
!  
ip classless  
!  
end

R2
hostname r2  
!  
ip subnet-zero  
!  
 
interface Loopback0  
 ip address 10.255.255.2 255.255.255.255  
!  
interface Loopback1  
 ip address 192.168.255.2 255.255.255.255  
!  
interface Ethernet0/0  
 ip address 10.0.0.2 255.255.255.0  
!  
interface Ethernet1/0  
 ip address 192.168.0.2 255.255.255.0  
!  
router ospf 1  
 router-id 10.255.255.2  
 log-adjacency-changes  
 passive-interface Loopback0  
network 10.0.0.0 0.0.0.255 area 0 
 network 10.255.255.2 0.0.0.0 area 0  
!  
router ospf 2  
 router-id 192.168.255.2  
 log-adjacency-changes  
 redistribute ospf 1 subnets match internal

!--- Redistributing OSPF 1 into OSPF 2. 

 passive-interface Loopback1  
 network 192.168.0.0 0.0.0.255 area 0  
 network 192.168.255.2 0.0.0.0 area 0  
!  
ip classless  
 
end

В вышеупомянутой топологии E1/0 R4 находится в области 1, и E0/0 находится в области 0. Поэтому R4 является пограничным маршрутизатором области, объявляющим сеть 10.0.1.0/24 в качестве межобластного маршрута для R1 и R2. R1 и R2 перераспределяют эту информацию в OSPF 2. Перераспределять команды настройки выделены в вышеупомянутых конфигурациях R1 и R2. Поэтому и R1 и R2 переходят, учатся о 10.0.1.0/24 как IA через OSPF 1 и как внешний тип 2 (E2) через OSPF 2, потому что внешние объявления о состоянии канала (LSA) распространяются всюду по домену OSPF 2.

Так как маршруты IA всегда предпочитаются по маршрутам E1 или E2, ожидание состоит в том, чтобы видеть в таблице маршрутизации R1 и R2, что 10.0.1.0/24 является маршрутом IA со следующим переходом R4. Однако при просмотре их таблиц маршрутизации, что-то другое замечено - на R1, 10.0.1.0/24 является маршрутом IA со следующим переходом, R4, но на R2, 10.0.1.0/24 является маршрутом E2 со следующим переходом R1.

Это - выходные данные команды команды show ip route для R1.

r1#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, ia - IS-IS inter area 
       * - candidate default, U - per-user static route, o - ODR 
       P - periodic downloaded static route 
 

!--- The gateway of the last resort is not set.
 
 
     10.0.0.0/8 is variably subnetted, 5 subnets, 2 masks 
O E2    10.255.255.2/32 [110/1] via 192.168.0.2, 00:24:21, Ethernet1/0 
C       10.0.0.0/24 is directly connected, Ethernet0/0 
O IA    10.0.1.0/24 [110/20] via 10.0.0.4, 00:23:49, Ethernet0/0 
C       10.255.255.1/32 is directly connected, Loopback0 
O IA    10.255.255.4/32 [110/11] via 10.0.0.4, 00:23:49, Ethernet0/0 
     192.168.255.0/32 is subnetted, 3 subnets 
O       192.168.255.3 [110/11] via 192.168.0.3, 00:26:09, Ethernet1/0 
O       192.168.255.2 [110/11] via 192.168.0.2, 00:26:09, Ethernet1/0 
C       192.168.255.1 is directly connected, Loopback1 
C    192.168.0.0/24 is directly connected, Ethernet1/0 
O    192.168.1.0/24 [110/20] via 192.168.0.3, 00:26:09, Ethernet1/0 

Это - выходные данные команды команды show ip route для R2.

r2#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, ia - IS-IS inter area 
       * - candidate default, U - per-user static route, o - ODR 
       P - periodic downloaded static route 
 

!--- The gateway of last resort is not set. 

 
     10.0.0.0/8 is variably subnetted, 5 subnets, 2 masks 
C       10.255.255.2/32 is directly connected, Loopback0 
C       10.0.0.0/24 is directly connected, Ethernet0/0 
O E2    10.0.1.0/24 [110/20] via 192.168.0.1, 00:25:34, Ethernet1/0 
O E2    10.255.255.1/32 [110/1] via 192.168.0.1, 00:25:34, Ethernet1/0 
O E2    10.255.255.4/32 [110/11] via 192.168.0.1, 00:25:34, Ethernet1/0 
     192.168.255.0/32 is subnetted, 3 subnets 
O       192.168.255.3 [110/11] via 192.168.0.3, 00:26:45, Ethernet1/0 
C       192.168.255.2 is directly connected, Loopback1 
O       192.168.255.1 [110/11] via 192.168.0.1, 00:26:45, Ethernet1/0 
C    192.168.0.0/24 is directly connected, Ethernet1/0 
O    192.168.1.0/24 [110/20] via 192.168.0.3, 00:26:45, Ethernet1/0 

Почему возникает эта проблема?

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

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

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

Решения

Решение 1

Так как мы знаем, что в вышеупомянутом случае, маршрутизаторы выбирают лучший маршрут на основе административного расстояния, логичный способ для предотвращения этого поведения должен увеличить административное расстояние внешних маршрутов в OSPF 2. Таким образом, маршруты, изученные через OSPF 1, будут всегда предпочитаться по внешним маршрутам, перераспределенным от OSPF 1 в OSPF 2. Это сделано с помощью команды distance ospf подконфигурации маршрутизатора внешний <value> как показано в конфигурациях ниже.

_________________________ М1
hostname r1  
!  
ip subnet-zero  
!  
interface Loopback0  
 ip address 10.255.255.1 255.255.255.255  
!  
interface Loopback1  
 ip address 192.168.255.1 255.255.255.255  
!  
interface Ethernet0/0  
 ip address 10.0.0.1 255.255.255.0  
!  
interface Ethernet1/0  
 ip address 192.168.0.1 255.255.255.0  
!  
router ospf 1  
 router-id 10.255.255.1  
 log-adjacency-changes  
 passive-interface Loopback0  
 network 10.0.0.0 0.0.0.255 area 0  
 network 10.255.255.1 0.0.0.0 area 0  
!  
router ospf 2  
 router-id 192.168.255.1  
 log-adjacency-changes  
 redistribute ospf 1 subnets match internal  
 passive-interface Loopback1  
 network 192.168.0.0 0.0.0.255 area 0  
 network 192.168.255.1 0.0.0.0 area 0  
 distance ospf external 115  

!--- Increases the administrative distance of external 
!--- routes to 115. 

!  
ip classless  
!  
end 

R2
hostname r2  
!  
ip subnet-zero  
!  
interface Loopback0  
 ip address 10.255.255.2 255.255.255.255  
!  
interface Loopback1  
 ip address 192.168.255.2 255.255.255.255  
!  
interface Ethernet0/0  
 ip address 10.0.0.2 255.255.255.0  
!  
interface Ethernet1/0  
 ip address 192.168.0.2 255.255.255.0  
!  
router ospf 1  
 router-id 10.255.255.2  
 log-adjacency-changes  
 passive-interface Loopback0  
 network 10.0.0.0 0.0.0.255 area 0  
 network 10.255.255.2 0.0.0.0 area 0  
!  
router ospf 2  
 router-id 192.168.255.2  
 log-adjacency-changes  
 redistribute ospf 1 subnets match internal  
 passive-interface Loopback1  
 network 192.168.0.0 0.0.0.255 area 0  
 network 192.168.255.2 0.0.0.0 area 0  
 distance ospf external 115  

!--- Increases the administrative distance of 
!--- external routes to 115. 

!  
ip classless  
!  
end 

Получающуюся таблицу маршрутизации при изменении adminstrative расстояния внешних маршрутов в OSPF 2 показывают ниже.

Это - выходные данные команды команды show ip route для R1.

r1#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, ia - IS-IS inter area 
       * - candidate default, U - per-user static route, o - ODR 
       P - periodic downloaded static route 
 

!--- The gateway of the last resort is not set.

 
     10.0.0.0/8 is variably subnetted, 5 subnets, 2 masks 
O       10.255.255.2/32 [110/11] via 10.0.0.2, 00:00:35, Ethernet0/0 
C       10.0.0.0/24 is directly connected, Ethernet0/0 
O IA    10.0.1.0/24 [110/20] via 10.0.0.4, 00:00:35, Ethernet0/0 
C       10.255.255.1/32 is directly connected, Loopback0 
O       10.255.255.4/32 [110/11] via 10.0.0.4, 00:00:35, Ethernet0/0 
     192.168.255.0/32 is subnetted, 3 subnets 
O       192.168.255.3 [110/11] via 192.168.0.3, 00:00:35, Ethernet1/0 
O       192.168.255.2 [110/11] via 192.168.0.2, 00:00:35, Ethernet1/0 
C       192.168.255.1 is directly connected, Loopback1 
C    192.168.0.0/24 is directly connected, Ethernet1/0 
O    192.168.1.0/24 [110/20] via 192.168.0.3, 00:00:35, Ethernet1/0 

Это - выходные данные команды команды show ip route для R2.

r2#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, ia - IS-IS inter area 
       * - candidate default, U - per-user static route, o - ODR 
       P - periodic downloaded static route 
 

!--- The gateway of the last resort is not set. 

 
     10.0.0.0/8 is variably subnetted, 5 subnets, 2 masks 
C       10.255.255.2/32 is directly connected, Loopback0 
C       10.0.0.0/24 is directly connected, Ethernet0/0 
O       10.255.255.1/32 [110/11] via 10.0.0.1, 00:01:28, Ethernet0/0 
O IA    10.0.1.0/24 [110/20] via 10.0.0.4, 00:01:28, Ethernet0/0 
O       10.255.255.4/32 [110/11] via 10.0.0.4, 00:01:28, Ethernet0/0 
     192.168.255.0/32 is subnetted, 3 subnets 
O       192.168.255.3 [110/11] via 192.168.0.3, 00:01:28, Ethernet1/0 
C       192.168.255.2 is directly connected, Loopback1 
O       192.168.255.1 [110/11] via 192.168.0.1, 00:01:28, Ethernet1/0 
C    192.168.0.0/24 is directly connected, Ethernet1/0 
O    192.168.1.0/24 [110/20] via 192.168.0.3, 00:01:28, Ethernet1/0 

Следует отметить, что в некоторых случаях, когда существует также перераспределение от OSPF 2 в OSPF 1 и существуют другие протоколы маршрутизации, перераспределяемые в OSPF 2 (Протокол RIP (Routing Information Protocol) [RIP], статический Протокол EIGRP, и т.д), это может привести к почти оптимальной маршрутизации в OSPF 2 для тех внешних маршрутов.

Решение 2

Если окончательная причина внедрить два других процесса OSPF состоит в том, чтобы фильтровать определенные маршруты, существует новая характеристика в Cisco Выпуск ПО IOS� 12.2 (4) T под названием OSPF ABR type 3 LSA filtering, который позволяет вам делать фильтрацию маршрута в ABR.

Вместо того, чтобы настроить второй процесс OSPF, ссылки, которые являются частью OSPF 2 в приведенном выше примере, могли быть настроены как другая область в OSPF 1. Затем можно внедрить требуемую фильтрацию маршрута в R1 и R2 с этой новой характеристикой. Дополнительные сведения об этой возможности см. в документе "Фильтрация объявлений LSA типа 3 от ABR с протоколом OSPF".


Дополнительные сведения


Document ID: 28025