一种跨设备链路聚合保活报文交互的方法和系统与流程

文档序号:32395142发布日期:2022-11-30 10:00阅读:49来源:国知局
一种跨设备链路聚合保活报文交互的方法和系统与流程

1.本发明涉及通信技术领域,特别是涉及一种跨设备链路聚合保活报文交互的方法和系统。


背景技术:

2.跨设备链路聚合是一种正在被广泛使用的数据面虚拟化方案。跨设备链路聚合通过相应的机制,能够把不同设备间的物理链路聚合为一个逻辑链路,从而提高链路的带宽并在设备层面保证链路的可靠性,聚合后的逻辑链路称为聚合链路(peer-link)。为了确保链路能够正常工作,需要确保被聚合的每条链路都能够正常工作,该需求称为聚合链路的保活(keep-alive),保活功能是聚合链路的重要的组成部分。
3.如图1所示,为实际场景中链路聚合的网络结构示意图,设备a与作为聚合网元的设备c之间的多条聚合链路通称link-ac,设备b与设备c之间的多条聚合链路通称link-bc,设备a、设备b和设备c,及其之间的link-ac和link-bc,构成跨设备链路聚合。跨设备链路聚合的目的是利用链路聚合控制协议(link aggregation control protocol,简写为lacp)将link-ac的所有链路与link-bc的所有链路逻辑上聚合为一条链路。通过这个方法使得从c发出的流量可以经过设备a转发出去,也可以经过设备b转发出去,从而使得设备a和b任意的单一设备故障都不会影响流量的转发;同时也使得转发的链路冗余数量为link-ac与link-bc的所有链路数之和;带宽最大也是link-ac与link-bc的所有链路带宽之和,从而极大的提高了转发路径的健壮性和带宽。
4.但是lacp协议的协商一般只用于两台设备之间直连的链路,而无法用于需要使用不同设备转发的链路。例如图1中的结构,只依靠lacp协议可以实现link-ac上所有链路的聚合为逻辑上一条链路,也可以实现link-bc上所有链路的聚合为逻辑上一条链路。但是无法实现link-ac的所有链路与link-bc的所有链路进行聚合为逻辑上一条链路,因为设备a与设备b的lacp参数是不一致的。因此就需要通过跨设备链路聚合协议来把设备a和设备b的lacp参数设定为一致,使其可以通过lacp协议把link-ac上的所有链路与link-bc上的所有链路聚合成逻辑上的一个链路。该场景下,还需要利用跨设备链路聚合协议使得设备a与设备b能够知道对方的状态。因此保活报文就承载了设备a与设备b之间协议内容交互与状态感知的作用,保活通路的可靠性与健壮性就对整个跨设备链路聚合的正常运行起着至关重要的作用。
5.目前保活的方法主要有两种:1、建立专门的保活链路,例如图1中的专用保活链路;2、利用上联通道完成,例如图1中的上联数据链路进行保活。但是,上述方案都需要占用专门的接口,并且链路单一,出现故障时就会导致保活的失效。
6.鉴于此,如何克服现有技术所存在的缺陷,解决现有保活方法需使用专用通道的现象,是本技术领域待解决的问题。


技术实现要素:

