一种ipran设备下实现多跳bfd的方法

文档序号:7813796阅读:1615来源:国知局
一种ip ran设备下实现多跳bfd的方法
【专利摘要】一种IP RAN设备下实现多跳BFD的方法,涉及通信【技术领域】,IP RAN设备包括主控板卡、业务板卡、交换板卡及BFD模块,方法包括如下步骤:S1.增加多跳BFD配置时,封装BFD报文的私有协议头,私有协议头包括带有私有标识的私有协议类型,在交换板卡内存中更新或新建该BFD报文,并写入交换板卡的FPGA;S2.交换板卡按照配置的BFD报文内容,发送多跳BFD报文给对应的业务板卡,业务板卡根据收到BFD报文并识别是多跳BFD报文后,发送到对端设备;对端设备解析所述多跳BFD报文,并发给交换板卡的FPGA处理;本发明避免误报Down告警,保证链路的连接性。
【专利说明】—种IP RAN设备下实现多跳BFD的方法

【技术领域】
[0001]本发明涉及通信【技术领域】,具体来讲是一种IP RAN设备下实现多跳BFD的方法。

【背景技术】
[0002]现有运营商部署的传输网络中会设计有一定的冗余备份链路,当网络发生故障时就要求网络设备能够快速检测出故障,并将流量切换至备份链路以加快网络收敛速度。
[0003]目前,一些硬件如SDH(Synchronous Digital Hierarchy,同步数字体系)等可以提供这个功能,但是对于很多硬件或者软件无法提供这个功能,比如以太网;还有一些无法实现路径检测,比如转发引擎或者接口等,无法实现端到端的检测。
[0004]BFD(Bidirect1nal Forwarding Detect1n,双向转发检测)协议提供了一个通用的标准化的介质无关和协议无关的快速故障检测机制。BFD分为两种,单跳BFD和多跳BFD,单跳BFD仅仅用于检测网关之间的连通性,主要用于RNC(Rad1 Network Controller,无线网络控制器)和网关路由器之间的检测,而多跳BFD则属于端到端的检测,可以直接和对端节点进行连通性检测。
[0005]BGP (Border Gateway Protocol,边界网关协议)是运行于 TCP (Transmiss1nControl Protocol,传输控制协议)上的一种自治系统的路由协议。BGP的邻居包含IBGP(Inter1r Border Gateway Potocol,内部边界网关协议)和 EBGP(External BorderGateway Protocol,外部边界网关协议),其中同一个自治系统(AS)中的两个或多个对等实体之间运行的BGP被称为IBGP。在建立邻居关系的时候,IBGP采用Loopback(环回)地址来建立,但要保证Loopback地址可达,米用Loopback地址建立的邻居不会因为链路的Down而断。所以IBGP协议的BFD,也是使用本地和对端设备的Loopback地址来建立BFD会话,这样的BFD就属于多跳BFD。
[0006]目前有两种联动是BFD For IP多跳的,一种是LSP BFD反向走路由的情况,一种是 BFD For IBGP。两种方式的 BFD,DIP (Destinat1n IP,目的 IP 地址)为对端 Loopback口的IP地址。其中IBGP协议,只要IGP路由可达,就算前面建立邻居的链路Down (断开)了,还可以通过其他的路径继续保持邻居关系,就不会引起路由的震荡。
[0007]目前IP RAN设备的BFD采用的是端口发送方式,上述的两种情况到对端Loopback口的下一跳发生变化时,实际上,协议要求是不能重建的,即BFD会话需要响应出端口的变化,每条路由都需要关联到BFD,如果通知BFD不及时,就会出现BFD Down告警,引起协议的重建,与标准规定不符合。


【发明内容】

