通用属性注册方法及节点的制作方法

文档序号:7693373阅读:151来源:国知局
专利名称:通用属性注册方法及节点的制作方法
技术领域
本发明涉及数据通信技术,尤其涉及一种通用属性注册方法及节点。
技术背景通用属性注册协i义(GARP, Generic Attribute Registration Protocol)才是 供一种属性传递扩散机制,用于协助同 一个交换网内的交换成员之间分发、 传播和注册某种信息(如组播地址、端口过滤模式、虚拟局域网VLAN等 属性)。GARP成员通过属性声明或回收声明通知其它GARP成员注册或注 销自己的属性信息,并根据其它GARP成员的属性声明或回收声明注册或注 销对方的属性信息。通过GARP机制, 一个GARP成员上的配置信息可以 迅速传播到整个交换网。GARP成员之间的信息交换借助于GARP报文完成,GARP报文主要分 为三类Join报文、Leave报文和Leave All报文。当 一个GARP成员希望 其它GARP成员注册某属性时,将对外发送承载该属性信息的Join报文; 收到Join报文的端口,判断自身是否注册了该属性,如果没有,则注册该属 性。当一个GARP成员希望其它GARP成员注销某属性时,将对外发送承 载该属性信息的Leave报文;注册了该属性的端口收到Leave报文后,注销 该属性。Leave All报文是GARP成员发送的触发其它GARP成员进行属性 刷新和老化的纟艮文。为了防止GARP报文在环网中循环转发造成转发风暴,现有802.1Q标 准规定,GARP报文只能沿着根据拓朴管理协议(如生成树协议STP、快速 环网保护协议等)生成的无环活动拓朴转发。其中,拓朴管理协议的作用是 在交换网络中提供冗余链路,并解决交换网络的环路问题,其在存在环路的交换网络中生成一 个没有环路的树型网络,并将交换网络冗余的备份链路从 逻辑上断开,当主要链路出现故障时,自动切换到备份链路,保证数据的正常转发。比如,参见图l所示的环网结构示意图,节点S1、 S2、 S3、 S4、 S5和S6构成一个环状结构,为防止因形成环路而造成转发风暴,Sl连在环 上的一个端口 ll被阻塞,这样S1、 S2、 S3、 S4、 S5和S6就形成了一个没 有环路的树,GARP报文只能沿该活动拓朴传播。但是,GARP报文只能沿活动拓朴传播的特性容易产生很多不良影响。 下面分别对单属性源和双属性源的情况进行说明。图1中,假设Sl为属性源,其向外发送承载VLAN属性的Join报文, 因Join报文只能沿生成树转发,故端口 21、 31、 41、 51和61都将收到Sl 发出的Join才艮文并注册VLAN属性,但端口 62、 52、 42、 32和22却注册 不上。在这种情况下,如果环上某处链路出现故障如S3和S4之间的链路断 开,则为了保证数据的正常传输,Sl将打开阻塞端口 ll进行生成树拓朴切 换,以避开故障链路。但是,生成树拓朴切换完毕后,VLAN中的业务流量 并不能马上恢复,因为端口62、 52、 42没有注册VLAN属性,此时必须重 新进行GARP属性注册,等到GARP属性注册完毕后,VLAN中的业务流 量才能得以恢复。另外,图1中,假设S2和S6为属性源,它们向外发送承载VLAN属 性的Join报文,因Join净艮文只能沿生成树转发,故端口31、 41、 51、 61和 52、 42、 32、 12都将注册上VLAN属性,但端口 11却注册不上。在这种情 况下,如果S3和S4之间的链路出现故障,则Sl将打开阻塞端口 11进行生 成树拓朴切换,以避开故障链路。但是,由于此时S1的端口 ll并没有注册 上VLAN属性,故生成树拓朴切换完毕后,VLAN中的业务流量并不能马 上恢复,只有等到端口 11注册上VLAN属性后,VLAN中的业务流量才能 得以恢复。也就是说,在现有的通用属性注册方法中,当网络发生故障时,业务流 量恢复时间等于生成树拓朴切换时间加GARP属性注册时间,必须等到生成树拓朴切换完毕且GARP属性注册完成后,业务流量才能恢复正常,这样会 导致业务流量中断时间过长,造成网络性能下降,从而影响用户的业务使用 感受。另外,当动态属性应用到汇聚层的环上时,往往希望环上节点的两个 端口都能注册上该属性,这样当汇聚层的环拓朴发生变化时,就不需要再次 等待动态属性注册,然而,现有的通用属性注册方法并不能使环上节点的两 个端口都注册上动态属性。发明内容有鉴于此,本发明的主要目的在于提供一种通用属性注册方法及节点, 减少业务流量恢复时间,提高网络性能,并使得环上节点的两个端口都能够 注册上动态属性。为达到上述目的,本发明提供的技术方案如下一种通用属性注册方法,用于运用GARP协议和拓朴管理协议的网络, 该方法包括通过阻塞端口传播属性声明。 所述通过阻塞端口传播属性声明包括 通过属性源上的阻塞端口对外发送属性声明;阻塞端口所在节点的其它端口收到属性声明后,将收到的属性声明从阻 塞端口转发出去;阻塞端口收到属性声明后,判断自身是否注册了该属性,如果没有,则 注册该属性。所述注册该属性之后进一步包括阻塞端口将收到的属性声明从自身所 在节点上未转发过该属性声明的其它端口转发出去。该方法进一步包括在转发属性声明的阻塞端口上设置属性声明定时 器,阻塞端口在属性声明定时器超时后转发属性声明。该方法进一步包括通过阻塞端口传播回收声明。所述通过阻塞端口传播回收声明包括通过属性源上的阻塞端口对外发送回收声明;阻塞端口所在节点上的其它端口收到回收声明后,将收到的回收声明从 阻塞端口转发出去;阻塞端口收到回收声明后,判断自身是否注册了该回收声明中所携带的 属性,如果是,则注销该属性。所述注销该属性之后进一步包括阻塞端口判断自身是否为自身所在节 点上最后一个注册了该属性的端口,如果是,则将收到的回收声明转发出去。该方法进一步包括在阻塞端口上设置回收声明定时器,阻塞端口在回 收声明定时器超时后注销自身注册的属性。该方法进一步包括禁止通过阻塞端口传播Leave All才艮文。一种节点,位于运用GARP协议和拓朴管理协议的网络中,包括未阻塞 端口和阻塞端口,所述阻塞端口用于传播属性声明。所述阻塞端口包括报文处理单元和报文收发单元,其中,报文收发单元,用于对外发送属性声明,或者转发从所述节点的其它端 口收到的属性声明,或者将收到的来自外部的属性声明传送给报文处理单元;报文处理单元,用于接收报文收发单元发送来的属性声明,并判断自身 是否注册了该属性,如果没有,则注册该属性。所述报文处理单元,进一步在注册该属性后,将收到的属性声明从自身 所在节点上未转发过该属性声明的其它端口上转发出去。所述报文收发单元,进一步用于对外发送回收声明,或者转发从所述节 点的其它端口收到的回收声明,或者将收到的来自外部的回收声明传送给报文处理单元;所述报文处理单元,进一步用于接收报文收发单元发送来的回收声明, 并判断自身是否注册了该回收声明中所携带的属性,如果是,则注销该属性。所述报文处理单元,进一步在注销该属性后,判断自身是否为自身所在 节点上最后一个注册了该属性的端口,如果是,则将收到的回收声明转发出 去。所述阻塞端口禁止传^番Leave All #艮文。由此可见,本发明通过阻塞端口传播属性声明,使得环上节点的两个端 口都能够注册上动态属性;当网络拓朴发生变化时,只要生成树拓朴切换完 毕便可恢复业务流量,无需等待GARP属性重新注册,从而减少了业务流量 恢复时间,保证业务流量能够快速得以恢复,提升了网络性能,保障了用户 的业务使用感受。


