【网络编程】UDP协议

协议格式

特点

1.无连接(Connectionless)

  • 特点:在发送数据之前,双方不需要像 TCP 那样先建立连接(三次握手)。

  • 结果:节省了建立连接的开销,速度快。

2. 不可靠(Unreliable)

  • 特点:UDP 不保证数据报能送达对方。它"尽力而为"地发送,不具备重传机制。

  • 后果:

    • 数据可能丢失。

    • 数据可能乱序到达(先发的包后到,后发的包先到)。

    • 数据可能重复。

3. 面向报文(Message-Oriented)

  • 特点 :UDP 是一个报文 一个报文地发送和接收,保留了消息的边界。

  • 区别 :TCP 是"面向字节流"的,你发两次数据,接收方可能一次就把它们合在一起读了出来。但 UDP 不会,你发一个 100 字节的数据包,接收方必须用一次 recvfrom 读 100 字节;如果你发一个 200 字节的包,但你只提供一个 100 字节的缓冲区去读,余下的 100 字节会被直接丢弃。

常见问题

1.为什么我们写socket时,port是16位的?

答:因为内核中udp协议规定!

2.a.报头和有效载荷如何分离?b.有效载荷分用问题。

答:UDP报文的报头长度是固定的,为16位。16位目的端口号可以解决分用问题。

3.UDP存在粘包问题吗?

答:不存在。因为它是以数据报格式传输数据的。

4.怎么理解UDP协议报头?

答:它是一个协议结构体struct udphdr。

5.如何理解封装过程?

答:本质就是对结构体变量进行拷贝。

6.如何理解报文?

操作系统使用结构体struct sk_buff来管理报文信息。报文贯穿协议栈,封包和解包的核心就是移动指针。

7.当收到一个报文,我们如何做到用文件原理,读数据到应用层?见下图

相关推荐
liangshanbo121511 分钟前
前端高级面试题:WebSocket 双向流式通信怎么设计?
前端·websocket·网络协议
可乐鸡翅yeah_19 分钟前
新手梳理:HLS 线上问题,哪些该提给 CDN,哪些该找后端切片服务
开发语言·前端·javascript·vue.js·网络协议·http·m3u8在线
垆边人似月.21 分钟前
5G 网络建设(300 分档)
网络·5g
国科安芯39 分钟前
低轨卫星导航授时载荷中高精度定时控制器的时钟稳定性与抗辐射特性研究
网络·人工智能·低轨卫星·商业航天·授时·抗辐射·时钟稳定
白帽攻防录1 小时前
SRC 挖洞:V8 Turbofan 沙箱逃逸深度复盘,CVE-2026-6307 一根长矛怎么刺穿 Chrome 两道边界
网络·chrome·安全·网络安全·浏览器安全
网络小江1 小时前
上网第四十一课:从输入网址到页面显示——一次完整的网络之旅
网络协议
pt10431 小时前
CML网络仿真入门-3:Cisco Modeling Labs 网络工具功能详解
网络
欣欣之王来了1 小时前
5G网络基础:5G的核心特性,eMBB、uRLLC、mMTC的应用场景
网络·学习·计算机网络·安全·教程
杭州领祺科技1 小时前
保信子站深度解析:继电保护信息采集与故障诊断的关键枢纽
linux·服务器·网络·新能源·储能·虚拟电厂
灯澜忆梦2 小时前
【minio】#5 | MinIO 分布式部署 + HTTPS 部署
分布式·网络协议·https·对象存储·minio