一种链路聚合组通道快速切换的方法和装置与流程

文档序号:12491505阅读:737来源:国知局
一种链路聚合组通道快速切换的方法和装置与流程

本发明涉及通信技术领域,尤其涉及一种链路聚合组通道快速切换的方法和装置。



背景技术:

现有技术中MPLS(Multi-Protocol Label Switching,多协议标签交换)网络的OAM(Operations,Administration And Maintenance,操作、维护及管理)报文承载在端口通道的主端口中,通过周期性发送CCM(连续性检查消息,Continuity Check Message)报文,检测本端MEP(Maintenance Association End Point,维护联合终点)和对端MEP的连通性。同时LACP(Link Aggregation Control Protocol,链路聚合控制协议)报文也承载在端口通道的主端口中。

每个物理端口出现故障都会发出LOC(Lost of Continuity Check,连续性测试丢失)告警,那么检测此告警的速度,以及检测此告警是否抑制或上报的延时就成了链路检测的关键指标。

现有技术中,当端口通道的主端口故障时,MEP节点在3个检测周期内收不到对端CCM报文,会发出LOC告警。此刻LOC告警是致命的,会导致整个聚合组通道的切换。MEP节点会判断整个聚合通道的连通性。因为在端口通道中还有其他成员端口,所以MEP会在端口通道中切换主端口,在端口通道的次优先级成员端口发送CCM报文和接受CCM报文。本段MEP和远端MEP的连通性没有故障的时候,确立此端口为主端口,协议报文才能切换过去。LOC告警经过长时间检测延时才被抑制。在此次切换中软件启动MEP中成员端口发送/接收CCM报文时延过长。

假如本段MEP和远端MEP在此成员端口中启动发送/接受CCM报文,但是此成员端口也存在故障,那么3个周期之内收不到CCM报文同样会产生LOC告警,MEP只能选择下一个成员端口检测连通性。那么时延会更加剧烈。假如端口通道中的所有其他的成员端口都是故障,那么发出LOC告警,此端口通道链路整体故障,MPLS的保护机制会切换此端口通道到备份端口通道链路上,丢包问题严重。

通过上述描述可知,当端口通道的其他端口故障时,由于没有CCM机制的链路检测,通过现有的端口UP/DOWN事件通知成员端口的变化,造成了端口通道链路的大量丢包,这是骨干网络中不允许的。现有技术也有一些检测端口UP/DOWN硬件的快速检测方法,但是都不能达到CCM报文3.3ms的电信级检测级别。



技术实现要素:

本发明实施例提供一种链路聚合组通道快速切换的方法和装置,用于解决链路聚合组通道内端口故障导致端口切换过程中丢包严重的技术问题。

本发明实施例提供一种链路聚合组通道快速切换的方法,所述方法应用于MPLS网络,所述方法包括:

在初始状态时所述链路聚合组内的端口状态位都设置为up,所述链路聚合组内的每个端口向其对端端口发送CCM报文,根据接收到的CCM报文计算单位时间段内的端口状态;

根据所述单位时间段内的端口状态选择主端口,所述主端口发生故障时发送LOC告警,当维护的端口状态位存在up时,消除所述LOC告警;

将主端口状态位由up设置为down,将所述主端口切换到端口状态位为up的高优先级端口上。

本发明实施例还提供一种链路聚合组通道快速切换的装置,所述装置应用于MPLS网络,所述装置包括:

端口检测模块,用于在初始状态时所述链路聚合组内的端口状态位都设置为up,所述链路聚合组内的每个端口向其对端端口发送CCM报文,根据接收到的CCM报文计算单位时间段内的端口状态;

端口故障检测模块,用于根据所述单位时间段内的端口状态选择主端口,所述主端口发生故障时发送LOC告警,当维护的端口状态位存在up时,消除所述LOC告警;

端口切换模块,用于将主端口状态位由up设置为down,将所述主端口切换到端口状态位为up的高优先级端口上。

