一. TCP 三次握手
简易图如下:
为什么还要传回syn给客户端?
服务端传回客户端所发送的syn是为了告诉客户端,我接收到的信息确实就是你所发送的信息。
传了syn为什么还要传ack?
双方通信无误必须是两者发送信息都无误。传了syn,证明客户端到服务端的通道没有问题,但是服务端到客户端的通道还需要ACK信号来进行验证。
一. TCP 四次挥手
断开一个tcp连接则需要“四次挥手”:
- 客户端-发送一个FIN,用来关闭客户端和服务端的数据传送
- 服务端-收到这个FIN,它返回一个ack,确认序号为收到的信号加1。和SYN一样,一个FIN将占用一个序号。
- 服务端-关闭与客户端的连接,发送一个FIN给客户端。
-
客户端-发回ACK报文确认,并将序号设置为收到序号加1。