☰
计算机网络期末题库高效刷题指南:从子网划分到TCP拥塞控制
2026/10/9 6:18:58 网站建设 项目流程

简介:这份《计算机网络考试试题库-期末考试题库含答案.pdf》面向高校计算机、通信及网络工程等专业的学生,尤其适合正在备战计算机网络期末考试的读者,也可作为教师组卷与课堂练习的参考素材。资源以PDF形式呈现,共1个文件,压缩包约9.8MB,内容按章节组织,覆盖选择题等多种题型并附有参考答案,便于对照自测与查漏补缺。题库涉及Internet基本功能、TCP/IP协议集、OSI参考模型分层、全双工与频带传输、双绞线与光缆等传输介质、局域网介质访问控制、MAC地址、集线器与网桥、虚拟局域网以及拨号接入与ISP等核心考点,题目按第一章至第十章分块编排,知识点分布较为系统。目前已有71人学习下载,适合需要集中刷题、梳理章节重点、检验复习效果的读者使用,也可帮助快速定位薄弱环节,提升期末备考效率。

1. 计算机网络期末复习:一份 PDF 题库怎么用才不白刷

期末周前两周,图书馆里最常见的一幕是:有人把一份《计算机网络考试试题库-期末考试题库含答案.pdf》从头翻到尾,翻完合上,脑子里只剩几个名词。问题不在题库本身,而在于大多数人把它当小说读,而不是当训练集用。计算机网络这门课的知识点密度极高,从物理层的编码到应用层的 HTTP 报文,中间夹着子网划分、滑动窗口、拥塞控制、路由算法这些必须动手算的内容,光靠“看答案”根本记不住。这份题库真正能帮到你的地方,是它把考点按题型固定下来了:选择题考概念边界,填空题考术语精确度,计算题考子网划分和窗口推导,简答题考协议流程。适合谁?适合已经过了一遍教材、但一做题就露怯的人;也适合时间只剩一周、需要按题型突击的人。下面我按自己带学弟学妹复习的实操路径,把这份题库拆成可执行的刷题流程。

2. 先搞清楚题库里到底有哪些题型:拆解与考点映射

2.1 从文件名到内容结构:一份典型题库的组成

拿到一份《计算机网络考试试题库-期末考试题库含答案.pdf》,第一件事不是从第一页开始做,而是先翻目录和题型分布。常见的结构是:选择题(单选+多选)、填空题、判断题、简答题、计算题、综合分析题。不同学校的权重差别很大,但计算机网络这门课有个特点——计算题和简答题的分值往往集中在几个固定章节:网络层(子网划分、路由聚合、IP 分片)、传输层(滑动窗口、拥塞控制、三次握手四次挥手)、数据链路层(CRC 校验、CSMA/CD 退避)。选择题和填空题则散布在全章节,考的是术语和边界条件。

我一般会先做一张考点映射表,把题库里的题目按章节和题型两个维度归类。这样做的好处是:你能一眼看出哪些章节是“必考重灾区”,哪些章节只出选择题。比如应用层的 DNS 查询过程、HTTP/1.1 与 HTTP/2 的区别,通常只出简答或选择;而网络层的子网划分几乎年年出计算题。

章节高频题型典型考点建议投入时间占比
物理层选择、填空编码方式、奈奎斯特定理5%
数据链路层计算、选择CRC、CSMA/CD、滑动窗口20%
网络层计算、简答子网划分、路由聚合、IP分片30%
传输层计算、简答拥塞控制、三次握手、窗口25%
应用层简答、选择DNS、HTTP、DHCP15%
网络安全选择、填空对称/非对称加密、数字签名5%

这张表不是让你跳过某些章节,而是让你在时间不够时知道先保哪里。网络层和传输层加起来占一半以上,这两块的计算题必须动手算到不出错。

2.2 选择题和填空题:用“错题归因”代替重复刷

选择题和填空题最容易陷入的误区是“刷三遍就记住了”。实际上,计算机网络的很多选择题考的是边界条件,比如“TCP 在什么情况下发送 RST 报文”“ARP 请求是广播还是单播”“ICMP 差错报告报文是否包含原始 IP 数据报的首部”。这些题你错一次,如果不搞清楚背后的协议状态机,下次换个问法照样错。

我的做法是:每道错题只记两样东西——错因分类和对应知识点。错因分类我一般分成四类:概念混淆(比如把 CSMA/CD 和 CSMA/CA 搞混)、计算失误(比如子网掩码位数算错)、审题遗漏(比如没看到“不正确的是”)、完全不会(比如没学过某协议)。分类之后,完全不会的题去翻教材对应章节,概念混淆的题把两个概念写在一起对比,计算失误的题把计算步骤重新推一遍。

