简介:这份PDF是西南交通大学计算机网络课程(3学分)的期末复习题汇编,面向正在备考该课程期末考试的本科生,也适合需要系统梳理计算机网络基础知识的自学者。内容以填空题为主线,覆盖网络体系结构、OSI七层模型与TCP/IP四层模型、物理层调制与多路复用、数据链路层的组帧与差错控制、流量控制与滑动窗口协议、HDLC帧结构等核心考点,并用红、蓝、绿三色标注了2013-2014、2016-2017、2019-2020三个年度的考试知识点,加※号标记重复出现的高频考点,便于读者按年份和重要程度分层复习。资源为单个PDF文件,压缩包约959KB,轻量易携带,手机或电脑均可随时查阅。目前已有117人学习下载,适合在考前快速过一遍概念填空、定位薄弱章节,配合教材查漏补缺,提升复习效率。
1. 西南交大计算机网络期末复习题:一份PDF能撑起3学分的底气吗
每年期末前两周,图书馆里总有人抱着一本谢希仁的《计算机网络》来回翻,翻到传输层就卡住,翻到网络层又忘了子网划分怎么算。西南交通大学这门3学分的计算机网络,期末卷面通常覆盖物理层到应用层,题型从选择、填空到计算、综合,计算题占比不低。很多同学手里会拿到一份2019年的期末复习题PDF,但拿到之后往往只是从头到尾看一遍,看完还是不会做题。问题不在于题不够,而在于没有把这份复习题当成一张知识地图来用。这篇笔记面向正在准备这门课期末的同学,也面向想用一套真题把计算机网络主干知识串起来的自学者。我会把这份复习题拆成可执行的复习路径:先定位考点分布,再逐层攻计算题,最后用一套自检方法确认自己真的会了,而不是“看过了”。
2. 把复习题拆成考点地图:从PDF到可执行的复习清单
2.1 先做一次考点分布统计,而不是直接刷题
拿到一份期末复习题PDF,第一件事不是从第一题开始做。我一般会先花二十分钟做一次考点分布统计。具体做法是:把PDF里的题目按章节归类,统计每个章节出现的题号和分值。这一步不需要写代码,用一张纸或者一个表格就能完成。统计完之后你会看到,网络层和传输层通常占卷面一半以上,物理层和数据链路层更多出现在选择和填空中,应用层则常考HTTP、DNS、电子邮件协议的综合题。
| 章节 | 常见题型 | 复习优先级 |
|---|---|---|
| 物理层 | 选择、填空 | 中 |
| 数据链路层 | 选择、计算(CRC、滑动窗口) | 高 |
| 网络层 | 计算(子网划分、路由聚合)、综合 | 最高 |
| 传输层 | 计算(拥塞控制、滑动窗口)、综合 | 最高 |
| 应用层 | 综合(HTTP、DNS、邮件) | 高 |
这张表不是让你背,而是让你决定时间怎么分配。如果只剩三天,网络层和传输层的计算题必须优先拿下,因为这两块分值高、题型固定、提分最快。
2.2 用“三遍法”把复习题吃透
第一遍:按章节做,不掐时间,允许翻书。目的是暴露自己哪些知识点是模糊的。做完一章就把错题对应的知识点在教材上标出来。第二遍:按套卷做,掐时间,不翻书。目的是训练做题节奏,尤其是计算题的手速。第三遍:只做错题和第二遍里犹豫过的题。目的是把“好像会”变成“确定会”。
这三遍下来,一份2019年的复习题至少能覆盖这门课80%的核心考点。剩下的20%靠教材上的例题和课后习题补。注意,不要一开始就按套卷做,那样只会打击信心,而且暴露不出知识盲区。
2.3 把计算题单独拎出来,建立自己的公式卡片
计算机网络期末的计算题类型其实很有限:CRC校验、滑动窗口效率、子网划分、路由聚合、IP分片、TCP拥塞控制、TCP连接管理中的序号计算。我一般会为每一类计算题做一张公式卡片,正面写公式和适用条件,背面写一道典型例题。比如TCP拥塞控制里的慢开始门限变化,很多人记不住什么时候翻倍、什么时候加一。卡片上就写清楚:慢开始阶段每经过一个RTT,拥塞窗口翻倍;达到门限后进入拥塞避免,每个RTT加一;超时后门限减半,窗口重置为一。
提示:公式卡片不要抄教材上的大段文字,只写触发条件和变化规则,越短越好。
3. 网络层计算题怎么练:子网划分与路由聚合的动手路径
3.1 子网划分:从给定地址块到可用主机数
子网划分是网络层最常考的计算题。题目通常给一个地址块,比如192.168.10.0/24,要求划分成若干个子网,每个子网至少容纳多少台主机。解题步骤是固定的:先确定需要借几位主机位,再算出新的子网掩码,最后列出每个子网的网络地址和广播地址。
# 以 192.168.10.0/24 划分 4 个子网为例 # 需要借 2 位主机位(2^2 = 4) # 新掩码:/26,即 255.255.255.192 # 每个子网可用主机数:2^(32-26) - 2 = 62 # 子网列表: # 子网1:192.168.10.0/26 可用范围 192.168.10.1 - 192.168.10.62 # 子网2:192.168.10.64/26 可用范围 192.168.10.65 - 192.168.10.126 # 子网3:192.168.10.128/26 可用范围 192.168.10.129 - 192.168.10.190 # 子网4:192.168.10.192/26 可用范围 192.168.10.193 - 192.168.10.254这段注释里最关键的是“借几位”的判断。借的位数n满足2^n >= 子网数,同时剩余主机位m满足2^m - 2 >= 每子网所需主机数。两个条件要同时满足。很多同学只算了一个条件,结果要么子网不够,要么主机数不够。参数说明:/24表示前24位是网络位,借2位后变成/26,主机位剩6位,可用主机数是2^6 - 2 = 62,减2是因为网络地址和广播地址不能分配给主机。
3.2 路由聚合:把多条路由合并成一条
路由聚合的题目通常给出一组路由表项,要求聚合后得到最简路由。做法是把所有目的地址写成二进制,找最长公共前缀。比如:
# 给定路由: # 172.16.0.0/24 # 172.16.1.0/24 # 172.16.2.0/24 # 172.16.3.0/24 # 第三字节二进制: # 0 = 00000000 # 1 = 00000001 # 2 = 00000010 # 3 = 00000011 # 最长公共前缀是前6位:000000 # 聚合结果:172.16.0.0/22逻辑说明:172.16.0.0/22表示前22位是网络位,第三字节的前6位固定,后2位可变,正好覆盖0到3。参数说明:聚合后的掩码长度等于原掩码长度减去可变的位数。这里原掩码是/24,可变2位,所以聚合掩码是/22。注意,聚合后的地址块必须完全覆盖原来的所有路由,不能多也不能少。如果多覆盖了,可能会把不该转发的流量引过来,这是路由聚合里的经典坑。
3.3 IP分片:偏移量和MF标志怎么算
IP分片计算题通常给一个IP数据报总长度和MTU,要求算出分片后的各字段。关键公式:每片的数据长度必须是8的倍数(除了最后一片),偏移量以8字节为单位。
# 例:数据报总长 4000 字节,头部 20 字节,MTU = 1500 # 数据部分 = 4000 - 20 = 3980 字节 # 每片最大数据 = 1500 - 20 = 1480 字节 # 1480 是 8 的倍数,可以 # 片1:数据 1480,偏移 0,MF=1 # 片2:数据 1480,偏移 1480/8=185,MF=1 # 片3:数据 3980-1480-1480=1020,偏移 (1480+1480)/8=370,MF=0参数说明:MF=1表示后面还有分片,MF=0表示这是最后一片。偏移量字段的单位是8字节,所以计算时要除以8。如果每片数据长度不是8的倍数,需要调整到最近的8的倍数,否则偏移量算出来不是整数。这个细节在考试里经常设坑。
4. 传输层与数据链路层:滑动窗口和拥塞控制的参数怎么调
4.1 滑动窗口效率:窗口大小和往返时间的关系
数据链路层的滑动窗口协议里,效率计算是常考点。停等协议效率 = 发送一帧的时间 / (发送一帧的时间 + 往返时间)。后退N帧和选择重传的效率则取决于窗口大小。
# 例:链路速率 10 Mbps,单向传播时延 20 ms,帧长 1000 字节 # 发送一帧时间 = 1000*8 / 10^7 = 0.8 ms # 往返时间 RTT = 2*20 = 40 ms # 停等协议效率 = 0.8 / (0.8 + 40) ≈ 1.96% # 若窗口大小 W = 50,后退N帧效率 = 50*0.8 / (0.8 + 40) ≈ 98%逻辑说明:窗口大小决定了在等待确认期间能连续发送多少帧。窗口越大,链路利用率越高,但窗口不能超过2^n - 1(n是序号位数)。参数说明:发送一帧的时间 = 帧长 / 链路速率,注意单位换算。往返时间包括双向传播时延,如果题目只给单向时延,要乘以2。
4.2 TCP拥塞控制:慢开始、拥塞避免、快重传、快恢复
TCP拥塞控制是传输层最常考的综合题。题目通常给一个初始拥塞窗口和门限值,然后描述一系列事件(超时、收到三个重复确认),要求画出拥塞窗口随时间变化的曲线。
# 初始:cwnd = 1,ssthresh = 16 # 慢开始阶段:cwnd 按 1,2,4,8 翻倍 # 到达 ssthresh=16 后进入拥塞避免:cwnd 按 16,17,18... 加一 # 若在 cwnd=20 时超时: # ssthresh = 20/2 = 10 # cwnd 重置为 1,重新慢开始 # 若在 cwnd=20 时收到三个重复确认: # ssthresh = 20/2 = 10 # cwnd = ssthresh = 10,进入拥塞避免(快恢复)参数说明:慢开始阶段每经过一个RTT,cwnd翻倍;拥塞避免阶段每经过一个RTT,cwnd加一。超时事件把ssthresh设为当前cwnd的一半,cwnd重置为1。快重传和快恢复的区别在于:收到三个重复确认时,不重置cwnd为1,而是设为新的ssthresh,然后直接进入拥塞避免。这个区别是考试里最容易混淆的地方。
4.3 避坑:滑动窗口和拥塞控制的常见混淆点
现象:把TCP的接收窗口和拥塞窗口混为一谈,导致计算题里窗口大小取错。原因:接收窗口是接收方通告的,拥塞窗口是发送方根据网络状况维护的,实际发送窗口 = min(接收窗口, 拥塞窗口)。解决:做题时先看清楚题目给的是哪个窗口,再决定用哪个值。
现象:后退N帧协议里,收到否定确认后重传所有未确认的帧,但选择重传只重传出错的那一帧。原因:两种协议的重传策略不同。解决:记住后退N帧的接收窗口为1,选择重传的接收窗口大于1。
现象:慢开始阶段cwnd翻倍,但题目里给的是“每收到一个确认cwnd加一”,这其实是拥塞避免的规则。原因:慢开始的“翻倍”是每RTT翻倍,不是每个ACK加一。解决:看清楚题目描述的是每个RTT还是每个ACK。
5. 避坑与排查:期末复习里最容易翻车的五个地方
5.1 子网划分时忘记减2
现象:算出每个子网可用主机数是64,但实际可用只有62。原因:网络地址和广播地址不能分配给主机。解决:可用主机数 = 2^主机位 - 2。如果题目问“至少容纳多少台主机”,要确保2^主机位 - 2 >= 需求数。
5.2 路由聚合时多覆盖了地址
现象:聚合后的地址块覆盖了不属于原来路由的地址。原因:没有检查最长公共前缀是否完全匹配。解决:把所有地址写成二进制,逐位比较,确保聚合后的前缀不会引入额外的地址。如果多覆盖了,说明聚合过度,需要调整。
5.3 TCP序号计算时忘记初始序号
现象:计算确认号时直接用数据长度,忽略了初始序号。原因:TCP连接建立时双方会交换初始序号,后续所有序号都基于它。解决:题目如果给了初始序号,确认号 = 初始序号 + 已收到的数据字节数。如果没有给,默认从0开始。
5.4 CRC校验时生成多项式位数搞错
现象:算出来的余数位数不对。原因:CRC余数的位数等于生成多项式的最高次幂,不是项数。解决:比如生成多项式是x^4 + x + 1,最高次幂是4,余数就是4位。计算时在数据后面补4个0,然后做模2除法。
5.5 应用层协议端口号记混
现象:把HTTP和HTTPS的端口搞反,或者把DNS的TCP和UDP端口混用。原因:端口号是死记硬背的内容,容易混淆。解决:整理一张常用端口表,每天看一遍。HTTP是80,HTTPS是443,DNS是53(UDP用于查询,TCP用于区域传送),SMTP是25,POP3是110,IMAP是143。
注意:端口号这类记忆性内容,不要等到考前最后一天才背,提前一周每天过一遍,比临时抱佛脚有效得多。
6. 用一套自检题验证复习效果:从“看过了”到“会做了”
复习到最后一周,很多人会陷入一种错觉:书翻了好几遍,题也看了,但一做新题就卡住。要打破这种错觉,我一般会用一套自检方法。具体做法是:从复习题里挑出10道计算题,遮住答案,限时40分钟做完。做完后对照答案,重点看解题步骤是否完整,而不是只看结果对不对。如果某道题卡住了,不要立刻看答案,先回到教材对应的章节,把公式和例题重新推一遍,再回来做。
自检的另一个维度是“讲给别人听”。找一道综合题,比如“从浏览器输入URL到页面显示,经历了哪些协议和步骤”,试着用五分钟讲清楚。如果讲的过程中卡壳,说明那个环节的知识点还不牢固。这个方法比反复看书有效得多,因为讲出来会强迫你组织逻辑,暴露真正的盲区。
| 自检项 | 合格标准 | 不合格怎么办 |
|---|---|---|
| 子网划分 | 5分钟内完成一道/26划分 | 重做教材例题,直到不假思索 |
| 路由聚合 | 能写出二进制比较过程 | 每天练两道,连续三天 |
| TCP拥塞控制 | 能画出完整曲线并标注事件 | 把慢开始和拥塞避免的规则抄一遍 |
| 滑动窗口效率 | 能区分停等、后退N帧、选择重传 | 对比三种协议的窗口和重传策略 |
| 综合题 | 能讲清URL到页面的完整流程 | 按层次从物理层往上梳理 |
最后说一个我自己的习惯:考前三天不再做新题,只做两件事——把公式卡片过一遍,把错题本上的题重做一遍。错题本不需要抄整道题,只写题号、错因和正确思路。这样翻起来快,考前十分钟就能过完。希望帮到你。
本文还有配套的精品资源,点击获取