TCP三次握手and数据传输and四次分手解析简述

TCP三次握手
总所周知tcp的中文名叫传输控制协议,属于传输层 主要目的是给用户提供可靠的传输服务
三次握手是tcp用来建立端到端之间connection(连接)的方式
首先由发送端(发送端可以是pc机也可以是服务器)发送请求报文
pc1——————-————————————————>server
>>>>seq(序列号)=x(随机值),ack=0(确认号)
>>>>flag:syn(请求连接)=1,ACK=0(ack无效)
此时的ack(确认号)=0
pc1<——————-————————————————server
<<<<seq=随机值,ack=b (ack=seq+1)
<<<<flag:syn=1(答应了pc1的请求),ACK=1(此时ack确认号有效)

pc1——————-————————————————>server
>>>>seq=x+1,ack=b+1
>>>>flag:syn=0 (已经完成三次握手不在请求),ACK=1
数据传输
单个传输
传输数据时序列号等于上个报文的确认号
确认号等于上个报文的序列号+数据大小

pc1——————-————————————————>server
传输一个100字节大的数据
>>>>seq=x+1,ack=b+1
>>>>flag:syn=0,ACK=1;date=100
pc1<——————-————————————————server
<<<<seq=b+1,ack=x+1+100
<<<<flag:syn=0,ACK=1;
批量传输
pc1——————-————————————————>server
传输一个200字节大的数据
>>>>seq=x+1+100,ack=b+1+0
>>>>flag:syn=0,ACK=1;date=200
pc1——————-————————————————>server
传输一个150字节大的数据
>>>>seq=x+1+100,ack=b+1+0
>>>>flag:syn=0,ACK=1;date=150
pc1——————-————————————————>server
传输一个100字节大的数据
>>>>seq=x+1+100,ack=b+1+0
>>>>flag:syn=0,ACK=1;date=100
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
pc1<——————-————————————————server
<<<<seq=b+1+0,ack=x+1+100+450
<<<<flag:syn=0,ACK=1;
pc1<——————-————————————————server
<<<<seq=b+1+0,ack=x+1+100+450
<<<<flag:syn=0,ACK=1;
pc1<——————-————————————————server
<<<<seq=b+1+0,ack=x+1+100+450
<<<<flag:syn=0,ACK=1;
四次分手
pc1——————-————————————————>server
>>>>seq=x+1+100+450,ack=b+1+0
>>>>flag:syn=0,FIN=1(释放连接),ACK=1;
pc1<——————-————————————————server
<<<<seq=b+1+0,ack=x+1+100+450
<<<<flag:syn=0,FIN=0,ACK=1;
pc1<——————-————————————————server
<<<<seq=b+1+0,ack=x+1+100+450
<<<<flag:syn=0,FIN=1,ACK=1;
pc1——————-————————————————>server
>>>>seq=x+1+100+450,ack=b+1+0+1
>>>>flag:syn=0,FIN=0(完全释放连接),ACK=1;请添加图片描述

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值