运行 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 区域中,连接到主干网(未显示)。RcoreLSDB 的检查确认预期的 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