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

基于UDP協(xié)議的可靠數(shù)據(jù)傳輸?shù)膶崿F(xiàn)

2019-11-13 08:40:13許坤趙亮
科技創(chuàng)新導報 2019年17期

許坤 趙亮

摘 ? 要:UDP協(xié)議提供面向操作的簡單而非可靠的數(shù)據(jù)傳輸服務(wù)。為了同時獲得數(shù)據(jù)傳輸?shù)母咝院涂煽啃裕疚姆抡誘CP協(xié)議,在應(yīng)用層建立報文確認與超時重發(fā)機制,基于UDP協(xié)議設(shè)計了一種可靠的數(shù)據(jù)傳輸方法并在工程項目中得到了應(yīng)用。本文對兩種協(xié)議的特點進行了探討,基于UDP協(xié)議設(shè)計了一種可靠的數(shù)據(jù)傳輸方法并在工程項目中得到了應(yīng)用。

關(guān)鍵詞:UDP ?可靠傳輸 ?報文確認與超時重發(fā)機制

中圖分類號:TP3017 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 文獻標識碼:A ? ? ? ? ? ? ? ? ? ? ? ?文章編號:1674-098X(2019)06(b)-0007-02

1 ?概述

隨著計算機網(wǎng)絡(luò)技術(shù)的快速發(fā)展,網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)膶崟r性、可靠性越來越得到重視。而數(shù)據(jù)傳輸?shù)男阅芘c選擇使用的網(wǎng)絡(luò)協(xié)議密切相關(guān)。目前應(yīng)用最廣泛的計算機協(xié)議是TCP/IP協(xié)議。TCP/IP協(xié)議棧中與數(shù)據(jù)傳輸相關(guān)的協(xié)議主要包括TCP和UDP兩種。這兩種協(xié)議各有優(yōu)勢,TCP協(xié)議面向連接,更加可靠;UDP協(xié)議面向操作,簡單高效。在一些實際工程應(yīng)用中,期望同時獲得數(shù)據(jù)傳輸?shù)膶崟r性、高效性和可靠性。

2 ?UDP協(xié)議與TCP協(xié)議的比較

2.1 TCP協(xié)議的特點

TCP(傳輸控制協(xié)議)提供了一種面向連接的實現(xiàn)可靠傳輸?shù)耐ㄐ欧绞健Mㄐ烹p方經(jīng)“三次握手”機制進入連接狀態(tài)。通過設(shè)置滑動窗口,接收方只允許發(fā)送方發(fā)送其緩沖區(qū)能夠容納的數(shù)據(jù),實現(xiàn)流量控制。發(fā)送方對用戶數(shù)據(jù)進行分片,由接收方對分片進行重組排序。接收方對收到的數(shù)據(jù)進行校驗,如果數(shù)據(jù)校驗和有差錯,則丟棄該數(shù)據(jù)。若數(shù)據(jù)校驗無誤,則接收方向發(fā)送方發(fā)出確認信息;而發(fā)送方在發(fā)出數(shù)據(jù)后啟動定時器,若超時未收到確認信息則向接收方重新發(fā)出數(shù)據(jù)。

2.2 UDP協(xié)議的特點

UDP(用戶數(shù)據(jù)報協(xié)議)提供了一種面向操作的簡單而非可靠的數(shù)據(jù)傳輸服務(wù)。數(shù)據(jù)發(fā)送時沒有建立明確的連接,不提供可靠性,也不提供報文確認、分片與重組排序以及流量控制等功能。UDP只負責把應(yīng)用層傳來的數(shù)據(jù)包發(fā)送出去,但不保證數(shù)據(jù)能達到目的地。因此存在數(shù)據(jù)包丟失、重復和亂序的可能性。接收端進行數(shù)據(jù)校驗,并丟棄校驗和有差錯的數(shù)據(jù),這與TCP是相同的。

2.3 UDP與TCP協(xié)議的比較

簡而言之,UDP與TCP協(xié)議的差異,見表1。

表1可見,在數(shù)據(jù)傳輸?shù)目煽啃陨希琓CP具有顯而易見的優(yōu)勢。由于建立了明確的連接,加上有確認與超時重發(fā)、流量控制等功能,端與端之間進行數(shù)據(jù)傳輸穩(wěn)定可靠。這樣的通信方式比較適合于網(wǎng)絡(luò)環(huán)境復雜的廣域網(wǎng),數(shù)據(jù)傳輸可能跨越多個不可預知的網(wǎng)段的場合。然而,如果我們的應(yīng)用是在網(wǎng)絡(luò)環(huán)境簡單明確、各網(wǎng)段因素可預知的局域網(wǎng),或者當我們更加強調(diào)數(shù)據(jù)的快速傳輸而不是數(shù)據(jù)的完整性時,UDP是更合適的通信協(xié)議。它的優(yōu)勢體現(xiàn)在以下幾點。

