TCP三次握手和四次断开

一、三次握手详解

   第一次握手:客户端向服务器发送一个TCP连接请求报文,报文中有seq序列号并将SYN设置为SYN=1.(其中seq是发送端随机生成的序列号a,SYN=1表示同步开启)

   第二次握手:服务器向客户端发送一个TCP连接请求报文,报文其中包括一个seq包和一个ACK包,也将SYN设置为SYN=1。(服务器向客户端会发送的seq又是一个新的序列号seq=b,然后发送的ACK包为ACK=a+1)ACK=a+1可以理解为是和谁建立连接。 

   第三次握手:客户端收到服务端发送的TCP建立验证请求后,会让自己的序列号就用服务器的序列号表示,然后发送一个ACK包,并将SYN设置为SYN=1,然后自己的序列号为服务器的。(ACK=b+1同上ACK一样,seq=a+1)

    三次握手完后建立连接

二、四次断开

第一次挥手:客户端向服务器发送一个FIN表示客户端发送一个FIN表示关闭客户端到服务端的数据传送,同时在发送一个ACK包。(seq=x,ACK=y,FIN=1)

第二次挥手:服务器收到FIN后,向客户端发送一个ACK包(ACK=x+1,发送的ACK是客户端序列号+1)。(ACK=x+1,seq=y生成随机的序列号,FIN=1)

第三次挥手:服务端在回复完客户端的TCP断开请求,不会马上断开,确保断开前数据全都传输完毕,发送一个FIN和一个ACK包。(ACK=x+1,seq=y序列号不变,FIN=1)

第四次挥手:客户端收到服务器的TCP断开请求后,会回复服务端的断开请求,包含随机生成的seq字段和ACK字段,ACK字段会在服务器的TCP断开请求的seq基础上加1,从而完成服务端请求的验证回复。(ACK=y+1,seq=x+1随机生成一个序列号,FIN=1)TCP断开的四次会有就完毕了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值