首页 理论教育 TCP连接的管理原理及应用

TCP连接的管理原理及应用

时间:2026-01-26 理论教育 懓樺 版权反馈
【摘要】:如前所述,TCP是一种面向连接的协议,在传输数据前要与对方交换一些信息,有一个建立连接的过程,在数据传输完成后又有一个释放连接的过程。TCP连接管理就是要使这两个过程能正常进行。应用程序传输完数据后,TCP会关闭连接以释放一些计算机资源。TCP是全双工的传输协议,只有当接收和发送双方主机都关闭连接时,连接才被完全关闭。

如前所述,TCP是一种面向连接的协议,在传输数据前要与对方交换一些信息,有一个建立连接的过程,在数据传输完成后又有一个释放连接的过程。TCP连接管理就是要使这两个过程能正常进行。

图示

图6-13 时间戳选项格式

建立一个连接,有主动打开和被动打开两种方式。主动打开是应用进程告诉其主机TCP需要与远端的某台服务器建立连接,而被动打开则是服务器程序告诉其TCP要准备接收随时发送过来的连接请求。

为正确地建立一个连接,连接的建立要经过“三次握手”过程。通过三次握手,接收和发送双方交换了顺序号,并且彼此知道对方已处于准备好的状态。在此过程中,如出现双方同时请求建立连接时,TCP可正确处理这种情况,只不过握手过程有所不同(详见RFC793)。

现举例说明三次握手过程,如图6-14所示。

1)客户主机A要与服务器B建立TCP连接,A发出第一个握手的报文段,其中SYN位置1,并随机选取一个初始顺序号x,告诉对方自己对数据编号的信息。如需要,A还可在这个报文段中增加相应的选项来通知对方,自身能接受的最大报文段长度(MSS)和(或者)窗口扩大因子。

2)B接收到A的请求后发回一个应答报文段,也在其中指出自己的顺序号;主机A接收到应答时也发回一个确认,其中ACK位置l。(https://www.xing528.com)

3)主机B接收到A的确认后,连接就建立起来。通过三次握手,双方都做好了传输数据的准备并且交换了一些信息。应用程序传输完数据后,TCP会关闭连接以释放一些计算机资源。通信双方都可以在数据传输结束后请求释放连接。TCP是全双工的传输协议,只有当接收和发送双方主机都关闭连接时,连接才被完全关闭。只有一方发出关闭连接信号时,则这一方还能接收对方的数据,直到对方也发出关闭连接的信号。

连接关闭过程如图6-15所示,当主机A关闭连接时,发出一个FIN位置位、顺序号为z(假设为z)的报文段,主机B接收到此数据后马上发送证实信号并通知其上层的应用程序使其知道对方已关闭连接。此时,主机A不再发送数据,但是还可以接收B的数据。

图示

图6-14 三次握手机制示意图

图示

图6-15 连接关闭过程示意图

当主机B没有数据发送时,也要通知对方自己要关闭连接,B也发送一个带有FIN置位的报文段给A以结束它们之间的通信。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