本文作者:kaifamei

一種適用于高帶寬延遲系統的傳輸協議方法與流程

更新時間:2025-12-25 08:02:36 0條評論

一種適用于高帶寬延遲系統的傳輸協議方法與流程



1.本發明涉及數據傳輸技術領域,尤其涉及一種適用于高帶寬延遲系統的傳輸協議方法。


背景技術:



2.目前,在網絡中進行文件傳輸所使用的傳輸層協議,常用的有tcp(傳輸控制協議)和udp(用戶數據報協議)。
3.tcp是一種面向連接的、可靠的、基于字節流的傳輸層通信協議,旨在適應支持多網絡應用的分層協議層次結構。連接到不同但互連的計算機通信網絡的主計算機中的成對進程之間,依靠tcp提供可靠的通信服務。tcp可以從較低級別的協議獲得簡單的,可能不可靠的數據報服務。原則上,tcp應該能夠在從硬線連接到分組交換或電路交換網絡的各種通信系統之上操作。
4.tcp協議目前已廣泛應用于各種數據傳輸,但在某些情況下,如高帶寬延遲環境,由于它使用的tcp擁塞控制算法(aimd)的特性,tcp需要很長時間才能適應可用帶寬的變化。并且,它在網絡擁塞比較嚴重的情況下的表現不盡人意。為了解決這個問題,出現了一些修正的tcp協議,如bic tcp,cubic tcp和fast tcp等。然而,這些協議只能部分的改善這個問題。
5.udp是osi(open system interconnection,開放式系統互聯)參考模型中一種無連接的傳輸層協議,它主要用于不要求分組順序到達的傳輸中,分組傳輸順序的檢查與排序由應用層完成,提供面向事務的簡單不可靠信息傳送服務。udp報文沒有可靠性保證、順序保證和流量控制字段等,可靠性較差。但是正因為udp協議的控制選項較少,在數據傳輸過程中延遲小、數據傳輸效率高。
6.對比tcp協議來說,udp協議的傳輸代價更小,速度更快,但無法保證其可靠性也不可用于對可靠性要求高的傳輸系統,因其無連接特性,更不可能實時動態調整擁塞以適應可用帶寬變化。


技術實現要素:



