TCP的三次握手和四次挥手
建立连接过程
就是双方确认确认双方Send 和 Receive 正常
- 接收方创建 传输控制块 TCB,然后就开始监听
- 发送发也是创建一个 TCB ,然后发送
SYN = 1 seq = x
进入同步已发送状态——第一次握手在服务端,服务端就知道了,发送方发送没问题,自己接收没问题 - 接收方一直在监听,收到信息之后,回馈
SYN = 1 ACK = 1 seq = y ack = x + 1
,进入同步已接收状态,这时server知道自己接收消息是没问题的。——第二次握手在客户端发送方,发送端就知道了,自己接收没问题,发送也没问题,对方发送与接收也没问题 - 发送方接收到再发送
ACK = 1 seq = x + 1 ack = y + 1
,进入连接已建立状态。——第三次握手,在服务器端。接收方就知道了,自己发送和接收没问题,发送方发送和接收也没问题 - 接收方收到了消息,知道了自己发送没问题了,所以现在接收和发送都没问题了,正常开始传输数据。
相关问题
- 为啥要一定三次,多一次或者少一次
- SYN作用,有啥特殊的,ACK的作用
- SYN 请求后面的 seq 作用是什么
四次挥手断开连接
- 客户端发送
FIN = 1 ACK = 1 seq = u ack = v
,然后进入终止等待1状态——第一次挥手 - 服务器收到之后发送
ACK = 1 seq = v ack = u + 1
,表示收到断开信息,客户端不会再给服务器发了。——第二次挥手 - 服务器发送
FIN = 1 ACK = 1 seq = w ack = u + 1
,没有再次接收客户端的传输了,所以ack 还是 u + 1 ——第三次挥手 - 客户端发送
ACK = 1 seq = u + 1 ack = w + 1
——第四次挥手
相关问题
- 为什么是四次,最后客户端能不能不等
- MSL 时间什么意思
- 保活计时器什么作用