一种网络处理器实现多种三层接口的方法和网络处理器的制作方法

文档序号:7888975阅读:246来源:国知局
专利名称:一种网络处理器实现多种三层接口的方法和网络处理器的制作方法
技术领域
本发明涉及数据通信领域,尤其涉及一种网络处理器实现多种三层接口的方法和网络处理器。
背景技术
随着网络技术的发展,PTN(分组传送网)已经成为目前发展的主流,PTN设备往往集成了传输、交换机和路由器的相关功能,成为一个融合的设备,网络处理器具有灵活的可编程性和高处理性能的特点,PTN设备往往用网络处理器来实现硬件转发。
为了能够满足不同的业务和组网需求,PTN设备上既有路由口也有交换端口,如图 1所示,在同时有路由口和交换端口的情况下,PTN设备需要支持多种三层接口,如果端口配置为交换端口,则需要支持基于VLAN(虚拟局域网)的三层接口和QinQ三层接口 ;如果端口配置为路由口,则路由口本身是一个三层接口,同时可以配置路由口子接口作为三层接口,路由口子接口是路由口基于VLAN划分的子接口,可以分为路由口 VLAN子接口和路由口 QinQ子接口。网络处理器需要在有限的指令空间中同时实现VLAN三层接口、QinQ三层接口、路由口、路由口 VLAN子接口及路由口 QinQ子接口多种三层接口。
在以往的实现过程中,往往不能同时支持多种三层接口,大大降低了 PTN设备组网和应用的灵活性;或者支持了也需要将多种三层接口的实现分别进行处理,设计不同的表项和处理流程,极大的占用资源,浪费网络处理器指令空间,影响PTN设备的性能。发明内容
本发明要解决的主要技术问题是,提供一种网络处理器实现多种三层接口的方法和网路处理器,其可同时实现对多种三层接口的支持,提高了 PTN设备的组网和应用的灵活性,而且极大的节省了网络处理器的指令空间和表项资源,提高了 PTN设备的性能。
为解决上述技术问题,本发明提供一种网络处理器实现多种三层接口的方法和网络处理器,包括
一种网络处理器实现多种三层接口的方法,包括
设置内部VLAN值,对于VLAN三层接口使用其自身的VLAN值作为内部VLAN值, 对于非VLAN三层接口申请一个内部VLAN值;建立非VLAN三层接口与内部VLAN值的内部 VLAN映射索引表,以及所有三层接口的内部VLAN三层接口属性表;接收到报文后,对需要进行三层转发的报文,确定对应的内部VLAN值,并据此查找所述内部VLAN三层接口属性表,获取三层接口属性,完成三层处理和转发。
所述内部VLAN映射索引表包括端口、内层VLAN、外层VLAN作为表索弓丨,内部 VLAN值作为表内容;所述内部VLAN三层接口属性表包括内部VLAN值作为表索引,三层接口属性作为表内容。
所述的非VLAN三层接口包括QinQ三层接口、路由口、路由口 VLAN子接口、路由口 QinQ 子接口。
对于VLAN三层接口,用其自身VLAN值作为内部VLAN值,直接将配置的三层接口属性写入内部VLAN三层接口属性表中;对于非VLAN三层接口,为其申请一个内部VLAN值, 用端口、内层VLAN、外层VLAN作为表索引建立内部VLAN映射索弓丨表项,将申请的内部VLAN 值写入内部VLAN映射索引表中,同时将配置的三层接口属性写入内部VLAN三层接口属性表。
对于从交换端口进入的三层报文,如果报文携带一层VLAN,将该VLAN作为内部 VLAN值,如果报文不带VLAN,则用端口的PVID作为内部VLAN值,用该内部VLAN值查找所述内部VLAN三层接口属性表,获取三层接口属性,完成三层处理和转发;对于从交换端口进入且带两层VLAN的三层报文或从路由口进入的三层报文,根据端口、内层VLAN、外层VLAN 查找内部VLAN映射索引表,获取内部VLAN值,用该内部VLAN值查找所述内部VLAN三层接口属性表,获取三层接口属性,完成三层处理和转发。
一种网络处理器,其特征在于,包括以下四个子模块
配置模块,用于设置内部VLAN值,对于VLAN三层接口使用其自身的VLAN值作为内部VLAN值,对于非VLAN三层接口申请一个内部VLAN值;建立非VLAN三层接口与内部 VLAN值的内部VLAN映射索引表,以及所有三层接口的内部VLAN三层接口属性表;
解析模块,用于解析接收到的报文,判断是否进行三层转发,同时将端口信息和报文携带的VLAN解析结果输出给查找模块;
查找模块,用于根据端口信息和解析出的VLAN信息确定报文对应的内部VLAN值, 查找所述内部VLAN三层接口属性表,获取三层接口属性,输出给转发模块;
转发模块,用于根据报文信息和所获取三层接口属性进行三层处理和转发。
所述配置模块建立的内部VLAN映射索引表包括端口、内层VLAN、外层VLAN作为表索引,内部VLAN值作为表内容;所述配置模块建立的内部VLAN三层接口属性表包括内部VLAN值作为表索引,三层接口属性作为表内容。
所述的非VLAN三层接口包括QinQ三层接口、路由口、路由口 VLAN子接口、路由口 QinQ 子接口。
所述配置模块,用于对于VLAN三层接口,用其自身VLAN值作为内部VLAN值,直接将配置的三层接口属性写入内部VLAN三层接口属性表中;对于非VLAN三层接口,为其申请一个内部VLAN值,用端口、内层VLAN、外层VLAN作为表索引建立内部VLAN映射索引表项,将申请的内部VLAN值写入内部VLAN映射索引表中,同时将配置的三层接口属性写入内部VLAN三层接口属性表。
所述查找模块,用于确定在处理从交换端口进入的三层报文时,如果报文携带一层VLAN,将该VLAN作为内部VLAN值,如果报文不带VLAN,则用端口的PVID作为内部VLAN 值,用该内部VLAN值查找所述内部VLAN三层接口属性表,获取三层接口属性;确定在处理从交换端口进入且带两层VLAN的三层报文或从路由口进入的三层报文时,根据端口、内层 VLAN、外层VLAN查找内部VLAN映射索引表,获取内部VLAN值,用该内部VLAN值查找所述内部VLAN三层接口属性表,获取三层接口属性。
本发明的有益效果是
一种网络处理器实现多种三层接口的方法和网络处理器提出了一种基于扩大内部VLAN实现多种三层接口的方法,同时将多种三层接口的表项设计和处理流程统一,其通过设置内部VLAN值,对于VLAN三层接口使用其自身的VLAN值作为内部VLAN值,对于非 VLAN三层接口申请一个内部VLAN值,建立非VLAN三层接口与内部VLAN值的内部VLAN映射索引表,以及所有三层接口的内部VLAN三层接口属性表;接收到报文后,对需要进行三层转发的报文,确定对应的内部VLAN值,并据此查找所述内部VLAN三层接口属性表,获取三层接口属性,完成三层处理和转发。
一种网络处理器,其由配置模块、解析模块、查找模块及转发模块组成,其可实现前述处理方法;本发明方法和设备,不但同时实现了对多种三层接口的支持;提高了 PTN设备的组网和应用的灵活性,而且极大的节省了网络处理器的指令空间和表项资源,提高了 PTN设备的性能。


