TCP 协议结构
TCP 是面向连接的、可靠的、基于字节流的传输层通信协议。协议结构如下图:
其中标志位:
URG:紧急指针有效。
ACK:确认序号有效。
PSH:接收方应该尽快将这给报文发送给应用层。
RST:重建连接。
SYN:同步序号,用来发起一个连接。
FIN:发送端完成了发送任务。
三次握手:建立连接
四次分手:TCP连接关闭
由于TCP连接是全双工的,因此每个方向都必须单独进行关闭。这个原则是当一方完成它的数据发送任务后就能发送一个FIN来终止这个方向的连接。收到一个 FIN只意味着这一方向上没有数据流动,一个TCP连接在收到一个FIN后仍能发送数据。首先进行关闭的一方将执行主动关闭,而另一方执行被动关闭。因为双向通信,被动关闭方接受方向被关闭后,被动关闭方发送完所有数据后才进行关闭。