分布式环网的组网方法转让专利

申请号 : CN200710000925.6

文献号 : CN101227368B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 吕朋伟

申请人 : 中兴通讯股份有限公司

摘要 :

本发明提供了一种分布式环网的组网方法,其包括以下步骤:一种分布式环网的组网方法,其特征在于,该组网方法可以包括:步骤S202,进行设备初始化配置;步骤S204,启动握手状态,相邻节点间互相发送握手报文,以确认相邻节点间的链路状态;步骤S206,选出最左节点和最右节点,并使最左节点和最右节点周期性对发呼叫报文;以及步骤S208,在每个节点对呼叫报文进行处理。因而,通过本发明,取消传统方法中主设备的概念,消除了单点故障,并且每个节点都独立运行保护方法,这样环内出现断链并形成环保护的时间就断,同时由于采用了分布式的方法,使得保护收敛的时间和节点个数无关。

权利要求 :

1.一种分布式环网的组网方法,其特征在于,包括:

步骤S202,进行设备初始化配置;

步骤S204,启动握手状态,相邻节点间互相发送握手报文,以确认所述相邻节点间的链路状态,所述握手报文中包含自身是否是虚最左节点的信息;

步骤S206,当环中所有链路均正常的情况下,所述虚最左节点以顺时针方向和虚最右节点以逆时针方向周期性对发呼叫报文,当环中出现断开的情况下,实最左节点以顺时针方向和实最右节点以逆时针方向周期性对发所述呼叫报文;其中,设备中连接逆时针方向设备的端口是左端口,设备中连接顺时针方向设备的端口是右端口,当环网中所有链路正常的情况下,其左端口链路人为关闭的设备就是虚最左节点,当环网中所有链路正常的情况下,其右端口链路人为关闭的设备就是虚最右节点,当设备的左端口链路断的情况下,这个设备就是实最左节点,当设备的右端口链路断的情况下,这个设备就是实最右节点;以及步骤S208,在每个所述节点对所述呼叫报文进行处理,当环中有链路断开时,所述断开链路中的实最左节点和实最右节点发送所述呼叫报文,所述断开链路中的虚最左节点和虚最右节点接收到所述呼叫报文N次后,启用所述断开链路中的虚最左节点和虚最右节点之间的链路;当所述断开链路中的实最左节点和实最右节点之间的链路恢复时,所述断开链路中实最左节点和实最右节点停止发送所述呼叫报文,所述断开链路中的虚最左节点和虚最右节点连续M定时时间收不到所述呼叫报文时,断开所述断开链路中的虚最左节点和虚最右节点之间的链路,并发送所述呼叫报文,所述断开链路中的实最左节点和实最右节点收到N次所述呼叫报文后,启用所述断开链路中的实最左节点和所述实最右节点之间的链路,开始正常的数据转发;其中,M、N为预设的参数。

2.根据权利要求1所述的组网方法,其特征在于,所述步骤S202包括:

步骤S302,所述节点读取自身是否是虚最左节点;

步骤S304,在每个所述节点配置端口的数据和保护VLAN;以及

步骤S306,在每个所述节点配置其它配置数据。

3.根据权利要求1所述的组网方法,其特征在于,在所述步骤S204中,所述链路的两端周期发送握手报文。

4.根据权利要求3所述的组网方法,其特征在于,如果连续多个时间间隔一次也收不到对端的所述握手报文,则认为所述链路断。

5.根据权利要求3所述的组网方法,其特征在于,如果连续多个时间间隔至少收到一次对端的所述握手报文,则认为所述链路通。

6.根据权利要求4或5所述的组网方法,其特征在于,所述步骤S208包括:

步骤S702,所述节点通过端口接收所述呼叫报文,并提取信息,以获知节点信息和数量;

步骤S704,所述节点将接收到的所有所述呼叫报文信息合并,并将自己的节点信息写入各个所述呼叫报文;以及步骤S706,以其原来的方向通过所述端口发送各个所述呼叫报文。

7.根据权利要求6所述的组网方法,其特征在于,端口状态包括:断路状态、保护状态、虚端口状态、以及正常状态,其中,处于链路断路状态的端口状态为断路状态;只能转发和接收呼叫报文,不能转发数据的端口状态为保护状态;不转发和接收呼叫报文,也不转发数据的端口状态为虚端口状态;可以转发呼叫报文,又可以转发数据的端口状态为正常状态。

