美章網(wǎng) 資料文庫 網(wǎng)絡協(xié)議論文:無線網(wǎng)中協(xié)定的算法優(yōu)化透析范文

網(wǎng)絡協(xié)議論文:無線網(wǎng)中協(xié)定的算法優(yōu)化透析范文

本站小編為你精心準備了網(wǎng)絡協(xié)議論文:無線網(wǎng)中協(xié)定的算法優(yōu)化透析參考范文,愿這些范文能點燃您思維的火花,激發(fā)您的寫作靈感。歡迎深入閱讀并收藏。

網(wǎng)絡協(xié)議論文:無線網(wǎng)中協(xié)定的算法優(yōu)化透析

作者:陳海麗單位:廣東省高級技工學校

舊的數(shù)據(jù)包

這情現(xiàn)象相對來說少一些,發(fā)生類似這種情況的主要是由于TCP發(fā)送端出現(xiàn)了超時計數(shù)器出現(xiàn)了超時,這時就會重新傳輸超時的數(shù)據(jù)包,這種基站會收到序號小于基站緩存中緩存的最大序號的數(shù)據(jù)包信息。這種情況是由于TCP在發(fā)送端超時而重傳的數(shù)據(jù)包也會被轉發(fā)到相應的TCP接收終端。

ack算法流程

下面是Snoop對接收到的確認數(shù)據(jù)包時所處理流程,圖1表示了ack()算法流程圖:Snoop是屬于接收到的ACK,ACK分為三種情況:第一種是新的ACK、第二種是舊的且是不重復的ACK、第三種是舊的且重復的ACK。Snoop在時對他們進行不同的情況進行處理。

(1)新ACK

這是屬于正常的情況,Snoop對于ACK已經(jīng)所確認的數(shù)據(jù)包會從緩存中刪除掉,而且又要重新開始計算無線網(wǎng)絡端到端的傳輸時延值。此時的ACK會被傳送給TCP的發(fā)送終端。

(2)舊的ACK而且不是重復的ACK

類似這種情況相對來說會少一些。Snoop會丟棄這個ACK。

(3)舊的ACK并且是重復的ACK

這種情況是代表了TCP在接收端并且沒有收到這個ACK時所確認的下一個需要的數(shù)據(jù)包。假如這個ACK所確認的下一個數(shù)據(jù)包是沒有直接被data()標記為擁塞的數(shù)據(jù)包時,那么就會知道這個數(shù)據(jù)包是在無線網(wǎng)絡的傳輸中被丟失的。當不斷重復地確認數(shù)據(jù)包數(shù)大于或等于3時,Snoop就會馬上重新傳輸這個數(shù)據(jù)包。假如被標記為擁塞數(shù)據(jù)包時則會發(fā)送到相應的接收端。

現(xiàn)有Snoop協(xié)義算法的缺點

雖然現(xiàn)有Snoop算法可以提高系統(tǒng)的吞吐量,但是有許多缺點,具體缺點如下:

(1)TCP的發(fā)送端存在擁塞控制不及時

由于Snoop存在過濾一些重復的確認數(shù)據(jù)包功能,因此,使得TCP發(fā)送端不能通過接收到三個重復的確認數(shù)據(jù)包進行擁塞控制。這樣TCP的發(fā)送端只允許通過超時計數(shù)器的超時行為方可以作相應的擁塞控制處理,這樣就會使得TCP在發(fā)送端出現(xiàn)網(wǎng)絡擁塞時無法進行及時的擁塞控制,從而導致網(wǎng)絡性能出現(xiàn)更差的現(xiàn)象。

(2)TCP存在交叉層問題

