專利名稱:一種sctp主路徑自動切換方法
技術領域:
本發(fā)明屬于通信技術領域,尤其涉及一種SCTP主路徑自動切換方法。
背景技術:
SCTP (STREAM CONTROL TRANSMISSION PROTOCOL,流控制傳輸協(xié)議)具有多宿的特性,在一個偶聯(lián)中建立多個路徑連接,選擇其中一個作為主路徑進行數(shù)據傳輸,其他路徑作為備份冗余。當主路徑發(fā)生故障時,SCTP選擇一條備選路徑替換原主路徑成為新主路徑,這一機制被稱為SCTP主路徑自動切換。在主路徑發(fā)生故障時,主路徑自動切換能夠在一定程度上提高數(shù)據的傳輸效率,提高偶聯(lián)的可靠性。然而,由于在標準SCTP中,主路徑自動切換只在主路徑發(fā)生故障時才進行,即使 主路徑性能遠遠低于備選路徑,主路徑自動切換也不能夠進行,這使得整個偶聯(lián)的鏈路不能得到充分利用,限制了偶聯(lián)的資源利用率的提高。在基于時延的SCTP主路徑自動切換方法中,路徑性能的評價僅僅考慮了時延一項性能指標,根據單一性能指標進行主路徑自動切換,容易因路徑性能判斷錯誤而導致錯誤的切換,從而導致“乒乓效應”(即主路徑從一個路徑切換到另一個路徑,在短時間內又切換回來,甚至短時間內在兩個路徑間頻繁切換),進而會限制數(shù)據傳輸效率的提高。為了能夠全面地評價路徑性能,在考慮路徑的時延時,往往還要考慮路徑的寬帶和丟包率。名稱為《基于自適應濾波的往返時延預測方法》,申請?zhí)枮?01010034533. 3的發(fā)明專利申請給出了使用自適應濾波算法提高往返時延預測準確度的方法,參照該方法可以使用自適應濾波算法對帶寬和丟包率進行高準確度的預測,在此基礎上,根據每條路徑的時延、帶寬和丟包率全面地評價路徑的性能指標成為可能。本發(fā)明針對現(xiàn)有技術對路徑性能評價不全面,進而導致路徑傳輸效率低的問題,首先預測各備選路徑時延、帶寬和丟包率等性能指標;然后將預測得到的性能指標應用到路徑綜合性能評價方法中,比較主路徑和備選路徑的性能優(yōu)劣,根據綜合性能評價方法進行主路徑自動切換;最后根據SCTP主路徑自動切換的特點,優(yōu)化路徑切換周期內的擁塞控制和數(shù)據重傳機制,提高數(shù)據傳輸效率。本發(fā)明能夠在主路徑性能明顯低于備選路徑性能的情況下實現(xiàn)主路徑自動切換,從而達到提高數(shù)據傳輸效率,提高偶聯(lián)資源利用率的目的。
發(fā)明內容
本發(fā)明的目的在于,針對常用的SCTP主路徑自動切換方法沒有綜合考慮主路徑性能與備選路徑性能,導致傳輸過程中資源利用率不高的問題,提出一種全新的SCTP主路徑自動切換方法,用以解決上述問題。為實現(xiàn)上述目的,本發(fā)明提供的技術方案是,一種SCTP主路徑自動切換方法,其特征是所述方法包括步驟I :初始化參數(shù),具體是設定主路徑的時延初值、帶寬初值和丟包率初值,設定每條備選路徑的時延初值、帶寬初值和丟包率初值,設定路徑綜合性能評價參數(shù)值,設定路徑綜合性能評價閾值;步驟2 :預測王路徑和每條備選路徑的時延;步驟3 :計算并預測主路徑和每條備選路徑的帶寬和丟包率;步驟4 :計算每條備選路徑的綜合性能評價值;具體利用公式
RTT Bj, LE.= a——EIL+ β^+γ^ ,
J RTTJlt μ Bpn Ualt其中,是備選路徑j的綜合性能評價值,RTTpri是主路徑的時延,Bph是主路徑的帶寬,Lph是主路徑的丟包率,ATTji是備選路徑j的時延,巧&是備選路徑j的帶寬,是備 選路徑j的丟包率,j = 1,2,. . .,η,η為備選路徑的個數(shù),α、β和Y分別為路徑綜合性能評價參數(shù),且O ( a ^ 1,0 ^ β彡1,0彡Y彡I, α +β + y = I ;步驟5 :將每條備選路徑的綜合性能評價值分別與路徑綜合性能評價閾值進行比較,如果所有備選路徑的綜合性能評價值都大于路徑綜合性能評價閾值,則返回步驟2 ;否貝U,執(zhí)行步驟6;步驟6 :在綜合性能評價值小于等于路徑綜合性能評價閾值的備選路徑中,選擇綜合性能評價值最小的備選路徑替換主路徑,執(zhí)行主路徑自動切換。所述步驟6之后包括執(zhí)行擁塞控制和/或重傳避免。所述執(zhí)行擁塞控制具體是,在主路徑自動切換后,將主路徑擁塞控制窗口調整為 Cwndnew,將主路徑慢啟動閾值設置為 ssthreshnew ;其中,Cwndnew = max (kX cwndold, 2),ssthreshnew = max (kX ssthreshold, 2), Cwndnew是主路徑自動切換后的主路徑擁塞控制窗口,Cwndtjld是主路徑自動切換前的主路徑擁塞控制窗口,ssthresh-是主路徑自動切換后的主路徑慢啟動閾值,ssthreshold是主路徑自動切換前的主路徑慢啟動閾值,k是調整系數(shù),k = cosEj, Ej是切換成為主路徑的備選路徑的綜合性能評價值,j為切換成為主路徑的備選路徑的編號,cos為余弦函數(shù)。所述執(zhí)行重傳避免具體包括步驟101 :在執(zhí)行主路徑自動切換時,記錄當前時刻Uange ;步驟102 :當主路徑自動切換后,設定主路徑發(fā)送的第一個數(shù)據包的序列號為TSNmw,主路徑發(fā)送的第一個數(shù)據包的時刻為tsmd ;步驟103 :當收到數(shù)據包丟失消息時,記錄丟失數(shù)據包的序列號TSN和當前時刻
^lost '令 t — tiost ^send7 ΠΙΘΓ — χ03 tchange步驟104 :判斷TSN < TSNnew是否成立,如果TSN < TSNnew,則執(zhí)行步驟105 ;如果TSN彡TSNnew,執(zhí)行步驟108 ;步驟105 :判斷t > timer+RTT是否成立,如果t > timer+RTT,則執(zhí)行步驟106 ;否貝U,執(zhí)行步驟107 ;其中,RTT是主路徑自動切換前,主路徑預測得到的最后一個往返時延;步驟106 :由主路徑自動切換后的主路徑重傳數(shù)據包,執(zhí)行步驟109 ;步驟107 :忽略數(shù)據包丟失消息,執(zhí)行步驟109 ;步驟108 由主路徑自動切換后的主路徑重傳數(shù)據包;步驟109 :結束。本發(fā)明綜合比較主路徑和備選路徑時延、帶寬的丟包率等性能指標,計算各備選路徑綜合性能評價值,依據路徑綜合性能評價值進行主路徑自動切換,解決了 SCTP主路徑性能明顯低于備選路徑時不能進行主路徑自動切換的問題,提高了數(shù)據傳輸效率和偶聯(lián)可靠性。
圖I是SCTP主路徑自動切換方法流程圖; 圖2是執(zhí)行重傳避免的流程圖。
具體實施例方式下面結合附圖,對優(yōu)選實施例作詳細說明。應該強調的是,下述說明僅僅是示例性的,而不是為了限制本發(fā)明的范圍及其應用。圖I是SCTP主路徑自動切換方法流程圖。圖I中,本發(fā)明提供的方法包括 步驟I :初始化參數(shù)。首先設定主路徑的時延初值RTTph, init、帶寬初值Β_, init和丟包率初值Lph, init。其次,為了描述方便,本實施例設定備選路徑只有兩條,分別為備選路徑I和備選路徑2。設定備選路徑I的時延初值、帶寬初值和丟包率初值。設定備選路徑2的時延初值ATTji,_、帶寬初值A2wrai和丟包率初值。接下來,設定路徑綜合性能評價參數(shù)值。用于計算路徑綜合性能的參數(shù)包括α、β和Y,且0彡a ^ 1,0 ^ β彡1,0彡Y ^ I, α +β + y = I0本實施例中,設定α =O. 5,β = O. 4,Y = O. I。最后,設定路徑綜合性能評價閾值D = O. 85。步驟2 :預測王路徑和每條備選路徑的時延。使用SCTP原有RTT (Round-Trip Time,往返時延)預測機制或者背景技術中指出的RTT預測方法,根據ACK(Acknowledgement,確認)數(shù)據包中的RTT值預測各路徑時延。從而得到主路徑的時延RTTph、備選路徑I的時延ATTjft和備選路徑2的時延ATTji。步驟3 :計算并預測主路徑和每條備選路徑的帶寬和丟包率。定義路徑最近一個RTT時間內傳輸數(shù)據量同時間比值為當前路徑帶寬,定義路徑最近一個RTT時間內數(shù)據包丟失數(shù)量和發(fā)送數(shù)據包數(shù)量比值為當前路徑丟包率。根據以上定義計算并根據背景技術中指出的預測方法對帶寬和丟包率進行預測,從而得到主路徑的帶寬Bph、主路徑的丟包率Lph,備選路徑I的帶寬、備選路徑I的丟包率Z1aft、備選路徑2的帶寬式1和備選路徑2的丟包率為Z2aft。步驟4 :計算每條備選路徑的綜合性能評價值。利用公式
D rJirJ173 jTEf=a——β^+y^
LW'tojjr pi jj
1^1 1 altn priLah計算備選路徑I和2的綜合性能評價值。本實施例中,j = 1,2, Ej是備選路徑j的綜合性能評價值,RTTpri是主路徑的時延,Bpri是主路徑的帶寬,Lpri是主路徑的丟包率,ATTji是備選路徑j的時延,是備選路徑j的帶寬,是備選路徑j的丟包率,α、β和Y分別為路徑綜合性能評價參數(shù),其值已經在步驟I初始化參數(shù)時設定。
步驟5 :將每條備選路徑的綜合性能評價值分別與路徑綜合性能評價閾值D進行比較,如果所有備選路徑的綜合性能評價值都大于路徑綜合性能評價閾值D,則返回步驟2;否則,執(zhí)行步驟6。本步驟實際就是比較Ej (j = 1,2)與路徑綜合性能評價閾值D = O. 85的大小。當備選路徑I和備選路徑2的綜合性能評價值都大于設定閾值D = O. 85時,說明所有備選路徑的性能都不理想,不執(zhí)行主路徑自動切換,將當前的主路徑的時延、帶寬和丟包率作為主路徑的時延初值、帶寬初值和丟包率初值。將當前的備選路徑I的時延、帶寬和丟包率作為備選路徑I的時延初值、帶寬初值和丟包率初值;將當前的備選路徑2的時延、帶寬和丟包率作為備選路徑I的時延初值、帶寬初值和丟包率初值,并返回步驟2。當備選路徑I或者備選路徑2的綜合性能評價值小于等于設定閾值D = O. 85時,說明有些備選路徑的性能已經超過了主路徑,此時執(zhí)行步驟6。步驟6 :在綜合性能評價值大于路徑綜合性能評價閾值D的備選路徑中,選擇綜合 性能評價值最小的備選路徑替換主路徑,執(zhí)行主路徑自動切換。如果備選路徑I和備選路徑2的綜合性能評價值都小于設定閾值D = O. 85,則從備選路徑I和備選路徑2中選擇綜合性能評價值最小的那條備選路徑替換主路徑。比如,假設本實施例中,備選路徑I的綜合性能評價值小于備選路徑2中的綜合性能評價值,則選擇備選路徑I替換主路徑,執(zhí)行主路徑自動切換。步驟7 :執(zhí)行擁塞控制和重傳避免。由于新主路徑(執(zhí)行主路徑切換后的主路徑)性能優(yōu)于原主路徑(執(zhí)行主路徑切換前的主路徑),因此在切換后,新主路徑的慢啟動機制將限制數(shù)據傳輸效率的提高。為此,需要執(zhí)行擁塞控制改善新主路徑的數(shù)據傳輸效率。執(zhí)行擁塞控制具體是在主路徑自動切換后,將主路徑擁塞控制窗口調整為Cwndnew,將主路徑慢啟動閾值設置為 ssthreshnew ;其中,Cwndnew = max (k X cwndold, 2),ssthreshnew = max (kX ssthresold, 2), Cwndnew是主路徑自動切換后的主路徑擁塞控制窗口,Cwndold是主路徑自動切換前的主路徑擁塞控制窗口,ssthreshnew是主路徑自動切換后的主路徑慢啟動閾值,Ssthreshtjld是主路徑自動切換前的主路徑慢啟動閾值,k是調整系數(shù),k=cosEj, Ej是切換成為主路徑的備選路徑的綜合性能評價值,j為切換成為主路徑的備選路徑的編號,COS為余弦函數(shù)。由于主路徑自動切換后,新主路徑(切換成為主路徑的備選路徑)性能優(yōu)于原主路徑(執(zhí)行主路徑切換前的主路徑),新主路徑數(shù)據傳輸時延較低,將導致原主路徑已經發(fā)送但仍未到達的數(shù)據被認為已經丟失,最終導致新主路徑重傳。然而由于原主路徑絕大多數(shù)數(shù)據會在一定時間內到達,這將導致原主路徑已經傳輸?shù)词盏酱_認的大部分數(shù)據被不必要重傳。因此,需要執(zhí)行重傳避免以防止上述現(xiàn)象的發(fā)生。圖2是執(zhí)行重傳避免的流程圖,圖2中,重傳避免的執(zhí)行過程具體包括步驟101 :在執(zhí)行主路徑自動切換時,記錄當前時刻步驟102 :當主路徑自動切換后,設定主路徑發(fā)送的第一個數(shù)據包的序列號為TSNnew,主路徑發(fā)送的第一個數(shù)據包的時刻為tsmd。步驟103 :當收到數(shù)據包丟失消息時,記錄丟失數(shù)據包的序列號TSN和當前時刻tl0Sto 且令 t =
tlost ^send ΠΘΤ' ^lost ^change °
步驟104 :判斷TSN < TSNnew是否成立,如果TSN < TSNnew,則執(zhí)行步驟105 ;如果TSN彡TSNnew,執(zhí)行步驟108。步驟105 :判斷t > timer+RTT是否成立,如果t > timer+RTT,則執(zhí)行步驟106 ;否貝U,執(zhí)行步驟107 ;其中,RTT是主路徑自動切換前,主路徑預測得到的最后一個往返時延。步驟106 :由主路徑自動切換后的主路徑(即新的主路徑)重傳數(shù)據包,執(zhí)行步驟109。步驟107 :忽略數(shù)據包丟失消息,執(zhí)行步驟109。步驟108 :由主路徑自動切換后的主路徑(即新的主路徑)重傳數(shù)據包。步驟109 :結束。以上所述,僅為本發(fā)明較佳的具體實施方式
,但本發(fā)明的保護范圍并不局限于此, 任何熟悉本技術領域的技術人員在本發(fā)明揭露的技術范圍內,可輕易想到的變化或替換,都應涵蓋在本發(fā)明的保護范圍之內。因此,本發(fā)明的保護范圍應該以權利要求的保護范圍為準。
權利要求
1.ー種SCTP主路徑自動切換方法,其特征是所述方法包括 步驟I :初始化參數(shù),具體是設定主路徑的時延初值、帶寬初值和丟包率初值,設定每條備選路徑的時延初值、帶寬初值和丟包率初值,設定路徑綜合性能評價參數(shù)值,設定路徑綜合性能評價閾值; 步驟2 :預測主路徑和每條備選路徑的時延; 步驟3 :計算并預測主路徑和每條備選路徑的帶寬和丟包率; 步驟4 :計算每條備選路徑的綜合性能評價值;具體利用公式
2.根據權利要求I所述的SCTP主路徑自動切換方法,其特征是所述步驟6之后包括執(zhí)行擁塞控制和/或重傳避免。
3.根據權利要求2所述的SCTP主路徑自動切換方法,其特征是所述執(zhí)行擁塞控制具體是,在主路徑自動切換后,將主路徑擁塞控制窗ロ調整為cwndnOT,將主路徑慢啟動閾值設置為 sstnreshnew ;其中,Cwndnew = max (kX cwndold, 2), ssthreshnew = max (kX ssthreshold, 2),cwndnew是主路徑自動切換后的主路徑擁塞控制窗ロ,Cwndold是主路徑自動切換前的主路徑擁塞控制窗ロ,ssthreshnew是主路徑自動切換后的主路徑慢啟動閾值,ssthreshold是主路徑自動切換前的主路徑慢啟動閾值,k是調整系數(shù),k = cosEj, Ej是切換成為主路徑的備選路徑的綜合性能評價值,j為切換成為主路徑的備選路徑的編號,cos為余弦函數(shù)。
4.根據權利要求2所述的SCTP主路徑自動切換方法,其特征是所述執(zhí)行重傳避免具體包括 步驟101 :在執(zhí)行主路徑自動切換時,記錄當前時刻^hange ; 步驟102 :當主路徑自動切換后,設定主路徑發(fā)送的第一個數(shù)據包的序列號為TSNnOT,主路徑發(fā)送的第一個數(shù)據包的時刻為tsmd ; 步驟103 :當收到數(shù)據包丟失消息吋,記錄丟失數(shù)據包的序列號TSN和當前時刻t1()St ;令 t = tlost-tsend, timer = t lost ^change 步驟104 判斷TSN < TSNnew是否成立,如果TSN < TSNnew,則執(zhí)行步驟105 ;如果TSN≤TSNnew,執(zhí)行步驟108 ; 步驟105 :判斷t > timer+RTT是否成立,如果t > timer+RTT,則執(zhí)行步驟106 ;否則,執(zhí)行步驟107 ;其中,RTT是主路徑自動切換前,主路徑預測得到的最后ー個往返時延;步驟106 :由主路徑自動切換后的主路徑重傳數(shù)據包,執(zhí)行步驟109 ;步驟107 :忽略數(shù)據包丟失消息,執(zhí)行步驟109 ;步驟108 :由主路徑自 動切換后的主路徑重傳數(shù)據包;步驟109 :結束。
全文摘要
本發(fā)明公開了通信技術領域中的一種SCTP主路徑自動切換方法。包括初始化參數(shù);根據初始化參數(shù)預測主路徑和每條備選路徑的時延;計算并預測主路徑和每條備選路徑的帶寬和丟包率;計算每條備選路徑的綜合性能評價值;將每條備選路徑的綜合性能評價值分別與路徑綜合性能評價閾值進行比較,如果存在備選路徑的綜合性能評價值小于等于路徑綜合性能評價閾值,則在綜合性能評價值小于等于路徑綜合性能評價閾值的備選路徑中,選擇綜合性能評價值最小的備選路徑替換主路徑,執(zhí)行主路徑自動切換;最后,執(zhí)行擁塞控制和/或重傳避免。本發(fā)明依據路徑綜合性能評價值進行主路徑自動切換,提高了數(shù)據傳輸效率和偶聯(lián)可靠性。
文檔編號H04L12/56GK102801606SQ20121004622
公開日2012年11月28日 申請日期2012年2月24日 優(yōu)先權日2012年2月24日
發(fā)明者李國棟, 劉琳, 魏振華, 李凱, 李國粹, 靳鵬飛, 羅晗, 宋自立, 仇玨 申請人:華北電力大學