图1为现有技术中的环网结构示意图;图2为本发明实施例中的环网结构示意图;图3为本发明实施例中的阻塞端口结构示意图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,下面参照附图并举 实施例,对本发明作进一步详细i兌明。为了解决现有技术中的问题,本发明针对运用GARP协议和拓朴管理协 议的网络,提供了一种通用属性注册方法,参见图2所示,该方法的基本思 想是通过阻塞端口传播属性声明。具体来说,通过阻塞端口传播属性声明主要包括以下三方面的内容一、 作为属性源的节点可以通过阻塞端口对外发送属性声明;二、阻塞端口所在 节点上的其它端口收到属性声明后,可以从阻塞端口将收到的属性声明转发 出去;三、阻塞端口自身收到属性声明后,可以进行属性注册并从其它端口 上转发收到的属性声明。下面以图2所示环网结构及VLAN属性为例,对本发明中的属性声明 传播过程进行详细说明。图2中,假设S1为具有VLAN属性的属性源,其通过Join报文的形式 对外发送属性声明,通知其它节点注册VLAN属性。在现有技术中,Sl只会通过未被阻塞的端口 12向外发送Join报文,且最终只有端口 21、 31、 41、 51和61能够注册上VLAN属性。而在本发明中,Sl不仅会通过端口 12向 外发送Join报文,同时也会通过阻塞端口 11向外发送Join报文,这样,连 在环上的所有端口都能够注册上VLAN属性。由于环上的所有端口都注册 了 VLAN属性,故当环网拓朴发生变化时,只需等到生成树拓朴切换完毕 便可恢复VLAN中的业务流量,而无需等待GARP属性重新注册,乂人而减 少了业务流量恢复时间,保证业务流量能够快速得以恢复,提升了网络性能。仍以图2所示环网结构为例,假设S3为属性源,其从端口 31和32向 外发送Join报文。Sl的端口 12收到S2转发来的Join报文后,判断自身是 否注册了该Join报文中携带的属性,如果没有,则端口12注册该属性,并 判断自身所在节点上的其它端口是否转发过该Join报文,如果没有,则端口 12将收到的Join报文从没有转发过该Join报文的端口转发出去;对于已经 转发过的端口,则不再转发。具体到图2中,即判断端口 ll是否已经转发 过该Join报文,如果没有,端口 12则将收到的Join报文从端口 11转发出 去。Sl的端口 11收到S6转发来的Join报文后,同样需要判断自身是否注 册了该Join报文中携带的属性,如果没有,则端口ll注册该属性,并判断 端口 12是否转发过该Join报文,如果没有,则将收到的Join报文从端口 12 转发出去。其它节点上的Join报文处理过程与现有技术一致,这里不再赘述。 经过上述转发过程,环上的各个端口都能够注册上相应的动态属性。另外,还可以进一步在转发Join报文的阻塞端口上设置属性声明定时 器(Join timer),阻塞端口在Join timer超时后向外发送Join报文。阻塞端 口上Join timer的触发条件及工作原理与现有技术中非阻塞端口上的Join timer相同,这里不再赘述。对于回收声明,这里既可以按照现有技术处理,即禁止通过阻塞端口传 播回收声明;也可以按照处理属性声明的方式处理,即通过阻塞端口传播回 收声明。具体来说,通过阻塞端口传播回收声明主要包括以下三方面内容 一、作为属性源的节点可以通过阻塞端口对外发送回收声明;二、阻塞端口所在节点上的其它端口收到回收声明后,可以将收到的回收声明从阻塞端口转发出去;三、阻塞端口收到回收声明后,可以执行属性注销并从其它端口上转发收到的回收声明。图2中,假设Sl要通过Leave报文的形式对外发送回收声明,则此时 Sl不仅要从正常端口 12发送携带该属性信息的Leave报文,同样也要从阻 塞端口 11发送Leave寺艮文。Sl的端口 12收到其它节点发来的Leave才艮文后, 判断自身是否注册了该Leave报文所携带的属性,如果注册了,则注销该属 性,并判断自身是否为SI上最后一个注册了该属性的端口,如果是最后一 个,则转发收到的Leave报文;如果不是最后一个,则不予转发。具体到图 2中,即判断端口 ll是否注册了该属性,如果没有注册,则端口 12从端口 11转发收到的Leave报文。SI的端口 11收到其它节点发来的Leave报文后, 同样也要判断自身是否注册了该Leave报文所携带的属性,如果注册了,则 注销该属性,并判断自身是否为SI上最后一个注册了该属性的端口,如果 是最后一个,则转发收到的Leave报文。另夕卜,还可以进一步在阻塞端口上设置回收声明定时器(leave timer), 阻塞端口在leave timer超时后注销自身注册的属性。阻塞端口上leave timer 的触发条件及工作原理与现有4支术中非阻塞端口上的leave timer相同,这里 不再赘述。由以上描述可见,属性声明只会从没有转发过该属性声明的端口上转发 出去,回收声明也只会在收到回收声明的端口是其所在节点上最后一个注册 了该属性的端口的情况下才会被转发,而在其它的情况下,属性声明和回收 声明都不会被立即转发,因此,允许阻塞端口传播属性声明/回收声明不会 引起转发风暴。而对于Leave All报文,本发明的处理方法与现有技术一致,即只沿生 成树转发,而禁止在阻塞端口上传播。因为Leave All报文是收到后须立即 转发的报文,如果在阻塞端口上也允许传播Leave All报文,则会引起转发 风暴。另外,由于Leave All报文是注销所有端口属性的报文,故每个节点收到过一次Leave All报文就足够了 ,而不需要每个端口都必须接收到,因 此,禁止阻塞端口传播Leave All报文不会影响协议的正常运行,并且也不 会影响阻塞端口上的属性注册、注销和转发。其中,禁止通过阻塞端口传播Leave All报文具体包括以下内容一、 作为属性源的节点禁止通过阻塞端口对外发送Leave All报文;二、阻塞端 口所在节点上的其它端口收到Leave All报文后,禁止从阻塞端口转发Leave All报文;三、阻塞端口收到Leave All报文后,禁止向外转发。相应地,本发明还提供了一种节点,该节点位于运用GARP协议和拓朴 管理协议的网络中,包括未阻塞端口和阻塞端口 ,其中,阻塞端口用于传牙番 属性声明。参见图3所示,所述阻塞端口具体可包括报文处理单元和报文收发单 元。其中,报文收发单元,用于对外发送属性声明,或者转发从所述节点的 其它端口收到的属性声明,或者将收到的来自外部的属性声明传送给报文处 理单元;报文处理单元,用于接收报文收发单元发送来的属性声明,并判断 自身是否注册了该属性,如果没有,则注册该属性。所述报文处理单元,进一步在注册该属性后,将收到的属性声明从自身 所在节点上未转发过该属性声明的其它端口上转发出去。另外,所述阻塞端口还可用于传播回收声明。此时,所述净艮文收发单元, 进一步用于对外发送回收声明,或者转发从所述节点的其它端口收到的回收 声明,或者将收到的来自外部的回收声明传送给报文处理单元;所述报文处 理单元,进一步用于接收报文收发单元发送来的回收声明,并判断自身是否 注册了该回收声明中所携带的属性,如果是,则注销该属性。所述报文处理单元,进一步在注销该属性后,判断自身是否为自身所在 节点上最后一个注册了该属性的端口,如果是,则将收到的回收声明转发出 去。需要说明的是,所述阻塞端口禁止传播Leave All报文。 以上所述对本发明的目的、技术方案和有益效果进行了进一步的详细说明,所应理解的是,以上所述并不用以限制本发明,凡在本发明的精神和原 则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范 围之内。
权利要求
1、一种通用属性注册方法,用于运用GARP协议和拓扑管理协议的网络,其特征在于,通过阻塞端口传播属性声明。
2、 根据权利要求1所述的方法,其特征在于,所述通过阻塞端口传播属性 声明包括通过属性源上的阻塞端口对外发送属性声明;阻塞端口所在节点的其它端口收到属性声明后,将收到的属性声明从阻塞 端口转发出去;阻塞端口收到属性声明后,判断自身是否注册了该属性,如果没有,则注 册该属性。
3、 根据权利要求2所述的方法,其特征在于,所述注册该属性之后进一步 包括阻塞端口将收到的属性声明从自身所在节点上未转发过该属性声明的其 它端口转发出去。
4、 根据权利要求2所述的方法,其特征在于,该方法进一步包括在转发 属性声明的阻塞端口上设置属性声明定时器,阻塞端口在属性声明定时器超时 后转发属性声明。
5、 根据权利要求1所述的方法,其特征在于,该方法进一步包括通过阻 塞端口传播回收声明。
6、 根据权利要求5所述的方法,其特征在于,所述通过阻塞端口传播回收 声明包括通过属性源上的阻塞端口对外发送回收声明;阻塞端口所在节点上的其它端口收到回收声明后,将收到的回收声明从阻 塞端口转发出去;阻塞端口收到回收声明后,判断自身是否注册了该回收声明中所携带的属 性,如果是,则注销该属性。
7、 根据权利要求6所述的方法,其特征在于,所述注销该属性之后进一步包括阻塞端口判断自身是否为自身所在节点上最后一个注册了该属性的端口 ,如果是,则将收到的回收声明转发出去。
8、 根据权利要求6所述的方法,其特征在于,该方法进一步包括在阻塞 端口上设置回收声明定时器,阻塞端口在回收声明定时器超时后注销自身注册 的属性。
9、 根据权利要求1所述的方法,其特征在于,该方法进一步包括禁止通 过阻塞端口传播Leave All报文。
10、 一种节点,位于运用GARP协议和拓朴管理协议的网络中,包括未阻 塞端口和阻塞端口,其特征在于,所述阻塞端口用于传播属性声明。
11、 根据权利要求IO所述的节点,其特征在于,所述阻塞端口包括报文处 理单元和报文收发单元,其中,报文收发单元,用于对外发送属性声明,或者转发从所述节点的其它端口 收到的属性声明,或者将收到的来自外部的属性声明传送给才艮文处理单元;报文处理单元,用于接收报文收发单元发送来的属性声明,并判断自身是 否注册了该属性,如果没有,则注册该属性。
12、 根据权利要求11所述的节点,其特征在于,所述报文处理单元,进一步在注册该属性后,将收到的属性声明从自身所 在节点上未转发过该属性声明的其它端口上转发出去。
13、 根据权利要求11或12所述的节点,其特征在于, 所述报文收发单元,进一步用于对外发送回收声明,或者转发从所述节点的其它端口收到的回收声明,或者将收到的来自外部的回收声明传送给报文处 理单元;所述报文处理单元,进一步用于接收报文收发单元发送来的回收声明,并 判断自身是否注册了该回收声明中所携带的属性,如果是,则注销该属性。
14、 根据权利要求13所述的节点,其特征在于,所述报文处理单元,进一步在注销该属性后,判断自身是否为自身所在节 点上最后一个注册了该属性的端口,如果是,则将收到的回收声明转发出去。
15、根据权利要求10所述的节点,其特征在于,所述阻塞端口禁止传播Leave All才艮文。
全文摘要
本发明提供一种通用属性注册方法,用于运用GARP协议和拓扑管理协议的网络,该方法包括通过阻塞端口传播属性声明。另外,本发明还提供了一种节点。利用本发明提供的技术方案,能够使得环上节点的两个端口都注册上动态属性;当网络拓扑发生变化时,避免执行属性重注册过程,减少业务流量恢复时间,提高网络性能。
文档编号H04L29/06GK101252539SQ20081010336
公开日2008年8月27日 申请日期2008年4月3日 优先权日2008年4月3日
发明者祁正林, 聪 薛, 赵里遥 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1