可靠数据报协议通信模块的设计(图文)_第1页
可靠数据报协议通信模块的设计(图文)_第2页
可靠数据报协议通信模块的设计(图文)_第3页
可靠数据报协议通信模块的设计(图文)_第4页
可靠数据报协议通信模块的设计(图文)_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、可靠数据报协议通信模块的设计(图文)论文导读:2可靠数据报协议通信模块任务划分在整个RUDP软件结构中,协议处理任务和UDP套接字守护任务的分工如图1。(2)序列号机制RUDP通信模块将用户待发数据分成若干个字段进行传输(如果需要分组)。5结论本文针对通常传输层协议的不足,设计并实现了嵌入式实时系统中RUDP通信模块,最后给出测试分析及结果。关键词:实时系统,可靠数据报协议,通信模块可靠数据报协议(Reliable UDP,RUDP)是一个基于传输协议的简单的包,它的理论基础是RFCs1151和RFC908可靠数据协议1。RUDP位于UDP/IP之上,为虚拟连接提供可靠的有序的数据发送。1可靠

2、数据报协议通信模块的基本功能概括起来本软件模块提供的主要功能有:基于消息的收发功能,;确认延迟功能;选择性确认功能;校验和功能;保证包的顺序到达;丢弃重复包功能;保存失序包功能;超时重发功能;失序的快速重发功能;滑动窗口(需要有窗口通告、发送窗口、接收窗口)、流量控制机制;保活机制;检错机制;安全传输机制(主要是每个包都有一个该链接的ID,该功能可选);尽最大努力重传(保证消息可靠运行)2。2可靠数据报协议通信模块任务划分在整个RUDP软件结构中,协议处理任务和UDP套接字守护任务的分工如图1 。图1协议处理任务和套接字守护任务的分工图中椭圆内的部分表示软件实体,箭头所指的方框表示相应软件实体

3、完成的功能。用户接口包括用户建立连接、关闭连接、发送用户数据、接收数据及查看连接状态等请求。RUDP协议处理任务是RUDP软件模块的核心部分,包括用户请求事件处理、定时器事件处理及字段到达事件处理。对来自用户及UDP的字段进行处理。UDP套接字的守护任务主要是接收来自套接口的各种消息包,并根据各种包的类型进行相应的处理,更多的时候将RUDP包转发给RUDP协议处理任务进行处理。3 RUDP采用的主要控制机制(1)面向连接的机制连接的建立:在RUDP的实现中,采用和TCP种类似的三次握手方式。论文大全。(2)序列号机制 RUDP通信模块将用户待发数据分成若干个字段进行传输(如果需要分组)。每个数

4、据字段被分配一个在此连接中唯一的序列号(Sequence),并且序列号的编排顺序与用户待传输数据排放顺序一致,用以标识字段,并保证用户数据的顺序原始性。(3)重传机制 每当发送一个带有用户数据字段、空字段或带有初始序列号的字段后,发送端便启动重传定时器(Retran Timer),当重传定时器计时到达重传超时值(RetransmissionTimeout Value)时,还没得到接收方的相应字段的确认,便重发此字段;当重发此字段的次数超过最大重传次数时(Max Retrans),则认为连接失败,复位连接。当接收到相应字段的确认后,复位重传定时器。(4)丢弃重复字段机制 每当收到带有数据字段后,

5、便对该字段进行确认记录,只对未确认的数据字段进行确认,丢弃已确认的重复字段。(5)校验机制 RUDP通信模块式承载在UDP通信机制之上的,利用UDP通信机制的校验位,可使RUDP字段进行校验,确保字段的正确性。若收到带有用户数据的字段校验错误,则丢弃该字段。此项工作在UDP协议层完成。(6)保活机制 每一连接中,客户端及服务器端各有一个空字段定时器(NULL Segment Timer),用来探测连接是否有效。(7)滑动窗口机制 3RUDP通过滑动窗口进行消息的收发同步以及流量控制。滑窗模型如图2所示。图2滑动窗口模型图中的收发两个循环中各个箭头都沿逆时针运动,即只能沿着循环队列的增长方向运动

6、。运动的规则是,当接收方的可接收的最大消息的序号和已接收的最大消息序号重合的时候接收窗口就停止转动,最终导致发送窗口也停止转动。在接收和发送窗口都不运动的情况下,双方可以进行消息的重传、窗口探测和链路保活这三种动作。(8)流量控制机制 利用上面设计的滑动窗口还可以实现流量控制。流量控制的原则,就是指在大流量时接收窗口可能会长时间为零的情况下,接收方只有在接收窗口增大到一个合适的值时才向发送方发送窗口通告。通过这样有效的对发送方的发送速度进行控制,就可以防止在大流量时出现网络过度拥塞的现象。4实验的设计及结果(1)CPU间进程异步消息通信测试 目的是测试CPU间2个进程互发异步消息的通信效率。论

7、文大全。设置3个测试进程,测试控制进程发启动测试消息,测试进程1收到启动测试消息后,发送异步通信消息到测试进程2,测试进程2收到进程1发送的异步通信消息后,发送异步通信消息到进程1,如此实现进程1和进程2互发消息。测试进程1收到测试进程2回发的异步消息后记录消息发送次数和当前系统运行时间(tick数)。论文大全。根据运行时间和消息数计算出通信效率。进程1和进程2配置为CPU间的两个进程。每个消息长度为sizeof(T_MSG) + 50 =90,实验结果如表1。表1 VxWorks下CPU间进程异步通信测试结果 通信消息数(条) 10000 100000 130000 200000 平均效率

8、使用 RUDP 时间(TICK) 1159 11695 15178 23410 效率(Mb/s) 0.745 0.741 0.740 0.738 0.741 使用 TCP 时间(TICK) 1340 13521 17509 26930 效率(Mb/s) 0.644 0.640 0.642 0.640 0.642 (2)CPU间进程同步消息通信测试 目的是测试CPU间2个进程互发同步消息的通信效率。设置3个测试进程,测试控制进程发启动测试消息,测试进程1收到启动测试消息后,发送同步通信消息到测试进程2,测试进程2收到进程1发送的同步通信消息后填充同步应答数据区。测试进程1收到同步应答后记录消息发

9、送次数和当前系统运行时间(tick数)。根据运行时间和消息数计算出通信效率。 表2 VxWorks下CPU间进程同步通信测试结果表 通信消息数(条) 10000 100000 130000 200000 平均效率 使用 RUDP 时间(TICK) 1004 10046 13371 21073 效率(Mb/s) 0.43 0.43 0.42 0.41 0.423 使用 TCP 时间(TICK) 1231 12310 16007 24752 效率(Mb/s) 0.35 0.35 0.35 0.35 0.350 5结论本文针对通常传输层协议的不足,设计并实现了嵌入式实时系统中RUDP通信模块,最后给出测试分析及结果。通过测试证明本文设计的进程间通信软件模块,不但成功的实现了CPU间的进程通信,而且在通信效率上比TCP通信模块有了较大程度的提高。参考文献1 代绍庆. 网络协议与路由. 第一版.北京: 清华

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论