Contenido

Introducción

Cisco IOS-XE SD-WAN instala la ruta externa OSPF con DN-Bit

Introducción

Este documento describe el comportamiento esperado del software Cisco IOS®-XE SD-WAN cuando se instalan rutas externas Open Shortest Path First (OSPF) en la tabla de routing.

Cisco IOS-XE SD-WAN instala la ruta externa OSPF con DN-Bit

El router que ejecuta el software SD-WAN de Cisco IOS-XE instala rutas externas OSPF (E1 o E2) en la tabla de routing. Para el propósito de la demostración, considere este simple diagrama de topología:

Aquí hay un par de routers R1 y R2 que ejecutan el software SD-WAN de Cisco IOS-XE que establecen el peering OSPF sobre vpn del lado de servicio (vrf 2 en este ejemplo). Los routers tienen system-ip 10.10.10.204 y 10.10.10.205 en consecuencia. System-ip es igual a OSPF router-id. Otro router anuncia el prefijo 192.168.1.0/24 a través del protocolo de administración superpuesta (OMP) a este sitio.

Ambos routers se configuran de manera similar. Aquí se proporciona la configuración relevante (el punto principal es que se realiza la redistribución mutua entre OSPF y OMP):

route-map omp2ospf permit 10

set metric 1000

set metric-type type-1

!

router ospf 2 vrf 2

compatible rfc1583

distance ospf external 110

distance ospf inter-area 110

distance ospf intra-area 110

redistribute omp route-map omp2ospf

!

omp

no shutdown

send-path-limit  4

ecmp-limit       4

graceful-restart

no as-dot-notation

timers

holdtime               60

advertisement-interval 1

graceful-restart-timer 43200

eor-timer              300

exit

address-family ipv4 vrf 2

advertise ospf external

advertise connected

advertise static

!

address-family ipv4

advertise connected

advertise static

!

address-family ipv6

advertise connected

advertise static

!

Cuando se realiza la entrada de la tabla de ruteo de condición normal, 192.168.1.0/24 se instala en una base de información de ruteo (RIB) desde OMP y se redistribuye en OSPF. Esta entrada es similar a:

R1#sh ip route vrf 2 192.168.1.0 255.255.255.0

Routing Table: 2

Routing entry for 192.168.1.0/24

Known via "omp", distance 251, metric 0, type omp

Redistributing via ospf 2

Advertised by ospf 2 subnets route-map omp2ospf

Last update from 10.10.10.201 00:03:00 ago

Routing Descriptor Blocks:

* 10.10.10.201 (default), from 10.10.10.201, 00:03:00 ago

Route metric is 0, traffic share count is 1

R1#show ip ospf database external 192.168.1.0

OSPF Router with ID (172.16.1.204) (Process ID 2)

Type-5 AS External Link States

LS age: 354

Options: (No TOS-capability, DC, Downward)

LS Type: AS External Link

Link State ID: 192.168.1.0 (External Network Number )

Advertising Router: 172.16.1.204

LS Seq Number: 80000001

Checksum: 0x25AE

Length: 36

Network Mask: /24

Metric Type: 1 (Comparable directly to link state metric)

MTID: 0

Metric: 1000

Forward Address: 0.0.0.0

External Route Tag: 0

LS age: 355

Options: (No TOS-capability, DC, Downward)

LS Type: AS External Link

Link State ID: 192.168.1.0 (External Network Number )

Advertising Router: 172.16.1.205

LS Seq Number: 80000001

Checksum: 0x1FB3

Length: 36

Network Mask: /24

Metric Type: 1 (Comparable directly to link state metric)

MTID: 0

Metric: 1000

Forward Address: 0.0.0.0

External Route Tag: 0

R2#sh ip route vrf 2 192.168.1.0 255.255.255.0

Routing Table: 2

Routing entry for 192.168.1.0/24

Known via "omp", distance 251, metric 0, type omp

Redistributing via ospf 2

Advertised by ospf 2 subnets route-map omp2ospf

Last update from 10.10.10.201 00:04:13 ago

Routing Descriptor Blocks:

* 10.10.10.201 (default), from 10.10.10.201, 00:04:13 ago

Route metric is 0, traffic share count is 1

R2#show ip ospf database external 192.168.1.0

OSPF Router with ID (172.16.1.205) (Process ID 2)

Type-5 AS External Link States

LS age: 317

Options: (No TOS-capability, DC, Downward)

LS Type: AS External Link

Link State ID: 192.168.1.0 (External Network Number )

