为了正常的体验网站,请在浏览器设置里面开启Javascript功能!
首页 > 基于TCP/IP卸载引擎的千兆网卡

基于TCP/IP卸载引擎的千兆网卡

2018-08-15 12页 doc 30KB 21阅读

用户头像

is_191127

暂无简介

举报
基于TCP/IP卸载引擎的千兆网卡基于TCP/IP卸载引擎的千兆网卡 基于TCP,IP卸载引擎的千兆网卡 第3O卷第4期 '/,3D旭4 计算机工程 ComputerEngineering 2004年2月 February2004 ? 网络与通信?文章编号tl000__-3428(2004)04—0086一2文慧标识码.A中圈分类 号tTN19.8 基于TCP/IP卸载引擎的千兆网卡 周敬利,王志华,姜明华,徐漾,余胜生 (华中科技大学计算机学院,武汉430074) 摘蔓:研究了TcP/IP卸载引擎的原理和设计方法,并提供了一套参考实...
基于TCP/IP卸载引擎的千兆网卡
基于TCP/IP卸载引擎的千兆网卡 基于TCP,IP卸载引擎的千兆网卡 第3O卷第4期 '/,3D旭4 计算机工程 ComputerEngineering 2004年2月 February2004 ? 网络与通信?文章编号tl000__-3428(2004)04—0086一2文慧标识码.A中圈分类 号tTN19.8 基于TCP/IP卸载引擎的千兆网卡 周敬利,王志华,姜明华,徐漾,余胜生 (华中科技大学计算机学院,武汉430074) 摘蔓:研究了TcP/IP卸载引擎的原理和方法,并提供了一套参考实现.实验证 明,该技术有效地提高了千兆网卡的传输性能,降低了 计算机的CPU占用率. 关悯:TCP/IP~P载引擎;千兆网卡;RTOS;嵌入式 Gigabit.NICBased0nTCP/IPomoadEngine ZHOUJingli.WANGZhihua,JIANGMinghua,XUYang,YUShengsheng (CollegeofComputer.HuazhongUniv.ofSci.&Tech.,Wuhan430074) 【AbstractlThispapergivesallintroductiontOtheprincipleofthetechnology.thenanalyzes severalapproachesofitsimplementation,andbrings forwardadesignbasedononeoftheapproaches.Asexperimenthasproved,TOEcaneflbctive lyenhancethepcrlbrmanceofGagabit—NICandreduce theutilizationofCPU. [KeywordslTCP/IPoffi~dengine(TOE);Gigabit-NIC;RTOS;Embedded 千兆网卡为计算机接入到千兆以太网提供了高速接口, 但以目前的CPU主频速度来连接千兆以太网很难达到1Gbps 的线速,而且CPU资源被大量消耗.虽然CPU性能每I8个月 就翻一番,但无法跟上网络速率每3年增加1O倍的速度. 传统上TCP/IP栈是由服务器上的CPU处理的.而随 着网络传输速度超过1Gbps,CPU已经不堪大量TCP/IP协议 处理的重负.失序包的重组,大量的内存拷贝和中断给主机 的CPU增加了极大的负担.根据Thumb定律,在没有DMA 和1/O通道的情况下,每处理lbps的网络流量,就需要lHz的 CPU周期.即要处理1Gbps网络带宽,就需要一个1GHz主频 的CPU全负荷运行.网络协议的处理占用了大量的服务器资 源,而上层的应用得不到及时处理,使服务器整体性能降低. 随着NAS,SAN,iSCSl(1ntemetSCSI)等技术的广泛应 用,需要服务器的网络接口有更高的性能,普通千兆网卡已 经不能满足要求.TCP/IP卸载引擎(TOE)技术,就是在这种 背景下产生的.本文在研究了T0E技术的同时提出了一种设 计,并依据该方案给出了基于TOE技术的千兆网卡的参 考实现. 1TCP/IP卸载引擎技术 所谓卸载是指将CPU上的计算或处理转移到专门的处理 单元上进行.如目前的普通千兆基本上都有校验和卸载,就 是一种卸载技术.但这种卸载还是不彻底的卸载,很难发挥 千兆的极限带宽.与传统方式对比,TCP/lP卸载引擎引入了 一 种新的网络接口体系结构.它将TCP/IP协议栈的处理工作 从服务器CPU上卸载下来,交给网卡(NIC)来处理.在具有 TCP/IP卸载引擎的网卡上有专门的处理器或硬件来完/~TCP /IP协议处理,简化了整个TCP/lP的处理路径,从而减轻了 CPU和服务器1/O系统的TCP/lP处理负担,消除了服务器的 网络瓶颈. 普通网卡和主机之间是通过网卡驱动进行通信的,一般 网卡将接收到的数据传到应用层要经历多次中断(如对CPU 的硬中断,对接收进程的软中断)和多次数据拷贝(如DMA将 数据包传到主机内存,应用通过系统调用将数据拷贝到用户 空间),数据路径较长.利用TOE进行TCP/IP卸载则简化了 一 86_一 该处理路径.如图1所示.TOE将整个或部分TCP/IP协议栈 卸载到网卡中处理,绕过了主机CPU处理TCP/IPI#议的路 径.在主机上安装了TOE的驱动后,内核空间的应用(各种 网络服务)和用户空间的应用都可以直接与TOE通信.TOE 网卡接收到数据后,自动完成协议栈各层协议处理,将解封 装后的TCPsegment提交给上层应用,发送过程相反.通过 TOE处理,中断和数据拷贝次数都会大大降低,CPU的负担 大大降低. 川级f'输J;API 川横 ?????????????????????? 收收 饮缎f'输JAPI 叫络接u地俐 lTranspo .. . ………… TransportKernel DriverApplications LJI ITCP/IPOffloadSupportl I..l ..'t^1"…一…一…? TCP lPPSEC MAC PHY 圈ITOE的实曩lII喀 TOE网卡与主机之间的接口的定义是实~,TOE的关键和 难点.目前还没有这种接口定义的标准,各个TOE厂商也有 不同的具体实现.例~ffWindRiver公司提出了SocketClass作 为主机和卸载的TCP/lP之间的接口.SocketClass是一种基 基金硬日:国防预研基金项目 作者筒介:周敬利(I946一),女,教授,博导,主研方向为计算机 多媒体网络通信,高性能网络接13和计算机网络存储;王志华,硕 士生;姜明华,博士生;徐漾,硕士生;余胜生,教授,博导 收誓日期:2003?02?17E-mail:zhwang@wtwh.G@m.cn 将主机的socketAPI映射到卸载后的协议栈 于消息的机制, 上.主机上的应用仍使用原有的socketAPI,因为在主机上 运行了一个socket适配层(TOE驱动),将所有的socketAPI请 求转换为SocketClass消息. SocketClass将TOE上的TCP/IP协议栈定义为Socket Device,在TOE初始化时产生一个称为targetID的句柄来处 理主机与SocketDevice之间的通信.在主机端,每个socket 进程就是一个initiator,也称为SocketDevice的用户.针对 initiator和targetID之间不同的socket操作,分别有一种消息 与之对应,如SocketSend,SocketBind,SocketConnect, SocketClose,Socketloctl.SocketSend消息的格式如图2. MassageSizeFlagsVersionOf~et SocketSendCodelnitiatorAddressTargetAddress JniBatofContext SGL(VariableLength) 雷2SocketSend消|iL格式 2TOE千兆网络网卡的设计与实现 2.1设计方案 TOE可以用ASIC芯片实现,根据卸载程度又分为全卸 载(Full—offioad)~I数据路径卸载(Data.pathoffioad).全卸载 是~.TCP/IP协议栈全部卸载到性能优化的硬件逻辑中处理. 数据路径卸载则是:[~-TCP/IP中的数据移动用ASIC芯片处 理,而将TCP连接管理(建立,拆除)和错误恢复等交给主机 的CPU处理.利用ASIC芯片专门做TCP/IP协议卸载的优势 是其高性能和可升级性(到10Gbps及以上)较好.但是这种方 法灵活性不够,一旦设计完成后很难加入新的功能,而且 ASIC的设计难度较大. 我们选择的方案是利用嵌入式处理器(EmbeddedCPU) 运行实时操作系统(Real-timeOperatingSystem,RTOS),再 加上一个MAC/PHY来实现TOE千兆网卡.在主机上处理的 协议被卸载到RTOS中进行处理.这种实现不仅卸载TCP/IP 协议栈,而且卸载其他凡是能嵌入到RTOS中的协议.这种 方案的优点是其解决方案灵活且可扩展性强,例如将iSCSl (IntemetSCS1)协议集成到固件中即可开发出iSCSIHBA. 进行设计时,主要考虑嵌入式CPU和实时操作系统的选 择.嵌入式CPU的选择要完成整个TCP/IP协议栈的处理,而 且要使TOE网卡达到千兆速度,因此要求1/O处理性能很 高.同时还要考虑到该CPU的功耗问,因为嵌入式CPU通 常没有专用的风扇散热,所以功耗一定要低.我们选择Intel XSclae徼体系结构CPU,XScale从StrongARM发展而来,但 相对后者其工作电压大幅降低而且性能更高.选用的 IOP310I/O处理器芯片组把基于XScale微结构的80200处理器 和它的80312I/O配套芯片集成在一起.该芯片组有从 333MHz到733MHz的4种时钟速度,最大功耗仅为1w. RTOS的选择除了考察其实时性,还要求有出色的I/O处 理性能.WindRiver公司的IxWorks符合以上要求,在 IxWorks操作系统之上还有一套专门用来开发高性能I/O设备 的平台TINA.TINA中包含有IxWorks实时操作系统,卸载 后优化的TCP/IP协议栈,GigabitEthernet接13驱动,以及与 主机通信的SocketClass消息系统. 2.2硬件参考设计 嵌入式CPU采用了IntelIOP310I/O处理器芯片组,该芯 片组由一个Intel80200CPU和一个Intel80312I/O配套芯片组 成,硬件设计参考见图3. 圈3硬件设计髓圈 选用的芯片及其作用分别介绍如下: ? lntcl80200是基于IntoXScale微体系结构的高性能嵌入式微 处理器.其主频为600MHz,外频为66MHz. ? lntel803l21/O配套芯片专用于1/O处理和内部及外部总线的 桥芯片.具有内存/PCI/消息/DMA控制器,与SDRAM和FLASH之 间的接13速度为100MHz. ? lntel82543GC千兆以太网MAC(MediaAccessController). ? lntelLXT1000千兆以太网收发器(PHY)提供千兆铜线接入方 式;也可采用AgilentHDMP.1636SERDES提供千兆光纤接13. ? SDRAM作为板上系统内存,采用标准144引脚64位 SODIMM,大小为128MB. ? FLASH存放RTOS启动映像(Boot-image)文件,选用8MB的 lntelStrataFlash(28F640J3A). ? EEPROM存放启动配置文件,产品ID,MAC地址等信息. 采用lkB大小的MicrowireSel?ialEEPROM93C46B. 还选用了一个82C59作为外部中断控制器,一个82C54 作为外部时钟.相应的芯片都需要提供时钟的晶振 (Oscillator)lntel80200的晶振为66MHz,Intel82543GC的 晶振为l25MHz,82CS49~部时钟的晶振为3.686MHz. 除了以上选用的芯片外,还应考虑设置调试接口,至少 应该提供一个RS232串行调试接口.Intel80200支持功能更 高的JTAG调试,因此在硬件板上预留一个JTAG调试口也是 有必要的.RS232串口调试不需要专门的设备,只需一根普 通串口线将开发主机和目标板相连即可;如果采用JTAG调 试方法,需要相应的仿真器(Emulator)做调试,我们选用了 VisionlCEforXScale~真器. 3实验及结论 我们采用嵌入式芯片设计开发出的TOE千兆网卡,在 Linux操作系统环境下做了性能测试.硬件环境是两台 PentiumIII933MHzPC机,256MB内存,主板集成64bit/ 66MHzPC]以接插TOE千兆网卡;软件环境是RedHatLinLI)( 7.3;测试工具是Netperf-2.1p13. 用Netperf测试网络吞吐率,两台测试机分别为Server和 Client.主要针对Server的性能进行测试.Client端安装的千 兆网卡是IntelPRO/1000,Server端则先后安装了TOE千兆网 卡和IntelPRO/1000作性能对比测试.~fServer的网络性能测 试主要是网络吞吐率和CPU占用率,测试结果如图4,5所 示.其中Netperf~测试参数是:接收缓存大小为64kB,发 送缓存大小为64kB,发送消息大小为64kB. (下转第109页) 一 87— 3性能 表1性蕾比较 KMSAWMCTMC 安全Kerberos满系统的幕WTLS满足系统的幕TLS喊SSL满系统 性_本.立企需求:本l立仝需求的某奉立全需求: PKINIT使川f}统的公剀使川较的公私钥x寸f0统的公钥体系对 体系川服务器进iJ避}J认.奠全性rJ娅川服务器进i认 认烽;: 对称豫切绒的端剑端.奠端剑端安仝刈称崭钥绒的端到 全童=ilj安全 M1幕于x称崭钥帕加解密.认J:过川?朵川较求川对称俺钥加 鲐}H对'埘称辫钥的加解弱帕lI:对弱:密钥加解解密,运算人 密运靠小密.丑然运钳 较TMCzb.直企性 r降 MT"仪需保存jKDCn.:孛的需保仃多利,数字川WMC 储空崭钔,现有SIM的存】#,CA揪i5.M 储空『nJ即"J满TIl身lIIS等等,篮 求能空fnJ较人 七线仪有KMSANegotiate,WFIS/TLSJI,竹次址:/WMC基本}HM 化输Challenge,Response3会;前篮4个消 效率个息色,?消.包?】?包.^:有会j的基 不包含数字iil!数据础J更新惭钥也 艟坡小,}jIj心术城少3个}fIj.包,IJ}jlj 包Il,包禽数字lS. 较人 和传统的E-commerce--样,M-commerce同样必须满足 数据保密,用户认证,数据完整和无法抵赖等基本安全要 (上接第87页) 100 80 一 邑60 ) 540 20 0 ??????? 求.同时受无线网络带宽窄,移动终端自身存储空间小和运 算能力弱的限制,要提供和传统应用相当的安全性是对M- commerce的安全架构设计的极大挑战.表I是对KMSA和基 于WAP-wTLs架构的M-commerce(简称WMC)以及传统的基 于TLS/SSL的E-commerce(简称TMC)在安全性,MT运算 量,MT存储空阅和无线传输效率等方面进行比较的结果, 证明KMSA不仅在安全性,运行效率及可行性上优于 WMC,刷时保证了性能达到~I1TMC相当的水平. 4总结 本文通过分析M-commerce的特点,以实用性,可行 性,继承性和可扩展性为设计出发点,提出自己的M? commerce安全架构KMSA.通过将Kerberos作为端到端的安 全协议,利用Kerberos协议中服务器端运算量小,基于UDP 传输协议的特点,使KMSA充分适应无线网络带宽窄,移动 终端处理能力差的运行环境.在保证了运行效率的前提下, 通过采用扩展协议PKINIT使移动商务交易的安全级别达到 和传统电子商务相当的水平.最后通过部署无状态KDC集 群降低KMSA系统的故障率,从而为M—commerce的进一步 发展扫清障碍. 参考文献 ISamarasGMobileCommerce:VisionandChallenges.InProceedings 0rthe2002SymposiumonApplicationsandtheInteract(SAIN]'02). 2002 2WAPWI,LSver.,org,2000—02一I8 3RFC2246.TheTLSProtocolVersionI.O.I999.0I 4GuptaV.ExperimentsinWirelessInternetSecurity.IEEE.2002 5KwonEK.IntegratedTransportLayerSecurity.IEEE.2001 6RFCI510.TheKerberosNetworkAuthenticationService(V5).I993-09 7InteractDraft.PublicKeyCryptographyforInitialAuthenticationin Kerberos.1999.12 00016000 MTU(Byles) 圉4两络吞吐奉试结果 00016000 MTU(ByIes) 圉5CPU占用奉试结果 测试结果表明,丁0E千兆网卡的网络吞吐率高于普通千 兆网卡,而CPU占用率却低得多.例如在最大传输单元 (MTU)为9O00B时,普通千兆网卡的网络吞吐率为 ??????????????? 669Mbps,而TOE千兆网卡则达到了952Mbps,性能提高了 42%.此时,前者的CPU占用率为4I%,而后者只有I5%. 各种MTU的测试都说明TOE千兆网卡保持在高吞吐率水 平,而CPU占用率一般都较低. 本文研究TTOE技术的基本原理和该技术的实现机制, 给出了一种参考设计.测试结果表明,依据该设计思想开发 的TOE千兆网卡,可以提高服务器网络接口的吞吐率,且极 大地降低服务器本身的资源占用.该技术的应用前景广泛, 对国民生产和国防研究都具有深远的意义. 参考文献 IDruschelP,PctersonLL,DavitBSExperienceswithaHigh?speed NctworkAdaptor:ASoftwarePerspective.ProcACMSIGCOMM, l994-08 2ChavanM.PcrformanceAnalysisol'NetworkProtocolStacksUsing SoftwareProbes[M.S.Thesis].Dept.ofComputerScience,University ofNewHampshire,20004)9 3SatranJ.1ntemetSCSI6SCSi).IETFInternetDraft,http'.//www.ietf. org/intcrnet-drafts/draft-ietf-ips-iscsiI9.txt.2002-I1 4WindRivcrSystemInc..TINADatashee.. com/ products/tina/tlna_ 4.pdf 5WindRiverSystemInc..TCP/IPOffloadIntroductionDatasheet.hap:// WWw.windriver.corn/products/tina/tcpip—of~oad.pdf 6IntclCorporation.IntellOP310Datasheet. 咖咖啪枷瑚0 (sdq舌爵临
/
本文档为【基于TCP/IP卸载引擎的千兆网卡】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索