一种确定端口角色的方法

文档序号:7965989阅读:232来源:国知局
专利名称:一种确定端口角色的方法
技术领域
本发明涉及虚拟局域网技术,尤指一种确定端口角色的方法。
背景技术
在现有技术典型的城域组网方案中,汇聚层通常采用环形拓扑进行设备间的连接,汇聚环网上的汇聚层设备通过汇聚层出口设备访问核心网,具体结构如图1所示。如图1所示的环形拓扑,包括宽带远程接入服务器(BRAS)、汇聚交换机1、汇聚交换机2、汇聚交换机3、汇聚交换机4和汇聚交换机5。其中,汇聚层出口设备为汇聚交换机1,汇聚层交换机1通过BRAS连接核心网,汇聚交换机2、汇聚交换机3、汇聚交换机4和汇聚交换机5通过汇聚交换机1访问外部核心网。
为了在汇聚环网上避免产生广播风暴,通常会在汇聚层设备上启用生成树协议(STP,Spanning Tree Protocol)、快速生成树协议(RSTP,RapidSpanning Tree Protocol)、或快速环路保护协议(RRPP,Rapid Ring ProtectionProtocol)等链路层阻塞协议进行链路阻塞,使得阻塞后的网络拓扑结构为树形拓扑结构,从而避免在汇聚环网上产生广播风暴。
如图2所示的树形结构为图1环形拓扑在B点处阻塞后的拓扑示意图。图1中的汇聚交换机1对应图2中的节点1、汇聚交换机2对应节点2、汇聚交换机3对应节点3、汇聚交换机4对应节点4、汇聚交换机5对应节点5。当如图1所示的环拓扑结构阻塞成为如图2所示的树形拓扑结构时,汇聚交换机1可称为汇聚交换机2以及汇聚交换机5的上游设备;相应的,汇聚交换机2以及汇聚交换机3可称为汇聚交换机1的下游设备,以此类推其他的汇聚交换机。
在现有技术中,提出了一种分层虚拟局域网注册(HVRP)协议,在链路阻塞的汇聚环网上应用HVRP协议,能使汇聚交换机不用学习用户端口下挂的转发设备和相邻汇聚交换机的MAC地址,就能实现用户报文在正确的端口转发。在本文中,称运行HVRP协议的汇聚交换机为HVRP桥。HVRP协议的基本原理是首先设置HVRP桥的媒体接入控制协议(MAC)学习方式当一个(虚拟局域网)VLAN在HVRP桥上的端口数小于或等于两个端口时,设置该HVRP桥在当前VLAN内不进行MAC地址学习;当一个VLAN内的端口数多于两个端口时,设置为在当前VLAN内进行MAC地址学习。然后,设置HVRP桥周期性发送注册报文,用来向上游桥注册自身所允许通过的VLAN。上游桥在收到注册报文的端口对注册报文中指示的VLAN进行注册,并在端口上删除一定时间内没有被注册的VLAN,即VLAN的老化。在网络拓扑稳定后,通过上述注册、老化的方式就可以保证在一个HVRP桥上的一个VLAN内仅有两个端口。那么,当从核心网下发的某一用户报文需要通过HVRP桥转发,发送至对应的用户端口时,HVRP桥首先会根据用户报文的目的MAC查找MAC地址表,由于HVRP桥在一个VLAN内只有两个端口时不进行当前VLAN的MAC地址学习,因此MAC地址表中没有对应的MAC地址表项,HVRP桥无法找到对应的出端口。此时,HVRP桥则会在用户报文对应的VLAN内广播转发此报文,即凡是允许此VLAN通过的端口都会转发此报文。由于HVRP桥进行了端口VLAN的老化,使得每一个VLAN内都只有两个端口,即出端口是唯一的,因此用户报文必定从唯一正确的出端口发送出去。从而达到了无需学习,就能实现用户报文正确转发的目的。
由此可见在HVRP协议中,确定HVRP桥用于接收上游桥定时发送握手报文、以及向上游桥转发注册报文的端口,以及用于接收下游桥发送的注册报文并进行VLAN老化的端口,是实现HVRP协议的重要保障。只有准确无误的确定了汇聚交换机各端口的角色才能保证HVRP协议的正常运行。
现有的HVRP协议,通常使用多生成树协议(MSTP,Multiple SpanningTree Protocol)协议来协商确定汇聚交换机各端口的角色。但是,由于MSTP协议和HVRP协议具有很强的耦合性,导致HVRP协议无法与其他链路层阻塞协议混合组网,如RRPP,因此极大限制了HVRP协议的使用范围。

