您好! 请登录 注册

网络运维|双向转发检测BFD的方法

发表时间: 2020-04-23 19:44:14

浏览: 34

艾锑无限15年聚焦中小企业IT外包服务,提供桌面运维,网管服务,电脑维护,网络维护,服务器维护,项目工程等IT外包一站式服务,全国服务热线: 4006507820

与大师同行----重新认识自己

在远古时代,古希腊中部有一个叫德尔菲的圣哲之地,那些想获得成功的人都千里迢迢聚集于此,听取先哲的神谕。在与先哲相见之前需要经过德尔菲之门,在那座高大门上镌刻着几个大字“认识你自己”,听说先哲的神谕只有对那些愿意认识自己的人有效,只有那些愿意认识自己的人才能领悟到先哲的神谕对自己真正的意义和价值,才能带领自己走向人生最辉煌的顶点。

现在,那些伟大的先哲早已不复存在,但先哲们的精神及智慧仍流传至今,影响一代又一代的人不断认识自己,接受自己,超越自己。英国思想家培根说“读史使人明智”,如今又有多少人忘记了历史对我们的教诲,整日活在困惑及无助中,看不到生命中的光,也从未唤醒过自己,以为自己就是这样一个人,以为现在的自己就是本来的自己。

有些人也许是环境对他的改变,遇到什么他都不满意,见到谁他都看不惯,只要一开口就充满火药味,我在想也许是这个世界欠他的,也许是小的时候没有得到父母的呵护和爱,更也许是他没有看到自己还活在这个世界里,能量守恒定律会让他遭遇更多他不想要的结果。无法认识真实的自己,活着就是一种痛苦。

有些人也许是遇到了一些事件,在他的记忆最深的地方扎下了根,所以终日恍惚,恐惧和不安,每件事都做的浅尝辄止,每件事都期望做的完美,所以拼着命想做对,想得到他人的认可,但往往事与原违的时候,原有的一点点动力就消失了,有的时候破罐子破摔,越这样越离真真的自己很远,那什么才是真正的自己呢,也许当我们开始学会接受自己的不完美时,真相才会呈现出来,我们才能看到机会,找到突破口。

网络运维|双向转发检测BFD的方法

大家好,我是一枚从事IT外包网络运维工程师,今天和大家聊点网络可靠性的技术,这次咱们就聊一聊可靠网络中用到的BFD技术。

BFD简介

介绍BFD的定义和作用。

定义

双向转发检测BFD(Bidirectional Forwarding Detection)是一种全网统一的检测机制,用于快速检测、监控网络中链路或者IP路由的转发连通状况。

目的

为了减小设备故障对业务的影响,提高网络的可靠性,网络设备需要能够尽快检测到与相邻设备间的通信故障,以便及时采取措施,保证业务继续进行。在现有网络中,有些链路通常通过硬件检测信号,如SDH告警,检测链路故障,但并不是所有的介质都能够提供硬件检测。此时,应用就要依靠上层协议自身的Hello报文机制来进行故障检测。上层协议的检测时间都在1秒以上,这样的故障检测时间对某些应用来说是不能容忍的。同时,在一些小型三层网络中,如果没有部署路由协议,则无法使用路由协议的Hello报文机制来检测故障。

BFD协议就是在这种背景下产生的,BFD提供了一个通用的标准化的介质无关和协议无关的快速故障检测机制。具有以下优点:

·         对相邻转发引擎之间的通道提供轻负荷、快速故障检测。这些故障包括接口、数据链路,甚至有可能是转发引擎本身。

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

受益

BFD可以实现快速检测并监控网络中链路或IP路由的转发连通状态,改善网络性能。相邻系统之间通过快速检测发现通信故障,可以更快地帮助用户建立起备份通道以便恢复通信,保证网络可靠性。

 BFD原理描述

介绍BFD的实现原理。

原理简介

