☰
计算机网络课后题答案解析:从推导过程掌握TCP与IP分片核心考点
2026/10/7 12:30:31 网站建设 项目流程

简介:《计算机网络》习题答案.pdf 是一份针对计算机网络课程常见习题的解答整理,适合高校计算机相关专业学生课后复习、作业参考与备考使用。内容以章节顺序收录了第一章概述中的典型题目,包括连通性与共享的含义、分组交换要点、电路交换/报文交换/分组交换的优缺点对比、因特网发展阶段与标准制定过程、internet与Internet的区别、网络类别划分、主干网与接入网差异、客户服务器与对等通信模式,以及速率、带宽、时延、吞吐量等性能指标的计算与应用。解答按题号排列,例如1-11题推导了分组数据部分长度p的最优取值,1-17、1-18题给出了发送时延、传播时延及传输比特数的详细计算过程,1-19题分析了应用层数据长度与传输效率的关系,便于读者对照教材逐题查漏补缺。资源为1个PDF文件,压缩包大小4.06MB,排版简洁、便于打印或移动端阅读。已有84人学习下载,适合正在学习计算机网络基础、需要习题参考或考前系统复习的学生使用。

1. 计算机网络课后题答案:先别急着背,这份解析的含金量在推导过程

这段时间帮人看《计算机网络》期末复习,问得最多的就是谢希仁那本教材的课后题。教材题量大、覆盖广,但配套答案要么只给结论不带推导,要么直接贴一段代码让读者自己去跑。这份《计算机网络》习题答案.pdf 不太一样:它按章节把第一章概述、第五章传输层、第六章应用层的题目完整过了一遍,而且大多数计算题、协议分析题都保留了从公式到数字的完整步骤,比如分组交换总时延对分组长度 p 求导、TCP 拥塞窗口逐轮次变化那张表、UDP 数据报片偏移字段的计算,这些恰恰是期末考和考研 408 里最容易丢分的点。

适合谁?两类人最对口:一是期末前突击的本科生,拿它当核对标准而不是背诵材料;二是准备 408 的考研党,用它做第一遍知识点过筛,把协议机制的细节抠清楚。资源本身是 PDF,不需要装环境,手机平板都能看,读起来没有门槛。需要注意的是,这份 PDF 只覆盖到三章内容,后面几章没有收入,别把它当成全册答案。

2. 这份答案到底覆盖了什么:三章知识点与题型的完整盘点

拿到 PDF 先别急着从头看到尾,先花五分钟对照目录确认它覆盖的范围。从实际内容来看,全册共涉及三章:第一章概述、第五章传输层、第六章应用层。三章的侧重点完全不同,题型分布也不一样,下面我把每一章的知识点和题型结构拆开讲清楚。

2.1 第一章概述:看似送分,实则藏着四类必考计算

第一章是全书的地基,也是很多人觉得“背一背就能过”的章节,但实际上第一章的计算题密度非常高。PDF 里对这部分处理得比较细,大致可以分成四类:概念简答题、时延计算题、网络分类与体系结构题、协议三要素题。

概念简答题集中在 1-01 到 1-09,比如“计算机网络向用户提供哪些服务”“分组交换的要点是什么”“因特网发展分几个阶段”等。答案是标准的“连通性、共享”这类关键词式作答,适合直接背。真正需要动笔的是从 1-11 开始的计算题,其中 1-11 是整份 PDF 里最值得看的一道题。

先看 1-11 的完整推导逻辑。题目给的条件是:报文长度 x,分组数据部分长度 p,每个分组控制信息固定长度 h,两端经过 k 段链路,链路数据率 b,传播时延和排队时间忽略不计,要求使总时延最小时 p 的取值。标准的推导路径是先把总时延 D 的表达式列出来:

总时延由三部分构成:发送端把所有分组发完的时间、中间 k-1 个路由器转发的时间、传播时延(题目说忽略不计)。发送端发送总数据量是 (x/p) 个分组,每个分组长度是 p+h,所以发送时间为 ((x/p)*(p+h))/b;中间经过 k-1 段链路,每段转发一个分组的时间是 (p+h)/b,所以总时延表达式为:

D = (x/p) * ((p+h)/b) + (k-1) * ((p+h)/b)

