UDP如何实现可靠传输
传输层无法保证数据的可靠传输,只能通过应用层来实现了。实现的方式可以参照tcp可靠性传输的方式,只是实现不在传输层,实现转移到了应用层。
最简单的方式是在应用层模仿传输层TCP的可靠性传输。下面不考虑拥塞处理,可靠UDP的简单设计。
- 1、添加seq/ack机制,确保数据发送到对端
- 2、添加发送和接收缓冲区,主要是用户超时重传。
- 3、添加超时重传机制。
详细说明:送端发送数据时,生成一个随机seq=x,然后每一片按照数据大小分配seq。数据到达接收端后接收端放入缓存,并发送一个ack=x的包,表示对方已经收到了数据。发送端收到了ack包后,删除缓冲区对应的数据。时间到后,定时任务检查是否需要重传数据。
https://www.jianshu.com/p/6c73a4585eba
UDP如何实现可靠传输相关推荐
- 基于UDP服务实现可靠传输
基于UDP服务实现可靠传输原理+C++实现 文章目录 基于UDP服务实现可靠传输原理+C++实现 0 作业要求 1 实现思路 1.1 TCP实现可靠传输的机制 1.1.1 报文分析 1.1.2 连接管 ...
- Python在应用层实现UDP协议的可靠传输
功能描述: 使用UDP协议传输文件,在应用层实现可靠传输,避免传输层不保序和可能丢包造成的不可靠传输问题. 基本思路: 在发送端使用一个线程把要发送的内容进行分块传输,发送时携带每个分块的序号,同时使 ...
- 网络协议从入门到底层原理(5)传输层(UDP、TCP - 可靠传输、流量控制、拥塞控制、建立连接、释放连接)
传输层( Transport) 传输层( Transport) UDP 协议(数据格式.检验和) 端口(Port) TCP TCP - 数据偏移.保留 TCP - 检验和( CheckSum) TCP ...
- 基于UDP的可靠传输——QUIC 协议
一.UDP协议 UDP用户数据报协议,非连接的协议,传输数据之前源端和终端不建立连接,当它想传送时直接去抓取来自应用程序的数据,并尽可能快地把它扔到网络上. UDP传输协议的特点 UDP无连接,时间上 ...
- 支付宝二面:如何用 UDP 实现可靠传输?
相信大家面试经常会被问到一个问题 "如何用UDP实现可靠传输",今天就给大家分享一个基于 UDP 实现的可靠传输协议:QUIC . 这几天看到一篇蚂蚁集团实战 QUIC 的文章,我 ...
- UDP(首部)和TCP(首部、三次握手、四次挥手、可靠传输、滑动窗口、流量控制、拥塞控制(慢开始、拥塞避免、快重传、快恢复))
1.UDP 用户数据报协议 UDP(User Datagram Protocol): 是无连接的,尽最大可能交付,没有拥塞控制,面向报文(对于应用程序传下来的报文不合并也不拆分,只是添加 UDP 首部 ...
- UE4 UDP是如何进行可靠传输的
目录 前言 UE4网络框架 NetDrivers, NetConnections, and Channels Initiating Connections / Handshaking Flow 重新建 ...
- TCP、UDP、TCP三次握手与四次挥手、TCP如何保证可靠传输、TCP异常分析、拆包和粘包等
4.OSI模型 4.1.OSI七层模型 4.2.七层模型功能 物理层:利用传输介质为数据链路层提供物理连接,实现比特流的透明传输,如网线:网卡标准. 数据链路层:接收来自物理层的位流形式的数据 ...
- 如何利用UDP实现可靠传输(RUDP)
4.UDP的三角制约原则 其实在实时通信领域存在一个三角平衡关系--成本.质量和时延三者的制约关系: 也就是说投入的成本.获得的质量和通信的时延之间是一个三角制约 (LEQ) 关系,所以实时通信系统的 ...
最新文章
- “昊论坛”热力来袭!一网打尽【微生物绝对定量】技术特色和应用
- samba服务器_麒麟V10链接SAMBA服务器的方法
- Keepalived高可用集群来实现web服务器负载均衡集群
- Net Present Value - NPV
- wind 下装mysql,windows 下安装MySQL
- 微信公众号中选择时间css,微信公众号到底应该几点推文?
- 第五届省赛(软件类)真题----Java大学B组答案及解析
- 年薪 50w+ 的程序员,是这样写代码的?
- linux内核进程抢占,Re: Linux中进程能否被抢占
- 开课吧:Html5有哪些新特性?
- GTK测试程序(十四)
- for循环与each的区别
- 受力分析软件_大赛作品 | 关于Z型路灯受力情况分析
- BLUE引擎检查放入装备的名称全名脚本
- 进程间通信之CreatePipe
- 鸿蒙处理器985相当于内核多少,麒麟985处理器相当于骁龙多少_麒麟985处理器性能测评...
- electron中引入iohook来监听系统级鼠标键盘事件
- 用Java正则替换手机号中间4位数
- 【绝对干货】kafka偏移量设置
- 用户体验 | 深耕用户体验筑造银行竞争的护城河