一、UDP协议背景及概念
1、背景
-
1980年由科学家David P. Reed提出
-
协议简单,搭建在IP协议之上
-
尽可能的减少通信机制,速度非常快
-
该协议的RFC只有两页
2、UDP协议介绍
- 全称:User Datagram Protocol,用户数据报文协议
- 定义:在传输层提供直接发送报文(Datagram)的能力。
Datagram是数据传输的最小单位
- 目标:发送报文,无法拆分数据
为什么不直接调用IP协议?
IP协议只能把数据从一个网络接口发送到另一个网络接口,无法寻址到应用
二、UDP的封包格式
设计目标:允许用户直接发送报文的情况下最大限度的简化应用的设计
- Source Port:源端口号
- Destination Port:目标端口号
- Length:消息体长度
- Checksum:检查封包是否出错
- Data octets:一个字节一个字节的数据。Octet是8位。
三、UDP vs TCP
UDP | 对比项 | TCP |
---|---|---|
提供报文交换,简化协议 | 本质 | 提供可靠的网络传输 |
不可靠 | 可靠性 | 可靠 |
无序 | 顺序 | 有序 |
负载小 | 负载 | 负载大 |
合适 | 广播场景 | 不合适,代价大 |
四、聊天室场景分析
聊天室是否适合UDP?
不合适,聊天室并发高但流量不大,依赖可靠性
HTTP协议适不适合UDP?
合适,HTTP3.0就是建立在UDP上的
关注与赞助
飞鸽FlyGo官网
微信公众号
赞助
码字和开源离不开您的支持,感谢您的赞助和支持。
评论区