共找到2條詞條名為ude的結果 展開

ude

基於udp的可靠傳輸協議

ude是一款基於udp的可靠傳輸協議,專門用於在數據傳輸方面對實時性要求較高的領域。

基本介紹


tcp協議雖然能保證數據的可靠傳輸,但它有以下幾個缺點:1.tcp的數據確認機制會導致發送方重複發送一些已經被對方接收的數據,降低了帶寬的有效利用率;2.tcp協議的超時重傳機制嚴格遵守rtt公平性,即到了rtt時間才會重傳丟失的數據,當rtt較大時,就會導致數據的實時性降低,這對於一些對實時性要求較高的應用(比如流媒體、網路遊戲)是不能忍受的,並且還會導致帶寬得不到充分利用;3.在p2p傳輸領域,由於tcp的NAT穿透成功率極低,用tcp做p2p數據傳輸幾乎不可行。
udp協議雖然不能保證數據傳輸的可靠性,但它在數據的實時性、帶寬的利用率等方面有著tcp望塵莫及的優勢。
ude協議,正是融合了tcp和udp各自的優點,ude協議在udp的基礎之上,實現了tcp的握手連接、數據校驗、超時重傳等機制,並且在某些方面比tcp做的更好:1.ude協議的數據確認機制比tcp更科學,不會重傳已經被對方接收的數據;2.ude的超時重傳機制不遵循rtt公平性(可以設置rtt的上限值),這就保證了當網路延時較高時,ude也可以用於傳輸對實時性要求較高的數據,降低帶寬的有效利用率換取實時性,另外它不等ack的到來就重傳數據(原理為第n幀沒收到ack、而第n+1、n+2幀已收到ack,則認為第n幀已經丟失);3.ude協議計算兩端之間的帶寬,用這個帶寬值和rtt值計算每次發送的數據量,可以最大化的利用帶寬;4.當網路發送擁塞,ude計算出新的帶寬值,它會控制帶寬值的下降幅度,以保證自身的抗網路抖動能力和帶寬競爭力;5.ude協議內部實現了心跳機制來檢測死鏈接,程序員不需要在設計時考慮死鏈接這樣的問題。
ude協議,極其適合在cs方式/p2p方式下做實時性數據的可靠傳輸。可以在公網搭建tcp server來轉發NAT穿透信令,在穿透之後,使用ude協議來做可靠傳輸。