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伪头部的长度。

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

相关推荐
游戏开发爱好者82 小时前
使用克魔助手查看iOS 应用程序使用历史记录和耗能历史记录
websocket·网络协议·tcp/ip·http·网络安全·https·udp
日月星辰Ace4 小时前
HTTP 和 HTTPS 请求流程
网络协议·http·https
lgily-12254 小时前
Linux机器测试IP及端口连通性方法记录
linux·运维·tcp/ip
左灯右行的爱情6 小时前
计算机网络-TCP可靠传输机制
网络·tcp/ip·计算机网络
小杨4046 小时前
python入门系列十六(网络编程)
人工智能·python·网络协议
续亮~18 小时前
ANP协议深度解析:智能体网络协议的演进与革新
网络·后端·网络协议·ai·ai编程
学习2年半20 小时前
+++++背到厌倦。持续更新
网络·网络协议·rpc
秉承初心20 小时前
HTTP 压力测试工具autocannon(AI)
网络协议·测试工具·http
Lonwayne20 小时前
为什么ChatGPT选择SSE而非WebSocket?
websocket·网络协议·chatgpt·程序那些事
昊昊该干饭了1 天前
玩转代理 IP :实战爬虫案例
运维·服务器·爬虫·网络协议·tcp/ip·网络爬虫