轻量级TCP-IP协议中缓冲区与内存管理技术的研究与实现.docVIP

轻量级TCP-IP协议中缓冲区与内存管理技术的研究与实现.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
轻量级TCP-IP协议中缓冲区与内存管理技术的研究与实现.doc

  轻量级TCP/IP协议中缓冲区与内存管理技术的研究与实现 摘 要 本文针对嵌入式 应用 的特点,提出了一种基于微操作系统内核之上的 网络 通信协议的实现方案,描述了该轻量级TCP/IP协议的总体架构,并重点介绍了其中的缓冲区与内存管理技术。关键词 轻量级TCP/IP;缓冲区;内存管理;1 引言微操作系统的通信软件是移动 计算 、智能传感器等嵌入式系统应用中的关键系统软件,为了与传统的计算机网络统一组网,微操作系统中必须支持TCP/IP通信协议。然而,在微操作系统中采用传统的TCP/IP协议无疑将导致系统整体性能的下降,同时,各种移动计算设备和嵌入式系统设备在CPU、存储器、通信部件等硬件配置方面存在着很大的差异。因此,通过 研究 一种可裁减的轻量级TCP/IP协议并加以实现,从而支持不同的设备,满足不同应用场合的通信和组网需求,具有较强的 理论 意义和重要的实用价值。针对上述情况,本文作者实现了该轻量级TCP/IP协议,本文描述了实现过程中的关键技术:缓冲区与内存管理技术。2 轻量级TCP/IP协议简介绍2.1 轻量级TCP/IP协议 所谓轻量级TCP/IP协议,就是关注于用尽可能小的内存消耗和尽可能小的代码量将TCP/IP在诸如嵌入式系统等资源极其受限的系统上加以实现,以支持资源受限的计算设备与传统计算机网络的互联互通。它具有紧凑、轻便、模块化、高效、可裁减和可移植等特性。2.2 轻量级TCP/IP协议的组成及设计方案为了有效利用资源并提高效率,本文基于传统的TCP/IP结构,提出了一种轻量级的TCP/IP实现方案,体系结构如图1轻量级TCP/IP协议和标准的TCP/IP协议相比,在协议组成、协议实现算法上做了较大的简化,但它具有最基本的功能。图1 轻量级TCP/IP协议栈的体系结构图 轻量级TCP/IP协议的实现包括如下模块: ARP协议:实现了ARP请求和ARP应答协议。 IP协议:实现了IP最基本的功能,包括,发送、接收、转发。不支持IP选项功能。由于嵌入式系统生成的数据较小,能够直接通过网络传输,因此不需要将输出数据报进行分片;但有可能接收到分片的数据报,因此要对输入数据报片重组,以保证与传统计算机网络的通信。 ICMP协议:主要用来传递差错报文以及其他需要注意的信息。只实现了ICMP中类型号为0,代码号为0的Ping应答协议。 TCP协议:实现了RFC793中相应的功能,包括三次握手建立连接,连接的撤消,各种状态之间的转换,超时重传,RTT估算,快速恢复和快速转发。 UDP协议:用来提供不面向连接的、尽最大努力传输的数据流传输服务。通用接口层:该层把所有与硬件、OS、编译器相关的部分独立出来。重点是对OS进行了封装,形成了对上层软件的统一接口。当TCP/IP需要系统调用时,并不直接调用OS提供的函数,而是使用该层的接口。因此,实现的轻量级TCP/IP协议可以方便的移植。缓冲区和内存管理:实现了一种能适应数据动态增删,但在逻辑上又呈连续性的数据结构,能够满足在各协议之间传递数据而又不需要内存拷贝。这种链状数据结构,主要用来存放数据包。有如下特色: 1) 方便的在数据的头部增加空间与删除数据,用于处理包头;2) 可以通过指针来避免真实的拷贝来拷贝包;3) 可以不拷贝而将多个包形成一个包或将一个包分割成多个包。针对嵌入式应用的特点,对该数据结构的内存管理采用静态内存管理 方法 ,即在系统启动时一次性申请到足够的内存,在系统运行时不在释放,以此来增加系统的稳定性。内存管理提供内存分配,内存释放等服务。轻量级TCP/IP协议的配置项:为适合不同的应用需求,通过一个可配置项来设置一些可配置信息。主要有:UDP是否使用、TCP是否使用、TCP是否主动打开、ARP表大小、接收缓冲大小、TCP连接数、是否使用中断方式等。根据实际应用情况,选取合适的参数对于节约存储空间、加快程序运行具有很大的作用。3 轻量级TCP/IP协议的缓冲区及内存管理技术网络的一个主要性能是数据吞吐量。对网络软件的各个组件研究表明,缓冲区是 影响 网络性能的最重要的因素。同时,缓冲区的分配是与内存管理分不开的。因此,本文对它们的实现机制进行详细的描述。3.1 轻量级TCP/IP协议的缓冲区技术轻量级TCP/IP协议缓冲区的职责有两个:(1) 为协议栈提供合适的缓冲区,如果缓冲区太大会浪费系统资源,太小则会影响协议的吞吐量(2)提供合适的数据结构装载网络报文,既可以方便的处理报文,又可以减少缓冲区拷贝的次数。借鉴标准TCP/IP的缓冲区设计技术,轻量级TCP/IP协议通过接收数据缓冲和发送数据缓冲存放数据。采用2种数据链表结构来存放待发送数据和接收数据,分别为MBUF_RAM,和MBUF_POOL。其中,MBUF_RAM用于在发送数据时存放各层协议首部信息

文档评论(0)

ggkkppp + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档