BFD协议报文的传输方法和装置制造方法及图纸

技术编号:16974491 阅读:74 留言:0更新日期:2018-01-07 09:29
本公开公开了一种BFD协议报文的传输方法和装置。该方法应用于堆叠设备,所述堆叠设备包括第一堆叠框和第二堆叠框,所述堆叠设备包括二条或二条以上堆叠链路,所述堆叠链路用于所述第一堆叠框和第二堆叠框之间传输BFD协议报文;所述方法包括:计算每条堆叠链路对应的负载因子,所述负载因子用于表示所述堆叠链路受故障影响的可能性;根据所述负载因子设置所述堆叠链路传输BFD协议报文的链路顺序;根据所述链路顺序选择堆叠链路传输所述BFD协议报文。本公开能够增强BFD协议报文跨框传输的稳定性。

【技术实现步骤摘要】
BFD协议报文的传输方法和装置
本公开涉及网络通信
,特别涉及一种BFD协议报文的传输方法和装置。
技术介绍
BFD(BidirectionalForwardingDetection,双向转发检测)提供了一个通用的、标准化的、介质无关、协议无关的快速故障检测机制,可以为各上层协议如路由协议、MPLS等统一地快速检测两台路由器间双向转发路径的故障。如图1所述,当路由器DUT1有流量要发送到路由器DUT2,主链路是走路由器DUT1直接到路由器DUT2,备链路是走路由器DUT1-DUT3-DUT3;3台路由器设备之间都构建了OSPF(OpenShortestPathFirst,开放式最短路径优先)邻居,用于彼此之间传递和更新路由。如果当DUT1和DUT2之间的链路发生故障时,由于路由协议之间交互的保活报文间隔比较长,DUT1要等一段时间才知道主链路不通该走备链路,这样就会造成链路之间因故障而造成丢包比较多。为减少这种丢包,通常通过增加BFD进行改善。如果路由器组网中的设备是IRF(IntelligentResilientFramework,智能弹性架构)设备,本公开又称为堆叠设备,即将多台设备连接在一起,进行必要的配置后,虚拟化成一台设备。在图1中的DUT1为由两个或两个以上的堆叠框堆叠形成的堆叠设备时,DUT1的堆叠框之间通过多条堆叠链路连接。因为BFD协议报文是从DUT1的全局主控发出的,如果DUT1连接DUT2的用于交互BFD协议报文的接口不在全局主控所在的堆叠框,则BFD协议报文势必就需要通过堆叠链路,先发到目的堆叠框,然后通过目的堆叠框的接口板再发到DUT2。目前,对全局主控所在的堆叠框发出的BFD协议报文,通常根据BFD协议报文的内容进行哈希hash负载分担,选择其中一条堆叠链路进行报文发送;通常情况下,会将BFD协议报文固定发送到一条堆叠链路上,如果这条堆叠链路发生故障,BFD协议报文有较大的可能性因为链路切换而导致协议交互超时,继而引发上层协议震荡。
技术实现思路
基于本公开的一个目的,本公开提供一种BFD协议报文的传输方法和装置,以解决堆叠链路在传输BFD协议报文时,现有技术的负载分担方式导致链路故障时BFD协议报文因链路切换而导致协议交互超时的技术问题。为达到上述目的,本公开的技术方案是这样实现的:一方面,本公开提供了一种BFD协议报文的传输方法,应用于堆叠设备,所述堆叠设备包括第一堆叠框和第二堆叠框,所述堆叠设备包括二条或二条以上堆叠链路,所述堆叠链路用于所述第一堆叠框和第二堆叠框之间传输BFD协议报文;所述方法包括:计算每条堆叠链路对应的负载因子,所述负载因子用于表示所述堆叠链路受故障影响的可能性;根据所述负载因子设置所述多条堆叠链路传输BFD协议报文的链路顺序;根据所述链路顺序选择堆叠链路传输所述BFD协议报文。另一方面,本公开提供了一种BFD协议报文的传输装置,应用于堆叠设备,所述堆叠设备包括第一堆叠框和第二堆叠框,所述堆叠设备包括二条或二条以上堆叠链路,所述堆叠链路用于所述第一堆叠框和第二堆叠框之间传输BFD协议报文;该装置包括:计算单元,用于每条堆叠链路对应的负载因子,所述负载因子用于表示所述堆叠链路受故障影响的可能性;设置单元,用于根据所述负载因子设置所述堆叠链路传输BFD协议报文的链路顺序;选择单元,用于根据所述链路顺序选择堆叠链路传输所述BFD协议报文。另一方面,本公开提供了一种BFD协议报文的传输装置,包括处理器和机器可读存储介质,该机器可读存储介质存储有能够被处理器执行的机器可执行指令,该处理器被机器可执行指令促使:执行上述的BFD协议报文的传输方法。另一方面,本公开提供了一种机器可读存储介质,存储有机器可执行指令,在被处理器调用和执行时,该机器可执行指令促使处理器:执行上述的BFD协议报文的传输方法。本公开的有益效果是:通过配置各个堆叠链路的负载因子,根据负载因子将BFD协议报文均衡到每条堆叠链路上,这样在某条链路故障时,BFD协议报文依然能够通过其他堆叠链路快速到达目的堆叠框;且本公开选择受故障影响较小的堆叠链路传输BFD协议报文,很大概率不需进行链路切换,进而不会出现协议交换超时,能够增强BFD协议报文跨框传输的稳定性。附图说明图1为本公开示出的路由器之间的链路示意图;图2为本公开示出的跨框BFD交互模型示意图;图3为本公开实施例提供的BFD协议报文的传输方法流程图;图4为本公开实施例提供的BFD协议报文的传输装置结构框图;图5为本公开实施例示出的一种BFD协议报文的传输装置的硬件结构示意图。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。目前,都是按hash负载分担的方式进行BFD协议报文的跨框传输,如图2所示,堆叠框1和堆叠框2组成了堆叠设备,即路由器DUT1,堆叠框1上插入堆叠单板SlotA、SlotB和SlotC,堆叠框1上插入堆叠单板SlotD和SlotE,堆叠框1和堆叠框2共连接有4条堆叠链路,堆叠链路是用于堆叠保活报文以及堆叠框1和堆叠框2之间的单播/组播/广播等协议报文的通信,同时也用于跨框流量的转发。图2中的DUT1和DUT2部署了BFD交互协议,DUT1上连接DUT2的端口位于堆叠框2的SlotE上,但DUT1的全局主控MasterM设置在堆叠框1。由于BFD协议报文是从MasterM发出的,需要通过堆叠链路,转发到堆叠框2,然后堆叠框2通过SlotE将BFD协议报文板发送给DUT2。由于堆叠框1和堆叠框2之间有多条堆叠链路,MasterM发出的BFD协议报文会根据报文内容进行hash负载分担,选择其中的一条堆叠链路进行报文发送。针对一个BFD会话来说,BFD协议报文的源IP、目的IP等信息都是固定的,所以一般情况下依据hash算法会计算为固定的一条堆叠链路。若是通过堆叠链路S4进行报文传输,则由MasterM发出的BFD协议报文会从SlotA到SlotE,然后发送给DUT2。参考图2所示,堆叠框2的SlotE涉及4条堆叠链路中的3条,即BFD协议报文有3/4的概率是通过SlotE转发的,一旦SlotE发生故障,BFD检测有较大的可能性因为链路切换而导致协议交互超本文档来自技高网
...
BFD协议报文的传输方法和装置

