欢迎来到天天文库
浏览记录
ID:18821020
大小:88.47 KB
页数:3页
时间:2018-09-21
《基于udp的通讯协议new》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、基于UDP的通讯协议赖步英(广州航务工程学校,广州510330)王小强(广州市华南师范大学计算机系)摘要:基于目前UDP协议的不足:无连接和通信不可靠;本人在参考TCP协议及ISO7层协议、X.25协议的基础下,设计了一套基于UDP的通信协议来实现基于UDP的可靠通信及弱连接特性。关键词:UDP,通讯协议,TCP,不可靠,弱连接。1、用UDP通信的优势:1.1系统开销小、速度快1.2对绝大多数基于消息包传递的应用程序来说,基于帧的通信(UDP)比基于流的通信(TCP)更为直接和有效1.3对应用部分实现系统冗余、任务分担提供了极
2、大易实现性及可操作性1.4对等的通信实体、应用部分可方便的根据需要构造成客户/服务器模型及分布处理模型,大大加强应用在可操作性及维护性的能力1.5可实现完全图模型的网状网络拓扑结构,可大大增强系统的容错性2、目前UDP协议的不足:2.1无连接2.2通信不可靠无连接特性在某些应用可能是优势,但大部分的应用都是需要有连接的,我们在参考TCP协议及ISO7层协议、X.25协议的基础下,设计了一套基于UDP的通信协议来实现基于UDP的可靠通信及弱连接特性3、主要由以下几点保证:3.1有序3.2可靠性保证3.2.1同步3.2.2超时重拨
3、3.2.3N-RAQ确认(包括捎带机制)3.2.4选择拒绝3.3量控制(滑动窗口协议)4、UDP协议的状态驱动图:如图1图1UDP协议的状态驱动图5、UDP协议的工作流程:是一个基于UDP的弱连接的协议,该概念意味着协议要维护流入、流出通信模块的每个用户数据帧的状态和状态信息这样的一个事实,但对连接的建立及释放也没有TCP等协议要求的严格。通信模块用一个TCB(TransferControlBlock)来管理、维护一个链路的状态。下图2是一个正常的通信过程。图2一个正常的通信过程 图3数据帧PDU丢失图
4、 图4确认帧丢失图6、下面是对几种网络丢包的处理:6.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的帧从队列中移走(已确认)。6.2确认帧丢失。如图4,ACK(3)丢失,但接收方下一确认帧
5、ACK(5),就对于5以下的自然确认。若发送方的一个确认帧也没有收到,则发送方在重发定时器到达后,把重发队列尾的PDU重发出去接收方在收到序号比当前接收序号n小的PDU后,立即发送ACK(n)。综上所述,无论是丢失数据帧还是丢失确认帧,协议均能纠正过来,保证数据的可靠传递。控制帧的发送及等待帧均有多次重试机会,对于网络的丢失包也不失引起协议的工作不正常。如在握手阶段的SYN帧,在未收到SYN-ACK之前连续启动握手定时器8次,直到收到SYN-ACK为止。在重发若干次PDU后均不能收到ACK后,链路进入poll状态,发送RR控询
6、包,在未收到RR-ACK或RNR之前连续启动探询定时器5次,直到收到应答消息为止。7、UDP协议对下列几种异常情况作相应处理:7.1正在通信的两方中,发送方异常退出,后又再建立连接。7.2正在通信两方中,接收方异常退出。综上所述,在通信过程中,任何一方发生故障,在故障排除通信模块工作后,协议均可保证通信自动恢复,这在实现系统的冗余备份,任务分担等功能时至关紧要。参考文献1、DIYGKASE.COMER著,林瑶,蒋慧,杜蔚等译.InternetworkingWithTCP/IPVOLⅠ:Principles,Protocols,
7、andArchitecture(ThirdEdition)用TCP/IP进行网际互连,第1卷:原理、协议和体系结构(第3版).顺义县天竺颖华印刷厂印刷:电子工业出版社出版、发行,1998年4月第1版。(收稿日期2001.7.26)
此文档下载收益归作者所有