计算机应用 | 古代文学 | 市场营销 | 生命科学 | 交通物流 | 财务管理 | 历史学 | 毕业 | 哲学 | 政治 | 财税 | 经济 | 金融 | 审计 | 法学 | 护理学 | 国际经济与贸易
计算机软件 | 新闻传播 | 电子商务 | 土木工程 | 临床医学 | 旅游管理 | 建筑学 | 文学 | 化学 | 数学 | 物理 | 地理 | 理工 | 生命 | 文化 | 企业管理 | 电子信息工程
计算机网络 | 语言文学 | 信息安全 | 工程力学 | 工商管理 | 经济管理 | 计算机 | 机电 | 材料 | 医学 | 药学 | 会计 | 硕士 | 法律 | MBA
现当代文学 | 英美文学 | 通讯工程 | 网络工程 | 行政管理 | 公共管理 | 自动化 | 艺术 | 音乐 | 舞蹈 | 美术 | 本科 | 教育 | 英语 |

轻量级TCP/IP协议中缓冲区与内存管理技术的研究

2014-09-24 01:17
导读:计算机应用论文论文,轻量级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用于在发送数据时存放各层协议首部信共2页: 1 [2] 下一页 论文出处(作者):
上一篇:教育技术中的非编网络系统电视节目制作(1) 下一篇:没有了