8.根据权利要求7所述的组网方法,其特征在于,在所述虚端口状态和正常状态下,进行所述呼叫报文的接收和发送。

说明书 :

分布式环网的组网方法

技术领域

[0001] 本发明涉及数据通信领域,更具体的,涉及一种分布式环网的组网方法。 背景技术
[0002] 环形组网和保护原理如下:
[0003] 1.在所有的链路都正常情况下,需要人为关闭其中两个节点的链路转发功能,将环变成一个链,使数据转发不出现环路,从而避免出现广播风暴;以及 [0004] 2.在这个环中节点之间的链路出现问题的情况下,把人为关闭链路重新打开,使节点之间可以走迂回的链路,从而起到保护的作用。
[0005] 图1是示出了现有技术中环形组网及保护方式的视图,如图1所示,N1、N2、N3和N4组成一个环网。当所有的链路都正常的情况下,人为关闭N1和N4之间的链路转发,使环形组网变成一个N1、N2、N3和N4组成的链形组网。当N2和N3之间链路出现问题的时候,就打开N1和N4之间的链路转发,这样,仍然形成链路组网。当N2和N3之间的链路故障恢复后,再次关闭N1和N4之间的转发,恢复正常组网情况。
[0006] 但是,现有技术中的环网方法必须存在主设备,如果主设备失败的话,那么整个环网就失效,并且收敛的速度和环内站点个数相关,所以站点数目越多,收敛速度就会越慢。 [0007] 因此,需要一种新的组网方法来解决现有技术中存在的问题。 [0008] 发明内容
[0009] 为了解决上述问题,本发明提供了一种分布式环网的组网方法,其将原有组网方法改成分布式的,因此不再需要主设备,同时,每个节点都能够独立运行保护方法,从而,使得环内出现断链,并且使得形成环保护的时间和站点的个数无关。
[0010] 本发明提供了一种分布式环网的组网方法,其特征在于,该组网方法可以包括:步骤S202,进行设备初始化配置;步骤S204,启动握手状态,相邻节点间互相发送握手报文,以确认相邻节点间的链路状态,握手报文中包含自身是否是虚最左节点的信息;步骤S206,当环中所有链路均正常的情况下,虚最左节点以顺时针方向和虚最右节点以逆时针方向周期性对发呼叫报文,当环中出现断开的情况下,实最左节点以顺时针方向和实最右节点以逆时针方向周期性对发呼叫报文;其中,设备中连接逆时针方向设备的端口是左端口,设备中连接顺时针方向设备的端口是右端口,当环网中所有链路正常的情况下,其左端口链路人为关闭的设备就是虚最左节点,当环网中所有链路正常的情况下,其右端口链路人为关闭的设备就是虚最右节点,当设备的左端口链路断的情况下,这个设备就是实最左节点,当设备的右端口链路断的情况下,这个设备就是实最右节点;以及步骤S208,在每个节点对呼叫报文进行处理,当环中有链路断开时,断开链路实最左节点和实最右节点发送呼叫报文,断开链路中的虚最左节点和虚最右节点接收到呼叫报文N次后,启用断开链路中的虚最左节点和虚最右节点之间的链路;当断开链路中的实最左节点和实最右节点之间的链路恢复时,断开链路 中实最左节点和实最右节点停止发送呼叫报文,断开链路中的虚最左节点和虚最右节点连续M定时时间收不到呼叫报文时,断开上述断开链路中的虚最左节点和虚最右节点之间的链路,并发送呼叫报文,断开链路中的实最左节点和实最右节点收到N次呼叫报文后,启用断开链路中的实最左节点和实最右节点之间的链路,开始正常的数据转发;其中,M、N为预设的参数。
[0011] 根据本发明,步骤S202可以包括:步骤S302,节点读取自身是否是虚最左节点;步骤S304,在每个节点配置端口的数据和保护VLAN;以及步骤S306,在每个节点配置其它配置数据,其中,配置数据诸如下文中所述的全局参数,诸如时间间隔的个数M、收到消息的次数N、报文发送的周期T1、报文发送的时间间隔T2等,并且,这些参数需要在环网启动前统一设置,且在每个站点都保持一致。
[0012] 根据本发明,在步骤S204中,链路两端周期性发送握手报文,其中,假定周期是T1。如果连续多个时间间隔M一次也收不到对端的握手消息,则认为链路断。而如果连续多个时间间隔M至少收到一次对端的握手消息,则认为链路通。
[0013] 其中,M个时间间隔建议取值3,当然,也可以根据实际网络状态进行变化。 [0014] 另外,根据本发明,步骤S208可以包括:步骤S702,节点通过端口接收呼叫报文,并提取信息,以获知节点信息和数量;步骤S704,节点将接收到的所有呼叫报文信息合并,并将自己的节点信息写入各个呼叫报文;以及步骤S706,以其原来的方向通过端口发送各个呼叫报文。
[0015] 其中,端口状态可以包括:断路状态、保护状态、虚端口状态、以及正常状态。处于链路断路状态的端口状态为断路状态;只能转发和接收呼叫报文,不能转发数据的端口状态为保护状态;不转发和接收呼叫报文,也不转发数据的端口状态为虚端口状态;可以转 发呼叫报文,又可以转发数据的端口状态为正常状态。在虚端口状态和正常状态下,进行呼叫报文的接收和发送。
[0016] 因而,采用本发明可以实现以下三个优点:
[0017] 1.取消传统方法中主设备的概念,从而消除了单点故障;
[0018] 2.每个节点都独立运行保护方法,这样环内出现断链并形成环保护的时间就断;以及
[0019] 3.由于采用了分布式的方法,使得保护收敛的时间和节点个数无关。 [0020] 本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
[0021] 附图说明
[0022] 附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
[0023] 图1是示出了现有技术中环形组网及保护方式的视图;
[0024] 图2是根据本发明的环形组网方法的流程图;
[0025] 图3是图2中的步骤S202的具体流程图;
[0026] 图4是本发明方法的名词定义的视图;
[0027] 图5是两个节点之间相互发送消息确认链路是否正常的视图;
[0028] 图6是根据本发明的报文发送的视图;
[0029] 图7是图2中的步骤S208的具体流程图;
[0030] 图8是根据本发明的报文格式的视图;
[0031] 图9是根据本发明的链路保护的视图;以及
[0032] 图10是根据本发明的链路恢复的视图。

