一種基于友好性的平行數據傳輸窗口機制的制作方法
【專利摘要】本發明提出了一種基于友好性的平行數據傳輸窗口機制,解決多路并行傳輸在資源共享的網絡中因過度占用帶寬而引起的TCP不友好的公平性問題。流控制傳輸協議的擁塞控制都是路徑獨立的,無法從整體上對多路傳輸的速率進行了解和控制。基于此,本發明設計了一個多路徑友好窗口,在會話范圍內模擬TCP的擁塞控制。將友好窗口值與活動路徑總擁塞窗口值進行比較,判斷當前帶寬占用情況是否合理,若超出一定范圍,則進行相應的擁塞窗口增加或減少的調整,從而保證數據傳輸的效率和友好性。通過基于友好性的平行數據傳輸窗口機制,能夠在不過度損害多路徑數據傳輸效率的同時有效減小其對傳統單路徑傳輸的侵略性,獲得穩定的網絡性能。
【專利說明】一種基于友好性的平行數據傳輸窗口機制
【技術領域】
[0001]本發明涉及通訊【技術領域】,通訊數據傳輸技術。具體涉及在SCTP CMT與非多路徑傳輸協議共享資源的網絡中,對SCTP會話設置友好窗口機制以實現友好的多路并行傳輸。
【背景技術】
[0002]隨著互聯網的蓬勃發展以及人們對網絡的依賴,傳統單一的有線網絡接入方式已經不能滿足人們的需求,3G、Wifi、WiMAX等網絡接入技術的興起可為用戶提供隨時隨地的互聯網接入。同時,越來越多的網絡終端設備存在兩個或者兩個以上的網絡接口,并擁有更強的數據處理能力以及通信功能。多種接入網全面覆蓋以及終端多接口技術使得多路并行傳輸CMT (Concurrent Multipath Transfer)成為可能。多路并行傳輸能夠充分利用網絡資源,提供更大的帶寬;當某條路徑的傳輸錯誤較多時,可以在其他路徑上恢復數據傳輸;在移動無線環境中,多路徑數據傳輸還可以實現無縫切換,提供穩定的網絡服務。總之,CMT具有較好的帶寬聚合能力、容錯性以及穩定性,為用戶提供高質量的網絡服務。
[0003]流控制傳輸協議SCTP (Stream Control Transmission Protocol)是 IETF 在2000年提出的一種新的傳輸層協議,SCTP能夠提供類似于TCP的數據傳輸服務,并利用現代IP網絡更強大的性能支持一些特性,具有比TCP更優的傳輸性能。SCTP支持多宿主(Multihoming)特性,可以利用終端設備的多接口實現多路徑數據傳輸。在最初形成的標準中,SCTP僅僅利用初始路徑進行數據傳送,其余路徑都作為冗余路徑,用于處理重傳或者在初始路徑連接失敗時備用。然而,多接口終端設備的迅速發展,促進了對多路徑并行數據傳輸的需求。CMT-SCTP在SCTP上擴展了 CMT功能,能夠同時使用多條路徑進行數據傳輸,充分利用網絡資源,獲得更大的帶寬。
[0004]由于80%甚至更多的傳輸層協議都是使用TCP的,為了在互聯網上獲得更好的兼容性,新的傳輸層協議的設計需要保證其TCP友好性。當在擁塞環境下,數據流的行為與TCP流類似,且能與其他數據流合理共享帶寬時,該數據流可認為具有TCP友好性。由于CMT-SCTP分別在每條路徑上獨立執行類似于TCP的擁塞控制,多路并行數據傳輸總的發送速率將會是同等條件下TCP的幾倍。在各路徑不相交的情況下,該擁塞控制是非常有效的。但是在CMT與單路徑傳輸協議(如TCP )的多條路徑共享網絡瓶頸時,CMT將會侵略性地占用過多帶寬資源,不具有TCP友好的公平性。同時,由于IP網絡的的路由是無連接的,該網絡瓶頸在無固定拓撲的網絡(如Internet)中并無法檢測。如果該不公平性非常突出且不受控制,CMT將會霸占網絡,擠壓在網絡中普及的TCP流,導致網絡癱瘓。當網絡資源嚴重不足時,控制CMT的流量,防止其侵略性,保證其對共存的單路徑流的友好性是十分必要的。
[0005]TCP友好的公平性被廣泛認可為傳輸層協議的性能指標。IETF提出的TFRC(TCP-Friendly Rate Control)宣稱具有合理的公平性,但其僅僅是將擁塞窗口設為固定值,適合電話應用和流媒體傳輸,對CMT并不適用。Wischik提出資源池RP (ResourcePooling)理論,將其應用到MPTCP中并證實RP可以在增加吞吐量的同時具有公平性。Dreibholz等人成功地將RP應用到CMT-SCTP中。但是,這種基于RP的公平性可能會帶來過量的約束并阻止了發送速率的有效增長,使帶寬并沒有得到合理的利用。
[0006]
【發明內容】
一權利要求書部分
[0007]有鑒于此,本發明提出了一種基于友好性的平行數據傳輸窗口機制,模擬TCP(Reno)的擁塞控制,設計了一個友好窗口,將其與會話的實際發送速率做對比,進行友好公平性的維護。本發明設計了一個多路徑友好窗口維護算法,為整個SCTP會話定義了友好窗口 fwnd和門限值fthresh,模擬TCP的擁塞控制,維護fwnd和fthresh的值。同時設計了一個多路徑友好窗口調整算法,將fwnd與路徑總擁塞窗口值做對比,根據理論的友好窗口值與實際的擁塞窗口值之間的差異,進行擁塞窗口獎勵/懲罰決策,保證數據傳輸的效率和友好性。本發明能夠有效地判斷多路并行傳輸的整體資源占用情況是否具有侵略性,智能地調整窗口,將多路徑傳輸的擁塞窗口總和限制在一個合理的范圍內,消除多路并行傳輸對傳統單路徑傳輸的侵略性,同時保證多路徑并行傳輸的效率,維護網絡的整體性能。
[0008]I、一種基于友好性的平行數據傳輸窗口機制,其步驟包括:
[0009]a)基于模擬TCP擁塞控制的多路徑友好窗口維護算法。為整個SCTP會話定義一個友好窗口 fwnd和門限值fthresh,模擬TCP的cwnd和ssthresh執行擁塞控制算法;
[0010]b)多路徑友好窗口調整算法。包括窗口獎勵算法和窗口懲罰算法,將fwnd的值限制在一個與SCTP會話總擁塞窗口有關的區間范圍內。保證SCTP平行數據傳輸的效率和友好性。
[0011]2、如權利要求I所述的基于模擬TCP擁塞控制的多路徑友好窗口維護算法,其特征在于:
[0012]a)模擬TCP的擁塞控制算法,為整個SCTP會話定義一個友好窗口 fwnd和門限值fthresho Fwnd在收到數據包的確認時逐步增長,由fthresh決定執行慢開始或者擁塞避免算法;在網絡擁塞時,執行快速重算法傳或者超時重傳算法;
[0013]b)為每條路徑設置懲罰計數器fcount。當路徑發生不同的活動時,如路徑變為不活動的、發生快速重傳或者超時重傳,對fcount進行不同的處理(例如加上不同的數值),該計數器值值用于后續的調整算法。
[0014]3、如權利要求I所述的多路徑友好窗口調整算法,其特征在于:
[0015]a)窗口獎勵算法。設置獎勵系數α,當SCTP會話的總擁塞窗口值小于α · fwnd時,執行窗口獎勵算法,給予所有活動路徑的cwnd值額外的增長,保證數據傳輸的效率;
[0016]b)窗口懲罰算法。設置懲罰系數β,當SCTP會話的總擁塞窗口值大于β · fwnd時,執行窗口懲罰算法,選取fcount值最大的路徑,采取類似于快速重傳算法減小門限值和窗口值,修改fcount并禁止該路徑在一段時間內的數據分配。若仍有SCTP會話的總擁塞窗口值大于β · fwnd,則繼續選擇下一條路徑進行懲罰,從而保證平行數據傳輸的友好性。
[0017]本發明具有如下技術效果:
[0018]I、在本發明中,保持SCTP原有的每條路徑上獨立執行的擁塞控制,另為整個SCTP會話建立了一個新的友好窗口,模擬TCP的擁塞控制。在友好窗口在全局上把握數據傳輸速率,進行公平性維護的同時,又保證每條路徑的獨立性。
[0019]2、在本發明中,設置懲罰計數器fcount。,對路徑發生的不同活動(如路徑變為不活動的、發生快速重傳或者超時重傳)定義不同的影響值,當路徑發生某活動時,fcount累加相應的影響值。該計數器的值能夠客觀反應路徑的不穩定性,fcount值越大路徑越不穩定,在進行路徑懲罰時用于懲罰路徑的選取。
[0020]3、在本發明中,設計了窗口獎勵算法和窗口懲罰算法。將總擁塞窗口控制在一定范圍之內,低于或高于該范圍時采用相應的窗口獎勵算法或者懲罰算法,進行負載平衡,保證平行數據傳輸的效率和友好性。
【專利附圖】
【附圖說明】
[0021]圖1為本發明平行數據傳輸窗口機制的整體框架;
[0022]圖2為多路徑友好窗口維護算法流程圖;
[0023]圖3為多路徑友好窗口調整算法流程圖;
【具體實施方式】
[0024]為使本發明的技術手段、創作特征、達成目的與功效便于理解,下面將結合附圖及具體實施例對本發明進行詳細闡述。
[0025]1、系統整體框架圖
[0026]為了解決由于多路并行傳輸過多地霸占路徑資源而導致對單路徑傳輸的不友好性,本發明提出了一種基于友好性的平行數據傳輸窗口機制。如圖1所示,即為本發明的整體框架。其主要包括友好窗口維護算法以及由窗口獎勵算法、窗口懲罰算法組成的友好窗口調整算法。多路徑友好窗口在SCTP會話建立時,由活動路徑擁塞窗口初始值的總和初始化,之后由友好窗口維護算法進行維護。在會話進行過程中,一旦有活動路徑的擁塞窗口發生變化,則總擁塞窗口值得到更新。基于獎勵系數、懲罰系數和多路徑友好窗口,得到一個窗口范圍,將其與只能夠擁塞窗口進行對比,若總擁塞窗口值在該范圍之內,則無需進行窗口調整;若總擁塞窗口值低于或者超過該窗口范圍,則對路徑擁塞窗口進行相應的的窗口獎勵算法或者窗口懲罰算法。
[0027]2、基于模擬TCP擁塞控制的多路徑友好窗口維護算法
[0028]與直接修改擁塞窗口機制不同,本發明模擬TCP的擁塞控制,為整個SCTP會話定義了一個多路徑友好窗口 fVnd及其門限值fthresh,執行TCP的擁塞控制算法,并盡可能少地改動單路徑的擁塞控制算法。在CMT-SCTP會話建立時,初始化fwnd為所有活動路徑擁塞窗口初始值的總和,fthresh為擁塞窗口門限值:
[0029]fwnd = fwnd+n.cwnd (init)
[0030]fthresh = ssthresh (init) (I)
[0031] 在數據傳輸過程中,如果不活動路徑i變為活動路徑,則在fwnd的基礎上增加相應路徑的擁塞窗口值。如果活動路徑i變為不活動的,則從fVnd中減少路徑i的擁塞窗口值。即fwnd跟隨活動路徑的變動而變動:
[0032]fwnd = fwnd 土 cwnd (2)
[0033]當活動路徑i的擁塞窗口值增長Δ cwnd時,由fthresh判斷fwnd執行慢開始算法還是擁塞避免算法。若fwnd < fthresh,則fwnd執行慢開始算法,cwnd正常增加相應的Δ cwnd ;反之,fwnd≥fthresh, fwnd執行擁塞避免算法,這里需要注意的是,為了預防cwnd的過快增長,此時cwnd并不進行的正常的增長,而是只增加Acwnd值的1/n。[0034]當路徑i因為擁塞而發生快速重傳時,fwnd執行快速重傳算法,門限值變為當前友好窗口值的一半,同時fwnd減小到門限值:
[0035]fthresh = max(fwnd/2, η.cwnd(init))
[0036]fwnd = fthresh (3)
[0037]當路徑i發生超時重傳時,fwnd執行超時重傳算法,門限值變為當前友好窗口值的一半,同時fwnd變為初始值:
【權利要求】
1.一種基于友好性的平行數據傳輸窗口機制,其步驟包括: a)基于模擬TCP擁塞控制的多路徑友好窗口維護算法。為整個SCTP會話定義一個友好窗口 fwnd和門限值fthresh,模擬TCP的cwnd和ssthresh執行擁塞控制算法; b)多路徑友好窗口調整算法。包括窗口獎勵算法和窗口懲罰算法,將fwnd的值限制在一個與SCTP會話總擁塞窗口有關的區間范圍內。保證SCTP平行數據傳輸的效率和友好性。
2.如權利要求1所述的基于模擬TCP擁塞控制的多路徑友好窗口維護算法,其特征在于: a)模擬TCP的擁塞控制算法,為整個SCTP會話定義一個友好窗口fwnd和門限值fthresho Fwnd在收到數據包的確認時逐步增長,由fthresh決定執行慢開始或者擁塞避免算法;在網絡擁塞時,執行快速重算法傳或者超時重傳算法; b)為每條路徑設置懲罰計數器fcount。當路徑發生不同的活動時,如路徑變為不活動的、發生快速重傳或者超時重傳,對fcount進行不同的處理(例如加上不同的數值),該計數器值值用于后續的調整算法。
3.如權利要求1所述的多路徑友好窗口調整算法,其特征在于: a)窗口獎勵算法。設置獎勵系數α,當SCTP會話的總擁塞窗口值小于α.fwnd時,執行窗口獎勵算法,給予所有活動路徑的cwnd值額外的增長,保證數據傳輸的效率; b)窗口懲罰算法。設置懲罰系數β,當SCTP會話的總擁塞窗口值大于β^fwnd時,執行窗口懲罰算法,選取fcount值最大的路徑,采取類似于快速重傳算法減小門限值和窗口值,修改fcount并禁止該路徑在一段時間內的數據分配。若仍有SCTP會話的總擁塞窗口值大于β.fwnd,則繼續選擇下一條路徑進行懲罰,從而保證平行數據傳輸的友好性。
【文檔編號】H04L12/807GK103841043SQ201410124205
【公開日】2014年6月4日 申請日期:2014年3月28日 優先權日:2014年3月28日
【發明者】許長橋, 張宏科, 關建峰, 黎卓峰, 唐曼, 王目, 黃輝 申請人:北京郵電大學