一种实现链路抢占的方法及链路端口的制作方法

文档序号:7684543阅读:308来源:国知局
专利名称:一种实现链路抢占的方法及链路端口的制作方法
技术领域
本发明涉及一种网络通信应用领域,尤其涉及一种实现链路抢占的方法及 装置。
背景技术
TRUNK是端口汇聚的意思,就是通过配置软件的设置,将2个或多个物理 端口组合在一起成为 一条逻辑的路径从而增加在交换机和网络节点之间的带 宽,将属于这几个端口的带宽合并,给端口提供一个几倍于独立端口的独享的 高带宽。TRUNK是一种封装技术,它是一条点到点的链路,链路的两端可以都 是交换机,也可以是交换机和路由器,还可以是主机和交换机或路由器。基于 端口汇聚TRUNK功能,允许交换机与交换机、交换机与路由器、主机与交换 机或路由器之间通过两个或多个端口并行连接同时传输以提供更高带宽、更大吞吐量,大幅度提供整个网络能力。TRUNK是在交换机和网络设备之间比较经 济的增加带宽的方法,如服务器、路由器、工作站或其他交换机。这种增加带 宽的方法在当单一交换机和节点之间连接不能满足负荷时是比较有效的。TRUNK的主要功能就是将多个物理端口 (一般为2-8个)绑定为一个逻 辑的通道,使其工作起来就像一个通道一样。将多个物理链路捆绑在一起后, 不但提升了整个网络的带宽,而且数据还可以同时经由被绑定的多个物理链路 传输,具有链路冗余的作用,在网络出现故障或其他原因断开其中一条或多条 链路时,剩下的链路还可以工作。TRUNK功能比较适合于以下方面具体应用 TRUNK功能用于与服务器相联,给服务器提供独享的高带宽;TRUNK功能用 于交换机之间的级联,通过牺牲端口数来给交换机之间的数据交换提供捆绑的 高带宽,提高网络速度,突破网络瓶颈,进而大幅提高网络性能;TRUNK可以 提供负载均衡能力以及系统容错。由于TRUNK实时平衡各个交换机端口和服 务器接口的流量, 一旦某个端口出现故障,它会自动把故障端口从TRUNK组 中撤消,进而重新分配各个TRUNK端口的流量,从而实现系统容错。链路聚合(Link Aggregation)是指将一组物理端口捆绑在一起作为一个逻 辑接口来增加带宽的一种方法,又称为多端口负载均衡组(Load Sharing Group, LSG)。通过在两台设备之间建立链路聚合组(Link Aggregation Group, LAG), 可以提供更高的通讯带宽和更高的可靠性,而这种提高不需要硬件的升级,并 且还为两台设备的通讯提供了冗余保护。链路聚合控制协议(Link Aggregation Control Protocol, LACP)为交换数据的设备提供一种标准的协商方式,供系统 根据自身配置自动形成聚合链路并启动聚合链路收发数据。聚合链路形成后, 负责维护链路状态,在聚合条件发生变化时,自动调整或解散链路聚合。在链 路聚合技术的支持下,网络传输的数据流被动态地分布到加入链路的各个 TRUNK端口,因此在聚合链路中自动地完成了对实际流经某个TRUNK端口的 数据管理。链路聚合的另一个主要优点是可靠性。链路聚合技术在点到点链路 上提供了固有的、自动的冗余性。如果链^各使用的多个TRUNK端口中的一个 出现故障,网络传输的数据流可以动态地快速转向链路中其他工作正常的 TRUNK端口进行传输。根据LACP标准协议,链路的主、从两端要进行报文交互(主或从的角色 是根据链路两端设备的系统优先级确定的),选择逻辑根据交互的结果决定哪条 处于SELECTED状态。例如当有6条链路,但配置只允许3条被选中,这时 只会选择优先级最高的三条链路。这里的优先级指端口优先级,端口优先级是 决定端口参与数据传输的能力参数。端口中的选择逻辑会#4居端口优先级来选 择链路。当某条优先级更高的链路从DOWN状态变为UP时,如果其优先级较 高,意味着该链路数据转输的能力更强,会抢占以前已有的链路,被抢占的链 路就处于UNSELECTED状态。优先级高的链路抢占优先级低的链路时,优先级高的链路可能短期内状态 并不稳定,例如发生故障,可能会导致链路在DOWN和UP之间不断的振荡, 其中DOWN状态为链路上报文不能正常收发的状态下,UP状态为链路上报文 正常收发的状态下,即为链路可通的状态下。当链路UP时,因为优先级比处于 SELECTED状态的链路高,就会发生抢占,被抢占的链路状态变为 UNSELECTED。当该链路状态又变为DOWN时,链路肯定不会被选中,导致 本身被抢占,进入UNSELECTED状态,导致这条链路的LACP状态在 SELECTED和UNSELECTED状态振荡,这种状态的振荡,会导致TRUNK端口之间的用户数据报文的多次丢包。 发明内容鉴于上述现有技术所存在的问题,本发明实施例提供了 一种实现链路抢占的方法和链路端口 。通过在在链路端cr中为优先级高的链路配置相应的延时抢占时间,在发生链路枪占过程中避免了用户数据包的丢失。为了解决上述技术问题,本发明实施例提出了一种实现链路抢占的方法,该方法包括以下步骤检测聚合链路端口上链路的状态;当检测到位于同一个聚合链路端口上的优先级高的链路将要抢占优先级低 的链路时,使所述优先级高的链路处于延时抢占状态;当优先级高的链路延时满足链路状态稳定之后,使延时抢占状态的优先级 高的链路置于被抢链路上抢占优先级低的链路。相应的,本发明实施例还提出了一种链路端口,包括检测单元,用于检测链路端口两端的链路状态,当检测优先级高的链路将 要抢占优先级低的链路时,发送所述将要抢占消息;延时抢占单元,用于接收所述将要抢占消息,根据所述将要抢占消息使优 先级高的链路处于延时抢占状态;抢占单元,用于在优先级高的链路延时满足链路状态稳定之后,使延时抢 占状态的优先级高的链路置于被抢链路上抢占优先级低的链路。实施本发明实施例,通过本发明实施例中链路抢占的方法及链路端口 ,在 检测到TRUNK端口上的优先级高的链路抢占优先级低的链路时,使优先级高 的链路处于延时抢占状态,避免优先级高的链路立即抢占优先级低的链路,当 延时到优先级高的链路处于稳定状态之后,使优先级高的链路抢占优先级低的 链路,避免了用户数据包因为链R间的抢占而导致的多次丟包。


