陳欲科
(公誠(chéng)管理咨詢有限公司,廣東 東莞 523000)
在有限的資源條件下,用無線網(wǎng)絡(luò)進(jìn)行可靠傳輸是值得從業(yè)者深究和重視的問題。因?yàn)樵诋?dāng)今的社會(huì)上,互聯(lián)網(wǎng)飛速發(fā)展,對(duì)網(wǎng)絡(luò)的要求也越來越嚴(yán)格,許多的應(yīng)用在無線網(wǎng)絡(luò)上進(jìn)行無線傳輸,這也就提高了無線網(wǎng)絡(luò)技術(shù)的性能要求,要求無線網(wǎng)絡(luò)具有很高的可靠性和低傳輸時(shí)延性[1]。隨著智能手機(jī)的推行,移動(dòng)通信技術(shù)也得到了發(fā)展,但是在有限的資源條件下,要盡可能的發(fā)展技術(shù),提高傳輸安全性,減少丟包問題的發(fā)生,同時(shí)也要發(fā)展恢復(fù)數(shù)據(jù)技術(shù),減少丟包問題帶來的損失。
現(xiàn)在應(yīng)用對(duì)數(shù)據(jù)包的發(fā)送成功率要求較高,達(dá)到百分之百,但是一般情況下,由于無線網(wǎng)絡(luò)的布網(wǎng)簡(jiǎn)單,受傳輸環(huán)境影響嚴(yán)重,發(fā)送成功率僅有百分之二十,所以,無線網(wǎng)絡(luò)的丟包率很高,遠(yuǎn)遠(yuǎn)大于有線網(wǎng)絡(luò)。環(huán)境因素的不穩(wěn)定容易導(dǎo)致路徑損耗、盲區(qū)衰落、多徑衰落,還需要其他的技術(shù)來保證無線網(wǎng)絡(luò)傳輸?shù)姆€(wěn)定性,從目前的技術(shù)手段來說,主要有以下四種輔助手段[2]。
ARQ是一種自動(dòng)請(qǐng)求重傳的機(jī)制,當(dāng)傳輸失敗時(shí),會(huì)收到NACK的反饋,發(fā)送端獲得反饋后,會(huì)自動(dòng)重新傳輸數(shù)據(jù),直到收到了ACK的反饋。ACK的反饋代表著發(fā)送成功。但是這種機(jī)制也存在著一定的問題,例如當(dāng)傳輸?shù)木W(wǎng)絡(luò)通信節(jié)點(diǎn)較多,同時(shí)向發(fā)送端進(jìn)行反饋,會(huì)造成反饋風(fēng)暴,出現(xiàn)網(wǎng)絡(luò)延時(shí)問題。
FEC是從一定數(shù)量的消息中恢復(fù)想要的信息,可以避免大量無效數(shù)據(jù)的重傳,它延遲性低,但是占用的帶寬資源更多,傳輸大量的信息可以擁有較高的糾錯(cuò)信息能力,在傳輸開銷和傳輸效率間要尋求一個(gè)平衡,F(xiàn)EC和NACK結(jié)合起來使用可以達(dá)到這個(gè)平衡。在應(yīng)用方面FEC和ARQ適用于不同的場(chǎng)景,F(xiàn)EC更合適用在傳輸錯(cuò)誤率高的情況下[3]。
將ARQ和FEC結(jié)合起來,就是混合差錯(cuò)控制技術(shù),用FEC的機(jī)制可以避免反饋風(fēng)暴的出現(xiàn),再利用ARQ的方式,可以對(duì)傳輸出錯(cuò)的數(shù)據(jù)進(jìn)行糾錯(cuò)重傳,提高傳達(dá)成功率。
網(wǎng)絡(luò)編碼是利用路由器和編碼的信息交換技術(shù),與傳統(tǒng)的傳輸技術(shù)不同,傳統(tǒng)數(shù)據(jù)的傳輸是利用中間節(jié)點(diǎn)作為應(yīng)答器,對(duì)數(shù)據(jù)進(jìn)行存儲(chǔ)和傳。網(wǎng)絡(luò)編碼中最重要的機(jī)制是當(dāng)路徑中的節(jié)點(diǎn)收到信息時(shí)傳輸?shù)较乱惶?,?duì)每個(gè)節(jié)點(diǎn)的信息都進(jìn)行了網(wǎng)絡(luò)編碼,將網(wǎng)絡(luò)鏈路帶寬有效的利用起來,提高了利用率[4]。
像Tetry一樣,RQUDP以內(nèi)聯(lián)冗余率k發(fā)送數(shù)據(jù),可以恢復(fù)丟失的數(shù)據(jù)包,且將數(shù)據(jù)進(jìn)行平滑的傳輸。其目標(biāo)是可靠的傳輸機(jī)制,且保證數(shù)據(jù)連續(xù)傳輸?shù)綉?yīng)用程序。像這樣一種輕量、自適應(yīng)、可靠的傳輸機(jī)制可以實(shí)現(xiàn)為II型HARQ(增量冗余)、UDP傳輸代理或可靠的隧道(如RBSCP)[5]。
RQUDP可以恢復(fù)所有的數(shù)據(jù),避免損失,當(dāng)沒有可發(fā)送的數(shù)據(jù)時(shí)還會(huì)自動(dòng)終止。它具有移動(dòng)的編碼窗口,可以避免突然發(fā)生的不良情況與事件對(duì)數(shù)據(jù)傳輸制度的影響,還能限制接收端解碼的復(fù)雜性,可以憑借輕量級(jí)確認(rèn)機(jī)制的連續(xù)包丟失率估計(jì)的冗余調(diào)整。
自適應(yīng)冗余度的算法在此不做贅述,接下來將詳細(xì)介紹前兩種機(jī)制。
表1列出了本節(jié)中使用的不同符號(hào)。圖1展示了完整的數(shù)據(jù)交換過程,其中數(shù)據(jù)包為黑色,修復(fù)包為紅色,恢復(fù)包為灰色。大小為W=4的編碼窗口是發(fā)送方緩沖區(qū)中的紅色幀。
表1 本節(jié)不同符號(hào)的含義
圖1 完全可靠機(jī)制原理圖
RQOUDP對(duì)NACK方案進(jìn)行了改進(jìn),提供了一個(gè)可靠性良好的工作層,可以適應(yīng)各個(gè)環(huán)境,它獨(dú)立于包錯(cuò)誤率(packet error rate, PER)和內(nèi)聯(lián)冗余比。確認(rèn)包可以指定丟失的序列號(hào)列表,還可以指定接收包最高連續(xù)序列號(hào)。接收方未確認(rèn),發(fā)送方則會(huì)將沒確認(rèn)的部分再次發(fā)送,直到被接收方確認(rèn),保證線性組合數(shù)據(jù)包的可靠性。在發(fā)送全部的數(shù)據(jù)以后,要在每個(gè)發(fā)送的數(shù)據(jù)包里包含一個(gè)Flag,發(fā)送方設(shè)置為1,指示流的結(jié)束。當(dāng)接收者開始解碼,就會(huì)自動(dòng)使用ARQ的F flag進(jìn)行結(jié)束,關(guān)閉對(duì)話框。這避免了反饋風(fēng)暴的出現(xiàn),提高了傳輸效率[6]。
它記錄窗口號(hào)、窗口總數(shù)以及窗口和內(nèi)存中的地址映射關(guān)系,調(diào)用發(fā)送模塊發(fā)送數(shù)據(jù)包。它從內(nèi)存獲取數(shù)據(jù)存儲(chǔ)信息,封裝數(shù)據(jù)到自定義數(shù)據(jù)幀中,并啟動(dòng)封裝過程,與消息處理狀態(tài)機(jī)相似,在接收數(shù)據(jù)的過程中,可以直接用信息處理模塊對(duì)信息進(jìn)行處理,接收和消息處理同時(shí)進(jìn)行可以提高工作效率。當(dāng)接收的信息和窗口與發(fā)送的一致,就會(huì)用接收窗口進(jìn)行接收,如果不一致,接收端會(huì)利用NACK進(jìn)行反饋。根據(jù)接收端的反饋,發(fā)送端會(huì)采取不同的方法,例如ACK代表需要重新傳輸,而NACK則代表需要先找回丟失數(shù)據(jù)再進(jìn)行傳輸[7]。
發(fā)生混亂時(shí),可以采用接收端計(jì)算資源,在嵌入式系統(tǒng)中,使用大小為W的滑動(dòng)編碼窗口對(duì)譯碼的復(fù)雜程度進(jìn)行界限,這樣的窗口可以一直增長(zhǎng),直到達(dá)到最大的大小,比起傳統(tǒng)的有限大小的窗口更加靈活方便。在特殊情況發(fā)生時(shí),編碼窗口可能會(huì)被阻礙,這時(shí)還是應(yīng)該繼續(xù)照常發(fā)送新的數(shù)據(jù)包,保證接收端可以平滑的接收數(shù)據(jù)。當(dāng)編碼的窗口已經(jīng)滿了的時(shí)候,可以用不同的系數(shù)編碼同一組數(shù)據(jù),使用多個(gè)修復(fù)包進(jìn)行修復(fù)。在使用RaptorQ進(jìn)行發(fā)送時(shí),發(fā)送方設(shè)計(jì)符號(hào)來進(jìn)行編碼,在反饋過程中,當(dāng)出現(xiàn)傳輸延遲,且延遲較長(zhǎng),則會(huì)觸發(fā)重發(fā),所以必須選擇RTO的一部分作為緩沖包的計(jì)時(shí)器,RTO是RTT的乘法,選擇RTO的時(shí)間會(huì)避免重新傳輸,重傳定時(shí)器與RTO的測(cè)量有關(guān),它能測(cè)量網(wǎng)絡(luò)動(dòng)態(tài)參數(shù),及時(shí)反映網(wǎng)絡(luò)狀態(tài),保證數(shù)據(jù)傳輸效率,避免數(shù)據(jù)的丟失。無線網(wǎng)絡(luò)傳播延遲長(zhǎng),延遲的時(shí)間可以用來收集符號(hào)應(yīng)用RaptorQ的編碼,一般來說,會(huì)選擇當(dāng)前RTO時(shí)間的三分之一來作為延遲定時(shí)器[8]。
在這個(gè)信息高速發(fā)達(dá)的時(shí)代,對(duì)計(jì)算機(jī)的網(wǎng)絡(luò)通信技術(shù)的發(fā)展要求也越來越高,保障數(shù)據(jù)信息的高效、安全、穩(wěn)定是網(wǎng)絡(luò)通信技術(shù)必須滿足的問題,相關(guān)從業(yè)人員要深入研究如何完成數(shù)據(jù)在不同網(wǎng)絡(luò)之間的傳輸,如何提高網(wǎng)絡(luò)傳輸之間的成功率,才能滿足如今時(shí)代發(fā)展的需求。