计算机网络 TCP连接终止流程

TCP连接终止

TCP(传输控制协议)是一种确保数据以有序和安全方式传输的传输协议。它按照相同的顺序发送和接收数据包。与OSI(开放系统互联模型)相比,TCP是一个四层协议,OSI是一个七层传输过程。由于其在服务器和客户端之间具有完整性和安全性,建议从高层协议传输数据。

TCP 需要进行4次握手才能完成终止。要建立连接,TCP需要进行3次握手。因此,我们将讨论TCP以建立连接进行3次握手和进行终止的4次握手的详细过程。在这里,我们将讨论以下内容:

什么是TCP?

TCP的层次结构

TCP连接(3次握手)

TCP终止(4次握手)

让我们开始吧。

什么是TCP

TCP 是一种面向连接的协议,这意味着它首先以 握手 的形式在发送方和接收方之间建立连接。在验证了两个连接之后,它开始传输数据。它使传输过程无误并确保数据的传递。它是用于连接互联网上的网络设备的通信协议的重要组成部分。整个互联网系统依赖于该网络。

TCP 是保证 端到端 传输的最常见的协议之一。它保证正在传输的数据的安全性和完整性。它始终在发送方和接收方之间建立安全连接。发送方是 服务器 ,接收方称为 客户端 。我们还可以说数据传输发生在服务器和客户端之间。因此,TCP在大多数高级协议中使用,例如 FTP (文件传输协议) 、 HTTP (超文本传输协议) 和 SMTP (简单邮件传输协议) 。

TCP的层次结构

数据然后被分成包,分配给地址,传输,路由并在目的地接收。传输过程包括四个层次, 应用层 、 传输层 、互联网层和数据链路层。应用层执行类似 OSI模型 的前三层(应用层、表示层和会话层)的功能并控制用户界面规范。用户与TCP模型的应用层进行交互,例如消息传递和电子邮件系统。传输层提供可靠和无错误的数据连接。它将从应用层接收到的数据划分为包,有助于创建有序的序列。互联网层控制数据包的路由,并确保数据包传递到目的地。数据链路层执行类似OSI模型的底部两层(数据链路层和物理层)的功能。它负责在网络中传输应用程序或设备之间的数据。

在继续讨论TCP终止之前,了解TCP连接的概念是非常重要的。这将帮助我们更好地理解终止过程。

TCP连接(3次握手)

握手是指建立客户端和服务器之间连接的过程。握手简单地定义为建立通信链路的过程。要传输数据包,TCP在开始发送数据之前需要进行3次握手。TCP中的可靠通信被称为 PAR (正确认证重传)。当发送方将数据发送给接收方时,它需要从接收方获得肯定的确认,以确认数据的到达。如果确认未到达发送方,则需要重新发送该数据。接收方的肯定确认建立了成功的连接。

在这里,服务器是发送方,客户端是接收方。上图显示了成功连接的3个步骤。三次握手通常称为SYN-SYN-ACK,并要求客户端和服务器响应以交换数据。SYN表示 同步序列号 ,ACK表示 确认 。每个步骤都是发送方和接收方之间的一种握手形式。

成功TCP连接的图示如下所示:

TCP连接终止

以下是关于三次握手的讨论步骤:

第一步:SYN

客户端向服务器发送SYN段。它起到一个 连接请求 的作用,用于客户端与服务器之间的连接。同步序列号还有助于在两个设备之间发送的序列号保持同步,其中相同的SYN段需要用连接请求的序列号来请求序列号。

第二步:SYN-ACK

服务器发送的是一个SYN-ACK段或一个SYN + ACK段。ACK段通知客户端服务器已收到连接请求并准备建立连接。SYN段告知服务器准备使用的序列号开始内容。

第三步:ACK

ACK(确认)是在客户端和服务器之间建立成功的TCP连接之前的最后一步。ACK段由客户端作为对从服务器接收的ACK和SN的响应发送。它导致建立可靠的数据连接。

经过这三个步骤,客户端和服务器准备好进行数据通信过程。TCP连接和终止是全双工的,这意味着数据可以同时在两个方向上传输。

TCP终止(四次握手)

在执行终止之前,任何设备都要建立连接。TCP在发送数据之前需要进行三次握手以建立客户端和服务器之间的连接。类似地,要终止或停止数据传输,需要进行四次握手。用于TCP终止的段与构建TCP连接的段(ACK和SYN)类似,只是FIN段不同。FIN段指定了一个设备向另一个设备发送的终止请求。

客户端是数据发送方,服务器是数据传输过程中的接收方。请考虑以下TCP终止图,显示了客户端和服务器之间分段的交换。

下面显示了成功TCP终止的图示,其中包含四个握手过程:

TCP连接终止

让我们通过六个步骤来讨论TCP终止过程,其中包括发送的请求和等待状态。步骤如下:

步骤1:FIN

FIN指的是客户端向服务器发送的终止请求。第一个FIN终止请求由客户端发送给服务器。它表示客户端和服务器之间终止过程的开始。

步骤2:FIN_ACK_WAIT

客户端等待来自服务器的FIN终止请求的ACK(确认)信号。这是客户端的一种等待状态。

步骤3:ACK

当服务器收到FIN终止请求时,它发送ACK(确认)段。表示服务器准备关闭和终止连接。

步骤4:FIN_WAIT_2

客户端等待来自服务器的FIN段。这是服务器发送的一种批准信号,表示服务器准备终止连接。

步骤5:FIN

服务器现在向客户端发送FIN段。这是服务器发送给客户端的确认信号。表示终止得到成功批准。

步骤6:ACK

客户端现在向服务器发送ACK(确认)段,表示已收到来自服务器的FIN信号,即服务器发出的终止连接的信号。一旦服务器收到ACK段,它将终止连接。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程