如何实现UDP 的可靠传输

tcp 与 udp 的区别

TCP 是一种面向连接的、可靠的、基于字节流的传输层通信协议
UDP 是一种无连接擦混输层协议,提供面向事物的监看不可靠的消息传输服务,可靠性由上层的应用层来实现,所以要实现udp可靠性传输,必须通过应用层来实现和控制

TCP如何实现可靠性传输?

确认机制,重传机制,滑动窗口。

udp 如何实现可靠性传输

传输层无法保证数据的可靠性,只能通过应用层来保证,实现的方式参考tcp的可靠传输的方式,只是实现不在传输层,实现转移到了应用层。
实现确认机制,实现重传机制,实现窗口确认机制。

  • 添加seq/ack机制,确保数据发送到对端
  • 添加发送和接收缓冲区,主要是用户超时重传。
  • 添加超时重传机制。

如果你不利用Linux 协议栈以及上层的socket机制,自己通过抓包和发包的方式实现可靠传输,那么必须实现以下功能:

发送:包的分片、包的确认、包的重发
接受:包的调序,包的序号确认

posted @ 2021-09-03 21:40  wsl-hitsz  阅读(797)  评论(0编辑  收藏  举报