面试官经常问我三次握手和四次挥手,现在终于知道怎么简简单单的叙述出来了
三次握手
三次握手发生在请求建立连接的阶段,
第一次握手:客户端的应用进程主动打开,并客户端发送请求到服务器,表明想要建立连接(SYN)
目的:
使服务器知道:客户端发送信息的能力,和服务器接收信息的能力,二者都没有问题
第二次握手:服务器应用进程被动打开,如果服务器同意客户端的请求,服务器则给客户端回应确认报文,表明收到了客户端的请求(SYN+ACK)
目的:
使客户端知道:客户端发送信息的能力,和服务器接收信息的能力,二者都没有问题
但是,如果我没有发送确认报文去服务器端的话,服务器不会知道服务器的发送信息的能力有没有问题
第三次握手:客户端收到确认报文之后,通知上层应用进程,连接已建立,客户端并再次向服务器发送确认报文,同时服务器在收到客户端的确认报文之后,也会通知上层应用进程连接已经建立(ACK)
目的:
使服务器知道:我们二者的发送和收信的能力都没有问题
四次挥手
四次挥手发生在请求释放资源
的阶段,目的就是断开连接
第一次挥手:客户端向服务器发送断开连接请求(FIN)
表明:我要关闭连接了
第二次挥手:服务器收到请求后,向客户端回应报文(ACK)
表明:服务器已收到请求,并且通知客户端自己可能还有一些数据需要处理
第三次挥手:服务器发送完所有报文后,向客户端发送断开连接请求报文(FIN)
表明:服务器要关闭连接了
第四次挥手:客户端收到服务器要断开连接的请求报文后,想服务器发送确认报文(ACK)
表明:客户端发送该报文时,也就将客户端的应用进程关闭了(CLOSED);当服务器收到确认报文后,服务器应用进程也关闭了(CLOSED)
为什么要进行三次握手和四次挥手?
三次握手:为了防止无效的连接请求报文到达服务器而引起错误。
TCP发起建立连接的一方不会一直等待对方的回复,如果超时,他再次发起这个请求,上一个作废。
四次挥手:确保数据能够完整传输。
面试官经常问我三次握手和四次挥手,现在终于知道怎么简简单单的叙述出来了相关推荐
- [转]面试官,不要再问我三次握手和四次挥手
文章目录 1. 三次握手 1.1 为什么需要三次握手,两次不行吗? 1.2 什么是半连接队列? 1.3 ISN(Initial Sequence Number)是固定的吗? 1.4 三次握手过程中可以 ...
- postman发送报文时请求时间超时因为什么_面试官说不要再问我三次握手和四次挥手是什么了...
三次握手和四次挥手是各个公司常见的考点,也具有一定的水平区分度,也被一些面试官作为热身题.很多小伙伴说这个问题刚开始回答的挺好,但是后面越回答越冒冷汗,最后就歇菜了. 见过比较典型的面试场景是这样的: ...
- 程序员面试被问到“三次握手,四次挥手”怎么办?
作者 | 饶全成 责编 | 郭 芮 记得刚毕业找工作面试的时候,经常会被问到:你知道"3次握手,4次挥手"吗?这时候我会"胸有成竹"地"背诵&qu ...
- 不要再问我三次握手和四次挥手
三次握手和四次挥手是各个公司常见的考点,也具有一定的水平区分度,也被一些面试官作为热身题.很多小伙伴说这个问题刚开始回答的挺好,但是后面越回答越冒冷汗,最后就歇菜了. 见过比较典型的面试场景是这样的: ...
- 【计算机网络面试】tcp/ip协议三次握手、四次挥手
TCP报文格式 TCP 报文是 TCP 层传输的数据单元,也称为报文段.TCP 报文中每个字段如图所示. 上图中 TCP 报文中每个字段的含义如下: 源端口和目的端口字段 TCP源端口(Source ...
- 详解三次握手和四次挥手
三次握手和四次挥手是各个公司常见的考点,也具有一定的水平区分度,也被一些面试官作为热身题.很多小伙伴说这个问题刚开始回答的挺好,但是后面越回答越冒冷汗,最后就歇菜了. 见过比较典型的面试场景是这样的: ...
- 面试问你,三次握手和四次挥手怎么回答?
面试必备 | 小伙伴栽在了JVM的内存分配策略... 垃圾收集器(CMS.G1)及内存分配策略 Java虚拟机何谓垃圾及垃圾回收算法 你真的知道Integer和int的区别吗? 三次握手和四次挥手是各 ...
- TCP的三次握手和四次挥手最详解
三次握手和四次挥手是各个公司常见的考点,也具有一定的水平区分度,也被一些面试官作为热身题.很多小伙伴说这个问题刚开始回答的挺好,但是后面越回答越冒冷汗,最后就歇菜了. 见过比较典型的面试场景是这样的: ...
- TCP三次握手和四次挥手学习
TCP三次握手和四次挥手学习 前言 近期对TCP协议进行复习,发现很多地方在上学的时候理解不是很深刻,所以再次学习和总结一下. 1.三次握手 三次握手(Three-way Handshake)其实就是 ...
最新文章
- TensorFlow——多维矩阵的转置(transpose)
- 在 Azure Resource Manager 中为虚拟机设置密钥保管库
- Apache Httpd + Subversion 搭建HTTP访问的SVN服务器
- Fragment向ChildFragment传值
- idea 执行 java jar_idea打包java可执行jar包的实现步骤
- ns2相关学习——TCL脚本编写(3)
- 职场 | 3天准备5天面试,跳槽完成
- 通过JS原型定义字符串格式化方法
- python画图代码的输入数据可以取出来_用Python写了个小程序:最小二乘法、读取文件、作图以及数据输出到文件...
- 中职读计算机什么专业好,读职校选择什么专业好一些
- python 2.7 input_Python2.7-fileinput
- ecshop二次开发 给商品添加自定义字段【包含我自己进一步的开发实例详解】
- 2017-2018-1 20155213 20155303 实验二 固件程序设计
- 十三届蓝桥杯国赛 内存空间 python 满分答案
- html测试报告模板,测试报告模板(完整版).doc
- Oracle索引建立原则
- javascript 视频进度条制作
- IT外包服务业各领域的未来前景和趋势
- 【转载】DEDE与DISCUZ整合积分同步[会员表,积分表
- Poco库使用:单元测试
热门文章
- 自学python记录_(1)新手入门
- html5 webp,JS判断浏览器是否支持webp
- Class-Aware Robust Adversarial Training for Object Detection论文阅读笔记
- 20181206 周四 日记
- 2021年安全员-B证(山东省-2021版)报名考试及安全员-B证(山东省-2021版)最新解析
- window.localStorage.setItem总结
- 函数指针的定义和使用
- Java实现爬取京东手机数据
- 如何申请使用 Copilot
- 目标检测论文解读复现之十六:基于改进YOLOv5的小目标检测算法