一种基于UDP的可靠传输协议分析与研究一种基于UDP的可靠传输协议分析与研究3王海军,刘彩霞,程东年(国家数字交换系统工程技术研究中心,河南郑州450002)摘要:提出了一种基于UDP协议的简单可靠传输协议SRUDP,分析了SRUDP协议的基本原理,着重阐述了SRUDP的内部机制,包括证实机制、重发机制以及序号强制对齐机制。最后研究了SRUDP协议中各种重要参数的设置,为具有可靠性要求高的业务丿'V用提供了参考依据。关键词:SRUDP;传输可靠性;证实机制;重发机制中图法分类号:TP30217文献标识码:A文章编号:100123695(2005)1120181203AnalysisandResearchofaReliableTransmissionProtoco1BasedonUDPWANGHai2jun,LIUCai2xia,CHENGDong2nian(NationalDigitaiSwitchingSystemEngineering&TechnologicfilR&DCenter,ZhengzhouHenan450002,China)Abstract:Thispaperpresentsasimplereliabletransportprotocol:SRUDP,basedonUDP1Withitsfundamentalbeingana2lyzed,weemphasizetointroducetheinsidemechanismofSRUDP,includingpacketconfirmingmechanism,retransmissionmechanismandsequeneealigningmechanismlIntheend,wediscusshowtosettheimportantparametersinSRUDP,whichpresentsareferencetothereliableserviceapplicationlKeywords:SimpleReliableUDP;TransmissionReliability;ConfirmingMechanism;RetransmissionMechanism传输控制协议(TCP)是血向连接的协议,也就是说,在正式收发数据前,必须和对方建立可靠的通信连接。川户数据包协议(UDP)是与TCP相对应的、面向非连接的协议,它不与对方建立连接,而玄接就把数据包发送过去。由于UDP协议没有连接的过程,所以它的通信效率高,也因此人人降低了它的可靠性。UDP适用于对可靠性要求不高的丿勺用环境。随着网络传输业务的快速发展,在某些对可靠性和高效性要求都较高的应川坏境小,如移动计算坏境,TCP和UDP不能很好地满足应用需求,这就需要能够兼顾可靠性和高效性的传输层协议。而RUDP(ReliableUDP)协议虽然能够保证通信传输的可靠性,但是它有六个字节的协议头,协议头较长,可靠传输的控制机制较为复杂。为此提出了一•种自定义的、为UDP引入多种可靠传输机制的简化协议SRUDP(SimpleReliableUDP),分析了SRUDP的协议头结构以及各种控制机制,并研究了SRUDP中各种重要参数的设置,为具有可靠性要求高的业务应用提供了参考依据。1SRUDP的基木原理SRUDP协议基于UDP之上,它有两个字节的协议头,为一个字节的前向序号与一个字节的后向序号。前向序号表示期望下一次对方发送的SRUDP包序号,后向序号表示带给对方的证实序号。围绕这两个字节的协议头,SRUDP协议采川了一套简单而冇效的机制来实现通信双方的可靠传输。协议头结构如图1所示。SRUDP协议引入证实机制、重发机制以及序号强制对齐机制來保证SRUDP信件的可靠传输。为引入证实机制,定义了逻辑上的一个待证实队列。另外,为了实现重发,引入了一个SRUDP发送缓冲区川于缓存还未得到证实的消息和由于待证实队列已满时,缓存应用层所要发送的消息,如图2所示。SRUDP协议具有几条基木原则:①收到对方的证实序号后,将该序号以前的位于待证实队列中的所有SRUDP序号一起予以证实;②已经被证实掉的SRUDP包将从SRUDP发送缓冲区小去除;③待证实队列已满时,只将所要发送的SRUDP包缓存到SRUDP的发送缓冲区小,而不进行发送。2SRUDP的机制分析SRUDP有着多种相互配合的机制,如证实机制、重发机制以及序号对齐机制等。这些机制组合起来,为SRUDP的可靠传输奠定了基础。211SRUDP的证实机制因为通信双方存在着多种情况的通信,所以在考虑证实机制的时候,为使尽快得到证实而提高SRUDP的效率,引入多种第11期王海军等:-•种基于UDP的可靠传输协议分析与研究・181・©1994-2009ChinaAcademicJournalElectronicPublishingHouse.Allrightsreserved,cnki证实机制,B|JSRUDP包证实、定时插入证实、多包插入证实。(1)SRUDP包证实。它指通信双方采用SRUDP协议相互给对方发送需要可靠传输的消息时,传输过程中的每一•个SRUDP包(消息)口身都带有给对方的证实倍息,在SRUDP包头中后向序号就是带给对方的证实序号...