注意这个公式要把 k 段链路中第一段的发送时间也考虑进去,所以第一项其实是 k=1 时的情况,完整表达式是 D = k*((p+h)/b) + (x/p - 1)((p+h)/b),PDF 里写成了 D= kd+(x/p)((p+h)/b)+(k-l)*(p+h)/b,其中 d 应该是笔误,不影响核心思路。对 p 求导令导数为零,得到 p = sqrt(xh/(k-1))。这个结果的意义是:分组长度太小,控制开销占比高;太大则分组数量少、路由转发并行度不够,中间路由器数量越多,最优分组长度越小。

1-17 和 1-18 是时延计算的标准题。1-17 给出距离 1000km、传播速率 2x10^8 m/s,分别比较数据长度 10^7 bit 在 100kb/s 速率和 10^3 bit 在 1Gb/s 速率下的发送时延和传播时延。结论很明确:数据量大、速率低时发送时延占主导;数据量小、速率高时传播时延占主导。这个结论在后续 TCP 吞吐量题里还会反复用到。1-18 则是把传播时延和带宽结合起来算链路中正在传播的比特数,公式是先算传播时延再乘数据率,注意 IMb/s 和 1Gb/s 相差 1000 倍,计算时别把单位换算搞错。

1-19 的传输效率题也是必考:100 字节应用数据加 20 字节 TCP 首部、20 字节 IP 首部、18 字节以太网首尾,传输效率 = 100/(100+20+20+18) = 63.3%;数据变成 1000 字节时效率提升到 94.5%。这题的结论背后是“首部开销被摊薄”的思路,后面分析 TCP 分段合理性时还能用上。

2.2 第五章传输层:TCP/UDP 的对比、序号确认与拥塞控制全解析

第五章是整份 PDF 里内容最扎实的部分,它把传输层最重要的几个知识点都覆盖了:UDP 与 TCP 的适用范围对比、端口作用与分类、TCP 报文段序号与确认号的计算、拥塞控制的四个算法、连接建立与释放的过程。

先说 UDP 与 TCP 的选型逻辑。5-05 讲 VOIP 宁可用 UDP 不用 TCP,原因是语音数据有冗余度,少量丢包可以接受,但时延抖动影响很大;TCP 出错后触发重传,会带来更大的时延扰动。这个例子是典型的“可靠性换实时性”取舍,考试常以简答题出现。5-07 反过来问“能否用 UDP 实现可靠传输”,答案是“可能,但应用层必须自行实现确认、重传、排序等机制”,本质就是应用层重造一个 TCP。

序号与确认号的计算是必考中的必考,PDF 里 5-23 是一道标杆题。主机 A 连续发送两个 TCP 报文段,序号分别是 70 和 100,那么第一个报文段携带的数据是序号 70 到 99,共 30 字节;B 收到第一个报文段后确认号应为 100,表示“下一个期望的字节序号是 100”。第二个报文段发出后如果确认号是 180,说明第二个报文段携带了 80 字节。最后一个问法比较狡猾:第一个报文段丢失、第二个到达后,B 返回的确认号是多少?答案是 70,因为接收方只能对连续收到的数据确认,第二个报文段虽然到了,但前面的数据缺失,确认号只能停留在 70。

5-13 的 IP 分片计算也是重点。UDP 用户数据字段 8192 字节,以太网 MTU 是 1500 字节,IP 首部 20 字节,所以每个分片最多携带 1480 字节数据。8192 除以 1480 等于 5.53,向上取整得 6 个分片:前五个分片各 1480 字节,最后一个分片是 8192 - 5*1480 = 792 字节,加上 8 字节的 UDP 首部后实际数据字段长度是 800 字节。片偏移字段依次是 0、1480、2960、4440、5920、7400,单位是 8 字节,所以实际写入片偏移字段的值分别是 0、185、370、555、740、925。这个“偏移字段除以 8”的细节最容易踩坑。

拥塞控制部分,PDF 从 5-37 到 5-39 三题构成了一个完整体系。5-37 是四个算法的文字解释:慢开始从 cwnd=1 开始,收到确认后翻倍;拥塞避免每经过一个 RTT 增加一个 MSS;快重传是收到三个重复 ACK 立即重传;快恢复是把 ssthresh 减半、cwnd 设为 ssthresh 直接进入拥塞避免。5-38 给了一个经典序列:初始 ssthresh=8,cwnd 从 1、2、4、8 翻倍到 8 后进入拥塞避免,升到 12 时超时,ssthresh 降到 6,cwnd 重新从 1 开始,到 4 时翻倍到 6、7、8、9。这张表能背下来最好,但更推荐理解每一轮变化的原因,考试时换个初始值也能算。