# 错题归因记录模板(用 Python 字典模拟一条记录) wrong_question = { "题号": "选择-第12题", "题干": "下列关于ARP协议的描述,错误的是?", "我的答案": "B", "正确答案": "C", "错因分类": "概念混淆", # 概念混淆/计算失误/审题遗漏/完全不会 "涉及知识点": "ARP请求与应答的传播方式", "纠正笔记": "ARP请求是广播,ARP应答是单播;ARP缓存有老化时间", "关联题目": ["选择-第15题", "填空-第8题"] # 同类题标记 }

这段代码不是让你真的写程序,而是给你一个记录模板。关键是“错因分类”和“纠正笔记”两栏,前者帮你定位问题类型,后者逼你用一句话把正确逻辑写清楚。关联题目用来标记同类题,下次复习时一起看,避免同一个坑反复踩。

2.3 计算题:子网划分和窗口推导必须动手

计算题是题库里最不能“看答案”的部分。子网划分、路由聚合、IP 分片、滑动窗口有效利用率、拥塞控制窗口变化,这些题你看答案觉得懂了,一上手就错。我要求学弟学妹每道计算题至少手写三遍:第一遍对着答案理解步骤,第二遍合上答案独立算,第三遍隔一天再算一次。三遍都对了,这道题才算过。

以子网划分为例,常见题型是“给定一个 IP 地址块和部门数量,要求划分并写出每个子网的网络地址、广播地址、可用主机范围”。这类题的通用步骤是:先确定需要借几位主机位,算出子网掩码,然后按块大小列出每个子网的起始地址。下面是一个可复用的计算脚本,用来验证手算结果。

import ipaddress def subnet_plan(network, new_prefix): """ 输入:network 如 '192.168.1.0/24',new_prefix 如 26 输出:每个子网的网络地址、广播地址、可用主机范围 """ net = ipaddress.ip_network(network, strict=False) subnets = list(net.subnets(new_prefix=new_prefix)) for i, sub in enumerate(subnets, 1): hosts = list(sub.hosts()) if hosts: print(f"子网{i}: 网络地址={sub.network_address}, " f"广播地址={sub.broadcast_address}, " f"可用范围={hosts[0]}~{hosts[-1]}") else: print(f"子网{i}: 网络地址={sub.network_address}, 无可用主机") # 示例:把 192.168.1.0/24 划分为 4 个子网(借2位,新前缀26) subnet_plan('192.168.1.0/24', 26)

这段脚本用 Python 的ipaddress模块做验证,参数new_prefix就是借位后的前缀长度。比如 /24 借 2 位变成 /26,每个子网 64 个地址,可用主机 62 个。手算时你要能自己推出这些数字,脚本只是用来对答案。考试时没有脚本,所以手算步骤必须练到条件反射:先算块大小(2^(32-新前缀)),再列网络地址(从原网络地址开始每次加块大小),广播地址是下一个网络地址减一。

提示:子网划分题最容易错的地方是“可用主机范围”的边界。网络地址和广播地址不能用,所以可用范围是网络地址+1 到广播地址-1。如果题目要求划分给路由器接口,还要注意有些教材规定路由器接口可用第一个可用地址。

3. 按协议栈分层刷题:从物理层到应用层的实操顺序

3.1 数据链路层:CRC 校验和滑动窗口的手算流程

数据链路层的计算题集中在两个点:CRC 校验码的计算和滑动窗口的有效利用率。CRC 校验的步骤是:把生成多项式写成二进制,在数据后面补零(零的个数等于生成多项式位数减一),然后做模 2 除法,余数就是校验码。模 2 除法不进位不借位,等价于异或运算。手算时最容易错的是补零个数和最后余数的位数——余数位数必须等于生成多项式位数减一,不够前面补零。

滑动窗口的有效利用率公式是:利用率 = 窗口大小 × 帧发送时延 / (帧发送时延 + 往返时延 + 确认帧发送时延)。如果窗口足够大,利用率可以接近 1。这类题的关键是分清“发送时延”和“传播时延”,很多同学把两者搞混。发送时延 = 帧长 / 带宽,传播时延 = 距离 / 传播速度。题目里如果给的是“往返时间 RTT”,那 RTT 已经包含了来回的传播时延,不要再重复加。

def crc_remainder(data_bits, generator_bits): """ data_bits: 数据位字符串,如 '1101011011' generator_bits: 生成多项式位字符串,如 '10011' 返回:CRC 余数字符串 """ # 在数据后面补零,零的个数 = 生成多项式位数 - 1 augmented = data_bits + '0' * (len(generator_bits) - 1) augmented = list(augmented) gen = list(generator_bits) for i in range(len(data_bits)): if augmented[i] == '1': for j in range(len(gen)): augmented[i + j] = str(int(augmented[i + j]) ^ int(gen[j])) remainder = ''.join(augmented[-(len(gen) - 1):]) return remainder # 示例:数据 1101011011,生成多项式 10011 print(crc_remainder('1101011011', '10011')) # 输出余数

