之前仔细的介绍了一下TCP协议,链接:https://blog.csdn.net/qq_41936805/article/details/103441134
然后接下来再来介绍一下UDP协议,也是从UDP的报文结构开始说起,相对于TCP,UDP的报文结构简单了很多:由源端口,目标端口,数据包长度和奇偶校验值和用户数据组成。
由于其简单的结构,也意味着它少了很多TCP的功能,其中有:
- 不支持错误重传
- 不支持滑动窗口
但其也有自己的特点:
- 面向无连接
- 不维护连接状态,支持同时向多个客户端传输相同的消息
- 数据包报头只有8个字节,额外开销较小
- 吞吐量只受限于数据生成速率、传输速率以及机器性能
- 尽最大努力交付,不保证可靠交付,不需要维持复杂的链接状态表
- 面向报文,不对应用程序提交的报文信息进行拆分或者合并
结论
- TCP和UDP都是运输层的协议
- TCP提供可靠的通信传输,而UDP则常被用于网络和细节交给应用层通信传输
- TCP是面向连接的,UDP是面向无连接的
- TCP有三次握手的连接过程,UDP适合消息的多波发布,从单点向多点传输
- TCP具备可靠性,因为有三次握手和四次挥手,但是UDP不一定,有可能会丢失数据
- TCP利用序列号,保证了有序性,保证了数据包的信息交互,而UDP可能无序
- TCP速度慢,但是UDP速度快
- TCP属于重量级,是20个字节,UDP属于轻量级,是8个字节。