面试篇——计算机网络面试核心问题汇总

news2024/12/23 17:34:46

前言

前言:总结前后端岗位面试中计算机网络部分常见的面试题。

文章目录

  • 前言
  • 一、OSI七层模型
    • 1、物理层
    • 2、数据链路层
    • 3、网络层
    • 4、传输层
    • 5、会话层
    • 6、表示层
    • 7、应用层
    • 8、网络数据处理的整个流程
  • 二、TCP/IP 四层模型
  • 三、TCP的三次握手
    • 1、TCP简介
    • 2、三次握手
      • 1)简介
      • 2)流程描述
      • 3)为什么需要三次握手才能建立起连接

一、OSI七层模型

1、物理层

  • 解决了什么问题:解决两台物理机之间的通信需求。具体为机器 A 向机器 B 发送比特流,机器 B 可以收到。定义了物理设备的标准。例如网线的类型、光纤的接口类型、各种传输介质的传输速率。

  • 数据:此层传输的数据称为比特流,将 0/1 二进制数据转换为强弱电流来进行传输(数模转换),达到目的地后再转为 0/1 二进制数据(模数转换)。

  • 作用:机械、电子、定时接口通信信道上的原始比特流传输。

  • 介质:网卡工作在此层。

2、数据链路层

  • 解决了什么问题:物理层在传输比特流的过程中,会出现错传或传输不完整的情况。定义了如何格式化数据以进行传输、控制对物理介质的访问、提供错误检测和纠正以确保数据传输的可靠性。
  • 数据:本层将比特数据组成了,对帧解码并根据帧中包含的信息将数据发送到正确的接收方。
  • 作用:物理寻址,同时将原始比特流转变为逻辑传输线路。
  • 介质:交换机工作在此层。

3、网络层

  • 解决了什么问题:随着网络节点不断增加,点对点通信时需要经过多个节点,如何找到目标节点,如何选择最佳路径。定义将网络地址翻译为对应的物理地址,决定将数据从发送方路由到接收方。
  • 数据:本层的数据称为
  • 协议:本层协议为 IP
  • 作用:定义IP编址,定义路由功能;如不同设备的数据转发。

4、传输层

  • 解决了什么问题:随着网络需求的进一步扩大,通信过程中需要发送大量数据。例如海量文件传输,需要传输很长时间,在通信过程中会中断多次,为了保证传输大量文件时的准确性,需要对发送的数据进行切分,切分成一个一个的段落进行发送。其中一个段落丢失了该怎么办是否要重传,每个段落按照顺序到达吗,是传输层需要考虑的问题。
  • 传输层解决了主机间的数据传输,解决了传输质量的问题,是最终要的一层。传输协议同时进行流量控制。
  • 数据:本层的数据称为
  • 本层需要关注 TCPUDP 协议。
  • 作用:端到端传输数据的基本功能。

5、会话层

  • 解决了什么问题:自动收发包,自动寻址。
  • 作用:建立和管理应用程序之间的通信,不同机器上的用户之间建立及管理会话。

6、表示层

  • 会话层能保证应用程序自动收发包和自动寻址。但是不同机器间的语法不一致,例如 LIinux 系统给 Windows 系统收发包,两个机器间的语法不一致。例如 .exe 是不能在 linux 系统上运行,shell 不能在 windows 上直接运行。
  • 解决了什么问题:解决不同系统间通信语法的问题,数据在表示层按照网络能理解的方案进行格式化,格式化因网络类型的不同而不同。
  • 作用:信息的语法语义以及它们的关联。如加密解密、转换翻译、压缩解压缩。

7、应用层

  • 在表示层虽然发送方知道自己发送的是什么东西、转化成字节数组有多长,但是接收方不能识别,故应用层的网络协议诞生。
  • 规定发送方和接收方必须使用一个固定长度的消息头,消息头必须使用某种固定的组成,而且消息头中必须记录消息体的长度等一系列信息,以方便接收方能正确解析发送方发送过来的数据。
  • 协议:Http 协议。
  • 作用:各种应用软件,包括 Web 应用。