7.针对现有技术的以上缺陷或改进需求,本发明解决了现有保活方法必须使用专用通道且稳定性不足的问题。
8.本发明实施例采用如下技术方案:
9.第一方面,本发明提供了一种跨设备链路聚合保活报文交互的方法,具体为:在聚合链路中的每个设备上建立转发绑定表,转发绑定表中包含聚合网元每个接口接收到的最新保活报文中的设备标识和报文序号;发送端设备在所有与聚合网元连接的链路上发送保活报文,保活报文中包括本端的设备标识和本条保活报文的报文序号;聚合网元根据保活报文的设备标识和报文序号更新本设备上的转发绑定表,并将接口信息和保活报文转发至所有非所述发送端的接口;接收端设备通过与聚合网元连接的接口接收保活报文,获取最新的保活报文中的设备标识和报文序号,根据设备标识和报文序号获取发送端的状态,并更新本设备上的转发绑定表。
10.优选的,在每个设备上建立转发绑定表,具体包括:获取设备上每个能接收保活报文的接口,每个接口对应转发绑定表中的一行,该行记录该接口接收到的最新的保活报文的设备标识和报文序号。
11.优选的,发送端在所有与聚合网元连接的链路上发送保活报文,具体包括:发送端将本端的设备标识和本条保活报文的报文序号写入保活报文中,在所有与聚合网元连接的链路上发送保活报文,每条保活报文的报文序号随发送时间递增。
12.优选的,聚合网元根据保活报文的设备标识和报文序号更新本设备上的转发绑定表,具体包括:获取保活报文中的设备标识和报文序号,判断当前报文序号是否大于转发绑定表中该设备已记录的报文序号;当前报文序号大于已记录的报文序号时,将设备标识和报文序号填入收报接口对应的行中。
13.优选的,并将接口信息和保活报文转发至所有非发送端的接口,具体包括:聚合网元根据转发绑定表查找所有与发送端的设备标识不一致的接口,将最新的保活报文及对应的接口信息转发至所有查找到的接口。
14.优选的,将保活报文转发至所有非发送端的接口,还包括:若当前保活报文的报文序号不大于转发绑定表中已记录的对应设备的报文序号,丢弃该保活报文,不进行报文转发。
15.优选的,获取最新的保活报文中的设备标识和报文序号,具体包括:判断保活报文中的设备标识,丢弃与接收端设备标识一致的保活报文;若报文序号大于转发绑定表中对应设备的报文序号,该保活报文为最新的保活报文。
16.优选的,根据设备标识和报文序号获取发送端的状态,具体包括:根据保活报文交互协议处理最新的保活报文,根据协议规定从保活报文中获取发送端的状态。
17.优选的,发送端在所有与聚合网元连接的链路上发送保活报文,还包括:根据预设发送周期,在所有需要发送的链路上进行本周期保活报文的发送或转发,同一周期内同一个发送端设备发送的保活的报文序号相同;每个周期发送完成后,将报文序号增加,作为下个周期发送的保活报文中使用的报文序号。
18.另一方面,本发明提供了一种跨设备链路聚合保活报文交互的系统,包括第一设备、第二设备和聚合网元,其特征在于,具体的:第一设备和第二设备通过聚合网元实现链
路聚合,第一设备、第二设备和聚合网元通过第一方面提供的跨设备链路聚合保活报文交互的方法进行保活报文的交互,以确保聚合链路的正常运行。
19.与现有技术相比,本发明实施例的有益效果在于:通过已存在的聚合链路进行保活报文的交互,并通过转发绑定表判定保活报文是否最新。该方法不需要占用专门的链路作为保活链路,以所有聚合链路作为冗余的保活链路设计,聚合链路本身与保活链路形成共生关系,不再依赖于其他网络的健壮性,聚合链路与保活链路的生命周期一致,避免了因保活链路失效造成无法保活。
附图说明
20.为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍。显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
21.图1为实际场景中链路聚合和保活链路的网络结构示意图;
22.图2为本发明实施例提供的一种跨设备链路聚合保活报文交互的方法流程图;
23.图3为本发明实施例提供的另一种跨设备链路聚合保活报文交互的方法流程图;
24.图4为本发明实施例提供的另一种跨设备链路聚合保活报文交互的方法流程图;
25.图5为本发明实施例提供的另一种跨设备链路聚合保活报文交互的方法流程图;
26.图6为本发明实施例提供的另一种跨设备链路聚合保活报文交互的方法流程图;
27.图7为本发明实施例提供的一种跨设备链路聚合保活报文交互的系统结构示意图;
28.图8为本发明实施例提供的一种跨设备链路聚合保活报文交互的系统中第一设备和第二设备的装置结构示意图;
29.图9为本发明实施例提供的一种跨设备链路聚合保活报文交互的系统中聚合网元的装置结构示意图。
具体实施方式
30.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
31.本发明是一种特定功能系统的体系结构,因此在具体实施例中主要说明各结构模组的功能逻辑关系,并不对具体软件和硬件实施方式做限定。
32.此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。下面就参考附图和实施例结合来详细说明本发明。
33.实施例1:
34.对于如图1的网络架构,在跨设备链路聚合的部署中,对于保活链路现有的两种方法分别是专用保活链路和上联数据链路保活。
35.这两种保活方法在跨设备链路聚合的部署和运行中会存在如下的问题:
36.(1)使用专用保活链路主要存在如下问题:1.需要在设备a与设备b上占用专门的
链路接口,而设备的链路接口资源在很多情况下是相对稀缺的资源;2.冗余性与可靠性提升比较难,如果要提高冗余性与可靠性就需要设备a与设备b上占用更多的链路接口资源,这样对于设备来的接口资源压力更加大。
37.(2)对于上联数据链路保活:利用上联数据链路虽然可以利用已存在的流量转发链路接口,但是在实际使用中依然存在局限性:1.需要确保设备a与设备b之间已有这条链路,某些实际场景中,设备a与设备b之间并不存在这样上联数据链路;2.链路的可靠性依赖上联链路自身的健壮性,上流链路已经脱离了跨设备链路聚合协议的管理,增加了保活链路的不可控性。
38.在本实施例提供的方法中,如图1所示,设备a与设备b组成了一个跨设备链路聚合组,设备c作为聚合网元将设备a与设备c的若干聚合链路以及设备b与设备c的若干聚合链路聚合在一起,设备a与设备c之间的多条聚合链路通称link-ac,设备b与设备c之间的多条聚合链路通称link-bc。在进行保活时,不额外增加专用保活链路,也不再依赖上联数据链路保活,而是直接与其它报文共用link-ac中的聚合链路、link-bc中的聚合链路和设备c来完成设备a与设备b之间跨设备链路聚合保活报文的交互。该网络拓扑仅为便于描述的一个实例,在实际实施中,可以根据实际需求进行网络结构的布设,并依照本实施例提供的方法的原理实现所有设备和链路上保活报文的交互。
39.本实施例中,为了便于描述,以图1中的设备a作为发送端,设备b作为接收端,对保活报文的一次收发和处理过程进行描述。设备a利用link-ac中的每一条链路给设备c发送保活报文,设备c再利用link-bc中的每一跳链路将接收到的保活报文转发给设备b。在实际实施中,可以使用同样的方式完成设备b至设备a的保活报文传输和处理,以及网络中任两个设备之间的保活报文双向传递和处理。
40.如图2所示,本发明实施例提供的跨设备链路聚合保活报文交互的方法具体步骤如下:
41.步骤101:在聚合链路中的每个设备上建立转发绑定表,转发绑定表中包含聚合网元每个接口接收到的最新保活报文中的设备标识和报文序号。
42.本实施例中,不需要额外建立保活报文的传输链路,而是通过与其它报文相同的原有聚合链路进行交互。为了区分不同设备发送的保活报文,除了协议中规定的mclag配置信息之外,还需要在报文中添加设备标识;为了识别报文的发送顺序,需要在报文中添加报文序号(sequence,简写为seq)。在具体实施场景中,可以使用如下所示的字段在具体保活报文中需要额外添加设备标识和报文序号。
43.设备标识报文序号mclag配置信息
44.本实施例中,通过现有的聚合链路进行保活报文的交互,若一条链路两端的通信接口能够正常收发保活报文,表明该链路能够正常工作。本实施例中,为了将保活报文与收发接口进行关联,在每个设备上建立转发绑定表,转发绑定表中每一行对应一个可进行保活报文收发的接口,获取设备上每个能接收保活报文的接口,每个接口对应转发绑定表中的一行,该行记录该接口接收到的最新的保活报文的设备标识和报文序号。
45.步骤102:发送端设备在所有与聚合网元连接的链路上发送保活报文,保活报文中包括本端的设备标识和本条保活报文的报文序号。
46.以设备a作为发送端,通过设备a上与聚合网元链接的所有接口向聚合网元发送保
活报文,若对端可以正确接收到保活报文,表明传输保活报文的通信链路能够正常工作。由于本实施例的方法中未使用专用链路进行保活报文交互,而是使用正常的聚合链路,聚合网元接收聚合链路中所有设备发送的保活报文,并转发至所有其他设备,以确认所有设备间的通信链路都能够正常工作。
47.为了在接收端和聚合网元上区分保活报文的发送设备和发送顺序,便于后续判断传输链路和转发目的端,以及报文的时效,发送端将本端的设备标识和本条保活报文的报文序号写入保活报文中。另一方面,为了能够检查聚合链路中每一条链路的工作情况,需要在每一条链路上进行保活报文的传输,对于发送端,需要在所有与聚合网元连接的链路上发送保活报文。为了避免报文序号重复,并便于区分报文的发送顺序,每条保活报文的报文序号随发送时间递增,例如,每条报文的报文序号都在前一条报文的报文序号基础上+1。
48.步骤103:聚合网元根据保活报文的设备标识和报文序号更新本设备上的转发绑定表,并将接口信息和保活报文转发至所有非发送端的接口。
49.聚合网元接收所有设备发出的保活报文,根据保活报文的属性将最近的保活报文转发至所有非发送端的设备中。本实施例中,通过转发绑定表对接收到的报文特征进行记录,并将报文中的设备标识字段和收包接口进行关联,以便根据记录进行判断和筛选。转发绑定表中的每一行代表一个收报接口,并记录该接口接收到的最新保活报文中的设备标识和报文序号。当接口接受到保活报文后,获取保活报文中的设备标识和报文序号,根据保活报文中的设备标识获取到设备的发送端,将保活报文中的报文序号与转发绑定表中已记录的该发送端发出的报文序号进行对比,判断当前报文序号是否大于转发绑定表中该设备已记录的报文序号,由于报文序号随发送时间递增,当前报文序号大于已记录的报文序号时,表明该报文发送时间晚于已记录的报文。若该报文为最新保活报文,将设备标识和报文序号填入收报接口对应的行中;若该报文不是最新保活报文,不更新转发绑定表中对应行的数据。
50.聚合网元接收到发送端的最新保活报文,表明与报文收报接口连接的发送端设备至聚合网元的链路能够正常工作。进一步的,为了检测聚合网元至接收端设备的链路是否能够正常工作,聚合网元还需要将最新的保活报文转发至非发送端的其它设备。在本实施例提供的方法中,转发绑定表中记录了设备上每个接口与对端设备的绑定关系,表中不与发送端设备绑定的接口都通过通信链路连接了可以作为接收端的设备。若当前保活报文的报文序号大于转发绑定表中已记录的对应设备的报文序号,该保活报文为最新保活报文,聚合网元根据转发绑定表查找所有与发送端的设备标识不一致的接口,将最新的保活报文及对应的接口信息转发至所有查找到的接口;若当前保活报文的报文序号不大于转发绑定表中已记录的对应设备的报文序号,该报文不是最新保活报文,丢弃该保活报文,不进行报文转发,以避免接收端收到错误的保活报文。
51.步骤104:接收端设备通过与聚合网元连接的接口接收保活报文,获取最新的保活报文中的设备标识和报文序号,根据设备标识和报文序号获取发送端的状态,并更新本设备上的转发绑定表。
52.接收端设备收到聚合网元转发的最新保活报文后,通过设备标识获知该报文的发送端。接收端设备只与聚合网元连接,所以无需区分不同设备的转发接口,转发绑定表中仅记录非本设备发送的报文,因此,可以判断保活报文中的设备标识,丢弃与接收端设备标识
一致的保活报文。对于非本设备发送的报文,通过报文序号确认该报文是否为最新的保活报文,若报文序号大于转发绑定表中对应设备的报文序号,该保活报文为最新的保活报文。当接收到最新的保活报文后,将最新的保活报文交给协议模块处理,根据保活报文交互协议处理最新的保活报文,根据协议规定由保活报文中获取发送端的状态。对于非最新的保活报文,在首次接收时已做过处理,因此无需再处理,直接丢弃。
53.经过本实施例中提供的步骤101-步骤104后,在保活报文中增加设备标识和报文序号,通过现有的聚合链路,通过聚合网元的转发,完成保活报文的传输,在接收端根据现有保活协议得到发送端的保活状态。该方法不需要使用额外的链路和接口,无需进行专用链路的维护,并避免了在专用链路失效时报或失效。
54.在实际实施过程中,步骤101-步骤104中的发送端设备和接收端设备可以互换,由原接收端设备发送保活报文至原发送端设备,完成双向转发,以检测双向链路的保活状态。实际实施中,发送端和接收端转换后,现发送端设备的发送动作与原发送端一致,现接收端设备的接收动作与原接收端一致,各设备上转发绑定表的更新规则也一致。
55.在图1的实际场景中,可以通过如图3所示步骤完成保活报文的双向交互。
56.步骤201:设备a把保活报文通过聚合链路link-ac发送到聚合网元设备c。
57.步骤202:设备c收到设备a的报文后通过与b之间的聚合链路转发到设备b,设备b完成保活报文处理,获取设备a-设备b方向的保活状态。
58.步骤203:设备b把报文通过聚合链路link-bc发送到设备c。
59.步骤204:设备c收到设备b的报文后通过与a之间的聚合链路转发到设备a,设备a完成保活报文处理,获取设备b-设备a方向的保活状态。
60.通过步骤201-步骤204,即可完成保活报文的双向传输,实现了链路保活状态的双向检测。
61.进一步的,在实际使用中,当聚合链路中存在更多设备时,可以根据上述步骤完成任意两设备间的双向保活报文传输,检测所有链路的保活状态。
62.在实际实施过程中,为了对链路的保活状态进行持续监控,可以周期性的进行上述的保活报文交互动作,每个可以作为发送端的设备根据预设发送周期,在所有需要发送的链路上进行本周期保活报文的发送或转发,同一周期内同一个发送端发送的保活的报文序号相同。并每个周期发送完成后,将报文序号增加,作为下个周期次发送的保活报文中使用的报文序号,例如将本周期的报文序号加1作为下一个周期的报文序号,以区分不同时间点所发送的报文。进一步的,还可以对周期发送的报文设置超时计时器实现链路状态的检测,若保活报文的收发超时,表明链路上可能存在异常。
63.本实施例提供的跨设备链路聚合保活报文交互的方法,相对于专用保活链路,由于发送端至聚合网元中的所有链路与聚合网元至接收端中的所有链路本就是上下游流量转发必须的链路链接,不需要再占用专用的接口;同时,为了拓展上下游流量转发的带宽与冗余性,通常link-ac和link-bc中会有多条链路,发送端至聚合网元所有链路与聚合网元至接收端所有链路的数量保障了保活链路的冗余与健壮。相对于上联数据链路保活,本方法涉及到的发送端至聚合网元的所有链路与聚合网元至接收端的所有链路一定是存在的,如果不存在上述链路,则也不需要进行跨设备链路聚合,也就不存在需要跨设备链路保活报文交互的需求;同时发送端至聚合网元的所有链路与聚合网元至接收端的所有链路都纳
入到了跨设备链路聚合协议的管理之下,能够很好的保证保活链路的可控性。
64.实施例2:
65.基于实施例1提供的跨设备链路聚合保活报文交互的方法,在不同的具体应用场景中,还可以根据使用需求或实际场景的不同进行补充和调整。下述技术方案,在不存在冲突的情况下,可以选择一个或多个技术方案,与实施例1中的技术方案进行组合使用。
66.以下提供如图1所示的实际场景中一次保活报文交互的完整流程,在实际实施过程中可以根据业务需要和实际网络环境,在实施例1和以下方式的原理基础上进行适应性调整。
67.为了简便起见,本实施例中仅以设备a作为发送端,设备b作为接收端,设备c作为聚合网元进行描述。实际使用中,可以在设备a和设备b之间进行双向保活报文交互,或者在设备a或设备b与其它设备间进行保活报文交互。
68.link-ac中的链路数量与link-bc中的链路数量都是3条,每条链路分别对应一个接口,记为接口1-接口6,其中,接口1-接口3与link-ac链路连接,接口4-接口6与link-bc链路连接。根据步骤101建立转发绑定表,设备c上的转发绑定表结构的初始状态如下表所示,表中每一行分别记录一个接口接收到的最新保活报文中的设备标识和报文序号。
69.设备标识报文序号(seq)接收报文的接口号
ꢀꢀ1ꢀꢀ2ꢀꢀ3ꢀꢀ4ꢀꢀ5ꢀꢀ670.如图4所示,设备a按照步骤102生成保活报文,并按照发包定时器的周期,通过所有接口将保活报文发送至设备c。
71.步骤301:用于发包的超时定时器到时后,把超时计数器加1。判断超时计数器是否小于超时阈值n。如果不小于超时阈值n,则集合peer-link状态确定本周期内聚合链路的工作状态。
72.步骤302:超时计数器小于阈值n,更新本地的seq,并将最新的seq填充进保活报文,并在保活报文中填充设备a的设备标识和mclag配置信息。
73.步骤303:向设备a上所有mclag成员接口发送此保活报文。
74.步骤304:更新用于发包的超时定时器。
75.经过上述过程后,设备a生成了本实施例需要的保活报文,并将报文发送至设备c。
76.如图5所示,设备c接收设备a发送的保活报文,更新本地的转发绑定表,并进行转发。
77.步骤401:获取保活报文中的设备标识为设备a,在转发绑定表中报文收报接口的对应行填入设备a的设备标识。
78.步骤402:获取保活报文中的seq,与转发绑定表中保存的所有设备a的seq对比。若当前seq小于已记录的seq,判定当前报文为较旧的报文,进行丢弃。若当前seq大于所有与记录的seq,判定当前报文为最新报文,在转发绑定表中报文收报接口的对应行填入当前
seq。
79.步骤403:在转发绑定表中查找所有未与设备a绑定的接口,将最新报文通过所有查找到的接口进行转发。
80.经过上述过程后,设备c完成了对保活报文的记录,并将报文转发至设备b。
81.如图6所示,设备b接收设备b转发的保活报文,更新本地的转发绑定表,并将保活报文交由保活协议模块处理。
82.步骤501:判断保活报文中的设备标识是否为设备b,如果是则丢弃。
83.步骤502:获取保活报文中的seq,与转发绑定表中保存的所有设备a的seq对比。若当前seq小于已记录的seq,判定当前报文为较旧的报文,进行丢弃。若当前seq大于所有与记录的seq,判定当前报文为最新报文。
84.步骤503:若是新的keep-alive报文,清零本段的超时计数器,更新本地保存的此设备标识的seq,在本段记录报文中的mclag配置信息。
85.步骤504:根据peer-link的状态确定本段工作情况。
86.到keep-alive报文后,首先判断报文中的设备
87.在上述步骤中,各设备需要根据保活报文的不同情况对本地保存的转发绑定表进行不同的更新,并进行相应的转发。以下为某个具体实施场景中,设备c上的转发绑定表每次接收到保活报文时,根据步骤103完成的方法进行更新和转发的过程。其它设备上的转发绑定表也根据同样的原则,依照步骤104中的方法进行更新。
88.(1)设备c从接口1收到设备标识为设备a,seq为0的报文。
89.接收报文前,转发绑定表中未记录任何设备标识和报文序号,直接将该报文的设备标识“设备a”和报文序号0写入接口1对应的行中。更新后的转发绑定表如下。
90.设备标识报文序号(seq)接收报文的接口号设备a01
ꢀꢀ2ꢀꢀ3ꢀꢀ4ꢀꢀ5ꢀꢀ691.同时,设备c的交换单元会选中未与设备a发生过报文交换的所有接口,即转发绑定表中设备标识不是设备a的所有接口为转发接口6,将转发报文交付每个转发接口的发送单元进行报文转发。此时,转发接口为接口2-接口6。
92.进一步的,根据本场景的网络拓扑可知,接口2和接口3与link-ac链路连接,转发报文会通过link-ac链路返回设备a中,设备a需要按照步骤104的方法作为接收端对报文进行处理。但是,对于设备a,这些报文并不能提供保活功能,因此,在步骤104中,需要对保活报文中的设备标识进行判断,丢弃这些与作为接收端的设备a的设备标识一致的报文。
93.(2)设备c从接口3中收到设备标识为设备a,seq为0的报文。
94.根据步骤102,设备a会向所有与设备c相连的接口发送同一条保活报文,因此设备c与设备a连接的接口1-接口3都会接收到设备标识为设备a、seq为0的保活报文,设备c可以通过保活报文的设备标识获取到接口与其他设备的连接关系,并在转发绑定表中进行记
录。此报文的seq不大于当前表中记录的设备a的最大seq,该报文不是最新保活报文。则此报文丢弃,仅在转发绑定表中更新接口3和设备a的对应关系,更新后的转发绑定表如下。
95.设备标识报文序号(seq)接收报文的接口号设备a01
ꢀꢀ
2设备a03
ꢀꢀ4ꢀꢀ5ꢀꢀ696.(3)设备c从接口2中收到设备标识为设备a,seq为0的报文。
97.与一条报文同样情况,此报文的seq不大于当前表中记录的设备a的seq,则此报文丢弃,仅在转发绑定表中更新接口2和设备a的对应关系,更新后的转发绑定表如下。
98.设备标识报文序号(seq)接收报文的接口号设备a01设备a02设备a03
ꢀꢀ4ꢀꢀ5ꢀꢀ699.(4)与上述(1)-(3)类似,设备c从接口4-接口6中分别收到设备标识为设备b,seq为0的报文,更新后的转发绑定表如下。
100.设备标识报文序号(seq)接收报文的接口号设备a01设备a02设备a03设备b04设备b05设备b06
101.(5)设备c从接口2收到了设备标识为设备a,seq为1的报文。
102.设备a发送seq为0的报文后,将本地seq值+1,在下一个周期从接口1-接口3发送seq值为1的报文。当设备c从接口2收到了设备标识为设备a,seq为1的报文后,由于当前报文的seq值1大于(4)中转发绑定表记录的设备a的最大seq值0,因此该报文为最新报文。将接口2对应行的seq值更新为最新报文的seq值1,更新后的转发绑定表如下。
103.设备标识报文序号(seq)接收报文的接口号设备a01设备a12设备a03设备b04
设备b05设备b06
104.由于该报文为最新报文,还需要进行转发。设备c的交换单元会选中所有接口对应的设备标识不是设备a的接口,即接口4-接口6,通过这些接口将报文转发至设备b。
105.在实际实施场景中,按照上述原则,根据发送端发出的每一条保活报文,对每个设备上的转发绑定表进行更新维护,在聚合网元上对最新保活报文进行转发,在接收端根据保活报文获取保活状态,即可实现保活报文的发送顺序判断和有序转发,根据实施例1中提供的方法,通过现有的聚合链路和设备,完成保活报文的交互。
106.实施例3:
107.在上述实施例1至实施例2提供的跨设备链路聚合保活报文交互的方法的基础上,本发明还提供了一种可用于实现上述方法的跨设备链路聚合保活报文交互的系统。
108.如图7所示,是本发明实施例的系统架构示意图,其中包括第一设备、第二设备和聚合网元。第一设备和第二设备通过聚合网元实现链路聚合,第一设备、第二设备和作为聚合网元的设备c通过实施例1或实施例2提供的跨设备链路聚合保活报文交互的方法进行保活报文的交互,以确保聚合链路的正常运行。本实施例提供的系统中,第一设备、第二设备和聚合网元的数量可以根据需要进行设置,并按照实际网络拓扑完成所有链路的保活报文交互。
109.如图8所示,由于第一设备和第二设备需要进行双向保活报文交互,因此第一设备和第二设备中都需要包含发送单元和接收单元。
110.(1)发送单元。
111.根据设置生成协议报文,通过定时器定时发送协议报文给设备c,由c进行转发。
112.具体工作过程为:发包定时器到时,超时计数器加1。判断超时计数器是否小于设定最大值n。如果不小于n则通知跨设备链路聚合协议模块。小于n则更新本设备seq,并把seq与本设备标识以及协议配置信息一同填入保活报文。在本端所有与设备c连接的链路上发送一次保活报文。重启发包定时器。
113.(2)接收单元。
114.接收来自设备c转发的协议报文,分析报文内容,抛弃非有效的协议报文,更新对于对端的seq记录。
115.具体工作过程为:收到来自设备c转发的保活报文。获取报文中的设备标识。判断设备标识是否与本设备的设备表示相同,如果相同则抛弃报文。设备标识不相同,获取报文中的seq。判断此seq是否大于本端记录的相应设备标识的seq,如果不大于则抛弃报文。如果seq大于本端设备的记录值,则更新相应设备标识与seq的绑定表。清零超时计数器。报文交付跨设备链路聚合协议模块。
116.另一方面,如图9所示,设备c需要执行聚合网元的功能,不仅需要进行报文收发,还需要对报文进行转发,因此,除了发送单元和接收单元之外,还需要包括用于转发的交换单元。
117.(1)接收单元。
118.接收来自设备a或设备b的协议报文,并交给交换单元。
119.具体工作过程如为:收到保活报文,记录收到报文的接口,并把接口信息与报文一
同交付给交换单元。
120.(2)交换单元。
121.更新转发绑定表中设备标识、收包接口和报文seq的绑定表项;查转发绑定表确定报文需要转发的接口,并把确认结果交给发送单元。
122.具体工作过程为:获取接收单元交付来的接口信息,获取报文中的设备标识信息与seq信息。判断当前seq信息是否大于转发绑定表中记录当前设备标识的seq,如果不大于则抛弃。如果大于则更新转发绑定表中的接口和seq等信息。查询转发绑定表,获取没有与当前获取设备标识绑定的接口信息。把接口信息与报文交付发送单元。
123.(3)发送单元。
124.根据交换单元确定的结果,将报文通过相应接口发送出去。
125.具体工作过程为:收到交换单元的发送请求,往每一个交换单元确认的发送接口发送保活报文。
126.通过上述工作过程,即可使用本实施例提供的跨设备链路聚合保活报文交互的系统,完成实施例1和实施例2中提供的跨设备链路聚合保活报文交互的方法,实现在现有聚合链路上完成保活报文交互的功能。
127.以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1