轻量级tcp-ip协议中缓冲区与内存管理技术的研究与实现

轻量级tcp-ip协议中缓冲区与内存管理技术的研究与实现

ID:9602769

大小:51.00 KB

页数:4页

时间:2018-05-03

轻量级tcp-ip协议中缓冲区与内存管理技术的研究与实现_第1页
轻量级tcp-ip协议中缓冲区与内存管理技术的研究与实现_第2页
轻量级tcp-ip协议中缓冲区与内存管理技术的研究与实现_第3页
轻量级tcp-ip协议中缓冲区与内存管理技术的研究与实现_第4页
资源描述:

《轻量级tcp-ip协议中缓冲区与内存管理技术的研究与实现》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、轻量级TCP/IP协议中缓冲区与内存管理技术的研究与实现摘要本文针对嵌入式应用的特点,提出了一种基于微操作系统内核之上的网络通信协议的实现方案,描述了该轻量级TCP/IP协议的总体架构,并重点介绍了其中的缓冲区与内存管理技术。关键词轻量级TCP/IP;缓冲区;内存管理;1引言微操作系统的通信软件是移动计算、智能传感器等嵌入式系统应用中的关键系统软件,为了与传统的计算机网络统一组网,微操作系统中必须支持TCP/IP通信协议。然而,在微操作系统中采用传统的TCP/IP协议无疑将导致系统整体性能的下降,同时,各种移动计算设备和嵌入式系统

2、设备在CPU、存储器、通信部件等硬件配置方面存在着很大的差异。因此,通过研究一种可裁减的轻量级TCP/IP协议并加以实现,从而支持不同的设备,满足不同应用场合的通信和组网需求,具有较强的理论意义和重要的实用价值。针对上述情况,本文作者实现了该轻量级TCP/IP协议,本文描述了实现过程中的关键技术:缓冲区与内存管理技术。2轻量级TCP/IP协议简介绍2.1轻量级TCP/IP协议所谓轻量级TCP/IP协议,就是关注于用尽可能小的内存消耗和尽可能小的代码量将TCP/IP在诸如嵌入式系统等资源极其受限的系统上加以实现,以支持资源受限的计算

3、设备与传统计算机网络的互联互通。它具有紧凑、轻便、模块化、高效、可裁减和可移植等特性。2.2轻量级TCP/IP协议的组成及设计方案为了有效利用资源并提高效率,本文基于传统的TCP/IP结构,提出了一种轻量级的TCP/IP实现方案,体系结构如图1轻量级TCP/IP协议和标准的TCP/IP协议相比,在协议组成、协议实现算法上做了较大的简化,但它具有最基本的功能。图1轻量级TCP/IP协议栈的体系结构图轻量级TCP/IP协议的实现包括如下模块:ARP协议:实现了ARP请求和ARP应答协议。IP协议:实现了IP最基本的功能,包括,发送、接

4、收、转发。不支持IP选项功能。由于嵌入式系统生成的数据较小,能够直接通过网络传输,因此不需要将输出数据报进行分片;但有可能接收到分片的数据报,因此要对输入数据报片重组,以保证与传统计算机网络的通信。ICMP协议:主要用来传递差错报文以及其他需要注意的信息。只实现了ICMP中类型号为0,代码号为0的Ping应答协议。TCP协议:实现了RFC793中相应的功能,包括三次握手建立连接,连接的撤消,各种状态之间的转换,超时重传,RTT估算,快速恢复和快速转发。UDP协议:用来提供不面向连接的、尽最大努力传输的数据流传输服务。通用接口层:该

5、层把所有与硬件、OS、编译器相关的部分独立出来。重点是对OS进行了封装,形成了对上层软件的统一接口。当TCP/IP需要系统调用时,并不直接调用OS提供的函数,而是使用该层的接口。因此,实现的轻量级TCP/IP协议可以方便的移植。缓冲区和内存管理:实现了一种能适应数据动态增删,但在逻辑上又呈连续性的数据结构,能够满足在各协议之间传递数据而又不需要内存拷贝。这种链状数据结构,主要用来存放数据包。有如下特色:1)方便的在数据的头部增加空间与删除数据,用于处理包头;2)可以通过指针来避免真实的拷贝来拷贝包;3)可以不拷贝而将多个包形成一个

6、包或将一个包分割成多个包。针对嵌入式应用的特点,对该数据结构的内存管理采用静态内存管理方法,即在系统启动时一次性申请到足够的内存,在系统运行时不在释放,以此来增加系统的稳定性。内存管理提供内存分配,内存释放等服务。轻量级TCP/IP协议的配置项:为适合不同的应用需求,通过一个可配置项来设置一些可配置信息。主要有:UDP是否使用、TCP是否使用、TCP是否主动打开、ARP表大小、接收缓冲大小、TCP连接数、是否使用中断方式等。根据实际应用情况,选取合适的参数对于节约存储空间、加快程序运行具有很大的作用。3轻量级TCP/IP协议的缓冲

7、区及内存管理技术网络的一个主要性能是数据吞吐量。对网络软件的各个组件研究表明,缓冲区是影响网络性能的最重要的因素。同时,缓冲区的分配是与内存管理分不开的。因此,本文对它们的实现机制进行详细的描述。3.1轻量级TCP/IP协议的缓冲区技术轻量级TCP/IP协议缓冲区的职责有两个:(1)为协议栈提供合适的缓冲区,如果缓冲区太大会浪费系统资源,太小则会影响协议的吞吐量(2)提供合适的数据结构装载网络报文,既可以方便的处理报文,又可以减少缓冲区拷贝的次数。借鉴标准TCP/IP的缓冲区设计技术,轻量级TCP/IP协议通过接收数据缓冲和发送数

8、据缓冲存放数据。采用2种数据链表结构来存放待发送数据和接收数据,分别为MBUF_RAM,和MBUF_POOL。其中,MBUF_RAM用于在发送数据时存放各层协议首部信息,MBUF_POOL用于存放接收数据。MBUF_RAM的数据结构如图2所示:图2

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。