分层虚拟局域网注册协议的负载分担方法及其应用的节点的制作方法

文档序号:7964999阅读:183来源:国知局
专利名称:分层虚拟局域网注册协议的负载分担方法及其应用的节点的制作方法
技术领域
本发明涉及HVRP(Hierarchy Virtual Local Area Network RegisterProtocol,分层虚拟局域网注册协议)协议,尤其涉及HVRP协议的负载分担方法及应用该方法的HVRP节点。
背景技术
当前典型的城域网组网方案中,在汇聚层通常采用环状方式进行设备间连接,同时将BRAS(Broadband Remote Access Server,宽带远程接入服务器)旁挂在汇聚层出口设备侧,用于用户认证、地址分配、计费等运营管理。这种组网方式具有较强的带宽扩展能力,同时也节约了大量的光纤资源。图1所示为一种城域网组网的示例结构,汇聚层由4个网络节点互连形成环网,其中两个汇聚层节点通过BRAS接入到核心网。用户由汇聚层节点接入城域网。
汇聚层通常采用二层网络,二层转发主要依赖MAC地址学习,由于大量的接入用户使得二层网络的规模越来越大,二层网络中设备需要学习的MAC地址也随之增长。而设备学习这些MAC地址所需的存储空间会大大增加其制造成本,从而增加城域网的构建和维护成本。
本申请人在中国专利申请200510093448中公开了一种减少MAC地址学习数量的方法,在环网以及树状网络的网络设备中根据端口属性进行VLAN(Virtual Local Area Network,虚拟局域网)的注册和老化,当网络设备上一个VLAN内的端口数量不超过两个时,就不再需要学习MAC地址,直接通过广播在二层进行报文转发,从而极大地节省了MAC地址表空间,这种方法称为HVRP协议。
为了使HVRP协议能够独立于二层网络所采用的冗余保护协议,如STP(Spanning Tree Protocol,生成树协议)、RSTP(Rapid Spanning Tree Protocol快速生成树协议)、RRPP(Rapid Ring Protection Protocol,快速环网保护协议)等,可以按照HVRP控制报文在二层网络中的转发路径运行HVRP协议,即根据根桥向下游发送的Hello(握手)报文以及其他节点向上游发送的Register(注册)报文来确定节点的HVRP端口角色,按照HVRP端口角色运行HVRP协议,以减少二层网络节点需要学习的MAC地址数量。
现有的HVRP协议中,根桥(Root Bridge)作为二层网络与外部网络的连接点,对一个二层网络而言在同一时间只有一个根桥处于运行状态,并且只通过根桥上的一个上行端口进行用户数据报文的转发,换言之,二层网络与外部网络之间的流量只通过一条链路来转发;否则,同时转发数据报文流量的多条链路会造成相关节点在数据VLAN中的端口超过2个,降低HVRP协议所能实现的效果。而城域网中汇聚层环网通常采用多条上行链路由BRAS接入核心网,例如在图1所示的网络中,当汇聚层环网上运行HVRP协议时,只有一个BRAS工作于转发状态,这样不仅浪费了另一个BRAS的带宽,而且影响了汇聚层网络的性能。

