如何提高UDP的可靠性
生活随笔
收集整理的這篇文章主要介紹了
如何提高UDP的可靠性
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
TCP是通過確認機制和超時重傳機制實現可靠傳輸
?
UDP
UDP它不屬于連接型協議,因而具有資源消耗小,處理速度快的優點,所以通常音頻、視頻和普通數據在傳送時使用UDP較多,因為它們即使偶爾丟失一兩個數據包,也不會對接收結果產生太大影響。傳輸層無法保證數據的可靠傳輸,只能通過應用層來實現了。實現的方式可以參照tcp可靠性傳輸的方式,只是實現不在傳輸層,實現轉移到了應用層。
關鍵在于兩點,從應用層角度考慮:
1 提供超時重傳,能避免數據報丟失。
2 提供確認序列號,可以對數據報進行確認和排序。
?
本端:首先在UDP數據報定義一個首部,首部包含確認序列號和時間戳,時間戳是用來計算RTT(數據報傳輸的往返時間),從何計算出合適的RTO(重傳的超時時間)。然后以等-停的方式發送數據報,即收到對端的確認之后才發送下一個的數據報。當時間超時,本端重傳數據報,同時RTO擴大為原來的兩倍,重新開始計時。
?
對端:接受到一個數據報之后取下該數據報首部的時間戳和確認序列號,并添加本端的確認數據報首部之后發送給對端。根據此序列號對已收到的數據報進行排序并丟棄重復的數據報。
轉載于:https://www.cnblogs.com/home123/p/7499608.html
總結
以上是生活随笔為你收集整理的如何提高UDP的可靠性的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 总结第九天
- 下一篇: 软件工程---在此基础上,进行软件的改进