当前位置: 首页 > web >正文

TCP 三次握手建立连接详解

文章目录

  • 一、三次握手流程
    • 1、第一次握手
    • 2、第二次握手
    • 3、第三次握手
  • 二、引申问题
    • 1、报文丢失,会发生什么?
      • 1.1、第一次握手丢失
      • 1.2、第二次握手丢失
      • 1.3、第三次握手丢失
    • 2、为什么 ISN(Initial Sequence Number,初始序列号) 不固定
    • 3、为什么只有第三次握手的时候可以携带数据
    • 4、为什么是三次握手,而不是两次、四次

一、三次握手流程

在这里插入图片描述
一开始,客户端和服务端都处于 CLOSED 状态(CLOSED 是一个假想的起始点, 并不是真实状态),先是服务端主动监听某个端口,处于 LISTEN 状态

1、第一次握手

在这里插入图片描述
客户端会随机初始化序号(client_isn),然后将其填入 TCP 首部的「序列号」字段中,接着把 SYN 标志位设成 1,最后发送 SYN 报文给服务端,该报文不包含应用层数据,之后客户端处于 SYN_SENT 状态

2、第二次握手

在这里插入图片描述
服务端收到客户端的 SYN 报文后,也随机初始化自己的序号(server_isn),然后将其填入 TCP 首部的「序列号」字段中,其次将 client_isn + 1 填入 TCP 首部的「确认应答号」字段中,接着把 SYN 和 ACK 标志位都设成 1,最后发送 SYN+ACK 报文给客户端,该报文也不包含应用层数据,之后服务端处于 SYN_RCVD 状态

3、第三次握手

在这里插入图片描述

  • 客户端收到服务端的 SYN+ACK 报文后,将 server_isn + 1 填入 TCP 首部的「确认应答号」字段中,接着把 ACK 标志位设成 1,最后发送该报文给服务端,这次报文可以携带客户端到服务端的数据,之后客户端处于 ESTABLISHED 状态
  • 服务端收到客户端发来的报文后,也进入 ESTABLISHED 状态

二、引申问题

1、报文丢失,会发生什么?

1.1、第一次握手丢失

1.2、第二次握手丢失

1.3、第三次握手丢失

2、为什么 ISN(Initial Sequence Number,初始序列号) 不固定

3、为什么只有第三次握手的时候可以携带数据

4、为什么是三次握手,而不是两次、四次

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

http://www.xdnf.cn/news/6293.html

相关文章:

  • C2S-Scale:Cell2Sentence v2
  • 在星河社区学习PARL使用强化学习来训练AI
  • C#高级编程:IO和序列化
  • linux内核主要由哪五个模块构成?
  • ultralytics 中的 RT-DETR 之 模型结构解析
  • 【python机器学习】Day 25 异常处理
  • 吴恩达机器学习笔记:多变量梯度下降
  • Permission Denied Error on Port 6277 When Starting MCP
  • 彻底解决QT5 中文编译不过问题
  • HCIP-Datacom Core Technology V1.0_1认识网络设备
  • 【unity游戏开发——编辑器扩展】EditorWindow自定义unity窗口拓展
  • AI-02a5a6.神经网络-与学习相关的技巧-批量归一化
  • Spring Boot拦截器详解:原理、实现与应用场景
  • centos7忘记root密码后使用单用户模式重置
  • 算法备案如何判断自己的产品是否具备舆论属性
  • LeetCode100.5 盛最多水的容器
  • Linux系统之----基础IO
  • 亚马逊电商广告革命:当AI推荐沦为红海陷阱,中国卖家如何破局?
  • AI预测3D新模型百十个定位预测+胆码预测+去和尾2025年5月14日第77弹
  • 最短路与拓扑(2)
  • vim启动的时候,执行gg
  • 现场维护三重四极杆质谱系统和四极杆清洗方法,确保所有目标化合物的可靠性检测
  • 牛顿均差知识
  • 写作--简单句基础练习
  • AI时代的弯道超车之第九章:AI如何改变传统教育模式
  • C PRIMER PLUS——第10节:结构体、共用(同)体/联合体
  • 字符串检索算法:KMP和Trie树
  • React学习———useEffect和useLayoutEffect
  • 数据防泄密安全:企业稳健发展的守护盾
  • 安卓开饭-ScrollView内嵌套了多个RecyclerView,只想与其中一个RecyclerView有联动