【校招VIP】java专业课之三次握手四次挥手

news2024/10/5 5:25:14

考点介绍:
三次握手四次挥手问题是校招面试中的必考题。
三次握手即TCP连接的建立。这个连接必须是一方主动打开,另一方被动打开的。四次挥手即TCP连接的释放(解除)。连接的释放必须是一方主动释放,另一方被动释放。

『java专业课之三次握手四次挥手』相关题目及解析内容可点击文章末尾链接查看!

一、考点题目

1、为什么TCP链接需要三次握手,两次不可以么?
解答:为了防止 已失效的链接请求报文突然又传送到了服务端,因而产生错误。客户端发出的连接请求报文并未丢失,而是在某个网络节点长时间滞留了,以致延误到链接释放以后的某个时间才到达Server。这是,Server误以为这是Client发出的一个新的链接请求,于是就向客户端发送确认数据包,同意建立链接......

2、三次握手是通过标识位和确认号进行的网络操作,下列哪个选项是不正确的?
A.第一次握手([SYN], Seq = x)
B.第二次握手([SYN,ACK], Seq = y, ACK = x + 1)
C.第二次握手([SYN,ACK], Seq = y, ACK = y + 1)
D.第三次握手([ACK], ACK = y + 1)

正确答案:C     三次握手面试时不能笼统的说第一次、第二次、第三次,而是要从编程的角度也就是TCP协议说明实现的方法,要理解标识位和状态位的变化。第一次握手([SYN], Seq = x)客户端发送一个SYN标记的包,Seq初始序列号x,发送完成后客户端进入SYN_SEND状态......

3、TCP断开连接的四次挥手中,第四次挥手发送的包会包含的标记,最正确的描述是?()
A.FIN
B.FIN,PSH
C.ACK
D.FIN,ACK

正确答案:C     我们假设由client提出关闭,则:
第一次:FIN(client发给server)
第二次:ACK(server发给client)
第三次:FIN(server发给client )
第四次:ACK(client发给server)

4、为什么TCP连接的时候是3次,关闭的时候却是4次?
解答:因为只有在客户端和服务端都没有数据要发送的时候才能断开TCP。而客户端发出FIN报文时只能保证客户端没有数据发了,服务端还有没有数据发客户端是不知道的。而服务端收到客户端的FIN报文后只能先回复客户端......

5、为什么客户端发出第四次挥手的确认报文后要等2MSL的时间才能释放TCP连接?
解答:这里同样是要考虑丢包的问题,如果第四次挥手的报文丢失,服务端没收到确认ack报文就会重发第三次挥手的报文,这样报文一去一回最长时间就是2MSL,所以需要等这么长时间来确认服务端确实已经收到了。

二、考点文章

1、我终于搞懂了TCP的三次握手和四次挥手
TCP(Transmission Control Protocol,传输控制协议)是一种面向连接的、可靠的、基于字节流的通信协议,数据在传输前要建立连接,传输完毕后还要断开连接......

2、简明理解三次握手和四次挥手
注:三次握手和四次挥手本身并不复杂,但却可以从很多角度理解这两个过程,本文仅取一个视点解读,如有其它看法欢迎留言交流......

3、TCP协议中的三次握手和四次挥手(图解)
建立TCP需要三次握手才能建立,而断开连接则需要四次握手。整个过程如下图所示......

4、【校招VIP】概述TCP/IP协议及其三握四挥
从字面意义上讲,有人可能会认为 TCP/IP 是指 TCP 和 IP 两种协议。实际生活当中有时也确实就是指这两种协议。然而在很多情况下,它只是利用 IP 进行通信时所必须用到的协议群的统称。所谓协议可以把网络协议想象成人与人之间的礼仪行为......

三、考点视频

1.TCP建立和结束连接的过程
本题是开发类一线校招专业课必考题之一。需要在理解TCP协议的基础上,记忆过程中的状态码、字段和标志位。最好是能够在理解的前提下,背下状态图......

『java专业课之三次握手四次挥手』相关题目及解析内容可点击下方链接查看:

java专业课之三次握手四次挥手-移动端链接
java专业课之三次握手四次挥手-PC端

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/952854.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JPA在不写sql的情况下实现模糊查询

本文已收录于专栏 《Java》 目录 背景介绍概念说明单字段模糊匹配:多字段模糊匹配: 实现过程代码实现1.写一个实体类去实现Specification接口,重写toPredicate方法2.定义一个接口去继承JpaRepository接口,并指定返回的类型和参数类…

YOLOv5训练后利用权重对特征图可视化

我们可以可视化某层的特征图添加到论文中,属于锦上添花了! 小小的技巧,有需要的同学可以自取代码尝试一下。 python detect.py --weights best.pt --imgsz 640 --source ./data/image/ --visualize运行过程中: 运行后即可生成特…

大数据学习:haproxy实现impala的负载均衡

HAProxy实现Impala的负载均衡 1.HAProxy安装及启停 1.1 在集群中选择一个节点,使用yum方式安装HAProxy服务 [rootdata01-dev ~]# yum -y install haproxy1.2 启动与停止HAProxy服务,并将服务添加到自启动列表 [rootdata01-dev ~]# service haproxy s…

Redis持久化——RDF与AOF两种方式怎么做?有什么区别?

