计算机网络保研面试(自用版h)

第一章 概述

一、计算机网络的概念

计算机网络:若干结点(node)和连接这些结点的链路(link)组成。(结点可以是计算机、集线器、交换机、路由器等);主要功能:数据通信(信息传递)、资源共享;

互联网 :多个计算机网络通过路由器互相连接而成,可使用任意通信协议

二、计算机网络的功能

数据通信、资源共享(硬件、软件、数据)、分布式处理、提高可靠性、负载均衡

三、计算机网络的分类

四、网络交换方式*****

电路交换: 通信前端到端建立一条物理链路,在通信过程中一直占用

优点:没有延迟、传输效率高

缺点:建立&释放连接开销大,独占链路利用率低,不支持差错控制

报文交换:数据以报文为单位进行存储转发

优点:1.通信前无需建立连接

2.线路可以灵活分配,无需占用一条线路,利用率高

3.支持差错控制

缺点:1.报文不定长不方便存储转发管理;

2.长报文存储转发开销大;

3.长报文容易出错,重传开销大

分组交换:数据以分组为单位进行存储转发

优点:无需建立连接;线路可灵活分配;勿需占用一条线路,利用率更高;支持差错控制;

相比于报文交换:1.分组定长便于存储转发;2.分组存储转发开销小;3.重传开销小

缺点:1.控制信息增加;2.存在存储转发延迟;3.传输过程可能存在丢包等现象;

五、体系结构与分层模型*****

1. 为什么要分层?谈谈你对网络分层的理解。

网络是个复杂的庞大系统,分层是为了将大问题化小,实现解耦 。每一层只需向上层提供服务,并调用下层的接口,而不需要关心下层的具体实现。这极大地提高了系统的可扩展性和维护性。例如,无论底层物理介质从铜线换成光纤(物理层改变),都不影响你在应用层刷网页。

2. 五层协议/OSI七层模型/TCP/IP四层模型的对应关系与各层功能?

面试官会让你随手画出来,并说出每层传输的数据单位(PDU):

  • 应用层:产生应用数据(报文),如 HTTP, DNS。

  • 运输层 :负责端到端的通信(报文段),如 TCP, UDP。

  • 网络层 :负责主机到主机 的路由与寻址(IP数据报/分组 )。

  • 数据链路层 :负责相邻节点 的可靠传输(帧)。

  • 物理层:负责在介质上传输原始比特流(比特)。

💡 高频追问为什么工业界用 TCP/IP 四层,而教科书用五层,学术界提出七层? :OSI 七层模型划分过细(会话层和表示层在实际中多由应用层自行实现),且当时设计滞后、缺乏市场推动。TCP/IP 是市场倒逼出来的标准,结构精简。五层体系结构则是为了教学方便,结合了两者的优点。

3. 什么是封装和解封装?

  • 回答核心 :数据在发送端从上往下传,每经过一层就会加上该层的控制信息(首部) ,这个过程叫封装;在接收端从下往上传,每过一层就剥离掉该层的首部 ,最终还原出原始数据,这个过程叫解封装。

六、网络性能指标

1. 时延由哪几部分组成?哪个是主要的?

时延 = 发送时延 + 传播时延 + 处理时延 + 排队时延

  • 发送时延:发送时延 = 数据长度/发送速率

  • 传播时延:信号在信道(如光纤)中跑的时间。传播时延 =信道长度/信号传播速度

  • 面试官问:"高速网络链路"提高了哪个时延? :提高了发送速率,从而减小了发送时延 ,但绝对无法减小传播时延(因为光速不变)。

2. 什么是带宽和吞吐量?

  • 带宽 :链路的最高理论传输速率。

  • 吞吐量 :单位时间内实际通过网络的数据量(受网络拥堵、丢包影响,实际表现)。

