- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一种TCP-IP卸载引擎架构的应用.doc
一种TCP/IP卸载引擎架构的应用~教育资源库
tcp/ip是一组全世界广泛应用的协议,不仅仅用于inter,许多私有网络也使用tcp/ip作为其协议组,许多硬件设计都是基于tcp /ip或者相关的协议来开发的。传统的tcp/ip处理网络数据传输过程中,要占用大量的主机cpu资源,为了减轻cpu的压力,一种叫toe(tcp /ip offload engine,tcp/ip卸载引擎)的技术应运而生。toe技术对tcp/ip协议栈进行扩展,使部分tcp/ip协议从cpu转移到toe硬件,减轻 cpu的负担。
toe技术
所谓卸载是指将cpu上的计算或处理转移到专门的硬件单元上进行。在目前的以太网环境中,tcp/ip的处理都是通过软件在中心处理器上实现的,导致系统在协议处理、中断处理、数据拷贝方面面临困难。利用toe技术对tcp/ip卸载则简化了数据包的处理,如图1所示,toe将tcp /ip协议从cpu中移到硬件中处理。在主机中安装和toe通信的驱动后,内核和用户的应用都可以直接和toe通信,这样就可以使主机cpu来处理别的工作。toe在接收到网络上的数据后,进行一系列的协议处理,将数据放在指定地址,交给上层应用。发送方向则相反,将需要处理的数据包装后通过硬件缓冲发送出去。toe的处理简化了流程,主机只需要直接处理数据而不用对数据拆包重组,因而对协议处理,中断和数据拷贝都大大减少,降低了主机cpu的负担。
图1 toe技术的原理框图
toe硬件结构
● 硬件设计方案
从器件的实现上,toe实现方案可以采用两种结构:一种是分离元件结构,另外一种是asic芯片。分离元件采用电路板构建,具有修改灵活性,方便升级改进。采用asic芯片实现的方案是将协议处理集成到定制的芯片中,在性能上比分离元件的方式有所提高,但它在可编程性、扩展性和灵活性方面比较差。为了提高灵活性又保证处理速度,可以采用fpga来实现toe。
在设计中采用了altera公司的fpga来实现toe,并配合nios ii实现嵌入式处理器的功能。图2为toe的框架结构,它由一个嵌入式cpu、接收部分、发送部分和物理硬件接口构成。在这个结构中,所有的发送模块在一边,接收模块在另一边,是为了能直接访问一个共享的存储器,从而减少数据拷贝。为了支持众多的协议模块访问,通过一条内部总线来连接协议模块和共享存储器。由嵌入式cpu协调模块间的通信,状态管理以及和上层cpu的通信。
图2 toe硬件结构
当网络上送来一个数据包时,物理接口开始启动,进行简单的包头处理后,发送中断给嵌入式cpu,cpu移动数据到接收缓冲器 (buffer),将消息队列置为有效。协议接收模块检测到有数据需要处理,启动协议分析处理。当所有的处理完成后,嵌入式cpu发送一个中断给主 cpu,并将数据放入指定的地址。发送过程和接收过程相反,cpu把需要处理的数据放入发送缓冲器,协议模块检测到有消息后开始启动处理。完成后将数据移到物理层的发送缓冲中发送出去。在这个设计中,共享存储器的访问控制和协议模块的设计是难点,下边将详细介绍。
● 共享存储器的访问
在fpga中,所有的协议模块将对输入与输出缓冲器有控制权。这里使用总线的方式来访问缓冲器,并加上一个总线仲裁器来处理模块对缓冲器的访问。协议模块在这个总线上作为访问发起者。当某一模块需要访问缓冲器的时候,它需要向总线仲裁发起一个中断,等待其响应。总线仲裁使用轮询的方式来处理每个模块的响应。协议模块获得访问权限后,就可以对缓冲器进行操作了,操作结束后,释放访问权限。使用总线仲裁器轮询的方式只是目前设计的一种方式,在不同的应用中,可能会有更好的方式来处理共享存储器的访问,需要后续的研究进一步验证。
● 存储器管理
这里有两种类型的存储器:本地的及共享的存储器。本地存储器驻留在每个模块的内部。这些本地存储器是驻留在这些模块内部的寄存器或者高速缓冲存储器。共享存储器可以被任何模块通过指针来访问。每个模块使用它自己的本地存储器来保存索引和偏移量。这个存储器将保存本模块运行所需要的临时变量。每个模块将控制用来指向被处理的数据包引用的编号。特定模块的编号数量将直接控制模块的行为。
图3描述了在tcp接收模块中,一个存储器区域使用索引来查找的例子。输入索引和输出索引对于每个模块来说都是有访问控制的权限,索引使得模块之间保持协调。
图3 共享存储器的查找索引
每次一个数据报离开或者到达一个输入缓冲器,都要先查询存储器管理模块。这个模块使用一个称作空闲队列表的索引来管理输入输出缓冲器中的空闲地址。通过查询这个表,存储器管理模块可以为进入的有效载荷分配
您可能关注的文档
- FreeBSD可执行程序格式.doc
- FreeBSD手工编译安装程序.doc
- Ghrelin对MPTP小鼠帕金森病模型黑质TH、Bcl2和BaxmRNA表达的影响.doc
- GIS理念之城市绿地景观环保评估.doc
- GlcNAc糖基转移酶表达下调对tau蛋白磷酸化的影响.doc
- Global.asa文件的使用及Chat程序--.doc
- HBVX基因对成人肝细胞HL7702线粒体功能的影响.doc
- HCG日血清孕酮水平对体外受精胚胎移植结局的影响.doc
- HDAC6表达载体转染对胃癌细胞株SGC7901生物学行为的影响.doc
- HG颗粒对四氯化碳复合法致肝纤维化大鼠肝胶原纤维及羟脯氨酸含量的影响.doc
- “才聚荆楚,智汇天门”天门市2025年人才引进76人笔试备考题库及答案详解1套.docx
- 2025年青岛市体育局所属事业单位招聘工作人员笔试高频难、易错点备考题库及参考答案详解.docx
- 2025年鄂尔多斯市委员会机构编制委员会所属事业单位度引进紧缺专业人才笔试高频难、易错点备考题库及参.docx
- 2025年贵州长顺县引进17名高层次和急需紧缺人才笔试高频难、易错点备考题库及参考答案详解.docx
- 上海市荣誉军人疗养院工作人员招聘笔试高频难、易错点备考题库含答案详解.docx
- 中国人民银行金融研究所2024年度公开招聘工作人员笔试高频难、易错点备考题库及参考答案详解.docx
- 2025年重庆理工大学招聘16名事业单位工作人员笔试高频难、易错点备考题库及参考答案详解.docx
- 2025年贵州毕节市赫章县事业单位招聘123人笔试高频难、易错点备考题库及参考答案详解一套.docx
- 上海市伤骨科研究所2025年招聘5人笔试备考题库及答案详解一套.docx
- 2025年辽宁省委党校(辽宁行政学院、辽宁省社会主义学院)招聘17人笔试备考题库及参考答案详解一套.docx
文档评论(0)