BFD在两台网络设备上建立会话,用来检测网络设备间的双向转发路径,为上层应用服务。BFD本身并没有邻居发现机制,而是靠被服务的上层应用通知其邻居信息以建立会话。会话建立后会周期性地快速发送BFD报文,如果在检测时间内没有收到BFD报文则认为该双向转发路径发生了故障,通知被服务的上层应用进行相应的处理。下面以OSPF与BFD联动为例,简单介绍会话工作流程。

图6  BFD会话建立流程图 

上图所示是一个简单的网络组网,两台设备上同时配置了OSPF与BFD,BFD会话建立过程如下所示:

1. OSPF通过自己的Hello机制发现邻居并建立连接。

2. OSPF在建立了新的邻居关系后,将邻居信息(包括目的地址和源地址等)通告给BFD。

3. BFD根据收到的邻居信息建立会话。

会话建立以后,BFD开始检测链路故障,并做出快速反应。

图7BFD故障发现处理流程图 

如上图所示:

1. 被检测链路出现故障。

2. BFD快速检测到链路故障,BFD会话状态变为Down。

3. BFD通知本地OSPF进程BFD邻居不可达。

4. 本地OSPF进程中断OSPF邻居关系。

BFD会话建立方式

BFD会话的建立有两种方式,即静态建立BFD会话和动态建立BFD会话。静态和动态创建BFD会话的主要区别在于本地标识符(Local Discriminator)和远端标识符(Remote Discriminator)的配置方式不同。BFD通过控制报文中的Local Discriminator和Remote Discriminator区分不同的会话。

·         静态建立BFD会话

静态建立BFD会话是指通过命令行手工配置BFD会话参数,包括配置本地标识符和远端标识符等,然后手工下发BFD会话建立请求。

·         动态建立BFD会话

动态建立BFD会话时,系统对本地标识符和远端标识符的处理方式如下:

§  动态分配本地标识符

当应用程序触发动态创建BFD会话时,系统分配属于动态会话标识符区域的值作为BFD会话的本地标识符。然后向对端发送Remote Discriminator的值为0的BFD控制报文,进行会话协商。

§  自学习远端标识符

当BFD会话的一端收到Remote Discriminator的值为0的BFD控制报文时,判断该报文是否与本地BFD会话匹配,如果匹配,则学习接收到的BFD报文中Local Discriminator的值,获取远端标识符。

BFD检测机制

BFD的检测机制是两个系统建立BFD会话,并沿它们之间的路径周期性发送BFD控制报文,如果一方在既定的时间内没有收到BFD控制报文,则认为路径上发生了故障。

BFD提供异步检测模式。在这种模式下,系统之间相互周期性地发送BFD控制报文,如果某个系统连续几个报文都没有接收到,就认为此BFD会话的状态是Down。

BFD会话管理

BFD会话有四种状态:Down、Init、Up和AdminDown。会话状态变化通过BFD报文的State字段传递,系统根据自己本地的会话状态和接收到的对端BFD报文驱动状态改变。BFD状态机的建立和拆除都采用三次握手机制,以确保两端系统都能知道状态的变化。以BFD会话建立为例,简单介绍状态机的迁移过程。

图8  BFD会话建立流程图 

1. RouterA和RouterB各自启动BFD状态机,初始状态为Down,发送状态为Down的BFD报文。对于静态配置BFD会话,报文中的Remote Discriminator的值是用户指定的;对于动态创建BFD会话,Remote Discriminator的值是0。

2. RouterB收到状态为Down的BFD报文后,状态切换至Init,并发送状态为Init的BFD报文。

3. RouterB本地BFD状态为Init后,不再处理接收到的状态为Down的报文。

4. RouterA的BFD状态变化同RouterB。

5. RouterB收到状态为Init的BFD报文后,本地状态切换至Up。

6. RouterA的BFD状态变化同RouterB。

以上文章由北京艾锑无限科技发展有限公司整理

咨询热线
15601064618

国际VPN

扫码立即获取

图片展示

© 2015-2017 www.bjitwx.com 京ICP备06011561号  北京艾锑无限科技发展有限公司 北京朝阳区酒仙桥路2号798艺术区音响南路A01座