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

基于被動偵聽與數據幀調度的擁塞控制方法

2018-08-01 08:06:28夏潔李付勇姜勝明
現代計算機 2018年19期

夏潔,李付勇,姜勝明

(上海海事大學信息工程學院,上海 201306)

0 引言

傳統TCP擁塞控制是因特網中一種端到端的擁塞控制方法[1],其中源節點通過收到的ACK分組來了解網絡的擁塞狀況,自適應地調節擁塞窗口,從而實現擁塞控制。多跳無線網絡是一種具有無固定基礎設施、數據多跳傳輸等特點的無線網絡[2]。多跳無線網絡中信道質量的不穩定性、無線信道的競爭性、節點的移動性和能供的波動性等因素常常造成對網絡的擁塞狀況做出誤判,并錯誤地觸發了擁塞控制機制來降低發送窗口,從而造成網絡性能的下降。在這種情況下,發送節點無法及時或者正確獲取擁塞狀況,所以傳統的TCP不適用于多跳無線網絡的擁塞控制[3]。

針對上述問題,提出了一種新的協議Semi-TCP協議[4]。Semi-TCP重新分配了傳統TCP的功能,在運輸層只保留端到端數據傳輸的可靠性控制,即丟包重傳。而將擁塞控制功能下放到數據鏈路層,可由媒體訪問控制協議(Media Access Control,MAC)層具體實現逐跳擁塞控制[5],發送節點能夠及時或者正確獲取擁塞狀況,提高了TCP在無線多跳網絡中的性能。所以MAC層的擁塞控制技術是Semi-TCP的關鍵技術。目前研究人員已經提出了一些應用于Semi-TCP擁塞控制的方法,這些方法在一定程度上提高了網絡性能,但是其對MAC協議的修改,增加了MAC層的復雜度,降低了Semi-TCP的適用性。且發送節點在競爭信道時或之后才能做出擁塞控制,造成了信道資源的浪費。

因此,本文提出了一種用于Semi-TCP的基于被動偵聽與數據幀調度的擁塞控制方法。本算法在不改變原有的MAC協議的情況下,使得未配置Semi-TCP功能的節點能和已配置的節點兼容,提高了Semi-TCP的適用性,更快速地掌握網絡的擁塞情況,減少了信道資源的浪費。

1 算法的設計與實現

本文對活躍度的定義為偵聽到的節點在單位時間內發送數據的能力大小。可以理解為:對于具有相同緩存大小的節點,固定時間內發送的數據幀越多,即節點活躍度越高,說明其處理緩存中數據幀的能力越大,其釋放自身擁塞的能力越大,進而可以認為其發生擁塞的可能性越小,以此作為量化擁塞的依據。

1.1 算法中擁塞判斷的方法

當偵聽節點偵聽到周圍節點發送的數據幀時,使用基于被動偵聽的方法來進行擁塞狀況判斷。以發送節點A為例,節點A正常發送數據幀的同時,也被動偵聽周圍節點發送的數據幀,解析這些數據幀,得到這些數據幀的發送節點地址,統計這些發送節點的活躍度來量化節點的擁塞狀態,具體步驟如下[6]:

(1)節點A正常發送數據幀的同時偵聽周圍節點發送的數據幀,解析這些數據幀,得到發送這些數據幀的節點的地址,在固定時間Ts內,每解析出相同發送節點如節點B的數據幀,NB(A)加1,NB(A)指的是Ts時間內節點A偵聽到節點B發送數據幀的個數,其初始值為0,一般場景下,Ts取25ms;

(2)發送節點A統計最近m個Ts時間內,節點A偵聽到節點B發送數據幀的個數分別為{NB[1],...,NB[m]},,并計算其平均值N^B(A),其中NB[1]指最近一次完整Ts時間內統計的值,這里將m定義為統計窗口,只保留最新的m個NB(A)進行計算,一般場景下,m取10;

(3)節點A計算最近一個Ts時間內,偵聽到的周圍節點發送數據幀次數的均值為N^au(A)=(NB[1]+NC[1]+…)/n,最近一次Ts時間內節點A正確解析出的數據幀,這些數據幀的發送節點數目為n;

