发明名称 支持动态扩展帧头的过滤匹配预处理方法及装置
摘要 本发明公开了一种支持动态扩展帧头的过滤匹配预处理方法及装置,方法包括步骤:从数据包链路层帧头开始扫描,根据起始点为链路层帧头的掩码规定的偏移量,提取数据包链路层帧头指定位置的内容,与该掩码相与得到关键字;根据数据包中链路层负载类型字段,定位IP基本帧头的起始位置;根据IP帧的版本号、帧头长度以及扩展帧头类型字段,定位IP扩展帧头的位置;根据起始点为相应IP基本帧头或扩展帧头掩码规定的偏移量,提取基本帧头或扩展帧头指定位置的内容,与该掩码相与得到关键字;完成扫描,将提取的关键字送到过滤器进行规则匹配。本发明能识别数据包中所有链路及IP固定帧头和扩展帧头的位置,并正确过滤TCP/UDP帧头内容。
申请公布号 CN102316121B 申请公布日期 2013.11.20
申请号 CN201110317463.7 申请日期 2011.10.19
申请人 武汉烽火网络有限责任公司 发明人 徐宁;李松
分类号 H04L29/06(2006.01)I;H04L12/70(2013.01)I 主分类号 H04L29/06(2006.01)I
代理机构 北京捷诚信通专利事务所(普通合伙) 11221 代理人 魏殿绅;庞炳良
主权项 一种支持动态扩展帧头的过滤匹配预处理方法,其特征在于包括以下步骤: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协议规定的扩展帧头类型;从数据包的链路层帧头开始扫描整个数据包,根据所有起始点为数据包链路层帧头的掩码规定的偏移量,提取数据包链路层帧头中指定位置的内容,与该掩码本身相与之后得到所需关键字;B、根据数据包中的链路层负载类型字段,定位IP协议帧的基本帧头的起始位置;然后根据IP协议帧的版本号、帧头长度以及扩展帧头类型字段,定位数据包中所有IP协议帧的扩展帧头的位置;根据起始点为相应基本帧头或扩展帧头的掩码规定的偏移量,提取数据包IP协议帧的基本帧头或扩展帧头中指定位置的内容,与该掩码本身相与之后得到所需关键字;步骤B包括以下步骤:B1、定位数据包中网络层数据帧的起始字节位置,根据网络层协议的版本号,来判断网络层数据帧是IPv6数据包还是IPv4数据包;B2、若网络层数据帧是IPv4数据包,则根据属于情况b且Type=0的掩码的相对偏移量加上当前已经定位的网络层数据帧的起始字节位置,在数据包中的相应位置提取关键字,并写入掩码的关键字字段;B3、若网络层数据帧是IPv6数据包,则根据属于情况d且Type=0的掩码的相对偏移量在相应位置上提取关键字,并写入掩码的关键字字段;C、完成数据包的扫描,提取掩码规定提取的所有关键字,并将已经提取的关键字送到过滤器进行规则匹配。
地址 430074 湖北省武汉市东湖高新东信路5号关东光通信产业大楼