ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

计算机网络期末备考:TCP可靠传输、子网划分与路由协议核心考点解析

计算机网络期末备考:TCP可靠传输、子网划分与路由协议核心考点解析

1. 考前避坑:先说清楚这门课到底考什么

这几天后台收到不少私信,清一色都在问“深大计网慕课期末有没有答案”“某某章的题会不会原题考”。说实话,问答案的人多,但真正把课听完、把实验做完的人,反而没几个。我扒过好几届的期末题型,也和几位代课老师聊过,结论很直接:这门课的期末考试,不背题库也能过,但纯靠背题库反而容易翻车。

为什么?因为计网慕课的期末题虽然出自题库,但抽题逻辑和平时作业不太一样。平时作业那是章节小测,考的是“这周讲了啥”,期末呢,考的是“你会不会用这周讲的东西去解一个没见过的场景”。换成人话说,平时问你“TCP三次握手是啥”,期末会变成“如果客户端发了SYN之后迟迟没收到SYN+ACK,可能是什么原因,给你三个排查方向,你选哪个”。本质还是考TCP,但换了个皮。

我见过太多同学把精力浪费在“找原题”上,结果考试时遇到一个把端口号、窗口值、超时时间改掉的变体题,直接懵住。所以这篇博文我不想给你列什么“答案清单”,那种东西过两周就失效,而且你们学校自己就抓得严,传答案的群被端掉也不是一回两回了。我真正想做的,是帮你把期末最常考的几个大块——TCP可靠传输、IP子网划分、路由协议、HTTP/DNS、CSMA/CD这些——全部按“出题人会怎么考你”的逻辑重新捋一遍,再配上我刷题时总结的避坑点。你要是能把这些吃透,不管抽到哪套题,至少能稳过,冲高分也不难。

提示:如果你现在连平时作业都没刷完,别急着往下看重点归纳,先去把慕课的章节测试逐题过一遍。期末题里至少有20%的题是从平时作业变形来的,这部分的性价比比什么都高。

2. 核心考点拆解:期末最爱埋雷的五个板块

2.1 TCP可靠传输:别只背“三次握手四次挥手”

TCP这块,期末选择题大概占15%-20%,大题偶尔会出一个关于序列号、确认号、重传机制的计算或分析。先说个最常见的误解:很多人以为TCP可靠传输就是因为有ACK确认,其实不对。ACK是机制的一部分,但真正让TCP“可靠”的是四个东西的组合——序列号保证不乱序、确认号告诉对方“我下一步要收多少”、超时重传处理丢包、滑动窗口控制速度。期末考的时候,这四个点会被拆开考,你光记住名词可不够。

举个实际例子,题目如果问“接收方收到一个seq=1000、长度为500字节的报文段,那么它回复的ACK应该是多少”,很多人会答1500,因为是序列号加长度。但严谨一点,TCP的ACK表示的是“期望收到的下一个字节的序号”,也就是1500没错,但你得搞清楚这个1500的含义是“我下一个要收1500”,而不是“我已经收到了1500”。一字之差,在判断题里就是送分还是送命的区别。

再说重传机制。经典题是“超时重传时间RTO是怎么算的”,给的选项经常是“固定值”“根据RTT动态调整”“根据拥塞窗口调整”。正确答案是RTT动态调整,但出题人会在选项里塞一个“根据网络带宽动态调整”这种看起来很合理、实际没见过的东西来坑你。这个知识点没什么技巧,就是要把RTT和RTO的关系记牢:RTT是报文从发出去到收到ACK的实际时间,RTO是发送方给自己定的“再等多久就重传”的阈值,RTO要略大于RTT,但不能大太多,否则丢包半天才发现,效率就崩了。

最后说一个我当年踩过的坑:拥塞控制和流量控制,期末特别爱混着考。流量控制是“接收方处理不过来,告诉发送方你慢点”,用的是滑动窗口;拥塞控制是“网络中间设备处理不过来,发送方自己主动降速”,用的是拥塞窗口。一个管的是端到端的接收能力,一个管的是全网路径的承载能力。题目如果问“当接收方通告窗口为0时,发送方应该怎么做”,别答“停止发送”,要答“停止发送数据,但仍需继续发送零窗口探测报文”,这个细节很多教材都写了,但没几个人真的记住。