[0008]针对现有技术中存在的缺陷,本发明的目的在于提供一种IPRAN设备下实现多跳BFD的方法,避免误报Down告警,保证链路的连接性。
[0009]为达到以上目的,本发明采取一种IP RAN设备下实现多跳BFD的方法,IP RAN设备包括主控板卡、业务板卡、交换板卡及BFD模块,所述方法包括如下步骤:S1.增加多跳BFD配置时,封装BFD报文的私有协议头,私有协议头包括带有私有标识的私有协议类型,在交换板卡内存中更新或新建该BFD报文,并写入交换板卡的FPGA ;S2.交换板卡按照配置的BH)报文内容,发送多跳BFD报文给对应的业务板卡,业务板卡根据收到BFD报文并识别是多跳BFD报文后,发送到对端设备;对端设备解析所述多跳BFD报文,并发给交换板卡的FPGA处理。
[0010]在上述技术方案的基础上,所述SI中,主控板卡下发BFD的配置,BFD模块判断为增加配置时,对该BFD报文进行解析,若为多跳报文,增加多跳BFD配置。
[0011]在上述技术方案的基础上,所述SI中,BFD配置的多跳出接口为0,目的UDP端口为4784,私有协议头封装中还包括发送的槽位号、目的IP地址、虚拟转发实例ID,以及业务板卡上一个固定的端口号,其中槽位号的选择为当前在位的最小的业务板卡槽位号,固定的端口为所有端口中选定一个。
[0012]在上述技术方案的基础上,S2中具体步骤如下:S201.交换板卡按照配置的BFD报文内容,发送多跳BFD报文给槽位号对应的本端设备的业务板卡;S202.业务板卡收到BFD报文后,查看BFD报文的私有协议头内容,根据私有标志识别出多跳BFD报文,再根据私有协议头中虚拟转发实例ID和目的IP查路由,转发至对端设备;S203.对端设备解析收到的BFD报文,当目的UDP端口号为4784、目的IP地址值是本机路由时,将BFD报文发给交换板卡的FPGA处理。
[0013]在上述技术方案的基础上,两台IP RAN设备之间通过多跳BFD实现动态学习,设定两台IP RAN设备分别为A端和B端,步骤为:S301.A端收到来自B端的BFD报文并解析后,根据该BFD报文的目的IP查找A端已建立的BFD会话的源IP,若存在与BFD报文中目的IP相等的会话源IP JijBFD报文中的本端标识符即为A端该会话的远端标识符,A端发送带有该远端标识符的BFD报文给B端;S302.B端收到来自A端的BFD报文并解析,将解析出的远端标识符与B端的本端标识符匹配,并将BFD报文中携带的本端标识符写入B端匹配的本端标识符条目中,作为供B端该条目学习的对端标识符。
[0014]在上述技术方案的基础上,每台IP RAN设备设置FPGA,FPGA接收并解析BFD报文,将该BFD报文中的Vlan、源IP、目的IP、本端标识符存放于先入先出队列。
[0015]在上述技术方案的基础上,包括实现BFD状态机迁移,BFD通过三次握手的机制建立会话,发送方发送BFD报文时,在Sta字段填入本地当前的会话状态,接收方根据收到的BFD报文的Sta字段及本地当前会话状态进行BFD状态机迁移,建立会话。
[0016]在上述技术方案的基础上,所述BFD状态机由A端到B端迁移的过程为:S401.A端发送状态为Down的BFD报文给B端;S402.B端收到上述状态为Down的BFD报文后,本地会话状态由Down迁移到Init,随后B端将会话状态为Init的BFD报文发送给A端;S403.A端收到上述状态为Init的BFD报文后,本地会话状态由Down迁移到UP,随后A端将会话状态为Up的BFD报文发送给B端;S404.B端收到上述状态为Up的BFD报文后,本地会话状态由Init迁移到Up,随后B端将会话状态为Up的BFD报文发送给A端;S405.此后A端和B端都周期性的发送状态为Up的BFD报文。
[0017]在上述技术方案的基础上,所述Sta字段填0,表明BFD的会话状态为AdminDown ;Sta字段填1,表明BFD的会话状态为Down ;Sta字段填2,表明BFD的会话状态为Init ;Sta字段填3,表明BFD的会话状态为Up。
[0018]本发明的有益效果在于:IP RAN设备下实现多跳BFD的方法中,由于出接口为0,BFD报文在转发平面不知道出口,业务板卡通过虚拟转发实例ID和目的IP地址查找路由表,把BFD报文发到对端设备;由于IBGP采用Loopback地址建立的邻居不会因为链路的Down而断,所以定时轮询槽位的状态,一旦槽位被拔出就立即更改出接口,就可以保证BFD不会Down掉,这样BGP协议可以保持正常的连接状态,不会中断重建。