发明内容
本发明要解决的是现有技术中HVRP协议中只有一个上行端口处于转发状态导致的网络性能问题。
本发明所述HVRP协议的负载分担方法,用于通过至少两个处于转发状态的上行端口连接外部网络的二层网络,包括以下步骤为二层网络中的数据VLAN指定其所属的HVRP实例;处于转发状态的上行端口对应于至少一个HVRP实例;以对应的上行端口所在节点为根桥,在各个实例内分别运行HVRP协议。
优选地,所述为数据VLAN指定其所属的HVRP实例具体为在二层网络中的HVRP节点上设置数据VLAN与其所属HVRP实例的映射关系;所述方法还包括当不同节点上同一HVRP实例中的数据VLAN不同时,暂停该实例的数据VLAN老化。
优选地,所述方法还包括在HVRP节点上根据数据VLAN与HVRP实例的映射关系生成每个HVRP实例的本地配置摘要;每个节点在其生成的HVRP协议控制报文中携带该控制报文所在HVRP实例的本地配置摘要;所述不同节点上同一HVRP实例中的数据VLAN不同具体为节点接收HVRP协议控制报文的配置摘要与该实例的本地配置摘要不同。
优选地,所述配置摘要根据数据VLAN及其所属HVRP实例的映射表采用加密算法生成。
优选地,所述在各个HVRP实例内分别运行HVRP协议包括为各个HVRP实例指定控制VLAN,该实例的HVRP协议控制报文在其控制VLAN内转发。
优选地,所述在各个HVRP实例内分别运行HVRP协议包括在HVRP实例上行端口上对非本实例的数据VLAN进行老化。
优选地,所述HVRP实例中的数据VLAN在二层网络中具有相同的阻塞点。
本发明还提供了一种HVRP节点,包括实例设置单元和HVRP协议单元,其中实例设置单元用来设置并保存数据VLAN及其所属HVRP实例的映射关系;HVRP协议单元用来在各个实例内分别运行HVRP协议。
优选地,所述HVRP节点还包括配置摘要生成单元,用来根据实例设置单元中数据VLAN及其所属HVRP实例的映射关系生成并保存各实例的本地配置摘要;所述HVRP协议单元运行HVRP协议包括生成并发送各实例的HVRP协议控制报文,其中包括该HVRP协议控制报文所属实例的本地配置摘要。
优选地,所述HVRP协议单元运行HVRP协议还包括接收各实例的HVRP协议控制报文;所述HVRP节点还包括配置摘要处理单元,用来在接收的HVRP协议控制报文中配置摘要与同一实例的本地配置摘要不同时,通知HVRP协议单元暂停该实例的数据VLAN老化。
优选地,所述发送各实例的HVRP协议控制报文具体为HVRP协议单元在各实例的控制VLAN内发送该实例的HVRP协议控制报文;所述接收各实例的HVRP协议控制报文具体为HVRP协议单元在各实例的控制VLAN内接收该实例的HVRP协议控制报文。
优选地,所述HVRP节点包括HVRP端口,用来作为HVRP实例处于转发状态的上行端口;所述HVRP协议单元运行HVRP协议包括在作为上行端口的HVRP端口上对其他HVRP实例的数据VLAN进行老化,所述其他HVRP实例为不以该HVRP端口作为处于转发状态的上行端口的实例。
本发明通过将二层网络中的数据VLAN划分至不同的HVRP实例中,以不同的上行端口连接外部网络,在各实例中分别运行HVRP协议,这样每个实例中的上行端口都可以用来转发数据报文,实现了负载分担,提高了上行链路的利用率,使网络性能得到提升。


