Sommario

Introduzione

Cisco IOS-XE SD-WAN installa il router esterno OSPF con DN-Bit

Introduzione

Questo documento descrive il comportamento previsto del software Cisco IOS®-XE SD-WAN quando nella tabella di routing sono installate route esterne Open Shortest Path First (OSPF).

Cisco IOS-XE SD-WAN installa il router esterno OSPF con DN-Bit

Il router con software Cisco IOS-XE SD-WAN installa i percorsi esterni OSPF (E1 o E2) nella tabella di routing. Per la dimostrazione, considerare questo semplice diagramma topologico:

Di seguito è riportata una coppia di router R1 e R2 con software Cisco IOS-XE SD-WAN che stabiliscono il peer OSPF su vpn sul lato servizio (vrf 2 nell'esempio). I router hanno corrispondentemente le versioni system-ip 10.10.10.204 e 10.10.10.205. System-ip è uguale a OSPF router-id. Alcuni altri router annunciano il prefisso 192.168.1.0/24 tramite Overlay Management Protocol (OMP) a questo sito.

Entrambi i router sono configurati in modo simile. La configurazione pertinente è fornita di seguito (il punto principale è che viene eseguita la ridistribuzione reciproca tra OSPF e 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

!

Quando viene eseguita la voce della tabella di routing in condizioni normali, 192.168.1.0/24 viene installato in una base di informazioni di routing (RIB) da OMP e ridistribuito in OSPF. Questa voce ha il seguente aspetto:

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

Come si può vedere, entrambi i router hanno installato il routing nel RIB e quindi lo hanno ridistribuito nell'OSPF. Entrambi i router impostano il bit DN su un LSA esterno di tipo 5 e questo dovrebbe impedire l'installazione di queste route nel RIB come route OSPF e quindi la loro ridistribuzione nell'OMP, essenzialmente impedendo il loop. Si tratta dello stesso meccanismo descritto nelle RFC 4576 e 4577.

Tutti i router dispongono di peer OMP stabiliti con i controller 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

Ora R1 perde la connettività con entrambi i peer 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 contrassegnerà la route OMP come non aggiornata (vedere lo stato S della route OMP), ma continua a mantenere la route nella RIB installata dal protocollo OMP fino alla scadenza del timer di riavvio:

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

Il timer di riavvio automatico predefinito è 43.200 secondi (12 ore). Una volta scaduto, il percorso per 192.168.1.0/24 sarà ancora disponibile.

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

Viene ora installato come route OSPF esterna di tipo 1, nonostante per la LSA OSPF corrispondente sia impostato un bit DN.

Inoltre, si noti che la distanza amministrativa (AD) è sempre 1 unità maggiore dell'AD di OMP (251 è l'impostazione predefinita per OMP, quindi 252 in questo caso).

È importante spiegare il motivo per cui il router installa questa route con AD maggiore di quello della route OMP. Ciò è dovuto al fatto che si tenta di impedire scenari di loop quando il peering OMP viene ristabilito e viene ripristinata la raggiungibilità del fabric.

Il processo di installazione del router con AD=252 è chiaramente visibile anche se sono attivati i comandi debug ip routing e debug ip ospf rib redistribution:

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]

Questo è il comportamento previsto che è stato introdotto specificamente nel software Cisco IOS-XE SD-WAN per evitare scenari di blackhole del traffico quando uno dei router è partizionato dalla sovrimpressione SD-WAN. Il problema potrebbe essere dovuto a un traffico sul lato servizio con carico bilanciato su entrambi i router. Questo problema si verifica perché due route statiche puntano a entrambi i router oppure alcune route puntano a un solo router partizionato.

Nel caso di ECMP (quando R1 è partizionato dalla struttura), il traffico segue due percorsi:

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

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

Qui è possibile vedere anche esempi di output di R1 quando R1 è partizionato dal fabric. Come si può vedere, la connettività alla subnet LAN 192.168.1.0/24 viene comunque mantenuta tramite R2 (hop successivo alla versione 10.27.7.205):

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