实现QinQ路由终结的方法、交换芯片和交换的制造方法

文档序号:7805376阅读:312来源:国知局
实现QinQ路由终结的方法、交换芯片和交换的制造方法
【专利摘要】本发明提供一种实现QinQ路由终结的方法、交换芯片和交换机,该方法包括:ASIC接收待处理数据报文,数据报文中包括目的IP地址;ASIC查询路由表确定对应的下一跳信息,下一跳信息中包括输出接口、外层VLAN?TAG和Class?ID;ASIC根据输出接口和外层VLAN?TAG确定是否需要为数据报文添加内层VLAN?TAG;若需要添加内层VLAN?TAG,则ASIC将与Class?ID对应的内层VLAN?TAG添加到数据报文中终结数据报文的路由处理。通过该方案,ASIC路由输出的数据报文被打上双TAG,在ASIC上实现了路由终结的同时,由于ASIC的高速转发,使得路由终结的处理效率得到提高。
【专利说明】实现QinQ路由终结的方法、交换芯片和交换机
【技术领域】
[0001]本发明涉及通信【技术领域】,尤其涉及一种实现QinQ路由终结的方法、交换芯片和交换机。
【背景技术】
[0002]目前,IEEE802.1Q 中定义的虚拟局域网标签(Virtual Local Area Network TAG,以下简称VLAN TAG)域中只有12bits用于表示虚拟局域网标识VLAN ID,所以一个设备最多可以支持4094个VLAN。实际应用中,尤其是城域网中,需要大量的VLAN来隔离用户,而4094个VLAN远远不能满足需求。为此,QinQ技术应运而生,它是将用户私网VLAN TAG封装在公网VLAN TAG中,使报文带两层VLAN TAG在运营商的骨干网中传输,在公网中报文只根据外层VLAN TAG传播,用户的私网VLAN TAG被屏蔽。由于在骨干网中传递的报文有两层802.1Q TAG头(一个公网TAG,一个私网TAG),所以称之为QinQ (802.1Q in802.1Q)协议。QinQ终结主要是用来实现对携带两层及以上VLAN TAG的报文的VLAN终结。
[0003]但是,现有的QinQ路由终结,一般是由路由器通过其处理器CPU以软件转发的方式实现,或者通过网络处理器来实现的,在交换机对数据报文进行转发的基础上,还需要额外的设备来实现对数据报文的QinQ路由终结,不但增加了成本,还使得QinQ路由终结的处理效率较低。

【发明内容】

[0004]针对现有技术中存在的问题,本发明提供一种实现QinQ路由终结的方法、交换芯片和交换机,用以在核心交换机中的交换芯片ASIC上实现QinQ路由终结。
[0005]本发明提供了一种实现QinQ路由终结的方法,包括:
[0006]核心交换机上的交换芯片ASIC接收待处理数据报文,所述数据报文中包括与被访问设备对应的目的IP地址;
[0007]所述ASIC查询路由表,确定与所述目的IP地址对应的下一跳信息,所述下一跳信息中包括输出接口、外层虚拟局域网标签VLAN TAG和分类标识Class ID,所述Class ID与内层VLAN TAG存在——对应关系;
[0008]所述ASIC根据所述输出接口和所述外层VLAN TAG确定是否需要为所述数据报文添加内层VLAN TAG ;
[0009]若需要添加内层VLAN TAG,则所述ASIC将与所述Class ID对应的内层VLAN TAG添加到所述数据报文中,终结所述数据报文的路由处理。
[0010]本发明提供了一种交换芯片,包括:
[0011]接收模块,用于接收待处理数据报文,所述数据报文中包括与被访问设备对应的目的IP地址;
[0012]查询模块,用于查询路由表,确定与所述目的IP地址对应的下一跳信息,所述下一跳信息中包括输出接口、外层虚拟局域网标签VLAN TAG和分类标识Class ID,所述ClassID与内层VLAN TAG存在——对应关系;
[0013]确定模块,用于根据所述输出接口和所述外层VLAN TAG确定是否需要为所述数据报文添加内层VLAN TAG ;
[0014]添加模块,用于若需要添加内层VLAN TAG,则将与所述Class ID对应的内层VLANTAG添加到所述数据报文中,终结所述数据报文的路由处理。
[0015]本发明提供了一种交换机,包括:
[0016]如上所述的交换芯片。
[0017]本发明提供的实现QinQ路由终结的方法、交换芯片和交换机,通过在交换芯片ASIC的路由表中设置访问被访问设备所需的外层VLAN TAG和核心交换机上的输出接口,以及在路由表的Class ID字段中设置与访问被访问设备所需的内层VLAN TAG 一一对应的Class ID,从而在根据输出接口和外层VLAN TAG确定需要给接收到的数据报文添加内层VLAN TAG时,添加Class ID所对应的内层VLAN TAG,使得ASIC路由输出的数据报文被打上双TAG,即外层VLAN TAG和内层VLAN TAG,在ASIC上实现了路由终结的同时,由于ASIC的高速转发,使得路由终结的处理效率得到提高;另外,由于在核心交换机上即可硬件实现数据报文三层路由后封装两层TAG输出,即实现QinQ路由终结功能,无需引入额外的设备,有效降低了成本。
【专利附图】

