当前位置: 首页 > news >正文

八股文打卡day2——计算机网络(2)

面试题:讲一下三次握手的过程?

我的回答:

1.客户端发送报文段到服务器,主动建立连接。这个报文段中SYN标志位表示:这个报文段是用于连接的,此时SYN标志位设置为1。其中初始序列号字段包含了客户端的初始序列号。
2.服务器收到客户端的报文段之后,发送SYN-ACK报文段,这个报文段中主要包含两个信息:①ACK表示对客户端SYN报文段收到的确认②SYN表示将自己的初始序列号也发给客户端。此时SYN标识设置为1,ACK标识设置为1
3.客户端收到服务器的SYN-ACK之后,回复ACK进行确认。此时SYN置为0,ACK置为1。
这样三次握手之后,客户端和服务器就建立了连接!
在这里插入图片描述

为什么不是四次握手呢?

我的回答:

因为三次握手就可以保证客户端和服务器之间的可靠传输了,四次握手的话,会更加浪费资源,效率比较低。

为什么不是两次握手呢?

我的回答:

因为两次握手有很多弊端:
1.无法保证客户端和服务器都有传输数据和接收数据的能力。因为客户端没有发送ACK确认。
2.可能导致重复连接的问题。两次握手的话,如果之前有客户端发送的SYN在通信链路上延迟发送了,等到这个SYN到达服务器端的时候,可能会建立了重复连接。可能会造成资源浪费和一些安全问题。
3.可能导致假死现象。客户端发送了一个SYN,但是他在通信中延迟在链路上了,等到这个SYN可以到达服务器端了,但是客户端已经放弃这次连接了。两次握手的话,这样可能导致建立不需要的连接。

两次握手不可靠,而且有很多问题,所以得使用三次进行握手。

回答八股的时间:2023.12.17

相关文章:

  • el-select二次封装实现可分页加载数据
  • 什么店生意好?C++采集美团商家信息做数据分析
  • Python Django 连接 PostgreSQL 操作实例
  • React 组件生命周期
  • R语言|分面中嵌入趋势线
  • 【Spark面试】Spark面试题答案
  • ARM MMU简介
  • 【计算机网络】—— 详解码元,传输速率的计算|网络奇缘系列|计算机网络
  • 【Spark精讲】Spark存储原理
  • 基于Pytest+Requests+Allure实现接口自动化测试
  • 322. 零钱兑换
  • HTML5面试题
  • Java小技巧:创建带缓存的过程
  • spring-cloud-starter-gateway-mvc的网关实现
  • 将包上传到 npm
  • 深度学习之模型权重
  • 【Axure RP9】动态面板使用------案例:包括轮播图和多方式登入及左侧菜单栏案例
  • 【网络安全】网络防护之旅 - Java安全机制探秘与数字证书引爆网络防线
  • 免费获取GPT-4的五种工具
  • 手机天线市场分析:预计2029年将达到576亿美元
  • 印度最新发声:对所有敌对行动均予以反击和回应,不会升级冲突
  • 习近平会见塞尔维亚总统武契奇
  • 中铁房地产24.7亿元竞得上海松江新城宅地,溢价率20.42%
  • 深圳两家会所涉卖淫嫖娼各被罚7万元逾期未缴,警方发催告书
  • 逆境之上,万物生长
  • 河南省省长王凯在郑州调研促消费工作,走访蜜雪冰城总部