已阅读5页,还剩39页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
中文摘要中又捅要 近年来,以太网技术在计算机监控领域的应用已经相当普及,基于以太网 + t c p i p 协议的架构在计算机监控系统中被广泛采用,从而取代传统的通信方式 而成为监控系统通信的主流。目前,计算机监控系统中大多数采用传输控制协议 ( t r a n s m i s s i o nc o n t r o lp r o t o c o l ,t c p ) 或用户数据报协议( u s e rd a t a g r a m p r o t o c o l ,u d p ) 来进行数据交互。t c p 是基于流的传输协议,是一个无边界的协 议,如果将它们应用于基于消息的通信中,就需要用户处理消息的边界和完整性, 这将不可避免的增加系统的开销并降低通信的效率。u d p 是基于消息的传输协议, 可以被应用在基于消息的通信中,但是由于它是无连接的传输协议,所以不能保 证进程间数据的可靠传输。上述解决方案都不能很好的满足计算机监控系统对可 靠性和实时性的要求。 因此如何实现计算机监控系统实时的、可靠的数据通信,就成为一个很有意 义的研究课题。 本文根据可靠u d p ( r e l i a b l eu d p ,r u d p ) 协议草案对r u d p 协议进行了详 细的分析,设计并实现了r u d p 协议,目的是要验证r u d p 协议应用在e t h e r n e t 网络中的可行性。主要研究内容有: ( 1 ) r u d p 协议实现的基本原理和总体设计方案; ( 2 ) r u d p 协议关键机制的解决和实现,包括连接机制、滑动窗口机制、流量 控制、确认机制、定时器的管理等; ( 3 ) 搭建测试环境,对该协议的功能和性能进行测试,并与t c p 协议和u d p 协 议就通信性能进行比较。 目前关于r u d p 协议的研究和实现还很少,本文详细地阐述了它的基本原理 和实现方法,r u d p 协议成功的解决了t c p 通信效率低和u d p 数据传输不可靠的 问题。通过测试证明本文设计的r u d p 协议,不但成功的实现了e t h e r n e t 中的通 信,而且在通信效率上比t c p 有了较大程度的提高,可靠性也比u d p 有所提高。 关键词:计算机监控;r u d p :t c p ;u d p r u d pa n dt h ea p p l i c a t i o nr e s e a r c ho fi to nc o m p u t e rm o n i t o r i n g s y s t e m y u a nh o n g - l i ( c o m p u t e ra p p l i e dt e c h n o l o g y ) d i r e c t e db yx uy u b i n a b s t r a c t i nr e c e n ty e a r s ,e t h e m e tt e c h n o l o g yi sq u i e tp o p u l a ri nt h ef i e l do f c o m p u t e rm o n i t o r t h ea r c h i t e c t u r e b a s e do ne t h e r n e t + t c p i pi s w i d e l y u s e di nt h ec o m p u t e rm o n i t o r i n gs y s t e m ,i tr e p l a c e st h e t r a d i t i o n a lm e a n so fc o m m u n i c a t i o na n db e c o m e sm a i n s t r e a mo ft h e c o m m u n i c a t i o nm o n i t o r i n gs y s t e m a tp r e s e n t ,t h et r a n s m i s s i o nc o n t r o l p r o t o c o l ( t r a n s m i s s i o nc o n t r o lp r o t o c o l ,t c p ) o ru s e rd a t a g r a mp r o t o c o l ( u s e rd a t a g r a mp r o t o c o l ,u d p ) i sm o s t l yu s e di nt h em o n i t o r i n gs y s t e m f o rd a t ae x c h a n g e t c pw h i c hi sb a s e do nt h ef l o wi san o n - b o r d e r p r o t o c o l ,i fi ti su s e di nc o m m u n i c a t i o n sb a s e d o nt h ei n f o r m a t i o n ,n e w s b o r d e r sa n di n t e g r i t yn e e dt od e a lw i t hb yu s e r s a n dt h i sw i l li n e v i t a b l y i n c r e a s et h ec o s t so ft h i s s y s t e m a n dr e d u c et h ec o m m u n i c a t i o n e f f i c i e n c y u d pi sap r o t o c o lb a s e do nt h ei n f o r m a t i o nt r a n s f e r ,i tc a n b e u s e di nc o m m u n i c a t i o nb a s e do nt h en e w s ,b u tb e c a u s ei ti san o l i n k t r a n s m i s s i o np r o t o c o l ,s ot h er e l i a b i l i t yo fd a t at r a n s m i s s i o nc a nn o tb e g u a r a n t e e d t h e s es o l u t i o n sd on o tm e e tt h er e l i a b i l i t y a n dr e a l t i m e r e q u i r e m e n t so fc o m p u t e rm o n i t o r i n gs y s t e mv e r yw e l l a c c o r d i n g t ot h ed r a f ta g r e e m e n to nr e l i a b l eu d p ( r u d e ) ,r u d p i sa n a l y z e d ,d e s i g n e da n di m p l e m e n t e di nd e t a i li n t h i sp a p e r t h i s v e r i f i e st h ef e a s i b i l i t yo fr u d pi ne t h e m e t t h em a i nc o n t e n t si n c l u d e : ( 1 ) t h eb a s i cp r i n c i p l e sa n dd e s i g np l a no fr u d p ; ( 2 ) t h er u d pk e ym e c h a n i s m i ss e t t l e da n d r e a l i z e d ,i n c l u d i n g c o n n e c t i n gm e c h a n i s m ,s l i d i n g w i n d o wm e c h a n i s m ,f l o wc o n t r o l , c o n f i r m e dm e c h a n i s m ,t h et i m e rm a n a g e m e n t ; ( 3 ) t h et e s te n v i r o n m e n ti sb u i l t ,f o rt e s t i n gf u n c t i o n a l i t ya n dp e r f o r m a n c e o ft h ea g r e e m e n t ,a n dc o m p a r i n gw i t ht c pa n du d po nc o m m u n i c a t i o n s i i i p e r f o r m a n c e n o w a d a y s ,t h er e s e a r c ho nr u d p i sv e r yl i t t l e ,t h i sp a p e rd e s c r i b e s d e e p l yt h eb a s i cp r i n c i p l e sa n dr e a l i z e dm e t h o d s r u d ps u c c e s s f u l l y r e s o l v e st h ed a t at r a n s m i s s i o np r o b l e m sb o t ht h ei n e f f i c i e n to ft c pa n d t h eu n r e l i a b l eo fu d p t h et e s t p r o v e dt h a t t h i s d e s i g no fr u d p a g r e e m e n t ,n o to n l y t oa c h i e v et h ec o m m u n i c a t i o ns u c c e s s f u l l yi n e t h e m e t ,b u ta l s o h a s s u b s t a n t i a l l y i n c r e a s e dd e g r e et h a nt c pi n c o m m u n i c a t i o ne f f i c i e n c y ,a n di t sr e l i a b i l i t yh i g h e rt h a nu d p k e yw o r d s :c o m p u t e rm o n i t o r i n gs y s t e m ;r u d p ;t c p ;u d p 承诺书 本人郑重声明:所呈交的学位论文,是在导师指 导下独立完成的,学位论文的知识产权属于太原科技 大学。如果今后以其他单位名义发表与在读期间学位 论文相关的内容,将承担法律责任。除文中已经注明 引用的文献资料外,本学位论文不包括任何其他个人 或集体已经发表或撰写过的成果。 学位论文作者( 签章) : 年月日 第一章绪论 第一章绪论 1 1 课题的研究背景 随着网络通信技术和计算机监控技术的发展,使得基于网络通信的计算机监 控系统的研究成为一个热点。在此基础上产生了新一代的计算机监控系统已经从 针对孤立设备的监控控制发展到对互联大系统的监控控制,从单一的控制目标演 变为多目标协调工作,从单纯的过程监控控制扩展为全方位的监控管理。 随着计算机监控系统的发展,以太网标准不统一、传输速率低的局限性逐 渐暴露出来。近几年来,e t h e r n e t 在计算机监控系统实时和非实时领域己相当普 及,以太网互联网架构己逐渐在计算机监控行业内被广泛的采用,取代传统的 通信方式而成为计算机监控系统通信的主流。基于e t h e r n e t 通信的计算机监控系 统往往包含许多设备,这时分布系统便成为实现这种系统最方便,最现实的方法。 随之而来的就是要解决数据传输的实时性和可靠性问题。 但是这两个因素往往是相互矛盾的。虽然以太网传输速率在l o o m b p s 以上, 但随着控制节点的增多和嵌入式以太网终端的大量应用,网络的负荷逐渐加大, 基于以太网的传统通信方式面临着新的挑战。 为解决上述计算机监控系统通信存在的问题,也就是说以太网通信要想保证 数据的实时、可靠传输,最可行的方法就是在传输层以上选择和改进现有的协议, 在计算机监控系统通信容忍的范围内,使数据传输的实时性、可靠性都能得到保 证。 传输层位于t c p i p 协议栈的第四层。现在的基于e t h e r n e t 通信的计算机监控 系统一般采用传输控制协议( t r a n s m i s s i o nc o n t r o lp r o t o c o l ,t c p ) 或者用户数 据报协议( u s e rd a t a g r a mp r o t o c o l ,u d p ) ,或者两者的结合。t c p 协议是面向连 接的字节流传输协议,有着复杂的控制机制和较大的额外开销,实时性比较 差:u d p 协议是面向无连接的协议,在基于短包的传输时,具有开销小、实时性好 的优点,但是不能保证数据的可靠性。两者都不能很好的满足监控系统通信在实 时性和可靠性方面的要求。因此本文在u d p 协议的基础上增加一些为保证可靠数 据传递所必需的功能,使其成为一个基于简单包的可靠传递协议模块,这就是本 文提到的可靠的u d p 协议( r e l i a b l eu d p ,r u d p ) 。r u d p 以r f c l l 5 1 和r f c 9 0 8 为理论 基础,并参考了r t p 协议( 一个基于u d p i p 传输的高层实时协议) 、t c p 协议等。本 文主要论述基于r u d p 的可靠数据传递技术的实现原理和实现方法,并和现有的 r u d p 协议及其在计算机监控系统中的应用研究 u d p 协议相结合,满足基于e t h e r n e t 的计算机监控系统通信在可靠性和实时性方 面的要求。 1 2 国内外研究现状 1 2 1 监控系统的发展历程 ( 1 ) 集散控制系统( d c s ) 2 0 世纪7 0 年代中期,随着微处理器和微控制器的广泛使用以及计算机可靠性 的大幅度提高,工业控制从早期的本地控制、集中控制发展成为目前应用广泛的 集散控制系统( d c s ) ,他是4 c ( c o m p u t e r 、c o n t r o l l e r 、c o m m u n i c a t i o n 、c r t ) 的产物。早期各d c s 厂家自己开发操作站的硬件、操作系统、监视软件,通信网 络基本上都是轮询方式的:8 0 年代通信网络较多使用令牌方式:9 0 年代操作站出 现了通用系统,9 0 年代末通信网络有的部分遵循t c p i p 协议,有的开始采用以太 网。2 0 多年来,d c s 己经广泛应用于各工业领域,成为工业控制系统的主流。目 前我国现场控制系统一般均采用d c s ,虽然d c s 技术已经发展到相当成熟的地步, 但它仍存在许多缺点。其一就是一对一的结构特点。 ( 2 ) 现场总线控制系统( f c s ) 随着计算机和网络技术的发展,控制领域出现了一种新型控制系统体系结 构一现场总线。现场总线( f c s ) 是继d c s 后的又一代控制系统。现场总线是控制 室自动化系统与现场智能化设备之间的一种标准化的数字通信链路,可进行全数 字化、双向、多站、总线式的数字信息通信。较之传统的d c s ,它具有总线式结 构、开放互操作性、彻底的分散控制、可靠性高以及信息综合,组态灵活等突出 的优点。现场总线的出现促进了现场设备的数字化和网络化,并且使现场控制的 功能更强大。这一改进带来了过程控制系统的开放性,使系统成为具有测量、控 制、执行和过程诊断等综合能力的控制网络。但是,目前的现场总线技术仍具有 很大的局限性,在全开放、全分散控制等方面,仍存在许多需要解决的问题。比 如:控制功能的实现、现场总线的标准不统一等。 ( 3 ) 工业以太网控制系统 以太网进入工业控制领域可以带来很多好处,如其具有应用广泛、为所有的 编程语言所支持、软硬件资源丰富、易于与i n t e r n e t 连接、可实现办公自动化网 络与工业控制网络的无缝连接等诸多优点。工业以太网现在正在以相当可观的、 每年4 0 - 5 0 的速度可持续的发展和普及,几乎所有的以太网协议,无论是 2 第一章绪论 p r o f i n e t ,d e v i c e n e t ,c a d o p e n 还是c c - l i n k ,增长的百分比都达到了两位数以上。 以太网络作为控制网络的发展趋势,其最大的优势还在于它应用的广泛性。 作为控制领域主流网络技术的以太网,经过十几年的发展,己经形成了十分巨大 的硬件、软件资源,很多成熟的技术和产品都可以在工业以太网上直接加以借鉴 或移植。另一方面,从事该领域研发和应用的人员与从事现场总线领域的技术人 员比起来要多得多,这就为工业以太网络的研究、开发、设计、运行和维护以及 它的日益广泛的普及提供了坚实的基础。 1 2 2 目前各传输协议的发展情况 ( 1 ) t c p 协议的发展情况 传输控制协议( t r a n s m i s s i o nc o n t r o lp r o t o c o l ,t c p ) ,是一种提供给用户 进程的可靠的全双工字节流面向连接的协议。当两台计算机连接时,t c p 协议会 让它们建立一个连接、发送和接收数据以及终止连接。t c p 协议是目前i n t e r n e t 上应用最广泛的面向连接的传输层协议,它为通信的两端提供了可靠的数据传 输,而且提供了流量控制和拥塞控制功能,利用重发技术和拥塞控制机制,向应 用程序提供可靠的通信连接。 ( 2 ) u d p 协议的发展情况 用户数据报协议( u s e rd a t a g r a mp r o t o c o l ,u d p ) ,主要用来支持需要在计 算机之间传输数据的网络应用,包括网络视频会议系统在内的众多的客户服务 器模式的网络应用都需要使用u d p 协议。u d p 和t c p 一样,属于传输层协议。u d p 协议的主要作用是将网络数据流压缩成数据报的形式。每一个数据报的前8 个字 一一节用来包含报头信息,剩余字节则用来包含具体的传输数据。u d p 是基于消息的, 提供快速的无连接业务,这使其适合于传输时延敏感的信令消息。但是,u d p 本 身仅提供不可靠的数据报业务,而差错控制,包括消息顺序、消息重复检测和丢 失消息重传等功能只能由上层应用来完成。 u d p 协议使用报头中的校验值来保证数据的安全。校验值首先在数据发送方 通过特殊的算法计算得出,在传递到接收方之后,还需要再重新计算。如果某个 数据报在传输过程中被第三方篡改或者由于线路噪音等原因受到损坏,发送方和 接收方的校验计算值将不会相符,由此u d p 协议可以检测是否出错。这与t c p 协议 是不同的,后者要求必须具有校验值。 r u d p 协议及其在计算机监控系统中的应用研究 1 2 3r u d p 协议的发展现状 计算机监控系统对可靠性、实时性要求严格,所以如何保证数据在计算机监 控系统中的各设备间可靠快速的传递,在监控系统广泛应用的今天,是一个非常 重要的问题。因为计算机监控系统中数据间通信的网络环境不如一般意义上的互 连网复杂,网络负荷相对较小,所以t c p 和s c t p 的复杂控制机制在这种情况下显 得没有必要。而u d p 又不是可靠传输协议,不能够满足计算机监控系统对可靠性 的要求。为了实现计算机监控系统中数据的可靠通信,并提高通信效率,很自然 的就会想到结合t c p 和u d p 的优点,在u d p 之上增加一些保证数据可靠传递的控制 机制,满足应用的需要,r u d p 草案正是在这种情况下产生的。 可靠用户数据报协议( r e l i a b l eu d p ,r u d p ) 是一个基于传输协议的简单的 包,它的理论基础是r f c l l 5 1 和r f c 9 0 8 可靠数据报协议。r u d p 位于u d p i p 之上, 为虚拟连接提供可靠的有序的数据发送。 目前,关于r u d p 协议的应用和研究还很少,主要有:把r u d p 技术应用到机器 人远程控制的视频传输中来满足网络视频实时传输的时延和丢包率的要求;在商 用w c d m a 标准的3 g 网络管理系统中,用r u d p 协议解决同时与5 0 0 0 个以上的n o d e b 网元进行连接、通信的问题;在v x w o r k s 的基础上建立起的稳定可靠的通信支撑 系统中,用r u d p 协议实现前台单板之间的通信;在嵌入式系统的研究中,也越来 越多的开始采用r u d p 协议作为通信协议。 1 3 本文研究的主要内容 本文首先讲述了有关工业监控的基础知识,该部分知识主要围绕了远程监控 系统中存在的技术问题展开;其次介绍了t c p 、u d p 协议的理论知识和r u d p 的协议草案,这是设计的基础;然后介绍了实现r u d p 所必需的网络编程理论; 接下来就是r u d p 协议的实现部分,包括原理和关键机制;最后就是将该模块 加载到工业监控平台上,搭建测试环境,进行性能方面的测试,并与t c p 、u d p 通信进行比较,验证r u d p 协议的通信效率优于t c p 通信,可靠性优于u d p 通 信。具体如下: ( 1 ) 研究i 沁d p 草案r f cr e l i a b l e u d p 和r f c2 9 6 0 ,t c p i p 详解卷1 : 协议,t c p i p 详解卷2 :实现,用t c p i p 进行网际互连,c 拌初级网络编程等。 ( 2 ) r u d p 协议和t c p 、u d p 协议的理论分析。 4 第一章绪论 ( 3 ) r u d p 协议实现的基本原理和总体设计。 ( 4 ) r u d p 协议关键机制的解决和实现,包括连接的建立和关闭、确认机 制、流量控制机制、滑动窗口机制、超时重传机制、定时器机制的实现。 ( 5 ) 将设计的r u d p 协议应用在工业监控网络平台上,测试其性能,并比 较r u d p 和t c p 、r u d p 和u d p 。 1 4 本文结构 第一章首先介绍了课题的背景、目的、意义及来源,主要分析了国内外的研 究现状和存在的技术问题,即实现计算机监控系统中数据通信所使用的传统的传 输协议的优缺点,其次给出了本文研究的主要内容和结构。 第二章参考了t c p 设计细节和r f c 9 0 8 协议草案,从整体上给出了r u d p 协议 的设计和实现的基本原理,重点介绍了r u d p 采用的主要控制机制,是进行r u d p 具体设计的依据。这一章是承上启下的一章。 第三章是r u d p 协议的测试环境的介绍以及试验结果的分析。并将r u d p 与 t c p 、u d p 、在通信性能方面进行了比较。检验本文所设计的r u d p 协议是否能够 实现计算机监控系统中数据通信的高效率和可靠通信功能。 第二章r u d p 协议的原理分析与实现 2 1 引言 第二章r u d p 协议的原理分析与实现 可靠用户数据报协议( r u d p ) 是一种基于r f c 9 0 8 和1 1 5 1( 第二版) 的简 单包传输协议。作为一个可靠传输协议,r u d p 用于传输i p 网络间的电话信号。 它允许连接的独立配置,这样在不同的平台可以同时执行不同传输需求下的协议。 u d p i p 协议中的r u d p 是分层的并为虚拟连接提供可靠顺序发送( 直到大量转 发) 。r u d p 设计灵活,便于多种传输使用。传输电讯号协议就是其应用之一。 可靠u d p 的服务质量有了明显的提高,如拥塞控制的改进、转发机制及淡化 服务器运算法则等,从而在包丢失和网络拥塞的情况下,r t p ( 实时位置) 面前呈 现的就是一个高质量的r t p 流。在不干扰协议的实时特性的同时,可靠u d p 的拥 塞控制机制允许t c p 方式下的流控制行为。 为了网络t c p 通信量正常运行,r u d p 使用转发及类似于t c p 运算法则的拥 塞控制法则。在最佳允许带宽的选择利用上,这些运算法则都得到了很好的证明。 r u d p 特征包括: ( 1 ) 客户机确认响应服务器发送给客户机的包; ( 2 ) 视窗和拥塞控制,服务器不能超出当前允许带宽; ( 3 ) 一旦发生包丢失,服务器转发给客户机; ( 4 ) 实时流即快速缓存迅疾。 2 2r u d p 协议分析 2 2 1r u d p 头部 l234 56781 6 s y na c ke a kr s tn u lc h k t c s0头部长度 1 6 位r u d p 检验和 i i i i i i i i i i i 黝l u l 图2 1r u d p 协议的头部 每个被r u d p 协议传送的u d p 数据包都至少要以六个字节的头部开头。第一个 字节中包含一系列单独的b i t 标志。接下来的三个区域中每个都是一个字节大小。他 们是:头部长度,序列号,确认号。还有两个字节长度的检验和字段,检验和的算 7 r u d p 协议及其在计算机监控系统中的应用研究 法与t c p 和u d p 的算法相同【1 1 。 2 2 2r u d p 体系结构 通常的t c p 协议和u d p 协议分为四层,t c p 和u d p 位于传输层,如图2 2 所示 应用层应用层 t c p ( 传输层)u d p ( 传输层) i p ( 网络层)i p ( 网络层) 网络接口层网络接口层 图2 2t c p 和u d p 的通信协议模型 r u d p 模块采用了u d p 协议的基于数据包的传输机制,并且提供一种相对t c p 简单 的多的可靠传输机制,既兼容了u d p 协议的高效传输,又兼容了t c p 协议传输的可靠 性。从计算机网络层次体系的角度来看,r u d p 的层次结构如图2 3 所示。可见,r u d p 就是在原t c p i p 协议的传输层的u d p 协议和应用层之间加入了一层为保证可靠数据 传送而实现的r u d p 软件模块而形成的一个五层体系结构,该r u d p 软件模块,提供基 于消息的可靠通信功能,通信是面向连接的,底层采用u d p 作为承载协议。从图2 3 中可以看出,r u d p 协议可以位于传输层,也可以位于应用层,因此,r u d p 技术有两 种实现方式,分别对应r u d p 协议位于传输层的传输层设计方式,r u d p 协议位于应用 层的应用层设计方式3 1 应用层 r u d p u d p ( 传输层) i p ( 网络层) 网络接口层 图2 3r u d p 的通信协议模型 传输层设计方式要求改写s o c k e t 套接字,即设计除了字节流s o c k s t r e a m 和数据 报s o c k - d g r a m 之外的另一种套接字类型s o c k s o v e r d ,使得对应用层提供t c p 的可靠 性传输服务,对i p 层则需要按照u d p 协议格式传输信息。传输层对于上下各层都是透 明的,应用层和i p 层都不需要知道传输层的细节。传输层需要将应用程序交付的数 据按照规则加入首部后再交付给i p 层,或将i p 层的数据经过除去首部再交付给应用 程序。传输层设计方式的优点是应用程序只需创建一个r u d p 类型的s o c k 就可以得到 与t c p 类似的可靠性传输服务,缺点是设计套接字需要大量的工作,也需要对当前的 r 第二章r u d p 协议的原理分析与实现 s o c k e t 进行改进。 应用层设计方式是在应用层实现t c p 传输可靠性服务的服务程序,即在u d p 程序 基础上实现连接控制、滑动窗口控制、超时重传控制、收发确认控制以及失序控制 等技术。而近年来已经有很多的专家和学者开始致力于研究在应用层提高u d p 传输可 靠性的许多关键技术,然而这些专家和学者彼此相互独立,他们解决的也是局部的 问题,无法形成统一的标准,其应用程序之间也是无法正常通讯。 r u d p 协议在u d p 的基础上借鉴t c p 提供可靠性服务的技术,并在实现细节上进行 改进,将t c p 协议的可靠性和u d p 的高效性结合在一起。本文基于应用层设计方式实 现了r u d p 的传输设计。 2 2 3 r u d p 主要机制 2 2 3 1 虚连接机制 为了解决u d p 协议传输层这种发送数据的不可靠性,本文采用“虚连接”的技术, 保证数据在发送时链路的正确性,进而保证协议支撑链路的可靠性。所谓虚连接就 是在u d p 传输数据之前,客户端尝试与服务器端进行连接,但这条连接只用来表明u d p 传输的可达性,而不用其来传输数据。为了测试链路的u d p 可达性,连接测试报文包 括虚连接标识、u d p 通信链路状态、报文长度、u d p 传输报文窗口大小、校验字段等 几部分,如图2 4 所示。 4 b y t e1 b y t e4 b y t e4 b y t e4 b y t e 图2 4 虚连接信息报文字段 1 虚连接的建立与拆除 在r u d p 的实现中,采用和t c p 中类似的3 次握手方式。其过程如图2 5 所示。可以 看出,r u d p 的建链过程与t c p 的3 次握手过程是十分类似的。需要说明的是,在连接 的建立过程中,若出现双方同时发起连接的情况,则根据比较双方i p 地址大小的原 则放弃i p 地址小的一方发起的连接请求,而只接受i p 地址大的一方发起的连接请求。 在通信的双方建立好连接后,任何的连接请求都将不加考虑的予以丢弃。 9 r u d p 协议及其在计算机监控系统中的应用研究 3 2 4 图2 5 连接的建立过程 “虚连接”的具体实现过程是客户端创建s o c k e t 并发起连接包( c o n n e c t ) ,服务 器接受( a c c e p t ) 该请求包,并经过完整性、合法性验证。如果通过验证即建立连接, 并记录连接客户端的请求信息,并标记连接可用,同时回复验证结果给客户端。如 果没有通过验证或者数据报在传输过程中丢失,客户端自动重新发送连接数据报, 直到收到正确的连接回应,同时记录服务器的信息和链路状态。至此我们建立了一 个有效的连接,但这个连接并不是实际的t c p 连接,它不需要太多的网络负载来维护 这个连接,因此对通信效率不会造成影响,但它可以有效的管理链路连接状态信息, 所以我们称它为“虚连接” 2 连接自动恢复 连接的每一端都可以初始化一个自动重置,引起自动重置的原因有:重传计数 器超过最大值,服务器空字段计时器超时,传送状态计数器超时。自动重置会导致 两端重置他们当前的状态,包括刷新重传队列和无序队列,然后重置他们的初始序 列号,重新协商这个连接。每一端都会将自动重置通报给上层协议。这就要求在客 户端准备一个相应的重连线程,当连接异常中断时激活这个线程就可以重新连接到 服务器。 3 连接的关闭 在一般的情况下,可以仿照t c p 在关闭连接时的4 次握手方法进行链路的关闭设 计。但是在永久连接的链路中正常情况下是不需要关闭连接的,只有在出现错误的 情况下才会进行关闭操作。在这种应用中关闭过程可以很简单地进行设计,即当错 误出现后,发现错误的一方立即停止接收上层数据,并将自己的重传队列中的数据 进行快速重传并向对方发送一个关闭请求数据包,然后启动一个超时定时器,定时 器超时之后立即关闭本端的连接并释放连接的资源。另一方在收到主动关闭的一方 发来的关闭请求后,也按照上述的方式关闭自己的连接。连接一旦被关闭之后,只 有到下次双方要重新进行数据通信之前再次建立连接。 2 2 3 2 滑动窗口机制 1 0 第二章r u d p 协议的原理分析与实现 r u d p 通过滑动窗口进行消息的收发同步和流量控制。数据的发送方和接收方都 各有一个缓存区,分别为发送缓冲区和接收缓冲区,当发送端发送数据比接收端接 收数据的速度要快时,不管接收缓冲区的大小有多大,都有可能造成数据报丢失。 数据报的丢失还可能来自传输过程中网络状况的影响。因此,流量控制对于传输数 据的可靠性是非常重要的。发送方的滑动窗口定义为重传队列、发送窗口和发送队 列组成。发送滑动窗口结构如图2 6 所示口1 。 发送队列 图2 6 发送滑动窗口 当发送数据时,发送一个数据包发送窗口边界向右移动来保持发送窗口的大小, 刚被发送的那个数据包则自然就到了重传队列中。 接收方滑动窗口是由接收窗口和接收队列组成。接收滑动窗口结构如图2 7 所 示。发送窗口和接收窗口分别在发送队列和接收队列上滑动。 2 2 3 3 超时重传机制 图2 7 接受滑动窗口 r u d p 协议及其在计算机监控系统中的应用研究 在发送端( 服务器) ,发送窗口在发送队列上滑动,只有落在发送窗口内的包才 可以发送,发送完的包送入重传队列,同时启动重传定时器,等待超时重传。定义 一个数组,记录重传队列里每个包的重传次数,当一个包的重传次数超过固定的值 时将把它丢弃不再重传。改变重传队列的同时( 包括收到确认包时对重传队列所做的 变动) ,记录重传次数的数组也相应的要做变动。当重传队列满时,发送窗口停止滑 动,等待收到确认包或者重传超时来改变重传队列。 2 2 3 4 收发确认机制 在t c p 中为了更好地实现控制流量,达到最大限度地利用网络资源的目的,采用 捎带确认、累计确认、超时确认等方式及其各种方式的结合来实现确认。本文实现 r u d p 中的确认技术采用扩展累计确认的方法,以下具体介绍扩展累计确认的使用1 。 在接收方( 客户) 收到发送方的失序数据包时,可能是由于数据报丢失或者是由 于数据报在网络中传输时间的不同,造成后传的数据报先到达接收端。为了提高效 率,为了最大限度地减少重传,并不是简单将其丢弃,而是先保存在乱序数据报队 列中,当收到其前面序号的数据报,并可以组成顺序数据报时,再放入按序数据报 队列中。 在接收方一直记录着接收队列中所接收到的包的最大序列号。当接收队列满时, 就要发送确认包通知发送方:此确认包中带有的a c k 号之前的包都不需要再重传了。 此确认包中的a c k 号就是当前收到包的最大序列号。 在发送方收到一个确认包后要对重传队列做相应处理:对照收到的确认包的a c k 号和重传队列里包的序列号,移除序列号等于a c k 号的包以及此包以前的所有包。 为了保证确认包的可靠传输,确认包的收发和底层通讯及控制命令一样,都采 用t c p 协议。 2 2 3 5 拥塞控制机制 现今的i n t e r n e t 中,当网络发生拥塞时,t c p 协议端到端的拥塞控制机制呻1 使得 t c p 流发送的数据量迅速减小,而u d p 协议没有拥塞控制机制,在带宽减少的情况下, u d p 流将不会减少发送的数据陆1 当t c p 流和u d p 流共享网络带宽时,t c p 流幂u u d p 流之间 存在不公平性。因此构架于u d p 上的r u d p 实时传输应用应该具有一定的拥塞控制机制 来达到友好性。 2 2 3 6 定时器机制 为每个连接维护3 个定时器:超时确认定时器,发送定时器和接收定时器。其中 发送定时器被连接的各个状态进行复用,在不同状态下有不同的含义。 1 2 第二章r u d p 协议的原理分析与实现 发送定时器可以复用为: ( 1 ) 保活定时器。在发送方无数据发送时,定时发送链路保活数据包。 ( 2 ) 窗口探测定时器。用于发送方定时检测接收方接收窗口的大小。 ( 3 ) 重传定时器。用于超时重传重传队列中的数据; ( 4 ) 接收定时器只作为链路检测,定时检测对端是否有消息或者保活消息过 来; ( 5 ) 超时确认定时器。用于实现延迟确认技术。 2 3t o p 协议 t c p 是一种面向连接的,基于流的可靠的通信协议。 ( 1 ) t c p 的首部 图2 8t c p 的头部 首部通常是2o 个字节,包含源端和目的端的端口号,用于寻找发端和收端应用 进程。这两个值加上ip 首部中的源端ip 地址和目的端ip 地址唯一确定一个tcp 连接1 别。 序号用来标识从tcp 发端向tcp 收端发送的数据字节流,它表示在这个报文 段中的的第一个数据字节。如果将字节流看作在两个应用程序间的单向流动,则tc p 用序号对每个字节进行计数。序号是3 2b i t 的无符号数,序号到达2 3 2 1 后又从0 开 始。 当建立一个新的连接时, syn 标志变1 。序号字段包含由这个主机选择的该连 接的初始序号isn ( i n i t i a ls e q u e n c en u m b e r ) 。该主机要发送数据的第一个字 1 3 r u d p 协议及其在计算机监控系统中的应用研究 节序号为这个isn j n l ,因为syn 标志消耗了一个序号。 既然每个传输的字节都被计数,确认序号包含发送确认的一端所期望收到的下 一个序号。因此,确认序号应当是上次已成功收到数据字节序号加1 。只有ack 标 志为1 时确认序号字段才有效。 ( 2 ) t c p 的连接和关闭 l2 3 4 图2 9 连接的建立过程 由于tcp 是一个面向连接的协议,所以无论哪一方向另一方发送数据之前,都 必须先在双方之间建立一条连接。t c p 采用的是三次握手方式,如图所示。 ( 3 ) t c p 协议通信特点 t c p 是一种面向广域网的通信协议,目的是在跨越多个网络通信时,为两个通信 端点之间提供一条具有下列特点的通信方式盯1 : 木基于流的方式; ,l c 面向连接; 木可靠通信方式; 木在网络状况不佳的时候尽量降低系统由于重传带来的带宽开销; 水通信连接维护是面向通信的两个端点的,而不考虑中间网段和节点n 9 1 。 为满足t c p 协议的这些特点,t c p 协议做了如下的规定: 数据分片:在发送端对用户数据进行分片,在接收端进行重组,由t c p 确定 分片的大小并控制分片和重组; 到达确认:接收端接收到分片数据时,根据分片数据序号向发送端发送一个 确认; 超时重发:发送方在发送分片时启动超时定时器,如果在定时器超时之后没 有收到相应的确认,重发分片; 滑动窗口:t c p 连接每一方的接收缓冲空间大小都固定,接收端只允许另一 端发送接收端缓冲区所能接纳的数据,t c p 在滑动窗口的基础上提供流量控制,防止 较快主机致使较慢主机的缓冲区溢出: 1 4 第二章r u d p 协议的原理分析1 j 实现 失序处理:作为i p 数据报来传输的t c p 分片到达时可能会失序,t c p 将对收到 的数据进行重新排序,将收到的数据以正确的顺序交给应用层: 重复处理:作为i p 数据报来传输的t c p 分片会发生重复,t c p 的接收端必须丢 弃重复的数据; 数据校验:t c p 将保持它首部和数据的检验和,这是一个端到端的检验和, 目的是检测数据在传输过程中的任何变化。如果收到分片的检验和有差错,t c p 将丢 弃这个分片,并不确认收到此报文段导致对端超时并重发阳3 。 2 4u d p 协议 ( 1 ) u d p 的头部 图2 1 0u d p 的头部 首部通常有8 个字节,包含源端口号和目的端口号,用来表示发送进程和接受进 程。u d p 长度字段指的是u d p 首部和u d p 数据的字节长度。u d p 检验和覆盖u d p 首部和u d p 数据,是可选的字段。 ( 2 ) u d p 协议通信特点 用户数据报协议( u d p ) 是i s o 参考模型中一种无连接的传输层协议,提供面向操 作的简单非可靠信息传送服务。u d p 协议直接工作于i p 协议的上层,和t c p 协议提供 的服务相比具有以下特点h 1 : ,i c 是一种报文投递方式,没有流的概念; 木不存在连接; 木不提供可靠通信保证; * u d p 头部包含很少的字节,比t c p 头部消耗少,传输效率高。 在具体实现上,u d p 协议存在以下矛n t c p 协议不同的地方: 不进行数据分片,保持用户数据完整投递,用户可以直接将从u d p 接收到的数 据解释为应用程序认定的格式和意义; 1 5 t 嘞上 r u d p 协议及其在计算机监控系统中的应用研究 没有对u d p 承载的整个用户数据的到达进行确认,这由用户来完成,相对于 t c p 协议这是一个缺点; 没有连接的概念,不提供流量控制,也不存在对连接进行建立和维护; 进行数据校验,和t c p 一样将保持它首部和数据的检验和,这是一个端到端 的检验和,当校验和出现差错的时候,抛弃数据,没有任何动作。 2 5r u d p 协议的实现研究 2 5 1r u d p 的状态机 :说明客户的正常状态变迁 一 :说明服务器的正常状态变迁 应用进程:说明当应用执行某种操作时发生的状态变迁 r e c v d :说明当收到rudp 数据包时状态的变迁 s e n d :说明为了进行某个状态变迁要发送的ru dp 数据包 图2 1 1r u d p 的状态变迁图 1 ) c l o s e d l 状态,表示链路还未分配处于监听状态。处于该状态,收至t j s y n 同步数据 包,回复s y n + a c k 包,而建立连接。 2 ) s y n s e n t 状态,表示链路处于主动建链状态。发起建链的线程处于等待状态,直 1 6 第二章r u d p 协议的原理分析与实现 到链路状态转至u e s t a b l i s h e d ,或者接收至u r s t 而返回失败。在接收到s y n a c k ,应 用线程才可以进行正常的数据传输。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025智能物流系统集成市场调研及技术升级趋势与投融资可行性研究
- 2025智慧零售产业发展趋势分析及商业模式与投资策略评估报告
- 2025智慧农业物联网应用研究及粮食安全战略与农业基金配置建议报告
- 美团新入职岗前认证考试及答案解析
- 全球视角下模块化智能集装箱在新能源开发的应用前景
- 护理三基考试题库简答题及答案解析
- 高温中暑事故应急救援预案
- 误吸应急预案演练方案脚本
- 极端恶劣天气安全行车应急预案
- 高精度PCB阻抗控制行业2026-2030年产业发展现状及未来发展趋势分析研究
- 光伏运维安全培训
- 冲压调试管理办法
- 重症护理超声进修汇报
- 法院罚没管理办法
- 【2025年】云南省昆明市特种设备作业烟花爆竹从业人员模拟考试试题含答案
- 全国大学生职业规划大赛《机械工程》专业生涯发展展示
- 物业多种经营管理办法
- 航空业碳中和路线图-洞察及研究
- JJG 264-2025 谷物容重器检定规程
- DB32∕T 4577-2023 安宁疗护服务规范
- 三支一扶培训
评论
0/150
提交评论