【附图说明】
[0018]图1为本发明实施例采用的网络架构示意图;
[0019]图2为本发明实现QinQ路由终结的方法实施例一的流程图;
[0020]图3为本发明实现QinQ路由终结的方法实施例二的流程图;
[0021]图4为本发明交换芯片实施例一的结构示意图;
[0022]图5为本发明交换芯片实施例二的结构示意图;
[0023]图6为本发明交换机实施例一的结构示意图。
【具体实施方式】
[0024]图1为本发明实施例采用的网络架构示意图,如图1所示,在该网络架构中,比如属于同一个虚拟局域网VLAN2中的设备通过接入交换机上对应的接口接入网络,进而通过对应的汇聚交换机接入核心交换机的对应接口。为了进一步扩展网络能够支持的虚拟局域网数量,一般如现有技术中一样,都会采用QinQ技术,即在本实施例中,由接入交换机为其管理的各虚拟局域网分配内层VLAN TAG,即主要是分配内层VLAN ID,比如图1中的虚拟局域网2和虚拟局域网3,进而由汇聚交换机为其管理的接入交换机上对应的各虚拟局域网分配外层VLAN TAG,即主要是分配外层VLAN ID,比如图1中的虚拟局域网100-虚拟局域网103。可以理解的是,不同接入交换机上分配的内层VLAN TAG可以相同,但是不同汇聚交换机上分配的外层VLAN TAG不相同,从而如图1所示,通过核心交换机的输出接口、汇聚交换机分配的外层VLANTAG和接入交换机分配的内层VLAN TAG即可定位出某个设备所在的VLAN。以下实施例中的QinQ路由终结方案是在核心交换机的交换芯片ASIC中实现的。
[0025]图2为本发明实现QinQ路由终结的方法实施例一的流程图,如图2所示,该方法包括:[0026]步骤101、ASIC接收待处理数据报文,所述数据报文中包括与被访问设备对应的目的IP地址;
[0027]步骤102、ASIC查询路由表,确定与所述目的IP地址对应的下一跳信息,所述下一跳信息中包括输出接口、外层虚拟局域网标签VLAN TAG和分类标识Class ID,所述ClassID与内层VLAN TAG存在——对应关系;
[0028]步骤103、ASIC根据所述输出接口和所述外层VLAN TAG确定是否需要为所述数据报文添加内层VLAN TAG,若需要,则执行步骤104,否则直接路由转发;
[0029]步骤104、ASIC将与所述Class ID对应的内层VLAN TAG添加到所述数据报文中,终结所述数据报文的路由处理。
[0030]本实施例中的应用场景比如是某一外网中的设备要访问某企业或某企业的某内部组织所属的VLAN中的某设备,比如该VLAN的标识,即VLAN ID =虚拟局域网2。此时,图1所示网络架构中的核心交换机的交换芯片ASIC接收到外网设备发送的数据报文,该数据报文中可以理解的是包括诸如源IP地址、目的IP地址、源MAC地址、目的MAC地址等信息。ASIC在接收到数据报文后,需要完成数据报文的路由转发过程,即需要实现数据报文的路由终结功能。
[0031]具体地,ASIC首先根据数据报文中包括的目的IP地址来查询本地的路由表。可以理解的是,路由表中一般都会包括比如目的地址、掩码、下一跳地址等信息,本实施例中,路由表中的目的地址即为数据报文的目的IP地址,下一跳地址即本实施例所述的下一跳信息中主要包括输出接口、外层VLANTAG和Class ID信息,当然,还可以包括源MAC地址、目的MAC地址等信息。其中,输出接口值得是数据报文将从核心交换机的哪个接口输出给相应的汇聚交换机;外层VLAN TAG是采用QinQ技术为了使数据报文穿过核心骨干网而分配的VLAN TAG,例如为将图1中的VLAN ID =虚拟局域网100的标识填入VLAN TAG中,以封装在数据报文头部;下一跳信息中还有一个Class ID字段,该Class ID在路由表中主要是用作ASIC对数据报文按某种需要做分类,本实施例中,预先建立Class ID与内层VLANTAG的一一对应关系,该建立的过程将在下面的实施例中详细介绍。
[0032]由于要在核心交换机ASIC上完成数据报文的路由终结处理,ASIC不仅要给待路由传输的数据报文打上外层VLAN TAG,还要打上所需的内层VLANTAG,即要路由输出双VLANTAG的数据报文。从而,本实施例中ASIC通过学习预先已经生成的地址表来获得内层和外层VLAN TAG,并将外层VLAN TAG直接设置在路由表的相应表项中,而将内层VLAN TAG根据其与Class ID的一一对应关系转换为某Class ID值设置在相应路由表项的Class ID字段中。比如内层VLAN TAG5转换为ClassIDlOO, VLAN TAG6转换为ClassIDlOl从而,当ASIC接收到数据报文后,能够根据数据报文中目的IP地址在路由表中查找到相对应的路由表项,并获得相应的下一跳信息,在获得下一跳信息时ASIC随即知道了应该为数据报文添加的外层VLAN TAG。
[0033]但是,由于实际应用中根据不同用户的不同配置或不同应用需要,对有些VLAN的访问可能不需要添加内层VLAN TAG,而对有些VLAN的访问需要添加VLAN TAG,而这些配置信息一般会预先设置在ASIC的VLAN出口交换表中。本实施例中,ASIC获得数据报文的下一跳信息后,根据下一跳信息中的输出接口和外层VLAN TAG确定是否需要为数据报文添加内层VLAN TAG,若确定不需要,则直接按照外层VLAN TAG路由转发到相应VLAN即可;否则,如果需要,则ASIC将与下一跳信息中Class ID对应的内层VLAN TAG添加到该数据报文中,从而完成数据报文的路由终结处理,后续只需要将数据报文进行向对应汇聚交换机的二层线速转发即可。
[0034]进一步地,所述ASIC根据输出接口和外层VLAN TAG确定是否需要为所述数据报文添加内层VLAN TAG,包括:
[0035]ASIC根据输出接口和外层VLAN TAG查询第一交换表,根据第一查询结果确定是否需要为所述数据报文添加内层VLAN TAG;
[0036]若根据第一查询结果确定不需要添加内层VLAN TAG,则ASIC根据输出接口查询第二交换表,根据第二查询结果确定是否需要为所述数据报文添加内层VLAN TAG。
[0037]本实施例中,ASIC中设置有两个VLAN出口交换表,其中,第一交换表具有比第二交换表更高的优先级,即查找时优先查找第一交换表,如果查找到相对应的表项便结束,不再查找第二交换表,只有在第一交换表查找无果的时候才查找第二交换表。具体来说,ASIC首先根据输出接口和外层VLAN TAG查询第一交换表,如果第一查询结果为空,或者为无动作,则表示根据第一交换表确定不需要为所述数据报文添加内层VLAN TAG,从而ASIC需要查询第二交换表,在查询第二交换表时,以输出接口为关键字来查询第二交换表,如果第二查询结果即与输出接口对应的表项为添加内层VLAN TAG,则确定需要为所述数据报文添加内层VLAN TAG,否则最终确定不需要添加内层VLAN TAG。
[0038]本实施例中,通过在交换芯片ASIC的路由表中设置访问被访问设备所需的外层VLAN TAG和核心交换机上的输出接口,以及在路由表的Class ID字段中设置与访问被访问设备所需的内层VLAN TAG 一一对应的Class ID,从而在根据输出接口和外层VLAN TAG确定需要给接收到的数据报文添加内层VLAN TAG时,添加Class ID所对应的内层VLAN TAG,使得ASIC路由输出的数据报文被打上双TAG,即外层VLAN TAG和内层VLAN TAG,在ASIC上实现了路由终结的同时,由于ASIC的高速转发,使得路由终结的处理效率得到提高;另外,由于在核心交换机上即可硬件实现数据报文三层路由后封装两层TAG输出,即实现QinQ路由终结功能,无需引入额外的设备,有效降低了成本。
[0039]图3为本发明实现QinQ路由终结的方法实施例二的流程图,如图3所示,图2所示方法主要是从下行方向(即外网通过图1所示网络架构访问内网VLAN的方向)上介绍了数据报文的路由过程,本实施例中的所述方法主要从上行方向上介绍图2所示实施例中路由表的生成过程,从而,在步骤102中查询路由表之前,还包括如下步骤:
[0040]步骤201、所述ASIC向核心交换机的CPU发送软件地址表,所述软件地址表为对本地已生成的地址表映射得到的,以使所述CPU根据临时地址表项更新所述软件地址表,所述临时地址表项为所述CPU根据所述被访问设备在入网时发送的地址解析协议ARP报文或动态主机设置协议DHCP报文学习生成的;
[0041]步骤202、所述ASIC接收所述CPU发送的更新后的软件地址表,并学习所述更新后的软件地址表以生成所述路由表;
[0042]本实施例中,当某VLAN中的设备接入网络中时,会通过接入交换机、汇聚交换机向核心交换机中的处理器CPU发送地址解析协议(Address Resolution Protocol,以下简称ARP)报文,可选的或者包括动态主机设置协议(Dynamic Host ConfigurationProtocol,以下简称DHCP)报文,从而CPU通过解析学习到这些报文能够获得汇聚交换机分配给该设备的外层VLAN TAG和内层VLAN TAG,以及该设备的MAC地址,从而生成一个临时地址表项,该临时地址表项中主要包括该设备的MAC地址、所述外层和VLAN TAG和内层VLAN TAG,以及在核心交换机上的输入接口等信息。
[0043]由于ASIC不会去解析设备的APR报文或DHCP报文的内层TAG,因此其预先生成的与现有技术中一致的地址表中仅仅包括设备的MAC地址和外层VLAN TAG信息,为了实现ASIC的路由终结功能,本实施例中,预先将ASIC本地生成的地址表项(该地址表项为一个硬件的表项)映射为与之一一对应的一个可编辑的软件地址表项,即该软件地址表项中包含与上述硬件地址表项完全一致的外层VLAN TAG和MAC地址,并将该软件地址表项发送给CPU。之后,当CPU学习生成上述临时地址表项后,根据该临时地址表项更新该软件地址表项。具体来说,由于该临时地址表项中包括外层VLAN TAG、内层VLAN TAG和被访问设备的MAC地址,CPU首先在软件地址表项中确定与外层VLAN TAG和MAC地址对应的地址表项,之后将内层VLAN TAG插入到与外层VLAN TAG和MAC地址对应的地址表项中,以得到更新后到软件地址表,进而将该更新后的软件地址表发送给ASIC。从而使得ASIC根据更新后的软件地址表学习生成路由表。值得说明的是,CPU在根据该临时地址表项更新了软件地址表中对应的表项之后,该临时地址表项随即被老化,即失效,相应的,当ASIC的本地已生成的硬件地址表项对应的软件地址表项被更新后,也说明更新之前的该相应硬件地址表项被老化。
[0044]之后,ASIC通过学习更新后的软件地址表项能够生成相应的路由表项,该学习过程与现有技术中类似,不再赘述。
[0045]进一步地,当上述某VLAN的设备发生移动时,比如从虚拟局域网2移动到虚拟局域网3,此时其内层VLAN TAG发生了改变,但是,由于此时该设备不再向CPU发出ARP报文,而ASIC的更新后的地址表中也无与改变后的内层VLAN TAG对应的表项,因此ASIC无法感知该设备内层VLAN TAG的改变,使得无法设置相应的路由表项,也就无法实现ASIC的路由终结功能。为了解决该问题,本实施例中,当ASIC通过上述方式更新本地的地址表项之后,还执行以下步骤:
[0046]步骤203、所述ASIC根据所述更新后的软件地址表项,分别生成第一硬件表项和第二硬件表项,所述第一硬件表项的优先级高于所述第二硬件表项的优先级。
[0047]其中,所述第一硬件表项和所述第二硬件表项都包括匹配域和执行域,所述第一硬件表项的匹配域配置为所述内层VLAN TAG、所述外层VLANTAG和所述MAC地址,所述第一硬件表项的执行域配置为无动作,所述第二硬件表项的匹配域配置为所述外层VLAN TAG和所述MAC地址,所述第二硬件表项的执行域配置为报文送CPU。
[0048]本实施例中,ASIC根据更新后的软件地址表项生成两个个硬件表项,第一硬件表项和第二硬件表项,第一硬件表项的优先级高于第二硬件表项的优先级,该优先级的含义与上述交换表的优先级的含义类似,都表征了两个表的先后访问次序,不重复说明。通过上述对第一硬件表项和第二硬件表项的设置,当设备的内层VLAN TAG没有变化时,根据外层VLAN TAG、内层VLAN TAG和MAC地址查询第一硬件表项,查找到对应表项的执行域为无动作,那么ASIC即根据上述更新后的地址表项进行后续处理即可,如果设备的内层VLAN TAG发生了改变,查找第一硬件表项将查询无果,此时根据外层VLAN TAG和MAC地址查询第二硬件表项,查找到对应的表项后,根据执行域将数据报文发送给CPU,以使CPU对该数据报文进行解析学习生成新的临时地址表项,进而将新的临时地址表项发送给ASIC,以使ASIC对相应的地址表项进一步进行更新,获得改变后的内层VLAN TAG。
[0049]本实施例中,通过CPU对VLAN中设备入网时的ARP报文的学习,生成一个临时地址表项,使得ASIC能够根据该临时地址表项更新本地地址表项,进而根据更新后的地址表项学习生成路由表,以实现ASIC的路由终结功能。而且,当某VLAN中设备的内层VLAN TAG发生改变时,ASIC通过设置两条硬件表项,以实现对本地地址表项的进一步更新,进一步保证了 ASIC上实现路由终结功能的可靠性。
[0050]图4为本发明交换芯片实施例一的结构示意图,如图4所示,该交换芯片包括:
[0051]接收模块11,用于接收待处理数据报文,所述数据报文中包括与被访问设备对应的目的IP地址;
[0052]查询模块12,用于查询路由表,确定与所述目的IP地址对应的下一跳信息,所述下一跳信息中包括输出接口、外层虚拟局域网标签VLAN TAG和分类标识Class ID,所述Class ID与内层VLAN TAG存在——对应关系;
[0053]确定模块13,用于根据所述输出接口和所述外层VLAN TAG确定是否需要为所述数据报文添加内层VLAN TAG ;
[0054]添加模块14,用于若需要添加内层VLAN TAG,则将与所述Class ID对应的内层VLAN TAG添加到所述数据报文中,终结所述数据报文的路由处理。
[0055]本实施例的交换芯片可以用于执行图2所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
[0056]图5为本发明交换芯片实施例二的结构示意图,如图5所示,本实施例提供的所述交换芯片在图4所示实施例的基础上,还包括:
[0057]发送模块21,用于向核心交换机的CPU发送软件地址表,所述软件地址表为对本地已生成的地址表映射得到的,以使所述CPU根据临时地址表项更新所述软件地址表,所述临时地址表项为所述CPU根据所述被访问设备在入网时发送的地址解析协议ARP报文或动态主机设置协议DHCP报文学习生成的;
[0058]所述接收模块11,还用于接收所述CPU发送的更新后的软件地址表,并学习所述更新后的软件地址表以生成所述路由表。
[0059]进一步地,所述临时地址表项中包括所述外层VLAN TAG、所述内层VLAN TAG和所述被访问设备的MAC地址;
[0060]所述接收模块11,还用于:
[0061]接收所述CPU在所述软件地址表项中确定与所述外层VLAN TAG和所述MAC地址对应的地址表项后,将所述内层VLAN TAG插入到与所述外层VLAN TAG和所述MAC地址对应的地址表项中得到更新后到软件地址表后发送的所述更新后的软件地址表。
[0062]进一步地,所述交换芯片还包括:
[0063]生成模块22,用于根据所述更新后的软件地址表项,分别生成第一硬件表项和第二硬件表项,所述第一硬件表项的优先级高于所述第二硬件表项的优先级;
[0064]所述第一硬件表项和所述第二硬件表项都包括匹配域和执行域,所述第一硬件表项的匹配域配置为所述内层VLAN TAG、所述外层VLAN TAG和所述MAC地址,所述第一硬件表项的执行域配置为无动作,所述第二硬件表项的匹配域配置为所述外层VLAN TAG和所述MAC地址,所述第二硬件表项的执行域配置为报文送CPU。
[0065]本实施例的交换芯片可以用于执行图3所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
[0066]图6为本发明交换机实施例一的结构示意图,如图6所示,该交换机包括:
[0067]上述实施例中所述的交换芯片和处理器CPU。
[0068]在实际应用中,所述交换芯片在接收到用户发送的待处理数据报文后,对该数据报文进行学习以本地生成地址表,由于该本地生成的地址表中仅含有外层VLAN TAG,而不含内层VLAN TAG,为了获得内层VLAN TAG,进而生成路由表,该交换芯片将该本地生成的地址表映射成一一对应的一个可编辑的软件地址表,进而将该软件地址表发送给CPU。
[0069]CPU预先根据数据报文中目的IP地址对应的被访问设备在入网时发送的ARP报文或DHCP报文学习生成的包括所述外层VLAN TAG、所述内层VLAN TAG和所述被访问设备的MAC地址的临时地址表项,并在接收到交换芯片发送的软件地址表时,根据预先生成的该临时地址表项更新该软件地址表,并将更新后的软件地址表反馈给交换芯片。
[0070]交换芯片从而既获得了路由数据报文所需的外层VLAN TAG又获得了内层VLANTAG,进而通过学习该更新后的软件地址表来生成路由表,进行如图2所示实施例中对数据报文的QinQ路由终结处理。
[0071]本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:R0M、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
[0072]最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
【权利要求】
1.一种实现QinQ路由终结的方法,其特征在于,包括: 核心交换机上的交换芯片ASIC接收待处理数据报文,所述数据报文中包括与被访问设备对应的目的IP地址; 所述ASIC查询路由表,确定与所述目的IP地址对应的下一跳信息,所述下一跳信息中包括输出接口、外层虚拟局域网标签VLAN TAG和分类标识Class ID,所述Class ID与内层VLAN TAG存在——对应关系; 所述ASIC根据所述输出接口和所述外层VLAN TAG确定是否需要为所述数据报文添加内层 VLAN TAG ; 若需要添加内层VLAN TAG,则所述ASIC将与所述Class ID对应的内层VLAN TAG添加到所述数据报文中,终结所述数据报文的路由处理。
2.根据权利要求1所述的方法,其特征在于,所述ASIC根据所述输出接口和所述外层VLAN TAG确定是否需要为所述数据报文添加内层VLAN TAG,包括: 所述ASIC根据所述输出接口和所述外层VLAN TAG查询第一交换表,根据第一查询结果确定是否需要为所述数据报文添加内层VLAN TAG ; 若根据第一查询结果确定不需要添加内层VLAN TAG,则所述ASIC根据所述输出接口查询第二交换表,根据第二查询结果确定是否需要为所述数据报文添加内层VLAN TAG。
3.根据权利要求1或2所述的方法,其特征在于,所述ASIC查询路由表,确定与所述目的IP地址对应的下一跳信息之前,还包括: 所述ASIC向核心交换机的CPU发送软件地址表,所述软件地址表为对本地已生成的地址表映射得到的,以使 所述CPU根据临时地址表项更新所述软件地址表,所述临时地址表项为所述CPU根据所述被访问设备在入网时发送的地址解析协议ARP报文或动态主机设置协议DHCP报文学习生成的; 所述ASIC接收所述CPU发送的更新后的软件地址表,并学习所述更新后的软件地址表以生成所述路由表。
4.根据权利要求3所述的方法,其特征在于,所述临时地址表项中包括所述外层VLANTAG、所述内层VLAN TAG和所述被访问设备的MAC地址; 所述ASIC接收所述CPU发送的更新后的软件地址表,包括: 所述ASIC接收所述CPU在所述软件地址表项中确定与所述外层VLAN TAG和所述MAC地址对应的地址表项后,将所述内层VLAN TAG插入到与所述外层VLAN TAG和所述MAC地址对应的地址表项中得到更新后到软件地址表后发送的所述更新后的软件地址表。
5.根据权利要求4所述的方法,其特征在于,所述ASIC接收所述CPU发送的更新后的软件地址表,并学习所述更新后的软件地址表以生成所述路由表之后,还包括: 所述ASIC根据所述更新后的软件地址表项,分别生成第一硬件表项和第二硬件表项,所述第一硬件表项的优先级高于所述第二硬件表项的优先级; 所述第一硬件表项和所述第二硬件表项都包括匹配域和执行域,所述第一硬件表项的匹配域配置为所述内层VLAN TAG、所述外层VLAN TAG和所述MAC地址,所述第一硬件表项的执行域配置为无动作,所述第二硬件表项的匹配域配置为所述外层VLAN TAG和所述MAC地址,所述第二硬件表项的执行域配置为报文送CPU。
6.—种交换芯片,其特征在于,包括:接收模块,用于接收待处理数据报文,所述数据报文中包括与被访问设备对应的目的IP地址; 查询模块,用于查询路由表,确定与所述目的IP地址对应的下一跳信息,所述下一跳信息中包括输出接口、外层虚拟局域网标签VLAN TAG和分类标识Class ID,所述Class ID与内层VLAN TAG存在——对应关系; 确定模块,用于根据所述输出接口和所述外层VLAN TAG确定是否需要为所述数据报文添加内层VLAN TAG ; 添加模块,用于若需要添加内层VLAN TAG,则将与所述Class ID对应的内层VLAN TAG添加到所述数据报文中,终结所述数据报文的路由处理。
7.根据权利要求6所述的芯片,其特征在于,所述确定模块用于: 根据所述输出接口和所述外层VLAN TAG查询第一交换表,根据第一查询结果确定是否需要为所述数据报文添加内层VLAN TAG; 若根据第一查询结果确定不需要添加内层VLAN TAG,则根据所述输出接口查询第二交换表,根据第二查询结果确定是否需要为所述数据报文添加内层VLAN TAG。
8.根据权利要求6或7所述的芯片,其特征在于,还包括: 发送模块,用于向核心交换机的CPU发送软件地址表,所述软件地址表为对本地已生成的地址表映射得到的,以使所述CPU根据临时地址表项更新所述软件地址表,所述临时地址表项为所述CPU根据所述被访问设备在入网时发送的地址解析协议ARP报文或动态主机设置协议DHCP报文学习生成的; 所述接收模块,还用于接收所述CPU发送的更新后的软件地址表,并学习所述更新后的软件地址表以生成 所述路由表。
9.根据权利要求8所述的芯片,其特征在于,所述临时地址表项中包括所述外层VLANTAG、所述内层VLAN TAG和所述被访问设备的MAC地址; 所述接收模块,还用于: 接收所述CPU在所述软件地址表项中确定与所述外层VLAN TAG和所述MAC地址对应的地址表项后,将所述内层VLAN TAG插入到与所述外层VLAN TAG和所述MAC地址对应的地址表项中得到更新后到软件地址表后发送的所述更新后的软件地址表。
10.根据权利要求9所述的芯片,其特征在于,还包括: 生成模块,用于根据所述更新后的软件地址表项,分别生成第一硬件表项和第二硬件表项,所述第一硬件表项的优先级高于所述第二硬件表项的优先级; 所述第一硬件表项和所述第二硬件表项都包括匹配域和执行域,所述第一硬件表项的匹配域配置为所述内层VLAN TAG、所述外层VLAN TAG和所述MAC地址,所述第一硬件表项的执行域配置为无动作,所述第二硬件表项的匹配域配置为所述外层VLAN TAG和所述MAC地址,所述第二硬件表项的执行域配置为报文送CPU。
11.一种交换机,其特征在于: 包括权利要求6至10中任一项所述的交换芯片。
【文档编号】H04L12/741GK103997460SQ201410244288
【公开日】2014年8月20日 申请日期:2014年6月4日 优先权日:2014年6月4日
【发明者】黄米青 申请人:福建星网锐捷网络有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1