图1为城域网的一种组网结构示例图;图2为本发明所述HVRP协议负载分担方法优选实施例的流程图;图3为应用本发明所述HVRP协议负载分担方法的HVRP节点的结构示意图;图4为本发明应用示例的网络结构图。
具体实施例方式
现有技术中,二层网络以一个整体运行HVRP协议。在运行HVRP协议的节点即HVRP节点上,按照二层网络中数据报文的转发路径来确定端口的角色,并基于端口角色对该HVRP节点上的数据VLAN进行老化。当某个数据VLAN在某个HVRP节点上的MAC地址表中只剩两个端口时,即可删除该数据VLAN的MAC表项。
端口的HVRP角色可以由用户静态配置;也可以将二层网络连通外部网络的节点作为根桥,将根桥发送的Hello报文沿二层网络转发,其他HVRP节点根据Hello报文的入端口来确定端口角色。不论采用哪种方式,二层网络与外部网络之间的转发路径都取决于负责转发数据报文的根桥在二层网络中的位置。
当一个二层网络中有两个或多个根桥同时进行数据报文转发时,由于每个根桥都可以用来确定其他HVRP节点的端口角色,本发明采用的解决办法是基于每个根桥独立运行HVRP协议,即在二层网络中运行两个或多个HVRP实例。由于同一个HVRP节点上端口可能在不同HVRP实例中具有不同的角色,而HVRP协议通过对端口上数据VLAN的老化来减少MAC表项,当一个数据VLAN属于两个或两个以上HVRP实例时,这两个实例的上行端口不同会造成该数据VLAN在一些节点的MAC表项中超过2个端口而不能被老化,当同一数据VLAN所属的多个HVRP实例阻塞点不同时,还会出现该数据VLAN在一个实例中能够被老化,而在另一个实例中不能被老化的情形。因而本发明中,每个数据VLAN属于一个HVRP实例。同时,二层网络的业务流量分布在各个数据VLAN中,这样各个HVRP实例通过各自根桥同时对该实例中数据VLAN中的流量进行转发,实现了多个二层网络与外部网络连接之间的负载分担。
另一种可能的情况是在一个节点上有超过1个端口连接外部网络。此时,可以将每个端口作为一个或者一个以上HVRP实例的上行端口,而将该节点作为多个HVRP实例的根桥。可见,HVRP实例对应于一个处于转发状态的上行端口,并且以该上行端口所在的节点为根桥。不难理解,多个HVRP实例可以对应于同一个上行端口。
本发明所述HVRP协议负载分担方法优选实施例的流程如图2所示。在步骤S210,按照二层网络与外部网络的连接端口确定HVRP实例。与外部网络的连接端口在HVRP实例中作为上行端口,其所在的节点为该HVRP实例的根桥。不同HVRP实例的上行端口可以相同。
在步骤S220,将二层网络中的数据VLAN划分在各个HVRP实例内,即指定各数据VLAN的所属HVRP实例。
本步骤可以通过在每个HVRP节点上设置可能通过该节点转发的数据VLAN与HVRP实例的映射关系来实现。在树状结构的二层网络中,可以在HVRP节点上设置本节点及其下游节点,即需要通过该HVRP节点才能连接到根桥的节点所连接的数据VLAN;在环状结构的二层网络中,还需要在该HVRP节点上设置当发生故障切换时其可能的下游节点所连接的数据VLAN。
需要说明的是,环状结构的二层网络会应用某种冗余保护协议,通过阻塞节点间的连接端口来避免二层的数据转发环路。当二层网络出现故障时,冗余保护协议能够减少阻塞端口的数量以维持节点间的连通。在发生故障切换或者故障恢复时,节点HVRP端口的角色应随转发路径的变化做出相应的更改。为了维持同一HVRP实例中端口角色的一致性,属于同一HVRP实例的数据VLAN应具有相同的阻塞点。
在步骤S230,在每个HVRP节点上根据所设置的数据VLAN与HVRP实例的映射关系生成各个HVRP实例的本地配置摘要。
在HVRP协议运行过程中可能需要对数据VLAN和HVRP实例的映射关系进行修改。由于修改涉及多个节点,很难保证多个节点上的修改同时完成。而不同节点上同一实例中的数据VLAN不同可能导致在转发中丢失数据报文。
为了避免出现这种情况,可以在节点间交互各自设置的数据VLAN与HVRP实例的映射关系,以便当其他节点可以得知某个节点上映射关系的变化。由于各HVRP实例分别运行HVRP协议,某个实例中数据VLAN的变化不影响其他实例的HVRP协议运行,因而节点可以将某个实例中的数据VLAN信息通过该实例的HVRP协议控制报文通知其它节点。
在二层网络用来作为汇聚层网络时,通常情况下通过HVRP节点接入的数据VLAN数量非常大,在报文中完整地封装每个实例中数据VLAN的信息可能造成报文过大,甚至超过以太网帧长的上限。数据VLAN与HVRP实例的映射关系通常以映射表项的形式保存,可以采用压缩算法对该映射表进行压缩生成配置摘要,该配置摘要能够反应映射表的变化,例如采用私有密钥对映射表进行加密运算得出配置摘要。
HVRP节点可以保存算得的各个实例的本地配置摘要,直到该实例中数据VLAN发生变化再重新计算该实例的本地配置摘要。
在步骤S240,为各HVRP实例指定控制VLAN,该控制VLAN用来转发该实例的HVRP协议控制报文。本步骤为可选步骤,可以方便节点识别各个实例的HVRP协议控制报文。
在步骤S250,在各个实例内分别运行HVRP协议,根据HVRP协议对该实例中的数据VLAN进行老化。
在HVRP协议中,二层网络中连接外部网络并且转发数据流量的节点为根桥,根桥上负责与外部网络转发数据报文的端口为上行端口;其他非根桥的HVRP节点为HVRP传输桥(Transmission Bridge)。根桥和传输桥上的端口使能HVRP协议后即成为HVRP端口,根桥上负责与外部网络转发数据报文的端口为上行端口。
根桥周期性地向下游发送Hello报文,各个传输桥收到Hello报文后,根据收到Hello报文的端口设置本传输桥上端口的HVRP角色,据以进行本传输桥上的数据VLAN老化,并将Hello报文继续向下游转发。传输桥上端口的HVRP角色还与其他传输桥向上游发送的Register报文相关。
对HVRP节点而言,在端口使能HVRP协议成为HVRP端口后,如果没有接收或转发Hello报文则该节点上所有HVRP端口为Free(自由)端口;Free端口上不进行数据VLAN的老化。HVRP节点接收到Hello报文后将接收Hello报文的端口角色置为根(Root)端口,同时遍历该节点上除根端口外的其他HVRP端口,将这些端口的角色置为指定(Desi)端口。除接收Hello报文外,根端口还负责向上游转发Register报文;在根端口上不进行数据VLAN的老化。指定端口负责转发根桥发出的Hello报文,并接收下游转发的Register报文;在指定端口上需要进行数据VLAN的老化。当指定端口超过预定时间没有接收到下游的Register报文时,HVRP节点将该端口的角色置为阻塞(Block)端口,不从阻塞端口转发Hello报文,并老化阻塞端口上的所有数据VLAN;如果阻塞端口接收到Hello报文HVRP节点将其转换为根端口,如果接收到Register报文HVRP节点则将其转换为指定端口。
在各个实例内分别运行HVRP协议时,各实例的根桥发送该实例的Hello报文,HVRP节点上HVRP端口在某个实例内的角色根据该实例的HVRP协议控制报文确定,并按照该实例的端口角色对该实例中的数据VLAN进行老化。
在步骤S260,在HVRP协议运行过程中,每个节点在其生成的HVRP协议控制报文中携带该控制报文所在HVRP实例的本地配置摘要。
本地配置摘要可以作为单独的HVRP协议控制报文由生成该配置摘要的节点定期发送给其他节点。本发明推荐在现有的HVRP协议控制报文中添加配置摘要字段,例如Hello报文和/或Register报文等。
在步骤S270,在HVRP协议运行过程中,HVRP节点收到某个实例的HVRP协议控制报文时,将该控制报文中携带的配置摘要与该实例的本地配置摘要相比较,如果二者不同,则不再进行该实例的数据VLAN老化;直到收到与该实例本地配置摘要相同的HVRP协议控制报文再开始老化数据VLAN,以保证在数据VLAN与HVRP实例的映射关系发生变化时,不会丢失数据流量。
步骤S230、S260和步骤S270为可选步骤,以提供对HVRP协议运行过程中更改数据VLAN与HVRP实例映射关系的支持。
在步骤S280,在HVRP实例的上行端口上对非本实例的数据VLAN进行老化。本步骤为可选步骤,当某个实例的上行端口允许二层网络中非本HVRP实例中的数据VLAN通过时,对非本实例的数据VLAN进行老化可以避免其他实例的广播流量通过该上行端口,并可以进一步减少根桥上的MAC表项。
需要说明的是,本发明中的一个端口可以是一个物理端口,也可以是作为一条逻辑链路的连接点的多个物理端口。
在应用本发明上述HVRP协议负载分担方法的二层网络中,一个HVRP节点可以具有图3所示的结构。HVRP协议单元330分别连接实例设置单元310、配置摘要生成单元320和配置摘要处理单元340,此外还连接至该节点上的HVRP端口,如图中所示的HVRP端口350和360;配置摘要生成单元320分别连接至实例设置单元310与配置摘要处理单元340。
实例设置单元310提供该HVRP节点上数据VLAN与HVRP实例的映射关系设置工具,并保存当前的映射关系。配置摘要生成单元320从实例设置单元310获得当前数据VLAN与HVRP实例的映射关系,根据该映射关系生成并保存各实例的本地配置摘要;当实例设置单元310中的映射关系发生变化时,通知配置摘要生成单元320更新其本地配置摘要。
HVRP协议单元330按照实例设置单元310中当前数据VLAN与HVRP实例的映射关系,在各个实例内分别运行HVRP协议,对该实例内的数据VLAN进行老化。
在HVRP协议运行过程中,HVRP协议单元330在该节点生成的HVRP协议控制报文中携带该控制报文所属实例的本地配置摘要。对HVRP协议单元330从其他节点接收的HVRP协议控制报文,配置摘要处理单元340从中解析出该控制报文中的配置摘要,与配置摘要生成单元320中保存的该控制报文所属实例的本地配置摘要进行比较,如果二者不同则通知HVRP协议单元330暂停该实例的数据VLAN老化;直至从接收到的HVRP协议控制报文中解析出的配置摘要与同实例的本地配置摘要相同,再通知HVRP协议单元330重新开始该实例的数据VLAN老化。配置摘要生成单元320和配置摘要处理单元340为可选单元。
当为该HVRP节点所在二层网络中的HVRP实例指定控制VLAN时,HVRP协议单元340在各实例的控制VLAN内发送该实例的HVRP协议控制报文,也在各实例的控制VLAN内接收该实例的HVRP协议控制报文。
在该HVRP节点作为某个或某些HVRP实例的根桥时,该节点的某个HVRP端口为该实例的上行端口。此时,还可以在处于转发状态的上行端口上对其他实例的数据VLAN进行老化。
以下以城域网的汇聚层网络为例说明本发明的具体应用。在图4所示的网络结构中,节点421、422、423、424、425和426沿逆时针方向依次连接为环网;数据VLAN 100至199通过节点421接入汇聚层网络,数据VLAN 200至299通过节点422接入汇聚层网络,数据VLAN 300至399通过节点423接入汇聚层网络,数据VLAN 400至499通过节点424接入汇聚层网络;节点426连接BRAS 411,节点425连接BRAS 412,BRAS 411和412接入核心网。
在图4中的汇聚层网络中应用本发明,对应于节点425连接BRAS 412的端口和节点426连接BRAS 411的端口,在汇聚层网络上设置两个HVRP实例,其中实例10以节点426为根桥,实例20以节点425为根桥。在汇聚层网络的各个节点上设置数据VLAN 100至299属于实例10,数据VLAN 300至499属于实例20。环网正常工作时阻塞点为节点423连接节点422的端口。
在实例10和实例20中分别运行HVRP协议。在节点422和421上,数据VLAN 200至299被老化至只留2个端口,其数据报文通过HVRP协议生成的管道直接广播至节点426。在节点426连接节点425的端口上,数据VLAN100至299被老化,实例10中的数据报文不会通过节点425与BRAS 412的连接链路转发。节点426连接BRAS 411的端口为实例10的上行端口,通过且只通过实例10中所有数据VLAN的流量,这样在节点426上也形成了数据VLAN 100至299的管道链路,可以将数据流量直接广播至BRAS 411。
在节点423和424上,数据VLAN 300至399被老化至只留2个端口,其数据报文通过HVRP协议生成的管道直接广播至节点425。在节点425连接节点426的端口上,数据VLAN 300至499被老化,实例20中的数据报文不会通过节点426与BRAS411的连接链路转发。节点425连接BRAS 412的端口为实例20的上行端口,通过且只通过实例20中所有数据VLAN的流量,这样在节点425上也形成了数据VLAN 300至499的管道链路,可以将数据流量直接广播至BRAS 412。
这样,实例10和实例20中的数据VLAN分别通过各自的上行端口转发,实现了汇聚层网络的负载分担。
本发明通过在二层网络中同时运行多个HVRP实例,在每个实例中分别对不同数据VLAN进行老化,并将该实例中的数据VLAN通过该实例的上行端口进行转发,实现了二层网络数据流量的负载分担,提高了网络性能。
以上所述的本发明实施方式,并不构成对本发明保护范围的限定。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明的权利要求保护范围之内。
权利要求
1.一种分层虚拟局域网注册协议HVRP的负载分担方法,用于通过至少两个处于转发状态的上行端口连接外部网络的二层网络,其特征在于,包括以下步骤为二层网络中的数据虚拟局域网VLAN指定其所属的HVRP实例;处于转发状态的上行端口对应于至少一个HVRP实例;以对应的上行端口所在节点为根桥,在各个实例内分别运行HVRP协议。
2.如权利要求1所述HVRP协议的负载分担方法,其特征在于,所述为数据VLAN指定其所属的HVRP实例具体为在二层网络中的HVRP节点上设置数据VLAN与其所属HVRP实例的映射关系;所述方法还包括当不同节点上同一HVRP实例中的数据VLAN不同时,暂停该实例的数据VLAN老化。
3.如权利要求2所述HVRP协议的负载分担方法,其特征在于,所述方法还包括在HVRP节点上根据数据VLAN与HVRP实例的映射关系生成每个HVRP实例的本地配置摘要;每个节点在其生成的HVRP协议控制报文中携带该控制报文所在HVRP实例的本地配置摘要;所述不同节点上同一HVRP实例中的数据VLAN不同具体为节点接收HVRP协议控制报文的配置摘要与该实例的本地配置摘要不同。
4.如权利要求3所述HVRP协议的负载分担方法,其特征在于所述配置摘要根据数据VLAN及其所属HVRP实例的映射表采用加密算法生成。
5.如权利要求1至4任意一项所述HVRP协议的负载分担方法,其特征在于,所述在各个HVRP实例内分别运行HVRP协议包括为各个HVRP实例指定控制VLAN,该实例的HVRP协议控制报文在其控制VLAN内转发。
6.如权利要求1至4任意一项所述HVRP协议的负载分担方法,其特征在于,所述在各个HVRP实例内分别运行HVRP协议包括在HVRP实例上行端口上对非本实例的数据VLAN进行老化。
7.如权利要求1至4任意一项所述HVRP协议的负载分担方法,其特征在于所述HVRP实例中的数据VLAN在二层网络中具有相同的阻塞点。
8.一种HVRP节点,其特征在于,包括实例设置单元和HVRP协议单元,其中实例设置单元用来设置并保存数据VLAN及其所属HVRP实例的映射关系;HVRP协议单元用来在各个实例内分别运行HVRP协议。
9.如权利要求8所述的HVRP节点,其特征在于,所述HVRP节点还包括配置摘要生成单元,用来根据实例设置单元中数据VLAN及其所属HVRP实例的映射关系生成并保存各实例的本地配置摘要;所述HVRP协议单元运行HVRP协议包括生成并发送各实例的HVRP协议控制报文,其中包括该HVRP协议控制报文所属实例的本地配置摘要。
10.如权利要求9所述的HVRP节点,其特征在于,所述HVRP协议单元运行HVRP协议还包括接收各实例的HVRP协议控制报文;所述HVRP节点还包括配置摘要处理单元,用来在接收的HVRP协议控制报文中配置摘要与同一实例的本地配置摘要不同时,通知HVRP协议单元暂停该实例的数据VLAN老化。
11.如权利要求10所述的HVRP节点,其特征在于,所述发送各实例的HVRP协议控制报文具体为HVRP协议单元在各实例的控制VLAN内发送该实例的HVRP协议控制报文;所述接收各实例的HVRP协议控制报文具体为HVRP协议单元在各实例的控制VLAN内接收该实例的HVRP协议控制报文。
12.如权利要求8至11任意一项所述的HVRP节点,其特征在于所述HVRP节点包括HVRP端口,用来作为HVRP实例处于转发状态的上行端口;所述HVRP协议单元运行HVRP协议包括在作为上行端口的HVRP端口上对其他HVRP实例的数据VLAN进行老化,所述其他HVRP实例为不以该HVRP端口作为处于转发状态的上行端口的实例。
全文摘要
本发明公开了一种HVRP协议的负载分担方法,用于通过至少两个处于转发状态的上行端口连接外部网络的二层网络,包括为二层网络中的数据VLAN指定其所属的HVRP实例;处于转发状态的上行端口对应于至少一个HVRP实例;以对应的上行端口所在节点为根桥,在各个实例内分别运行HVRP协议。本发明通过运行多个HVRP实例,用每个实例中的上行端口来转发数据报文,实现了负载分担,同时提高了上行链路的利用率和网络性能。
文档编号H04L29/06GK1889500SQ20061010327
公开日2007年1月3日 申请日期2006年7月24日 优先权日2006年7月24日
发明者徐鹏飞, 周万 申请人:杭州华为三康技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1