<计算机网络自顶向下> 无连接传输UDP

UDP:User Datagram Protocol

  • “尽力而为”的服务
    • 报文可能丢掉或者乱序
  • 好处:
    • 效率高(不建立连接+无拥塞控制和流量控制【应用->传输的速率=主机->网络的速率】)
    • 报文段的头部很小(开销小)
  • UDP被用于
    • 流媒体(丢失不敏感,速率敏感,应用可控制传输速率)
    • DNS
    • SNMP
  • 无连接,每个数据单元是独立发送的所以叫数据报协议,但是IP也是数据报所以要根据上下文区分
  • 在UDP上可以实现可靠传输
    • 在应用层增加可靠性
    • 应用特定的差错恢复
  • 校验和checksum
    • 目的:检测在被传输报文段中的差错(比如比特反转)
      • 发送方
        • 将报文段的内容视为16比特的整数
        • 校验和:报文段的加法和(1的补运算)
        • 发送方将校验和放在UDP的校验和字段
      • 接收方
        • 计算接收到的报文段的校验和
        • 检查计算出的校验和和校验和字段的内容是哦福相等
          • 不相等:检测到差错
          • 相等:也可能有差错(残存错误)
         取反这里只需要发送取反,接收方不需要,这样子相加才会权益

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

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

相关文章

JVM常见的垃圾回收器

1、回收方法区: 方法区回收价值很低,主要回收废弃的常量和无用的类。 方法区中的存储: 方法区中存储的是加载的类的信息,常量,静态变量,即时编译后的代码等数据,所以回收的对象也就是这些内…

如何在一台服务器上同时运行搭载JDK 8, JDK 17, 和 JDK 21的项目:终极指南

🐯 如何在一台服务器上同时运行搭载JDK 8, JDK 17, 和 JDK 21的项目:终极指南 🚀 摘要 在企业开发环境中,常常需要在同一台服务器上运行使用不同Java开发工具包(JDK)版本的多个项目。本文详细介绍如何在L…

报错import build constraints exclude all Go files in

好久没用fyne突然报错 报错import ...go-gl.. build constraints exclude all Go files in go-gl .. 检查gcc --version正常输出 检查gcc版本正常,路径正常。 尝试解决的方法, 1.重新安装依赖,不行 2.重新配置下载地址,不…

MongoDB应用:forEach方法实际应用

项目场景 今日的工作中有个需求是按照条件修改MongoDB集合中某个字段的值。之前都是用kettle或者代码处理;但是对于短频、偶尔的修改,上述方式实在是浪费时间。所以研究了下如何通过写MongoDB的 shell去实现。 代码呈现 在做语法说明之前&#xff0c…

window平台C#实现软件升级功能(控制台)

window平台C#实现软件升级功能 之前用window窗体实现过一个升级功能,后来发现多个项目都需要升级功能,现改成可接收参数实现一种通用的exe.改用控制台方式实现这个升级功能,这样不仅实现了接收参数,升级程序体积也比原来的窗体形式…

Eigen::Quaternion

使用 Eigen 库中的 Quaternion 类的简单文档: Eigen::Quaternion 是什么? Eigen::Quaternion 是 Eigen 库中用于表示四元数的类。四元数是一种数学工具,广泛用于旋转表示,尤其在计算机图形学和机器人学中。 如何创建 Eigen::Qu…

河道采砂执法监管信息化平台:科技赋能,智慧监管

随着信息技术的飞速发展,信息化平台已经成为提升行业监管效率和水平的重要工具。河道采砂作为水利资源管理的重要环节,其执法监管同样需要与时俱进,利用先进技术手段提升监管效能。河道采砂执法监管信息化平台便是这一背景下的产物&#xff0…

从底层分析并详解SpringAOP底层实现

首先分析AOP的实现 首先切面(Advisor)由通知(Advice)和切点(Pointcut)组成 包括前置通知后置通知等等最终都会被转化为实现 MethodInterceptor 接口的环绕通知 先看一段代码了解一下是aop是怎么运作的 首先定义了两个类实现了MethodInterceptor接口&…

Unity HDRP Water Surface 水系统 基础教程

Unity HDRP Water Surface 水系统 基础教程 Unity Water SurfaceUnity 项目创建Unity Water Surface:Ocean(海洋)简介Ocean:Transform、GeneralOcean:Simulation(仿真模拟)Ocean:Sim…