8、网络数据处理的整个流程

  • 先自上而下处理数据头部:应用层开始会对传输的数据头部进行处理,加上本层的一些信息,最终由物理层通过以太网电缆等介质将数据解析成比特流在网络中传输。
  • 后自下而上处理数据头部:数据传输到目标地址并自底而上的将先前对应成的头部给解析分离出来。

二、TCP/IP 四层模型

  • OSI 是一个定义良好的协议规范机,并有许多可选部分完成类似的任务,定义了开放系统的层次结构,层次之间的相互关系以及各层所包括的可能的任务,是作为一个框架来协调和组织各层所提供的服务。
  • 但是 OSI 参考模型并没有提供一个可以实现的方法而是描述了一些概念用来协调进程间通信标准的制定,即 OSI 参考模型并不是一个标准而是一个在制定标准时所使用的概念型框架。
  • 事实的标准是 TCP/IP 四层架构参考模型。
  • OSI 协议注重通信协议必要的功能是什么,而 TCP/IP 则是在计算机上实现协议该开发哪种程序,TCP/IP 是 OSI 的一种实现。
  • 先自上而下,后自下而上处理数据头部。TCP/IP的每个分层中都会对所发送的数据附加一个头部,在首部中包含了该层必要的信息,如发送的目标地址以及协议相关的信息,通常为协议提供的信息为报头的首部,所要发送的内容为数据。

三、TCP的三次握手

1、TCP简介

  • 面向连接的、可靠的、基于字节流的传输层通信协议。
  • 传输数据时应用层向 TCP 发送数据流,TCP 将数据流分割成适当长度的报文段,TCP 将结果包传输给 IP 层由它通过网络将包传输给目标节点的 TCP 层。
  • TCP 为了保证数据包不丢失,给每个数据包一个序号,序号保证了传送到目标节点,包的按序处理。接收端对已接收到的包发送一个 ACK 确认,未收到则需重传。
  • TCP使用校验和来检验数据在传输过程中是否有误。

2、三次握手

1)简介

  • 当一个应用程序希望通过 TCP 与另一个应用程序进行通信时会发送一个通信请求,这个请求必须被送到一个确切的地址,在双方握手之后,TCP 将在两个应用程序之间建立一个全双工的通信,全双工的通信将占用两个计算机之间的通信线路,直到它被一方或者双方关闭为止。握手:TCP的三次握手。全双工:计算机 A 可以给计算机 B 发送信息,在发送信息的同时,计算机 B 也可以给 A 回发信息。
  • 三次握手其实就是指建立一个 TCP 连接时,需要客户端和服务器总共发送 3 个包。进行三次握手的主要作用就是为了确认双方的接收能力和发送能力是否正常,指定自己的初始化序列号为后面的可靠性传送做准备。实质上其实就是连接服务器指定端口,建立 TCP 连接,并同步连接,双方的序列号和确认号,交换 TCP 窗口大小信息。

2)流程描述

  • 初始状态:客户端处于 Closed(关闭) 状态,服务器处于 Listen(监听) 状态。
  • 第一次握手:客户端发送请求报文将 SYN = 1 同步序列号和初始化序列号 seq = x 发送给服务器,同时客户端处于 SYN_SEND 状态(头部已发送的状态),等待服务器确认。
  • 第二次握手:服务器接收到 SYN 请求报文之后,如果同意连接,会以自己的同步序列号 SYN(服务端)= 1 、初始化序列号 seq = yack = x+ 1 以及确认号 ACK = 1 (确认序列号,期望下次收到的数据包)报文作为应答,服务器为 SYN_RECV 状态(同步收到的状态)。
  • 第三次握手: 客户端接收到服务端的 SYN + ACK 后,知道可以下次可以发送了下一序列的数据包了,然后发送同步序列号 ack = y + 1 和数据包的序列号 seq = x + 1 以及确认号 ACK = 1 确认包作为应答,服务器接收到包之后,客户端和服务器进入 ESTABLISHED 状态(已建立连接的状态),双方建立起连接,完成三次握手。

3)为什么需要三次握手才能建立起连接

  • 第一次握手:客户端发送网络包,服务端接收到了。 这样服务端就能得出结论:客户端的发送能力服务端的接收能力是正常的。
  • 第二次握手:服务端发包,客户端收到了。 这样客户端就能得出结论:服务端的接收发送能力客户端的接收发送能力是正常的。不过此时服务器并不能确认客户端的接收能力是否正常。
  • 第三次握手:客户端发包,服务端收到了。 这样服务端就能得出结论:客户端的接收发送能力正常,服务器自己的发送、接收能力也正常。
  • 因此,需要三次握手才能确认双方的接收与发送能力是否正常。

