一种聚合链路的双向转发检测方法和装置制造方法

文档序号:7824331阅读:360来源:国知局
一种聚合链路的双向转发检测方法和装置制造方法
【专利摘要】本发明实施方式提出一种聚合链路的双向转发检测(BFD)方法和装置。该方法包括:与所述聚合链路的邻居交换机建立不发送BFD报文的BFD会话,并与所述聚合链路的邻居交换机建立所述聚合链路的micro-BFD会话组,所述micro-BFD会话组包括用于检测所述聚合链路的成员端口连通状态的micro-BFD会话,每一个成员端口分别对应一个micro-BFD会话;使能所述micro-BFD会话组中的micro-BFD会话分别向所述BFD会话上报各自所检测的成员端口连通状态;使能所述BFD会话基于所述成员端口连通状态向上层协议模块上报聚合链路的连通状态。
【专利说明】一种聚合链路的双向转发检测方法和装置

【技术领域】
[0001]本发明实施方式属于网络通信【技术领域】,特别是一种聚合链路的双向转发检测(BFD)方法和装置。

【背景技术】
[0002]双向转发检测(Bidirect1nalForwarding Detect1n,BFD)是一种通用的、标准化的、介质无关和协议无关的快速故障检测机制,用于检测IP网络中链路的连通状况,保证设备之间快速检测出通信故障,以便及时采取措施和保证业务持续运行。BFD可以为各种上层协议快速检测两台设备间双向转发路径的故障。
[0003]以太网链路聚合简称链路聚合,通过将多条以太网物理链路捆绑为一条聚合链路,从而实现增加链路带宽的目的。将以太网接口捆绑即可实现物理链路的捆绑。以太网接口捆绑后形成聚合组,聚合组对应于聚合链路的聚合接口,每个以太网接口都是聚合接口的成员端口。
[0004]在现有技术中,当上层协议需要聚合链路使能BFD会话时,只能通过一个成员端口建立发送BFD报文的BFD会话。然而,当建立BFD会话的成员端口 Down时,即使其他成员端口仍然可用,BFD会话仍然向上层协议模块上报聚合链路Down,从而造成误报。


【发明内容】

[0005]本发明实施方式提出一种聚合链路的双向转发检测方法和装置,从而降低误报。
[0006]根据本发明实施方式的一方面,提出一种聚合链路的BFD方法。所述方法应用于在所述聚合链路两端互为邻居的本端交换机或对端交换机,该方法包括:
[0007]与所述聚合链路的邻居交换机建立不发送BFD报文的BFD会话,并与所述聚合链路的邻居交换机建立所述聚合链路的micro-BFD会话组,所述micro_BFD会话组包括用于检测所述聚合链路的成员端口连通状态的micix)-BFD会话,每一个成员端口分别对应一个micro-BFD 会话;
[0008]使能所述micro-BFD会话组中的micro-BFD会话分别向所述BFD会话上报各自所检测的成员端口连通状态;
[0009]使能所述BFD会话基于所述成员端口连通状态向上层协议模块上报聚合链路的连通状态。
[0010]根据本发明实施方式的一方面,提出一种聚合链路的BFD装置。所述装置应用于在所述聚合链路两端互为邻居的本端交换机或对端交换机,该装置包括:
[0011]会话建立单元,用于与所述聚合链路上的邻居交换机建立不发送BFD报文的BFD会话,并与所述聚合链路上的邻居交换机建立所述聚合链路的mic1-BFD会话组,所述micro-BFD会话组包括用于检测所述聚合链路的成员端口连通状态的micro-BFD会话,每一个成员端口分别对应一个micro-BFD会话;
[0012]成员端口连通状态接收单元,用于使能所述micro-BFD会话组中的micro-BFD会话分别向所述BFD会话上报各自所检测的成员端口连通状态;
[0013]连通状态上报单元,用于使能所述BFD会话基于所述成员端口连通状态向上层协议模块上报聚合链路的连通状态。
[0014]由此可见,应用本发明实施方式之后,在聚合链路上创建不发送BFD报文的BFD会话,该BFD会话与聚合链路上各个成员端口的micro-BFD会话并不相互独立,而是具有关联性,BFD会话可以基于各个成员端口的miCTo-BFD会话所上报的成员端口连通状态向上层协议模块上报聚合链路的连通状态,从而避免误报情形。

