专利名称:一种链路聚合的方法及设备的制作方法
技术领域:
本发明涉及网络通讯领域,尤其涉及一种链路聚合的方法及设备。
背景技术:
链路聚合控制协议(LinkAggregation Control Protocol, LACP)是一种实现链 路动态聚合的协议,LACP将一条或多条链路聚合到一起,形成链路聚合组(TRUNK),从而使 得媒体接入控制(MAC)应用层可以把链路聚合组当作一条单独的链路对待。在链路加入到 链路聚合组后,只有让链路聚合组中的聚合链路两端端口的数据帧收发功能都打开后,才 能进行应用报文的传输,否则,应用报文就会丢失。LACP中包含有六个状态机接收状态机(Receive machine)、定期发送状态机 (Periodic Transmission machine)、选择逻辑状态机(Selection Logicmachine)、复合 状态机(Mux machine)、发送状态机(Transmit machine)以及发现扰乱状态机(Churn Detection machine)。通常前5个状态机完成链路的聚合控制,其中接收状态机、定期发送 状态机、复合状态机、发送状态机中各有一个定时器来控制这些状态机的状态迁移。聚合链 路端口的数据帧收发功能的改变,是通过LACP中的各个状态机来控制的,而各个状态机的 状态变化则是通过定时器来维护的,因此为了减少应用报文的丢失,LACP中各个状态机的 定时器的时长设置非常重要。图1是现有技术中链路聚合控制过程中各状态机的关系示意图,如图1所示,接 收状态机负责接收对端发送的链路聚合控制协议数据单元(LinkAggregation Control Protocol Data Unit,LACPDU)报文,从所述LACPDU报文中提取对端端口的状态信息,以供 其他状态机使用;设置定时器的时长,根据设置的时长开始计时,若在定时器设置的时长内 未接收到对端传输过来的端口状态信息,定时器超时,则提供缺省的对端端口状态信息给 其他状态机使用,同时关闭端口的数据帧收发功能,不让应用报文通过。当接收到对端端口 的状态信息后,进行LACPDU报文的交互,当LACPDU报文协商成功后,则将端口的数据帧收 发功能打开,能够让应用报文通过。定期发送状态机主要用于确定本端和对端定期发送LACPDU报文的周期,定期发 送LACPDU报文到对端,以维持链路的聚合,具体地,如果所述定时器的定时时间到达,则设 置端口的有消息发送状态变量(Need To Transmit, NTT)为TRUE,表示端口有报文需要发 送。其中,发送状态机用于当所述NTT为TRUE,即端口有发送LACPDU报文的需求时,且本身 的定时器计时到时时,负责发送LACPDU报文到对端。选择逻辑状态机,负责将此端口选入合适的聚合组,该状态机未使用到定时器。复合状态机,负责将端口加入到选择逻辑状态机选择的聚合组,或者将端口从选 出的聚合组中删除,并且根据对端的LACPDU报文获取的对端端口状态信息,打开或者关闭 端口的数据帧收发功能,当端口处于初始态时,复合状态机把将要加入到聚合组中的端口 的数据帧收发功能都关闭。作上述操作的同时,设置定时器,所述定时器用于等待加入到聚 合组中的所有端口都被选择到合适的聚合组中,此时端口的状态为能够加入到聚合组,此
4时,本端需要将更新过的端口状态信息发送到对端,因此,会有发送LACPDU报文的需要,若 此时的发送状态机的定时器未到时,则不能及时地将端口状态信息通知给对端。当端口加 入到聚合组后,通过对端端口发送过来的LACPDU报文的端口状态信息,可以判断对端端口 的状态,当得到对端的端口也加入到聚合组时,则将本端端口的数据帧收发功能打开。因此 若发送状态机的定时器计时未到时,就不能及时地将本端端口的端口状态信息及时通知给 对端端口,使得数据帧收发功能不能同时打开,容易造成应用报文的丢失。然而上述具有定时器的四个状态机各自定时器的时长并没有在LACP中明确给 出,而且他们之间的关系也不确定,目前在使用LACP进行链路聚合控制的过程中,对各个 定时器时长的设置通过取用经验值,或者交由用户进行设置;用户在设置定时器的时候,常 常由于设置不合理,使得聚合链路一端端口的状态信息不能及时通知到对端,使得数据帧 收发功能不能够同时打开,导致应用报文在传输过程中的丢失。
发明内容
有鉴于此,本发明的主要目的在于提供一种链路聚合的方法及设备,实现了链路 聚合过程中减少应用报文丢失的目的。为达到上述目的,本发明的技术方案是这样实现的一种链路聚合的方法,所述方法包括下述步骤关闭所有端口的数据帧收发功能;发送状态机的定时器到时,选择逻辑状态机为端口选择聚合组,对复合状态机的 定时器进行设置并开始计时,复合状态机将所述端口准备加入到选择的聚合组;复合状态机的定时器和发送状态机的定时器同时到时,复合状态机将所述端口加 入到选择的聚合组,复合状态机根据接收到的链路聚合控制协议数据单元(LACPDU)报文 中的聚合状态信息,打开所述端口数据帧收发功能,进行应用报文的传输。进一步地,所述方法还包括预先对发送状态机的定时器进行设置,设置完毕后开 始计时;所述发送状态机的定时器到时之后开始新的计时。进一步地,所述关闭所有端口的数据帧收发功能之后还包括对接收状态机的定 时器和定期发送状态机的定时器进行设置,并在所述发送状态机到时时,定期发送状态机 的定时器和接收状态机的定时器开始计时。进一步地,所述对复合状态机的定时器进行设置并开始计时之后还包括以定期 发送状态机的定时器时长为周期进行LACPDU报文的发送,以交互端口状态信息。进一步地,所述方法还包括进行应用报文传输的同时,以发送状态机的定时器时 长为周期进行LACPDU报文的交互;当在接收状态机的定时器到时后,没有接收到对端的 LACPDU的报文,则关闭本端的数据帧收发功能。进一步地,所述关闭本端的数据帧收发功能之后还包括接收状态机的定时器重 新开始计时,在接收状态机的定时器的计时时间内,接收到对端的LACPDU报文,则打开本 端的数据帧收发功能;在接收状态机的定时器到时后,没有接收到对端的LACPDU报文,复 合状态机将本端的端口从聚合组中删除。进一步地,所述发送状态机的定时器的时长为kd ;所述复合状态机的定时器时长 为(dn-l)k ;所述接收状态机的定时器时长为kdn ;所述定期发送状态机的定时器时长介于kd和kdn之间;其中k为IOms的整数倍数,d和η为大于1的正整数。进一步地,所述复合状态机将所述端口加入到选择的聚合组之后还包括判断所 述端口的数据帧收发功能是否关闭,若未关闭,则关闭所述端口的数据帧收发功能。一种链路聚合的设备,所述设备包括关闭装置,用于关闭所有端口的数据帧收 发功能;加入装置,用于发送状态机的定时器到时,选择逻辑状态机为端口选择聚合组,对 复合状态机的定时器进行设置并开始计时,复合状态机将所述端口准备加入到选择的聚合 组;打开传输装置,用于复合状态机的定时器和发送状态机的定时器同时到时,复合状态机 将所述端口加入到选择的聚合组,复合状态机根据接收到的LACPDU报文中的聚合状态信 息,打开所述端口数据帧收发功能,进行应用报文的传输。进一步地,所述设备还包括定时计时装置,用于对接收状态机的定时器和定期发 送状态机的定时器进行设置,并在所述加入装置中的所述发送状态机到时时,定期发送状 态机的定时器和接收状态机的定时器开始计时。本发明所提供的链路聚合的方法及设备,通过合理设置各个状态机的定时器的时 长,保证将聚合链路中两端的端口状态信息及时交互,实现了两端的数据帧收发功能同时 打开,减少了应用报文的丢失。另外,在聚合链路出现异常,接收不到对端的LACPDU报文 时,将本端的数据帧收发功能及时关闭,提高了聚合链路传输应用报文的可靠性。
图1为现有技术中链路聚合控制过程中各状态机的关系示意图;图2为本发明实现链路聚合方法的流程示意图;图3为交换机间的链路聚合实施例示意图;图4为本发明实现链路聚合方法的时序流程图;图5为本发明实现链路聚合设备的结构示意图;图6为本发明实现链路聚合系统的示意图。
具体实施例方式本发明的基本思想为关闭所有端口的数据帧收发功能;发送状态机的定时器到 时,选择逻辑状态机为端口选择聚合组,对符合状态机的定时器进行设置并开始计时,复合 状态机将所述端口准备加入到选择的聚合组;复合状态机的定时器和发送状态机的定时器 同时到时,复合状态机将所述端口加入到选择的聚合组,复合状态机根据接收到的LACPDU 报文中的聚合状态信息,打开所述端口数据帧收发功能,进行应用报文的传输。为使本发明的目的、技术方案和优点更加清楚明白,以下举具体实施例并参照附 图,对本发明进一步详细说明。图2示出了本发明实现链路聚合的方法的流程,如图2所示,所述方法包括下述步 骤S11,关闭所有端口的数据帧收发功能;本步骤中,已经预先对所有端口的发送状态机的定时器的时长进行了设置,设置 完毕后开始计时。S12,发送状态机的定时器到时,选择逻辑状态机为端口选择聚合组,对复合状态机的定时器进行设置并开始计时,复合状态机将所述端口准备加入到选择的聚合组;本步骤中,在符合状态机的定时器计时时间内,等待所有端口准备加入到上述选 择逻辑状态机所选择的聚合组,根据LACP以定期发送状态机的定时器时长为周期进行 LACPDU报文的发送,以交互端口状态信息。S13,复合状态机的定时器和发送状态机的定时器同时到时,复合状态机将所述端 口加入到选择的聚合组,复合状态机根据接收到的LACPDU报文中的聚合状态信息,打开所 述端口数据帧收发功能,进行应用报文的传输。本步骤中,复合状态机的定时器和发送状态机的定时器同时到时,交互包含有准 备好加入聚合组状态信息的LACPDU报文,根据接收到的上述LACPDU报文,将端口加入到聚 合组,并改变端口状态为聚合状态,当发送状态机的定时器再次到时时,进行包含有聚合状 态信息的LACPDU报文交互,打开端口的数据帧收发功能打开,进行应用报文的传输。图3示出了交换机间的链路聚合的一种实施例,如图3所示,交换机一和交换机二 之间的一条链路AB,链路上只有端口 A和端口 B,为了简单明了地对本发明进行阐述,下面 结合图3的聚合链路实施例,对本发明进行阐述。图4示出了本发明实现链路聚合的方法的时序流程,如图4所示,所述方法包括下 述步骤S101,预先对发送状态机的定时器进行设置,设置完毕后开始计时,端口 A和端口 B分别关闭各自端口的数据帧收发功能,设置NTT的值为TRUE,并对接收状态机和定期发送 状态机各自的定时器的时长进行设置;发送状态机的定时器计时到时,端口 A和端口 B分别 将各自的LACPDU报文发送给对端,进行LACPDU报文的交互。本步骤中,已经预先对端口 A和端口 B的发送状态机的定时器的时长进行了设置, 设置完毕后开始计时,优选地,可以设置发送状态机的定时器时长为kX d,表示为kd (后续 描述中相关表达形式与此类似,不再赘述),其中k为IOms的整数倍数,d为大于1的正整 数。相应地,可以设置接收状态机的定时器时长为kdn,以保证能够充分地利用所述接收状 态机的定时器的定时时长,等待对端的发送状态机进行报文的发送;设置定期发送状态机 的定时器时长介于kd和kdn之间,优选地,定期发送状态机的定时器时长设置为2kd,其中, η为大于1的正整数。应当理解,本步骤中,发送状态机的定时器计时到时时,定期发送状态机的定时器 和接收状态机的定时器开始计时;各个状态机的定时器计时到时后,会不间断地开始新的 计时。S102,端口 A和端口 B进行LACPDU报文交互后,选择逻辑状态机为端口 A和端口 B选择合适的聚合组,同时对复合状态机的定时器进行设置。本步骤中,复合状态机的定时器可以设置为(dn-l)k,端口 A或端口 B收到对端 的LACPDU报文后,在k时间内,完成聚合组的选择及复合状态机的定时器的设置,即收到 LACPDU报文并经过k时间后,复合状态机的定时器开始计时。由此可见,k的取值为选择逻 辑状态机为端口选择聚合组、并对复合状态机的定时器进行设置所需要的时间。S103 S104,等待端口 A和端口 B准备加入到上述选择逻辑状态机所选择的聚合 组,根据LACP以定期发送状态机的定时器时长为周期进行LACPDU报文的发送,以交互端口 A和端口 B的端口状态信息。
S105,复合状态机的定时器和发送状态机的定时器同时到时,进行包含有准备好 加入聚合组状态信息的LACPDU报文交互。本步骤中,由于复合状态机的定时器设置为(dn-l)k,而S102占用的时间为k,因 此从SlOl的发送状态机的定时器重新开始计时到复合状态机的定时器到时,共经历的时 间为k+(dn-l)k,即nkd,而发送状态机的定时器设置为kd,所以,可以实现复合状态机的定 时器和发送状态机的定时器同时到时。当复合状态机的定时器到时,端口 A和端口 B的端口状态变为准备好加入聚合组 的状态,此时端口 A和端口 B有发送LACPDU报文的需要,而发送状态机的定时器同时到时, 可以及时地将端口 A和端口 B的端口状态信息通过LACPDU报文进行交互。S106,根据收到的LACPDU报文,端口 A加入到所述聚合组,并改变端口 A的端口状 态为聚合状态;端口 B加入到所述聚合组,并改变端口 B的端口状态为聚合状态。应当理解,端口 A和端口 B加入到聚合组的时间不一定是同时,可能会存在一定的 时差。本步骤中还可以包括判断端口 A和端口 B的数据帧收发功能是否关闭,若未关闭, 则关闭端口的数据帧收发功能,进一步保证阻止应用报文的传输。S107,发送状态机的定时器到时,进行包含有聚合状态信息的LACPDU报文交互, 端口 A和端口 B分别根据各自接收到的对端的LACPDU报文中的聚合状态信息,将自身端口 的数据帧收发功能打开,以进行应用报文的传输。由于发送状态机的定时器的上一个计时时间与复合状态机的定时器同时到时,因 此此处发送状态机的定时器发送的LACPDU报文包含的状态信息为聚合状态信息。S108,进行应用报文传输的同时,端口 A和端口 B以发送状态机的定时器时长为周 期进行LACPDU报文的发送,以交互端口的状态信息;S109,当在接收状态机的定时器到时后,端口 A仍没有接收到端口 B的LACPDU报 文,就会依据LACP将对端的端口状态信息设置为非聚合状态并告知端口 A,端口 A就会根 据所述非聚合状态的端口状态信息,关闭本端的数据帧收发功能,阻止应用报文的发送,同 时,再启动接收状态机的定时器重新进行计时;同理,当在接收状态机的定时器到时后,端口 B仍没有接收到端口 A的LACPDU报 文,后面的处理与上述相同,不再赘述。S111,当在接收状态机的定时器重新计时的时间内,端口 A接收到端口 B的LACPDU 报文后,则打开本端的数据帧收发功能。同理,当在接收状态机的定时器重新计时的时间内,端口 B接收到端口 A的LACPDU 报文后,则打开本端的数据帧收发功能。本步骤中还可以包括当在接收状态机的定时器重新计时到时后,端口 A仍没有接 收到端口 B的LACPDU报文,则复合状态机将端口 A从该聚合组中删除;同理,端口 B的操作 与之类似,不再赘述。图5示出了本发明实现链路聚合的设备的结构示意,如图5所示,所述设备包括 关闭装置10、加入装置20以及打开传输装置30。其中,关闭装置10用于关闭所有端口的 数据帧收发功能;加入装置20用于在关闭装置10关闭所有端口的数据帧收发功能且发送 状态机的定时器到时时,选择逻辑状态机为端口选择聚合组,对复合状态机的定时器进行
8设置并开始计时,复合状态机将所述端口准备加入到选择的聚合组;打开传输装置30用于 在复合状态机的定时器和发送状态机的定时器同时到时,复合状态机将所述端口加入到选 择的聚合组,复合状态机根据接收到的LACPDU报文中的聚合状态信息,打开所述端口数据 帧收发功能,进行应用报文的传输。进一步地,所述设备还包括定时计时装置40,用于对接收状态机的定时器和定期 发送状态机的定时器进行设置,并在所述加入装置20中的所述发送状态机到时时,定期发 送状态机的定时器和接收状态机的定时器开始计时。图6示出了本发明实现链路聚合的系统的结构,如图6所示,所述系统包括交换 机一和交换机二 ;其中,交换机一和交换机二包含有至少一个端口 ;交换机一或交换机二 的复合状态机关闭端口的数据帧收发功能;交换机一或交换机二的发送状态机的定时器到 时,发送LACPDU报文给交换机二或交换机一,为端口选择聚合组,并对复合状态机的定时 器进行设置并开始计时;交换机一或交换机二的复合状态机的定时器和发送状态机的定时 器同时到时,发送包含有准备好加入聚合组状态信息的LACPDU报文给交换机二或交换机 一;交换机一或交换机二的端口加入到聚合组,改变端口状态为聚合状态,应当理解,交换 机一和交换机二各自端口加入到聚合组的时间不一定是同时,可能会存在一定的时差,发 送状态机的定时器到时,发送包含有聚合状态信息的LACPDU报文给交换机二或交换机一, 交换机一或交换机二接收到的交换机二或交换机一发送的LACPDU报文中的聚合状态信 息,打开端口的数据帧收发功能。具体地,交换机一或交换机二具体用于对接收状态机的定时器和定期发送状态机 的定时器进行设置,并在所述发送状态机到时时,定期发送状态机的定时器和接收状态机 的定时器开始计时。进一步地,所述交换机一或交换机二具体用于以定期发送状态机的定时器时长为 周期进行LACPDU报文的发送。具体地,所述交换机一或交换机二具体用于进行应用报文传输的同时,以发送状 态机的定时器时长为周期发送LACPDU报文给交换机二或交换机一;当在接收状态机的定 时器到时后,没有接收到交换机二或交换机一的LACPDU的报文,则关闭本端的数据帧收发 功能。其中,所述交换机一或交换机二关闭本端的数据帧收发功能后,接收状态机的定 时器重新开始计时,在接收状态机的定时器的计时时间内,接收到交换机二或交换机一的 LACPDU报文,则打开端口的数据帧收发功能;在接收状态机的定时器到时后,没有接收到 交换机二或交换机一的LACPDU报文,复合状态机将交换机一或交换机二的端口从聚合组 中删除。其中,所述交换机一和交换机二的发送状态机的定时器的时长为kd ;复合状态机 的定时器时长为(dn-l)k ;接收状态机的定时器时长为kdn ;定期发送状态机的定时器时长 介于kd和kdn之间;其中k为IOms的整数倍数,d和η为大于1的正整数。本发明所提供的链路聚合的方法、设备及系统,通过合理设置各个状态机的定时 器的时长,保证将聚合链路中两端的端口状态信息及时交互,实现了两端的数据帧收发功 能同时打开,减少了应用报文的丢失;另外,在聚合链路出现异常,接收不到对端的LACPDU 报文时,将本端的数据帧收发功能及时关闭,提高了聚合链路传输应用报文的可靠性。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
权利要求
一种链路聚合的方法,其特征在于,所述方法包括下述步骤关闭所有端口的数据帧收发功能;发送状态机的定时器到时,选择逻辑状态机为端口选择聚合组,对复合状态机的定时器进行设置并开始计时,复合状态机将所述端口准备加入到选择的聚合组;复合状态机的定时器和发送状态机的定时器同时到时,复合状态机将所述端口加入到选择的聚合组,复合状态机根据接收到的链路聚合控制协议数据单元(LACPDU)报文中的聚合状态信息,打开所述端口数据帧收发功能,进行应用报文的传输。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括预先对发送状态机的定 时器进行设置,设置完毕后开始计时;所述发送状态机的定时器到时之后开始新的计时。
3.根据权利要求1所述的方法,其特征在于,所述关闭所有端口的数据帧收发功能之 后还包括对接收状态机的定时器和定期发送状态机的定时器进行设置,并在所述发送状 态机到时时,定期发送状态机的定时器和接收状态机的定时器开始计时。
4.根据权利要求3所述的方法,其特征在于,所述对复合状态机的定时器进行设置并 开始计时之后还包括以定期发送状态机的定时器时长为周期进行LACPDU报文的发送,以 交互端口状态信息。
5.根据权利要求3所述的方法,其特征在于,所述方法还包括下述步骤进行应用报文传输的同时,以发送状态机的定时器时长为周期进行LACPDU报文的交互;当在接收状态机的定时器到时后,没有接收到对端的LACPDU的报文,则关闭本端的数 据帧收发功能。
6.根据权利要求5所述的方法,其特征在于,所述关闭本端的数据帧收发功能之后还 包括接收状态机的定时器重新开始计时,在接收状态机的定时器的计时时间内,接收到对 端的LACPDU报文,则打开本端的数据帧收发功能;在接收状态机的定时器到时后,没有接 收到对端的LACPDU报文,复合状态机将本端的端口从聚合组中删除。
7.根据权利要求3至6任一项所述的方法,其特征在于,所述发送状态机的定时器的时 长为kd ;所述复合状态机的定时器时长为(dn-l)k ;所述接收状态机的定时器时长为kdn ; 所述定期发送状态机的定时器时长介于kd和kdn之间;其中k为IOms的整数倍数,d和η 为大于1的正整数。
8.根据权利要求1至6任一项所述的方法,其特征在于,所述复合状态机将所述端口加 入到选择的聚合组之后还包括判断所述端口的数据帧收发功能是否关闭,若未关闭,则关 闭所述端口的数据帧收发功能。
9.一种链路聚合的设备,其特征在于,所述设备包括关闭装置,用于关闭所有端口的数据帧收发功能;加入装置,用于发送状态机的定时器到时,选择逻辑状态机为端口选择聚合组,对复合 状态机的定时器进行设置并开始计时,复合状态机将所述端口准备加入到选择的聚合组;打开传输装置,用于复合状态机的定时器和发送状态机的定时器同时到时,复合状态 机将所述端口加入到选择的聚合组,复合状态机根据接收到的LACPDU报文中的聚合状态 信息,打开所述端口数据帧收发功能,进行应用报文的传输。
10.根据权利要求9所述的设备,其特征在于,所述设备还包括定时计时装置,用于对 接收状态机的定时器和定期发送状态机的定时器进行设置,并在所述加入装置中的所述发 送状态机到时时,定期发送状态机的定时器和接收状态机的定时器开始计时。
全文摘要
本发明提供了一种链路聚合的方法及设备,所述方法包括关闭所有端口的数据帧收发功能;发送状态机的定时器到时,选择逻辑状态机为端口选择聚合组,对复合状态机的定时器进行设置并开始计时,复合状态机将所述端口准备加入到聚合组;复合状态机和发送状态机的定时器同时到时,复合状态机将所述端口加入到聚合组,复合状态机根据接收到的LACPDU报文中的聚合状态信息,打开所述端口数据帧收发功能,进行应用报文的传输。本发明链路聚合的方法及设备,通过合理设置各个状态机的定时器的时长,保证数据帧收发功能同时打开,减少了应用报文的丢失;另外,在聚合链路出现异常时,将数据帧收发功能及时关闭,提高了聚合链路传输应用报文的可靠性。
文档编号H04L12/56GK101945042SQ201010275509
公开日2011年1月12日 申请日期2010年9月3日 优先权日2010年9月3日
发明者叶傲, 杜相文, 杨桂荣, 陈健, 马苗苗 申请人:中兴通讯股份有限公司