TCP/IP协议—UDP

TCP/IP协议---UDP

UDP协议

用户数据传输协议 (UDP,User Datagram Protocol) 是一种无连接的协议,提供了简单的数据传输服务,不保证数据的顺序以及完整性。应用层很多通信协议都基于UDP进行传输,比如DNS、CoAP等。
UDP协议源文档

UDP通信特点

  • 无连接:数据传输不需要与对端建立连接,只需要知道对端IP地址以及端口号即可传输数据。
  • 不可靠:没有确认机制以及重传机制,不能保证数据传输的完整性。但也因此传输速度比TCP快,常用于直播、游戏等应用场景。
  • 可广播:可以直接对广播IP地址发送数据,实现一对多通讯。

UDP头部报文

UDP头部报文除去数据长度,一共有8个字节

  • Source Port:源端口号,长度为 16 比特,为本地应用端口号。
  • Destination Port:目的端口号,长度为 16 比特,为对端应用端口号。
  • Length:UDP报文长度,长度为 16 比特, Length=UDP头部(8字节)+UDP数据,因此Length最小值为8。
  • Checksum:UDP报文校验和,长度为 16 比特,Checksum的校验范围为UDP伪头部(12字节) + UDP头部(8字节) + UDP数据。Checksum使用二进制反码进行求和运算,最终结果为求和结果的反码。校验时如果数据位数不是偶数的话,会在最后补零。
  • data:UDP应用数据,最大为MTU-IP头部 - UDP头部 = 1500 - 20 - 8 = 1472字节。

UDP检验

UDP伪头部不会进行传输,只是用于校验。长度为12字节

  • source address:源IP地址,长度为32比特,为本地IP地址。
  • destination address:目的IP地址,长度为32比特,为对端IP地址。
  • zero:补零,长度为8比特,值为0。
  • protocol:UDP协议编号,长度为8比特,值为17。
  • UDP length:UDP报文长度,长度为16比特,不包括UDP伪头部的长度。

学习笔记,有问题欢迎指出

相关推荐
光芒Shine12 分钟前
【物联网-ModBus-RTU
物联网·网络协议
上海云盾第一敬业销售3 小时前
高防IP可以防护什么攻击类型?企业网络安全的第一道防线
网络·tcp/ip·web安全
心扬5 小时前
python网络编程
开发语言·网络·python·tcp/ip
程序员祥云5 小时前
https相比http的区别
网络协议·http·https
情系淮思5 小时前
客户端和服务器已成功建立 TCP 连接【输出解析】
服务器·网络·tcp/ip
熙客6 小时前
应用层协议:HTTPS
网络协议·https
2501_915106328 小时前
Flutter、React Native 项目如何搞定 iOS 上架?从构建 IPA 到上传 App Store 的实战流程全解析
websocket·网络协议·tcp/ip·http·网络安全·https·udp
feiyangqingyun9 小时前
Qt/C++开发监控GB28181系统/取流协议/同时支持udp/tcp被动/tcp主动
c++·qt·udp·gb28181
snetlogon209 小时前
JDK17 Http Request 异步处理 源码刨析
android·网络协议·http
2301_7930698210 小时前
Azure 虚拟机端口资源:专用 IP 和公共 IP Azure Machine Learning 计算实例BUG
tcp/ip·flask·azure