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

嵌入式系統(tǒng)中UDP協(xié)議可靠數(shù)據(jù)傳輸?shù)膶?shí)現(xiàn)*

2011-01-10 05:25:44方嬌莉
關(guān)鍵詞:嵌入式系統(tǒng)

方嬌莉,劉 明

(昆明理工大學(xué)計(jì)算中心,云南昆明650093)

一、概述

在嵌入式系統(tǒng)的通信中,一般采用232或485方式進(jìn)行通信。近年來(lái),為了兼容性與擴(kuò)展性的考慮,多數(shù)嵌入式系統(tǒng)設(shè)計(jì)中,已經(jīng)逐步開始采用了IP協(xié)議模塊進(jìn)行通信。一般在嵌入式系統(tǒng)中,通信的特點(diǎn)是:數(shù)據(jù)傳輸量少,而響應(yīng)速度要求高。傳輸層協(xié)議中的UDP協(xié)議使用盡最大努力交付的特性能夠滿足數(shù)據(jù)高速傳輸?shù)囊螅荒鼙WC數(shù)據(jù)傳輸?shù)目煽啃浴D壳埃瑢?duì)UDP協(xié)議的可靠性應(yīng)用設(shè)計(jì)已有一些探討和論述,[1]大多卻設(shè)計(jì)過于復(fù)雜而不適合嵌入式系統(tǒng)。在嵌入式系統(tǒng)中,由于內(nèi)存小,處理性能有限,對(duì)實(shí)現(xiàn)的算法要求簡(jiǎn)捷、高效。這里主要針對(duì)嵌入式系統(tǒng)的特點(diǎn),提出了一系列有效的算法,實(shí)現(xiàn)了嵌入式系統(tǒng)中數(shù)據(jù)的可靠傳輸。

二、UDP協(xié)議分析

在Internet協(xié)議族的傳輸層中,有兩種協(xié)議:TCP和UDP。TCP協(xié)議是可靠的傳輸協(xié)議,但開銷較大,尤其在建立和釋放連接時(shí)需要多次應(yīng)答,會(huì)帶來(lái)較大的傳輸延時(shí),很難滿足實(shí)時(shí)性要求較高的嵌入式系統(tǒng)的需求。UDP協(xié)議是一種無(wú)連接的協(xié)議,即發(fā)送數(shù)據(jù)時(shí)不需要建立連接,不保證數(shù)據(jù)的可靠傳輸。因此UDP協(xié)議傳輸速率高,同時(shí)無(wú)需像TCP協(xié)議那樣維護(hù)連接狀態(tài)表,而系統(tǒng)開銷較小,比較適合于在嵌入式系統(tǒng)中使用。在網(wǎng)絡(luò)質(zhì)量比較高(如:局域網(wǎng)或光纖網(wǎng)絡(luò))的通信環(huán)境中,直接使用標(biāo)準(zhǔn)UDP協(xié)議進(jìn)行通信,可以保證數(shù)據(jù)的正常傳輸。而在通信質(zhì)量不太高的網(wǎng)絡(luò)(如:Internet因特網(wǎng)),大量的測(cè)試表明,丟包率往往會(huì)達(dá)到30%以上,而不能保證系統(tǒng)的正常運(yùn)行。因此,如果采用標(biāo)準(zhǔn)UDP協(xié)議進(jìn)行通信,必須加入可靠性控制,建立基于UDP協(xié)議的可靠傳輸協(xié)議(RUDP)。也可以說,在應(yīng)用層對(duì)UDP數(shù)據(jù)報(bào)進(jìn)行可靠性控制。

三、可靠性設(shè)計(jì)與實(shí)現(xiàn)

通常在傳輸協(xié)議實(shí)現(xiàn)要素上,[2]包括:連接管理、流量控制與緩沖、多路復(fù)用、確認(rèn)技術(shù)、出錯(cuò)重傳等。如果在RUDP的實(shí)現(xiàn)中,將流量控制、連接管理、確認(rèn)及出錯(cuò)重傳等機(jī)制全都考慮進(jìn)去的話似乎成了另外的一種TCP協(xié)議,[3]很難達(dá)到減少系統(tǒng)開銷,提高實(shí)時(shí)性而滿足嵌入式系統(tǒng)開發(fā)的需求,也失去了RUDP設(shè)計(jì)與實(shí)現(xiàn)的意義。考慮到嵌入式系統(tǒng)的特點(diǎn):實(shí)時(shí)性要求高和數(shù)據(jù)傳輸量小。在設(shè)計(jì)上不考慮連接管理,主要考慮數(shù)據(jù)確認(rèn)技術(shù)、出錯(cuò)重傳機(jī)制、緩沖區(qū)管理的實(shí)現(xiàn)以及簡(jiǎn)單的流量控制,以期提高可靠性的同時(shí),能夠保證系統(tǒng)的實(shí)時(shí)性。在嵌入式系統(tǒng)中,網(wǎng)絡(luò)體系結(jié)構(gòu)如圖1所示,UDP可靠性應(yīng)用協(xié)議(RUDP)工作在應(yīng)用層(也可以看做是一個(gè)獨(dú)立的層次)。對(duì)應(yīng)網(wǎng)絡(luò)層次結(jié)構(gòu),數(shù)據(jù)分組形成嵌套層次。