【专利附图】

【附图说明】
[0019]图1为本发明中BFD报文的私有协议头的封装格式示意图;
[0020]图2为本发明业务板卡发送和接收BFD报文处理流程图;
[0021]图3为本发明实施例两台IP RAN设备之间通过多跳BFD实现动态学习的流程图;
[0022]图4为本发明实施例BFD状态机迁移过程图。

【具体实施方式】
[0023]以下结合附图及实施例对本发明作进一步详细说明。
[0024]本发明所基于的IP RAN设备包括主控板卡、业务板卡、交换板卡及BFD模块,BFD模块用于处理BFD相关内容。当主控板卡的IBGP邻居的状态从闲置(IDLE)变为建立连接时(ESTABLISHED),将触发增加BFD配置;当IBGP邻居的状态从建立连接变为闲置时,触发删除BFD配置。
[0025]本发明IP RAN设备下实现多跳BFD的方法如下:
[0026]S1.增加多跳BFD配置时,按照图1所示封装BFD报文的私有协议(PPH)头,PPH头共有12字节,第2个字节为PPH类型,填写私有标识,例如:0bl000 ;第4个字节为选取业务板卡上一个固定的端口号,本实施例中填1,表示业务板卡的第一个端口 ;第6个字节为发送的槽位号,槽位号的选择为当前在位的最小的业务板卡槽位号g_ulBfdSlotID;第8个字节为虚拟转发实例ID (VRFID),第9-12个字节填写目的IP地址(IPV4),其余的字节为多个出接口,所有出接口均填0,表示为多跳,目的UDP (用户数据报协议)端口号为4784。
[0027]增加多跳BFD配置需要进行判断,BFD模块收到来自主控板卡的BFD配置,首先判断是增加还是删除,如果是删除,则清空此条BFD在FPGA(Field Programmable GateArray,现场可编程逻辑门阵列)寄存器中的配置;如果是增加,则解析所述BFD配置是多跳还是单跳,只有解析后是多跳的BFD,才进入步骤SI,封装BFD报文的私有协议(PPH)头。
[0028]S2.交换板卡按照配置的BFD报文内容,发送多跳BFD报文给对应的业务板卡,业务板卡根据收到BFD报文并识别是多跳BFD报文后,发送到对端设备(对端IP RAN设备);对端设备解析所述多跳BFD报文,并发给交换板卡的FPGA处理;具体步骤如下:
[0029]S201.交换板卡的FPGA按照配置的BFD报文内容,发送多跳动态BFD报文给槽位号对应的业务板卡,即发往本端设备当前在位最小槽位号的业务板卡。
[0030]S202.业务板卡收到BFD报文后,查看BFD报文的PPH头内容,根据第2个字节为OblOOO识别出多跳BFD报文,然后根据PPH头中虚拟转发实例ID和目的IP查路由,然后转发到对端设备。
[0031]S203.对端设备解析收到的BFD报文,当目的UDP端口号为4784、目的IP地址值是本机路由时,将BFD报文发给交换板卡的FPGA处理。
[0032]上述步骤完成了动态BFD报文的发出和链路上的转发过程,此后,可以进行BFD模块对BFD会话的动态学习过程。
[0033]如图3所示,两台IP RAN设备之间通过多跳BFD实现动态学习,设定两台IP RAN设备分别为A端和B端,每台IP RAN设备设置FPGA,二者同时向对端发送BFD报文,A端发出My Discriminator (本端标识符)为100, Your Discriminator (远端标识符)为O的BFD 报文,B 端发送 My Discriminator 200> Your Discriminator O 的BFD 报文;以 A 端为例,步骤为:
[0034]S3OL A 端收到来自 B 端的 My Discriminator 200> Your Discriminator O 的BFD报文后,通过该端FPGA解析该BFD报文,将BFD报文中的Vlan (Virtual Local AreaNetwork,虚拟局域网)、源IP、目的IP、本端标识符存放于FIF0(First Input FirstOutput,先入先出队列)。A端从FIFO中逐条读取解析出来的信息,根据该BFD报文的目的IP查找A端已建立的BFD会话的源IP,若存在与BFD报文中目的IP相等的会话源IPJlJBFD报文中的My Discriminator即为A端该会话的Your Discriminator,A端发送带有该Your Discriminator200 的 BFD 报文给 B 端;
[0035]S302.B端收到A端发来的上述BFD报文,B端的FPGA解析报文中的My Discriminator = 100, Your Discriminator = 200 ;根据解析出来的 YourDiscriminator200和本地的My Discriminator为200的BFD会话相匹配,并将解析出来的My DiscriminatorlOO写入My Discriminator200这个条目的FPGA中,供本端该条目学习Your Discriminator,所以 B 端的 IP RAN 设备就学习到 Your Discriminator = 100。
[0036]同理,此后 A 端发 My Discriminator 为 100、Your Discriminator 为 200 的 BFD报文,B 端发 My Discriminator 为 200、Your Discriminator 为 100 的 BFD 报文。
[0037]A端和B端之间动态BFD的自学习远端标识符功能完成,然后进行BFD状态机的迁移过程,BFD通过三次握手的机制建立会话,发送方发送BFD报文时,在Sta字段填入本地当前的会话状态,接收方根据收到的BFD报文的Sta字段及本地当前会话状态进行BFD状态机迁移,建立会话。如图4所示,BFD状态机迁移过程为:
[0038]S401.A端发送状态为Down的BFD报文给B端。
[0039]S402.B端收到上述状态为Down的BFD报文后,本地会话状态由Down迁移到Init,即B端Sta字段填为2,表明会话状态为Init,随后将会话状态为Init的BFD报文发送给A端。
[0040]S403.A端收到上述状态为Init的BFD报文后,本地会话状态由Down迁移到Up,即Sta字段填为3,表明会话状态为UP,随后A端将会话状态为Up的BFD报文发送给B端;
[0041]S404.B端收到上述状态为Up的BFD报文后,本地会话状态由Init迁移到Up,即Sta字段填为3,表明会话状态为UP,随后B端将会话状态为Up的BFD报文发送给A端;
[0042]S405.此后A端和B端都周期性的发送状态为Up的BFD报文。
[0043]上面叙述了从下发BFD配置,到动态BFD的ID学习过程和BFD状态机迁移的完整过程。在实施中,BFD会话建立及定时器协商完成后,两端会以协商后的间隔发送BFD报文。如果在检测时间内没有收到BFD报文,BFD会话会迁移到DOWN状态,并通知该会话所服务的上层应用发生故障,由上层应用采取相应的措施。本端BFD会话DOWN后,发给对端的BFD报文中的Sta字段就填为I,通知对端会话D0WN,对端的BFD会话也迁移到DOWN状态。
[0044]BFD上报的事件包括:Admin Down、Detect Down等。主控板卡的OAM模块过滤BFD上报的事件,只将Detect Down事件上报给BGP模块。当BGP邻居在ESTABLISHED状态收到BFD上报的DetectDown事件时,将邻居状态置为IDLE,这就达到了快速感知链路故障的目的,然后等待BGP邻居重新建立。
[0045]本发明不局限于上述实施方式,对于本【技术领域】的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。
【权利要求】
1.一种IP RAN设备下实现多跳BFD的方法,IP RAN设备包括主控板卡、业务板卡、交换板卡及BFD模块,其特征在于,所述方法包括如下步骤: . 51.增加多跳BFD配置时,封装BFD报文的私有协议头,私有协议头包括带有私有标识的私有协议类型,在交换板卡内存中更新或新建该BFD报文,并写入交换板卡的FPGA ; . 52.交换板卡按照配置的BFD报文内容,发送多跳BFD报文给对应的业务板卡,业务板卡根据收到BFD报文并识别是多跳BFD报文后,发送到对端设备;对端设备解析所述多跳BFD报文,并发给交换板卡的FPGA处理。
2.如权利要求1所述的IPRAN设备下实现多跳BFD的方法,其特征在于:所述SI中,主控板卡下发BFD的配置,BFD模块判断为增加配置时,对该BFD报文进行解析,若为多跳报文,增加多跳BFD配置。
3.如权利要求1所述的IPRAN设备下实现多跳BFD的方法,其特征在于:所述SI中,BFD配置的多跳出接口为O,目的UDP端口为4784,私有协议头封装中还包括发送的槽位号、目的IP地址、虚拟转发实例ID,以及业务板卡上一个固定的端口号,其中槽位号的选择为当前在位的最小的业务板卡槽位号,固定的端口为所有端口中选定一个。
4.如权利要求3所述的IPRAN设备下实现多跳BFD的方法,其特征在于,S2中具体步骤如下: . 5201.交换板卡按照配置的BFD报文内容,发送多跳BFD报文给槽位号对应的本端设备的业务板卡; . 5202.业务板卡收到BFD报文后,查看BFD报文的私有协议头内容,根据私有标志识别出多跳BFD报文,再根据私有协议头中虚拟转发实例ID和目的IP查路由,转发至对端设备; . 5203.对端设备解析收到的BFD报文,当目的UDP端口号为4784、目的IP地址值是本机路由时,将BFD报文发给交换板卡的FPGA处理。
5.如权利要求1所述的IPRAN设备下实现多跳BFD的方法,其特征在于,两台IP RAN设备之间通过多跳BFD实现动态学习,设定两台IP RAN设备分别为A端和B端,步骤为: . 5301.A端收到来自B端的BFD报文并解析后,根据该BFD报文的目的IP查找A端已建立的BFD会话的源IP,若存在与BFD报文中目的IP相等的会话源IP JljBFD报文中的本端标识符即为A端该会话的远端标识符,A端发送带有该远端标识符的BFD报文给B端; . 5302.B端收到来自A端的BFD报文并解析,将解析出的远端标识符与B端的本端标识符匹配,并将BFD报文中携带的本端标识符写入B端匹配的本端标识符条目中,作为供B端该条目学习的对端标识符。
6.如权利要求5所述的IPRAN设备下实现多跳BFD的方法,其特征在于:每台IP RAN设备设置FPGA,FPGA接收并解析BFD报文,将该BFD报文中的Vlan、源IP、目的IP、本端标识符存放于先入先出队列。
7.如权利要求5所述的IPRAN设备下实现多跳BFD的方法,其特征在于:包括实现BFD状态机迁移,BFD通过三次握手的机制建立会话,发送方发送BFD报文时,在Sta字段填入本地当前的会话状态,接收方根据收到的BFD报文的Sta字段及本地当前会话状态进行BFD状态机迁移,建立会话。
8.如权利要求7所述的IPRAN设备下实现多跳BFD的方法,其特征在于,所述BFD状态机由A端到B端迁移的过程为:. 5401.A端发送状态为Down的BFD报文给B端;. 5402.B端收到上述状态为Down的BFD报文后,本地会话状态由Down迁移到Init,随后B端将会话状态为Init的BFD报文发送给A端;. 5403.A端收到上述状态为Init的BFD报文后,本地会话状态由Down迁移到UP’随后A端将会话状态为Up的BFD报文发送给B端;. 5404.B端收到上述状态为Up的BFD报文后,本地会话状态由Init迁移到Up,随后B端将会话状态为Up的BFD报文发送给A端;. 5405.此后A端和B端都周期性的发送状态为Up的BFD报文。
9.如权利要求8所述的IP RAN设备下实现多跳BFD的方法,其特征在于:所述Sta字段填0,表明BFD的会话状态为AdminDown ;Sta字段填1,表明BFD的会话状态为Down ;Sta字段填2,表明BFD的会话状态为Init ;Sta字段填3,表明BFD的会话状态为Up。
【文档编号】H04L12/703GK104270309SQ201410455067
【公开日】2015年1月7日 申请日期:2014年9月9日 优先权日:2014年9月9日
【发明者】许吉东 申请人:烽火通信科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1