《计算机网络》第二学期期末试卷A (精选01)

大学生期末考试复习平台前往平台

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

一、计算机网络基础知识(每小题 5 分,共 40 分)

1、 学生 A 希望访问某网站 www.tsinghua.edu.cn,A 在其浏览器中输入:

https://www.tsinghua.edu.cn,直到网站首页显示在其浏览器中。

请问:在此过程中,参考 TCP/IP 模型(不考虑最下层),数据经过了哪几层,各层都用到了哪些协议?

::::: details 查看答案与解析

答案:
数据主要经过了应用层传输层网络层(网际层)
各层用到的主要协议如下:

  • 应用层:HTTP/HTTPS(获取网页)、DNS(域名解析)。
  • 传输层:TCP(HTTPS传输)、UDP(DNS查询)。
  • 网络层:IP(数据报寻址)、ARP(获取网关MAC地址)。

解析:

  1. 域名解析:浏览器首先需要知道服务器的 IP 地址,向 DNS 服务器发起查询。此过程使用 DNS 协议(应用层),基于 UDP 传输(传输层)。
  2. 建立连接:获取 IP 后,浏览器与服务器通过三次握手建立 TCP 连接(传输层)。
  3. 安全传输:HTTPS 在 TCP 之上建立 TLS/SSL 安全通道进行加密传输(应用层/传输层之间)。
  4. 请求网页:连接建立后,浏览器发送 HTTP GET 请求(应用层)。
  5. 数据路由:所有数据在网络中传输时都被封装为 IP 数据报(网络层),并通过 ARP 协议获取下一跳(如默认网关)的 MAC 地址。

难度: ⭐
考点: #TCP/IP模型 #网络协议

:::: details 💡 学习锦囊
📖 相关公式与知识点:

  • TCP/IP 四层模型:应用层、传输层、网际层、网络接口层。
  • 常见协议端口:DNS (53), HTTP (80), HTTPS (443)。

::: tip 思路分析
从用户输入 URL 到页面显示的经典流程出发,追踪数据包的生成与传输,按层次归纳所用协议。
:::

::: warning 易错点

  • 遗漏 DNS 或 ARP 等辅助协议。
  • 混淆协议所在的层次(如误认为 ARP 是数据链路层或物理层)。
    :::
    ::::

:::: details 🔄 举一反三

  1. 当你在浏览器输入 ping www.baidu.com 时,用到了哪些协议?
    ::: details 查看练习答案与解析
    答案:DNS、UDP、ICMP、IP、ARP。解析:首先通过 DNS 解析域名,然后使用 ICMP 协议进行连通性测试。
    :::
  2. 在 TCP/IP 模型中,ARP 协议属于哪一层?
    ::: details 查看练习答案与解析
    答案:网络层(网际层)。
    解析:ARP 负责将网络层的 IP 地址解析为链路层的 MAC 地址。
    :::
    ::::

:::::

2、简述计算机网络三层设备类型及其在碰撞域和广播域上的区别。

::::: details 查看答案与解析

答案:

  • 第一层(物理层)设备:如集线器(Hub)、中继器。
    • 碰撞域:不能隔离碰撞域(所有端口属于同一个碰撞域)。
    • 广播域:不能隔离广播域(所有端口属于同一个广播域)。
  • 第二层(数据链路层)设备:如以太网交换机(Switch)、网桥。
    • 碰撞域:能隔离碰撞域(每个端口都是一个独立的碰撞域)。
    • 广播域:不能隔离广播域。
  • 第三层(网络层)设备:如路由器(Router)。
    • 碰撞域:能隔离碰撞域。
    • 广播域:能隔离广播域(每个端口都是一个独立的广播域)。

解析:

  • 碰撞域(Collision Domain):连接在同一物理介质上的所有站点的集合,这些站点竞争同一信道,容易发生冲突。交换机通过识别 MAC 地址并进行存储转发,实现了端口间的隔离。
  • 广播域(Broadcast Domain):网络中能接收任一设备发出的广播帧的所有设备的集合。路由器工作在三层,默认不转发广播报文,从而隔离了广播域。

难度: ⭐
考点: #网络设备 #碰撞域 #广播域