(4)考慮到節點的擁塞狀態由兩個因素決定,一是網絡狀態的連續性,因而給出了節點相對于自身歷史的活躍度;二是其他節點處理擁塞的能力,因而給出了節點當前相對于其他節點的活躍度。節點B相對于自身歷史的活躍程度ηhB(A)如式(1)所示:

節點B相對于其他節點的活躍程度ηrB(A)如式(2)所示:

(5)對上述節點B相對于自身歷史的活躍程度和相對于其他節點的活躍程度兩種活躍度進行歸一化,則節點A估計的節點B的擁塞量化值θB(A)如式(3)所示:

若θB>1,則認為節點 B處于非擁塞狀態,若θB∈(0.5,1),則認為節點 B 處于半擁塞狀態,若θB∈(0,0.5),則認為節點B處于擁塞狀態。

1.2 算法中擁塞控制的方法

現有的基于RTS/CTS的Semi-TCP擁塞控制算法依賴于發送節點接收CTS/nCTS,來獲取接收節點的擁塞狀態,并做出擁塞控制。基于確認幀(ACK)的Semi-TCP擁塞控制算法依賴于發送節點接收ACK/ACKC,來獲取接收節點的擁塞狀態,并做出擁塞控制。這兩種算法都在發送節點競爭信道之后進行擁塞控制的,若當前數據幀的接收節點已經處于擁塞狀態,這就降低了信道競爭的效率,造成資源的浪費。

本文的算法采用了一種基于數據幀調度的擁塞控制方法,節點可以在數據幀競爭信道之前及時做出擁塞控制,該方法中發送節點根據以下步驟對數據幀進行調度管理[6]:

(1)當前節點A先判斷自身的擁塞狀態,方式如下:若當前緩存內的數據幀個數即隊列長度N小于節點緩存的擁塞閾值Th,則節點A判定自身處于非擁塞狀態,正常發送數據幀;反之,節點A判定自身處于擁塞狀態,執行下一步;

(2)若當前發送節點A已經擁塞,則判斷當前待發送的數據幀的接收節點B的擁塞狀態。若節點B處于非擁塞狀態,則節點A直接發送數據幀;若節點B處于半擁塞狀態,則節點A退避time backoff時間再發送,其中time backoff為發送一次數據幀的時間;若節點B處于擁塞狀態,則節點A取消此次信道競爭,執行下一步驟;

(3)發送節點檢查此數據幀的擁塞計數,擁塞計數是指每當數據幀競爭信道時其接收節點處于擁塞狀態的次數;

(4)若擁塞計數小于節點預設的擁塞閾值th_cong,則將此數據幀移至隊列中的第pos的位置排隊等待,節點擁塞計數加1,并且令隊列中下一個數據幀開始競爭信道。

(5)若擁塞計數大于或等于節點預設的擁塞閾值th_cong,則節點A將此數據幀返回上層,以告知上層其下的MAC層已經處于擁塞狀態[7]。

2 實驗結果與分析

本節將具體介紹基于被動偵聽與數據幀調度的擁塞控制方法在EXata仿真平臺上的實現與測試,重點分析了在不同場景中,擁塞控制方法的性能。同時與現有的兩種方法(基于RTS/CTS的Semi-TCP擁塞控制算法[8]與基于確認幀(ACK)的Semi-TCP擁塞控制算法[9])對比[10]。

2.1 仿真參數

吞吐量和時延是網絡性能的重要評判參數,在對Semi-TCP進行性能測試時,也使用這兩個參數作為主要的評判標準。其中平均吞吐量為單位時間內,目的節點收到的源節點發送的數據包的總字節數。通過設置不同參數,不同場景中分析其對擁塞控制方法的性能的影響,選擇了合適的參數。如表1所示在之后所述的多個場景中,以下場景參數固定,不再變動。

表1 固定場景參數

2.2 對比測試

下面將采用上述參數值進行仿真,與已有的基于RTS/CTS的Semi-TCP擁塞控制算法和基于確認幀(ACK)的Semi-TCP擁塞控制算法的仿真結果進行對比。為了方便起見,將上述兩種算法分別稱為Semi-TCP-RTSC/CTSC、Semi-TCP-ACKC,本文方法稱為Semi-TCP-LP。

