配置IPv4静态路由与静态BFD联动示例

静态路由简介

定义

静态路由是一种需要管理员手工配置的特殊路由。

目的

静态路由在不同网络环境中有不同的目的:

  • 当网络结构比较简单时,只需配置静态路由就可以使网络正常工作。

  • 在复杂网络环境中,配置静态路由可以改进网络的性能,并可为重要的应用保证带宽。

  • 静态路由可在VPN实例中使用,主要用于VPN路由的管理。

静态路由与BFD联动

与动态路由协议不同,静态路由自身没有检测机制,当网络发生故障的时候,需要管理员介入。BFD for静态路由特性可为静态路由绑定BFD会话,利用BFD会话来检测静态路由所在链路的状态。

BFD for静态路由可为每条静态路由绑定一个BFD会话,在自身满足参与选路条件的前提下,静态路由最终是否能参与选路还受BFD会话检测状态影响。

  • 当某条静态路由上的BFD会话检测到链路故障(BFD会话检测状态为Down)时,BFD会将故障上报系统,系统将这条路由从IP路由表中删除。

  • 当某条静态路由上的BFD会话检测到故障的链路重新建立成功(BFD会话检测状态为Up)时,BFD会上报系统,系统将这条路由加入IP路由表。

  • 缺省情况下,当BFD会话状态处于Admin down(shutdown命令触发)或邻居Admin down时,与该BFD会话绑定的静态路由可以参与选路。但是在系统整机重启场景下,BFD会话需要重新协商,静态路由是否能参与选路以BFD重新协商状态为准。

BFD for静态路由有单跳检侧和多跳检测两种方式。

  • 单跳检测

    对于非迭代的静态路由,所配置的出接口和下一跳就是直连下一跳信息。这样,BFD会话的出接口即静态路由的出接口,对端地址即路由的下一跳。

  • 多跳检测

    对于迭代的静态路由,仅配置了下一跳,需要迭代出直连下一跳和出接口。这样,BFD会话的对端地址为路由的原始下一跳,出接口则不限。一般情况下,迭代的原始下一跳是多跳的,非直接可达,故支持迭代的静态路由进行多跳检测。

说明:

如果路由的下一跳信息不是直接可达的,那么该路由就不能用来指导转发,系统会根据下一跳信息计算出一个实际的出接口和下一跳,这个过程就叫做路由迭代。另外,使用display ip routing-table命令查看路由时,如果Flags字段显示为R,则表示路由为迭代路由,否则,为非迭代路由。

配置IPv4静态路由与静态BFD联动,可以快速感知从本地到路由目的地址的链路变化,提高网络可靠性。

组网需求

如图1所示,SwitchA通过SwitchB和NMS跨网段相连。在SwitchA上通过静态路由与NMS进行正常通信。在SwitchA和SwitchB之间实现毫秒级故障感知,提高收敛速度。

 

配置思路

采用如下思路配置IPv4静态路由与静态BFD联动:

  1. 在SwitchA和SwitchB上配置BFD Session,在SwitchA和SwitchB之间实现毫秒级故障感知,提高收敛速度。

  2. 配置SwitchA到NMS的静态路由并绑定BFD Session,实现毫秒级故障感知,提高收敛速度。

拓扑图

操作步骤
S1基本配置
配置各接口所属的VLAN 

# 配置S1的配置
<HUAWEI> system-view
[HUAWEI] sysname S1
[S1] vlan 10
[S1-vlan10] quit
[S1] interface gigabitethernet 0/0/1
[S1-GigabitEthernet0/0/1] port link-type trunk
[S1-GigabitEthernet0/0/1] port trunk allow-pass vlan 10
[S1-GigabitEthernet0/0/1] quit


2.配置各VLANIF接口的IP地址 

# 配置S1
[S1] interface vlanif 10
[S1-Vlanif10] ip address 10.1.1.1 24
[S1-Vlanif10] quit

S2配置


# 配置S2
<HUAWEI> system-view
[HUAWEI] sysname S2
[S2] vlan 10
[S2-vlan10] quit
[S2] interface gigabitethernet 0/0/1
[S2-GigabitEthernet0/0/1] port link-type trunk
[S2-GigabitEthernet0/0/1] port trunk allow-pass vlan 10
[S2-GigabitEthernet0/0/1] quit


