原创 浅析TOE — TCP卸载引擎技术及应用

2014-9-15 13:54 3319 24 25 分类: 消费电子
TOE 是TCP Offload Engine,即TCP卸载引擎,也叫TCP减负引擎,它旨在使用网卡上集成专用处理器来转移并处理TCP数据包对主CPU请求的任务。TOE技术的实现方式是通过采用TOE芯片的专用网卡,将包括TCP协议在内的四层处理请示从主机处理器转移到网卡,相当于TOE网卡承担了主CPU处理TCP数据的绝大部分任务,减轻了CPU的负荷,其最终的结果是在加速网络响应的同时提高服务器的性能。

1、TOE技术的实现过程

图1  TOE网卡工作原理

TOE网卡主要工作过程如图1所示:

(1)服务器A向服务器B传输数据;

(2)A主机中的TCP栈向TOE网卡传输数据指针;

(3)TOE网卡进行所有TCP协议处理工作并通过网络传递数据包;

(4)B主机中的TOE网卡接收数据包,重排数据流并将之存放在内存中。

普通网卡则是先把数据包缓存到主机内存中,然后主机中的TCP协议栈重新组装数据流,最后把数据拷贝到应用程序[1]

2、TOE网卡的优势

普通网卡用软件方式进行一系列TCP/IP相关操作,因此,会在三个方面增加服务器的负担,这三个方面是:中断处理、协议处理、数据复制。

2.1 协议处理


图2 TCP/IP卸载前后主CPU占用比例

当网络速度达到G(干兆)比特数量级时,主CPU就越来越繁忙,其中很大一部分处理负荷都是来自对TCP/IP协议的处理,例如对IP数据包的校验处理、对TCP数据流的可靠性和一致性处理,如图2所示。由于目前对TCP/IP协议进行处理都是采用通用CPU及其配套的系统结构,而这种体系下CPU的主要功能是进行通用计算,并非进行输入输出操作。因此在网络带宽和速度飞速发展的情况下,网络链路速度高于CPU对TCP/IP协议栈的处理速度将导致系统的输入输出系统成为网络瓶颈。

2.2 中断处理

传统的处理过程是:网络上每个应用程序在收发大量数据包时,要引发大量的网络I/O中断,对这些I/O中断信号进行响应,成了服务器的沉重负担。比如,一个典型的64Kbps的应用程序在向网络发送数据时,为了将这些数据装配成以太网的数据包,并对网络接收确认信号进行响应,要在服务器和网卡间触发60多个中断事件,这么高的中断率和协议分析工作量已经是相当可观的了。虽然某些网络操作系统具有中断**功能,能够有效减少中断信号的产生,但却无法减少服务器和网卡间响应事件的处理总量。

TCP卸载引擎网卡的工作原理则不同。普通网卡处理每个数据包都要触发一次中断,TCP卸载引擎网卡则让每个应用程序完成一次完整的数据处理进程后才触发一次中断,显著减轻服务器对中断的响应负担。还是以64Kbps的应用程序为例,应用程序向网络发送数据全部完成后,才向服务器发送一个数据通道减负事件中断,数据包的处理工作由TCP卸载引擎网卡来做,而不是由服务器来做,从而消除了过于频繁的中断事件对服务器的过度干扰。网络应用程序在收发数据时,经常是同一数据要复制多份,在这种情形下,TCP卸载引擎网卡发挥的效益最明显。

2.3 数据复制

普通网卡通过采用支持校验功能的硬件和某些软件,能够在一定程度上减少发送数据的复制量,但却无法减少接收数据的复制量。对大量接收数据进行复制通常要占用大量的机器工作周期。普通网卡先将接收到的数据在服务器的缓冲区中复制一份,经系统处理后分配给其中一个TCP连接,然后,系统再将这些数据与使用它的应用程序相关联,并将这些数据由系统缓冲区复制到应用程序的缓冲区。TCP卸载引擎网卡在接收数据时,在网卡内进行协议处理,因此,它不必将数据复制到服务器缓冲区,而是直接复制到应用程序的缓冲区,这种“零拷贝”方式避免了网卡和服务器间的不必要的数据往复拷贝。

