一种私网vlan信息管理方法和设备的制作方法

文档序号:7554153阅读:253来源:国知局
专利名称:一种私网vlan信息管理方法和设备的制作方法
技术领域
本发明涉及通信领域,尤其涉及一种应用于QinQ组网的私网VLAN信息管理方法和设备。
背景技术
在大型网络中需要有大量的VLAN (Virtual Local Area Network,虚拟局域网),由于VLAN的数量有限,只支持4K的VLAN数量,因此需要通过采用双层VLAN Tag (VLAN标签)的QinQ技术使VLAN得到扩展,实现4KX4K个用户的区分。QinQ是802.1Q in 802.1Q的简称,也称VLAN 二次封装,用来实现将用户私网VLAN Tag封装在公网VLAN Tag中,使报文带着两层VLAN Tag穿越运营商的骨干网络(公网)。图1为QinQ的一种组网方式,每个用户设备属于一个私网VLAN,用户流量通过接入层交换机连接到汇聚层交换机,汇聚层交换机上启用QinQ,为客户端流量打上外层VLANTag,发送到核心交换机。核心交换机启用VLAN终结(Routing QinQ),剥除内外两层VLANTag,然后进行三层转发到Internet (互联网)。Internet发送给用户的流量也通过核心交换机封装两层VLAN Tag发送到相应的用户设备。MVRP (Multiple VLAN Registration Protocol,多 VLAN 注册协议)是根据 MSTP(Multiple Spanning Tree Protocol,多生成树协议)中各 MSTI(Multiple Spanning TreeInstance,多生成树实例)进行动态VLAN的注册。通过MVRP的MRP (Multiple RegisterProtocol,多属性注册协议)报文发布并且学习VLAN配置信息。当设备启动了 MVRP之后,设备将本地的VLAN配置信息向其它设备传播,同时还能够接受来自其它设备的VLAN配置信息,动态的更新本地的VLAN配置信息,使所有设备的VLAN配置信息达成一致。VLAN有6种属性状态,对应的数值分别是0_5,如下面所示:O:属性状态为New,表不:刚声明,可能还没有注册;1:属性状态为JoinIn,表不:声明,并且已经注册;2:属性状态为In,表不:未声明,但已经注册;3:属性状态为JoinMT,表不:声明,但未注册;4:属性状态为MT,表不未声明,也未注册;5:属性状态为LV,表示正在注销。目前Routing QinQ的实现为通过在核心交换机的VLAN虚接口上配置指定私网VLAN (second-dotlq VLANid),用于进行内层VLAN Tag匹配。由于多个用户设备的内层VLAN Tag对应一个QinQ外层VLAN Tag,因此核心交换机的VLAN虚接口上要配置多个second-dotlq VLANid,与用户的私网VLAN相对应。在有很多私网VLAN时,核心交换机上的配置操作会变得非常繁琐,且容易出错。为了减少核心交换机的second-dotlq VLANid配置,可以通过设置second-dotlqany,匹配私网VLAN I到VLAN 4094所有的私网VLAN。但这样又会带来如下问题:当Internet外部流量通过核心交换机向用户设备发送,但是在核心交换机上不存在该流量报文的目的IP地址对应的ARP (Address Resolution Protocol,地址解析协议)表项时,核心交换机需要通过向用户设备发送ARP请求报文,查找该目的IP地址对应的用户设备。但由于核心交换机不知道该用户设备属于哪一个私网VLAN,因此它需要向所有的私网VLAN都发送ARP请求。交换机的CPU每秒发送ARP报文的数量是有限的,以ARP报文发送速率为每5秒发送100个为例,发送4094个ARP报文需要长达3分多钟的时间。若所请求查询的ARP表项所对应的VLAN ID恰好是VLAN 4094,则核心交换机学到这个ARP表项的时间就需要在3分多钟,ARP表项学习效率低,进而影响业务使用性能。发明内容
本发明实施例提供了一种私网VLAN信息管理方法和设备,应用于QinQ网络,用以简化私网VLAN信息管理操作,所述方法包括:
核心交换设备根据本设备维护的私网VLAN表项,按照设定周期向接入交换设备发送私网VLAN查询报文,所述私网VLAN查询报文中携带所请求查询的私网VLAN信息;其中,私网VLAN表项中包括私网VLAN的标识、公网VLAN的标识;
所述核心交换设备接收接入交换设备发送的私网VLAN报告报文,根据接收到的私网VLAN报告报文中携带的私网VLAN信息,维护相应私网VLAN表项。
本发明实施例提供的一种私网VLAN信息管理方法,应用于QinQ网络,所述方法包括:
接入交换设备在接收到核心交换设备发送的私网VLAN查询报文后,根据所述私网VLAN查询报文向核心交换设备发送私网VLAN报告报文,所述私网VLAN报告报文中携带私网VLAN信息,用于触发所述核心交换设备维护相应私网VLAN表项;
所述接入交换设备的端口进行多私网VLAN注册协议功能配置后或所述接入交换设备的端口上的私网VLAN配置变化后,所述接入交换设备向核心交换设备发送私网VLAN报告报文,所述私网VLAN报告报文中携带私网VLAN信息,用于触发所述核心交换设备维护相应私网VLAN表项。
本发明实施例提供的一种交换设备,应用于QinQ网络的核心层,包括:
私网虚拟局域网VLAN查询模块,用于根据本设备维护的私网VLAN表项,按照设定周期向接入交换设备发送私网VLAN查询报文,所述私网VLAN查询报文中携带所请求查询的私网VLAN信息;其中,私网VLAN表项中包括私网VLAN的标识、公网VLAN的标识;
私网VLAN表项维护模块,用于在本设备接收到接入交换设备发送的私网VLAN报告报文后,根据接收到的私网VLAN报告报文中携带的私网VLAN信息,维护相应私网VLAN表项。
本发明实施例提供的一种交换设备,应用于QinQ网络的接入层,包括:
查询响应模块,用于在本设备接收到核心交换设备发送的私网VLAN查询报文后,根据所述私网VLAN查询报文向核心交换设备发送私网VLAN报告报文,所述私网VLAN报告报文中携带私网VLAN信息,用于触发所述核心交换设备维护相应私网VLAN表项;
报告发起模块,用于在本设备的端口进行多私网VLAN注册协议功能配置后或所述接入交换设备的端口上的私网VLAN配置变化后,向核心交换设备发送私网VLAN报告报文,所述私网VLAN报告报文中携带私网VLAN信息,用于触发所述核心交换设备维护相应私网VLAN表项。本发明的上述实施例中,通过接入交换设备和核心交换设备之间交互关于私网VLAN信息的查询报文和报告报文,使核心交换设备根据交互的报文中携带的私网VLAN信息维护私网VLAN表项,与现有技术相比,减少了核心交换设备上的Routing QinQ的VLAN配置操作。


