[发明专利]一种TCP数据传输方法、TCP卸载引擎及系统无效
申请号: | 201210237465.X | 申请日: | 2012-07-10 |
公开(公告)号: | CN103546424A | 公开(公告)日: | 2014-01-29 |
发明(设计)人: | 罗海;胡新宇;魏启坤;张亮 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06 |
代理公司: | 北京中博世达专利商标代理有限公司 11274 | 代理人: | 申健 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 tcp 数据传输 方法 卸载 引擎 系统 | ||
技术领域
本发明涉及通信领域,尤其涉及一种传输控制协议TCP数据传输方法、TCP卸载引擎及系统。
背景技术
传输控制协议和网际协议协议(Transmission Control Protocol/Internet Protocol,简称TCP/IP)是因特网中最基本的通信协议。但传统的TCP/IP技术在处理网络数据传输时,需要占用大量的中央处理器(Central Processing Unit,简称CPU)资源。这是因为对TCP数据的处理,大多是通过软件处理方式,即由运行于处理器之上的TCP/IP协议栈进行处理,软件处理方式主要包括三方面:协议处理、中断处理和数据复制,给系统带来了庞大的开销。
近年来,视频流量的增长占网络流量增长的主要部分,另外,网络存储的应用范围越来越广,这两类网络应用对带宽、响应时间的要求越来越高。但是由于这两类网络应用大多采用TCP传输,因此对TCP数据的处理成为一个主要的瓶颈。这两类网络应用还有一个特点,即CPU没有必要对其传输的所有数据进行处理,例如对于文件内容、视频编码格式、视频内容等TCP数据,而传统的方法需要将所有的TCP数据交由CPU进行处理,增加了存储复制的开销,同时增加了CPU对传送的数据进行处理带来的额外负担。
为了满足网络流量和网络通信速度的飞速增长,一种将TCP数据的处理移到硬件上实现的技术应运而生,即TCP卸载引擎(TCP offload engine,简称TOE)技术。
TOE技术旨在减轻CPU处理TCP/IP的消耗,为此,将处理TCP/IP过程中比较繁琐的工作交由TOE处理,例如TCP建链断链、乱序重组等TCP应答和状态管理。现有的TOE设计采用了零复制套接字的技术,在接收过程中,TOE收到的数据从TOE缓存直接通过DMA(Direct Memory Access直接内存访问)到用户缓存空间;发送过程中,待发数据从用户缓存空间直接通过DMA到TOE缓存,TOE负责将数据打包成TCP报文发送。零复制套接字技术避免了数据在用户缓存空间和协议栈之间的搬移,减少对CPU的占用。但是,在发送数据和接收数据时,TOE还是会将所有数据都通过TOE的内存与用户缓存空间进行传输,仍然会占用较大的CPU开销以及可能存在较大的传输延时。且对于接收的数据,CPU需要对全部数据进行解析后才能提取出必须CPU处理的数据,然后交给应用程序或协议栈处理,增加了CPU的处理开销。
发明内容
本发明的实施例提供一种传输控制协议TCP数据传输方法、TCP卸载引擎及系统,能够减少TCP卸载引擎和CPU之间的数据搬移,同时减少CPU对数据的解析工作,从而达到降低CPU处理TCP/IP数据的资源以及减少传输延迟的效果。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,提供一种传输控制协议TCP数据传输方法,包括:
TCP卸载引擎接收远程设备发送的传输控制协议TCP数据;
对所述TCP数据进行TCP卸载;
识别所述TCP卸载后的数据,并根据识别结果将所述TCP卸载后的数据发送至CPU或所述CPU下发的存储位置信息对应的存储设备。
在第一方面的一种可能实现方式中,所述识别所述TCP卸载后的数据,并根据识别结果将所述TCP卸载后的数据发送至CPU或所述CPU下发的存储位置信息对应的存储设备包括:
识别所述TCP卸载后的数据;
根据识别结果将所述TCP卸载后的数据中的信令数据或关键数据发送至CPU,其中所述关键数据为除所述信令数据和所述内容数据外其他需要CPU处理的数据;
根据识别结果将所述TCP卸载后的数据中的内容数据发送至所述CPU下发的存储位置信息对应的存储设备。
第二方面,提供一种传输控制协议TCP数据传输方法,包括:
获取CPU指示的数据;
将所述数据进行TCP封装并发送至远程设备。
在第二方面的第一种可能实现方式中,所述获取CPU指示的数据包括:接收CPU发送的存储位置信息;读取所述存储位置信息指定的存储空间中的内容数据;
相应地,所述将所述数据进行TCP封装并发送至远程设备包括:将所述内容数据进行TCP封装并发送至远程设备。
在第二方面的第二种可能实现方式中,所述获取CPU指示的数据包括:接收CPU发送的信令净荷数据;
相应地,所述将所述数据进行TCP封装并发送至远程设备包括:将所述信令净荷数据进行TCP封装并发送至远程设备。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210237465.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种用于治疗头疼的中药配方
- 下一篇:丹皮中药材表面脱硫的方法