ACK 与外星文明进行交流

2023-05-16

一段故事

在《三体》第三部中, 蓝色空间号和万有引力号上的船员从三维空间进入四维空间,看到了宏伟的四维建筑,并与它们进行了交流。让我们来看一段原文

“按照计划,卓文用中频电波发送了一个问候语。这是一幅简单的点阵图,图中由六行不同数量的点组成了一个质数数列:2、3、5、7、11、13。
他们没有指望得到应答,但应答立刻出现了,速度之快让三人不敢相信自己的眼睛。悬浮在太空艇舱里的信息窗口显示出一个简单点阵图,与他们发送的类似,也用六行点组成六个质数,但图中的点阵大了许多,把他们发送的那个数列接了下来:17、19、23、29、31、37。
对方的含义很明确,回答了他们的问候。”

这段是非常有趣的,科学家向外星文明发送了一组质数,外星文明在把这组质数接了下去。

这时科学家知道,外星文明明白了科学家的意思,他们建立起了连接。而这一问一答就是我们要讲的ACK机制。

ACK机制解决的问题

ack机制是什么?

上面已经说过了,就是对一个信息做出应答,说明我收到了

为什么要有ack?

当然是为了保证你收到了我发的信息

我们知道,在网络中的两个节点之间的通信是不可靠的,信息可能在传输过程中丢失,为了保证消息能一定到达目标节点,我们可以让目标节点在收到消息后给发送节点发一个ack消息。如若在在一定时间内,发送节点没有收到ack消息,那么就会重发该消息。

综上,这是一套组合拳来保证消息可靠的抵达目标节点

ack + 定时器 + 重发

哪里需要ACK

只要两个节点的通讯存在丢失的可能,而又要保证消息可靠传递就可以用到ack机制。

在我们学习MYSQL的主从复制,这种消息中间件的发送,TCP协议等等的时候都会遇到ACK。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ACK 与外星文明进行交流 的相关文章

  • Logback

    logback logback 与 log4f出自同一作者 logback是作者对log4j的升级 它实现了slf4j slf4j是 simple log face for java 的缩写 我们要入门logback 搞懂几个核心类就可了

