UDP的报文结构及注意事项

news/2024/5/18 16:09:07 标签: udp, 网络, 网络协议

UDP的报文结构及注意事项

  • 🔎UDP的报文结构
    • 源端口和目的端口
    • 报文长度
    • 校验和
  • 🔎UDP的注意事项
    • 端口号
    • 报文长度
    • 校验和
  • 🔎结尾

🔎UDP的报文结构

在这里插入图片描述
图片来自网络


在这里插入图片描述

源端口和目的端口

如果将 源IP 和 目的IP 看作是两台计算机在网络中的地址
那么 源端口 和 目的端口 就看作是两台计算机中的程序(比如 QQ)

举个栗子🥝

唐僧的自我介绍
贫僧自东土大唐而来, 欲往西天拜佛求经

这里的东土大唐就是源IP, 西天就是目的IP
这里的贫僧就是源端口, 拜佛就是目的端口

报文长度

一个 UDP 报文长度的最大值是 64KB
(2字节 --> 0 ~ 65535 --> 65535 / 1024 ≈ 64)

校验和

校验和是为了判断当前传输的数据是否出错

网络传输是有一定几率出现故障的(外部环境的干扰,强磁场的影响等)

举个栗子🥝

女神让滑稽老哥去买菜
分别是(1)芹菜 (2)黄瓜 (3)豆角 (4)白菜, 一共4样

滑稽老哥由于出门太急,只听清了要买4样菜
这时候滑稽老哥买的菜的种类不等于4样, 那么他一定是买错了
但是如果他买了4样菜,也不一定就买对了, 有可能滑稽老哥将黄瓜买成了土豆

校验和就是为了判定买的菜是不是4样
如果不是4样菜, 就一定是出错了
如果是, 也不一定就对


为了让校验和能够识别率更高一些(更为可靠), 计算的时候通常会用数据内容作为参数进行计算
数据内容发生变化, 校验和也会发生变化
(选取内容的一部分, 通过一些算术运算, 数学公式的变换,得到一个数值. 例如奇偶校验等)

发送方, 把载荷数据, 带入到校验和算法中, 计算生成的校验和结果(sum1)

在这里插入图片描述
接收方, 收到的数据, 既有载荷, 也有校验和 sum1
接收方通过同样的算法计算载荷得到校验和 sum2
对比 sum1 与 sum2 是否相同
如果不同, 则证明传输有误

🔎UDP的注意事项

端口号

端口号的取值范围是 0 ~ 65535 (2字节)

其中 < 1024 的端口号, 称为 “知名端口号”, 这部分端口是给一些服务器预留的, 编码的时候通常不使用这部分端口号

报文长度

使用 UDP 编程时, 需要注意 UDP 的报文长度不能过长

校验和

校验和的结果相同, 不一定传输无误
校验和的结果不同, 一定传输有误

🔎结尾

创作不易,如果对您有帮助,希望您能点个免费的赞👍
大家有什么不太理解的,可以私信或者评论区留言,一起加油


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

相关文章

「解析」Pytorch 自动计算 batchsize

日志是一个十分必要的操作&#xff0c;有助于后期分析实验结果&#xff0c;特别是在多台不同环境下训练&#xff0c;为了区分&#xff0c;还是十分有必要记录相关平台信息的&#xff0c;比如 hostname&#xff0c;Python版本信息&#xff0c;Pytorch版本信息等&#xff01; im…

【人工智能概论】008python面向对象的程序设计

【人工智能概论】008python面向对象的程序设计 文章目录【人工智能概论】008python面向对象的程序设计1. 概念简介2. 类的创建与实例化对象3. 类属性定义及其访问4. 类中普通方法定义与调用5. 私有属性6. 构造方法7. 析构方法8. 常用的内置方法8.1 str函数8.2 比较运算内置方法…

CVE漏洞复现-CVE-2022-22947-Spring Cloud Gateway RCE

CVE-2022-22947-Spring Cloud Gateway RCE 基本介绍 微服务架构与Spring Cloud 最开始时&#xff0c;我们开发java项目时&#xff0c;所有的代码都在一个工程里&#xff0c;我们把它称为单体架构。当我们的项目的代码量越来越大时&#xff0c;开发的成员越来越多时&#xff…

好用的开源框架收集

LiteFlow 链接: LiteFlow 如果你要对复杂业务逻辑进行新写或者重构&#xff0c;用LiteFlow最合适不过。它是一个编排式的规则引擎框架&#xff0c;组件编排&#xff0c;帮助解耦业务代码&#xff0c;让每一个业务片段都是一个组件。 利用LiteFlow&#xff0c;你可以将瀑布流…

#mvn 打包ik分词器报错#

场景&#xff1a;在window上安装ik分词器&#xff0c;需要先mvn打包&#xff0c;结果报错 原因&#xff1a;由于jdk版本的问题导致 解决过程 1&#xff1a;打包流程 git clone https://github.com/medcl/elasticsearch-analysis-ik #git clone https://gitcode.net/mirrors/me…

微信小程序中如何发送客服消息给用户

微信小程序是一种快速开发和发布应用程序的平台&#xff0c;可以为用户提供各种服务和功能。而与用户进行沟通和交互是实现这些目标的重要步骤之一。因此&#xff0c;在本文中&#xff0c;我们将介绍如何在微信小程序中使用客服消息来与用户进行联系。 步骤一&#xff1a;获取…

Spring-Web spi机制解析

org.springframework.web.SpringServletContainerInitializer#onStartup 在这里打个断点&#xff0c;查看程序是否会进来 可以发现程序进来了&#xff1a;主要spi机制&#xff0c;看看这里做了什么操作&#xff1f; 去寻找所有实现了WebApplicationInitializer的类 将符合条件…

电阻器的原理、类型、参数以及生活中常见的应用

电阻器是电子电路中最基本的元件之一&#xff0c;它的作用是限制电流流过的大小&#xff0c;在电子电路中广泛应用于电流控制、电压分压、信号衰减等方面。在本文中&#xff0c;我们将详细介绍电阻器的原理、类型、参数以及生活中常见的应用。 一、电阻器的原理 电阻器是一种…