未完待遇…

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

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

相关文章

预训练机制(3)~GPT、BERT

目录 1. BERT、GPT 核心思想 1.1 word2vec和ELMo区别 2 GPT​编辑 3. Bert 3.1 Bert集大成者 extension:单向编码--双向编码区别 3.2 Bert和GPT、EMLo区别 3.3 Bert Architecture 3.3.1 explanation:是否参数多、数据量大,是否过拟…

天干地支蓝桥杯国赛

题目 分析 蓝桥杯国赛2020简单模拟题&#xff0c;你敢信&#xff0c;就是弄两个字符串数组。重点在于知道0000年是从哪个天干和地支开始的。 代码 #include <iostream> using namespace std;int year;int main() {cin >> year;string tiangan[10] {"geng&…

rip路由协议

目录 1.rip路由协议介绍 2.版本 3.工作原理 4.缺点 5.RIP配置 1.rip路由协议介绍 RIP---路由信息协议/矢量路由选择协议&#xff08;Routing Information Protocol&#xff09;是基于距离矢量路由协议&#xff0c;最大的特点是利用跳数来最为计量的标准&#xff08;最多支…

【roLabelImg】windows下旋转框标注软件安装、使用、rolabelimg打包成exe

主要参考&#xff1a; roLabelImg安装、使用、数据格式roLabelImg在Win10系统下打包成exe - 问雪的文章 - 知乎 一、安装 1.1 直接下载exe运行 劝大家直接去下别人编译好的吧&#xff0c;本来是训练模型标记的&#xff0c;结果搞了半天去了解这个软件了&#xff0c;哎~ 我…

数仓实战 - 滴滴出行

项目大致流程&#xff1a; 1、项目业务背景 1.1 目的 本案例将某出行打车的日志数据来进行数据分析&#xff0c;例如&#xff1a;我们需要统计某一天订单量是多少、预约订单与非预约订单的占比是多少、不同时段订单占比等 数据海量 – 大数据 hive比MySQL慢很多 1.2 项目架…

【K6】使用InfluxDB和Grafana图像化展示k6.io的测试数据

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录前言一&#xff1a;什么是K6二&#xff1a;K6的安装三&#xff1a;脚本准备四&#xff1a;执行脚本五&#xff1a;结果分析六、输出结果总结前言 ●&#x1f9d1;个人…

(考研湖科大教书匠计算机网络)第四章网络层-第六节4:边界网关协议BGP的基本工作原理

获取pdf&#xff1a;密码7281专栏目录首页&#xff1a;【专栏必读】考研湖科大教书匠计算机网络笔记导航 文章目录一&#xff1a;不同自治系统交流需要考虑的问题二&#xff1a;边界网关协议BGP概述三&#xff1a;BGP-4种的四种报文本节对应视频如下 【计算机网络微课堂&#x…

告警修复难?Zabbix+ChatGPT,轻松化解大胆尝试!

感谢本文作者小谈谈&#xff01; ○ 基于 Zabbix 能力&#xff0c;我们将告警发给了 ChatGPT&#xff0c;并通过企业微信内部应用的方式给出告警信息和修复建议。效果如下图&#xff1a; 摘 要 ChatGPT 是最近很火的 AI 智能机器人程序&#xff0c;2 个月活跃用户突破 1 亿&a…

java对象内存结构分析与大小计算

java对象内存结构Java对象保存在堆中时&#xff0c;由三部分组成&#xff1a;对象头&#xff08;object header&#xff09;&#xff1a;包括了关于堆对象的布局、类型、GC状态、同步状态和标识哈希码的基本信息。所有java对象都有一个共同的对象头格实例数据&#xff08;Insta…

55个软件测试工具,正在做测试的你get到了吗