随机推荐

  • 取消与关闭

    取消与关闭 两方面 1 线程池的关闭 线程池的关闭 线程池给了两个方法 一个是shutdown 一个是shutdownnow 前者会把队里的任务给执行完 xff0c 且拒绝再进来的任务 而后者会将队里没有执行的任务返回 xff0c 且让正在
  • Linux 的文件的基本属性

    Linux 的文件的基本属性 1 两个指令 chown 修该所属用户与组合 chmod 修改用户的权限 首先这两个指令很重要 xff0c 我们以后会经常用到 xff0c 其次 xff0c 这两个指令也引出的两个概念 一个文件一定属于某个用户
  • Linux的用户和用户组

    Linux的用户和用户组 两个文件 我们学习Linux的用户和用户组可以从两个文件开始 1 passwd 如上图 这个配置文件 在 etc passwd路径下 每一行表示一个用户 1 1 每一行的结构 user name x uId gId
  • kalibr安装采坑过程

    前言 有两种方式进行kalibr标定 一种是编译好的kelibr cde xff0c 另一种是源码编译 xff0c 使用rosrun运行 我推荐源码安装方式 一 kalibr cde方式 想使用kalibr cde见如下过程 软件 我使用了
  • Linux 系统目录结构

    Linux 系统目录结构 虽然最近一直在使用docker来部署一些中间件或者服务 xff0c 但是还是会在宿主机中创建一些挂载 xff0c 这就涉及到我们应该把这些挂载文件放在哪里比较合适的问题 现在我们来认识下Linux的系统目录结构 先
  • 克拉拉与太阳

    克拉拉与太阳 当乔西要去读大学 xff0c 最后一次拥抱了克拉拉后离开 xff0c 我他妈真的哭了 克拉拉不应该是只是一个东西 xff0c 不应该被用完后就被抛弃 xff0c 不应该这样的 fuck the world 克拉拉最后独自在堆厂
  • 动物农村 读后感

    pig 在读完1984后 xff0c 我又马不停蹄的翻开了 动物农场 我怀恋苏联 xff0c 我觉得那是一个美丽的梦 xff0c 哪个国家所有的一切都属于人民 我想从这本书里找到红色梦想破碎的答案 农场里的动物在一天受到了老上校的思想启蒙
  • 哈士奇与藤原拓海

    哈士奇与藤原拓海 有的哈士奇是悲伤的 当我看到它的时候 xff0c 它像一摊被雨淋过的泥巴 xff0c 有气无力的趴着 它很瘦弱 xff0c 有几团毛似乎要脱落了 我蹲下来 xff0c 它只撇了我一眼 xff0c 它的眼睛是蓝色的 xff0
  • docker 镜像的复制

    docker 镜像的复制 有时候我们打的镜像需要从一台服务器传到另一台服务器 xff0c 但是奈何公司的服务器是只能连接内网的 这时候我们就需要能对docker的镜像进行复制 粘贴 整体思路就是 先在本地对镜像打包 然后通过ftp工具传到
  • FastDFS 搭建与客户端编写

    FastDFS 搭建与客户端编写 文件服务器 服务器搭建 https github com qbanxiaoli fastdfs 客户端编写 依赖 span class token tag span class token tag span
  • Linux 常用命令

    常用命令 1 yum 1 1 简介 yum 全称 xff08 Yellow dog Updater Modified 他是一个sheel前端软件包管理器 基于RPM包管理 xff0c 能够从指定的服务器自动下载RPM包并且安装 xff0c
  • 面对idea无厘头问题的两板斧

    1 啥都正常但是飘红 今天工程 所有import都飘红 但是 编译和运行都正常 解决 File gt Invalide Cache 2 工程结构不能识别 在idea中工程目录信息是控制在 idea 文件夹下面的 xff0c 有时候我们在一个
  • 开发中遇到的英语单词

    工作英语 metrics 指标resiliency 弹性 exchange 交换机 本来是交换 但是在系统中可以理解为邮局 即接受消息并发送消息的地方fuss 麻烦primitive 原始的 简陋的declarative 声明式的Relay
  • 来简单认识下简单的布隆过滤器

    布隆过滤器 1 简介 布隆过滤器是一种数据结构 主要由 一个 bit数组和一组hash函数组成 1 1优点 占用空间小 xff0c 效率高 1 2缺点 对于判断存在 是一个概率事件 而不是确定事件 2 作用 用来告诉我们 某个量 在一个量很
  • Gazebo 9 参考手册

    Gazebo参考文档 gazebo plugin参数含义
  • 手写一个布隆过滤器

    span class token keyword public span span class token keyword class span span class token class name BloomFilter span sp
  • INVALID TASK ‘.TEST.SKIP=TRUE’: YOU MUST SPECIFY A VALID LIFECYCLE PHASE […]

    问题 当我们在用如下命令行进行编译时 mvn Dmavne test skip span class token operator 61 span ture clean span class token function install s
  • 回到Zookeeper

    回到Zookeeper 1 藕花深处 平时会花时间学习Redis RocketMQ Motan Dubbo xff0c Kafka等中间件 xff0c 它们各有各的概念 xff0c 各有各的用途 我自认为自己在编程学习上并没有什么天分 xf
  • ChatGPT帮我实现LRU

    1 内存受限 不知道从什么时候开始 xff0c 什么东西都有了限制 xff0c 一个咖啡杯只能装下500ml水 xff0c 一块新买的内存也被标好了容量 xff0c 姑娘的心里再装不下另一个人 xff0c 我开始怀疑有什么东西是可以无限的
  • ACK 与外星文明进行交流

    一段故事 在 三体 第三部中 xff0c 蓝色空间号和万有引力号上的船员从三维空间进入四维空间 xff0c 看到了宏伟的四维建筑 xff0c 并与它们进行了交流 让我们来看一段原文 按照计划 xff0c 卓文用中频电波发送了一个问候语 这是