计算机网络这门课,复习的时候最怕什么?不是知识点多,而是知识点散。平时上课跟着老师一章一章走,感觉每章都听懂了,一到考前合上书,脑子里只剩下“TCP三次握手”和“OSI七层模型”两个孤零零的名词,中间全是断片。我当年第一次系统复习这门课的时候也踩过这个坑,抱着教材从第一章抄到最后一章,笔记记了厚厚一摞,做题还是靠蒙。后来带过几届学弟学妹的考前突击,也帮不少跨考的朋友梳理过框架,慢慢摸出一套自己的复习路子——核心思路就一句话:先建骨架,再填血肉,最后用题目反查漏洞。这篇内容就是把这套方法完整拆开,从整体设计到具体实操,再到常见坑的排查,全部讲透。不管你是期末考前一周才开始慌,还是准备考研408里的计网部分,或者单纯想把这门课真正学明白,下面这些内容都能直接拿去用。
1. 复习整体设计与思路拆解
1.1 为什么不能按教材顺序从头啃
很多人复习计网的第一反应是翻开教材目录,从“计算机网络概述”开始,一节一节往下看。这个做法在时间充裕的情况下没毛病,但作为复习策略,效率极低。原因在于教材的编排逻辑是教学逻辑,不是知识关联逻辑。教材要照顾零基础读者,所以会把一个概念拆到好几章里慢慢渗透,比如“可靠传输”这个概念,在物理层提一嘴,在数据链路层讲一点,到传输层才完整展开。你按顺序读,读到传输层的时候,前面链路层那点铺垫早忘干净了。
更合理的做法是按协议栈的分层职责来组织复习。计网这门课的知识体系本质上是一棵树:根是“分层思想”,主干是五层模型(或TCP/IP四层),枝叶是每层的具体协议和机制。复习的时候先把这个树状结构画出来,明确每一层“解决什么问题、向上提供什么服务、依赖下层什么能力”,然后再往每个节点上挂细节。这样你记住的不是一个一个孤立的知识点,而是一个有因果关系的系统。
我一般建议的复习顺序是:先传输层,再网络层,然后数据链路层,最后物理层和应用层穿插。为什么把传输层放最前面?因为TCP和UDP是整门课最核心、考得最密、也最容易和实际编程经验挂钩的部分,先啃硬骨头,后面越复习越轻松。应用层反而可以放到后面,因为HTTP、DNS这些协议本身不复杂,理解了传输层之后再回头看,很多设计选择一目了然。
1.2 骨架怎么搭:一张图定全局
搭骨架的具体动作,就是手绘一张分层职责图。注意是手绘,不是打印现成的思维导图。手绘的过程本身就是记忆编码的过程,你画的时候会不自觉地想“这一层和上一层怎么衔接”“这个协议为什么放在这一层”,这些思考比图本身值钱。
这张图上每个层次至少写清楚三样东西:该层的核心任务、该层的代表协议、该层的关键机制。举个例,传输层那一格,核心任务写“端到端的数据传输与复用分用”,代表协议写“TCP、UDP”,关键机制写“连接管理、流量控制、拥塞控制、可靠传输”。网络层那一格,核心任务写“主机到主机的分组转发与路由”,代表协议写“IP、ICMP、ARP(严格说ARP跨层)、路由协议”,关键机制写“IP编址、子网划分、路由算法、分片重组”。
这张图不用画得多漂亮,A4纸横过来,五个格子,每个格子填满就行。画完之后贴在书桌前,后面每复习一个细节,都回头看一眼“这个细节挂在哪一格的哪个位置”。这个动作看起来笨,但它解决的是复习中最要命的问题——知识定位。考试的时候看到一道题,你能瞬间反应出它考的是哪一层、哪个机制,答题方向就不会跑偏。
1.3 时间分配:三轮复习的节奏感
复习计网最忌讳的是“均匀用力”。这门课各章节的考试权重差异极大,传输层和网络层加起来能占到卷面六成以上,物理层往往只有几分。所以时间分配必须有所侧重。我习惯把复习切成三轮,每轮的目标和节奏都不一样。
第一轮叫通读建图轮,占总时间的四成左右。目标是把手绘图填满,每个格子里的关键机制都能用自己的话讲一遍,不追求细节精确,追求的是“知道有这么回事、知道它在哪”。这一轮遇到卡壳的地方先标记,不要死磕,继续往下走,因为很多疑问在后面复习其他层的时候会自然解开。
第二轮叫专题攻坚轮,占四成时间。这一轮针对第一轮标记的难点和高频考点做集中突破,比如TCP的拥塞控制算法、IP子网划分的计算、CSMA/CD的退避机制、路由算法的收敛过程。每个专题配三到五道典型题,做完立刻对答案,错题当场分析错因。这一轮是提分的主力阶段,也是最累的阶段,建议安排在精力最好的时段。
第三轮叫套卷模拟轮,占两成时间。拿真题或高质量模拟卷掐时间做,重点不是做题本身,而是训练“看到题目快速定位考点”的能力,以及查漏补缺。做完一套卷子,把错题对应的知识点在骨架图上圈出来,圈得越多的地方就是考前最后要反复看的地方。
提示:三轮的时间比例不是死的,如果你距离考试只剩两周,那就把第一轮压缩到三天,快速过一遍骨架,把大部分时间砸在第二轮的高频专题上。骨架图哪怕画得粗糙,也一定要有,它是后面所有复习动作的锚点。
2. 核心细节解析与实操要点
2.1 传输层:把TCP的状态机和拥塞控制吃透
传输层是整门课的重中之重,而传输层里最让人头疼的两块,一是TCP的连接管理状态机,二是拥塞控制。这两块内容教材上写得很细,但细不等于好懂,很多细节需要你自己在纸上推演一遍才能真正记住。
先说三次握手和四次挥手。很多人背得滚瓜烂熟,但你问他“为什么握手是三次不是两次”,他答不上来。这个问题的答案藏在“防止已失效的连接请求突然又传到服务端”这个场景里。设想客户端发了一个连接请求,这个请求在网络里滞留了很久,客户端超时重发了一个新的,新请求建立连接、传输数据、释放连接,整个过程结束了,那个滞留的旧请求才姗姗来迟到达服务端。如果只有两次握手,服务端收到这个旧请求就会直接建立连接、分配资源,然后干等着一个永远不会来的客户端,资源就白白浪费了。三次握手让服务端在收到确认之前不分配资源,这个问题就解决了。你把这个场景在脑子里过一遍,比背十遍“三次握手防止失效连接”都管用。
四次挥手也是同理,核心在于TCP是全双工的,两个方向的数据传输要分别关闭。主动关闭方发FIN表示“我没数据要发了”,但对方可能还有数据没发完,所以不能立刻关,要先回一个ACK,等自己数据发完了再发FIN。这个“半关闭”状态是理解四次挥手的关键。复习的时候建议拿一张纸,把客户端和服务端两条时间线并排画出来,每个报文段标注SEQ、ACK、标志位,亲手推一遍状态迁移,比看现成的时序图印象深刻得多。
再说拥塞控制。慢开始、拥塞避免、快重传、快恢复这四个算法,单独看每个都不难,难的是它们之间的切换条件。我复习这块的方法是画一张“拥塞窗口随时间变化”的折线图,横轴是传输轮次,纵轴是cwnd,然后把四个算法的触发条件和窗口变化规律标在图上。慢开始阶段cwnd指数增长,到达慢开始门限ssthresh后转拥塞避免线性增长,遇到超时则ssthresh减半、cwnd重置为1重新慢开始,遇到三个重复ACK则快重传加快恢复,ssthresh和cwnd都调整为当前值的一半然后线性增长。这张图一画,四个算法就不是四个孤立的名词,而是一条连续的曲线上的不同区段,考试考到任何一个点,你都能从图上读出上下文。
这里有个容易混淆的点必须单独拎出来:快恢复和慢开始的区分。超时事件触发的是慢开始,三个重复ACK触发的是快恢复。为什么有这个区别?因为超时说明网络可能严重拥塞,得下猛药把窗口打回1;而三个重复ACK说明网络只是轻微拥塞,报文还能到达只是丢了个别,没必要把窗口打那么狠,减半就够了。理解了这个“病情轻重决定用药力度”的类比,这两个算法的触发条件就不会再记混。
2.2 网络层:IP编址与子网划分的计算套路
网络层让很多人栽跟头的地方是子网划分和CIDR的计算。这类题看起来吓人,其实套路非常固定,掌握了计算流程之后就是送分题。我把这套流程拆成四步,你照着走基本不会错。
第一步,把IP地址和子网掩码都转成二进制。这一步没有捷径,但可以只转关键的那一段。比如掩码是255.255.255.192,前三个255不用管,只看最后一个192,转成二进制是11000000,也就是前两位是网络位。那么IP地址的最后一个字节也只需要看前两位来确定子网号。
第二步,确定网络地址。IP地址和掩码做按位与运算,得到的就是网络地址。还是上面的例子,假设IP是192.168.1.130,最后一个字节130转二进制是10000010,和11000000按位与,得到10000000,也就是128。所以网络地址是192.168.1.128。
第三步,确定广播地址。广播地址是网络地址的主机位全部置1。掩码最后一个字节是11000000,主机位是后六位,全置1就是10111111,也就是191。所以广播地址是192.168.1.191。
第四步,确定可用主机范围。网络地址加一到广播地址减一,即192.168.1.129到192.168.1.190,共62个可用地址。这个62怎么来的?主机位有6位,2的6次方是64,减去网络地址和广播地址两个特殊地址,就是62。
这套流程练熟之后,一道子网划分题两分钟之内能算完。我建议复习的时候专门找十道这类题集中练,练到看到掩码就能条件反射地反应出块大小。所谓块大小,就是256减去掩码最后一个非255字节的值。比如掩码255.255.255.192,块大小是256减192等于64,那么子网就是0、64、128、192这样每64个一跳。用块大小法可以跳过二进制转换直接口算子网范围,熟练之后速度更快。
注意:子网划分题最容易错的地方不是计算,而是审题。题目问的是“网络地址”“广播地址”“可用主机数”还是“子网数”,一定要看清楚。我见过太多人算对了网络地址,结果题目问的是可用主机范围,白白丢分。
2.3 数据链路层:三个可靠机制的对比记忆
数据链路层有三套容易混淆的机制:停止等待协议、后退N帧协议(GBN)、选择重传协议(SR)。这三个协议解决的是同一个问题——在不可靠的链路上实现可靠传输,但它们的效率和实现复杂度不同。复习的时候不要分开背,要放在一起对比,用一张表把它们的差异钉死。
| 对比维度 | 停止等待 | 后退N帧 | 选择重传 |
|---|---|---|---|
| 发送窗口大小 | 1 | 大于1 | 大于1 |
| 接收窗口大小 | 1 | 1 | 大于1 |
| 重传策略 | 超时重传当前帧 | 重传丢失帧及其后所有帧 | 只重传丢失帧 |
| 接收方缓存 | 不需要 | 不需要 | 需要 |
| 信道利用率 | 最低 | 中等 | 最高 |
| 实现复杂度 | 最低 | 中等 | 最高 |
这张表的关键在于理解窗口大小和重传策略之间的因果关系。GBN的接收窗口是1,意味着接收方只能按序接收,一旦某个帧丢了,后面到的帧全部丢弃,所以发送方必须把丢失帧之后的所有帧都重传。SR的接收窗口大于1,接收方可以缓存乱序到达的帧,所以只需要重传真正丢失的那一个。理解了这层因果,表格就不用死记了,考场上现推都来得及。
还有一个高频考点是窗口大小和序号位数的关系。对于GBN,发送窗口大小不能超过2的n次方减1(n是序号位数);对于SR,发送窗口和接收窗口之和不能超过2的n次方。这个结论背后是“防止新旧帧混淆”的逻辑,复习的时候可以自己举个小例子推一遍,比如n等于2时序号是0、1、2、3,如果GBN窗口开到4会怎样,推一遍就明白为什么必须减1了。
2.4 物理层与应用层:抓大放小,别陷进细节
物理层在考试中权重最低,复习策略应该是抓基本概念,放弃深挖。奈奎斯特定理和香农定理这两个公式要记住并会用,编码方式(曼彻斯特编码、差分曼彻斯特编码)知道原理即可,传输介质和物理层设备了解分类就行。物理层出大题的概率很低,不值得花大量时间。
应用层则相反,虽然协议本身不复杂,但DNS解析过程、HTTP请求响应流程、电子邮件协议这些是简答题和综合题的常客。DNS解析要能说清楚递归查询和迭代查询的区别,HTTP要理解无状态和Cookie机制的关系,这些内容理解了传输层之后回头看会非常顺畅。应用层的复习可以放在传输层和网络层之后,作为“上层建筑”来收尾,这时候你已经知道底下的TCP连接怎么建立、IP分组怎么路由,再看HTTP为什么基于TCP、DNS为什么用UDP,很多设计选择就顺理成章了。
3. 实操过程与核心环节实现
3.1 第一周:手绘骨架图与通读教材
假设你有四周复习时间,第一周的任务就是建骨架加通读。具体操作是这样的:找一张A3纸或者两张A4拼起来,横放,画五个大格子代表五层模型,每个格子留出足够空间。然后翻开教材目录,对照每一章的内容,把关键概念往对应的格子里填。填的时候不要抄书,用自己的话写关键词,写不出来的地方说明你没真正理解,做个标记。
通读教材的时候有个技巧:先读每章的小结和课后习题,再读正文。小结是作者帮你提炼的精华,习题告诉你这章的重点在哪,带着这两个东西去读正文,注意力会自动聚焦到考点上,阅读速度能快不少。通读阶段不要求记住所有细节,要求的是每个知识点都能在骨架图上找到位置。
这一周每天结束前花十分钟做一件事:合上所有资料,凭记忆把当天复习的层次骨架图默画一遍,画不出来的地方第二天重点补。这个“默画”动作是检验骨架是否牢固的唯一标准,比反复看书有效得多。
3.2 第二周:高频专题集中突破
第二周进入专题攻坚,我建议按这个顺序安排:周一到周二攻TCP(连接管理加拥塞控制),周三到周四攻IP(编址加子网划分加路由),周五攻数据链路层的可靠传输和介质访问控制,周末攻应用层协议和DNS/HTTP流程。
每个专题的攻坚流程是固定的:先看一遍教材相关章节,然后合上书自己推导一遍核心机制,再做题验证,最后把错题对应的知识点补回骨架图。以TCP拥塞控制为例,看教材的时候重点看四个算法的触发条件和窗口变化,合上书之后拿一张白纸画出cwnd随时间变化的曲线,标出每个阶段的名称和切换条件,画完对照教材检查有没有漏。然后找五道拥塞控制的题做,做完对答案,错的地方回到曲线上找原因。
这里分享一个我常用的费曼式自测法:假装你要给一个完全不懂计网的人讲清楚“TCP为什么可靠”,讲的过程中卡在哪里,哪里就是你的知识漏洞。这个方法听起来简单,但极其有效,因为“能看懂”和“能讲明白”之间隔着巨大的理解鸿沟。我当年复习的时候就是靠给室友讲题,讲着讲着发现自己对“累计确认”和“捎带确认”的区别其实没搞清,回头补了才真正掌握。
3.3 第三周:真题套卷与错题归因
第三周开始做套卷。做套卷的核心不是“做完”,而是“做完之后的归因分析”。每做完一套,花比做题更长的时间做三件事:第一,把每道错题的错误原因分类,是概念不清、计算失误还是审题错误;第二,把错题对应的知识点在骨架图上圈出来;第三,针对概念不清的错题,回到教材或笔记重新看一遍相关段落。
错题归因这一步特别重要,因为不同类型的错误对应不同的补救方式。概念不清要回去补理解,计算失误要专项练计算,审题错误要在下次做题时刻意放慢读题速度。如果不做归因,只是把错题重做一遍,下次遇到同类题还是会错。
套卷的频率建议两天一套,中间那天用来消化错题和补漏。做卷子一定要掐时间,模拟真实考试节奏,这样训练出来的“考点定位速度”才是有效的。我见过有人平时做题不限时,每道题都慢慢想,结果考试时间不够用,这就是平时没练定位速度的后果。
3.4 第四周:回归骨架与查漏补缺
最后一周不要再做新题了,回归骨架图。把前三周圈出来的所有标记过一遍,每个标记问自己三个问题:这个知识点是什么、为什么这么设计、和相邻知识点什么关系。三个问题都能流畅回答的,划掉;回答卡壳的,重点再看。
这一周还要做一件事:把容易混淆的概念整理成对比表。比如TCP和UDP的对比、虚电路和数据报的对比、流量控制和拥塞控制的对比、ARP和DHCP的对比。对比表是考前最后一小时最有价值的复习材料,因为它直接针对“混淆型”考点。
考前一天不要再啃新内容,把骨架图和对比表过一遍,早点休息。计网这门课的特点是“理解了就忘不掉,没理解背了也白背”,考前突击新知识点的收益极低,不如把已经理解的巩固牢。
4. 常见问题与排查技巧实录
4.1 知识点记不住、容易混怎么办
这是复习计网最高频的问题。我的经验是,记不住的本质是缺少关联。孤立的知识点大脑会自动清理,有关联的知识点会被编织进已有的网络里长期保存。所以解决记不住的办法不是反复背,而是主动建立关联。
具体做法有三种。第一种是因果关联,每学一个机制都问“它解决什么问题、为什么不用别的方案”。比如学到CSMA/CD,问它解决什么问题(多个站点共享信道的冲突),为什么不用TDMA(因为信道利用率低),这样CSMA/CD就不是一个孤立的名词,而是“共享信道介质访问控制”这个大家族里的一员。
第二种是对比关联,把相似的概念放在一起对比,差异点就是记忆的锚。TCP和UDP对比、GBN和SR对比、递归查询和迭代查询对比,对比表做多了,混淆自然就少了。
第三种是场景关联,把抽象概念挂到具体场景上。比如理解“路由器的分组转发”,可以想象成快递中转站,每个包裹看目的地决定往哪个方向发,这个类比虽然不精确,但能帮你快速建立直觉,有了直觉再去抠精确定义就容易多了。
4.2 计算题总是算错怎么破
计网的计算题集中在子网划分、窗口大小、信道利用率、时延计算这几类。算错的原因通常不是不会方法,而是步骤不规范。我的建议是给每类计算题固定一套解题模板,每次做题都严格按模板走,不跳步。
以信道利用率为例,公式是“有效传输时间除以总周期时间”。总周期包括发送时延、往返传播时延和确认帧的发送时延。很多人算错是因为漏掉了确认帧的发送时延,或者把传播时延和发送时延搞混。固定模板就是:第一步写出所有时间分量,第二步逐个计算,第三步代入公式。每一步都写在纸上,不要心算,心算省下的几秒钟远不够弥补算错重来的时间。
子网划分的模板就是前面讲的四步法:转二进制、算网络地址、算广播地址、算可用范围。练熟之后可以加速,但考前复习阶段一定要老老实实按步骤写,把规范刻进肌肉记忆里。
4.3 简答题没话说、答不到点上
简答题考的是理解的深度和表达的条理。很多人不是不懂,是不知道怎么组织语言。我的技巧是用“总-分-总”结构答题:第一句直接给出结论,中间分点展开理由,最后一句收束回结论。
比如问“为什么TCP需要三次握手”,第一句答“三次握手是为了防止已失效的连接请求突然到达服务端造成资源浪费”,然后分两点展开:两次握手下服务端无法确认客户端是否真的想建立连接、三次握手让双方都确认了对方的收发能力,最后收一句“因此三次握手是保证连接可靠建立的最小次数”。这样答,条理清晰,踩分点明确。
平时复习的时候可以刻意练习这个结构,每复习一个机制就试着用“总-分-总”口头讲一遍,讲多了考场上自然下笔有神。
4.4 常见问题速查表
| 问题现象 | 可能原因 | 排查与解决 |
|---|---|---|
| 子网划分结果和答案对不上 | 掩码二进制转换出错或审题偏差 | 用块大小法交叉验证,重读题目确认问的是网络地址还是主机范围 |
| TCP状态迁移记混 | 没有理解状态之间的触发事件 | 手画两条时间线,标注每个报文段和状态变化,重点区分主动关闭和被动关闭 |
| 拥塞控制算法切换条件混淆 | 超时和三个重复ACK的触发场景没分清 | 记住“超时=重病下猛药,三ACK=轻症减半”,画cwnd曲线图辅助记忆 |
| 路由算法收敛过程看不懂 | 缺少对距离向量和链路状态本质区别的理解 | 用“邻居互相告诉距离”和“每人掌握全局地图”两个类比区分DV和LS |
| 简答题写了很多但得分低 | 没有踩到关键词,表达缺乏条理 | 用总-分-总结构,先给结论再展开,对照标准答案提炼踩分关键词 |
| 选择题排除两个后总选错 | 对易混概念的细微差别没掌握 | 建立对比表,专门记录“二选一”错题,考前重点看 |
4.5 几个容易被忽略的复习细节
第一个细节是端口号的分类要记牢。0到1023是熟知端口,1024到49151是登记端口,49152到65535是动态端口。这个知识点小,但选择题爱考,而且记起来不费劲,属于性价比极高的送分点。
第二个细节是IP分片计算。分片时除了最后一片,每片的数据部分必须是8字节的整数倍,这个“8字节对齐”的规则很多人记不住。理解它的来源就不容易忘了:片偏移字段是以8字节为单位的,所以数据部分必须能被8整除,否则偏移量算出来不是整数。
第三个细节是ARP的跨层性质。ARP工作在网络层和数据链路层之间,它解析的是IP到MAC的映射,但ARP报文本身是封装在以太网帧里传输的。考试如果问“ARP属于哪一层”,标准答案通常是网络层,但你要知道它和链路层的紧密关系,答简答题时提一句会显得理解更到位。
第四个细节是HTTP的无状态和Cookie。HTTP本身是无状态的,每次请求独立,服务器不记得你上次来过。Cookie是服务器发给客户端的一小段数据,客户端后续请求自动带上,服务器靠它识别用户。这个机制理解了,会话管理、登录保持这些应用层的话题就都能串起来。
5. 复习资料的选择与使用心得
5.1 教材和辅导书怎么搭配
教材是根本,但不同教材的侧重点不一样。经典教材胜在体系完整、概念严谨,适合第一轮通读建骨架;应试类辅导书胜在考点提炼和题目丰富,适合第二轮专题攻坚。我的用法是:第一轮以教材为主,辅导书只看每章的考点总结;第二轮反过来,以辅导书的专题和题目为主,教材当字典查。
辅导书的选择上,重点看它的题目解析质量,而不是题目数量。好的解析会告诉你每个选项为什么对为什么错,差的解析只给个答案。复习阶段时间宝贵,宁可精做一本解析详细的,也不要刷三本只有答案的。
5.2 笔记怎么记才有用
计网笔记最忌讳的是抄书。我见过把教材整段整段抄到笔记本上的,抄完自己都不看第二遍。有效的笔记应该是骨架图加对比表加错题归因三件套。
骨架图前面说过了,是全局定位用的。对比表是解决混淆的,每发现一组易混概念就做一张表。错题归因是提分的关键,每道错题记录三样东西:题目考什么、我错在哪、正确思路是什么。这三样东西积累到考前,就是一份完全针对你个人薄弱点的复习清单,比任何通用资料都值钱。
笔记的载体我建议用活页本或者电子文档,因为复习过程中会不断补充和调整,活页方便随时插入新内容。用电子文档的话,建议按层次分文件夹,每个层次一个文档,文档内用标题分级,方便检索。
5.3 组队复习的正确姿势
如果身边有一起复习的同学,组队复习的效率可以很高,但前提是分工明确、输出导向。最没用的组队方式是几个人坐在一起各自看书,那不如各自在宿舍看。有用的组队方式是互相讲题:每人负责一个专题,讲给别人听,讲的人加深理解,听的人查漏补缺,讲完互相提问。
我当年复习的时候和两个同学组了个三人小组,每周日晚上花两小时,每人讲一个自己这周攻克的难点,讲完另外两人各提一个问题。这个习惯坚持了一个月,效果比我自己闷头看书好太多,因为讲的过程中会暴露很多自己以为懂了其实没懂的地方。而且听别人讲的时候,你会发现自己从来没注意过的角度,这种视角的碰撞是独自复习得不到的。
提示:组队复习的人数不宜超过四个,人多了容易变成聊天局。每次组队复习要有明确的议程和时间盒,比如每人讲二十分钟、提问十分钟,超时就停,保持节奏。
6. 从应试到真正理解:一点个人体会
复习到后期,我慢慢意识到一件事:计网这门课真正的价值不在于记住多少协议细节,而在于建立一种分层抽象的思维方式。每一层只关心自己该关心的事,把不关心的部分封装起来交给上下层,这种“各司其职、接口清晰”的设计思想,在写代码、做系统设计的时候同样适用。当你理解了为什么要有分层、为什么协议要这么设计,那些曾经需要死记硬背的细节就变成了顺理成章的推论。
我在实际复习中体会最深的一点是,讲给别人听是检验理解程度最狠的标尺。自己看书的时候很容易产生“我懂了”的错觉,但一开口讲就原形毕露。所以如果你时间允许,一定要找机会把核心机制讲一遍,讲给同学听、讲给室友听,甚至对着空气讲都行。讲不顺的地方,就是你该回去补的地方。
最后再分享一个小心得:复习计网的时候,手边放一张白纸,想到什么画什么。状态机画时间线,拥塞控制画曲线,子网划分画地址块,路由算法画拓扑图。计网是一门高度依赖图示的学科,很多绕来绕去的逻辑,画出来就一目了然了。纸上画图这个动作看起来原始,但它调动的手眼脑协同,是看屏幕和看书替代不了的。