TOE_1

    首先在这里,我们不会列出一大堆表格来详尽描述这款网卡所用的网络架构和技术细节,而是用我们自己的解释,来尽可 能清楚的为大家描述Killer网卡在技术上基础。我们主要来解释为什么数据包卸载能给网络性能带来提升,而其他的技术细节如RDMA和装载技术则由于篇 幅原因而不做过多表述。
实际上,Killer NIC网卡的主要技术已经在服务器领域流行多年,其根基就是一种称为TCP/IP减负引擎的技术(TCP/IP Offloading Engine,TOE)。TOE一般由软硬两部分组件构成,将传统的TCP/IP协议栈的功能进行延伸,把网络数据流量的处理工作全部转到网络适配器上的 集成硬件中进行,服务器只承担TCP/IP控制信息的处理任务。简单的说,TOE网卡专门设立了一个网络处理器(NPU),从CPU手中抢过了处理TCP /IP网络协议的大部分工作,并且需要软件上添加驱动,使操作系统支持这种“抢夺”。
这里首先要说说什么是TCP/IP,熟悉网络协议的读者可以直接跳过此段。TCP/IP协议即传输控制协议/网间 协议(Transmission Control Protocol/Internet Protocol ),是INTERNET的基础协议。它规范了网络上的所有通信设备,尤其是一个主机与另一个主机之间的数据往来格式以及传送方式。在数据传送中,可以形象 地理解为有两个信封,TCP和IP就像是信封,要传递的信息被划分成若干段,每一段塞入一个TCP信封,并在该信封面上记录有分段号的信息,再将TCP信 封塞入IP大信封,发送上网。在接受端,一个TCP软件包收集信封,抽出数据,按发送前的顺序还原,并加以校验,若发现差错,TCP将会要求重发。因 此,TCP/IP在INTERNET中几乎可以无差错地传送数据。
TCP/IP协议在普通的PC上是这样工作的。网卡收到传输来的数据,网卡内的单片程序先接收数据头的目的MAC 地址,根据计算机上的网卡驱动程序设置的接收模式判断该不该接收,认为该接收就在接收后产生中断信号通知CPU,认为不该接收就丢弃不管,所以不该接收的 数据网卡就截断了,计算机根本就不知道。CPU得到中断信号产生中断,操作系统就根据网卡驱动程序中设置的网卡中断程序地址调用驱动程序接收数据,驱动程 序接收数据后放入信号堆栈让操作系统处理。
这些工作,在我们已经动辄数Ghz,甚至双核心、多核心CPU的个人计算机上显得微不足道。但对于专注于网络应用 的服务器来说,若使用普通网卡,大部分TCP/IP相关操作都会以软件方式运行,会在三个方面增加服务器的负担,分别是:协议处理,中断处理和数据复制。 实际上,要想完全实现千兆以太网的线性性能,足以令一块1GHz处理器的资源占用率达到100%。TOE技术正是顺应这种需求,减轻TCP/IP协议负 载,释放宝贵的CPU资源。
TOE_1_第1张图片
TCP/IP减负引擎网卡(也称TOE网卡,TNIC)的工作原理与普通网卡不同。网络上每个应用程序在收发大量 数据包时,要引发大量的网络I/O中断,对这些I/O中断信号进行响应,成了服务器的沉重负担。大部分数据中心服务器程序的典型载荷在8Kbps到 64Kbps之间,而一个32Kbps的应用程序在向网络发送数据时,由于普通网卡处理每个数据包都要触发一次中断,为了将这些数据装配成以太网的数据 包,并对网络接收确认信号进行响应,总共要在处理器和网卡间触发30多个中断事件,这么高的中断率和协议分析工作量已经是相当可观的了。虽然某些网络操作 系统具有中断捆绑功能,能够有效减少中断信号的产生,但却无法减少服务器和网卡间响应事件的处理总量。TOE网卡则让每个应用程序完成一次完整的数据处理 进程后才触发一次中断,显著减轻处理器对中断的响应负担。同样在32Kbps的负载下,应用程序向网络发送数据全部完成后,TOE网卡才向服务器发送一个 数据通道减负事件中断,之前数据包的协议处理工作全部由TOE网卡来做,从而消除了过于频繁的中断事件对处理器的过度干扰。
网络应用程序在收发数据时,经常是同一数据要复制多份,在这种情形下,TNIC发挥的效益最明显。普通网卡通过采 用支持校验功能的硬件和某些软件,能够在一定程度上减少发送数据的复制量,但却无法减少接收数据的复制量。对大量接收数据进行复制通常要占用大量的机器工 作周期。普通网卡先将接收到的数据在服务器的缓冲区中复制一份,经系统处理后分配给其中一个TCP连接,然后,系统再将这些数据与使用它的应用程序相关 联,并将这些数据由系统缓冲区复制到应用程序的缓冲区。而TOE网卡在接收数据时,在网卡内进行协议处理,因此,它不必将数据复制到服务器缓冲区,而是直 接复制到应用程序的缓冲区,这种“零拷贝”方式避免了网卡和服务器间的不必要的数据往复拷贝。
TOE网卡能够自行处理TCP/IP协议操作,减少网络I/O中断和数据复制,显著提高大流量下的服务器网络性 能。据称,对于文件服务器和以内容服务为主的服务器应用环境来说,如果用TNIC代替普通网卡,就相当于为服务器增加了一个CPU。看来,BigFoot 网络公司对这一技术非常自信,下面我们就来看看他们在这一基础上做了些什么。

你可能感兴趣的:(职场,休闲,TOE_1)