(一)數(shù)據(jù)分組。

數(shù)據(jù)分組分為兩種類型:數(shù)據(jù)報(bào)文和應(yīng)答報(bào)文。數(shù)據(jù)報(bào)文為上層業(yè)務(wù)功能模塊提供有效的數(shù)據(jù),應(yīng)答報(bào)文僅用于接收到數(shù)據(jù)報(bào)文時(shí)進(jìn)行應(yīng)答。這兩種數(shù)據(jù)分組,從嵌套層次來(lái)看,都是UDP數(shù)據(jù)報(bào)的凈荷。格式如圖2所示,數(shù)據(jù)分組由首字節(jié)+數(shù)據(jù)構(gòu)成。首字節(jié)的首位為標(biāo)記位,標(biāo)記位為0表示數(shù)據(jù)報(bào)文;標(biāo)記位為1表示應(yīng)答報(bào)文。首字節(jié)的后7位為序號(hào),序號(hào)僅取7位,取值范圍為0~127。序號(hào)主要是考慮到嵌入式系統(tǒng)的內(nèi)存較小,不能緩存過多的數(shù)據(jù)。如果系統(tǒng)內(nèi)存開銷允許的情況下,可以適當(dāng)增加序號(hào)的位數(shù),以便能緩存更大的數(shù)據(jù)。

(二)數(shù)據(jù)發(fā)送緩沖區(qū)管理。

確認(rèn)技術(shù)是提高可靠性的重要機(jī)制。在TCP協(xié)議中使用了多種確認(rèn)技術(shù),但都會(huì)導(dǎo)致較大的系統(tǒng)開銷和延時(shí)而不適合于嵌入式系統(tǒng)中使用。停止等待協(xié)議比較簡(jiǎn)單,易于實(shí)現(xiàn),但執(zhí)行效率將會(huì)是很低,[3]延時(shí)較大。為提高實(shí)時(shí)性,提高傳輸速度,不必等待一個(gè)數(shù)據(jù)報(bào)文發(fā)送成功后,再發(fā)送下一個(gè)數(shù)據(jù)報(bào)文,就需要設(shè)置緩沖區(qū)。在嵌入式系統(tǒng)中,為盡量節(jié)省內(nèi)存,緩沖區(qū)管理方面,只考慮發(fā)送緩沖區(qū)的管理。緩沖區(qū)管理是實(shí)現(xiàn)數(shù)據(jù)可靠傳輸?shù)年P(guān)鍵。緩沖區(qū)的大小由數(shù)據(jù)分組的序號(hào)確定,這里使用首字節(jié)的的7位序號(hào),緩沖區(qū)的最大值為128,即最大能緩存128個(gè)數(shù)據(jù)分組。使用循環(huán)數(shù)組結(jié)構(gòu),形成一個(gè)環(huán)形隊(duì)列。數(shù)據(jù)分組的序號(hào)同時(shí)也對(duì)應(yīng)著數(shù)據(jù)在緩沖區(qū)中的位置,其基本結(jié)構(gòu)圖3所示。發(fā)送緩沖區(qū)管理的核心就是緩沖區(qū)釋放與分配,集中體現(xiàn)在序號(hào)的管理,接下來(lái)將詳細(xì)論述實(shí)現(xiàn)的流程。

(三)數(shù)據(jù)發(fā)送的實(shí)現(xiàn)。

