孫文勝,陳瑪麗,江露琪,周 鈺
(杭州電子科技大學(xué)通信工程學(xué)院,浙江 杭州 310018)
?
基于認(rèn)知無線網(wǎng)絡(luò)的TCP協(xié)議改進(jìn)及性能分析
孫文勝,陳瑪麗,江露琪,周鈺
(杭州電子科技大學(xué)通信工程學(xué)院,浙江 杭州 310018)
摘要:未改進(jìn)TCP協(xié)議(如TCP-Vegas、TCP-Reno協(xié)議等)無法適應(yīng)認(rèn)知無線網(wǎng)絡(luò)復(fù)雜的環(huán)境,嚴(yán)重影響網(wǎng)絡(luò)的傳輸性能?;赥CP-Reno協(xié)議提出一種性能改進(jìn)的TCP協(xié)議——TCP-CR。通過改進(jìn)CTS/RTS幀,并結(jié)合TCP-MAC跨層交互信息,改善頻譜探測(cè)和切換的頻繁慢開始問題,及時(shí)適應(yīng)切換后新信道。通過NS2工具仿真,仿真結(jié)果顯示TCP-CR可以提高TCP傳輸吞吐量,降低重傳率和丟失率,提高傳輸性能。
關(guān)鍵詞:認(rèn)知無線網(wǎng)絡(luò);MAC-TCP跨層;自適應(yīng)ssthresh;CTS/RTS幀
0引言
認(rèn)知無線(Cognitive Radio,CR)網(wǎng)絡(luò)中,認(rèn)知用戶需間斷性地進(jìn)行頻譜探測(cè)。認(rèn)知用戶的頻譜探測(cè)與頻譜轉(zhuǎn)換會(huì)產(chǎn)生一定問題,導(dǎo)致鏈路往返時(shí)間RTT出現(xiàn)突變,促使TCP頻繁啟動(dòng)慢開始以控制擁塞。目前投入大量研究改進(jìn)傳統(tǒng)TCP協(xié)議,文獻(xiàn)[1]通過TCP層傳輸預(yù)判避免超時(shí)重傳,頻譜探測(cè)階段引入RTT,導(dǎo)致RTT有較大的抖動(dòng)。文獻(xiàn)[2]通過RTS/CTS幀中添加傳輸啟停標(biāo)志并跨層通知TCP層,但并未根據(jù)切換前后信道變化調(diào)整TCP層相應(yīng)的傳輸參數(shù),不適應(yīng)CR網(wǎng)絡(luò)切換頻繁的特性。為了改善此情況,基于TCP-Reno協(xié)議,本文提出性能改進(jìn)協(xié)議——TCP-CR協(xié)議。TCP-CR協(xié)議的MAC-TCP跨層傳遞有用信息。通過改變傳統(tǒng)的RTS-CTS協(xié)議幀,添加頻譜探測(cè)階段結(jié)束標(biāo)記S,避免頻譜感知階段數(shù)據(jù)傳輸?shù)膩G包現(xiàn)象。添加認(rèn)知用戶切換前后信道變化標(biāo)記C,以便對(duì)ssthresh進(jìn)行自適應(yīng)調(diào)整。
1CR網(wǎng)絡(luò)中影響TCP協(xié)議相關(guān)因素
認(rèn)知用戶周期性地進(jìn)行頻譜探測(cè),在頻譜感知期間既不能傳輸數(shù)據(jù),也不能接收確認(rèn)信號(hào),導(dǎo)致超時(shí)定時(shí)器超時(shí)[3],數(shù)據(jù)重傳,故及時(shí)獲取感知時(shí)長,調(diào)整重傳定時(shí)器很重要。
認(rèn)知用戶必須定期探測(cè)授權(quán)用戶,時(shí)刻準(zhǔn)備著退讓出頻譜。授權(quán)用戶來到時(shí),如果沒有空閑信道,則必須中止傳輸,導(dǎo)致引入一種新型的丟包因素—傳輸中斷丟包。
認(rèn)知用戶進(jìn)行不同信道間轉(zhuǎn)換時(shí)會(huì)引入一定的切換時(shí)延。且切換成功后,新的頻譜與原來頻譜存在一定的差別,可能導(dǎo)致與認(rèn)知用戶傳輸?shù)臉I(yè)務(wù)需求不匹配,引起TCP“擁塞控制周期”變化[4]。
由于有線網(wǎng)絡(luò)的穩(wěn)定性,丟包原因一般歸為網(wǎng)絡(luò)擁塞,TCP直接采取擁塞控制方法處理即可。而認(rèn)知無線網(wǎng)路丟包原因相對(duì)復(fù)雜,如多個(gè)認(rèn)知用戶競爭信道時(shí)的碰撞丟包、認(rèn)知用戶進(jìn)行路由重組時(shí)的丟包等。
2改進(jìn)的TCP-CR協(xié)議
RTS/CTS協(xié)議可以協(xié)調(diào)多認(rèn)知用戶環(huán)境下互相競爭可用空閑信道的情況,避免發(fā)生認(rèn)知用戶之間沖突。防止過多的認(rèn)知用戶競爭同一空閑頻段,增加頻譜檢測(cè)時(shí)延,影響TCP平均吞吐量。同時(shí),RTS/CTS協(xié)議幀也可以方便攜帶接入信道相關(guān)信息,使用起來靈活方便。
在TCP-Reno協(xié)議基礎(chǔ)上,本文進(jìn)行如下性能改進(jìn):
1)RTS/CTS幀的改進(jìn)
改進(jìn)RTS/CTS幀,添加頻譜探測(cè)階段結(jié)束標(biāo)記S和切換前后信道變化標(biāo)記C。RTS/CTS傳輸鏈路建立后,如果TCP頻譜檢測(cè)階段結(jié)束,則將攜帶探測(cè)階段結(jié)束標(biāo)記S的協(xié)議幀傳輸?shù)絋CP層,告知TCP層接下來可以進(jìn)行數(shù)據(jù)傳送。切換前后信道變化標(biāo)記C,用來告知TCP層切換后信道是否改變。如果信道切換后不是原信道,則需要根據(jù)新信道參數(shù)進(jìn)行TCP相關(guān)參數(shù)調(diào)整。
2)MAC層與TCP層跨層的添加
目前大量研究主要通過協(xié)議低三層次之間跨層來提升認(rèn)知用戶頻譜的探測(cè)和切換過程,達(dá)到提高上層性能的目的,并沒有下層MAC層和上層TCP層直接進(jìn)行信息共享的跨層[5-6]。本文提出的TCP-CR協(xié)議聯(lián)合考慮MAC層頻譜檢測(cè)管理與TCP層傳輸控制,并利用改進(jìn)的RTS/CTS協(xié)議組建跨層次的傳輸通道,實(shí)現(xiàn)信息共享。
3)頻譜感知階段的改進(jìn)
TCP-CR協(xié)議在MAC層添加兩計(jì)時(shí)器,分別為頻譜探測(cè)計(jì)時(shí)器和數(shù)據(jù)傳送計(jì)時(shí)器。認(rèn)知用戶進(jìn)入頻譜探測(cè)階段時(shí),任何通信方傳送的數(shù)據(jù)均無法接收。此時(shí)開啟頻譜探測(cè)計(jì)時(shí)器,讓MAC層暫時(shí)中止數(shù)據(jù)傳送計(jì)時(shí)器,把頻譜探測(cè)開始信號(hào)跨層告知TCP層。TCP-CR協(xié)議的TCP層接收到該信號(hào)后,利用CTS/RTS握手協(xié)議與周邊可用信道交互,根據(jù)CTS幀中攜帶的信息,分別采取3種措施進(jìn)行處理。
(1)MAC層分析CTS幀中C標(biāo)記信息。如果標(biāo)記顯示仍為當(dāng)前信道,則跨層告知TCP繼續(xù)在原來的信道上傳送數(shù)據(jù)。同時(shí)MAC層開啟數(shù)據(jù)傳送計(jì)時(shí)器,網(wǎng)絡(luò)恢復(fù)數(shù)據(jù)傳送;
(2)分析CTS幀中的C標(biāo)記信息。如果為當(dāng)前信道已被授權(quán)用戶搶占,但網(wǎng)絡(luò)中存在可以使用的其他空閑信道,則跨層告知TCP將在新的信道上傳送數(shù)據(jù),此時(shí)也開啟數(shù)據(jù)傳送計(jì)時(shí)器,表明恢復(fù)數(shù)據(jù)傳送;
(3)如果結(jié)果為當(dāng)前信道被授權(quán)用戶搶占,同時(shí)周邊無可用空閑信道,則立即將超時(shí)重傳定時(shí)器增加一個(gè)感知時(shí)長,暫時(shí)中止數(shù)據(jù)傳送,避免感知階段的超時(shí)重傳。同時(shí)存儲(chǔ)TCP中RTT、cwnd和ssthresh等相關(guān)參數(shù),以供信道切換后的傳輸使用。
頻譜感知階段改進(jìn)過程如圖1所示。
圖1 頻譜感知階段過程改進(jìn)
認(rèn)知用戶進(jìn)入頻譜探測(cè)階段,傳統(tǒng)TCP協(xié)議并不存儲(chǔ)上層應(yīng)用數(shù)據(jù)包,而TCP-CR協(xié)議在收到MAC層頻譜探測(cè)開始信號(hào)后,將上層持續(xù)下傳的數(shù)據(jù)包緩存于隊(duì)列中。當(dāng)與新的可用信道接續(xù)完畢后,如果隊(duì)列的緩存中存在數(shù)據(jù),則依照入隊(duì)緩存時(shí)的序號(hào)逐一發(fā)送。如此可有效緩解頻譜探測(cè)階段數(shù)據(jù)包超過緩存容量的丟包問題。
4)信道帶寬和ssthresh的自適應(yīng)調(diào)整
認(rèn)知用戶切換不同信道后會(huì)帶來一定的問題。TCP-CR協(xié)議根據(jù)標(biāo)記C狀態(tài),判斷認(rèn)知用戶切換前后信道是否變化。如果信道不變,則使用之前保留下來的參數(shù)繼續(xù)未完的數(shù)據(jù)傳送。如果信道發(fā)生變化,則TCP-CR協(xié)議將擁塞窗口cwnd設(shè)置為1,并根據(jù)文獻(xiàn)[7]提出的帶寬預(yù)測(cè)法預(yù)測(cè)切換信道帶寬,根據(jù)帶寬值調(diào)整新信道數(shù)據(jù)傳送的慢開始門限值,以便適應(yīng)新信道特性。發(fā)送方TCP記錄確認(rèn)信號(hào)收到的時(shí)刻值及兩相鄰ACK時(shí)間間隔內(nèi)的數(shù)據(jù)傳送總量,采用自適應(yīng)帶寬共享估計(jì)算法計(jì)算當(dāng)前帶寬。具體算法如下:
(1)
(2)
式中,RTTmin為當(dāng)前切換后信道的鏈路往返時(shí)間最小值。Seg為發(fā)送的數(shù)據(jù)報(bào)文段大小。
認(rèn)知用戶切換信道后,可以根據(jù)新信道調(diào)整的慢開始門限值重新開始慢開始,以適應(yīng)切換后新信道,既可以防止擁塞加重,又可以充分利用帶寬資源,提高認(rèn)知用戶對(duì)可用帶寬的利用率。
3性能仿真與結(jié)果分析
本文采用NS2.31軟件進(jìn)行系統(tǒng)仿真,采用如圖2所示的網(wǎng)絡(luò)模型。授權(quán)用戶和認(rèn)知用戶均采用文件傳輸協(xié)議FTP連接。
圖2 仿真網(wǎng)絡(luò)模型
假設(shè)每個(gè)鏈路帶寬均為1 Mb/s,時(shí)延為15 ms。TCP報(bào)文段長度為1 500 byte,擁塞窗口上限cwnd=6 000 byte,最初超時(shí)時(shí)間為2 s。采用RTS/CTS協(xié)議競爭接入信道。不同信道數(shù)和不同認(rèn)知用戶數(shù)(N取值為1,2,3)下,多認(rèn)知用戶競爭相同信道的TCP吞吐量影響如圖3所示。隨著認(rèn)知用戶數(shù)增加,競爭同一信道的碰撞概率增大,導(dǎo)致TCP吞吐量均降低。對(duì)于認(rèn)知用戶數(shù)一定條件下,隨著總信道數(shù)增加,認(rèn)知用戶檢測(cè)到新信道的概率增大,認(rèn)知用戶之間競爭信道的沖突減小,故TCP吞吐量反而增加。
圖3 信道和認(rèn)知用戶數(shù)對(duì)平均TCP吞吐量影響
假設(shè)網(wǎng)絡(luò)中只存在兩條鏈路,兩個(gè)授權(quán)用戶及一個(gè)認(rèn)知用戶,認(rèn)知用戶探測(cè)可用鏈路接入。且鏈路1頻帶寬度為22 Mb/s,時(shí)延為30 ms;鏈路2頻帶寬度為8 Mb/s,時(shí)延為20 ms。整個(gè)頻譜探測(cè)周期為1 s(包括數(shù)據(jù)傳送時(shí)長)。頻譜探測(cè)時(shí)長對(duì)TCP吞吐量影響如圖4所示。圖4中,TCP-Vegas和TCP-Reno協(xié)議較敏感,當(dāng)探測(cè)時(shí)長逐漸增大,吞吐量下降明顯。而提出的TCP-CR協(xié)議,在MAC層增加相應(yīng)的定時(shí)器,在CTS/RTS協(xié)議中增加S和C標(biāo)志,MAC層可跨層傳遞探測(cè)信號(hào)給TCP層進(jìn)行相應(yīng)參數(shù)調(diào)整,改進(jìn)頻譜探測(cè)過程。相比前兩協(xié)議,TCP-Reno所受影響小,吞吐量下降最小。
圖4 頻譜探測(cè)時(shí)長對(duì)TCP吞吐量影響
頻譜探測(cè)時(shí)長對(duì)包丟失率影響如圖5所示。圖5中,TCP-Vegas協(xié)議受探測(cè)時(shí)長的影響最大,探測(cè)時(shí)長增加,包丟失量增加明顯。TCP-Reno協(xié)議相對(duì)變化小些。而提出的TCP-CR協(xié)議包丟失率變化非常緩和。因?yàn)門CP-CR協(xié)議增加了隊(duì)列緩存,防止頻譜探測(cè)階段包丟失。且改進(jìn)的MAC層增加了頻譜感知功能,可以將頻譜探測(cè)信號(hào)提前告知TCP層,TCP及時(shí)調(diào)整發(fā)送速率和各窗口值,避免頻譜探測(cè)階段不必要的包丟失。故采用TCP-CR協(xié)議,包丟失率隨頻譜探測(cè)時(shí)長增加變化緩慢,幾乎不受影響。
圖5 頻譜探測(cè)時(shí)長對(duì)包丟失率影響
重新傳送的數(shù)據(jù)包與所有傳送的數(shù)據(jù)包的比值為包重傳率。頻譜探測(cè)時(shí)長對(duì)包重傳率影響如圖6所示。圖6中,使用TCP-Reno與TCP-Vegas協(xié)議,包重傳率隨著探測(cè)時(shí)長增加,包重傳曲線上升明顯。而改進(jìn)的TCP-CR協(xié)議因?yàn)樵黾恿岁?duì)列緩存,當(dāng)進(jìn)入頻譜感知階段時(shí),隊(duì)列會(huì)緩存數(shù)據(jù)包。感知結(jié)束時(shí),原先的數(shù)據(jù)包會(huì)按序逐一傳送,無需重傳。故包重傳率隨頻譜探測(cè)時(shí)長增加幾乎變化不大,緩解了頻譜探測(cè)的影響。
4結(jié)束語
本文研究分析了認(rèn)知無線網(wǎng)路中對(duì)TCP協(xié)議影響的因素,結(jié)合CTS/RTS協(xié)議改進(jìn)和MAC-TCP跨層思想,提出性能改進(jìn)協(xié)議TCP-CR。改進(jìn)協(xié)議緩解了認(rèn)知無線網(wǎng)路中由于認(rèn)知用戶頻譜探測(cè)和切換產(chǎn)生的TCP傳輸性能下降問題。與未改進(jìn)協(xié)議TCP-Reno、TCP-Vegas相比,提高了傳輸吞吐量,降低了包重傳率和丟失率。
參考文獻(xiàn)
[1]李志高,周音,孫學(xué)斌,等.認(rèn)知無線電網(wǎng)絡(luò)中一種改進(jìn)的傳輸層協(xié)議[J].無線電工程,2011,41(10):13-16.
[2]黃昌平,趙利.MAC與TCP跨層的認(rèn)知無線網(wǎng)絡(luò)傳輸性能增強(qiáng)[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2012,21(9):236-239.
[3]Wang D,Cosman P C,Milstein L B.Cross Layer Resource Allocation Design for Uplink Video OFDMA Wireless Systems[C]//Global Telecommunications Conference(GLOBECOM 2011),2011 IEEE.IEEE,2011:1-6.
[4]Tang J,Zhang X.Cross-Layer-Model Based Adaptive Resource Allocation for Statistical QoS Guarantees in Mobile Wireless Networks[J].Wireless Communications,IEEE Transactions on,2008,7(6):2318-2328.
[5]Luo C,Yu F R,Ji H,et al.Optimal channel access for TCP performance improvement in cognitive radio networks[J].Wireless Networks,2011,17(2):479-492.
[6]Luo Q,Zhao J,Chen M.Research of TCP/IP protocol stack based on embedded system[C]//2011 3rd International Conference on Computer Research and Development.2011,3:412-415.
[7]Mascolo S,Casetti C,Gerla M,et al.TCP Westwood:Bandwidth estimation for enhanced transport over wireless links[C]//Proceedings of the 7th annual international conference on Mobile computing and networking.ACM,2001:287-297.
The Improvement and Performance Analysis of TCP Protocol
Based on Cognitive Radio Network
Sun Wensheng,Chen Mali,Jiang Luqi,Zhou Yu
(SchoolofCommunicationEngineering,HangzhouDianziUniversity,HangzhouZhejiang310018,China)
Abstract:Traditional TCP protocol can’t adapt to the complex environment of cognitive wireless networks,which is greatly reducing the transmission performance of the network.In this paper,based on the TCP-Reno protocol,an improved transport layer protocol is proposed,named as TCP-CR.It improved the CTS/RTS frame,and combined with TCP-MAC cross-layer information exchange to improve the spectrum sensing and switching slow startup problem,and quickly adapt to a new channel.The simulation results show that TCP-CR can improve the TCP transmission throughput,reduce retransmission rate and improve transmission performance.
Key words:cognitive radio networks;MAC-TCP cross layer;adaptive ssthresh;CTS/RTS frame
中圖分類號(hào):TN915
文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1001-9146(2015)05-0018-05
作者簡介:孫文勝(1966-),男,安徽巢湖人,副教授,嵌入式系統(tǒng)與無線通信系統(tǒng).
收稿日期:2014-12-16
DOI:10.13954/j.cnki.hdu.2015.05.004