新闻资讯

【医院病房床头呼叫系统厂家】电话网络TCP的连接过程

2023-10-21 09:41

一、连接建立

  TCP连接建立的三次握手过程如图2.34所示。A、B分别为客户和服务器,B执行LISTEN和ACCEPf原语后,等待连接请求的到来。

A执行CONNECT原语后,发出TCP段,其中SYN=I.ACK=0,初始序号设为X,段中可带用户数据(如口令)。该段到达B后,B的TCP实体查验是否有进程在该段指明的日的端口守听,如没有,就返回一个段,置RST=1;如有就将该段送交守听进程,该进程可决定接受还是拒绝该连接请求。如接受,则回送确认段,置序号=Y确,认号=X+1A收到此段后,也返回一个确认段,置序号=X+1,确认号=Y+1义至此,连接建立成功。


图2.34TCP连接建立过程

  上述三次握手过程可以有效地处理各种异常情况。现以上图2.35为例进行说明。图(a)为A、B双方同时发起连接请求的碰撞情况。双方都按照正常过程发送确认段,对于任}方来说都已完成三次握手过秷。表面上看来建立了两条连接,但由图2.34TCP连接建立过和于它们的端点对相同,因此在插口表项中只占有-个表项,也就是说只建立起一条连接。

    图(b)为一条连接建立、通信并释放后,延迟重复的连接请求又到达B,B虽然回送确认段,但A发现它并未发送关于该连接的请求,于是就回送拒绝段(RST=l),不可能错误地再次建立此连接。

  图(c)为延迟重复的连接请求和数据段相继到达B。B收到重复的数据段时,因连接尚未建立,因此不会接受此数据。其后收到A发回的拒绝段,就终止连接的建立c另外需要注意飞点,连接请求中的初始序号不能取为0。其原因是当主机崩溃后重新恢复时,如果以同样的初始序号重新进行连接建立,对方就会认为原有的连接依然存在,而不理会此次连接请求。一般采用基于时钟的方法随机选择初始序号。

二、连接释放

连接释放也采用三次握手过程,如图2.36所示:

连接释放可由任一方发起,释放过程将连接视作两条独立的单工连接。如A方发出释放请求(FIN=l),并收到B方对该释放段的确认以后,则A->B的连接关闭,即A---->B停止发送数据,但8>A仍可发送数据。要关闭B---->A的连接需反向执行同样的操作。在图2.36中,B收到A发来的释放请求后,要经过一定时间才能发出至A的释放请求,因为B需通知应用进程并获得关闭连接的命令,其间可能涉及人机交互操作。为了防止超时重传,B应立即向A返回释放确认,以先行关闭A.-B的连接。

  如果发出释放请求的一方在2倍分组最大生存时间内未收到确认,则自行释放该连接。其后,对端将检测到对方进程已不在通信状态,于是也将超时释放连接。

三、连接管理状态转移图

  上述兀P连接管理过程可由图2.37所示的状态转移图完整地描述:



图中,粗实线表示服务器的正常转移路径,细实线表示客户机的正常转移路径,虚线表示异常路径。每条状态转移线旁标有E/A标记,E表示转移触发事件,A表示转移时执行的动作。

  现以一条正常路径予以简要说明。服务器调用LISTEN原语后从“关闭"状态进入“守听”状态。此时客户机调用CONNECT原语后,发出连接请求(SYN=l),进入“同步已发送”状态,服务器收到此请求后,返送确认(SYN+ACK)段后进入“同步已接收”状态。客户机收到此确认后向服务器回送确认,进入“连接已建“状态,服务器收到客户机发来的确认后也进入“连接已建“状态。

  随后,客户机调用CWSE原语,发出释放请求(FIN),主动关闭连接,进入“关闭等待1"状态。服务器收到此释放请求立即返回确认(ACK),进入“关闭等待”状态Q客户机收到确认后进入“关闭等待2"状态其后,服务器调用CLOSE原语,发出释放请求,进入“最终确认"状态。客户机收到此请求后,立即发回确认,进入“定时等待"状态,以作资源释放等善后工作,定时器时间到就回到“关闭"状态。服务器收到客户机发回的确认后,也回到“关闭"状态。

上一篇:【医护患对讲系统厂家】办公室呼叫对讲系统(如何提高工作效率)
返回
下一篇:【医患求助系统厂家】IPPBX厂家(价格比较、品牌推荐)
Baidu
map