运行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的检查确认了预期的LSAR1
并R2
已正确安装,并且包含具有正确度量的任播目标。
我考虑了三种可能的解释。
- 我不了解如何在这些平台上配置和操作ECMP。这是有可能的,我希望在这里能找到我在供应商文档中找不到的启示。
- 我不了解OSPF区域,ECMP,Anycast等之间的交互。我认为这不太可能,但是无论如何我都准备学习一些东西。
- 这两个供应商的实现遭受相同的错误,功能错误或其他问题。我想这有可能发生。
编辑为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