在 IOS-XE 和 JunOS 之间为 OSPFv3 配置 BFD

网络工程 思科 ospf 杜松 bfd
2021-07-26 19:13:06

我需要在 IOS-XE 设备 (ASR903) 和瞻博网络 MX480 之间使用双栈 OSPFv3 在 IGP 链路上实现 BFD。

我正在 IOS-XE 和 IOS-XE 之间的许多链路上为双栈 OSPFv3 成员运行 BFD,但第一次需要将它实施到 Junos 设备。

这是我的配置(目前在 ASR920 和 MX104 的测试环境中):

IOS-XE:

interface GigabitEthernet0/0/4
 mtu 9000
 ip address 10.100.100.2 255.255.255.252
 ip mtu 1500
 media-type rj45
 speed 1000
 no negotiation auto
 ipv6 enable
 ipv6 mtu 1500
 ospfv3 1 ipv6 area 0
 ospfv3 1 ipv4 area 0
 bfd interval 1000 min_rx 1000 multiplier 5

router ospfv3 1
 router-id 10.100.100.2
 bfd all-interfaces
 !
 address-family ipv4 unicast
  area 0 range 10.100.100.0 255.255.255.252
 exit-address-family
 !
 address-family ipv6 unicast
 exit-address-family

君操作系统:

aschaefer@IE1-FD1_re0# show 
instance-type virtual-router;
interface ge-0/1/0.0;
protocols {
    ospf3 {
        realm ipv4-unicast {
            area 0.0.0.0 {
                interface ge-0/1/0.0 {
                    bfd-liveness-detection {
                        minimum-receive-interval 1000;
                        multiplier 5;
                        transmit-interval {
                            minimum-interval 1000;
                        }
                    }
                }
            }
        }
        area 0.0.0.0 {
            interface ge-0/1/0.0 {
                bfd-liveness-detection {
                    minimum-receive-interval 1000;
                    multiplier 5;
                    transmit-interval {
                        minimum-interval 1000;
                    }
                }
            }
        }
    }
}

在IOS XE Box上,BFD for IPv6邻居是Up的,但在IPv4邻居之间没有。我没有看到任何从瞻博网络发送到思科设备的 Rx BFD 数据包。

PE3-FD1#sh bfd neighbors details 

IPv4 Sessions
NeighAddr                              LD/RD         RH/RS     State     Int
10.100.100.1                            2/0          Down      Down      Gi0/0/4
Session Host: Hardware
OurAddr: 10.100.100.2   
Handle: 2
Local Diag: 0, Demand mode: 0, Poll bit: 0
MinTxInt: 1000000, MinRxInt: 1000000, Multiplier: 5
Received MinRxInt: 0, Received Multiplier: 0
Holddown (hits): 0(0), Hello (hits): 1000(0)
Rx Count: 0 <<<<<<<<<<<<<<<<< No BFD from IPV4 neighbor
Tx Count: 1576
Elapsed time watermarks: 0 0 (last: 0)
Registered protocols: OSPFv3 CEF 
Last packet: Version: 1                  - Diagnostic: 0
             State bit: AdminDown        - Demand bit: 0
             Poll bit: 0                 - Final bit: 0
             C bit: 0                                   
             Multiplier: 0               - Length: 0
             My Discr.: 0                - Your Discr.: 0
             Min tx interval: 0          - Min rx interval: 0
             Min Echo interval: 0       

IPv6 Sessions
NeighAddr                              LD/RD         RH/RS     State     Int
FE80::6664:9BFF:FED0:18A9               1/19         Up        Up        Gi0/0/4
Session state is UP and not using echo function.
Session Host: Hardware
OurAddr: FE80::A66C:2AFF:FE24:5004              
Handle: 1
Local Diag: 0, Demand mode: 0, Poll bit: 0
MinTxInt: 1000000, MinRxInt: 1000000, Multiplier: 5
Received MinRxInt: 1000000, Received Multiplier: 5
Holddown (hits): 0(0), Hello (hits): 1000(0)
Rx Count: 1256
Tx Count: 1576
Elapsed time watermarks: 0 0 (last: 0)
Registered protocols: OSPFv3 CEF 
Uptime: 00:18:30
Last packet: Version: 1                  - Diagnostic: 0
             State bit: Up               - Demand bit: 0
             Poll bit: 0                 - Final bit: 0
             C bit: 0                                   
             Multiplier: 5               - Length: 24
             My Discr.: 19               - Your Discr.: 1
             Min tx interval: 1000000    - Min rx interval: 1000000
             Min Echo interval: 0       

在 JunOS Box 上看起来不错:

IE1-FD1_re0> show bfd session detail                    

                                                  Detect   Transmit
Address                  State     Interface      Time     Interval  Multiplier
fe80::a66c:2aff:fe24:5004 Up       ge-0/1/0.0     5.000     1.000        5   
 Client OSPF realm ipv6-unicast Area 0.0.0.0, TX interval 1.000, RX interval 1.000
 Client OSPF realm ipv4-unicast Area 0.0.0.0, TX interval 1.000, RX interval 1.000
 Session up time 00:23:25
 Local diagnostic None, remote diagnostic None
 Remote state Up, version 1
 Replicated 
 Session type: Single hop BFD

我认为问题在于 JunOS 和 IOS-XE 正在以两种不同的方式处理 OSPFv3 的 BFD。虽然 IOS-XE 将 IPv4 和 IPv6 视为两个不同的邻居,并建立两个单独的 BFD 会话,但 Junos 正在处理 IPv6 和 IPv4 OSPF 邻居的 BFD,只是在单个 IPv6 BFD 会话的“顶部”(对不起,我在这里的英语不好)

是否有任何建议如何配置它?

最好的问候安德烈亚斯

1个回答

您提供的可能原因似乎合理。

作为故障排除步骤,您可能会尝试完全从此场景中删除 BFD。虽然只配置了 OSPFv3,IOS-XE 和 JunOS 设备是否建立了完全邻接?这将有助于证实你的理论,

  • IOS-XE 具有独立的 v4 和 v6 会话,每个会话都携带单独的可达性信息 (LSA)
  • Junos 具有单个 v6 会话,同时携带 v4 和 v6 可达性信息 (LSA)

每个 NOS 可能以不同的方式实施 OSPFv3,无论 ipv4 和 ipv6 共享单一拓扑还是存在独立的拓扑。

  • 如果所有链路都是双栈的,单一拓扑是有意义的,结果将是在链路事件和较低 CPU 负载期间进行单一 SPF 计算。
  • 如果链路不是双栈的,多拓扑是有意义的,这意味着转发路径在一个栈中应该是不同的。这意味着每个堆栈都有一个 SPF 计算,并且可能有更多的 CPU 负载。

一个你确定两个 NOS 运行的模式,然后添加 BFD。我最初的猜测是多拓扑功能可能是这里的区别。