C++之STL-String

目录 一、STL简介 1.1 什么是STL 1.2 STL的版本 1.3 STL的六大组件 ​编辑 1.4 STL的重要性 二、String类 2.1 Sting类的简介 2.2 string之构造函数 2.3 string类对象的容量操作 2.3.1 size() 2.3.2 length() 2.3.3 capacity() 2.3.4 empty() 2.3.5 clear() 2.3.6…

【IDEA】在IntelliJ IDEA中导入Eclipse项目:详细指南

IntelliJ IDEA和Eclipse是两款常用的集成开发环境(IDE),在软件开发中经常会遇到需要在它们之间迁移项目的情况。本文将重点介绍如何在IntelliJ IDEA中导入Eclipse项目,以帮助开发者顺利地迁移他们的项目,并在IntelliJ …

echarts 堆叠柱状图 顶部添加合计

堆叠有3个,后面加了一个对象显示顶部的数据, 其实主要的代码还是在series 的第四项,需要注意的是 series的第四项中的data需要为 data: [0, 0, 0] 顶部的统计才能显示出来 增加的代码如下 {name: 综合,type: bar,stack: total,label: {sh…

linux网络加固操作

查看防火墙状态 systemctl status firewalld 查看开放的端口 firewall-cmd --list-ports 查看特定端口是否开放 firewall-cmd --query-port22/tcp 添加端口 firewall-cmd --zonepublic --add-port80/tcp --permanent 添加富规则禁止访问3306端口 firewall-cmd --permanent …

【Java框架】SpringMVC(三)——异常处理,拦截器,文件上传,SSM整合

目录 异常处理解释局部异常处理全局异常 拦截器拦截器介绍作用:拦截器和过滤器之间的区别拦截器执行流程代码实现补充 文件上传依赖配置MultipartResolver编写文件上传表单页APIMultipartFileFile.separator必须对上传文件进行重命名代码示例 SpringMVC文件上传流程多文件上传 …

算法训练营day22

一、二叉搜索树的最近公共祖先 class Solution {public TreeNode lowestCommonAncestor(TreeNode root, TreeNode p, TreeNode q) {//得到p q的最大值&#xff0c;跟root比较//max < root 向左遍历 &#xff0c;max > root 继续比较 min > root 向右遍历; min < r…

AWS制作WordPress在国内外的利弊?

AWS作为全球领先的云计算服务供应商&#xff0c;为WordPress提供了强大且灵活的托管环境&#xff0c;使用AWS来搭建和运行WordPress无疑是个不错的选择。即便如此使用AWS制作还是会有些许利弊&#xff0c;九河云作为AWS的合作伙伴来为读者们仔细探讨AWS在WordPress的利弊。 利&…

学python的第十九天

网络通信和访问数据库 1.1 基本的网络知识 TCP/IP IP是低级的路由协议&#xff0c;它将数据拆分在许多小的数据包中&#xff0c;并通过网络将他们发送到某一特定地址&#xff0c;但无法保证所有包都抵达目的地&#xff0c;也不能保证包按顺序抵达 TCP&#xff08;传输控制协议…

深度学习系列65:数字人openHeygen详解

1. 主流程分析 从inference.py函数进入&#xff0c;主要流程包括&#xff1a; 1&#xff09; 使用cv2获取视频中所有帧的列表&#xff0c;如下&#xff1a; 2&#xff09;定义Croper。核心代码为69行&#xff1a;full_frames_RGB, crop, quad croper.crop(full_frames_RGB)。…

本地wsl的Ubuntu安装docker,不使用docker桌面版

第一步&#xff1a;安装docker引擎 建议大家去docker官网那边看 Install Docker Engine on Ubuntu | Docker Docs 第二步&#xff1a;使用以下命令 sudo update-alternatives --config iptables 选1就对了 第三步&#xff1a;启动docker service docker start

Android MVVM架构 + Retrofit完成网络请求

关于Retrofit&#xff0c;这个应该不是一个很新颖的东西了&#xff0c;简单过一下吧 1.由Square公司开发&#xff0c;基于Type-safe的REST客户端。 2.使用注解来定义API接口&#xff0c;使得HTTP请求变得简洁且易于维护。 3.支持同步和异步请求&#xff0c;可与RxJava、Corouti…