[发明专利]支持动态扩展帧头的过滤匹配预处理方法及装置有效
申请号: | 201110317463.7 | 申请日: | 2011-10-19 |
公开(公告)号: | CN102316121A | 公开(公告)日: | 2012-01-11 |
发明(设计)人: | 徐宁;李松 | 申请(专利权)人: | 武汉烽火网络有限责任公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L12/56 |
代理公司: | 北京捷诚信通专利事务所(普通合伙) 11221 | 代理人: | 魏殿绅;庞炳良 |
地址: | 430074 湖北省武汉*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 支持 动态 扩展 过滤 匹配 预处理 方法 装置 | ||
技术领域
本发明涉及以太网及其高层协议数据包的过滤领域,特别是涉及一种支持动态扩展帧头的过滤匹配预处理方法及装置。
背景技术
随着互连网络对其主要承载体的以太网络设备处理能力要求的不断增长,新的以太网交换机除了单纯的数据转发之外,还要能够提供2到7层的处理能力,需要更强的重定优先级能力。这些都要求以太网交换或接口芯片提供2到7层的数据包过滤、分类处理的功能。因此需要为交换机提供高速率和更强处理能力的快速包过滤处理器。
在目前的交换芯片以及以太网接口芯片中的数据包匹配过滤器中,根据规则表的相关字段来定位,并提取当前数据包中的匹配关键字,一般采用固定偏移量方法:传统的关键字掩码表项字段参见图1所示,在相应的过滤规则表中指定提取关键字的偏移量值,在匹配的过程中从数据包的固定位置(一般是包头)开始,根据过滤表中规定的偏移量,计算要提取的关键字在数据包中的位置,从这个位置上提取相应的关键字,与规则表的内容比较,以确定是否匹配相应规则。
这种固定偏移量方法,对于数据包中各个字段相对于数据包头的位置基本固定的以太网和无扩展帧头的IPv4帧头是可行的,但是,若将这个方法应用于IPv6格式的数据包和有扩展帧头的IPv4帧头,则表现出了很大的局限性,因为IPv6的数据包头和有扩展帧头的IPv4帧头,除了定长头部之外,还有扩展头部,而扩展头部长度以及个数没有限制。例如,参见图2所示,TCP(Transmission Control Protocol,传输控制协议)协议帧头的起点在IPv6数据包中的起始位置,可以是以下几种情况之一:
(1)IPv6固定帧头紧跟着TCP帧头;
(2)IPv6固定帧头紧跟着路由帧头,路由帧头后面紧跟着TCP帧头;
(3)IPv6固定帧头后面紧跟着路由帧头,路由帧头后面紧跟着分片帧头,分片帧头后面紧跟着TCP帧头。
很明显,在上述几种情况下,TCP帧头相对于IPv6帧头第一个字节或者以太网帧头第一个字节的偏移位置不确定,如果采用传统的固定偏移量来定位关键字,显然不可能正确过滤TCP帧头内容。
发明内容
本发明的目的是为了克服上述背景技术的不足,提供一种支持动态扩展帧头的过滤匹配预处理方法及装置,能够将数据包中所有链路及IP固定帧头和扩展帧头的位置都识别出来,配合预先建立的掩码规则,即可实现关键字匹配,正确过滤TCP帧头内容。
本发明提供的支持动态扩展帧头的过滤匹配预处理方法,包括以下步骤:A、从数据包的链路层帧头开始扫描整个数据包,根据所有起始点为数据包链路层帧头的掩码规定的偏移量,提取数据包链路层帧头中指定位置的内容,与该掩码本身相与之后得到所需关键字;B、根据数据包中的链路层负载类型字段,定位IP协议帧的基本帧头的起始位置;然后根据IP协议帧的版本号、帧头长度以及扩展帧头类型字段,定位数据包中所有IP协议帧的扩展帧头的位置;根据起始点为相应基本帧头或扩展帧头的掩码规定的偏移量,提取数据包IP协议帧的基本帧头或扩展帧头中指定位置的内容,与该掩码本身相与之后得到所需关键字;C、完成数据包的扫描,提取掩码规定提取的所有关键字,并将已经提取的关键字送到过滤器进行规则匹配。
在上述技术方案中,步骤A之前还包括以下步骤:建立预处理所需要的掩码规则,所述掩码规则包括:偏移量起始点所在的网络协议层级Layer、相对偏移的起始点类型Type、相对偏移量Offset、掩码和关键字,其中,偏移量起始点所在的网络协议层级Layer和相对偏移的起始点类型Type按照以下四种情况之一建立:情况a:Layer=0,掩码中偏移量起始点为数据包中的链路层帧头;情况b:Layer=1,掩码中偏移量起始点为IPv4基本帧头或扩展帧头,Type=0或IPv4协议规定的扩展帧头类型;情况c:Layer=2,掩码中偏移量起始点为数据包中的TCP/UDP 帧头,Type=IPv4协议下的用户数据报协议UDP或传输控制协议TCP;情况d:Layer=3,掩码中偏移量起始点为IPv6基本帧头或扩展帧头,Type=0或IPv6协议规定的扩展帧头类型。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉烽火网络有限责任公司,未经武汉烽火网络有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110317463.7/2.html,转载请声明来源钻瓜专利网。