TCP建立连接为什么要三次握手而不是两次? 从全双工通信的角度理解

单纯从浪费网络延迟导致的浪费资源的角度去否定两次握手,感觉这个理由很牵强,这样的浪费三次握手其实也并不能避免。

简单化处理 A B的握手细节。突出主要矛盾。
在这里插入图片描述
如果TCP是两次握手的话。
从A的视角来看。“我给B发出一个消息,又收到了回复,那么我可以确定, 我和B之间的通信的路(物理层)是通的”

关键点 如果这个物理层是全双工通信的?

A对这个物理链路的理解会是
在这里插入图片描述
但B对这个物理链路的理解
在这里插入图片描述
即B可以确定从A到B这条路是通的,但因为B发给A信息后没有收到A的回复,所以B不能确定是不是从B到A的这条路本身就不通导致自己发发给A的消息根本没有到达。
在这种情况下,让B确定和A建立连接,是很不明智的。

如果是三次握手呢?
B如果收到了A的回复,那么B就可以确定 从我这到A的路是通的。而且也能知道 A是可以确定路是双通的。
基于双方都能确定路是双通的,确定建立连接及后续一些操作。
在这里插入图片描述
这和红军蓝军通信没法消除网络猜疑是不同的。
三次握手不是为了确定通信的双方能够确定消息的传达,而是确定消息传播的通道是不是畅通的。只要通道是畅通的,可以用其他策略去判断消息是不是准确有序的传递了(消息的序列号,确认号,超时重传等)。

个人理解的比较片面,有不足之处,希望多多指教。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值