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