CN102932186B - 一种集群系统及消除环路的方法 - Google Patents

一种集群系统及消除环路的方法 Download PDF

Info

Publication number
CN102932186B
CN102932186B CN201210455293.3A CN201210455293A CN102932186B CN 102932186 B CN102932186 B CN 102932186B CN 201210455293 A CN201210455293 A CN 201210455293A CN 102932186 B CN102932186 B CN 102932186B
Authority
CN
China
Prior art keywords
port
value
hop count
hello message
count field
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.)
Active
Application number
CN201210455293.3A
Other languages
English (en)
Other versions
CN102932186A (zh
Inventor
郭斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou DPTech Technologies Co Ltd
Original Assignee
Hangzhou DPTech Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou DPTech Technologies Co Ltd filed Critical Hangzhou DPTech Technologies Co Ltd
Priority to CN201210455293.3A priority Critical patent/CN102932186B/zh
Publication of CN102932186A publication Critical patent/CN102932186A/zh
Application granted granted Critical
Publication of CN102932186B publication Critical patent/CN102932186B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Small-Scale Networks (AREA)

Abstract

本发明提供一种集群系统及消除环路的方法,属于网络通信技术领域。所述方法包括:管理设备按照预定的时间间隔向所有成员设备广播发送HELLO报文,所述HELLO报文中设置有跳数字段和队列字段,其中,管理设备每发送一个HELLO报文,将所述队列字段的值增加1,成员设备对所述HELLO报文进行转发时,将所述跳数字段的值减小1,若所述跳数字段的值为0,则丢弃该HELLO报文;成员设备从多个端口接收到队列字段的值相同的HELLO报文时,根据HELLO报文中的跳数字段以及预先为各端口配置的优先级,对所述多个端口中的部分端口进行阻塞,从而消除成员设备之间的环路。根据本发明,在不需要配置生成树协议的前提下,简单方便地实现了对集群中环路的检测和消除。

Description

一种集群系统及消除环路的方法
技术领域
本发明涉及网络通信技术领域,尤其涉及一种集群系统及消除环路的方法。
背景技术
随着网络的延伸,网络规模迅速扩大,网络设备变得越来越多,管理这些设备变得日益复杂,建设易于管理维护的网络势在必行,由此开发出集群管理协议(简称集群协议)以实现对复杂网络的管理和维护。
集群管理协议主要的功能有两个:一是管理设备可以搜集整个网络的拓扑结构,并且以树型结构显示出来;二是管理设备可以集中管理网络中所有成员设备,如交换机的注册、软件的升级、配置查询、备份、设定、重启动等操作。
集群管理技术广泛应用于各种大型的网络中,使得管理这些设备更加方便高效,具体描述如下:
在一个集群内,交换机被划分为三种角色:管理设备、成员设备、候选设备。用户只需要在管理设备配置一个公网IP地址,就可以实现对多个分散的交换机进行管理。成员设备一般不设置公网IP地址,用户通过管理设备实现对成员设备的管理和维护。
在每个设备上开启集群协议前,首先应当开启邻居拓扑发现协议(Neighbor Topology Discover Protocol,NTDP)。NTDP协议可以收集指定跳数内设备的拓扑信息,当网络中的拓扑结构改变的时候,NTDP协议可以自动收集拓扑信息,从而使得管理设备能及时获得网络中设备的拓扑结构。集群协议所使用的邻居信息就是NTDP协议提供的,所以NTDP协议是集群协议的基础。
管理设备是用户指定的,在管理设备上通过NTDP协议获取指定跳数以内的邻居信息,并且自动将这些邻居加为候选设备。用户可以开启自动加入集群,则所有符合条件的候选设备自动加入集群成为成员设备,省去了繁琐的重复添加操作。
图1是集群内设备的状态转换示意图。如图1所示,管理设备和成员设备互发握手(HELLO)报文,以保证管理设备能够及时获取到成员设备的状态。集群建立的时候,成员设备的初始状态都是激活(active)。当管理设备三次收不到某成员设备的握手报文或者管理报文的时候,管理设备将其置为连接(connect)状态,若在规定时间内还是没有收到握手报文,管理设备将其置为断开(disconnect)状态。此时如果中断恢复,成员设备需要重新加入一次,加入成功后将disconnect状态更改为active状态。若成员设备处于connect状态时收到了握手报文或者管理报文,则其状态恢复为active状态。
管理设备为每个成员设备自动分配一个私网IP,而只有管理设备有公网IP,用户通过管理设备的公网IP可以访问各个成员设备的私网IP。这种访问方式是通过NAT设备进行网络地址转换来实现的,通过NAT设备访问集群有两种情况:成员设备访问外部网络和外部网络访问成员设备。当成员设备访问外部网络的时候,由于报文的源地址为私网地址,需要通过NAT设备将其翻译成公网地址,并通过端口号来区分不同的成员设备。当外部网络访问成员设备的时候,由于目的地址是私网地址,需要将其转换为管理设备的公网地址加设备的序列号。这样就实现了通过管理设备访问各个成员设备。
网络中还提供一个FTP服务器,管理设备和成员设备都可以将自己的配置信息上传到服务器上,并且当网络中新加入一台或多台网络设备的时候,可以从FTP服务器上下载配置文件,实现批量配置。
图2是集群系统的一种组网示意图。在所有将要使用集群管理的设备上先开启NTDP协议,再开启集群管理协议。首先在管理设备上创建一个集群,所有邻居就会自动成为集群的候选设备,这个时候用户可以按需要将候选设备加入集群。加入成功后用户就可以通过远程客户端对集群成员操作。
一个集群中有一个管理设备和很多个成员设备,标准的组网应当是树形结构。管理设备是根节点,成员设备是分支节点和叶子节点。由于成员设备比较多,用户在组网的时候有可能会出现环网,如图3所示。现有的技术没有考虑环网的问题,如果出现了环网,集群的报文不能正常发送。这样造成集群的拓扑信息不能正确获取,候选设备无法加入群。
集群内部组网要求自身特点如下:集群管理报文应当在自己独立的虚拟局域网(VLAN)中;管理设备应当作为总根;由于集群管理报文是跳数内转发(默认的跳数为3,可以根据需要进行配置),所以成员设备尽量要离管理设备的跳数尽可能的小,例如图3中集群内部连线2、5、12出现环路,应该阻塞掉连线5;成员设备可能会频繁的加入和退出集群。
一般来说,如果要避免环网则应当配置生成树协议。现在主流的生成树协议有生成树协议(STP)、快速生成树协议(RSTP)和多生成树协议MSTP。
如果在集群成员设备中应用STP、RSTP会有如下问题:
由于整个交换网络只有一棵生成树,在网络规模比较大的时候会导致较长的收敛时间。由于RSTP是单生成树协议,所有VLAN共享一棵生成树,为了保证VLAN内部可以正常通信,网络内每个VLAN都应当沿着生成树的路径方向连续分布,否则将会出现有的VLAN由于内部链路被阻塞而被分隔开,从而导致VLAN内部无法通信的问题。另外,当某条链路被阻塞后将不承载任何流量,无法实现负载均衡,造成了带宽的极大浪费。
对于MSTP,有以下特点:
MSTP引入“域”的概念,把一个交换网络划分成多个域。每个域内形成多棵生成树,生成树之间彼此独立;在域间,MSTP利用公共和内部生成树(CIST)保证全网络拓扑结构的无环路存在。
MSTP引入“实例(Instance)”的概念,将多个VLAN映射到一个实例中,以节省通信开销和资源占用率。MSTP各个实例拓扑的计算是独立的(每个实例对应一棵单独的生成树),在这些实例上就可以实现VLAN数据的负载分担。
MSTP可以实现类似RSTP的端口状态快速迁移机制。
MSTP兼容STP和RSTP。
在集群成员设备中应用MSTP也会有如下问题:
首先,MSTP可以保证管理设备为总根,同时也可以保证该生成树只在集群管理VLAN中起作用,但是MSTP无法保证成员设备距离管理设备的跳数尽可能的小。其次,成员设备有可能频繁的加入和退出集群,导致MSTP协议本身就需要很多的运算,而成员设备大多都是低端交换机,浪费系统资源。另外,每台管理设备成员设备连接的端口都需要开启NTDP协议,而这些端口还应当开启MSTP,同时保证管理设备为MSTP的根,要保证配置同步,配置会很重复和繁琐。
发明内容
有鉴于此,本发明的目的是提供一种集群系统及消除环路的方法,在不需要配置生成树协议的前提下,简单方便地实现了对集群中环路的检测和消除。
为实现上述目的,本发明提供技术方案如下:
一种消除环路的方法,应用于集群系统中,所述集群系统包括一个管理设备和多个成员设备,所述方法包括:
管理设备按照预定的时间间隔向所有成员设备广播发送基于集群协议的HELLO报文,所述HELLO报文中设置有跳数字段和队列字段,其中,管理设备每发送一个HELLO报文,将所述队列字段的值增加1,成员设备对所述HELLO报文进行转发时,将所述跳数字段的值减小1,若所述跳数字段的值为0,则丢弃该HELLO报文;
成员设备从多个端口接收到队列字段的值相同的HELLO报文时,根据HELLO报文中的跳数字段以及预先为各端口配置的优先级,对所述多个端口中的部分端口进行阻塞,从而消除成员设备之间的环路。
一种集群系统,所述集群系统包括一个管理设备和多个成员设备,其中:
所述管理设备用于,按照预定的时间间隔向所有成员设备广播发送基于集群协议的HELLO报文,所述HELLO报文中设置有跳数字段和队列字段,其中,管理设备每发送一个HELLO报文,将所述队列字段的值增加1,成员设备对所述HELLO报文进行转发时,将所述跳数字段的值减小1,若所述跳数字段的值为0,则丢弃该HELLO报文;
所述成员设备用于,从多个端口接收到队列字段的值相同的HELLO报文时,根据HELLO报文中的跳数字段以及预先为各端口配置的优先级,对所述多个端口中的部分端口进行阻塞,从而消除成员设备之间的环路。
与现有技术相比,本发明的技术方案通过对集群的协议报文结构进行修改,在报文结构中增加一个队列(queue)字段,成员设备根据从多个端口接收到的HELLO报文对部分端口进行阻塞,从而在不需要配置生成树协议的前提下,简单方便地实现了对集群中环路的检测和消除,提高了集群管理的稳定性。
附图说明
图1是集群内设备的状态转换示意图;
图2是集群系统的一种组网示意图;
图3是集群系统中出现环路的示意图。
图4是本发明实施例的消除环路的方法流程图。
具体实施方式
针对现有技术中存在的,需要在集群系统中配置复杂的生成树协议来检测和消除成员设备之间的环路的问题,本发明通过在集群协议内部实现一套检测并且防止环路的机制,简单方便地实现了对集群中环路的检测和消除,提高了集群管理的稳定性。
以下结合附图对本发明进行详细描述。
图4是本发明实施例的消除环路的方法流程图,所述方法应用于集群系统中,所述集群系统包括一个管理设备和多个成员设备。参照图4,所述方法可以包括如下步骤:
步骤401,管理设备按照预定的时间间隔向所有成员设备广播发送基于集群协议的HELLO报文,所述HELLO报文中设置有跳数字段和队列字段;
其中,管理设备每发送一个HELLO报文,将所述队列字段的值增加1,成员设备对所述HELLO报文进行转发时,将所述跳数字段的值减小1,若所述跳数字段的值为0,则丢弃该HELLO报文。
具体地,本发明对集群的协议报文结构进行了重新定义,即在报文结构中增加一个队列(queue)字段,如下:
进行上述定义后,管理设备每隔一定的时间都会向所有的成员设备广播HELLO报文,告诉成员设备管理设备存在。每生成一个新的HELLO报文,queue字段就会自加1。集群的协议报文(可以是HELLO报文,也可以是集群的其他报文)ttl_jump初始默认值为3,可以根据需要进行配置,例如配置为4或5等,每转发一次该值自减1,当该值为0的时候,就直接丢弃该报文,不进行转发。
步骤402,成员设备从多个端口接收到队列字段的值相同的HELLO报文时,根据HELLO报文中的跳数字段以及预先为各端口配置的优先级,对所述多个端口中的部分端口进行阻塞,从而消除成员设备之间的环路。
队列字段的值相同的HTLLO报文就表明这是管理设备同一次发送的,成员设备若是收到两条及以上队列字段的值相同的报文,则说明发生环路。
本发明中,为成员设备的开启了NTDP协议的端口增加了一个优先级的属性,与上行管理设备直接或者间接相连的端口优先级较高,与下行成员设备连接的端口优先级较低。即,与上行管理设备直接或者间接相连的端口优先级高于与下行成员设备连接的端口的优先级。当然,也可以按照其他方式配置端口的优先级,例如,随机配置端口的优先级。
其中,所述根据HELLO报文中的跳数字段以及预先为各端口配置的优先级,对所述多个端口中的部分端口进行阻塞,具体包括:
当从多个端口接收到的所述队列字段的值相同的HELLO报文的跳数字段的值均相同时,对优先级低的端口进行阻塞。这里,对优先级低的端口进行阻塞是指,除了对所述多个端口中优先级最高的端口不进行阻塞之外,对其余的端口均进行阻塞。
当从多个端口接收到的所述队列字段的值相同的HELLO报文的跳数字段的值不全相同时,对跳数字段的值较小的端口进行阻塞。这里,不全相同包括均不相同,以及,有部分相同,但至少一个与其他不同。对跳数字段的值较小的端口进行阻塞是指,除了对所述多个端口中跳数字段的指最大的端口不进行阻塞之外,对其余的端口均进行阻塞。
需要说明的是,本发明中提到的阻塞,仅仅阻塞的是集群的协议报文,其他类型的协议报文正常通过。
例如,对于图3中出现的环网2,如果成员设备H从端口8和端口11(假设配置的端口8的优先级高于端口11的优先级)分别收到一条queue值相同并且ttl_jump值也相同的HELLO报文,则阻塞其中优先级较低的端口11。
又例如,对于图3中出现的环网1,如果成员设备E从端口5和端口12收到了两条queue值相同但ttl_jump值不同的HELLO报文,则阻塞ttl_jump值小的端口5。
再例如,对于图3中出现的环网3,如果成员设备G从端口7和端口13收到了两条queue值相同但ttl_jump值不同的HELLO报文,则阻塞ttl_jump值小的端口13。
根据上述方法,只需要设置两条规则,即使不配置MSTP等生成树协议,也可以避免环网的出现。
与上述消除环路的方法相对应,本发明实施例还提供一种集群系统,所述集群系统包括一个管理设备和多个成员设备,其中:
所述管理设备用于,按照预定的时间间隔向所有成员设备广播发送基于集群协议的HELLO报文,所述HELLO报文中设置有跳数字段和队列字段,其中,管理设备每发送一个HELLO报文,将所述队列字段的值增加1,成员设备对所述HELLO报文进行转发时,将所述跳数字段的值减小1,若所述跳数字段的值为0,则丢弃该HELLO报文;
所述成员设备用于,从多个端口接收到队列字段的值相同的HELLO报文时,根据HELLO报文中的跳数字段以及预先为各端口配置的优先级,对所述多个端口中的部分端口进行阻塞,从而消除成员设备之间的环路。
具体地,所述成员设备可以按照如下方式对所述多个端口中的部分端口进行阻塞:
当所述跳数字段的值均相同时,对优先级低的端口进行阻塞;
当所述跳数字段的值不全相同时,对跳数字段的值较小的端口进行阻塞。
其中,所述预先为各端口配置的优先级可以为:与上行管理设备直接或者间接相连的端口优先级较高,与下行成员设备连接的端口优先级较低。当然,也可以按照其他方式配置端口的优先级,例如,随机配置端口的优先级。
综上所述,本发明的技术方案通过对集群的协议报文结构进行修改,在报文结构中增加一个队列(queue)字段,成员设备根据从多个端口接收到queue值相同的HTLLO报文说明出现了环路,对相应的端口进行阻塞,从而在不需要配置生成树协议的前提下,简单方便地实现了对集群中环路的检测和消除,提高了集群管理的稳定性。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (8)

1.一种消除环路的方法,应用于集群系统中,所述集群系统包括一个管理设备和多个成员设备,其特征在于,所述方法包括:
管理设备按照预定的时间间隔向所有成员设备广播发送基于集群协议的HELLO报文,所述HELLO报文中设置有跳数字段和队列字段,其中,管理设备每发送一个HELLO报文,将所述队列字段的值增加1,成员设备对所述HELLO报文进行转发时,将所述跳数字段的值减小1,若所述跳数字段的值为0,则丢弃该HELLO报文;
成员设备从多个端口接收到队列字段的值相同的HELLO报文时,根据HELLO报文中的跳数字段以及预先为各端口配置的优先级,对所述多个端口中的部分端口进行阻塞,从而消除成员设备之间的环路。
2.如权利要求1所述的方法,其特征在于,所述根据HELLO报文中的跳数字段以及预先为各端口配置的优先级,对所述多个端口中的部分端口进行阻塞,包括:
当所述跳数字段的值均相同时,对优先级低的端口进行阻塞;
当所述跳数字段的值不全相同时,对除了多个端口中跳数字段的值最大的端口外的其他端口进行阻塞。
3.如权利要求1所述的方法,其特征在于,所述预先为各端口配置的优先级为:
与上行管理设备直接或者间接相连的端口优先级较高,与下行成员设备连接的端口优先级较低。
4.如权利要求1所述的方法,其特征在于,对所述多个端口中的部分端口进行阻塞为:
在所述部分端口中,对基于集群协议的协议报文进行阻塞。
5.一种集群系统,所述集群系统包括一个管理设备和多个成员设备,其特征在于:
所述管理设备用于,按照预定的时间间隔向所有成员设备广播发送基于集群协议的HELLO报文,所述HELLO报文中设置有跳数字段和队列字段,其中,管理设备每发送一个HELLO报文,将所述队列字段的值增加1,成员设备对所述HELLO报文进行转发时,将所述跳数字段的值减小1,若所述跳数字段的值为0,则丢弃该HELLO报文;
所述成员设备用于,从多个端口接收到队列字段的值相同的HELLO报文时,根据HELLO报文中的跳数字段以及预先为各端口配置的优先级,对所述多个端口中的部分端口进行阻塞,从而消除成员设备之间的环路。
6.如权利要求5所述的集群系统,其特征在于,所述成员设备进一步用于,按照如下方式对所述多个端口中的部分端口进行阻塞:
当所述跳数字段的值均相同时,对优先级低的端口进行阻塞;
当所述跳数字段的值不全相同时,对除了多个端口中跳数字段的值最大的端口外的其他端口进行阻塞。
7.如权利要求5所述的集群系统,其特征在于,所述预先为各端口配置的优先级为:
与上行管理设备直接或者间接相连的端口优先级较高,与下行成员设备连接的端口优先级较低。
8.如权利要求5所述的集群系统,其特征在于,对所述多个端口中的部分端口进行阻塞为:
在所述部分端口中,对基于集群协议的协议报文进行阻塞。
CN201210455293.3A 2012-11-13 2012-11-13 一种集群系统及消除环路的方法 Active CN102932186B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210455293.3A CN102932186B (zh) 2012-11-13 2012-11-13 一种集群系统及消除环路的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210455293.3A CN102932186B (zh) 2012-11-13 2012-11-13 一种集群系统及消除环路的方法

Publications (2)

Publication Number Publication Date
CN102932186A CN102932186A (zh) 2013-02-13
CN102932186B true CN102932186B (zh) 2015-05-06

Family

ID=47646893

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210455293.3A Active CN102932186B (zh) 2012-11-13 2012-11-13 一种集群系统及消除环路的方法

Country Status (1)

Country Link
CN (1) CN102932186B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104158706B (zh) * 2014-08-26 2017-11-10 新华三技术有限公司 环回检测方法及装置
CN108111419B (zh) * 2017-12-28 2021-02-02 迈普通信技术股份有限公司 一种路径选择的方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1937567A (zh) * 2006-08-10 2007-03-28 杭州华为三康技术有限公司 一种确定端口角色的方法
CN101478806A (zh) * 2009-01-20 2009-07-08 中国科学院计算技术研究所 一种无线自组织网络的无环路由构建方法
CN101635628A (zh) * 2009-08-28 2010-01-27 杭州华三通信技术有限公司 一种防止arp攻击的方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2095569B1 (en) * 2006-12-20 2015-02-25 Telefonaktiebolaget LM Ericsson (publ) Method for discovering the physical topology of a telecommnications network

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1937567A (zh) * 2006-08-10 2007-03-28 杭州华为三康技术有限公司 一种确定端口角色的方法
CN101478806A (zh) * 2009-01-20 2009-07-08 中国科学院计算技术研究所 一种无线自组织网络的无环路由构建方法
CN101635628A (zh) * 2009-08-28 2010-01-27 杭州华三通信技术有限公司 一种防止arp攻击的方法及装置

Also Published As

Publication number Publication date
CN102932186A (zh) 2013-02-13

Similar Documents

Publication Publication Date Title
US20210359910A1 (en) Packet data unit (pdu) structure for supporting distributed relay control protocol (drcp)
CN102577277B (zh) 提供合并多点链路的逻辑聚合点对点数据链路
JP2019036976A (ja) 誤設定時に分散中継器制御プロトコル(drcp)動作をサポートするための方法及びシステム
CN102823205B (zh) 聚合来自接入域的数据业务
EP2608459B1 (en) Router, virtual cluster router system and establishing method thereof
EP2701342A1 (en) Method and system for implementing elastic network interface and interconnection
CN105162704B (zh) Overlay网络中组播复制的方法及装置
CN106330727A (zh) Sdn网络设备建链方法、设备和系统
CA2726887A1 (en) Method, apparatus, system, and article of manufacture for reliable low-bandwidth information delivery across mixed-mode unicast and multicast networks
CN105490937B (zh) 以太虚拟网络网关切换方法和服务商边缘节点设备
CN107566277B (zh) 拓扑确定方法、消息响应方法、控制器以及交换机
EP2811698B1 (en) Construction method, node and system of trill network
CN102932186B (zh) 一种集群系统及消除环路的方法
CN102480413B (zh) 数字微波设备、网络及网管数据传输方法
CN104796345A (zh) 一种消息的发送控制方法和设备
CN113260072B (zh) Mesh组网流量调度方法、网关设备和存储介质
CN110830295B (zh) 一种设备管理方法及系统
CN113572685A (zh) 一种信息上报方法、信息处理方法、装置及设备
Kasu et al. Spanning Tree Protocol
JP2017158103A (ja) 通信管理装置、通信システム、通信管理方法およびプログラム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP01 Change in the name or title of a patent holder

Address after: Binjiang District and Hangzhou city in Zhejiang Province Road 310051 No. 68 in the 6 storey building

Patentee after: Hangzhou Dipu Polytron Technologies Inc

Address before: Binjiang District and Hangzhou city in Zhejiang Province Road 310051 No. 68 in the 6 storey building

Patentee before: Hangzhou Dipu Technology Co., Ltd.

CP01 Change in the name or title of a patent holder