2.2 IP子网划分与路由聚合:算不对不是题难,是你进制不熟

子网划分在期末的固定地位不用多说,基本每年必考,而且通常以选择题或简单计算题的形式出现。这题本身不难,但很多同学不是不懂原理,是算得太慢,或者算到一半忘了网络号、广播地址、可用主机数之间的关系,白白丢分。

先说最基础的:一个/24的网络,也就是掩码255.255.255.0,可用主机数是254,这个谁都会算。但期末喜欢考的是不规则的划分,比如“某公司有4个部门,分别需要120台、60台、30台、10台主机,请设计子网划分方案”。遇到这种题,核心口诀是“从大到小切,掩码按需定”。

120台主机,需要7位主机位(2^7=128,减去网络号和广播地址正好126个可用),所以子网掩码是/25;60台需要6位主机位,/26;30台需要5位,/27;10台需要4位,/28。然后从起始地址开始依次划分,每个子网的范围要算清楚。这里的避坑点是:划分顺序不能乱,必须按主机数从大到小依次分配地址段,否则后面的子网可能不够用或无法连续。

再讲路由聚合。这题难度高一点,但套路非常固定。给你几个子网,比如192.168.0.0/25、192.168.1.128/25、192.168.2.0/24,让你求最长的前缀匹配。做法就三步:把每个子网的起始IP转成二进制,从左边开始比对相同的位,算出相同的位数就是聚合后的前缀长度。但期末更常考的其实是“能不能聚合”这个判断题——两个/25不一定能聚合成一个/24,因为它们的网络地址可能不是对齐的。你只有在两个子网的网络号恰好位于同一个/24边界时,才能聚合。这个道理刷两题就懂了,但第一次做基本都会错,我备考时就栽在这里。

2.3 路由协议:OSPF和RIP的对比是送分题也是送命题

路由协议这块,期末选择题会出现2-3题。RIP和OSPF的对比算是经典的不能再经典了,但每年正确率就是上不去,原因无非是记混了。我直接给你一个对照表,考前看一眼比刷十题都管用:

对比维度RIPOSPF
算法距离向量(Bellman-Ford)链路状态(Dijkstra)
度量标准跳数(上限15)开销Cost(与带宽相关)
收敛速度慢快
更新方式周期性广播整张路由表触发式更新,只广播链路状态
适用场景小型网络中大型网络
环路避免最大跳数+毒性逆转等链路状态天然无环路

这里特别说一下,出题人最喜欢考的不是“哪个好”,而是“哪个算法的核心思想是什么”。比如题目问你“RIP协议中,路由器收到一条路由更新,发现到达某网络经过的跳数比当前路由的跳数多1,它会怎么处理”,答案应该是不更新路由表,因为RIP只保留度量值最小的路由。但如果这条更新的跳数一样,而且是从不同邻居学来的,它可能会保留两条做负载均衡。这个细节是区分死记硬背和真正理解的分水岭。

OSPF那边,容易出“区域”相关的题,比如“OSPF为什么需要划分区域”,答案是为了减少LSA洪泛的范围、缩小链路状态数据库的规模、加快收敛速度。选项里经常混一个“为了保护路由器密码”这种明显不靠谱的,倒是不会有人选错,但“为了让不同区域使用不同协议”这种选项,很多同学会犹豫,因为你确实可以在不同区域上跑不同路由协议,但那叫路由重分发,和OSPF划分区域不是一回事。

2.4 HTTP与DNS:考得不难,但考的都很细

应用层这块,期末考试占的比重不算大,大概10%-15%,但题目特别零碎。HTTP的题集中在方法、状态码、连接方式这几个点上。状态码里,2开头是成功,3开头是重定向,4开头是客户端错误,5开头是服务端错误,这谁都知道。但题目会问具体的,比如“301和302的区别”,答案是301永久重定向,302临时重定向,这俩在SEO场景里经常被讨论,期末考到不算超纲。

