• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      無線網絡TCP擁塞控制算法研究綜述

      2015-07-03 11:49:13陳金超謝東亮
      軟件 2015年1期
      關鍵詞:重傳無線網絡數據包

      陳金超 謝東亮

      摘要:隨著WiFi,3G網絡和無線設備的普及,無線通信傳輸數據亮不斷增加。對無線網絡數據傳輸的性能要求也不斷加大。TCP作為現今internet網絡主要傳輸控制協議之一,在IP層基礎上為應用層提供面向連接的、可靠的數據傳輸服務。TCP在有線網絡中已經證明可以取得良好的傳輸性能,然而在無線網絡中(蜂窩網絡、Ad hoc網絡和衛(wèi)星網絡等)由于無線信道具有高衰減、高比特誤碼率的特點等因素導致TCP傳輸性能衰弱。目前國內外學者已經提出了各種不同的方法來提高無線網絡中TCP性能,本文著重討論在蜂窩網絡、wifi網絡下提升無線TCP性能的解決方案,對比標準TCP協議,分析造成無線網絡TCP性能下降的主要原因以及各無線網絡TCP解決方案的性能。

      關鍵詞:無線網絡;WiFi;3G;TCP;性能優(yōu)化

      中圖分類號:TP393.0

      文獻標識碼:A

      0 引言

      隨著無線網絡和無線設備的普及,無線通信傳輸數據量愈來愈大。TCP作為面向連接的、可靠的、端到端的數據傳輸控制協議,其在無線網絡中的性能要求也越來越高。TCP通過窗口、序列號、重傳定時器、確認等技術實現TCP的流量控制、差錯控制以及擁塞控制,以此保證數據的可靠傳輸。雖然標準TCP在有線網絡中能很好地工作,但是在無線網絡中的性能很差。為了能在無線網絡中有效地使用TCP,就必須對標準TCP進行優(yōu)化。雖然國內外學者已經提出了各種不同的方法來提高無線網絡中TCP性能,但是幾乎所有的方法都是針對某個特定問題,沒有一個方法可以解決所有問題。本文在接下來章節(jié)的分別介紹了TCP協議的基本概念,影響無線網絡TCP性能的主要因素,無線TCP協議改進的主要方案,以及各種方案間性能的分析對比。

      1 TCP傳輸控制協議

      TCP協議在Internet體系結構中的位置相當于OSI(open systems interconnection)模型中的第4層如圖1所示,在不可靠的IP層基礎上為應用層提供一個可靠的、按序傳輸、端到端的數據包傳輸服務。TCP假定網絡中的丟包是由于網絡擁塞引起的,并通過擁塞控制算法使網絡不斷進行自我調節(jié),從而達到自我均衡的狀態(tài),TCP經過幾十年的研究,不斷自我完善,主要有以下版本,Tahoe,Reno,NewReno,Sack,Vegas下面我們將詳細介紹TCP協議的發(fā)展以及TCP協議在無線網絡中的問題。

      1.1TCP協議的發(fā)展

      TCP Tahoe通過檢測丟失的報文段來探測網絡擁塞并調整發(fā)送速率從而實現了擁塞控制。Tahoe的擁塞控制算法包括慢啟動,擁塞避免和快速重傳。快速重傳階段,發(fā)送端只要一連收到3個重復的ACK即可斷定有分組丟失了,就應立即重傳丟失的報文段,而不必等到重傳計時器超時,而窗口調整同超時一樣將窗口調為初始狀態(tài)。然而,當分組報文丟失并不是網絡擁塞引起是由于鏈路暫時斷開或者隨機誤差導致時,Tahoe的快速重傳時將擁塞窗口降為初始狀態(tài)導致無法充分利用網絡帶寬。

      TCP RENO增加了“快速恢復”(Fast Recovery)算法,避免了網絡擁塞不嚴重時采用“慢啟動”算法而造成過大的減小發(fā)送窗口尺寸的現象。發(fā)送端收到三個重復ACK時,就重新按照“乘法減小”重新設置ssthresh擁塞窗口不設為1MSS,而設為ssthresh+3xMSS若收到重復ACK為n個(n>3),cwnd將設為ssthresh+nxMSS若發(fā)送窗口值還允許發(fā)送報文段,就按照擁塞避免算法繼續(xù)發(fā)送報文段若收到了新的報文段的ACK,將cwnd縮到ssthresh。

      NewReno是對TCPReno版本的修改。NewReno跟Reno在只有一個數據包遺失的情況下,其機制是一樣的。NewReno主要修改了Reno的Fast-recovery算法??紤]了一個發(fā)送窗口內多個報文丟失的情況。在Reno快速恢復算法中,當發(fā)送方收到一個不重復的應答后就退出快速恢復狀態(tài),而Newreno算法中,只有當所有報文都被應答后才退出快速恢復狀態(tài)。

      NewReno在Fast-recovery算法中加入了Partial ACK機制,當同時有多個packet丟失時,在收到Partial ACK時,并不會立即結束Fast-recovery,相反,NewReno的發(fā)送端會持續(xù)地重送Partial ACK之后的數據包,直到將所有遺失的數據包重送后才結束Fast-recovery,減少大量數據包遺失對傳輸效果造成的影響。

      Sack是TCPReno版本的修改。加入了SACK選項,允許接收端在返回Duplicate ACK時,將已經收到的數據區(qū)段(連續(xù)收到的數據范圍)返回給傳送端,傳送端可以知道哪些數據包是已經收到的,哪些是該重送的,因此SACK的傳送端可以在一個RTT時間內重送一個以上的數據包。彌補了NewReno在每個RTT時間只能一個數據包遺失的錯誤。更有效地處理大量數據包遺失的問題。

      TCP Vegas利用RTT值的改變來判斷網絡是否擁塞,從而調整擁塞控制窗口。如果發(fā)現RTT大于閾值β,Vegas就認為網絡正在發(fā)生擁塞,于是開始減小擁塞窗口,如果RTT小于閾值α,Vegas認為網絡擁塞正在逐步解除,于是再次增加擁塞窗口。由于Vegas不是利用丟包來判斷網絡可用帶寬,而是利用RTT變化來判斷,因而可以更精確的探測網絡的可用帶寬,從而效率更好。然而由于網絡中路由器只要緩沖了數據,就會造成RTT的變大,如果緩沖區(qū)沒有溢出的話,并不會發(fā)生擁塞,但是由于緩存數據就會導致處理時延,從而RTT變大,在這種情況下,TCP Vegas降低自己的擁塞窗口,但是只要沒有丟包的話,從上面看到標準的TCP是不會降低自己的窗口的,于是兩者開始不公平,從而導致采用TCP Vegas的流的帶寬競爭力不及未使用TCP Vegas的流。

      1.2TCP協議在無線網絡中的問題

      所有上述TCP協議的不足之處是,他們都沒有考慮無線網絡環(huán)境的特性,即數據包丟失并不一定意味著擁塞。然而,大多數的無線數據應用(如FTP,網絡,遠程登錄,組播等)使用TCP作為默認傳輸層的協議,因為它們需要實現可靠和保證交付的數據。但是TCP在無線環(huán)境下要達到正常的吞吐量已經面臨了巨大的瓶頸。以下無線網絡特征對TCP性能已經造成重要影響:

      (1)高比特誤碼率:由于無線網絡的鏈路是有損介質,由于信道干擾,多徑衰弱等原因無線網絡鏈路相比于傳統(tǒng)的有線網絡具有很高的比特誤碼率。從而導致數據包損壞甚至丟包,使得發(fā)送端出現超時、重傳數據包,并啟動擁塞控制降低TCP的性能。

      (2)錯誤的丟包探測機制:標準TCP不能區(qū)分不同類型的錯誤(隨機丟包、擁塞丟包等),它把任何丟包都看做擁塞丟包并啟動擁塞控制,而不管網絡是否處于擁塞狀態(tài),導致TCP性能下降。

      (3)無線鏈路帶寬:因為無線鏈路的帶寬有限,結點可能只能使用很少的帶寬,甚至沒有帶寬可以使用,導致發(fā)送端超時和信息丟失的時間增多。

      (4)區(qū)域切換:蜂窩網絡中,移動結點在蜂窩之間切換過程中有一個信號消失階段。在這個階段,移動節(jié)點與蜂窩基站失去聯系不能接收到任何發(fā)送端的數據,造成發(fā)送端超時。TCP發(fā)送端會誤認為這個階段丟失的數據包是擁塞造成的,會重傳這些數據并啟動擁塞控制,導致TCP性能下降。

      (5)延遲的不可預測性:由于移動用戶隨意移動,與基站的距離各不相同,導致不同的時間延遲。這種不可預測的延遲同樣影響TCP擁塞判定準確性。

      (6)能量受限:移動設備是電池供電,因此不能承受過多的重傳,也就是說TCP不是一種能量高效的傳輸協議。

      2無線TCP協議改進

      2.1分段連接方案

      2.1.1I-TCP

      I-TCP中涉及到以下節(jié)點實體:移動主機(FH)、固定主機(MH)和移動支持路由器(MSR)。移動支持路由器和有線網絡直接相連。I-TCP將發(fā)送者和接收者之間的TCP連接在基站處分為兩個部分:發(fā)送者到基站的有線連接和基站到移動主機的無線連接。當MH向FH發(fā)起TCP連接,MSR建立并使用MH的IP地址與端口號的socket同FH建立TCP連接,同時建立并使用MSR自身IP地址和相同端口號的socket同MH通信。MSR緩存所有由FH發(fā)向MH的數據包和ACK。如下圖,當MH由于移動發(fā)生切換時,新的MSR建立同原MSR相同的倆個socket,同時原MSR將緩存的數據包和ACK發(fā)給新的MSR繼續(xù)通信。

      2.1.2M-TCP

      M-TCP是一種分段連接的方法,它的體系結構可以這被看作三層。在最低層移動主機(MH)和每個蜂窩的基站通信;多個基站由一個監(jiān)視主機控制;最上層是SH和固定主機FH通信。與I-TCP中基站一旦收到FH的數據即發(fā)送確認不同,M-TCP中只有當收到來自MH的確認時才發(fā)送確認到FH,從而維持了TCP端到端的特性。另外M-TCP還采用了零窗口通告機制,通過檢測發(fā)往無線節(jié)點的數據包和ACK包的變化來判斷無線鏈路的狀態(tài),并通過發(fā)送窗口為0的ACK包使得固定節(jié)點的TCP協議進入保持狀態(tài),從而使TCP連接不會由于無線鏈路的誤碼而中斷。因此可以有效處理無線鏈路上發(fā)生的丟包。然而M-TCP的缺點是基站的任務過于復雜。

      2.1.3METP

      METP在無線鏈路中使用較小的報頭的數據報文取代TCP報文,METP使用標準TCP協議完成BS與FH間通信功能,BS緩存FH的數據包,同時在無線鏈路使用較小的頭的分組來減少了帶寬要求和誤差概率。METP還利用的鏈路層的ACK和重傳,使丟失的數據包快速地在無線鏈路中恢復。METP接收端定期發(fā)送反饋包通知METP發(fā)送端,接收端緩沖區(qū)空間大小,可以減少由于在接收端緩沖區(qū)溢出導致的丟包。然而METP不能有效的處理頻繁斷開的情況,因為它有非常高的切換延遲,當發(fā)生切換時舊的BS中的所有緩沖分組必須被移動到新的BS中。

      2.1.4總結

      這類方案有將移動主機(MH)和固定主機(FH)間的TCP連接在基站處分成兩段(MH到基站的無線段和基站到FH的有線段),在有線和無線鏈路段分別采取不同的擁塞控制策略,有線鏈路段使用標準TCP;無線鏈路段則采用適于無線環(huán)境的改進協議,有線鏈路傳輸速度速度快且誤碼率低,而無線鏈路速度依然很慢(相對于有線鏈路而言),并且容易受到噪聲干擾和信道衰落的影響。在同時包含有線和無線兩種鏈路的網絡中對這兩種性能相差很多的鏈路使用同樣的流量控制和擁塞控制,無線鏈路顯然會成為系統(tǒng)性能的瓶頸,將其分開進行處理有利于提高鏈路的利用率,但這類方案破壞了TCP連接的端對端語義,且需要修改移動主機和中間結點的TCP協議。

      2.2端到端連方案

      2.2.1Freeze-TCP

      Freeze-TCP用于解決主機移動所引起的丟包,Freeze-TCP的思想是讓移動主機監(jiān)測無線信號的能量,并檢測出即將發(fā)生的主機切換事件,當切換即將發(fā)生時,移動主機向發(fā)送者發(fā)送一個通告窗口為零的反饋,從而迫使發(fā)送者進入零窗口探測模式,在零窗口探測模式中,發(fā)送者不會改變它的擁塞窗口和超時計時器的時長,一旦切換操作結束,移動主機連接到新的子網,它向發(fā)送者發(fā)送連接中斷前最后接收到數據的3個重復ACK,以便使發(fā)送者能夠解除零窗口探測模式并迅速發(fā)送數據,使用Freeze-TCP后,發(fā)送者可以在切換結束后立即使用原來的窗口重新發(fā)送數據,Freeze-TCP提高了TCP在切換時的性能。

      2.2.2TCP WESTWOOD

      TCP Westwood采用了帶寬估計思想,發(fā)送端通過觀察返回ACK的時間間隔,估計端到端鏈路上的可利用帶寬。TCPW在慢啟動和擁塞避免階段的窗口增長方式沒有改變,仍然與標準TCP相同。當檢測到網絡擁塞時通過帶寬估計值來設置擁塞窗口和慢啟動閾值,從而避免了與傳統(tǒng)擁塞控制機制一樣采用保守的策略大幅度減小擁塞窗口和慢啟動閾值。TCPW通過對帶寬的準確估計,當發(fā)生擁塞時使用與當時有效網絡帶寬相一致的慢啟動閾值和擁塞窗口值充分利用重傳之后的網絡資源。

      2.2.3TCP VENO

      TCP-veno是一種端至端的擁塞控制機制,它可以有效地處理隨機分組丟失。它利用類似Vegas的機制來估計連接的狀態(tài),并應用TCP-reno的AIMD方案。它通過感知網絡擁塞級別調節(jié)慢啟動的閥值,而非固定的減半。VENO采用Vegas的方法計算中間路由節(jié)點隊列積壓值,并根據隊列積壓值判斷網絡是否擁塞。如果檢測到分組丟失時,且網絡處于擁塞狀態(tài)時,veno將丟包視為擁塞丟包;否則,視為隨機丟包。

      2.2.4總結

      Westwood,veno嘗試計算可用帶寬的估計值來計算擁塞窗口和慢開始閾值,試圖選擇與網絡擁塞時網絡有效帶寬相一致的慢速啟動閾值和擁塞窗口。Freeze-TCP通過凍結重傳定時器和擁塞窗口防止切換引起的超時和窗口減半。然而實現Freeze-TCP,網絡協議棧需要知道主機的移動性。MH必須在一個RTT內預測即將發(fā)生斷線;否則,性能將退化為標準TCP。

      2.3顯示通知方案

      2.3.1ECN

      ECN(Explicit Congestion Notification),采用RED算法通過對數據報設置ECN比特來標識網絡發(fā)生擁塞?;舅枷胧牵寒斅酚善靼l(fā)生在早期擁塞時,不是丟棄分組,而是盡量對分組進行標記。ECN是由RFC2481推薦規(guī)范的。IPv4的IP頭標中的TOS域的第6、7位被設置為ECN域,第6位為ECT(ECN-CapableTransport)位,第7位為CE(CongestionExperienced)位。ECT位由數據發(fā)送方設定,協商網絡是否支持ECN功能(ECT=1,支持;ECT=0,不支持)。CE位由路由器設定,通告終端節(jié)點網絡的緩存已經快溢出(CE=1,有擁塞;CE=0,緩存工作正常),接收方接收到帶有ECT的分組后,馬上返回帶有ECN-echo的ACK通知發(fā)送方網絡已經發(fā)生擁塞,從而控制發(fā)送速率。

      2.3.2ELN

      ELN(Explicit Loss Notification),為提高無線網絡的TCP性能,一般將長的TCP連接分割成幾段短的連接,即Split TCP或者TCP Spoofing,用ELN方法來通知發(fā)送方目前的分組丟失與網絡擁塞無關,相應的,發(fā)送方的擁塞控制機制就削減為簡單的重傳機制,避免不必要的降低吞吐量。接收方知道分組的丟失不是因為擁塞,則在TCP頭標中將相應的ELN位置位,并通過ACK將信息回傳給發(fā)送方。設置ELN的主要依據是由MAC層的循環(huán)冗余校驗CRC(CyclicRedundancy Check),當數據分組傳輸錯誤時,鏈路的本地重傳策略將重傳每個傳送失敗的分組,直到成功為止。在ELN中,鏈路層重傳超過一定次數后,將鏈路故障消息發(fā)送給傳輸層,也就是設置ELN標志位。ELN不再僅僅把分組丟棄,而是將帶有ELN標志位的數據發(fā)給接收方,通知高層當前網絡的鏈路特性。

      總結

      顯示通知是一種為發(fā)現網絡中出現的早期擁塞并提前采取措施來避免和控制擁塞的機制,通過低層通知TCP發(fā)送方目前網絡的擁塞狀況,使得TCP發(fā)送方能夠及早發(fā)現網絡擁塞,避免了路由器的緩存溢出,減小了丟包率,緩和網絡的擁塞,又保證網絡有較高的吞吐量。以上方法需要中間節(jié)點和終端主機都支持顯示通知機制。在所有的方法中,發(fā)送者通過網絡中的顯式反饋判斷當前丟包是由于網絡擁塞還是其它因素。從而防止錯誤地調用擁塞控制算法導致TCP性能的下降。

      2.4鏈路層重傳方案

      2.4.1snoop

      Snoop協議應用于在鏈路層,Snoop引人針對TCP數據包的ARQ機制,以解決無線信道上的比特差錯問題;當數據由SH向MH傳輸時,Snoop在基站的代理緩存數據包并轉發(fā)MH。Snoop通過兩種方法檢測數據包在無線信道上的丟失情況,一種是通過在鏈路層設置類似TCP的超時重傳計時器,另一種是在鏈路層檢測反向路徑是否出現DupACK。當第一次出現DupACK時,Snoop重發(fā)丟失的數據包,并且丟棄隨后的DupAcKs,當數據由MH向SH傳輸時,基站Snoop檢測收到的數據報文順序號是否不連續(xù),一旦發(fā)現不連續(xù),則通過顯式丟失通知ELN反饋移動主機需要重新發(fā)送的數據報文。

      2.4.2DDA

      DDA(Delayed Duplicate Acknowledgment),標準TCP中的快速重傳法雖然可以減輕切換造成的性能衰退,但對高誤碼率的情況效果不大,延遲重復確認法采用對重復確認進行延遲發(fā)送的機制,使發(fā)送端重傳丟包之前,無線鏈路層能進行局部重傳。該方法對時延帶寬值大的無線應用環(huán)境TCP性能有明顯改善。DDA通過BS重傳無線鏈路丟失的分組來屏蔽TCP層數據丟包,同時TCP接收端延遲發(fā)送第三個重復ACK,如果延遲足夠大,允許鏈路層在TCP接收端發(fā)送第三個重復ACK前重傳丟失的數據包,由于TCP發(fā)送方沒有收到兩個以上的重復ACK,它不會觸發(fā)快速重傳,從而保證TCP性能。

      2.4.3總結

      鏈路層重傳的方法獨立于TCP層協議,這些方案試圖通過鏈路層重傳減少無線鏈路的高誤碼率對TCP性能的影響,但不能處理移動切換及頻繁連接斷開導致的TCP協議調用擁塞控制算法。

      2.5性能分析對比

      由于不同無線TCP協議改進的目標各不相同,解決的問題也不相同,如無線鏈路高誤碼率,移動切換,頻繁斷開,能量受限等,因此對上述無線TCP協議做一個全面的比較并不容易。

      上述大多數無線TCP協議的保持了TCP端到端的語義同時高效解決無線鏈路高誤碼率的問題。部分協議針對無線環(huán)境下移動端點頻繁斷開與切換的問題。通過研究現有的協議,表明如果我們要設計一個高效的無線網絡TCP協議,該協議必須滿足可以檢測頻繁的斷線和切換事件。同時為了滿足兼容性問題,該協議必須滿足對現有協議進行較小的修改。所以修改MH端點的協議要好過修改FH端點的協議。由于無線路徑上誤碼率與數據包的大小成正比,所以也可以通過最小化數據包大小,降低無線網絡丟包問題。

      如果下層可以通知傳輸層TCP連接斷開或者MH進行蜂窩切換,MH可以通過探測beacon信號強度,來預測即將斷開或者切換的TCP連接。MH通過ACK數據包通知FH。FH暫時禁用擁塞控制策略(如定時器,指數退避,和所述傳輸窗口的緩慢生長)。當MH重新連接,它重復發(fā)送最后ACK并通知FH已經重新連接。此時,FH可被允許重新傳輸,并重啟擁塞控制算法,從而可以避免切換或連接斷開引起不必要的窗口降低。

      為了在TCP層實現實時切換和漫游,切換時延必須最小化,所以需要智能路由和緩沖技術。當移動主機檢測到即將發(fā)生斷線,它會通知BS,然后開始轉發(fā)傳入數據包到附近的基站。當切換完成后,新的BS開始發(fā)送緩沖的數據包。在無線網絡中采用基于RTT的擁塞控制算法可能并不準確,因為延遲在無線網絡中是隨機的,同時也可能由于節(jié)點的運動而產生波動。

      另一種檢測擁塞的方法是顯式通知,通過中間節(jié)點路由器控制網絡擁塞,當路由器緩存隊列趨于飽和,即擁塞即將發(fā)生,中間節(jié)點對隊列中數據包進行標記。接收端接收到明確網絡通知之后,采取適當的措施,以減少網絡中的數據包的數量。

      3 結論

      標準TCP將丟包作為網絡擁塞的標志,并調用擁塞控制和避免程序。而標準TCP不能將無線網絡中,信道干擾,切換,斷開等導致的丟包同擁塞丟包區(qū)分開。因此,標準TCP在無線環(huán)境下,性能明顯衰退。在本文中,我們對現有不同的解決方案進行了比較和分類,并已表明,沒有一個解決方案,滿足高效率的解決增無線網絡中TCP存在的所有問題。

      同時我們前面的討論清楚地表明,這是很難建立一個滿足所有要求的無線TCP擁塞控制算法。鏈路層重傳方案通過使用TCPSACK和鏈路層本地重傳,可以提供比其他方案顯著性能改進。在顯示通知方案中,ECN和ELN是最常用的方案。如果端到端之間的路由頻繁變更的話,ELN的性能將優(yōu)于ECN。在分段連接的方法中,雖然TCP性能的增加,但代價是破壞端到端的語義,同時占用BS的大量緩存,增加了BS的負載。端至端方案中,主要是通過估計帶寬的可用值判斷無線網絡的丟包是否是擁塞導致,沒用解決無線網絡高BER和區(qū)域切換的問題。因此如何跟全面高效的解決無線網絡TCP性能的問題依然值得研究。

      猜你喜歡
      重傳無線網絡數據包
      濾波器對無線網絡中干擾問題的作用探討
      SmartSniff
      面向異構網絡的多路徑數據重傳研究?
      無線網絡的中間人攻擊研究
      TD-LTE無線網絡高層建筑覆蓋技術研究與應用
      移動通信(2015年17期)2015-08-24 08:13:12
      數據鏈路層的選擇重傳協議的優(yōu)化改進
      基于Libpcap的網絡數據包捕獲器的設計與實現
      視覺注意的數據包優(yōu)先級排序策略研究
      MPTCP中一種減緩緩存阻塞的重傳策略
      電視技術(2013年17期)2013-01-31 05:23:48
      數說無線網絡:覆蓋廣 流量大 均衡差
      通信世界(2012年36期)2012-07-16 08:51:46
      东乌珠穆沁旗| 盘山县| 瑞安市| 江城| 本溪| 高平市| 扶沟县| 永泰县| 治多县| 阜宁县| 南开区| 如皋市| 宣武区| 乐至县| 海门市| 香港 | 扶绥县| 平罗县| 大宁县| 祁门县| 南溪县| 海南省| 永川市| 崇左市| 巴南区| 英德市| 津市市| 婺源县| 崇义县| 江都市| 开鲁县| 金平| 股票| 仁布县| 安岳县| 洪泽县| 汉沽区| 吴旗县| 长葛市| 棋牌| 常宁市|