这段代码演示了 CRC 的模 2 除法过程。参数data_bits是原始数据,generator_bits是生成多项式对应的二进制串。代码逻辑是:补零后逐位异或,最后取余数。手算时你可以在草稿纸上列竖式,每一步只做异或,不要进位。考试时如果生成多项式是 x^4 + x + 1,对应二进制就是 10011,补零个数是 4。

3.2 网络层:子网划分、路由聚合与 IP 分片的参数表

网络层是计算题的重灾区,三种题型必须练熟:子网划分、路由聚合、IP 分片。子网划分前面已经讲过,这里重点说路由聚合和 IP 分片。路由聚合是把多个连续的子网合并成一条路由条目,方法是找这些子网网络地址的公共前缀。比如 192.168.0.0/24 和 192.168.1.0/24,前 23 位相同,可以聚合为 192.168.0.0/23。聚合时要注意“最长前缀匹配”原则,聚合后的路由不能覆盖不存在的子网,否则会导致流量黑洞。

IP 分片的关键参数是 MTU、标识、标志位和片偏移。一个 IP 数据报如果大于链路 MTU,就要分片。分片时每个片的“标识”相同,“标志位”中 MF(更多分片)除了最后一片外都置 1,DF(不分片)如果置 1 则不允许分片。“片偏移”以 8 字节为单位,所以每个片的长度必须是 8 的倍数(除了最后一片)。下面这张表是 IP 分片计算时必查的参数对照。

字段含义计算注意点
标识同一数据报的分片标识相同题目通常给定,直接抄
DF不分片标志若为 1 且超过 MTU,则丢弃并返回 ICMP 差错
MF更多分片标志最后一片为 0,其余为 1
片偏移该片在原始数据报中的位置以 8 字节为单位,第一片偏移 0
总长度该片的总字节数包括首部,首部通常 20 字节

做 IP 分片题时,先算原始数据报的数据部分长度,再算每个片能承载的数据长度(MTU 减去首部长度),然后按 8 的倍数取整。片偏移 = 该片数据部分在原始数据中的起始位置 / 8。最后一片的 MF 为 0,其余为 1。

3.3 传输层:拥塞控制四阶段与三次握手的报文序列

传输层的简答题几乎绕不开 TCP 的拥塞控制和连接管理。拥塞控制四个阶段——慢开始、拥塞避免、快重传、快恢复——必须能画出窗口变化曲线。慢开始阶段窗口指数增长,到达慢开始门限后进入拥塞避免,窗口线性增长。如果发生超时,门限减半,窗口回到 1,重新慢开始。如果收到三个重复确认,触发快重传和快恢复,门限和窗口都减半,然后线性增长。

三次握手的报文序列是:客户端发送 SYN=1, seq=x;服务器回复 SYN=1, ACK=1, seq=y, ack=x+1;客户端发送 ACK=1, seq=x+1, ack=y+1。四次挥手是:主动方发送 FIN=1, seq=u;被动方回复 ACK=1, seq=v, ack=u+1;被动方发送 FIN=1, ACK=1, seq=w, ack=u+1;主动方回复 ACK=1, seq=u+1, ack=w+1。这里最容易错的是序号的变化,尤其是 FIN 报文会消耗一个序号。

# TCP 拥塞控制窗口变化模拟(简化版) def tcp_congestion(rounds, init_ssthresh=8, timeout_round=None): """ rounds: 模拟轮数 init_ssthresh: 初始慢开始门限 timeout_round: 在第几轮发生超时(None 表示不发生) """ cwnd = 1 ssthresh = init_ssthresh log = [] for r in range(1, rounds + 1): if timeout_round and r == timeout_round: ssthresh = max(cwnd // 2, 2) cwnd = 1 log.append(f"第{r}轮超时: ssthresh={ssthresh}, cwnd={cwnd}") continue if cwnd < ssthresh: cwnd *= 2 # 慢开始,指数增长 phase = "慢开始" else: cwnd += 1 # 拥塞避免,线性增长 phase = "拥塞避免" log.append(f"第{r}轮: {phase}, cwnd={cwnd}, ssthresh={ssthresh}") return log for line in tcp_congestion(12, timeout_round=8): print(line)

这段代码模拟了慢开始和拥塞避免的窗口变化,参数init_ssthresh是初始门限,timeout_round指定哪一轮发生超时。输出可以看到:超时前窗口指数增长到门限后转线性,超时后门限减半、窗口回 1。考试时你不需要写代码,但需要能根据题目给定的初始窗口和门限,手动画出类似的窗口变化表。

