在因特网协议族(Internet protocol suite)中,TCP层是位于IP层之上,应用层之下的传输层。不同主机的应用层之间经常需要可靠的、像管道一样的连接,但是IP层不提供这样的流机制,而是提供不可靠的包交换。今天就跟着小编一起来看一看:认识TCP协议连接管理的具体流程。
一、TCP协议的连接管理
想必不需要小编多说,大家都应该知道一点,那就是TCP协议的连接管理,这一个内容就是我们TCP协议的基本工作流程了。事实上这一个连接的建立,在这其中就已经包含了三次握手。那么针对这一个在TCP协议里面建立连接采用三次握手的方法,为了能够成功的建立连接,其中一方,就比如说:服务器(也称伺服器,是提供计算服务的设备)。通过执行LISTEN以及ACCEPT这两者原语被动地等待一个到达的连接请求。
另外的一方,就比如说:客户方。执行CONNECT原语,同一时间大家还需要指明它想要去连接到的IP地址(IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异)以及端口号这两者,设置它可以直接接受的TCP数据报的最大值,以及一些可选的用户数据。CONNECT原语发送一个SYN=1,ACK=0的数据报到目的端,除此之外,还需要等待对方响应。
二、连接具体流程
当这一个数据报(在数据报操作方式中,每个数据报自身携带有足够的信息,它的传送是被单独处理的)成功到达目的端以后,那里的TCP实体将察看一下究竟是不是真的有进程在侦听目的端口字段指定的端口。假如说没有的话,那么它将会发送一个RST=1的应答,拒绝建立这一个连接的。
假如说某一个进程正在对这一个端口进行侦听,于是便将到达的TCP协议数据报交给这一个进程,它能够直接接受或者是拒绝建立连接。假如说接受的话,那么便会发回一个确认数据报。在一般情况下面,TCP的连接建立过程,具体如下面的图像所示:
为了能够成功的释放连接,每一方都可以直接发送一个FIN=1的TCP协议数据报,所代表的意思就是这一方已经没有数据发送。当FIN数据报被确认以后,那一个方向的连接即告关闭。当两个方向上的连接通通都已经关闭以后,这一个连接就会被完完全全的释放了。在一般情况下面,释放一个连接需要4个TCP数据报,具体如下所示:每一个方向通通都有一个FIN数据报以及一个ACK(也就是确认字符,在数据通信中,接收站发给发送站的一种传输类控制字符)数据报这两者。
小编结语:
今天的考试认证教程,小编就已经介绍完毕了,认识TCP协议连接管理的具体流程,希望这对大家有所帮助。编程学习网会一直更新关于考试认证的文章,请继续关注我们的网站:编程学习网教育。谢谢!