一种实现QinQ接入的方法

文档序号:7616466阅读:274来源:国知局
专利名称:一种实现QinQ接入的方法
技术领域
本发明涉及通信技术领域,具体地说,涉及一种实现QinQ(两层IEEE802.1Q标签封装技术)简便灵活地接入的方法。
背景技术
在同一物理形态上的局域网可以分成多个VLAN(Virtual Local AreaNetwork,虚拟局域网),各VLAN之间不能直接访问,只能通过路由设备来访问,这样可以提高网络的安全性和可靠性。VPN(Virtual PrivateNetworks,虚拟专网)技术是一种通过公众网络来传递私有网络的技术,通过这种技术把不同地点的私有网络连接起来,是一种廉价高效的方法。目前常用的VPN技术有L2技术和L3层技术。
QinQ技术是一种简单的VPN技术,它采用的L2层技术,通过两层IEEE802.1Q标准的标签封装技术(即在使用的私网VLAN标签外再封装一个公网的VLAN标签),使得私网的VLAN能够从公网透传到需要连接的其它私网。由于它不需要额外的信令支持就能实现简单的VPN功能,能够把分散的几个地域的LAN(Local Area Network,局域网)组成一个大的VPLS(Virtual Private LAN Service,虚拟专用局域网服务),因此非常简单方便。
然而,现有的技术只支持一个以太网端口上封装两个VLAN标签来实现QinQ,如果端口是QinQ的接入端口,则给数据包再打上一个公网VLAN标签,如果是出端口则剥离外层的公网VLAN标签。
这种方法虽然能实现一些QinQ的简单功能,但不够灵活,在组网上也受到很大限制。首先,因为现有技术一个端口只能有一个公网VLAN标签;因此一个端口一般只能接入一个VPN,如果在VPN数量比较多的情况下,需要占用大量端口;其次,公私网不能混合接入,亦即,公网和私网不能共用一个端口接入。
这两个缺点对于高带宽的端口来说可能会造成很大的浪费,例如如果接入的端口是千兆以太网口,可能某个VPN的流量只有200M,按现有的方案只能一个端口接入一个VPN,这样这个网口只能给它用了,800M的带宽白白浪费了,但如果使用百兆网口又需要几个网口,而交换机端口和带宽是重要的资源,这两种情形会带来成本的显著上升。

发明内容
本发明所要解决的技术问题是针对现有技术的不足,提供一种简便灵活的实现QinQ接入的方法。该方法组网灵活,不仅可以实现公网、私网的混合接入;而且可以实现一个端口能够接入多个VPN并通过多个VPN共享一个带宽来充分利用端口带宽。
为解决上述问题,本发明提供以下技术方案一种实现QinQ接入的方法,通过在私网的VLAN标签上封装一个公网的VLAN标签,使得私网的VLAN从公网透传到需要连接的其他私网,其特征在于,还包括如下步骤建表步骤,在设备中建立QinQ配置表用于确定各端口的私网标签和需要封装的公网标签之间的对应关系;分析步骤,对端口数据包进行分析,提取用于查询QinQ配置表所需的数据包信息;查询步骤,根据分析步骤提取的数据包信息和所在端口的端口号查询QinQ配置表,获取用于QinQ处理的信息;处理步骤,根据查询结果对所述数据包进行QinQ封装或剥离。
其中,所述QinQ配置表可以是QinQ接入表或QinQ终结表,或将QinQ接入表和QinQ终结表组合为一个统一配置表。
其中,所述QinQ接入表包括接入VLAN标签、端口号和外层VLAN标签。
其中,所述QinQ接入配置表中的接入VLAN标签可以根据具体需要,替换为数据包的对应VPN标识、或地址段、或协议类型或IP子网标识。
其中,所述QinQ终结表包括外层VLAN标签和端口号,且该端口号及外层VLAN标签与所述QinQ接入表中的对应端口号和外层VLAN标签是相同的。
其中,所述QinQ配置表,即可以在整个交换设备只生成一张统一的QinQ配置表,也可以在每个端口都生成一个QinQ配置表。
其中,所述接入的数据包即可以是包含一层VLAN标签的接入数据包,也可以包含有多层VLAN标签的接入数据包。
其中,接入VLAN标签是进入输入端口时数据包本身的最外层VLAN标签,所述外层VLAN标签是指数据包的最外层VLAN标签。
其中,所述的端口可以是物理存在的端口,也可以是逻辑端口或虚拟的端口。
与现有的技术相比,本发明的有益技术效果是1、可以在一个端口进行多个QinQ混和接入,也能实现一个端口进行多个QinQ终结,给组网带来极大的方便。
2、可以提高端口带宽的利用率,一方面多个VPN可以共享一个端口的带宽;另一方面可以充分利用端口的剩余带宽。
3、可以减少对端口的占用,降低了设备的购置成本。


