TCP的三次握手和4次挥手的过程详解

TCP协议的三次握手和四次挥手过程?

所谓三次握手,是指建立一个TCP连接时,需要客户端和服务器总共发送3个包。

三次握手的目的是连接服务器指定端口,建立TCP连接,并同步连接双方的序列号和确认号并交换TCP窗口大小信息,在socket编程中,客户端执行connect()时。将触发三次握手。

第一次握手:

客户端发送一个TCP的SYN标志位置1的包指明客户端打算连接的服务器的端口,以及初始序列号X,保存在包头的序列号字段中

(syn=1,ack=0,seq=x)

第二次握手:

服务器发回确认包(ACK)应答。即SYN标志位和ACK标志位均为1同时,将确认号(ACK)设置为客户端的初始序列号加一,即X+1

(syn=1,ack=x+1,seq=y)

第三次握手:

客户端再次发送确认包(ACK)SYN标志位为0,ACK标志位为1,并且把服务器发来ACK的序号字段+1

(syn=0,seq=x+1,ack=y+1)

 

TCP四次挥手:

TCP的连接的拆除需要发送四个包,因此称为四次挥手,客户端和服务器均可主动发起挥手动作,在socket编程中,任何一方执行close()操作即可产生挥手操作。

第一次挥手:client发送一个FIN,用来关闭Client到server的数据传送,然后等待服务器确认,其中终止标志位FIN=1

(fin=1,ACK=z,SEQ=x)

第2次挥手:Server收到FIN后,发送一个ACK给Client,确认序号为收到序号+1

(ACK=X+1,SEQ=Z)

第3次挥手:

Server发送一个fin,用来关闭Server到client的数据传送

(fin=1,ack=x,seq=y)

第4次挥手:

client收到FIN后,client接着发送一个ack给server,确认序号为收到序号加一,client和server关闭连接

(ack=y+1)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值