专利名称:一种以太环网控制报文分类传输的方法
技术领域:
本发明涉及以太环网自动保护技术领域,具体涉及了一种以太环网自动保护系统控制报文分类传输的方法。
背景技术:
以太环网系统由多个节点相连构成环,多个单环还可以相互连接构成多环。环上可以定义多个域,一个域中对多环的拓扑结构进行层次划分后,多环由一个主环(也可称为主层次环)和多个低层次段环构成。在一个域中,包括了一组被保护的用于用户数据的业务转发的业务虚拟局域网(VLAN,Virtual Local Area Network)和用于协议报文转发的控制VLAN,每个环上包括了一个主节点和若干传输节点,其中主节点在环上的两个端口分别定义为主端口和从端口,被保护的业务VLAN定义为保护业务VLAN。当链路完好时主节点阻塞从端口的保护业务VLAN转发功能,网络中无环路产生,防止了由于环路引起的“广播风暴”;当链路发生故障时放开从端口的保护业务VLAN转发功能,用户数据可以在主节点的从端口通过,保障业务的连通。如图1所示,环拓扑中包含了主环和层次1段1环,节点S2为主环的主节点(master),两个端口分别为主端口(P)和从端口(S);节点S5为层次1段1环的主节点,两个端口分别为主端口和从端口。其中,节点S3、节点S4同时属于主环和低层次段环。
以太环网自动保护系统的控制消息主要有健康检测HELLO报文、链路故障告警LINK-DOWN报文、链路故障通知FLUSH-DOWN报文、链路恢复通知FLUSH-UP报文。以太环网保护系统节点之间的通信和决策通过这几种报文进行。在以太环网控制报文中,包含了发送源的层次号和段号,如图2所示。对于主环,层次号和段号都为0,发送环网控制报文的LEVEL_ID和SEG_ID都为0;对于低层次段环,层次号和段号都大于0,发送环网控制报文的LEVEL_ID和SEG_ID都大于0。
在一个域中的主层次环中,主节点周期的从主端口向外发送健康检测HELLO报文,HELLO报文在域的控制VLAN中传输,当环中链路完好时,HELLO报文依次经过各传输节点到达主节点的从端口。在域的低层次环中,主节点周期的向主端口和从端口发送HELLO报文,HELLO报文在域的控制VLAN中传输,当环中链路完好时,HELLO报文依次经过各传输节点到达边界节点在低层次环中的端口,HELLO报文被边界节点分别回送至主节点的主端口和从端口,当环上链路完好时,主节点能够在主端口和从端口收到发送的HELLO报文。当主节点能够在从端口收到HELLO报文时,就认为环上链路完好;当主节点在规定的时间内收不到HELLO报文时,就认为环上链路发生故障。
传输节点检测到环上直连链路对应的端口状态由完好到故障时,发送链路故障告警LINK-DOWN报文通知主节点,主节点收到LINK-DOWN报文后,获知环上链路发生故障。
主节点发现HELLO报文超时,或者收到LINK-DOWN报文时,认为环上链路发生故障,放开从端口的保护业务VLAN转发功能,并且发送链路故障通知FLUSH-DOWN报文,通知其他节点环上链路发生故障,需要更新节点环上端口的MAC(Media Access Control,介质访问控制)地址表。
传输节点收到FLUSH-DOWN报文后,获知环上链路发生故障,更新环上端口MAC地址表。
在链路故障期间,主节点仍然周期的从主端口向外发送HELLO报文,如果主节点在从端口收到了HELLO报文,则认为链路恢复,阻塞从端口的保护业务VLAN转发功能,并且发送链路恢复通知FLUSH-UP报文,通知传输节点链路恢复。
传输节点收到FLUSH-UP报文后,获知环上链路故障消失,更新环上端口MAC地址表。
在以太环网自动保护系统中,HELLO报文在环路内的传输最为频繁,为了提高以太环网自动保护系统的链路切换收敛时间,通常把HELLO报文的发送周期设置得较小,有时在一秒以下,HELLO的发送频率较高。另外当同一个物理环上配置了多个以太环网保护域时,每个域都要发送各自的HELLO报文。因此环上每个节点都要收到大量的HELLO报文。但是在以太环网自动保护系统的各个节点中,只有主节点的中央处理器CPU需要处理HELLO报文,传输节点只需要传输HELLO报文而不需要CPU处理,因此传输节点的CPU周期的收到HELLO报文时,CPU的处理都是无效的。在以太环网自动保护系统的控制消息中,只有FLUSH-DOWN和FLUSH-UP报文需要传输节点的CPU处理,其他的报文上送给传输节点的CPU时,会导致延时收到真正需要的报文,降低系统的可靠性,并且极大的浪费传输节点的系统资源。
发明内容
本发明要解决的技术问题是提供一种以太环网控制报文分类传输的方法,避免以太环网中传输节点的CPU收到大量不必要的报文,使得环上节点快速响应以太环网控制报文,提高在实际组网中以太环网的抗故障能力,并降低系统资源浪费。
本发明采用的技术方案是一种以太环网控制报文分类传输的方法,包括低层次段环上的节点发送环网控制报文时,根据其是否需要上报低层次段环上传输节点的CPU处理而设置不同的介质访问控制地址;低层次段环上的传输节点收到环网控制报文后,只将介质访问控制地址为相应地址的报文上报给本节点的CPU处理。
进一步的,低层次段环上的节点发送环网控制报文时,若该环网控制报文需要上报所述环上传输节点的CPU处理,则将其介质访问控制地址设置为第一目的地址;否则将其介质访问控制地址设置为第二目的地址。
进一步的,低层次段环上的传输节点收到环网控制报文后先对所述环网控制报文的介质访问控制地址进行识别,若其介质访问控制地址为第一目的地址,则将该环网控制报文上报本节点的CPU处理;若其介质访问控制地址为第二目的地址,则不将该环网控制报文上报本节点的CPU处理。
进一步的,低层次段环上的主节点收到环网控制报文后将其上报本节点的CPU处理。
进一步的,主环上的节点发送环网控制报文时将其介质访问控制地址设置为第一目的地址。
进一步的,当低层次段环要将环网控制报文传向主环时,若所传报文的介质访问控制地址为第二目的地址,则将其介质访问控制地址改为第一目的地址。
进一步的,所述的需要经低层次段环上的传输节点的CPU处理的环网控制报文包括链路故障通知报文、链路恢复通知报文;所述的不需要经低层次段环上的传输节点的CPU处理的环网控制报文包括健康检测报文、链路故障告警报文。
综上所述,本发明提供了一种以太环网控制报文分类传输的方法,将以太环网控制报文进行分类,并对不同类型的控制报文分别定义不同的目的MAC地址,将节点对不同类型MAC地址的报文处理方式分类。使得以太环网中的各个节点CPU只收到需要处理的报文,避免以太环网中节点的CPU收到大量不必要的报文,大大降低了系统资源浪费。
图1为环网层次拓扑图;图2为环网控制报文的帧格式;图3为本发明的以太环网控制报文分类传输的方法的具体实施流程图。
具体实施例方式
下面将结合附图及实施例对本发明的技术方案进行更详细的说明。
本发明一种以太环网控制报文分类传输的方法,其核心思想是将以太环网控制报文定义为两类,即在主环上传输的主环控制报文及在低层次段环上传输的低层次段环控制报文。对于低层次段环上的节点发送的环网控制报文根据其类别设置不同的目的MAC地址,若环网控制报文需要经所述环上的传输节点的CPU处理则将其目的MAC地址设置为第一目的地址,若环网控制报文不需要经所述环上的传输节点的CPU处理则将其目的MAC地址设置为第二目的地址;而对于主环上的节点发送的环网控制报文则将目的MAC地址均设置为第一目的地址;主环上的环网控制报文不会传到低层次段环,但低层次段环上的环网控制报文可以传到主环,当低层次段环上的节点要将环网控制报文传向主环时,如果所传报文的目的MAC地址为第二目的地址的话,则转换成第一目的地址。
其具体步骤如图3所示,首先环上节点创建以太环网保护域,确定控制VLAN和环上端口号。
当环上节点准备发送环网控制报文时的步骤包括(A)判断准备发送控制报文的节点的类型,若该发送节点在主环上则执行步骤(B1),若发送节点在低层次段环上则执行步骤(B2)。
(B1)将所述节点发送的环网控制报文的目的MAC地址设定为第一目的地址后发送。
(B2)判断所述节点发送的环网控制报文的类型,若为需要经低层次段环上的传输节点的CPU处理的控制报文,则将所述环网控制报文的目的MAC地址设定为第一目的地址后发送;若为不需要经所述环上的传输节点的CPU处理的控制报文,则将所述环网控制报文的目的MAC地址设定为第二目的地址后发送;所述需要经低层次段环上的传输节点的CPU处理的环网控制报文包括FLUSH-DOWN和FLUSH-UP报文;所述不需要经低层次段环上的传输节点的CPU处理的环网控制报文包括HELLO、LINK-DOWN报文。
主环上的节点接收到环网控制报文后的处理同现有技术。
当低层次段环上的节点接收到环网控制报文后的处理步骤包括(a)判断所述接收到环网控制报文的节点是否为低层次段环上的主节点,如果是则执行(b1),否则执行(b2)。
(b1)将所收到的环网控制报文上报给本节点的CPU处理;即无论所述环网控制报文对应的目的MAC地址为第一还是第二目的地址,均将其上报给该节点的CPU处理;如果要继续转发该控制报文则执行(c),否则结束。
(b2)对所述环网控制报文的目的MAC地址进行识别,若目的MAC地址为第一目的地址,则将该环网控制报文上报本节点的CPU处理;若目的MAC地址为第二目的地址,则不将所述环网控制报文上报本节点的CPU处理;如果要继续转发该控制报文则执行(c),否则结束。
(c)判断是否要将环网控制报文发向主环,如果是则执行(d1),否则执行(d2)。
(d1)若所述环网控制报文的目的MAC地址为第二目的地址,则将环网控制报文的目的MAC地址改为第一目的地址后发送;如为第一目的地址则直接发送;结束。
(d2)将环网控制报文直接发向其它低层次段环节点;结束。
收到转发控制报文的节点执行上述接收报文后的处理步骤。
所述第一目的地址可以但不限于为0x00e02b000004,所述第二目的地址可以但不限于为0x0180c2000035。
边界节点当收到低层次段环上的节点发来的控制报文时,作为低层次段环节点;收到主环上的节点发来的控制报文时,作为主环上的节点。比如,如图1所示,边界节点S3、S4收到低层次段环主节点S5发来的FLUSH-UP、FLUSH-DOWN报文后,如果需要将其发给主环节点S1、S2,则将这些报文的MAC地址由第二目的地址改为第一目的地址后发送。
假设一低层次段环上有5个传输节点和1个主节点,配置了10个域,HELLO报文的发送周期为100ms,则每秒环上有100个HELLO报文传输。在没有应用本发明的以太环网保护系统中,传输节点和主节点的CPU利用率都为30%,链路切换时CPU利用率都为40%,并且有报文丢失现象,系统有时会出现故障;在以太环网保护系统应用本发明后,传输节点的CPU利用率为7%,主节点的CPU利用率为30%,链路切换时传输节点CPU利用率都为10%,主节点的CPU利用率为40%,无报文丢失,链路切换无故障出现。
当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
权利要求
1.一种以太环网控制报文分类传输的方法,包括低层次段环上的节点发送环网控制报文时,根据其是否需要上报低层次段环上传输节点的CPU处理而设置不同的介质访问控制地址;低层次段环上的传输节点收到环网控制报文后,只将介质访问控制地址为相应地址的报文上报给本节点的CPU处理。
2.如权利要求1所述的方法,其特征在于低层次段环上的节点发送环网控制报文时,若该环网控制报文需要上报所述环上传输节点的CPU处理,则将其介质访问控制地址设置为第一目的地址;否则将其介质访问控制地址设置为第二目的地址。
3.如权利要求2所述的方法,其特征在于低层次段环上的传输节点收到环网控制报文后先对所述环网控制报文的介质访问控制地址进行识别,若其介质访问控制地址为第一目的地址,则将该环网控制报文上报本节点的CPU处理;若其介质访问控制地址为第二目的地址,则不将该环网控制报文上报本节点的CPU处理。
4.如权利要求1所述的方法,其特征在于低层次段环上的主节点收到环网控制报文后将其上报本节点的CPU处理。
5.如权利要求2所述的方法,其特征在于,主环上的节点发送环网控制报文时将其介质访问控制地址设置为第一目的地址。
6.如权利要求3所述的方法,其特征在于,当低层次段环要将环网控制报文传向主环时,若所传报文的介质访问控制地址为第二目的地址,则将其介质访问控制地址改为第一目的地址。
7.如权利要求1所述的方法,其特征在于,所述的需要经低层次段环上的传输节点的CPU处理的环网控制报文包括链路故障通知报文、链路恢复通知报文;所述的不需要经低层次段环上的传输节点的CPU处理的环网控制报文包括健康检测报文、链路故障告警报文。
全文摘要
本发明公开了一种以太环网控制报文分类传输的方法,包括低层次段环上的节点发送环网控制报文时,根据其是否需要上报低层次段环上传输节点的CPU处理而设置不同的介质访问控制地址;低层次段环上的传输节点收到环网控制报文后,只将介质访问控制地址为相应地址的报文上报给本节点的CPU处理。本发明的技术方案避免了以太环网中传输节点的CPU收到大量不必要的报文,使得环上节点快速响应以太环网控制报文,提高在实际组网中以太环网的抗故障能力,并降低系统资源浪费。
文档编号H04L12/42GK101075965SQ20071012342
公开日2007年11月21日 申请日期2007年6月22日 优先权日2007年6月22日
发明者吴少勇, 过仕好, 曲延锋, 王治春 申请人:中兴通讯股份有限公司