[发明专利]一种高速接收TCP数据的方法有效

专利信息
申请号: 201810019064.4 申请日: 2018-01-09
公开(公告)号: CN108156172B 公开(公告)日: 2020-03-17
发明(设计)人: 陈柯宇;徐锦亮;邱吉刚 申请(专利权)人: 四川九洲电器集团有限责任公司
主分类号: H04L29/06 分类号: H04L29/06;H04L12/861
代理公司: 成都行之专利代理事务所(普通合伙) 51220 代理人: 王记明
地址: 621000*** 国省代码: 四川;51
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 高速 接收 tcp 数据 方法
【说明书】:

发明公开了一种高速接收TCP数据的方法,包括:在操作系统内核协议栈的TCP层和套接字层之间引入套接字适配层;套接字适配层代表应用程序所在的进程上下文在内部预先分配一定数量的用户态接收缓存,并将上述内部预分配缓存的物理地址映射给网卡芯片;将数据DMA到内部预分配缓存中,被数据填满的内部预分配缓存从网卡芯片解除DMA映射;应用程序调用套接字的recv方法时传入一个由应用程序维护的用户态接收缓存,用以读取接收到的数据,实现了降低主机CPU的负载,对应用程序具有较高的透明性,具有普遍适用性的技术效果。

技术领域

本发明涉及数据传输领域,具体地,涉及一种高速接收TCP数据的方法。

背景技术

随着高速以太网技术的不断发展,1Gb、10Gb以太网已广泛普及,40Gb、100Gb以太网也已开始逐步商用推广,但另一方面,各种主机CPU的处理速率增长却逐渐放缓,远远慢于以太网速率的增长。这使得在处理高速以太网数据时,主机CPU越来越成为整个系统的性能瓶颈。

TCP/IP作为当今互联网应用的核心承载协议,应用极为广泛。传统的系统实现中,TCP/IP协议栈都由运行在主机CPU上的操作系统软件实现,当以太网速率达到10Gb甚至更高量级时,主机CPU的负载会非常重。为适应高速以太网的发展,出现了TCP卸载(TCPOffload Engine,简称TOE)技术。TOE技术将TCP/IP协议栈处理转移到专门的硬件处理网卡芯片上,这种新型的网卡除了兼具普通以太网卡的功能外,还具有了TCP/IP协议栈的处理功能。

TOE技术主要通过中断聚合减少硬件中断的频率、卸载TCP/IP协议栈的处理工作和避免操作系统内核态和用户态之间的拷贝(零拷贝,即整个数据收发流程中无任何内存拷贝)操作三个措施来降低主机CPU的负担,提升系统的网络性能。

要实现零拷贝方式接收、读取数据,需要通过一定的手段将用户态接收缓存的物理地址直接映射给网卡芯片,由网卡芯片直接将数据DMA到用户态接收缓存。这对于数据发送过程比较容易实现,但对于数据接收过程来说却比较复杂,原因在于,数据的接收读取过程通常是一个异步过程,可分为两个并行的处理过程:

1、数据接收过程:网卡驱动程序处理网卡的接收中断,通过DMA将数据从网卡芯片搬移到内核缓存中。这个过程运行于内核态、中断上下文中。

2、数据读取过程:用户态应用程序采用套接字(socket)的recv方法,从内核的接收缓存中把数据拷贝到应用程序提供的用户态缓存中。这个过程运行于应用程序的进程上下文中。

在“数据读取过程”中产生了一次从内核态缓存到用户态缓存的拷贝,当数据量较大时,这会消耗相当部分的主机CPU资源。同时,由于“数据接收过程”和“数据读取过程”是两个异步的过程,无法在每一次“数据读取过程”执行之前知道应用程序提供的用户态缓存的大小,而且很可能“数据读取过程”相对于“数据接收过程”会有一定的滞后,所以很难像数据发送过程那样直接将用户态的接收缓存映射给网卡芯片用以DMA数据,避免内存拷贝操作。

由于为了解决接收零拷贝的问题,现有的TOE技术通常不得不要求用户态应用程序进行相应的修改,例如:使用特殊的接口而不再使用套接字接口编程,采用同步的方式接收数据或者预先分配、提供专门的固定缓存进行映射等方法。这都会导致整个数据接收过程对应用程序不透明。应用程序无法使用通用的套接字接口编程,并需要针对TOE接收过程进行专门修改,降低了应用程序的通用性和可移植性。

发明内容

本发明提供了一种高速接收TCP数据的方法,解决了现有的TCP数据接收方法存在的不足,实现了降低主机CPU的负载,对应用程序具有较高的透明性,具有普遍适用性的技术效果。

传统的接收数据方式中操作系统内核协议栈的传输层协议(TCP、UDP等)之上是套接字(socket)层,socket层用于封装并向应用程序提供基于POSIX标准的套接字编程API。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于四川九洲电器集团有限责任公司,未经四川九洲电器集团有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201810019064.4/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top