通过上述技术方案可知,链路聚合组通道内的每个端口均向其对端端口发送CCM报文,节点根据接收到的CCM报文检测每个端口的状态,在端口发生故障时,及时在端口状态图中更新该端口的状态。当主端口发生故障时,将端口状态位为up的非主端口切换为主端口。由于,每个端口都引用了CCM检测链路的机制,且每个端口都维护有状态位,在主端口故障时,通过端口状态位图能快速发现端口状态位为up的非主端口,并且在聚合组通道内部进行切换,因此,仅有极少的丢包。进一步,在主端口故障时,快速做出LOC告警并上报后,根据端口状态位图发现存在up状态的非主端口时则快速消除LOC告警,避免了整个聚合组通道的切换,有效减少了丢包数量。本发明实施例为整体MPLS的保护机制提供了物理链路的电信级支撑。

附图说明

图1为第一实施例的链路聚合组通道快速切换的方法流程图;

图2为第二实施例的链路聚合组通道快速切换的方法流程图;

图3为本发明第三实施例提供的一种链路聚合组通道快速切换的装置结构示意图。

具体实施方式

下面结合附图对本发明优选的实施方法进行详细说明。

参阅图1所示,如图1为第一实施例的链路聚合组通道快速切换的方法流程图,本发明实施例中对链路聚合组通道快速切换的方法进行详细介绍。所述方法包括:

S101:在初始状态时所述链路聚合组内的端口状态位都设置为up,所述链路聚合组内的每个端口向其对端端口发送CCM报文,根据接收到的CCM报文计算单位时间段内的端口状态;

具体地,在MPLS网络中有许多节点,例如MEP,每个节点都有多个物理端口,一组物理端口被捆绑在一起组成一个逻辑端口,两个节点之间通过两个逻辑端口建立链路聚合组进行通信,每个节点维护链路聚合组中本端的每个端口的端口状态。在初始状态时,节点将链路聚合组内的端口状态位都设置为up,然后每个端口都向其对端端口发送CCM报文,通过CCM报文检测每个端口链路的通断,每个CCM报文的检测周期是3.3ms,节点根据每个端口接收到CCM报文情况计算一段时间内的端口状态。

S102:节点根据所述单位时间段内的端口状态选择主端口,所述主端口发生故障时发送LOC告警,当节点维护的端口状态位存在up时,消除所述LOC告警;

具体地,在初始状态下,一般通过端口索引号的选择获得主端口,这里的端口索引号都是预先设定的,对于链路组合组内的多个端口而言无法根据其端口的数据传输优劣选择主端口。为此,通过单位时间段内的端口通断状态获得端口的数据传输丢失情况,选择主端口。

另外,当主端口发生故障时,节点将会LOC告警,这里的LOC告警将是致命的,其将会导致链路向其备份链路切换,由于链路聚合组的大量数据都在本端口通道进行传输,该切换将导致在原端口通道传输的数据丢失。为此,节点将会查看端口通道内的各个端口状态位,也就是,节点查看自己维护的各个端口的端口状态位。假如存在任何成员端口的状态为up,快速剔除此告警端口,并抑制此告警。

这个告警并没有上报应用层,只是停留在硬件抽象层。然后在硬件抽象层消除LOC告警。

S103:节点将主端口状态位由up设置为down,将所述主端口切换到高优先级端口上。

具体地,节点将主端口状态位由up设置为down,将主端口进行切换,切换到经过选择的高优先级的端口上。

为了清楚说明在初始状态下主端口选择过程,基于第一实施例为节点根据所述单位时间段内的端口状态选择主端口还包括:节点根据单位时间段内每个端口接收对端CCM报文的丢失率选择丢失率最小的端口作为主端口。

具体地,这里的单位时间段包括超过3个CCM报文检测周期,但是对于每个端口接收对端CCM报文的丢失率的计算,不能出现连续3个CCM报文检测周期丢失报文的情况,因为那就会产生LOC告警,也就是端口出现通道中断。此时,通过计算单位时间段内每个端口接收对端CCM报文的丢失率,选择丢失率最小的端口作为主端口。