图1是本发明的实现QinQ接入方法的流程图。
具体实施例方式
为了更好地理解本发明,以下结合具体实施例来说明本发明。
本发明技术实现方案的核心思想是,不再简单的以端口来作为封装外层公网VLAN标签的依据,而是通过建立QinQ配置表来确定各输入的数据包是否添加外层公网VLAN标签以及添加怎样的外层公网VLAN标签,并在输出端口对添加的外层标签进行剥离。具体说来,就是从一个端口上来的数据包,如果是公网的VLAN标签就不再加外层公网VLAN标签;如果是同一VPN的私网,给其分配的公网VLAN标签要相同;如果是不同的VPN的私网,我们可以根据其VLAN的情况决定分配不同的公网VLAN标签。
以下结合图1说明,本发明的具体实现方法如下1、建立QinQ配置表。
在中间设备中,如路由器或交换机交换设备等,建立QinQ配置表,该配置表包括一个QinQ接入表和一个QinQ终结表。
具体如表1所示,QinQ接入表包括接入VLAN标签、端口号和外层VLAN标签三部分。
表1QinQ接入表

如表2所示,QinQ终结表则包括数据包的外层VLAN标签和端口号。
表2QinQ终结表

其中接入标签是QinQ数据包进入端口时本身的VLAN标签,外层VLAN标签为进入系统的数据包需要封装的公网VLAN标签,配置时同一虚拟专网(VPN)的公网VLAN标签要相同。端口号表示该数据包是从哪个端口进来的。所述表1和表2中对应的“端口号”和“外层VLAN标签”是相同的。
如何配置上述QinQ配置表则根据组网的需要而定,假设VLAN 2、3和4、5是由私网用户提供的,外层公网标签VLAN 13、14是提供虚拟专用局域网服务(VPLS)的服务商分配的,VLAN 2、3需要通过公网VLAN13组成一个VPLS,VLAN 4、5需要通过公网VLAN 14组成另一个VPLS,这样只要外层公网VLAN相同的私网VLAN就组成一个大的VPLS,即使各私网VLAN分散在各地,也像直接通过本地的一个交换机互连一样。相关的QinQ配置表则作如下配置表3QinQ接入表

表4QinQ终结表

2、分析输入端口的数据包。
对于输入端口而言,如下表所示,接入前的数据包结构包括以太网地址、VLAN ID、网络数据等多个字段,本步骤提取其中数据包本身的最外层VLAN标签作为查表的接入标签。
接入前数据包结构

此处需要说明的是,数据包从哪个端口进入是由具体网线连接决定的,将网线接到哪个端口,数据就从哪个端口出入。同一个端口即有进端口的数据又有出端口的数据,对于进端口的数据它是输入端口,对于出端口的数据它又可以是输出端口。
3、查询QinQ接入表并判断是否进行QinQ封装。
通过“接入VLAN标签+端口号”在QinQ接入表中进行查询,如果在QinQ接入表中能查询到对应的外层VLAN标签,则需要对该数据包进行QinQ封装;如果查询不到外层VLAN标签则表明该外层VLAN标签是公网的VLAN标签,不用进行QinQ处理,只要按普通端口处理即可。
如表3所示,通过对输入端口的数据包进行分析,在端口1提取的数据包接入VLAN标签分别为2、3、4、5。将接入VLAN标签和端口号相结合通过QinQ接入表进行查询,根据查询结果,从端口1输入的接入VLAN标签为2和3的数据包对应的QinQ外层VLAN标签为13,从端口1输入的接入VLAN标签为4、5的数据包对应的QinQ外层VLAN标签为14。对在QinQ接入表找到的相应数据包进行QinQ封装。而对于在表3中查询不到的外层VLAN标签,表明是公网VLAN,不用进行QinQ封装,按普通端口处理。
4、根据查询结果进行QinQ封装。
根据表3的查询结果,VLAN 2、VLAN 3通过端口1接入外层VLAN为13的QinQ网络,接入前后数据包结构的变化,以VLAN 2为例,如下表所示接入前数据包结构