【技术保护点】
一种BFD协议报文的传输方法,其特征在于,应用于堆叠设备,所述堆叠设备包括第一堆叠框和第二堆叠框,所述堆叠设备包括二条或二条以上堆叠链路,所述堆叠链路用于所述第一堆叠框和第二堆叠框之间传输BFD协议报文;所述方法包括:计算每条堆叠链路对应的负载因子,所述负载因子用于表示所述堆叠链路受故障影响的可能性;根据所述负载因子设置所述堆叠链路传输BFD协议报文的链路顺序;根据所述链路顺序选择堆叠链路传输所述BFD协议报文。

【技术特征摘要】
1.一种BFD协议报文的传输方法,其特征在于,应用于堆叠设备,所述堆叠设备包括第一堆叠框和第二堆叠框,所述堆叠设备包括二条或二条以上堆叠链路,所述堆叠链路用于所述第一堆叠框和第二堆叠框之间传输BFD协议报文;所述方法包括:计算每条堆叠链路对应的负载因子,所述负载因子用于表示所述堆叠链路受故障影响的可能性;根据所述负载因子设置所述堆叠链路传输BFD协议报文的链路顺序;根据所述链路顺序选择堆叠链路传输所述BFD协议报文。2.根据权利要求1所述的方法,其特征在于,所述根据所述负载因子设置所述堆叠链路传输BFD协议报文的链路顺序,包括:根据每条堆叠链路的负载因子得到该堆叠链路的负载值,所述负载值关联于所述堆叠链路传输BFD协议报文的次数;根据所述负载值设置所述链路顺序,并在每次传输BFD协议报文后,调整所述负载值。3.根据权利要求2所述的方法,其特征在于,所述根据所述负载值设置所述链路顺序包括:根据所述负载值由大到小的顺序对所述堆叠链路进行第一次排序,得到初始链路序列,将初始链路序列中负载值最大的堆叠链路作为第一传输链路,并通过增加该堆叠链路受故障影响的可能性调整该堆叠链路的负载值;基于初始链路序列并依据调整后的负载值进行第二次排序,得到第二链路序列,将第二链路序列中负载值最大的堆叠链路作为第二传输链路,并通过增加该堆叠链路受故障影响的可能性调整该堆叠链路的负载值;依此,基于上次链路序列并依据调整后的负载值进行本次排序,得到本次链路序列,将本次链路序列中负载值最大的堆叠链路作为本次传输链路,并通过增加该堆叠链路受故障影响的可能性调整该堆叠链路的负载值,直至所述负载值达到设定值,完成所述动态排序。4.根据权利要求3所述的方法,其特征在于,基于上次链路序列并依据调整后的负载值进行本次排序包括:将调整后的负载值与上次链路序列中上次传输链路的下一位堆叠链路的负载值进行比较;在调整后的负载值不大于所述下一位堆叠链路的负载值时,保持本次排序,本次链路序列中各堆叠链路的排序与上次链路序列中各堆叠链路的排序相同;在调整后的负载值大于所述下一位堆叠链路的负载值时,通过互换上次链路序列中调整后的负载值对应的堆叠链路与下一位堆叠链路的排位,得到本次链路序列。5.根据权利要求1所述的方法,其特征在于,第一堆叠框和第二堆叠框分别包括一块或一块以上堆叠单板,所述堆叠链路两端分别与第一堆叠框的一块堆叠单板和第二堆叠框的一块堆叠单板连接,所述算每条堆叠链路对应的负载因子,包括:分别获取连接于当前堆叠链路两端的两块堆叠单板所连接的堆叠链路的总数,并以两个总数中的非较小值作为当前堆叠链路的负载量;根据所述负载量计算所述堆叠链路的负载因子。6.一种BFD协议报文的传输装置,其特征在于,应用于堆叠设备,所述堆叠设备包括第一堆叠框和第二堆叠框,所述堆叠设备包括二条或二条以上堆叠链路,所述堆叠链路用于所述第一堆叠框和第...

【专利技术属性】
技术研发人员:吴文汪亮刘辉占玉龙
申请(专利权)人:新华三技术有限公司
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1