TCP三次握手
SYN建立连接 FIN表示关闭连接 ACK表示响应
- 客户端发送给服务端带有SYN标志位,序号seq=x的数据包 第一次握手
- 服务端发送给客户端带有SYN/ACK标志位,序号seq=y,确认号ack=x+1的数据包 第二次握手
- 客户端发送给服务端带有ACK标志位,序号seq=x+1,确认号ack=y+1的数据包 第三次握手
为什么要三次握手?
三次握手的目的是建立可靠的通信信道,就是双方确认自己与对方的发送与接收是正常的。
TCP四次挥手?
- 客户端发送一个FIN标志位,序号seq=U的数据包,表示请求释放连接。
- 服务器发送一个ACK标志位,序号seq=V,确认号ack=U+1的数据包,表示接收到客服端发送的释放连接请求。
- 服务器发送一个带有FIN/ACK标志位,序号seq=W,确认号ack=U+1的数据包,表示已经准备好释放连接了。
- 客户端发送一个带有ACK标志位,序号seq=U+1,确认号ack=W+1的数据包,表示接收到服务器准备好释放连接的信号。