TCP的三次握手和四次挥手

1.常见的网络概念

MTU:maximum transmission unit,数据链路协议所使用的最大传输单元。

2.TCP的三次握手

所有基于TCP的通信都需要以两台主机的握手开始,这个握手过程主要希望能达到以下不同的目的:

  • 保证源主机确定目的主机在线,并且可以进行通信。
  • 让源主机检查它是否正在监听试图去连接的端口。
  • 允许源主机向接收者发送它的起始序列号,使得两台主机可以将数据包流保持有序。

TCP握手分为三个步骤:

第一步,主动发起通信的设备(假设它为主机A)向目标(假设它为主机B)发送了一个TCP数据包。这个数据包的TCP头设置了SYN标志,并包含了在通信过程中会用到的初始序列号和最大分段大小。

第二步,主机B对于这个数据包回复一个类似于设置了SYN和ACK标志以及包含了它初始序列号的数据包。

第三步,主机A向主机B发送最后一个仅设置了ACK标志的数据包。

这个过程完成后,双方设备就具备了正常通信所需的信息。

3.TCP的四次挥手

在TCP中,每次握手后也会有终止。TCP终止用来在两台设备完成通信后正常地结束连接。这个过程包含4个数据包,并且用一个FIN标志来表明连接的终结。

TCP挥手分为四步:

第一步,主机A通过发送一个设置了FIN和ACK标志的TCP的数据包,告诉主机B通信完成。

第二步,主机B以一个ACK数据包响应。

第三步,主机B传输自己的FIN/ACK数据包给主机A。

第四步,主机A响应一个ACK数据包。

这个过程完成后,双方就结束了本次通信。