简介:这是一份面向中国电信计算机岗位笔试的备考资料,内容聚焦计算机网络核心考点,覆盖网络分类、电路交换与分组交换对比、分组最优长度计算、因特网边缘与核心部分、客户服务器与对等通信、性能指标、时延计算、数据通信方式、信道容量与信噪比、传输介质等十大模块,并对典型习题提供参考答案与推导过程,适合正在准备运营商笔试或复习网络基础的学生与求职者使用。资源为单个Word文档,约5.15MB,目录清晰,便于按章节查阅。当前已有4501人学习浏览,说明其针对性和实用性得到认可。通过系统学习,读者可快速掌握网络原理中高频考点与典型计算题的解法,提升笔试通过率。
1. 运营商计算机岗笔试为何总卡在计算机网络:这份题库能顶半轮复习
运营商技术岗的笔试,和互联网大厂完全是两条路:大厂考算法题和系统设计,运营商笔试反而埋伏着一堆计算机网络基础题,电路交换与分组交换的时延比较、香农公式求信噪比、CRC 余数、CSMA/CD 最短帧长、IP 子网划分、路由表更新,一个比一个硬。这份资料把通信行业计算机岗笔试里反复出现的计算机网络习题按章节整理成“题目 + 参考答案”的形式,覆盖物理层、数据链路层、网络层和应用层,基本上就是一套现成的考点模板。适合两类人:一类是投运营商计算机或网络岗的应届生,考前拿它突击计算题;另一类是社招转岗、被基础概念卡住的老开发,直接翻到对应章节对比自己的答案就行。提前说清楚,这不是编程题库,是网络基础小题库,但恰恰是这些题目,最容易在笔试里拉开分差。
2. 时延与信道:电路交换、分组交换和香农公式的链路账
这章是整份题库里计算密度最高的地方。时延题和信道容量题题干都短,但一算就错。做这类题最忌讳直接套公式——先画链路图,把 k 段链路和中间的 k-1 个转发节点标出来,再决定哪些时延项要写进公式,比硬背公式可靠得多。
2.1 电路交换与分组交换:k 段链路的时延公式拆解
题干条件是:要传的报文共 x bit,从源点到终点经过 k 段链路,每段链路传播时延为 d,数据率为 b;电路交换的电路建立时间为 s;分组交换每个分组长度为 p bit,各节点排队等待时间忽略不计,问什么条件下分组交换时延比电路交换小。
先把两种交换的时延表达式列清楚:
电路交换时延 = s + kd + x/b,即建立连接的时间加整条链路的传播时延,加上把所有比特送上链路的时间。分组交换时延 = kd + (x/p)·(p/b) + (k-1)·(p/b),化简为 kd + x/b + (k-1)·(p/b)。
这里最容易看不懂的是 (k-1)·(p/b):第一个节点把 x/p 个分组全部发出去需要 x/b,这是“流水线”的第一段;但从第二个节点开始,每条后续链路都要等最后一个分组被完整接收再转发,每个转发节点多出 p/b 的存储转发延迟,k 段链路之间一共有 k-1 个这样的节点。
所以两种交换的差距,本质是“电路建立时间 s”和“(k-1)·(p/b) 存储转发总延迟”的对比。当 s 大于 (k-1)·(p/b) 时,分组交换更快,反之电路交换更快。
| 交换方式 | 时延构成 | 典型适用场景 |
|---|---|---|
| 电路交换 | 建立时延 + 传播时延 + 发送时延 | 持续大流量、对时延抖动敏感的业务 |
| 分组交换 | 传播时延 + 发送时延 + 存储转发时延 | 突发小报文、交互式业务 |
笔试里经常配套一个数值题,比如 x=10000 bit,k=5,d=0.001 s,b=1 Mb/s,s=0.01 s,p=1000 bit,那么电路交换时延是 0.01+0.005+0.01=0.025 s,分组交换时延是 0.005+0.01+4×0.001=0.019 s,分组交换胜出。做题时把两套表达式都写完整再代入,别只比较 x/b 和 s 两项,否则结论正好相反。
2.2 最优分组长度 p:对总时延求导的完整过程
上一题的进阶版本:报文长度 x,每个分组的数据部分长度 p,每个分组携带固定长度的控制信息 h,链路数据率 b,传播时延和排队时延忽略,问 p 取多大时总时延最小。
总时延表达式为:
D = kd + (x/p)·((p+h)/b) + (k-1)·((p+h)/b)
把括号展开后,D = kd + x/b + xh/(bp) + (k-1)(p+h)/b。这里 x/b 是数据本身的发送时延,与 p 无关;xh/(bp) 是分组头带来的额外开销;最后的 (k-1)(p+h)/b 是中间节点的存储转发延迟。
对 p 求导并令导数为零:dD/dp = -xh/(bp²) + (k-1)/b = 0,解得:
p = sqrt(xh/(k-1))
这个公式的直觉很有意思:p 太小,头部 h 在每分组里占比太大,浪费带宽;p 太大,每个转发节点的存储转发延迟变大,最优解就是这两个相反方向的平衡点。代入一组值感受一下:x=4800 bit,h=100 bit,k=4,那么最优 p=sqrt(4800×100/3)=sqrt(160000)=400 bit。注意 x、h、p 的单位要统一成 bit,别混入 Byte。考前可以把这道题的推导过程在草稿纸上完整写两遍,考场直接复用。
2.3 香农公式与信噪比换算:64.2dB 怎么算出来的
题目问:用 3kHz 带宽的电话信道传 64kb/s 数据且无差错传输,信道需要多高的信噪比,分别用比值和分贝表示。
香农公式是 C = W·log2(1+S/N),把数字代进去:64000 = 3000·log2(1+S/N),得到 log2(1+S/N) ≈ 21.33,于是 1+S/N ≈ 2.64×10^6,S/N ≈ 2.64×10^6。换算成分贝:10·log10(2.64×10^6) ≈ 64.2dB。
这个结果说明,普通电话信道根本达不到 64.2dB 的信噪比要求,所以实际方案要么用压缩编码降低数据率,要么换用光纤这类高带宽介质。这道题的隐藏考点是分贝换算:30dB 对应 S/N=1000,40dB 对应 10000,代数式是 S/N=10^(dB/10)。题目如果直接给比值,就别画蛇添足地换算成分贝;给分贝值,必须先换成比值再代入公式,这是后面避坑章要重点讲的一个高频失误点。
2.4 传输介质与发送时延、传播时延:选型逻辑和谁主导
常用传输介质的特点,笔试一般以简答题形式出现。双绞线成本低、易施工,但信号衰减随距离和频率快速增加,适合局域网;同轴电缆抗干扰性好,带宽取决于电缆质量,有线电视网和早期以太网用得多;光纤通信容量大、损耗小、中继距离长、抗雷电和电磁干扰,是远距离骨干网的主力;无线传输包括无线电波、地面微波、卫星微波和红外线,部署灵活但受环境影响大。
配套的衰减计算题:双绞线衰减 0.7dB/km,链路允许衰减 20dB,则工作距离 = 20/0.7 ≈ 28.6km;如果要把距离增大到 100km,衰减必须降低到 20/100=0.2dB/km。这类题的本质是链路预算:总衰减不能超过接收端的容限。
发送时延与传播时延的对比是另一类必考题。数据长度 107bit、发送速率 100kb/s 时,发送时延=107/10^5=100s,传播时延=1000km 距离除以 2×10^8m/s 等于 0.005s,发送时延完全主导;数据长度 103bit、发送速率 1Gb/s 时,发送时延只有 1µs,传播时延还是 0.005s,此时传播时延成为主要矛盾。结论可以复用:数据长、速率低时,发送时延主导;数据短、速率高时,传播时延主导。数据中心内部通信、低频次小包交互这类场景,物理距离决定的下限反而更值得关注。
3. 数据链路层三大计算:CRC、CSMA/CD 和网桥转发表
数据链路层的题集中在三件套:检错、争用、转发。分别对应 CRC 模 2 除法、CSMA/CD 最短帧长、网桥自学习转发表。前两个是纯计算,第三个是推演题,都需要按固定顺序写步骤。做这类题时把“三步走”的框架先在草稿上列出来,能少丢很多过程分。
3.1 CRC 校验:模 2 除法与“可靠传输不等于检错”
题干给的是:要发送的数据为 1101011011,生成多项式 P(X)=X⁴+X+1,求应添加在数据后面的余数,并判断误码能否被发现。
先把生成多项式转成二进制除数:X⁴ 对应二进制 10000,X 对应 10,1 对应 1,合起来 P=10011,这是一个 5 位除数,最高次数 r=4。数据后先补 4 个 0,得到 11010110110000,然后用 10011 做模 2 除法。模 2 除法的规则是每一步看当前被除数最高位:最高位是 1 就与除数异或,是 0 就跳过该位继续下移,整个过程不借位。
手算结果是余数 1110,所以发送方附加的校验序列是 1110。数据在传输过程中最后一个 1 变成 0,以及最后两个 1 都变成 0,接收端做同样的除法都能得到非零余数,也就是两种错误都会被检出。生成多项式的最高次数 r=4,能保证检出所有长度不超过 r 的突发差错,所以这两个误码模式躲不掉。
但“发现了错误”不等于“可靠传输”。数据链路层如果只用 CRC 检错而没有确认重传机制,出错帧被丢弃之后发送方并不知道,所以链路层还不能算是可靠传输。判断题就爱在这个地方埋坑:CRC 负责的是“检测错误”,可靠传输必须叠加超时重传和确认机制。
3.2 CSMA/CD 最短帧长:1km 千兆网算出 1250 字节
题干是:1km 长的 CSMA/CD 网络,数据率 1Gb/s,信号传播速率 200000km/s,求能使用此协议的最短帧长。
推导分三步。第一步,算单程传播时间:1km / 200000km/s = 5µs。第二步,以太网冲突检测要求发送站必须在自己发送完之前检测到远端冲突,因此最小发送时间不能小于往返传播时间,即 10µs。第三步,把 10µs 乘以数据率:1Gb/s × 10µs = 10000bit,也就是 1250 字节。
两个常见坑:一是把 10000bit 直接当答案,没换算成字节;二是把传播速率写成 2×10^8 而题里给的是 200000km/s,两者数值不同要先统一单位。延伸应用题问:如果最小数据帧长度减少 800bit,站点距离要增加还是减少多少?结论是减少 80m。思路是把最短帧长与往返时延的临界等式两边同时变化:帧长变短后允许的往返时间变小,距离必须跟着缩短,否则发送站还没来得及发完帧就撞上了。
3.3 网桥转发表:从空表开始逐帧推演
这道题的题干比较复杂:5 个站分别连在三个局域网上,由两个网桥连接成链状拓扑,两个网桥的转发表一开始都是空的,然后按 H1→H5、H3→H2、H4→H3、H2→H1 的顺序发送数据帧,要求填写每个网桥的转发表和处理动作。
网桥转发表的推演规则只有三条。第一,收到帧先登记源 MAC 地址和入端口。第二,查目的 MAC 是否在转发表中:查不到就向除入端口外的所有端口泛洪;查得到且指向其他端口就定向转发;查得到但指向入端口就直接丢弃。第三,每次处理完都要更新源地址的学习记录。
逐帧推演如下:H1→H5 时,网桥 B1 先学习 H1 在它的入端口,查 H5 未知,于是向另一个端口泛洪;B2 从与 B1 相连的端口收到帧,同样学习 H1,查 H5 未知,继续向它的其他端口泛洪,H5 收到了帧。H3→H2 时,B1 学习 H3,查 H2 未知,泛洪;B2 收到后学习 H3,查 H2 未知,泛洪,H2 收到。H4→H3 时,B2 学习 H4,此时 H3 已经在 B2 的表里了(上一帧学的),且 H3 指向 B2 的另一端口,所以 B2 定向转发而不泛洪;B1 从与 B2 相连的端口收到这帧,学习 H4,查 H3 也在自己的表里,定向转发给 H3。H2→H1 时,B1 学习 H2,查 H1 已在表中,定向转发;这帧不会到达 B2。
| 发送帧 | B1 动作 | B2 动作 |
|---|---|---|
| H1→H5 | 学习 H1,泛洪 | 学习 H1,泛洪 |
| H3→H2 | 学习 H3,泛洪 | 学习 H3,泛洪 |
| H4→H3 | 学习 H4,定向转发 | 学习 H4,定向转发 |
| H2→H1 | 学习 H2,定向转发 | 收不到该帧 |
这类题只要记住“初始空表意味着第一帧必泛洪”,后面每一步按学习、查表、决定的顺序做,就不容易乱。
4. 网络层高频大题:子网划分、CIDR 聚合与路由表更新
网络层是这份题库里篇幅最大的一章,也是性价比最高的一章。子网划分类题目逻辑单一,熟记“网络位不变、主机位划分”的流程就能拿分;路由聚合和路由表更新题则要仔细写二进制、逐条按规则判断。把这章的题型吃透,笔试的网络层部分基本就稳了。
4.1 IP 地址与硬件地址:概念题的标准答法
IP 地址与硬件地址的区别是必背概念。IP 地址是分配给主机或路由器接口的逻辑地址,在因特网范围内唯一,与设备物理位置和硬件没有绑定关系;MAC 地址是网卡出厂时就确定的硬件地址,同一局域网内寻址时必须用它。数据帧在链路上实际靠 MAC 地址交付,而跨网段通信靠 IP 地址做路由选择,两者是非常设的一对多映射关系。
配套的中间设备对比也常考:转发器工作在物理层,作用是延长信号传输距离;网桥工作在数据链路层,能隔离冲突域;路由器工作在网络层,隔离广播域并转发分组;网关工作在传输层及以上,用于不同体系结构网络的互连。记忆方式可以按 OSI 层次从低到高排,笔试填空和选择题都适用。
4.2 子网掩码与主机数:三类题型的共性算法
子网掩码的计算题有三种常见问法,答法可以统一。
问法一:掩码 255.255.255.0 代表什么意思。对 A 类网,前 8 位是网络号,中间 16 位划分子网段,后 8 位做主机号;对 B 类网,前 16 位是网络号,中间 8 位划分子网,后 8 位做主机号;对 C 类网,这个掩码本身就是默认值。问法二:掩码 255.255.255.248 能连多少主机。248 二进制是 11111000,主机位只有 3 位,可用主机数 = 2³-2 = 6 台。问法三:B 类地址掩码 255.255.240.0,每个子网最多多少主机。240 是 11110000,加上后面 8 位主机位,一共 12 位,最大主机数 = 2¹²-2 = 4094 台。
共性算法三步:把掩码转二进制,数主机位位数 n,可用主机数 = 2ⁿ-2。注意“-2”是去掉全 0 网络地址和全 1 广播地址。C 类网络使用子网掩码有没有实际意义?有意义——从主机位的高位借位划分子网,能增加子网数但不增加路由表项数,代价是每个子网的主机数变少。
4.3 大规模子网分配:4000 台机器 16 个地点怎么切
题干是:某单位分配到 B 类地址块 129.250.0.0,有 4000 台机器分布在 16 个不同的地点,用子网掩码 255.255.255.0,给每个地点分配子网号和主机号范围。
先估算:4000 台分到 16 个地点,平均每个地点 250 台。掩码 255.255.255.0 每个子网可用地址 254 个,大于 250,够用;子网数 254 个,远大于 16 个,也够用,所以这个方案成立。分配时让每个地点的第三字节按序号递增,规律非常直观:
| 地点 | 子网号 | 主机 IP 范围 |
|---|---|---|
| 1 | 129.250.1.0/24 | 129.250.1.1 ~ 129.250.1.254 |
| 2 | 129.250.2.0/24 | 129.250.2.1 ~ 129.250.2.254 |
| 16 | 129.250.16.0/24 | 129.250.16.1 ~ 129.250.16.254 |
中间的地点点 3~15 依此类推,子网号第三字节从 3 排到 15。如果题目改成每个地点 300 台,那 /24 就不够用了,要换成 /23,每个子网可用地址 510 个;如果改成 15 个地点,也要重新评估子网数是否足够。判断标准就两条:每子网可用主机数要大于等于单点最大主机数,子网数要大于等于地点数。
4.4 路由聚合与路由表更新:算前缀、比距离
路由聚合题:212.56.132.0/24、212.56.133.0/24、212.56.134.0/24、212.56.135.0/24 能不能聚合成一条。
做法是把第三字节转二进制:132=10000100,133=10000101,134=10000110,135=10000111,这四个数的高 6 位完全相同,都是 100001。前两个字节是固定的 16 位,加上这 6 位,共同前缀长度就是 22 位,所以聚合后的 CIDR 地址块是 212.56.132.0/22。注意这类题不要肉眼看到 132~135 就写 /24,必须写二进制确认高几位相同。
路由表更新题按距离向量算法的规则逐条判断。收到邻居发来的表项后,先把邻居通告的距离加 1(因为经过邻居转发多一跳),然后分四种情况处理:路由表中没有该项目就直接添加;已有项目且原下一跳就是该邻居,无条件更新;已有项目但下一跳不同,只有新距离更短才更新;下一跳不同且距离相同或更大,保持原表项不变。
以题目给出的数据为例:B 原来的表是 N1(7,A)、N2(2,原下一跳)、N6(8,F)、N8(4,E)、N9(4,F),收到 C 的通告后各距离加 1。N1 不涉及,不变;N3 是全新项目,添加为 N3(9,C);N6 从 8 降到 5 且下一跳不同,更新为 N6(5,C);N8 原来 4,C 通告 3+1=4,距离相同但下一跳不同,保留 E;N9 原来 4,C 通告 5+1=6,更远,保留 F。这里有个版本差异要注意:原题答案里 N2 更新为 5 下一跳 C,理由是原表下一跳就是 C;如果手头版本的原表把 N2 下一跳写成了别的路由器,按“下一跳不同且距离更大”应保留原表,考试前先确认教材用的是哪种写法。
5. 避坑与排查:五类高频错误让笔试分直接腰斩
把前面几章的经典题重新捋一遍,丢分点高度集中在五个地方。每一条都是我自己复习时踩过的,也是历年校招卷反复出现的坑,按“现象 → 原因 → 解决”写出来,考前对着过一遍能省不少时间。
5.1 现象:分组交换时延漏算存储转发
现象:拿 x/b 当作唯一的发送时延直接与电路交换比较,得出“电路交换一定更快”的错误结论,答案与正确结果正好相反。
原因:没搞清 k 段链路之间有 k-1 个转发节点,每个节点都要把整个分组收完再转发,因此产生 (k-1)·(p/b) 的额外存储转发延迟。很多人算到 x/b 就停了,漏掉最后一项。
解决:做题先画链路图,数中间节点数,再写完整公式 kd + x/b + (k-1)·(p/b)。比较两种交换时,把 s 和 (k-1)·(p/b) 单独拎出来对比,别混在一起。
5.2 现象:分片偏移字段直接写字节数
现象:一个 4000 字节的 IP 数据报(固定首部 20 字节)经过 MTU 1500 字节的网络,有人把第二片偏移直接写成 1480,第三片写成 2960,扣掉全部分。
原因:IP 首部的片偏移字段单位是 8 字节,不是字节本身。数据报总长 4000 字节,减去 20 字节首部后数据部分 3980 字节,每片最多携带 1480 字节数据,所以分成三片,数据长度分别是 1480、1480、1020。正确偏移是:第一片 0,第二片 1480/8=185,第三片 (1480+1480)/8=370。MF 标志依次为 1、1、0。
解决:分片前先确认每片数据长度能被 8 整除,偏移字段一律除以 8 再填。答填表题时先列出三列:数据长度、片偏移、MF,避免心算。
5.3 现象:路由表更新把“下一跳不同、距离更大”也改了
现象:看到邻居通告的距离比原表大,也照样更新,最后路由表出现环路迹象。
原因:没按距离向量算法分四种情况处理,只看到“距离变了”就动笔。
解决:写一个四步判断清单——表里有没有这条目的?原下一跳是不是这个邻居?新距离是更短、更长还是相等?不同情况分别处理。只有下一跳相同才无条件更新,下一跳不同且距离更短才更新,距离相同或更远都保留原表。
5.4 现象:30dB 当 30 倍代入香农公式
现象:题目给信噪比 30dB,直接写成 C = W·log2(1+30),算出来带宽极小,和常识不符还不自知。
原因:香农公式里的 S/N 是功率比值,不是分贝值。dB 是 10·log10(S/N),30dB 对应的比值是 10^(30/10)=1000,不是 30。
解决:任何“dB”先换算成比值再代入公式。反过来,算出 64.2dB 这种结果也可以验证方向没错——64.2dB 对应比值约 2.6×10^6,是一个相当夸张的信噪比要求。
5.5 现象:网桥题忽略转发表初始为空
现象:第一帧 H1→H5,有人直接写“H1 已在 B1 端口 1,不转发”,结果整个推演全错。
原因:把静态配置的状态当成初始状态,忽略了网桥的自学习机制。
解决:初始空表意味着全网未知,第一帧必然泛洪。每次处理帧严格按“学习源地址 → 查目的地址 → 广播或定向转发或丢弃”的顺序走,收到帧先登记再查表,顺序颠倒就会写错。
6. 应用层协议题的时间线推演法:三次握手、DHCP 与 OSPF
应用层在笔试里不考大段论述,考的是画过程、数报文、写端口。我的习惯是时间线推演法:把协议交互画成一条从上到下的时间线,每个报文占一行,标方向、协议名、关键字段,画完再数一遍报文个数和方向。比如 TCP 三次握手,画出来是客户端发 SYN(seq=x),服务端回 SYN+ACK(seq=y, ack=x+1),客户端再回 ACK(seq=x+1, ack=y+1)。画完就能顺手答“为什么两次握手不行”——服务端无法确认客户端的接收能力,只能建立半开连接。
DHCP 的考点是端口号和报文序列:客户端用 UDP 68,服务器用 UDP 67,成功获取地址需要 DHCPDISCOVER、DHCPOFFER、DHCPREQUEST、DHCPACK 四种报文,释放地址时还要 DHCPRELEASE。OSPF 的五类分组也适合用流程记忆:Hello 用来发现和维持邻站可达性,数据库描述分组交换链路状态摘要,链路状态请求分组索要详细信息,链路状态更新分组用洪泛法全网更新,链路状态确认分组做确认,对应“打招呼→对目录→借书→发书→回执”。
TTL 推导题也可以往时间线上套:tracert 结果显示目标回包 TTL=56,路径共 9 跳,那么数据包离开目标主机时的 TTL 初值 = 56+9=65。实际设备上会有 ±1 的偏差,有的操作系统初始 TTL 是 64,有的路由器不递减,但笔试按题干提供的跳数和回包值做加法就行。流量控制与拥塞控制的区别也能放进时间线理解:流量控制管“发送方别淹没接收方”,是端到端的接收缓存问题;拥塞控制管“别让过多数据注入网络”,是路由器与链路负载问题,TCP 的滑动窗口和慢启动分别对应这两种机制。
这套方法不限于这份题库,厂商网络认证的基础题同样适用。从那以后我每次做协议题,都先把时间线画在草稿纸边缘,哪怕潦草到只有自己能看懂,画完再数一遍报文个数和方向,基本上没再丢过过程分。希望帮到你。
本文还有配套的精品资源,点击获取