如果有數(shù)據(jù)要發(fā)送,必須先獲得一個(gè)空閑的存儲(chǔ)空間的序號(hào),將數(shù)據(jù)放入對(duì)應(yīng)的緩沖區(qū)隊(duì)列中。如圖4所示,定時(shí)器中斷后即檢查緩沖區(qū)中是否有待發(fā)數(shù)據(jù)。而在發(fā)送過程中,發(fā)送次數(shù)和發(fā)送計(jì)時(shí)器是發(fā)送設(shè)計(jì)中的關(guān)鍵。發(fā)送計(jì)時(shí)器管理同一個(gè)數(shù)據(jù)報(bào)上次發(fā)送和當(dāng)次發(fā)送的時(shí)間間隔,這個(gè)時(shí)間間隔不能小于某一設(shè)定值。這樣做的目的是為了讓接收方來(lái)得及處理和接收,根據(jù)發(fā)送成功率動(dòng)態(tài)改變時(shí)間間隔的設(shè)定值在這種RUDP協(xié)議中可以實(shí)現(xiàn)簡(jiǎn)單的流量控制。其基本思想是:在發(fā)送成功率高的情況下適當(dāng)減少時(shí)間間隔;發(fā)送成功率降低的情況下,適當(dāng)加大時(shí)間間隔。發(fā)送次數(shù)管理,是為了避免數(shù)據(jù)無(wú)限制的發(fā)送下去,通過發(fā)送次數(shù)的管理可以及時(shí)判斷網(wǎng)絡(luò)物理連通性。

序號(hào)按順序獲取,往往在系統(tǒng)運(yùn)行一段時(shí)間后,序號(hào)會(huì)變得不連續(xù)。序號(hào)是否連續(xù)在這一層并不重要。在嵌入式系統(tǒng)中,通常數(shù)據(jù)量小,一般情況下,一次傳輸?shù)臄?shù)據(jù)只需要一個(gè)數(shù)據(jù)報(bào)就能完成,不需要多個(gè)數(shù)據(jù)報(bào)進(jìn)行組合,而更重要的是實(shí)時(shí)性。在需要多個(gè)數(shù)據(jù)分組組合的情況下,相關(guān)的處理交于上一層的應(yīng)用來(lái)完成。當(dāng)接收方收到數(shù)據(jù)分組后,立即向發(fā)送方發(fā)送應(yīng)答分組;發(fā)送方根據(jù)應(yīng)答分組的序號(hào),釋放相應(yīng)的緩沖區(qū)。

(四)數(shù)據(jù)接收的實(shí)現(xiàn)。

數(shù)據(jù)接收相對(duì)于發(fā)送管理較簡(jiǎn)單,如圖5所示。進(jìn)入定時(shí)中斷程序后,即檢查是否有有效數(shù)據(jù)。在數(shù)據(jù)校驗(yàn)方面,為了避免過大的開銷,僅采用UDP協(xié)議中的簡(jiǎn)單的校驗(yàn)和方式進(jìn)行數(shù)據(jù)校驗(yàn)。如果需要較強(qiáng)的檢錯(cuò)能力,可以在應(yīng)用層來(lái)實(shí)現(xiàn)。接收數(shù)據(jù)流程的關(guān)鍵是判斷應(yīng)答數(shù)據(jù)報(bào)還是數(shù)據(jù)報(bào),如果是應(yīng)答數(shù)據(jù)報(bào),表明接收方已經(jīng)接收到了該序號(hào)對(duì)應(yīng)的數(shù)據(jù),則將對(duì)應(yīng)的數(shù)據(jù)包從發(fā)送緩沖隊(duì)列中移除。如果是數(shù)據(jù)包則交由上層應(yīng)用來(lái)處理,同時(shí)向發(fā)送方發(fā)送應(yīng)答數(shù)據(jù)包。

四、性能測(cè)試

測(cè)試環(huán)境的建立,可以在互聯(lián)網(wǎng)環(huán)境中,通過運(yùn)行多種通信軟件模擬一個(gè)擁塞的網(wǎng)絡(luò)環(huán)境進(jìn)行測(cè)試,通過ping測(cè)試在丟包率達(dá)到30%的情況下,若采用標(biāo)準(zhǔn)的UDP協(xié)議進(jìn)行傳送數(shù)據(jù),其丟包率仍然在30%左右,也就是標(biāo)準(zhǔn)UDP協(xié)議的丟包率基本和ping測(cè)試的丟包率一致的。應(yīng)用這種可靠的UDP協(xié)議,重發(fā)次數(shù)設(shè)置為3,計(jì)時(shí)器重復(fù)時(shí)間間隔初始值設(shè)為300ms,可以保證數(shù)據(jù)正常的傳送,丟包率為0。這種方式較大程度上提高了數(shù)據(jù)傳輸?shù)目煽啃裕c此同時(shí)由于減少了建立和釋放連接的應(yīng)答次數(shù),較TCP協(xié)議實(shí)時(shí)性也有了較大的提高。

