用户数据报协议 UDP

news2024/10/7 9:21:23

文章目录

      • 一、UDP数据报格式
      • 二、UDP校验和计算
        • 1.伪报头
        • 2.伪报头结构
        • 3.检验和计算
      • 三、UDP特点

 UDP 的特点:

  • 无连接、不可靠,运行快捷
     在传输报文之前不需要建立连接,因此减少了协议开销传输延时。此外,除了对报文提供可选的校验和之外,几乎没有其他保证数据传输可靠性的措施,若 UDP 检测到差错分组,会直接将分组丢弃。

  • 面向报文的传输层协议
     对应用程序提交的报文既不合并也不拆分,而是保留原报文的长度和格式,直接添加 UDP 协议头部后提交给下层 IP协议。

 UDP 的不可靠体现在三个方面:

  • 丢失:UDP 报文可能会丢失(发送端没有差错重传机制);

  • 乱序:无法确保 UDP 报文的接收顺序(对于发送的数据报不会进行编号与重组);

  • 重复:出于底层协议栈的实现,接收端可能接受到重复的 UPD 数据报

 使用 UDP 时,应用程序必须选择合适长度的报文。若报文过短,则协议相对开销较大;若报文过长,则提交的 TPDU 可能在 IP层被分段,同样会降低效率。


一、UDP数据报格式

  • 端口号:包括源端口号与目的端口号,每个端口号的长度为16位;

  • 长度:定义了包含报头在内的用户数据包的总长度,共16位,故用户数据包的长度最大为 65535 字节,最小为8字节(只有报头);

  • 校验和:校验和为可选的,用来检验整个用户数据包在传输过程中是否出现差错。

UDP报文头的长度为8个字节。


二、UDP校验和计算

 UDP 校验和用以核验UDP数据包是否 正确传送到目的进程比特是否发生改变。UDP 校验和的计算包括3个部分:伪报头、UDP报头、应用层数据。

1.伪报头

 伪报头是为了防止出现路由选择错误的数据段。伪报头含有源地址、目的地址等信息,而UDP 数据报本身只包含目的端口号,故伪报头来自于 IP报头,在计算 UDP校验和之前,UDP必须先从IP层获取有关信息。

 之所以称为伪报头,是因为其本身不是用户数据报的真正头部,只是在计算的时候与用户数据报连接在一起。


2.伪报头结构

 其中 IP分组报头的协议号17表示 UDP,前面填充1字节的0。UDP长度为UDP数据报的长度,不包含伪报头。

3.检验和计算

 计算时,先将检验和字段置为0,然后将伪报头与用户数据报作为整体计算,以16位为单位,依次相加,并将溢出的进位回卷。

UDP的校验和计算(差错控制方式)只能对由链接引起的字节位错误,且除了对出错的数据报进行丢弃之外,并没有其他的弥补措施。


三、UDP特点

  1. UDP 支持一对一、一对多与多对多的交互式通信,这是 TCP 所不能提供的。

  2. UDP 最短报文长度只有8B,而 TCP 协议最短报文长度为20B。

  3. UDP 没有拥塞控制,网络拥塞时不会要求源主机降低报文发送速率,而是会直接丢弃个别报文。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/726829.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2023年湖北成人高考学习全流,今天启程别详细给大家介绍!

2023年湖北成人高考学习全流,今天启程别详细给大家介绍! 成人高考可以准备起来了,那么你了解成人高考的学习流程吗? 一、考前准备 确认好报考条件,准备报名资料,拿到书本教材开始复习备考。 湖北成人高考报…

canvas 绘制包含10个换行(‘\n’)文字例子,要求可以设置行高,文字最后整体在canvas的高度垂直居中

canvas 绘制包含10个换行(‘\n’)文字例子,要求可以设置行高,文字最后整体在canvas的高度垂直居中。 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Canvas Text Example</title><style>…

Redis锁防止重复提交

1.自定义注解方式 /*** author &#xff1a;网寻星公众号* date &#xff1a;Created in 2023/5/30 10:58* description&#xff1a;Redis锁防止重复提交* modified By&#xff1a;* version: 1.0$*/ Target({ElementType.METHOD}) Retention(RetentionPolicy.RUNTIME) Docume…

好用的记事本app怎么切换字体颜色呢?

很多人在使用记事本app的时候&#xff0c;会记录多条不同的内容&#xff0c;为了突出某条内容的重要性&#xff0c;将它的字体切换成更醒目的颜色是很多人都在使用的办法。对于比较好用的记事本软件来说&#xff0c;怎样操作才能切换字体颜色呢&#xff1f;以iPhone手机端敬业签…

【C语言】进阶指针(一)

目录 前言&#xff1a; 一、字符指针 二、指针数组与数组指针 &#xff08;一&#xff09;指针数组 &#xff08;二&#xff09;数组指针 三、数组传参与指针传参 &#xff08;一&#xff09;数组传参 &#xff08;二&#xff09;指针传参 前言&#xff1a; 进阶指针…

【Python】面向对象 ③ ( 构造函数 | 成员变量赋值问题 | 构造方法引入 | 构造函数可以同时定义成员变量 )

文章目录 一、构造函数1、成员变量赋值问题2、构造方法引入3、代码示例 - 构造方法3、构造函数可以同时定义成员变量 一、构造函数 1、成员变量赋值问题 在之前的博客中 , 定义的 Python 类 Student : class Student:name None # 姓名age None # 年龄def info(self):print…

AIGC:文生图模型Stable Diffusion