Advertising Router: 172.16.1.204

LS Seq Number: 80000001

Checksum: 0x25AE

Length: 36

Network Mask: /24

Metric Type: 1 (Comparable directly to link state metric)

MTID: 0

Metric: 1000

Forward Address: 0.0.0.0

External Route Tag: 0

LS age: 316

Options: (No TOS-capability, DC, Downward)

LS Type: AS External Link

Link State ID: 192.168.1.0 (External Network Number )

Advertising Router: 172.16.1.205

LS Seq Number: 80000001

Checksum: 0x1FB3

Length: 36

Network Mask: /24

Metric Type: 1 (Comparable directly to link state metric)

MTID: 0

Metric: 1000

Forward Address: 0.0.0.0

External Route Tag: 0

Como puede ver, ambos routers instalaron la ruta en el RIB y luego la redistribuyeron en el OSPF. Ambos routers configuran el bit DN en el tipo 5 de LSA externo y eso debería evitar que estas rutas se instalen en el RIB como rutas OSPF y, por lo tanto, se redistribuyan nuevamente al OMP, lo que básicamente evita el loop. Este es el mismo mecanismo descrito en RFC 4576 y RFC 4577.

Todos los routers tienen establecido peering OMP con controladores vSmart:

R1#show sdwan omp peers

R -> routes received

I -> routes installed

S -> routes sent

DOMAIN    OVERLAY   SITE

PEER             TYPE    ID        ID        ID        STATE    UPTIME           R/I/S

------------------------------------------------------------------------------------------

10.10.10.229     vsmart  1         1         1         up       1:19:35:34       30/12/5

10.10.10.230     vsmart  1         1         3         up       1:19:35:33       26/1/5

R2#show sdwan omp peers

R -> routes received

I -> routes installed

S -> routes sent

DOMAIN    OVERLAY   SITE

PEER             TYPE    ID        ID        ID        STATE    UPTIME           R/I/S

------------------------------------------------------------------------------------------

10.10.10.229     vsmart  1         1         1         up       0:01:38:48       30/10/6

10.10.10.230     vsmart  1         1         3         up       1:19:35:36       25/1/6

Ahora, R1 pierde conectividad con ambos peers OMP:

Oct 11 12:53:57.777: %Cisco-SDWAN-Router-OMPD-3-ERRO-400002: R0/0: OMPD: vSmart peer 10.10.10.229 state changed to Init

Oct 11 12:53:57.777: %Cisco-SDWAN-Router-OMPD-6-INFO-400005: R0/0: OMPD: Number of vSmarts connected : 1

Oct 11 12:53:58.777: %Cisco-SDWAN-Router-OMPD-3-ERRO-400002: R0/0: OMPD: vSmart peer 10.10.10.230 state changed to Init

Oct 11 12:53:58.777: %Cisco-SDWAN-Router-OMPD-6-INFO-400005: R0/0: OMPD: Number of vSmarts connected : 0

R1#show sdwan omp peers

R -> routes received

I -> routes installed

S -> routes sent

DOMAIN    OVERLAY   SITE

PEER             TYPE    ID        ID        ID        STATE    UPTIME           R/I/S

------------------------------------------------------------------------------------------

10.10.10.229     vsmart  1         1         1         init-in-gr                 30/12/0

10.10.10.230     vsmart  1         1         3         init-in-gr                 26/1/0

R1 marcará la ruta OMP como obsoleta (consulte el estado S de la ruta OMP), pero continuará manteniendo la ruta en el RIB instalado por el protocolo OMP hasta que el temporizador de graceful restart haya caducado:

R1#show sdwan omp routes 192.168.1.0/24 | exclude not set

---------------------------------------------------

omp route entries for vpn 2 route 192.168.1.0/24

---------------------------------------------------

RECEIVED FROM:

peer            10.10.10.229

path-id         1076

label           1002

status          C,I,R,S

Attributes:

originator       10.10.10.201

type             installed

tloc             10.10.10.201, biz-internet, ipsec

overlay-id        1

site-id          201207

origin-proto     connected

origin-metric    0

RECEIVED FROM:

peer            10.10.10.230

path-id         775

label           1002

status          C,R,S

Attributes:

originator       10.10.10.201

type             installed

tloc             10.10.10.201, biz-internet, ipsec

overlay-id        1

site-id          201207

origin-proto     connected

origin-metric    0

R1#sh ip route vrf 2 192.168.1.0 255.255.255.0

Routing Table: 2

