当前位置: 首页 > news >正文

网络原理之 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公司开源的高性能内存消息队列&#xff0c;单线程处理能力可达600w订单/秒。本文将使用该框架实现生产-消费者模式。一、框架的maven依赖 <!-- https://mvnrepository.com/artifact/com.lmax/disruptor --><dependency><groupId>com.lmax<…...

【Vivado】xdc约束文件编写

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

Redis使用场景-缓存-缓存雪崩

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

概率论相关知识随记

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

【PlantUML系列】序列图(二)

目录 一、参与者 二、消息交互顺序 三、其他技巧 3.1 改变参与者的顺序 3.2 使用 as 重命名参与者 3.3 注释 3.4 页眉和页脚 一、参与者 使用 participant、actor、boundary、control、entity 和 database 等关键字来定义不同类型的参与者。例如&#xff1a; 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做单元测试 &#xff0c;Karma 自动化完成&#xff0c;当然了如果使用 Karma jasmine 前提是必须安装 Nodejs。 安装好 Nodejs &#xff0c;使用 npm 安装好必要…...

Qwen2-VL视觉大模型微调实战:LaTex公式OCR识别任务(完整代码)

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

「Mac玩转仓颉内测版42」小学奥数篇5 - 圆和矩形的面积计算

本篇将通过 Python 和 Cangjie 双语解决简单的几何问题&#xff1a;计算圆的面积和矩形的面积。通过这道题&#xff0c;学生将掌握如何使用公式解决几何问题&#xff0c;并学会用编程实现数学公式。 关键词 小学奥数Python Cangjie几何计算 一、题目描述 编写一个程序&#…...

Groom Blender to UE5

Groom Blender to UE5 - Character & Animation - Epic Developer Community Forums Hello, 你好&#xff0c; 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在同一数据库中在建一个图床数据表,产品一,一对应,图片命名 最优的方案&#xff0c;使用 rust 在构建一个 http server 用于管理非数据库资源,也可以将来对接不同的图床&#xff0c;部署方便 考虑到数据库资源和图片资源,都可以被远程访问这种方法最佳...

第七十六条:努力保持故障的原子性

当对象抛出异常之后&#xff0c;通常我们期望这个对象仍然保持在一种定义良好的可用状态之中&#xff0c;即使失败是发生在执行某个操作的过程中间。对于受检的异常而言&#xff0c;这尤为重要&#xff0c;因为调用者期望能从这种异常中进行恢复。一般而言&#xff0c;失败的方…...

Word分栏后出现空白页解决方法

Word分栏后出现空白页解决方法 只需要在后面的空白页设置相同的页面布局(分栏格式)&#xff0c;然后按Ctrl backspace即可删除该空白页。 参考文章&#xff1a;Word分栏出现空白怎么解决。...

基于HTML和CSS的校园网页设计与实现

摘要 随着计算机、互联网与通信技术的进步&#xff0c;Internet在人们的学习、工作和生活中的地位也变得越来越高&#xff0c;校园网站已经成为学校与学生&#xff0c;学生与学生之间交流沟通的重要平台&#xff0c;对同学了解学校内发生的各种事情起到了重要的作用。学校网站…...

【算法day7】字符串:反转与替换

题目引用 反转字符串反转字符串II替换数字 1.反转字符串 编写一个函数&#xff0c;其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。 不要给另外的数组分配额外的空间&#xff0c;你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。 示例 1&am…...

分布式存储厂商

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

合合信息扫描全能王线下体验活动:科技与人文的完美交融

文章目录 前言签到欢迎仪式产品体验智能高清滤镜去除透字效果照片高清修复 破冰行动会议感受 前言 作为合合信息旗下扫描全能王的忠实粉丝&#xff0c;上周&#xff0c;我很荣幸参与了扫描全能王“扫出你的能量buff”快闪活动及技术交流会。这次活动的不仅让我对这款强大的文档…...

单链表在Go语言中的实现与操作

简介 单链表是一种基本的线性数据结构&#xff0c;由节点组成&#xff0c;每个节点存储数据和指向下一个节点的指针。今天&#xff0c;我们将深入探讨如何在Go语言中实现和操作单链表。 单链表的优缺点 优点&#xff1a; 动态内存分配&#xff0c;灵活性高。插入和删除节点操…...

网关整合sentinel无法读取nacos配置问题分析

sentinel无法读取nacos配置问题分析 1.spring-cloud-gateway整合sentinel2.问题现象3.原因猜测4.源码分析4. 结语 最近公司需要上线一个集约项目&#xff0c;虽然为内网项目&#xff0c;但曾经有过内网被攻破&#xff0c;导致内部系统被攻击的案例&#xff0c;且集约系统同时在…...

