运行 NetIron 5.2 的 Brocade 路由器和运行 IOS 12.4 的 Dynamips 仿真都无法在看似非常简单的配置中可靠地使用等价路径。我说“可靠”是因为我确实非常简短地观察了 Brocade 的预期行为,但它是在长时间不活动之后消失的,一旦我扰乱系统就消失了。
如果相关,我正在为无状态网络服务设置任播目的地。这将是特定于站点的配置,具有很少或没有网络路径长度多样性,因此任播功能的目的主要是为了故障转移冗余,部分是为了负载共享。我的问题涉及负载共享功能。
我的原型网络看起来像这样。
R1 <--N1--> Rcore <--N2--> R2
R1
并R2
通过 OSPF 通告任播目的地。如果Rcore
在其N1
和N2
接口上具有相同的成本,并且任播目的地在每个其他路由器上具有相同的成本,我希望在Rcore
路由表中找到两条成本相等的路径。我不会,至少并非总是如此,甚至无法预测。为什么不?
其中,潜在的相关细节如下。
Rcore
是一个 ABR 连接N1
和N2
,它们位于不同的 NSSA 区域中,连接到主干网(未显示)。Rcore
LSDB 的检查确认预期的 LSA 来自R1
和R2
正确安装,并且包含具有正确度量的任播目的地。
我已经考虑了三种可能的解释。
- 我不明白如何在这些平台上配置和运行 ECMP。这是可能的,我希望在这里找到我在供应商文档中找不到的启示。
- 我不了解 OSPF 区域、ECMP、任播等之间的交互。我认为这不太可能,但无论如何我准备学习一些东西。
- 这两个供应商的实现遭受相同的错误,或错误的功能,或其他东西。我想这可能会发生。
编辑为 Dynamips/Dynagen 实现添加了示例配置和输出。
配置
路由器 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
路由器 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
路由器 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
输出
路由器 Rcore
路由器 LSA 来自 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
路由器 LSA 来自 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
路由表摘录
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