对于TCP协议三次握手,四次挥手的总结

TCP报头

在这里插入图片描述
源端口号,目的端口号不用解释,传输层封装的
序号(sequence number):seq,用来标识表示数据的字节流在第几位开始
确认序号(acknowledge number):ack,表明数据被收到,并期望从从收到的下一位开始收取
URG:紧急标志位
ACK:确认标志位,如果置1,开始发送确认序号
RST:复位标志位
SYN:请求建立链接标志位
FIN:结束标志位

三次握手

在这里插入图片描述
1.首先,A请求与B建立链接,SYN置1,seq=x,设置发送包的序列号是x,第一次握手
2.B收到请求链接报文,向A也发送请求连接包(因为TCP是双向链接),SYN置1,ACK置1,表示确认应答以及收到了A的包,并Acknumber=X+1,表示下次想收到序列号从X+1开始的报文。设置发送包的序列号是y,第二次握手
3.A收到的B的包,包含了请求连接以及确认A->B的连接,A发出的包也将ACK置1,表示确认应答以及收到了B的包,并Acknumber=Y+1,表示下次想收到序列号从Y+1开始的报文。第三次握手

四次挥手

在这里插入图片描述
1.首先,A向B发送断开连接包,FIN为1,第一次挥手。
2.B回复同意,ACK=1表示确认,第二次挥手。
3.B发送断开连接包,FIN为1,第三次挥手。
4.A回复同意,ACK为1表示确认,第四次挥手。

问题:
1、为什么B不在一个包内把ACK、FIN同时置1
因为有可能B还在向A传送数据,还没有断开连接的需求,所以先不放到一个包里,也有在一个包里的情况
2、为什么A与B断开,A还能发送确认包
因为还没完全释放

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值