2.3 第六章应用层:DNS、FTP 与 HTTP 的工作原理对比

第六章内容相对偏记忆,但 PDF 里还是有两个点需要动手分析。6-10 问从已知 URL 获取文档时除 HTTP 外需要什么协议,答案是 DNS 用 UDP 查 IP 地址,HTTP 用 TCP 传数据,所以需要 DNS(UDP)和 HTTP(TCP)两个传输层协议。6-14 是一个容易算错的地方:点击一个文档,文档里除了文本还有本地一个 gif 和远地两个 gif,问需要几次 TCP 连接和几次 UDP 连接。如果把 HTTP/1.0 的模型搞清楚就很简单:每次请求一个文档需要建立一次 TCP 连接,文本、本地 gif、两个远地 gif 共四个对象,所以需要四次 TCP 连接;DNS 查询已经通过系统缓存或本地解析完成,不需要额外 UDP 连接,答案是 0 次 UDP 连接、4 次 TCP 连接。

这个知识点要特别注意一个边界条件:如果客户端和服务器之间没有 DNS 缓存,则首次解析域名需要额外一次 UDP 查询,但 PDF 原题的条件是“已知 URL 获得文档”,默认 DNS 解析已经完成,所以不计入。做题时遇到类似题,先判断题干有没有提到“IP 地址未知”,这是是否计算 DNS 流量的分水岭。

3. 怎么拿这份答案高效复盘:从对答案到追推导的完整流程

很多人拿到 PDF 的第一反应是“对着教材一道一道看解析”,这个方式效率很低。我更推荐一个三轮复盘法,把答案变成检验工具而不是阅读材料。下面每一步都能直接照着做。

3.1 第一轮:闭卷自测,标记错题区间

在翻 PDF 之前,先把教材里的课后题全部看一遍,拿出一张 A4 纸,只写题号和你的答案要点,不写过程。重点标记两类题:一道题完全没思路的、一道题答案和直觉冲突的。这时候不要看 PDF,先把标记做完。

比如 5-23 的第四问“第一个报文段丢失、第二个到达后确认号是多少”,如果不经过推导直接写会很容易填成 180,因为它看上去像“接收方回了确认号”。这就是典型的直觉陷阱,标记出来之后再看解析,印象会深得多。

3.2 第二轮:对照解析,重点看推导中间态

打开 PDF 后不要只看最终答案,把注意力放在解题过程的第一个中间步骤上。以 1-11 为例,PDF 给出了 D 的表达式,但没有解释每一项的物理含义。你可以自己在纸上补出注释:

# 总时延 = 发送端把所有分组推入链路的时间 + 中间路由器逐段转发的时间 # number_of_packets = x / p,每个分组长度 = p + h # 第一项本质是所有分组连续发送的总耗时 # 第二项(k-1)*((p+h)/b) 是分组经过中间路由器时逐段转发引入的额外时延 # 对 p 求导时,(x*h)/p^2 项来自分组数量对 p 的反比关系 # 最优分组长度 p = sqrt(x*h/(k-1))

这个手动补注释的过程很枯燥,但对 408 的“应用题”很有用,因为阅卷看的就是你能否把文字条件翻译成数学表达式。每一道计算题都补一遍,五道题下来基本就能掌握翻译规律。

3.3 第三轮:横向对比,整理自己的“一句话结论表”

三轮做下来,把同类型题的共同结论整理成一张表,这是最有复利的部分。比如第一章的时延题可以汇总为:数据长度大、速率低时发送时延主导;数据长度小、速率高时传播时延主导;传播时延由距离和介质决定,与速率无关。传输层的结论可以汇总为:确认号等于下一个期望字节序号;接收方只能确认连续收到的数据;IP 分片偏移字段单位是 8 字节。把这几条写在一张卡片上,考前五分钟扫一眼就能把最容易错的计算题框架捡起来。

下面是这张表的一个参考格式,你可以根据自己的错题继续扩充:

题型关键公式高频错误点
发送时延/传播时延比较发送时延 = 数据长度 / 数据率,传播时延 = 距离 / 传播速率把速率和传播速率混为一谈
传输效率应用数据 / (应用数据 + 各层首部)漏算数据链路层的尾部 18 字节
TCP 确认号确认号 = 期望的下一个字节序号收到乱序报文时仍填确认号
IP 分片偏移偏移字段 = 已传数据量 / 8忘记偏移单位是 8 字节
拥塞窗口变化慢开始翻倍、拥塞避免加一超时后 ssthresh 没减半