图l是本发明实施例中的链路端口的结构示意图;图2是本发明实施例中的实现链路怆占方法的流程图。
具体实施方式
本发明实施例提供了 一种实现链路抢占的方法和链路端口 。通过在在链路 端口中为优先级高的链路配置相应的延时抢占时间,在发生链#占过程中避 免了用户数据包的丢失。下面结合附图详细说明本发明的优选实施例。首先请参阅图1,图1示出了本发明实施中的链路端口的结构示意图,该链路端口包括检测单元10、延时抢占单元11、定时器单元12以及抢占单元13, 其中检测单元10用于检测链路端口两端的链路状态,当检测到优先级高的链 路将要抢占优先级低的链路时,即检测到TRUNK端口中有优先级高的链路故 障恢复时或优先级高的链路加入该TRUNK端口时,将所述将要抢占消息发送 给延时抢占单元11;延时抢占单元11接收4&测单元10发送的将要抢占消息, 并根据所述将要抢占消息使优先级高的链路处于延时抢占状态,即通过TRUNK 端口中设置的延时标志位使优先级高的链路处于延时抢占状态,所述延时抢占 状态使优先级高的链路不立即对优先级低的链路进行抢占,而是通过一个延时 的机制等优先级高的链路稳定之后,对优先级低的链路进行抢占;定时器单元 12用于在延时抢占单元11使优先级高的链路处于延时抢占状态后,对链路的延 时抢占状态进行计时,当满足定时器单元12设置的时间时,所述定时器单元12 设置的时间为优先级高的链路的延时抢占时间,所述延时抢占时间为优先级高 的链路由链路不稳定状态转变为链路稳定状态的时间,该延时抢占时间必须保 证链路状态稳定;抢占单元13用于在优先级高的链路延时满足链路状态稳定之 后,即定时器单元12设置的时间达到时,定时器单元12通知抢占单元13使延 时抢占状态的优先级高的链路置于被抢链路上抢占优先级低的链路。图2示出了本发明实施例中的实现链路抢占方法的流程图,具体如下S201:配置优先级高的链路的延时抢占时间;在检测优先级高的链路将要抢占优先级低的链路前,在TRUNK上配置优 先级高的链路的延时抢占时间,所述延时抢占时间为优先级高的链路由链路的 不稳定状态转变为链路稳定状态的时间。当优先级高的链路由DOWN状态变化 为UP状态时,需要经过一定的时间,该时间为IO秒到180秒,可以4艮据具体 的应用情况进行配置。当优先级高的链路稳定之后才被选择为SELECTED状态, 这样就避免了因为端口链路的不稳定导致的端口 LACP状态震荡。在TRUNK端口的配置过程中,可以通过配置优先级延时抢占功能和优先级延时抢占的时 间来完成链路的延时抢占。S202:检测优先级高的链路是否将要对优先级低的链路进行抢占,如果是 则进行S203,否则转S207;如果同时出现多个优先级一样的链路,则选择其中一个优先级高的链路即可。S203:将优先级高的链路处于延时抢占状态; S204:调用计时器对优先级高的链路的延时抢占状态进行计时; S205:判断所述计时器计时时间是否达到配置的延时抢占时间,如果是, 则进行S206,否则转S204;S206:使优先级高的链路抢占优先级低的链路;如果在优先级高的链路处于延时抢占状态时,出现一个更高的优先级链路 时,那么TRUNK端口将所述更高的优先级链路置于延时抢占状态,优先级高 的链路过了延时抢占状态时间时,抢占优先级低的链路,保证了链路上的数据 包不丢失,让更高的优先级链路过了延时抢占状态时间时,抢占优先级高的链 路,也保证了链路上的数据包不会丢失。S207:结束。通过S201至S207中可以实现在TRUNK端口设备检测到优先级高的链路 将要抢占优先级低的链路时,使优先级高的链路处于延时抢占的状态;当优先 级高的链路延时满足链路状态稳定之后,使延时抢占状态的优先级高的链路置 于被抢链路上抢占优先级低的链路。在具体实现过程中,需要调用定时器对所 述优先级的延时抢占状态进行计时,当满足所配置的时间时,使延时抢占状态 的优先级高的链路置于被抢链路上抢占优先级低的链路。当有多个TRUNK端 口时,需要检测多个TRUNK端口上的链路的状态,如果是优先级高的链路未 处于延时抢占状态,则需要将所述优先级高的链路置于延时抢占状态。本发明实施例中所提供的LACP的优先级抢占功能可以避免优先级抢占引 起的震荡问题,当优先级高的链路由DOWN状态变化为UP状态时,需要经过 一定的时间,该时间为IO秒到180秒,可以根据具体的应用情况进行配置。当 优先级高的链路稳定之后才4皮选择为SELECTED状态,这样就避免了因为端口 链路的不稳定导致的端口 LACP状态震荡。在TRUNK端口的配置过程中,可以通过配置优先级延时抢占功能和优先级延时抢占的时间来完成链路的延时抢 占。在TRUNK端口上设置四个标志位,如ucPreemptWaitTime、ucPreemptTimer、 ucPartnerAggregationDelay和ucActorAggregationDelay,其中ucPreemptWaitTime 代表配置的延迟抢占时间;ucPreemptWaitTimer为一个定时器,用来对延迟抢占 时间进行计时,ucPartnerAggregation代表对端延迟聚合是否起作用, ucActorAggregationDelay代表本端延迟聚合是否起作用,延迟聚合就是链路不立 即对原有的链路进行抢占。一般的选择逻辑处理,可以按照LACP协议来实现,如果通过优先级延时 抢占来避免优先级高的链路立即抢占优先级低的链路,需要在选择逻辑里面加 上判断功能,如果链路端口启动了优先级延时抢占功能,则暂不执行选择逻辑 的算法,暂时不聚合。当在使能了 LACP功能的TRUNK端口上遍历其所有成 员端口,在通过选择逻辑来判断该成员端口是否被选中时,先判断该端口上对 端延迟聚合功能或本端延迟聚合功能是否启动,如果已启动则该成员端口的状 态置为皿select状态,程序不再对该成员端口进行处理,转而处理下一个成员端 口。当优先级高的链路选择为延时抢占状态后,需要调用一个定时器,所述定 时器的时间是在配置优先级延迟抢占时间时确定的,当延时抢占状态时间到时, 把成员端口上表示本端是否处于优先级抢占等待状态的标志位 ucActorAggregationDelay置成非优先级延时抢占等待状态,调用LACP协议里 面的发送状态机发送报文到对端,4艮文里包含ucActorAggregationDelay这一标 志位。对端收到报文后,会运行接收状态机,在接收状态机里根据状态会有可 能运4亍选择逻辑,在选择逻4專里面会才艮据ucPartnerAggregationDelay和 ucActorAggregationDelay 二个标志位来确定是否该链路被选中,现在 ucPartnerAggregationDelay已经处于不使能状态,也就是延时抢占功能不起作用 状态。因为对端设备的ucPartnerAggregationDelay就是本端设备的 ucActorAggregationDelay,而本端的这一标志位,如前所述,已置成了非优先级 延时抢占状态,并且通过报文发过去了,故是可以继续运行算法而使该链路被 选中。然后,对端会发报文给本端,本端也可以同样使该链路被选中。这样就 达到了避免优先级高的链路立即抢占低优先级链路的目的,可以按配置的时间 实现抢占。综上所述,链路抢占的方法及链路端口,在检测到优先级高的链路抢占优 先级低的链路时,使优先级高的链路处于延时抢占状态,避免优先级高的链路 立即抢占优先级低的链路,当延时到优先级高的链路处于稳定状态之后,使优 先级高的链路抢占优先级低的链路,避免了用户数据包因为链路之间的抢占而 导致的多次丟包。流程,是可以通过程序来指令相关的硬件来完成,所述的程序可存储于一计算 机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory, ROM)或随机存储记忆体(Radom Access Memory, RAM)等。以上所揭露的仅为本发明实施例中的一种较佳实施例而已,当然不能以此 来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发 明所涵盖的范围。
权利要求
1、一种实现链路抢占的方法,其特征在于,该方法包括检测聚合链路端口上链路的状态;当检测到位于同一个聚合链路端口上的优先级高的链路将要抢占优先级低的链路时,使所述优先级高的链路处于延时抢占状态;当所述优先级高的链路延时满足链路状态稳定之后,使延时抢占状态的优先级高的链路置于被抢链路上抢占优先级低的链路。
2、 如权利要求1所述的实现链路抢占的方法,其特征在于,进一步包括 在检测优先级高的链路将要抢占优先级低的链路前,在聚合链路端口上配置优先级高的链路的延时抢占时间,所述延时抢占时间为优先级高的链路由链 路不稳定状态转变为链路稳定状态的时间。
3、 如权利要求2所述的实现链路抢占的方法,其特征在于,所述4全测到位 于同一个聚合链路端口上的优先级高的链路将要抢占优先级低的链路具体为 当同一个聚合链路端口上有优先级高的链路故障恢复或有优先级高的链路加入 聚合链路端口 。
4、 如权利要求3所述的实现链路抢占的方法,其特征在于,进一步包括 当检测到优先级高的链路将要抢占优先级低的链路时,调用定时器对所述优先级高的链路处于的延时抢占状态进行计时,当满足所述配置的延时抢占时 间时,使延时抢占状态的优先级高的链路置于被抢链路上抢占优先级低的链路。
5、 一种链路端口,其特征在于,包括检测单元,用于检测链路端口两端的链路状态,当检测优先级高的链路将 要抢占优先级低的链路时,发送所述将要抢占消息;延时抢占单元,用于接收所述将要抢占消息,根据所述将要抢占消息使优 先级高的链路处于延时抢占状态;抢占单元,用于在优先级高的链路延时满足链路状态稳定之后,使延时抢占状态的优先级高的链路置于被抢链路上抢占优先级低的链路。
6、如权利要求5所述的链路端口 ,其特征在于,进一步包括 定时器单元,用于对所述延时抢占单元使优先级高的链路处于延时抢占状 态进行计时,当满足所述配置的延时抢占时间时,通知所述抢占单元使延时抢 占状态的优先级高的链路置于被抢链路上抢占优先级低的链路。
全文摘要
本发明实施例公开了一种实现链路抢占的方法,该方法包括以下步骤检测聚合链路端口上链路的状态;当检测到位于同一个聚合链路端口上的优先级高的链路将要抢占优先级低的链路时,使优先级高的链路处于延时抢占状态;当优先级高的链路延时满足链路状态稳定之后,使延时抢占状态的优先级高的链路置于被抢链路上抢占优先级低的链路。本发明实施例还公开了一种链路端口,通过本发明实施例提供的实现链路抢占的方法和链路端口,通过在链路端口中为优先级高的链路配置相应的延时抢占时间,在发生链路抢占过程中避免了用户数据包的丢失。
文档编号H04L12/56GK101217487SQ20081002565
公开日2008年7月9日 申请日期2008年1月7日 优先权日2008年1月7日
发明者臻 杨 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1