故事新编:可靠传输之如何成为一个靠谱的沟通者的三种方法

沟通分为很多种,我们日常的沟通是一种靠谱的可靠沟通,因为有问有答,很少会遇到不理你的讨厌鬼。但是比如说你和你战壕的兄弟沟通,你刚问了他一句话,他还没回答你,走两步就被机枪打死了,无法回答你,你也没啥办法确定他是死了还是不想理你,所以这是不可靠的沟通方式。

 

那么可靠沟通的方式一般要双方都具有诚意,沟通的基本单位是一方在说话,我们要求倾听的人有礼貌,听完一段后要确认,比如点头或者嗯嗯,我们要求提问的人有礼貌,问了一遍过了五分钟如果没收到确认默认对方是没听到而不是故意不理你或者似了,所以再把话重复一遍。这就是保证可靠传输的两种机制,前者是确认机制,后者是超时重传机制。其中确认机制是基础,超市重传是建立在确认机制之上的保险机制。

 

做到这些就可以成为一个靠谱的沟通者了,但是还存在一个沟通效率问题,有人每说一个字都要点头就很烦,有人每说一个字就要别人确认也很烦,现实中没有这样的人是因为我们注重效率,所以基于效率的考虑我们有以下几种靠谱沟通方式,根据发送和接受窗口的大小来确定分类。

 

停止等待协议

对方说一个字就确认一次,最经典最靠谱的传输方法。

 

后退N帧协议

采用了累计确认机制,累计确认机制就是我问你听到没,我直接说听到了,意思代表你前面讲的所有话我都听到了。

但是如果我讲完全程,你只给我一个一半过程的确认“听到了”,那么我默认你后面的不管听了多少都没听到,我会重新都给你发一遍

相当于发送窗口比较大,但是接收窗口只有1

 

多帧滑动窗口-选择重传协议

这种协议不能采用累计确认,要采用逐一确认

这种方式下听者更加智能,是个学霸,他不仅知道自己听到了什么,也确切的知道他没有听到什么,传输的时候他直接跟说者说自己那部分没听到,发一个否定信号,说者特定传输这一帧内容

相当于发送窗口比较大,接收窗口也比较大

 

 

 发送窗口上限的确定

对于回退N帧协议

发送窗口上限是2^n-1,当它更大时接收方难以确认接收的是新旧

比如窗口为2^n时,超时重传时把新的看成是旧的

窗口为2^n-1就不会有这种问题,接收窗口只有一位,且指向7,会拒绝新的0~6帧直到7的传入进入下一步,妙啊

 

 

 

 

对于选择重传协议

上限由接受窗口确定

发送窗口等于接受窗口(大了会溢出,小了没意义)

接收窗口大于2^(n-1)会发生接收窗口无法判断新旧帧的问题

例如

 

 

所以发送窗口上限=接收窗口上限=2^(n-1)

 

posted @ 2022-09-12 11:45  srid  阅读(99)  评论(0)    收藏  举报