(2)B收到连接请求后,如同意建立连接,则向A发送确认。在确认报文段中应把SYN位和ACK位都置1,确认号是ack=x+1,同时也为自己选择一个初始序号seq=y。

(3)TCP客户进程收到B的确认后,还要向B给出确认。确认报文段的ACK置1,确认号ack=y+1,而自己的序号seq=x+1。TCP的标准规定,ACK报文段可以携带数据。但如果不携带数据则不消耗序号,在这种情况下,下一个数据报文段的序号仍是seq=x+1。这时,TCP连接已经建立,A进入ESTABLISHED(已建立连接)状态。当B收到A的确认后,也进入ESTABLISHED状态。

2。1。5 TCP的连接释放

图3 TCP连接释放过程

四次握手:

(1)A把连接释放报文段首部的终止控制位FIN置1,其序号seq=u,它等于前面已传送过的数据的最后一个字节的序号加1。这时A进入FIN-WAIT-1(终止等待1)状态,等待B确认。

(2)B接收连接释放报文段后即发出确认,确认号是ack=u+1,而这个报文段自己的序号是v,等于B前面已传送过的数据的最后一个字节的序号加1。然后B就进入CLOSE-WAIT(关闭等待)状态。

(3)A收到来自B的确认后,就进入FIN-WAIT-2(终止等待2)状态,等待B发出的连接释放报文段。若B已经没有要向A发送的数据,其应用进程就通知TCP释放连接。这时B发出的连接释放报文段必须使FIN=1。现假定B的序号为w。B还必须重复上次已发送过的确认号ack=u+1。这时B就进入LAST-ACK(最后确认)状态,等待A的确认。

(4)A在收到B的连接释放报文段后,必须对此发出确认。在确认报文段中把ACK置1,确认号ack=w+1,而自己的序号是seq=u+1。然后进入到TIME-WAIT(时间等待)状态。请注意,现在TCP连接还没有释放掉。必须经过时间等待计时器设置的时间2MSL后,A才进入到CLOSED状态。

上一篇:ZigBee智能家居无线传感网的设计
下一篇:ARM嵌入式web的温度测控系统的设计

动车组滚动轴承FCM智能诊断研究

基于51单片机自动门智能控制系统设计

STC89C52单片机智能温度监测系统设计

动车组滚动轴承SVM智能诊断研究

MATLAB动车组滚动轴承RBF智能诊断研究

Arduino的家居智能安防系统的设计+程序+电路图

LABVIEW+AT89C51单片机智能药箱系统设计+源代码

MNL模型历史城区居民活动...

大规模MIMO系统的发展研究现状

高效课堂教师问卷调查表

提高小學语文課堂朗读教...

从企业eHR建设谈管理信息...

《水浒传》中血腥暴力研...

小型通用机器人控制系统设计任务书

遥感土地用变化监测国内外研究现状

浅析施工企业保理融资成...

PCI+PID算法直流力矩电机速...