UDP实现TCP可靠传输
其他
2018-11-15 21:03:57
阅读次数: 0
udp与tcp的区别
- TCP(TransmissionControl Protocol 传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议。
使用超时重传、数据确认、滑动窗口等方式确保数据包被正确地发送至目的端
- UDP是(User Datagram Protocol 用户数据报协议),一种无连接的、不可靠的、基于数据报的传输层协议,提供面向事务的简单不可靠信息传送服务。
可靠性由上层应用实现,所以要实现udp可靠性传输,必须通过应用层来实现和控制
设计方法
- 添加seq/ack机制,确保数据发送到对端
- 添加发送和接收缓冲区,主要是用户超时重传
- 添加超时重传机制
详细说明:发送端发送数据时,生成一个随机seq=x,然后每一片按照数据大小分配seq。数据到达接收端后接收端放入缓存,并发送一个ack=x的包,表示对方已经收到了数据。发送端收到了ack包后,删除缓冲区对应的数据。时间到后,定时任务检查是否需要重传数据。
转载自blog.csdn.net/weixin_39554266/article/details/83270551