预览加载中,请您耐心等待几秒...
1/4
2/4
3/4
4/4

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第26卷第3期河北理工学院学报Vol126No13 2004年8月JournalofHebeiInstituteofTechnologyAug.2004 文章编号:1007-2829(2004)03-0042-04 基于UDP通信协议的设计与实现 赖步英1,况姗芸2,游玉椿3 (11广州航海高等专科学校,广东广州510330;21广州华南师范大学,广东广州510631;31广州新太科技有限公司,广东广州510665) 关键词:UDP;通信协议;TCP/IP;可靠;连接 摘要:基于目前UDP通信的优势与不足,在参考TCP/IP协议及ISO7层协议、X125协议的 基础上,设计了一套基于UDP的通信协议来实现基于UDP的可靠通信及弱连接特性。 中图分类号:TP311文献标识码:A 21世纪将是一个以网络为核心的信息时代,一般把Internet定义为一个技术名词,指遵守TCP/IP协 议[1],用各种计算机物理连接方式集合在一起的计算机网络及单机的总和。TCP/IPInternet协议族已经成 为计算机工业中开放系统互连的事实上的标准。在TCP/IP协议族中,用户数据报协议UDP提供应用程序 之间传送数据报的基本机制。基于目前UDP通信的不足:不可靠的无连接服务,笔者在参考TCP/IP协议 及ISO7层协议、X125协议的基础上,设计了一套基于UDP的通讯协议来实现基于UDP的可靠通信及弱 连接特性。 1采用UDP协议的优势与不足[2,3] UDP协议的优势: (1)系统开销小、速度快; (2)对绝大多数基于消息包传递的应用程序来说,基于帧的通信(UDP)比基于流的通信(TCP)更为直接 和有效; (3)对应用部分实现系统冗余、任务分担提供了极大易实现性及可操作性; (4)对等的通信实体、应用部分可方便的根据需要构造成客户/服务器模型及分布处理模型,大大加强应 用在可操作性及维护性的能力; (5)可实现完全图模型的网状网络拓扑结构,可大大增强系统的容错性。 目前UDP协议的不足:无连接,通信不可靠。 无连接特性在某些应用可能是优势,但大部分的应用都是需要有连接的,作者在参考TCP协议及ISO7 层协议、X.25协议的基础下,设计了一套基于UDP的通信协议来实现基于UDP的可靠通信及弱连接特性。 协议的状态驱动图如图1。 2主要由以下几点保证 2.1有序 2.2可靠性保证: (1)同步; (2)超时重拨; (3)N-RAQ确认(包括捎带机制); 收稿日期:2003209217 作者简介:赖步英(19662),女,广州航海高等专科学校讲师,硕士。 ©1994-2009ChinaAcademicJournalElectronicPublishingHouse.Allrightsreserved.http://www.cnki.net 第3期赖步英,等:基于UDP通信协议的设计与实现43 (4)选择拒绝 2.3流量控制(滑动窗口协议) 图1协议状态驱动图 3UDP协议的工作流程 UDP协议的工作流程是一个基于UDP的弱连接的协议,该概念意味着协议要维护流入、流出通信模块 的每个用户数据帧的状态和状态信息这样的一个事实,但对连接的建立及释放也没有TCP等协议要求的严 格。通信模块用一个TCB(TransferControlBlock)来管理、维护一个链路的状态。图2是一个正常的通信过 程: ©1994-2009ChinaAcademicJournalElectronicPublishingHouse.Allrightsreserved.http://www.cnki.net 44河北理工学院学报第26卷 4协议对几种网络丢包的处理 4.1数据帧PDU(protocoldataunit)丢失 如图3,发送方PDU(3)在传输中丢失,接收方(P2)在收到PDU(1),PDU(2)后接收到PDU(4),因为当 前要接收的序号为3,因此接收方发送REJ(3),表示当前要接收的是PDU(3),同时也对3以前的PDU进行 一次确认;发送方收到REJ(3)后,直接重发PDU(3),同时把重发队列中序号小于3的帧从队列中移走(已 确认)。 4.2确认帧丢失 如图4,ACK(3)丢失,但接收方下一确认帧ACK(5),就对于5以下的自然确认。若发送方的一个确认 帧也没有收到,则发送方在重发定时器到达后,把重发队列尾的PDU重发出去,接收方在收到序号比当前接 收序号n小的PDU后,立即发送ACK(n)。 综上所述,无论是丢失数据帧还是丢失确认帧,协议均能纠正过来,保证数据的可靠传递。控制帧的发 送及等待帧均有多次重试机会,对于网络的丢失包也不会引起协议的工作不正常。如在握手阶段的SYN 帧,在未收到SYN-ACK之前连