BFD双向转发检测

BFD双向转发检测

概述

提供了一种轻量级、通用的轻量化的、介质无关和协议无关的快速故障检测机制,是一种简单的“Hello”协议,通过周期性发送BFD报文,在一定时间如果没有接收到对端的响应报文,则认为通信存在故障

作用

可以实现毫秒级链路检测、IP路由、协议等来你懂性的故障

工作原理

报文结构

  • 强制部分

    • version:BFD版本,此处为1

    • sta:BFD本地状态

    • detect mutl:本地检测倍数,默认3倍

    • discriminator:标识符,用于BFD在同一台设备上区分不同的BFD会话

      • 源端标识符:remote discriminator
      • 本地标识符:local discriminator
    • min-RX-interval:本地支持的最小的BFD报文接收间隔,默认1000ms

    • min-TX-interval:本地支持的最小的BFD报文发送间隔,默认1000ms

  • 可选部分

    • 认证字段:TLV结构

会话建立方式

  • 静态建立

    • 手工配置本地标识符
  • 动态建立

    • 协议动态分配本地标识符,通过交互BFD报文动态学习源端标识符

会话状态

  • down

    • BFD初始化状态
  • init

    • BFD单向通信状态
  • up

    • BFD双向通信,会话建立
  • admin down

    • 管理员关闭BFD会话,在状态机中还是down状态
  • down状态用来关闭BFD会话,init/up状态用来建立BFD会话

会话建立过程采用三次握手,确保可靠性

本端项对端发送down状态的BFD控制报文

对端接收到本端down状态的BFD控制报文后,状态置位init,并发送init状态的BFD控制报文

本端接收到init状态的BFD控制报文后状态置为UP,会话建立完成

双向同时进行

检测模式

异步模式

  • 本端周期性发送BFD控制报文,检测位置是源端,远端检测本端是否周期性发送BFD控制报文

查询模式

  • 本端按需发送BFD控制报文森,检测位置是本端,检测本段发送的BFD报文是否得到回应

检测时间

发送时间间隔:TX

接收时间间隔:RX

检测倍数:DM

本端实际发送时间间隔=MAX(本端的发送时间间隔,对端的接收时间间隔)二者取大

本段实际接受间隔=MAX(本端的接收时间间隔,对端的发送时间间隔)二者取大

异步模式下:

  • 本端BFD报文实际检测时间间隔=本端实际接受间隔*对端检测倍数

查询模式下

  • 本端BFD报文实际检测时间间隔=本端实际接收时间间隔*本端检测倍数

BFD Echo模式(回声模式)

应用场景:一台支持BFD功能,一台不支持BFD

  • 支持BFD功能的设备主动发送BFD控制报文,不支持BFD功能的设备将BFD从环回转发回去,支持BFD功能的设备接收到回包后,BFD会话UP,实现转发链路连通性的检测

联动功能

检测模块

  • BFD通过见到那的hello机制,对链路状态、网络连通性进行检测、并肩检测结果通知track模块

track模块

  • 接收到检测结果后,改变track模块状态,并通知给应用模块

应用模块

  • 根据track模块的状态,进行处理,从而实现联动

    • 与接口联动
    • 静态联动
    • 动态协议联动
    • 二层协议联动
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值