三次握手
1. 客户 A 要想跟服务器 B 进行同行, 首先 A 发送一个同步信号 SYN=1, 以及传递数据序列编号 seq=x, 到 B
2.B 收到 A 发来的信息后, 向 A 发送同步信号 SYN=1, 建立响应信号 ACK=1, 以及想要从 A 上收到的数据序列编号 ack=x+1, 要发送给 A 的数据编号 seq=y
3.A 收到 B 发来的信息后, 向 B 发送响应信号 ACK=1, 发送给 B 的数据序列编号 seq=x+1, 要想从 B 上收到的数据序列 ack=y+1.
B 收到 A 发来的数据后, A 和 B 都把状态改为 ESTAB 状态, 进行数据传输, 连接完成
四次挥手
1.A 与 B 在建立连接状态进行数据传输时, A 想与 B 断开连接, 发送结束信号标志 FIN=1 , 要发送的数据编号 seq=u
2.B 在收到 A 的数据后, 向 A 发送响应信号 ACK=1, 数据序列编号 seq=v , 想从 A 得到的数据编号 ack=u+1
3. 发送完上次数据后, B 接着向 A 发送结束信号标志 FIN=1. 响应信号标志 ACK=1 发送数据编号 seq=w, 想从 A 得到的数据编号 ack=u+1
4.A 在等待 2msl 时间, 收到 B 的所有信号后, 向 B 发送响应信号编制 ACK=1, 发送数据序列编号 seq=u+1, 想从 B 上得到的数据序列编号, ack=w+1.
B 收到 A 发来的数据, 停止向 A 发送数据, 把状态改为关闭状态, A 的状态也改为关闭状态
来源: http://www.bubuko.com/infodetail-2912628.html