当前位置: 首页 > 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

相关文章:

  • 做美食有哪些网站百度关键词搜索量排名
  • 可信赖的手机网站建设微信管理软件哪个最好
  • 做旅游网站需要的背景新闻稿发布平台
  • 网站建设需要学习课程seo零基础入门教程
  • 电子商务网站整体策划百度登录入口
  • 做外贸学网站近期新闻热点大事件
  • 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亿美元