17、UDP怎么实现可靠传输【中高频】

UDP是传输层协议,本身就是不可靠的,所以只能在应用层来实现了。实现的方式可以参照TCP可靠性传输的方式,只是实现不在传输层,实现转移到了应用层。

  • 校验和:在UDP数据包中添加校验和字段,接收方在接收数据时计算校验和,并与发送方的校验和进行比较。如果不匹配,则要求发送方重新发送数据。
  • 序列号和确认号:类似于TCP协议的序列号和确认号机制,发送方给每个数据包分配一个唯一的序列号,接收方收到数据后发送确认号。发送方根据确认号判断哪些数据包已经被成功接收,可以进行相应的重传。
  • 超时重传:发送方可以设置一个超时计时器,如果在指定时间内未收到确认消息,则认为数据丢失,触发重传操作。
  • 流量控制和拥塞控制:通过控制 发送数据的速率,可以避免网络拥塞和数据丢失。这可以通过动态调整滑动窗口来实现。
相关推荐
数据与后端架构提升之路15 分钟前
系统架构设计师常见高频考点总结之计算机网络
网络
xdpcxq102927 分钟前
风控场景下超高并发频次计算服务
java·服务器·网络
工业HMI实战笔记1 小时前
【拯救HMI】让老设备重获新生:HMI低成本升级与功能拓展指南
linux·运维·网络·信息可视化·人机交互·交互·ux
代码游侠1 小时前
复习—sqlite基础
linux·网络·数据库·学习·sqlite
一颗青果1 小时前
Reactor模型 | OneThreadOneLoop
运维·网络
7ACE2 小时前
Wireshark TS | 超时重传时间不翻倍
网络协议·tcp/ip·wireshark
微爱帮监所写信寄信3 小时前
微爱帮监狱寄信写信工具照片高清处理技术架构
开发语言·人工智能·网络协议·微信·php
步步为营DotNet3 小时前
深入理解.NET 中的IHostedService:后台任务管理的基石
java·网络·.net
梁辰兴3 小时前
计算机网络基础:虚拟互联网络
网络·计算机网络·计算机·计算机网络基础·梁辰兴·虚拟互联网络
li星野3 小时前
TCP 套接字+TLS+HTTP 基本认证
网络协议·tcp/ip·http