因為無線鏈路出現(xiàn)了錯誤從而導致了相應數(shù)據(jù)包丟失的現(xiàn)象,此時Snoop就會在本地重新傳輸已經(jīng)丟失掉的數(shù)據(jù)包。通常在這種情況下,TCP在發(fā)送端的超時計數(shù)器出現(xiàn)超時之前,部分重傳數(shù)據(jù)還沒有完成,TCP的發(fā)送端就會認為網(wǎng)絡已經(jīng)出現(xiàn)了擁塞現(xiàn)象,此時就會進行相應的擁塞控制處理,將開始慢慢啟動閾值并將其設置為擁塞時的一半,將相應的發(fā)送窗口設置為1,使得相關的發(fā)送進入慢啟動的階段。TCP盲目地降低了網(wǎng)絡數(shù)據(jù)傳輸速度,這樣就導致了鏈路的利用率出現(xiàn)降低狀況,從而使得整個系統(tǒng)的吞吐量出現(xiàn)了下降,此時丟失的數(shù)據(jù)包在傳輸層以及鏈路層將會同時被重傳,這樣就會浪費了有限的帶寬資源。

Snoop協(xié)議中算法的改進措施

鑒于Snoop擁塞控制機制存在一些缺點,下面我們根據(jù)實際情況提出了針對Snoop算法的優(yōu)化方案Snoop_BE,這個優(yōu)化方案可以使其在TCP發(fā)送端增加帶寬估計算法。與舊的Snoop算法相比可以體現(xiàn)了TCP在發(fā)送端增加帶寬估計算法可以很好地動態(tài)設置發(fā)送窗口以及慢啟動的閾值,可以使相關的發(fā)送端避免盲目地減少擁塞窗口,并且更好地優(yōu)化了Snoop算法,也可以對網(wǎng)絡的擁塞情況做出更快的反應。

本文中所使用的帶寬估計算法是屬于TCPWestwood算法。TCPWestwood算法所采用的帶寬估計算法可以為發(fā)送端通過觀察接收端來返回相應的確認數(shù)據(jù)包時間的間隔來估算到終端鏈路上的能夠使用的帶寬。通過確認ACK的時間間隔和其相對應的數(shù)據(jù)包大小來估算瓶頸鏈路時能夠使用的帶寬。發(fā)送端在kt時刻所接收到接收端的確認數(shù)據(jù)包,就會清楚已確認數(shù)據(jù)包所確認后的數(shù)據(jù)是否已經(jīng)被接收端成功地接收,k1t是屬于上一個確認數(shù)據(jù)包接收端的時間,kd是屬于所確認的數(shù)據(jù)量,所以這樣可以簡單的通過公式(2-1)來算出相應的網(wǎng)絡帶寬kB:由于網(wǎng)絡擁塞是發(fā)生在整個網(wǎng)絡中的數(shù)據(jù)包流量出現(xiàn)了超過鏈路的容量的時候,因此我們可以使用最簡單的公式得到的是一個在較短時間內的帶寬值,同時如果當接收端出現(xiàn)延遲確認數(shù)據(jù)包時,對估算后的平均值可能影響較大,因此帶寬估算法的選擇上需要十分慎重。TCPWestwood所使用的帶寬估算法的公式如(2-2)所示:與一般的擁塞控制算法相比,TCPWestwood最基本的擁塞窗口動態(tài)調整算法在慢慢啟動階段以及擁塞避免階段都沒有完全改變。這個算法思想是這樣的:當網(wǎng)絡發(fā)生擁塞時,也就是接收到三個重復的ACK或者是計數(shù)器存在超時現(xiàn)象時,TCPWestwood將會試圖選擇一個慢啟動閾值或者擁塞窗口來有效地利用網(wǎng)絡帶寬。TCPWestwood可以避免將發(fā)送端的無線信道因偶然的錯誤而出現(xiàn)丟包而誤以為是網(wǎng)絡擁塞出現(xiàn)征兆,從而減少一些不必要的窗口,也使得其在整個無線網(wǎng)絡中更加有效。

