[发明专利]基于任意字段匹配的数据报文转发方法有效
申请号: | 201410174192.8 | 申请日: | 2014-04-28 |
公开(公告)号: | CN104009921B | 公开(公告)日: | 2017-09-19 |
发明(设计)人: | 唐勇;李丹 | 申请(专利权)人: | 开网科技(北京)有限公司 |
主分类号: | H04L12/741 | 分类号: | H04L12/741 |
代理公司: | 北京庆峰财智知识产权代理事务所(普通合伙)11417 | 代理人: | 刘元霞 |
地址: | 100193 北京市海淀区东*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 任意 字段 匹配 数据 报文 转发 方法 | ||
技术领域
本发明涉及一种基于任意字段匹配的数据报文转发方法,属于报文转发技术领域。
背景技术
传统路由器和交换机中的路由表(MAC转发表或者流表)由若干表项构成,所有表项长度相同(均包含相同数目的比特位),所有表项的相应比特位代表的含义均相同,譬如以太网二层交换机上的MAC转发表,每一条表项均为48比特,其含义是计算机网络二层MAC地址。又如openflow交换机上的流表,一个流表项目虽然可以包括多个字段,譬如入端口、源IP地址、目的IP地址、源MAC地址、目的MAC地址等等,但是同一个流表中所有流表项的格式,包含的字段,以及字段的长度、位置都是固定不变的。
基于这种固定格式的转发表,传统路由器和交换机对数据报文进行查表前均需要根据转发表所规定的格式从到达的数据报文中提取相应字段,并按照转发表规定的格式组织成键值,用来进行查表匹配使用。参见附图1中描述的openflow交换机报文字段提取流程图,这种报文处理方法的优势在于成本低廉,由于所有表项共享相同的格式,因此只需要进行一次报文字段提取,得到的键值即可以与所有表项之间进行比较。而且,由于处理流程简单,所以一般可以通过ASIC硬件实现。然而,其缺陷也是明显的,这种固定格式的转发表不支持同一个转发表中存在不同格式的表项。譬如,一个交换机上配置了三条转发规则,第一条规则只包含目的MAC地址字段,第二条规则包含源IP地址和目的IP地址,第三条规则是用户自定义的从报文荷载开始的前100比特的内容。
在现有交换机上同时实现以上三条规则有两种方法,一是使用TCAM通配,每一条表项同时包含所有可能的字段,但是只对自身关注的部分字段赋值,其余部分设置为通配。那么,第一条规则所占用的长度为目的MAC地址字段(48比特),加上源IP(32比特)、目的IP(32比特)和报文荷载(100比特),共212比特,其中有效位占比仅为22%。随着其他表项需要用到的字段种类增加,这个比例将进一步减小。因此使用TCAM通配的方式会导致非常低的存储空间利用率。
第二种方式是使用多级转发表,即三条规则分别放在三张不同格式的转发表中。当数据报文到达时,先在第一张转发表中进行匹配查找,如果不匹配,则跳至第二张表进行匹配,如果仍不匹配,再跳至第三张表。每次查表前均需要根据表的规定从数据报文进行相应字段键值提取。这种实现方式的弊端在于转发表数目随表项类型增加而增加,而且随着转发表级数增多,报文处理延迟增大,影响网络性能。
发明内容
为了解决现有技术中的技术问题,本发明提出了基于任意字段匹配的数据报文转发方法。简单来说,该方法是在同一个转发表中同时容纳不同格式的用户任意指定字段的转发规则。
具体地,本发明采用如下技术方案:
一种基于任意字段匹配的数据报文转发方法,其特征在于:用户通过基址、偏移量、长度三元组来指定匹配报文任意字段,通过多个三元组或者普通知名字段组成所需键值;一条转发表项包含静态字段表区和动态字段表区,静态字段区的字段类型和数目在转发表初始化阶段由静态字段描述符设定,所有转发表项的静态字段区的字段类型和数目均相同,动态字段区中的字段类型和数目是在转发表项增加时由新增对应的动态字段描述符设定,同一张转发表中不同表项的动态字段区相互独立。
静态字段描述符和动态字段描述符均是由一个或多个知名字段或者三元组组成的序列串。
静态字段表区是以静态字段提取器获得的待匹配值作为输入,进行通配查表,并输出匹配表项序号或者无表项命中信号。静态字段表区由静态字段表项组成,每一条静态字段表项包含三部分,分别是静态字段键值、静态字段掩码和动态字段表项首地址。
静态字段键值和静态字段掩码的长度相等且均由静态字段描述符所规定。
动态字段表区是对静态表区的扩展,动态字段表区的地址存储在静态字段表区的动态字段地址区中。
动态字段表区包括三部分,分别是动态字段描述符区、动态字段键值区和动态字段掩码区。
每张转发表只有一个静态字段描述符,在转发表初始化阶段由用户通过配置脚本或者配置命令的方式来设置该转发表的静态字段描述符。
采用字段提取器,字段提取器每次能从字段描述符所指定的报文位置提取出相应全部字段内容,并且将字段内容按照字段描述符中字段的先后次序组合成待匹配值供字段区进行查找匹配。
采用基于任意字段匹配的数据报文转发方法进行用户配置增加转发表项的方法:其特征在于:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于开网科技(北京)有限公司,未经开网科技(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410174192.8/2.html,转载请声明来源钻瓜专利网。