[发明专利]数据包转发方法和设备在审
申请号: | 201110008505.9 | 申请日: | 2011-01-14 |
公开(公告)号: | CN102123082A | 公开(公告)日: | 2011-07-13 |
发明(设计)人: | 王云华;李金虎;刘金成 | 申请(专利权)人: | 中兴通讯股份有限公司 |
主分类号: | H04L12/56 | 分类号: | H04L12/56;H04L29/06;H04L29/12 |
代理公司: | 北京同达信恒知识产权代理有限公司 11291 | 代理人: | 黄志华 |
地址: | 518057 广东省深圳市南山*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据包 转发 方法 设备 | ||
技术领域
本发明涉及网络通信领域,尤其涉及一种数据包转发方法和设备。
背景技术
在网络通信领域,有些通信设备如调制解调器(modem)是通过软件来转发网络数据包的,即所有的网络数据包都由CPU处理后决定是否转发和怎样转发。
modem通常有两种应用模式:桥和路由。经modem转发的数据包,比如从LAN口接收到的数据包,或走二层桥转发,或走三层路由通过PPPoE或IPoE的WAN接口发送出去,这中间经过众多的协议栈处理。例如走二层桥的数据包,需要经过各种过滤规则处理、查找和更新内容寻址存储器(CAM)表、确定转发接口等过程;而走三层路由时,则要经过IPTABLES的各种表(NAT表,MANGLE表,FILTER表)逐条查找匹配、路由查找匹配、NAT转换等众多流程,导致对一个数据包的处理时间很长。在CPU性能较低的情况下,大流量地收发数据包时,CPU无法及时对数据包进行处理,从而会导致丢包,影响了设备的吞吐量。
目前,主要通过使用高性能的处理器来解决这类性能问题,但是,由于高性能处理器往往价格也高,这就导致产品成本的增加,减弱了产品竞争力。
在实现本发明的过程中,发明人发现现有技术中存在以下技术问题:
通信设备在转发接收到的数据包前,需要对该数据包进行复杂的协议栈处理,使得对数据包的处理时间较长,导致通信设备对数据包的转发效率较为低下,在大流量地收发数据包时,无法及时对数据包进行处理,会导致丢包,影响设备的吞吐量。
发明内容
本发明实施例提供一种数据包转发方法和设备,用于提高通信设备对数据包的转发效率。
一种数据包转发方法,该方法包括:
接收到待转发数据包时,查找记录的历史数据包的协议栈处理结果,所述历史数据包是与所述待转发数据包属于同一数据流的数据包;
在查找到历史数据包的协议栈处理结果时,根据该协议栈处理结果对所述待转发数据包进行处理,并将处理后的数据包转发出去。
一种数据包转发设备,该设备包括:
接收单元,用于接收待转发数据包;
查找单元,用于查找记录的历史数据包的协议栈处理结果,所述历史数据包是与所述待转发数据包属于同一数据流的数据包;
处理单元,用于在所述查找单元查找到历史数据包的协议栈处理结果时,根据该协议栈处理结果对所述待转发数据包进行处理;
转发单元,用于将所述处理单元处理后的数据包转发出去。
本发明中,通信设备在接收到待转发数据包时,查找记录的与该待转发数据包属于同一数据流的历史数据包的协议栈处理结果,并根据查找到的协议栈处理结果对所述待转发数据包进行处理,然后将处理后的数据包转发出去。可见,本发明中,不需要对每个接收到的待转发数据包都进行协议栈处理,而是可以根据记录的历史数据包的协议栈处理结果对待转发数据包进行处理,从而缩短了对待转发数据包的处理时间,大大提高了通信设备对数据包的转发效率。
附图说明
图1为本发明实施例提供的方法流程示意图;
图2为本发明实施例一的流程示意图;
图3为本发明实施例二的装置结构示意图;
图4为本发明实施例提供的设备结构示意图。
具体实施方式
为了提高通信设备对数据包的转发效率,本发明实施例提供一种数据包转发方法,本方法中,通信设备在接收到待转发数据包时,查找记录的与该待转发数据包属于同一数据流的数据包的协议栈处理结果,并根据查找到的协议栈处理结果对所述待转发数据包进行处理后转发出去。
参见图1,本发明实施例提供的一种数据包转发方法,具体包括以下步骤:
步骤10:接收到待转发数据包时,查找记录的历史数据包的协议栈处理结果,该历史数据包是与待转发数据包属于同一数据流的数据包;
步骤11:确定是否查找到历史数据包的协议栈处理结果,若是,则到步骤12,否则,到步骤13:
步骤12:根据查找到的协议栈处理结果对待转发数据包进行处理,并将处理后的数据包转发出去;
步骤13:将待转发数据包进行协议栈处理,并记录协议栈处理结果以及待转发数据包的基本信息,该基本信息是表示待转发数据包所属的数据流的信息;然后将协议栈处理后的数据包转发出去。
步骤10中,查找记录的历史数据包的协议栈处理结果,其具体实现可以如下:
首先,读取待转发数据包中的基本信息;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中兴通讯股份有限公司,未经中兴通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110008505.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种虚拟机必需网络带宽保障方法
- 下一篇:系统配置智能管理系统及其管理方法