三次握手,以及为什么tcp安全

在这里插入图片描述
明白三次握手,以及为什么tcp安全,首先得明白上面4个字母含义

  • SYN: 等于1 表示申请建立连接
  • ACK: 是否已成功接收,等于0 表示没有成功接收, 等于1 表示已成功接收,TCP以后每次成功接收都要发送ACK = 1
  • seq: 序列号,首次随机生成,这是确保TCP及其重要的参数,后面详说
  • ack:与ACK不同,是表示应该发给我的下个数据包的编号

详细说下:

PS:以下的1001表示x,2001表示y。因为x和y都是随机生成的

第一次握手:
  1. 客户端发起连接申请,所以SYN = 1
  2. 但是现客户端没有收到信息,所以ACK = 0
  3. 第一个数据包的编号随机生成为x = 1001,所以seq = 1001
  4. 整合起来就是 SYN = 1,ACK = 0,seq = 1001
第二次握手:
  1. 服务器接收到了数据包,申请请求 ACK = 1
  2. 服务器申请和客户端建立请求,SYN = 1
  3. 服务器端第一个数据包的编号随机生成为2001,所以seq = 2001
  4. 告诉客户端我已经成功接收到你的第一次握手请求,编号为1001的数据包下一次不用发这个了,从数据包1002开始发,ack = 1002
  5. 整合起来就是 SYN = 1, ACK = 1, seq = 2001, ack = 1002
第三次握手:
  1. 我已经成功接收数据包2001,ACK = 1
  2. 我发送的包编号是1002,你拿去拼好,看之前的丢失没,丢失发我信号我重发。seq = 1002
  3. 下次发我2002号的数据包,ack = 2002
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值