五、結(jié)束語(yǔ)

本文主要介紹了一種基于RUDP思想的可靠數(shù)據(jù)傳輸協(xié)議的實(shí)現(xiàn)。這種基于UDP協(xié)議的可靠傳輸方法很好的解決了嵌入式系統(tǒng)中實(shí)時(shí)性與可靠性的要求,實(shí)現(xiàn)的一系列算法簡(jiǎn)捷高效,能夠有效的滿足嵌入式系統(tǒng)的性能需求。

[1]Bova.T Krivoruchka.Reliable UDP Protocol.draft- ietfsigtran -reliable-udp-00.txt.Cisco Systems,1999 -02.

[2]Andrew S.Tanenbaum.Computer Networks.北京:清華大學(xué)出版社,2008.

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

[4]蘆東昕,張華強(qiáng),王陳.基于UDP的可靠數(shù)據(jù)傳遞技術(shù)研究[J].計(jì)算機(jī)工程,2003,(22):62-63.

猜你喜歡
嵌入式系統(tǒng)
Smartflower POP 一體式光伏系統(tǒng)
WJ-700無(wú)人機(jī)系統(tǒng)
ZC系列無(wú)人機(jī)遙感系統(tǒng)
基于PowerPC+FPGA顯示系統(tǒng)
半沸制皂系統(tǒng)(下)
TS系列紅外傳感器在嵌入式控制系統(tǒng)中的應(yīng)用
電子制作(2019年7期)2019-04-25 13:17:14
嵌入式系統(tǒng)通信技術(shù)的應(yīng)用
電子制作(2018年18期)2018-11-14 01:48:16
搭建基于Qt的嵌入式開發(fā)平臺(tái)
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
主站蜘蛛池模板: 欧美精品v欧洲精品| 国产精品va| 色妞永久免费视频| 成人中文在线| 欧美日韩另类国产| 黄色在线不卡| 一区二区三区成人| 亚洲美女久久| 国产精品无码影视久久久久久久| 2021国产在线视频| 91精品专区| 午夜少妇精品视频小电影| 毛片在线区| 国产日韩欧美黄色片免费观看| 噜噜噜久久| 亚洲成在人线av品善网好看| 一级香蕉人体视频| 任我操在线视频| 97视频免费在线观看| 日韩亚洲综合在线| 久久亚洲综合伊人| 午夜日韩久久影院| 一级毛片在线播放免费观看| 在线视频亚洲色图| 精品一区二区三区水蜜桃| 午夜视频日本| 欧美第一页在线| 国产白丝av| 成人在线不卡视频| 国产成人福利在线视老湿机| 国产无码性爱一区二区三区| 亚洲一级毛片在线观| 精品国产99久久| 国产高清在线精品一区二区三区 | 欧美成人午夜视频免看| 日韩一区精品视频一区二区| 99精品伊人久久久大香线蕉| 人妻少妇久久久久久97人妻| 伊人久热这里只有精品视频99| 久久精品无码一区二区日韩免费| 性欧美精品xxxx| 97视频在线精品国自产拍| 免费国产高清视频| 手机看片1024久久精品你懂的| 午夜限制老子影院888| 欧美成在线视频| 色AV色 综合网站| 国产午夜不卡| 成人亚洲国产| 伊人久久青草青青综合| 婷婷成人综合| 波多野结衣无码AV在线| aa级毛片毛片免费观看久| 国产精品漂亮美女在线观看| 久久公开视频| 在线看AV天堂| 国产99视频精品免费视频7| 国产第三区| 九色国产在线| 欧美一级大片在线观看| 亚洲天堂网视频| 国产原创自拍不卡第一页| 99久久国产综合精品女同| 国产美女叼嘿视频免费看| 欧洲极品无码一区二区三区| 欧美日韩成人在线观看| 久久久四虎成人永久免费网站| 日本免费a视频| 国产精品久久久久久久久| 国产精品原创不卡在线| 国产精品毛片在线直播完整版| 欧美翘臀一区二区三区| 国产综合精品一区二区| 国产性生大片免费观看性欧美| 国产精品专区第1页| 亚洲第一页在线观看| a级免费视频| 一级成人欧美一区在线观看 | 日本不卡免费高清视频| 欧美一区二区精品久久久| 麻豆国产在线不卡一区二区| 久久久精品国产SM调教网站|