(1)靜態場景測試

現將本文的Semi-TCP-LP算法與已有的Semi-TCP-RTSC/CTSC、Semi-TCP-ACKC算法在如圖1所示的靜態場景里進行仿真。在圖1的靜態場景中,設置由節點1到節點2,節點6到節點10,節點8到節點9的FTP應用,這三條數據流通過節點4中繼,增加了節點4發生擁塞的頻率。同時調整節點物理層發送功率,增加每個節點的發送范圍,保證覆蓋多個節點,從而增加信號被偵聽的次數。

因為上述三種方法都依賴擁塞閾值作為擁塞判斷的標準,因此將擁塞閾值作為橫軸,將平均吞吐量作為豎軸,對多個數據流進行多次仿真比較,結果如圖2所示。

圖1 靜態路拓撲場景

圖2 平均吞吐量隨擁塞閾值的變化

由圖2可以看出,采用已有的兩種Semi-TCPRTSC/CTSC、Semi-TCP-ACKC算法時,平均吞吐量隨著擁塞閾值的增大而增大。而采用Semi-TCP-LP算法時平均吞吐量在取不同擁塞閾值時沒有呈現規律的變化,且它的吞吐量基本低于已有的兩種算法。這是因為靜態場景中鏈路相對穩定,Semi-TCP-LP擁塞控制功能并不明顯,尤其對于某些能及時恢復成非擁塞的節點仍然進行調度,而錯失了合適的發送時機,一定程度上造成了吞吐量的下降。

(2)動態場景測試

下面將Semi-TCP-LP算法與已有的Semi-TCPRTSC/CTSC、Semi-TCP-ACKC擁塞控制算法在如圖3所示的動態場景里進行仿真結果對比。動態場景中,不僅擴大了節點的通信范圍,增加偵聽的數據幀的多樣性,而且賦予了節點隨機移動性,增加了路由的不確定性,使得場景與移動自組織網絡更加相似,其中紅旗表示節點的移動軌跡。且仿真時間設為30s,節點3和節點5按一定速率移動。發送,從而造成吞吐量的下降。而當擁塞閾值較大時,緩存較慢達到擁塞閾值,需要節點進行調度的機會較少,對吞吐量的影響降低了。

圖3 動態鏈路拓撲場景

仍然將擁塞閾值作為橫坐標,對多個數據流統計了其平均吞吐量進行比較,結果如圖4所示。

圖4 平均吞吐量隨擁塞閾值的變化

圖5 平均吞吐量隨擁塞閾值的變化

由圖4可以看出,當擁塞閾值小于50時,采用本文的Semi-TCP-LP算法時的性能比Semi-TCP-RTSC/CTSC算法的性能更好。但沒有Semi-TCP-ACKC算法好。當擁塞閾值大于50時,采用Semi-TCP-LP算法時性能的優勢比較明顯。

為了進一步討論該算法在移動自組織網絡中的性能,將增大節點3和節點5的移動速率,分析平均吞吐量與擁塞閾值的關系,結果如圖5所示。

由圖5可以看出,由于增加了節點的移動速率,進一步惡化了網絡狀況,上述三種算法的性能都有所下降。但是Semi-TCP-LP算法的平均吞吐量隨著擁塞閾值的增大逐漸優于其他兩種算法。

鑒于擁塞閾值決定了擁塞的判斷,當擁塞閾值較小時,緩存較快達到擁塞閾值,超過閾值時開始進行擁塞控制,對于Semi-TCP-ACKC和Semi-TCP-RTSC/CTSC算法而言,若擁塞規模較小,可及時利用接收節點回復的信息恢復發包。但是Semi-TCP-LP算法將已經判斷為擁塞的接收節點的數據包取消競爭并滯后

(3)混合場景測試

測試Semi-TCP-LP算法與未配置的Semi-TCP的節點兼容運行,來提高網絡的性能。還是用圖3中的動態場景,配置兩個對照組,一組節點全部使用TCP Lite,另一組中只將節點3和節點4設為TCP Lite,其他節點使用Semi-TCP-LP。TCP Lite與Semi-TCP-LP的擁塞控制機制不同。對多個數據流統計了其平均吞吐量進行比較,結果如圖6所示。