(1)充分利用局域網(wǎng)本身的可靠性,無需連接,節(jié)省系統(tǒng)開銷;

(2)不存在分片與重組管理,節(jié)省系統(tǒng)開銷;

(3)無需對數(shù)據(jù)分片進行確認,提高了網(wǎng)絡(luò)使用效率;

(4)支持組播和廣播,提高了數(shù)據(jù)傳輸效率。

對局域網(wǎng)而言,在實際工程應(yīng)用中,我們可以借鑒TCP的一些特點,在UDP的應(yīng)用層進行改進,從而在實現(xiàn)數(shù)據(jù)高效傳輸?shù)耐瑫r,提高數(shù)據(jù)傳輸?shù)目煽啃浴?/p>

3 ?UDP協(xié)議下數(shù)據(jù)可靠傳輸?shù)乃悸?/p>

對于網(wǎng)絡(luò)拓撲結(jié)構(gòu)比較簡單的局域網(wǎng)來說,各段網(wǎng)路的性能參數(shù)是可知的,通信質(zhì)量可預測,可靠性比較好,因此在進行網(wǎng)絡(luò)數(shù)據(jù)傳輸時建立連接的步驟可以省略。當網(wǎng)絡(luò)環(huán)境處于較差狀態(tài)下,可能會存在小概率的丟包問題。解決這一問題的方法,是仿照TCP協(xié)議,在應(yīng)用層建立報文確認與超時重發(fā)機制。

所謂報文確認與超時重發(fā)機制,就是當接收方收到來自發(fā)送方的數(shù)據(jù)報文后,立即反饋一條確認報文給發(fā)送方;發(fā)送方發(fā)出數(shù)據(jù)報文后,開啟計時器;當計時達到某一時長仍未收到對應(yīng)的確認報文,則重新發(fā)出數(shù)據(jù)報文。采取多次重發(fā)的方法,可以解決偶發(fā)性的丟包問題。

4 ?UDP協(xié)議下數(shù)據(jù)可靠傳輸?shù)膶崿F(xiàn)

4.1 報文結(jié)構(gòu)設(shè)置

把UDP數(shù)據(jù)報分為兩種:數(shù)據(jù)報文與確認報文。數(shù)據(jù)報文負責傳遞業(yè)務(wù)信息,確認報文負責對收到的數(shù)據(jù)報文進行應(yīng)答。數(shù)據(jù)報文結(jié)構(gòu)定義見表2。(字段1-3為報文頭)

確認報文只包含上表中所示的報文頭,不包含數(shù)據(jù)字段。

對于發(fā)出的報文,序列號從1開始,依次遞增(對于超時重發(fā)的報文則保持原序列號),到255再循環(huán)回到1。當發(fā)出數(shù)據(jù)報文時,報文中的確認號設(shè)置為0;當發(fā)出確認報文時,確認號設(shè)置為接收到的數(shù)據(jù)報文的序列號。

4.2 報文確認與超時重發(fā)機制的實現(xiàn)

首先建立兩個環(huán)形數(shù)據(jù)緩沖區(qū):報文緩沖區(qū)、超時緩沖區(qū),同時啟動一個定時器。報文緩沖區(qū)存放待確認報文,超時緩沖區(qū)存放超時表。定時器周期性發(fā)出消息用于報文超時重發(fā)的倒計時。超時表是記錄數(shù)據(jù)報文的重發(fā)次數(shù)和超時值的數(shù)據(jù)結(jié)構(gòu),其結(jié)構(gòu)定義見表3。應(yīng)用程序?qū)Πl(fā)出的每條數(shù)據(jù)報文維護一個超時表,當發(fā)出的數(shù)據(jù)報文得到接收方的確認反饋,則把超時表從超時緩沖區(qū)中移除。

報文確認與超時重發(fā)機制的相關(guān)流程如下。

(1)發(fā)出數(shù)據(jù)報文,同時把該數(shù)據(jù)報文投入報文緩沖區(qū),把該報文對應(yīng)的超時表投入超時緩沖區(qū)。超時表中重發(fā)次數(shù)設(shè)置為初始值0,超時值根據(jù)需要而定,比如100ms。

(2)收到一條報文時,先判斷確認號(假設(shè)為ACK)。若ACK為0,表示收到的是數(shù)據(jù)報文,根據(jù)數(shù)據(jù)報文的序列號sn,立即反饋一條確認報文,其確認號設(shè)置為等于sn。若ACK非0,表示收到的是確認報文,下一步操作是在報文緩沖區(qū)中搜索序列號等于ACK的待確認報文,并從緩沖區(qū)中移除該報文,同時在超時緩沖區(qū)中搜索序列號等于ACK的超時表,并從緩沖區(qū)中移除該超時表。

