三次握手

三次握手发生在请求建立连接的阶段,

  • 第一次握手:客户端的应用进程主动打开,并客户端发送请求到服务器,表明想要建立连接(SYN)

    目的:

    使服务器知道:客户端发送信息的能力,和服务器接收信息的能力,二者都没有问题

  • 第二次握手:服务器应用进程被动打开,如果服务器同意客户端的请求,服务器则给客户端回应确认报文,表明收到了客户端的请求(SYN+ACK)

    目的:

    使客户端知道:客户端发送信息的能力,和服务器接收信息的能力,二者都没有问题
    但是,如果我没有发送确认报文去服务器端的话,服务器不会知道服务器的发送信息的能力有没有问题

  • 第三次握手:客户端收到确认报文之后,通知上层应用进程,连接已建立,客户端并再次向服务器发送确认报文,同时服务器在收到客户端的确认报文之后,也会通知上层应用进程连接已经建立(ACK)

    目的:

    使服务器知道:我们二者的发送和收信的能力都没有问题

四次挥手

四次挥手发生在请求释放资源的阶段,目的就是断开连接

  • 第一次挥手:客户端向服务器发送断开连接请求(FIN)

    表明:我要关闭连接了

  • 第二次挥手:服务器收到请求后,向客户端回应报文(ACK)

    表明:服务器已收到请求,并且通知客户端自己可能还有一些数据需要处理

  • 第三次挥手:服务器发送完所有报文后,向客户端发送断开连接请求报文(FIN)

    表明:服务器要关闭连接了

  • 第四次挥手:客户端收到服务器要断开连接的请求报文后,想服务器发送确认报文(ACK)

    表明:客户端发送该报文时,也就将客户端的应用进程关闭了(CLOSED);当服务器收到确认报文后,服务器应用进程也关闭了(CLOSED)

为什么要进行三次握手和四次挥手?

三次握手:为了防止无效的连接请求报文到达服务器而引起错误。

TCP发起建立连接的一方不会一直等待对方的回复,如果超时,他再次发起这个请求,上一个作废。

四次挥手:确保数据能够完整传输。

面试官经常问我三次握手和四次挥手,现在终于知道怎么简简单单的叙述出来了相关推荐

  1. [转]面试官,不要再问我三次握手和四次挥手

    文章目录 1. 三次握手 1.1 为什么需要三次握手,两次不行吗? 1.2 什么是半连接队列? 1.3 ISN(Initial Sequence Number)是固定的吗? 1.4 三次握手过程中可以 ...

  2. postman发送报文时请求时间超时因为什么_面试官说不要再问我三次握手和四次挥手是什么了...

    三次握手和四次挥手是各个公司常见的考点,也具有一定的水平区分度,也被一些面试官作为热身题.很多小伙伴说这个问题刚开始回答的挺好,但是后面越回答越冒冷汗,最后就歇菜了. 见过比较典型的面试场景是这样的: ...

  3. 程序员面试被问到“三次握手,四次挥手”怎么办?

    作者 | 饶全成 责编 | 郭   芮 记得刚毕业找工作面试的时候,经常会被问到:你知道"3次握手,4次挥手"吗?这时候我会"胸有成竹"地"背诵&qu ...

  4. 不要再问我三次握手和四次挥手

    三次握手和四次挥手是各个公司常见的考点,也具有一定的水平区分度,也被一些面试官作为热身题.很多小伙伴说这个问题刚开始回答的挺好,但是后面越回答越冒冷汗,最后就歇菜了. 见过比较典型的面试场景是这样的: ...

  5. 【计算机网络面试】tcp/ip协议三次握手、四次挥手

    TCP报文格式 TCP 报文是 TCP 层传输的数据单元,也称为报文段.TCP 报文中每个字段如图所示. 上图中 TCP 报文中每个字段的含义如下: 源端口和目的端口字段 TCP源端口(Source ...

  6. 详解三次握手和四次挥手

    三次握手和四次挥手是各个公司常见的考点,也具有一定的水平区分度,也被一些面试官作为热身题.很多小伙伴说这个问题刚开始回答的挺好,但是后面越回答越冒冷汗,最后就歇菜了. 见过比较典型的面试场景是这样的: ...

  7. 面试问你,三次握手和四次挥手怎么回答?

    面试必备 | 小伙伴栽在了JVM的内存分配策略... 垃圾收集器(CMS.G1)及内存分配策略 Java虚拟机何谓垃圾及垃圾回收算法 你真的知道Integer和int的区别吗? 三次握手和四次挥手是各 ...

  8. TCP的三次握手和四次挥手最详解

    三次握手和四次挥手是各个公司常见的考点,也具有一定的水平区分度,也被一些面试官作为热身题.很多小伙伴说这个问题刚开始回答的挺好,但是后面越回答越冒冷汗,最后就歇菜了. 见过比较典型的面试场景是这样的: ...

  9. TCP三次握手和四次挥手学习

    TCP三次握手和四次挥手学习 前言 近期对TCP协议进行复习,发现很多地方在上学的时候理解不是很深刻,所以再次学习和总结一下. 1.三次握手 三次握手(Three-way Handshake)其实就是 ...

最新文章

  1. TensorFlow——多维矩阵的转置(transpose)
  2. 在 Azure Resource Manager 中为虚拟机设置密钥保管库
  3. Apache Httpd + Subversion 搭建HTTP访问的SVN服务器
  4. Fragment向ChildFragment传值
  5. idea 执行 java jar_idea打包java可执行jar包的实现步骤
  6. ns2相关学习——TCL脚本编写(3)
  7. 职场 | 3天准备5天面试,跳槽完成
  8. 通过JS原型定义字符串格式化方法
  9. python画图代码的输入数据可以取出来_用Python写了个小程序:最小二乘法、读取文件、作图以及数据输出到文件...
  10. 中职读计算机什么专业好,读职校选择什么专业好一些
  11. python 2.7 input_Python2.7-fileinput
  12. ecshop二次开发 给商品添加自定义字段【包含我自己进一步的开发实例详解】
  13. 2017-2018-1 20155213 20155303 实验二 固件程序设计
  14. 十三届蓝桥杯国赛 内存空间 python 满分答案
  15. html测试报告模板,测试报告模板(完整版).doc
  16. Oracle索引建立原则
  17. javascript 视频进度条制作
  18. IT外包服务业各领域的未来前景和趋势
  19. 【转载】DEDE与DISCUZ整合积分同步[会员表,积分表
  20. Poco库使用:单元测试

热门文章

  1. 自学python记录_(1)新手入门
  2. html5 webp,JS判断浏览器是否支持webp
  3. Class-Aware Robust Adversarial Training for Object Detection论文阅读笔记
  4. 20181206 周四 日记
  5. 2021年安全员-B证(山东省-2021版)报名考试及安全员-B证(山东省-2021版)最新解析
  6. window.localStorage.setItem总结
  7. 函数指针的定义和使用
  8. Java实现爬取京东手机数据
  9. 如何申请使用 Copilot
  10. 目标检测论文解读复现之十六:基于改进YOLOv5的小目标检测算法