UDP
UDP报文结构
Source Port:源端口号,16位
Destination Port:目的端口号,16位
Length:UDP长度,16位
Checksum:UDP校验和,16位
data octets:数据
UDP的特点
- 面向非连接
- 不维护连接状态,支持同时向多个客户端传输相同的信息
- 数据包报头只有8个字节,额外开销小
- 吞吐量只受限于数据生成率、传输速率以及机器性能
- 尽最大努力交付,不保证可靠交付,不需要维持复杂的链接状态表
- 面向报文,不对应用程序提交的报文信息进行拆分或合并
TCP和UDP的区别
TCP和UDP是OSI模型中传输层中的协议,TCP提供可靠的通信传输,而UDP则常被用于让广播和细节控制交给应用层的通信传输。两者的区别如下:
- TCP面向连接,UDP面向无连接:
TCP有三次握手的连接过程,UDP适合消息的多播发布,从单个点向多个点传输信息; - 可靠性:
TCP利用握手确认和重传机制提供了可靠性保证,而UDP则可能被丢失,不知道有没有被接收; - 有序性:
TCP利用序列号保证了消息报的顺序交付,到达可能无序但TCP会进行排序,而UDP不具备有序性; - 速度:
TCP速度较慢,因为要创建连接保证消息的可靠性和有序性,要做很多额外的事情,而UDP则更适合对速度比较敏感的应用,比如在线视频媒体、电视广播、多人在线游戏等; - 量级:
TCP属于重量级,UDP属于轻量级,体现在源数据的头部大小(TCP是20个字节,UDP是8个字节)
后记
看到一篇博客,总结了UDP、TCP、TCP的常见问题以及面试问题,觉得写得很直观又易理解,放个链接以供自己以后回顾本知识点时查看 😃
点这里☞TCP 和 UDP 的区别