一种动态创建虚拟局域网表的方法和以太网设备的制作方法

文档序号:7972810阅读:210来源:国知局
专利名称:一种动态创建虚拟局域网表的方法和以太网设备的制作方法
技术领域
本发明涉及以太网技术领域,尤其涉及一种动态创建虚拟局域网表的方法和以太网设备。
背景技术
随着市场的推动,以太网的发展越来越迅速,应用也越来越广泛。VLAN(Virtual Local Area Network,虚拟局域网),是将一组位于相同物理网段上的工作站和服务器从逻辑上划分成不同的逻辑网段,在功能和操作上与传统LAN(Local Area Network,局域网)基本相同,可以提供一定范围内终端系统的互联和传输。VLAN技术的产生,对于限制网络中的广播风暴,提升局域网的安全性等方面都提供了巨大的帮助,因此在以太网中对于VLAN技术的应用也是越来越普遍。
由于802.1Q协议规定,VLAN ID(标识)最大值为4095,当网络中级联的交换机越来越多时,网络中的VLAN ID资源变得异常紧缺。而QinQ(802.1Qin 802.1Q(stacked VLANs),双层VLAN)技术的出现有效的解决了网络中VLAN ID资源紧缺的问题,同时提供了一种较为简单的二层VPN(VirtualPrivate Network,虚拟专用网)方案。QinQ是对基于802.1Q封装的隧道协议的一种形象化的称呼,其核心思想是将用户私网VLAN封装到公网VLAN上,报文带着两层VLAN穿越服务商的骨干网络,从而为用户提供一种较为简单的二层VPN隧道。
由于以太网设备如果要对报文进行处理,就需要该以太网设备支持相应的VLAN,因此,目前,以太网设备如果需要支持某个VLAN,就需要本地创建对应的VLAN表,并把该VLAN表绑定到相应的端口上,该VLAN表中保存该VLAN的属性信息。当该端口有报文需要处理时,以太网设备从该报文中获取相应的VLAN ID,根据该VLAN ID查找本地保存的该端口的VLAN表,在找到该VLAN ID对应的VLAN表之后,根据其中保存的该VLAN的属性信息进行相关处理。
可见,目前的以太网设备必须先创建好某个VLAN的VLAN表并把VLAN表绑定到某个端口才可以在该端口支持该VLAN。由于作为网络节点的以太网设备的下层网络的VLAN划分可能会有所变化,因此,为了方便起见,网络管理员希望该以太网设备能够支持大量的VLAN,这样网络管理员可以一次性把需要支持的VLAN都配置好,这样即使下层网络的VLAN发生变化了,也不需要修改该网络节点的配置。但是,当以太网设备需要支持大量VLAN时,需要创建大量的VLAN表。在以太网设备支持QinQ技术之后,一个端口上最多需要创建4096×4096个VLAN表。如果一个设备有32个端口,那么极端情况下需要创建4096×4096×32个VLAN表。按每个VLAN表占用2个字节算,这些VLAN表要占用1G的内存,这是以太网设备无法承受的。因此,目前的很多以太网设备都对其能够支持的VLAN数量进行了限制,而以太网设备能支持的VLAN个数,也成为了衡量以太网设备性能的一个重要指标。特别对于BRAS(Broadband Remote Access Server,宽带接入服务器)、三层交换机(Layer3Switch)等设备来说,由于这些设备一般处于城域网的汇聚层,它们连接的下层网络一般会被划分成很多VLAN,这就需要它们具有强大的VLAN支持能力。

发明内容
本发明实施例提供一种动态创建虚拟局域网表的方法和以太网设备,用以解决现有技术中对以太网设备能够支持的VLAN在数量上有限制的问题。
为了解决上述技术问题,本发明实施例提供了一种动态创建虚拟局域网表的方法,包括以下步骤
配置以太网设备端口能够支持的虚拟局域网VLAN的信息;并且在所述端口接收到报文后,根据所述信息确定所述端口能够支持所述报文标识的VLAN并且确定不存在相应的VLAN表时,为所述端口创建相应的VLAN表。
本发明实施例还提供了一种以太网设备,包括用于接收和发送报文的端口以及保存VLAN表的第一存储模块,所述以太网设备包括第二存储模块和处理模块,其中所述第二存储模块保存以太网设备端口能够支持的虚拟局域网VLAN的信息;所述处理模块在所述端口接收到报文后,根据所述信息确定该端口能够支持所述报文标识的VLAN并且确定不存在相应的VLAN表时,为所述端口创建相应的VLAN表。
在本发明实施例中,配置以太网设备端口能够支持的VLAN的信息;并且在该端口接收到报文后,根据该信息确定该端口能够支持该报文标识的VLAN并且确定不存在相应的VLAN表时,为该端口创建相应的VLAN表。采用本发明实施例技术方案,可以突破现有技术中对以太网设备能够支持的VLAN在数量上的限制,并且只需要少量的存储空间来保存其能够支持的VLAN的信息,从而降低以太网设备为支持其下的VLAN而承受的负荷,保护了以太网设备的资源。