入后数据包结构

根据表3的查询结果,VLAN 4、VLAN 5通过端口1接入外层VLAN为14的QinQ网络,接入前后数据包结构的变化,以VLAN 4为例,如下表所示接入前数据包结构

接入后数据包结构

上表的阴影部分表示QinQ添加的外层VLAN标签。
5、分析输出端口的数据包。
对于从端口输出的数据包,同样提取该数据包的最外层VLAN标签,作为查询QinQ终结表的外层VLAN标签。
6、查询QinQ终结表并判断是否进行QinQ剥离。
如表4所示,通过“外层VLAN标签+端口号”进行查询,如果存在记录,表明是该VLAN的QinQ终结端口,需要剥离外层VLAN标签,否则不剥离,按普通端口处理。本实施例中对端口号为1、外层标签为13、14的数据包则需要进行QinQ剥离。
7、根据查询结果进行QinQ剥离。
根据查询结果,对进入输出端口的数据包分别进行不同的处理。在查询步骤中,在表4中查询到了外层标签为VLAN 13的数据包,因此在此步骤中要对该数据包进行外层标签的剥离,以VLAN 2为例,处理前后数据包结构的变化如下表所示处理前数据包结构

处理后数据包结构(剥离外层VLAN标签)

同样,在查询步骤中,在表4中查询到了外层标签为VLAN 14的数据包,在此步骤中也要对其进行外层标签的剥离,以VLAN 4为例,处理前后数据包结构的变化如下表所示处理前数据包结构

处理后数据包结构(剥离外层VLAN标签)

如果在表4中没有外层标签的记录,则对该数据包不剥离,按普通端口处理。
本发明所述的端口可以是物理存在的端口,也可以是逻辑端口或虚拟的端口。
本方案不但可以用于一层VLAN标签的接入,还可以用于含有多层VLAN标签的数据包的接入,如果接入的数据包含有一层以上的标签,只取最外层的VLAN标签作为接入VLAN标签查表即可,至于内层有几层标签,对处理没有影响,本发明可以扩展到多层标签的QinQ的VPN接入。
作为本发明技术方案的一种替代方式,由于实施例1中的QinQ接入表和QinQ终结表中的“端口号”和“外层VLAN标签”的对应信息是相同的,因此可以将实施例1中的QinQ接入表和QinQ终结表统一成一个表,如表5所示。对于输入数据包分析并提取相关信息后,以接入VLAN标签+端口号为关键字查询该配置表,可以查询到的,查询结果为应封装的QinQ外层VLAN标签,未查询到的则作为普通端口数据处理;对于输出数据包分析并提取相关信息后,以表中的QinQ外层VLAN标签+端口号为关键字查询该配置表,对配置表中有记录的则进行QinQ剥离。
表5QinQ配置表