:::: details 💡 学习锦囊
📖 相关公式与知识点:

  • 碰撞域属于物理层概念,广播域属于数据链路层/网络层概念。
  • VLAN(虚拟局域网)也可以在二层隔离广播域。

::: tip 思路分析
对比物理层、数据链路层 and 网络层核心设备的功能特点,层级越高,处理数据的粒度越细,隔离能力越强。
:::

::: warning 易错点

  • 误认为交换机(二层)可以隔离广播域。
  • 混淆集线器和交换机的工作原理。
    :::
    ::::

:::: details 🔄 举一反三

  1. 一个 24 口的百兆交换机,默认情况下有几个碰撞域和几个广播域?
    ::: details 查看练习答案与解析
    答案:24 个碰撞域,1 个广播域。解析:交换机每个端口独享带宽,是一个独立的碰撞域;但默认属于同一个局域网,无法隔离广播。
    :::
  2. 路由器工作在 OSI 模型的哪一层?其核心功能是什么?
    ::: details 查看练习答案与解析
    答案:网络层。核心功能是路由选择和分组转发。
    :::
    ::::

:::::

3、简述拥塞控制和流量控制的定义和区别。

::::: details 查看答案与解析

答案:

  • 定义
    • 流量控制(Flow Control):抑制发送端的发送速率,以确保接收端来得及接收,防止接收缓冲区溢出。
    • 拥塞控制(Congestion Control):防止过多的数据注入到网络中,以避免网络中的路由器或链路过载。
  • 区别
    • 范围不同:流量控制是点对点的控制(端到端);拥塞控制是全局性的控制(涉及所有主机和路由器)。
    • 感知机制:流量控制基于接收方通告的窗口大小(rwnd);拥塞控制基于网络丢包或延迟感知的拥塞窗口(cwnd)。

解析:

  • 流量控制解决的是“接收方处理不过来”的问题,通过滑动窗口机制实现。
  • 拥塞控制解决的是“网络带宽不够用”的问题,通过慢开始、拥塞避免、快重传、快恢复四个算法动态调整。

难度: ⭐
考点: #流量控制 #拥塞控制 #TCP协议

:::: details 💡 学习锦囊
📖 相关公式与知识点:

  • 发送窗口 = min ⁡ ( cwnd , rwnd ) \min(\text{cwnd}, \text{rwnd}) min(cwnd,rwnd)

::: tip 思路分析
从控制的对象(发送方/接收方 vs 全局网络)和目的出发进行对比记忆。
:::

::: warning 易错点

  • 将两者的定义混淆。
  • 认为拥塞控制只是发送方单方面决定的。
    :::
    ::::

:::: details 🔄 举一反三

  1. TCP 的拥塞避免算法中,拥塞窗口(cwnd)是如何增长的?
    ::: details 查看练习答案与解析
    答案:每个轮次(RTT)加 1,呈加法增大(AIMD 中的 AI 部分)。
    解析:当 cwnd 达到阈值(ssthresh)后,进入拥塞避免阶段,窗口由指数增长变为线性增长。
    :::
    ::::

:::::

4、 简述主机 1(IP 地址为 192.168.1.1/24,MAC 地址为 E1)向主机 2(IP 地址为192.168.1.2/24,MAC 地址为 E2)发送数据时 ARP 协议的工作过程。

::::: details 查看答案与解析

答案:

  1. 查询缓存:主机 1 检查本地的 ARP 缓存表,寻找 192.168.1.2 对应的 MAC 地址。若存在,则直接使用并发送数据。
  2. 广播请求:若缓存中没有,主机 1 在局域网内广播发送 ARP 请求报文(源 IP 为 192.168.1.1,源 MAC 为 E1,目的 IP 为 192.168.1.2,目的 MAC 为全 F)。
  3. 识别响应:局域网内的所有主机收到该广播。主机 2 发现请求的 IP 与自己匹配,先将主机 1 的 IP-MAC 映射存入自己的 ARP 缓存。
  4. 单播回复:主机 2 向主机 1 单播发送 ARP 响应报文(源 IP 为 192.168.1.2,源 MAC 为 E2)。
  5. 记录并发送:主机 1 收到响应,将主机 2 的 MAC 地址(E2)记入 ARP 缓存,随后开始封装并发送数据帧。

