一种嵌入式TCPIP协议的设计与实现

一种嵌入式TCPIP协议的设计与实现

ID:38695482

大小:54.00 KB

页数:5页

时间:2019-06-17

一种嵌入式TCPIP协议的设计与实现_第1页
一种嵌入式TCPIP协议的设计与实现_第2页
一种嵌入式TCPIP协议的设计与实现_第3页
一种嵌入式TCPIP协议的设计与实现_第4页
一种嵌入式TCPIP协议的设计与实现_第5页
资源描述:

《一种嵌入式TCPIP协议的设计与实现》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、一种嵌入式TCP/IP协议的设计与实现发布日期:2007-05-30 作者:娄莉刘天时来源:微计算机信息摘 要:本文提出了基于ARM的嵌入式TCP/IP协议在低速处理器中的一种设计方案。并对TCP/IP协议族实现过程中的关键技术进行了分析,通过一个分布式网络监控系统的实际运行,证明该协议族已达到预期的性能。关键词:TCP/IP协议族,嵌入式, 裁剪, ARM1引言目前,嵌入式系统已经渗透到日常生活的各个方面,在工业、服务业、消费电子等领域的应用范围不断扩大。因此,嵌入式设备的联网势在必行。但是,由于嵌入式系

2、统资源有限,传统的Internet技术和设备无法直接应用。这种趋势促使嵌入式设备必须实现Internet网络化[1]。然而,将嵌入式系统与Internet结合起来的主要困难在于,Internet的各种通信协议对于计算机存储器、运算速度等的要求比较高,而嵌入式系统中大量存在的是8位和16位MCU,支持标准TCP/IP协议族的实现将占用大量系统资源[2],因此,为了使其实时性提高同时保证可靠性又节省系统资源,需要对协议进行有针对性的模块化裁剪,在单片机上嵌入TCP/IP协议族的一个子集。2. TCP/IP协议族

3、总体框架的裁剪策略为了实现在分布式网络监控系统中作为前端监控设备(编码器、解码器、视频服务器等)的应用要求,必须在有限的硬件资源中保证数据传输的可靠性和实时性。考虑到实时监控系统中数据传输量并不大,而可靠性要求较高,因此该工业控制系统的传输层采用TCP协议,考虑到通用性、兼容性和通信的可靠程度,没有使用在应用层加入控制策略,运输层使用简单UDP协议的方案。TCP是面向连接的、端对端的可靠通信协议[3],它采用许多机制来保证可靠传输,而该系统中本地数据的流动要实现向应用程序提供可靠的数据,与底层以太网驱动程序

4、交互数据报的功能,因此,协议族系统结构设计框架如图1所示,其中socket子层、运输层的TCP协议、网络层的IP和ICMP协议、ARP协议是本系统需要设计并实现的部分。图1协议族系统框架2.1socket子层的实现网络的Socket(插口)数据传输是一种特殊的I/O,Socket也是一种文件描述符[4]。它具有一个类似于打开文件的函数调用;Socket()函数能够返回一个整型的Socket描述符,随后的连接建立、数据传输等操作都是通过该Socket实现的。该系统中Socket子层向上层提供了创建一个sock

5、et描述符,将本地的IP地址与端口号绑定到一个socket上,实现TCP连接的建立、断开,数据的接收与发送的功能。2.2TCP协议的实现TCP协议数据传输可分为三个阶段:连接建立、数据传输和连接断开[5]。它的实现过程可以用状态机来描述。建立连接有两种方法,即主动打开和被动打开。服务器端是一种被动打开,它一直在侦听连接请求;而客户端是一种主动打开,它发送连接请求以建立连接。研究发现,如果TCP层的上层实现服务器端的应用,可以将标准TCP状态机建立连接过程中的客户端建立连接的状态机部分简化掉。同理,如果应用是

6、基于客户端的,可以将服务器端建立连接的状态机部分简化掉。断开连接有两种方式:一是主动断开连接;另一是被动断开连接。被动断开连接的处理较为简单,而标准TCP协议的主动断开连接的状态机部分过于复杂。经过实验发现,在需要主动断开的时候,发送一个FIN数据报,接收到对FIN数据报的确认后,再发送一个Reset数据报,即可完成一次主动断开连接。标准的TCP协议使用慢启动和滑动窗口机制。滑动窗口是一种在流量控制和网络传输效率之间进行折中的方案,它允许发送方在等待一个确认之前发送多个窗口,其确认是一种批量的确认。但是由于

7、系统中网络传感器传输数据量很小,因此没有必要消耗大量的存储空间实现滑动窗口机制换取对流量和拥塞的控制。因此通过研究滑动窗口协议发现,如果采用停等协议,即滑动窗口只使用单个窗口的极限情况,发送方每发送一个分组,都等待确认;收到确认后再发送下一个分组,那么就变成了一种简单确认的处理方法,使用该方法后,所有的处理只是对单个数据报的发送和确认,节约了系统资源,也使维护更方便,这样做既能够保证传输的可靠,在数据量不大的情况下,传输的实时性也不会有明显的折扣。更重要的是,化解了流量和拥塞问题。当然,如果只使用一个窗口,

8、还要求对方也使用简单的确认机制。因为如果对方使用较大的窗口,就可能造成处理器被淹没。这可以通过设置TCP头部Windows字段来通知对方自己的接收缓冲区大小,避免对方连续发送大量数据造成接收缓冲区溢出来实现。在上述基础上简化实现TCP协议的流程图如图2所示。图2  简化的TCP协议流程图  2.3IP协议的实现IP协议是网络层协议,是TCP/IP协议的基础,它可以为不同网络的主机之间发送数据报的操作序列提供无连接

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

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

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