当两台主机采用 TCP 协议进行通信时,在交换数据前将建立连接。通信完成后,将关闭会话并终止连接。连接和会话机制保障了 TCP 的可靠性功能。 请参见图中建立并终止 TCP 连接的步骤。 主机将跟踪会话过程中的每个数据段,并使用 TCP 报头中的信息了解每台主机所接收到的数据。 每个连接都代表两股单向通信数据流或者会话。若要建立连接,主机应执行三次握手。TCP 报头中的控制位指出了连接的进度和状态。 三次握手: 1.确认目的设备存在于网络上; 2.确认目的设备有活动的服务,并且正在源客户端要使用的目的端口号上接受请求; 3.通知目的设备源客户端想要在该端口号上建立通信会话。 在 TCP 连接中,充当客户端的主机将向服务器发起该会话。 TCP 连接创建的过程分为三个步骤: 1. 客户端向服务器发送包含初始序列值的数据段,开启通信会话; 2. 服务器发送包含确认值的数据段,其值等于收到的序列值加 1,并加上其自身的同步序列值。该值比序列号大 1,因为 ACK 总是下一个预期字节或二进制八位数。通过此确认值,客户端可以将响应和上一次发送到服务器的数据段联接起来; 3. 发送带确认值的客户端响应,其值等于接受的序列值加 1。这便完成了整个建立连接的过程。 为了理解三次握手的过程,必须考察两台主机间交换的不同值。在 TCP 数据段报头中,有六个包含控制信息的 1 比特字段,用于管理 TCP 进程。这些字段分别是: URG — 紧急指针 ACK — 确认字段 PSH — 推送功能 RST — 重置连接 SYN — 同步序列号 FIN — 发送方已传输完所有数据 这些字段用作标志,由于它们都只有 1 比特大小,所以它们都只有两个值:1 或者 0。当值设为 1 时,表示数据段中包含控制信息。 通过 4 步流程法,可以交换标志,以终止 TCP 连接。 TCP三次握手 步骤 1: TCP 客户端发送带同步序列号 (SYN) 控制标志设置的数据段,指示包含在报头中的序列号字段的初始值,用以开启三次握手。序列号的初始值称为初始序列号 (ISN),由系统随机选取,并用于跟踪会话过程中从客户端到服务器的数据流。在会话过程中,每从客户端向服务器发送一个字节的数据,数据段报头中包含的 ISN 值就要加 1。 如图所示,协议分析器的输出结果中显示了 SYN 控制标志和相应的序列号。 SYN 控制标志被置位并且相应的序列号设定为 0。尽管图中的协议分析器已显示了序列号和确认号的相应值,但...