目录 1. 什么是RDB 2. save 和 bgsave 命令主动保存数据 2.1 save 2.2 bgsave 3. Redis 内部自动RDB机制 4. RDB 底层是如何实现 bgsave 的? 5. RDB 的缺点 6. 什么是AOF? 7. AOF文件的缺点? 8. AOF 重写文件配置 9. RDB 与 AOF …

Unexpected mutation of “xxxx“ prop

原因 是因为子级修改了父级的数据,所以eslint执行的时候报了这个错 修复方式 1 如果是弹窗等组件,可以根据功能进行修改,比如我这块用的 element ui 的 dialog,便可以改成这样 使用 model-value 代替 修复方式 2 新建子组件…

CTFhub-文件上传-MIME绕过

用哥斯拉生成 php 木马文件 1.php 抓包---> 修改 conten-type 类型 为 imge/jpeg 用蚁剑连接 ctfhub{8e6af8109ca15932bad4747a}

云计算的三个主要服务模型:IaaS、PaaS 和 SaaS

文章目录 介绍基础设施即服务(Infrastructure as a Service,IaaS)平台即服务(Platform as a Service,PaaS)软件即服务(Software as a Service,SaaS) 区别基础设施即服务&…

VS2022 Community 安装步骤

VS2022 Community 安装步骤(C语言学习) 1. 下载地址2. 安装步骤 1. 下载地址 链接: VS2022 Community下载地址 2. 安装步骤 双击图标进行安装。 点击【继续】后等待安装。 选择需要的安装包并修改安装位置,然后点击【安装】。 点击安装…

vue 小黑记事本

vue 小黑记事本 下面这个界面用html和css 如何搞出来?

市面上的ipad国产触控笔怎么样?适合开学买电容笔推荐

自从ipad之类的平板电脑上出现了电容笔,电容笔就成功的取代了我们的手指,大大加快了我们的写作速度。不过,苹果推出的这款电容笔,由于其特殊的压感和芯片技术,价格一直很贵,很多人都很难买得起,…

Error encountered when performing Introspect database postgres schema

我在使用postgresql数据库的时候遇到了这两个异常: 并且查看不到数据库里的表信息 Error encountered when performing Introspect database postgres schema public (details): 错误: 字段 t.relhasoids 不存在 Error encountered when performing Introspect database pos…

Python钢筋混凝土结构计算.pdf-混凝土强度设计值

计算原理: 需要注意的是,根据不同的规范和设计要求,上述公式可能会有所差异。因此,在进行混凝土强度设计值的计算时,请参考相应的规范和设计手册,以确保计算结果的准确性和合规性。 代码实现: …

2023年天府杯——C 题:码头停靠问题

问题背景: 某个港口有多个不同类型的码头,可以停靠不同种类的船只。每 艘船只需要一定的时间来完成装卸货物等任务,并且每个码头有容量 限制和停靠时间限制。港口需要在保证收益的情况下,尽可能地提高 运营效率和降低成本。同…

快速上手: Linux环境配置, 基本指令与项目部署要点

文章目录 1. Linux前置知识1.1. 什么是Linux1.2. Linux环境的搭建 2. Linux常用命令lscd pwdtouch cat more echo mkdirvi/vimrm cp mvgrep ps netstat 管道符yum相关Linux权限 3. 使用Linux部署Servlet项目3.1. 安装JDK3.2. 安装Tomcat3.3. 通过yum安装MariaDB3.4. 部署Servle…

vue3和vue2的主要区别

Vue 3 和 Vue 2 之间有几个主要的区别: 性能优化:Vue 3 在性能方面进行了一些改进,包括更快的渲染速度和更小的包大小。Vue 3 使用了新的响应式系统,可以更好地追踪依赖关系,从而提高了渲染性能。 Composition API&am…

深圳科普宣传片的重要性

科普宣传片是指科学普及宣传片,旨在向公众传播科学知识、提高科学素养、促进科学文化的传播和科学教育。接下来由深圳科普宣传片制作公司老友记小编从以下几个方面浅析科普宣传片的重要性: 1.普及科学知识:科普宣传片可以向大众传达科学知识,…

PYTHON用户流失数据挖掘:建立逻辑回归、XGBOOST、随机森林、决策树、支持向量机、朴素贝叶斯和KMEANS聚类用户画像...

原文链接:http://tecdat.cn/?p24346 在今天产品高度同质化的品牌营销阶段,企业与企业之间的竞争集中地体现在对客户的争夺上(点击文末“阅读原文”获取完整代码数据)。 “用户就是上帝”促使众多的企业不惜代价去争夺尽可能多的客…

【紫光同创国产FPGA教程】——【PGL22G第六章】密码锁实验例程

本原创教程由深圳市小眼睛科技有限公司创作,版权归本公司所有,如需转载,需授权并注明出处 适用于板卡型号: 紫光同创PGL22G开发平台(盘古22K) 一:盘古22K开发板(紫光同创PGL22G开发…

「2024」预备研究生mem-相同元素问题仅选取隔板法相邻与不相邻问题

一、相同元素问题&仅选取&隔板法&相邻与不相邻问题 不理解可以不考虑这种方法: 隔板法: 使用分堆分配,此时比较麻烦:

基于Java+SpringBoot+Vue前后端分离智能学习平台系统设计和实现

博主介绍:✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专…