本发明的另一实施例中,还可以在每个端口都生成一个QinQ接入表和QinQ终结表,或生成一个将二表合一的QinQ配置表,这样就可以将配置表中的端口号去掉即可。
另外,由于在QinQ网络中外层的VLAN与VPN是存在一一对应关系的。因此,在建立QinQ配置表的过程中并不是必须配置VLAN标签,也可以改为配置VPN标识而达到同样的技术效果。
以上实施例都是通过接入数据包的VLAN标签和端口号来实现的。虽然VLAN标签是数据包的一个最常用的特性,但除此之外本发明还可以通过数据包的其它标志性特性来实现,例如数据包的地址段、协议类型、IP子网等很多表征数据流特征的信息,将数据包的这些表征数据流特征的标识作为用于查询QinQ配置表的数据包信息,并将其与端口号结合来实施本方案,同样可以达到相同的技术效果,从而提供更为灵活的QinQ接入方式。
通过本发明技术方案的实施,可以达到如下的有益效果1、可以在一个端口进行多个QinQ混和接入,也能实现一个端口进行多个QinQ终结,给组网带来极大的方便。
2、可以提高端口带宽的利用率,一方面多个VPN可以共用一个端口的带宽,实现带宽共享;另一方面可以充分利用端口的剩余带宽。
3、可以减少对端口的占用,降低了设备的购置成本。
权利要求
1.一种实现QinQ接入的方法,通过在私网的VLAN标签外封装一个公网的VLAN标签,使得私网的VLAN从公网透传到需要连接的其他私网,其特征在于,包括如下步骤建表步骤,在设备中建立QinQ配置表用于确定各端口的私网标签和需要封装的公网标签之间的对应关系;分析步骤,对端口数据包进行分析,提取用于查询QinQ配置表所需的数据包信息;查询步骤,根据分析步骤提取的数据包信息和所在端口的端口号查询QinQ配置表,获取用于QinQ处理的信息;处理步骤,根据查询结果对所述数据包进行QinQ封装或剥离。
2.根据权利要求1所述的实现QinQ接入的方法,其特征在于,所述QinQ配置表可以是QinQ接入表或QinQ终结表,或将QinQ接入表和QinQ终结表组合为一个统一配置表。
3.根据权利要求2所述的实现QinQ接入的方法,其特征在于,所述QinQ接入表包括接入VLAN标签、端口号和外层VLAN标签。
4.根据权利要求3所述的实现QinQ接入的方法,其特征在于,所述QinQ接入配置表中的接入VLAN标签可以根据具体需要,替换为数据包的对应VPN标识、或地址段、或协议类型或IP子网标识。
5.根据权利要求2所述的实现QinQ接入的方法,其特征在于,所述QinQ终结表包括外层VLAN标签和端口号,且该端口号及外层VLAN标签与所述QinQ接入表中的对应端口号和外层VLAN标签是相同的。
6.根据权利要求1或2所述的实现QinQ接入的方法,其特征在于,所述QinQ配置表,即可以在整个交换设备只生成一张统一的QinQ配置表,也可以在每个端口都生成一个QinQ配置表。
7.根据权利要求1~5任意一项所述的实现QinQ接入的方法,其特征在于,所述接入的数据包即可以是包含一层VLAN标签的接入数据包,也可以包含有多层VLAN标签的接入数据包。
8.根据权利要求7任意的实现QinQ接入的方法,其特征在于,接入VLAN标签是进入输入端口时数据包本身的最外层VLAN标签,所述外层VLAN标签是指数据包的最外层VLAN标签。
9.根据权利要求1-5任意所述的实现QinQ接入的方法,其特征在于,所述的端口可以是物理存在的端口,也可以是逻辑端口或虚拟的端口。
全文摘要
本发明公开了一种实现QinQ简便灵活接入的方法,以解决现有技术中的公网、私网不能混合接入,多个虚拟专网不能共享一个端口带宽的问题。本发明通过建立QinQ配置表,根据数据包的接入VLAN标签和端口号共同来决定是否添加外层公网VLAN标签以及添加怎样的外层公网VLAN标签,并在输出端口对添加的外层标签进行剥离的方法实现了简便灵活的QinQ接入。该种方法可以实现一个端口的多个QinQ的混和处理,并实现多个VPN共用一个端口,实现带宽共享。降低了对端口的占用率,有效降低了设备的购置成本。
文档编号H04L29/06GK1838627SQ20051005641
公开日2006年9月27日 申请日期2005年3月22日 优先权日2005年3月22日
发明者卢胜文, 曹刚, 李晓 申请人:杭州华为三康技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1