Snoop的優(yōu)化算法Snoop_BE其具體改進方法是這樣的:在Snoop模塊里面取消重復ACK過濾功能,將已經(jīng)接收到重復的ACK發(fā)送到接收方這一端。而作Snoop模塊依然需要保留對ACK的重復計數(shù)功能,當Snoop模塊收到三個重復的ACK時就需要進行本地數(shù)據(jù)包的重復傳輸,其它相關功能保持不變。在發(fā)送端,當接收到三個重復的ACK或者是超時計數(shù)器超時,就需要進行改進的擁塞控制;如果接收到三個重復的ACK時,那么發(fā)送端就需要根據(jù)當時的帶寬估計值來進行設置相應的慢啟動閾值以及擁塞窗口的處理,但是不會重新傳輸已經(jīng)丟失掉的數(shù)據(jù)包;接到三個重復ACK時,此時就需要設置當前可用帶寬值為BWE,端到端的最小時延為RTTmin,數(shù)據(jù)包值的大小為seg_size,慢啟動閾值為ssthresh,擁塞窗口為cwin,那么發(fā)送端的動態(tài)窗口就可以調整算法如下:下面對Snoop的優(yōu)化算法Snoop_BE在接收到ACK時的操作進行相關的說明。當發(fā)送端接收到接收端發(fā)送的ACK時,就會根據(jù)ACK的狀態(tài)執(zhí)行相應的操作。那么當發(fā)送端出現(xiàn)正常的情況下接收到新的ACK時,就可以知道數(shù)據(jù)包已被正常接收,此時就會取消該數(shù)據(jù)包的超時計數(shù)器的工作;假如當接收到重復的ACK時,并且這個重復ACK數(shù)量是小于3時,那么就會將這個數(shù)據(jù)包的重復ACK計數(shù)累加1;如果當接收到重復的ACK,并且其重復的ACK數(shù)量是大于或等于3時,所發(fā)送端就會依照估算得到的可用帶寬動態(tài)來調整擁塞窗口以及慢啟動閾值,圖2為發(fā)送端控制算法流程圖。

當接收端出現(xiàn)超時計數(shù)器超時時,那么發(fā)送端就會根據(jù)當時的帶寬估算值來進行相應的動態(tài)設置慢啟動閾值以及擁塞窗口來處理。將慢啟動閾值設為(BWE*RTTmin)/seg_size,當(BWE*RTTmin)/seg_size小于2,慢啟動閾值設為2,擁塞窗口設為1。并且重新傳輸已丟失掉的數(shù)據(jù)包。發(fā)送端的具體控制流程圖如圖3所示。

改進后的Snoop協(xié)議的仿真結果及分析

在無線網(wǎng)絡運行環(huán)境下,無線鏈路的誤碼率是直接影響著整個網(wǎng)絡傳輸性能的主要原因之一,當無線鏈路誤碼率越來越高時,整個系統(tǒng)的性能就會越來越差。因此模擬在不同的鏈路環(huán)境錯誤的情況下,需要改進的Snoop協(xié)議與其他相關協(xié)議的比較,在整個試驗中,TCP的平均吞吐量如圖4所示。從上面的實驗結果來看,改進后的算法可以使得無線鏈路誤碼率變得較低以及有效的減少丟包率,其實TCP的在不同版本中吞吐量大致相同。可是如果當誤碼率不斷增高的時候,他們的吞吐量就會隨之而下降。其中TCPReno的下降速度是最快的,這是由于在整個無線鏈路中RTT出現(xiàn)的變化較大,而TCPReno是通過RTT的值來改變擁塞窗口的,因此在無線鏈路誤碼率較高時候,它就無法適應。由于TCPSack是采用了選擇性進行重復傳輸?shù)募夹g,因此在一定的程度上有效地降低了無線鏈路錯誤造成的不良影響。與Snoop算法相比較可以知道改進后的Snoop算法在整體性能上優(yōu)于傳統(tǒng)的Snoop算法,這是由于當鏈路錯誤而造成的相關數(shù)據(jù)包丟失,而且鏈路層也沒有成功的進行局部重復傳輸時,TCP的發(fā)送端就會盲目地啟動相關的擁塞控制,從而減少了擁塞窗口,有效地降低了無線鏈路的利用率,從而改進Snoop的算法,是依照估算的可用帶寬來動態(tài)地改變擁塞控制窗口。

