tcp 为什么要三次握手

news/2024/5/17 17:58:29 标签: tcp/ip, 网络, 网络协议

TCP三次握手流程:

  1. 首先客户端发起请求,想服务端发送SYN报文
  2. 服务端接收到客户端请求过后,产生SYN+ACK报文,并将SYN+ACK报文返回给客户端
  3. 客户端收到SYN+ACK报文之后将此报文再发回服务端,至此三次握手完成,连接建立

那么为什么要三次握手,不是两次?不是四次?

核心观念在于TCP是面向连接的全双工通信,他需要验证两端的通信连通
  • 首先客户端请求SYN报文,这将服务器与客户端之间建立请求连接,并且服务端接收到,证明客户端到服务端之间的连接时没问题的
  • 服务端响应SYN+ACK,客户端成功接收到,这将证明客户端可以成功接收到服务端发送的消息
  • 客户端将服务端发送的SYN+ACK返回至服务端,服务端成功收到,这证明客户端可以成功和服务端做数据交互

http://www.niftyadmin.cn/n/5481590.html

相关文章

鸿蒙开发 一 (二)、熟悉鸿蒙之剑 ArkTS

ArkTS是HarmonyOS主要应用开发语言,以后也别在弄那个 java 和鸿蒙的混合版了, 没必要浪费时间, 一步到位, 学新的吧。 简介 ArkTS围绕应用开发在TypeScript(简称TS)生态基础上做了进一步扩展,保…

90天玩转Python—16—基础知识篇:面向对象知识详解

90天玩转Python系列文章目录 90天玩转Python—01—基础知识篇:C站最全Python标准库总结 90天玩转Python--02--基础知识篇:初识Python与PyCharm 90天玩转Python—03—基础知识篇:Python和PyCharm(语言特点、学习方法、工具安装) 90天玩转Python—04—基础知识篇:Pytho…

SpringBoot和Vue2项目配置https协议

1、SpringBoot项目 ① 去你自己的云申请并下载好相关文件,SpringBoot下载的是Tomcat(默认),Vue2下载的是Nginx ② 将下载的压缩包里面的.pfx后缀文件拷贝到项目的resources目录下 ③ 编辑配置文件 (主要是框里面的内…

“植物大战僵尸:机器学习引领游戏AI新革命“

上期回顾: 今天给大家推荐一个Gtihub开源项目:PythonPlantsVsZombies,翻译成中就是植物大战僵尸。 《植物大战僵尸》是一款极富策略性的小游戏。可怕的僵尸即将入侵,每种僵尸都有不同的特点,例如铁桶僵尸拥有极强的抗…

牛客论坛项目中使用到Redis的地方总结

实体分为很多类,实体的确定要通过实体类型和实体id两个属性同时确定。牛客论坛中使用到了3类实体: 1 登录 使用到的Redis命令: set key value // 设置指定key的值为value get key // 获取指定key的值1.1 存储/获取验证码 验证码文本&…

Java Set基础篇

目录 前言一、常用Set1.1 Set1.1.1 特点 1.2 HashSet1.2.1 特点1.2.2 使用 1.3 TreeSet1.3.1 特点1.3.2 使用 1.4 LinkedHashSet1.4.1 特点1.4.2 使用 二、对比总结 目录 前言 一、常用Set 1.1 Set Set是一个继承自Collection的接口&#xff1a; public interface Set<…

JavaScript数组操作方法全录

改变原数组的方法&#xff1a; push() - 将一个或多个元素添加到数组的末尾&#xff0c;并返回新数组的长度。 pop() - 从数组中移除最后一个元素&#xff0c;并返回该元素。 shift() - 从数组中移除第一个元素&#xff0c;并返回该元素。 unshift() - 将一个或多个元素添加到…

GD32F470_GY30光照传感器模块 数字光强度BH1750FVI光照度

2.29 BH1750光照强度检测传感器 采用ROHM原装BH1750FVI芯片供电电源:3-5V&#xff0c;光照度范围:0-65535lx传感器内置16bitAD转换器&#xff0c;直接数字输出&#xff0c;省略复杂的计算&#xff0c;省略标定&#xff0c;不区分环境光源接近于视觉灵敏度的分光特性&#xff0…