999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于UDP的大數據包可靠傳輸

2012-09-28 07:49:18劉喜作梁德清
電訊技術 2012年1期
關鍵詞:機制

劉喜作,周 晶,梁德清

(海軍大連艦艇學院模擬訓練中心,遼寧大連116018)

1 引 言

當前,運用模擬器在艦艇部隊和院校進行訓練已經非常普遍,其中網絡服務組件是模擬訓練系統的重要組成部分,要求有很好的可擴展通信能力[1,2]。這主要表現為以下幾點:數據傳輸的實時性和可靠性,支持組播通信方式,支持對等的通信方式(各個網絡單元之間無明顯的客戶端與服務器端之分),支持大數據量的數據傳輸。

但現在網絡通信普遍采用標準TCP/IP協議,針對上述要求存在很多不足。如采用TCP進行網絡通信,勢必要建立服務器端和客戶端,增加了通信復雜度。TCP是一種可靠數據傳輸協議,協議中增加了糾錯和重發機制,影響了數據傳輸的實時性[3]。另外,TCP只支持點對點的傳輸方式,不支持組播通信。而UDP是一種不可靠的網絡通信協議,無法保證數據的可靠傳輸。另外,UDP一次能夠傳輸的字節數是有限的,不能大于65 467 byte[4],也就是說UDP不支持大數據量的數據傳輸。

在基于UDP協議用于大數據量和可靠性數據傳輸方面,很多人也進行了研究。陸海[5]針對多用戶使用UDP協議實現大數據量的可靠傳輸需求,提出了一種簡單實用的分包與重組方法,但沒有對可靠性進行描述。尹然然[6]通過比較分析傳輸層傳輸協議UDP的不可靠性和TCP的低效率,在UDP協議基礎上提出并實現了嵌入式設備的可靠數據傳輸協議(RUDP協議),但文中只描述實現RUDP協議的一個程序流程。很多文獻沒有分析基于UDP協議可靠傳輸大數據包的性能問題[7,8]。

本文在前人研究的基礎上,利用UDP協議傳輸速度快、網絡利用效率高的優勢,提出AUDP(Augmented UDP)模型。該模型在網絡通信的應用層,通過增加用于可靠傳輸的協議頭、智能重發機制、大數據包智能分包重組機制,實現戰術模擬器中網絡服務組件高效可靠的數據傳輸,并通過實驗分析了該模型數據傳輸性能。

2 AUDP模型

在戰術模擬器中傳輸的數據大量是動態目標信息和指令數據,這些數據包大多是幾百字節,即使仿真目標增加到幾百批,字節數也不會超過1 Mbyte,為了滿足系統對數據實時性和可靠性的要求,本文提出AUDP模型。

如圖1所示,普通UDP/IP協議中共有4個層次,分別為應用層、傳輸層、網際層和網絡接口層[9]。其中傳輸層、網際層和網絡接口層是運用UDP/IP進行網絡通信必須遵守的協議,否則,要更改相應的網絡硬件驅動程序。而利用UDP/IP協議進行可靠性和大數據量的網絡數據傳輸,只能在協議的最高層(應用層)添加相應協議模型,即圖1中的可靠時序協議層。這個可靠時序協議層要完成下面幾項功能:繼承UDP通信的高效性和組播通信機制;自動辨識發送與接收數據包的時序性;完成可靠性傳輸的回復重發機制;完成大數據量傳輸機制,即對于大于65 467 byte的數據包采用自動分包發送,接收時自動重組機制。

圖1 UDP/IP協議和AUDP/IP協議對比圖Fig.1 Relationship between UDP/IP model and AUDP/IP model

3 AUDP的內部機制具體實現

事實上,基于UDP可靠性傳輸包含了網絡通信中很多層,即從網絡接口層到程序的應用層。為了繼承UDP通信的高效性和組播通信機制,我們在通信協議的最高層(應用層)添加可靠時序協議層模型。下面將系統闡述可靠時序協議層模型中的協議報文頭屬性項的定義、智能數據交換傳輸方法和多線程處理機制等,證明本文方法的可行性和有效性。

3.1 報文頭屬性項定義

為了達到上述目的,在發送每個數據包前增加一個報文頭,如表1所示。

表1 報文頭屬性項定義Table 1 The structure of the header

這個報文頭總共25 byte,它與收發方IP地址和端口號信息一樣,作為UDP協議頭文件的一部分進行數據通信。為了與UDP協議完全兼容,在報文頭最后增加了一個字節,這個字節為0x01時,用普通UDP通信,而當這個字節為0x02時,用改進的UDP通信。

