已閱讀5頁,還剩39頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
中文摘要中又捅要 近年來,以太網技術在計算機監(jiān)控領域的應用已經相當普及,基于以太網 + t c p i p 協(xié)議的架構在計算機監(jiān)控系統(tǒng)中被廣泛采用,從而取代傳統(tǒng)的通信方式 而成為監(jiān)控系統(tǒng)通信的主流。目前,計算機監(jiān)控系統(tǒng)中大多數采用傳輸控制協(xié)議 ( 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 ) 或用戶數據報協(xié)議( 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 是基于流的傳輸協(xié)議,是一個無邊界的協(xié) 議,如果將它們應用于基于消息的通信中,就需要用戶處理消息的邊界和完整性, 這將不可避免的增加系統(tǒng)的開銷并降低通信的效率。u d p 是基于消息的傳輸協(xié)議, 可以被應用在基于消息的通信中,但是由于它是無連接的傳輸協(xié)議,所以不能保 證進程間數據的可靠傳輸。上述解決方案都不能很好的滿足計算機監(jiān)控系統(tǒng)對可 靠性和實時性的要求。 因此如何實現計算機監(jiān)控系統(tǒng)實時的、可靠的數據通信,就成為一個很有意 義的研究課題。 本文根據可靠u d p ( r e l i a b l eu d p ,r u d p ) 協(xié)議草案對r u d p 協(xié)議進行了詳 細的分析,設計并實現了r u d p 協(xié)議,目的是要驗證r u d p 協(xié)議應用在e t h e r n e t 網絡中的可行性。主要研究內容有: ( 1 ) r u d p 協(xié)議實現的基本原理和總體設計方案; ( 2 ) r u d p 協(xié)議關鍵機制的解決和實現,包括連接機制、滑動窗口機制、流量 控制、確認機制、定時器的管理等; ( 3 ) 搭建測試環(huán)境,對該協(xié)議的功能和性能進行測試,并與t c p 協(xié)議和u d p 協(xié) 議就通信性能進行比較。 目前關于r u d p 協(xié)議的研究和實現還很少,本文詳細地闡述了它的基本原理 和實現方法,r u d p 協(xié)議成功的解決了t c p 通信效率低和u d p 數據傳輸不可靠的 問題。通過測試證明本文設計的r u d p 協(xié)議,不但成功的實現了e t h e r n e t 中的通 信,而且在通信效率上比t c p 有了較大程度的提高,可靠性也比u d p 有所提高。 關鍵詞:計算機監(jiān)控;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 承諾書 本人鄭重聲明:所呈交的學位論文,是在導師指 導下獨立完成的,學位論文的知識產權屬于太原科技 大學。如果今后以其他單位名義發(fā)表與在讀期間學位 論文相關的內容,將承擔法律責任。除文中已經注明 引用的文獻資料外,本學位論文不包括任何其他個人 或集體已經發(fā)表或撰寫過的成果。 學位論文作者( 簽章) : 年月日 第一章緒論 第一章緒論 1 1 課題的研究背景 隨著網絡通信技術和計算機監(jiān)控技術的發(fā)展,使得基于網絡通信的計算機監(jiān) 控系統(tǒng)的研究成為一個熱點。在此基礎上產生了新一代的計算機監(jiān)控系統(tǒng)已經從 針對孤立設備的監(jiān)控控制發(fā)展到對互聯大系統(tǒng)的監(jiān)控控制,從單一的控制目標演 變?yōu)槎嗄繕藚f(xié)調工作,從單純的過程監(jiān)控控制擴展為全方位的監(jiān)控管理。 隨著計算機監(jiān)控系統(tǒng)的發(fā)展,以太網標準不統(tǒng)一、傳輸速率低的局限性逐 漸暴露出來。近幾年來,e t h e r n e t 在計算機監(jiān)控系統(tǒng)實時和非實時領域己相當普 及,以太網互聯網架構己逐漸在計算機監(jiān)控行業(yè)內被廣泛的采用,取代傳統(tǒng)的 通信方式而成為計算機監(jiān)控系統(tǒng)通信的主流。基于e t h e r n e t 通信的計算機監(jiān)控系 統(tǒng)往往包含許多設備,這時分布系統(tǒng)便成為實現這種系統(tǒng)最方便,最現實的方法。 隨之而來的就是要解決數據傳輸的實時性和可靠性問題。 但是這兩個因素往往是相互矛盾的。雖然以太網傳輸速率在l o o m b p s 以上, 但隨著控制節(jié)點的增多和嵌入式以太網終端的大量應用,網絡的負荷逐漸加大, 基于以太網的傳統(tǒng)通信方式面臨著新的挑戰(zhàn)。 為解決上述計算機監(jiān)控系統(tǒng)通信存在的問題,也就是說以太網通信要想保證 數據的實時、可靠傳輸,最可行的方法就是在傳輸層以上選擇和改進現有的協(xié)議, 在計算機監(jiān)控系統(tǒng)通信容忍的范圍內,使數據傳輸的實時性、可靠性都能得到保 證。 傳輸層位于t c p i p 協(xié)議棧的第四層?,F在的基于e t h e r n e t 通信的計算機監(jiān)控 系統(tǒng)一般采用傳輸控制協(xié)議( 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 ) 或者用戶數 據報協(xié)議( u s e rd a t a g r a mp r o t o c o l ,u d p ) ,或者兩者的結合。t c p 協(xié)議是面向連 接的字節(jié)流傳輸協(xié)議,有著復雜的控制機制和較大的額外開銷,實時性比較 差:u d p 協(xié)議是面向無連接的協(xié)議,在基于短包的傳輸時,具有開銷小、實時性好 的優(yōu)點,但是不能保證數據的可靠性。兩者都不能很好的滿足監(jiān)控系統(tǒng)通信在實 時性和可靠性方面的要求。因此本文在u d p 協(xié)議的基礎上增加一些為保證可靠數 據傳遞所必需的功能,使其成為一個基于簡單包的可靠傳遞協(xié)議模塊,這就是本 文提到的可靠的u d p 協(xié)議( 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 協(xié)議( 一個基于u d p i p 傳輸的高層實時協(xié)議) 、t c p 協(xié)議等。本 文主要論述基于r u d p 的可靠數據傳遞技術的實現原理和實現方法,并和現有的 r u d p 協(xié)議及其在計算機監(jiān)控系統(tǒng)中的應用研究 u d p 協(xié)議相結合,滿足基于e t h e r n e t 的計算機監(jiān)控系統(tǒng)通信在可靠性和實時性方 面的要求。 1 2 國內外研究現狀 1 2 1 監(jiān)控系統(tǒng)的發(fā)展歷程 ( 1 ) 集散控制系統(tǒng)( d c s ) 2 0 世紀7 0 年代中期,隨著微處理器和微控制器的廣泛使用以及計算機可靠性 的大幅度提高,工業(yè)控制從早期的本地控制、集中控制發(fā)展成為目前應用廣泛的 集散控制系統(tǒng)( 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 廠家自己開發(fā)操作站的硬件、操作系統(tǒng)、監(jiān)視軟件,通信網 絡基本上都是輪詢方式的:8 0 年代通信網絡較多使用令牌方式:9 0 年代操作站出 現了通用系統(tǒng),9 0 年代末通信網絡有的部分遵循t c p i p 協(xié)議,有的開始采用以太 網。2 0 多年來,d c s 己經廣泛應用于各工業(yè)領域,成為工業(yè)控制系統(tǒng)的主流。目 前我國現場控制系統(tǒng)一般均采用d c s ,雖然d c s 技術已經發(fā)展到相當成熟的地步, 但它仍存在許多缺點。其一就是一對一的結構特點。 ( 2 ) 現場總線控制系統(tǒng)( f c s ) 隨著計算機和網絡技術的發(fā)展,控制領域出現了一種新型控制系統(tǒng)體系結 構一現場總線。現場總線( f c s ) 是繼d c s 后的又一代控制系統(tǒng)?,F場總線是控制 室自動化系統(tǒng)與現場智能化設備之間的一種標準化的數字通信鏈路,可進行全數 字化、雙向、多站、總線式的數字信息通信。較之傳統(tǒng)的d c s ,它具有總線式結 構、開放互操作性、徹底的分散控制、可靠性高以及信息綜合,組態(tài)靈活等突出 的優(yōu)點?,F場總線的出現促進了現場設備的數字化和網絡化,并且使現場控制的 功能更強大。這一改進帶來了過程控制系統(tǒng)的開放性,使系統(tǒng)成為具有測量、控 制、執(zhí)行和過程診斷等綜合能力的控制網絡。但是,目前的現場總線技術仍具有 很大的局限性,在全開放、全分散控制等方面,仍存在許多需要解決的問題。比 如:控制功能的實現、現場總線的標準不統(tǒng)一等。 ( 3 ) 工業(yè)以太網控制系統(tǒng) 以太網進入工業(yè)控制領域可以帶來很多好處,如其具有應用廣泛、為所有的 編程語言所支持、軟硬件資源豐富、易于與i n t e r n e t 連接、可實現辦公自動化網 絡與工業(yè)控制網絡的無縫連接等諸多優(yōu)點。工業(yè)以太網現在正在以相當可觀的、 每年4 0 - 5 0 的速度可持續(xù)的發(fā)展和普及,幾乎所有的以太網協(xié)議,無論是 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 ,增長的百分比都達到了兩位數以上。 以太網絡作為控制網絡的發(fā)展趨勢,其最大的優(yōu)勢還在于它應用的廣泛性。 作為控制領域主流網絡技術的以太網,經過十幾年的發(fā)展,己經形成了十分巨大 的硬件、軟件資源,很多成熟的技術和產品都可以在工業(yè)以太網上直接加以借鑒 或移植。另一方面,從事該領域研發(fā)和應用的人員與從事現場總線領域的技術人 員比起來要多得多,這就為工業(yè)以太網絡的研究、開發(fā)、設計、運行和維護以及 它的日益廣泛的普及提供了堅實的基礎。 1 2 2 目前各傳輸協(xié)議的發(fā)展情況 ( 1 ) t c p 協(xié)議的發(fā)展情況 傳輸控制協(xié)議( 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 ) ,是一種提供給用戶 進程的可靠的全雙工字節(jié)流面向連接的協(xié)議。當兩臺計算機連接時,t c p 協(xié)議會 讓它們建立一個連接、發(fā)送和接收數據以及終止連接。t c p 協(xié)議是目前i n t e r n e t 上應用最廣泛的面向連接的傳輸層協(xié)議,它為通信的兩端提供了可靠的數據傳 輸,而且提供了流量控制和擁塞控制功能,利用重發(fā)技術和擁塞控制機制,向應 用程序提供可靠的通信連接。 ( 2 ) u d p 協(xié)議的發(fā)展情況 用戶數據報協(xié)議( u s e rd a t a g r a mp r o t o c o l ,u d p ) ,主要用來支持需要在計 算機之間傳輸數據的網絡應用,包括網絡視頻會議系統(tǒng)在內的眾多的客戶服務 器模式的網絡應用都需要使用u d p 協(xié)議。u d p 和t c p 一樣,屬于傳輸層協(xié)議。u d p 協(xié)議的主要作用是將網絡數據流壓縮成數據報的形式。每一個數據報的前8 個字 一一節(jié)用來包含報頭信息,剩余字節(jié)則用來包含具體的傳輸數據。u d p 是基于消息的, 提供快速的無連接業(yè)務,這使其適合于傳輸時延敏感的信令消息。但是,u d p 本 身僅提供不可靠的數據報業(yè)務,而差錯控制,包括消息順序、消息重復檢測和丟 失消息重傳等功能只能由上層應用來完成。 u d p 協(xié)議使用報頭中的校驗值來保證數據的安全。校驗值首先在數據發(fā)送方 通過特殊的算法計算得出,在傳遞到接收方之后,還需要再重新計算。如果某個 數據報在傳輸過程中被第三方篡改或者由于線路噪音等原因受到損壞,發(fā)送方和 接收方的校驗計算值將不會相符,由此u d p 協(xié)議可以檢測是否出錯。這與t c p 協(xié)議 是不同的,后者要求必須具有校驗值。 r u d p 協(xié)議及其在計算機監(jiān)控系統(tǒng)中的應用研究 1 2 3r u d p 協(xié)議的發(fā)展現狀 計算機監(jiān)控系統(tǒng)對可靠性、實時性要求嚴格,所以如何保證數據在計算機監(jiān) 控系統(tǒng)中的各設備間可靠快速的傳遞,在監(jiān)控系統(tǒng)廣泛應用的今天,是一個非常 重要的問題。因為計算機監(jiān)控系統(tǒng)中數據間通信的網絡環(huán)境不如一般意義上的互 連網復雜,網絡負荷相對較小,所以t c p 和s c t p 的復雜控制機制在這種情況下顯 得沒有必要。而u d p 又不是可靠傳輸協(xié)議,不能夠滿足計算機監(jiān)控系統(tǒng)對可靠性 的要求。為了實現計算機監(jiān)控系統(tǒng)中數據的可靠通信,并提高通信效率,很自然 的就會想到結合t c p 和u d p 的優(yōu)點,在u d p 之上增加一些保證數據可靠傳遞的控制 機制,滿足應用的需要,r u d p 草案正是在這種情況下產生的。 可靠用戶數據報協(xié)議( r e l i a b l eu d p ,r u d p ) 是一個基于傳輸協(xié)議的簡單的 包,它的理論基礎是r f c l l 5 1 和r f c 9 0 8 可靠數據報協(xié)議。r u d p 位于u d p i p 之上, 為虛擬連接提供可靠的有序的數據發(fā)送。 目前,關于r u d p 協(xié)議的應用和研究還很少,主要有:把r u d p 技術應用到機器 人遠程控制的視頻傳輸中來滿足網絡視頻實時傳輸的時延和丟包率的要求;在商 用w c d m a 標準的3 g 網絡管理系統(tǒng)中,用r u d p 協(xié)議解決同時與5 0 0 0 個以上的n o d e b 網元進行連接、通信的問題;在v x w o r k s 的基礎上建立起的穩(wěn)定可靠的通信支撐 系統(tǒng)中,用r u d p 協(xié)議實現前臺單板之間的通信;在嵌入式系統(tǒng)的研究中,也越來 越多的開始采用r u d p 協(xié)議作為通信協(xié)議。 1 3 本文研究的主要內容 本文首先講述了有關工業(yè)監(jiān)控的基礎知識,該部分知識主要圍繞了遠程監(jiān)控 系統(tǒng)中存在的技術問題展開;其次介紹了t c p 、u d p 協(xié)議的理論知識和r u d p 的協(xié)議草案,這是設計的基礎;然后介紹了實現r u d p 所必需的網絡編程理論; 接下來就是r u d p 協(xié)議的實現部分,包括原理和關鍵機制;最后就是將該模塊 加載到工業(yè)監(jiān)控平臺上,搭建測試環(huán)境,進行性能方面的測試,并與t c p 、u d p 通信進行比較,驗證r u d p 協(xié)議的通信效率優(yōu)于t c p 通信,可靠性優(yōu)于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 : 協(xié)議,t c p i p 詳解卷2 :實現,用t c p i p 進行網際互連,c 拌初級網絡編程等。 ( 2 ) r u d p 協(xié)議和t c p 、u d p 協(xié)議的理論分析。 4 第一章緒論 ( 3 ) r u d p 協(xié)議實現的基本原理和總體設計。 ( 4 ) r u d p 協(xié)議關鍵機制的解決和實現,包括連接的建立和關閉、確認機 制、流量控制機制、滑動窗口機制、超時重傳機制、定時器機制的實現。 ( 5 ) 將設計的r u d p 協(xié)議應用在工業(yè)監(jiān)控網絡平臺上,測試其性能,并比 較r u d p 和t c p 、r u d p 和u d p 。 1 4 本文結構 第一章首先介紹了課題的背景、目的、意義及來源,主要分析了國內外的研 究現狀和存在的技術問題,即實現計算機監(jiān)控系統(tǒng)中數據通信所使用的傳統(tǒng)的傳 輸協(xié)議的優(yōu)缺點,其次給出了本文研究的主要內容和結構。 第二章參考了t c p 設計細節(jié)和r f c 9 0 8 協(xié)議草案,從整體上給出了r u d p 協(xié)議 的設計和實現的基本原理,重點介紹了r u d p 采用的主要控制機制,是進行r u d p 具體設計的依據。這一章是承上啟下的一章。 第三章是r u d p 協(xié)議的測試環(huán)境的介紹以及試驗結果的分析。并將r u d p 與 t c p 、u d p 、在通信性能方面進行了比較。檢驗本文所設計的r u d p 協(xié)議是否能夠 實現計算機監(jiān)控系統(tǒng)中數據通信的高效率和可靠通信功能。 第二章r u d p 協(xié)議的原理分析與實現 2 1 引言 第二章r u d p 協(xié)議的原理分析與實現 可靠用戶數據報協(xié)議( r u d p ) 是一種基于r f c 9 0 8 和1 1 5 1( 第二版) 的簡 單包傳輸協(xié)議。作為一個可靠傳輸協(xié)議,r u d p 用于傳輸i p 網絡間的電話信號。 它允許連接的獨立配置,這樣在不同的平臺可以同時執(zhí)行不同傳輸需求下的協(xié)議。 u d p i p 協(xié)議中的r u d p 是分層的并為虛擬連接提供可靠順序發(fā)送( 直到大量轉 發(fā)) 。r u d p 設計靈活,便于多種傳輸使用。傳輸電訊號協(xié)議就是其應用之一。 可靠u d p 的服務質量有了明顯的提高,如擁塞控制的改進、轉發(fā)機制及淡化 服務器運算法則等,從而在包丟失和網絡擁塞的情況下,r t p ( 實時位置) 面前呈 現的就是一個高質量的r t p 流。在不干擾協(xié)議的實時特性的同時,可靠u d p 的擁 塞控制機制允許t c p 方式下的流控制行為。 為了網絡t c p 通信量正常運行,r u d p 使用轉發(fā)及類似于t c p 運算法則的擁 塞控制法則。在最佳允許帶寬的選擇利用上,這些運算法則都得到了很好的證明。 r u d p 特征包括: ( 1 ) 客戶機確認響應服務器發(fā)送給客戶機的包; ( 2 ) 視窗和擁塞控制,服務器不能超出當前允許帶寬; ( 3 ) 一旦發(fā)生包丟失,服務器轉發(fā)給客戶機; ( 4 ) 實時流即快速緩存迅疾。 2 2r u d p 協(xié)議分析 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 協(xié)議的頭部 每個被r u d p 協(xié)議傳送的u d p 數據包都至少要以六個字節(jié)的頭部開頭。第一個 字節(jié)中包含一系列單獨的b i t 標志。接下來的三個區(qū)域中每個都是一個字節(jié)大小。他 們是:頭部長度,序列號,確認號。還有兩個字節(jié)長度的檢驗和字段,檢驗和的算 7 r u d p 協(xié)議及其在計算機監(jiān)控系統(tǒng)中的應用研究 法與t c p 和u d p 的算法相同【1 1 。 2 2 2r u d p 體系結構 通常的t c p 協(xié)議和u d p 協(xié)議分為四層,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 的通信協(xié)議模型 r u d p 模塊采用了u d p 協(xié)議的基于數據包的傳輸機制,并且提供一種相對t c p 簡單 的多的可靠傳輸機制,既兼容了u d p 協(xié)議的高效傳輸,又兼容了t c p 協(xié)議傳輸的可靠 性。從計算機網絡層次體系的角度來看,r u d p 的層次結構如圖2 3 所示??梢姡瑀 u d p 就是在原t c p i p 協(xié)議的傳輸層的u d p 協(xié)議和應用層之間加入了一層為保證可靠數據 傳送而實現的r u d p 軟件模塊而形成的一個五層體系結構,該r u d p 軟件模塊,提供基 于消息的可靠通信功能,通信是面向連接的,底層采用u d p 作為承載協(xié)議。從圖2 3 中可以看出,r u d p 協(xié)議可以位于傳輸層,也可以位于應用層,因此,r u d p 技術有兩 種實現方式,分別對應r u d p 協(xié)議位于傳輸層的傳輸層設計方式,r u d p 協(xié)議位于應用 層的應用層設計方式3 1 應用層 r u d p u d p ( 傳輸層) i p ( 網絡層) 網絡接口層 圖2 3r u d p 的通信協(xié)議模型 傳輸層設計方式要求改寫s o c k e t 套接字,即設計除了字節(jié)流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 協(xié)議格式傳輸信息。傳輸層對于上下各層都是透 明的,應用層和i p 層都不需要知道傳輸層的細節(jié)。傳輸層需要將應用程序交付的數 據按照規(guī)則加入首部后再交付給i p 層,或將i p 層的數據經過除去首部再交付給應用 程序。傳輸層設計方式的優(yōu)點是應用程序只需創(chuàng)建一個r u d p 類型的s o c k 就可以得到 與t c p 類似的可靠性傳輸服務,缺點是設計套接字需要大量的工作,也需要對當前的 r 第二章r u d p 協(xié)議的原理分析與實現 s o c k e t 進行改進。 應用層設計方式是在應用層實現t c p 傳輸可靠性服務的服務程序,即在u d p 程序 基礎上實現連接控制、滑動窗口控制、超時重傳控制、收發(fā)確認控制以及失序控制 等技術。而近年來已經有很多的專家和學者開始致力于研究在應用層提高u d p 傳輸可 靠性的許多關鍵技術,然而這些專家和學者彼此相互獨立,他們解決的也是局部的 問題,無法形成統(tǒng)一的標準,其應用程序之間也是無法正常通訊。 r u d p 協(xié)議在u d p 的基礎上借鑒t c p 提供可靠性服務的技術,并在實現細節(jié)上進行 改進,將t c p 協(xié)議的可靠性和u d p 的高效性結合在一起。本文基于應用層設計方式實 現了r u d p 的傳輸設計。 2 2 3 r u d p 主要機制 2 2 3 1 虛連接機制 為了解決u d p 協(xié)議傳輸層這種發(fā)送數據的不可靠性,本文采用“虛連接”的技術, 保證數據在發(fā)送時鏈路的正確性,進而保證協(xié)議支撐鏈路的可靠性。所謂虛連接就 是在u d p 傳輸數據之前,客戶端嘗試與服務器端進行連接,但這條連接只用來表明u d p 傳輸的可達性,而不用其來傳輸數據。為了測試鏈路的u d p 可達性,連接測試報文包 括虛連接標識、u d p 通信鏈路狀態(tài)、報文長度、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 次握手過程是十分類似的。需要說明的是,在連接 的建立過程中,若出現雙方同時發(fā)起連接的情況,則根據比較雙方i p 地址大小的原 則放棄i p 地址小的一方發(fā)起的連接請求,而只接受i p 地址大的一方發(fā)起的連接請求。 在通信的雙方建立好連接后,任何的連接請求都將不加考慮的予以丟棄。 9 r u d p 協(xié)議及其在計算機監(jiān)控系統(tǒng)中的應用研究 3 2 4 圖2 5 連接的建立過程 “虛連接”的具體實現過程是客戶端創(chuàng)建s o c k e t 并發(fā)起連接包( c o n n e c t ) ,服務 器接受( a c c e p t ) 該請求包,并經過完整性、合法性驗證。如果通過驗證即建立連接, 并記錄連接客戶端的請求信息,并標記連接可用,同時回復驗證結果給客戶端。如 果沒有通過驗證或者數據報在傳輸過程中丟失,客戶端自動重新發(fā)送連接數據報, 直到收到正確的連接回應,同時記錄服務器的信息和鏈路狀態(tài)。至此我們建立了一 個有效的連接,但這個連接并不是實際的t c p 連接,它不需要太多的網絡負載來維護 這個連接,因此對通信效率不會造成影響,但它可以有效的管理鏈路連接狀態(tài)信息, 所以我們稱它為“虛連接” 2 連接自動恢復 連接的每一端都可以初始化一個自動重置,引起自動重置的原因有:重傳計數 器超過最大值,服務器空字段計時器超時,傳送狀態(tài)計數器超時。自動重置會導致 兩端重置他們當前的狀態(tài),包括刷新重傳隊列和無序隊列,然后重置他們的初始序 列號,重新協(xié)商這個連接。每一端都會將自動重置通報給上層協(xié)議。這就要求在客 戶端準備一個相應的重連線程,當連接異常中斷時激活這個線程就可以重新連接到 服務器。 3 連接的關閉 在一般的情況下,可以仿照t c p 在關閉連接時的4 次握手方法進行鏈路的關閉設 計。但是在永久連接的鏈路中正常情況下是不需要關閉連接的,只有在出現錯誤的 情況下才會進行關閉操作。在這種應用中關閉過程可以很簡單地進行設計,即當錯 誤出現后,發(fā)現錯誤的一方立即停止接收上層數據,并將自己的重傳隊列中的數據 進行快速重傳并向對方發(fā)送一個關閉請求數據包,然后啟動一個超時定時器,定時 器超時之后立即關閉本端的連接并釋放連接的資源。另一方在收到主動關閉的一方 發(fā)來的關閉請求后,也按照上述的方式關閉自己的連接。連接一旦被關閉之后,只 有到下次雙方要重新進行數據通信之前再次建立連接。 2 2 3 2 滑動窗口機制 1 0 第二章r u d p 協(xié)議的原理分析與實現 r u d p 通過滑動窗口進行消息的收發(fā)同步和流量控制。數據的發(fā)送方和接收方都 各有一個緩存區(qū),分別為發(fā)送緩沖區(qū)和接收緩沖區(qū),當發(fā)送端發(fā)送數據比接收端接 收數據的速度要快時,不管接收緩沖區(qū)的大小有多大,都有可能造成數據報丟失。 數據報的丟失還可能來自傳輸過程中網絡狀況的影響。因此,流量控制對于傳輸數 據的可靠性是非常重要的。發(fā)送方的滑動窗口定義為重傳隊列、發(fā)送窗口和發(fā)送隊 列組成。發(fā)送滑動窗口結構如圖2 6 所示口1 。 發(fā)送隊列 圖2 6 發(fā)送滑動窗口 當發(fā)送數據時,發(fā)送一個數據包發(fā)送窗口邊界向右移動來保持發(fā)送窗口的大小, 剛被發(fā)送的那個數據包則自然就到了重傳隊列中。 接收方滑動窗口是由接收窗口和接收隊列組成。接收滑動窗口結構如圖2 7 所 示。發(fā)送窗口和接收窗口分別在發(fā)送隊列和接收隊列上滑動。 2 2 3 3 超時重傳機制 圖2 7 接受滑動窗口 r u d p 協(xié)議及其在計算機監(jiān)控系統(tǒng)中的應用研究 在發(fā)送端( 服務器) ,發(fā)送窗口在發(fā)送隊列上滑動,只有落在發(fā)送窗口內的包才 可以發(fā)送,發(fā)送完的包送入重傳隊列,同時啟動重傳定時器,等待超時重傳。定義 一個數組,記錄重傳隊列里每個包的重傳次數,當一個包的重傳次數超過固定的值 時將把它丟棄不再重傳。改變重傳隊列的同時( 包括收到確認包時對重傳隊列所做的 變動) ,記錄重傳次數的數組也相應的要做變動。當重傳隊列滿時,發(fā)送窗口停止滑 動,等待收到確認包或者重傳超時來改變重傳隊列。 2 2 3 4 收發(fā)確認機制 在t c p 中為了更好地實現控制流量,達到最大限度地利用網絡資源的目的,采用 捎帶確認、累計確認、超時確認等方式及其各種方式的結合來實現確認。本文實現 r u d p 中的確認技術采用擴展累計確認的方法,以下具體介紹擴展累計確認的使用1 。 在接收方( 客戶) 收到發(fā)送方的失序數據包時,可能是由于數據報丟失或者是由 于數據報在網絡中傳輸時間的不同,造成后傳的數據報先到達接收端。為了提高效 率,為了最大限度地減少重傳,并不是簡單將其丟棄,而是先保存在亂序數據報隊 列中,當收到其前面序號的數據報,并可以組成順序數據報時,再放入按序數據報 隊列中。 在接收方一直記錄著接收隊列中所接收到的包的最大序列號。當接收隊列滿時, 就要發(fā)送確認包通知發(fā)送方:此確認包中帶有的a c k 號之前的包都不需要再重傳了。 此確認包中的a c k 號就是當前收到包的最大序列號。 在發(fā)送方收到一個確認包后要對重傳隊列做相應處理:對照收到的確認包的a c k 號和重傳隊列里包的序列號,移除序列號等于a c k 號的包以及此包以前的所有包。 為了保證確認包的可靠傳輸,確認包的收發(fā)和底層通訊及控制命令一樣,都采 用t c p 協(xié)議。 2 2 3 5 擁塞控制機制 現今的i n t e r n e t 中,當網絡發(fā)生擁塞時,t c p 協(xié)議端到端的擁塞控制機制呻1 使得 t c p 流發(fā)送的數據量迅速減小,而u d p 協(xié)議沒有擁塞控制機制,在帶寬減少的情況下, u d p 流將不會減少發(fā)送的數據陸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 個定時器:超時確認定時器,發(fā)送定時器和接收定時器。其中 發(fā)送定時器被連接的各個狀態(tài)進行復用,在不同狀態(tài)下有不同的含義。 1 2 第二章r u d p 協(xié)議的原理分析與實現 發(fā)送定時器可以復用為: ( 1 ) ?;疃〞r器。在發(fā)送方無數據發(fā)送時,定時發(fā)送鏈路?;顢祿?( 2 ) 窗口探測定時器。用于發(fā)送方定時檢測接收方接收窗口的大小。 ( 3 ) 重傳定時器。用于超時重傳重傳隊列中的數據; ( 4 ) 接收定時器只作為鏈路檢測,定時檢測對端是否有消息或者?;钕⑦^ 來; ( 5 ) 超時確認定時器。用于實現延遲確認技術。 2 3t o p 協(xié)議 t c p 是一種面向連接的,基于流的可靠的通信協(xié)議。 ( 1 ) t c p 的首部 圖2 8t c p 的頭部 首部通常是2o 個字節(jié),包含源端和目的端的端口號,用于尋找發(fā)端和收端應用 進程。這兩個值加上ip 首部中的源端ip 地址和目的端ip 地址唯一確定一個tcp 連接1 別。 序號用來標識從tcp 發(fā)端向tcp 收端發(fā)送的數據字節(jié)流,它表示在這個報文 段中的的第一個數據字節(jié)。如果將字節(jié)流看作在兩個應用程序間的單向流動,則tc p 用序號對每個字節(jié)進行計數。序號是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 ) 。該主機要發(fā)送數據的第一個字 1 3 r u d p 協(xié)議及其在計算機監(jiān)控系統(tǒng)中的應用研究 節(jié)序號為這個isn j n l ,因為syn 標志消耗了一個序號。 既然每個傳輸的字節(jié)都被計數,確認序號包含發(fā)送確認的一端所期望收到的下 一個序號。因此,確認序號應當是上次已成功收到數據字節(jié)序號加1 。只有ack 標 志為1 時確認序號字段才有效。 ( 2 ) t c p 的連接和關閉 l2 3 4 圖2 9 連接的建立過程 由于tcp 是一個面向連接的協(xié)議,所以無論哪一方向另一方發(fā)送數據之前,都 必須先在雙方之間建立一條連接。t c p 采用的是三次握手方式,如圖所示。 ( 3 ) t c p 協(xié)議通信特點 t c p 是一種面向廣域網的通信協(xié)議,目的是在跨越多個網絡通信時,為兩個通信 端點之間提供一條具有下列特點的通信方式盯1 : 木基于流的方式; ,l c 面向連接; 木可靠通信方式; 木在網絡狀況不佳的時候盡量降低系統(tǒng)由于重傳帶來的帶寬開銷; 水通信連接維護是面向通信的兩個端點的,而不考慮中間網段和節(jié)點n 9 1 。 為滿足t c p 協(xié)議的這些特點,t c p 協(xié)議做了如下的規(guī)定: 數據分片:在發(fā)送端對用戶數據進行分片,在接收端進行重組,由t c p 確定 分片的大小并控制分片和重組; 到達確認:接收端接收到分片數據時,根據分片數據序號向發(fā)送端發(fā)送一個 確認; 超時重發(fā):發(fā)送方在發(fā)送分片時啟動超時定時器,如果在定時器超時之后沒 有收到相應的確認,重發(fā)分片; 滑動窗口:t c p 連接每一方的接收緩沖空間大小都固定,接收端只允許另一 端發(fā)送接收端緩沖區(qū)所能接納的數據,t c p 在滑動窗口的基礎上提供流量控制,防止 較快主機致使較慢主機的緩沖區(qū)溢出: 1 4 第二章r u d p 協(xié)議的原理分析1 j 實現 失序處理:作為i p 數據報來傳輸的t c p 分片到達時可能會失序,t c p 將對收到 的數據進行重新排序,將收到的數據以正確的順序交給應用層: 重復處理:作為i p 數據報來傳輸的t c p 分片會發(fā)生重復,t c p 的接收端必須丟 棄重復的數據; 數據校驗:t c p 將保持它首部和數據的檢驗和,這是一個端到端的檢驗和, 目的是檢測數據在傳輸過程中的任何變化。如果收到分片的檢驗和有差錯,t c p 將丟 棄這個分片,并不確認收到此報文段導致對端超時并重發(fā)陽3 。 2 4u d p 協(xié)議 ( 1 ) u d p 的頭部 圖2 1 0u d p 的頭部 首部通常有8 個字節(jié),包含源端口號和目的端口號,用來表示發(fā)送進程和接受進 程。u d p 長度字段指的是u d p 首部和u d p 數據的字節(jié)長度。u d p 檢驗和覆蓋u d p 首部和u d p 數據,是可選的字段。 ( 2 ) u d p 協(xié)議通信特點 用戶數據報協(xié)議( u d p ) 是i s o 參考模型中一種無連接的傳輸層協(xié)議,提供面向操 作的簡單非可靠信息傳送服務。u d p 協(xié)議直接工作于i p 協(xié)議的上層,和t c p 協(xié)議提供 的服務相比具有以下特點h 1 : ,i c 是一種報文投遞方式,沒有流的概念; 木不存在連接; 木不提供可靠通信保證; * u d p 頭部包含很少的字節(jié),比t c p 頭部消耗少,傳輸效率高。 在具體實現上,u d p 協(xié)議存在以下矛n t c p 協(xié)議不同的地方: 不進行數據分片,保持用戶數據完整投遞,用戶可以直接將從u d p 接收到的數 據解釋為應用程序認定的格式和意義; 1 5 t 嘞上 r u d p 協(xié)議及其在計算機監(jiān)控系統(tǒng)中的應用研究 沒有對u d p 承載的整個用戶數據的到達進行確認,這由用戶來完成,相對于 t c p 協(xié)議這是一個缺點; 沒有連接的概念,不提供流量控制,也不存在對連接進行建立和維護; 進行數據校驗,和t c p 一樣將保持它首部和數據的檢驗和,這是一個端到端 的檢驗和,當校驗和出現差錯的時候,拋棄數據,沒有任何動作。 2 5r u d p 協(xié)議的實現研究 2 5 1r u d p 的狀態(tài)機 :說明客戶的正常狀態(tài)變遷 一 :說明服務器的正常狀態(tài)變遷 應用進程:說明當應用執(zhí)行某種操作時發(fā)生的狀態(tài)變遷 r e c v d :說明當收到rudp 數據包時狀態(tài)的變遷 s e n d :說明為了進行某個狀態(tài)變遷要發(fā)送的ru dp 數據包 圖2 1 1r u d p 的狀態(tài)變遷圖 1 ) c l o s e d l 狀態(tài),表示鏈路還未分配處于監(jiān)聽狀態(tài)。處于該狀態(tài),收至t j s y n 同步數據 包,回復s y n + a c k 包,而建立連接。 2 ) s y n s e n t 狀態(tài),表示鏈路處于主動建鏈狀態(tài)。發(fā)起建鏈的線程處于等待狀態(tài),直 1 6 第二章r u d p 協(xié)議的原理分析與實現 到鏈路狀態(tài)轉至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. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 農村養(yǎng)殖場會計招聘合同
- 垃圾處理場電動葫蘆安全規(guī)范
- 建筑自動化防盜門安裝合同
- 珠寶店門鎖安全維護指南
- 培訓機構講師聘用合同范文
- 精英社區(qū)房屋轉讓合同樣式
- 2024幼兒園新生入園安全協(xié)議書及家長育兒指導與責任合同2篇
- 智能化小區(qū)地源熱泵安裝協(xié)議
- 醫(yī)療康養(yǎng)區(qū)二手房按揭合同范本
- 食品個性化配送承諾
- 安徽省合肥市蜀山區(qū)2024-2025學年七年級上學期地理期末模擬練習(含答案)
- 新建設項目施工人員安全教育培訓課件
- 江蘇省揚州市2024-2025學年高中學業(yè)水平合格性模擬考試英語試題(含答案)
- 品質總監(jiān)轉正述職報告
- 2024年游艇俱樂部會員專屬活動策劃與執(zhí)行合同3篇
- 《項目管理培訓課程》課件
- 2024年企業(yè)團購:銷售合作協(xié)議3篇
- 2024-2025學年八年級語文上學期期末真題復習 專題06 文言文閱讀
- 2024秋國開《管理學基礎》形考任務(1234)試題及答案
- 叉車安全管理
- 制藥課程設計三廢處理
評論
0/150
提交評論