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+一、n+2幀已收到ack,則認爲第n幀已經丟失);3.ude協議計算兩端之間的帶寬,用這個帶寬值和rtt值計算每次發送的數據量,能夠最大化的利用帶寬;4.當網絡發送擁塞,ude計算出新的帶寬值,它會控制帶寬值的降低幅度,以保證自身的抗網絡抖動能力和帶寬競爭力;5.ude協議內部實現了心跳機制來檢測死連接,程序員不須要在設計時考慮死連接這樣的問題。程序員

    ude協議,極其適合在cs方式/p2p方式下作實時性數據的可靠傳輸。能夠在公網搭建tcp server來轉發NAT穿透信令,在穿透以後,使用ude協議來作可靠傳輸。網絡

    對rudp技術感興趣的朋友能夠加羣:172297772tcp

相關文章
相關標籤/搜索