Un router Brocade che esegue NetIron 5.2 e un'emulazione Dynamips che esegue IOS 12.4 non riescono entrambi a utilizzare in modo affidabile percorsi di uguale costo in quella che sembra essere una configurazione molto semplice. Dico "in modo affidabile" perché ho osservato molto brevemente il comportamento atteso dal Broccato, ma è stato dopo un lungo periodo di inattività ed è svanito non appena ho turbato il sistema.
Nel caso sia rilevante, sto configurando una destinazione anycast per un servizio di rete senza stato. Si tratterà di una configurazione specifica del sito, con differenze di lunghezza del percorso di rete scarse o assenti, quindi lo scopo della funzionalità anycast è principalmente per la ridondanza di failover e in parte per la condivisione del carico. La mia domanda riguarda la funzione di condivisione del carico.
La mia rete di prototipi si presenta così.
R1 <--N1--> Rcore <--N2--> R2
R1
e R2
pubblicizzare la destinazione anycast tramite OSPF. Se Rcore
ha un costo identico su N1
e sulle sue N2
interfacce e la destinazione anycast ha un costo identico su ciascuno degli altri router, mi aspetterei di trovare due percorsi di uguale costo nella Rcore
tabella di routing. Non lo faccio, almeno non sempre, e nemmeno prevedibilmente. Perchè no?
Tra l'altro, i dettagli potenzialmente rilevanti sono i seguenti.
Rcore
è un ABR che si collegaN1
eN2
, che si trovano in aree NSSA separate, alla spina dorsale (non mostrata).- L'ispezione
Rcore
dell'LSDB conferma che gli LSA previsti daR1
eR2
sono installati correttamente e contengono la destinazione anycast con la metrica corretta.
Ho considerato tre possibili spiegazioni.
- Non capisco come configurare e utilizzare ECMP su queste piattaforme. Questo è probabilmente, e spero di trovare l'illuminazione qui che non sono riuscito a trovare nei documenti del fornitore.
- Non capisco l'interazione tra Aree OSPF, ECMP, anycast, ecc. Non penso che questo sia molto probabile, ma sono pronto a imparare qualcosa comunque.
- Le implementazioni di questi due fornitori soffrono dello stesso bug, o di una funzione errata, o qualcosa del genere. Suppongo che potrebbe succedere.
Modifica Aggiunti esempi di configurazione e output per l'implementazione di Dynamips / Dynagen.
configs
Router R1
!
version 12.4
!
hostname R1
!
interface Loopback0
ip address 1.1.1.1 255.255.255.255
ip ospf cost 1
!
interface FastEthernet0/0
ip address 10.1.0.2 255.255.255.252
ip ospf cost 2
!
router ospf 1
router-id 10.1.0.2
log-adjacency-changes
area 0.0.0.1 nssa no-summary
passive-interface Loopback0
network 1.1.1.1 0.0.0.0 area 0.0.0.1
network 10.1.0.0 0.0.0.3 area 0.0.0.1
!
line console 0
exec-timeout 0 0
!
end
Router R2
!
version 12.4
!
hostname R2
!
interface Loopback0
ip address 1.1.1.1 255.255.255.255
ip ospf cost 1
!
interface FastEthernet0/0
ip address 10.2.0.2 255.255.255.252
ip ospf cost 2
!
router ospf 1
router-id 10.2.0.2
log-adjacency-changes
area 0.0.0.2 nssa no-summary
passive-interface Loopback0
network 1.1.1.1 0.0.0.0 area 0.0.0.2
network 10.2.0.0 0.0.0.3 area 0.0.0.2
!
line console 0
exec-timeout 0 0
!
end
Router Rcore
!
version 12.4
!
hostname Rcore
!
interface Loopback0
ip address 10.0.0.1 255.255.255.255
ip ospf cost 4
!
interface FastEthernet0/0
ip address 10.1.0.1 255.255.255.252
ip ospf cost 2
!
interface FastEthernet0/1
ip address 10.2.0.1 255.255.255.252
ip ospf cost 2
!
router ospf 1
log-adjacency-changes
area 0.0.0.1 nssa no-summary
area 0.0.0.2 nssa no-summary
passive-interface Loopback0
network 10.0.0.1 0.0.0.0 area 0.0.0.0
network 10.1.0.0 0.0.0.3 area 0.0.0.1
network 10.2.0.0 0.0.0.3 area 0.0.0.2
!
line console 0
exec-timeout 0 0
!
end
Produzione
Router Rcore
Router LSA di R1
Rcore#sh ip ospf database router 10.1.0.2
OSPF Router with ID (10.0.0.1) (Process ID 1)
Router Link States (Area 0.0.0.1)
LS age: 1618
Options: (No TOS-capability, DC)
LS Type: Router Links
Link State ID: 10.1.0.2
Advertising Router: 10.1.0.2
LS Seq Number: 80000002
Checksum: 0x726F
Length: 48
Number of Links: 2
Link connected to: a Stub Network
(Link ID) Network/subnet number: 1.1.1.1
(Link Data) Network Mask: 255.255.255.255
Number of TOS metrics: 0
TOS 0 Metrics: 1
Link connected to: a Transit Network
(Link ID) Designated Router address: 10.1.0.2
(Link Data) Router Interface address: 10.1.0.2
Number of TOS metrics: 0
TOS 0 Metrics: 2
Router LSA di R2
Rcore#sh ip ospf database router 10.2.0.2
OSPF Router with ID (10.0.0.1) (Process ID 1)
Router Link States (Area 0.0.0.2)
LS age: 1766
Options: (No TOS-capability, DC)
LS Type: Router Links
Link State ID: 10.2.0.2
Advertising Router: 10.2.0.2
LS Seq Number: 80000002
Checksum: 0x8A53
Length: 48
Number of Links: 2
Link connected to: a Stub Network
(Link ID) Network/subnet number: 1.1.1.1
(Link Data) Network Mask: 255.255.255.255
Number of TOS metrics: 0
TOS 0 Metrics: 1
Link connected to: a Transit Network
(Link ID) Designated Router address: 10.2.0.2
(Link Data) Router Interface address: 10.2.0.2
Number of TOS metrics: 0
TOS 0 Metrics: 2
Estratto della tabella di routing
Rcore#sh ip route 1.1.1.1
Routing entry for 1.1.1.1/32
Known via "ospf 1", distance 110, metric 3, type intra area
Last update from 10.1.0.2 on FastEthernet0/0, 00:30:54 ago
Routing Descriptor Blocks:
* 10.1.0.2, from 10.1.0.2, 00:30:54 ago, via FastEthernet0/0
Route metric is 3, traffic share count is 1