• BFD基本概念与接口、静态路由联动


    一、BFD(双向转发检测)

    1.1 解决了检测机制的不足

    1.2 通用、标准化、与介质无关,与协议无关,为上层协议服务

    1.3 全网统一的检测机制,用于快速检测

    1.4 保证邻居之间能够快速检测到通信故障

    二、BFD工作机制:

    1.1 本身没有发现机制,靠上层协议通知

    1.2 建立BFD会话,周期性发送BFD控制报文进行检测

    1.3 检测到故障后,再通知上层协议

    三、BFD状态机制:

    3.1 Down :会话处于Down状态或刚刚创建

    3.2  init : 已经能和对端系统通信,本端希望使会话进入Up状态

    3.3 Up: 会话已经建立成功

    3.4 AdminDown : 会话处于管理性Down状态

    3.5 BFD状态机的建立和拆除都采用三次握手,以确保两端系统都能知道状态的变化

    3.6 状态迁移规则:对端状态变化,检测定时器超时

    四、BFD报文格式:使用组播地址:224.0.0.184

    4.1  控制报文

    1)单跳检测其UDP目的端口号为3784  三层链路绑定接口

    2)多条检测其UDP目的端口号为4784  三层链路绑定IP

    4.2 Echo报文

    1)UDP的端口号都为3785

    五、BFD运行模式:

    5.1 会话建立前模式

    1)主动模式--默认

    2)被动模式

    5.2 会话建立后模式:

    1)异步模式--默认

    2)查询模式

    六、BFD 应用场景

    6.1 检测IP链路

    6.2 BFD单臂回声功能(Echo):一端支持BFD 一端不支持

    6.3 与接口状态联动

    6.4 与静态路由联动

    6.5 与动态路由RIP、OSPF、IS-IS、BGP联动

    6.6 与MPLS联动

    6.7 与VRRP联动

    6.8 与IPV6联动

    6.9 与Smart Link 联动

    七、BFD与接口联动案例

    7.1  SW1 与SW2   配置BFD, 检测中间链路状态   

    7.2  SW1 配置

    1. [SW1]bfd 1 bind peer-ip default-ip int e0/0/1
    2. [SW1-bfd-session-1]discriminator local 10 #配置本地标识符
    3. [SW1-bfd-session-1]discriminator remote 20 #配置远端标识符
    4. [SW1-bfd-session-1]min-tx-interval 100 #配置最小发送间隔
    5. [SW1-bfd-session-1]min-rx-interval 500 #配置最小接收间隔
    6. [SW1-bfd-session-1]detect-multiplier 2 #配置本地检测倍数
    7. [SW1-bfd-session-1]process-interface-status #配置与接口联动
    8. [SW1-bfd-session-1]commit

    7.3 SW2 配置

    1. [SW2]bfd 1 bind peer-ip default-ip int e0/0/1
    2. [SW2-bfd-session-1]discriminator local 20 #配置本地标识符
    3. [SW2-bfd-session-1]discriminator remote 10 #配置远端标识符
    4. [SW2-bfd-session-1]min-tx-interval 100 #配置最小发送间隔
    5. [SW2-bfd-session-1]min-rx-interval 500 #配置最小接收间隔
    6. [SW2-bfd-session-1]detect-multiplier 4 #配置本地检测倍数
    7. [SW2-bfd-session-1]process-interface-status #配置与接口联动
    8. [SW2-bfd-session-1]commit

    7.4 BFD检测时间公式

    SW1:
    最小发送间隔:100ms
    最小接收间隔:500ms
    本地检测倍数:2

    SW2
    最小发送间隔:100ms
    最小接收间隔:500ms
    本地检测倍数:4

    最终检测间隔:
    SW1:  500*4=2000ms
    SW2:  500*2=1000ms

    本端检测间隔=对端检测倍数*max(对端发送间隔,本端接收间隔两者的最大值)

    八、BFD与静态路由联动案例

    8.1 基于静态路由的备份,默认走1000M链路,当1000M链路down掉,切换到100M链路

    8.2 R1配置 

    1. [R1]ip route-s 192.168.1.0 24 100.101.10.2 #配置静态路由1
    2. [R1]ip route-s 192.168.1.0 24 200.101.10.2 preference 90 #配置静态路由2
    3. [R1]bfd R1 bind peer-ip 100.101.10.2
    4. [R1-bfd-session-r1]discriminator local 10
    5. [R1-bfd-session-r1]discriminator remote 20
    6. [R1-bfd-session-r1]min-tx-interval 100
    7. [R1-bfd-session-r1]min-rx-interval 100
    8. [R1-bfd-session-r1]detect-multiplier 2
    9. [R2-bfd-session-r1]commit
    10. [R1]ip route-s 192.168.1.0 24 100.101.10.2 track bfd-session R1 #配置BFD与静态路由联动

    8.3  R2配置

    1. [R2]ip route-s 192.168.2.0 24 100.101.10.1 #配置静态路由1
    2. [R2]ip route-s 192.168.2.0 24 200.101.10.1 preference 90 #配置静态路由2
    3. [R2]bfd R2 bind peer-ip 100.101.10.1
    4. [R2-bfd-session-r2]discriminator local 20
    5. [R2-bfd-session-r2]discriminator remote 10
    6. [R2-bfd-session-r2]min-tx-interval 100
    7. [R2-bfd-session-r2]min-rx-interval 100
    8. [R2-bfd-session-r2]detect-multiplier 2
    9. [R2-bfd-session-r2]commit
    10. [R2]ip route-s 192.168.2.0 24 100.101.10.1 track bfd-session R2 #配置BFD与静态路由联动

    九、查看BFD

    1. dis bfd session all
    2. dis bfd session all verbose

  • 相关阅读:
    springboot打包部署
    ubuntu添加环境变量
    leetcode 刷题 log day 45
    Vue输入框卡死
    06-nginx反向代理实战
    一文彻底搞懂什么是SSH中间人攻击(Man-in-the-middle attack)
    ISC技术分享:从BAS视角看积极防御体系实践
    SpringBoot中单元测试的使用
    文件上传-保存在本地
    基于C++的车辆装甲板检测自瞄系统
  • 原文地址:https://blog.csdn.net/m0_69951597/article/details/126805484