还有一个容易被忽略的点是HTTP的持久连接和非持久连接。在HTTP/1.0里,默认是短连接,每次请求都要重新建立TCP连接;HTTP/1.1引入了Connection: keep-alive,默认长连接。期末会这样考:给出两个版本,问你“使用相同TCP连接传输多个请求的是哪个”,这是送分。但如果题目问“长连接下浏览器同时发起多个请求,服务器响应的顺序是什么”,这里要牵出HTTP/1.1的队头阻塞问题,答案是“按请求到达的顺序依次响应”,也就是串行的。这个点如果没看过相关讨论,很容易想当然地认为能并行返回。

DNS是另一个高频小考点。最常见的题目是“浏览器输入网址后,DNS解析的完整过程”。你至少要能把流程说到这个程度:先查浏览器缓存,再查系统缓存,然后查本地DNS服务器(递归查询),本地DNS服务器再向根DNS服务器发起迭代查询,依次经过顶级域服务器、权威域名服务器,最终拿到IP地址。期末不会让你默写这个过程,但会考你“递归查询和迭代查询的区别”或“DNS用的是TCP还是UDP”。标准答案:DNS查询默认用UDP 53端口,但区域传送用TCP。而那个“DNS响应超过512字节时改用TCP”的细节,知道的人少,考到的话就是拉开差距的题。

2.5 CSMA/CD与以太网:记住最容易被忽略的那个条件

以太网这块,最爱考CSMA/CD,而且考法非常固定。

它的核心机制可以简化为四个词:先听后发、边发边听、冲突停发、随机重发。期末题不外乎两种解法:一是给你传播时延和传输时延,让你算最小帧长;二是问“为什么以太网要设置最小帧长64字节”。

算最小帧长的题其实不难。基本公式:最小帧长 = 2 × 传播时延 × 数据传输速率。比如在10Mbps的以太网中,最远两端点的传播时延为25.6μs,那么2×25.6μs×10Mbps = 512bit = 64字节,正好匹配标准里的最小帧长。期末如果给的是“覆盖范围200m,信号传播速率为2×10^8m/s”这样具体的数字,那先算单程传播时延 = 200 ÷ (2×10^8) = 1μs,然后乘以2得到往返时延2μs,再乘数据速率就是最小帧长。核心是这个“往返”,很多人只算了单程,结果正好差一倍,特别亏。

至于“为什么以太网帧的最小长度是64字节”,出题人会问得很委婉,比如“如果帧太短会发生什么”。答案是:帧在发送完毕之前,发送方必须仍在监听信道,以便能检测到冲突;如果帧太短,发送方可能在检测到冲突之前就发完了,冲突的信号回来时它已经不监听了,冲突就漏掉了。这个理解比背公式更重要,因为题目一旦把数字换掉,公式你还会套,但这层逻辑不懂,你就没法检查自己的答案是否合理。

注意:涉及“最小帧长”的大题,记得把单位统一。传输速率用bit/s、时延用s、长度用bit,最后再按题目要求换算成字节。别在这种细节上丢分,太不值得了。

3. 备考策略与实操安排:一周时间到底怎么用

3.1 先说结论:按这四步走,效率最高

期末周大家都知道,时间紧任务重,关键是有的放矢。据我总结,计网期末复习周的最佳节奏是四步:

第一,过教材目录和慕课每章的PPT标题,把全书的框架拉出来。计算机网络这门课的知识结构很线性,从上往下是应用层、传输层、网络层、链路层,每层完成一类职责。你先把这四层的主线记住——传输层管端到端,网络层管路由寻址,链路层管相邻节点传输——后面很多细节就能往框架里挂,不会散。

第二,刷慕课章节测试题和平时作业,把你做错的题全部追溯到对应知识点,标记为薄弱点。这一步的目的是查漏,不是刷题量。整个过程大约需要2-3天。

第三,针对薄弱点回看慕课视频,重点看老师讲例题的那几分钟。不要整章重看,太浪费时间。这里有个经验:视频里老师会用比较慢的语速把例题的每个步骤写在板书上,这部分的逻辑在教材里往往是用“略”带过的,非常关键。

第四,最后两天做一套综合模拟题,或者把期末最容易考的计算型知识点(子网划分、最小帧长、CRC校验)手动推演一遍。别用眼睛看,一定要用笔算,算得慢没关系,算错也没关系,考场上算对就行。

3.2 那些容易被忽视的“非重点”却经常考到的角落

期末复习大多数人会把精力集中在TCP、IP、路由协议这些“大知识”上,但有些边角料知识点,分值不高,却意外地稳定出现。

