网络原理之 UDP 协议
目录
1. UDP 协议报文格式
2. UDP 的特点
(1) 无连接
(2) 不可靠
(3) 面向数据报
(4) 全双工
3. 基于 UDP 的应用层协议
前文是:UDP 的使用
首先了解一下基础知识:
1. UDP 协议报文格式
传输层最重要的协议有两个,一个是 TCP,一个是 UDP。
端口号,大家应该都知道吧,就是用来绑定进程的,这样就能够区分主机上不同的应用程序了,比如 3306 是 mysql 的端口号,8080 是 tomcat 的端口号。端口号就是固定占 2 个字节。
1 - 1023 这个范围的端口号称为知名端口号,是用来给知名的服务器,预留一个 "位置" (比如 22: ssh, 80: http, 443: https )
1024 - 65535 就是普通的端口号,知名端口号和普通端口号没什么区别,就是我们写程序的时候尽量不要绑定知名端口号,来确保我们的端口号和别人的端口号不会重复。
相比于 crc 算法,md5 算法就更好。
md5:有一系列的公式,来完成 md5 的计算。
md5 的特点:
1. 定长
无论数据多长,计算得到的 md5 ,都是固定长度(校验和本身就不应该很长,太长的话会加大网络传输的带宽)。
2. 分散
给定两个原始数据,哪怕绝大部分内容都一样,只要其中一个字节不同,得到的 md5 值差异都会很大。(非常适合作为 hash 函数)
3. 不可逆
给你一个原始数据,要计算出 md5,非常容易,给你一个 md5,让你还原出原始数据,计算了非常庞大,超过了现有计算机的算力极限,理论上是不可能的。
2. UDP 的特点
(1) 无连接
UDP 自身是不会存储对端的信息(ip 和端口)的,要在发送数据的时候,显式指定要传输给谁。
(2) 不可靠
UDP 将数据传输后就不管了,不会管数据有没有成功送到对端。
(3) 面向数据报
UDP 传输数据是以数据报为单位的,这个从 UDP 协议的报文格式上也能看出来。
(4) 全双工
一个信道,允许双向通信。
通过一个 socket 对象,既能 send ,又能 receive。
3. 基于 UDP 的应用层协议
- NFS:网络文件系统
- TFTP:简单文件传输协议
- DHCP:动态主机配置协议
- BOOTP:启动协议(用于无盘设备启动)
- DNS:域名解析协议
- 还包括程序员自身写 UDP 程序时定义的应用层协议
相比于 UDP 来说,TCP 是更具有优势的,所以一般都是优先考虑使用 TCP。
相关文章:

网络原理之 UDP 协议
目录 1. UDP 协议报文格式 2. UDP 的特点 (1) 无连接 (2) 不可靠 (3) 面向数据报 (4) 全双工 3. 基于 UDP 的应用层协议 前文是:UDP 的使用 首先了解一下基础知识: 1. UDP 协议报文格式 传输层最重要的协议有两个,一个是 TCP&#x…...

并发框架disruptor实现生产-消费者模式
Disruptor是LMAX公司开源的高性能内存消息队列,单线程处理能力可达600w订单/秒。本文将使用该框架实现生产-消费者模式。一、框架的maven依赖 <!-- https://mvnrepository.com/artifact/com.lmax/disruptor --><dependency><groupId>com.lmax<…...

