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

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

相关推荐
名字还没想好☜5 小时前
Go 的 TCP 粘包与拆包:用长度前缀协议 + bufio 正确读消息
后端·tcp/ip·golang·go·php
leikooo5 小时前
ARTS 0906: 辅助栈记录每层最小值、OSI 模型从未真正落地与与其被动等待被颠覆不如主动设计规则
数据结构·人工智能·tcp/ip
Shadow(⊙o⊙)5 小时前
数据链路层ARP协议、NAT路由技术、代理服务器、内网穿透、内网打洞、交换机+集线器
网络·网络协议·tcp/ip
青瓦梦滋5 小时前
Linux高级IO
linux·运维·服务器·网络·网络协议·tcp/ip
xieliyu.7 小时前
HTTPS 加密流程深度解析|从 HTTP 痛点到 TLS 握手全过程
网络·笔记·网络协议·计算机网络·http·https
张人玉7 小时前
基于 C# WinForms + .NET 8 + SQLite + TCP Socket 的多连接通讯调试工具——TCP通讯助手(TcpAssistant)
tcp/ip·sqlite·c#·.net
我爱cope7 小时前
【计算机网络 | 传输层5:TCP 如何实现可靠传输?滑动窗口、累计确认与重传机制】
网络·网络协议·学习·tcp/ip·计算机网络·传输层
测试猿实操笔记15 小时前
DNS 通俗讲解:域名 ↔ IP 翻译
网络·网络协议·tcp/ip
liyuanchao_blog16 小时前
OVN/OVS场景下虚拟机新网卡通过 DHCP 获取 IP 地址的完整过程
网络·网络协议·tcp/ip·云计算
uoKent18 小时前
计网中的TCP/UDP协议 特点与联系
网络协议·tcp/ip·udp