每一個數據包通過發送方IP、接收方IP和數據包標志唯一確定,上述報文頭的定義和各項約束提供了基于UDP進行可靠性傳輸的機制和實現的基礎。

3.2 智能數據交換

圖2為基于UDP進行網絡可靠性傳輸的流程。為了完成數據的智能交換和可靠性傳輸,流程中設置了相應的自動分包重組和重發機制,下面說明其中關鍵步驟和實現方法。

圖2 智能數據傳輸交換機制Fig.2 Flowchart of smart data interchange

3.2.1 智能存儲

動態智能存儲信息和數據是上述機制的能夠實現的核心技術,它包括狀態信息存儲、發送數據存儲和接收數據存儲。

狀態信息存儲是在發送數據時自動存儲發送時間,在接收數據時自動存儲接收數據包的標識和序列號。存儲的發送時間用來判斷此數據包在沒有收到確認報文時再次發送的時機,這個時間間隔根據實際情況可以動態選擇。在局域網通信狀況比較好時,可選為100 ms;在廣域網或通信狀況一般時,該時間間隔可以適當加大,并且根據收到確認報文狀況進行動態調節。但如果長時間沒有收到確認報文,默認值為發送255次,被視為網絡不通,將終止網絡通信。而存儲接收數據包的標識和序列號是用來對分包的數據進行重組,相同標識而不同序列號的數據包視為同一數據信息的不同部分。為了高效地對數據信息進行重組,我們采用了具有排序能力鏈表進行序列號存儲,按照小于或等于鏈表開頭的序列號視為已被接收。例如現在鏈表中保存有{5,7,8,9,11,12},說明小于或等于序列號5和等于序列號7、8、9、11、12的數據包已經被接收到了。為確保數據可靠傳輸,發送端增加了重發機制,接收端可能對同一數據包接收到幾次,如果這時接收到序列號為2的數據包,根據上述判斷機制,這個數據包將會被自動丟掉,如果接收到序列號為6的數據包,將會保存此數據包,然后鏈表變為{9,11,12},如果整個數據全部被接收完,鏈表中只保存此數據信息最大的序列號。

發送數據存儲是指在發送數據信息時,根據數據信息的大小自動分包,并且每個數據包要加上面定義的協議報文頭,在發送此數據包的同時把其存儲到發送數據倉庫中。如果沒有收到此數據包的接收確認報文,系統會根據重發間隔調用發送數據倉庫中該數據包進行重發;如果收到此數據包接收確認報文,系統會刪除發送數據倉庫中該數據包,自動釋放內存。

接收數據存儲是指根據不同的數據包標識建立相對應的數據包存儲倉庫,然后按照接收數據包的序列號進行數據保存,同時對各個分數據包進行排序,這樣便于數據查找和整理,當數據信息所有的分數據包收到之后,系統會通過線程通知用戶的應用層整個數據信息已經接收完畢。

3.2.2 接收確認報文

為了傳送報文的可靠性,接收端在接收到報文時要向發送端反饋接收確認報文。接收確認報文的格式就是上面定義的協議報文頭,與普通的協議報文頭相比有3點不同:數據包長度為協議報文頭的長度(25 byte),命令標志的最高位置為1,信息總長度為0。

3.2.3 重發回饋實現機制

重發回饋機制為數據的可靠性傳輸而設計,我們從接收端來闡明該機制的實現。首先,接收端接收到一個數據包,如果該數據包從來沒有接收到,該數據包將被存儲到接收數據倉庫中,同時向發送端發送接收確認報文。如果該數據包已經接收到了,說明發送端沒有接收到確認報文,此時,接收端重新發送此數據包的接收確認報文,并且丟棄此報文,同時等待下一個數據包。

發送端接收到相應數據包的接收確認報文,將從發送數據倉庫中刪除該數據包,直到從發送數據倉庫刪除所有數據包,表明數據信息可靠傳輸完畢。

3.3 多線程處理機制

為了提高數據處理和傳送的效率,我們采用了多線程機制,分為3種類型,即發送服務線程、接收服務線程和數據處理線程。

圖3 多線程處理示意圖Fig.3 The multi-threading implementation

發送服務線程負責對要發送的數據信息根據大小進行自動分包,對各個數據包加上長度為25 byte協議報文頭,填寫協議報文頭內容,并將其發送給接收方,同時把此數據包保存到發送數據倉庫中。

