BFD的原理与配置

1.网络故障检测遇到的问题

某些应用的keepalive机制是通过慢hello机制来保证的,比如OSPF,默认需要40s才能检测出邻居故障,那么到邻居的链路不可达,那么也不会切换路径,但是流量还是往故障的链路去发送,所以在没有检测出邻居故障前,会持续断网

某一些应用是不支持hello机制,比如静态路由

需要一个通用的协议来解决这些问题

2.BDF的概述

BFD提供了一个通用的、标准化的、介质无关的、协议无关的快速故障检测机制,有以下两大优点:

1.对相邻转发引擎之间的通道提供轻负荷、快速故障检测

2.用单一的机制对任何介质、任何协议层进行实时检测

BFD是一个简单的“Hello”协议。两个系统之间建立BFD会话通道,并周期性发送BFD检测报文,如果某个系统在规定的时间内没有收到对端的检测报文,则认为该通道的某个部分发生了故障

3.会话建立的方式

静态建立:由管理员手工去配置本地标识符和远端标识符。适用于一些没有hello机制的协议,比如静态路由,路由器的本地标识符和远端标识符需要一一对应的

动态建立:动态分配本地和远端标识符,IGP协议

4.会话状态

down:如果在这个状态接收到down包,那么就会进入init状态

init:在这个状态下如果收到init包就会进去到up状态

up:如多定时器超时,那就就会进去down状态,或者进去admin down状态

admin down: 

5.检测模式

异步模式:系统之间相互周期性地发送BFD控制包,如果某个系统在检测时间内没有收到对端发来的BFD控制报文,就宣布会话为Down

查询模式: 在需要验证连接性的情况下,系统连续发送多个BFD控制包,如果在检测时间内没有收到返回的报文就宣布会话为Down

6.检测时间

BFD会话检测时长由TX(Desired Min TX Interval),RX(Required Min RX Interval),DM(Detect Multi)三个参数决定。BFD报文的实际发送时间间隔,实际接受时间间隔由BFD会话协商决定

本地BFD报文实际发送时间间隔=MAX { 本地配置的发送时间间隔,对端配置的接收时间间隔}

本地BFD报文实际接收时间间隔=MAX { 对端配置的发送时间间隔,本地配置的接收时间间隔 } 

本地BFD报文实际检测时间:

异步模式:本地BFD报文实际检测时间=本地BFD报文实际接收时间间隔×对端配置的BFD检测倍数

查询模式:查询模式:本地BFD报文实际检测时间 = 本地BFD报文实际接收时间间隔×本端配置的BFD检测倍数

7.BFD dcho功能

适用于对端路由器不支持BFD协议的场景

目的地址是自己,这个BFD的控制报文在链路正常情况是会弹回来,如果链路或者其他的一些原因导致网络不通,那么这个BFD的控制报文是回不来的,路由器在一定时间收不到自己的BFD控制报文,那么就认为对端失效了 

  • 5
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值