第一个是CRC循环冗余校验。这个知识点在计网的教材里通常只占几页,但期末大题里偶尔会出现,而且很多同学完全懵掉。实际上CRC的计算方法不难:把要发送的数据当成一个多项式,用生成多项式做模2除法,余数就是校验码。考场上它不会让你算很长一串,让你算的通常就几步。关键是你要记住“模2除法”不是普通除法,它不进位不退位,其实就是按位异或。

第二个是MAC地址和IP地址的对应关系。看起来简单,但出题人会绕:比如“ARP协议的作用是什么”,答案就一句话——通过已知IP地址解析出MAC地址。但如果题目问“ARP请求是以什么形式发送的”,答案是广播;而“ARP响应是以什么形式发送的”,答案是单播。这是最常见的坑,很多人以为两者都是广播。响应用单播,是因为请求方在ARP请求报文中已经把自己的MAC地址写进去了,目标主机知道该往哪回复。

第三个是NAT与内网地址。这题在期末卷里出现的频率也很高,通常会给你一个家庭网络的场景,问你“路由器的WAN口IP和LAN口IP分别应该配置什么类型的地址”。答案显而易见的,WAN口是公网地址(或运营商分配的内网地址),LAN口是私有地址。但这题真正的考点是在NAT的工作原理:多个内网主机共用一个公网IP访问互联网,需要靠端口号来区分不同连接,也就是NAPT。会考“为什么多台设备共用一个IP时,网页还能正确返回到发起请求的那台设备上”,就是因为路由器在转换IP时,同时把端口也改了,维护了一张转发表。

3.3 备考要避开的三个坑:刷题、熬夜、死磕难点

这里说点实在话,备考阶段的误区比知识点本身更害人。

第一个坑是刷题刷偏了。计网这门课,确实要刷题,但要刷对题。市面上很多来源不明的“慕课期末真题”其实只是机考试题库里被截图流传出来的碎片,没有完整的题目上下文,你把它们背下来,遇到变体题还是不会。刷题的正确姿势是:以慕课章节测验为基本盘、以教材课后题为辅助、以真题为验证。别本末倒置,最后搞得自己很累却毫无收获。

第二个坑是熬夜复习。计网的记忆性知识点不多,但理解性知识点挺多。你熬到凌晨三点去看OSPF的LSA类型,第二天考试时脑子是木的,本来会的题也不会了。期末周睡眠比刷题重要得多,这个话是真心话。

第三个坑是死磕难点。比如TCP的拥塞控制细节、IPv6的扩展头部,这些内容考试占比极低,即便考到了,也就是一道选择题,不一定答对。与其花两个晚上把它搞懂,不如把那两个小时拿回去稳稳地过一遍子网划分。策略上的取舍,和知识点本身同样重要。

4. 大题的解题模板:遇到变形题照样能拆

4.1 子网划分类的答题套路

如果期末出了子网划分的大题,通常题干会给你一个IP段和几个划分条件,要求写出每个子网的网络地址、子网掩码、广播地址、可用IP范围。这类型题非常机械,按照下面四步走不会出错:

  1. 将给定的IP地址和掩码转为二进制,先找到“掩码截止位”作为分割点;
  2. 确定每个子网需要的主机位数,向上取整到2的幂次;
  3. 从起始网络地址开始,按子网大小依次切分,确保每个子网的起始地址是“对齐”的(即起始地址可以被子网大小整除);
  4. 每个子网的网络号是起始地址,广播地址是下一个子网起始地址减1,可用范围就是中间去掉网络号和广播地址那部分。

举例来说,一家公司申请到202.113.16.0/24,要求划分出能容纳50台主机的子网。50台主机,主机位需要6位,也就是/26,每个子网有62个可用地址,可以被划分为四个子网,分别是202.113.16.0/26、202.113.16.64/26、202.113.16.128/26、202.113.16.192/26。第二个子网的可用IP范围就是202.113.16.65到202.113.16.126,广播地址是202.113.16.127。这样写下来,基本就是满分作答。

4.2 网络故障排查类的分析套路