图1为VLAN三层接口、QinQ三层接口、路由口、路由口 VLAN子接口及路由口 QinQ 子接口多种三层接口的示意图2为本发明一种网络处理器实现多种三层接口的方法的实施例,扩大的内部 VLAN ;
图3为本发明一种网络处理器实现多种三层接口的方法的实施例,多种三层接口统一处理流程;
图4为本发明实现多种三层接口的网络处理器示意图。
具体实施方式
下面通过具体实施方式
结合附图对本发明作进一步详细说明。
如图2及图3,一种网络处理器实现多种三层接口的方法的实施例,PTN设备上既有路由口也有交换端口,需要支持多种三层接口,包括VLAN三层接口、QinQ三层接口、路由口、路由口 VLAN子接口、路由口 QinQ子接口。传统的VLAN范围大小是4K,本发明将内部 VLAN进行扩大,如图2所示,0-4K-1的范围由VLAN三层接口使用,4K及4K以上VLAN由QinQ 三层接口、路由口、路由口 VLAN子接口、路由口 QinQ子接口使用,对于这四类三层接口,提取三个关键性因素端口、内层VLAN、外层VLAN,设计了内部VLAN映射索引表,参照下表
表1内部VLAN映射索引表
端口内层^rLAN外层VLAN内部\ΤΑΝgei—1/lXlYl4Κ+1gei—1/2OxFFFOxFFF4Κ+2
gei—1/2OxFFFY24Κ+3gei—1/2X3Y34Κ+4
如上表(表1)所示,根据端口和VLAN信息查询内部VLAN映射索引表来获取内部VLAN0
所有三层接口的属性都保存在内部VLAN三层接口属性表中。内部VLAN三层接口属性表参照下表
表2内部VLAN三层接口属性表
权利要求
1.一种网络处理器实现多种三层接口的方法,其特征在于,包括设置内部VLAN值,对于VLAN三层接口使用其自身的VLAN值作为内部VLAN值,对于非 VLAN三层接口申请一个内部VLAN值;建立非VLAN三层接口与内部VLAN值的内部VLAN映射索引表,以及所有三层接口的内部VLAN三层接口属性表;接收到报文后,对需要进行三层转发的报文,确定对应的内部VLAN值,并据此查找所述内部VLAN三层接口属性表,获取三层接口属性,完成三层处理和转发。
2.如权利要求1所述的方法,其特征在于,所述内部VLAN映射索引表包括端口、内层 VLAN、外层VLAN作为表索弓丨,内部VLAN值作为表内容;所述内部VLAN三层接口属性表包括内部VLAN值作为表索引,三层接口属性作为表内容。
3.根据权利要求1所述的方法,其特征在于,所述的非VLAN三层接口包括QinQ三层接口、路由口、路由口 VLAN子接口、路由口 QinQ子接口。
4.根据权利要求1所述的方法,其特征在于对于VLAN三层接口,用其自身VLAN值作为内部VLAN值,直接将配置的三层接口属性写入内部VLAN三层接口属性表中;对于非 VLAN三层接口,为其申请一个内部VLAN值,用端口、内层VLAN、外层VLAN作为表索引建立内部VLAN映射索引表项,将申请的内部VLAN值写入内部VLAN映射索引表中,同时将配置的三层接口属性写入内部VLAN三层接口属性表。
5.根据权利要求1所述的方法,其特征在于,对于从交换端口进入的三层报文,如果报文携带一层VLAN,将该VLAN作为内部VLAN值,如果报文不带VLAN,则用端口的PVID作为内部VLAN值,用该内部VLAN值查找所述内部VLAN三层接口属性表,获取三层接口属性,完成三层处理和转发;对于从交换端口进入且带两层VLAN的三层报文或从路由口进入的三层报文,根据端口、内层VLAN、外层VLAN查找内部VLAN映射索引表,获取内部VLAN值,用该内部VLAN值查找所述内部VLAN三层接口属性表,获取三层接口属性,完成三层处理和转发。
6.一种网络处理器,其特征在于,包括以下四个子模块配置模块,用于设置内部VLAN值,对于VLAN三层接口使用其自身的VLAN值作为内部 VLAN值,对于非VLAN三层接口申请一个内部VLAN值;建立非VLAN三层接口与内部VLAN值的内部VLAN映射索引表,以及所有三层接口的内部VLAN三层接口属性表;解析模块,用于解析接收到的报文,判断是否进行三层转发,同时将端口信息和报文携带的VLAN解析结果输出给查找模块;查找模块,用于根据端口信息和解析出的VLAN信息确定报文对应的内部VLAN值,查找所述内部VLAN三层接口属性表,获取三层接口属性,输出给转发模块;转发模块,用于根据报文信息和所获取三层接口属性进行三层处理和转发。
7.根据权利要求6所述的网络处理器,其特征在于,所述配置模块建立的内部VLAN映射索引表包括端口、内层VLAN、外层VLAN作为表索弓丨,内部VLAN值作为表内容;所述配置模块建立的内部VLAN三层接口属性表包括内部VLAN值作为表索引,三层接口属性作为表内容。
8.根据权利要求6所述的网络处理器,其特征在于,所述的非VLAN三层接口包括 QinQ三层接口、路由口、路由口 VLAN子接口、路由口 QinQ子接口。
9.根据权利要求6所述的网络处理器,其特征在于,所述配置模块,用于对于VLAN三层接口,用其自身VLAN值作为内部VLAN值,直接将配置的三层接口属性写入内部VLAN三层接口属性表中;对于非VLAN三层接口,为其申请一个内部VLAN值,用端口、内层VLANJh 层VLAN作为表索引建立内部VLAN映射索引表项,将申请的内部VLAN值写入内部VLAN映射索引表中,同时将配置的三层接口属性写入内部VLAN三层接口属性表。
10.根据权利要求6所述的网络处理器,其特征在于,所述查找模块,用于确定在处理从交换端口进入的三层报文时,如果报文携带一层VLAN,将该VLAN作为内部VLAN值,如果报文不带VLAN,则用端口的PVID作为内部VLAN值,用该内部VLAN值查找所述内部VLAN三层接口属性表,获取三层接口属性;确定在处理从交换端口进入且带两层VLAN的三层报文或从路由口进入的三层报文时,根据端口、内层VLAN、外层VLAN查找内部VLAN映射索引表, 获取内部VLAN值,用该内部VLAN值查找所述内部VLAN三层接口属性表,获取三层接口属性。
全文摘要
本发明公开了一种网络处理器实现多种三层接口的方法和网络处理器,应用于数据通信领域,该方法通过设置内部VLAN值,建立内部VLAN映射索引表以及接口属性表;在接收到报文后,确定对应的内部VLAN值,并据此查找所述接口属性表,获取接口属性,继而完成三层处理和转发。该处理器处理器,则由可实现前述处理方法的配置模块、解析模块、查找模块及转发模块组成。本发明方法和设备,不但同时实现了对多种三层接口的支持、提高了PTN设备的组网和应用的灵活性,且极大的节省了网络处理器的指令空间和表项资源,提高了PTN设备的性能。
文档编号H04L12/56GK102546348SQ20121002707
公开日2012年7月4日 申请日期2012年2月8日 优先权日2012年2月8日
发明者孙蓓 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1