專利名稱:一種無線多跳網(wǎng)絡擁塞的控制方法和裝置的制作方法
技術領域:
本發(fā)明屬于通信技術領域,尤其涉及一種無線多跳網(wǎng)絡擁塞的控制方法 和裝置。
背景技術:
在互聯(lián)網(wǎng)中,TCP (Transfer Control Protocol,傳輸控制協(xié)議)協(xié)議是目 前使用最廣泛的 一種傳輸協(xié)議,為因特網(wǎng)用戶提供了可靠的端到端數(shù)據(jù)通信 服務。TCP協(xié)議是為固定主機和有線網(wǎng)絡設計的一種滑動窗口協(xié)議,通過控 制發(fā)送窗口的大小,數(shù)據(jù)傳輸層發(fā)送端可以控制發(fā)送數(shù)據(jù)的速率,進而控制 網(wǎng)絡擁塞。在傳輸過程中,數(shù)據(jù)傳輸層發(fā)送端首先以線性或指數(shù)級形式增加 窗口的大小,直到出現(xiàn)報文丟失,則窗口減半,接著又開始逐漸增大。TCP 通過這種方式來探測網(wǎng)絡中可以獲得的最大傳輸速率并以報文丟失來指示發(fā) 送速率已經(jīng)超出了網(wǎng)絡可用的帶寬。傳統(tǒng)TCP適用于差錯率低、報文丟失主 要由擁塞造成的有線鏈路。而無線網(wǎng)絡具有差錯率高和移動性等異于有線網(wǎng) 絡的特點,鏈路差錯與主機移動都可能引起TCP報文丟失,當TCP協(xié)議 應用于無線網(wǎng)絡時,其性能出現(xiàn)顯著下降。TCP協(xié)議的擁塞控制機制是導致 TCP協(xié)議在無線網(wǎng)中性能下降的主要原因。
目前針對無線網(wǎng)絡提出的TCP改進方案有很多,根據(jù)其基本的原理可 以大致分為三類端到端方案(end-to-end scheme)、分段連接方案(split connection scheme)、 鏈路層方案(link layer scheme)。 端到端方案中,數(shù)據(jù)傳輸層發(fā)送端處理有線網(wǎng)及無線鏈路上的丟包錯誤,需要修改數(shù)據(jù)傳輸層發(fā)送
端的TCP協(xié)議。分段連接方案中,連接在基站處分成兩段, 一段是固定主 機到基站的有線段,另一段是基站到移動主機的無線段。分段連接方案不用 修改固定主機端的TCP協(xié)議,只需修改無線段的TCP協(xié)議,而且通過分 段的方法可以對有線鏈路隱藏無線鏈路的錯誤,這樣可以使得有線鏈路相對 穩(wěn)定的傳輸環(huán)境不會受到無線鏈路中復雜多變的傳輸環(huán)境的影響。鏈路層方 案的目的是通過局部重傳機制和向前糾錯 (Forward Error Correction, FEC ) 機制結合起來以對TCP數(shù)據(jù)傳輸層發(fā)送端隱藏各種和無線鏈路相關的包丟 失。
目前,針對無線網(wǎng)絡提出的TCP改進方案中的一種為Snoop(監(jiān)聽)協(xié) 議,其屬于性能增強代理(PEP , Performance Enhance Proxy)技術。在鏈路 層(MAC層),Snoop引人了針對TCP數(shù)據(jù)包的ARQ (autorepeatrequest,自 動重傳請求)機制,以解決無線信道上的比特誤碼問題。在網(wǎng)絡層(IP層), Snoop采用組播技術解決移動切換引起的報文丟失現(xiàn)象。Snoop既考慮了應用 數(shù)據(jù)由MH的對等主機(Corresponding Host, CH )向移動主機MH的發(fā)送情 況,也考慮了反向數(shù)據(jù)傳輸情況。當數(shù)據(jù)自CH向MH傳輸時,Snoop在基站 的代理程序會緩存數(shù)據(jù)包并轉發(fā)給MH。 Snoop通過兩種方法檢測數(shù)據(jù)包在無 線信道上的丟失情況 一種是通過在鏈路層設置類似TCP的超時重傳計時器; 另一種是在鏈路層檢測反向路徑是否出現(xiàn)重復確認(DupACK, Duplicate ACK)。當?shù)谝淮纬霈F(xiàn)DupACK時,應用Sno叩的基站重發(fā)丟失的數(shù)據(jù)包,并 且丟棄隨后的DupACKs。當數(shù)據(jù)由MH向CH傳輸時,應用Snoop的基站檢測 收到的數(shù)據(jù)報文順序號是否存在不連續(xù)的號碼段。 一旦發(fā)現(xiàn)不連續(xù)的號碼段, 則通過顯式丟失通告(explicit loss notification)反饋移動主機需要重新發(fā)送的數(shù)據(jù)報文。
Snoop協(xié)議基于被偵聽到的TCP信息,在基站處進行智能本地重傳。Snoop 代理將監(jiān)控所有通過TCP鏈接的報文,維持那些在無線鏈路上已發(fā)送卻未被 移動主機響應的TCP報文的緩沖存儲。當接收到少量來自數(shù)據(jù)傳輸層發(fā)送端 的DupACK時,或者本地計時器超時時,報文的丟失就會被發(fā)現(xiàn)。假設Snoop 代理已存儲了丟失的報文并抑制了DupACK,它就會重傳此報文。
發(fā)明人發(fā)現(xiàn),Sno叩協(xié)議與其它本地重傳方案相似,也面臨著無法使數(shù) 據(jù)傳輸層發(fā)送端完全脫離無線段丟包困擾的難題,特別是無線為多跳和無線 路徑臨時中斷的情況。當無線鏈路多次本地重傳時,會引起數(shù)據(jù)傳輸層發(fā)送 端的重傳定時器超時,啟動數(shù)據(jù)傳輸層發(fā)送端的重傳和擁塞控制的慢起動, 導致網(wǎng)絡性能下降。
發(fā)明內(nèi)容
本發(fā)明實施例公開了 一種無線多跳網(wǎng)絡擁塞的控制方法和裝置,以根據(jù)無 線路徑狀態(tài)信息,在丟包時進行本地重傳,并將所述重傳通知數(shù)據(jù)傳輸層發(fā)送 端,避免不必要的TCP重傳。
一種無線多跳網(wǎng)絡擁塞的控制方法
獲取無線多跳網(wǎng)絡的路徑信息,根據(jù)所述無線多跳路徑信息標記無線路 徑狀態(tài)為可用Available,不可用Unavailable,擁塞Congestion或出錯Error;
接收來自無線路徑接收端的確認通知ACK分組,若所述標記的無線路徑 狀態(tài)不是Unavailable,則以高優(yōu)先級對第一個重復的確認通知Dup ACK所對 應的傳輸層數(shù)據(jù)TCP Data分組進行本地重傳;
將所述本地重傳事件通知數(shù)據(jù)傳輸層發(fā)送端。一種無線多跳網(wǎng)絡擁塞的控制裝置,包括分析模塊、接收模塊、控制模
塊、代理模塊,其中
所述分析模塊用于根據(jù)無線多跳網(wǎng)絡的鏈路信息,分析出無線多跳網(wǎng)絡 的路徑信息;
所述接收模塊用于接收來自無線路徑接收端的確認通知ACK分組; 所述控制模塊用于根據(jù)所述分析模塊提供的路徑信息標記無線路徑狀態(tài) 為可用Available、不可用Unavailable,擁塞Congestion或出錯Error,若所述無 線路徑狀態(tài)不是不可用Unavailable,則指令所述代理模塊以高優(yōu)先級對接收 模塊接收到的第 一 個重復的確認通知Dup ACK所對應的傳輸層數(shù)據(jù)TCP Data分組進行本地重傳,并將本地重傳事件通知數(shù)據(jù)傳輸層發(fā)送端; 所述代理模塊用于根據(jù)控制模塊的指令進行本地重傳。
通過應用本發(fā)明實施例/>開的方法和裝置,可以獲取并標記無線多跳網(wǎng) 絡的路徑信息,在接收來自無線路徑接收端的確認通知ACK分組后,根據(jù) 所述路徑信息,以高優(yōu)先級對第一個重復的確認通知Dup ACK所對應的TCP Data分組進行本地重傳,并將所述重傳事件通知數(shù)據(jù)傳輸層發(fā)送端,實現(xiàn)了 向數(shù)據(jù)傳輸層發(fā)送端屏蔽無線段的影響,避免了不必要的TCP重傳。
圖l為本發(fā)明實施例無線多跳網(wǎng)絡擁塞的控制方法示意圖; 圖2為本發(fā)明實施例無線多跳網(wǎng)絡擁塞的控制方法示意圖; 圖3為本發(fā)明實施例無線多跳網(wǎng)絡擁塞的控制方法中對HPEP狀態(tài)設置流 程圖4為本發(fā)明實施例無線多跳網(wǎng)絡擁塞的控制方法中 對TCP Data分組的處理流程圖5為本發(fā)明實施例無線多跳網(wǎng)絡擁塞的控制方法中HPEP對ACK分組 的處理流程圖6為本發(fā)明實施例無線多跳網(wǎng)絡擁塞的控制方法示意圖; 圖7為本發(fā)明實施例無線多跳網(wǎng)絡擁塞的控制方法示意圖; 圖8為本發(fā)明實施例無線多跳網(wǎng)絡擁塞的控制裝置結構示意圖。
具體實施例方式
為使本發(fā)明的目的、技術方案和優(yōu)點更加清楚,下面結合附圖對本發(fā)明 具體實施例作進一步的詳細描述。
本發(fā)明具體實施例公開了 一種無線多跳網(wǎng)絡擁塞的控制方法。 所述方法包括
步驟IOI、獲取無線多跳網(wǎng)絡的路徑信息,根據(jù)所述無線多跳路徑信息標 記無線路徑狀態(tài)為可用Available,不可用Unavailable,擁塞Congestion或出錯 Error;
步驟102、接收來自無線路徑接收端的確認通知ACK分組,若所述標記 的無線路徑狀態(tài)不是Unavailable,則以高優(yōu)先級對第 一個重復的確認通知 Dup ACK所對應的傳輸層數(shù)據(jù)TCP Data分組進行本地重傳; 步驟103、將所述本地重傳事件通知數(shù)據(jù)傳輸層發(fā)送端。 通過應用本發(fā)明實施例7>開的方法,可以獲取并標記無線多跳網(wǎng)絡的3各 徑信息,在接收來自無線路徑接收端的確認通知ACK分組后,根據(jù)所述路徑 信息,以高優(yōu)先級對第一個重復的確^人通知Dup ACK所對應的TCP Data分組 進行本地重傳,并將所述重傳事件通知數(shù)據(jù)傳輸層發(fā)送端,實現(xiàn)了向數(shù)據(jù)傳輸層發(fā)送端屏蔽無線段的影響,避免了不必要的TCP重傳。
本發(fā)明具體實施例公開了 一種無線多跳網(wǎng)絡擁塞的控制方法。所述方法
為設置跨層管理功能模塊(HPEP, Hybrid Performance Enhance Proxy),所 述模塊以可通信方式與鏈路層(MAC層)、網(wǎng)絡層(IP層)和傳輸層(TCP層)連接, 如圖2所示。所述HPEP包括分析模塊、控制模塊和代理模塊。
所述分析模塊用于對鏈路和路徑進行分析,包括根據(jù)MAC提供的相關 信息,如協(xié)議數(shù)據(jù)單元(Protocol Data Unit, PDU)的信息,對誤碼率進行 統(tǒng)計;根據(jù)鏈路的接收信號強度指示(Received Signal Strength Indicator, RSSI)等信息,獲得鏈路狀態(tài),包括鏈路斷裂,鏈路連接等,分析鏈路的連 接度;根據(jù)MAC層重傳才莫塊提供的信息,如自動重發(fā)請求(Automatic Repeat Request, ARQ)的參數(shù),獲得重傳信息,如最大重傳時間等;根據(jù)MAC提 供的資源分配信息和隊列模塊的長度信息,獲得路徑的擁塞度;根據(jù)IP層的 路由模塊提供的信息,獲得MBS ( Mobile-Base station,移動基站)到MH的 可選路徑。
所述控制模塊用于根據(jù)分析模塊提供的數(shù)據(jù),對HPEP的狀態(tài)進行設置, 所述對HPEP的狀態(tài)進行設置也是對^各徑狀態(tài)進行標記。
所述代理模塊用于對TCP Data分組和ACK分組進行處理,在檢測到丟包 時,基于上述控制模塊設置的HPEP的狀態(tài),對丟包的原因進行識別,執(zhí)行本 地的相應處理或數(shù)據(jù)傳輸層發(fā)送端的相應處理。
以下論述假定TCP Data分組為從CH向MH傳送,相應的,假定ACK分組為MH 向CH傳送。
所述對HPEP的狀態(tài)進行設置的方法如圖3所示。為了描述的方便,以下將HPEP的操作分為三類分別編號,其中執(zhí)行類步驟以S為首字母,判斷類步 驟以J為首字母,狀態(tài)置位以E為首字母。狀態(tài)置位可以作為一個單獨的步驟 處理,也可以與執(zhí)行類步驟合并處理。此處為了論述的方便,將狀態(tài)置位放 在相應的執(zhí)行類步驟中一并論述。
HPEP啟動時,初始狀態(tài)EO設為S:Available,設置發(fā)送窗口PWND與數(shù)據(jù) 傳輸層發(fā)送端的擁塞窗口 CWND等值。
S30:分析模塊通過跨層服務收集無線多跳網(wǎng)絡的鏈路信息;分析所述 鏈路信息獲取路徑信息,所述路徑信息包括路徑擁塞度、連接度、誤碼率和 鏈路層重傳信息等。
J30:根據(jù)S30的分析結果判斷通信鏈路的路徑狀態(tài),如果路徑狀態(tài)為中 斷,則進入S31,否則進入J31。
HPEP可以基于鏈路的RSSI,切換的信令或切換事件觸發(fā),或基于MIH 的事件服務來判斷,所述判斷無線路徑是否中斷為現(xiàn)有技術,此處不再贅述。
S31: HPEP中的代理模塊構造零接收窗口ACK,啟動TCP的零窗口機制。 HPEP的狀態(tài)E1 i殳為S=Unavailable 。隨后進入J3 3 。
上述啟動TCP的零窗口機制,包括通知TCP的數(shù)據(jù)傳輸層發(fā)送端進入堅 持模式(persist mode),凍結(freeze)所有數(shù)據(jù)包的重傳定時器,并且不 減小擁塞窗口等。
J33:判斷路徑中斷的原因是否是終端正在進行切換,如果是,則進入J34, 否則進入S33。
J31:判斷鏈路當前的擁塞度(C"g)和誤碼率()與各自的閾值的 關系,如果誤碼率不小于誤碼閾值l (^r2^;1)或者擁塞度不小于擁塞閾 值l ( C"g2C"grt/),則進入J32,否則進入J35。J32:判斷鏈路是否有多路徑路由,如果是則進入S32,否則進入J35。 S32: HPEP中的代理模塊構造零接收窗口ACK,啟動TCP的零窗口機制。
HPEP的狀態(tài)El設為S=Unavailable。隨后進入S33。
上述啟動TCP的零窗口機制,包括通知TCP的數(shù)據(jù)傳輸層發(fā)送端進入堅
持模式(persist mode),凍結(freeze)所有數(shù)據(jù)包的重傳定時器,并且不
減小擁塞窗口等。
S33:控制模塊指示在多徑路由或備選路徑中重選路徑,并進入J34。 J34:判斷路徑是否恢復,是則進入S34,否則繼續(xù)執(zhí)行J34。 S34:代理模塊修改AWND ( advertisement window,廣告窗口 )的取值, 向數(shù)據(jù)傳輸層發(fā)送端發(fā)送3個對最后一個成功接收的零窗口探測包(Zero Window Probe, ZWP)的ACK (即針對ZWP的確認包)或者來自接收端的最 新的ACK分組,打開數(shù)據(jù)傳輸層發(fā)送端窗口 ,使其進入快速傳輸階段。HPEP 的狀態(tài)E3設為S二Available,設置發(fā)送窗口 PWND與數(shù)據(jù)傳輸層發(fā)送端的擁塞 窗口CWND等值。所述AWND取值不一定等于freeze時的值,而是根據(jù)當前 無線鏈路的可用資源,包括無線路徑帶寬和HPEP緩存區(qū)大小進行設置。
J35:判斷當前鏈路的擁塞度(C"g )與擁塞閾值2 ( C"gJ )的關系,如 果C"g2C"g,J ( C"gJ大于C"gJ ),則HPEP的狀態(tài)E4設為S二 Congestion (擁 塞),否則進入J36判斷。
J36:判斷誤碼率(£廳)與誤碼閾值2 ()的關系,如果^7^£>^2
(五^'大于五^2 ),則HPEP的狀態(tài)E5設為S: Error (出錯),否則為正常態(tài), 即維持初始狀態(tài)E0的S=Available。
在進行上述分析和處理后,HPEP的狀態(tài)(即無線路徑的狀態(tài))可能處于 以下幾種狀態(tài)值的任一種
16S=Available, E0狀態(tài)或E3狀態(tài)取此值,表示路徑一切正常; S=Unavailable, E1狀態(tài)或E2狀態(tài)且未能完成路徑恢復時取此值,表示路 徑斷開,不可用;
S= Congestion, E4狀態(tài)取此值,表示路徑擁塞; S= Error, E5狀態(tài)取此值,表示路徑傳輸出錯。
除非出現(xiàn)外部觸發(fā)(如收到重新初始化的命令),HPEP在每個無線路徑 的往返時間RTTw (Round-Trip Time of Wireless )對路徑的擁塞度和誤碼率 進行統(tǒng)計,據(jù)此對HPEP的狀態(tài)進行刷新。
HPEP對自身狀態(tài)進行設置(即對無線路徑狀態(tài)進行標記)后,需要根據(jù) 路徑狀態(tài),對來自數(shù)據(jù)傳輸層發(fā)送端的TCP Data分組和來自接收端的ACK分 組進行處理。需要說明的是,從初始狀態(tài)來看,HPEP對TCPData分組的處理
產(chǎn)生ACK分組),/人對應關系來看,HPEP也必然先處理特定TCPData分組, 才能處理與所述特定的TCP Data分組對應的ACK分組,^旦在不強調(diào)對應關系 的情形下,在初始化后的第 一個RTTw之后,HPEP對TCP Data分組和ACK分 組是同時處理的。
首先論述HPEP對TCP Data分組的處理。具體步驟參見圖4,對于執(zhí)行類 步驟,以S為首字母編號,對于判斷類步驟,以J為首字母編號。 S40: HPEP接收一個TCPData分組,進入J40。
J40:判斷HPEP的狀態(tài)是否為S:Unavailable,是則表明當前無線路徑不 可用,進入S41,否則進入J41。
S41:標記所述TCPData分組,如果還沒有緩存所述TCP Data分組則執(zhí)行 緩存。J41:判斷HPEP的狀態(tài)是否為S-Congestion,是則表明無線路徑擁塞, 需要控制分組的發(fā)送速率,故進入S42,否則進入S43。
S42:減小HPEP的發(fā)送窗口,如減半,以控制發(fā)送速率,進入S43。
S43:優(yōu)先發(fā)送步驟S41中^皮標記的TCP Data分組(而不是步驟S40中接 收的TCP Data分組)給接收端,隨后進入J42。
J42:判斷步驟S40中接收的所述TCP Data分組對HPEP來說是否是新的數(shù) 據(jù),是則進入J43,否則進入J44。
J43:判斷所述新數(shù)據(jù)的TCP序號是否是順序增加的,是則進入S45,否 則進入S44。
S44:如果所述新數(shù)據(jù)的TCP序號不是順序增加的,則表明有線路徑擁塞, HPEP應標記有線擁塞,隨后進入S45。
S45:緩存所述新數(shù)據(jù)并轉發(fā)給接收端。
J44:判斷所述TCPData分組的TCP序列號是否大于目前最近的確認序列 號,是則進入J45,否則進入S48。如果所述TCP Data分組的TCP序列號大于 目前最近的確認序列號,則可能是MBS到MH的下行無線路徑擁塞(例如TCP Data分組沒有到達)或無線鏈路有誤(例如TCP Data分組沒有正確到達MH), 也可能是MH的上行路徑擁塞導致ACK無法到達MBS 。
J45:判斷HPEP的狀態(tài)是否為S: Error,是則進入S46,否則進入J46。
S46: HPEP狀態(tài)為S二Error,表明下4亍無線路徑不擁塞,則轉發(fā)所述分組, 并增加代理模塊的本地重傳次數(shù)。
J46:判斷HEPE的狀態(tài)是否為S- Congestion,是則表示下行無線路徑擁 塞,此時HPEP不對所述分組做處理,否則表示上行無線路徑擁塞,進入S47。
S47: HPEP代替MH以高優(yōu)先級向CH發(fā)送新的ACK分組,以阻止TCP重傳。
S48:如果所述TCPData分組的TCP序列號小于目前最近的確認序列號, 證明MH已經(jīng)正確收到TCP Data分組,并且確認分組已經(jīng)發(fā)送到MBS,無線 路徑?jīng)]有擁塞,則應該標記有線擁塞,并進入S49。
S49:優(yōu)先向CH發(fā)送新的ACK分組。
接下來論述HPEP對ACK分組的處理。具體步驟參見圖5,對于執(zhí)行類步 驟,以S為首字母編號,對于判斷類步驟,以J為首字母編號。 S50: HPEP接收一個ACK分組,進入J50。
J50:判斷所述ACK分組是否是新的ACK分組,是則說明最近沒有數(shù)據(jù) 包發(fā)生丟失,進入S51,否則進入J51。
S51:釋放HPEP的緩存中已經(jīng)確認的數(shù)據(jù)包,更新無線路徑的RTTw的 估計值,進入J51。
地重傳,如果是則進入S52,否則進入S53。
S52:分組在HPEP的本地重傳會對數(shù)據(jù)傳輸層發(fā)送端的RTT( Round-Trip
Time,往返時間)的估計產(chǎn)生影響。為了避免這種影響,需要根據(jù)重傳次數(shù)
來修改ACK分組的TIMESTAMP。 RTT修正參數(shù)d的設定取決于本地重傳的次 數(shù),即本地超時的累加值,d=groRe',其中z是重傳的次數(shù),所述roj為本
地重傳定時器的各次超時值。HPEP對ACK分組的TIMESTAMP字段(rwm/) 進行修改得到7_/,排除所述影響,具體公式如下
修改TIMESTAMP后,進入S53。
19在修改TIMESTAMP后,可以對d的取值清零;也可以不進行清零,而在 進行新的TIMESTAMP修改時,把本地重傳定時器的第 一次次超時值roR 直 接覆蓋原來的d的值。
S53:向CH轉發(fā)ACK。
J52:判斷所述ACK分組是否是重復的ACK(DupACK, Duplicate ACK), 即所述ACK與前一個ACK是否相同,是則表明接收端沒有正確收到期待接收 的數(shù)據(jù)包,但后續(xù)的數(shù)據(jù)包被成功接收,于是進入J53,否則進入S54。
J5 3:判斷所述接收端沒有正確收到的期待接收的數(shù)據(jù)包是否存在于 HPEP的緩存中,是則進入J54,否則需要通知CH重傳所述數(shù)據(jù)包,于是進入 S54。
S54:向CH轉發(fā)所述ACK分組。
J54:判斷所述DupACK是否是第一個,即HPEP在收到所述DupACK之前 是否僅收到一個與之內(nèi)容相同的ACK,是則進入S56,否則進入S55。在接收 到第一個DupACK后,代理模塊就會計算可能到達的DupACK的最大數(shù)目, 這一數(shù)值為在正常傳送丟失的TCP Data分組之后到重傳丟失的TCP Data分組 之間傳送的所有TCP Data分組的數(shù)目。代理模塊也會計算當錯誤恢復之后期 待的ACK分組序列號的值,這等于在錯誤之前最新的ACK分組的序列號加1 。
S55:丟棄所述DupACK。當所述DupACK不是第 一個時,由于所述 DupACK對應的丟失的數(shù)據(jù)分組在第 一個DupACK到達時已經(jīng)重傳,所以無 需再次重傳。
S56: HPEP標記所述DupACK對應的TCP Data分組,以便在后續(xù)本地重 傳失敗的情況下,在無線路徑恢復后重傳所述標記的TCP Data分組。進入J55。 J55:判斷HPEP的狀態(tài)是否為S:Unavailable,是則表明當前無線路徑不可用,否則進入S57。
S57:通知數(shù)據(jù)傳輸層發(fā)送端HPEP進行本地重傳,隨后進入J56。所述 HPEP通知數(shù)據(jù)傳輸層發(fā)送端HPEP將進行本地重傳的具體做法為向數(shù)據(jù)傳輸 層發(fā)送端發(fā)送一個零窗口通告,數(shù)據(jù)傳輸層發(fā)送端在接收到這個零窗口通告 后將停止發(fā)送任何的數(shù)據(jù),并凍結所有的重傳定時器和擁塞窗口 ,以避免TCP 重傳引起重傳竟爭。然后HPEP等待數(shù)據(jù)傳輸層發(fā)送端的窗口探詢(Window Probe)消息,當HPEP接收到數(shù)據(jù)傳輸層發(fā)送端的第 一個零窗口探測消息(Zero Window Probe, ZWP)時發(fā)送一個窗口更新消息以-使得TCP的數(shù)據(jù)傳輸層發(fā)送 端繼續(xù)發(fā)送數(shù)據(jù),并向接收方抑制這個ZWP。
J56:判斷HPEP的狀態(tài)是否為S^:ongestion,是則表明無線路徑擁塞, 需要控制分組的發(fā)送速率,故進入S58,否則進入S59。
S58:減小發(fā)送窗口,如減半,以控制發(fā)送速率,進入S59。
S59:以高優(yōu)先級向MH重傳S56中標記的TCP Date分組。接收端在接收 到所述分組之前,每接收一個數(shù)據(jù)分組,都會返回一個DupACK,為了使重 復的ACK盡可能的少,需要以高優(yōu)先級將所述標記的TCP Date分組發(fā)送到接 收端。
需要說明的是,除了由ACK的類型和數(shù)目觸發(fā)的重傳,HPEP還執(zhí)行定
時溢出的重傳。當定時器溢出時,HPEP需要重傳連接中第一個未確認的數(shù)據(jù)
包,但是與TCP的定時溢出不同的是HPEP并沒有執(zhí)行慢啟動過程。HPEP本
地重傳定時器的超時值7^、,由HPEP到移動終端的"T^值來更新,收到新
ACK時,HPEP獲得無線段的^77^, ^&更新的方法與TCP類似的 si rrw = os/ r7; + (i -豐rz;D = "D + (1-〃)^r ,"和〃是平滑因子,建議值是0.8-0.9,典型值是7/8。
具體的重傳過程從S56開始執(zhí)行,與上述步驟一致。
HPEP需要維護的TCP上下文信息包括緩存的分組,本地發(fā)送窗口 PWND,最近的一個ACK分組,本地重傳定時器超時值,本地重傳的標志, 本地重傳的次數(shù)。在MBS發(fā)生切換時,需要把HPEP的TCP上下文信息作為切 換上下文轉發(fā)給新的MBS。如果MBS支持MIH( Media Independent Handover, 媒體無關的切換),則可以利用MIH的信息服務進行交互。
通過應用本發(fā)明實施例的方法,所述HPEP通過跨層服務收集MAC層/物 理層PHY層,IP層和TCP層的信息,分析模塊根據(jù)所述信息獲取路徑信息, 控制模塊根據(jù)路徑信息標記路徑狀態(tài),在檢測到數(shù)據(jù)丟包時,通過與鏈路層 重傳和本地重傳的協(xié)調(diào),本地重傳與TCP重傳的協(xié)調(diào),向數(shù)據(jù)傳輸層發(fā)送端 屏蔽無線段的影響,避免了不必要的TCP重傳。
本發(fā)明具體實施例公開了 一種無線多跳網(wǎng)絡擁塞的控制方法。所述方法 為在無線中繼網(wǎng)場景下的處理方法。在無線中繼網(wǎng)絡中,MH和對等主才幾CH 的TCP協(xié)議采用現(xiàn)有協(xié)議。在CH至MH方向,采用傳統(tǒng)的TCP協(xié)議,在MH至 CH方向,采用SACK確認(Selective Acknowledgment,選擇性確認)。HPEP的 系統(tǒng)模型如圖6所示。
位于MAC層的收集模塊收集鏈路的信息,包括鏈路的信號強度RSSI , ARQ的參數(shù)等,并在MAC幀被成功接受或丟棄緩存幀時上報事件。
控制模塊根據(jù)收集模塊的上報信息,在無線段的往返時間內(nèi)對路徑的連 接度和誤碼率進行統(tǒng)計,并監(jiān)測路徑的擁塞度,從而獲得路徑信息,并據(jù)此 調(diào)整Proxy和MAC的處理。
221) 路徑擁塞度的獲取
為了獲取路徑的擁塞度,需要知道瓶頸鏈路的帶寬,傳統(tǒng)上可以利用相
鄰TCP ACK分組來獲取,但由于接收端可能采用延遲發(fā)送ACK,因此這種方 法準確率不高。在無線中繼網(wǎng)絡中,每個中間節(jié)點知道自己的緩存隊列的隊 列長度,但MBS不知道,需要信令交付和中間節(jié)點做相應的修改,擴展性不 強。本發(fā)明采用ZWP探測的方法,HPEP向MS發(fā)送ZWP探測包對Z。、 zi。設 探測包Z。、 ^返回的時間間隔為A'=""—且已知Z。、 Zi大小相等均為丄,, 則可以求出的端到端帶寬的樣本,即瓶頸帶寬的樣本
ff —丄,
進行低通平滑,得平滑的瓶頸帶寬 i i
其中"為平滑因子,取值為2/21。
路徑擁塞度為
—尸^ VD x ^ze — —丑"x j 7Tmin / i r7;
其中,^^min為路徑最小的往返時延,可近似為分組在路徑中沒有排隊時 延的^主返時間。
2) 路徑誤碼率的獲取
每收到TCP的ACK分組時,HPEP在RTTw時間內(nèi),對MBS的重傳才莫塊
發(fā)送的MAC分組進行統(tǒng)計采樣,設發(fā)送的總數(shù)為每次收到MS的MAC 的ACK分組時,統(tǒng)計成功發(fā)送的MAC分組,設為&",/,則路徑的釆樣誤碼 率為平滑的路徑誤碼率為
= (1-t7)五/t"-1 +五《-二) 其中〃為平滑因子,取值為2/21。
代理模塊負責對TCP Data分組和ACK分組進行處理,當檢測到來自MH 的分組丟失時,采用SACK進行選擇性確認,通知MH只對丟失的分組進行重 傳。當檢測來自CH的分組丟失時,根據(jù)無線段的路徑信息,進行本地重傳或 路徑選擇。
在IEEE802.16j的無線中繼網(wǎng)絡中,MAC重傳才莫塊的ARQ重傳有 END-to-END, Two-link和Hop-by-Hop三種模式。不管哪種方式,MBS發(fā)送分 組后,如果沒有收到MH的ACK,在ARQ—BLOCK LIFE—TIME時間后,都會 丟棄分組,這時,需要HPEP超時進行TCP分組重傳;如果收到下游中繼節(jié)點 的R-ACK,則等待MH的ACK,如果收到MH的N-ACK( No-ACK,報錯ACK), 則丟棄分組,等待HPEP超時重傳。在中繼鏈路和接入鏈路,如果MH的上游 節(jié)點收到N-ACK或ARQ—RETRY—TIMEOUT超時,則上游節(jié)點進行MAC層重 傳。
為了減少重傳的時延,MAC層重傳模塊上報ARQ—BLOCK LIFE—TIME 和N-ACK事件,通過事件觸發(fā),HPEP可以及時進行本地的TCP分組傳輸。
為了避免HPEP的本地重傳和MAC層重傳模塊的ARQ重傳的沖突,避免 不必要的HPEP重傳,HPEP需要設置ARQ—BLOCK LIFE—TIME的值小于HPEP 重傳定時器的超時值776^。
需要說明的是,所述HPEP的具體運作步驟與前一實施例類同,此處不再
通過應用本發(fā)明實施例的方法,所述HPEP通過位于MAC層的收集模塊
24收集和分析鏈路信息,由控制模塊獲取路徑信息,調(diào)整代理模塊和MAC層的 重傳模塊的參數(shù),在出現(xiàn)丟包時,分級做出處理,向數(shù)據(jù)傳輸層發(fā)送端屏蔽 無線段的影響,避免了不必要的TCP重傳和本地重傳。
本發(fā)明具體實施例公開了 一種無線多跳網(wǎng)絡擁塞的控制方法。所述方法 為在HPEP具有i某體無關切換功能(MIHF, Media Independent Handover Function )的場景下的處理方法。
如圖7所示,具有MIHF的HPEP安裝在MBS節(jié)點上,移動主機MH具有 MIHF, HPEP依賴于MIHF提供的鏈路信息,包括連接信息,誤碼信息和重傳 信息,由控制模塊獲得路徑的連接度和誤碼率,并根據(jù)鏈路的重傳信息,設 置重傳模塊的重傳時間參數(shù);控制模塊根據(jù)探測機制,可以獲得路徑的擁塞 度。
HPEP的控制模塊通過MIHF的命令服務MIH—Event—Subscribe.request注 冊MIHF的鏈路狀態(tài)事件MAC and PHY State Change events,注冊鏈路參數(shù)事 件Link Parameter events和鏈路傳輸事件,從而可以獲得鏈路是否可用,信號 強度RSS, BER和分組傳輸是否成功的信息,從而得到鏈路的連接度和誤碼 率。擴展MIHF的事件服務,HPEP注冊MAC層重傳模塊的ARQ—BLOCK LIFE—TIME和N-ACK事件,以便代理模塊及時啟動本地重傳。擴展MIHF的 命令服務,控制模塊向MAC層重傳模塊設置ARQ的重傳時間值ARQ一BLOCK LIFE—TIME,使ARQ—BLOCK LIFE—TIME的值應當小于r0Re ,以避免沒有必 要的本地重傳。
可選的,控制模塊也可以通過擴展MIHF的命令服務,使用MIHF的命令 服務MIH—Link—Get—Pammeters直接獲得鏈路的相關信息。
需要說明的是,所述HPEP的具體運作步驟與前一實施例類同,此處不再贅述。
通過應用本發(fā)明實施例的方法,所述HPEP通過MIHF收集鏈路信息,由 控制模塊獲取路徑信息,通過擴展MIHF的事件注冊調(diào)整代理模塊和MAC層 的重傳模塊的參數(shù),在出現(xiàn)丟包時,分級做出處理,向數(shù)據(jù)傳輸層發(fā)送端屏 蔽無線段的影響,避免了不必要的TCP重傳。
本發(fā)明實施例公開了一種無線多跳網(wǎng)絡擁塞的控制裝置。如圖8所示,所 述裝置包括分析模塊、接收模塊、控制模塊、代理模塊,其中
一種無線多跳網(wǎng)絡擁塞的控制裝置,包括分析模塊、接收模塊、控制模 塊、代理模塊,其中
所述分析模塊用于根據(jù)無線多跳網(wǎng)絡的鏈路信息,分析出無線多跳網(wǎng)絡 的路徑信息;
所述接收模塊用于接收來自無線路徑接收端的確認通知ACK分組; 所述控制模塊用于根據(jù)所述分析模塊提供的路徑信息標記無線路徑狀態(tài) 為可用Available、不可用Unavailable、擁塞Congestion或出4晉Error,若所述無 線路徑狀態(tài)不是不可用Unavailable,則指令所述代理模塊以高優(yōu)先級對接收 模塊接收到的第 一個重復的確認通知Dup ACK所對應的傳輸層數(shù)據(jù)TCP Data分組進行本地重傳,并將本地重傳事件通知數(shù)據(jù)傳輸層發(fā)送端;
所述代理模塊用于根據(jù)控制模塊的指令進行本地重傳。代理模塊用于 根據(jù)控制模塊的指示進行本地重傳。
可選的,所述控制模塊還可以用于設定MAC層重傳模塊的自動重傳請求 ARQ的定時器的超時值。
可選的,所述控制模塊還可以用于指示MAC層進行路徑重選。
可選的,所述裝置還可以包括第二接收模塊、第二控制模塊和發(fā)送模塊,
26其中
所述第二接收模塊用于接收來自數(shù)據(jù)傳輸層發(fā)送端的傳輸層數(shù)據(jù)TCP Data分組;
所述第二控制模塊用于根據(jù)所述無線路徑狀態(tài),標記所述第二接收模塊 接收到的所述TCP Data分組、或者指令所述發(fā)送模塊向無線路徑接收端轉發(fā) 所述TCP Data分組、或者指令所述發(fā)送模塊向數(shù)據(jù)傳輸層發(fā)送端回復確認通 知ACK分組;
所述發(fā)送模塊用于根據(jù)所述第二控制模塊的指令,向無線路徑接收端發(fā) 送TCPData分組或者向數(shù)據(jù)傳輸層發(fā)送端發(fā)送ACK分組。第二發(fā)送模塊用 于根據(jù)所述控制模塊的指令,向無線路徑接收端發(fā)送TCP Data分組或者向數(shù) 據(jù)傳輸層發(fā)送端發(fā)送ACK分組。
可選的,所述裝置還可以包括一個收集模塊用于收集無線多跳網(wǎng)絡的 鏈路信息,將所述鏈路信息發(fā)送給所述分析模塊;
所述分析模塊接收來自所述收集模塊的鏈路信息,根據(jù)所述鏈路信息, 分析出無線多跳網(wǎng)絡的路徑信息。
所述收集模塊可以位于MAC層獨立存在,也可以是有MIHF的功能模塊。
通過應用本發(fā)明實施例的裝置,所述分析模塊獲取路徑信息,控制模塊 根據(jù)所述信息標記路徑狀態(tài),根據(jù)無線路徑的不同情況狀態(tài),對TCPData分 組進行處理,在丟包時指示MAC層進行路徑重選或指示代理模塊進行本地重 傳,向數(shù)據(jù)傳輸層發(fā)送端屏蔽無線段的影響,避免了不必要的TCP重傳,通 過設置MAC層重傳模塊的自動重傳請求ARQ的定時器的超時值,還能避免不 必要的本地重傳。 通過應用本發(fā)明實施例公開的方法和裝置,跨層管理功能模塊HPEP可以獲取路徑信息,并根據(jù)所述信息標記無線路徑狀態(tài),根據(jù)無線路徑的不同情
況狀態(tài),對TCPData分組進行處理,在丟包時指示MAC層進行路徑重選或指 示代理模塊進行本地重傳,向數(shù)據(jù)傳輸層發(fā)送端屏蔽無線段的影響,避免了 不必要的TCP重傳,通過設置MAC層重傳模塊的自動重傳請求ARQ的定時器 的超時值,還能避免不必要的本地重傳。
以上實施例僅用以說明本發(fā)明的技術方案,而非對其限制;盡管參照前 述實施例對本發(fā)明進行了詳細的說明,本領域的普通技術人員應當理解其 依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分技術 特征進行等同替換;而這些修改或者替換,并不使相應技術方案的本質(zhì)脫離 本發(fā)明各實施例技術方案的精神和范圍。
權利要求
1、一種無線多跳網(wǎng)絡擁塞的控制方法,其特征在于,該方法包括獲取無線多跳網(wǎng)絡的路徑信息,根據(jù)所述無線多跳路徑信息標記無線路徑狀態(tài)為可用Available、不可用Unavailable、擁塞Congestion或出錯Error;接收來自無線路徑接收端的確認通知ACK分組,若所述標記的無線路徑狀態(tài)不是Unavailable,則以高優(yōu)先級對第一個重復的確認通知Dup ACK所對應的傳輸層數(shù)據(jù)TCP Data分組進行本地重傳;將所述本地重傳事件通知數(shù)據(jù)傳輸層發(fā)送端。
2、 如權利要求l所述的方法,其特征在于,進一步包括 接收來自數(shù)據(jù)傳輸層發(fā)送端的TCPData分組,根據(jù)無線路徑狀態(tài),標記所述TCPData分組,或者向無線路徑接收端轉發(fā)所述TCP Data分組,或者向 數(shù)據(jù)傳輸層發(fā)送端回復確認通知ACK分組。
3、 如權利要求l所述的方法,其特征在于,在所述獲取無線多跳網(wǎng)絡的路徑信息之前還包括預設無線路徑狀態(tài)為 可用Available,設置向無線路徑接收端轉發(fā)所述TCP Data分組的發(fā)送窗口值 PWND與數(shù)據(jù)傳輸層發(fā)送端的擁塞窗口值CWND相等。
4、 如權利要求3所述的方法,其特征在于,所述標記無線路徑狀態(tài)為 判斷無線路徑是否中斷;如果無線路徑未中斷,則繼續(xù)判斷無線路徑擁塞度是否大于擁塞閾值1 , 無線路徑誤碼率是否大于誤碼閾值1;如果無線路徑擁塞度大于擁塞闊值l或無線路徑誤碼率大于誤碼閾值l, 則繼續(xù)判斷無線路徑是否存在多徑路由;如果無線路徑擁塞度大于擁塞閾值l或無線路徑誤碼率大于誤碼閾值l, 并且存在多徑路由,或者如果無線路徑中斷,則啟動TCP的零窗口機制并標記無線路徑狀態(tài)為不可用Unavailable;如果路徑擁塞度大于擁塞閾值1或路徑誤碼率大于誤碼閾值1,但是不存 在多徑路由,或者路徑擁塞度不大于擁塞閾值l且路徑誤碼率不大于誤碼閾值 1,繼續(xù)判斷路徑擁塞度是否大于擁塞閾值2,是則標記無線路徑狀態(tài)為擁塞 Congestion,否則繼續(xù)判斷路徑誤碼率是否大于誤碼閾值2,是則標記無線標 記^各徑狀態(tài)為出4昔Error。
5、 如權利要求4所述的方法,其特征在于,進一步包括 若中斷的無線路徑恢復,則修改廣告窗口AWND的取值,向數(shù)據(jù)傳輸層發(fā)送端發(fā)送針對最后一個成功接收的零窗口探測包的確認包或者來自無線路 徑接收端的最新的ACK分組,標記無線路徑狀態(tài)為可用Available,設置向所 述無線路徑接收端轉發(fā)所述TCP Data分組的發(fā)送窗口值PWND與數(shù)據(jù)傳輸層 發(fā)送端的擁塞窗口值uCWND相等。
6、 如權利要求5所述的方法,其特征在于,所述修改廣告窗口AWND的 取值為根據(jù)無線路徑帶寬和跨層管理功能模塊HPEP的緩存區(qū)大小修改廣告 窗口AWND的取值。
7、 如權利要求4所述的方法,其特征在于,所述路徑信息中的路徑擁塞 度的具體獲取方式為HPEP向無線路徑接收端發(fā)送ZWP探測包對z。 、 zi;設探測包Z。、 Zi返回的時間間隔為A(="'i—"'。,且已知Z。、 Zi大小相等。" —均為A,,則瓶頸帶寬的樣本為 A(;進行低通平滑,得平滑的瓶頸帶寬 d —、 — 〃 d 5 、誦pfe ,,",其中 〃 為平滑因子,取值為i ;路徑擁塞度為P,Dx&e」" ,其中,^TT,為路徑最小的往返時延。
8、 如權利要求4所述的方法,其特征在于,所述路徑信息中的路徑誤碼 率的具體獲取方式為每次收到數(shù)據(jù)傳輸層發(fā)送端的ACK分組時,HPEP對移動基站MBS的重傳模塊發(fā)送的MAC分組進行統(tǒng)計采樣,設發(fā)送的總數(shù)為《。"'";每次收到TCP接收端的MAC的ACK分組時,統(tǒng)計成功發(fā)送的MAC分組,3各4圣的釆才羊i吳石馬率為五廳:—e =1 _ S 證",S"'她';平滑的路徑誤碼率為五廳"=(1-"^廣、f(丑《—"《二),其中"為平滑因子,取值為2/21。
9、 如權利要求4所述的方法,其特征在于,所述擁塞閾值2小于擁塞閾值 1,所述誤碼閾值2小于誤碼閾值1。
10、 如權利要求4所述的方法,其特征在于,所述的方法進一步包括 若無線路徑中斷是由切換引起的,則等待路徑恢復,否則指示鏈路層MAC層進行路徑重選。
11、 如權利要求2所述的方法,其特征在于,標記所述TCPData分組具體 為若無線路徑狀態(tài)為Unavailable,則標記所述TCP Data分組。
12、 如權利要求2所述的方法,其特征在于,在所述向無線路徑接收端轉 發(fā)所述TCP Data分組之前進一步包括發(fā)送此前標記且未成功發(fā)送的TCP Data分組。
13、 如權利要求12所述的方法,其特征在于,若無線路徑狀態(tài)為 Congestion,則發(fā)送所述之前標記且未成功發(fā)送的分組時減小發(fā)送窗口 。
14、 如權利要求l所述的方法,其特征在于,在進行所述本地重傳之前進 一步包括標記所述第一個重復的確認通知Dup ACK所對應的TCP Data分組。
15、 如權利要求l所述的方法,其特征在于,在進行所述本地重傳時如果 無線路徑狀態(tài)為Congestion,則減小發(fā)送窗口 。
16、 如權利要求l所述的方法,其特征在于,如果所述接收的來自無線路 徑接收端的ACK分組為新的ACK分組,且所述ACK分組對應的TCP Data分組 經(jīng)過了所述本地重傳,則修改所述ACK分組的TIMESTAMP字段的值z;^為乙"</,具體公式為所述修正參數(shù)d的值為本地超時的累加值,即(1=;7^^,其中Z是重傳的次數(shù),所述rcC為本地重傳定時器的各次超時值。
17、 如權利要求2所述的方法,其特征在于,所述向數(shù)據(jù)傳輸層發(fā)送端回 復確認通知ACK分組具體為判斷所述接收的來自數(shù)據(jù)傳輸層發(fā)送端的TCP Data分組時是否是新數(shù)據(jù);若所述TCP Data分組不是新數(shù)據(jù),則判斷所述TCP Data分組的序列號是 否大于最新的ACK分組序列號;若所述TCP Data分組的序列號不大于最新的ACK分組序列號,或者大于 最新的ACK分組序列號且無線路徑狀態(tài)不為Error,則向數(shù)據(jù)傳輸層發(fā)送端回 復新的ACK分組。
18、 如權利要求17所述的方法,其特征在于,若在所述TCP Data分組的 序列號不大于最新的ACK分組序列號的條件下向數(shù)據(jù)傳輸層發(fā)送端回復新 的ACK分組,則回復所述ACK分組之前進一步包括標記有線路徑擁塞。
19、 如權利要求l所述的方法,其特征在于,所述獲取無線多跳網(wǎng)絡的路 徑信息具體為跨層管理功能模塊HPEP通過跨層服務收集無線多跳網(wǎng)絡的鏈 路信息;分析所述鏈路信息獲取所述路徑信息。
20、 如權利要求l所述的方法,其特征在于,所述獲取無線多跳網(wǎng)絡的路 徑信息具體為跨層管理功能模塊HPEP通過位于MAC層的收集模塊收集無 線多跳網(wǎng)絡的鏈路信息;分析所述鏈路信息獲取所述路徑信息。
21、 如權利要求l所述的方法,其特征在于,所述獲取無線多跳網(wǎng)絡的路 徑信息具體為跨層管理功能模塊HPEP通過應用媒體無關切換功能模塊 MIHF的MIH—Event—Subscribe.request命令,注冊MIHF的鏈路狀態(tài)事件、鏈路 參數(shù)事件和鏈路傳輸事件,收集無線多跳網(wǎng)絡的鏈路信息;分析所述鏈路信息獲取所述路徑信息。
22、 如權利要求l所述的方法,其特征在于,所述獲取無線多跳網(wǎng)絡的路 徑信息具體為跨層管理功能模塊HPEP通過應用媒體無關切換功能模塊 MIHF的MIH—Link—Get—Parameters命令,收集無線多跳網(wǎng)絡的鏈路信息;分 析所述鏈路信息獲取所述路徑信息。
23、 如權利要求l所述的方法,其特征在于,在進行所述本地重傳之前進 一步包括設置鏈路MAC層的重傳模塊的自動重傳請求ARQ的定時器的超時 值ARQ—BLOCK LIFE—TIME小于本地重傳定時器的超時值roRe 。
24、 一種無線多跳網(wǎng)絡擁塞的控制裝置,包括分析模塊、接收模塊、控制模塊、代理模塊,其中所述分析模塊用于根據(jù)無線多跳網(wǎng)絡的鏈路信息,分析出無線多跳網(wǎng)絡的路徑信息;所述接收模塊用于接收來自無線路徑接收端的確認通知ACK分組; 所述控制模塊用于根據(jù)所述分析模塊提供的路徑信息標記無線路徑狀態(tài) 為可用Available,不可用Unavailable、擁塞Congestion或出錯Error,若所述無 線路徑狀態(tài)不是不可用Unavailable,則指令所述代理模塊以高優(yōu)先級對接收 模塊接收到的第 一 個重復的確認通知Dup ACK所對應的傳輸層數(shù)據(jù)TCP Data分組進行本地重傳,并將本地重傳事件通知數(shù)據(jù)傳輸層發(fā)送端; 所述代理模塊用于根據(jù)控制模塊的指令進行本地重傳。
25、 如權利要求24所述的裝置,其特征在于,所述控制模塊還用于指示 鏈路層MAC層進行路徑重選。
26、 如權利要求24所述的裝置,其特征在于,所述裝置還包括第二接收 模塊、第二控制模塊和發(fā)送模塊,其中所述第二接收模塊用于接收來自數(shù)據(jù)傳輸層發(fā)送端的傳輸層數(shù)據(jù)TCP Data分組;所述第二控制模塊用于根據(jù)所述無線路徑狀態(tài),標記所述第二接收模塊 接收到的所述TCP Data分組、或者指令所述發(fā)送模塊向無線路徑接收端轉發(fā) 所述TCP Data分組、或者指令所述發(fā)送模塊向數(shù)據(jù)傳輸層發(fā)送端回復確認通 知ACK分組;所述發(fā)送模塊用于根據(jù)所述第二控制模塊的指令,向無線路徑接收端發(fā) 送TCP Data分組或者向數(shù)據(jù)傳輸層發(fā)送端發(fā)送ACK分組。
27、 如權利要求24所述的裝置,其特征在于,所述裝置還包括收集模塊用于收集無線多跳網(wǎng)絡的鏈路信息,將所述鏈路信息發(fā)送給所述分析模塊;所述分析模塊接收來自所述收集模塊的鏈路信息,根據(jù)所述鏈路信息, 分析出無線多跳網(wǎng)絡的路徑信息。
全文摘要
本發(fā)明實施例公開了一種無線多跳網(wǎng)絡擁塞的控制方法和裝置,以根據(jù)無線路徑狀態(tài)信息,在丟包時進行本地重傳,并將所述重傳通知數(shù)據(jù)傳輸層發(fā)送端,避免不必要的TCP重傳。所述方法包括獲取無線多跳網(wǎng)絡的路徑信息,根據(jù)所述無線多跳路徑信息標記無線路徑狀態(tài)為可用、不可用、擁塞或出錯;接收來自無線路徑接收端的確認通知ACK分組,若所述標記的無線路徑狀態(tài)不是不可用,則以高優(yōu)先級對第一個重復的確認通知Dup ACK所對應的傳輸層數(shù)據(jù)TCP Data分組進行本地重傳;將所述本地重傳事件通知數(shù)據(jù)傳輸層發(fā)送端。
文檔編號H04L12/56GK101631065SQ20081006856
公開日2010年1月20日 申請日期2008年7月16日 優(yōu)先權日2008年7月16日
發(fā)明者莊宏成 申請人:華為技術有限公司