如何實現UDP 的可靠傳輸
阿新 • • 發佈:2021-09-03
tcp 與 udp 的區別
TCP 是一種面向連線的、可靠的、基於位元組流的傳輸層通訊協議
UDP 是一種無連線擦混輸層協議,提供面向事物的監看不可靠的訊息傳輸服務,可靠性由上層的應用層來實現,所以要實現udp可靠性傳輸,必須通過應用層來實現和控制
TCP如何實現可靠性傳輸?
確認機制,重傳機制,滑動視窗。
udp 如何實現可靠性傳輸
傳輸層無法保證資料的可靠性,只能通過應用層來保證,實現的方式參考tcp的可靠傳輸的方式,只是實現不在傳輸層,實現轉移到了應用層。
實現確認機制,實現重傳機制,實現視窗確認機制。
- 新增seq/ack機制,確保資料傳送到對端
- 添加發送和接收緩衝區,主要是使用者超時重傳。
- 新增超時重傳機制。
如果你不利用Linux 協議棧以及上層的socket機制,自己通過抓包和發包的方式實現可靠傳輸,那麼必須實現以下功能:
傳送:包的分片、包的確認、包的重發
接受:包的調序,包的序號確認