为了详细说明主端口发生故障为哪种情形,基于第一实施例进一步还包括:所述节点在3个CCM报文检测周期内没有收到主端口对端的CCM报文时发出LOC告警。

具体地,主端口发生故障的情况为节点在3个CCM报文检测周期内没有收到主端口对端的CCM报文,节点在3个CCM报文检测周期内没有收到主端口对端的CCM报文时发出LOC告警,这里的CCM报文检测周期是3.3ms,也就是说10ms内没有接收到对端发送的CCM报文时,将会发送LOC告警。

为了完善非主端口出现端口故障时的端口状态处理情况,如图2为第二实施例的链路聚合组通道快速切换的方法流程图。本实施例具体描述如下:

S201:在初始状态时所述链路聚合组内的端口状态位都设置为up,所述链路聚合组内的每个端口向其对端端口发送CCM报文,节点根据接收到的CCM报文计算单位时间段内的端口状态;

具体地,在初始状态时,节点将链路聚合组内的端口状态位都设置为up,然后每个端口都向其对端端口发送CCM报文,通过CCM报文检测每个端口链路的通断,每个CCM报文的检测周期是3.3ms,节点根据每个端口接收到CCM报文情况计算一段时间内的端口状态。

S202:节点根据所述单位时间段内的端口状态选择主端口,所述主端口发生故障时发送LOC告警,当节点维护的端口状态位存在up时,消除所述LOC告警;

具体地,在初始状态下,一般通过端口索引号的选择获得主端口,这里的端口索引号都是预先设定的,对于链路组合组内的多个端口而言无法根据其端口的数据传输优劣选择主端口。为此,通过单位时间段内的端口通断状态获得端口的数据传输丢失情况选择主端口。

另外,当主端口发生故障时,节点将会LOC告警,这里的LOC告警将是致命的,其将会导致链路向其备份链路切换,由于链路聚合组的大量数据都在本端口通道进行传输,该切换将导致在原端口通道传输的数据丢失。为此,节点将会查看端口通道内的各个端口状态位。假如存在任何成员端口的状态为up,快速剔除此告警端口,并抑制此告警。

S203:节点将主端口状态位由up设置为down,将所述主端口切换到端口状态位为up的高优先级端口上。

具体地,节点将主端口状态位由up设置为down,将主端口进行切换,切换到经过选择的高优先级的端口上。

S204:当节点在3个CCM报文检测周期内没有收到非主端口对端的CCM报文时,节点发送LOC告警,当存在非主端口之一的端口状态位up时,将没有收到对端的CCM报文的非主端口状态位设置为down。

具体地,当非主端口出现端口故障时,也就是节点在3个检测周期内收不到对端CCM报文,会发送LOC告警,这里的LOC告警同样的是致命的,将会导致链路向其备份链路切换。节点检查端口通道内其它端口的状态位,假如存在任何端口的状态为up,快速剔除此告警端口,并抑制此告警。同时上报端口通道每个端口的状态告警。也即节点没有收到对端的CCM报文的非主端口状态位设置为down。非主端口的状态位的变化不涉及切换,只是更新节点维护的端口状态位。

非主端口在3个周期内收不到CCM报文,置状态位图为DOWN,并剔除聚合组。等一旦加入聚合组后再发送CCM报文,然后更新状态位图。

为了对主端口的切换做详细的说明,基于第一实施例具体描述的是节点将主端口状态位由up设置为down,在将所述主端口切换到所述端口状态位为up的高优先级端口上之前,还包括:节点根据非主端口在单位时间段内接收其对端CCM报文的丢失率,选择丢失率最小的且端口状态位为up的非主端口作为高优先级端口。

具体地,在主端口切换时,其状态为将由up设置为down,并根据非主端口在单位时间段内接收其对端CCM报文的丢失率选择丢失率最小的端口作为高优先级端口,作为新的主端口。也就是说,在主端口切换时,也是通过CCM报文的丢失率选择主端口,而不是通过端口索引号固定选择,由于主端口的CCM报文丢失将会导致端口切换,而选择丢失率比较小的端口将增加主端口的稳定性。

