TCP的三次握手和四次挥手,以及一些常见的问题

一:TCP的三次握手过程:

    客户端和服务器端建立一条TCP连接主要分为一下四步:

    第一步:客户端--->服务器,发送一段特殊的TCP报文段,其中:SYN位置为1,seq=client_isn(客户随机选择)。这时,服务器处于SYN_SENT状态;

    第二步:服务器端接收到客户端发来的SYN报文段之后,就会发送一段允许连接的报文段给客户端,其中:SYN=1,seq=server_isn(服务器自己的初始序号),ack=client_isn+1。这时,服务器端由Listen状态 ---> SYN_RCVN状态;

    第三步:客户端接收到服务器发来的SYNACK报文段,然后客户端也会发送一段ACK报文段给服务器端,其中:SYN=0,seq=client_isn+1,ack=server_isn+1。这时,客户端由SYN_SENT状态 ---> ESTABLISHED状态。

    第四步: 服务器端接收到客户端发来的ACK报文段后,就由SYN_RCVD状态 ---> ESTABLISHED状态。

如下图所示:

    

 

二:TCP的四次挥手过程:

第一步: 客户端发送FIN为1的报文段给服务器端,并由ESTABLISHED ---> FIN_WAIT_1;

第二步:服务器端接收到报文段后,这个时候,服务器端可能还有数据没有发送完毕,所以它会先发送ACK为1的报文段给客户端,并由ESTABLISHED ---> CLOSN_WAIT;客户端接收到该报文之后,也由FIN_WAIT_1 ---> FIN_WAIT_2;

第三步:服务器端数据都发送完毕,可以关闭连接了,就会发送FIN=1的报文段给客户端,并由LAST_ACK ---> CLOSED;

第四步:客户端接收到报文段后,发送ACK=1的报文段给服务端,并由FIN_WAIT_2 ---> TIME_WAIT(等待30S之后转为CLOSED);服务器端收到后,由 LAST_ACK ----> CLOSED。 至此,这一个TCP连接结束了它的生命周期。

如下图:

 

参考书籍:《计算机网络自顶向下方法》

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值