图1为本发明实施例中动态创建VLAN表的流程图;图2为本发明实施例中确定是否启动VLAN表的老化机制的流程图;图3为本发明实施例中VLAN表的老化机制中方法二的流程图;图4为本发明实施例中以太网设备的一个系统框图;图5为本发明实施例中以太网设备的另一个系统框图。
具体实施例方式
由于在一段时间内通过以太网设备的报文对应的VLAN数量不会很多,因此,以太网设备需要同时支持的VLAN数量也不会很多,本发明可以利用以太网设备的这一特点动态创建VLAN,使得以太网设备能够支持大量VLAN。
在本实施例中,配置以太网设备端口能够支持的VLAN的信息;并且在该端口接收到报文后,根据该信息确定该端口能够支持该报文标识的VLAN并且确定不存在相应的VLAN表时,为该端口创建相应的VLAN表。
下面结合附图对本实施例做进一步地描述。
在本实施例中,在以太网设备中增加一个VLAN配置表,用于保存以太网设备各个端口分别能够支持的VLAN的信息。该VLAN配置表可以在网络管理员第一次配置时生成。例如,网络管理员首先为以太网设备的一个端口配置其能够支持VLAN ID从1至1024的VLAN,此时,以太网设备上就会生成一个VLAN配置表,该表中只有一个节点,该节点记录了本次配置的VLAN信息,由于配置是VLAN ID连续的VLAN,因此,只需要记录起始VLAN ID‘1’和结束VLAN ID‘1024’来表示能够支持VLAN ID从1至1024的VLAN就可以了,需要占用的空间很小。当网络管理员又配置该端口还能支持VLAN ID从2048至4094的VLAN时,则以太网设备就会在该配置表中再创建一个节点,记录该配置信息。
由于本实施例中增加了VLAN配置表保存以太网设备各个端口分别能够支持的VLAN的信息,因此,本实施例中动态创建VLAN表的流程如图1所示,包括以下步骤在该端口接收到报文时,判断该端口是否能够支持该报文标识的VLAN但不存在相应的VLAN表,并在确定能够支持该报文标识的VLAN但不存在相应的VLAN表时,为该端口创建相应的VLAN表。
步骤S101,以太网设备接收到一个报文;
步骤S102,查询本地保存的接收到该报文的端口对应的VLAN表,如果存在该报文携带的VLAN ID对应的VLAN表,则直接结束;否则进行步骤S103;步骤S103,查询本地保存的VLAN配置表,判断以太网设备是否能够支持该VLAN ID对应的VLAN,如果是,进行步骤S104,否则直接结束;步骤S104,为该端口创建该VLAN表。
可见,采用本实施例的技术方案,在极端的情况下,网络管理员可以把一个端口下的所有VLAN都配置了,例如配置VLAN 1~4094 QinQ 1~4094,VLAN配置表中只需要一个节点就可以记录该配置了。可见,在这种情况下,该端口在接收到报文后,只要判断出不存在该报文携带的VLAN ID对应的VLAN表时,就会创建一个新的VLAN表,这样如果底层网络不停变化,则最终可能创建了4094×4094个该端口对应得VLAN表。如果以太网的N个端口都能够支持其下的所有VLAN,则以太网设备最终可能创建了4094×4094×N个VLAN表。这么多VLAN表占用的系统资源是以太网设备难以承受的。而由于如前文所述,在一段时间内通过该设备的报文对应的VLAN数量不会很多,即在一段时间内,有一部分VLAN表是没有在使用的,为了减轻以太网设备的负荷,可以对没有在使用的VLAN表进行老化。
为了对没有在使用的VLAN表进行老化,在本实施例中,每成功创建一个VLAN表之后,以太网设备进行如图2所示的流程,包括以下步骤步骤S201,将当前存在的VLAN表的数量加1;以太网设备可以本地保存该当前存在的VLAN表的数量。
步骤S202,检测该同时存在的VLAN表的数量是否大于设定阈值,如果是,进行步骤S203,否则直接结束;步骤S203,启动VLAN表的老化机制。
在具体实现时,也可以不在每成功创建一个VLAN表之后进行上述检测,而是可以周期性地检测所存在的VLAN表的数量是否大于设定阈值,并根据检测结果进行相应处理。
在本实施例中,提供多种VLAN表的老化机制,例如方法一以太网设备当其各个端口下的VLAN存在在线用户时,在相应的VLAN表中记录该在线用户的用户信息,则在VLAN表的老化机制启动后,查询VLAN表中是否存在用户信息,并在确定不存在用户信息时删除相应的VLAN表。
以BRAS设备为例,它能够支持的在线用户数目是有限制的,而每个用户只能属于一个VLAN,也就是说正在使用的VLAN表的数目是有限的。比如说某个BRAS设备只能支持10000用户,那么这一段时刻只有10000VLAN表是有用的,其它没用的VLAN表就可以老化掉。因此,该BRAS设备同时存在的VLAN表的设定阈值可以为10000,但是,为了防止反复创建、删除VLAN表,建议当创建的VLAN表个数超过设备允许接入的用户数两倍时再启动老化机制。
在具体实现时,在VLAN表的老化机制启动后,可以遍历以太网设备本地保存的VLAN表,也可以根据设置查询部分VLAN表,例如,只是查询以太网设备某个端口的VLAN表并将该端口没有用户在线的VLAN对应的VLAN表删除,在具体的处理中,可能只删除某个端口没有用户在线的VLAN对应的VLAN表就能够令以太网设备同时存在的VLAN表的数量不大于设定阈值,这样处理时一次性删除的VLAN表数量相对较少,可以避免反复创建并删除大量的VLAN表。
方法二如果以太网设备在每个端口接收或者发送报文,则在相应的VLAN表做一个标记来表示该VLAN表正在使用,在VLAN表的老化机制启动后,以太网设备进行如图3所示的流程,包括以下步骤步骤S301,查询当前存在的VLAN表是否存在标记,如果是,进行步骤S302,否则,进行步骤S303;在本步骤中,可以遍历以太网设备本地保存的VLAN表,也可以根据设置查询部分VLAN表。
步骤S302,清除相应的标记,结束;步骤S303,删除相应的VLAN表。
可见,通过上述流程,在一个VLAN表的标记被清除掉之后,如果在下次查询其是否存在标记时仍然没有标记,即在此期间相应的VLAN没有处理报文,则该VLAN表会被删除。
在具体实现时,可以不在每一次查询到一个VLAN表中不存在该标记之后就删除该VLAN表,而是可以在查询到一个VLAN表中不存在该标记达到设定次数后再删除该VLAN表。
另外,区别于上述在VLAN表中做标记的方法,如果以太网设备在每个端口接收或者发送报文,还可以在相应的VLAN表记录一个时间戳信息,用来标记接收或者发送报文的时间,而在VLAN表的老化机制启动后,以太网设备可以根据该时间戳信息对VLAN进行老化。
需要说明的是,上述所提到的本发明实施例所对应的方法可以存储在一个计算机可读取存储介质中。
本实施例中的以太网设备,如图4所示,包括端口100和第一存储模块200,为了实现动态创建VLAN表,本实施例中的以太网设备还包括第二存储模块300和处理模块400,其中端口100接收和发送报文;第一存储模块200保存VLAN表;第二存储模块300保存以太网设备端口100能够支持的VLAN的信息;处理模块400在端口接收到报文后,根据该信息确定该端口能够支持该报文标识的VLAN并且确定不存在相应的VLAN表时,为端口创建相应的VLAN表。
如图5所示,处理模块400可以包括第一判断单元401和第二判断单元402,其中第一判断单元401在端口接收到报文时,判断第一存储模块200中是否存在该报文对应的VLAN表,并在确定不存在时通知第二判断单元402;第二判断单元402根据第二存储模块300保存的信息判断端口是否能够支持该报文标识的VLAN并输出判断结果。
本实施例中的以太网设备可以包括老化模块500,其中老化模块500当以太网设备同时存在的VLAN表的数量大于设定阈值时,对当前没有使用的VLAN表进行老化。
由于老化模块500可以在每次创建VLAN表后进行判断,因此,处理模块400在第一存储模块200中创建VLAN表后通知老化模块500;老化模块500根据该通知进行处理。
对应对没有在使用的VLAN表进行老化的方法一,以太网设备可以包括控制模块,用于在第一存储模块200中的VLAN表中记录相应VLAN的在线用户的用户信息;老化模块500查询第一存储模块200中的VLAN表中是否存在用户信息,并在确定不存在用户信息时删除相应的VLAN表。
对应对没有在使用的VLAN表进行老化的方法二,以太网设备可以包括标记模块,用于在端口接收或者发送报文时,在第一存储模块200中标记相应的VLAN表正在使用;老化模块500查询第一存储模块200中的VLAN表是否存在标记,如果是,清除标记;否则,删除相应的VLAN表。
采用本实施例技术方案,在极端情况下,网络管理员配置以太网设备能够支持其下的所有VLAN,则不管底层网络的VLAN划分如何变动,都不再需要人工干预,大大减轻了网络管理员的工作负担。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
权利要求
1.一种动态创建虚拟局域网表的方法,其特征在于,包括以下步骤配置以太网设备端口能够支持的虚拟局域网VLAN的信息;并且在所述端口接收到报文后,根据所述信息确定所述端口能够支持所述报文标识的VLAN并且确定不存在相应的VLAN表时,为所述端口创建相应的VLAN表。
2.如权利要求1所述的方法,其特征在于,在所述端口接收到报文后,先判断所述端口是否存在所述报文对应的VLAN表,在确定不存在时,再判断所述端口是否能够支持所述报文标识的VLAN。
3.如权利要求1所述的方法,其特征在于,当所述以太网设备同时存在的VLAN表的数量大于设定阈值时,对当前没有使用的VLAN表进行老化。
4.如权利要求3所述的方法,其特征在于,周期性地或者在每次创建VLAN表时,判断所述以太网设备同时存在的VLAN表的数量是否大于设定阈值。
5.如权利要求3或4所述的方法,其特征在于,在VLAN表中记录相应VLAN的在线用户的用户信息;对当前没有使用的VLAN表进行老化的具体方法为查询VLAN表中是否存在用户信息,并在确定不存在用户信息时删除相应的VLAN表。
6.如权利要求3或4所述的方法,其特征在于,在所述端口接收或者发送报文时,标记相应的VLAN表正在使用;对当前没有使用的VLAN表进行老化的具体方法为查询VLAN表是否存在标记,如果是,清除所述标记;否则,删除相应的VLAN表。
7.一种以太网设备,包括用于接收和发送报文的端口以及保存VLAN表的第一存储模块,其特征在于,所述以太网设备包括第二存储模块和处理模块,其中所述第二存储模块保存以太网设备端口能够支持的虚拟局域网VLAN的信息;所述处理模块在所述端口接收到报文后,根据所述信息确定该端口能够支持所述报文标识的VLAN并且确定不存在相应的VLAN表时,为所述端口创建相应的VLAN表。
8.如权利要求7所述的以太网设备,其特征在于,所述处理模块包括第一判断单元和第二判断单元,其中所述第一判断单元在所述端口接收到报文时,判断所述第一存储模块中是否存在所述报文对应的VLAN表,并在确定不存在时通知所述第二判断单元;所述第二判断单元根据所述第二存储模块保存的信息判断所述端口是否能够支持所述报文标识的VLAN并输出判断结果。
9.如权利要求7所述的以太网设备,其特征在于,所述以太网设备包括老化模块,其中所述老化模块当所述以太网设备同时存在的VLAN表的数量大于设定阈值时,对当前没有使用的VLAN表进行老化。
10.如权利要求9所述的以太网设备,其特征在于,所述处理模块在所述第一存储模块中创建VLAN表后通知所述老化模块;所述老化模块根据所述通知进行处理。
11.如权利要求9或10所述的以太网设备,其特征在于,所述以太网设备包括控制模块,用于在所述第一存储模块中的VLAN表中记录相应VLAN的在线用户的用户信息;所述老化模块查询所述第一存储模块中的VLAN表中是否存在用户信息,并在确定不存在用户信息时删除相应的VLAN表。
12.如权利要求9或10所述的以太网设备,其特征在于,所述以太网设备包括标记模块,用于在所述端口接收或者发送报文时,在所述第一存储模块中标记相应的VLAN表正在使用;所述老化模块查询所述第一存储模块中的VLAN表是否存在标记,如果是,清除所述标记;否则,删除相应的VLAN表。
全文摘要
本发明涉及以太网技术领域,尤其涉及一种动态创建虚拟局域网表的方法和以太网设备,用以解决现有技术中对以太网设备能够支持的VLAN在数量上有限制的问题。本发明中,配置以太网设备端口能够支持的VLAN的信息;并且在端口接收到报文后,根据该信息确定该端口能够支持该报文标识的VLAN并且确定不存在相应的VLAN表时,为该端口创建相应的VLAN表。采用本发明技术方案,可以突破现有技术中对以太网设备能够支持的VLAN在数量上的限制,并且降低了以太网设备为支持其下的VLAN而承受的负荷,保护了以太网设备的资源。
文档编号H04L29/06GK1976312SQ20061015612
公开日2007年6月6日 申请日期2006年12月27日 优先权日2006年12月27日
发明者李教峰 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1