网络“黑色星期五”威胁&#xff0c;安全漏洞&#xff0c;网上银行盗窃&#xff0c;系统停机时间&#xff0c;以及许多这样的恶梦让全球的企业忧心忡忡难以入眠。确保性能具有加载的安全性和增强的经验是这个领域每个有能力的玩家所必备的。 我们为你提供了一个丰富的软件测试…

Word控件Spire.Doc 【Table】教程(15):如何在 C# 中对齐表格

Spire.Doc for .NET是一款专门对 Word 文档进行操作的 .NET 类库。在于帮助开发人员无需安装 Microsoft Word情况下&#xff0c;轻松快捷高效地创建、编辑、转换和打印 Microsoft Word 文档。拥有近10年专业开发经验Spire系列办公文档开发工具&#xff0c;专注于创建、编辑、转…

Java字符流

5 字符流 5.1 为什么出现字符流 由于字节流操作中文不是特别的方便&#xff0c;所以Java就提供字符流字符流字节流编码表用字节流复制文本文件时&#xff0c;文本文件也会有中文&#xff0c;但是没有问题&#xff0c;原因是最终底层操作会自动进行字节拼接成中文&#xff0c;…

【面试题】对JS中的事件冒泡、事件捕获、事件委托的理解

大厂面试题分享 面试题库后端面试题库 &#xff08;面试必备&#xff09; 推荐&#xff1a;★★★★★地址&#xff1a;前端面试题库DOM事件流&#xff08;event flow &#xff09;存在三个阶段&#xff1a;事件捕获阶段、处于目标阶段、事件冒泡阶段。Dom标准事件流的触发的先…

ChatGPT的原理:机器人背后的模型

ChatGPT的原理&#xff1a;机器人背后的模型 翻译&#xff1a;老齐 本文将深入讲解支持 ChatGPT 的机器学习模型。从介绍大语言模型&#xff08;Large Language Models&#xff09;开始&#xff0c;深入探讨革命性的自注意力机制&#xff0c;该机制使 GPT-3 得以被训练。然后&a…

数据库查询计划:获取与分类

数据库在得到一个查询后&#xff0c;先将查询转化为一个逻辑查询计划&#xff0c;对其进行优化&#xff0c;然后转为物理执行计划&#xff0c;最后按照物理执行计划进行操作&#xff0c;最终得到最终结果。本篇博客介绍获得数据库查询计划的语法与物理计划的分类。 目录得到查询…

文件描述符fd

目录文件描述符fd系统文件IO接口介绍openclosewriteopen的函数返回值0 & 1 & 2文件描述符的分配规则重定向dup2系统调用FILE文件描述符fd 操作系统是文件的管理者&#xff0c;所有语言上的对“文件”的操作&#xff0c;都必须贯穿OS&#xff0c;又因为操作系统不相信任…

A_A07_003 AS608指纹模块上位机软件使用

A_A07_003 AS608指纹模块上位机软件使用一、软件获取二、测试用模块与接线三、上位机界面分块和功能1、指纹图像显示区域2、硬件信息3、打开设备4、设备配置5、信息显示6、图像管理7、指纹处理8、辅助功能四、注意事项一、软件获取 网盘链接 直戳跳转 二、测试用模块与接线 …

【Kubernetes】【五】资源管理和YML

第三章 资源管理 本章节主要介绍yaml语法和kubernetes的资源管理方式 资源管理介绍 在kubernetes中&#xff0c;所有的内容都抽象为资源&#xff0c;用户需要通过操作资源来管理kubernetes。 ​ kubernetes的本质上就是一个集群系统&#xff0c;用户可以在集群中部署各种服务…

软件测试面试刷题app包含了各种难题

软件测试的生命周期&#xff1a; V模型&#xff1a;与软件开发阶段呼应 软件开发&#xff1a;需求分析-->概要设计-->详细设计-->编码阶段软件测试&#xff1a;单元测试-->集成测试-->系统测试-->验收测试从基本流程的角度讲&#xff1a; 需求阶段&#xff…

Java基础:接口

1.接口的概念 当不是所有子类, 而是多个子类都包含一个方法时, 为了代码书写规范性, 可以用自定义的接口来统一该方法的书写规范. 所以接口可以看作是一种书写规则. 接口是对行为的抽象 抽象类一般是书写在父类当中, 接口是单独书写的, 不是一种类 2.接口的定义和使用 3.接口…