这张表做完,这份 PDF 的价值才算真正发挥出来。很多人对完答案就把文档关了,其实是你没有榨干它的剩余价值。三章内容里,第一章和第五章的计算题完全可以扩展到别的题源:把 1-11 的参数换一换自己出题,把 5-23 的序号改成别的数字重新算一遍,这是检验自己是不是真会的最快方式。

4. 常见问题与避坑记录:这三章答案里容易被带偏的五个地方

这份 PDF 是从老教材流出来的习题解答,内容本身比较可靠,但使用过程中确实有五类高频问题,几乎每个人都会踩一遍。我按“现象 → 原因 → 解决”的方式记录如下,你对照自己的情况看。

4.1 传输效率题算出来 94.5% 但总觉得漏了什么

现象:1-19 第二问算 1000 字节数据的传输效率,按公式 1000/(1000+20+20+18)=94.5% 算完,总觉得自己少加了一层首部,比如数据链路层会不会还要加前导码和帧间隔。

原因:教材里的“以太网首部和尾部共 18 字节”已经把帧头、源/目的地址、类型、FCS 全算进去了,前导码和帧间隔属于物理层开销,不算在传输效率公式里。题目问的是“应用层数据除以所发送的总数据”,这里的“总数据”只统计各层协议首尾,不统计物理层编码开销。

解决:看到传输效率题,先确认题目给的是“加上首部和尾部”还是“只加首部”,前者直接除,后者要补上尾部。另外这道题的 18 字节是固定值,不用自己拆解。

4.2 1-11 的推导用了两种公式,对不上号

现象:教材配套答案里写 D = kd + (x/p)((p+h)/b) + (k-1)((p+h)/b),而你按自己的理解推导出发送端总时间应该是 (x/p)((p+h)/b),两式相差一个 kd,一时不知道哪个才对。

原因:kd 在答案里其实是“发送第一个分组经过 k 段链路的总时延”,也就是 k 段链路的发送时延之和,后面的 (x/p)((p+h)/b) 减掉了一个分组的发送时间,表示其余分组的连续发送时间。两式在数学上等价,只是拆分角度不同。PDF 里第一项写的是 kd,其中 d 应该是 (p+h)/b 的缩写,不是额外的传播时延。

解决:统一用我上面代码块里的写法,把第一项当成所有分组的发送时间,把第二项当成中间路由器的逐段转发时间,这样物理含义更清晰,不容易被字母搞晕。

4.3 5-14 的 UDP 首部十六进制解析方向搞反

现象:6 个字节的十六进制 06 32 00 45 00 1C E2 17,解析出来源端口是 1586、目的端口是 69,但有人会读成源端口 69、目的端口 1586。

原因:UDP 首部格式是源端口占前两个字节、目的端口占后两个字节,读取时按从左到右的顺序,06 32 是源端口(0x0632 = 1586),00 45 是目的端口(0x0045 = 69)。容易出错的地方在于:端口号小于 1023 被定义为熟知端口,所以目的端口 69 的 TFTP 服务一目了然,但 CD 里有的版本在排版时把两个端口位置印反了,需要自己对着 UDP 首部格式核对。

解决:拿到十六进制报文段,先画一个 UDP 首部结构图,把源端口、目的端口、长度、校验和各占两字节标出来,再逐段填入数值。顺便记住一个规律:客户发送的报文段目的端口通常是熟知端口,源端口是临时端口,所以“目的端口 < 1023”意味着这是客户发给服务器的请求。

4.4 快恢复阶段 ssthresh 到底是除以 2 还是除以 4

现象:5-38 的拥塞窗口序列,在超时后 ssthresh 从 8 变成 6,很多同学理解成“再除一次 2”,觉得应该是 4。

原因:5-38 的初始 ssthresh 是 8,cwnd 从 1 翻倍到 8 后进入拥塞避免;cwnd 增长到 12 时发生超时,ssthresh 减半为 6,而不是把 12 再减半到 6。关键在于:ssthresh 减半的依据是“当前 cwnd 的一半”,而当前的 cwnd 是 12,所以减半得 6。之前 8 是初始值,不是减半的基准。

