UDP 的报文结构以及注意事项

news/2024/5/18 12:36:05 标签: udp, 网络协议, 网络

UDP协议

1.UDP协议端格式

 1.图中的16位UDP长度,表示整个数据报(UDP首部+UDP数据)的最大长度

2.若校验和出错,会直接丢弃

2.UDP的报文结构

 

UDP报文主体分为两个部分:UDP报头(占8个字节)+UDP载荷/UDP数据

1.源端口号

16位,2个字节

2.目的端口号

16位,2个字节

3.包长度

指示了UDP数据报的整个长度,共16位,占两个字节,包括UDP首部和数据部分。

2个字节能表示的数据范围是0~65535,也就是能够表示的报文长度是65536字节(Byte),转换成KB,65536/1024 = 64 KB 这就是一个UDP报文所能表示的最大长度.

4.校验和

用于校验报文的完整性,该字段称为校验和(checksum)。校验和字段用于验证UDP数据报在传输过程中是否发生了损坏或错误。

数据在传输的时候,本质上是0/1bit流,通过光信号或者电信号来表示,如果在传输的时候收到干扰,就可能会出现比特翻转现象.这个时候就需要校验和校验数据是否出错.

5.大小受限

UDP 协议首部中有一个 16 位的最大长度。也就是说一个 UDP 能传输的数据最大长度是 64K (包含 UDP 首部)。

基于UDP的应用层协议

  • NFS:网络文件系统
  • TFTP:简单文件传输协议
  • DHCP:动态主机配置协议
  • BOOTP:启动协议(用于无盘设备启动)
  • DNS:域名解析协议
  • 包括自己写 UDP 程序时自定义的应用层协议。

UDP 和TCP 的区别图示

  • UDP具有较低的延迟和较小的网络开销,适用于对实时性要求较高的应用,如音频、视频流、实时游戏等。
  • TCP在保证可靠性的基础上,会引入较高的延迟和额外的网络开销,适用于对数据完整性和顺序性要求较高的应用,如文件传输、Web请求等。

 

 

 


http://www.niftyadmin.cn/n/4942090.html

相关文章

最长递增子序列——力扣300

int lengthOfLIS(vector<int>& nums) {int len=1, n=nums.size();if

【Docker】 使用Docker-Compose 搭建基于 WordPress 的博客网站

引 本文将使用流行的博客搭建工具 WordPress 搭建一个私人博客站点。部署过程中使用到了 Docker 、MySQL 。站点搭建完成后经行了发布文章的体验。 WordPress WordPress 是一个广泛使用的开源内容管理系统&#xff08;CMS&#xff09;&#xff0c;用于构建和管理网站、博客和…

gitee上传一个本地项目到一个空仓库

gitee上传一个本地项目到一个空仓库 引入 比如&#xff0c;你现在本地下载了一个半成品的框架&#xff0c;现在想要把这个本地项目放到gitee的仓库上&#xff0c;这时就需要我们来做到把这个本地项目上传到gitee上了。 具体步骤 1. 登录码云 地址&#xff1a;https://gite…

【C++笔记】C++之类与对象(上)

【C笔记】C之类与对象&#xff08;上&#xff09; 1、类是结构体的升级2、类中可以定义的东西3、类访问限定符4、类的声明5、类的实例化(定义)6、类的大小的计算7、this指针 1、类是结构体的升级 C的一个显著特征就是兼容C语言&#xff0c;所以C把结构体“升级”成了“类”&am…

高并发数据抓取实战:使用HTTP爬虫ip提升抓取速度

又到每天一期学习爬虫的时间了&#xff0c;作为一名专业的爬虫程序员&#xff0c;今天要跟你们分享一个超实用的技巧&#xff0c;就是利用HTTP爬虫ip来提升高并发数据抓取的速度。听起来有点高大上&#xff1f;别担心&#xff0c;我会用通俗易懂的话来和你们说&#xff0c;让你…

了解51单片机

目录 51单片机名字的由来 主要功能 1.控制处理 2.数据处理 3.通信 4.定时计数 51单片机的组成 1.中央处理器CPU 2.存储器RAM、只读存储器ROM 3.I/O口和中断系统 4.显示驱动电路、A/D转换器 5.定时器/计数器、脉宽调制电路、模拟多路转换器等电路 单片机的应用领域(…

华为OD机试-数据分类

题目描述 对一个数据a进行分类&#xff0c; 分类方法是&#xff0c;此数据a(4个字节大小)的4个字节相加对一个给定值b取模&#xff0c; 如果得到的结果小于一个给定的值c则数据a为有效类型&#xff0c;其类型为取模的值。 如果得到的结果大于或者等于c则数据a为无效类型。 比…

win10 安装ubuntu子系统并安装宝塔

1、安装子系统 2、ubuntu 中安装宝塔 这里需要注意的 &#xff1a; 大部分文章上写的是“面板账户登录信息”不能直接访问&#xff0c;要改成127.0.0.1&#xff1a;8888去访问。 这种情况适合“面板账户登录信息”端口就是8888。 想我的就是32757 这时你就要用 http://127.0…