[发明专利]报文处理的方法及转发设备有效
申请号: | 201410069736.4 | 申请日: | 2014-02-27 |
公开(公告)号: | CN103873464B | 公开(公告)日: | 2017-05-10 |
发明(设计)人: | 王小忠;龚钧 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L12/801 |
代理公司: | 北京龙双利达知识产权代理有限公司11329 | 代理人: | 王君,肖鹂 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 报文 处理 方法 转发 设备 | ||
技术领域
本发明实施例涉及通信领域,并且更具体地,涉及一种报文处理的方法及转发设备。
背景技术
软件定义网络(Software Defined Network,SDN)是新一代网络架构,其核心思想是将控制面和转发设备传输的数据面解耦。SDN中可以通过在控制器(Controller)上编程来实时控制转发,实现动态调整。SDN能够更好地满足网络业务的应用需求,比如灵活创建虚拟子网、基于流量统计的实时负载均衡、流量工程(Traffic Engineering,TE)等。
开放流(OpenFlow)技术的基本思想是转发设备维护一个(Flow Table)并且只按照流表中的指令进行转发处理,流表的生成、维护、下发完全由控制器来实现。流表包括匹配域(Match Fields)、计数器(Counters)和指令集(Instructions)。匹配域是报文匹配的输入关键字,可以是端口号、虚拟局域网(Virtual Local Area Network,VLAN)、L2/L3/L4信息等,每个匹配字段都可以是通配的,网络的运营商可以决定使用何种粒度的流,比如运营商只需要根据目的网际协议(Internet Protocol,IP)地址进行路由,那么流表的匹配域就可以只有目的IP地址字段。指令集用于对报文进行处理,最基本的处理包括修改报文、封装和解封装、转发、丢弃等。
但是,OpenFlow技术不能灵活支持新的协议。对新的协议,必须增加新的指令,需同时在控制器和转发设备中分别开发代码,才能实现对增加的新的指令的支持。
发明内容
本发明实施例提供一种报文处理的方法及转发设备,能够实现解析和处理包含新的协议的报文。
第一方面,提供了一种报文处理的方法,包括:根据报文中连续的N层协议头中的第i层协议头,查找与所述第i层协议头对应的流表,确定与所述第i层协议头中的第一字段对应的指令;执行所述与所述第i层协议头中的第一字段对应的指令,其中,所述执行所述与所述第i层协议头中的第一字段对应的指令,包括:将所述N层协议头中的第i+1层协议头在所述报文中的起始位置写入协议位置表的表项,所述协议位置表的表项的索引信息为所述第i+1层协议头的协议标识ID,N为正整数,且i为小于N的任一正整数。
结合第一方面,在第一种可能的实现方式中,还包括:根据第一协议ID将报文处理窗口的起始位置移动到第一位置,所述第一位置为所述第一协议ID对应的协议头在所述报文中的起始位置;根据第一偏移和第一长度,对所述报文进行处理。
结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述根据第一协议ID将报文处理窗口的起始位置移动到第一位置,包括:利用Set Packet Offset(Protocol ID)指令将所述报文处理窗口的起始位置移动到第一位置,其中Protocol ID表示第一协议ID。
结合第一方面,在第三种可能的实现方式中,还包括:以第一协议ID为索引查找所述协议位置表,确定第一位置;根据第一偏移和第一长度,对所述报文进行处理。
结合上述第一方面的任一种可能的实现方式,在第四种可能的实现方式中,在所述根据第一偏移和第一长度,对所述报文进行处理之前,还包括:根据所述第一协议ID和第一域的ID,查找协议域描述表,确定所述第一偏移和所述第一长度。
结合第一方面或者上述任一种可能的实现方式,在第五种可能的实现方式中,还包括:接收所述报文,所述报文包括所述连续的N层协议头。
结合第一方面或者上述任一种可能的实现方式,在第六种可能的实现方式中,所述与所述第i层协议头中的第一字段对应的指令中包含所述第i层报文头的长度,所述N层协议头中的第i+1层协议头在所述报文中的起始位置为所述第i层协议头的长度与所述第i层协议头在所述报文中的起始位置的和。
第二方面,提供了一种转发设备,包括:第一确定单元,用于根据报文中连续的N层协议头中的第i层协议头,查找与所述第i层协议头对应的流表,确定与所述第i层协议头中的第一字段对应的指令;执行单元,用于执行所述第一确定单元确定的与所述第i层协议头中的第一字段对应的指令,其中,所述执行单元,具体用于:将所述N层协议头中的第i+1层协议头在所述报文中的起始位置写入协议位置表的表项,所述协议位置表的表项的索引信息为所述第i+1层协议头的协议标识ID,N为正整数,且i为小于N的任一正整数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410069736.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:分动器
- 下一篇:一种自动生成报文的方法