專利名稱:一種多路徑并行傳輸發(fā)送的選路方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種多路徑并行傳輸方法,尤其涉及一種引入路徑可信度的多 路徑并行傳輸發(fā)送的選路方法,屬于計算機網(wǎng)絡(luò)技術(shù)領(lǐng)域。
背景技術(shù):
在現(xiàn)有技術(shù)中,已出現(xiàn)了多種多路徑并行傳輸(CMT)的實現(xiàn)方案,如 Westwood SCTP (W-SCTP)等,其中,使用的發(fā)送選路機制都是基于優(yōu)先最 快路徑原則,選擇計算標(biāo)志位最小的路徑傳輸該數(shù)據(jù)塊。
然而,現(xiàn)有的發(fā)送選路機制并沒有考慮數(shù)據(jù)的丟失,即沒有加入路徑的可 靠性因子,這使得發(fā)送路徑的選擇對丟包率不同的路徑都具有相同的優(yōu)先級。
在路徑性能較好時,路徑的丟包率很低,路徑的丟包只對傳輸時間產(chǎn)生微 小影響,可以忽略其作用。
但當(dāng)路徑性能較差時,由于任何數(shù)據(jù)的丟失都會引起所有后續(xù)信息無法遞 交,數(shù)據(jù)的丟失尤其是連續(xù)的數(shù)據(jù)丟失會大幅度增加傳輸時間,甚至影響到其 它路徑的正常傳輸。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種引入路徑可信度的多路徑并行傳輸發(fā)送的選路方 法,其可盡量避免使用高丟包率路徑,使令丟包率高的路徑具有較低的選路優(yōu) 先級。
為此,本發(fā)明提供了一種多路徑并行傳輸發(fā)送的選路方法,其特征在于, 在發(fā)送端為每個對端地址添加如下參數(shù)發(fā)送數(shù)據(jù)量,從該路徑發(fā)送的總數(shù)據(jù) 塊數(shù)量;丟失數(shù)據(jù)量,在該路徑觸發(fā)重傳的次數(shù);和路徑丟包率,丟失數(shù)據(jù)量 與發(fā)送數(shù)據(jù)量的比值,該方法的具體計算步驟如下1)路徑的初始發(fā)送數(shù)據(jù)量、 丟失數(shù)據(jù)量、路徑丟包率都設(shè)為0; 2)每次使用路徑發(fā)送數(shù)據(jù)后,無論是首次 發(fā)送或重發(fā)數(shù)據(jù),都增長該路徑的發(fā)送數(shù)據(jù)量;3)每次發(fā)現(xiàn)數(shù)據(jù)丟失后,無論 是快速重傳或發(fā)送超時,都增長該路徑的丟失數(shù)據(jù)量;4)每次更新參數(shù)發(fā)送數(shù) 據(jù)量或丟失數(shù)據(jù)量后,都對路徑丟包率進行更新;5)對每個數(shù)據(jù)塊,計算每條 路徑的標(biāo)志值tag;選擇tag值最小的路徑作為該數(shù)據(jù)的發(fā)送路徑;然后,發(fā)送 數(shù)據(jù),并增長該路徑的發(fā)送計數(shù)器,計算路徑丟包率。優(yōu)選地,發(fā)送數(shù)據(jù)量的默認最大值為10000,當(dāng)發(fā)送數(shù)據(jù)量每次超過10000 時,令發(fā)送數(shù)據(jù)量和丟失數(shù)據(jù)量同時乘以75%,保證路徑丟包率不變,繼續(xù)計 數(shù),直到下次溢出。
優(yōu)選地,利用選路公式計算每條路徑的標(biāo)志值tag,該選路公式為
《=(1-。, + (順平)
其中,O為該路徑未確認的數(shù)據(jù)量;C為將要發(fā)送數(shù)據(jù)的數(shù)據(jù)量;B為路 徑的帶寬估計值;腳標(biāo)i為路徑序號;r為可信度參數(shù),數(shù)值上等于路徑的統(tǒng)計 丟包率;RTO為發(fā)送超時時間;RTT為平均往返時間;RTO+RTT/2為丟包后 該數(shù)據(jù)包傳輸時間的均值;R為該數(shù)據(jù)包傳輸時間的均值。
優(yōu)選地,基于SCTP協(xié)議的支持多家鄉(xiāng)特性,在多家鄉(xiāng)終端間建立多條路徑。
優(yōu)選地,根據(jù)歷史的丟包記錄和近期的丟包計數(shù)綜合確定路徑丟包率。
優(yōu)選地,通過設(shè)定計數(shù)上限并定期進行同比下降,估算近期的路徑丟包率。
優(yōu)選地,將丟包率以權(quán)值形式引入選路標(biāo)志值的計算。
根據(jù)本發(fā)明,在多路徑并行傳輸時,由于路徑間的相互影響,存在丟包的 情況發(fā)生。在發(fā)送路徑選擇機制中加入可信度因子,通過降低高丟包率路徑的 發(fā)送優(yōu)先級,減小丟包情況的發(fā)生,從而增加整個傳輸系統(tǒng)在高丟包環(huán)境中的 傳輸效率。
圖l是根據(jù)本發(fā)明的將路徑可信度引入了多路徑的選路機制的算法流程圖。 圖2是本發(fā)明的一個應(yīng)用實例的示意圖。
具體實施例方式
根據(jù)本發(fā)明,加入路徑歷史丟包率統(tǒng)計參數(shù),即在發(fā)送端為每個對端地址 添加參數(shù),以記錄該路徑的丟包率。具體地,在軟件的結(jié)構(gòu)體中添加參數(shù),用 于計算路徑丟包率。
新增的參數(shù)包括
發(fā)送數(shù)據(jù)量,在同一次連接中,從該路徑發(fā)送的總數(shù)據(jù)塊數(shù)量,為32位無 符號整數(shù);
丟失數(shù)據(jù)量,在同一次連接中,在該路徑丟失的數(shù)據(jù)塊數(shù)量,即該路徑觸 發(fā)重傳的次數(shù),為32位無符號整數(shù);路徑丟包率,在同一次連接中,該路徑的丟包率,為無符號浮點數(shù)。
具體計算步驟如下
(1) 路徑的初始發(fā)送數(shù)據(jù)量、丟失數(shù)據(jù)量、路徑丟包率都為0;
(2) 每次使用路徑發(fā)送數(shù)據(jù)后,無論是首次發(fā)送或重發(fā)數(shù)據(jù),都增長該路 徑的發(fā)送數(shù)據(jù)量;
(3) 每次發(fā)現(xiàn)數(shù)據(jù)丟失后,無論是快速重傳或發(fā)送超時,都增長該路徑的 丟失數(shù)據(jù)量;
(4) 每次更新參數(shù)發(fā)送數(shù)據(jù)量或丟失數(shù)據(jù)量后,都對路徑丟包率進行更新;
(5) 發(fā)送數(shù)據(jù)量的默認最大值為10000,當(dāng)發(fā)送數(shù)據(jù)量每次超過10000時, 令發(fā)送數(shù)據(jù)量和丟失數(shù)據(jù)量同時乘以75%保證路徑丟包率不變,繼續(xù)計數(shù)到下 次溢出。
現(xiàn)有技術(shù)原有的路徑選擇公式為
<formula>formula see original document page 5</formula>
其中,O為該路徑未確認的數(shù)據(jù)量,C為將要發(fā)送數(shù)據(jù)的數(shù)據(jù)量,B為路 徑的帶寬估計值,腳標(biāo)i為路徑序號。R的物理意義為,該信息通過路徑i能成 功到達對端所需的時間。
根據(jù)本發(fā)明,在選路計算公式中加入可信度參數(shù)r,使得高可信度路徑具有 高優(yōu)先級??尚哦葏?shù)r數(shù)值上等于路徑的統(tǒng)計丟包率p—lost。選路公式修改為
其中,r為該路徑的歷史丟包率;RTO為發(fā)送超時時間;RTT為平均往返 時間;RTO+RTT/2為丟包后該數(shù)據(jù)包傳輸時間的均值;R的物理意義為該數(shù)據(jù) 包傳輸時間的均值,即期望值。同樣選擇R最小的路徑傳輸該數(shù)據(jù)包。
總算法流程圖如圖1。
根據(jù)本發(fā)明,將路徑的可信度引入了多路徑的選路機制,降低了高丟包路 徑被選中的概率。
若路徑出現(xiàn)異常,路徑的丟包率將會迅速上升,此時由于選路機制中引入 了可信度因子,在分配路徑時異常路徑由于丟包率的上升,計算的標(biāo)志值tag 將隨之迅速上升,分配的數(shù)據(jù)量就將隨之下降。因此,數(shù)據(jù)的選路機制將能夠 智能的避開異常路徑,從而減少重傳數(shù)據(jù)量提高整體傳輸性能。
如圖2所示,兩個網(wǎng)絡(luò)終端A、 B都分別具有2塊網(wǎng)卡有線網(wǎng)卡、無線 網(wǎng)卡,并且兩個終端都使用SCTP以支持多家鄉(xiāng)特性。用戶A擁有無線網(wǎng)卡對應(yīng)地址IP1和有線網(wǎng)卡對應(yīng)地址IP2,同樣,用戶B擁有無線網(wǎng)卡對應(yīng)地址IP3
和有線網(wǎng)卡對應(yīng)地址IP4。
步驟l:用戶A、 B通過4次握手建立一個SCTP關(guān)聯(lián); 步驟2:選擇4吏用無線地址組IP1、 IP3,建立無線路徑l,并初始化路徑l; 步驟3:選擇1吏用有線地址組IP2、 IP4,建立有線路徑2,并初始化路徑2; 步驟4:根據(jù)發(fā)送窗口 rwnd和路徑擁塞窗口 cwnd確定可發(fā)送數(shù)據(jù)量; 步驟5:對每個數(shù)據(jù)塊,利用帶選路公式計算每條路徑的標(biāo)志值tag; 步驟6:根據(jù)Fastest-Path-First(FPF)原則,選擇tag值最小的路徑作為該
數(shù)據(jù)的發(fā)送路徑;
步驟7:發(fā)送數(shù)據(jù),并增長該路徑的發(fā)送計數(shù)器send—n,計算丟包率pjost; 步驟8:若路徑的send_n超過10000,則send_n和lost—n同乘以75%; 步驟9:返回步驟4繼續(xù)發(fā)送數(shù)據(jù);
步驟10:若觸發(fā)重傳,增長該丟失數(shù)據(jù)對應(yīng)發(fā)送路徑的丟失計數(shù)器losLn; 步驟11:切換路徑進行數(shù)據(jù)重傳,并增長該發(fā)送路徑的發(fā)送計數(shù)器send—n, 計算丟包率p一lost;
步驟12:若路徑的send_n超過10000,貝'J send_n和lost—n同乘以75%; 步驟13:返回步驟10等待接收新的返回ACK。
在使用路徑1、路徑2并行傳輸時,有線路徑2的性能明顯優(yōu)于無線路徑1。 無線路徑1易受到干擾,穩(wěn)定性差。
在兩條都正常時,丟包都較小,則加入的可靠性因子對選路標(biāo)志tag計算 的影響很小。此時數(shù)據(jù)的路徑選擇主要基于路徑的帶寬和路徑的未確認信息量。 若路徑1突然受到了干擾,導(dǎo)致大量數(shù)據(jù)丟失或錯誤。則針對路徑1數(shù)據(jù)的重 傳量將急劇增長,從而使丟包率統(tǒng)計參數(shù)迅速上升。此時,可靠性因子將較大 的影響選路標(biāo)志tag的計算結(jié)果,使分配給路徑1的數(shù)據(jù)量下降。
因此,引入路徑可信度后,選路機制能夠智能的暫時避開異常路徑,只給 異常路徑分配少量數(shù)據(jù)。當(dāng)異常排除后,通過仍然發(fā)送的少量數(shù)據(jù),丟包率又 能夠逐漸恢復(fù)正常值,選路也隨之恢復(fù)正常。
而在原有的選路機制中,丟包不影響數(shù)據(jù)的選路,只要路徑不完全斷裂, 將仍然基于帶寬估計為數(shù)據(jù)分配路徑。
權(quán)利要求
1、一種多路徑并行傳輸發(fā)送的選路方法,其特征在于,在發(fā)送端為每個對端地址添加如下參數(shù)發(fā)送數(shù)據(jù)量,從該路徑發(fā)送的總數(shù)據(jù)塊數(shù)量;丟失數(shù)據(jù)量,在該路徑觸發(fā)重傳的次數(shù);和路徑丟包率,丟失數(shù)據(jù)量與發(fā)送數(shù)據(jù)量的比值,該方法的具體計算步驟如下1)路徑的初始發(fā)送數(shù)據(jù)量、丟失數(shù)據(jù)量、路徑丟包率都設(shè)為0;2)每次使用路徑發(fā)送數(shù)據(jù)后,無論是首次發(fā)送或重發(fā)數(shù)據(jù),都增長該路徑的發(fā)送數(shù)據(jù)量;3)每次發(fā)現(xiàn)數(shù)據(jù)丟失后,無論是快速重傳或發(fā)送超時,都增長該路徑的丟失數(shù)據(jù)量;4)每次更新參數(shù)發(fā)送數(shù)據(jù)量或丟失數(shù)據(jù)量后,都對路徑丟包率進行更新;5)對每個數(shù)據(jù)塊,計算每條路徑的標(biāo)志值tag;選擇tag值最小的路徑作為該數(shù)據(jù)的發(fā)送路徑;然后,發(fā)送數(shù)據(jù),并增長該路徑的發(fā)送計數(shù)器,計算路徑丟包率。
2. 如權(quán)利要求1所述的方法,其特征在于,發(fā)送數(shù)據(jù)量的默認最大值為10000,當(dāng)發(fā)送數(shù)據(jù)量每次超過10000時,令發(fā)送數(shù)據(jù)量和丟失數(shù)據(jù)量同時乘以75%,保證路徑丟包率不變,繼續(xù)計數(shù),直到下次溢出。
3. 如權(quán)利要求l所述的方法,其特征在于,利用選路公式計算每條路徑的標(biāo)志值tag,該選路7>式為,、,, 《 2 ,其中,O為該路徑未確認的數(shù)據(jù)量;C為將要發(fā)送數(shù)據(jù)的數(shù)據(jù)量;B為路徑的帶寬估計值;腳標(biāo)i為路徑序號;r為可信度參數(shù),數(shù)值上等于路徑的統(tǒng)計丟包率;RTO為發(fā)送超時時間;RTT為平均往返時間;RTO+RTT/2為丟包后該數(shù)據(jù)包傳輸時間的均值;R為該數(shù)據(jù)包傳輸時間的均值。
4、 如權(quán)利要求l所述的方法,其特征在于,基于SCTP協(xié)議的支持多家鄉(xiāng)特性,在多家鄉(xiāng)終端間建立多條路徑。
5、 如權(quán)利要求l所述的方法,其特征在于,根據(jù)歷史的丟包記錄和近期的丟包計數(shù)綜合確定路徑丟包率。
6、 如權(quán)利要求l所述的方法,其特征在于,通過設(shè)定計數(shù)上限并定期進行同比下降,估算近期的路徑丟包率。
7、 如權(quán)利要求l所述的方法,其特征在于,將丟包率以權(quán)值形式引入選路標(biāo)志值的計算。
全文摘要
一種多路徑并行傳輸發(fā)送的選路方法,為每個對端地址添加發(fā)送數(shù)據(jù)量、丟失數(shù)據(jù)量、和路徑丟包率,具體計算步驟如下1)路徑的初始化;2)每次使用路徑發(fā)送數(shù)據(jù)后,都增長該路徑的發(fā)送數(shù)據(jù)量;3)每次發(fā)現(xiàn)數(shù)據(jù)丟失后,都增長該路徑的丟失數(shù)據(jù)量;4)每次更新參數(shù)發(fā)送數(shù)據(jù)量或丟失數(shù)據(jù)量后,都對路徑丟包率進行更新;5)對每個數(shù)據(jù)塊,計算每條路徑的標(biāo)志值tag;選擇tag值最小的路徑作為該數(shù)據(jù)的發(fā)送路徑;然后,發(fā)送數(shù)據(jù),并增長該路徑的發(fā)送計數(shù)器,計算路徑丟包率。本發(fā)明可在路徑異常時,利用選路機制暫時避開異常路徑,從而減少重傳次數(shù)提高傳輸?shù)恼w效率;并在路徑異常排除后能夠逐漸恢復(fù)正常選路。
文檔編號H04W28/04GK101515840SQ200910079350
公開日2009年8月26日 申請日期2009年3月9日 優(yōu)先權(quán)日2009年3月9日
發(fā)明者暢 劉, 亮 孫, 飛 宋, 張宏科, 冬 楊, 羅洪斌, 平 董 申請人:北京交通大學(xué)