注意:快重传和快恢复的触发条件是“收到三个重复确认”,不是超时。快恢复时门限和窗口都减半,然后直接进入拥塞避免,不回到慢开始。很多简答题会故意混淆这两个触发条件。

4. 避坑与排查:刷题库时最容易翻车的五个地方

4.1 只看答案不写过程,计算题一考就废

现象:平时刷题时对着答案看一遍,觉得步骤都懂,考试时子网划分算错、CRC 余数位数不对、窗口变化画反。原因:计算题的手感来自肌肉记忆,看答案是被动识别,自己写是主动提取,两者调用的大脑机制不同。解决:每道计算题至少独立手写两遍,第二遍隔一天再做。写完后用前面给的 Python 脚本对答案,但脚本只用来验证,不能替代手算。

4.2 混淆协议层次和封装关系

现象:选择题问“ARP 协议属于哪一层”,有人选网络层,有人选数据链路层;问“ICMP 报文封装在哪里”,有人答 TCP,有人答 IP。原因:ARP 和 ICMP 都是“跨层”协议,教材上的归类不完全统一。解决:记住一条实用规则——ARP 的报文直接封装在以太网帧里,所以它工作在链路层和网络层之间;ICMP 报文封装在 IP 数据报里,所以它属于网络层协议。做题时看题目问的是“协议本身属于哪层”还是“报文封装在哪层”,两者答案可能不同。

4.3 子网划分时忘记排除全 0 和全 1 子网

现象:题目要求划分 4 个子网,有人借了 2 位后列出 4 个,但其中两个是全 0 和全 1 子网,实际可用只有 2 个。原因:早期 RFC 规定全 0 和全 1 子网不可用,现代设备虽然支持,但考试题默认遵循经典规则。解决:先看题目有没有明确说“支持全 0 全 1 子网”,如果没有,就按经典规则排除。借位时多借一位,比如需要 4 个可用子网,借 3 位得到 8 个,排除全 0 全 1 后剩 6 个,够用。

4.4 滑动窗口题把发送时延和传播时延搞反

现象:计算信道利用率时,把帧长除以传播速度,或者把距离除以带宽。原因:发送时延和传播时延的公式记混了。解决:发送时延 = 数据量 / 带宽,单位是秒;传播时延 = 距离 / 传播速度,单位也是秒。带宽越大,发送时延越小;距离越远,传播时延越大。做题时先把两个时延分别算出来,再代入利用率公式。

4.5 简答题只写关键词,不写协议交互顺序

现象:简答题问“描述 TCP 三次握手过程”,有人只写“SYN、SYN+ACK、ACK”,没有序号和标志位,扣分严重。原因:简答题的评分标准通常按点给分,每个报文的关键字段都是得分点。解决:背熟每个报文的标志位和序号变化,答题时按“第几步、谁发给谁、标志位是什么、序号和确认号是多少”的格式写。宁可多写,不要漏字段。

5. 用 Anki 和错题本把题库变成长期记忆:一个可复用的复习闭环

刷题库的终点不是“做完”,而是“记住”。我自己的习惯是:题库刷完一遍后,把所有错题和不确定的题导入 Anki,做成填空卡或问答卡。Anki 的间隔重复算法会帮你把易忘的题反复推到面前,比从头二刷效率高得多。制作卡片时,正面写题干,背面写答案和一句话解析。解析不要抄答案原文,用自己的话写,比如“子网划分先算块大小,再列网络地址,广播地址是下一个网络地址减一”。

错题本我一般用 Markdown 表格维护,字段包括:题号、题型、考点、错因、纠正笔记、复习日期。每复习一次,在“复习日期”栏加一个日期。如果一个题连续三次复习都做对,就标记为“已掌握”,不再频繁复习。这个闭环的关键是“输出”——每道错题都要用自己的话写纠正笔记,写不出来说明还没真懂。

题号题型考点错因纠正笔记复习记录
计算-03子网划分/26 子网可用主机数忘记减2可用主机=2^(32-26)-2=6212.1 / 12.3 / 12.5
简答-07TCP握手第三次握手序号序号写错第三次 seq=x+1, ack=y+112.2 / 12.4
选择-15ARPARP请求传播方式概念混淆请求广播,应答单播12.1 / 12.3

最后说一个我踩过的坑:不要等到考前三天才开始刷题库。计算机网络的考点之间有关联,子网划分不会,路由聚合也做不对;滑动窗口不理解,拥塞控制也画不出来。至少留出两周,第一周按章节刷,第二周按题型刷,最后三天只刷错题。题库里的答案偶尔也会有错,遇到和教材矛盾的,以教材为准,别把错答案背进去。希望帮到你。

本文还有配套的精品资源,点击获取

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询