TOE(TCP/IP Offload Engine)网卡与一般网卡的区别
来源:互联网 发布:面向切面编程什么意思 编辑:程序博客网 时间:2024/05/30 13:42
TCP/IP协议早已是网络的标准语言。随着Internet SCSI、Remote Diret Memory Access这些网络存贮标准的问世和实用化,从某种意义上说,TCP/IP又成了一种存贮协议。
我们知道,用TCP/IP协议处理网络流量,要占用大量服务器资源。为了减轻服务器的压力,一种称为TCP减负引擎(TCP OffloadEngine:TOE)的技术应运而生。TCP减负引擎一般由软硬两部分组件构成,将传统的TIP/IP协议栈的功能进行延伸,把网络数据流量的处理工作全部转到网卡上的集成硬件中进行,服务器只承担TCP/IP控制信息的处理任务。这种为服务器减轻负担的技术,得到了大多数厂商的肯定。
普通网卡用软件方式进行一系列TCP/IP相关操作,因此,会在三个方面增加服务器的负担,这三个方面是:数据复制、协议处理和中断处理。
网络上每个应用程序在收发大量数据包时,要引发大量的网络I/O中断,对这些I/O中断信号进行响应,成了服务器的沉重负担。比如,一个典型的64Kbps的应用程序在向网络发送数据时,为了将这些数据装配成以太网的数据包,并对网络接收确认信号进行响应,要在服务器和网卡间触发60多个中断事件,这么高的中断率和协议分析工作量已经是相当可观的了。虽然某些网络操作系统具有中断捆绑功能,能够有效减少中断信号的产生,但却无法减少服务器和网卡间响应事件的处理总量。
TCP减负引擎网卡的工作原理与普通网卡不同。普通网卡处理每个数据包都要触发一次中断,TCP减负引擎网卡则让每个应用程序完成一次完整的数据处理进程后才触发一次中断,显著减轻服务器对中断的响应负担。还是以64Kbps的应用程序为例,应用程序向网络发送数据全部完成后,才向服务器发送一个数据通道减负事件中断,数据包的处理工作由TCP减负引擎网卡来做,而不是由服务器来做,从而消除了过于频繁的中断事件对服务器的过度干扰。网络应用程序在收发数据时,经常是同一数据要复制多份,在这种情形下,TCP减负引擎网卡发挥的效益最明显。
普通网卡通过采用支持校验功能的硬件和某些软件,能够在一定程度上减少发送数据的复制量,但却无法减少接收数据的复制量。对大量接收数据进行复制通常要占用大量的机器工作周期。普通网卡先将接收到的数据在服务器的缓冲区中复制一份,经系统处理后分配给其中一个TCP连接,然后,系统再将这些数据与使用它的应用程序相关联,并将这些数据由系统缓冲区复制到应用程序的缓冲区。TCP减负引擎网卡在接收数据时,在网卡内进行协议处理,因此,它不必将数据复制到服务器缓冲区,而是直接复制到应用程序的缓冲区,这种“零拷贝”方式避免了网卡和服务器间的不必要的数据往复拷贝。
TCP减负引擎网卡能显著减轻由数据大量移动造成的服务器过载负担。实测证明,对于文件服务器和以内容服务为主的服务器应用环境来说,如果用TCP减负引擎网卡代替普通网卡,相当于为服务器增加了一个CPU
- TOE(TCP/IP Offload Engine)网卡与一般网卡的区别
- TOE(TCP/IP Offload Engine)网卡与一般网卡的区别
- The Facts behind TCP Offload Engine (TOE)
- DPDK 使用网卡ip/tcp/udp checksum offload
- TCP offload engine(TCP减负引擎网卡), TCP backlog/prequeue buffer (TCP后备预备队列)
- TCP/IP Offload Engine技术的嵌入式以太网接口设计
- TOE技术以及TOE网卡的工作原理
- 获取网卡信息(网卡MAC,ip,index,devicename)的一般方法(利用IP HELPER api)
- 网络数据包分析 网卡Offload
- 网络数据包分析 网卡Offload
- TCP/IP协议栈初始化(十一)完结篇-完成IP层与网卡的连接
- IP与网卡绑定
- Intel82599网卡TCP/IP与FSDK对比测试
- TCP offload engine(TCP减负引擎)
- 基于TCP/IP卸载引擎的千兆网卡
- 【转载】网络数据包分析 网卡Offload
- 分清ip地址、子网掩码、网关与网卡、DNS的区别及用处
- Linux单网卡绑定多IP与多网卡共用单IP的实现方法
- DB2用户权限控制
- 个人管理 - 如何演讲
- NO.12 Web应用数据配置一般策略(DataBase、Properties、XML配置对比)
- DB2中如何实现等级查询
- 写给30岁的自己,以及所有即将、正在、已经奔三的朋友们
- TOE(TCP/IP Offload Engine)网卡与一般网卡的区别
- iframe自适应高度解决方案
- 在Quartz里面设置TimeOut的设计
- 数据结构 循环链表
- 80后出师表
- 用Prolog语言解决简单的4碟汉诺塔(Hano)问题
- 走了?!
- Cookie精通之路[转]
- 假如爱情依旧