7.本發明的目的在于提供一種適用于高帶寬延遲系統的傳輸協議方法,以解決上述背景技術中遇到的問題。
8.為實現上述目的,本發明的技術方案如下:
9.一種適用于高帶寬延遲系統的傳輸協議方法,完整的數據傳輸過程包括建立連接、數據傳輸、擁塞控制和斷開連接,其中:
10.建立連接的方法:通過一次消息往返即可完成握手建立連接,周期性的消息握手替代了傳統可靠協議中的心跳機制;
11.數據傳輸的方法:通過設置發送緩沖區和接收緩沖區,發送緩沖區的數據按序號順序發送數據包發送至接收端,接收端按照包序號放入接收緩沖區,發送緩沖區釋放隊前
空間允許發送端應用層放入數據;
12.擁塞控制的方法:通過一個較小的發送周期,并根據周期內的ack數量、nak數量和網絡延遲rtt,綜合計算出下一個發送周期內應發數據包數量,以此適應當前可用帶寬變化;
13.斷開連接的方法:發送端向接收端發送斷開指令,接收端收到指令后斷開連接。
14.具體的,上述方案中,所述建立連接的方法,包括以下步驟:
15.s11、發送端向接收端發送syn包;
16.s12、接收端接收到syn包后根據發送端地址和自身密鑰生成token返回給發送端,后續每次接收到包含token的syn都返回一個應答;
17.s13、發送端接收到syn應答后,定期向接收端發送包含token的syn包保持連接;
18.s14、發送端接收到第一個syn應答后立即開始傳輸數據,后續收到的syn應答都丟棄。
19.具體的,上述方案中,所述數據傳輸的方法,包括以下步驟:
20.s21、對于發送端和接收端,分別設有發送緩沖區和接收緩沖區,用來保存發送和接收的數據;
21.s22、發送端應用層向發送緩沖區中放入數據,當發送緩沖區滿后暫停放入,待發送緩沖區有空閑空間時繼續放入;
22.s23、發送端傳輸層從發送緩沖區按序號順序提取數據包并發送,該數據包在緩沖區中處于等待應答態;
23.s24、接收端傳輸層接收到數據包后按照包序號放入接收緩沖區,并立即返回ack給發送端;
24.s25、發送端接收到ack后將發送緩沖區中對應的數據包置為完成態,并判斷發送緩沖區窗口是否后移,發送緩沖區窗口后移可釋放隊前空間,以允許發送端應用層放入數據。
25.進一步的,在步驟s21中,所述接收緩沖區的空間大于發送緩沖區的空間。
26.再進一步的,在步驟s24中,因發送端按序號順序發送數據包,接收端也是按順序接收數據包,當發生丟包現象時,接收端能即時發現,并向發送端發送包含包序號的nak包;發送端接收到nak包后按序號重發數據包。
27.具體的,上述方案中,所述擁塞控制的方法,包括以下步驟:
28.s31、通過調節一個發送周期內的數據包數量來控制傳輸速率,其中的發送周期是一個固定長度的時間段;
29.s32、發送端按順序將數據包發出,接收端收到數據包后檢查是否有數據包丟失;
30.s33、接收端接收到一個數據包就向發送端發送一個ack包,接收端檢測到丟失一個數據包就向發送端發送一個nak包;
31.s34、發送端在每個發送周期結束時統計接收到的nak包數量,并根據ack包中網絡延遲rtt綜合計算出下一個發送周期內應發數據包數量,以此適應當前可用帶寬變化。
32.具體的,上述方案中,所述斷開連接的方法,包括以下步驟:
33.s41、發送端向接收端發送一個shutdown包,并不再發送syn包;
34.s42、接收端接收到shutdown包后,返回一個應答包并關閉連接;
35.s43、發送端接收到關閉應答包后也關閉連接。
36.進一步的,在s43中,如果發送端在發出shutdown包一定時間后未收到關閉應答包,按超時計并關閉連接。
37.再進一步的,在s43中,如果發送端在一定時間內未收到syn應答包,接收端在一定時間內未收到syn包,都按超時計并關閉連接。
38.與現有技術相比,本發明的有益效果是:本傳輸協議方法是基于udp協議提出的一種能夠適用于高帶寬延遲網絡的可靠傳輸協議,摒棄了tcp協議中多次握手等待所產生的資源開銷,也避免了tcp協議對高帶寬延遲網絡的不適應特性。應用全新提出的擁塞控制機制,可實時自動調節發包速率,充分使用可用帶寬,能夠完美適應可用帶寬不確定、高帶寬延遲的網絡環境。
附圖說明
39.參照附圖來說明本發明的公開內容。應當了解,附圖僅僅用于說明目的,而并非意在對本發明的保護范圍構成限制。在附圖中,相同的附圖標記用于指代相同的部件。其中:
40.圖1為本發明整體流程示意圖;
41.圖2為本發明中建立連接的方法示意圖;
42.圖3為本發明中數據傳輸的方法示意圖;
43.圖4為本發明中擁塞控制的方法示意圖。
具體實施方式
44.為了使本發明實現的技術手段、創作特征、達成目的與功效易于明白了解,現在結合附圖對本發明作進一步詳細的說明。這些附圖均為簡化的示意圖,僅以示意方式說明本發明的基本結構,因此其僅顯示本發明有關的構成。
45.根據本發明的技術方案,在不變更本發明實質精神下,本領域的一般技術人員可以提出可相互替換的多種結構方式以及實現方式。因此,以下具體實施方式以及附圖僅是對本發明的技術方案的示例性說明,而不應當視為本發明的全部或者視為對本發明技術方案的限定或限制。
46.下面結合附圖和實施例對本發明的技術方案做進一步的詳細說明。
47.如圖1至圖4所示,一種適用于高帶寬延遲系統的傳輸協議方法,完整的數據傳輸過程包括建立連接、數據傳輸、擁塞控制和斷開連接,其中:
48.1、建立連接的方法:通過一次消息往返即可完成握手建立連接,周期性的消息握手替代了傳統可靠協議中的心跳機制。本方案通過一次消息往返即可完成握手建立連接,資源開銷更少,利用周期性的消息握手替代了傳統可靠協議中的心跳機制,更可通過握手消息中的token信息確保了連接的有效性。
49.具體的,請參閱圖2,所述建立連接的方法,包括以下步驟:
50.s11、發送端向接收端發送syn包;
51.s12、接收端接收到syn包后根據發送端地址和自身密鑰生成token返回給發送端,后續每次接收到包含token的syn都返回一個應答;
52.s13、發送端接收到syn應答后,定期向接收端發送包含token的syn包保持連接;
53.s14、發送端接收到第一個syn應答后立即開始傳輸數據,后續收到的syn應答都丟棄。
54.2、數據傳輸的方法:通過設置發送緩沖區和接收緩沖區,發送緩沖區的數據按序號順序發送數據包發送至接收端,接收端按照包序號放入接收緩沖區,發送緩沖區釋放隊前空間允許發送端應用層放入數據。
55.具體的,請參閱圖3,所述數據傳輸的方法,包括以下步驟:
56.s21、對于發送端和接收端,分別設有發送緩沖區和接收緩沖區,用來保存發送和接收的數據;進一步的,所述接收緩沖區的空間大于發送緩沖區的空間,一般接收緩沖區的空間大小為發送緩沖區的空間大小的兩倍,使其具備足有的空間來運轉數據。
57.s22、發送端應用層向發送緩沖區中放入數據,當發送緩沖區滿后暫停放入,待發送緩沖區有空閑空間時繼續放入;
58.s23、發送端傳輸層從發送緩沖區按序號順序提取數據包并發送,該數據包在發送緩沖區中處于等待應答態;
59.s24、接收端傳輸層接收到數據包后按照包序號放入接收緩沖區,并立即返回ack給發送端;
60.s25、發送端接收到ack后將發送緩沖區中對應的數據包置為完成態,并判斷發送緩沖區窗口是否后移,發送緩沖區窗口后移可釋放隊前空間,以允許發送端應用層放入數據。
61.再進一步的,在步驟s24中,因發送端按序號順序發送數據包,接收端也是按順序接收數據包,當發生丟包現象時,接收端能即時發現,并向發送端發送包含包序號的nak包;發送端接收到nak包后按序號重發數據包。
62.3、擁塞控制的方法:通過一個較小的發送周期,并根據周期內的ack數量、nak數量和網絡延遲rtt,綜合計算出下一個發送周期內應發數據包數量,以此適應當前可用帶寬變化。
63.具體的,請參閱圖4,所述擁塞控制的方法,包括以下步驟:
64.s31、通過調節一個發送周期內的數據包數量來控制傳輸速率,其中的發送周期是一個固定長度的時間段;
65.s32、發送端按順序將數據包發出,接收端收到數據包后檢查是否有數據包丟失;
66.s33、接收端接收到一個數據包就向發送端發送一個ack包,接收端檢測到丟失一個數據包就向發送端發送一個nak包;
67.s34、發送端在每個發送周期結束時統計接收到的nak包數量,并根據ack包中網絡延遲rtt(round trip time)綜合計算出下一個發送周期內應發數據包數量,以此適應當前可用帶寬變化。
68.因發送周期是一個固定的較小值,發送端就可通過調整發送周期內發送的數據包數量,實時適應可用帶寬變化。
69.結合圖4可知,在發送周期n內共發送數據包i+1個,其數據包個數是在上一個發送周期結束時確定,ack中包含數據包序號,所以最后一個ack序號也是i+1。下一個發送周期的數據包個數的計算方法簡單來說:收到一個nak包減少1/16數據包數量,從而降低發送速率;全部發送成功增加1/8數據包數量,從而提高發送速率。
70.4、斷開連接的方法:發送端向接收端發送斷開指令,接收端收到指令后斷開連接。
71.具體的,上述方案中,所述斷開連接的方法,包括以下步驟:
72.s41、發送端向接收端發送一個shutdown包,并不再發送syn包;
73.s42、接收端接收到shutdown包后,返回一個應答包并關閉連接;
74.s43、發送端接收到關閉應答包后也關閉連接。
75.進一步的,在s43中,如果發送端在發出shutdown包一定時間后未收到關閉應答包,按超時計并關閉連接。
76.再進一步的,在s43中,如果發送端在一定時間內未收到syn應答包,接收端在一定時間內未收到syn包,都按超時計并關閉連接。
77.本傳輸協議方法,基于udp傳輸協議提出一種能夠適用于高帶寬延遲網絡的可靠傳輸協議,該協議能夠保證信息的完整性和有序性,保障數據的可靠發送與接收,能夠根據網絡可用帶寬實時自適應調節擁塞控制。
78.本發明是基于udp協議提出的一種能夠適用于高帶寬延遲網絡的可靠傳輸協議,摒棄了tcp協議中多次握手等待所產生的資源開銷,也避免了tcp協議對高帶寬延遲網絡的不適應特性。使用全新的高效握手、應答機制、包排序機制,保證了數據傳輸的可靠性。應用全新提出的擁塞控制機制,可實時自動調節發包速率,充分使用可用帶寬,能夠完美適應可用帶寬不確定、高帶寬延遲的網絡環境。
79.以上所述的具體實施方式,對本發明的目的、技術方案和有益效果進行了進一步詳細說明,所應理解的是,以上所述僅為本發明的具體實施方式,并不用于限定本發明保護范圍,凡在本發明的精神和原則之內,所做的任何修改、等同替換、改進等,均應含在本發明的保護范圍之內。

