識(shí)別可靠傳輸協(xié)議的數(shù)據(jù)傳輸中的丟包類型的方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)網(wǎng)絡(luò)領(lǐng)域,特別是涉及一種區(qū)分可靠傳輸協(xié)議中網(wǎng)絡(luò)數(shù)據(jù)包丟包類型的方法及系統(tǒng)。
【背景技術(shù)】
[0002]常見的可靠傳輸協(xié)議包括TCP、UDT等。TCP(Transmiss1nControl Protocol傳輸控制協(xié)議)是一種面向連接的、可靠的、基于字節(jié)流的傳輸層通信協(xié)議。UDT是UDP的數(shù)據(jù)傳輸協(xié)議(UDP-based Data Transfer Protocol,簡(jiǎn)稱UDT)是一種基于UDP基礎(chǔ)上實(shí)現(xiàn)的應(yīng)用層上的數(shù)據(jù)可靠傳輸協(xié)議,由于它們的可靠性及面向連接等特性,因此在網(wǎng)絡(luò)中應(yīng)用非常廣泛。HTTP、FTP、SMTP及TelNet等都是使用TCP協(xié)議,在高時(shí)延帶寬積的網(wǎng)絡(luò)環(huán)境中UDT的應(yīng)用也非常廣泛??煽總鬏攨f(xié)議的可靠性主要是通過數(shù)據(jù)包序號(hào)、確認(rèn)和重傳機(jī)制實(shí)現(xiàn)的,而協(xié)議的流量控制主要通過窗口機(jī)制和擁塞控制策略共同完成的。
[0003]可靠傳輸協(xié)議數(shù)據(jù)流在網(wǎng)絡(luò)傳輸過程中由于鏈路中間設(shè)備處理能力限制或者鏈路本身的問題會(huì)產(chǎn)生丟包現(xiàn)象,通常將鏈路中由于中間設(shè)備處理能力的限制或擁塞控制導(dǎo)致的丟包稱之為擁塞丟包,而將由于鏈路故障、數(shù)據(jù)包校驗(yàn)錯(cuò)誤等一些非擁塞控策略產(chǎn)生的丟包現(xiàn)象稱之為隨機(jī)丟包。
[0004]對(duì)于一個(gè)丟包,現(xiàn)階段沒有有效的手段來區(qū)分該丟包是擁塞丟包還是隨機(jī)丟包,而常用的擁塞控制方法(TCP中的Reno、Cubic等)都將丟包作為網(wǎng)絡(luò)擁塞標(biāo)識(shí)。所以,如果對(duì)于一個(gè)丟包不考慮其丟包特性而直接進(jìn)入擁塞控制處理,會(huì)導(dǎo)致鏈路的利用率及穩(wěn)定性下降嚴(yán)重,特別是在隨機(jī)丟包率較高的鏈路環(huán)境中,不區(qū)分丟包類型,會(huì)嚴(yán)重減低鏈路利用率從而影響網(wǎng)絡(luò)性能(Quality of Service)。
[0005]針對(duì)這種情況,我們提出了一種通過機(jī)制來識(shí)別丟包類型,通過分析數(shù)據(jù)傳輸過程中的一些信息數(shù)據(jù)來識(shí)別基于可靠傳輸協(xié)議的數(shù)據(jù)傳輸中丟包的類型。在此基礎(chǔ)上可以設(shè)計(jì)新的擁塞控制策略,從而更容易和有效地優(yōu)化可靠傳輸協(xié)議的傳輸性能。
【發(fā)明內(nèi)容】
[0006]本發(fā)明解決的技術(shù)問題在于,識(shí)別基于可靠傳輸協(xié)議的數(shù)據(jù)傳輸中丟包的類型。
[0007]更進(jìn)一步的,可以為提升可靠傳輸協(xié)議(TCP、UDT等)的性能提供精確的參考彳目息。
[0008]為了解決上述問題,本發(fā)明公開了一種識(shí)別可靠傳輸協(xié)議的數(shù)據(jù)傳輸中的丟包類型的方法,該方法包括:
[0009]步驟I,對(duì)基準(zhǔn)往返時(shí)延base-RTT以及基準(zhǔn)丟包距離base-Dist進(jìn)行初始化;
[0010]步驟2,獲取在數(shù)據(jù)傳輸中發(fā)生的丟包的丟包時(shí)延loss-RTT以及該丟包相距前一次丟包的丟包距離1ss-Dist;
[0011]步驟3,根據(jù)一決策公式判斷該丟包的類型,該決策公式包括:
[0012]當(dāng)1088_1?1'1'>=1(樸&86-1?1'1'并且1088-0丨81:〈=匕&86-0丨81:,該丟包為擁塞丟包;
[0013]當(dāng)loss-RTT〈K*base_RTT 并且 loss-Dist>base_Dist,該丟包為隨機(jī)丟包;
[0014]其中,2〈=K〈= 5。
[0015]在該步驟I中,
[0016]base-RTT(i+i)=MIN(base-RTT(i),RTT(i+i))
[0017]base-RTT(i+l)為第i+1個(gè)數(shù)據(jù)流的基準(zhǔn)往返時(shí)延,base-RTT(i)為第i個(gè)數(shù)據(jù)流的基準(zhǔn)往返時(shí)延,RTT(i+l)為第i+Ι個(gè)數(shù)據(jù)流的中所有數(shù)據(jù)包的往返時(shí)延。
[0018]該基準(zhǔn)丟包距離base-Dist為2或3或4或5或6或7或8或9或10。
[0019]該步驟2中,對(duì)于數(shù)據(jù)傳輸中連續(xù)發(fā)送的兩個(gè)數(shù)據(jù)包,如果第Pi個(gè)數(shù)據(jù)包未能收到確認(rèn)數(shù)據(jù)包ACK,第Pi+Ι個(gè)數(shù)據(jù)包能夠收到確認(rèn)數(shù)據(jù)包ACK,則第Pi個(gè)數(shù)據(jù)包視為丟包,其丟包時(shí)延loss-RTT為第Pi+Ι個(gè)數(shù)據(jù)包的往返時(shí)延;
[0020]或者,如果第Pi+Ι個(gè)數(shù)據(jù)包未能收到確認(rèn)數(shù)據(jù)包ACK,第Pi個(gè)數(shù)據(jù)包能夠收到確認(rèn)數(shù)據(jù)包ACK,則第Pi + Ι個(gè)數(shù)據(jù)包視為丟包,其丟包時(shí)延1ss-RTT為第Pi個(gè)數(shù)據(jù)包的往返時(shí)延。
[0021]該丟包距離為兩個(gè)相鄰丟包之間數(shù)據(jù)包的數(shù)目加一。K= 3。
[0022]本發(fā)明還公開了一種識(shí)別可靠傳輸協(xié)議的數(shù)據(jù)傳輸中的丟包類型的系統(tǒng),該系統(tǒng)包括:
[0023]初始化模塊,用于對(duì)基準(zhǔn)往返時(shí)延base-RTT以及基準(zhǔn)丟包距離base-Dist進(jìn)行初始化;
[0024]參數(shù)獲取模塊,用于獲取在數(shù)據(jù)傳輸中發(fā)生的丟包的丟包時(shí)延loss-RTT以及該丟包相距前一次丟包的丟包距離1ss-Dist ;
[0025]判斷模塊,用于根據(jù)一決策公式判斷該丟包的類型,該決策公式包括:
[0026]當(dāng)1088_1?1'1'>=1(樸&86-1?1'1'并且1088-0丨81:〈=匕&86-0丨81:,該丟包為擁塞丟包;
[0027]當(dāng)loss-RTT〈K*base_RTT 并且loss-Dist>base_Dist,該丟包為隨機(jī)丟包;
[0028]其中,2〈=K〈= 5。
[0029]在該初始化模塊中,
[0030]base-RTT(i+i)=MIN(base-RTT(i),RTT(i+i))
[0031]base-RTT(i+l)為第i+1個(gè)數(shù)據(jù)流的基準(zhǔn)往返時(shí)延,base-RTT(i)為第i個(gè)數(shù)據(jù)流的基準(zhǔn)往返時(shí)延,RTT(i+l)為第i+Ι個(gè)數(shù)據(jù)流的中所有數(shù)據(jù)包的往返時(shí)延。
[0032]該基準(zhǔn)丟包距離base-Dist為2或3或4或5或6或7或8或9或10。
[0033]該參數(shù)獲取模塊對(duì)于數(shù)據(jù)傳輸中連續(xù)發(fā)送的兩個(gè)數(shù)據(jù)包,如果第Pi個(gè)數(shù)據(jù)包未能收到確認(rèn)數(shù)據(jù)包ACK,第Pi+Ι個(gè)數(shù)據(jù)包能夠收到確認(rèn)數(shù)據(jù)包ACK,則將第Pi個(gè)數(shù)據(jù)包視為丟包,其丟包時(shí)延1ss-RTT為第Pi+Ι個(gè)數(shù)據(jù)包的往返時(shí)延;
[0034]或者,如果第Pi+Ι個(gè)數(shù)據(jù)包未能收到確認(rèn)數(shù)據(jù)包ACK,第Pi個(gè)數(shù)據(jù)包能夠收到確認(rèn)數(shù)據(jù)包ACK,則將第Pi+Ι個(gè)數(shù)據(jù)包視為丟包,其丟包時(shí)延1ss-RTT為第Pi個(gè)數(shù)據(jù)包的往返時(shí)延。
[0035]該丟包距離為兩個(gè)相鄰丟包之間數(shù)據(jù)包的數(shù)目加一。K= 3。
[0036]本發(fā)明可以準(zhǔn)確的識(shí)別出丟包的丟包類型,判斷出其屬于擁塞丟包還是隨機(jī)丟包。該丟包類型數(shù)據(jù)可為TCP擁塞控制策略的優(yōu)化提供依據(jù)。而控制模塊基于該TCP擁塞控制策略可對(duì)網(wǎng)絡(luò)中的擁塞情況進(jìn)行疏通,提高網(wǎng)絡(luò)傳輸?shù)男?。另外,可靠傳輸協(xié)議的單端優(yōu)化只能通過調(diào)整擁塞控制策略來實(shí)現(xiàn),本發(fā)明的識(shí)別丟包類型的方法可以為擁塞控制策略提供精確的參考信息,便于擁塞控制策略的確定。因此,本發(fā)明的識(shí)別丟包類型的方法還可應(yīng)用到TCP協(xié)議的單端優(yōu)化中去,便于可靠傳輸協(xié)議的優(yōu)化及性能提升。
【附圖說明】
[0037]圖1所示為本發(fā)明的網(wǎng)絡(luò)結(jié)構(gòu)示意圖。
[0038]圖2所示為本發(fā)明的一種識(shí)別可靠傳輸協(xié)議的數(shù)據(jù)傳輸中的丟包類型的方法的流程不意圖。
[0039]圖3所示為基準(zhǔn)RTT分布情況示意圖。
[0040]圖4所示為數(shù)據(jù)流丟包率分布情況示意圖。
[0041 ]圖5所示為數(shù)據(jù)流吞吐率分布情況示意圖。
[0042]圖6所示為丟包時(shí)往返時(shí)延分布情況示意圖。
[0043]圖7所示為聚集丟包所占比率的曲線圖。
[0044]圖8所示為連續(xù)丟包的分布情況示意圖。
【具體實(shí)施方式】
[0045]以下結(jié)合具體實(shí)施例詳細(xì)描述本發(fā)明的實(shí)現(xiàn)過程。
[0046]本發(fā)明利用可靠傳輸協(xié)議的數(shù)據(jù)傳輸過程中的丟包時(shí)延、丟包距離,來實(shí)時(shí)區(qū)分可靠傳輸協(xié)議數(shù)據(jù)流中出現(xiàn)的丟包為擁塞丟包或隨機(jī)丟包。
[0047]如圖1所示為本發(fā)明的網(wǎng)絡(luò)結(jié)構(gòu)示意圖。如圖2所示為本發(fā)明的一種識(shí)別可靠傳輸協(xié)議的數(shù)據(jù)傳輸中的丟包類型的方法的流程示意圖。
[0048]