还有一种题,是给你一个拓扑图,然后说网络出现了某种故障,比如“主机A能ping通网关,但ping不通主机B”,让你分析可能原因。这种题看起来是应用分析题,其实解法非常套路,核心就是分层排查。

第一层看物理链路:是否连线松动、网线损坏、接口down了。第二层看IP配置:网关、子网掩码是否正确,是否跟目标在同一网段。第三层看ARP:能否解析到网关或目标的MAC地址。第四层看路由:路由器上是否有到达目标网段的路由。第五层看防火墙或ACL:是否被安全策略拦截了。

答题时按这个层次往下推,命中概率很高,而且每个层次都能写几句“为什么这个步骤能排除这种可能性”的话,得分率比只给出结论高得多。另外,如果题里提到了“ping网关通、ping公网IP不通”,那问题基本就出在路由或上网出口上;如果“ping网关都不通”,那先查本机IP配置和物理链路。这些排查思路就算不出大题,在选择题的“故障分析”类题目里同样适用。

4.3 协议状态机类的记忆套路

TCP状态转移图,期末经常会考一个冷门状态或一次完整的状态切换过程。如果你只是硬背状态名,很容易搞混。我个人的记忆办法是把它跟“一次完整连接”绑定起来。

建立连接:CLOSED→SYN_SENT→SYN_RCVD→ESTABLISHED。释放连接,四次挥手:ESTABLISHED→FIN_WAIT_1→FIN_WAIT_2→TIME_WAIT(主动关闭方),另一侧是CLOSE_WAIT→LAST_ACK→CLOSED。考试时只要画出一条线上的几个状态,你要能准确说出在每个状态下收到什么报文会跳转到什么状态。

选考里还会考一个特殊的:TIME_WAIT要等多久?答案是2MSL(最大报文段生存时间),原因是为了确保最后的ACK能被对方收到;如果收不到,对方会重发FIN,这边还能再回一次ACK。这个点如果问“为什么TIME_WAIT要等2MSL而不是1MSL”,答案是确保本次连接的所有报文段在网络中消失,防止旧连接的延迟报文干扰新连接。能把这些话写在卷面上,就是高分回答。

5. 选题与答题技巧:多选题怎么保底,判断题怎么避坑

5.1 多选题的“保底”策略

多选题是计网慕课期末最容易翻车的题型,因为漏选、多选、错选都不得分。我的策略很简单,就是“只选确定对的,不确定的宁可漏”。要说明的是,这个策略在大学考试里总能保住大半分数,因为多选题的选项通常有很强的干扰性,比如把RIP的收敛速度和OSPF对调,看起来无比合理,恰恰是错的。所以你在犹豫时,脑袋里要快速闪过“这个选项的表述到底在哪一章出现过?教材有没有原话?”如果有印象,选它;如果毫无印象,不选。

另外,多选题里经常会有一些“全选”的题。比如“TCP的可靠传输依赖于哪些机制”,选项包括序列号、确认号、超时重传、滑动窗口,这题就是全选。你要是对知识点够熟,看到这四个选项时会觉得每个都对,不会疑神疑鬼。如果平时背得不熟,这题就会很纠结,所以别指望技巧能救命,最后的防线还是理解。

5.2 判断题里的“绝对化”陷阱

判断题的选项特别喜欢用“一定”“必须”“所有”“任何”这些绝对化的词。遇到这类词,第一反应应该是“是不是有特例”。比如“TCP协议能够保证数据一定不丢失”,对还是错?答案是错,TCP只能通过重传机制降低丢包的概率,在极端情况下(比如网络断开半天)它也会放弃传输。再比如“OSPF协议适用于所有规模的网络”,也是错的,小规模网络用RIP或静态路由足矣,用OSPF反而增加复杂度。

反过来,如果题干用词比较谨慎,比如“通常情况下”“一般”“大多”,那判断题大概率是对的。这条经验不完全适用于所有判断题,但在大多数大学课程的出题风格里,它还挺准的。因为出题人自己也知道绝对化表述容易错,所以他会在正确表述里加上限定语来保证严谨性,而在错误表述里用绝对化词汇来制造明显漏洞。你抓住这个出题心理,判断题的正确率能提一截。

5.3 时间分配与检查重点