接收服務線程負責接收數據包、發送接收確認報文、大數據信息報文的排序重組,當接收到數據包時,接收服務線程判斷是否為普通數據包或分包數據包,如果為普通數據包,直接交給數據處理線程進行處理,但如果是分包數據包,將存儲到接收數據倉庫進行管理,直到所有分包數據接收完畢再交給數據處理線程進行處理。每一周期(默認100 ms),接收服務線程還負責檢查發送數據倉庫是否有需要重新發送的數據包,如果有還要對相應的數據包進行重新發送。

數據處理線程負責對接收服務線程提供的數據包進行數據整理,首先去掉數據包的協議報文頭,如果是普通數據包,數據處理線程將數據信息直接交給用戶應用層;如果是分包數據包,將按照數據協議頭的序列號進行數據拷貝組合,組合完畢后,數據處理線程將數據信息交給用戶應用層。

4 性能分析

在CPU為 1.0 GHz、內存為 2G、網卡為100 Mbit/s的兩臺計算機上,分別用 AUDP、TCP和UDP方法,通過網線直接連接進行點對點通信測試。為了能夠準確地記錄傳輸數據包所用的時間,盡量減少Windows多任務系統本身和系統時鐘記錄引起的誤差,我們把100 Mbit/s的網卡設置為10 Mbit/s全雙工模式,增加傳輸時間,擴大誤差量級;同時設置接收端計算機接收到數據要返回到發送端,這樣使數據發送的時刻和接收的時刻由同一臺計算機記錄,從而避免不同計算機系統時鐘記錄引起的誤差,并且同一數據包傳輸100次后取平均值。測試結果如表2所示。

表2 AUDP、TCP和UDP傳輸不同數據包所用時間Table 2 Time of interchange via AUDP,TCP and UDP

從測試結果可以看出,在每次傳輸幾萬字節時,AUDP的效率要比TCP高20%左右,而與UDP相比幾乎差不多;而在3Mbyte以上時,TCP的效率要高。

5 總 結

通過比較可以看到AUDP、TCP和UDP方法之間的差別,并分析出它們各自的優勢和缺點。另外,在采用AUDP與TCP進行數據傳輸時不存在粘包現象,減少了程序應用層處理數據的復雜性。

在戰術模擬器中,傳輸的數據大量是動態目標信息和指令數據,大多是幾百字節,即使仿真目標增加到幾百批,字節數也不會超過1Mbyte,并且還可以采用分批發送數據包,但系統要求的實時性和可靠性很高,采用AUDP協議模型,可以很好地滿足要求。

本文只研究了基于UDP點對點的可靠性數據傳輸,基于UDP獨有的組播和廣播模式的可靠性傳輸和性能分析是下一步研究的工作。

[1]劉宇.基于戰場仿真的智能指揮控制系統總體設計[J].電訊技術,2011,51(7):38-41.LIU Yu.Overall Design of Intelligent Command and Control System Based on Battlefield Simulation[J].Telecommunication Engineering,2011,51(7):38-41.(in Chinese)

[2]李軍,黃紹君,龔光紅.戰術仿真系統中數據交互的實時性研究[J].系統仿真學報,2006,18(增2):381-389.LI Jun,HUANG Shao-jun,GONG Guang-hong.Realtime Research in Data Interchange in Tactic Training Simulation System[J].Journal of System Simulation,2006,18(Suppl.2):381-389.(in Chinese)

[3]Humaira K.SCTP versus TCP for MPI[C]//Proceedings of the 2005 ACM/IEEE Conference on Supercomputing.Washington:ACM/IEEE,2005:30-40.

[4]Jones A,Ohlund J.Network Programming for Windows[M].California:Microsoft Press,2000.

[5]陸海,胡伯涵.UDP協議中分包與重組方法研究[J].無線電通信技術,2010,36(5):20-22.LU Hai,HU Bo-han.Simple Method of Packet Division and Reassembly on UDP Protocol[J].Radio Communications Technology,2010,36(5):20-22.(in Chinese)

[6]尹然然.基于UDP協議的可靠性改進協議[J].電腦知識與技術,2010,16(6):3479-3480.YIN Ran-ran.Reliable Improvement Agreement Based on UDP Agreement[J].Computer Knowledge and Technology,2010,16(6):3479-3480.(in Chinese)

[7]劉詩俊,羅藝.基于WinCap的UDP協議數據重發方法[J].計算機與數字工程,2009,37(8):196-199.LIU Shi-jun,LUO Yi.A Method of UDP Data Retransmission Based on WinCap[J].Computer&Digital Engineering,2009,37(8):196-199.(in Chinese)

