一段故事
在《三体》第三部中, 蓝色空间号和万有引力号上的船员从三维空间进入四维空间,看到了宏伟的四维建筑,并与它们进行了交流。让我们来看一段原文
“按照计划,卓文用中频电波发送了一个问候语。这是一幅简单的点阵图,图中由六行不同数量的点组成了一个质数数列: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(使用前将#替换为@)