专利名称:链路检测方法、以太环网节点的制作方法
技术领域:
本发明涉及通信领域,具体而言,涉及一种链i 各;险测方法、以 太环网节点。
背景技术:
随着以太环网4支术的不断发展,以太环网4支术的应用越来越广 泛。其中,电信级以太环网才支术^皮用户广泛^吏用,^f旦是,以太环网 在电信网络上大规模使用受到制约,主要制约原因之一是传统以太 网链3各4企测的可靠性问题。
目前,在传统的以太环网技术中,主要是以物理端口状态来检 测链路状态,从而判断整个环路的连通性。利用物理端口检测只是
针对链^各层的端口开启(LinkUp )或端口关闭(LinkDown )状态来 判断链路的状态。这种判断的链路的方式比较简单,但是,不能完 成电信级以太环网保护切换可靠性的要求。
基于物理端口的链^各4企测只考虑了本端端口的状态,然而,单 个端口的状态并不能完整反应整条链路的可用性。例如,当链路单 通时,如果本端端口的状态与对端端口的状态不一致,即,LinkDown 的端口已经发出了 Flush-Down帧(以太环网开环通告刷新地址帧) 帧来通告环;咯的断开,而对端端口的状态仍为LinkUp,则继续发送 数据报文结果会导致大量的数据报文结果丢失。此外,在实际应用的组网环境中,常有端口的状态不稳定的现 象(例如,由于线路接触不良造成端口的状态不稳定),瞬间的链路 切换(例如,毫秒级的链^各切换)不会对以太环网流量转发造成4艮 严重的影响,但是如果仅利用物理端口来判断链路状态,则会引起 环网的反复切换,进而造成环网状态的不稳定。并且,随着环网夫见 模的扩大,链路的不断加长,以太环网链路中会使用到传输设备。 如果环网节点之间的部分链路的断开的信息不能被基于物理端口的 才企测所获取,则不会进行正确的环网链^各判断,进而导致以太环网 的瘫痪。
在相关才支术中,以互耳关网工禾呈^f壬务纟且(The Internet Engineering Task Force,简一尔为IETF )提出的i青,夂注释(Request for Comments, 简称为RFC )3619为4戈表的以太网自动4呆护切才奂(Ethernet Automatic Protection Switching,简称为EAPS)实现的整体解决方案,其中, 采用Hello才艮文(即,RFC3619以太环网链路冲企测才艮文)才企测以太 环链路的方法是利用Hello报文绕环网一周的方法检测链路,但 是,该方法仅能检测出故障,无法判断出故障节点,也不能对含有 传输设备的链路进行检测。
乂人上述描述可以看出目前的以太环网才企测:技术中,对《连路的 检测过程不可靠,并且无法检测含有传输设备的链路。
发明内容
针对相关的以太环网技术中存在链路4企测不可靠和无法4全测含 有传输设备链路的问题而提出本发明,为此,本发明的主要目的在 于提供一种改进的链路检测方案,以解决上述问题至少之一 。
为了实现上述目的,根据本发明的一个方面,提供了一种链路 检观'J方法。根据本发明的链路检测方法,应用于包括多个节点的以太环网,
包括如下操作当前节点向对端节点发送第一链路检测帧;根据当 前节点在检测周期内是否接收到来自对端节点的第二链路检测帧, 确定当前节点与对端节点之间的链路是否连通。
优选地,当前节点向对端节点发送第一链路^r测帧包括当前 节点向对端节点发送初始化的第 一链路检测帧,并在其中携带当前 节点的纟某体接入控制地址。
优选地,在发送初始化的链路纟企测帧之后,上述方法还包括 当前节点接收对端节点的媒体接入控制地址;当前节点根据预设发 送周期向对端节点发送第一链路检测帧,其中,第一链^各检测帧中 携带有当前节点的:i 某体接入控制地址和对端节点的々某体接入控制 地址。
优选地,将预设发送周期设置为小于检测周期。
优选地,如果在检测周期内当前节点接收到来自对端节点的链 3各冲企测帧,则确定链路连通,否则,确定纟连^各断开。
优选地,确定链i 各连通进一步包纟舌解^斤第二链^I4全测帧,得 到链路检测帧内容;根据链路检测帧内容判断链路是否为恢复连通, 和/或对链^各才企测帧内容进4亍-验i正。
为了实现上述目的,4艮据本发明的另一个方面,4是供了一种以 太环网节点。
根据本发明的以太环网节点包括发送模块,用于向对端节点 发送第一链路检测帧;接收模块,用于接收来自对端节点的第二链 路检测帧;处理模块,用于根据在检测周期内接收模块是否接收到来自对端节点的第二链路检测帧,确定当前节点与对端节点之间的链^各是否连通。
优选地,处理模块包括解析子模块,用于解析第二链踏4全测帧,得到链路检测帧内容;判断子模块,用于根据解析子模块解析得到的链路检测帧内容判断链路是否为恢复连通;验证子模块,用于对解析子模块解析得到的链路检测帧内容进行验证;调用子模块,用于调用判断子模块和验证子模块。
通过本发明,采用相邻的两个以太环上节点之间对发链赠4企测帧进行检测的方法,解决了相关的以太环网技术中存在链路4全测不可靠和无法检测含有传输设备链路的问题,进而提高了以太环网保护切换的可靠性。
此处所i兌明的附图用来4是供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其i兌明用于解释本发明,并不构成对本发明的不当限定。在附图中
图1是根据本发明实施例的链路检测方法的流程图2是根据本发明实施例的链路^r测方法的详细流程图3是根据本发明实例一的Link-Hello检测在以太环网正常状态下的示意图4是根据本发明实例一的Link-Hello检测在以太环网故障状态下的示意图;图5是才艮据本发明实例一的Link-Hello冲企测在以太环网恢复状态下的示意图6是根据相关技术的Link-Hello检测链路中有传输设备的以太环网正常状态下的示意图7是根据相关技术的Link-Hello检测链路中有传输设备的以太环网故障状态下的示意图8是根据本发明实例二的Link-Hello检测链路中有传输设备的以太环网正常状态下的示意图9是根据本发明实例二的Link-Hello检测链路中有传输设备的以太环网故障状态下的示意图10是才艮据本发明实施例的以太环网节点的结构框图11是根据本发明实施例的以太环网节点的具体结构框图。
具体实施例方式
功能扭克述
考虑到目前以太环网检测链路状态主要是靠检测环网节点物理端口状态存在链路检测不可靠的问题和无法检测含有传输设备链路的缺陷,本发明实施例提供了一种改进的太环网链路检测方案,采用相邻的两个以太环上节点之间对发Link-Hello帧(本发明实施例中称为链路检测帧,这并不影响发明的本质)进行才企测。只有当两节点状态都为LinkUp时,才i人为链路为UP (即,链^各开启),否则认为链路为DOWN (即,链路关闭)。本发明实施例提供的检测方案不仅仅对本端物理端口进4于纟企测,还通过发送Link-Hello帧向对端节点通告自己的状态信息。当在一个或几个周期内两端都接收
到对端的Link-Hello帧并验证才艮文正确时,链路状态为UP;当一个或几个周期内,接收不到Link-Hello帧或接收到错误的报文内容时,链路状态为DOWN。显然采用Link-Hello链^各冲企测方法可以4艮好地解决上述的基于物理端口检测链路的缺陷,提高以太环网保护切换的可靠性。
需要说明的是,在不沖突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
方法实施例
根据本发明的实施例,提供了一种链路检测方法,应用于包括多个节点的以太环网。
需要说明的是,虽然在附图的流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序才丸行所示出或描述的步骤。图1是根据本发明实施例的链路检测方法的流程图,如图1所示,该方法包括如下的步骤S102至步骤S104:
步骤S102,当前节点向对端节点发送第一链路检测帧,这里的第 一链路4企测帧可以是Link-Hello帧。也就是说,在以太环网的节点上启动Link-Hello链^各4企观'h向只十端节点发送Link-Hello帧。
具体地,当前节点首先向对端节点发送初始化的第一链^各冲全测帧,并在其中携带当前节点的J 某体4妄入控制(Media Access Control ,简称为MAC )地址,这里的MAC地址采用组l番地址作为协议地址;此后,当前节点接收对端节点的MAC地址,并根据预设发送周期向对端节点发送第 一链路检测帧,这里的第 一链路;险测帧中携带有当前节点的MAC地址和对端节点的MAC地址,其中,可以才艮据
9系统处理收发帧的能力和/或实际应用环境的可靠性i殳置预i殳发送周期,且将预设发送周期设置为小于检测周期。
步骤S104,根据在检测周期内当前节点是否接收到来自对端节点的第二链路检测帧,确定当前节点与对端节点之间的链路是否连通。
具体地,如果在检测周期内当前节点接收到来自对端节点的第二纟连^各才企测帧,则确定该《连^各连通;如果在才全测周期内当前节点没有接收到来自对端节点的第二链路4企测帧,则确定该纟连^各断开。
其中,确定链^各连通的,喿作进一步包括解析第二链^各4企测帧,得到链路检测帧内容;根据该链路检测帧内容判断链路是否为恢复连通,和/或对所述链路4企测帧内容进行-验i正。如果才艮据该链路4佥测帧内容判断链路为恢复连通,则通告链路恢复。
通过该实施例,与玉见有的RFC3619中以太环网链^各;险测4支术相比,提高了环路检测的可靠性、增加了含有传输设备链路检测,填补了物理端口检测链路的不足。
下面参考附图,对本发明Link-Hello检测链路的具体数据处理流程进^f亍详细"i兌明。
本发明实施例的Link-Hello检测链路的处理阶段包括初始化发送Link-Hello帧阶段、侦听Link-Hello帧阶段、接收及处理Link-Hello帧阶段、通告检测结果阶段及检测恢复阶段。图2是根据本发明实施例的链^各才企测方法的详细流程图,如图2所示,具体的处理过程包括如下的步骤S201至步骤S208:
10步骤S201,初始化节点发送Link-Hello帧,主要是开启 Link-Hello功能,将本地MAC地址、Link-Hello帧MAC地址连同 本地的状态信息封装组成Link-Hello帧,并通过指定的端口上发送 至对端节点。
步艰纟S202,侦听Link-Hello帧,在侦听Link-Hello帧的同时, 以 一个或几个周期间隔不间断地发送Link-Hello帧。
其中,对于周期间隔的设置主要考虑以下两个因素
(1 )系统处理收发帧的能力。系统处理能力越强,收发帧的频 率越大,检测速度越快,相反地,系统处理能力越弱,收发帧的频 率越小,检测速度越慢。
(2)实际应用环境的可靠性。如果链路处于比较恶劣、复杂的 环境,则使用频率较高的侦测获取检测信息的速度比较快。如果链 路处于比较良好的环境,则线路保障比较好,进而可以降低发包速 率,减少系统处理的压力。
步艰《S203, 4妄J]丈Link-Hello帧。
步骤S204,判断几个周期内是否接收到Link-Hello帧,在判断 结果为是的情况下,进行到步骤S206,在判断结果为否的情况下, 进行到步骤S205。
步艰《S205,阻塞端口,通告以太环网链路断开。
步骤S206,拆封Link-Hello帧,解析帧内MAC地址与^^测信 息,验证其内容是否正确,判断是否为链路恢复阶段,即,判断该 Link-Hello帧是否为以太环网链路恢复接收到的新的Link-Hello帧,在判断结果为是的情况下,进行到步骤S208,在判断结果为否的情 况下,进行到步骤S207。
步骤S207,保持才企测链^各发送Link-Hello帧,以便保持检测链路。
步骤S208,通告以太环网链路恢复,并持续发送Link-Hello帧
才企测链i 各。
下面结合实际应用举例进一步说明本发明实施例的实现过程。 实例一
在该实施例中,描述了包括四个节点的以太环网的链路冲企测方法。
图3是根据本发明实例一的Link-Hello 4企测在以太环网正常状 态下的示意图,如图3所示,在以太环网正常状态下,各节点间 (Sl-S4节点)互发Link-Hello帧检测链路,其中,Master节点(主 节点,即,Sl节点)打开主端口 (P端口,即,l端口),阻塞乂人端 口 (S端口,即,2端口)。
图4是根据本发明实例一的Link-Hello ^r测在以太环网故障状 态下的示意图,如图4所示,当环节点S3与S4之间链路发生故障 时,各节点之间仍然互发Link-Hello帧,但是节点S3与S4相互接 收不到对方发送过来的Link-Hello帧,此时,认为链路已有故障。 节点S3的1端口与节点S4的2端口阻塞了故障端口 ,并且持续发 送Link-Down帧,防止Link-Down帧的丟失。其中,第一个 Link-Down帧需要在检测到链路故障后立即发送,后续的 Link-Down帧发送周期为1秒。此外,不同于RFC3619的处理过程, 在本发明的实施例中,Master节点取消了 RFC3619中Hello报文超时"i人为环^各故障的才几制,在Master节点4妄收到Link-Down帧之后, 认为环路有故障,进入环路故障状态,并打开从端口发送 Flash-Down帧,更杀斤前向;也i止表(Forwarding Data Base, 简一尔为 FDB),其他节点在接收到Flash-Down帧之后,刷新FDB,进入环 ^各故障状态。
图5是根据本发明实例一的Link-Hello才企测在以太环网恢复状 态下的示意图,如图5所示,环节点S3和S4之间《连3各故障恢复, 两个节点相互能够接收到Link-Hello。节点S3和S4停止发送 Link-Down帧,Master节点将在一段时间(即,上述的才企测周期) 内4妾4文不到Link-Down帧,才企测未4妾4文到Link-Down帧是否超时, 在Master节点4企测到Link-Down超时后,认为环^各恢复,进入环路 正常状态。然后,Master节点重新阻塞乂人端口 ,发送Flush-Up (以 太环网闭环通告刷新地址才艮文)帧,更新FDB,其他节点"l妾收到 Flash-Up帧后,刷新FDB,进入正常一犬态,节点S3和S4 4妄收到 Flash-Up帧后,打开阻塞端口,恢复环的流量转发。
综上所述,Link-Hello 4企测链路在以太环网上应用,乂人正常状 态-链路故障状态-链路恢复状态完成了链路检测。
实例二
下面对含有传输设备的Link-Hello 4企测链3各的过程进4于描述。
图6是根据相关技术的Link-Hello检测链路中有传输设备的以 太环网正常状态下的示意图,如图6所示,以太环网4壬意的两个相 邻节点S1与S2之间,存在传输i殳备Ml、 M2,且双向的流量都是 通路。
图7是根据相关技术的Link-Hello检测链路中有传输设备的以 太环网故障状态下的示意图,如图7所示,当M1和M2之间的链3各发生^:障后,节点Sl和S2都无法;险测到净勿理端口 LinkDown, 而实际上节点Sl和S2之间的链路已经出现了故障。
图8是根据本发明实例二的Link-Hello检测链路中有传输设备 的以太环网正常状态下的示意图,如图8所示,在节点S1和S2之 间对发Link-Hello帧。当本端接收到对端Link-Hello帧时,认为链 路是Up。
图9是根据本发明实例二的Link-Hello 4全测链路中有传输设备 的以太环网^:障^1犬态下的示意图,如图9所示,如果冲企测到 Link-Hello帧超时,即,在检测周期内没有接收到Link-Hello帧, 则认为链路中断(Down)。 Link-Hello帧超时才几制解决了链路单通 的情况,只要检测到Link-Hello帧超时,就Down掉链路,等待再 次才妄收到Link-Hello帧恢复链^各。
其中,建议Link-Hello帧的发送周期为Is, Link-Hello帧的冲企 测周期为5s。在发送Link-Hello帧时,帧格式中的源MAC地址为 发送节点的MAC地址,Link-Hello帧中包含对端节点的MAC地址。
需要说明的是,如图8所示,节点Sl发送Link-Hello帧的源 MAC地址为Sl节点的MAC地址,Link-Hello帧包含的地址为S2 的MAC地址,其中,Sl 乂人4妄收到S2的Link-Hello帧中获取到了 S2的MAC地址。只有当节点接收到的Link-Hello帧中源MAC地 址为自己记录的对端MAC地址,并且Link-Hello帧中包含的地址 为本节点的MAC地址时,才认为接收到了正确的Link-Hello帧。 当节点不知道对端的MAC地址时,发送Link-Hello帧所请求的 MACi也址置为0。
14装置实施例
才艮据本发明的实施例,l是供了一种以太环网节点。图IO是才艮据
本发明实施例的以太环网节点的结构沖医图,如图io所示,该以太环
网节点包4舌发送才莫块2、接收才莫块4、处理才莫块6,下面对上述结 构进行描述。
发送模块2,用于向对端节点发送第 一链路检测帧;接收模块4 , 用于接收来自对端节点的第二链路检测帧;处理模块6,连接至接 收模块4,用于根据在检测周期内接收模块4是否接收到来自对端 节点的第二链路检测帧,确定当前节点与对端节点之间的链路是否 连通。
其中,如果在检测周期内当前节点接收到来自对端节点的第二 链路检测帧,则处理模块6确定链路连通;如果在检测周期内当前 节点没有接收到来自对端节点的第二链路检测帧,则处理模块6确 定链^各断开。
图11是4艮据本发明实施例的以太环网节点的具体结构框图,如 图11所示,处理模块6包括解析子模块62、判断子模块64、验 证子才莫块66、调用子才莫块68,下面对上述结构进4亍描述。
解析子模块62,用于解析第二链路检测帧;判断子才莫块64,用 于根据解析子模块62解析得到的链路检测帧内容判断链路是否为 恢复连通;验证子模块66,用于对解析子模块62解析得到的链路 检测帧内容进行验证;调用子才莫块68,用于调用判断子才莫块64和 验证子模块66,其中,调用子模块68可以根据系统的预先设置同 时调用判断子才莫块64和马全i正子才莫块66,或4又调用判断子才莫块64和 验证子模块66中的一个模块。通过该实施例,提供了可以通过发送链路检测帧给对端节点进 行链3各4企测的以太环网节点。
综上所述,通过本发明的上述实施例,采用相邻的两个以太环 上节点之间对发链路检测帧进行检测,只有当两节点状态都为
LinkUp时,才i人为链^各为UP,否则i人为链^各为DOWN, ^L避了 Hello报文在长距离环路上检测不可靠的缺陷,检测过程更加快速、可靠。
显然,本领域的技术人员应该明白,上述的本发明的各模块或 各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算 装置上,或者分布在多个计算装置所组成的网络上,可选地,它们 可以用计算装置可执行的程序代码来实现,从而,可以将它们存储
在存储装置中由计算装置来执行,或者将它们分别制作成各个集成 电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模 块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述〗又为本发明的优选实施例而已,并不用于限制本发明, 对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在 本发明的精神和原则之内,所作的任何修改、等同替换、改进等, 均应包含在本发明的保护范围之内。
权利要求
1. 一种链路检测方法,应用于包括多个节点的以太环网,其特征在于,所述方法包括当前节点向对端节点发送第一链路检测帧;根据所述当前节点在检测周期内是否接收到来自所述对端节点的第二链路检测帧,确定所述当前节点与所述对端节点之间的链路是否连通。
2. 根据权利要求1所述的方法,其特征在于,所述当前节点向对端节点发送第 一链路检测帧包括所述当前节点向所述对端节点发送初始化的所述第 一《连路检测帧,并在其中携带当前节点的^ 某体接入控制地址。
3. 4艮据权利要求2所述的方法,其特征在于,在发送所述初始化的链路检测帧之后,所述方法还包括所述当前节点接收对端节点的々某体接入控制地址;所述当前节点根据预设发送周期向所述对端节点发送所述第一链路检测帧,其中,所述第一链路检测帧中携带有所述当前节点的々某体接入控制地址和所述对端节点的媒体接入控制地址。
4. 根据权利要求3所述的方法,其特征在于,将所述预设发送周期设置为小于所述^r测周期。
5. 根据权利要求1所述的方法,其特征在于,如果在所述检测周期内所述当前节点接收到来自所述对端节点的链路检测帧,则确定所述链^各连通,否则,确定所述链^各断开。
6. 根据权利要求5所述的方法,其特征在于,确定所述链路连通进一步包4舌解析所述第二链路检测帧,得到链路检测帧内容;才艮据所述链^各才企测帧内容判断所述链^各是否为恢复连通,和/或对所述《连i 各4企测帧内容进4亍-验i正。
7. —种以太环网节点,其特;f正在于,包4舌发送模块,用于向对端节点发送第一链路检测帧;接收模块,用于接收来自所述对端节点的第二链路检测帧;处理模块,用于根据在检测周期内所述接收模块是否接收到来自所述对端节点的第二链游4企测帧,确定所述当前节点与所述对端节点之间的链路是否连通。
8. 根据权利要求7所述的以太环网节点,其特征在于,所述处理模块包括解析子模块,用于解析所述第二链路检测帧,得到链路检测帧内容;判断子模块,用于根据所述解析子模块解析得到的所述链路检测帧内容判断所述链路是否为恢复连通;验证子模块,用于对所述解析子模块解析得到的所述链路才企测帧内容进4亍-验i正;调用子模块,用于调用所述判断子模块和所述验证子模块。
全文摘要
本发明公开了一种链路检测方法、以太环网节点,该方法应用于包括多个节点的以太环网,包括如下操作当前节点向对端节点发送第一链路检测帧;根据当前节点在检测周期内是否接收到来自对端节点的第二链路检测帧,确定当前节点与对端节点之间的链路是否连通。本发明提高了以太环网保护切换的可靠性。
文档编号H04L12/437GK101483572SQ20091000589
公开日2009年7月15日 申请日期2009年2月10日 优先权日2009年2月10日
发明者忠 耿 申请人:中兴通讯股份有限公司