发明内容
有鉴于此,本发明的主要目的在于提供一种确定端口角色的方法,应用该方法能够使HVRP协议的使用范围不再受到MSTP协议使用范围的约束,使HVRP协议能够适用于任何网络环境。
为达到上述目的,本发明的技术方案是这样实现的一种确定端口角色的方法,该方法包括以下步骤确定端口收到报文后,确定端口角色。
其中,所述端口角色包括指定端口和根端口;所述确定端口收到报文为确定端口收到握手报文;确定端口的角色为确定收到握手报文的端口为根端口,未收到握手报文的端口为指定端口。
其中,所述端口为分层虚拟局域网注册协议HVRP端口。
另外,在确定端口收到报文后,确定端口的角色之前,该方法进一步包括判断收到握手报文的端口是否为根端口,当收到握手报文的端口不为根端口时,执行所述确定端口角色的步骤。
其中,由环网中的传输桥或备份根桥执行所述确定端口角色的步骤。
另外,该方法进一步包括配置环网中根桥的上行端口,确定根桥的HVRP端口为指定端口。
另外,所述端口角色还包括自由端口;该方法进一步包括设置握手报文超时时长,当根端口在握手报文超时时长内未收到握手报文时,确定根端口所在传输桥或备份根桥所有的HVRP端口为自由端口。
其中,所述端口角色还包括阻塞端口;该方法进一步包括确定阻塞端口收到注册报文后,确定收到注册报文的阻塞端口为指定端口。
另外,该方法进一步包括设置注册报文超时时长,当指定端口在注册报文超时时长内未收到注册报文时,确定所述指定端口为阻塞端口。
另外,一种确定端口角色的方法,端口角色包括根端口和指定端口;执行以下步骤判断端口是否收到根桥定时发出的报文,如果收到,则所述端口为根端口;否则,所述端口为指定端口。
其中,所述根桥定时发出的报文为hello报文,所述端口为分层虚拟局域网注册协议HVRP端口。
另外,在确定端口收到报文后,确定端口的角色之前,该方法进一步包括判断收到hello报文的端口是否为根端口,当收到hello报文的端口不为根端口时,执行所述确定端口角色的步骤。
其中,由环网中的传输桥或备份根桥执行所述确定端口角色的步骤。
另外,该方法进一步包括配置环网中根桥的上行端口,确定根桥的HVRP端口为指定端口。
另外,所述端口角色还包括自由端口;该方法进一步包括设置hello报文超时时长,当根端口在hello报文超时时长内未收到hello报文时,确定根端口所在传输桥或备份根桥所有的HVRP端口为自由端口。
另外,所述端口角色还包括阻塞端口;该方法进一步包括确定阻塞端口收到注册报文后,确定收到注册报文的阻塞端口为指定端口。
另外,该方法进一步包括设置注册报文超时时长,当指定端口在注册报文超时时长内未收到注册报文时,确定所述指定端口为阻塞端口。
本发明所提供的确定端口角色的方法,通过确定端口收到报文后,确定端口角色,即传输桥确定端口收到握手报文,并确定收到握手报文的HVRP端口为根端口,自身其他HVRP端口为指定端口。本发明所提供的方法通过利用HVRP协议自身的报文,确定收到握手报文的HVRP端口为根端口,自身其他HVRP端口为指定端口,因此使HVRP协议的使用范围不再受到MSTP协议等链路层阻塞协议使用范围的约束,使HVRP协议能够适用于任何的网络环境。同时,由于利用HVRP协议的握手报文确定端口的角色,又握手报文从根桥发出到最远端的HVRP桥只需经过非常短的时间,因此各个HVRP桥端口角色计算可以基本同步,更好的保证了HVRP协议的正常运行,提高了确定端口角色的速度。