3. 时延带宽积的物理意义是什么?

  • 公式:时延带宽积= 传播时延*带宽

  • 物理意义 :它代表这条链路能容纳的最多比特数。通常被称为"以比特为单位的链路长度"或"管道的体积"。在做网络优化(如 TCP 窗口大小调节)时,这个指标非常关键。

第二章 物理层

一、 物理层的核心基本概念

1. 物理层的主要任务是什么?它传输的是什么?

  • 核心回答 :物理层解决的是如何在连接各种计算机的传输媒体上传输比特流(是方法,而不是具体的传输媒体本身。它的主要任务是确定与传输媒体的接口有关的四个特性:

    • 机械特性:接口的形状、尺寸、引脚数。

    • 电气特性:线路上电压的范围、阻抗匹配。

    • 功能特性:某条线上出现的某一电平的电压表示何种意义。

    • 规程特性:定义各条物理线路的工作规程和时序关系。

2. 区分:数据、信号、码元(Symbol)

  • 数据:运送消息的实体(比如一段文本或多媒体文件)。

  • 信号 :数据的电磁表现。分为模拟信号 (连续)和数字信号(离散)。

  • 码元 :在使用时间域的波形表示数字信号时,代表不同离散值的基本波形

  • 经典追问一个码元等于一个比特吗?

    • :不一定。如果一个码元只能表示 0 和 1 两种状态,那它携带 1 比特;如果通过调制(如 QAM)让码元有 16 种状态,那么一个码元就能携带 4 个比特。

二、 两大核心定理(信道的极限容量)

1. 奈氏准则与香农公式

请务必熟记这两个公式,并理解它们的适用场景:

特性 奈氏准则 香农公式
公式 C=2*W码元/s
物理意义 限制了码元传输速率的上限 限制了信息传输速率(带宽)的上限。
针对信道 理想无噪声信道。 带限某种噪声(高斯白噪声信道。
决定因素 由信道带宽 和码元离散电平数决定。 由信道带宽和信噪比 决定。

追问 1:既然香农公式给出了信道容量的极限,那如果一个信道已经达到了香农极限,我怎么做才能进一步提高数据的传输速率?

根据公式,要么设法增加信道带宽 ,要么提高信噪比S/N
*

追问 2:既然波特率(码元传输速率)受限于奈氏准则,那是不是只要无限增加码元的离散电平数V(比如让一个波形代表1024种状态),就能让传输速率无限大?

理论上在无噪信道可以,但在实际有噪信道不行。若波特率过高,则导致码间串扰,即接收方无法识别码导致误码率飙升。

三、编码与调制

1.编码&调制

编码:二进制数据->数字信号(不归零编码、归零编码、曼彻斯特编码、差分曼彻斯特编码)

调制:二进制数据->模拟信号

QAM-64:代表调制64种信号,1码元可携带6bit数据

2.什么是曼彻斯特编码?它有什么优缺点?

  • 概念 :每一位比特的正中间都有一次电压跳变。通常规定:从高跳变到低表示 0(或 1),从低跳变到高表示 1(或 0)。

  • 优点 :因为每一位中间都有跳变,这个跳变自带了时钟信号,所以它具有强大的自同步能力,接收方不容易丢步。抗干扰能力强。

  • 缺点 :由于每位都要跳变一次,它所占用的频带宽度是原始基带信号的两倍,调制效率只有 50%

  • 差分曼彻斯特编码 :每位中间依然跳变(仅用于同步),但用位边界是否有跳变来表示 0 或 1(有跳变表示 0,无跳变表示 1)。抗干扰能力比常规曼彻斯特编码更强。

四、 信道复用技术(资源共享)

1. 常见的信道复用技术有哪些?

  • FDM(频分复用) :所有人同时通信,但分不同的频段(如传统有线电视)。

  • TDM(时分复用) :所有人在同一个频段,但分不同的时间片STDM(统计时分复用)。传统 TDM 分配固定时间片,如果某人不发数据,时间片就浪费了;STDM 动态分配,按需索取,大大提高了链路利用率。

  • WDM(波分复用):光的频分复用,在一根光纤中传输不同波长(颜色)的光信号。

  • CDMA(码分复用/码分多址):这是最爱考的计算点。

2. 重点:CDMA 的向量内积计算

  • 核心规则 :每个站分配的码片序列必须各不相同,且强正交 。两个不同站的向量A 和 B的**内积为 0(**A*B = 0);自身内积为 1(A *A = 1);自身反码内积为 -1

  • 如何分离:当多个站同时发送导致信号叠加为S 时,接收端想收 A 站的数据,只需计算内积 S*A。若结果为 1 则是比特 1,为 -1 则是比特 0,为 0 则代表 A 站没发数据。

五、传输介质

双绞线(T)、同轴电缆、光纤(F)

10base5: 10Mbps,同轴电缆,最远传输500m

六、物理层设备

中继器

  • (两个端口)一个端口接收信号,将失真信号放大、整形、再生发给另一个端口
  • 中继器≠放大器,支持半双工通信(不可同时发送数据)

集线器

  • 本质上是多端口中继器,将其中一个端口接收到的信号整形再生后,转发到其他所有端口
  • 集线器连接的网络物理上是星型拓扑,实际上是总线型
  • 不能隔离冲突域
  • 共享带宽:集线器内部是一根共享的总线。如果一个 10 Mbps 的集线器连接了 10 台电脑,当它们同时通信时,每台电脑平均只能分到 1 Mbps 的带宽。
  • 中继器、集线器不能无限串联!!!

提问:为什么说集线器不能隔离冲突域?如果两台电脑通过集线器同时发送数据会怎么样?

因为集线器内部结构只是一条共享的物理总线,它处于物理层,不理解任何数据链路层的帧结构。如果两台主机同时向集线器发送信号,这两个电信号会在集线器内部发生碰撞(冲突) ,导致两个信号相互干扰完全损坏。因此,连接在同一个集线器上的所有设备都处于同一个冲突域中。

提问:现代网络中,我们用什么设备替代了集线器?带来了什么好处

:现代网络普遍使用交换机(Switch)替代了集线器

  • 层级不同 :集线器是物理层设备,盲目广播;交换机是数据链路层设备 ,可以通过学习 MAC 地址表进行定向单播转发

  • 隔离冲突域 :交换机的每一个端口都是一个独立的冲突域。由于端口之间支持全双工通信且有缓冲区,根本不会发生信号碰撞,极大地提升了网络传输效率。

  • 独享带宽:交换机每个端口的主机都能独享该端口的标称带宽(如 1000 Mbps),而不是像集线器那样几十台电脑瓜分带宽。

第三章 数据链路层

一、数据链路层的功能

1.功能总结

(1)封装成帧

  • 帧定界:如何让接收方确定帧的界限
  • 透明传输:接收方去除帧定界的附加信息,把帧恢复原貌

(2)差错控制--发现解决一个帧的内部差错

(3)可靠传输--发现/解决帧错误(帧丢失、重复、失序)

(4)流量控制--控制发送方发送速度别太快,让接收方来得及接受

(5)介质访问控制--广播信道/点对点信道

2.封装成帧与透明传输

字符计数法、字节填充法、零比特填充法(每连续5个1后加一个0)、违规编码法(曼彻斯特编码)

3.差错控制

  • 奇偶校验码
  • CRC循环冗余校验码
  • 海明码

:CRC 是怎么计算的?

采用模2除法 。在数据后面拼接r个 0,除以双方约定的生成多项式 G(X),求得的余数就是冗余码(FCS),拼在数据后面发走。接收方用同样的多项式去除,如果余数为 0 则代表传输无差错。

问:数据链路层使用 CRC 检验无差错,是不是就等于实现了"可靠传输"?

绝对不是。 CRC 只能保证接收端收到的帧在传输过程中没有产生比特差错 (0 没变 1,1 没变 0),这叫"无比特差错传输"。但是,它无法解决丢帧、重复帧、帧倒序等传输差错。在过去质量差的链路上,需要通过确认和重传机制(如停止-等待协议)来实现可靠传输;而在现代高质链路上(如光纤),链路层通常不保证可靠传输,把这个任务留给运输层(TCP)来做。

4.可靠传输与流量控制

三种协议(又称ARQ协议)

(1)停止等待协议

  • 工作机制:发送窗口 = 1,接收窗口 = 1。发送方每发一个帧,就必须停下来等待接收方的确认帧(ACK)。收到 ACK 后,才能发下一帧。
  • **缺点:**信道利用率极低

(2)后退N帧协议

工作机制:发送窗口W_T > 1,接收窗口W_R = 1。发送方可以连续发送多个帧。(累计确认)

(3)选择重传协议(S-R协议)

接收方设置了缓冲区,可以接收不按序到达的帧 。发送方只重传出错或超时的那一帧(第 3 帧),大大提高了信道利用率。

信道利用率

链路层的可靠传输 vs 运输层的可靠传输

经典追问:既然你在数据链路层用滑动窗口、CRC、ARQ 实现了可靠传输,为什么到了第四层 TCP 协议,还要再搞一套滑动窗口和可靠传输?这难道不是重复造轮子吗?

  • 应用场景与边界不同 :数据链路层的可靠传输是解决相邻节点之间物理链路由于噪声导致的比特差错或丢帧。而 TCP 的可靠传输是解决端到端之间跨越了无数路由器和异构网络后,由于网络拥堵、路由器满载丢包、路径漂移导致的丢包与乱序。

  • 现代网络分工演进 :在现代网络中,物理链路的误码率极低。因此,现代数据链路层(如以太网)普遍选择"不可靠传输" (只用 CRC 检错,报错就丢,不负责重传),从而减轻底层设备的计算负担,把可靠传输的重任完全交给端到端的 TCP 协议来兜底。这种"边缘端负责可靠性,核心网只管速度"的设计,大大提升了互联网的整体效率

二、 随机接入协议(CSMA 家族)

1. CSMA/CD 协议(早期以太网、总线型、无连接、不可靠(半双工通信))

  • "先听后发,边发边听,冲突停止,延迟重发"

2. 无线局域网:CSMA/CA 协议(无线网络)

为什么无线网络不用 CD(冲突检测),而要用 CA(冲突避免)?

隐蔽站问题 :如下图所示,A 和 C 同时想给中间的 B 发数据。A 和 C 互相听不到对方(距离远或有墙阻挡),它们以为信道空闲同时发送,结果在 B 处发生惨烈碰撞。也就是说,发送端无法在自己这里检测到接收端那里的冲突

CA 是怎么"避免"冲突的?

  • 通过 IFS(帧间间隔) 区分优先级。
  • 采用 RTS/CTS(请求发送/允许发送) 握手帧机制,提前为这次通信"预约"信道,让周围的隐蔽站闭嘴。

三、局域网

1.局域网的分类

2.以太网MAC帧

662N4 收发协数验

MAC 地址与 IP 地址的区别?为什么有了 IP 还需要 MAC?

  • 物理 vs 逻辑 :MAC 地址是物理地址/硬件地址 ,烧录在网卡上,具有全球唯一性,负责相邻节点的寻址;IP 地址是逻辑地址,由网络管理员或 DHCP 分配,负责端到端的寻址和路由选择。

  • 解耦与分层:如果只有 MAC 地址,网络将无法分层路由,全球路由器需要存储几十亿个 MAC 映射表,网络会直接崩溃。IP 地址具有层次结构(网络号+主机号),方便聚合路由。

  • 现实比喻:IP 地址就像你的"收件地址",决定了包裹宏观上怎么走;MAC 地址就像你的"身份证号",当包裹到了学校传达室,大爷需要对准你的身份证号把包裹亲手交给你。

3.VLAN虚拟局域网

为什么要用vlan解决广播风暴?怎么解决的?

**广播风暴:**局域网内任何一点发出的广播帧均会被广播到所有节点

VLAN解决办法: VLAN通过软件配置 的方式,将一个物理的局域网(LAN)在逻辑上划分成多个独立的、互不干扰的"虚拟局域网"。VLAN最大的核心作用就是:隔离广播域。

4.无线局域网

为什么 802.11 帧有 4 个 MAC 地址?而普通以太网只有 2 个?

因为普通以太网是端到端的一根网线直连,而无线局域网中存在一个中间人(AP,无线接入点 / 路由器)进行转发。

而广域网点对点链路的绝对统治者是 PPP(Point-to-Point Protocol,点对点协议)。这是面试必考的细节。

四、广域网

1. 为什么 PPP 协议不需要考虑 CSMA/CD 这样的冲突检测机制?

根本不会发生冲突情况!!!因为PPP 是面向点对点的协议。这条链路上只有发送方和接收方两个节点,是绝对独享的。既然没有多方争用共享信道,自然就永远不可能发生信号冲突。

2. PPP 协议由哪几部分组成?

  • 一种成帧方法:规定如何封装 IP 数据报,处理透明传输(同步传输用零比特填充,异步传输用字节填充)。
  • LCP(链路控制协议):用于建立、配置和测试数据链路连接(比如商量一下大家都用多大的 MTU)。
  • NCP(网络控制协议):最体现其扩展性的一点。它可以支持不同的网络层协议(如 IPv4、IPv6)。当网络层配置好后,给上层提供服务。

3. 为什么 PPP 协议只支持全双工,且不提供"可靠传输"?

核心考点:问:"PPP 帧里有 CRC 校验。如果接收方发现 CRC 报错了,PPP 会重传吗?"

答:不会,直接丢弃。因此,PPP 只是**"不可靠传输"协议,只负责检错不负责纠错**。把可靠性交给上层(TCP)去解决。

五、 数据链路层设备:交换机

1. 交换机与集线器的区别?

(参考上一轮对话内容,重点强调:交换机隔离冲突域、独享带宽、基于 MAC 地址定向转发)

2. 交换机的"自学习"算法

核心逻辑:交换机收到一个帧时:

  • 看源 MAC:把(源 MAC,输入端口)登记到自己的 MAC 表里(这叫自学习)。

  • 看目的 MAC

    • 如果表中 对应条目:直接从对应端口单播转发出去(如果对应端口就是输入端口,则直接丢弃/过滤)。

    • 如果表中没有 对应条目:向除了输入端口以外的所有端口进行广播(泛洪)

相关推荐
SamDeepThinking1 小时前
面试官问Bean线程安全,你该从架构角度回答
java·后端·面试
Tsuki_tl1 小时前
【总结】Java的线程状态
java·后端·面试·多线程·并发编程·线程状态
xiaoxue..2 小时前
Node.js 笔试题讲解
后端·面试·node.js
西安邮电大学2 小时前
SpringMVC执行流程
java·后端·spring·面试
Nikluas2 小时前
彻底搞懂 Vue 运行时的四大核心谜题:Render、Effect、Diff 算法与 Block Tree 演进
vue.js·面试
小明同学013 小时前
C++后端项目:统一大模型接入 SDK(五)
服务器·c++·后端·计算机网络·语言模型
AI人工智能+电脑小能手4 小时前
【大白话说Java面试题 第67题】【JVM篇】第27题:生产环境服务器变慢,诊断思路和性能评估谈谈?
java·服务器·jvm·面试
Ether IC Verifier4 小时前
TCP拥塞控制详解
网络·网络协议·tcp/ip·计算机网络·dpu
切糕师学AI4 小时前
计算机网络层次结构详解:从OSI七层模型到TCP/IP四层模型
网络·tcp/ip·计算机网络