Routing entry for 192.168.1.0/24

Known via "omp", distance 251, metric 0, type omp

Redistributing via ospf 2

Advertised by ospf 2 subnets route-map omp2ospf

Last update from 10.10.10.201 00:23:35 ago

Routing Descriptor Blocks:

* 10.10.10.201 (default), from 10.10.10.201, 00:23:35 ago

Route metric is 0, traffic share count is 1

El temporizador de graceful-restart-timer predeterminado es 43.200 segundos (12 horas). Una vez caducada, la ruta a 192.168.1.0/24 seguirá estando allí.

R1#sh ip route vrf 2 192.168.1.0 255.255.255.0

Routing Table: 2

Routing entry for 192.168.1.0/24

Known via "ospf 2", distance 252, metric 1100, type extern 1

Redistributing via omp

Last update from 10.28.7.205 on Vlan2807, 00:04:11 ago

Routing Descriptor Blocks:

* 10.28.7.205, from 172.16.1.205, 00:04:11 ago, via Vlan2807

SDWAN Down

Route metric is 1100, traffic share count is 1

R1#show ip ospf database external 192.168.1.0

OSPF Router with ID (172.16.1.204) (Process ID 2)

Type-5 AS External Link States

LS age: 339

Options: (No TOS-capability, DC, Downward)

LS Type: AS External Link

Link State ID: 192.168.1.0 (External Network Number )

Advertising Router: 172.16.1.205

LS Seq Number: 80000004

Checksum: 0x19B6

Length: 36

Network Mask: /24

Metric Type: 1 (Comparable directly to link state metric)

MTID: 0

Metric: 1000

Forward Address: 0.0.0.0

External Route Tag: 0

Se instala como ruta OSPF Externa Tipo 1 ahora a pesar del hecho de que el LSA OSPF que corresponde tiene un conjunto de bits DN.

Además, tenga en cuenta que la distancia administrativa (AD) es siempre 1 unidad más que la AD de OMP (251 es el valor predeterminado para OMP, por lo tanto 252 en este caso).

Es importante explicar por qué el router instala esta ruta con AD mayor que el AD de la ruta OMP. Esto se debe al hecho de que intenta evitar escenarios de loop cuando se restablece nuevamente el peering OMP y se restaura el alcance al fabric.

El proceso de instalación de ruta con AD=252 también se ve claramente si los comandos debug ip routing y debug ip ospf rib redistribution están habilitados:

Oct 11 14:13:28.302: RT(2): del 192.168.1.0 via 10.10.10.201, omp metric [251/0]

Oct 11 14:13:28.303: RT(2): delete network route to 192.168.1.0/24

Oct 11 14:13:28.307: OSPF-2 REDIS: Notification to redistribute 192.168.1.0/24

Oct 11 14:13:28.307: RT(2): updating ospf 192.168.1.0/24 (0x2) [local lbl/ctx:1048577/0x0] omp-tag:0  :

via 10.28.7.205 Vl2807  0 1048578 0x100001

Oct 11 14:13:28.307: RT(2): add 192.168.1.0/24 via 10.28.7.205, ospf metric [252/1100]

Se trata de un comportamiento esperado que se introdujo específicamente en el software SD-WAN de Cisco IOS-XE para evitar escenarios de corte del tráfico cuando uno de los routers se divide de la superposición SD-WAN. Podría ocurrir un agujero negro porque un tráfico del lado del servicio todavía está balanceado de carga a través de ambos routers. Esto sucede porque dos rutas estáticas apuntan a ambos routers o algunas rutas apuntan a sólo un router que está particionado.

En el caso de ECMP (cuando R1 está particionado del fabric), el tráfico sigue dos rutas:

LAN -> R1 -> R2 -> router remoto -> 192.168.1.0/24

LAN -> R2 -> router remoto -> 192.168.1.0/24

Aquí también puede ver ejemplos de salidas de R1 cuando R1 se divide del fabric. Como puede ver, la conectividad a la subred LAN 192.168.1.0/24 todavía se conserva a través de R2 (10.27.7.205 next-hop):

R1#ping vrf 2 192.168.1.1

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 192.168.1.1, timeout is 2 seconds:

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 4/33/44 ms

R1# traceroute vrf 2 192.168.1.1 numeric

Type escape sequence to abort.

Tracing the route to 192.168.1.1

VRF info: (vrf in name/id, vrf out name/id)

1 10.28.7.205 4 msec 0 msec 0 msec

2 192.168.1.1 4 msec *  0 msec