CN102647325A - 一种实现QinQ终结的方法和装置 - Google Patents

一种实现QinQ终结的方法和装置 Download PDF

Info

Publication number
CN102647325A
CN102647325A CN2012100803222A CN201210080322A CN102647325A CN 102647325 A CN102647325 A CN 102647325A CN 2012100803222 A CN2012100803222 A CN 2012100803222A CN 201210080322 A CN201210080322 A CN 201210080322A CN 102647325 A CN102647325 A CN 102647325A
Authority
CN
China
Prior art keywords
sub
level
interface
interface table
vlan
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2012100803222A
Other languages
English (en)
Other versions
CN102647325B (zh
Inventor
冉瑞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
New H3C Information Technologies Co Ltd
Original Assignee
Hangzhou H3C Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou H3C Technologies Co Ltd filed Critical Hangzhou H3C Technologies Co Ltd
Priority to CN201210080322.2A priority Critical patent/CN102647325B/zh
Publication of CN102647325A publication Critical patent/CN102647325A/zh
Application granted granted Critical
Publication of CN102647325B publication Critical patent/CN102647325B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Mobile Radio Communication Systems (AREA)

Abstract

本发明提供了一种实现QinQ终结的方法和装置,该方法中,接收到针对主接口的任一子接口配置的QinQ终结时,确定该QinQ终结的第一层VLAN ID对应的一级接口表项,按照预设规则对该QinQ终结的所有第二层VLAN ID进行分组,生成该组VLAN ID对应的关联于该一级接口表项的多级子接口表,将该子接口的业务存储到该多级子接口表中;在主接口上接收到需要进行QinQ终结处理的报文时,确定报文的第一层VLAN ID对应的一级接口表项,确定报文的第二层VLAN ID所属VLAN ID组对应的关联于该一级接口表项的多级子接口表,根据该多级子接口表中存储的子接口业务对报文进行QinQ终结处理。本发明能够减少空间资源浪费。

Description

一种实现QinQ终结的方法和装置
技术领域
本发明涉及通信技术领域,特别涉及一种实现QinQ(802.1Q in 802.1Q,两层VLAN封装)终结的方法和装置。
背景技术
虚拟局域网(VLAN)终结是指对接收到的VLAN标签(Tag)报文,按照报文携带的VLAN Tag信息匹配对应的接口后,剥离报文的VLAN Tag,再将报文进行三层转发或交由其它业务处理。根据所终结的报文的不同,VLAN终结分为Dot1q终结和QinQ终结,其中,QinQ终结主要是用来实现对携带两层及以上VLAN Tag的报文的VLAN终结。
下面为了便于描述,将报文携带的最外面两层VLAN Tag按照从外到内的顺序称为第一层VLAN Tag、第二层VLAN Tag,相应的,第一层VLANTag、第二层VLAN Tag对应的VLAN ID(简称VID)分别称为第一层VLANID、第二层VLAN ID。
现有实现中,接收报文的主接口(物理接口)本身并不能对报文做VLAN终结处理,而需要在主接口上创建子接口,并在子接口上配置VLAN终结后,由子接口根据配置的VLAN终结来对报文做VLAN终结处理。子接口是一种逻辑接口,主要用来实现在主接口上支持收发携带VLAN Tag的报文,用户可以在一个主接口上配置多个子接口。
根据子接口所能终结的VLAN报文的最外两层VLAN ID的取值范围的不同,QinQ终结分为:明确的QinQ终结:只允许接收最外两层VLAN ID均为指定值的报文,其它VLAN报文则不允许通过该接口;模糊的QinQ终结:只允许接收第一层VLAN ID为指定值,第二层VLAN ID在指定的范围内的报文,不属于该范围的VLAN报文则不允许通过该接口。
现有技术中,QinQ终结的一种实现方法是利用两级接口表,下面结合图1进行说明:
图1是现有技术实现QinQ终结的两级接口表的数据架构示意图,为每个主接口固定分配一个一级接口表,包括4096个一级接口表项,对应于第一层VLAN Tag,由于VLAN Tag中的VLAN ID域占用12个bit位,对应4096个VLAN ID,因此,第一层VLAN Tag的VLAN ID和一级接口表项一一对应。QinQ终结处理的是带有两层VLAN Tag的报文,因此,还需要为第一层VLAN Tag对应的一级接口表项进一步分配一个包括4096个二级接口表项的二级接口表,第二层VLAN Tag的VLAN ID和二级接口表项一一对应,该子接口的业务信息就保存在第二层Tag对应的二级接口表项中。当接收到报文时,可以先确定报文的第一层VLAN Tag对应的一级接口表项,然后再根据报文的第二层VLAN Tag确定为该一级接口表项分配的二级接口表中的相应的二级接口表项,然后就可以根据二级接口表项中的业务信息对报文做QinQ终结处理。
上述实现QINQ终结的方法只需要经过二次查表就能快速处理QINQ终结。然而,当主接口上的QINQ终结增多的时候,尤其是外层VLAN ID在不相同的情况下,需要大量的分配二级接口表来存储QINQ终结的业务信息,而且每个二级接口表包括4096个二级接口表项,因此QINQ终结的实现会占用大量的空间资源。另外,模糊的QINQ终结因为配置在同一个子接口上,所有的业务都相同,因此会导致大量的重复业务信息配置在二级接口表中,也会浪费空间资源。
发明内容
有鉴于此,本发明的目的在于提供一种实现QINQ终结的方法,该方法能够减少空间资源浪费。
为了达到上述目的,本发明提供了一种实现QINQ终结的方法,应用于主接口,预先为所述主接口分配一级接口表,该方法包括:
接收到针对所述主接口的任一子接口配置的QinQ终结时,确定接收到的QinQ终结的第一层VLAN ID对应的一级接口表项,按照预设规则接收到的QinQ终结的所有第二层VLAN ID进行VLAN ID分组,针对每个VLAN ID组,生成该组VLAN ID对应的关联于该一级接口表项的多级子接口表,将所述任一子接口的业务存储到该多级子接口表中;
在所述主接口上接收到需要进行QinQ终结处理的报文时,确定报文的第一层VLAN ID对应的一级接口表项,确定报文的第二层VLAN ID所属VLAN ID组对应的关联于该一级接口表项的多级子接口表,根据该多级子接口表中存储的子接口业务对报文进行QinQ终结处理。
本发明还提供了一种实现QINQ终结的装置,应用于主接口,该装置包括:存储单元、收发单元、建表单元、查表单元;
所述存储单元,用于存储预先为所述主接口分配一级接口表以及各级子接口表;
所述收发单元、用于接收针对所述主接口的任一子接口配置的QinQ终结;用于在所述主接口上接收需要进行QinQ终结处理的报文;
所述建表单元,用于在收发单元接收到针对所述主接口的任一子接口配置的QinQ终结后,确定接收到的QinQ终结的第一层VLAN ID对应的一级接口表项,按照预设规则接收到的QinQ终结的所有第二层VLAN ID进行VLAN ID分组,针对每个VLAN ID组,生成该组VLAN ID对应的关联于该一级接口表项的多级子接口表,将所述任一子接口的业务存储到该多级子接口表中;
所述查表单元,用于在收发单元在所述主接口上接收到需要进行QinQ终结处理的报文后,确定报文的第一层VLAN ID对应的一级接口表项,确定报文的第二层VLAN ID所属VLAN ID组对应的关联于该一级接口表项的多级子接口表,根据该多级子接口表中存储的子接口业务对报文进行QinQ终结处理。
由上面的技术方案可知,本发明中,将接收到的针对任一子接口配置的QinQ终结的所有第二层VLAN ID进行VLAN ID分组,生成每组VLAN ID对应的关联于该QinQ终结的第一层VLAN ID对应的一级接口表项的多级子接口表,并将该子接口存储到该多级子接口表中,从而在接收到需要进行QinQ终结的报文时,确定第二层VLAN ID所属VLAN ID组对应的关联于报文的第一层VLAN ID对应的一级接口表项的多级子接口表,并根据该多级子接口表中保存的子接口的业务对报文执行QinQ终结处理。本发明通过使用多级子接口表存储QinQ终结的第二层VLAN ID,能够减少空间资源浪费。
附图说明
图1是现有技术实现QinQ终结的两级接口表的数据架构示意图;
图2是本发明实施例实现QinQ终结的方法流程图;
图3是本发明实施例在子接口上配置明确的QinQ终结时实现QinQ终结的数据架构示意图;
图4是本发明实施例在子接口上配置模糊的QinQ终结时实现QinQ终结的数据架构示意图;
图5是本发明实施例在子接口上先后两次配置QinQ终结时实现QinQ终结的数据架构示意图;
图6是本发明实施例实现QinQ终结的装置结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,下面结合附图,并举实施例,对本发明的技术方案进行详细说明。
参见图2,图2是本发明实施例实现QinQ终结的方法流程图,该方法应用于主接口,已经预先为该主接口分配了一级接口表,该方法包括以下步骤:
步骤201、接收到针对所述主接口的任一子接口配置的QinQ终结时,确定接收到的QinQ终结的第一层VLAN ID对应的一级接口表项,按照预设规则对接收到的QinQ终结的所有第二层VLAN ID进行VLAN ID分组,针对每个VLAN ID组,生成该组VLAN ID对应的关联于该一级接口表项的多级子接口表,将所述任一子接口的业务存储到该多级子接口表中。
步骤202、在所述主接口上接收到需要进行QinQ终结处理的报文时,确定报文的第一层VLAN ID对应的一级接口表项,确定报文的第二层VLAN ID所属VLAN ID组对应的关联于该一级接口表项的多级子接口表,根据该多级子接口表中存储的子接口业务对报文进行QinQ终结处理。
在上述本发明实施例中,按照预设规则对接收到的QinQ终结的所有第二层VLAN ID进行VLAN ID分组的方法可以有以下两种:
第一种:根据QinQ终结的第二层VLAN ID的分布情况,将满足一定条件的所有VLAN ID划分到同一组,这种情况下,针对每组VLAN ID生成的多级子接口表的级数是不固定的,最小可能级数为1级,最大可能级数为n级,根据实际情况而定,其中,n为预设最大多级子接口表级数。
这种情况下,所述按照预设规则接收到的QinQ终结的所有第二层VLAN ID进行VLAN ID分组的方法具体可以为:
确定该QinQ终结的所有第二层VLAN ID中是否存在满足第1条件的一组或多组VLAN ID,如果是,则将满足第1条件的每组VLAN ID划分为一组;
确定该QinQ终结的所有第二层VLAN ID中除上述满足第1条件的一组或多组VLAN ID外是否存在满足第2条件的一组或多组VLAN ID,如果是,则将满足第2条件的每组VLAN ID划分为一组;
依次类推,直到将该QinQ终结的所有第二层VLAN ID全部划分完毕;
其中,第i条件为:该QinQ终结的第二层VLAN ID集合除满足第1条件、...第i-1条件的一组或多组VLAN ID外存在高(L1+...+Li)个bit位相同,且低(Li+1+...+Ln)个bit位的值分别为从0到(T-1)的T个VLAN ID;T的值为2的(Li+1+...+Ln)次方;L1+L2+...Ln=L,L为一个VLAN ID占用的bit位数;Li为第i预设bit位长,i=1、...n。
相应地,
在步骤201中,所述针对每个VLAN ID组,生成该组VLAN ID对应的关联于该一级接口表项的多级子接口表,将所述任一子接口的业务存储到该多级子接口表中的方法具体可以为:
假设该组VLAN ID满足第j条件,则当该一级接口表项下挂有第1级子接口表时,确定该第1级子接口表为该组VLAN ID对应的第1级子接口表,当该一级接口表项未下挂第1级子接口表时,生成该组VLAN ID对应的第1级子接口表,并将该第1级子接口表下挂到该一级接口表项;确定该组VLAN ID对应的第1级子接口表项,当该第1级子接口表项下挂有第2级子接口表时,确定该第2级子接口表为该组VLAN ID对应的第2级子接口表,当该第1级子接口表项未下挂第2级子接口表时,生成该组VLAN ID对应的第2级子接口表,并将该第2级子接口表下挂到该第1级子接口表项;依次类推,直到确定该组VLANID对应的第j级子接口表项,将所述任一子接口的业务存储到该第j级子接口表项中;其中,j=1、...、n。
在步骤202中,所述确定报文的第二层VLAN ID所属VLAN ID组对应的关联于该一级接口表项的多级子接口表,根据该多级子接口表中存储的子接口业务对报文进行QinQ终结处理的方法为:确定该一级接口表项下挂的第1级子接口表以及报文的第二层VLAN ID对应的第1级子接口表项,判断该第1级子接口表项中是否存储有子接口业务,若是,则根据该子接口业务对报文进行QinQ终结处理,若否,则确定该第1级子接口表项下挂的第2级子接口表以及报文的第二层VLAN ID对应的第2级子接口表项,并再次判断该第2级子接口表项中是否存储有子接口业务,依次类推,直到确定报文的第二层VLAN ID对应的存储有子接口业务的子接口表项,并根据该子接口表项中存储的子接口业务对报文进行QinQ终结处理。
第二种:不考虑QinQ终结的第二层VLAN ID的分布情况,直接将每个VLAN ID看作一组,各VLAN ID之间互不影响,这种情况下,针对每组VLANID生成的多级子接口表的级数是固定的,均为n级。
这种情况下,所述按照预设规则接收到的QinQ终结的所有第二层VLAN ID进行VLAN ID分组的方法具体可以为:将该QinQ终结的所有第二层VLAN ID中的每个VLAN ID划分为一组;
相应地,
在步骤201中,所述针对每个VLAN ID组,生成该组VLAN ID对应的关联于该一级接口表项的多级子接口表,将所述任一子接口的业务存储到该多级子接口表中的方法具体可以为:
当该一级接口表项下挂有第1级子接口表时,将该第1级子接口表确定为该VLAN ID对应的第1级子接口表,当该一级接口表项未下挂第1级子接口表时,生成该VLAN ID对应的第1级子接口表,将该第1级子接口表下挂到该一级接口表项;确定该VLAN ID对应的第1级子接口表项;
当该第1级子接口表项下挂有第2级子接口表时,将该第2级子接口表确定为该VLAN ID对应的第2级子接口表,当该第1级子接口表项未下挂第2级子接口表时,生成该VLAN ID对应的第2级子接口表,将该第2级子接口表下挂到该第1级子接口表项;再次确定该VLAN ID对应的第2级子接口表项;
依次类推,直到确定该VLAN ID对应的第n级子接口表项,并将所述任一子接口的业务存储到该第n级子接口表项;其中,n为预设最大子接口表级数。
在步骤202中,所述所述确定报文的第二层VLAN ID所属VLAN ID组对应的关联于该一级接口表项的多级子接口表,根据该多级子接口表中存储的子接口业务对报文进行QinQ终结处理的方法为:确定该一级接口表项下挂的第1级子接口表以及报文的第二层VLAN ID对应的第1级子接口表项;确定该第1级子接口表项下挂的第2级子接口表以及报文的第二层VLAN ID对应的第2级子接口表项;依次类推,直到确定报文的第二层VLAN ID对应的第n级子接口表项,并根据该第n级子接口表项中存储的子接口业务对报文进行QinQ终结处理。
在实际应用中,配置在子接口上的QinQ终结是可以变化的,当用户需要改变原有的QinQ终结,可以针对该子接口重新配置QinQ终结并下发。用户针对任一子接口新配置的QinQ终结和该子接口上已配置的QinQ终结之间存在两种情况:
第一种情况:新配置的QinQ终结的第一层VLAN ID与已配置的QinQ终结的第一层VLAN ID不相同。这种情况下,需要返回告警信息给用户,如果用户确认新配置的QinQ终结无误,则需要先删除已配置在该子接口上的QinQ终结,然后再重新下发新配置的QinQ终结。可以通过发送针对该子接口上的QinQ终结的删除命令的方式删除已配置在该子接口上的QinQ终结。
第二种情况:新配置的QinQ终结的第一层VLAN ID和已配置的QinQ终结的第二层VLAN ID相同。这种情况下,新配置的QinQ终结的第二层VLAN ID包括已配置的QinQ终结的所有VLAN ID以及新增的第二层VLAN ID;需要对新增的所有第二层VLAN ID进行VLAN ID分组,针对每组VLAN ID,生成该组VLAN ID对应的多级子接口表,并存储该子接口的业务到该多级子接口表中。
因此,在步骤201中,所述接收到针对所述主接口的任一子接口配置的QinQ终结之后,确定接收到的QinQ终结的第一层VLAN ID对应的一级接口表项之前,还需要进一步包括:
判断所述任一子接口上是否已配置QinQ终结,如果否,则确定接收到的QinQ终结的第一层VLAN ID对应的一级接口表项;如果是,则判断接收到的QinQ终结和已配置的QinQ终结的第一层VLAN ID是否相同,若否,则返回告警消息,若是,则将新增的所有第二层VLAN ID进行VLAN ID分组,针对每组VLAN ID,生成该组VLAN ID对应的关联于该一级接口表项的多级子接口表,并存储所述任一子接口的业务到该多级子接口表中。
实际上,如果是采用第一种按照预设规则对新增的第二层VLAN ID进行VLAN ID分组的方法,则在生成每组VLAN ID对应的多级子接口表,并存储所述任一子接口的业务到该多级子接口表中的过程中,还需要涉及到子接口表的删除操作。
具体地,当确定接收到QinQ终结的第一层VLAN ID和已配置的QinQ终结的第一层VLAN ID相同之后,可以将接收到的QinQ终结的所有第二层VLANID中除已配置的QinQ终结的所有第二层VLAN ID外的所有VLAN ID记为新增第二层VLAN ID,将新增的所有第二层VLAN ID进行VLAN ID分组,针对每个VLAN ID组,生成该组VLAN ID对应的关联于该一级接口表项的多级子接口表,将该多级子接口表的最后一级子接口表记为第x级子接口表,判断该第x级子接口表中除该组VLAN ID对应的子接口表项外是否存在未存储有所述任一子接口的业务的子接口表项,若是,则将所述任一子接口的业务存储到该组VLANID对应的第x级子接口表项中,若否,则确定下挂该第x级子接口表的第x-1级子接口表项,并删除该第x级子接口表,再次判断该第x-1级子接口表中中除该组VLAN ID对应的子接口表项外是否存在未存储有所述任一子接口的业务的子接口表项,依次类推,直到确定第x’级子接口表,该第x’级子接口表中除该组VLAN ID对应的子接口表项外存在未存储所述任一子接口的业务的子接口表项,将所述任一子接口的业务存储到该组VLANID对应的第x’级子接口表项中;其中,x’为小于或者等于x的自然数,x为大于1,且小于或者等于n的自然数。
如果是采用第二种按照预设规则对新增的第二层VLAN ID进行VLAN ID分组的方法,则在生成每组VLAN ID对应的多级子接口表,并存储所述任一子接口的业务到该多级子接口表中的过程中,不涉及到子接口表的删除操作。
具体地,当确定接收到QinQ终结的第一层VLAN ID和已配置的QinQ终结的第一层VLAN ID相同之后,可以将接收到的QinQ终结的所有第二层VLANID中除已配置的QinQ终结的所有第二层VLAN ID外的所有VLAN ID记为新增第二层VLAN ID,将新增的所有第二层VLAN ID的每个VLAN ID划分为一组,针对每个VLAN ID组,生成该组VLAN ID对应的关联于该一级接口表项的多级子接口表,并将所述任一子接口的业务存储到该组VLAN ID对应的多级子接口表中。
在上述本发明实施例中,当确定接收到针对任一子接口配置的QinQ终结与所述任一子接口上已配置的QinQ终结的第一层VLAN ID不相同之后,如果用户确定需要将接收到的QinQ终结生效,则需要先发送针对所述任一子接口上已配置的QinQ终结的删除命令。
这样,当接收到用户的针对所述任一子接口上已配置的QinQ终结的删除命令,则可以对已配置的QinQ终结执行删除操作,具体包括:确定已配置的QinQ终结的第一层VLAN ID确定对应的一级接口表项,针对已配置的QinQ终结的所有第二层VLAN ID划分后的每个VLAN ID组,确定该组VLAN ID对应的关联于该一级接口表项的多级子接口表,将该多级子接口表的最后一级子接口表记为第y级子接口表,删除该组VLAN ID对应的第y级子接口表项中存储的所述任一子接口的业务,判断该第y级子接口表中是否存在存储有其他子接口业务或下挂有第y+1级子接口表的子接口表项,若否,则确定下挂该第y级子接口表的第y-1级子接口表项,并删除该第y级子接口表,再次判断该第y-1级子接口表中是否存在存储有其他子接口业务或下挂有第y级子接口表的子接口表项,依次类推,直到确定存在存储有其他子接口业务或下挂有下级子接口表的子接口表;其中,y为大于1,且小于或者等于n的自然数。
在上述本发明实施例中,所述生成该组VLAN ID对应的第i级子接口表的方法具体可以为:根据第i预设bit串长Li,生成包含2的Li次方个第i级子接口表项的子接口表。所述确定该组VLAN ID对应的第i级子接口表项的方法具体可以为:确定该组VLAN ID对应于第i预设bit串长Li的bit串值,将该bit串值对应的第i级子接口表项确定为该组VLAN ID对应的第i级子接口表项。
下面结合图3、4、5,以最大预设子接口表级数n为2,且第1预设bit串长L1和第2预设bit串长L2均为6,并采用第一种按照预设规则对第二层VLAN ID进行VLAN ID分组的方法为例,对图2所示本发明实施例进行举例说明。
图3是本发明实施例在子接口上配置明确的QinQ终结时实现QinQ终结的方法示意图。假设在主接口上配置有子接口1,已经为主接口分配了一级接口表,如果接收到针对子接口1配置的明确的QinQ终结,且该明确的QinQ终结的第一层VLAN ID为1,第二层VLAN ID为65,则:
首先确定该QinQ终结的第一层VLAN ID对应的一级接口表项:
第一层VLAN ID为1,因此对应的一级接口表项为图3的一级接口表中VLAN ID=1所代表的一级接口表项(这里假设该一级接口表项未下挂第1级子接口表);
接着,再对该QinQ终结的所有第二层VLAN ID进行VLAN ID分组,得到满足第2条件的一组VLAN ID,该组VLAN ID中只有一个VLAN ID:65,可以生成该组VLAN ID对应的关联于一级接口表中VLAN ID=1所代表的一级接口表项的多级子接口表,具体过程为:
65所占用的12个bit位000001000001,因此,对应于第1预设bit串长Li的bit串为000001,值为1;对应于第2预设bit串长L2的bit串为000001值为1。
先生成第1级子接口表,包括2的6次方个第1级子接口表项,并将该第1级子接口表下挂到VLAN ID=1所代表的一级接口表项;由于对应于第1预设bit串长的bit串值为1,因该组VLAN ID对应的第1级子接口表项为图3的第1级接口表中VLAN ID=1所代表的第1级子接口表项;
再继续生成第2级子接口表,包括2的6次方个第2级子接口表项,并将该第2级子接口表下挂到VLAN ID=1所代表的第1级子接口表项;由于对应于第2预设bit串长的bit串值为1,因此该组VLAN ID对应的第2级子接口表项为图3的第2级接口表中VLAN ID=1所代表的第2级子接口表项;至此,多级子接口表生成,需要将子接口1的业务存储到该第2级子接口表项中。
这样,当在主接口上接收到第一层VLAN ID为1,第二层VLAN ID为65的报文时,可以通过查表定位到该第2级子接口表项,并根据该第2级子接口表项中存储的子接口业务对报文进行QinQ终结处理。
图4是本发明实施例在子接口上配置模糊的QinQ终结时实现QinQ终结的方法示意图。假设已经为主接口分配了一级接口表,如果接收到针对子接口1配置的模糊的QinQ终结,且该QinQ终结的第一层VLAN ID为1,第二层VLAN ID包括65-127,则:
首先确定该QinQ终结的第一层VLAN ID对应的一级接口表项为图4的一级接口表中VLAN ID=1所代表的一级接口表项;
接着,再对该QinQ终结的所有第二层VLAN ID进行VLAN ID分组,65-127共63个VLAN ID中,不存在满足第1条件的一组或多组VLAN ID,共有满足第2条件的63组VLAN ID,针对每组VLAN ID,生成该VLAN ID对应的关联于该一级接口表项的多级子接口表并存储接口1的业务的原理与图3中生成每组VLAN ID对应的多级接口表并存储子接口1的业务的原理相同。最终,生成的多级子接口表如图4所示,其中,各组VLAN ID对应的第1级子接口表和第1级子接口表项均相同,为图4的第1级子接口表中VLAN ID=1所代表的第1级子接口表项(如图4的第1级子接口表中划斜线的子接口表项所示),各组VLAN ID对应的第2级子接口表相同,第2级子接口表项分别为第2级子接口表中VLAN ID=1到VLAN ID=63之间的第2级子接口表项(如图4的第2级子接口表中划斜线的部分子接口表项所示)。
这样,当接收到第一层VLAN ID为1,第二层VLAN ID为65-127中的任一个的报文时,均能最终确定对应的第2级子接口表中的第2级子接口表项,并根据相应的第2级子接口表项中存储的子接口1的业务,对报文执行QinQ终结处理。
图5是本发明实施例在子接口上先后两次配置QinQ终结时实现QinQ终结的数据架构示意图。假设已经为主接口1分配了一级接口表,如果先接收到针对子接口1配置的模糊的QinQ终结,且该QinQ终结的第一层VLAN ID为1,第二层VLAN ID包括65-127,且已经确定该QinQ终结的第一层VLANID对应的一级接口表项,并生成了划分该QinQ终结的所有第二层VLAN ID得到的每组VLAN ID对应的关联于该一级接口表项的多级子接口表,详细过程请参见图4所示本发明实施例。
再次接收到针对子接口1上配置的QinQ终结时,假设该QinQ终结为模糊的QinQ终结,第一层VLAN ID为1,第二层VLAN ID包括:64-127,则,由于接收到的QinQ终结和已配置的QinQ终结的第一层VLAN ID相同,因此,需要确定新增的第二层VLAN ID为64、分组后得到满足第2条件的只包括64的一组VLAN ID,需要针对该组VLAN ID生成多级子接口表。
其中,该组VLAN ID对应的第1级子接口表和第2级子接口表均已经存在,该组VLAN ID对应的第1级子接口表项为图5所示的第1级子接口表中VLAN ID=1的子接口表项,该组VLAN ID对应的第2级子接口表项为图5所示的第2级子接口表中VLAN ID=0的子接口表项,除了该VLAN=0的第2级子接口表项外,该第2级子接口表中的所有其他第2级子接口表项中均存储有子接口1的业务,因此,需要确定下挂该第2级子接口表的第1级子接口表项,并删除该第2级子接口表(图5中的第2级子接口表用虚线画出,表示该第2级子接口表最终被删除),将子接口1的业务存储到该第1级子接口表项。
这样,当接收到第一层VLAN ID为1,第二层VLAN ID为64-127中的任一个的报文时,均能最终确定对应的存储有子接口1的业务的子接口表项为图5所示的第1级子接口表中VLAN ID=1的第1级子接口表项,并根据该子接口表项中存储的子接口1的业务,对报文执行QinQ终结处理。
以上对本发明实现QinQ终结的方法进行了详细说明,本发明还提供了一种实现QinQ的装置。
参见图6,图6是本发明实施例实现QinQ终结的装置结构图,该装置包括:存储单元601、收发单元602、建表单元603、查表单元604;其中,
存储单元601,用于预先为所述主接口分配一级接口表以及各级子接口表;
收发单元602、用于接收针对所述主接口的任一子接口配置的QinQ终结;用于在所述主接口上接收需要进行QinQ终结处理的报文;
建表单元603,用于在收发单元602接收到针对所述主接口的任一子接口配置的QinQ终结后,确定接收到的QinQ终结的第一层VLAN ID对应的一级接口表项,按照预设规则接收到的QinQ终结的所有第二层VLAN ID进行VLANID分组,针对每个VLAN ID组,生成该组VLAN ID对应的关联于该一级接口表项的多级子接口表,将所述任一子接口的业务存储到该多级子接口表中;
查表单元604,用于在收发单元602在所述主接口上接收到需要进行QinQ终结处理的报文后,确定报文的第一层VLAN ID对应的一级接口表项,确定报文的第二层VLAN ID所属VLAN ID组对应的关联于该一级接口表项的多级子接口表,根据该多级子接口表中存储的子接口业务对报文进行QinQ终结处理。
在上述装置中,
所述建表单元603在按照预设规则接收到的QinQ终结的所有第二层VLANID进行VLAN ID分组时,用于:
确定该QinQ终结的所有第二层VLAN ID中是否存在满足第1条件的一组或多组VLAN ID,如果是,则将满足第1条件的每组VLAN ID划分为一组;
确定该QinQ终结的所有第二层VLAN ID中除上述满足第1条件的一组或多组VLAN ID外是否存在满足第2条件的一组或多组VLAN ID,如果是,则将满足第2条件的每组VLAN ID划分为一组;
依次类推,直到将该QinQ终结的所有第二层VLAN ID全部划分完毕;
其中,第i条件为:该QinQ终结的第二层VLAN ID集合除满足第1条件、...第i-1条件的一组或多组VLAN ID外存在高(L1+...+Li)个bit位相同,且低(Li+1+...+Ln)个bit位的值分别为从0到(T-1)的T个VLAN ID;T的值为2的(Li+1+...+Ln)次方;L1+L2+...Ln=L,L为一个VLAN ID占用的bit位数;Li为第i预设bit位长,i=1、...n;n为预设最大子接口表级数;
所述建表单元603在针对每个VLAN ID组,生成该组VLAN ID对应的关联于该一级接口表项的多级子接口表,将所述任一子接口的业务存储到该多级子接口表中时,用于:
假设该组VLAN ID满足第j条件,则当该一级接口表项下挂有第1级子接口表时,确定该第1级子接口表为该组VLAN ID对应的第1级子接口表,当该一级接口表项未下挂第1级子接口表时,生成该组VLAN ID对应的第1级子接口表,并将该第1级子接口表下挂到该一级接口表项;确定该组VLAN ID对应的第1级子接口表项,当该第1级子接口表项下挂有第2级子接口表时,确定该第2级子接口表为该组VLAN ID对应的第2级子接口表,当该第1级子接口表项未下挂第2级子接口表时,生成该组VLAN ID对应的第2级子接口表,并将该第2级子接口表下挂到该第1级子接口表项;依次类推,直到确定该组VLANID对应的第j级子接口表项,将所述任一子接口的业务存储到该第j级子接口表项中;其中,j=1、...、n。
所述建表单元603在收发单元602接收到针对所述任一子接口配置的QinQ终结之后,确定接收到的QinQ终结的第一层VLAN ID对应的一级接口表项之前,进一步用于:
判断所述任一子接口上是否已配置QinQ终结,如果否,则确定接收到的QinQ终结的第一层VLAN ID对应的一级接口表项;如果是,则判断接收到的QinQ终结和已配置的QinQ终结的第一层VLAN ID是否相同,若否,则通知收发单元602返回告警消息,若是,则将接收到的QinQ终结的所有第二层VLANID中除已配置的QinQ终结的所有第二层VLAN ID外的所有VLAN ID记为新增第二层VLAN ID,将新增的所有第二层VLAN ID进行VLAN ID分组,针对每个VLAN ID组,生成该组VLAN ID对应的关联于该一级接口表项的多级子接口表,将该多级子接口表的最后一级子接口表记为第x级子接口表,判断该第x级子接口表中除该组VLAN ID对应的子接口表项外是否存在未存储有所述任一子接口的业务的子接口表项,若是,则将所述任一子接口的业务存储到该组VLANID对应的第x级子接口表项中,若否,则确定下挂该第x级子接口表的第x-1级子接口表项,并删除该第x级子接口表,再次判断该第x-1级子接口表中中除该组VLAN ID对应的子接口表项外是否存在未存储有所述任一子接口的业务的子接口表项,依次类推,直到确定第x’级子接口表,该第x’级子接口表中除该组VLAN ID对应的子接口表项外的存在未存储所述任一子接口的业务的子接口表项,将所述任一子接口的业务存储到该组VLANID对应的第x’级子接口表项中;其中,x’为小于或者等于x的自然数,x为大于1,且小于或者等于n的自然数;
所述收发单元602,用于根据建表单元603的通知返回告警信息。
所述查表单元604在确定报文的第二层VLAN ID所属VLAN ID组对应的关联于该一级接口表项的多级子接口表,根据该多级子接口表中存储的子接口业务对报文进行QinQ终结处理时,用于:确定该一级接口表项下挂的第1级子接口表以及报文的第二层VLAN ID对应的第1级子接口表项,判断该第1级子接口表项中是否存储有子接口业务,若是,则根据该子接口业务对报文进行QinQ终结处理,若否,则确定该第1级子接口表项下挂的第2级子接口表以及报文的第二层VLAN ID对应的第2级子接口表项,并再次判断该第2级子接口表项中是否存储有子接口业务,依次类推,直到确定报文的第二层VLAN ID对应的存储有子接口业务的子接口表项,并根据该子接口表项中存储的子接口业务对报文进行QinQ终结处理。
在上述装置中,所述建表单元603在按照预设规则接收到的QinQ终结的所有第二层VLAN ID进行VLAN ID分组时,用于:将该QinQ终结的所有第二层VLAN ID中的每个VLAN ID划分为一组;
所述建表单元603在针对每个VLAN ID组,生成该组VLAN ID对应的关联于该一级接口表项的多级子接口表,将所述任一子接口的业务存储到该多级子接口表中时,用于:
当该一级接口表项下挂有第1级子接口表时,将该第1级子接口表确定为该VLAN ID对应的第1级子接口表,当该一级接口表项未下挂第1级子接口表时,生成该VLAN ID对应的第1级子接口表,将该第1级子接口表下挂到该一级接口表项;确定该VLAN ID对应的第1级子接口表项;
当该第1级子接口表项下挂有第2级子接口表时,将该第2级子接口表确定为该VLAN ID对应的第2级子接口表,当该第1级子接口表项未下挂第2级子接口表时,生成该VLAN ID对应的第2级子接口表,将该第2级子接口表下挂到该第1级子接口表项;再次确定该VLAN ID对应的第2级子接口表项;
依次类推,直到确定该VLAN ID对应的第n级子接口表项,并将所述任一子接口的业务存储到该第n级子接口表项;其中,n为预设最大子接口表级数。
所述建表单元603在收发单元602接收到针对所述任一子接口配置的QinQ终结之后,确定接收到的QinQ终结的第一层VLAN ID对应的一级接口表项之前,进一步用于:
判断所述任一子接口上是否已配置QinQ终结,如果否,则确定接收到的QinQ终结的第一层VLAN ID对应的一级接口表项;如果是,则判断接收到的QinQ终结和已配置的QinQ终结的第一层VLAN ID是否相同,若否,则通知收发单元602返回告警消息,若是,则将接收到的QinQ终结的所有第二层VLANID中除已配置的QinQ终结的所有第二层VLAN ID外的所有VLAN ID记为新增第二层VLAN ID,将新增的所有第二层VLAN ID的每个VLAN ID划分为一组,针对每个VLAN ID组,生成该组VLAN ID对应的关联于该一级接口表项的多级子接口表,并将所述任一子接口的业务存储到该组VLAN ID对应的多级子接口表中;
所述收发单元602,用于根据建表单元603的通知返回告警信息。
所述查表单元604在确定报文的第二层VLAN ID所属VLAN ID组对应的关联于该一级接口表项的多级子接口表,根据该多级子接口表中存储的子接口业务对报文进行QinQ终结处理时,用于:确定该一级接口表项下挂的第1级子接口表以及报文的第二层VLAN ID对应的第1级子接口表项;确定该第1级子接口表项下挂的第2级子接口表以及报文的第二层VLAN ID对应的第2级子接口表项;依次类推,直到确定报文的第二层VLAN ID对应的第n级子接口表项,并根据该第n级子接口表项中存储的子接口业务对报文进行QinQ终结处理。
所述收发单元602在根据建表单元603的通知返回告警信息之后,进一步用于:接收针对所述任一子接口上已配置的QinQ终结的删除命令;
所述建表单元603在确定所述任一子接口上已配置的QinQ终结和接收到的QinQ终结的第一层VLAN ID不相同,并通知收发单元602返回告警消息之后,进一步用于:如果收发单元602接收到针对所述任一子接口上已配置的QinQ终结的删除命令,则确定已配置的QinQ终结的第一层VLAN ID确定对应的一级接口表项,针对已配置的QinQ终结的所有第二层VLAN ID划分后的每个VLANID组,确定该组VLAN ID对应的关联于该一级接口表项的多级子接口表,将该多级子接口表的最后一级子接口表记为第y级子接口表,删除该组VLAN ID对应的第y级子接口表项中存储的所述任一子接口的业务,判断该第y级子接口表中是否存在存储有其他子接口业务或下挂有第y+1级子接口表的子接口表项,若否,则确定下挂该第y级子接口表的第y-1级子接口表项,并删除该第y级子接口表,再次判断该第y-1级子接口表中是否存在存储有其他子接口业务或下挂有第y级子接口表的子接口表项,依次类推,直到确定存在存储有其他子接口业务或下挂有下级子接口表的子接口表;其中,y为大于1,且小于或者等于n的自然数。
所述建表单元603在生成该组VLAN ID对应的第i级子接口表时,用于:根据第i预设bit串长Li,生成包含2的Li次方个第i级子接口表项的子接口表;
所述建表单元603在确定该组VLAN ID对应的第i级子接口表项时,用于:确定该组VLAN ID对应于第i预设bit串长Li的bit串值,将该bit串值对应的第i级子接口表项确定为该组VLAN ID对应的第i级子接口表项。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (18)

1.一种实现QinQ终结的方法,应用于主接口,其特征在于,预先为所述主接口分配一级接口表;该方法包括:
接收到针对所述主接口的任一子接口配置的QinQ终结时,确定接收到的QinQ终结的第一层VLAN ID对应的一级接口表项,按照预设规则接收到的QinQ终结的所有第二层VLAN ID进行VLAN ID分组,针对每个VLAN ID组,生成该组VLAN ID对应的关联于该一级接口表项的多级子接口表,将所述任一子接口的业务存储到该多级子接口表中;
在所述主接口上接收到需要进行QinQ终结处理的报文时,确定报文的第一层VLAN ID对应的一级接口表项,确定报文的第二层VLAN ID所属VLAN ID组对应的关联于该一级接口表项的多级子接口表,根据该多级子接口表中存储的子接口业务对报文进行QinQ终结处理。
2.根据权利要求1所述的实现QinQ终结的方法,其特征在于,
所述按照预设规则接收到的QinQ终结的所有第二层VLAN ID进行VLANID分组的方法为:
确定该QinQ终结的所有第二层VLAN ID中是否存在满足第1条件的一组或多组VLAN ID,如果是,则将满足第1条件的每组VLAN ID划分为一组;
确定该QinQ终结的所有第二层VLAN ID中除上述满足第1条件的一组或多组VLAN ID外是否存在满足第2条件的一组或多组VLAN ID,如果是,则将满足第2条件的每组VLAN ID划分为一组;
依次类推,直到将该QinQ终结的所有第二层VLAN ID全部划分完毕;
其中,第i条件为:该QinQ终结的第二层VLAN ID集合除满足第1条件、...第i-1条件的一组或多组VLAN ID外存在高(L1+...+Li)个bit位相同,且低(Li+1+...+Ln)个bit位的值分别为从0到(T-1)的T个VLAN ID;T的值为2的(Li+1+...+Ln)次方;L1+L2+...Ln=L,L为一个VLAN ID占用的bit位数;Li为第i预设bit位长,i=1、...n;n为预设最大子接口表级数;
所述针对每个VLAN ID组,生成该组VLAN ID对应的关联于该一级接口表项的多级子接口表,将所述任一子接口的业务存储到该多级子接口表中的方法为:
假设该组VLAN ID满足第j条件,则当该一级接口表项下挂有第1级子接口表时,确定该第1级子接口表为该组VLAN ID对应的第1级子接口表,当该一级接口表项未下挂第1级子接口表时,生成该组VLAN ID对应的第1级子接口表,并将该第1级子接口表下挂到该一级接口表项;确定该组VLAN ID对应的第1级子接口表项,当该第1级子接口表项下挂有第2级子接口表时,确定该第2级子接口表为该组VLAN ID对应的第2级子接口表,当该第1级子接口表项未下挂第2级子接口表时,生成该组VLAN ID对应的第2级子接口表,并将该第2级子接口表下挂到该第1级子接口表项;依次类推,直到确定该组VLANID对应的第j级子接口表项,将所述任一子接口的业务存储到该第j级子接口表项中;其中,j=1、...、n。
3.根据权利要求2所述的实现QinQ终结的方法,其特征在于,
接收到针对所述任一子接口配置的QinQ终结之后,确定接收到的QinQ终结的第一层VLAN ID对应的一级接口表项之前,进一步包括:
判断所述任一子接口上是否已配置QinQ终结,如果否,则确定接收到的QinQ终结的第一层VLAN ID对应的一级接口表项;如果是,则判断接收到的QinQ终结和已配置的QinQ终结的第一层VLAN ID是否相同,若否,则返回告警消息,若是,则将接收到的QinQ终结的所有第二层VLAN ID中除已配置的QinQ终结的所有第二层VLAN ID外的所有VLAN ID记为新增第二层VLANID,将新增的所有第二层VLAN ID进行VLAN ID分组,针对每个VLAN ID组,生成该组VLAN ID对应的关联于该一级接口表项的多级子接口表,将该多级子接口表的最后一级子接口表记为第x级子接口表,判断该第x级子接口表中除该组VLAN ID对应的子接口表项外是否存在未存储有所述任一子接口的业务的子接口表项,若是,则将所述任一子接口的业务存储到该组VLANID对应的第x级子接口表项中,若否,则确定下挂该第x级子接口表的第x-1级子接口表项,并删除该第x级子接口表,再次判断该第x-1级子接口表中中除该组VLAN ID对应的子接口表项外是否存在未存储有所述任一子接口的业务的子接口表项,依次类推,直到确定第x’级子接口表,该第x’级子接口表中除该组VLAN ID对应的子接口表项外的存在未存储所述任一子接口的业务的子接口表项,将所述任一子接口的业务存储到该组VLANID对应的第x’级子接口表项中;其中,x’为小于或者等于x的自然数,x为大于1,且小于或者等于n的自然数。
4.根据权利要求3所述的实现QinQ终结的方法,其特征在于,
所述确定报文的第二层VLAN ID所属VLAN ID组对应的关联于该一级接口表项的多级子接口表,根据该多级子接口表中存储的子接口业务对报文进行QinQ终结处理的方法为:确定该一级接口表项下挂的第1级子接口表以及报文的第二层VLAN ID对应的第1级子接口表项,判断该第1级子接口表项中是否存储有子接口业务,若是,则根据该子接口业务对报文进行QinQ终结处理,若否,则确定该第1级子接口表项下挂的第2级子接口表以及报文的第二层VLANID对应的第2级子接口表项,并再次判断该第2级子接口表项中是否存储有子接口业务,依次类推,直到确定报文的第二层VLAN ID对应的存储有子接口业务的子接口表项,并根据该子接口表项中存储的子接口业务对报文进行QinQ终结处理。
5.根据权利要求1所述的实现QinQ终结的方法,其特征在于,
所述按照预设规则接收到的QinQ终结的所有第二层VLAN ID进行VLANID分组的方法为:将该QinQ终结的所有第二层VLAN ID中的每个VLAN ID划分为一组;
所述针对每个VLAN ID组,生成该组VLAN ID对应的关联于该一级接口表项的多级子接口表,将所述任一子接口的业务存储到该多级子接口表中的方法为:
当该一级接口表项下挂有第1级子接口表时,将该第1级子接口表确定为该VLAN ID对应的第1级子接口表,当该一级接口表项未下挂第1级子接口表时,生成该VLAN ID对应的第1级子接口表,将该第1级子接口表下挂到该一级接口表项;确定该VLAN ID对应的第1级子接口表项;
当该第1级子接口表项下挂有第2级子接口表时,将该第2级子接口表确定为该VLAN ID对应的第2级子接口表,当该第1级子接口表项未下挂第2级子接口表时,生成该VLAN ID对应的第2级子接口表,将该第2级子接口表下挂到该第1级子接口表项;再次确定该VLAN ID对应的第2级子接口表项;
依次类推,直到确定该VLAN ID对应的第n级子接口表项,并将所述任一子接口的业务存储到该第n级子接口表项;其中,n为预设最大子接口表级数。
6.根据权利要求5所述的实现QinQ终结的方法,其特征在于,
接收到针对所述任一子接口配置的QinQ终结之后,确定接收到的QinQ终结的第一层VLAN ID对应的一级接口表项之前,进一步包括:
判断所述任一子接口上是否已配置QinQ终结,如果否,则确定接收到的QinQ终结的第一层VLAN ID对应的一级接口表项;如果是,则判断接收到的QinQ终结和已配置的QinQ终结的第一层VLAN ID是否相同,若否,则返回告警消息,若是,则将接收到的QinQ终结的所有第二层VLAN ID中除已配置的QinQ终结的所有第二层VLAN ID外的所有VLAN ID记为新增第二层VLANID,将新增的所有第二层VLAN ID的每个VLAN ID划分为一组,针对每个VLAN ID组,生成该组VLAN ID对应的关联于该一级接口表项的多级子接口表,并将所述任一子接口的业务存储到该组VLAN ID对应的多级子接口表中。
7.根据权利要求6所述的实现QinQ终结的方法,其特征在于,
所述确定报文的第二层VLAN ID所属VLAN ID组对应的关联于该一级接口表项的多级子接口表,根据该多级子接口表中存储的子接口业务对报文进行QinQ终结处理的方法为:确定该一级接口表项下挂的第1级子接口表以及报文的第二层VLAN ID对应的第1级子接口表项;确定该第1级子接口表项下挂的第2级子接口表以及报文的第二层VLAN ID对应的第2级子接口表项;依次类推,直到确定报文的第二层VLAN ID对应的第n级子接口表项,并根据该第n级子接口表项中存储的子接口业务对报文进行QinQ终结处理。
8.根据权利要求3、4、6或7所述的实现QinQ终结的方法,其特征在于,
确定所述任一子接口上已配置的QinQ终结和接收到的QinQ终结的第一层VLAN ID不相同,并返回告警消息之后,进一步包括:如果接收到针对所述任一子接口上已配置的QinQ终结的删除命令,则确定已配置的QinQ终结的第一层VLAN ID确定对应的一级接口表项,针对已配置的QinQ终结的所有第二层VLAN ID划分后的每个VLAN ID组,确定该组VLAN ID对应的关联于该一级接口表项的多级子接口表,将该多级子接口表的最后一级子接口表记为第y级子接口表,删除该组VLAN ID对应的第y级子接口表项中存储的所述任一子接口的业务,判断该第y级子接口表中是否存在存储有其他子接口业务或下挂有第y+1级子接口表的子接口表项,若否,则确定下挂该第y级子接口表的第y-1级子接口表项,并删除该第y级子接口表,再次判断该第y-1级子接口表中是否存在存储有其他子接口业务或下挂有第y级子接口表的子接口表项,依次类推,直到确定存在存储有其他子接口业务或下挂有下级子接口表的子接口表;其中,y为大于1,且小于或者等于n的自然数。
9.根据权利要求2-7任一权利要求所述的实现QinQ终结的方法,其特征在于,
生成该组VLAN ID对应的第i级子接口表的方法为:根据第i预设bit串长Li,生成包含2的Li次方个第i级子接口表项的子接口表;
确定该组VLAN ID对应的第i级子接口表项的方法为:确定该组VLAN ID对应于第i预设bit串长Li的bit串值,将该bit串值对应的第i级子接口表项确定为该组VLAN ID对应的第i级子接口表项。
10.一种实现QinQ终结的装置,应用于主接口,其特征在于,该装置包括:存储单元、收发单元、建表单元、查表单元;
所述存储单元,用于存储预先为所述主接口分配一级接口表以及各级子接口表;
所述收发单元、用于接收针对所述主接口的任一子接口配置的QinQ终结;用于在所述主接口上接收需要进行QinQ终结处理的报文;
所述建表单元,用于在收发单元接收到针对所述主接口的任一子接口配置的QinQ终结后,确定接收到的QinQ终结的第一层VLAN ID对应的一级接口表项,按照预设规则接收到的QinQ终结的所有第二层VLAN ID进行VLAN ID分组,针对每个VLAN ID组,生成该组VLAN ID对应的关联于该一级接口表项的多级子接口表,将所述任一子接口的业务存储到该多级子接口表中;
所述查表单元,用于在收发单元在所述主接口上接收到需要进行QinQ终结处理的报文后,确定报文的第一层VLAN ID对应的一级接口表项,确定报文的第二层VLAN ID所属VLAN ID组对应的关联于该一级接口表项的多级子接口表,根据该多级子接口表中存储的子接口业务对报文进行QinQ终结处理。
11.根据权利要求10所述的实现QinQ终结的装置,其特征在于,
所述建表单元在按照预设规则接收到的QinQ终结的所有第二层VLAN ID进行VLAN ID分组时,用于:
确定该QinQ终结的所有第二层VLAN ID中是否存在满足第1条件的一组或多组VLAN ID,如果是,则将满足第1条件的每组VLAN ID划分为一组;
确定该QinQ终结的所有第二层VLAN ID中除上述满足第1条件的一组或多组VLAN ID外是否存在满足第2条件的一组或多组VLAN ID,如果是,则将满足第2条件的每组VLAN ID划分为一组;
依次类推,直到将该QinQ终结的所有第二层VLAN ID全部划分完毕;
其中,第i条件为:该QinQ终结的第二层VLAN ID集合除满足第1条件、...第i-1条件的一组或多组VLAN ID外存在高(L1+...+Li)个bit位相同,且低(Li+1+...+Ln)个bit位的值分别为从0到(T-1)的T个VLAN ID;T的值为2的(Li+1+...+Ln)次方;L1+L2+...Ln=L,L为一个VLAN ID占用的bit位数;Li为第i预设bit位长,i=1、...n;n为预设最大子接口表级数;
所述建表单元在针对每个VLAN ID组,生成该组VLAN ID对应的关联于该一级接口表项的多级子接口表,将所述任一子接口的业务存储到该多级子接口表中时,用于:
假设该组VLAN ID满足第j条件,则当该一级接口表项下挂有第1级子接口表时,确定该第1级子接口表为该组VLAN ID对应的第1级子接口表,当该一级接口表项未下挂第1级子接口表时,生成该组VLAN ID对应的第1级子接口表,并将该第1级子接口表下挂到该一级接口表项;确定该组VLAN ID对应的第1级子接口表项,当该第1级子接口表项下挂有第2级子接口表时,确定该第2级子接口表为该组VLAN ID对应的第2级子接口表,当该第1级子接口表项未下挂第2级子接口表时,生成该组VLAN ID对应的第2级子接口表,并将该第2级子接口表下挂到该第1级子接口表项;依次类推,直到确定该组VLANID对应的第j级子接口表项,将所述任一子接口的业务存储到该第j级子接口表项中;其中,j=1、...、n。
12.根据权利要求11所述的实现QinQ终结的装置,其特征在于,所述建表单元在收发单元接收到针对所述任一子接口配置的QinQ终结之后,确定接收到的QinQ终结的第一层VLAN ID对应的一级接口表项之前,进一步用于:
判断所述任一子接口上是否已配置QinQ终结,如果否,则确定接收到的QinQ终结的第一层VLAN ID对应的一级接口表项;如果是,则判断接收到的QinQ终结和已配置的QinQ终结的第一层VLAN ID是否相同,若否,则通知收发单元返回告警消息,若是,则将接收到的QinQ终结的所有第二层VLAN ID中除已配置的QinQ终结的所有第二层VLAN ID外的所有VLAN ID记为新增第二层VLAN ID,将新增的所有第二层VLAN ID进行VLAN ID分组,针对每个VLAN ID组,生成该组VLAN ID对应的关联于该一级接口表项的多级子接口表,将该多级子接口表的最后一级子接口表记为第x级子接口表,判断该第x级子接口表中除该组VLAN ID对应的子接口表项外是否存在未存储有所述任一子接口的业务的子接口表项,若是,则将所述任一子接口的业务存储到该组VLANID对应的第x级子接口表项中,若否,则确定下挂该第x级子接口表的第x-1级子接口表项,并删除该第x级子接口表,再次判断该第x-1级子接口表中中除该组VLAN ID对应的子接口表项外是否存在未存储有所述任一子接口的业务的子接口表项,依次类推,直到确定第x’级子接口表,该第x’级子接口表中除该组VLAN ID对应的子接口表项外的存在未存储所述任一子接口的业务的子接口表项,将所述任一子接口的业务存储到该组VLANID对应的第x’级子接口表项中;其中,x’为小于或者等于x的自然数,x为大于1,且小于或者等于n的自然数;
所述收发单元,用于根据建表单元的通知返回告警信息。
13.根据权利要求12所述的实现QinQ终结的装置,其特征在于,
所述查表单元在确定报文的第二层VLAN ID所属VLAN ID组对应的关联于该一级接口表项的多级子接口表,根据该多级子接口表中存储的子接口业务对报文进行QinQ终结处理时,用于:确定该一级接口表项下挂的第1级子接口表以及报文的第二层VLAN ID对应的第1级子接口表项,判断该第1级子接口表项中是否存储有子接口业务,若是,则根据该子接口业务对报文进行QinQ终结处理,若否,则确定该第1级子接口表项下挂的第2级子接口表以及报文的第二层VLAN ID对应的第2级子接口表项,并再次判断该第2级子接口表项中是否存储有子接口业务,依次类推,直到确定报文的第二层VLAN ID对应的存储有子接口业务的子接口表项,并根据该子接口表项中存储的子接口业务对报文进行QinQ终结处理。
14.根据权利要求10所述的实现QinQ终结的装置,其特征在于,
所述建表单元在按照预设规则接收到的QinQ终结的所有第二层VLAN ID进行VLAN ID分组时,用于:将该QinQ终结的所有第二层VLAN ID中的每个VLAN ID划分为一组;
所述建表单元在针对每个VLAN ID组,生成该组VLAN ID对应的关联于该一级接口表项的多级子接口表,将所述任一子接口的业务存储到该多级子接口表中时,用于:
当该一级接口表项下挂有第1级子接口表时,将该第1级子接口表确定为该VLAN ID对应的第1级子接口表,当该一级接口表项未下挂第1级子接口表时,生成该VLAN ID对应的第1级子接口表,将该第1级子接口表下挂到该一级接口表项;确定该VLAN ID对应的第1级子接口表项;
当该第1级子接口表项下挂有第2级子接口表时,将该第2级子接口表确定为该VLAN ID对应的第2级子接口表,当该第1级子接口表项未下挂第2级子接口表时,生成该VLAN ID对应的第2级子接口表,将该第2级子接口表下挂到该第1级子接口表项;再次确定该VLAN ID对应的第2级子接口表项;
依次类推,直到确定该VLAN ID对应的第n级子接口表项,并将所述任一子接口的业务存储到该第n级子接口表项;其中,n为预设最大子接口表级数。
15.根据权利要求14所述的实现QinQ终结的装置,其特征在于,
所述建表单元在收发单元接收到针对所述任一子接口配置的QinQ终结之后,确定接收到的QinQ终结的第一层VLAN ID对应的一级接口表项之前,进一步用于:
判断所述任一子接口上是否已配置QinQ终结,如果否,则确定接收到的QinQ终结的第一层VLAN ID对应的一级接口表项;如果是,则判断接收到的QinQ终结和已配置的QinQ终结的第一层VLAN ID是否相同,若否,则通知收发单元返回告警消息,若是,则将接收到的QinQ终结的所有第二层VLAN ID中除已配置的QinQ终结的所有第二层VLAN ID外的所有VLAN ID记为新增第二层VLAN ID,将新增的所有第二层VLAN ID的每个VLAN ID划分为一组,针对每个VLAN ID组,生成该组VLAN ID对应的关联于该一级接口表项的多级子接口表,并将所述任一子接口的业务存储到该组VLAN ID对应的多级子接口表中;
所述收发单元,用于根据建表单元的通知返回告警信息。
16.根据权利要求15所述的实现QinQ终结的装置,其特征在于,
所述查表单元在确定报文的第二层VLAN ID所属VLAN ID组对应的关联于该一级接口表项的多级子接口表,根据该多级子接口表中存储的子接口业务对报文进行QinQ终结处理时,用于:确定该一级接口表项下挂的第1级子接口表以及报文的第二层VLAN ID对应的第1级子接口表项;确定该第1级子接口表项下挂的第2级子接口表以及报文的第二层VLAN ID对应的第2级子接口表项;依次类推,直到确定报文的第二层VLAN ID对应的第n级子接口表项,并根据该第n级子接口表项中存储的子接口业务对报文进行QinQ终结处理。
17.根据权利要求12、13、15或16所述的实现QinQ终结的装置,其特征在于,
所述收发单元在根据建表单元的通知返回告警信息之后,进一步用于:接收针对所述任一子接口上已配置的QinQ终结的删除命令;
所述建表单元在确定所述任一子接口上已配置的QinQ终结和接收到的QinQ终结的第一层VLAN ID不相同,并通知收发单元返回告警消息之后,进一步用于:如果收发单元接收到针对所述任一子接口上已配置的QinQ终结的删除命令,则确定已配置的QinQ终结的第一层VLAN ID确定对应的一级接口表项,针对已配置的QinQ终结的所有第二层VLAN ID划分后的每个VLAN ID组,确定该组VLAN ID对应的关联于该一级接口表项的多级子接口表,将该多级子接口表的最后一级子接口表记为第y级子接口表,删除该组VLAN ID对应的第y级子接口表项中存储的所述任一子接口的业务,判断该第y级子接口表中是否存在存储有其他子接口业务或下挂有第y+1级子接口表的子接口表项,若否,则确定下挂该第y级子接口表的第y-1级子接口表项,并删除该第y级子接口表,再次判断该第y-1级子接口表中是否存在存储有其他子接口业务或下挂有第y级子接口表的子接口表项,依次类推,直到确定存在存储有其他子接口业务或下挂有下级子接口表的子接口表;其中,y为大于1,且小于或者等于n的自然数。
18.根据权利要求11-16任一权项所述的实现QinQ终结的装置,其特征在于,
所述建表单元在生成该组VLAN ID对应的第i级子接口表时,用于:根据第i预设bit串长Li,生成包含2的Li次方个第i级子接口表项的子接口表;
所述建表单元在确定该组VLAN ID对应的第i级子接口表项时,用于:确定该组VLAN ID对应于第i预设bit串长Li的bit串值,将该bit串值对应的第i级子接口表项确定为该组VLAN ID对应的第i级子接口表项。
CN201210080322.2A 2012-03-23 2012-03-23 一种实现QinQ终结的方法和装置 Active CN102647325B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210080322.2A CN102647325B (zh) 2012-03-23 2012-03-23 一种实现QinQ终结的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210080322.2A CN102647325B (zh) 2012-03-23 2012-03-23 一种实现QinQ终结的方法和装置

Publications (2)

Publication Number Publication Date
CN102647325A true CN102647325A (zh) 2012-08-22
CN102647325B CN102647325B (zh) 2014-11-26

Family

ID=46659910

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210080322.2A Active CN102647325B (zh) 2012-03-23 2012-03-23 一种实现QinQ终结的方法和装置

Country Status (1)

Country Link
CN (1) CN102647325B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103997460A (zh) * 2014-06-04 2014-08-20 福建星网锐捷网络有限公司 实现QinQ路由终结的方法、交换芯片和交换机
CN110392999A (zh) * 2017-03-10 2019-10-29 微软技术许可有限责任公司 分布式计算系统中的虚拟过滤平台

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006094440A1 (fr) * 2005-03-08 2006-09-14 Hangzhou H3C Technologies Co., Ltd. Procede et dispositif d’echange de reseau local virtuel
CN101026532A (zh) * 2007-02-09 2007-08-29 华为技术有限公司 在QinQ子接口上实现VLL的方法、系统和设备
CN101106512A (zh) * 2007-09-03 2008-01-16 华为技术有限公司 一种QinQ终结配置的处理方法和设备
CN101227401A (zh) * 2008-02-19 2008-07-23 中兴通讯股份有限公司 数据传输系统及方法
CN101707562A (zh) * 2009-11-27 2010-05-12 中兴通讯股份有限公司 虚拟局域网堆叠接入虚拟专用线路业务的实现方法及装置
US20100260188A1 (en) * 2009-04-10 2010-10-14 Dongchen Zhou Method and device for processing qinq packet

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006094440A1 (fr) * 2005-03-08 2006-09-14 Hangzhou H3C Technologies Co., Ltd. Procede et dispositif d’echange de reseau local virtuel
CN101026532A (zh) * 2007-02-09 2007-08-29 华为技术有限公司 在QinQ子接口上实现VLL的方法、系统和设备
CN101106512A (zh) * 2007-09-03 2008-01-16 华为技术有限公司 一种QinQ终结配置的处理方法和设备
CN101227401A (zh) * 2008-02-19 2008-07-23 中兴通讯股份有限公司 数据传输系统及方法
US20100260188A1 (en) * 2009-04-10 2010-10-14 Dongchen Zhou Method and device for processing qinq packet
CN101707562A (zh) * 2009-11-27 2010-05-12 中兴通讯股份有限公司 虚拟局域网堆叠接入虚拟专用线路业务的实现方法及装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103997460A (zh) * 2014-06-04 2014-08-20 福建星网锐捷网络有限公司 实现QinQ路由终结的方法、交换芯片和交换机
CN103997460B (zh) * 2014-06-04 2017-05-17 福建星网锐捷网络有限公司 实现QinQ路由终结的方法、交换芯片和交换机
CN110392999A (zh) * 2017-03-10 2019-10-29 微软技术许可有限责任公司 分布式计算系统中的虚拟过滤平台

Also Published As

Publication number Publication date
CN102647325B (zh) 2014-11-26

Similar Documents

Publication Publication Date Title
CN104468381B (zh) 一种多域流规则匹配的实现方法
CN104580027B (zh) 一种OpenFlow报文转发方法及设备
CN105591925B (zh) 应用于sdn中的报文转发方法和设备
CN105207873B (zh) 一种报文处理方法和装置
CN103117931B (zh) 基于哈希表和tcam表的mac地址硬件学习方法及系统
CN104380658B (zh) 流分类器、业务路由触发器、报文处理的方法和系统
CN103444141B (zh) 分组调度方法和设备
CN103023827B (zh) 一种虚拟化数据中心的数据转发方法及其实现设备
CN106254256B (zh) 基于三层vxlan网关的数据报文转发方法和设备
CN102801820B (zh) 一种evi网络中mac地址发布方法和装置
CN102158421B (zh) 创建三层接口的方法及单元
CN102857414A (zh) 一种转发表写入、报文转发方法及装置
CN104780088A (zh) 一种业务报文的传输方法和设备
CN109660639A (zh) 一种数据上传方法、设备、系统及介质
CN108600074A (zh) 组播数据报文的转发方法及装置
CN102055641A (zh) 一种虚拟局域网的分配方法以及相关装置
CN106603550A (zh) 一种网络隔离方法及装置
CN114253979A (zh) 一种报文处理方法、装置及电子设备
CN109495383A (zh) 一种数据处理方法、装置、通信系统及网络设备
CN101572655A (zh) 端口隔离的方法和设备
CN102647325B (zh) 一种实现QinQ终结的方法和装置
CN108848482A (zh) 基于mMTC分层接入框架的资源分配方法
US20130145045A1 (en) Systems and methods for managing network address information
CN101227409B (zh) 转发报文的方法、设备和系统
CN109756411A (zh) 报文转发方法、装置、第一vtep设备及存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP03 Change of name, title or address

Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No.

Patentee after: NEW H3C TECHNOLOGIES Co.,Ltd.

Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base

Patentee before: HANGZHOU H3C TECHNOLOGIES Co.,Ltd.

CP03 Change of name, title or address
TR01 Transfer of patent right

Effective date of registration: 20230627

Address after: 310052 11th Floor, 466 Changhe Road, Binjiang District, Hangzhou City, Zhejiang Province

Patentee after: H3C INFORMATION TECHNOLOGY Co.,Ltd.

Address before: 310052 Changhe Road, Binjiang District, Hangzhou, Zhejiang Province, No. 466

Patentee before: NEW H3C TECHNOLOGIES Co.,Ltd.

TR01 Transfer of patent right