【计算机网络】TCP连接建立和释放
创始人
2024-04-07 12:27:06
0

TCP连接的建立:

 (1)B的TCP服务器进程首先创建传输控制块TCB,准备接受客户进程的连接请求。

然后服务器进程处于LISTEN状态,等待客户的连接请求。

(2)A的TCP进程首先创建传输控制块TCB,然后在打算建立TCP连接时,向B发出连接请求报文段,首部的同步位SYN=1。首部的同步位SYN=1,同时选择一个初始序号seq=x。

TCP规定,SYN报文段不能携带数据,但是要消耗掉一个序号。

客户端进入SYN-SENT状态

(3)客户端收到B的确认后,还要向B给出确认。

确认报文段ACK=1,确认号ack=x+1

同时发送SYN=1,seq=y

TCP服务器进入SYN-RCVD状态。

(4)TCP客户进程收到B的确认后,还要向B给出确认。

确认报文段ACK=1,ack=y+1

seq=x+1。如果不携带数据则不消耗序号。

A进入ESTABLISHED状态

(5)B收到A的确认后进入ESTABLISHED状态

TCP连接的释放:

 

(1)A应用进程向TCP发出连接释放报文段,并停止发送数据,主动关闭TCP连接。

A把连接释放报文段首部的终止控制位FIN置1,序号seq=u,等于前面已传送过的数据的最后一个字节的序号加1。

A进入FIN-WAIT-1状态,等待B确认。

FIN报文段即使不携带数据,也消耗掉一个序号。

(2)B收到连接释放报文段后发出确认

ACK=1,ack=u+1,seq=v

TCP服务器处于半关闭状态。从B到A方向的连接并未关闭。

(3)A收到来自B的确认后进入FIN-WAIT-2状态,等待B发出的连接释放报文

(4)如果B已经没有要向A发送的数据,B发出连接释放报文。

FIN=1,B必须重复上次已发送过的确认号ack=u+1,seq=w(在半关闭状态B又可能发送了一些数据)

B进入LAST-ACK状态,等待A的确认

(5)A收到B的连接释放报文后发送确认

ACK=1,ack=w+1,seq=u+1

TCP连接没有立即释放掉,必须经过时间等待计时器设置的时间2MSL后,A才进入到CLOSED状态。MSL叫最长报文段寿命。

(1)为了保证A发送的最后一个ACK报文段能够到达B

(2)A发送完最后一个ACK报文段后,再经过2MSL,就可以是本连接持续的时间内所产生的所有报文段都从网络上消失

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
客厅放八骏马摆件可以吗(家里摆... 今天给各位分享客厅放八骏马摆件可以吗的知识,其中也会对家里摆八骏马摆件好吗进行解释,如果能碰巧解决你...
苏州离哪个飞机场近(苏州离哪个... 本篇文章极速百科小编给大家谈谈苏州离哪个飞机场近,以及苏州离哪个飞机场近点对应的知识点,希望对各位有...