网工技术详解
网工技术详解
资源放送
↓ 扫一扫 ↓
领取BFD协议录屏资料
BFD(Bidirectional Forwarding Detection,双向转发检测)提供了一个通用的、标准化的、介质无关和协议无关的快速故障检测机制,用于快速检测、监控网络中链路或者IP路由的转发连通状态。
链路故障:
1、在无法通过硬件信号检测故障的系统中,应用通常采用上层协议本身的Hello报文机制检测网络故障。
2、常用路由协议的Hello报文机制检测时间较长,检测时间超过1秒钟。当应用在网络中传输的数据超过GB/s时,秒级的检测时间将会导致应用传输的数据大量丢失。
3、在三层网络中,静态路由本身没有故障检查机制。
功能:
BFD提供了一个通用的、标准化的、介质无关的、协议无关的快速故障检测机制。
优点:
1、对相邻转发引擎之间的通道提供轻负荷、快速故障检测。
2、用单一的机制对任何介质、任何协议层进行实时检测。
原理:
BFD是一个简单的“Hello”协议。两个系统之间建立BFD会话通道,并周期性发送BFD检测报文,如果某个系统在规定的时间内没有收到对端的检测报文,则认为该通道的某个部分发生了故障。
特点:
检测速度快(毫秒级),可以和多个协议进行联合使用。
应用场景:
1.静态路由和BFD联动。2.OSPF和BFD联动。3.其它动态协议和BFD联动。
2.1 报文结构
强制部分:
sta: 本地状态,bfd有四种邻居状态分别是down,init,up,adminDown;
detect mult: 检测倍数,默认是3;
discriminator: 本地标识符 local , 远端标识符 remote;
mim TX: 最小发送间隔时间,默认1000ms;
min RX: 最小接收间隔时间,默认1000ms;
可选部分:主要用于认证。
2.2 BFD会话建立
静态建立会话:静态建立BFD会话是指通过命令行手工配置BFD会话参数,包括配置本地标识符和远端标识符等,然后手工下发BFD会话建立请求。
动态建立会话:动态建立BFD会话的本地标识符由触发创建BFD会话的系统动态分配,远端标识符从收到对端BFD消息的Local Discriminator的值学习而来。
会话状态:
BFD会话有四种状态:Down、Init、Up和AdminDown。会话状态变化通过BFD报文的State字段传递,系统根据自己本地的会话状态和接收到的对端BFD报文驱动状态改变。
BFD状态机的建立和拆除都采用三次握手机制。
2.3 BFD检测模式
BFD的检测机制:两个系统建立BFD会话,并沿它们之间的路径周期性发送BFD控制报文,如果一方在既定的时间内没有收到BFD控制报文,则认为路径上发生了故障。BFD的检测模式有异步模式和查询模式两种。
① 异步模式
系统之间相互周期性地发送BFD控制包,如果某个系统在检测时间内没有收到对端发来的BFD控制报文,就宣布会话为Down。
② 查询模式
在需要验证连接性的情况下,系统连续发送多个BFD控制包,如果在检测时间内没有收到返回的报文就宣布会话为Down。
2.4 BFD检测时间
BFD会话检测时长由TX(Desired Min TX Interval),RX(Required Min RX Interval),DM(Detect Multi)三个参数决定。BFD报文的实际发送时间间隔,实际接受时间间隔由BFD会话协商决定。
本地BFD报文实际发送时间间隔=MAX { 本地配置的发送时间间隔,对端配置的接收时间间隔 };
本地BFD报文实际接收时间间隔=MAX { 对端配置的发送时间间隔,本地配置的接收时间间隔 }。
BFD缺省时间参数:
BFD报文发送间隔默认1000毫秒,接受间隔默认1000毫秒,本地检测倍数3次。
BFD会话等待恢复时间0秒,会话延迟Up时间0秒。
检测超时倍数,用于检测方计算检测超时时间。
查询模式:采用本地检测倍数。
异步模式:采用对端检测倍数。
2.5 BFD Echo功能
BFD Echo功能也称为BFD回声功能,是由本地发送BFD Echo报文,远端系统将报文环回的一种检测机制。
工作原理:
在两台直接相连的设备中,其中一台设备支持BFD功能(R1);另一台设备不支持BFD功能(R2),只支持基本的网络层转发。为了能够快速的检测这两台设备之间的故障,可以在支持BFD功能的设备上创建单臂回声。
2.6 BFD联动功能
联动功能由检测模块、Track和应用模块三部分组成。
① 监测模块负责对链路状态、网络性能等进行监测,并将探测结果通知给Track模块。
② Track模块收到监测模块的探测结果后,及时改变Track项的状态,并通知应用模块。
③ 应用模块根据Track项的状态,进行相应的处理,从而实现联动。
3.1 基本配置
bfd //使能bfd bfd 名字 bind peer 对端IP interface 本端接口 //配置静态bfd会话 discriminator local 10 // 配置本地标识符 discriminator remote 20 //配置远端标识符 commit // 提交配置 注意本地标识符和远端标识符要匹配否则无法建立BFD会话 会话验证:display bfd session all verbose
3.2 BFD和静态路由联动
实验要求:
如上图组网所示,在R1上配置到达R4的Loopback0:4.4.4.4/32网段的浮动静态路由,正常情况下通过R2访问R4,当R2故障时,自动选路通过R3访问R4的Loopback0。
在R1与R2之间建立BFD会话,并与静态路由绑定,实现故障快速检测和路径快速收敛。
配置:
在R1与R2之间建立静态BFD会话: [R1]bfd [R1]bfd 12 bind peer 10.0.12.2 interface GigabitEthernet 0/0/1 [R1-bfd-session-12]discriminator local 10 [R1-bfd-session-12]discriminator remote 20 [R1-bfd-session-12]commit [R2]bfd [R2]bfd 21 bind peer 10.0.12.1 interface GigabitEthernet 0/0/1 [R2-bfd-session-21]discriminator local 20 [R2-bfd-session-21]discriminator remote 10 [R2-bfd-session-21]commit 在R1上配置静态路由并绑定BFD会话: [R1] ip route-static 4.4.4.4 32 10.0.12.2 track bfd-session 12 [R1] ip route-static 4.4.4.4 32 10.0.13.2 preference 100
3.3 BFD和OSPF联动
实验要求:
R1、R2、R3运行OSPF协议,且都属于Area 0;
配置OSPF与BFD联动,通过设置所有OSPF接口的BFD会话参数进一步提高链路状态变化时OSPF的收敛速度;
将BFD会话的最大发送间隔和最大接受间隔都设置为100ms,检测次数默认不变。
配置:
R1配置如下:
[R1]bfd [R1]interface GigabitEthernet 0/0/1 [R1-GigabitEthernet0/0/1]ip address 10.0.12.1 30 [R1]ospf 1 [R1-ospf-1]area 0 [R1-ospf-1-area-0.0.0.0]network 10.0.12.0 0.0.0.3 [R1-ospf-1-area-0.0.0.0]quit [R1-ospf-1]bfd all-interfaces enable [R1-ospf-1]bfd all-interfaces min-tx-interval 100 min-rx-interval 100 detect-multiplier 3 R2 R3 配置和R1类似。
推荐阅读
>>>【独家首发】新版HCIE考试解读直播回顾
>>> 重磅!华为HCIE认证改版升级通知!
>>>【命令解析】Linux用户行为的常用命令
>>> 网工必备通信基础知识,还不知道你就out了?
>>>【必备干货】网工入门必会桥接教程,外网+GNS3+Vmware
>>>【技术指南】5分钟搞清楚OSPF链路状态路由协议