解决:每次算 ssthresh 之前,先圈出“发生超时那一刻的 cwnd 值”,再执行乘法减小。如果题目描述的是收到三个重复 ACK(快重传),ssthresh 同样是当前 cwnd 的一半,但 cwnd 只降到 ssthresh 而不是降到 1,这两者在落地计算时要区分清楚。

4.5 6-14 的 TCP 连接次数被 DNS 干扰

现象:题目问文本加三个图片需要几次 TCP 连接和 UDP 连接,有人算出 1 个 DNS 查询需要一次 UDP 连接,答成 1 次 UDP 和 4 次 TCP。

原因:题干默认已经知道 URL 且通过某种途径解析到了 IP,不需要额外算 DNS 流量。很多人看到“远地图像”就条件反射地认为要查 DNS,忽略了题目问的是文档加载过程中的连接次数,而不是整个访问过程的所有协议交互。

解决:做题时先划出题干的关键条件,“已知 URL”“IP 地址开始时并不知道”这类表述直接决定要不要算 DNS。6-10 问的是“需要哪些协议和传输层协议”,此时要答 DNS+UDP、HTTP+TCP;6-14 问的是“使用鼠标点击文档时需要建立几次连接”,默认 DNS 已完成,直接按 HTTP 连接数算。这两题的差异是故意设置的,目的就是考你能不能识别边界条件。

5. 复盘这套答案的更高阶用法:把习题答案反推成考点自查表

到这一步,这套答案对你来说已经不只是“对答案”的工具了。我习惯把它反推成一张考点自查表,用来在考前快速定位自己的薄弱环节。具体做法是把 PDF 里的每一道题映射回教材的知识点,再给每个知识点标注“是否需要动手算、是否常考”,形成一个从题到点的索引。

先说怎么建这张表。拿 1-11 来说,它背后对应的考点是“分组交换总时延的构成与最优分组长度”,常见变体是“总时延对 p 求导求极值”和“比较不同分组长度下的时延差异”。5-38 对应“拥塞窗口变化过程”,变体是“给定初始 ssthresh 和 cwnd,推第 n 轮的窗口大小”,408 曾考过类似题。6-14 对应“HTTP/1.0 的连接数量计算”,变体是“HTTP/1.1 持久连接下需要几次 TCP 连接”,答案是 1 次而不是 4 次,这就是最常见的进阶考法。

映射完之后,把自己反复错的题填进下面这样一张复习表,考前只看表格不看 PDF:

教材题号核心考点常见变体我的易错点是否需要重算
1-11分组交换总时延最优化不同 k、p 组合下时延变化对 p 求导时忘记 (x/p) 的导数项是
1-18链路中正在传播的比特数改变媒体长度和数据率单位换算时 Mb/s 与 GB/s 混淆是
5-13IP 分片与片偏移不同 MTU 下的分片数量最后一个分片长度计算是
5-23TCP 序号与确认号乱序到达、部分丢失确认号停留在 70是
5-38拥塞窗口变化表超时/快重传两种触发ssthresh 减半基准是
6-14HTTP 连接数量HTTP/1.1 持久连接DNS 流量是否计入否

表格建好之后做两件事。第一件:每个“需要重算”的题,在纸上完全脱离解析重新做一遍,做到第三步卡住就回去看解析,再合上解析重做第二遍,直到全程不卡。第二件:把“常见变体”里的题目自己编一版答案,比如把 5-13 的 UDP 数据长度改成 5000 字节,把 MTU 改成 576 字节,重算一遍分片数量和偏移字段。这个自编自答的过程比多看三遍解析都有效,因为它逼着你把公式变成自己的工具。

我个人的习惯是:考前三天,只带这张表和一份空白 A4 纸进复习室,把表格里每个考点的公式先默写一遍,再对着变体题快速口算结果。计算题卡住的地方,就是我最后一天要重点回看的章节。做这个动作之前,我对 TCP 拥塞窗口变化的判断全靠死记,直到用 5-38 的序列图逐轮画了一遍,才算真正把慢开始、拥塞避免、快恢复的逻辑串起来。从那以后,每次复习计算机网络,我都会强制自己把课后答案按上面的方法重排成自查表,先做变体题再对答案,卡住的地方用红笔圈出来,第二天再做一遍。这比从头到尾刷一整本答案册高效得多,也希望这套方法能帮你在期末或备考时少走一段弯路。

本文还有配套的精品资源,点击获取

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询