技術特征:


1.一種適用于高帶寬延遲系統的傳輸協議方法,其特征在于,完整的數據傳輸過程包括建立連接、數據傳輸、擁塞控制和斷開連接,其中:建立連接的方法:通過一次消息往返即可完成握手建立連接,周期性的消息握手替代了傳統可靠協議中的心跳機制;數據傳輸的方法:通過設置發送緩沖區和接收緩沖區,發送緩沖區的數據按序號順序發送數據包發送至接收端,接收端按照包序號放入接收緩沖區,發送緩沖區釋放隊前空間允許發送端應用層放入數據;擁塞控制的方法:通過一個較小的發送周期,并根據周期內的ack數量、nak數量和網絡延遲rtt,綜合計算出下一個發送周期內應發數據包數量,以此適應當前可用帶寬變化;斷開連接的方法:發送端向接收端發送斷開指令,接收端收到指令后斷開連接。2.根據權利要求1所述的一種適用于高帶寬延遲系統的傳輸協議方法,其特征在于,所述建立連接的方法,包括以下步驟:s11、發送端向接收端發送syn包;s12、接收端接收到syn包后根據發送端地址和自身密鑰生成token返回給發送端,后續每次接收到包含token的syn都返回一個應答;s13、發送端接收到syn應答后,定期向接收端發送包含token的syn包保持連接;s14、發送端接收到第一個syn應答后立即開始傳輸數據,后續收到的syn應答都丟棄。3.根據權利要求1所述的一種適用于高帶寬延遲系統的傳輸協議方法,其特征在于,所述數據傳輸的方法,包括以下步驟:s21、對于發送端和接收端,分別設有發送緩沖區和接收緩沖區,用來保存發送和接收的數據;s22、發送端應用層向發送緩沖區中放入數據,當發送緩沖區滿后暫停放入,待發送緩沖區有空閑空間時繼續放入;s23、發送端傳輸層從發送緩沖區按序號順序提取數據包并發送,該數據包在緩沖區中處于等待應答態;s24、接收端傳輸層接收到數據包后按照包序號放入接收緩沖區,并立即返回ack給發送端;s25、發送端接收到ack后將發送緩沖區中對應的數據包置為完成態,并判斷發送緩沖區窗口是否后移,發送緩沖區窗口后移可釋放隊前空間,以允許發送端應用層放入數據。4.根據權利要求3所述的一種適用于高帶寬延遲系統的傳輸協議方法,其特征在于:在步驟s21中,所述接收緩沖區的空間大于發送緩沖區的空間。5.根據權利要求3所述的一種適用于高帶寬延遲系統的傳輸協議方法,其特征在于:在步驟s24中,因發送端按序號順序發送數據包,接收端也是按順序接收數據包,當發生丟包現象時,接收端能即時發現,并向發送端發送包含包序號的nak包;發送端接收到nak包后按序號重發數據包。6.根據權利要求1所述的一種適用于高帶寬延遲系統的傳輸協議方法,其特征在于,所述擁塞控制的方法,包括以下步驟:s31、通過調節一個發送周期內的數據包數量來控制傳輸速率,其中的發送周期是一個固定長度的時間段;
s32、發送端按順序將數據包發出,接收端收到數據包后檢查是否有數據包丟失;s33、接收端接收到一個數據包就向發送端發送一個ack包,接收端檢測到丟失一個數據包就向發送端發送一個nak包;s34、發送端在每個發送周期結束時統計接收到的nak包數量,并根據ack包中網絡延遲rtt綜合計算出下一個發送周期內應發數據包數量,以此適應當前可用帶寬變化。7.根據權利要求1所述的一種適用于高帶寬延遲系統的傳輸協議方法,其特征在于,所述斷開連接的方法,包括以下步驟:s41、發送端向接收端發送一個shutdown包,并不再發送syn包;s42、接收端接收到shutdown包后,返回一個應答包并關閉連接;s43、發送端接收到關閉應答包后也關閉連接。8.根據權利要求7所述的一種適用于高帶寬延遲系統的傳輸協議方法,其特征在于,在s43中,如果發送端在發出shutdown包一定時間后未收到關閉應答包,按超時計并關閉連接。9.根據權利要求7所述的一種適用于高帶寬延遲系統的傳輸協議方法,其特征在于,在s43中,如果發送端在一定時間內未收到syn應答包,接收端在一定時間內未收到syn包,都按超時計并關閉連接。