1 Stable Diffusion介绍 Stable Diffusion 是由CompVis、Stability AI和LAION共同开发的一个文本转图像模型&#xff0c;它通过LAION-5B子集大量的 512x512 图文模型进行训练&#xff0c;我们只要简单的输入一段文本&#xff0c;Stable Diffusion 就可以迅速将其转换为图像&am…

飞行动力学 - 第5节-part2-喷气式飞机的爬升性能 之 基础点摘要

飞行动力学 - 第5节-part2-喷气式飞机的爬升性能 之 基础点摘要 1. 最大爬升角2. 最大爬升率3. 一些历史记录4. 参考资料 1. 最大爬升角 喷气式飞机由于推力稳定输出&#xff0c;其最大爬升角相对容易计算&#xff1a; 2. 最大爬升率 爬升率相对复杂&#xff0c;使用无量纲数据…

【原生HTML】表格

1、一个表格合并后多选 我这里的表格是在elementUI的tabs页里的&#xff0c;所以数据格式多了一层 数据格式 html原生代码&#xff1a; <tableclass"multi-table"style"width: 100%; border-color: #ebeef5"border"1px"cellspacing"0&qu…

使用IDEA时关于Tomcat处理HTML请求乱码的问题(通过访问服务器的静态页面F12后响应头里的编码格式都是utf-8了,还是乱码)

解决方法在文末&#xff0c;大家可以下滑到底部直接浏览 今天在使用Tomcat访问静态页面时&#xff0c;页面出现乱码问题&#xff0c;各种办法的试了&#xff0c;内心一度处于奔溃的边缘&#xff0c;在外出跑步冷静了一下之后&#xff0c;思路渐渐清晰。 出现乱码后的第一步&a…

C数据结构与算法——顺序表 应用

实验任务 (1) 掌握顺序表结构及其 C 语言实现&#xff1b; (2) 掌握插入、删除等基本算法&#xff1b; (3) 掌握顺序表的基本应用&#xff08;将两个有序线性表合并为一个有序表&#xff09;。 实验内容 使用 C 语言实现顺序表的类型定义与算法函数&#xff1b;编写 main()函…

Verilog parameter的用法

parameter简介 parameter”是Verilog HDL中的一个关键字&#xff0c;代表着参数型常量&#xff0c;即用parameter来定义一个标识符代表一个常量&#xff0c;这样可以提高程序的可读性与可维护性。 parameter应用场景 #&#xff08;parameter number500&#xff09; 表示定义一…

零代码开发平台免费,未来企业数字化转型常用工具

什么是零代码开发平台 零代码开发平台指的是一种软件开发工具&#xff0c;能够使开发人员在不编写代码的情况下构建应用程序或快速应用程序。它们一般是通过拖放的方式创建用户界面&#xff0c;配置业务逻辑&#xff0c;集成数据库等操作&#xff0c;节省开发周期和人力成本。…

安森美-深力科NC7SV08P5X能成为极高速、高驱动和低功耗应用的理想选择吗?

描述&#xff1a; 关于安森美-深力科NC7SV08P5X是飞兆超低功率 (ULP-A) TinyLogic 系列的一个 2 输入“与”门。 ULP-A 是要求极高速、高驱动和低功耗应用的理想选择。 用于宽低电压工作范围&#xff08;0.9 V 到 3.6 V VCC&#xff09;&#xff0c;适合驱动和速度要求高于 Ti…

需求分析的概念和原则

概念和原则 需求分析是指在软件开发和项目管理中&#xff0c;通过收集、理解、分析和记录用户和系统对系统或产品的需求&#xff0c;以确定其详细的特征和功能。它是一个关键的过程&#xff0c;旨在确保项目成功地满足用户的需求和期望。 在进行需求分析时&#xff0c;有一些…

常用数据聚类算法总结记录

本文的主要目的是总结记录日常学习工作中常用到的一些数据聚类算法&#xff0c;对其原理简单总结记录&#xff0c;同时分析对应的优缺点&#xff0c;以后需要的时候可以直接翻看&#xff0c;避免每次都要查询浪费时间&#xff0c;欢迎补充。 聚类算法是一种无监督学习的方法&am…

Docker安装 Nginx

相关文章&#xff1a; Docker容器之间的连接和通信(四)_做测试的喵酱的博客-CSDN博客 一、 Docker安装 Nginx 1.1、查看可用的 Nginx 版本 docker search nginx 1.2、安装最新 Nginx 版本 docker pull nginx:latest 1.3 查看本地镜像 docker images 1.4 运行容器 运行…

架构-新教材补充内容

系统工程 两分&#xff0c;需要计算的选择题 #mermaid-svg-opoH5AvD05BTqVHp {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-opoH5AvD05BTqVHp .error-icon{fill:#552222;}#mermaid-svg-opoH5AvD05BTqVHp .error-te…

关系型数据库全栈入选唯一厂商!GBASE南大通用的“可信”时刻

作为国产数据库的领军企业&#xff0c;业界公认的“可信”力量&#xff0c;GBASE南大通用深度参与大会&#xff0c;与各协会领导、学术大咖、技术领军共同论道我国数据库自立自强之路。 现在让我们一起盘点为期两天的议程中GBASE南大通用的“高光”时刻&#xff0c;且看GBASE是…

7.7工作总结

一、前言&#xff1a;这周三领导让我修改一个入库接口&#xff0c;需要加入三个参数&#xff0c;我直接把相应的数据加进去了忽略了这个参数是放在一个List中的同时还需要转成json的形式。因此我又修改了一遍。 二、错误的形式&#xff1a; 在接口文档中是这样的形式&#xff…