1.应用场景
主要用于学习计算机网络中传输层的UDP协议,弄清楚其工作原理。 |
2.学习/操作
1.文档阅读
网络协议概论 | Laravel 学院 - UDP 协议简介
HTTP、Socket、TCP、UDP的区别与联系
网络/Network - 数据链路层&网络层
RFC 768: User Datagram Protocol
2.整理输出 2.1 是什么
UDP 的全称是 User Datagram Protocol,中文名是用户数据报协议。
UDP 提供面向无连接的通信服务,是不具有可靠性的数据报协议。
UDP 虽然可以确保发送消息的大小,但不能保证消息一定会到达,传输途中如果出现丢包,UDP 不负责进行重发。
因此,应用有时候会根据自己的需要进行重发处理。甚至当包的到达顺序错乱时,UDP 也没有纠正功能。
此外,UDP 也不提供复杂的控制机制,即使出现网络拥堵,UDP 也无法进行流量控制等避免避免网络拥塞的行为。
由于 UDP 面向无连接,可以随时发送数据,本身的处理逻辑简单高效,因此,常用于以下场景:
- 包总量较少(DNS、DHCP)
- 视频、音频等多媒体即时通信(少量的丢包不影响通信质量)
- 广播通信(广播、多播)
UDP 报文首部由源端口号、目标端口号、包长和校验和组成:
- 源端口号:发送端端口号,该字段有可能为空(不需要返回的通信)
- 目标端口号:接收端端口号
- 包长度:UDP 首部的长度跟数据的长度之和
- 校验和:为了提供可靠的 UDP 首部和数据而设计,不一定会用到
2.2 为什么需要「应用场景」
主要用于:
-
包总量较少(DNS、DHCP)「不需要开发人员去做」
- 视频、音频等多媒体即时通信(少量的丢包不影响通信质量)
- 广播通信(广播、多播)
2.3 什么时候出现「历史发展」
随着计算机网络的发展而出现。
UDP 是User Datagram Protocol的简称, 中文名是用户数据报协议,是OSI(Open System Interconnection,开放式系统互联) 参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务,IETF RFC 768 [1] 是UDP的正式规范。UDP在IP报文的协议号是17。
28 August 1980
RFC 768: User Datagram Protocol
2.4 怎么实践
TBD
后续补充 ... |
3.问题/补充
4.参考
后续补充
...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)