圖6 TCP Lite與混合TCP的平均吞吐量對比圖

由圖6可以看出,采用Semi-TCP-LP的混合場景比只使用TCP Lite的平均吞吐量大幅提高。因為信道質量不足引起的丟包被TCP Lite錯判為擁塞,因而錯誤的觸發了擁塞機制,降低了發送窗口,限制了網絡性能。而Semi-TCP-LP通過偵聽與探測估計節點的擁塞程度來進行擁塞控制,減緩了擁塞的發生,提高了網絡的平均吞吐量。

3 結語

本文提出了一種用于Semi-TCP的基于被動偵聽與數據幀調度的擁塞控制方法。并在EXata仿真平臺對其進行了仿真分析。在靜態與動態場景中,對比已有的Semi-TCP-ACKC和Semi-TCP-RTSC/CTSC算法,發現當擁塞閾值較大時,本文提出的方法有一定的優勢。同時在未配置Semi-TCP節點通信的混合場景中,吞吐量有較大的提高。本算法在不改變原有的MAC協議的情況下,使得未配置Semi-TCP功能的節點能和已配置的節點兼容,提高了Semi-TCP的適用性,更快速地掌握網絡的擁塞情況,及時進行擁塞控制,減少了信道資源的浪費。

主站蜘蛛池模板: 亚洲an第二区国产精品| 亚洲精品第一页不卡| 99精品这里只有精品高清视频| 国产中文一区a级毛片视频| 亚洲视频一区在线| 欧美在线黄| 国产精品太粉嫩高中在线观看| 狠狠色成人综合首页| 亚洲αv毛片| 在线观看精品国产入口| 无码高潮喷水在线观看| 狠狠v日韩v欧美v| 欧美精品色视频| 丝袜美女被出水视频一区| 日韩免费毛片视频| 国产精品人莉莉成在线播放| 成人毛片免费在线观看| 亚洲高清在线播放| 欧美一区二区自偷自拍视频| 亚洲欧美成aⅴ人在线观看| 99视频精品在线观看| 不卡无码h在线观看| 欧美一区二区自偷自拍视频| 无码中文字幕精品推荐| 久爱午夜精品免费视频| 色哟哟国产精品| 手机永久AV在线播放| 精品国产网| 国产一级无码不卡视频| 香蕉久久国产超碰青草| 久草中文网| 亚洲AⅤ永久无码精品毛片| 国产亚洲欧美在线专区| 亚洲福利视频网址| 国产在线观看91精品| 国产亚洲视频在线观看| 欧美激情伊人| 日韩在线第三页| 亚洲国产亚综合在线区| 午夜老司机永久免费看片| 全午夜免费一级毛片| 欧美有码在线观看| 一级做a爰片久久毛片毛片| 日韩毛片免费| 免费女人18毛片a级毛片视频| 国产不卡在线看| 欧美成人怡春院在线激情| 亚洲最大福利网站| 麻豆国产精品一二三在线观看| 国产69囗曝护士吞精在线视频| 亚洲不卡影院| 一区二区三区国产| 沈阳少妇高潮在线| 久久伊人久久亚洲综合| 天堂成人在线视频| 国产午夜一级淫片| 久久黄色视频影| 亚洲AV电影不卡在线观看| 日韩毛片免费视频| 97se亚洲综合| 国产亚洲欧美日韩在线一区二区三区| 无码网站免费观看| 五月激情婷婷综合| 精品偷拍一区二区| 高清不卡一区二区三区香蕉| 亚洲av色吊丝无码| 日本免费高清一区| 日本免费精品| 国产福利一区视频| 久久国产精品嫖妓| 老司国产精品视频| 欧美精品高清| 久久免费视频播放| 国产91小视频| 成人国产精品2021| 国产自无码视频在线观看| 国产免费自拍视频| 污污网站在线观看| 三级国产在线观看| 亚洲精品在线影院| 中文字幕 日韩 欧美| 日韩无码黄色网站|