A 要发起一个连接,当发了第一个请求杳无音信的时候,会有很多的可能性,比如第一个请求包丢了,再如没有丢,但是绕了弯路,超时了,还有 B 没有响应,不想 和我连接。 A 不能确认结果,于是再发,再发。终于,有一个请求包到了 B,但是请求包到了 B 的这个事情,目前 A 还是不知道的,A 还有可能再发。 B 收到了请求包,就知道了 A 的存在,并且知道 A 要和它建立连接。如果 B 不乐意建立连接,则 A 会 重试一阵后放弃,连接建立失败,没有问题;如果 B 是乐意建立连接的,则会发送应答包给 A。 当然对于 B 来说,这个应答包也是一入网络深似海,不知道能不能到达 A。这个时候 B 自然不能认为连 接是建立好了,因为应答包仍然会丢,会绕弯路,或者 A 已经挂了都有可能。 而且这个时候 B 还能碰到一个诡异的现象就是,A 和 B 原来建立了连接,做了简单通信后,结束了连接。还记得吗?A 建立连接的时候,请求包重复发了几次,有的请求包绕了一大圈又回来了,B 会认为 这也是一个正常的的请求的话,因此建立了连接,可以想象,这个连接不会进行下去,也没有个终结的 时候,纯属单相思了。因而两次握手肯定不行。

为什么TCP连接至少3次握手相关推荐

  1. 为什么TCP连接要三次握手?

    TCP建立连接为什么不是两次握手?&TCP建立连接为什么是三次握手?(这两个问题的答案是一样的) 因为网络层是不可靠的.双方在通信的时候,就算是 TCP 连接,在网络层都有可能丢包,只不过是传 ...

  2. 三次握手和四次挥手图解_详解 TCP 连接的“三次握手”与“四次挥手”

    作者 | AhuntSun 责编 | Elle TCP connection 客户端与服务器之间数据的发送和返回的过程当中需要创建一个叫TCP connection的东西: 由于TCP不存在连接的概念 ...

  3. 详解 TCP 连接的“ 三次握手 ”与“ 四次挥手 ”

    作者 |  AhuntSun 责编 | Elle TCP connection 客户端与服务器之间数据的发送和返回的过程当中需要创建一个叫TCP connection的东西: 由于TCP不存在连接的概 ...

  4. 解析TCP连接之“三次握手”和“四次挥手”

    葡萄美酒夜光杯,欲饮琵琶马上催. 醉卧沙场君莫笑,古来征战几人回?----唐 · 王翰 · <凉州词> 前言 不管是面试别人还是被别人面试,有很大的可能会被问到TCP的"三次握手 ...

  5. TCP连接,三次握手问题

    参考引用 Waking-up--github 面向信仰编程 一.为什么TCP建立连接需要三次握手 什么是连接:用于保证可靠性和流控制机制的数据,包括 Socket.序列号以及窗口大小. 首要原因:为了 ...

  6. TCP 连接的“ 三次握手 ”与“ 四次挥手 ”

    TCP 协议简介 TCP 是互联网核心协议之一,本文介绍它的基础知识. 一.TCP 协议的作用 互联网由一整套协议构成.TCP 只是其中的一层,有着自己的分工. (图片说明:TCP 是以太网协议和 I ...

  7. 详解 TCP 连接的“三次握手”与“四次挥手”

    详解 TCP 连接的"三次握手"与"四次挥手" 前言 TCP的三次握手(Three-Way Handshake) 1."三次握手"的详解 2 ...

  8. Tcp连接的七次握手浅析

    连接的三次握手 客户端向服务器发送SYN请求 服务器发送ACK回应请求,并同时发送一个SYN的请求给客户端 客户端回应ACK应答 关闭的四次握手 对于关闭流程,一共有三种情况:客户端主动关闭,服务器端 ...

  9. TCP连接时三次握手与是否携带数据

    1.三次握手(Three-way Handshake)其实就是指建立一个TCP连接时,需要客户端和服务器总共发送3个包.进行三次握手的主要作用就是为了确认双方的接收能力和发送能力是否正常.指定自己的初 ...

最新文章

  1. ASP.net Joyrock异步应用示例、JSON-RPC使用方法
  2. mysql blob 内容查看_这些被你忽视的MySQL细节,可能会让你丢饭碗!
  3. 主机Window不能访问该虚拟机Linux Samba文件服务提供了一个文件夹
  4. python博客源码下载_Python生成并下载文件后端代码实例
  5. ecshop最全去版权
  6. 【LeetCode】【字符串】题号:*58. 最后一个单词的长度
  7. java服务端开发 php_Java和 PHP哪种语言更适合直播系统后台开发
  8. 【笔记】Loop曲面细分算法c++实现
  9. sap事务代码_SAP财务常用的MM模块事务代码清单
  10. html怎么把音乐播放器放到中间,怎么把音乐播放器放到自己的博客首页面上去?...
  11. IT大学生成长周报 | 第 6 期
  12. 解决Gradle‘s dependency cache may be corrupt (this sometimes occurs after a network connection timeout
  13. 通过U盘安装windows简易教程
  14. 中国身份证号码验证,支持15 18位,可验证成功90 的身份证号
  15. 力扣(202.454)补9.18
  16. Hive面试题精选-2021
  17. 移动端网页禁止下拉刷新css
  18. ajax请求type种类,ajax配置项中的type与method
  19. Mac 查看隐藏文件(夹)
  20. office2020与2016版的不同_office2016版和2010版的区别

热门文章

  1. 求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)
  2. 大话ion系列(一)
  3. 从编码、网络传输、架构设计揭秘腾讯云高质量、高可用实时音视频技术实践...
  4. ​内核调试技巧--systemtap定位丢包原因
  5. DHCP 服务原理:Snooping和Relay
  6. win_redis【win下安装使用redis】
  7. 使用idea编写SparkStreaming消费kafka中的数据,并对数据进行某一指标的处理【小案例】(五)
  8. Spark读取文本文件并转换为DataFrame
  9. 从 ES 到 Kylin,斗鱼客户端性能分析平台进化之旅
  10. 如何判断一个常量是废弃常量,一个类是无用类