三次握手
A与B建立连接?
1.首先A发送一个SYN=1,Seq=随机值x,的一个数据包,请求与对方建立会话连接。
2. B会发送ACK=1,Seq=随机值y,AckNumber=随机值x+1,SYN=1的数据包,表示接收到A的请求,并且请求与A建立连接
3.A会发送ACK=1,Seq=随机值x+1,AckNumber=随机值y+1的数据包,表示确认与B建立会话连接
四次挥手
A与B断开连接?
1.首先A会发送一个FIN=1的数据包请求与B断开连接
2.B会回一个ACK=1的数据包,表示同意与A断开连接
3.如果B不再与A有通信,那么B可以发送一个FIN=1的数据包请求与A断开连接
4.A回一个ACK=1的数据包,那么A与B的双向连接将会正式断开
但是A与B断开连接不一定会有完整的4次挥手
如果A发送一个断开连接的请求,B也想断开连接,那么B就会将ACK=1的数据包和FIN=1的数据包合并发送,因此只有3次挥手