图1为现有技术中的Routing QinQ组网示意图;图2为本发明实施例中的MSVRP report报文格式示意图;图3为本发明实施例中的MSVRP request报文格式示意图;图4为本发明实施例中的QinQ组网示意图;图5为本发明实施例中的MSVRP报文交互流程示意图;图6为本发明实施例提供的QinQ组网中接入层交换设备的结构示意图;图7为本发明实施例提供的QinQ组网中核心层交换设备的结构示意图。
具体实施例方式本发明实施例可应用于Routing QinQ组网,用于Routing QinQ的内层VLAN Tag的动态发现和更新。本发明实施例通过在接入交换机和核心交换机之间引入用于查询和报告私网VLAN信息的交互过程,使得核心交换机能够检测用户设备的私网VLAN,并动态维护私网VLAN表项,从而简化了核心交换机上指定私网VLAN的配置操作,即使用户设备上有端口的VLAN发生更改或者VLAN删除,都能够动态的在核心交换机上自动更新私网VLAN表项。另一方面,当有外部流量向用户设备发送,但是其目的IP地址在核心交换机上没有对应的ARP表项的情况下,核心交换机根据通过上述方式维护的私网VLAN表项,发送内层VLAN Tag为这些私网VLAN的ARP请求,从而在这些私网VLAN范围内查询相应用户设备,与根据手动方式配置指定私网VLAN,在所有私网VLAN范围内查找相应用户设备相比,减少了 ARP请求报文的数量,加快了 ARP表项学习速度。本发明实施例可基于客户端/服务器架构实现,即,接入交换机作为客户端,核心交换机作为服务器端,客户端向服务器端通告私网VLAN信息,服务器端维护私网VLAN表项,并且定期发送查询请求,以请求查询私网VLAN信息。当然,也可以基于其它架构形式实现,其实现原理与基于客户端/服务器架构的实现原理类似。为了实现在接入交换机和核心交换机之间交互私网VLAN信息,用以维护私网VLAN表项,本发明实施例定义了两种报文:私网VLAN查询报文和私网VLAN报告报文,并规定了两种报文的交互规则以及处理流程。为描述方便起见,本发明实施例将该两种报文的交互规则以及处理流程定义为MSVRP (Multiple Sub-VLAN Registration Protocol,多私网VLAN注册协议,或称多内层VLAN注册协议),即,接入交换机和核心交换机之间交互的用于私网VLAN信息查询和报告的报文,以及相关的处理流程,均遵循该协议的规定。相应的,本发明实施例中,将私网VLAN查询报文称为MSVRP请求(MSVRP request)报文,用于核心交换机发送sub-VLAN (即私网VLAN)查询,将私网VLAN报告报文称为MSVRP报告(MSVRPreport)报文,用于接入交换机发送sub-VLAN (即私网VLAN)信息。
下面首先介绍本发明实施例中的MSVRP协议报文的格式。以下描述的MSVRP协议报文的格式仅为举例,并不构成对本发明范围的限制。
(I) MSVRP report 报文
MSVRP report报文的目的MAC地址使用特定的组播MAC地址,如01-80-C2-00-00-100。报文中包含一个 Message (信息)单兀,Attribute Type (属性类型)值为0x03,私网VLAN信息封装在Attribute List (属性列表)字段中。
如图2 所不,Attribute List 中包含 Vector Attribute (矢量属性)和 End Mark(结束标志),其中Vector Attribute可以有I个或者多个,用于承载VLAN信息;End Mark为 0x0000。Vector Attribute 字段包含 2 字节的 Vector Header(矢量头),2 字节的 FirstVLAN(起始VLAN),以及171字节的Vector。其中的Vector Header字段包括3bit的LeaveAll Event (使用000表不),和13bit的Number Of Values (值的数量),用于说明VectorAttribute所带的VLAN个数。Vector字段中VLAN的属性状态以及计算方法,借用现有MVRP协议的属性值和计算方法,即,通过First VLAN指示出从哪个VLAN开始,Vector字段的每个字节代表3个VLAN的属性状态。如,需要指示出VLAN 2的属性状态为New,则:FirstVLAN字段的值为2,表示从VLAN 2开始,Vector字段为I字节长度,其中的3个属性值依次为New、MT、MT,表示VLAN 2的属性为New、VLAN 3和VLAN 4未声明。
MSVRP report报文中,VLAN属性状态4种,这4种属性值分别为:
O:即New,表示相应VLAN为新声明的VLAN。该属性用于配置MSVRP客户端功能,或者在端口进行VLAN切换时,主动发起的MSVRP report报文中。
1:即Joinln,表示相应VLAN已经声明过。用于回应MSVRP request报文的MSVRPreport报文中。
4:即MT,表示相应VLAN不存在,未声明。应用于主动发起或者回应MSVRP request时的MSVRP report报文中。
5:即LV,表示注销相应VLAN。用于在删除MSVRP客户端功能,或者端口进行VLAN切换时,主动发起VLAN信息的通告。
(2) MSVRP request 报文
MSVRP request报文的格式如图3所示。MSVRP request报文的目的MAC使用特定的组播 MAC 地址,如 01-80-C2-00-00-100,报文中包含一个 Message,Attribute Type 值为 0x02, Attribute List 值为全 O。
可选的,MSVRP request报文也可以是单播报文,S卩,MSVRP request报文的目的MAC地址,可以使用单播MAC地址进行发送。
下面以采用客户端/服务器方式为例,对本发明实施例进行详细描述。
下面首先说明为实现本发明实施例,需要在接入交换机和核心交换机上所进行的配置操作,以及MSVRP协议的相关规定。
(I)接入交换机上的配置操作,以及MSVRP客户端行为的规定
在接入交换机上接入用户设备的端口上配置MSVRP客户端功能。有两种配置方式:
配置方式一:在接入交换机与用户设备相连的端口上配置MSVRP客户端功能。优选的,可默认在接入交换机与用户设备相连的所有端口上配置该功能。取消MSVRP客户端功能时,只要在相应端口上取消MSVRP客户端功能即可。配置方式二:在私网VLAN上配置MSVRP客户端功能,这样,接入交换机上属于该VLAN的端口(即用户设备所接入的端口)上也就配置了 MSVRP客户端功能。优选的,可默认在所有私网VLAN上配置该功能。当对于已配置了 MSVRP客户端功能的VLAN取消其MSVRP客户端功能时,接入交换机上属于该VLAN的端口上也就取消了 MSVRP客户端功能。MSVRP客户端功能主要用于实现发送MSVRP r印ort报文以及接收MSVRP request报文。如前所述,MSVRP客户端发送的MSVRP r印ort报文中携带的VLAN属性有4种:New(表明对应VLAN为新声明的VLAN,该属性值为O)、JoinIn(表明对应VLAN为已声明的VLAN,该属性值为I)、MT (表明对应VLAN不存在,未声明,该属性值为4)、LV (表明对应VLAN注销,该属性值为5)。接入交换机发送MSVRP report报文以及报文中携带的VLAN属性,可有以下A、B、C、D几种情况:A:当在端口上配置MSVRP客户端功能后,该端口主动发送MSVRP r印ort报文,用以向核心交换机通告私网VLAN信息,该报文中,对于该端口已加入的VLAN,其属性值为New,以声明相应VLAN的存在。比如,在采用上述配置方式一在端口上配置MSVRP客户端功能后,若该端口当前已加入了 VLAN 2,则该端口发送的MSVRP report报文中,VectorAttribute字段中的First VLAN字段的值为2,Vector字段为I字节长度,其中的3个属性值依次为New、MT、MT,表示VLAN 2的属性为New、VLAN 3和VLAN 4未声明。当然,如果采用上述配置方式一在某端口上配置了 MSVRP客户端功能,但该端口目前还未加入任何VLAN,则该端口也可以不发送MSVRP r印ort报文。同理,采用上述配置方式二在端口上配置MSVRP客户端功能后,也按照上述方式发送MSVRP report报文。B:当在配置MSVRP客户端功能的端口进行VLAN切换时,该端口主动发送MSVRPreport报文,用以向核心交换机通告私网VLAN信息,该报文中,对于切换后该端口所属的VLAN,其属性值为New,用以声明该VLAN的存在,对于切换前该端口所属的VLAN,其属性值为LV,用以注销该VLAN。比如,某端口配置了 MSVRP客户端功能,该端口当前属于VLAN 2,当将该端口从VLAN 2切换到VLAN 3后,该端口发送MSVRP r印ort报文,该报文中VectorAttribute字段中的First VLAN字段的值为2,Vector字段为I字节长度,其中的3个属性值依次为LV、New、MT,表示VLAN 2的属性为LV、VLAN 3的属性为New,VLAN 4未声明。C:当在已配置MSVRP客户端功能的端口上取消该功能时,该端口主动发送MSVRPreport报文,用以向核心交换机通告私网VLAN信息,该报文中,对于该端口已加入的VLAN,其属性值为LV,以声明注销相应VLAN。比如,在采用上述配置方式一在端口上配置MSVRP客户端功能后,若取消该端口上的MSVRP功能,由于该端口已加入了 VLAN 2,则该端口发送MSVRP report 报文中,Vector Attribute 字段中的 First VLAN 字段的值为 2, Vector 字段为I字节长度,其中的3个属性值依次为LV、MT、MT,表示VLAN 2的属性为LV、VLAN 3和VLAN 4未声明。当然,取消某端口上配置的MSVRP客户端功能时,若该端口目前还未加入任何VLAN,则该端口也可以不发送MSVRP r印ort报文。同理,采用上述配置方式二在端口上取消MSVRP客户端功能后,也按照上述方式发送MSVRP report报文。
D、接入交换机接收到核心交换机发送的MSVRP request报文后,将该报文在该报文所请求查询的私网VLAN内传播,其中,所请求查询的私网VLAN根据该报文中携带的VLANTag确定。接入交换机上已配置MSVRP客户端功能的端口收到核心交换机发送的MSVRPrequest报文后,返回MSVRP report报文,用以向核心交换机通告私网VLAN信息,该报文中,对于该端口已加入的VLAN,其属性值为Joinln。比如,已配置MSVRP客户端功能且属于VLAN 2的端口收到MSVRP request报文后,返回MSVRP r印ort报文,该报文中VectorAttribute字段中的First VLAN字段的值为2,Vector字段为I字节长度,其中的3个属性值依次为Joinln、MT、MT,表示VLAN 2的属性为Joinln、VLAN 3和VLAN 4未声明。
此外,当采用上述配置方式一在某端口上配置MSVRP客户端功能后,若该端口目前尚未加入任何VLAN,则将该端口加入VLAN时,该端口主动发送MSVRP report报文,该报文中,对于该端口所加入的VLAN,其属性值为New。此后,若将该端口离开该VLAN,则该端口主动发送MSVRP report报文,该报文中,对于该端口所离开的VLAN,其属性值为LV。
为了提高可靠性和减少报文的发送,端口主动发送MSVRP report报文后,启动该端口对应的定时器,该定时器的时长为不小于核心交换机发送MSVRP request报文的周期长度,优选的,可以设置为几倍于发送MSVRP request报文的周期长度。为描述方便,本实施例中将该定时器命名为listentimer。接入交换机接收到核心交换机发送的MSVRPrequest报文后,根据该MSVRP request报文回复MSVRP report报文,并重置该端口对应的listentimer定时器。若listentimer定时器超时,则说明在listentimer定时器计时时间内,该端口未接收到请求查询相应私网VLAN的MSVRP request报文,则MSVRP客户端认为核心交换机没有收到本客户端主动发送的相应MSVRP report报文,该MSVRP客户端再次发送MSVRP report报文,并删除该listentimer定时器。再次发送的MSVRP report报文中,对于该端口所属的VLAN,其属性值为New。
可选的,还可以在接入交换机上实现VLAN流量监控和相应处理的功能。
有些私网VLAN下没有挂载PC或者挂载的PC没有上电,为了减少针对这些私网VLAN的报文交互和处理,节约资源,可以在接入交换机上增加VLAN流量监控功能。在一段时间长度内,某私网VLAN没有流量(即该私网VLAN处于非工作状态)时,接入交换机不向核心交换机报告该私网VLAN的信息,以达到节省资源的目的。
具体的,当接入交换机的端口需要通过MSVRP r印ort报文报告私网VLAN信息时(比如需要主动发送MSVRP report报文,或需要根据接收到的MSVRP request报文返回MSVRP report报文时),在进行私网VLAN信息报告之前,判断所要报告的VLAN是否处于工作状态,若处于工作状态,则通过MSVRP report报文通告该VLAN的信息,否则,不通告该VLAN的信息。具体的,如果该端口包含有多个VLAN,其中有的VLAN处于工作状态,有的VLAN处于非工作状态,则该端口发送的MSVRP report报文中,对于处于非工作状态的VLAN,则不携带其VLAN信息;如果该端口上只包含一个VLAN且该VLAN处于非工作状态,或者配置了多个VLAN但都处于非工作状态,则不发送MSVRP r印ort报文,以减少MSVRP报文的交互,节省资源。
VLAN流量监控方式(即判断VLAN是否处于工作状态的方式)有两种:
监控方式一:通过查看接入交换机上的MAC地址表,针对启用MSVRP客户端功能的端口上的VLAN,查看MAC地址表中是否有该VLAN的MAC地址表项,若没有,则认为该VLAN处于非工作状态,否则认为该VLAN处于工作状态;监控方式二:每个启用MSVRP客户端功能的端口开启定时器,若在定时器计时时间内该端口上没有流量,则认为该端口上的VLAN处于非工作状态,否则认为该端口上的VLAN处于工作状态。具体的,每个启用MSVRP客户端功能的端口可周期统计该端口上各VLAN的流量,并记录每个周期内的流量,在需要判断VLAN是否处于工作状态时,可根据当前最近一个VLAN流量统计周期的统计值来判断。考虑到接入交换机上可能有多个端口都配置了相同VLAN,并且都启用的MSVRP客户端功能。若这些端口中,有一个端口发送了一个MSVRP r印ort报文,由于MSVRP report报文为组播报文,因此配置了相同VLAN的其它端口也会收到该MSVRP report报文,因此,MSVRP协议规定:配置了 MSVRP客户端功能的端口,对于接收到的MSVRP report报文不做处理,可直接丢弃。(2)核心交换机上的配置操作,以及MSVRP服务器端行为的规定在核心交换机上启用Routing QinQ功能的VLAN虚接口上配置MSVRP服务器功能,主要用于定期发送MSVRP request报文,用于查询客户端的私网VLAN信息,以及维护私网VLAN表项(以下称sub-VLAN表项)。sub-VLAN表项中主用包括以下内容:私网VLAN的ID,对应的公网VLAN的ID,还可以进一步包括接入交换机的MAC地址信息。配置MSVRP服务器功能的端口可以接收MSVRP r印ort报文,解析报文中的私网VLAN信息,并维护sub-VLAN表项;可以根据维护的sub-VLAN表项定期发送MSVRP request报文。Sub-VLAN表项所维护的每个私网VLAN表项均启动有对应的定时器,该定时器的计时时长为不小于MSVRP request报文的发送周期时长,优选的,可以设置为发送MSVRPrequest报文的周期长度的多倍。为方便描述,本实施例中将该定时器命名为holdtimer。核心交换机每次收到属性为New或JoinIn的私网VLAN信息后,匹配到对应的私网VLAN表项并重置对应的holdtimer定时器。若holdtimer定时器超时,则说明在该定时器的计时时间内没有收到对应私网VLAN的MSVRP report报文,则核心交换机删除sub-VLAN表中该私网VLAN对应的记录。优选的,配置MSVRP服务器功能的端口还可启动定时器,该定时器的定时时长小于MSVRP request报文的发送周期长度,优选的,可以设置为MSVRPrequest报文的发送周期长度的十分之一到五分之一。为方便描述,该定时器命名为looktimer。启动10ktimer定时器的主要目的是为了防止接收到大量相同VLAN的MSVRP report报文时,引起MSVRP服务器不停的修改sub-VLAN表项。若配置MSVRP服务器功能的端口在looktimer定时器计时时间内收到相同VLAN信息的MSVRP report报文,则不刷新sub-VLAN表中对应表项的holdtimer 定时器。具体的,一种优选实现方式是:配置MSVRP服务器功能的端口为sub-vlan中的每个私网VLAN配置looktimer定时器;配置MSVRP服务器功能的端口收到MSVRP report报文后,解析出所通告的私网VLAN信息,根据该VLAN信息查看对应的looktimer定时器,若该looktimer定时器在计时过程中(即未超时),则丢弃接收到的该MSVRP report报文,若该looktimer定时器已超时,重置该looktimer定时器,并根据接收到的MSVRP report报文维护相应sub-vlan表项,包括重置相应sub-vlan表项的holdtimer定时器。配置MSVRP服务器功能的端口收到MSVRP report报文后,根据其中携带的VLAN属性的不同,在处理操作上也有所区别,具体可包括以下情况:A:若解析出MSVRP report报文中的VLAN属性为New或Joinln,则查询sub-VLAN表中是否已经存在该属性为New或JoinIn的VLAN所对应的表项,若已存在,则重置该表项的holdtimer定时器;若未存在,则在sub-VLAN表中添加该VLAN对应的表项,设置对应的holdtimer 定时器。B:若解析出MSVRP report报文中的VLAN属性为LV,则根据该属性为LV的VLAN查询对应的sub-VLAN表项,重置该表项的holdtimer定时器,并发送MSVRP request报文,用于查询该属性为LV的VLAN信息。此后的处理同前所述,包括:若在该holdtimer定时器计时时间内收到了用于通告该VLAN信息的MSVRP report报文,则重置该VLAN对应的holdtimer定时器;若该holdtimer定时器超时,贝U删除sub-VLAN中该私网VLAN对应的记录。
·
C:若解析出MSVRP report报文中的VLAN属性为MT,则核心交换机对该VLAN不进行处理。核心交换机发送MSVRP报文时,根据sub-VLAN表项,封装两层VLAN Tag,外层VLAN为启用MSVRP服务器功能的VLAN虚接口 VLAN,内层VLAN为sub-VLAN中记录的相应私网VLAN。携带两层VLAN Tag的MSVRP report报文经过配置MSVRP服务器功能的端口发送到汇聚交换机。考虑到当接入交换机上一个端口属于多个VLAN时,sub-VLAN表中该接入交换机的MAC ID会对应有多条表项,核心交换机发送MSVRP request报文时针对每个表项都发送对应的MSVRP request报文。为了减少报文的发送,当sub-VLAN表中,相同公网VLAN对应的表项中有多个表项的MAC地址相同时,针对这些表项只发送一个MSVRP request报文,该MSVRP request报文内层VLAN Tag为这些表项中的某一私网VLAN。例如,sub-VLAN表中,公网VLAN 100对应私网VLAN 2和私网VLAN3,私网VLAN 2和私网VLAN 3对应的接入交换机的MAC地址相同,则针对MAC地址相同且属于同一公网VLAN的表项,只需要发送的一个外层Tag为VLAN 100,内层Tag为VLAN 2的MSVRP request报文即可。(3)汇聚层交换机上的配置操作,以及汇聚层交换机的行为规定汇聚层交换机上的配置操作与现有技术相同。汇聚交换机接收到MSVRP request报文后,在外层VLAN Tag所在VLAN内进行透传。因为Routing QinQ组网要求汇聚层交换机上与接入交换机相连的端口启用QinQ功能,并且启用QinQ功能的端口的PVID (Port VLAN IDjj^DVLAN ID,即端口缺省VLAN)值与核心交换机上启用Routing QinQ的VLAN虚接口的VLAN值相同,因此MSVRP request报文通过汇聚交换机上启用QinQ的端口后,剥除外层VLAN Tag。MSVRP request报文只携带一层VLAN为私网VLAN的报文发送到接入交换机。因为核心交换机发送MSVRP request报文是根据sub-VLAN表项中记录的私网VLAN信息封装VLAN Tag的,因此,MSVRP request报文可以发到sub-VLAN表项中的所有VLAN,因此,接入交换机接收到MSVRP request报文时,也就可以认为核心交换机已经收到了它的 MSVRP report 报文了。当核心交换机接收到从Internet网络发来的报文后,根据该报文的目的IP地址查询对应的ARP表项;如果未匹配到对应的ARP表项,则查询本设备维护的sub-VLAN表项,根据查询到的所有私网VLAN,封装ARP请求报文并发送到相应VLAN。每个私网VLAN对应一个ARP请求报文,每个ARP请求报文包含两次VLAN封装,外层VLAN为相应表项中记录的公网VLAN,内层VLAN为对应的私网VLAN。当核心交换设备接收到ARP应答报文后,根据应答报文学习ARP表项,并根据学习到的ARP表项对从Internet网络发来的报文进行封装并发向目标用户设备。
为了更清楚的说明本发明实施例,下面以图4所示的组网为例,详细描述本发明实施例的具体实现过程。
如图4所示,设备I和设备2为接入交换机,主要用于与用户设备连接。设备3为汇聚交换机,其sw3_pl和sw3_p2端口启用QinQ功能,用于将设备I和设备2发来的报文打上外层VLAN tag (即VLAN 100或VLAN 200的Tag),然后将报文发送到核心交换机。设备4为核心交换机,其sw4_pl端口为Trunk 口,在图4中对应VLAN 100和VLAN 200的VLAN虚接口,启用 Routing QinQ 功能,在 VLAN 100 和 VLAN 200 虚接口 上配置 second-dotlqVLANid,主要用于对用户报文进行剥除两层VLAN Tag,然后进行三层转发;对于外部网络发来的报文,在进入sw4_pl端口时对报文打上对应的两层VLAN Tag,发送到相应的用户设备。在设备4上启用Routing QinQ功能的VLAN虚接口上配置MSVRP服务器功能。
当在设备I的swl_pl端口上启用MSVRP客户端功能后,swl_pl端口发送MSVRPreport报文(该报文为组播报文,目的MAC地址为特定组播MAC地址),该报文中VectorAttribute字段中的First VLAN字段的值为2,Vector字段为I字节长度,其中的3个属性值依次为New、MT、MT。swl_pl端口上启用MSVRP客户端功能后,该端口还启动对应的listentimer定时器,该定时器的时长为5s。
该MSVRP report报文到达设备3的sw3_pl端口后,由于该端口为QinQ端口、pvid为VLAN 100,因此对进入的MSVRP r印ort报文打上VLAN 100的外层VLAN Tag,并转发到设备4。
设备4接收到该MSVRP r印ort报文后,解析出该MSVRP report报文中携带的VLAN2的属性值为New,表明为新声明的VLAN ;设备4根据解析出的VLAN 2的信息查询其所维护的sub-VLAN表,未查询到对应的表项,因此在sub-VLAN表中创建该VLAN的表项,并设置该表项的ho Idtimer定时器。
同理,当在设备I的其它端口( swl_p2、swl_p3、swl_p4),以及在设备2的sw2_pl、sw2_p2、sw2_p3、sw2_p4端口启用MSVRP客户端功能后,同样会触发MSVRP report报文发送,以使设备4根据接收到的MSVRP report报文维护相应sub-VLAN表项。
通过以上处理流程,设备4上维护的Sub-VLAN表项如表1.1所示(表1.2示出了表1.1中各MAC ID对应的接入交换机的MAC地址),其中的Holdtimer的时长为2min (即120000ms)ο
表1.权利要求
1.一种私网虚拟局域网VLAN信息管理方法,应用于VLAN 二次封装QinQ网络,其特征在于,所述方法包括: 核心交换设备根据本设备维护的私网VLAN表项,按照设定周期向接入交换设备发送私网VLAN查询报文,所述私网VLAN查询报文中携带所请求查询的私网VLAN信息;其中,私网VLAN表项中包括私网VLAN的标识、公网VLAN的标识; 所述核心交换设备接收接入交换设备发送的私网VLAN报告报文,根据接收到的私网VLAN报告报文中携带的私网VLAN信息,维护相应私网VLAN表项。
2.如权利要求1所述的方法,其特征在于,所述核心交换设备为私网VLAN表中的各私网VLAN设置对应的定时器; 根据接收到的私网VLAN报告报文中携带的私网VLAN信息,维护相应私网VLAN表项,具体包括: 所述核心交换设备接收到私网VLAN报告报文后,根据所述私网VLAN报告报文中携带的私网VLAN信息,查询对应的定时器,若对应的定时器未超时,则丢弃接收到的私网VLAN报告报文,若对应的定时器超时,则重置所述对应的定时器,并根据所述私网VLAN报告报文中携带的私网VLAN信息,维护相应私网VLAN表项。
3.如权利要求1所述的方法,其特征在于,核心交换设备根据本设备维护的私网VLAN表项,按照设定周期向接入交换设备发送私网VLAN查询报文,具体包括: 当发送私网VLAN查询报文的周期到达时,所述核心交换设备查询私网VLAN表项,若查询到对应于同一公网VLAN的多个私网VLAN表项中的接入交换设备媒体接入控制MAC地址相同,则针对所述多个私网VLAN表项发送一个私网VLAN查询报文,所述私网VLAN查询报文的外层VLAN为所述多个私网VLAN对应的公网VLAN,内层VLAN为所述多个私网VLAN表项中任意一个表项对应的私网VLAN。
4.如权利要求1所述的方法,其特征在于,根据所述私网VLAN报告报文中携带的私网VLAN信息,维护相应私网VLAN表项,具体包括: 所述核心交换设备解析接收到的私网VLAN报告报文,并匹配对应的私网VLAN表项; 若解析出私网VLAN的属性为新声明New或已声明Joinln,且匹配到对应的私网VLAN表项,则重置匹配到的私网VLAN表项对应的定时器;若解析出私网VLAN的属性为New或JoinIn但未匹配到相应的私网VLAN表项,则添加对应的私网VLAN表项,并设置该私网VLAN表项对应的定时器; 若解析出私网VLAN的属性为注销LV,且匹配到对应的私网VLAN表项,则重置匹配到的私网VLAN表项对应的定时器,并发送私网VLAN查询报文,所述私网VLAN查询报文用于查询解析出的属性为LV的私网VLAN ; 若私网VLAN表项对应的定时器超时,则删除该定时器对应的私网VLAN表项。
5.如权利要求1所述的方法,其特征在于,所述方法还包括: 所述核心交换设备接收到外部网络发送的报文后,根据所述报文的目的IP地址匹配对应的地址解析协议ARP表项,若未匹配到,则查询本设备维护的所有私网VLAN表项,并向各私网VLAN表项对应的私网VLAN发送ARP请求报文。
6.如权利要求1-5任意项所述的方法,其特征在于,所述私网VLAN查询报文和所述私网VLAN报告报文的目的地址为组 播MAC地址。
7.一种私网虚拟局域网VLAN信息管理方法,应用于VLAN 二次封装QinQ网络,其特征在于,所述方法包括: 接入交换设备在接收到核心交换设备发送的私网VLAN查询报文后,根据所述私网VLAN查询报文向核心交换设备发送私网VLAN报告报文,所述私网VLAN报告报文中携带私网VLAN信息,用于触发所述核心交换设备维护相应私网VLAN表项; 所述接入交换设备的端口进行多私网VLAN注册协议功能配置后或所述接入交换设备的端口上的私网VLAN配置变化后,所述接入交换设备向核心交换设备发送私网VLAN报告报文,所述私网VLAN报告报文中携带私网VLAN信息,用于触发所述核心交换设备维护相应私网VLAN表项。
8.如权利要求7所述的方法,其特征在于,所述接入交换设备根据所述私网VLAN查询报文向核心交换设备发送私网VLAN报告报文,具体包括: 所述接入交换设备将接收到的私网VLAN查询报文在所请求查询的私网VLAN内传播; 所述接入交换设备 上配置有所请求查询的私网VLAN的端口,在接收到所述私网VLAN查询报文后发送私网VLAN报告报文,其中指示出所请求查询的私网VLAN的属性为已声明JoinIn0
9.如权利要求7所述的方法,其特征在于,所述接入交换设备的端口进行多私网VLAN注册协议功能配置后,所述接入交换设备向核心交换设备发送私网VLAN报告报文,所述私网VLAN报告报文中携带私网VLAN信息,具体包括: 当在接入交换设备连接用户设备的端口上配置多私网VLAN注册协议功能后,所述接入交换设备通过该端口发送私网VLAN报告报文,所述私网VLAN报告报文中携带该端口所属的私网VLAN的信息,其中,该端口所属的私网VLAN的属性为新声明New ; 或者,当在接入交换设备连接用户设备的端口上取消多私网VLAN注册协议功能后,所述接入交换设备通过该端口发送私网VLAN报告报文,所述私网VLAN报告报文中携带该端口所属的私网VLAN的信息,其中,该端口所属的私网VLAN的属性为注销LV。
10.如权利要求7所述的方法,其特征在于,所述接入交换设备的端口上的私网VLAN配置变化后,所述接入交换设备向核心交换设备发送私网VLAN报告报文,所述私网VLAN报告报文中携带私网VLAN信息,具体包括: 若所述接入交换设备的端口的私网VLAN发生切换,则所述接入交换设备向核心交换设备发送私网VLAN报告报文,其中携带切换前和切换后的私网VLAN信息,其中,切换前的VLAN的属性为LV,切换后的VLAN的属性为New。
11.如权利要求9或10所述的方法,其特征在于,所述方法还包括: 所述接入交换设备发送私网VLAN报告报文后,启动与发送端口对应的定时器,所述定时器的时长不小于核心交换设备发送私网VLAN查询报文的周期长度; 所述接入交换设备接收到私网VLAN查询报文后,发送私网VLAN报告报文,其中携带该端口所属的VLAN信息,并重置接收端口对应的定时器; 若定时器超时,则所述接入交换设备重置该定时器,并从对应的端口发送私网VLAN报告报文,其中携带该端口所属的VLAN信息,其中,该端口所属的VLAN的属性为New。
12.如权利要求7所述的方法,其特征在于,所述方法还包括:所述接入交换设备向核心交换设备发送私网VLAN报告报文之前,判断所要报告的私网VLAN内是否有流量;若所述接入交换设备在判断所报告的私网VLAN内有流量,则向核心交换设备发送私网VLAN报告报文,否则放弃向核心交换设备发送私网VLAN报告报文。
13.如权利要求12所述的方法,其特征在于,所述判断所要报告的私网VLAN内是否有流量,具体包括: 所述接入设备根据所要报告的私网VLAN查询本设备的媒体接入控制MAC地址表,若查询到所要报告的私网VLAN的MAC地址表项,则判定所要报告的私网VLAN内有流量,否则,判断所要报告的私网VLAN内没有流量; 或者,所述接入设备查询所要报告的私网VLAN在最近一个流量统计周期内的流量统计值,并根据查询到的流量统计值判断所要报告的私网VLAN内是否有流量。
14.如权利要求7-10、12、13任意项所述的方法,其特征在于,所述私网VLAN查询报文和所述私网VLAN报告报文的目的地址为组播MAC地址。
15.一种交换设备,应用于VLAN 二次封装QinQ网络的核心层,其特征在于,包括: 私网虚拟局域网VLAN查询模块,用于根据本设备维护的私网VLAN表项,按照设定周期向接入交换设备发送私网VLAN查询报文,所述私网VLAN查询报文中携带所请求查询的私网VLAN信息;其中,私网VLAN表项中包括私网VLAN的标识、公网VLAN的标识; 私网VLAN表项维护模块,用于在本设备接收到接入交换设备发送的私网VLAN报告报文后,根据接收到的私网VLAN报告报文中携带的私网VLAN信息,维护相应私网VLAN表项。
16.如权利要求15所述的交换设备,其特征在于,所述私网VLAN表项维护模块还用于,为私网VLAN表中的各私网VLAN设置对应的定时器; 所述私网VLAN表项维护模块具体用于,在本设备接收到私网VLAN报告报文后,根据所述私网VLAN报告报文中携带的私网VLAN信息,查询对应的定时器,若对应的定时器未超时,则丢弃接收到的私网VLAN报告报文,若对应的定时器超时,则重置所述对应的定时器,并根据所述私网VLAN报告报文中携带的私网VLAN信息,维护相应私网VLAN表项。
17.如权利要求15所述的交换设备,其特征在于,所述私网VLAN查询模块具体用于,当发送私网VLAN查询报文的周期到达时,查询私网VLAN表项,若查询到对应于同一公网VLAN的多个私网VLAN表项中的接入交换设备媒体接入控制MAC地址相同,则针对所述多个私网VLAN表项发送一个私网VLAN查询报文,所述私网VLAN查询报文的外层VLAN为所述多个私网VLAN对应的公网VLAN,内层VLAN为所述多个私网VLAN表项中任意一个表项对应的私网VLAN0
18.如权利要求15所述的交换设备,其特征在于,所述私网VLAN表项维护模块具体用于,解析本设备接收到的私网VLAN报告报文,并匹配对应的私网VLAN表项;若解析出私网VLAN的属性为新声明New或已声明Joinln,且匹配到对应的私网VLAN表项,则重置匹配到的私网VLAN表项对应的定时器;若解析出私网VLAN的属性为New或JoinIn但未匹配到相应的私网VLAN表项,则添加对应的私网VLAN表项,并设置该私网VLAN表项对应的定时器;若解析出私网VLAN的属性为注销LV,且匹配到对应的私网VLAN表项,则重置匹配到的私网VLAN表项对应的定时器,并发送私网VLAN查询报文,所述私网VLAN查询报文用于查询解析出的属性为LV的私网VLAN ;若私网VLAN表项对应的定时器超时,则删除该定时器对应的私网VLAN表项。
19.如权利要求15所述的交换设备,其特征在于,还包括:ARP处理模块,用于在本设备接收到外部网络发送的报文后,根据所述报文的目的IP地址匹配对应的地址解析协议ARP表项,若未匹配到,则查询本设备维护的所有私网VLAN表项,并向各私网VLAN表项对应的私网VLAN发送ARP请求报文。
20.如权利要求15-19任意项所述的交换设备,其特征在于,所述私网VLAN查询报文和所述私网VLAN报告报文的目的地址为组播MAC地址。
21.一种交换设备,应用于VLAN 二次封装QinQ网络的接入层,其特征在于,包括: 查询响应模块,用于在本设备接收到核心交换设备发送的私网VLAN查询报文后,根据所述私网VLAN查询报文向核心交换设备发送私网VLAN报告报文,所述私网VLAN报告报文中携带私网VLAN信息,用于触发所述核心交换设备维护相应私网VLAN表项; 报告发起模块,用于在本设备的端口进行多私网VLAN注册协议功能配置后或所述接入交换设备的端口上的私网VLAN配置变化后,向核心交换设备发送私网VLAN报告报文,所述私网VLAN报告报文中携带私网VLAN信息,用于触发所述核心交换设备维护相应私网VLAN表项。
22.如权利要求21所述的交换设备,其特征在于,所述查询响应模块具体用于,将接收到的私网VLAN查询报文在所请求查询的私网VLAN内传播;在本设备上配置有所请求查询的私网VLAN的端口接收到所述私网VLAN查询报文后发送私网VLAN报告报文,其中指示出所请求查询的私网VLAN的属性为已声明Joinln。
23.如权利要求21所述的交换设备,其特征在于,所述报告发起模块具体用于,当在本设备连接用户设备的端口上配置多私网VLAN注册协议功能后,通过该端口发送私网VLAN报告报文,所述私网VLAN报告报文中携带该端口所属的私网VLAN的信息,其中,该端口所属的私网VLAN的属性为新声明New ;或者,当在本设备连接用户设备的端口上取消多私网VLAN注册协议功能后,通过该端口发`送私网VLAN报告报文,所述私网VLAN报告报文中携带该端口所属的私网VLAN的信息,其中,该端口所属的私网VLAN的属性为注销LV。
24.如权利要求21所述的交换设备,其特征在于,所述报告发起模块具体用于,若本设备的端口的私网VLAN发生切换,则向核心交换设备发送私网VLAN报告报文,其中携带切换前和切换后的私网VLAN信息,其中,切换前的VLAN的属性为LV,切换后的VLAN的属性为New0
25.如权利要求23或24所述的交换设备,其特征在于,所述报告发起模块还用于,发送私网VLAN报告报文后,启动与发送端口对应的定时器,所述定时器的时长不小于核心交换设备发送私网VLAN查询报文的周期长度;以及,当定时器超时,重置该定时器,并从对应的端口发送私网VLAN报告报文,其中携带该端口所属的VLAN信息,其中,该端口所属的VLAN的属性为New ; 所述查询响应模块还用于,当本设备接收到私网VLAN查询报文,并发送私网VLAN报告报文后,并重置接收端口对应的定时器。
26.如权利要求21所述的交换设备,其特征在于,所述查询响应模块具体用于,在向核心交换设备发送私网VLAN报告报文之前,判断所要报告的私网VLAN内是否有流量;若判断所报告的私网VLAN内有流量,则向核心交换设备发送私网VLAN报告报文,否则放弃向核心交换设备发送私网VLAN报告报文; 或/和,所述报告发起模块具体用于,在向核心交换设备发送私网VLAN报告报文之前,判断所要报告的私网VLAN内是否有流量;若判断所报告的私网VLAN内有流量,则向核心交换设备发送私网VLAN报告报文,否则放弃向核心交换设备发送私网VLAN报告报文。
27.如权利要求21-24、26任意项所述的方法,其特征在于,所述私网VLAN查询报文和所述私网VLAN报告报文的目的地址 为组播MAC地址。
全文摘要
本发明公开了一种私网VLAN信息管理方法和设备,应用于QinQ网络,通过接入交换设备和核心交换设备之间交互关于私网VLAN信息的查询报文和报告报文,使核心交换设备根据交互的报文中携带的私网VLAN信息维护私网VLAN表项,与现有技术相比,减少了核心交换设备上的QinQ的VLAN配置操作。
文档编号H04L12/771GK103166864SQ20131010086
公开日2013年6月19日 申请日期2013年3月26日 优先权日2013年3月26日
发明者郑萍萍, 蒋益群, 孙策 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1