[S2]interface GigabitEthernet 0/0/2
[S2-GigabitEthernet0/0/2]port link-type trunk 	
[S2-GigabitEthernet0/0/2]port trunk allow-pass vlan 20
[S2-GigabitEthernet0/0/2]q

2.配置各VLANIF接口的IP地址 

# 配置S2
[S2] interface vlanif 10
[S2-Vlanif10] ip address 10.1.1.2 24
[S2-Vlanif10] quit

[S2]interface Vlanif 20
[S2-Vlanif20]ip address 10.2.2.2 24
[S2-Vlanif20]q

 

配置SwitchA和SwitchB间的BFD会话

在SwitchA配置与SwitchB间的BFD Session。


[S1] bfd
[S1-bfd] quit
[S1] bfd aa bind peer-ip 10.1.1.2
[S1-bfd-session-aa] discriminator local 10
[S1-bfd-session-aa] discriminator remote 20
[S1-bfd-session-aa] commit
[S1-bfd-session-aa] quit

在SwitchB配置与SwitchA之间的BFD Session。

[S2] bfd
[S2-bfd] quit
[S2] bfd bb bind peer-ip 10.1.1.1
[S2-bfd-session-bb] discriminator local 20
[S2-bfd-session-bb] discriminator remote 10
[S2-bfd-session-bb] commit
[S2-bfd-session-bb] quit

  1. 配置静态路由并绑定BFD会话

    在SwitchA配置到外部网络的静态路由,并绑定BFD会话aa。

[S1]ip route-static 10.2.2.0 24 10.1.1.2 track bfd-session aa
  1. 验证配置结果

    配置完成后,在SwitchA和SwitchB上执行display bfd session all命令,可以看到BFD会话已经建立,且状态为Up。SwitchA上的显示为例。

 在SwitchA查看IP路由表,静态路由存在于路由表中。

对SwitchB接口GigabitEthernet0/0/1执行shutdown命令模拟链路故障。


[SwitchB] interface gigabitethernet 0/0/1
[SwitchB-GigabitEthernet0/0/1] shutdown

查看SwitchA的路由表,发现静态路由10.2.2.0/24也不存在了。因为静态路由绑定了BFD会话,当BFD检测到故障后,就会迅速通知所绑定的静态路由不可用。

对SwitchB接口GigabitEthernet0/0/1执行undo shutdown命令模拟链路恢复正常。


[SwitchB-GigabitEthernet0/0/1]undo shutdown
  1. 查看SwitchA的路由表,发现静态路由10.2.2.0/24重新出现在路由表中。因为当BFD检测到链路恢复正常后,就会迅速通知所绑定的静态路由重新生效。

相关推荐

最近更新

  1. TCP协议是安全的吗?

    2023-12-21 11:14:05       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-21 11:14:05       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-21 11:14:05       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-21 11:14:05       20 阅读

热门阅读

  1. AWS认证SAA-C03每日一题

    2023-12-21 11:14:05       28 阅读
  2. 移动端1像素的解决方案?

    2023-12-21 11:14:05       47 阅读
  3. Springboot集成JPA多Hibernate数据源

    2023-12-21 11:14:05       35 阅读
  4. display:grid

    2023-12-21 11:14:05       49 阅读
  5. 使用IntelliJ IDEA进行Python开发配置

    2023-12-21 11:14:05       41 阅读
  6. 进程间通讯-信号量

    2023-12-21 11:14:05       37 阅读
  7. stable diffusion 极简入门 核心 概念介绍 使用

    2023-12-21 11:14:05       32 阅读
  8. Boost.Python与BOOST_TEST_EQ宏的示例编程

    2023-12-21 11:14:05       37 阅读
  9. 使用 Layui 的 template 模块来动态加载select选项

    2023-12-21 11:14:05       34 阅读
  10. Qt 软件界面点击QCombBox控件,造成整个界面移位

    2023-12-21 11:14:05       28 阅读