解析:
ARP(地址解析协议)实现了从网络层 IP 地址 to 数据链路层 MAC 地址的映射。核心机制是“广播询问,单播回答”。


难度: ⭐
考点: #ARP协议 #局域网通信

:::: details 💡 学习锦囊
📖 相关公式与知识点:

  • ARP 缓存表具有老化机制(TTL),防止拓扑变化导致地址错误。

::: tip 思路分析
按照“查表 -> 广播 -> 匹配 -> 响应 -> 记录”的顺序梳理网络交互流程。
:::

::: warning 易错点

  • 混淆请求(广播)和响应(单播)的发送方式。
  • 跨网段通信时误认为直接请求目标主机(实际应请求网关)。
    :::
    ::::

:::: details 🔄 举一反三

  1. 如果主机 2 的 ARP 缓存表是满的,它还会记录主机 1 的映射吗?
    ::: details 查看练习答案与解析
    答案:会。ARP 缓存通常采用 LRU(最近最少使用)算法进行替换更新。
    :::
    ::::

:::::

5、已知信道带宽为 6KHz、采用如下图所示的QAM调制, 分别计算在不考虑噪声情况下和信噪比为30dB 情况下的最大数据传输速率。(要求列出简要计算步骤)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

::::: details 查看答案与解析

答案:

  • 不考虑噪声情况:最大数据传输速率为 48 Kbps
  • 信噪比为 30dB 情况:最大数据传输速率约为 59.8 Kbps

解析:

  1. 分析星座图
    由图可知,QAM 调制星座图共有 16 个点,表示有 16 种不同的状态(码元)。因此,每个码元携带的数据量为:

    n = log ⁡ 2 ( 16 ) = 4  bits n = \log_2(16) = 4 \text{ bits} n=log2(16)=4 bits

  2. 无噪声情况(奈奎斯特定理)

    C max ⁡ = 2 W log ⁡ 2 ( N ) C_{\max} = 2W \log_2(N) Cmax=2Wlog2(N)

    其中 W = 6  KHz W = 6\text{ KHz} W=6 KHz N = 16 N = 16 N=16
    C max ⁡ = 2 × 6000 × 4 = 48000  bps = 48  Kbps C_{\max} = 2 \times 6000 \times 4 = 48000 \text{ bps} = 48 \text{ Kbps} Cmax=2×6000×4=48000 bps=48 Kbps

  3. 有噪声情况(香农公式)

    C max ⁡ = W log ⁡ 2 ( 1 + S / N ) C_{\max} = W \log_2(1 + S/N) Cmax=Wlog2(1+S/N)

    已知信噪比 S N R d B = 30  dB SNR_{dB} = 30\text{ dB} SNRdB=30 dB,转换为比值:
    30 = 10 log ⁡ 10 ( S / N ) ⇒ S / N = 10 3 = 1000 30 = 10 \log_{10}(S/N) \Rightarrow S/N = 10^3 = 1000 30=10log10(S/N)S/N=103=1000

    C max ⁡ = 6000 × log ⁡ 2 ( 1 + 1000 ) ≈ 6000 × 9.9672 = 59803  bps ≈ 59.8  Kbps C_{\max} = 6000 \times \log_2(1 + 1000) \approx 6000 \times 9.9672 = 59803 \text{ bps} \approx 59.8 \text{ Kbps} Cmax=6000×log2(1+1000)6000×9.9672=59803 bps59.8 Kbps


难度: ⭐⭐
考点: #奈氏准则 #香农公式 #QAM调制

:::: details 💡 学习锦囊
📖 相关公式与知识点:

  • 奈氏准则适用于无噪声信道。
  • 香农公式给出了有噪声信道的极限传输速率。

::: tip 思路分析
首先通过图像识别出码元状态数,再分别应用奈氏和香农两个核心公式计算。
:::

::: warning 易错点

  • 误将 30dB 直接代入香农公式,忘记转换为比值。
  • 星座图点数数错。
    :::
    ::::