表1中列出了TOE技术的测试比较数据,可以明显看出TOE技术在吞吐率和收据收发对CPU占用方面的技术优势。

 

表1  TOE技术的测试数据

toe技术测试数据.jpg
   

0.5CPUs

3、TOE技术的限制因素

实际上TOE解决方案一直仅限于在8 KB或以上的环境中发送大型数据块的情况。通常,存储备份和检索系统及企业数据库均使用大型数据有效负载。此外TOE应用限制也有诸多限制:修改操作系统、依赖于特定TOE网卡等。

4、TOE技术的推广应用

Adaptec推出一种全新的网络加速卡。该产品将使高强度计算应用中的服务器性能得到提高。Adaptec网络加速器将TCP/IP处理进程从主机中卸载下来,使CPU的处理能力能够被更多地投入到网络化应用中。

WIZnet推出一系列以太网芯片,此系列芯片是一种TOE技术的新思路。以太网芯片,使用逻辑门电路实现全硬件TCP/IP协议栈,独立于MCU运作,负载所有TCP/IP协议栈的处理过程,可以极大减轻主CPU的TCP/IP处理负荷,减少I/O中断次数,传输速度的提高不再是难题,深受市场的青睐[2]

参考文献
[1]《TOE技术以及TOE网卡的工作原理》 百度文库
[2]任宏.关于TOE技术的发展及概况的研究[J].INFRARED,2005,3:19-25
作者:David

文章评论1条评论)

登录后参与讨论

用户1678053 2014-9-17 09:53

看看
相关推荐阅读
用户1647523 2018-01-09 16:09
教你如何通过MCU配置S2E为TCP Client的工作模式
在上两篇文章中分别讲述了通过MCU配置S2E为UDP、TCP Server的工作模式”,相信小伙伴们已经对S2E的基本功能了解了一些,现在就让我们再接再厉、更上一层楼吧:首先我们先了解一下MCU与S2...
用户1647523 2018-01-09 15:53
教你如何通过MCU配置S2E为TCP Server的工作模式
在上一篇文章中讲了“如何通过MCU配置S2E为UDP模式”,相信小伙伴们已经了解了S2E的基本功能,在这一篇中,我们再接再厉,继续学习一下“如何通过MCU配置S2E为TCP Server的工作模式”,...
用户1647523 2018-01-09 14:44
教你如何通过MCU将S2E配置为UDP的工作模式
​​W5500S2E-S1是一款工业级串口转以太网模块,支持TCP Server、TCP Client和UDP三种工作模式,串口波特率最高可达1.152Mbps,并提供配套的上位机配置软件,也可通过网...
用户1647523 2015-12-09 13:53
第四届韩合集成电路技术交流会成功举办
2015年12月2日,第四届韩合集成电路技术交流会在WESTIN酒店深圳世界之窗店顺利举办。本届交流会与会嘉宾主要是韩合集成电路项目的主要领导、驻在深圳的9家韩合IC企业以及相关企业代表,主要围绕...
用户1647523 2015-12-09 13:46
第四届韩合集成电路技术交流会成功举办
2015年12月2日,第四届韩合集成电路技术交流会在WESTIN酒店深圳世界之窗店顺利举办。本届交流会与会嘉宾主要是韩合集成电路项目的主要领导、驻在深圳的9家韩合IC企业以及相关企业代表,主要围绕...
用户1647523 2015-10-16 14:47
WIZnet芯片在智能家居市场的应用
2014年是智能家居和可穿戴设备集中发力的一年。传统家电厂商、互联网企业和智能终端企业都虎视眈眈的盯着这个巨大的蛋糕,初创企业也借助各种众筹平台将自己的新奇创意转换为实际产品并推进市场,各种智能家...
我要评论
1
24
关闭 站长推荐上一条 /2 下一条