为什么是三次握手与四次挥手

三次握手

\

为什么是三次握手?

(两次握手情况)如果客户端发送的第一次握手请求延迟了,服务器接收到这个失效的请求,同意建立连接,但是客户端没有信息传来,服务器的资源就浪费了。

简单来说就是:防止服务器收到无效链接的情况,要保证双方都收到了最新的链接。

 

ISN(initial sequence number初始序列号)机制

 

当新建一个连接时,ISN生成器就会就会生成一个唯一的ISN

如何确保ISN唯一?

这个生成器用了32位的时钟,4µs 增长一次,大概4.55小时一个循环,而最大分段寿命(Maximum Segment Lifetime (MSL)默认是2分钟长,所以我们可以认为ISN是唯一的

发送方和接收方都有自己的ISN,就是双方发送的第一个seq。

发送双方都不知道当前收到的这个ISN是否延迟了很久,所以都要向对方确定一次。

因为双方创建ISN的规则可能不同,所以需要向对方确定,如果有一个全局时钟,那就可以直接确定这个包有没有延迟了。

 

SYN同步序列编号(Synchronize Sequence Numbers)

SYN=1,,,提示TCP连接的服务端检查序列编号

 

四次挥手

为什么要四次挥手

TCP是全双工通信,不能单方面完全断开连接

客户端发送FIN:只能断开 客户端 -> 服务端 方向的连接

服务端发送FIN:只能断开 服务端 -> 客户端 方向的连接

 

参考文章:

参考链接

http://www.mamicode.com/info-detail-2995715.html

https://blog.youkuaiyun.com/weixin_44478378/article/details/108069625

https://blog.youkuaiyun.com/weixin_44478378/article/details/108069625

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值