[8]朱華剛,周祥龍,吳永剛.簡單可靠實時傳送UDP協議的研究和應用[J].水雷戰與艦船防護,2010,18(3):50-53.ZHU Hua-gang,ZHOU Xiang-long,WU Yong-gang.Research on and Application of simple and Reliable Realtime UDP Protocol[J].Mine Warfare&Ship Self-defence,2010,18(3):50-53.(in Chinese)

[9]謝希仁.計算機網絡教程[M].北京:人民郵電出版社,2002.XIE Xi-ren.Computer Network Guide[M].Beijing:Posts&Telecom Press,2002.(in Chinese)

猜你喜歡
機制
構建“不敢腐、不能腐、不想腐”機制的思考
自制力是一種很好的篩選機制
文苑(2018年21期)2018-11-09 01:23:06
“三項機制”為追趕超越蓄力
當代陜西(2018年9期)2018-08-29 01:21:00
丹鳳“四個強化”從嚴落實“三項機制”
當代陜西(2017年12期)2018-01-19 01:42:33
保留和突破:TPP協定ISDS機制中的平衡
定向培養 還需完善安置機制
中國衛生(2016年9期)2016-11-12 13:28:08
破除舊機制要分步推進
中國衛生(2015年9期)2015-11-10 03:11:12
氫氣對缺血再灌注損傷保護的可能機制
注重機制的相互配合
中國衛生(2014年3期)2014-11-12 13:18:12
打基礎 抓機制 顯成效
中國火炬(2014年4期)2014-07-24 14:22:19
主站蜘蛛池模板: 欧美亚洲一区二区三区导航| A级毛片高清免费视频就| 无码乱人伦一区二区亚洲一| 亚洲综合中文字幕国产精品欧美| 白浆视频在线观看| 真实国产乱子伦视频| 无码人妻免费| 狠狠躁天天躁夜夜躁婷婷| 国产乱论视频| 欧美精品啪啪一区二区三区| 伊人色综合久久天天| aaa国产一级毛片| 一本大道在线一本久道| 日本a∨在线观看| 日本人又色又爽的视频| 日本道综合一本久久久88| 亚洲中文字幕久久精品无码一区| 永久免费AⅤ无码网站在线观看| 色婷婷在线影院| 久久国产高潮流白浆免费观看| 欧美日本在线观看| 无码粉嫩虎白一线天在线观看| 国产白浆视频| 国产欧美日韩在线在线不卡视频| 国内精品久久久久久久久久影视 | 午夜福利在线观看成人| 在线视频亚洲欧美| 亚洲人成网址| 成人国产精品一级毛片天堂| 2021国产v亚洲v天堂无码| 高清无码一本到东京热| 亚洲综合精品香蕉久久网| 一级毛片在线播放免费观看| 54pao国产成人免费视频| 日韩AV无码免费一二三区| 欧美日本一区二区三区免费| 无码内射中文字幕岛国片 | a毛片在线免费观看| 91精品国产一区| 国产成人高清精品免费5388| 欧美成人在线免费| 亚洲精品国产自在现线最新| 丁香五月亚洲综合在线| 91国内在线观看| 无码AV日韩一二三区| 欧美福利在线| 亚洲无码不卡网| 成年人午夜免费视频| 久久青青草原亚洲av无码| 亚洲看片网| 亚洲妓女综合网995久久| 国产在线日本| 99精品视频在线观看免费播放| 亚洲精品国产首次亮相| 麻豆精品在线播放| 亚洲天堂色色人体| 国产在线拍偷自揄拍精品| 久久99精品久久久久久不卡| 一级毛片a女人刺激视频免费| 全部无卡免费的毛片在线看| 99久久国产自偷自偷免费一区| 国产色婷婷视频在线观看| 伊人久久久久久久| 午夜视频在线观看免费网站| 欧美影院久久| 国内精自视频品线一二区| 玖玖精品在线| 国内熟女少妇一线天| 国产成人一区免费观看| 国产高清不卡| 天天综合网色中文字幕| 91精品网站| 亚洲成AV人手机在线观看网站| 久久综合干| 亚洲人妖在线| 视频在线观看一区二区| 999精品色在线观看| 久久精品aⅴ无码中文字幕 | 五月婷婷欧美| 伊人蕉久影院| 日韩黄色精品| 亚洲无码精品在线播放|