(3)周期性發(fā)出消息,而應(yīng)用程序響應(yīng)這個消息,對超時緩沖區(qū)中每個超時表的超時值進行倒計時更新,一旦某個超時表的超時值歸0,則應(yīng)用程序?qū)⑴袛嗥渲匕l(fā)次數(shù)N:若N=0或1,則N自加1,而超時值更新為100ms(根據(jù)需要而定),并從報文緩沖區(qū)中提取與超時表序列號對應(yīng)的數(shù)據(jù)報文重新發(fā)出;若N=2,則把報文緩沖區(qū)中與該超時表序列號對應(yīng)的數(shù)據(jù)報文移除,把該超時表從超時緩沖區(qū)中移除。

按照上述方法設(shè)計的程序,應(yīng)用于某工程項目中,在局域網(wǎng)環(huán)境比較惡劣、報文擁塞的情況下,測試了數(shù)據(jù)報文的丟包率,結(jié)果丟包率為0,達到了預期目的。

5 ?結(jié)語

引進報文確認與超時重發(fā)機制,有效改善了UDP協(xié)議下數(shù)據(jù)傳輸?shù)目煽啃裕谔囟ň钟蚓W(wǎng)環(huán)境中,同時獲得了實時高效與可靠傳輸?shù)奶匦浴T趯嶋H工程應(yīng)用中,報文重發(fā)次數(shù)、重發(fā)超時時間、定時器消息周期等參數(shù),可根據(jù)需要進行設(shè)定。

參考文獻

[1] 趙飛,葉震.UDP協(xié)議與TCP協(xié)議的對比分析與可靠性改進[J].計算機技術(shù)與發(fā)展,2006,16(9):219-221.

[2] 朱華剛,周祥龍,吳永剛.簡單可靠實時傳送UDP協(xié)議的研究和應(yīng)用[J].水雷戰(zhàn)與艦船防護,2010,18(3):50-53.

[3] 陳佳.基于UDP的數(shù)據(jù)傳輸可靠性保障機制研究及應(yīng)用[D].西安理工大學,2017.

[4] W.Richard Stevens. TCP/IP詳解 卷1:協(xié)議[M].范建華,胥光輝,張濤,等譯.北京:機械工業(yè)出版社, 2008.

[5] 謝希仁.計算機網(wǎng)絡(luò)[M].北京:電子工業(yè)出版社,2008.

主站蜘蛛池模板: 亚洲精品成人福利在线电影| 欧美激情网址| 欧美国产日韩另类| 国产自在线播放| 无码在线激情片| 色哟哟精品无码网站在线播放视频| 91在线免费公开视频| 国产成人精品三级| 米奇精品一区二区三区| 国产18在线| 99久久精品免费看国产免费软件| 亚洲色图在线观看| 免费aa毛片| 成人福利在线视频| 国产精品999在线| 亚洲第一视频网| 青青热久麻豆精品视频在线观看| 国产精品白浆在线播放| 91最新精品视频发布页| 国产视频 第一页| 天天干天天色综合网| 无码丝袜人妻| 国产精品亚洲综合久久小说| 亚洲自拍另类| 在线a网站| 少妇精品久久久一区二区三区| 中文天堂在线视频| 成人午夜天| 亚洲欧美人成人让影院| 91成人在线免费视频| 国产午夜精品鲁丝片| 精品免费在线视频| 国产精品女熟高潮视频| 在线视频亚洲欧美| h视频在线播放| 干中文字幕| 91成人免费观看| 国产欧美另类| 久久精品亚洲热综合一区二区| Aⅴ无码专区在线观看| 久久综合九九亚洲一区| 一区二区理伦视频| 亚洲成人免费看| 国产va免费精品| 欧美在线视频不卡| 日韩毛片免费观看| 久久这里只精品国产99热8| 天堂中文在线资源| 成人av专区精品无码国产| 成人在线第一页| 人妻中文字幕无码久久一区| 五月天在线网站| 欧美日韩国产在线播放| 欧美激情伊人| 精品一区二区久久久久网站| 亚洲IV视频免费在线光看| 国产高颜值露脸在线观看| 婷婷久久综合九色综合88| 欧美无遮挡国产欧美另类| 狠狠v日韩v欧美v| 制服丝袜 91视频| 九九香蕉视频| 亚洲国模精品一区| 大陆精大陆国产国语精品1024 | 欧美日韩另类在线| 国产欧美网站| 国产美女久久久久不卡| 亚洲无码日韩一区| 五月天丁香婷婷综合久久| 国产成人精品亚洲77美色| 国产喷水视频| 亚洲一区二区在线无码| 免费A级毛片无码无遮挡| 性激烈欧美三级在线播放| 日本亚洲国产一区二区三区| 精品国产成人a在线观看| 亚洲欧美另类日本| 国产真实乱子伦视频播放| 欧美区日韩区| 国产91麻豆视频| 亚洲精选无码久久久| 午夜国产大片免费观看|