图1为现有技术汇聚层环形拓扑图。
图2为现有技术汇聚层树形拓扑图。
图3为本发明一实施例方法流程图。
图4为本发明另一实施例方法流程图。
图5为存在备份根桥的汇聚环网结构示意图。
图6为本发明端口角色迁移过程示意图。
具体实施例方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明做进一步的详细说明。
为了保证HVRP协议的正常运行,首先必须确定HVRP桥使用的端口角色。在本实施例中,以握手报文为根桥定时发送的Hello报文为例进行描述。根据对HVRP协议的分析,HVRP协议中所使用的端口角色必须包括自由端口、根端口和指定端口。这三种端口角色的功能分别为自由端口,新使能HVRP协议的端口称为自由端口,自由端口不进行任何HVRP动作,如HVRP端口的VLAN注册、老化、恢复等操作。
根端口,在传输桥中负责接收上游桥转发的Hello报文,并向上游桥转发下游桥的VLAN注册报文,在根端口上不进行VLAN老化。
指定端口,负责转发根桥发出的Hello报文,并接收下游桥转发上来的VLAN注册报文,指定端口需要对下游未注册的VLAN进行动态删除。
另外,在本发明中,称使能HVRP协议的端口为HVRP端口,未使能HVRP协议的端口称为不激活端口。
在如图1所示的拓扑结构图中,称具有汇聚层出口功能的汇聚交换机1为根桥,汇聚交换机2至5为传输桥。其中,根桥负责与核心网进行通信的端口称为上行端口,上行端口在不使能HVRP协议的端口上配置产生。在根桥上不存在根端口。
各种端口角色的迁移过程为当HVRP桥的某一HVRP端口收到Hello报文时,则该收到Hello报文的端口迁移为根端口,同时遍历当前桥上的所有其他的HVRP端口,将这些HVRP端口迁移为指定端口。同时,为了保证所选出的根端口能够长期有效的正常工作,还可以当根端口在一定时间内没有收到Hello报文时,将根端口迁移为自由端口,同时遍历当前桥上的所有其他的HVRP端口,将这些HVRP端口迁移为自由端口。其中,汇聚环网中根桥端口的确定为当某汇聚交换设备设置为根桥时,配置一不激活端口为上行端口,然后遍历当前桥的所有使能HVRP的端口,并将这些HVRP端口设定为当前桥的指定端口。
传输桥确定自身端口角色的过程如图3所示,具体包括以下步骤步骤301传输桥收到上游桥发送的Hello报文。
这里,根据传输桥所处的拓扑位置,上游桥可能是传输桥,也可能是根桥。
步骤302传输桥判断自身收到Hello报文的端口是否为根端口,如果是,则执行步骤304;否则,执行步骤303。
步骤303传输桥将自身收到Hello报文的HVRP端口迁移为根端口,将自身其他HVRP端口迁移为指定端口。
步骤304则结束当前处理流程。
这里,收到Hello报文并且迁移为根端口的HVRP端口可能是自由端口、也有可能是指定端口。由于接收Hello报文是根端口的工作,因此当自由端口和指定端口接收到Hello后,则将自身迁移为根端口,并遍历当前桥的所有HVRP端口,将除新选出的根端口以外的所有HVRP端口设置为指定端口。
同时,为了保证所选择出的根端口长期有效的正常工作,还可以设置Hello报文超时时长,当传输桥将某一HVRP端口迁移为根端口后,针对该根端口设置并启动定时器,当定时器到达Hello报文超时时长时,如果该根端口没有收到Hello报文,则将该根端口迁移为自由端口,同时遍历当前桥上所有HVRP端口,将这些HVRP端口迁移为自由端口;在根端口在定时器到达Hello报文超时时长之前,就收到了Hello报文,定时器复位重新开始计时。其中,Hello报文超时时长可以设置为大于等于4倍的Hello报文发送周期。
由于在汇聚环网运行HVRP协议之前,汇聚环网已经运行了链路层阻塞协议,并且环上的拓扑结构为一树形结构。因此在汇聚环网的阻塞点上,例如图1所示的B点,虽然传输桥5会向自身的下游节点传输桥4转发自身接收到的Hello报文,但由于链路层阻塞协议的支持,如MSTP,从传输桥5转发出去的Hello报文会在阻塞点自动在物理层被丢弃。
进而,为了提高HVRP桥的转发效率,还可以增加设置另外一种端口角色阻塞端口。阻塞端口的功能为,丢弃需要自身转发的Hello报文,并老化所有VLAN。使用阻塞端口能够在阻塞点自动丢弃需要自身转发的用户报文,而不需要利用链路层阻塞协议来丢弃Hello报文,这样处理过程加快了HVRP桥处理报文的速度,节约了HVRP桥的系统资源。
阻塞端口的确定为当指定端口在一段时间没有收到来自下游桥的注册报文时,则该指定端口迁移为阻塞端口;并且,当阻塞端口收到来自下游桥的注册报文时,阻塞端口迁移为指定端口;当阻塞端口收到来自上游桥的Hello报文时,迁移为根端口,同时遍历当前桥上的所有其他的HVRP端口,将这些HVRP端口迁移为指定端口。
指定端口迁移为阻塞端口的具体执行过程为设置注册报文超时时长,当根据流程图3的方法确定某一个HVRP端口为指定端口时,则针对该指定端口设置并启动定时器,当定时器到达注册报文超时时长时,如果该指定端口没有收到注册报文,则将该指定端口迁移为阻塞端口;当指定端口在定时器到达注册报文超时时长之前,收到了注册报文,则定时器复位并重新开始计时。其中,注册报文超时时长可以设置为大于等于4倍的注册报文发送周期。
以上所述的指定端口和阻塞端口之间的转换过程同样适用于根桥中的指定端口。
在如图3所示的流程中,描述的是当非根端口的HVRP端口收到Hello报文时,将自身的端口角色迁移为根端口。在本发明中,还存在另外一个实施方式,即只要HVRP端口收到Hello报文,则将自身的端口角色迁移为根端口,而将同在一个桥上的其他HVRP端口,迁移为指定端口,无论自身当前的端口角色是根端口或是非根端口。如果采用这种实施方式的话,则不需要设置Hello报文超时时长,以及阻塞端口这种端口类型。
具体过程如图4所示步骤401传输桥收到上游桥发送的Hello报文。
步骤402确定收到Hello报文的HVRP端口为根端口,自身其他HVRP端口为指定端口。
另外,如图5所示,当汇聚环网上还存在一备份根桥时,该备份根桥端口角色的确定方法,与传输桥端口角色的确定方法基本一致。只是当一个备份根桥升级为主根桥时,会遍历自身所有HVRP端口,将这些HVRP端口设置为指定端口;而当主根桥降级为备份根桥时,会首先将自身所有的HVRP端口迁移到自由端口,然后根据收到的Hello报文确定自身各HVRP端口的角色,具体的方法与本发明所述的方法一样。
为了使各端口角色状态迁移的情况更加清楚明白,现将上行端口、不激活端口、自由端口、指定端口、根端口以及阻塞端口,在不同情况下的角色迁移过程进行了一个具体的描述,具体如图6所示。
在利用本发明所提供的方法之后,HVRP协议则能运用各种端口角色顺利实现HVRP协议的功能。
本发明确定端口角色的方法还可以应用到以太网动态协议端口角色计算确定的过程中。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
权利要求
1.一种确定端口角色的方法,其特征在于,该方法包括以下步骤确定端口收到报文后,确定端口角色。
2.根据权利要求1所述的方法,其特征在于,所述端口角色包括指定端口和根端口;所述确定端口收到报文为确定端口收到握手报文;确定端口的角色为确定收到握手报文的端口为根端口,未收到握手报文的端口为指定端口。
3.根据权利要求2所述的方法,其特征在于,所述端口为分层虚拟局域网注册协议HVRP端口。
4.根据权利要求3所述的方法,其特征在于,在确定端口收到报文后,确定端口的角色之前,该方法进一步包括判断收到握手报文的端口是否为根端口,当收到握手报文的端口不为根端口时,执行所述确定端口角色的步骤。
5.根据权利要求3所述的方法,其特征在于,由环网中的传输桥或备份根桥执行所述确定端口角色的步骤。
6.根据权利要求5所述的方法,其特征在于,该方法进一步包括配置环网中根桥的上行端口,确定根桥的HVRP端口为指定端口。
7.根据权利要求3所述的方法,其特征在于,所述端口角色还包括自由端口;该方法进一步包括设置握手报文超时时长,当根端口在握手报文超时时长内未收到握手报文时,确定根端口所在传输桥或备份根桥所有的HVRP端口为自由端口。
8.根据权利要求2至7中任一权利要求所述的方法,其特征在于,所述端口角色还包括阻塞端口;该方法进一步包括确定阻塞端口收到注册报文后,确定收到注册报文的阻塞端口为指定端口。
9.根据权利要求8所述的方法,其特征在于,该方法进一步包括设置注册报文超时时长,当指定端口在注册报文超时时长内未收到注册报文时,确定所述指定端口为阻塞端口。
10.一种确定端口角色的方法,其特征在于,端口角色包括根端口和指定端口;执行以下步骤判断端口是否收到根桥定时发出的报文,如果收到,则所述端口为根端口;否则,所述端口为指定端口。
11.根据权利要求10所述的方法,其特征在于,所述根桥定时发出的报文为hello报文,所述端口为分层虚拟局域网注册协议HVRP端口。
12.根据权利要求11所述的方法,其特征在于,在确定端口收到报文后,确定端口的角色之前,该方法进一步包括判断收到hello报文的端口是否为根端口,当收到hello报文的端口不为根端口时,执行所述确定端口角色的步骤。
13.根据权利要求11所述的方法,其特征在于,由环网中的传输桥或备份根桥执行所述确定端口角色的步骤。
14.根据权利要求13所述的方法,其特征在于,该方法进一步包括配置环网中根桥的上行端口,确定根桥的HVRP端口为指定端口。
15.根据权利要求11所述的方法,其特征在于,所述端口角色还包括自由端口;该方法进一步包括设置hello报文超时时长,当根端口在hello报文超时时长内未收到hello报文时,确定根端口所在传输桥或备份根桥所有的HVRP端口为自由端口。
16.根据权利要求10至15中任一权利要求所述的方法,其特征在于,所述端口角色还包括阻塞端口;该方法进一步包括确定阻塞端口收到注册报文后,确定收到注册报文的阻塞端口为指定端口。
17.根据权利要求16所述的方法,其特征在于,该方法进一步包括设置注册报文超时时长,当指定端口在注册报文超时时长内未收到注册报文时,确定所述指定端口为阻塞端口。
全文摘要
本发明公开了一种确定端口角色的方法,该方法包括以下步骤确定端口收到报文后,确定端口的角色。应用本发明所提供的方法,能够使分层虚拟局域网注册协议(HVRP)协议的使用范围不再受到多生成树协议(MSTP)使用范围的约束,使HVRP协议能够适用于任何的网络环境。同时,本发明又公开了一种确定端口角色的方法。在本发明中所提供的方法中,由于利用了HVRP协议的握手报文确定端口的角色,又握手报文从根桥发出到最远端的HVRP桥只需经过非常短的时间,因此各个HVRP桥端口角色计算可以基本同步,更好的保证了HVRP协议的正常运行,提高了确定端口角色的速度。
文档编号H04L12/42GK1937567SQ200610109350
公开日2007年3月28日 申请日期2006年8月10日 优先权日2006年8月10日
发明者翟宵翔, 杨金勇 申请人:杭州华为三康技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1