:::: details 🔄 举一反三

  1. 若信道带宽为 4KHz,采用 4 相位、每相位 2 种振幅的 QAM 调制,无噪声下的最大速率是多少?
    ::: details 查看练习答案与解析
    答案:24 Kbps。解析:状态数 N = 4 × 2 = 8 N = 4 \times 2 = 8 N=4×2=8 C = 2 × 4 K × log ⁡ 2 ( 8 ) = 24  Kbps C = 2 \times 4\text{K} \times \log_2(8) = 24\text{ Kbps} C=2×4K×log2(8)=24 Kbps
    :::
  2. 信噪比为 20dB 时,带宽为 3KHz 的信道最大容量是多少?
    ::: details 查看练习答案与解析
    答案:约 20 Kbps。
    解析 S / N = 100 S/N = 100 S/N=100 C = 3 K × log ⁡ 2 ( 101 ) ≈ 3 K × 6.658 = 19.97  Kbps C = 3\text{K} \times \log_2(101) \approx 3\text{K} \times 6.658 = 19.97\text{ Kbps} C=3K×log2(101)3K×6.658=19.97 Kbps
    :::
    ::::

:::::

6、 假定要发送信息位串为 11001011,采用 CRC 校验,若生成多项式为 P ( X ) = X 4 + X 2 + X + 1 P(X) = X^4 + X^2 + X + 1 P(X)=X4+X2+X+1,试回答以下问题。

(1)求应添加在数据后面的余数。(写出计算过程)
(2)若数据在传输过程中最后两个 1都变成了 0,问接收端能否发现,为什么?
(3)采用CRC检验后,数据链路层的传输是否为可靠传输?

::::: details 查看答案与解析

答案:
(1) 应添加的余数为 0111
(2) 发现。因为接收端收到受损数据后,进行模 2 除法运算得到的余数(1001)不为 0。
(3) 不是可靠传输。CRC 只能保证“无差错接收”,无法处理帧丢失、失序等问题。

解析:
(1) 生成多项式 P ( X ) = X 4 + X 2 + X + 1 P(X) = X^4 + X^2 + X + 1 P(X)=X4+X2+X+1,对应二进制位串为 10111 10111 10111(阶数 k = 4 k=4 k=4)。
数据后补 4 个 0,得到 110010110000 110010110000 110010110000
进行模 2 除法运算:
- 11001 ⊕ 10111 = 01110 11001 \oplus 10111 = 01110 1100110111=01110,补位得 11100 11100 11100
- 11100 ⊕ 10111 = 01011 11100 \oplus 10111 = 01011 1110010111=01011,补位得 10111 10111 10111
- 10111 ⊕ 10111 = 00000 10111 \oplus 10111 = 00000 1011110111=00000,补位得到最后的 10000 10000 10000
- 10000 ⊕ 10111 = 00111 10000 \oplus 10111 = 00111 1000010111=00111
最终余数为 0111
(2) 错误数据为 110010000111 11001000 0111 110010000111,用 10111 10111 10111 去除,余数为 1001 ≠ 0 1001 \neq 0 1001=0,故能检测。


难度: ⭐⭐
考点: #CRC校验 #差错检测

:::: details 💡 学习锦囊
📖 相关公式与知识点:

  • 模 2 运算法则:异或操作(相同为 0,不同为 1)。

::: tip 思路分析
牢记模 2 除法的核心步骤,注意补零的个数等于生成多项式的最高阶数。
:::

::: warning 易错点

  • 补零个数错误。
  • 模 2 减法做成了普通减法(忘记异或规则)。
    :::
    ::::

:::: details 🔄 举一反三

  1. 若数据为 1010,生成多项式为 X 3 + 1 X^3 + 1 X3+1,求校验位。
    ::: details 查看练习答案与解析
    答案:011。
    解析:多项式对应 1001 1001 1001 1010000 ÷ 1001 1010000 \div 1001 1010000÷1001 余数为 011 011 011
    :::
    ::::

:::::

7、假设主机A通过一条TCP连接向主机 B发送两个TCP报文段。第一个报文段的序号为 160,第二个报文段的序号为 300。

(1)第一个报文段中携带多少字节数据?主机 B收到第一个报文发回的确认号是多少?
(2)假设第一个报文段丢失而第二个报文段到达主机 B,那么在主机 B发往主机A的确认报文中,确认号应该是多少?

