关于Tcp三次握手和四次挥手

首先tcp先建立需要两个节点,一个为客户端A,一个为服务器B。这里面的服务器也可以是另一个客户端。

第一次握手是A首先向B发送请求,这个请求报文里面并没有带数据并带有一个随机初始序号N。

第二次握手是B通过A的请求,并且向A回发送一个确认报文,这个报文确认号为N+1,并且次数B为A分配了一段缓冲空间。第二次握手后A就可以向B发送数据被接收了。

第三次握手是A收到确认报文后,向B再发送报文确认,此时同上确认号和报文序号都会加1。同时A和B已建立连接状态 触发三次握手

关键点:报文确认号和初始序号随机是为了防止与历史序号重复

四次挥手

第一次挥手

A向B发送断开连接的报文,将报文的FIN标记位置1就是准备断开TCP连接请求。

第二次挥手

B接收到A的FIN数据包,回发一个确认包给A。此时A指向B的连接就断开了,A就不能向B发送数据了,但tcp连接此刻没有完全断开。

第三次挥手

由B向A发送FIN数据包请求断开连接

第四次挥手

A收到B发送的FIN数据包,发送一个确认数据包给B,此时B指向A的对话连接就断开了。

同时逻辑上A和B整个tcp连接也断开了

之后呢实际上B是直接关闭了,但是A还在等待状态,等待2MSL才完全关闭tcp连接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值