三次握手和四次挥手

首先: 无论多少次握手都不能满足传输的绝对可靠,TCP的核心思想:保证数据可靠传输
其次:保证传输效率。


一、为什么要握手(为什么不是2次握手)?
 

为了保证传输的可靠。
第一次握手CLIENT告诉SERVER“我将要开始传输数据了”。
第二次握手SERVER告诉CLIENT“我已经知道你将要传输数据了,我已经做好准备”。
第三次握手CLIENT告诉SERVER“我已经知道你已经知道'我知道你已经做好准备'”,SERVER端收到这个信号,开始传输数据。
但是此时CLIENT并不知道SERVER已经知道“CLIENT 已经知道SERVER已经知道”(有点绕,可以忽略这一句)。

 二、为什么是3次而不是4次?

为了提高传输的效率
总之不管多少次握手,总会有一方不知道对方已经知道。因此为了传输效率,只要3次握手就认为已经可以开始传输数据,三次握手之后,
CLIENT和SERVER就进入ESTABLISHED状态,开始数据传输。

 

为什么不是两次:

  • A->B: 洞幺洞幺,我是洞拐,收到请回复,Over。

  • B->A: 洞拐洞拐,洞幺收到,Over。

请问根据以上对话判断,

  1. B是否能收到A的信息? (答案是肯定的)

  2. A是否能收到B的信息? (你猜?)

为什么不是四次:

  • A->B: 洞幺洞幺,我是洞拐,收到请回复,Over。

  • B->A: 洞拐洞拐,洞幺收到,收到请回复,Over。

  • A->B: 洞幺洞幺,洞拐收到,收到请回复,Over。

  • B->A: 洞拐你是鱼吗。。。 。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值