::::: details 查看答案与解析

答案:
(1) 第一个报文段携带了 140 字节 数据;主机 B 发回的确认号是 300
(2) 确认号应该是 160

解析:
(1) TCP 序号是本报文段发送的数据的第一个字节的编号。
第一个报文段的起始序号为 160,第二个为 300。
所以第一个报文段的数据量为:

300 − 160 = 140  字节 300 - 160 = 140 \text{ 字节} 300160=140 字节

确认号是期望收到对方下一个报文段的第一个数据字节的序号,即 $160 + 140 = 300$。

(2) TCP 采用累积确认机制。当第一个报文段丢失时,即使收到了第二个报文段,主机 B 仍然期望收到序号 160 开始的数据,因此发回的确认号依然是 160


难度: ⭐⭐
考点: #TCP序号 #累积确认

:::: details 💡 学习锦囊
📖 相关公式与知识点:

  • 确认号 = 已成功接收的最后一个字节序号 + 1 \text{确认号} = \text{已成功接收的最后一个字节序号} + 1 确认号=已成功接收的最后一个字节序号+1

::: tip 思路分析
理解 TCP 序号的连续性以及确认号“期待下一字节”的深刻含义。
:::

::: warning 易错点

  • 误认为确认号是对收到报文的简单应答。
  • 忽略累积确认导致丢失时确认号不推进。
    :::
    ::::

:::: details 🔄 举一反三

  1. 若 A 发送了 1-100 和 101-200 两个段,201-300 丢失,B 收到前两个段,确认号是多少?
    ::: details 查看练习答案与解析
    答案:201。
    解析:1-200 均已收到,期待第 201 字节。
    :::
    ::::

:::::

8、网络如下图连接,启动前,两个交换机(SW1,SW2)中的转发表都是空的,之后有以下各站向其他的站发送了数据帧,请将有关数据填写在表中。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

发送的帧 SW1 的转发表 SW2 的转发表
A->D 地址: A, 端口: 1 地址: A, 端口: 4
C->E 地址: C, 端口: 3 地址: C, 端口: 4
E->C 地址: E, 端口: 4 地址: E, 端口: 2
B->A 地址: B, 端口: 2 无变化
D->E 无变化 地址: D, 端口: 1

::::: details 查看答案与解析

答案:
见上表(注:无变化表示该帧未泛洪到该交换机,或该交换机未记录新地址)。

解析:
交换机基于源 MAC 地址进行转发表的学习(反向学习)。

  1. A->D:SW1 从端口 1 收到,记录 A:1,泛洪。SW2 从端口 4 收到,记录 A:4。
  2. C->E:SW1 从端口 3 收到,记录 C:3,泛洪。SW2 从端口 4 收到,记录 C:4。
  3. E->C:SW2 从端口 2 收到,记录 E:2。因 SW2 查表知 C 在端口 4,故单播转发。SW1 从端口 4 收到,记录 E:4,单播转发至端口 3。
  4. B->A:SW1 从端口 2 收到,记录 B:2。因 SW1 查表知 A 在端口 1,直接单播转发,SW2 无法收到此帧。
  5. D->E:SW2 从端口 1 收到,记录 D:1。查表知 E 在端口 2,单播转发,SW1 无法收到此帧。

难度: ⭐⭐
考点: #交换机自学习 #帧转发机制

:::: details 💡 学习锦囊
📖 相关公式与知识点:

  • 过滤:若目标地址在已知端口,则只向该端口转发。
  • 泛洪:若目标地址未知,则向除源端口外的所有端口广播。

::: tip 思路分析
模拟网络通信,一步步追踪数据帧的流向,明确只有帧流经的交换机才能学习到源地址。
:::

::: warning 易错点

  • 误认为所有帧都会在全网泛洪。
  • 学习的是源 MAC 地址,不是目的 MAC 地址。
    :::
    ::::

:::: details 🔄 举一反三

  1. 若之后 A 发送数据给 B,哪些交换机能学到 A 的地址?
    ::: details 查看练习答案与解析
    答案:SW1。
    解析:SW1 已知 B 在端口 2,直接单播转发,帧不流经 SW2。
    :::
    ::::

:::::

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