图3为本发明第三实施例提供的一种链路聚合组通道快速切换的装置框图,所述装置应用于MPLS网络。所述装置包括:

端口检测模块31,用于在初始状态时所述链路聚合组内的端口状态位都设置为up,所述链路聚合组内的每个端口向其对端端口发送CCM报文,根据接收到的CCM报文计算单位时间段内的端口状态。

具体地,在初始状态时,节点将链路聚合组内的端口状态位都设置为up,然后每个端口都向其对端端口发送CCM报文,通过CCM报文检测每个端口链路的通断,每个CCM报文的检测周期是3.3ms,节点根据每个端口接收到CCM报文情况计算一段时间内的端口状态。

端口故障检测模块32,用于根据所述单位时间段内的端口状态选择主端口,所述主端口发生故障时发送LOC告警,当维护的端口状态位存在up时,消除所述LOC告警。

具体地,在初始状态下,一般通过端口索引号的选择获得主端口,这里的端口索引号都是预先设定的,对于链路组合组内的多个端口而言无法根据其端口的数据传输优劣选择主端口。为此,通过单位时间段内的端口痛断状态获得端口的数据传输丢失情况选择主端口。

另外,当主端口发生故障时,节点将会LOC告警,这里的LOC告警将是致命的,其将会导致链路向其备份链路切换,由于链路聚合组的大量数据都在本端口通道进行传输,该切换将导致在原端口通道传输的数据丢失。为此,节点将会查看端口通道内的各个端口状态位。假如存在任何成员端口的状态为up,快速剔除此告警端口,并抑制此告警。

端口切换模块33,用于将主端口状态位由up设置为down,将所述主端口切换到端口状态位为up的高优先级端口上。

具体地,节点将主端口状态位由up设置为down,将主端口进行切换,切换到经过选择的高优先级的端口上。

为了清楚说明在初始状态下主端口选择过过程,所述端口故障检测装置32,还用于根据单位时间段内每个端口接收对端CCM报文的丢失率选择丢失率最小的端口作为主端口。

具体地,这里的单位时间段包括超过3个CCM报文检测周期,但是对于每个端口接收对端CCM报文的丢失率的计算,不能出现连续3个CCM报文检测周期丢失报文的情况,因为那就会产生LOC告警,也就是端口出现通道中断。此时,通过计算单位时间段内每个端口接收对端CCM报文的丢失率,选择丢失率最小的端口作为主端口。

为了详细说明主端口发生故障为哪种情形,端口故障检测装置32,还用于在3个CCM报文检测周期内没有收到主端口对端的CCM报文时发出LOC告警。

具体地,主端口发生故障的情况为节点在3个CCM报文检测周期内没有收到主端口对端的CCM报文时发出LOC告警,这里的CCM报文检测周期是3.3ms,也就是说10ms内没有接收到对端发送的CCM报文时,将会发送LOC告警。

为了完善非主端口出现的端口故障时的端口状态处理情况,在上述实施例的基础上,端口故障检测装置32,还用于当在3个CCM报文检测周期内没有收到非主端口对端的CCM报文时,发送LOC告警,当存在非主端口之一的端口状态位up时,将没有收到对端的CCM报文的非主端口状态位设置为down。

为了对主端口的切换做详细的说明,端口切换装置33,还用于在将所述主端口切换到端口状态位为up的高优先级端口上之前,根据非主端口在单位时间段内接收其对端CCM报文的丢失率,选择丢失率最小的且端口状态位为up的端口作为高优先级端口

具体地,在主端口切换时,其状态为将由up设置为down,并根据非主端口在单位时间段内接收其对端CCM报文的丢失率选择丢失率最小的端口作为高优先级端口,作为新的主端口。也就是说,在主端口切换时,也是通过CCM报文的丢失率选择主端口,而不是通过端口索引号固定选择,由于非端口的CCM报文丢失将会倒是端口切换,而选择丢失率比较小的端口将增加主端口的稳定性。

需要特别说明的是当聚合组中所有的端口位图都是DOWN的时候,此时的LOC告警上发到应用层,导致备份链路的切换。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1