CN101217487A - 一种实现链路抢占的方法及链路端口 - Google Patents
一种实现链路抢占的方法及链路端口 Download PDFInfo
- Publication number
- CN101217487A CN101217487A CNA2008100256578A CN200810025657A CN101217487A CN 101217487 A CN101217487 A CN 101217487A CN A2008100256578 A CNA2008100256578 A CN A2008100256578A CN 200810025657 A CN200810025657 A CN 200810025657A CN 101217487 A CN101217487 A CN 101217487A
- Authority
- CN
- China
- Prior art keywords
- link
- priority
- time
- delay
- port
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例公开了一种实现链路抢占的方法,该方法包括以下步骤:检测聚合链路端口上链路的状态;当检测到位于同一个聚合链路端口上的优先级高的链路将要抢占优先级低的链路时,使优先级高的链路处于延时抢占状态;当优先级高的链路延时满足链路状态稳定之后,使延时抢占状态的优先级高的链路置于被抢链路上抢占优先级低的链路。本发明实施例还公开了一种链路端口,通过本发明实施例提供的实现链路抢占的方法和链路端口,通过在链路端口中为优先级高的链路配置相应的延时抢占时间,在发生链路抢占过程中避免了用户数据包的丢失。
Description
技术领域
本发明涉及一种网络通信应用领域,尤其涉及一种实现链路抢占的方法及装置。
背景技术
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 AggregationControl Protocol,LACP)为交换数据的设备提供一种标准的协商方式,供***根据自身配置自动形成聚合链路并启动聚合链路收发数据。聚合链路形成后,负责维护链路状态,在聚合条件发生变化时,自动调整或解散链路聚合。在链路聚合技术的支持下,网络传输的数据流被动态地分布到加入链路的各个TRUNK端口,因此在聚合链路中自动地完成了对实际流经某个TRUNK端口的数据管理。链路聚合的另一个主要优点是可靠性。链路聚合技术在点到点链路上提供了固有的、自动的冗余性。如果链路使用的多个TRUNK端口中的一个出现故障,网络传输的数据流可以动态地快速转向链路中其他工作正常的TRUNK端口进行传输。
根据LACP标准协议,链路的主、从两端要进行报文交互(主或从的角色是根据链路两端设备的***优先级确定的),选择逻辑根据交互的结果决定哪条处于SELECTED状态。例如:当有6条链路,但配置只允许3条被选中,这时只会选择优先级最高的三条链路。这里的优先级指端口优先级,端口优先级是决定端口参与数据传输的能力参数。端口中的选择逻辑会根据端口优先级来选择链路。当某条优先级更高的链路从DOWN状态变为UP时,如果其优先级较高,意味着该链路数据转输的能力更强,会抢占以前已有的链路,被抢占的链路就处于UNSELECTED状态。
优先级高的链路抢占优先级低的链路时,优先级高的链路可能短期内状态并不稳定,例如发生故障,可能会导致链路在DOWN和UP之间不断的振荡,其中:DOWN状态为链路上报文不能正常收发的状态下,UP状态为链路上报文正常收发的状态下,即为链路可通的状态下。当链路UP时,因为优先级比处于SELECTED状态的链路高,就会发生抢占,被抢占的链路状态变为UNSELECTED。当该链路状态又变为DOWN时,链路肯定不会被选中,导致本身被抢占,进入UNSELECTED状态,导致这条链路的LACP状态在SELECTED和UNSELECTED状态振荡,这种状态的振荡,会导致TRUNK端口之间的用户数据报文的多次丢包。
发明内容
鉴于上述现有技术所存在的问题,本发明实施例提供了一种实现链路抢占的方法和链路端口。通过在在链路端口中为优先级高的链路配置相应的延时抢占时间,在发生链路抢占过程中避免了用户数据包的丢失。
为了解决上述技术问题,本发明实施例提出了一种实现链路抢占的方法,该方法包括以下步骤:
检测聚合链路端口上链路的状态;
当检测到位于同一个聚合链路端口上的优先级高的链路将要抢占优先级低的链路时,使所述优先级高的链路处于延时抢占状态;
当优先级高的链路延时满足链路状态稳定之后,使延时抢占状态的优先级高的链路置于被抢链路上抢占优先级低的链路。
相应的,本发明实施例还提出了一种链路端口,包括:
检测单元,用于检测链路端口两端的链路状态,当检测优先级高的链路将要抢占优先级低的链路时,发送所述将要抢占消息;
延时抢占单元,用于接收所述将要抢占消息,根据所述将要抢占消息使优先级高的链路处于延时抢占状态;
抢占单元,用于在优先级高的链路延时满足链路状态稳定之后,使延时抢占状态的优先级高的链路置于被抢链路上抢占优先级低的链路。
实施本发明实施例,通过本发明实施例中链路抢占的方法及链路端口,在检测到TRUNK端口上的优先级高的链路抢占优先级低的链路时,使优先级高的链路处于延时抢占状态,避免优先级高的链路立即抢占优先级低的链路,当延时到优先级高的链路处于稳定状态之后,使优先级高的链路抢占优先级低的链路,避免了用户数据包因为链路之间的抢占而导致的多次丢包。
附图说明
图1是本发明实施例中的链路端口的结构示意图;
图2是本发明实施例中的实现链路抢占方法的流程图。
具体实施方式
本发明实施例提供了一种实现链路抢占的方法和链路端口。通过在在链路端口中为优先级高的链路配置相应的延时抢占时间,在发生链路抢占过程中避免了用户数据包的丢失。
下面结合附图详细说明本发明的优选实施例。
首先请参阅图1,图1示出了本发明实施中的链路端口的结构示意图,该链路端口包括检测单元10、延时抢占单元11、定时器单元12以及抢占单元13,其中:检测单元10用于检测链路端口两端的链路状态,当检测到优先级高的链路将要抢占优先级低的链路时,即检测到TRUNK端口中有优先级高的链路故障恢复时或优先级高的链路加入该TRUNK端口时,将所述将要抢占消息发送给延时抢占单元11;延时抢占单元11接收检测单元10发送的将要抢占消息,并根据所述将要抢占消息使优先级高的链路处于延时抢占状态,即通过TRUNK端口中设置的延时标志位使优先级高的链路处于延时抢占状态,所述延时抢占状态使优先级高的链路不立即对优先级低的链路进行抢占,而是通过一个延时的机制等优先级高的链路稳定之后,对优先级低的链路进行抢占;定时器单元12用于在延时抢占单元11使优先级高的链路处于延时抢占状态后,对链路的延时抢占状态进行计时,当满足定时器单元12设置的时间时,所述定时器单元12设置的时间为优先级高的链路的延时抢占时间,所述延时抢占时间为优先级高的链路由链路不稳定状态转变为链路稳定状态的时间,该延时抢占时间必须保证链路状态稳定;抢占单元13用于在优先级高的链路延时满足链路状态稳定之后,即定时器单元12设置的时间达到时,定时器单元12通知抢占单元13使延时抢占状态的优先级高的链路置于被抢链路上抢占优先级低的链路。
图2示出了本发明实施例中的实现链路抢占方法的流程图,具体如下:
S201:配置优先级高的链路的延时抢占时间;
在检测优先级高的链路将要抢占优先级低的链路前,在TRUNK上配置优先级高的链路的延时抢占时间,所述延时抢占时间为优先级高的链路由链路的不稳定状态转变为链路稳定状态的时间。当优先级高的链路由DOWN状态变化为UP状态时,需要经过一定的时间,该时间为10秒到180秒,可以根据具体的应用情况进行配置。当优先级高的链路稳定之后才被选择为SELECTED状态,这样就避免了因为端口链路的不稳定导致的端口LACP状态震荡。在TRUNK端口的配置过程中,可以通过配置优先级延时抢占功能和优先级延时抢占的时间来完成链路的延时抢占。
S202:检测优先级高的链路是否将要对优先级低的链路进行抢占,如果是则进行S203,否则转S207;
如果同时出现多个优先级一样的链路,则选择其中一个优先级高的链路即可。
S203:将优先级高的链路处于延时抢占状态;
S204:调用计时器对优先级高的链路的延时抢占状态进行计时;
S205:判断所述计时器计时时间是否达到配置的延时抢占时间,如果是,则进行S206,否则转S204;
S206:使优先级高的链路抢占优先级低的链路;
如果在优先级高的链路处于延时抢占状态时,出现一个更高的优先级链路时,那么TRUNK端口将所述更高的优先级链路置于延时抢占状态,优先级高的链路过了延时抢占状态时间时,抢占优先级低的链路,保证了链路上的数据包不丢失,让更高的优先级链路过了延时抢占状态时间时,抢占优先级高的链路,也保证了链路上的数据包不会丢失。
S207:结束。
通过S201至S207中可以实现在TRUNK端口设备检测到优先级高的链路将要抢占优先级低的链路时,使优先级高的链路处于延时抢占的状态;当优先级高的链路延时满足链路状态稳定之后,使延时抢占状态的优先级高的链路置于被抢链路上抢占优先级低的链路。在具体实现过程中,需要调用定时器对所述优先级的延时抢占状态进行计时,当满足所配置的时间时,使延时抢占状态的优先级高的链路置于被抢链路上抢占优先级低的链路。当有多个TRUNK端口时,需要检测多个TRUNK端口上的链路的状态,如果是优先级高的链路未处于延时抢占状态,则需要将所述优先级高的链路置于延时抢占状态。
本发明实施例中所提供的LACP的优先级抢占功能可以避免优先级抢占引起的震荡问题,当优先级高的链路由DOWN状态变化为UP状态时,需要经过一定的时间,该时间为10秒到180秒,可以根据具体的应用情况进行配置。当优先级高的链路稳定之后才被选择为SELECTED状态,这样就避免了因为端口链路的不稳定导致的端口LACP状态震荡。在TRUNK端口的配置过程中,可以通过配置优先级延时抢占功能和优先级延时抢占的时间来完成链路的延时抢占。
在TRUNK端口上设置四个标志位,如ucPreemptWaitTime、ucPreemptTimer、ucPartnerAggregationDelay和ucActorAggregationDelay,其中:ucPreemptWaitTime代表配置的延迟抢占时间;ucPreemptWaitTimer为一个定时器,用来对延迟抢占时间进行计时,ucPartnerAggregation代表对端延迟聚合是否起作用,ucActorAggregationDelay代表本端延迟聚合是否起作用,延迟聚合就是链路不立即对原有的链路进行抢占。
一般的选择逻辑处理,可以按照LACP协议来实现,如果通过优先级延时抢占来避免优先级高的链路立即抢占优先级低的链路,需要在选择逻辑里面加上判断功能,如果链路端口启动了优先级延时抢占功能,则暂不执行选择逻辑的算法,暂时不聚合。当在使能了LACP功能的TRUNK端口上遍历其所有成员端口,在通过选择逻辑来判断该成员端口是否被选中时,先判断该端口上对端延迟聚合功能或本端延迟聚合功能是否启动,如果已启动则该成员端口的状态置为unselect状态,程序不再对该成员端口进行处理,转而处理下一个成员端口。当优先级高的链路选择为延时抢占状态后,需要调用一个定时器,所述定时器的时间是在配置优先级延迟抢占时间时确定的,当延时抢占状态时间到时,把成员端口上表示本端是否处于优先级抢占等待状态的标志位ucActorAggregationDelay置成非优先级延时抢占等待状态,调用LACP协议里面的发送状态机发送报文到对端,报文里包含ucActorAggregationDelay这一标志位。对端收到报文后,会运行接收状态机,在接收状态机里根据状态会有可能运行选择逻辑,在选择逻辑里面会根据ucPartnerAggregationDelay和ucActorAggregationDelay二个标志位来确定是否该链路被选中,现在ucPartnerAggregationDelay已经处于不使能状态,也就是延时抢占功能不起作用状态。因为对端设备的ucPartnerAggregationDelay就是本端设备的ucActorAggregationDelay,而本端的这一标志位,如前所述,已置成了非优先级延时抢占状态,并且通过报文发过去了,故是可以继续运行算法而使该链路被选中。然后,对端会发报文给本端,本端也可以同样使该链路被选中。这样就达到了避免优先级高的链路立即抢占低优先级链路的目的,可以按配置的时间实现抢占。
综上所述,链路抢占的方法及链路端口,在检测到优先级高的链路抢占优先级低的链路时,使优先级高的链路处于延时抢占状态,避免优先级高的链路立即抢占优先级低的链路,当延时到优先级高的链路处于稳定状态之后,使优先级高的链路抢占优先级低的链路,避免了用户数据包因为链路之间的抢占而导致的多次丢包。
另外,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Radom Access Memory,RAM)等。
以上所揭露的仅为本发明实施例中的一种较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
Claims (6)
1.一种实现链路抢占的方法,其特征在于,该方法包括:
检测聚合链路端口上链路的状态;
当检测到位于同一个聚合链路端口上的优先级高的链路将要抢占优先级低的链路时,使所述优先级高的链路处于延时抢占状态;
当所述优先级高的链路延时满足链路状态稳定之后,使延时抢占状态的优先级高的链路置于被抢链路上抢占优先级低的链路。
2.如权利要求1所述的实现链路抢占的方法,其特征在于,进一步包括:
在检测优先级高的链路将要抢占优先级低的链路前,在聚合链路端口上配置优先级高的链路的延时抢占时间,所述延时抢占时间为优先级高的链路由链路不稳定状态转变为链路稳定状态的时间。
3.如权利要求2所述的实现链路抢占的方法,其特征在于,所述检测到位于同一个聚合链路端口上的优先级高的链路将要抢占优先级低的链路具体为:当同一个聚合链路端口上有优先级高的链路故障恢复或有优先级高的链路加入聚合链路端口。
4.如权利要求3所述的实现链路抢占的方法,其特征在于,进一步包括:
当检测到优先级高的链路将要抢占优先级低的链路时,调用定时器对所述优先级高的链路处于的延时抢占状态进行计时,当满足所述配置的延时抢占时间时,使延时抢占状态的优先级高的链路置于被抢链路上抢占优先级低的链路。
5.一种链路端口,其特征在于,包括:
检测单元,用于检测链路端口两端的链路状态,当检测优先级高的链路将要抢占优先级低的链路时,发送所述将要抢占消息;
延时抢占单元,用于接收所述将要抢占消息,根据所述将要抢占消息使优先级高的链路处于延时抢占状态;
抢占单元,用于在优先级高的链路延时满足链路状态稳定之后,使延时抢占状态的优先级高的链路置于被抢链路上抢占优先级低的链路。
6.如权利要求5所述的链路端口,其特征在于,进一步包括:
定时器单元,用于对所述延时抢占单元使优先级高的链路处于延时抢占状态进行计时,当满足所述配置的延时抢占时间时,通知所述抢占单元使延时抢占状态的优先级高的链路置于被抢链路上抢占优先级低的链路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2008100256578A CN101217487A (zh) | 2008-01-07 | 2008-01-07 | 一种实现链路抢占的方法及链路端口 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2008100256578A CN101217487A (zh) | 2008-01-07 | 2008-01-07 | 一种实现链路抢占的方法及链路端口 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101217487A true CN101217487A (zh) | 2008-07-09 |
Family
ID=39623849
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2008100256578A Pending CN101217487A (zh) | 2008-01-07 | 2008-01-07 | 一种实现链路抢占的方法及链路端口 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101217487A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101938780A (zh) * | 2010-09-19 | 2011-01-05 | 中兴通讯股份有限公司 | 一种降低多链路点到点协议组丢包率的方法及*** |
CN103780472B (zh) * | 2014-01-06 | 2017-08-22 | 新华三技术有限公司 | 一种聚合端口组的选中口管理方法及设备 |
CN107229619A (zh) * | 2016-03-23 | 2017-10-03 | 阿里巴巴集团控股有限公司 | 互联网业务链路调用情况的统计、展示方法及装置 |
CN111147370A (zh) * | 2016-07-08 | 2020-05-12 | 华为技术有限公司 | 确定转发路径的方法和控制设备 |
CN111385144A (zh) * | 2020-03-04 | 2020-07-07 | 盛科网络(苏州)有限公司 | 基于静态链路聚合组的主备优先级控制方法及装置 |
CN111654538B (zh) * | 2020-05-29 | 2021-08-31 | 郁健兰 | 基于区块链及大数据的通信处理方法及云边端计算服务器 |
-
2008
- 2008-01-07 CN CNA2008100256578A patent/CN101217487A/zh active Pending
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101938780A (zh) * | 2010-09-19 | 2011-01-05 | 中兴通讯股份有限公司 | 一种降低多链路点到点协议组丢包率的方法及*** |
CN103780472B (zh) * | 2014-01-06 | 2017-08-22 | 新华三技术有限公司 | 一种聚合端口组的选中口管理方法及设备 |
CN107229619A (zh) * | 2016-03-23 | 2017-10-03 | 阿里巴巴集团控股有限公司 | 互联网业务链路调用情况的统计、展示方法及装置 |
CN107229619B (zh) * | 2016-03-23 | 2020-07-28 | 阿里巴巴集团控股有限公司 | 互联网业务链路调用情况的统计、展示方法及装置 |
CN111147370A (zh) * | 2016-07-08 | 2020-05-12 | 华为技术有限公司 | 确定转发路径的方法和控制设备 |
CN111147370B (zh) * | 2016-07-08 | 2021-08-20 | 华为技术有限公司 | 确定转发路径的方法和控制设备 |
CN111385144A (zh) * | 2020-03-04 | 2020-07-07 | 盛科网络(苏州)有限公司 | 基于静态链路聚合组的主备优先级控制方法及装置 |
CN111385144B (zh) * | 2020-03-04 | 2022-04-15 | 苏州盛科通信股份有限公司 | 基于静态链路聚合组的主备优先级控制方法及装置 |
CN111654538B (zh) * | 2020-05-29 | 2021-08-31 | 郁健兰 | 基于区块链及大数据的通信处理方法及云边端计算服务器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7295519B2 (en) | Method of quality of service based flow control within a distributed switch fabric network | |
EP2075974B1 (en) | Method and apparatus for aggregating ports | |
CN101227402B (zh) | 聚合链路流量分担方法及装置 | |
CN201100949Y (zh) | 网络设备 | |
CN101217487A (zh) | 一种实现链路抢占的方法及链路端口 | |
US20040032827A1 (en) | Method of flow control | |
CN103152260B (zh) | 报文转发***、方法及装置 | |
CN100596357C (zh) | 一种基于以太网和串行通信技术的数据转发装置及*** | |
US8310934B2 (en) | Method and device for controlling information channel flow | |
CN103067291B (zh) | 一种上下行链路关联的方法和装置 | |
CN102724030A (zh) | 一种高可靠性的堆叠*** | |
CN102223258B (zh) | 一种防止bfd会话中断的方法和设备 | |
CN102090030A (zh) | 通过网络传输数据的方法 | |
US20090161685A1 (en) | Method, system and node for backpressure in multistage switching network | |
CN104378308A (zh) | 报文发送速率检测方法及装置 | |
CN101668005A (zh) | 一种基于发送端多接入通道的数据传输加速引擎方法 | |
US9906412B2 (en) | Collaboration method and system in distributed resilient network interconnect system | |
CN101895423A (zh) | 以太网中的数据传输方法和*** | |
CN103647725A (zh) | 中继装置 | |
CN101610143A (zh) | 链路数据的保护方法、***及装置 | |
CN102209028A (zh) | 控制cpu流量的装置和方法 | |
CN100428684C (zh) | 带外通道方法 | |
CN1245815C (zh) | 以太网交换控制器及其拥塞控制方法 | |
CN101765176A (zh) | 一种信道切换方法、网络及网络节点 | |
CN101657041B (zh) | 一种基于多模式接入基站的数据传输方法及*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20080709 |