具体实施方式

[0033] 以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
[0034] 图2是根据本发明的环形组网方法的流程图,如图2所示,该方法包括以下步骤: [0035] 步骤S202,进行设备初始化配置;
[0036] 步骤S204,启动握手(以下统一写为SHAKE-HAND)状态,相邻节点间互相发送SHAKE-HAND报文,以确认相邻节点间的链路状态;
[0037] 步骤S206,选出最左节点和最右节点,并使最左节点和最右节点周期性对发呼叫报文;以及
[0038] 步骤S208,在每个节点对呼叫报文进行处理。
[0039] 图3是图2中的步骤S202的具体流程图,如图3所示,步骤S202包括:步骤S302,节点读取自身是否是虚最左节点;步骤S304,在每个节点配置用于保护VLAN、端口的数据;以及步骤S306,在每个节点配置其它配置数据。
[0040] 图4是本发明方法的名词定义的视图,如图4所示,为了更加清晰的表达本发明的方法,如下来定义名词:
[0041] 左端口:设备中连接逆时针方向设备的端口是左端口,如图4(左)所示; [0042] 右端口:设备中连接顺时针方向设备的端口是右端口,如图4(左)所示; [0043] 虚最左节点:当环网中所有链路正常的情况下,其左端口链路人为关闭的设备就是虚最左节点,其中,这个节点需要在网络中配置,如图4(左)中的N1节点就是虚最左节点;
[0044] 虚最右节点:当环网中所有链路正常的情况下,其右端口链路人为关闭的设备就是虚最右节点,这个节点总是和虚最左节点连接的,所以不需要配置,如图4(左)中的N4节点就是虚最右节点;
[0045] 实最左节点:当设备的左端口链路断的情况下,这个设备就是实最左节点,如图4(右)中的N3节点就是实最左节点;
[0046] 实最右节点:当设备的右端口链路断的情况下,这个设备就是实最右节点,如图4(右)中的N2节点就是实最右节点;
[0047] 最左节点:虚最左节点和实最左节点的统称;
[0048] 最右节点:虚最右节点和实最右节点的统称;以及
[0049] 普通节点:在环路中除最左和最右节点以外的其他节点。
[0050] 在确定节点上点后,进入初始化状态。需要读取自己是否是虚最左节点,在每个节点需要配置设备的保护VLAN、左和右端口等数据、以及其它状态机的配置数据。 [0051] 根据本发明,在步骤S204中,SHAKE-HAND报文中必须包含自身是否是虚左节点的信息。
[0052] 双方周期性发送SHAKE-HAND报文,假定周期是T1,如果在连续多个时间间隔(即M*T1)内,一个报文都没有收到,则认为链路处于断链状态;而如果在连续多个时间间隔(即M*T1)内,收到了至少一个报文,则认为链路处于通路状态。
[0053] 在本发明中,时间间隔的个数M,收到消息的次数N,报文发送的周期T1,报文发送的时间间隔T2都是全局参数,需要在环刚启动前统一设置,且每个站点都保持一致。 [0054] 以下将参考图5描述上述确定节点之间链路状态的过程。图5是两个节点之间相互发送消息确认链路是否正常的视图,如图5所示,当设备初始化配置完成后,缺省启动SHAKE-HAND状态机,相邻节点间互相发送SHAKE_HAND报文确认相邻节点之间的链路是否正常。发送的报文需要携带自身是否是虚左节点,便于对端识别自己是否是虚最右节点,这样,每个节点就知道自己的左右链路的正常和异常状态。
[0055] 做这个状态机的目的主要是实现对在链路层对节点之间的链路进行检测,以避免在物理层检测可能产生的问题。例如,当两个设备通过光设备连接时,就检测不到对端的LINK UP/DOWN信息。
[0056] 这个报文格式可以自行定义。为了避免出现偶然出现丢包,建议采用多次确认方式:
[0057] 1.如果连续多个(M个)时间间隔一次也收不到对端的SHAKE-HAND消息,则认为链路断;以及
[0058] 2.如果连续M次时间间隔至少收到一次对端的SHAKE-HAND消息,则认为链路通。 [0059] 如上所述,检测到链路断链的时间是M*T1时间。
[0060] 图6是根据本发明的报文发送的视图,如图6所示,HELLO报文处理是本方法的核心,在以前的环网方法中,都是主节点进行HELLO报文发送和最后处理,HELLO报文处理得到网络的拓扑状态后,才通知各个节点进行老化地址表等动作,这样反应的速度就比较慢,同时如果出现主节点出现问题,整个环网也就失效了。
[0061] 在整个网络是一个完整的环形时,则需要根据配置把环形连接变成一个链形网络,也就是选择出最左节点和最右节点。如果网络中出现断点,则自动出现了最左节点和最右节点。
[0062] 本发明的方法在网络的最左节点和最右节点周期性对发HELLO报文的方式进行。最左节点发送的HELLO报文,顺时针向下一个节点转发,我们称为顺时针HELLO报文;最右节点发送的HELLO报文,逆时针向下一个节点转发,我们称为逆时针HELLO报文。在图6中,N1节点发送顺时针HELLO报文,N4节点发送逆时针HELO报文,而在图4(右)中,N3节点发送顺时针HELLO报文,N2节点发送逆时针HELLO报文。
[0063] 最左和最右节点不是在所有的状态都发送HELLO报文消息,HELLO报文发送状态将在以下进行详细描述。
[0064] HELLO发送是周期性的,我们这里假定发送HELLO报文的时间间隔是T2。 [0065] 图7是图2中的步骤S208的具体流程图,如图7所示,步骤S208包括:步骤S702,节点通过端口接收呼叫报文,并提取信息,以获知节点信息和数量;步骤S704,节点将接收到的所有呼叫报文合并,并写入各个呼叫报文;以及步骤S706,以其原来的方向通过端口发送各个呼叫报文。
[0066] 根据本发明,端口状态可以包括:断路状态、保护状态、虚端口状态、以及正常状态。在虚端口状态和正常状态下,进行呼叫报文的接收和发送。
[0067] 图8是根据本发明的报文格式的视图,如图8所示,字段解释如下: [0068] DESTINATION MAC ADDRESS:目的MAC地址,48位,建议选择EAPS; [0069] SOURCE MAC ADDRESS:源MAC地址,48位,发送者的MAC地址; [0070] 0x8100:802.1q的标记;
[0071] 1P:1p的优先级标记;
[0072] VLANID:vlan id的标记;
[0073] TYPE/LENGTH:以太网类型和长度标示;
[0074] VERSION:本协议的版本号;
[0075] HEAD INFO:用来表示HELLO报文的起始点是实节点还是虚节点;以及 [0076] NODE INFO1:节点的标示信息,每个节点预留128位;建议填写MAC地址等信息。 [0077] 由于每个节点需要128位,所以一个以太网协议包可以承载64个NODE信息。 [0078] 当一个节点收到HELLO报文的时候,首先把HELLO报文的信息取出来,就可以知道自己左边或者是右边节点信息和个数。通过把左边和右边收到的HELLO报文信息合并,就知道了整个环形网络中的所有的节点信息,同时,把自己的节点信息填写到这个HELLO报文中,并且沿着同一个方向发送出去。
[0079] 如图4(左)所示,N1发送的HELLO报文中只有N1的NODEINFO信息,N2发送的HELLO报文N1和N2的NODE INFO的信息。
[0080] 在每个节点的左右端口上,都存在一个以下四个状态:
[0081] S1:断路状态,这个端口在SHAKE-HAND状态机中处于LINKDOWN状态; [0082] S2:保护状态,这个端口处于LINK UP状态,只能转发和接收HELLO报文,不能转发数据;
[0083] S3:虚端口状态,如果这个节点是虚最左节点,这个节点的左端口就是虚端口状态;如果这个节点是虚最右节点,这个节点的右端口就是虚端口状态;这个状态不转发和接收HELLO报文,也不转发数据;以及
[0084] S4:NORMAL状态,这个端口即可以转发HELLO报文,又可以转发数据。 [0085] 在本申请中,T(xy)指的是从x状态切换到y状态。
[0086] T(12):在收到对端端口的SHAKE-HAND消息,确信链路正常后,如果自己不是配置的最左节点就从S1切换到S2,这时候可以转发控制报文,但不能转发数据报文。 [0087] T(13):在收到对端端口的SHAKE-HAND消息,确信链路正常后,如果自己是配置的最左节点就从S1切换到S3.这时候定时器开始工作,发送HELLO报文。
[0088] T(24):如果收到的对端的HELLO消息N次,则把保护状态切换到通状态,老化设备MAC地址表,在这个状态,可以转发正常的数据报文和协议报文。
[0089] T(34):如果收到了右报文表示自己是实右节点。连续收到N次,切换状态到左通状态,老化设备MAC地址表。
[0090] T(14):不存在这个状态切换。
[0091] T(23):不存在这个状态,这个状态表示配置最左节点发生变化。 [0092] T(21):SHAKE-HAND报文又发送断链消息。
[0093] T(31):SHAKE-HAND报文又发送断链消息。
[0094] T(42):不存在这个状态。
[0095] T(43):如果连续M定时时间收不到对端发送的HELLO报文消息,则表示链路已经恢复,则切换到正常工作状态。
[0096] T(32):建议不存在这个状态,这个状态表示配置最左节点发送变化。不建议这样配置。
[0097] 图9是根据本发明的链路保护的视图,如图9所示,N2和N3之间的链路断的时候,N2和N3节点检测到断链的时间是M*T1,N2和N3节点发送HELLO报文,在虚最左和最右节点收到这些HELLO报文N次后,进行了状态的切换,打开了N1和N4之间的链路。因而,保护恢复时间是:M*T1+N*T2+包传输延迟时间。
[0098] 图10是根据本发明的链路恢复的视图。如图10所示,当N2和N3之间的链路恢复的时候,N2和N3停止发送HELLO报文消息,这时N1和N4在M*T2时间没有收到HELLO报文,关闭了N1和N4之间的通道,并开始发送HELLO报文,当N2和N3节点收到N次HELLO报文后,打开N2和N3之间的通道,开始正常的数据转发。因而,链路恢复正常组网的时间是:M*T1+(N+M)*T2+包传输延迟时间。
[0099] 在本发明中,由于T1、T2、M、N都是全局参数,所以需要在环网启动前统一设置,且每个站点都保持一致。
[0100] 因而,可以看到,通过本发明,取消了传统方法中主设备的概念,同时每个节点都独立运行保护方法,采取分布式方法,保护收敛的时间和节点个数无关。 [0101] 以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。