前言:

  如果你说你懂IT,你懂计算机网络,那么你会怎么解释“三次握手,四次挥手”?

----------------

1.TCP报文段首部格式:

2.TCP建立连接图

--------------------------------------------

符号说明

seq:"sequance"序列号
ack:"acknowledge"确认号
SYN:"synchronize"请求同步标志
ACK:"acknowledge"确认标志"
FIN:"Finally"结束标志

为什么收到Server端的确认之后,Client还需要进行第三次“握手”呢?
  在只有两次“握手”的情形下,假设Client想跟Server建立连接,但是却因为中途连接请求的数据报丢失了,故Client端不得不重新发送一遍;这个时候Server端仅收到一个连接请求,因此可以正常的建立连接。但是,有时候Client端重新发送请求不是因为数据报丢失了,而是有可能数据传输过程因为网络并发量很大在某结点被阻塞了,这种情形下Server端将先后收到2次请求,并持续等待两个Client请求向他发送数据...问题就在这里,Cient端实际上只有一次请求,而Server端却有2个响应,极端的情况可能由于Client端多次重新发送请求数据而导致Server端最后建立了N多个响应在等待,因而造成极大的资源浪费!所以,“三次握手”很有必要!

3.TCP断开连接图

---------------------------------------------------------------

为什么需要“四次挥手”?
  试想一下,假如现在你是客户端你想断开跟Server的所有连接该怎么做?第一步,你自己先停止向Server端发送数据,并等待Server的回复。但事情还没有完,虽然你自身不往Server发送数据了,但是因为你们之前已经建立好平等的连接了,所以此时他也有主动权向你发送数据;故Server端还得终止主动向你发送数据,并等待你的确认。其实,说白了就是保证双方的一个合约的完整执行!

转载于:https://www.cnblogs.com/SeaSky0606/p/4741982.html

为什么“三次握手,四次挥手”?相关推荐

  1. ssh协议是osi_TCP/IP协议和三次握手四次挥手

    计算机网络体系结构 在计算机网络的基本概念中,分层次的体系结构是最基本的.计算机网络体系结构的抽象概念较多,在学习时要多思考.这些概念对后面的学习很有帮助. 网络协议是什么? 在计算机网络要做到有条不 ...

  2. 在深谈TCP/IP三步握手四步挥手原理及衍生问题—长文解剖IP

    如果对网络工程基础不牢,建议通读<细说OSI七层协议模型及OSI参考模型中的数据封装过程?> 下面就是TCP/IP(Transmission Control Protoco/Interne ...

  3. java锁一次交互二次握手_Java后台开发面试实战(二):TCP三次握手四次挥手

    感谢牛客网网友提供的面试经验! 1. 解释一下TCP三次握手四次挥手 图片来源于微信公众号:码农求职小助手 答: 嗯(稍作思考)- 三次握手简单来说,在数据传输开始前: 第一次握手:客户端向服务端发送 ...

  4. tcp 二次握手时延_一篇搞懂TCP的三次握手 四次挥手

    TCP的三次握手四次挥手,估计大家都听过.但是真的能把每一步说明白的人比较少.我还记得在之前面试的时候被面试官一顿问,然后一脸懵B... 都是大学没好好上课 ,这篇文章就跟大家讲讲到底这三握四挥是在搞 ...

  5. TCP三次握手四次挥手 TCP/UDP区别

    三次握手 第一次握手: 建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认:  SYN:同步序列编号(Synchronize Sequence Numbe ...

  6. [计算机网络][总结][常见问题][TCP][三次握手][四次挥手]

    TCP三次握手 四次挥手 三次握手 目的:保证传输的可靠性,为了防止已失效的连接请求报文段突然又传送到了服务端,因而产生错误.主要防止资源的浪费. 具体过程:当客户端发出第一个连接请求报文段时并没有丢 ...

  7. linux 查看握手时间,实战:tcpdump抓包分析三次握手四次挥手

    本文档以实战的形式介绍tcpdump抓包分析三次握手四次挥手的过程. 执行tcpdump命令 tcpdump -n -i ens32 host 192.168.10.10 and 42.186.113 ...

  8. Wireshark验证TCP三次握手四次挥手

    本文介绍如何通过Wireshark抓包工具验证TCP的三次握手四次挥手过程. 首先本地起了一个tomcat服务器,跑了一个简单的基于SpringMVC的rest服务. 打开Wireshark,捕获指定 ...

  9. TCP三次握手四次挥手(图解)

    <TCP-IP协议栈概略图与TCP三次握手四次挥手> 目录 1 TCP过程详解 1.1 三次握手 1.2 四次挥手 2 使用tcpdump分析三次握手的过程 2.1 tcpdump抓包和t ...

  10. go tcp客户端自动重连_阿里面试: HTTP、HTTPS、TCP/IP、三次握手四次挥手过程?(附全网最具深度讲解)

    前言 这段时间面试官都挺忙的,频频出现在博客文章标题,虽然我不是特别想蹭热度,但是实在想不到好的标题了-.-,蹭蹭就蹭蹭 :) 事实上我在阿里面试的时候确实被问到了这个问题,HTTP.HTTPS.TC ...

最新文章

  1. 干货丨最全技术图谱:一文掌握人工智能各大分支技术(经典好文,值得收藏)
  2. 每日一皮:这年头没点绝活连洗车都不行...
  3. HTML如何在按钮右侧显示div,如何实现点击页面中的一个按钮相应位置的div显示隐藏?...
  4. 网易云信联手神州信息,金融视频营业厅被央视点赞
  5. 15个相当不错的jQuery技巧
  6. 自动驾驶「无视」障碍物:百度研究人员攻陷激光雷达
  7. 聊聊统一身份认证服务
  8. linux下log日志乱码_如何用 Linux 技巧大大提高工作效率?
  9. Visual Studio 2019预览,净生产力
  10. 零基础转行Web前端开发自学靠谱吗?菜鸟学习前端的方法分享
  11. jedis操作set_Redis从入门到深入-Java操作Redis(12)
  12. ExecuteNonQuery(),ExecuteScalar(),ExecuteReader的相关用法
  13. 如何做到微信机器人不封号_利用 Xposed 快速实现一个简易微信机器人
  14. 国家测绘局干部双向挂职锻炼管理暂行办法
  15. 游戏引擎设计 - 物理(Crapell Game Engine Design - physic)
  16. JavaScript-作用域和作用链
  17. NewTek LightWave 3D 2018 破解版
  18. au cs6七线阁教程 笔记
  19. lnmp一键部署脚本
  20. 记一次摸不着头脑的FullGC问题 (Thumbnails压缩图片占用巨大内存)

热门文章

  1. linux1到10累加,10个有趣的 Linux 命令
  2. mysql upload_关于mysql数据库里的 upload子查询问题
  3. 『ACM-算法-图论』算法竞赛进阶指南--hamilton路径(模板)
  4. ElasticSearch入门 —— 集群搭建
  5. sklearn的认识
  6. 了解LSTM和GRU
  7. 如何在ORACLE CLOUD中创建和访问容器集群丨内附官方文档链接
  8. 藉上帝之旨,行时代之命的文学长征
  9. MFC的固高环形倒立摆GRIP2002实验平台
  10. windowsCE异常和中断服务程序初探