计网期末的题量一般在50到70题之间,有单选、多选、判断,偶尔配一两道大题。给个大致的答题策略:选择题和大题的时间比例控制在1:1,前面的客观题不要恋战,平均每题40秒到1分钟。如果一道题你盯了2分钟还没头绪,先按第一直觉选一个,然后标记出来,等全卷做完再回头想。很多同学在难题上耗太久,导致后面的大题没时间写,这才是最亏的。

留15分钟左右检查,重点检查三类内容:一是计算题的单位和数值是否写反(比如把bit写成字节);二是多选题是否满足自己“只选确定对”的原则;三是大题有没有遗漏步骤——计网批卷是按步骤给分的,你把子网划分过程每一步都写出来,就算最后结果算错,也会给过程分。

注意:考试时是先做简单题还是先做大题,依个人习惯而定。但有一个原则要守住——不管哪种顺序,都要留时间检查多选题。这是我前面几届学长学姐考出来的教训,多选题分值不高但失分率最高,检查一遍通常能改对两三个,等于白捡回不少分。

6. 临场发挥的加分细节

6.1 大题作答,步骤比答案更值钱

都知道理工科考试,老师批大题是踩点给分的。子网划分题,你把二进制转换的过程、掩码确定的过程、每个子网划分范围写出来,就算最后没算对,也会拿到大部分分数。所以这类题宁可写得啰嗦一点,也不要只写一个最终结果。

同理,TCP类的大题如果让你分析某个现象,先在草稿纸上把连接过程画出来,一边画一边写状态名和报文,然后在答案里按时间顺序铺开。比如让你分析“为什么客户端发送了SYN却没收到SYN+ACK”,你这样写:首先在客户端查看是否成功发出SYN,使用netstat检查连接状态;然后确认服务器SYN队列或Accept队列是否溢出;再检查服务器防火墙是否拦截了入站SYN。这样三层递进的写法,逻辑清晰,覆盖面也全,很容易拿满分。

6.2 选择题的“反推法”

计网的选择题经常会把正确选项藏得比较深,这时候反推法特别好使。比如题目问“一个TCP连接中,发送方发送了1KB数据,收到ACK=2049,请问序列号是多少”,你不需要死记公式,可以直接反推:ACK=2049代表接收方期望收到的下一个字节序号是2049,那已收到的最后字节是2048,初始序列号就是2049-1024=1025。用已知数带回去验证,比死记公式可靠得多。

另外,选择题的选项之间往往有逻辑关联。比如子网划分题的四个选项,你快速算一下第一个子网的广播地址是多少,如果等于第二个子网的网络地址减1,那大概率这几个选项是按连续分配设计的,你只要起算点没错,顺着推每个选项都能对上,答案也自然水落石出。

6.3 考前一夜做什么

最后一天不推荐再大规模刷新题了。我个人建议做三件事:第一,把全书的主要协议端口、默认值背一遍,比如HTTP是80、HTTPS是443、DNS是53、DHCP是67/68、FTP是20/21,这些边角料在选择题里出现频率不低;第二,把TCP四次挥手和三次握手的状态流转在纸上各默写一遍,计算一下大概多久能写完,做到心里有数;第三,早睡,保证睡眠质量。

然后进考场时,深呼吸,告诉自己:计网就算有不会的题,也就是一两道选择,丢掉20分也不影响你及格,何况正常复习根本丢不了这么多。心理上放松了,考场上的反应速度反而会快一截,这个玄学我实测过多次,屡试不爽。

7. 最后的真心话

写到这里,这篇不算短的备考梳理就算收尾了。我再掏心窝子说几句:计网慕课这门课,如果只靠考前突击找答案,你最后拿到的只是一张成绩单;但如果你真的把这几个核心知识点弄懂了,你拿到的是一种思维方式——理解任何网络问题,都可以从物理链路、IP寻址、传输控制、应用协议这几个层面,从上往下或者从下往上地拆解。以后你在工作中遇到什么网络故障,别人还在四处乱试,你已经能按这套思路迅速定位问题,这就是这门课真正会回馈你的东西。

在绩点之外,我会建议你把做过的错题整理成一个小文档,标上考点、你的错误思路和正确思路。考完试别删,隔半学期再翻一遍,你会发现对网络协议的理解又深了一层。这也是我个人从这门课里收益最大的一点,希望你也用得上。

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进