
翻开《计算机网络自顶向下方法》第一章的朋友十有八九正在为课后习题抓耳挠腮。刚看完协议栈、时延公式、分组交换这些概念时觉得自己懂了合上书面对课后题却不知道从哪下笔尤其是夹杂着单位换算和存储转发细节的计算题错一次就怀疑人生。这篇文章就是针对“第一章课后习题参考答案”做的中文解析型整理我不按书里的题号逐条搬运原题而是把各版教材配套资料里高频出现的题型拆开按考点分类给出答题框架、标准公式和我自己踩过的坑。适合刚自学完第一章需要刷题巩固的人也适合考前一周拿来做题型速览。第一次带这门课的时候我也以为第一章只是概念铺垫结果批改作业发现错误率最高的恰恰是那些看起来最基础的计算题。后面我把历届学生错得最多的点集中复盘了一遍总结成这套解析思路你会发现第一章的课后题其实分三类概念背诵题、链路计算题、协议辨析题其中计算题占了半壁江山而且套路非常固定。1. 第一章到底在讲什么考试到底怎么考1.1 先搭框架三张图和一张表在开始对答案之前我强烈建议先把第一章的核心脉络捋一遍否则直接看题目解析会非常散。第一章整章其实就是在回答四个问题互联网是什么、边缘怎么接入核心网、数据怎么在核心网里走、端到端时延怎么算。围绕这四个问题你需要做到闭眼能画出三张图。第一张是“因特网组成图”左边是端系统右边是端系统中间是分组交换机和链路。这张图背后是“网络边缘”和“网络核心”这两个概念课后题里大量题目都在问你“某个设备属于边缘还是核心”“分组交换和电路交换的区别是什么”。第二张是“协议栈分层图”应用层、运输层、网络层、链路层、物理层每层一个名字、一个核心职责、一个代表性协议。第一章习题里让你“指出某协议属于哪一层”的题基本都从这里出。第三张是“时延构成图”节点处理时延、排队时延、传输时延、传播时延这四类时延的位置必须能在图上标出来。很多人把传输时延和传播时延搞混就是因为在图上找不准位置。一张表则是“OSI七层模型与TCP/IP四层模型对照表”。这部分概念题在历年考试里几乎必有一问标准答法我会在第三章细讲。提示第一章的课后题虽然有几十道但真正涉及复杂计算的其实就那几个模型思路通了之后剩下的题只是换数字。1.2 官方配套资料怎么用题目在复习时最容易踩的误区是对着所谓“官方答案”死记硬背。我这里的“官方解析”指的是教材配套的教师手册、公开课答疑资料里整理出来的标准解答思路的中文整理。你要把它当成“评分标准”来看而不是“标准答案”来背。举个例子课后题里问“为什么分层是必要的”教师手册给的标准要点是三条模块化便于设计与维护、各层独立更新、复用公共服务。如果你只背这三句话题目换个角度问“分层带来什么弊端”你就答不上来了。所以我建议的用法是这样第一遍自己独立做一遍题卡住了先翻书确认公式后继续算第二遍对照官方解析重点看你漏了哪个步骤第三遍把错题按题型归类形成自己的答题模板。这样一来官方答案只负责帮你校准主动权始终在你手里考试时才不会遇到“背过但不会用”的尴尬。2. 必考计算题四类时延与吞吐量答案全流程拆解2.1 传输时延与传播时延先分清楚再套公式第一章计算题里最基础也最容易翻车的是传输时延transmission delay和传播时延propagation delay的区分。我教过的很多同学考试时能把公式默写出来但一代入数字就把链路距离除以链路带宽完全驴唇不对马嘴。先看定义。传输时延指的是把数据全部送上链路所需的时间公式是传输时延 分组长度 L / 链路带宽 R它衡量的是“路由器某个端口发数据的耗时”单位由 L 和 R 决定。注意这里的 L 是比特数不是字节数R 是 bps不是 KB/s。传播时延指的是一个比特在链路上跑完物理距离所需的时间公式是传播时延 链路距离 d / 信号传播速度 s它衡量的是“电磁波在介质里飞多久”和分组大小、链路带宽完全无关。光缆里的传播速度大约是 2×10^8 米/秒而不是真空中的 3×10^8 米/秒这点很多题目会直接在题干里给出别自己瞎默认。我批作业时遇到一个很典型的例子某链路长 500 公里带宽 10 Mbps发送一个 1000 kbit 的分组传播速度取 2×10^8 m/s请计算传输时延、传播时延和总时延。标准做法是先把单位统一。1000 kbit 就是 1000×10^3 bit也就是 10^6 bit除以 10 Mbps即 10×10^6 bps得到传输时延 0.1 秒也就是 100 毫秒。传播时延则是 500×10^3 米除以 2×10^8 米每秒得到 2.5 毫秒。两者相加得到 102.5 毫秒。这道题还有两个常用变体。第一个变体是问“带宽延迟积”也就是 R 乘以端到端传播时延算出来是这个链路里最多能容纳多少比特稍难的题会问“至少需要多少比特才能填满链路”本质上就是让你求带宽延迟积。第二个变体是问“如果增大链路带宽总时延会不会变小”很多人直接答会变小但实际上只能降低传输时延传播时延不变所以在短距离高带宽场景里带宽提升对总时延的改善非常有限。实操心得看到任何带“距离”的题先条件反射地把传播时延单独算出来看到带“分组长度”的题先条件反射地把传输时延单独算出来。这两个动作一分家单位就不会串。2.2 分组交换与电路交换存储转发是核心考点第一章最核心的计算题场景是分组交换与电路交换的时延对比。这类题目通常给你一个文件大小、若干条链路、每条链路的带宽和距离然后分别计算两种交换方式下的端到端总时延最后让你比大小。先说电路交换标准公式是总时延 连接建立时间 s 报文长度 x / 链路带宽 R 传播时延总和为什么是这样一个结构因为电路交换在通信开始前先建立一条专用线路建立好了之后数据就沿着这条线路源源不断地走不需要中间节点存储转发所以传输阶段的时间几乎就是“把数据倒进管道”的时间。然后是分组交换情况要复杂一些。分组交换网里的路由器是存储转发的它必须等整个分组完整到达才能往下一跳转发不能像电路交换那样一比特来一比特走。假设发送一个报文把它分成 P 个分组每个分组长度 L 比特从源到目的端一共经过 H 条链路也就是有 H-1 台路由器每条链路带宽都是 R传播时延合计为 d/s那么总时延的近似公式是分组交换总时延 ≈ H × (L / R) (P - 1) × (L / R) d/s第一个部分 H×(L/R) 是第一个分组从源端到目的端一路被存储转发所花的时间第二个部分 (P-1)×(L/R) 是后续每个分组相对于前一个分组在源端的发送间隔。这里的前提是无排队、链路带宽一致、所有分组的 L 相同。我把这个公式拆成这么细是因为课后题最喜欢在这里埋坑。例如它会把一个报文分成两个分组问你“分组的数量增大之后总时延怎么变”如果你直接从直觉上说“分组越多开销越大、时延越大”就掉坑了。在忽略首部开销的理想模型里分组无限小时总时延会趋于 H × (L/R) d/s其中 L 此时趋于单个比特的“等效分组长度”反而更接近电路交换的连续传输效果。但实际中分组有首部路由器还要处理所以并非越小越好。再举一个我用来上课的数值例子。假设要发送一个 10 Mbit 的文件端到端经过一台路由器也就是两条链路每条链路带宽 10 Mbps距离 500 公里传播速度 2×10^8 m/s电路交换的建立时间是 0.5 秒。电路交换0.5 秒建立连接加 10 Mbit / 10 Mbps 等于 1 秒传输时间再加传播时延 500×10^3 × 2 / (2×10^8) 约为 5 毫秒总时延约 1.505 秒。分组交换如果整个文件不分包直接当成一个大分组在两条链路上存储转发传输时延是 2 × (10 Mbit / 10 Mbps) 2 秒加传播时延 5 毫秒总时延约 2.005 秒。但如果把文件分成 100 个分组每个分组 0.1 Mbit那么第一个分组的端到端时延是 2 × (0.1 Mbit / 10 Mbps) 20 毫秒后续 99 个分组每个相隔 10 毫秒总时延约 20 990 5 1015 毫秒约为 1.015 秒。这个例子很直观地说明了为什么分组交换的流水线方式能逼近甚至优于电路交换它不需要排队等待建立连接又能通过并行转发降低大文件的总时延。注意计算中如果题目说“忽略处理时延”就不用额外加如果题目给了分组首部开销例如每个分组携带 40 字节首部那每个分组的实际传输长度要加上首部长度再除以带宽很多同学在这里漏算。2.3 吞吐量瓶颈链路说了算吞吐量题是第一章计算题里的送分题但送分也会丢分。它的核心就一句话端到端吞吐量等于路径上的最小链路带宽也就是瓶颈链路。课后题常见的出法是给你一条路径上面三截链路分别是 2 Mbps、1.5 Mbps、3 Mbps问你端到端吞吐量是多少答案当然是 1.5 Mbps。这就相当于一个水管系统不管前面的管子多粗最后最细的那截管子决定了水流上限。更进阶一点题目会问多个连接共享瓶颈链路的情况。比如一个 1 Mbps 的瓶颈链路上同时跑着 10 个应用连接在理想公平调度下每个连接只能分到 0.1 Mbps。这个结论看起来简单但实际场景里应用层吞吐量还受 TCP 拥塞控制、服务器发送能力、接收端处理能力影响后两者是在后续章节才展开的。我在答疑时发现学生丢分往往不是因为不会取最小值而是没有先判断哪些链路是真正承载业务的链路。题目里偶尔会混入一条与实际数据流无关的管理链路或者故意把某一段写成全双工而另一段写成半双工让你误判吞吐量。所以我的建议是先在草稿纸上把“源端到目的端的完整数据路径”画出来再逐段写带宽最后做 min 运算。除了 min 运算第一章还有一种更“学术”的吞吐量表达方式如果某条链路的到达速率是 a 个分组每秒每个分组 L 比特链路带宽 R那么流量强度 aL / R。当流量强度大于 1 时队列会无限增长等于 1 是临界状态小于 1 才有稳定吞吐量可言。这个概念是后面排队时延分析的钥匙稍后我会专门讲。3. 概念题参考答案协议、分层、接入网与OSI模型3.1 协议与分层的标准答法第一章概念题里出现频率最高的三道题是什么是网络协议、为什么要分层、分层有什么优缺点。这三道题看似基础但很多学生答不到采分点。“什么是网络协议”的标准答法分三层。第一层是定义协议是网络中对等实体之间进行通信所遵循的规则集合。第二层是三要素语法、语义、时序。语法规定报文格式和结构语义规定字段含义以及发送方和接收方如何解释这些字段时序规定事件发生顺序和速度匹配。第三层是例子比如 HTTP 请求和响应必须遵循固定的请求行、头部、空行、实体主体结构这就是语法的体现。“为什么要分层”的标准答法是从工程角度切入一个大问题太难直接实现所以按功能拆成多个小问题分层解决每一层只需向上一层提供服务、向下一层使用服务内部实现可以独立修改不同层的更新替换互不影响例如应用层换了新的应用协议不必改动物理层设备。“分层有什么优缺点”则要辩证答。优点是模块化、灵活性高、标准化能力强可以促进互联互通缺点是层次之间可能有功能冗余首部开销增加性能会有一定损失而且有些跨层优化比如应用深知链路质量在严格分层模型里很难做。我改卷时特别看重最后一条能写出“跨层设计的需求催生了后续章节的进阶话题”的学生通常理解得比较透。3.2 接入网与物理介质的基础辨析接入网这块的课后题通常以选择题或简答题的形式考察核心是让你区分 DSL、HFC、FTTH 和无线上网这几种接入方式的技术本质。DSL 是电话线上跑数字信号利用电话线中高频段传下行数据低频段传语音所以可以在上网的同时打电话。它的缺点是传输距离有限离局端越远速率越低。HFC 是有线电视网络光纤到小区、同轴电缆入户带宽由同一小区内所有用户共享晚高峰时段会明显变慢因为共享介质上的冲突和负载都在上升。FTTH 是光纤到户通常配合无源光网络 PON 技术用分光器把一根纤芯的信号分给多个用户上行和下行通过波分复用隔离。它是目前家庭宽带趋势里最接近“接入瓶颈在后端而不在管道”的方案。无线上网则要区分两种一种是通过无线局域网接入比如在家里用路由器覆盖的 Wi-Fi本质是把无线电波作为最后一段接入介质另一种是通过蜂窝移动网络依赖基站覆盖小区。回答这种题的时候最好动手画一条“端系统—接入网—核心网”的链路并把访问因特网时经过的每一类设备标出来比如调制解调器、交换机、路由器、防火墙。第一章习题里有一类题就是让你把这些设备按层级排列画图是最稳的做法。3.3 OSI七层模型与TCP/IP四层对照OSI 七层模型是概念题里的另一个固定考点几乎每年都会有一道“根据功能判断是哪一层”的题。为了避免丢分我建议你按“功能关键词”来记而不是按死背层名。OSI 七层从下到上分别是物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。物理层管比特传输的电气和机械特性数据链路层管相邻节点之间的帧传输比如差错检测、可靠传输网络层管跨网络的寻址和路由代表性功能是 IP 寻址和分组转发传输层管端到端的进程通信包括 TCP 和 UDP 的端口、可靠数据传输、拥塞控制会话层管建立和管理会话表示层管数据格式转换、加密和压缩应用层直接为用户提供服务。TCP/IP 四层模型则把 OSI 的上三层合并为应用层把链路层和物理层合并为网络接口层剩下网络层和传输层。第一章教材通常用的是五层模型也就是把物理层和数据链路层分开所以你在作答时一定要先看清题目要求的是“七层”“四层”还是“五层”。记忆口诀我这里可以提供一套协议进程找传输路由寻址靠网络链路成帧邻节点底层比特物理通。把每层一句口诀写下来选择题基本十拿九稳。真正拉开差距的是综合题给你一个 Web 访问过程问你“用户输入网址后应用层、传输层、网络层、链路层分别做了什么”这道题在后续章节还会反复出现但第一章就可以开始练习了。4. 高频错题与避坑实测记录4.1 单位换算与公式套用陷阱我统计过自己带过的几个班级第一章计算题出错原因前三名分别是单位没换算、带宽延迟积概念混淆、漏加存储转发时延。单位问题尤其严重。最常见的坑是“Mbps”和“MB/s”的换算。1 Mbps 是 10^6 bit/s而 1 MB/s 是 10^6 字节每秒也就是 8 × 10^6 bit/s两者差了 8 倍。课后题里经常给出“文件大小 5 MB”链路带宽是“10 Mbps”如果你直接按 5/10 计算得到的是 0.5 秒实际上是 5×8/10 4 秒。另一个坑是 kbit 和大写 K 的区分。很多时候题干写的是 “1000 kbit”这里 k 表示千也就是 10^3不是 1024。计算题里只要没有明确说按 1024 处理一律按 10^3 算。在信息论题目里单位前缀和计算机体系结构里的 1024 进制经常把人绕晕第一章时延计算统一走十进制。公式套用方面最隐蔽的坑是处理时延和排队时延“给与不给”。题目若说“忽略处理时延”那就不再考虑节点处理若题目没说默认排队时延为零。很多同学一旦看到题里有“队列”两个字就以为必须把排队时延算出来其实题目可能明确要求“假设排队时延忽略不计”。4.2 排队时延的极限条件与误用场景排队时延是第一章里最抽象也最容易用错公式的概念。教材上的经典结论是在稳定条件下流量强度 μ 等于 aL/R其中 a 是到达速率L 是每个分组的比特数R 是链路带宽。当 μ 接近 1 时平均排队时延会趋近无穷大。我见过很多同学直接用公式“平均排队时延 μ/(1-μ) × 传输时延”硬套结果越算越离谱。这个公式来自 M/M/1 队列的简化模型它成立的前提是到达过程是泊松过程、服务时间指数分布、队列容量无限。第一章课后题里真正让你用这个公式的情况非常少更多时候只是让你定性地判断流量强度变大后时延会怎么变。所以我的建议是看到排队时延相关的题先看题目有没有给出足够的信息让你建立排队模型如果只给了到达速率、分组长度和带宽那就只能算到流量强度这一层。写出“流量强度为 0.8已接近临界若继续增长队列将急剧膨胀”这样的结论比强行算出一个伪精确的排队时延更安全也更容易踩到采分点。4.3 计算题答案模板与踩坑记录如果你希望考试时计算题不丢步骤分可以按下面这个模板来组织答案。首先是列出已知量并统一单位把距离、带宽、分组大小都写成米、bps、bit 的标准形式。然后是写明公式来源比如“根据传输时延公式 L/R”这一句看起来很虚但改卷时能快速帮你判断公式是否用对。接下来是代入数值和单位约简最后是结论用一句话点出物理意义。我自己做题时还会在草稿纸上画一条链路图把发送端、路由器、接收端标出来然后逐个节点写“传输时延”和“传播时延”。这一步能直接把存储转发漏算的问题暴露出来。比如一条链路到另一条链路的转折点很多人以为数据一进路由器就能立刻出实际上必须完整接收后才能转发漏掉这一次存储转发答案就会差一个分组的传输时延。我还踩过另一个坑题目问“端到端的最小时间是多少”我直接算了一条路径的时延结果题目里同时给出了两条备选路径要求选最优路由。第一章其实不会涉及路由算法但会以“最短路径选择”的形式考察时延求和所以答题前先看清路径是固定的还是需要自己选的。5. 复习建议把官方答案变成自己的答题能力5.1 刷题顺序与时间分配第一章课后题如果全部做完大约需要两到三个完整下午我建议按“概念题先行、计算题居中、综合题收尾”的顺序来刷。第一个下午专门做概念题也就是协议、分层、接入方式、OSI 模型这类。这些题不需要大量计算但需要你把术语完整写出来。我建议不要只看答案而是把官方解析里的三要素改成自己的话写一遍写完再对照这样印象更深。第二个下午集中做时延计算题。从单链路开始逐步过渡到多跳存储转发再到分组交换与电路交换对比最后做吞吐量题。每一类题型做三道左右就停下来整理通用步骤不要追求题海。第三个下午做综合题和错题复盘。把官方答案里出现过的图形类题目比如 TDM 时隙分配、分组交换的时序图、OSI 模型功能匹配全部画一遍。画图的过程比背答案更有用因为第一章的很多概念都是空间和时间上的直观问题不动笔是想象不出来的。5.2 考场两分钟检查法考试时做第一章计算题我建议养成两个检查习惯。第一个习惯是做完后立刻检查单位把答案里的单位写全比如“秒”而不是光秃秃的数字。第二个习惯是反向推算如果算出总时延那就扣掉传播时延和排队时延单独看一下传输时延是否合理。举个例子你算出来的总时延若小于单个分组的传输时延那一定哪里错了。还有一个考场上容易被忽略的成本是题目里的“答案要求几位小数”。老师没说保留几位就不要自己用分数代替小数也不要默认保留两位写成分式反而更安全。批改时清晰的过程比精确到小数点后五位的数值更占优势。我个人观察到的规律是第一章的课后题能力会在第三章会因为 TCP、路由选择等内容再次被检验所以现在花时间整理出的做题模板后面能帮你省不少力气。最后分享一个小技巧每学完一章就把这章课后题里做错的那几道题用一句话总结成一个“易错卡”比如“存储转发别漏第一个分组的逐跳累计”“Mbps 与 MB/s 差 8 倍”。考前只看这些卡片比重新翻一遍书效率高得多。这个习惯我从带第一届学生时开始用一直用到现在反馈很好。