tcp/ip协议族按照层次可以分为4层:应用层,传输层,网络层,链路层。
三次握手:
- 第一次:发送段发送给一个带syn标志的数据包给接受端(确保接收端可以接收消息,发送端可以发送消息。)。
- 第二次:接收端收到以后,返回一个带有syn/ack标志的数据包以示传达确认信息。(确保接收端可以发送消息。)
- 第三次:发送端回传一个ack标志的数据包,代表握手结束。(确保发送端可以接收到消息。)
若握手过程中,某个阶段突莫名中断,tcp协议会再次以相同的顺序发送相同的数据包。
四次挥手
- 第一次:客户端A发送一个FIN.用来关闭客户A到服务器B的数据传送(此时是客户端告诉服务端,要断开链接了。)。
- 第二次:服务器B收到这个FIN. 它发回一个ACK,确认序号为收到的序号+1。和SYN一样。(服务端接收到客户端的消息,表示我知道要断开链接了。但是这个时候可能存在有的文件正在传输,但是还没有传输完成的情况。)
- 第三次:服务器B关闭与客户端A的连接,发送一个FIN给客户端A。(这个时候文件已经传输完成了,服务端告诉客户端,确认断开链接。)
- 第四次:客户端A发回ACK报文确认,并将确认序号设置为序号加1。(客户端接收到消息后,再次发送消息,表示客户端已经接收到了确认断开连接的信息。)