期末临近,计算机网络前三章永远是复习时最纠结的部分。第一章全是概念,第二章全是名词,第三章全是协议机制,翻书时觉得自己懂了,合上书做题又发现哪哪都不确定。这很常见,因为这三章是整个网络课程的“世界观”部分,考的不是死记硬背,而是能否把分层思想、性能指标、传输机制这些底层逻辑真正用起来。这篇文章我按期末复习的实际路线,把前三章的考点、计算套路、易错点全部梳理一遍,适合即将考试的同学短时间过一遍,也适合自学网络基础的人当作一次知识打包。
1. 先搞清楚前三章到底在讲什么
很多人复习效率低,是因为一上来就逐行背概念,背到第二章就崩了。其实计算机网络前三章有一条非常清晰的叙事线。
1.1 三章内容是一条完整的“通信链路”
第一章是总纲,回答“网络是什么、怎么衡量网络、体系结构长什么样”;第二章解决“如何在物理媒介上传输比特”;第三章解决“如何在相邻节点之间可靠地传输数据块”。
打个比方:你要寄快递。第一章讲快递系统的整体规则,包括怎么定义包裹、怎么衡量物流快慢、按照什么层级管理;第二章讲运输车辆和道路本身的特性,比如公路多宽、车能跑多快、用什么方式让多辆车共用一条路;第三章讲快递站之间的交接规范,比如包裹怎么打包、怎么贴标签、怎么检查包裹有没有在运输途中损坏。
这三章层层递进,从宏观到微观,从规则到实现。复习时头脑里要有这条主线,而不是把三章当成三个孤立的清单。
1.2 不同教材版本别搞混:五层、七层、四层
这是期末复习最先出现的坑。有的教材用 OSI 七层,有的用 TCP/IP 四层,有的用折中的五层原理体系。考试必须知道题目默认哪种分层,否则后面全乱。
我的处理方法是:以五层体系为主干,因为它在实际网络中最贴合,然后背熟 OSI 七层和 TCP/IP 四层的对应关系。五层从上到下是应用层、传输层、网络层、数据链路层、物理层。OSI 七层多出来的表示层和会话层,在五层里被合并进了应用层;TCP/IP 四层把数据链路层和物理层合并成网络接口层。
这里有个高频出题点,让你写出某协议属于哪一层。写题前先扫一眼题目给的是哪种分层模型,不要条件反射直接写。我栽过这个跟头,有次简答题让写“IP 协议对应的层次”,我按五层写了网络层,但试卷标准答案的模型表格里写的是“网际层”,虽然意思一样,白丢一分。
1.3 前三章的考点权重怎么分配
根据我接触过的多套期末试卷,前三章的分数占比通常在 35% 到 45% 之间。其中第三章以太网相关内容最重,概念题、计算题、简答题都可能出现;第一章次之,重点在交换方式对比、性能指标计算、分层模型;第二章主要是选择题和计算题,奈氏准则和香农公式几乎是必考。
复习顺序建议:先背第三章程,再回看第一章,最后刷第二章的题。因为数据链路层的帧格式、CRC、CSMA/CD 这些内容是整张试卷的得分主力,新鲜记忆留在考前效果最好。
2. 第一章概述:最容易拿分也最容易粗心的知识点
第一章的知识点散,但考得不深。把五类东西理清楚,基本就能拿满这部分的分数。
2.1 三种交换方式:对比记忆,别只背定义
电路交换、报文交换、分组交换这个考点,核心区别不在“性能好坏”,而在“资源占用方式”。
电路交换要先建立一条专用通路,通话期间全程占用资源,电话网就是典型。优点是时延稳定、有序到达,缺点是线路利用率低。报文交换是整个报文一起交给相邻节点,存储后再转发,不需要提前建立连接。分组交换把报文切成小块,每块加上控制信息变成独立分组,各个分组可以走不同路径到达终点,再按序号重组。
期末题最常见的是让你比较三者在“连续传送大量数据”和“突发式小数据”场景下的优劣。连续大流量适合电路交换,因为建立连接的固定开销被分摊;突发小数据适合分组交换,因为不需要长期占用资源。
记忆技巧:电路交换像包车,报文交换像寄整车快递,分组交换像拆成多个小包裹分别寄。考试时遇到“哪个更灵活”——选分组交换;“哪个时延更稳定”——选电路交换;“哪个对存储能力要求高”——报文交换和分组交换都有,因为存储转发。
2.2 性能指标:七个“率/时间”必须分清
这一小节是选择题重灾区。速率、带宽、吞吐量三个概念容易混,本质区别是“额定值”和“实际值”的关系。
速率是数字信道上的数据传输速率,单位 bit/s,注意这里的 k、M、G 是 10 的次方,千兆就是10^9 bit/s,跟存储里的 2^10 进位不是一回事。带宽原本指频率带宽(Hz),但在计算机网络里习惯用它表示“最高数据率”,单位也是 bit/s。吞吐量是单位时间内实际通过的数据量,受网络拥塞、硬件限制影响,永远小于等于带宽。
时延是计算题必考。总时延 = 发送时延 + 传播时延 + 处理时延 + 排队时延。我见过大量同学把发送时延和传播时延搞反,这里用一个场景彻底区分:发送时延是你把数据“倒进”信道口的时间,取决于数据长度和发送速率,在主机网卡处发生;传播时延是第一个比特从信道一端到另一端的时间,取决于信道长度和电磁波传播速率,在信道中发生。一句话,发送时延是“进门”时间,传播时延是“路上”时间。
时延带宽积 = 传播时延 × 带宽,表示链路上能容纳的比特数。往返时间 RTT 是发送数据到收到确认总共花的时间,很多计算题里要记得乘以 2。利用率公式 D = D0 / (1 - U),U 是利用率,注意网络利用率越高时延越大,这个公式不用死记,理解“堵车导致更慢”就行。
2.3 分层模型:OSI、TCP/IP、五层协议怎么过渡
分层的目的有四个:各层独立、灵活性好、结构可分割、易于实现和维护。考试如果问“为什么要分层”,核心答案是每层只解决一类问题,层间通过接口交互,任何一层变化不影响其他层。
OSI 七层从上往下:应用、表示、会话、传输、网络、数据链路、物理。TCP/IP 四层:应用、传输、网际、网络接口。五层:应用、传输、网络、数据链路、物理。
这里有一个重要的概念辨析:协议是水平的,服务是垂直的。协议是同一层两个实体之间通信的规则,服务是下层通过接口向上层提供的能力。数据在发送端从上往下传,每层加上自己协议需要的控制信息(封装),在接收端从下往上拆,每层去掉对应信息再交给上层。这个“封装与解封装”过程,期末喜欢让你画箭头或描述变化过程,务必手写一遍全过程。
3. 第二章物理层:概念多但计算题套路固定
物理层看起来全是名词,其实真正需要动笔算的就两个公式。把名词归类,把公式模板背熟,这章是性价比最高的部分。
3.1 数据通信基础:信道方向、编码方式、调制方式
通信方向有三种:单工是只能一个方向传,比如广播;半双工是双方都能发,但不能同时发,比如对讲机;全双工是双方同时收发,比如电话。
编码方式里,曼彻斯特编码是高频考点。它规定每个码元中间都有跳变,利用跳变方向表示 0 和 1,具体规定各教材可能相反,做题时以题目给出的对应关系为准。优点是自带时钟信号,缺点是频率比不归零制高,带宽需求大。差分曼彻斯特编码看码元边界是否跳变来区分 0 和 1,抗干扰更强。
调制方式调幅、调频、调相,对应改变载波的幅度、频率、相位。这个考点不难,只要记住三者的英文缩写 AM、FM、PM 就行。
3.2 奈氏准则与香农公式:两道必考题的解法模板
奈氏准则解决“无噪声信道里最高码元速率是多少”的问题。理想低通信道的极限码元速率是 2W Baud,W 是信道带宽,单位 Hz。如果每个码元携带更多比特(比如用 V 个电平),极限数据率 = 2W log2(V)。
香农公式解决“有噪声信道里极限数据率是多少”的问题,C = W log2(1 + S/N),单位 bit/s。注意 S/N 是信噪比,题目给的是分贝值时要先换算:信噪比(dB) = 10 log10(S/N)。比如 30dB 对应 S/N = 1000。
我总结的计算步骤是三步:第一步,把带宽统一成 Hz;第二步,把信噪比从 dB 换算成比值(如果给了的话);第三步,套公式算。一个典型例题:带宽 3kHz,信噪比 30dB,最大数据率 = 3000 × log2(1 + 1000) ≈ 3000 × 9.97 ≈ 29.9kbit/s。这类题只要不换算错 dB,基本不会丢分。
奈氏准则和香农公式经常一起考,让你判断“为什么实际速率低于两者给出的值”。答案是奈氏准则限制了码元速率上限,香农公式限制了信息传输速率上限,同时还要考虑实际编码实现、噪声、设备能力等因素。
3.3 信道复用技术:FDM、TDM、CDMA 怎么区分
复用就是让多个用户共享一条信道。频分复用 FDM 把频率分成不同频段,各用户同时占用不同频段,像广播电台;时分复用 TDM 把时间分成固定时隙,各用户轮流占用整个频带,像多个人轮流用同一个话筒;统计时分复用 STDM 是 TDM 的改进,动态分配时隙,没有数据就不分配,提高利用率。
波分复用 WDM 本质是光的频分复用。码分复用 CDM 最常考,每个站点分配一个 m 位码片序列,发 1 就发送码片,发 0 发送码片反码。多个站点信号叠加后,接收方用目标站点的码片做规格化内积,结果为 1 说明对方发了 1,结果为 -1 说明发了 0,结果为 0 说明没发或发的是其他站的信号。
CDMA 的数学过程看着吓人,但期末最多让你判断题:“两个站点的码片序列正交,所以它们可以同时发送”。记住“正交”是 CDMA 的基础,码片序列必须两两正交,规格化内积为 0。
4. 第三章数据链路层:理解以太网才是重头戏
第三章是期末的“分水岭”。前面背再多,这章不掌握,大题基本拿不到分。它的核心是三个基本问题加一个以太网协议。
4.1 三个基本问题:封装成帧、透明传输、差错检测
数据链路层把网络层交付的数据加上首部和尾部,封装成帧。首部尾部的作用是帧定界,接收方根据它们识别帧的开始和结束。MTU 是帧数据部分的最大长度,比如以太网是 1500 字节。
透明传输解决的是“数据中出现帧定界符怎么办”的问题。如果数据里恰好有和定界符一样的字节,接收方会误以为帧结束。解决办法有两种:面向字节的链路用字节填充,在数据中的特殊字节前插入转义字符 ESC;面向比特的链路用零比特填充,连续五个 1 后自动插入一个 0,接收方连续看到五个 1 后自动删掉后面那个 0。
差错检测使用循环冗余检验 CRC,这是第三章最核心的计算考点。CRC 只能检错不能纠错,而且不能保证可靠传输,因为可能发生漏检。它检错能力强、实现简单,所以被广泛采用。
4.2 CRC 循环冗余校验:手算过程一步一步拆给你看
CRC 计算在期末试卷里出现的频率极高。题目一般这样出:给定发送数据 M,生成多项式 P,求发送端实际发送的帧。
计算过程分四步。
第一步,确定生成多项式 P 的位数,设最高次幂为 r。比如 P = 1101,最高次幂是 3,所以 r = 3。
第二步,在数据 M 后面补 r 个 0,得到 M × 2^r。假设 M = 101001,P = 1101,那么补 0 后变成 101001000。
第三步,用补零后的数据做模 2 除法(异或运算),除以生成多项式 P。模 2 除法就是按位异或,不借位不进位。一直除到位数不足为止,得到的余数 R 就是校验码,余数位数是 r 位,最高位是 1。这里特别注意:余数位数不足 r 位时,前面要补 0 补满 r 位。
第四步,把余数 R 拼到原数据 M 后面,得到实际发送的帧,即 M + R。
接收方收到帧后,用同样的生成多项式做模 2 除法,余数为 0 则判定无差错,否则丢弃该帧。
我整理过同学的错题,CRC 最常错的三个位置:一是补零位数写错,补成了 r+1 个零;二是模 2 除法中间过程借位,用了普通减法;三是余数位数不够 r 位时没补零,比如算出余数是 11 但题目要求 r = 3,必须写成 011 再拼接。
4.3 CSMA/CD 协议与以太网帧:这个机制为什么这么设计
以太网采用载波监听多点接入/碰撞检测协议,核心是“先听后发、边听边发、冲突停发、随机重发”。它用于半双工总线型网络中,多个站点共享一条信道。
为什么需要碰撞检测?因为站点发送数据前先监听信道,信道空闲就发送,但由于信号传播需要时间,两个站点可能同时监听到空闲并同时发送,导致冲突。CSMA/CD 的流程是:发送前监听信道,空闲才发;发送过程中持续检测信道电压,发现异常(有碰撞)立即停止发送,然后等待一个随机时间再重发。
这段时间里的关键参数是争用期 2τ,τ 是单程端到端传播时延。以太网规定争用期 51.2μs,对应最小帧长 64 字节。在 10Mbit/s 速率下,发送 64 字节需要 51.2μs,等于争用期。这样设计的目的是确保发送站在发送完整个帧之前,一定能检测到可能发生的碰撞。
重发的退避算法是截断二进制指数退避。第 i 次重传从 0 到 2^k - 1 中随机选一个数 r,k = min(重传次数, 10),退避时间 = r × 争用期。重传 16 次仍失败就丢弃帧并向上层报告错误。
以太网 MAC 地址是 48 位,也叫硬件地址,固化在网卡里。帧格式按顺序是:前导码、目的地址 6 字节、源地址 6 字节、类型 2 字节、数据 46~1500 字节、FCS 4 字节。数据部分最短 46 字节,加上 18 字节首尾就是最短帧长 64 字节;最长 1500 + 18 = 1518 字节。
很多人会问一个问题:以太网有 CRC 校验,为什么不算可靠传输?因为 CRC 只能检错,发现错误帧直接丢弃,不重传,可靠传输要求“确认 + 重传”,所以以太网服务是“尽最大努力交付”,不可靠。这个辨析题几乎年年出现。
5. 期末高频错题与避坑提醒
刷题时把错题按类型整理,比盲目刷十套卷子更管用。这部分我把我自己反复踩过的坑和帮别人改过的错题集中整理出来。
5.1 时延计算:五个常见的坑
第一,单位不统一。速率是 Mbit/s,帧长是字节,必须先把字节换算成比特再算发送时延。网上常见错误是直接拿字节数除以 Mbit/s,结果差了 8 倍。
第二,混淆发送时延和传播时延。记住发送时延发生在发送端内部,传播时延发生在链路上,两者相加才是总时延的基础部分。
第三,忽略排队时延和处理时延。教材公式里有四个时延,题目如果只给了发送速率和传播距离,通常默认后两项忽略不计,但要在答句里写清楚“不计处理与排队时延”。
第四,RTT 相关的题忘了乘 2。问“一个帧发送后收到确认需要多久”,必须算两倍的传播时延加上发送时延。
第五,带宽和速率混淆。带宽在该章节被定义为“最高数据率”,不等于实际吞吐量,题目给链路带宽 100M 不代表实际每时每刻都跑满 100M。
5.2 CRC 计算:守好三个原则
余数位数必须等于生成多项式最高次数。不够的高位补零,多出来说明中间出错。
模 2 除法整个过程只使用异或运算。异或规则是相同为 0、相异为 1,每步对齐最高位,不采用普通减法退位逻辑。
最后的发送帧是“原数据 + 余数”,不是“补零后的数据 + 余数”。补零只是为了算出余数,真正发送时要把那 r 个零替换成余数。
5.3 概念辨析题:协议与服务、单工半双工全双工、检错与纠错
“协议与服务”辨析题几乎必考。协议是水平方向、控制同层对等实体间的通信,服务是垂直方向、下层通过接口向上层提供能力。画图时,协议画在对等层之间横向箭头,服务画在各层之间纵向箭头。
单工、半双工、全双工用例子区分最稳:无线电广播是单工,对讲机是半双工,电话是全双工。考题如果给你一种通信方式让你判断,就往这三个例子上靠。
检错和纠错是另一个高频辨析。检错是发现错误,纠错是定位并修正错误。CRC 属于检错方式,发现错误后丢弃或者请求重传;纠错需要更多冗余信息,比如海明码。所以看到“CRC 可以纠正错误”这种说法,直接判错。
6. 考前三天这样安排,比盲目刷题效率高
复习前三章不需要一个月,三天足够。关键是每天的任务要聚焦。
6.1 三天复习任务拆解
第 1 天,攻克第一章和第二章的概念题。早上背三种交换方式和分层结构,下午练性能指标计算和奈氏/香农公式,晚上挑十道选择题检测。目标是概念不混、公式会用。
第 2 天,主攻第三章。先手算十道 CRC 练习题,然后背以太网帧结构和 CSMA/CD 流程,最后默写一遍三种透明传输的实现方法。这天是投入产出比最高的一天,务必把第三章节的每个细节过一遍。
第 3 天,做整套往年题或模拟题。重点不是做多,而是计时做,做完后分析每道错题对应哪个知识点。前三章错题超过五道,就回到对应小节重新看一遍。
我把前三章必背清单列在这里:三种交换方式对比、五个性能指标及公式、OSI 与 TCP/IP 分层、奈氏准则与香农公式、三种信道复用方式的区别、曼彻斯特编码规则、帧定界与透明传输、CRC 计算步骤、以太网帧格式、CSMA/CD 流程与退避算法、MAC 地址位数与表示法。
6.2 自测清单:30 个问题过一遍
复习最后阶段,我习惯用问答方式自测,比单纯看书更能暴露盲点。你可以在纸上写出答案,再对照课本验证。
- 计算机网络发展的四个阶段分别是什么。
- 互联网的两部分怎么划分,各自的作用是什么。
- 三种交换方式各自优缺点。
- 计算机网络的性能指标有哪些。
- 时延由哪几部分组成,发送时延和传播时延各由什么决定。
- 时延带宽积的物理意义。
- 分层的好处有哪四条。
- OSI 七层、TCP/IP 四层、五层体系分别包含哪些层。
- 协议三要素是什么。
- 协议和服务有什么区别。
- 物理层要解决什么问题,四种接口特性有哪些。
- 数据通信系统模型分成哪三部分。
- 单工、半双工、全双工的区别和例子。
- 曼彻斯特编码与差分曼彻斯特编码区别。
- 奈氏准则的内容和公式。
- 香农公式内容和公式,信噪比 dB 与倍数的换算。
- 双绞线、同轴电缆、光纤各自特点。
- FDM、TDM、STDM、WDM、CDM 各自原理。
- CDMA 码片正交的含义。
- 数据链路层三个基本问题是什么。
- 帧定界的意义,MTU 是什么。
- 字节填充和零比特填充的具体做法。
- CRC 检错原理和计算步骤。
- 为什么 CRC 不能保证可靠传输。
- 以太网 MAC 地址的长度和表示形式。
- 以太网帧结构每一段的长度和作用。
- 为什么最短帧长是 64 字节。
- CSMA/CD 协议完整流程。
- 二进制指数退避算法怎么计算退避时间。
- 集线器、网桥、交换机分别在哪一层工作。
每道题如果能在 30 秒内说出关键词,这部分就算过关了。说不出来的题做好标记,最后半天集中看标记过的内容。
整个复习过程中,我最想提醒的一点是:不要把时间花在抄书上。有人喜欢把教材大段摘抄到笔记本,看起来很努力,但抄完还是不会做题。前三章的概念必须通过“输出”来检验,做题、默写、讲给别人听都比抄写有效。计算题更是如此,CRC 和香农公式看十遍不如手算一遍,算错几次后自然就记住了易错点。
计算机网络前三章并不难,难的是它们包含的信息密度太高,容易让人产生“什么都看过、什么都没记住”的错觉。按照这篇文章的思路,先把主线捋清楚,再集中攻计算题,最后用自测清单查漏补缺,期末这部分拿高分是完全做得到的。准备开始的话,先从第一章的三种交换方式入手,用我今天讲的“包车、整车快递、拆包小包裹”这个比喻默写一遍它们的区别——这一小步走完,你就有复习状态了。