【Vivado】xdc约束文件编写
随手记录一下项目中学到的约束文件编写技巧。 时序约束 创建生成时钟 参考链接: Vivado Design Suite Tcl Command Reference Guide (UG835) Vivado Design Suite User Guide: Using Constraints (UG903) 通过Clocking Wizard IP创建的时钟(MMCM或…...

Redis使用场景-缓存-缓存雪崩
前言 之前在针对实习面试的博文中讲到Redis在实际开发中的生产问题,其中缓存穿透、击穿、雪崩在面试中问的最频繁,本文加了图解,希望帮助你更直观的了解缓存雪崩😀 (放出之前写的针对实习面试的关于Redis生产问题的博…...

概率论相关知识随记
作为基础知识的补充,随学随记,方便以后查阅。 概率论相关知识随记 期望(Expectation)期望的定义离散型随机变量的期望示例:掷骰子的期望 连续型随机变量的期望示例:均匀分布的期望 期望的性质线性性质期望的…...

【PlantUML系列】序列图(二)
目录 一、参与者 二、消息交互顺序 三、其他技巧 3.1 改变参与者的顺序 3.2 使用 as 重命名参与者 3.3 注释 3.4 页眉和页脚 一、参与者 使用 participant、actor、boundary、control、entity 和 database 等关键字来定义不同类型的参与者。例如: Actor&…...
WPF+MVVM案例实战与特效(三十四)- 日志管理:使用 log4net 实现高效日志记录
文章目录 1、概述2、日志案例实现1、LogHelper 类详解2、代码解释3、配置文件4、实际应用案例场景 1:记录系统运行日志场景 2:记录数据库操作日志场景 3:记录 HTTP 请求日志5、总结1、概述 在WPF软件开发中,良好的日志记录机制对于系统的调试、维护和性能优化至关重要。lo…...

前端测试框架 jasmine 的使用
最近的项目在使用AngulaJs,对JS代码的测试问题就摆在了面前。通过对比我们选择了 Karma jasmine ,使用 Jasmine做单元测试 ,Karma 自动化完成,当然了如果使用 Karma jasmine 前提是必须安装 Nodejs。 安装好 Nodejs ,使用 npm 安装好必要…...

Qwen2-VL视觉大模型微调实战:LaTex公式OCR识别任务(完整代码)
《SwanLab机器学习实战教程》是一个主打「开箱即用」的AI训练系列教程,我们致力于提供完善的数据集、源代码、实验记录以及环境安装方式,手把手帮助你跑起训练,解决问题。 Qwen2-VL是通义千问团队最近开源的大语言模型,由阿里云通…...

「Mac玩转仓颉内测版42」小学奥数篇5 - 圆和矩形的面积计算
本篇将通过 Python 和 Cangjie 双语解决简单的几何问题:计算圆的面积和矩形的面积。通过这道题,学生将掌握如何使用公式解决几何问题,并学会用编程实现数学公式。 关键词 小学奥数Python Cangjie几何计算 一、题目描述 编写一个程序&#…...

Groom Blender to UE5
Groom Blender to UE5 - Character & Animation - Epic Developer Community Forums Hello, 你好, While exporting my “groom” from blender to UE5, I notice that the curves have a minimal resolution in Unreal. However I would like to get the same …...
开发一套ERP 第十弹 图片作为配置文件,本地读取图片,定时更新图片类型
echo Hello World在同一数据库中在建一个图床数据表,产品一,一对应,图片命名 最优的方案,使用 rust 在构建一个 http server 用于管理非数据库资源,也可以将来对接不同的图床,部署方便 考虑到数据库资源和图片资源,都可以被远程访问这种方法最佳...
第七十六条:努力保持故障的原子性
当对象抛出异常之后,通常我们期望这个对象仍然保持在一种定义良好的可用状态之中,即使失败是发生在执行某个操作的过程中间。对于受检的异常而言,这尤为重要,因为调用者期望能从这种异常中进行恢复。一般而言,失败的方…...
Word分栏后出现空白页解决方法
Word分栏后出现空白页解决方法 只需要在后面的空白页设置相同的页面布局(分栏格式),然后按Ctrl backspace即可删除该空白页。 参考文章:Word分栏出现空白怎么解决。...

基于HTML和CSS的校园网页设计与实现
摘要 随着计算机、互联网与通信技术的进步,Internet在人们的学习、工作和生活中的地位也变得越来越高,校园网站已经成为学校与学生,学生与学生之间交流沟通的重要平台,对同学了解学校内发生的各种事情起到了重要的作用。学校网站…...
【算法day7】字符串:反转与替换
题目引用 反转字符串反转字符串II替换数字 1.反转字符串 编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。 不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。 示例 1&am…...

分布式存储厂商
分布式存储 以下是对分布式存储厂商XSKY星辰天合、IOMesh(SmartX)、SmartX的深度对比: 1. XSKY星辰天合 产品与服务:XSKY星辰天合提供统一存储平台,支持块、文件和对象存储服务。已为近2400家大型政企机构实施部署&…...

合合信息扫描全能王线下体验活动:科技与人文的完美交融
文章目录 前言签到欢迎仪式产品体验智能高清滤镜去除透字效果照片高清修复 破冰行动会议感受 前言 作为合合信息旗下扫描全能王的忠实粉丝,上周,我很荣幸参与了扫描全能王“扫出你的能量buff”快闪活动及技术交流会。这次活动的不仅让我对这款强大的文档…...
单链表在Go语言中的实现与操作
简介 单链表是一种基本的线性数据结构,由节点组成,每个节点存储数据和指向下一个节点的指针。今天,我们将深入探讨如何在Go语言中实现和操作单链表。 单链表的优缺点 优点: 动态内存分配,灵活性高。插入和删除节点操…...

网关整合sentinel无法读取nacos配置问题分析
sentinel无法读取nacos配置问题分析 1.spring-cloud-gateway整合sentinel2.问题现象3.原因猜测4.源码分析4. 结语 最近公司需要上线一个集约项目,虽然为内网项目,但曾经有过内网被攻破,导致内部系统被攻击的案例,且集约系统同时在…...
【网络】每天掌握一个Linux命令 - iftop
在Linux系统中,iftop是网络管理的得力助手,能实时监控网络流量、连接情况等,帮助排查网络异常。接下来从多方面详细介绍它。 目录 【网络】每天掌握一个Linux命令 - iftop工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景…...

云启出海,智联未来|阿里云网络「企业出海」系列客户沙龙上海站圆满落地
借阿里云中企出海大会的东风,以**「云启出海,智联未来|打造安全可靠的出海云网络引擎」为主题的阿里云企业出海客户沙龙云网络&安全专场于5.28日下午在上海顺利举办,现场吸引了来自携程、小红书、米哈游、哔哩哔哩、波克城市、…...
Java如何权衡是使用无序的数组还是有序的数组
在 Java 中,选择有序数组还是无序数组取决于具体场景的性能需求与操作特点。以下是关键权衡因素及决策指南: ⚖️ 核心权衡维度 维度有序数组无序数组查询性能二分查找 O(log n) ✅线性扫描 O(n) ❌插入/删除需移位维护顺序 O(n) ❌直接操作尾部 O(1) ✅内存开销与无序数组相…...

centos 7 部署awstats 网站访问检测
一、基础环境准备(两种安装方式都要做) bash # 安装必要依赖 yum install -y httpd perl mod_perl perl-Time-HiRes perl-DateTime systemctl enable httpd # 设置 Apache 开机自启 systemctl start httpd # 启动 Apache二、安装 AWStats࿰…...

如何在看板中有效管理突发紧急任务
在看板中有效管理突发紧急任务需要:设立专门的紧急任务通道、重新调整任务优先级、保持适度的WIP(Work-in-Progress)弹性、优化任务处理流程、提高团队应对突发情况的敏捷性。其中,设立专门的紧急任务通道尤为重要,这能…...
postgresql|数据库|只读用户的创建和删除(备忘)
CREATE USER read_only WITH PASSWORD 密码 -- 连接到xxx数据库 \c xxx -- 授予对xxx数据库的只读权限 GRANT CONNECT ON DATABASE xxx TO read_only; GRANT USAGE ON SCHEMA public TO read_only; GRANT SELECT ON ALL TABLES IN SCHEMA public TO read_only; GRANT EXECUTE O…...

IoT/HCIP实验-3/LiteOS操作系统内核实验(任务、内存、信号量、CMSIS..)
文章目录 概述HelloWorld 工程C/C配置编译器主配置Makefile脚本烧录器主配置运行结果程序调用栈 任务管理实验实验结果osal 系统适配层osal_task_create 其他实验实验源码内存管理实验互斥锁实验信号量实验 CMISIS接口实验还是得JlINKCMSIS 简介LiteOS->CMSIS任务间消息交互…...

多种风格导航菜单 HTML 实现(附源码)
下面我将为您展示 6 种不同风格的导航菜单实现,每种都包含完整 HTML、CSS 和 JavaScript 代码。 1. 简约水平导航栏 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport&qu…...
关于uniapp展示PDF的解决方案
在 UniApp 的 H5 环境中使用 pdf-vue3 组件可以实现完整的 PDF 预览功能。以下是详细实现步骤和注意事项: 一、安装依赖 安装 pdf-vue3 和 PDF.js 核心库: npm install pdf-vue3 pdfjs-dist二、基本使用示例 <template><view class"con…...

毫米波雷达基础理论(3D+4D)
3D、4D毫米波雷达基础知识及厂商选型 PreView : https://mp.weixin.qq.com/s/bQkju4r6med7I3TBGJI_bQ 1. FMCW毫米波雷达基础知识 主要参考博文: 一文入门汽车毫米波雷达基本原理 :https://mp.weixin.qq.com/s/_EN7A5lKcz2Eh8dLnjE19w 毫米波雷达基础…...