UDP协议详解

虽然说是详解,但是UDP确实没啥讲的,就当水了一篇文章
一. UDP介绍
1. 简介
UDP(User Datagram Protocol)传输与IP传输非常类似。
你可以将UDP协议看作IP协议暴露在传输层的一个接口。
UDP协议同样以数据包(datagram)的方式传输,它的传输方式也是”Best Effort”的,所以UDP协议也是不可靠的(unreliable)。
那么,我们为什么不直接使用IP协议而要额外增加一个UDP协议呢?
一个重要的原因是IP协议中并没有端口(port)的概念。
IP协议进行的是IP地址到IP地址的传输,这意味者两台计算机之间的对话。但每台计算机中需要有多个通信通道,并将多个通信通道分配给不同的进程使用。一个端口就代表了这样的一个通信通道。正如我们在邮局和邮差中提到的收信人的概念一样。
UDP协议实现了端口,从而让数据包可以在送到IP地址的基础上,进一步可以送到某个端口。
2. UDP特点
- 工作在传输层
- 提供不可靠的网络访问
- 非面向连接协议
- 有限的错误报错
- 传输性能高
- 无数据恢复特性
二. UDP报文
UDP的报文比TCP简单多了
16位的源端口和目标端口;16位的UDP数据包长度,16位的UDP校验值
下面就是数据data
这里没有TCP的六个flag,也没有序号,序列号,也就意味着有些功能没有
比如序号和序列号用于标记包的顺序和判断包是否收到,UDP没有这东西,也就意味着逆数据包收到没收到他就不管了
没有flag标记位,也就意味着没有握手分手,导致它的运行会更快,但是也是因为没有TCP的确认过程,所以可靠性差,不靠谱。
所以市面上还是TCP用的多。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Trtyr's Blog!
评论
匿名评论
你无需删除空行,直接评论以获取最佳展示效果