关于TCP三次握手和四次挥手!

为什么要三次握手

(1)确认双方的接受能力和发送能力正常

(2)指定自己的初始化序列号,为后续的可靠传输做准备

(3)如果是https协议,三次握手这个过程,还会进行数字证书的验证以及加密密钥的生成。

三次握手需要确认的事情

client要与server建立TCP连接,需要通过握手确认这四件事情

1.server需要确认它可以从client接收数据包;

2.client需要确认它可以从server接收数据包;

3.client需要确认一件事:server可以从client接收数据包;

4.server需要确认一件事:client可以从server接收数据包。

为什么两次不行

第一次握手 server确认自己可以接收client接收数据包

第二次握手 client确认自己可以接收、发送数据包

第三次握手 server确认client可以接收server的数据。

(1)阻止重复历史连接的初始化

在网络状况差或者复杂时,如果一个已经发送的连接请求在超时时间内没有收到确认,发送方连续发送多次建立连接的请求。想象一下,如果TCP建立连接仅有两次握手,那么双方会建立错误的连接,因为接收方接收到连接请求时并不清楚这是由于网络拥塞而早已过期的连接。

使用确认号为ack+1来由发送端判断是不是历史连接。

(2)对通信双方的初始序列号进行初始化

另一个使用三次握手的重要的原因就是通信双方都需要获得一个用于发送信息的

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值