软考网工备考的朋友们,第二章数据通信基础,很多人看“上”的时候还觉得挺顺,一到“下”就开始犯晕。原因很简单:上半部分讲的是概念、术语、模型,属于“背一背就能拿分”的内容;下半部分全是计算、编码、调制、复用、交换、差错控制,每一块都带公式,每一块都出题,每一块还都容易混。这一章在上午题里稳定能占到五到八分,而且很多是二分的计算题,性价比极高。这篇文章把第二章“下”真正需要掌握的核心内容全部拆开讲透,从公式怎么用到题怎么算,从常考概念到坑点盘点,全给你捋一遍,适合正在系统复习软考网工、尤其是难点卡壳卡了很久的考生。先把下半部分的骨架搭出来,再一块一块填肉。
1. 先搞清楚第二章到底考什么
1.1 “数据通信基础”在整张试卷里的分量
软考网工的上午题一共75道选择题,数据通信基础这一章每年出题量大概在五到八道之间,分值占比看似不高,但它是后续章节的基石。第三章局域网、第四章广域网、第五章网络互联,全都建立在第二章的编码、复用、交换、差错控制这些概念之上。第二章不扎实,后面学起来就是空中楼阁。我自己备考时就有这种感觉:刚开始跳着学,先看IP地址和路由协议,看到后来发现各种“帧”“时隙”“检错码”反复出现,才老老实实回头把这一章啃完。所以别嫌它枯燥,这一章是真正的“地基”。
从题型分布来看,这一章的题目非常固定:信道容量计算题一道或两道,编码与调制概念题一道,复用技术计算题一道,数据交换方式对比题一道,差错控制计算题一道。基本上是五个固定板块轮着出,只要每个板块都复习到位,这五分到八分是稳拿的。上午题45分就能过线,这几分就是命根子。
1.2 “上”和“下”到底怎么切分
教材把数据通信基础分成上下两部分,通常“上”讲的是数据通信的基本概念、系统模型、传输介质、信道特性这些偏理论的铺垫内容,“下”则是从信道容量开始,到编码调制、多路复用、数据交换、差错控制,全是实打实的技术方案和计算方法。也就是说,“上”是告诉你“数据通信是怎么回事”,“下”是告诉你“数据到底怎么传、怎么才能传对”。
备考时要注意,“下”的内容彼此之间是有一条隐线串起来的:信道容量解决“一条信道最多能传多快”,编码调制解决“怎么把0和1变成适合信道传输的信号”,多路复用解决“一条物理链路怎么让多路信号共用”,数据交换解决“数据从源到目的地走哪条路”,差错控制解决“传错了怎么发现、怎么纠正”。你把这五个问题串起来,第二章下半部分就不再是零散的知识点,而是一套完整的“数据传输解决方案”。我复习的时候就是先把这条线理清楚,后面每学一块,就往这条线上挂,记忆负担小了很多。
1.3 近年命题风向:计算为主,概念为辅
从近五年的真题来看,第二章下半部分的命题风格非常稳定:信道容量必考一道计算,复用技术隔年考一道计算,差错控制的CRC和海明码轮流考,编码调制则更多考“特征识别”——给你一个描述让你选是哪种编码,或者给你编码让你判断它的特点。这种出题风格决定了复习策略:计算题要练到看到数据就能列式,概念题要抓住每个技术“最突出的那个特征”,而不是背一大段定义。
很多考生在这一章丢分,不是因为不懂原理,而是因为“看得懂书,做不对题”。比如奈奎斯特和香农公式,书上都有,但题目不会直白地告诉你“请用香农公式”,而是给你一个带噪声的信道,问你最大数据速率是多少。你首先得判断该用哪个公式,然后还要注意单位换算——信噪比给的是dB还是倍数,带宽给的是Hz还是kHz,这些细节直接决定算出来的数对不对。这一章的题不难,但“坑”多,后面我会把这些坑一个一个指出来。
2. 信道容量两大公式:奈奎斯特与香农
2.1 奈奎斯特定理:无噪声信道的极限速率
奈奎斯特定理说的是:在一个带宽为W(单位Hz)的无噪声信道上,最高码元速率是2W码元/秒。这里要说清楚一个概念——码元。码元是数字信号的基本波形单位,一个码元可以携带多个比特,具体携带几个比特取决于码元的状态数(也就是信号的电平种类数)。如果码元状态数用V表示,那么一个码元能携带的比特数就是log₂V。所以奈奎斯特公式的完整形式是:
最高数据速率 = 2W × log₂V
举个例子。一条信道带宽是4000Hz,用4种不同电平表示不同码元,也就是V=4。那最高数据速率 = 2 × 4000 × log₂4 = 2 × 4000 × 2 = 16000 bps,也就是16kbps。如果V=8,那就是2 × 4000 × 3 = 24000 bps。注意,奈奎斯特定理的前提是“无噪声”,这是个理想条件。题目里只要出现了“无噪声”或者“理想信道”字样,优先考虑奈奎斯特定理。
这里有个容易算错的地方:V是码元状态数,不是比特数。有些题目会直接说“用4种码元”,你要反应过来V=4;有些题目绕个弯,说“采用4相位调制”,其实也是V=4;还有的说“采用16QAM”,V就是16。做题时要先把题目里的“状态数”找出来,再代入公式,别一上来就把状态数当成比特数往公式里塞。
2.2 香农公式:有噪声信道的上线
现实中的信道不可能没有噪声,所以香农公式才是更接近实际的极限公式。香农公式的完整形式是:
信道容量 C = W × log₂(1 + S/N)
其中W是带宽(Hz),S/N是信噪比,注意这里S/N是“倍数”,不是dB。如果题目给的是dB值,要先换算:dB = 10 × log₁₀(S/N)。比如信噪比30dB,那S/N就是1000倍,因为10 × log₁₀1000 = 10 × 3 = 30。
套进香农公式:C = 4000 × log₂(1 + 1000) ≈ 4000 × 9.97 ≈ 39868 bps,约等于39.8kbps。考试时如果遇到log₂1000这种不好算的数,题目通常会给出近似值,或者四个选项之间差距很大,取log₂1024≈10来估算也足够选出正确答案。
香农公式告诉你一个很核心的思想:带宽越宽、信噪比越高,信道容量越大。但这两者不是完全对等的,带宽增加对容量的提升是线性关系,而信噪比增加对容量的提升是对数关系。换句话说,在信噪比已经很差的情况下,拼命加带宽效果有限;反过来,在带宽有限的情况下,提高信噪比才是性价比更高的做法。这个思想在后面的调制技术里还会体现——为什么QAM能在一段时间内成为主流?本质上就是在有限带宽里通过提高信号状态数来逼近香农极限。
2.3 两个公式怎么选:考场上的判断标准
这是这一章最容易丢分的地方,我把判断标准总结成顺口溜:无噪声用奈氏,有噪声用香农;给了码元数用奈氏,给了信噪比用香农;两个条件都给,先分别算,取较小值。
为什么两个条件都给时要取较小值?因为奈氏算出的是无噪声理想条件下的极限,香农算出的是有噪声条件下受信噪比限制的极限,信道容量不可能超过任何一个上限,所以取二者中较小的那个才是实际能做到的最高速率。这是历年真题反复考的“隐藏考点”,教材上写得不突出,但题目就是这么出的。
还有一种常见变体:题目给了带宽、给了码元状态数,又给了信噪比dB值,问“实际最大数据速率是多少”。这时候你要先判断:奈氏算出来的是无噪声上限(比如64kbps),香农算出来的是有噪声上限(比如50kbps),两者取小,答案就是50kbps。如果你只算了一个,就掉进选项陷阱里了。遇到这种题,我建议在草稿纸上分两行写清楚“奈氏=”、“香农=”,再下结论,别心算,考场上紧张容易乱。
3. 编码与调制:从比特到信号的翻译器
3.1 数字信号编码:曼彻斯特、差分曼彻斯特、4B/5B
数字信号编码最常考的是曼彻斯特编码和差分曼彻斯特编码。先说曼彻斯特编码:每个比特的中间肯定有一次跳变,这个跳变既用来表示数据,又用来提供同步时钟。通常约定“从高到低的跳变表示1,从低到高的跳变表示0”(也有教材反过来定义,但考试以题目说明为准)。它最大的优点是自带时钟信号,接收方不需要额外同步,缺点也很明显——编码效率只有50%,因为每个比特都要占两个时间片。
差分曼彻斯特编码比普通曼彻斯特编码多了一层规则:每个比特中间的跳变只用来提供时钟,不表示数据;数据是靠“比特开始的边界处有没有跳变”来区分的——有跳变表示0,无跳变表示1(不同教材约定可能不同)。这个区别是考试最爱考的点:题目画一个码元波形图,让你判断是曼彻斯特还是差分曼彻斯特,然后问你对应的数据位序列。
记住一个考场快速判断法:先看码元中间是否有跳变——如果没有,那就不是曼彻斯特编码;再看比特边界处是否有跳变——如果边界处有的跳变有的不跳,那就是差分曼彻斯特;如果边界处整齐划一没有额外跳变,那就是普通曼彻斯特。以太网用的是曼彻斯特编码,这是常识,也要记牢。
4B/5B编码是另一个高频考点,它的原理是把每4位数据映射成5位码组,多出来的1位用来保证传输中不会出现太长的连续0或连续1。编码效率是4/5=80%,比曼彻斯特的50%高不少,所以100Base-FX、FDDI这些百兆光纤网络用的是4B/5B编码,而不是曼彻斯特编码。还有一个8B/10B编码,效率也是80%,常用于千兆以太网和光纤通道。考场上看到“效率80%”这个关键词,优先想4B/5B或8B/10B;看到“效率50%”,优先想曼彻斯特。
3.2 模拟信号调制:ASK、FSK、PSK、QAM
数字数据要在模拟信道上传输,就得调制。ASK(幅移键控)用载波幅度变化表示0和1,FSK(频移键控)用载波频率变化表示0和1,PSK(相移键控)用载波相位变化表示0和1。这三者的对比是选择题常客,最常考的是PSK——因为它抗干扰能力最强。QAM(正交振幅调制)则是同时改变载波的幅度和相位,从而在一个码元里携带更多比特。比如16QAM有16种状态,一个码元能携带4个比特;64QAM有64种状态,一个码元携带6个比特。
这里有个考点要和奈奎斯特定理联动:QAM的“V值”直接代入奈奎斯特公式的最高数据速率里。比如带宽2000Hz,用16QAM调制,V=16,那最高数据速率 = 2 × 2000 × log₂16 = 2 × 2000 × 4 = 16000 bps。考试经常把调制和信道容量合并成一道题:先让你识别用了什么调制,再让你算信道容量。
关于调制还有一个高频判断题:“数字信号调制为模拟信号的目的是为了在模拟信道上传输。”这个说法是对的。反过来,“模拟信号调制为数字信号”的说法是错的,那是编码或者PCM的事。很多考生把“调制”和“编码”混为一谈,考试时就容易翻车。简单区分:调制是把数字数据变成模拟信号;编码是把数字数据变成数字信号;PCM是把模拟数据变成数字信号。三者处理的对象和结果完全不同。
3.3 PCM脉冲编码调制:模拟数据怎么数字化
PCM(脉冲编码调制)是第二章里最“日常”的技术——电话语音用的就是PCM。它分三步:采样、量化、编码。采样要满足奈奎斯特采样定理:采样频率必须大于等于信号最高频率的2倍,才能无失真地恢复原信号。电话语音信号的最高频率通常在4000Hz,所以采样频率取8000次/秒,即8kHz。
量化是把采样得到的模拟幅度值映射到有限个量化电平上。量化的等级越多,声音还原越精细,但需要的编码位数也越多。电话PCM用8位量化,也就是256个量化等级。编码就是把每个量化电平转成8位二进制数。这样一路电话的数据速率是:8000次/秒 × 8位 = 64000 bps,也就是64kbps。这个“64k”是数字通信里的一个基础数字,后面学到E1载波时还会用到——E1的一个时隙就是64kbps,源头就在这里。
PCM的考试题通常有两种出法:一是直接问“语音信号PCM编码后速率是多少”,答案是64kbps;二是给你一个模拟信号的最高频率,让你算采样频率,用“最高频率×2”就行。注意题干里如果给了量化级数(比如256级),那编码位数 = log₂256 = 8位,别把量化级数和编码位数搞混。
3.4 编码效率与带宽的换算陷阱
这一节真正难的是“给定数据速率,求实际需要的带宽”——因为编码效率的存在,实际传输带宽总是比数据速率要大。比如要用曼彻斯特编码传100Mbps的数据,因为效率只有50%,所以码元速率是200M Baud(波特),需要的带宽就是200MHz(假设每Hz传1波特)。而如果用4B/5B编码,效率80%,码元速率 = 100M / 0.8 = 125M Baud,带宽需要125MHz。
考场上遇到这类题,三步走:第一步算码元速率 = 数据速率 ÷ 编码效率;第二步判断用的是什么编码,确认每码元携带几个比特;第三步代入带宽公式。很多考生漏了第一步,直接用数据速率当带宽,白丢两分。还有一个相关的概念陷阱:波特(Baud)和比特每秒(bps)不是一回事。波特是码元速率,bps是数据速率,两者之间差一个“每码元携带的比特数”。只有当一个码元只携带1个比特时,波特数才等于bps数。QAM这类多状态调制里,波特数远小于bps数,这也是“用更小的带宽传更多数据”的核心原理。
4. 多路复用:一条物理链路怎么给多路信号用
4.1 FDM、TDM、WDM:频率、时间、波长的三维分割
多路复用解决的是一个很实际的问题:一条物理链路的传输能力远远超过单路信号的需求,怎么让多路信号共享这条链路而不互相干扰?答案就是“分割”——要么按频率分,要么按时间分,要么按波长分。
FDM(频分复用)把信道的总频带划分成若干互不重叠的子频带,每路信号占用一个子频带。它的典型应用是广播电视:一个有线电视电缆里同时传很多个频道,每个频道占一个频段。FDM的特点是所有信道同时传输(并行),但每个信道的带宽被限制在子频带内。TDM(时分复用)则是把时间划分成一个个时隙,多路信号轮流使用信道,每一路在分配给它的时隙里独占整个信道带宽。TDM的特点是各路信号分时占用信道,但每一路都可以用信道的全部带宽。WDM(波分复用)本质上是FDM在光纤上的应用——不同波长的光信号互不干扰地在同一根光纤里传输,所以WDM和FDM的原理相同,只是介质和分割维度不同。
考试常考FDM和TDM的核心区别:“FDM是同时不同频,TDM是同频不同时”。这个对比题几乎是年年都有,记住这十个字就够了。
4.2 同步TDM与统计TDM:一个死板,一个灵活
TDM里有个重要分支——同步TDM和统计TDM。同步TDM预先分配好时隙,不管某路信号有没有数据要发,时隙都固定给它,如果它没数据,这个时隙就浪费了。优点是实现简单、延迟固定,适合语音这种恒定速率的业务。E1/T1载波用的就是同步TDM。
统计TDM(也叫异步TDM、按需TDM)不一样,它只在某路信号“有数据”时才分配时隙,没有数据就不分配,把空闲时隙让给其他有数据的信道。这样信道利用率大幅提高,适合突发性强的数据业务。但代价是每路数据都要带上地址信息,接收端才知道这个时隙是发给谁的,而且延迟不确定——你没法保证下一个时隙一定轮到你。考点是两个TDM的对比:同步TDM“时隙固定、效率可能低、延迟稳定”,统计TDM“按需分配、效率高、延迟不确定、需要额外地址开销”。
4.3 E1/T1载波和CDMA计算题:背下参数直接拿分
E1和T1是TDM的经典实例,必须背下它们的参数。E1(欧洲标准)速率2.048Mbps,共32个时隙,每个时隙64kbps,其中30个用于用户话音,2个用于同步和控制。T1(北美标准)速率1.544Mbps,共24个时隙,每个时隙64kbps,也要加1位帧同步位。考题经常给一个“E1有多少个时隙、每个时隙多少速率、总速率多少”的选项组合,背熟直接选。
CDMA(码分多址)是复用技术里计算题最多的一个。它的原理是每个站点分配一个唯一的m位码片序列,发送1时发送自己的码片,发送0时发送码片的反码。多个站点同时发送时,信号在信道里线性叠加。接收端想解调某站点的数据,就把收到的叠加序列和该站点的码片做内积:假设码片用+1表示1、-1表示0,内积结果大于0则判定该站发的是1,小于0则判定发的是0,等于0说明该站没发数据。
举个例子,两个站点的码片分别是A=(1,1)和B=(1,-1),A发1、B发0,那B发的是B的反码(-1,1),信道叠加信号 = (1,1) + (-1,1) = (0,2)。接收端想解A的数据,内积 = 0×1 + 2×1 = 2,结果大于0,判定A发了1,正确。做CDMA计算题时,关键是先把每个站点发送的码片向量写出来(发0要取反),然后逐位相加,最后和目标站点的码片做内积。大部分真题都会给m=4或m=8的码片,计算量不大,但一定要细心,每个站的顺序别弄反。
5. 数据交换方式:电路、报文、分组怎么选
5.1 三种交换方式的核心逻辑
数据从源节点到目的节点,不可能每两个节点都专门拉一条物理线路,所以需要“交换”——在中间节点进行转发和路由。三种传统交换方式是电路交换、报文交换、分组交换,它们的核心差异在于“什么时候建立路径”“中间节点要不要缓存”“数据按什么粒度转发”。
电路交换在通信开始之前先建立一条专用的物理通路,通信期间独占这条通路,通信结束后释放。典型应用就是传统电话网络——拨号、接通、通话、挂断,整个过程信道是专用的。优点是延迟确定、数据有序到达、实时性好;缺点是信道利用率低——即使不说话,信道也占用着。
报文交换不需要预先建立通路,发送方把整个报文发给邻近节点,节点先完整接收存储下来,再根据目的地址选择下一跳转发出去,这就是“存储-转发”。报文交换的信道利用率比电路交换高,但问题是报文可能很大,中间节点要缓存完整的报文,延迟长,而且大报文会长时间占用节点间的链路,不适合实时通信。
分组交换是报文交换的改进版:把大的报文拆成一个个小的分组,每个分组独立转发。这样中间节点只需要缓存一个小分组,延迟比报文交换短很多。分组交换是当今计算机网络的主流,IP网络就是典型的分组交换网。
5.2 虚电路与数据报:两种思路的碰撞
分组交换内部又分两种方式:虚电路和数据报。虚电路方式在传输数据前先建立一条逻辑连接(虚电路),所有分组沿着这条虚电路顺序传输,到达目的节点时顺序和发送时一样,不需要重新排序。它虽然叫“虚”电路,但和电路交换不同——它不独占物理链路,多个虚电路可以共享一条物理链路。典型应用是帧中继、ATM。
数据报方式不需要预先建立连接,每个分组独立选择路由,可能走不同的路径到达目的地,因此到达顺序可能错乱,目的端需要重新排序。IP网络就是数据报方式。它更灵活、更能抗故障,但也意味着每个分组都要携带完整的目的地址,且路由决策发生在每个节点、每个分组上。
考试常考虚电路和数据报的表格对比:虚电路需要建立连接、分组按序到达、路径固定;数据报无需建立连接、分组可能乱序、路径动态变化。还有一种问法是“电路交换和虚电路有什么区别”——电路交换是物理层面建立专用通路,虚电路是逻辑层面建立的共享通路,前者独占信道,后者逻辑共享。这个区别很容易混淆,必须分清。
5.3 分组交换的时延计算题
分组交换的时延计算题是第二章下半部分最容易考的计算题之一。先记住总时延的构成:发送时延 + 传播时延 + 处理时延 + 排队时延。考试一般只考前两项,处理时延和排队时延会明确说“忽略不计”。
发送时延 = 数据量 ÷ 发送速率,传播时延 = 链路长度 ÷ 信号传播速度(光缆中通常取2×10⁸m/s)。
分组交换场景下的经典计算题是这样的:一份总长为L比特的报文要经过N段链路(中间有N-1个节点),每段链路的传输速率都是Rbps,忽略传播时延和处理时延。如果把报文拆成K个分组,每个分组P比特(L = K×P),求从源到目的的总发送时延。关键在于第一组到达目的时中间节点已经开始转发后续分组——这就像一个流水线。总时延公式是:(K + N - 1) × P / R。解释一下:K×P/R是最后一个分组在源节点发完的时间,再加上(N-1)×P/R是因为最后一个分组还要经过剩下的N-1段链路。
举个例子:报文9000比特,分成9个分组,每段链路传输速率1000bps,经过3段链路(两个中间节点)。总时延 = (9 + 3 - 1) × 1000 / 1000 = 11秒。如果不拆分组,直接整报文的发送时延 = 9000/1000 = 9秒,但每个中间节点都要等完整报文到达才能转发,总时延 = 3 × 9 = 27秒。这就是分组交换的直观优势——流水线式转发大大降低总时延。
实战中经常有考生把“分组数量”和“链路数量”的位置搞反。记住:源节点到目的节点之间有几段链路,最后一个分组就要额外经过几段;中间节点数量 = 链路段数 - 1。这个“+N-1”是这种题唯一的难点,其他都是送分计算。
6. 差错控制:数据传错了怎么发现和纠错
6.1 奇偶校验:最基础也最局限
奇偶校验的规则很简单:发送方在数据位后面附加一个校验位,让整个码字中1的个数是奇数(奇校验)或偶数(偶校验)。接收方收到后统计1的个数,如果不满足约定,就认为传输出现了错误。
奇偶校验只能检测奇数个位的错误,无法检测偶数个位的错误——因为偶数个位翻转后1的个数奇偶性不变。比如偶校验的数据1101,补校验位变成11011(1的个数为4,偶数),如果传输中翻转了两位变成11111,1的个数为5,奇偶性变了,接收方发现错误;但如果翻转两位变成10101,1的个数变成了3,奇偶性正确(奇数),接收方就检测不出来了。更关键的是,奇偶校验只能“发现错误”,无法“定位错误”,所以不能纠错。它常用于低速、误码率低的场合,或者作为更高层检错的前置手段。考试出题一般就是问“奇偶校验能检测什么、不能检测什么”,答案非常死:能检奇数个错,不能检偶数个错,不能纠错。
6.2 CRC循环冗余校验:必考计算题,三步拿下
CRC是差错控制里的重头戏,历年必考一道小题。它的核心思想是:把要发送的数据位串看作一个多项式,发送方用这个多项式除以一个双方约定的生成多项式(也写成二进制位串),把得到的余数(即FCS帧校验序列)附加在数据后面发送。接收方收到整个码字后用同样的生成多项式做除法,余数为0则无错,余数不为0则有错。
考试不考概念,考计算。你只需要掌握二进制模2除法——它和普通除法的区别在于每一步减法改成异或运算,没有借位。用例子说明:数据位1101,生成多项式G(x)=x³+x+1,对应二进制1011(多项式的系数:x³有、x²没有、x有、常数项有,所以是1 0 1 1)。第一步在数据后面补生成多项式最高次幂个0——G(x)的最高次是3,所以补3个0,得到1101000。第二步做模2除法:1101000 ÷ 1011。1101与1011异或得0110,拉下一位0变成01100,最高位0不动继续拉下一位,变成011000,与1011异或(最高位对齐)得01111,再拉下一位0得011110,与1011异或得01111……运算到最后余数是001(取三位,因为除数是4位)。所以发送的码字是1101 + 001 = 1101001。
计算时要特别小心异或的规则:1⊕1=0,0⊕0=0,1⊕0=1,0⊕1=1。每步异或前要先看当前被除数的最高位是不是1,是1才能“上商1”并异或;如果最高位是0就直接“上商0”,被除数不变往下拉位。这个“最高位为0就跳过”的步骤最容易错,建议考场上先用铅笔把除数长度标出来,一位一位慢慢算,CRC题的分值通常是两分,不值得为它抢速度而算错。实际网络中CRC-32(生成多项式32位)用于以太网帧校验,考试则以3位或4位的简化版为主。
6.3 海明码:能纠错的编码,校验位数量怎么算
海明码是比CRC更高级的差错控制方式——它不仅知道数据出错了,还能知道错在哪一位,从而直接纠正过来。它的基本原理是:在数据位之间穿插若干校验位,使得码字的每一位都处于至少两个校验位的“监督”之下,当某一位出错时,对应的多个校验位会同时报警,根据报警的位置组合就能反推出错误位的位置。
考试考海明码,十有八九是考“校验位数量”:对于m位数据,需要r位校验位,必须满足2^r ≥ m + r + 1。比如4位数据,r≥3,因为2³=8 ≥ 4+3+1=8;6位数据,r≥4,因为2⁴=16 ≥ 6+4+1=11;8位数据,r≥4,因为2⁴=16 ≥ 8+4+1=13。这个公式背下来,选择题基本就解决了。
有些年份的题会考得更深:给你一个海明码字,问你哪一位出错。这时要知道校验位放在2的幂次位置上,即第1、2、4、8位是校验位,其余是数据位。校验时,分别用第1位、第2位、第4位……的位置组合去校验——具体规则是:第i位参与“编号二进制表示中第i位为1”的校验组。出错时各校验组结果组合成一个二进制数,这个数就是出错位置。举个例子,如果第2组和第4组校验失败,组合成二进制110(从高到低),换算成十进制是6,那出错的位置就是第6位。
海明码能纠一位错,检两位错(需要增加一个总校验位)。考试常对比“CRC是检错码、海明码是纠错码”这个区别。一句话总结:CRC检错便宜量大管够,海明码纠错能力强但开销大,实际系统中CRC用得更多,海明码多用于内存校验(ECC内存就是海明码的典型应用)。
7. 备考常踩的坑与复习建议
7.1 五个高频易错点
第一个坑:奈奎斯特公式里V的取值。V是码元状态数,不是比特数。题目说“4种码元”和“每个码元携带2比特”是一回事,但后者容易让你误以为直接乘2,其实还是要用log₂V去算。第二个坑:信噪比单位。看到dB一定要先换算成倍数再代入香农公式,30dB=1000倍,别直接把30塞进去。第三个坑:曼彻斯特编码的数据表示规则不是固定的。不同教材、不同题目对“高到低表示1还是0”的约定可能相反,做题时以题目波形图给的标准为准。第四个坑:分组交换时延的“+N-1”算错。老是有人把N(链路数)和中间节点数搞混,记住“最后那个分组要经过所有N段链路,第一个分组先走不用等,总共需要N+K-1个发送时延”。第五个坑:CRC模2除法里,每步异或后别忘了把最高位的0“消掉”再继续拉位,很多考生栽在原位照搬数字上。
7.2 冲刺阶段的刷题方法
第二章下半部分的刷题策略,我建议按“公式卡片+真题循环”来做。把奈奎斯特、香农、PCM速率、E1/T1参数、海明码校验位公式、分组交换时延公式分别写在卡片上,每张卡片配一道典型真题,考前一周每天过一遍,做到“看到题干关键词就反应出公式”。计算题一定要亲手在草稿纸上算,不能只看解析——CRC和海明码这种题,看十遍不如算一遍。我当年复习时把近五年的真题计算题每道都算了两遍以上,考场上看到同类型题基本就是肌肉记忆直接写。
如果时间紧张,优先保计算题,再保概念对比题。计算题一共至少能出三道(信道容量、复用或交换、差错控制),每题两分就是六分;概念对比题(FDM vs TDM、电路交换vs分组交换、虚电路vs数据报)通常也是两道四分。这两块加起来就够上午题过线了。编码波形图这类记忆性内容如果实在记不住,可以只记“曼彻斯特看中间、差分曼彻斯特看边界、以太网用曼彻斯特”这个判断口诀,应付选择题完全够用。
7.3 一个值得花时间做的自测清单
复习完这一章后,拿下面这些问题自测一下,能全部答上来就说明这一章真的过关了:无噪声和带噪声信道各自用哪个公式?曼彻斯特和差分曼彻斯特的判决方法分别是什么?PCM为什么采样频率要选8000Hz?E1载波为什么是2.048Mbps?统计TDM相比同步TDM多了什么开销?分组交换为什么比报文交换延迟低?CRC的除数从哪里来?8位数据需要几个海明校验位?如果你能做到“不需要翻书、直接脱口而出”,那第二章下半部分对你来说已经不是问题,可以放心进入第三章了。
我在实际备考过程中最深的体会是:第二章的数据通信基础是整个上午题里“投入产出比”最高的一章。它不像路由协议那样需要理解大量抽象概念,也不像网络安全那样需要记一堆端口和算法名称,它就是一个公式加一个场景的对应关系。你只要把公式练熟、把场景判断标准记牢,这五到八分就是稳定的。别贪多求快,先把这一章吃透,后面学传输层、应用层时会轻松很多。最后再分享一个小技巧:做这一章的题时,养成把题干里的“关键触发词”圈出来的习惯——看到“无噪声”就圈起来并写“奈氏”,看到“信噪比dB”就圈起来并写“香农”,看到“E1”就写“32时隙2.048M”。这个习惯能帮你避免绝大多数粗心错误,考场上特别管用。