而且如果當用于網(wǎng)絡擁塞產(chǎn)生丟包的現(xiàn)象是Snoop算法就無法按照接收到重復的ACK來進行相應的擁塞控制處理,唯有當發(fā)生計數(shù)器存在超時時才可以行動。如此一來就無形中增加了網(wǎng)絡的擁塞,而改進后Snoop算法則可以很好地對網(wǎng)絡擁塞現(xiàn)象做出快速的反應。

網(wǎng)絡的時延是影響整個無線網(wǎng)絡性能的較為關鍵因素之一,圖5是Snoop改進算法后與其它TCP擁塞控制算法在不同的鏈路時延下的系統(tǒng)性能下降的情況比較。

從圖5可以看出,當網(wǎng)絡時延增加時,整個系統(tǒng)的性能就會變差,當在時延很小時完全可以忽略不計,那么此時的吞吐量基本上是一樣的,而如果當網(wǎng)絡的時延在不斷地增加時,Snoop算法的吞吐量就會明顯小于改進后的算法。這是由于網(wǎng)絡上時延的增多時TCP接收端發(fā)生超時計數(shù)器超時,使得相關的接收端誤以為網(wǎng)絡發(fā)生了擁塞而出現(xiàn)錯誤的減少擁塞窗口,而當Snoop改進算法在檢測到發(fā)生網(wǎng)絡超時不是盲目地減少擁塞窗口值,而是按照接收端估算后得到的可用帶寬值動態(tài)的設定擁塞窗口值,這樣就可以在出現(xiàn)網(wǎng)絡時延較大時,對于無線網(wǎng)絡性能的影響較小。

總結

綜上所述,本文介紹了現(xiàn)行Snoop算法存在的不足以及算法的改進措施。在Snoop算法的基礎上增加了帶寬估計算法來動態(tài)的調整擁塞控制窗口的大小。根據(jù)模擬結果對改進算法進行分析,通過試驗分析可以得出誤碼率較高和時延較大的情況下,改進的Snoop算法可以有效提高無線網(wǎng)絡的吞吐率。

主站蜘蛛池模板: 亚洲va在线va天堂成人| 国产AV无码专区亚洲AV麻豆| a级毛片免费观看网站| 日本24小时www| 亚洲AV无码无在线观看红杏| 欧美重口绿帽video| 公和我做好爽添厨房| 色妞www精品视频观看软件| 国产成人高清视频| 5g996未满十八| 天堂网在线.www天堂在线资源| 中文字幕亚洲欧美专区| 日本韩国一区二区| 亚洲av无码欧洲av无码网站| 欧美综合区自拍亚洲综合天堂 | 最强yin女系统白雪| 亚洲春黄在线观看| 爱情岛论坛亚洲品质自拍视频网站| 又粗又紧又湿又爽a视频| 蝌蚪蚪窝视频在线视频手机 | 国产成人综合日韩精品无| 717影院理伦午夜论八戒| 天天澡天天碰天天狠伊人五月| 中文乱码精品一区二区三区| 日本特黄特色免费大片| 五月天在线婷婷| 欧美成人免费公开播放欧美成人免费一区在线播放 | 成人自拍小视频| 久久久久国色AV免费观看性色| 最近中文字幕在线mv视频在线| 亚洲国产一二三精品无码| 欧美老人巨大xxxx做受视频| 伊人不卡久久大香线蕉综合影院| 精品国产乱码久久久久久郑州公司| 国产v亚洲v欧美v专区| 青青草成人影院| 国产壮汉男同志69可播放| 国产精品网址你懂的| 国产真人无遮挡作爱免费视频| 2021国产麻豆剧传媒仙踪林| 国产黄大片在线观|