UDP的报文结构和特点

embedded/2024/12/27 23:36:41/

1.UDP传输协议的特点

使用UDP传输协议进行通信,过程类似于寄信,它的特点如下:

  1. 无连接:知道对端的IP号和端口号就直接进行传输,不需要建立连接;
  2. 不可靠:没有可靠机制,发送数据包以后,如果因为网络故障等原因,出现数据包丢失的问题,UDP协议层也不会返回故障信息给应用层;
  3. 面向数据报:应用层交给UDP多长的报文,UDP原样发送,既不会拆分,也不会合并;
  4. 支持全双工通信:UDP的socket能够同时进行读写,能支持同时收发数据;

2.UDP协议格式

  1. SourcePort和DestinationPort:源端口号和目的端口号,都是16位端口号,即占用两个字节;
  2. Length:报文长度,占用16位,也是两个字节,表示报头长度和负载长度的总和,单位是字节,因此UDP报文的总长度不能超过65535字节,即一条UDP报文传输的数据不能超过64k;
  3. Checksum:校验和,占用16位,也是两个字节,UDP协议使用CRC算法计算校验和,如果发送方发送的校验和和接收方计算的校验和相同,则表示数据传输大概率正确,反之,表示数据在传输过程中出现了错误。

3.UDP协议的应用场景

         基于UDP协议实现的应用层协议有DNS(域名解析协议),DHCP(动态主机配置协议),TFTP(简单文件传输协议)。

         TCP引入了可靠机制来保证数据传输的可靠性,但是同时也牺牲了一部分传输效率。相对于TCP协议,UDP协议虽然没有可靠机制来保证数据的可靠传输,但是UDP传输效率没有受到影响,因此同等网络条件下,传输效率要高于TCP。因此UDP协议适用于对数据可靠传输要求不高,但是对传输效率要求较高的场景。使用UDP协议通信不需要建立连接,可以直接根据IP地址和端口号进行传输,因此UDP可以使用在需要使用广播的场景中。


http://www.ppmy.cn/embedded/148684.html

相关文章

1.BMS电池管理系统的基础知识总结

我们常说的电动汽车核心三电部件,即大三电分别为电机、电控、电池,小三电为车载充电机、DCDC转换器、高压配电盒,其中动力电池系统占电动汽车成本40~ 50%左右,所以在动力电池有补贴高峰时,新能源汽车相当便宜,BMS作为动力电池系统中的灵魂而在,大约占动力电池成本的15~1…

Blazor项目中使用EF读写 SQLite 数据库

《信管通低代码信息管理系统应用平台》开发环境就是Blazor,其中的数据库访问就是使用SQLite数据库。SQLite 是一种轻量级的嵌入式数据库,具有以下优点: 1. 轻量级 小巧易用:SQLite 只需要一个动态库或单个文件,库的大…

美畅物联丨分布式锁实战:Spring Boot项目中的Redis应用

在分布式系统里,多个节点或许会同时对共享资源进行访问与操作。为防止出现数据不一致、资源竞争等状况,就需要一种机制来对这些并发访问加以协调,于是分布式锁就出现了。它如同一把全局的钥匙,在同一时刻仅有一个节点能够获取该钥…

【HarmonyOS 5.0】第十二篇-ArkUI公共属性(一)

一、公共样式类属性 ArkUI框架提供的基础组件直接或者间接的继承自 CommonMethod , CommonMethod 中定义的属性样式属于公共样式。下面就来学习这些样式 1.1.尺寸设置 宽高设置 设置组件的宽高,缺省时使用组件自身内容的宽高,比如充满父布…

信息安全管理与评估赛题第9套

全国职业院校技能大赛 高等职业教育组 信息安全管理与评估 赛题九 模块一 网络平台搭建与设备安全防护 1 赛项时间 共计180分钟。 2 赛项信息 竞赛阶段 任务阶段 竞赛任务 竞赛时间 分值 第一阶段 网络平台搭建与设备安全防护 任务1 网络平台搭建 XX:XX- XX:XX 50 任务2…

[Unity Shader]【图形渲染】 数学基础4 - 矩阵定义和矩阵运算详解

矩阵是计算机图形学中的重要数学工具,尤其在Shader编程中,它被广泛用于坐标变换、投影变换和模型动画等场景。本文将详细介绍矩阵的定义、基本运算以及如何在Shader中应用矩阵,为初学者打下坚实的数学基础。 一、什么是矩阵? 矩阵是一个由数字排列成的长方形数组,通常记作…

无人零售 4G 工业无线路由器赋能自助贩卖机高效运营

工业4G路由器为运营商赋予 “千里眼”,实现对贩卖机销售、库存、设备状态的远程精准监控,便于及时补货与维护;凭借强大的数据实时传输,助力深度洞察销售趋势、优化库存、挖掘商机;还能远程升级、保障交易安全、快速处理…

【es6复习笔记】箭头函数(5)

简介 本教程将介绍如何在 JavaScript 中使用箭头函数,包括箭头函数的基本语法、特点以及在实际开发中的应用。通过本教程,你将学会如何使用箭头函数来简化代码,提高代码的可读性和简洁性。 箭头函数的基本语法 箭头函数是 ES6 引入的一种新…