【专利附图】

【附图说明】
[0015]图1为根据本发明实施方式的聚合链路的双向转发检测方法流程图;
[0016]图2为根据本发明实施方式的聚合链路示意图;
[0017]图3为图2中OSPF模块使能BFD会话的流程图;
[0018]图4为图2中聚合接口使能BFD会话的流程图;
[0019]图5为图2中成员接口失效流程图;
[0020]图6为图2中新成员端口加入聚合链路的流程图;
[0021]图7为图2中成员端口退出聚合链路的流程图;
[0022]图8为根据本发明实施方式的聚合链路的双向转发检测装置的结构示意图。

【具体实施方式】
[0023]为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明作进一步的详细描述。
[0024]在本发明实施方式中,在聚合链路上创建不发送BFD报文的BFD会话,而且BFD会话与聚合接口的各个成员端口的miCTo-BFD会话具有关联性。BFD会话可以基于各个成员端口的mic1-BFD会话所上报的成员端口连通状态向上层协议模块上报聚合链路的连通状态。
[0025]图1为根据本发明实施方式的聚合链路的双向转发检测方法流程图。该方法流程可以应用于位于聚合链路两端且互为邻居的本端交换机或对端交换机。
[0026]在本端交换机和对端交换机上具有上层协议模块。该上层协议模块需要BFD为其提供关于聚合链路的双向转发检测服务,因此在本端交换机和对端交换机上分别使能BFD机制。
[0027]具体地,上层协议模块可以是开放式最短路径优先(Open Shortest Path First,OSPF)模块、多协议标签交换(Mult1-Protocol Label Switching,MPLS)模块,边界网关协议(Border Gateway Protocol,BGP)模块等等。
[0028]以上详细描述了上层协议模块的具体实例,本领域技术人员可以意识到,这种罗列仅是示范性的,并不用于对本发明保护范围构成限定。
[0029]如图1所示,该方法包括:
[0030]步骤101:与聚合链路的邻居交换机建立不发送BFD报文的BFD会话,并与聚合链路的邻居交换机建立聚合链路的micro-BFD会话组,micro-BFD会话组包括用于检测聚合链路的成员端口连通状态的micro-BFD会话,每一个成员端口分别对应一个micro-BFD会话。
[0031]在这里,本端交换机上的上层协议模块通过自身的Hello机制发现邻居并建立邻居关系。然后,上层协议模块分别将邻居信息(包括目的地址和源地址等)通告本端交换机和对端交换机上的BFD模块,BFD模块再根据接收到的邻居信息与聚合链路的邻居交换机建立BFD会话。需要注意的是:现有技术中的BFD会话需要周期性地在聚合链路上快速发送BFD报文。然而,本发明所建立的BFD会话并不发送BFD报文。因此,可以将本发明的BFD会话视为一种虚拟BFD会话。
[0032]在本发明实施方式中,BFD模块还建立聚合链路的micro-BFD会话组。micro-BFD会话组包括用于检测聚合链路的成员端口连通状态的mic1-BFD会话,每一个成员端口分别对应一个micro-BFD会话。具体地,BFD模块在聚合链路的各个成员端口分别创建micro-BFD会话,每个micro-BFD会话单独检测对应的成员端口的连通状态,其中BFD模块将各个micro-BFD会话集中为micro-BFD会话组。
[0033]步骤102:使能micro-BFD会话组中的micro-BFD会话分别向BFD会话上报各自所检测的成员端口连通状态。
[0034]在这里,每个micro-BFD会话单独检测对应的成员端口的连通状态,而且分别向BFD会话上报各自所检测的成员端口连通状态。
[0035]步骤103:使能BFD会话基于成员端口连通状态向上层协议模块上报聚合链路的连通状态。
[0036]在这里,BFD会话基于各个成员端口的连通状态向上层协议模块上报聚合链路的连通状态。通常情况下,聚合接口的成员端口为多个,因此BFD会话与micro-BFD会话具有一对多的关联状态。
[0037]可见,在本发明中,上层协议模块与BFD会话相关联,而且BFD会话还与各个micro-BFD会话相关联。
[0038]具体地,在一个实施方式中:
[0039]当BFD会话判定所有成员端口的端口连通状态都为Down时,BFD会话向上层协议模块上报聚合链路Down。
[0040]具体地,在一个实施方式中:
[0041]当BFD会话判定至少有一个成员端口的端口连通状态为Up时,BFD会话向上层协议模块上报聚合链路Up。
[0042]在本发明实施方式中,当某个成员端口失效,或加入、退出聚合链路时,该成员端口除了相应地删除或创建micro-BFD会话之外,还需要去关联或关联BFD会话。
[0043]在一个实施方式中,该方法进一步包括:当有新成员端口加入聚合链路时,建立用于检测新成员端口连通状态的新micro-BFD会话;使能新micro-BFD会话加入micro-BFD会话组。
[0044]在一个实施方式中,该方法进一步包括:当有成员端口失效或退出聚合链路时,使能micro-BFD会话组删除用于检测失效或退出的成员端口连通状态的micro-BFD会话。
[0045]基于上述分析,下面结合具体实例详细说明本发明实施方式。
[0046]图2为根据本发明实施方式的聚合链路示意图。
[0047]如图2所示,交换机1与交换机2之间通过三条以太网物理链路(分别为Ethl、Eth2和Eth3)相连。而且,以太网物理链路Ethl、Eth2和Eth3被捆绑在一起,成为一条逻辑链路,该逻辑链路即为聚合链路(Link aggregat1n)。聚合链路的带宽等于以太网物理链路Ethl、Eth2和Eth3的带宽总和,从而达到了增加链路带宽的目的。同时,以太网物理链路Ethl、Eth2和Eth3之间相互备份,从而可以有效地提高聚合链路的可靠性。
[0048]以太网物理链路Ethl、Eth2和Eth3分别具有以太网接口,将多个以太网接口捆绑在一起所形成的组合称为聚合组,聚合组对应于聚合链路的聚合接口,每个以太网接口就称为聚合接口的成员端口。
[0049]交换机1和交换机2上运行有需要被BFD会话所服务的0SPF模块,而且在交换机1和交换机2上分别具有BFD模块。
[0050]0SPF模块通过自身的Hello机制发现并建立交换机1和交换机2的邻居关系。然后,0SPF模块将邻居信息(包括目的地址和源地址等)通告在交换机1和交换机2上的BFD模块,交换机1和交换机2上的BFD模块再根据接收到的邻居信息建立承载于聚合链路上的BFD会话,而且该BFD会话并不发送BFD报文。
[0051]交换机1和交换机2上的BFD模块还在交换机1和交换机2之间建立承载于聚合链路的micro-BFD会话组。micro-BFD会话组包括:用于检测物理链路Ethl成员端口连通状态的micro-BFD会话1、用于检测物理链路Eth2成员端口连通状态的micro-BFD会话2和用于检测物理链路Eth3成员端口连通状态的micro-BFD会话3。
[0052]micro-BFD 会话组中的 micro-BFD 会话 1、micro-BFD 会话 2 和 micro-BFD 会话 3分别向BFD会话上报各自所检测的成员端口连通状态。而且,BFD会话基于mic1-BFD会话组所上报的成员端口连通状态向0SPF模块上报聚合链路的连通状态。比如,当BFD会话判定所有成员端口的端口连通状态都为Down时,BFD会话向0SPF模块上报聚合链路Down ;当BFD会话判定至少有一个成员端口的端口连通状态为Up时,BFD会话向0SPF模块上报聚合链路Up。
[0053]图3为图2中0SPF模块使能BFD会话的流程图。如图3所示,该方法包括:
[0054]步骤301:将0SPF模块与BFD模块相关联。
[0055]步骤302:BFD模块判断待检测链路是否为聚合链路,如果是则执行步骤304及其后续步骤,如果不是则执行步骤303并结束本流程。
[0056]步骤303:BFD模块创建传统的BFD会话,即周期性发送BFD报文的BFD会话。
[0057]步骤304:BFD模块创建不发送BFD报文的BFD会话。
[0058]步骤305:BFD模块判断聚合链路的micro-BFD功能是否已经被使能,如果是则执行步骤307及其后续步骤;否则执行步骤306并结束本流程。
[0059]步骤306:BFD模块在聚合链路的各个成员端口创建micro-BFD报文,并在聚合链路的各个成员端口维护micro-BFD会话。
[0060]步骤307:BFD模块将micro-BFD会话与不发送BFD报文的BFD会话相关联。也就是,各个micro-BFD会话分别向不发送BFD报文的BFD会话上报各自所检测的成员端口连通状态。
[0061 ] 由于在步骤301中已经将0SPF模块与BFD模块相关联,因此当BFD会话基于成员端口连通状态判定出聚合链路的连通状态时,BFD会话可以向0SPF模块上报聚合链路的连通状态。
[0062]图4为图2中聚合接口使能BFD会话的流程图。如图4所示,该方法包括:
[0063]步骤401:将聚合接口与不发送BFD报文的BFD会话相关联。
[0064]步骤402:BFD模块在聚合接口的各个成员端口创建micro-BFD会话,各个micro-BFD会话构成micro-BFD会话组。
[0065]步骤403:BFD模块判断聚合接口上是否存在发送BFD报文的BFD会话,如果是则执行步骤404及其后续步骤;否则执行步骤406并结束本流程。
[0066]步骤404:BFD模块停止维护发送BFD报文的BFD报文。
[0067]步骤405:BFD模块将micro-ΒΠ)会话组中的各个micro-BFD会话与不发送BFD报文的BFD会话相关联,并结束本流程。具体地,micro-BFD会话组中的各个micro-BFD会话分别向不发送BFD报文的BFD会话上报各自所检测的成员端口连通状态。
[0068]步骤406:BFD模块维护micro-BFD会话。
[0069]在本发明实施方式中,当有成员端口失效时,需要删除用于检测失效的成员端口连通状态的micro-BFD会话。
[0070]图5为图2中成员端口失效的处理流程图。在该流程中,假定物理链路Ethl的成员端口失效。如图5所示,该方法包括:
[0071]步骤501:物理链路Ethl的micro-BFD会话检测物理链路Ethl的成员端口失效。
[0072]步骤502:物理链路Ethl的micro-BFD会话向不发送BFD报文的BFD会话上报物理链路Ethl的成员端口连通状态为Down。
[0073]步骤503:BFD会话判断物理链路Ethl的成员端口是否是micro-BFD会话组中最后一个Up的成员端口,如果是则执行步骤504及其后续步骤,否则执行步骤505并结束本流程。
[0074]步骤504:BFD会话上报OSPF模块聚合链路连通状态为Down。
[0075]步骤505:不处理。
[0076]在本发明实施方式中,当有成员端口加入聚合链路时,需要建立用于检测新成员端口连通状态的新micro-BFD会话;并且将新micro-BFD会话加入到micro-BFD会话组。
[0077]图6为图2中新成员端口加入聚合链路的流程图。在该流程中,假定有新的物理链路Eth4加入聚合链路。
[0078]如图6所示,该方法包括:
[0079]步骤601:物理链路Eth4加入聚合链路,即物理链路Eth4的端口加入聚合链路的聚合组,成为新的成员端口。
[0080]步骤602:BFD模块为物理链路Eth4的端口创建micro-BFD会话4。
[0081]步骤603:BFD模块将创建的micro-BFD会话4与不发送BFD报文的BFD会话相关联。也就是,创建的micro-BFD会话4向BFD会话上报物理链路Eth4的端口连通状态。
[0082]步骤604:BFD会话判断物理链路Eth4的端口连通状态是否为Up,如果是则执行步骤605及其后续步骤,否则执行步骤607并结束本流程。
[0083]步骤605:BFD会话判断物理链路Eth4的端口是否是micro-BFD会话组中第一个Up的成员端口,如果是,则执行步骤606并结束本流程;如果不是则执行步骤607并结束本流程。
[0084]步骤606:BFD会话上报OSPF模块聚合链路连通状态为Up。
[0085]步骤607:不处理。
[0086]在本发明实施方式中,当有成员端口退出聚合链路时,需要在micro-BFD会话组中删除用于检测该退出的成员端口连通状态的micro-BFD会话。
[0087]图7为图2中成员端口退出聚合链路的流程图。在该流程中,假定物理链路Ethl退出聚合链路。
[0088]如图7所示,该方法包括:
[0089]步骤701:物理链路Ethl退出聚合链路,即物理链路Ethl的端口退出聚合组。
[0090]步骤702:判断物理链路Ethl的端口连通状态是否为Up,如果是则执行步骤705及其后续步骤,否则执行步骤703及其后续步骤。
[0091 ] 步骤703:BFD模块将物理链路Ethl的端口的micro-BFD会话设置为关闭(Admin-Down)。
[0092]步骤704:BFD模块将物理链路Ethl的端口的micro-BFD会话与BFD会话去关联。
[0093]步骤705:BFD会话判断物理链路Ethl的端口是否是micro-BFD会话组中最后一个Up的成员端口,如果是,则执行步骤706并结束本流程;如果不是则执行步骤703及其后续步骤。
[0094]步骤706:BFD会话上报0SPF模块聚合链路连通状态为Down。
[0095]基于上述详细分析,本发明还提出了一种聚合链路的双向转发检测装置。
[0096]图8为本发明聚合链路的双向转发检测装置结构图,该装置应用于在聚合链路两端互为邻居的本端交换机或对端交换机。
[0097]如图8所示,该装置800包括:
[0098]会话建立单元801,用于与所述聚合链路上的邻居交换机建立不发送BFD报文的BFD会话,并与聚合链路上的邻居交换机建立聚合链路的micro-BFD会话组,micro-BFD会话组包括用于检测聚合链路的成员端口连通状态的micix)-BFD会话,每一个成员端口分别对应一个micro-BFD会话;
[0099]成员端口连通状态接收单元802,用于使能micro-BFD会话组中的micro-BFD会话分别向BFD会话上报各自所检测的成员端口连通状态;
[0100]连通状态上报单元803,用于使能BFD会话基于所述成员端口连通状态向上层协议模块上报聚合链路的连通状态。
[0101]在一个实施方式中:
[0102]连通状态上报单元803,用于当BFD会话判定所有成员端口的端口连通状态都为关闭Down时,使能BFD会话向上层协议上报聚合链路Down。
[0103]在一个实施方式中:
[0104]连通状态上报单元803,用于当BFD会话判定至少有一个成员端口的端口连通状态为打开Up时,使能BFD会话向上层协议上报聚合链路Up。
[0105]在一个实施方式中:
[0106]会话建立单元801,进一步用于当有新成员端口加入所述聚合链路时,建立用于检测新成员端口连通状态的新micro-BFD会话;使能新micro-BFD会话加入所述micro-BFD会话组。
[0107]在一个实施方式中:
[0108]会话建立单元801,进一步用于当有成员端口失效或退出所述聚合链路时,使能所述micro-BFD会话组删除用于检测所述失效或退出的成员端口连通状态的micro-BFD会话。
[0109]综上所述,在本发明实施方式中,在聚合链路使能BFD会话,该BFD会话与各个成员端口的micro-BFD会话并不相互独立,而是具有关联性,因此该BFD会话可以基于各个成员端口的mic1-BFD会话所上报的成员端口连通状态向上层协议模块上报聚合链路的连通状态,从而避免误报情形。
[0110]在本发明实施方式中,多个micro-BFD会话关联BFD会话,BFD会话可以视为micro-BFD的上层协议,而且BFD会话还向自身的上层协议上报聚合链路连通状态,因此本发明提出了一种嵌套BFD的机制。
[0111]另外,本发明还实现了嵌套BFD机制下成员端口的加入/退出/失效情形下的相应处理机制。
[0112]以上所述,仅为本发明的较佳实施方式而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种聚合链路的双向转发检测BFD方法,其特征在于,所述方法应用于在所述聚合链路两端互为邻居的本端交换机或对端交换机,该方法包括: 与所述聚合链路的邻居交换机建立不发送BFD报文的BFD会话,并与所述聚合链路的邻居交换机建立所述聚合链路的micro-BFD会话组,所述micro_BFD会话组包括用于检测所述聚合链路的成员端口连通状态的HiiCT0-BFD会话,每一个成员端口分别对应一个micro-BFD 会话; 使能所述micro-BFD会话组中的micro-BFD会话分别向所述BFD会话上报各自所检测的成员端口连通状态; 使能所述BFD会话基于所述成员端口连通状态向上层协议模块上报聚合链路的连通状态。
2.根据权利要求1所述的方法,其特征在于,所述BFD会话基于成员端口连通状态向上层协议模块上报聚合链路的连通状态包括: 当所述BFD会话判定所有成员端口的端口连通状态都为关闭Down时,所述BFD会话向上层协议模块上报聚合链路Down。
3.根据权利要求1所述的方法,其特征在于,所述BFD会话基于成员端口连通状态向上层协议模块上报聚合链路的连通状态包括: 当所述BFD会话判定至少有一个成员端口的端口连通状态为打开Up时,所述BFD会话向上层协议模块上报聚合链路Up。
4.根据权利要求1所述的方法,其特征在于,该方法进一步包括: 当有新成员端口加入所述聚合链路时,建立用于检测所述新成员端口连通状态的新micro-BFD 会话; 使能所述新micro-BFD会话加入所述micro-BFD会话组。
5.根据权利要求1所述的方法,其特征在于,该方法进一步包括: 当有成员端口失效或退出所述聚合链路时,使能所述micro-BFD会话组删除所述用于检测所述失效或退出的成员端口连通状态的mic1-BFD会话。
6.一种聚合链路的双向转发检测BFD装置,其特征在于,所述装置应用于在所述聚合链路两端互为邻居的本端交换机或对端交换机,该装置包括: 会话建立单元,用于与所述聚合链路上的邻居交换机建立不发送BFD报文的BFD会话,并与所述聚合链路上的邻居交换机建立所述聚合链路的mic1-BFD会话组,所述micro-BFD会话组包括用于检测所述聚合链路的成员端口连通状态的micro-BFD会话,每一个成员端口分别对应一个micro-BFD会话; 成员端口连通状态接收单元,用于使能所述micro-BFD会话组中的micro-BFD会话分别向所述BFD会话上报各自所检测的成员端口连通状态; 连通状态上报单元,用于使能所述BFD会话基于所述成员端口连通状态向上层协议模块上报聚合链路的连通状态。
7.根据权利要求6所述的装置,其特征在于, 连通状态上报单元,用于当所述BFD会话判定所有成员端口的端口连通状态都为关闭Down时,使能所述BFD会话向上层协议上报聚合链路Down。
8.根据权利要求6所述的装置,其特征在于, 连通状态上报单元,用于当所述BFD会话判定至少有一个成员端口的端口连通状态为打开Up时,使能所述BFD会话向上层协议上报聚合链路Up。
9.根据权利要求6所述的装置,其特征在于, 会话建立单元,进一步用于当有新成员端口加入所述聚合链路时,建立用于检测所述新成员端口连通状态的新micro-BFD会话;使能所述新micro-BFD会话加入所述micro-BFD 会话组。
10.根据权利要求6所述的装置,其特征在于, 会话建立单元,进一步用于当有成员端口失效或退出所述聚合链路时,使能所述micro-BFD会话组删除用于检测所述失效或退出的成员端口连通状态的micro-BFD会话。
【文档编号】H04L29/06GK104506546SQ201410844540
【公开日】2015年4月8日 申请日期:2014年12月30日 优先权日:2014年12月30日
【发明者】陆亦雄 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1