零经验想投运营?3分钟AI生成高匹配简历,告别海投无效!

“我一个零经验小白&#xff0c;简历怎么写才能打动运营岗HR啊&#xff1f;&#xff01;&#xff01;” “海投了快100份简历&#xff0c;一个面试都没有&#xff0c;我是不是不适合运营&#xff1f;” 相信这是大部分想转行或者刚毕业&#xff0c;对运营岗有点心动但完全没经…...

技术人的黄金十年:软件测试从业者25到35岁每一年该怎么规划?

对于每一位进入软件行业的技术人而言&#xff0c;25岁到35岁这十年几乎决定了整个职业生涯的上限&#xff0c;而软件测试作为产品质量的最后一道防线&#xff0c;这个岗位的能力积累、职业路径选择&#xff0c;更需要在这黄金十年里做好清晰的规划。不同于开发岗的技术迭代焦虑…...

BilibiliDown完整使用指南:5步掌握B站视频批量下载技巧

BilibiliDown完整使用指南&#xff1a;5步掌握B站视频批量下载技巧 【免费下载链接】BilibiliDown (GUI-多平台支持) B站 哔哩哔哩 视频下载器。支持稍后再看、收藏夹、UP主视频批量下载|Bilibili Video Downloader &#x1f633; 项目地址: https://gitcode.com/gh_mirrors/…...

GAN与密码学的真实接口:从概念纠偏到工程落地

1. 项目概述&#xff1a;这不是密码学&#xff0c;也不是GAN训练指南&#xff0c;而是一场概念误读的深度解剖 “Understanding GAN Cryptography”——这个标题一出现&#xff0c;我就在笔记本上划了三道横线。不是因为难&#xff0c;而是因为它根本不存在。过去三年里&#x…...

AI Agent 运行时革命:从上下文牢笼到可审计的会话日志

1. 这不是新赛道&#xff0c;是 runtime 层的“操作系统时刻”来了 你有没有试过让一个 AI 代理连续工作四十分钟&#xff1f;不是闲聊&#xff0c;而是真正在查资料、调 API、写代码、改文档——一环扣一环地推进一个复杂任务。我去年就带着团队跑过这样一个销售线索深度分析 …...

兜兜转转又回到大浪浪的S05,遥看当年黑丝在,今朝尽染满头霜。

偶然翻看CSDN头像&#xff0c;恍然惊觉已是十五载光阴。2011年拍照于此设头像。初来S05&#xff0c;一路辗转S01&#xff0c;兜兜转转&#xff0c;历经浮沉&#xff0c;如今终究重回最初的S05。这十几年来&#xff0c;方寸代码天地&#xff0c;见证了我的所有成长与蜕变。一路行…...

护照照片怎么在手机上拍好?2026年用微信小程序搞定的完整方案

很多人做护照照片默认找线下照相馆&#xff0c;但其实用手机微信小程序这个组合已经完全够用。微信里有个叫多多职业照的小程序在处理各类证件照的需求上效率比较高&#xff0c;这篇文章就详细拆解一下这个方向&#xff0c;搭配同家的立得一寸照、奈斯证照助手、抠图喵作为补充…...

【Go i18n】TOML语言包

一、VS Code 必备的 TOML 插件1. Even Better TOML&#xff08;核心高亮与语法检查 &#x1f451;&#xff09;搜索关键字&#xff1a;Even Better TOML为什么要装&#xff1a;它是目前全网公认第一的 TOML 插件。装上它之后&#xff0c;你的 .toml 文件不仅会变得色彩斑斓&…...

【下载安装教程】仿宋GB2312、楷体GB2312和方正小标宋简体办公字体安装包下载安装教程

常用办公字体安装与使用指南 适用字体及场景 字体名称适用场景仿宋_GB2312正文内容、正式文档楷体_GB2312批注、说明性文字方正小标宋简体标题、封面文字、强调性内容 支持软件 WPSMicrosoft WordPowerPoint其他主流办公软件 使用方法 安装字体 下载字体文件&#xff08;.…...

常用shell命令总结(Linux命令)

当前目录 .上一级目录 …根目录&#xff0c;或者是目录拼接符 /管道符&#xff08;左侧输出作为右侧输入&#xff09; |上一个命令的返回码 $?或 ||且 &&cat 查看文档 cat XX.txt加权限 chmod x 文件 chmod 777 文件改变文件的所有者 chown newowner file.txt改变文件…...