技術總結


本發明涉及一種適用于高帶寬延遲系統的傳輸協議方法,完整的數據傳輸過程包括建立連接、數據傳輸、擁塞控制和斷開連接。本發明是基于UDP協議提出的一種能夠適用于高帶寬延遲網絡的可靠傳輸協議,摒棄了TCP協議中多次握手等待所產生的資源開銷,也避免了TCP協議對高帶寬延遲網絡的不適應特性。應用全新提出的擁塞控制機制,可實時自動調節發包速率,充分使用可用帶寬,能夠完美適應可用帶寬不確定、高帶寬延遲的網絡環境。帶寬延遲的網絡環境。帶寬延遲的網絡環境。


技術研發人員:

朱旭光 王澤瑞 楊威

受保護的技術使用者:

飛馳云聯(南京)科技有限公司

技術研發日:

2022.10.11

技術公布日:

2023/1/19


文章投稿或轉載聲明

本文鏈接:http://m.newhan.cn/zhuanli/patent-1-87017-0.html

來源:專利查詢檢索下載-實用文體寫作網版權所有,轉載請保留出處。本站文章發布于 2023-01-29 12:41:03

發表評論

驗證碼:
用戶名: 密碼: 匿名發表
評論列表 (有 條評論
2人圍觀
參與討論