UDP实现TCP可靠传输

udp与tcp的区别

  • TCP(TransmissionControl Protocol 传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议。
    使用超时重传、数据确认、滑动窗口等方式确保数据包被正确地发送至目的端
  • UDP是(User Datagram Protocol 用户数据报协议),一种无连接的、不可靠的、基于数据报的传输层协议,提供面向事务的简单不可靠信息传送服务。
    可靠性由上层应用实现,所以要实现udp可靠性传输,必须通过应用层来实现和控制

设计方法

  1. 添加seq/ack机制,确保数据发送到对端
  2. 添加发送和接收缓冲区,主要是用户超时重传
  3. 添加超时重传机制
    详细说明:发送端发送数据时,生成一个随机seq=x,然后每一片按照数据大小分配seq。数据到达接收端后接收端放入缓存,并发送一个ack=x的包,表示对方已经收到了数据。发送端收到了ack包后,删除缓冲区对应的数据。时间到后,定时任务检查是否需要重传数据。

猜你喜欢

转载自blog.csdn.net/weixin_39554266/article/details/83270551