news 2026/9/30 3:23:27

计算机网络谢希仁第七版课后题答案:分组交换时延与CRC计算避坑指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
计算机网络谢希仁第七版课后题答案:分组交换时延与CRC计算避坑指南

简介:计算机网络谢希仁第七版课后题答案完整版,适合计算机考研及网络基础学习者使用,对应广工等高校指定参考书,可帮助系统梳理课后习题与核心考点。资源共包含1个docx文档,大小约10.23MB,内容为按章节编排的完整答案,便于检索和打印。文档覆盖计算机网络服务、分组交换、电路交换与报文交换比较、因特网发展历程、网络分类等核心知识点,并对时延计算、分组最小时延等典型题目附有推导过程,同时解释了边缘部分与核心部分、主干网与接入网等易混淆概念;每道题答案简洁明确,关键公式推导完整,适合对照教材逐章自测与巩固。尤其适合总复习阶段快速回顾核心考点。已有2041人学习下载,是备考生与自学者查漏补缺的实用资料。

1. 从课后答案反推考点:这份《计算机网络谢希仁第七版课后题答案完整版.docx》能帮你省多少时间

第一次翻开谢希仁《计算机网络》第七版的人,多半会在第一章的 1-10 和 1-11 两题上卡很久。这两道题问的是同一件事:分组交换到底比电路交换快多少,分组长度取多大总时延最小。考研 408 和高校期末卷子都爱拿它们出计算题,而答案里那个s > (k-1)×(p/b)的结论,很多同学背下来了,却不知道它是怎么推出来的。这份 docx 的价值在于:它把全书课后题的解答过程按章节整理好了,不是只给一个最终数字,而是带着推导步骤和公式来源。适合三类人——准备考研 408 计算机网络部分的考生、本科期末考前突击的学生,以及工作后想快速回补网络基础的工程师。接下来我按资源覆盖的章节顺序,把里面值得反复看的考点和容易踩的坑拆开讲。

2. 交换时延与分组交换:先搞懂三类考法的计算差别

2.1 电路交换、报文交换、分组交换的取舍逻辑

谢希仁第一章开篇就要求从多个方面比较三种交换方式。很多初学者直接背表格,但题目稍微变一下就不会做。我一般建议先抓到本质区别:电路交换是预约资源,报文交换是整包存储转发,分组交换是把报文拆小后再存储转发。从资源占用角度看,电路交换一旦建立连接,信道带宽就固定给这对通信双方,哪怕不说话也占着;报文交换和分组交换都是共享信道,谁有数据谁用。

从时延构成看,电路交换的时延里多了一项电路建立时间s,分组交换的时延里多了一项每跳路由器的存储转发时延。下面这个表基本覆盖了考试里所有对比题的得分点:

交换方式资源分配时延来源适用场景
电路交换预先分配,独占信道建立时间 + 传输时延 + 传播时延连续大数据量传输,如传统电话
报文交换动态逐段占用存储转发 + 传输时延 + 传播时延突发性数据,但报文过大时排队明显
分组交换动态逐段占用每跳存储转发 + 传输时延 + 传播时延互联网主流方式,适合交互式应用

2.2 分组交换时延公式:为什么答案里有(k-1)×(p/b)这一项

题目 1-10 是这一章最典型的计算题。要传送报文共xbit,源点到终点共k段链路,每段传播时延d,数据率b,电路建立时间s,分组长度p。答案给出的分组交换时延是:

分组交换时延 = kd + (x/p)×(p/b) + (k-1)×(p/b)

关键在前两项的理解。kd是每段链路的传播时延之和,这个好办。(x/p)×(p/b)是所有分组的发送时延总和——因为每个分组都要在链路上花p/b秒发送,一共有x/p个分组,这个跟链路段数无关,因为分组是流水线式发出的,第一个分组还没到终点时,后续分组已经在路上。真正容易漏的是(k-1)×(p/b)这一项,它代表每个分组在中间路由器上的存储转发延迟。注意是k-1而不是k,因为最后一个路由器转发完后,分组到达终点不需要再转发一次。

做这道题时我习惯先画一条线,标出源点、终点和中间的k-1个路由器,数一遍转发次数。很多同学把k当成结点数,结果k-1算成了k,白白丢分。答案里那句“当s > (k-1)×(p/b)时,电路交换时延比分组交换大”就是直接比较两式得来的。

2.3 最小时延的分组长度:对 p 求导那个“玄学”考点

1-11 题是 1-10 的进阶版。报文长度和分组长度分别为x和(p+h),其中p是数据部分,h是每个分组的控制信息固定长度。求使总时延最小的p。答案是p = [(xh)/(k-1)]^0.5,这个根号让很多人不理解来由。

这里要控制信息h带来的额外开销也计入发送时延。总时延 D 的完整表达式是:

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

传播时延和排队时延被忽略后,D 只由发送时延和存储转发时延组成。把 D 展开:

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

第一项里,p越大,每个分组携带的有效数据越多,分组数x/p越少,总开销越小;但第二项里,p越大,每个分组在路由器上的存储转发时间(p+h)/b越长。两边是矛盾的,所以存在一个最优值。求导令 D' = 0,就得到p = [(xh)/(k-1)]^0.5。理解了这个平衡逻辑,考试时就算忘了公式也能现场推。

2.4 关键计算题:用十几行脚本验算,比手推快得多

这类时延计算题很适合用 Python 验算,避免考场手算出错。以 1-28 题的四种情况为例:

file_size = 1.5 * 1024 * 1024 * 8 # 1.5MB 换算成比特,这里 M = 2^20 packet_size = 1024 * 8 # 1KB 分组换算成比特 rtt = 0.08 # RTT 80ms rate = 10 * 10**6 # 10Mb/s total_packets = file_size // packet_size # 1536 个分组 send_time = file_size / rate # 情况1:连续发送,最后分组还需要 0.5 RTT 的传播时间 t1 = 2 * rtt + send_time + 0.5 * rtt print(f"情况1: {t1:.3f}s") # 情况2:每发一个分组等一个 RTT t2 = 2 * rtt + send_time + 0.5 * rtt + (total_packets - 1) * rtt print(f"情况2: {t2:.3f}s")

输出分别是1.458s和124.258s,跟答案一致。注意代码里file_size的换算:1.5MB里的M是2^20不是10^6,这个坑每年都有人踩。参数设计上,packet_size必须先把 KB 换算成 bit 再参与除法,否则分组数和发送时延都会差 8 倍。

3. 分层体系与协议栈:为什么“协议—服务”是必考题

3.1 五层体系各层边界:一张图看清每层的 PDU 和职责

谢希仁在 1-24 题里要求论述五层协议的网络体系结构要点。这道题几乎每年都出现在考研真题的简答题里,值得完整背下来。五层结构融合了 OSI 七层和 TCP/IP 四层的优点,各层职责和协议数据单元 PDU 的对应关系如下:

层次典型设备PDU核心职责
应用层主机进程报文为用户应用进程提供服务,如 HTTP、DNS
运输层主机端口报文段端到端通信,复用分用,如 TCP、UDP
网络层路由器分组/数据报路由选择,跨网络寻址,如 IP
数据链路层交换机/网卡帧相邻结点间可靠传输,差错检测
物理层中继器/集线器比特流透明传输比特流,定义接口标准

这里有个细节经常被忽略:物理层传递信息的媒体,如双绞线、光缆,是“第 0 层”,不是物理层本身。谢希仁特意在题解里标注了这一点,考试时如果问“物理层包括传输媒体吗”,答案是明确不包括。这一章还有一种出题方式是把某层功能描述混在一起,让你判断属于哪一层,比如“选择路由使分组到达目的主机”是网络层,“通过复用分用向两个进程提供端到端服务”是运输层。

3.2 协议是“水平的”,服务是“垂直的”

1-21 题问协议与服务的区别和联系,这是另一个高频简答题。核心就是两句话:联系是协议控制对等实体通信,本层靠协议向上层提供服务,同时还要用下层提供的服务;区别是协议是水平的,服务是垂直的。所谓“水平”,是指两个对等层实体之间的通信规则,比如两台主机的运输层之间靠 TCP 协议沟通;“垂直”是指下层通过层间接口向上层提供服务,这是本地的、单向的。

考试里最常见的考察方式是先解释这两个词,再问“服务用户能看见协议吗”。答案是不能。本层的服务用户只能看见服务,看不见下面的协议——就像你使用微信聊天,能感知到的是应用层的服务,底层 TCP 怎么分片、IP 怎么路由,对你完全透明。这也是“透明”这个概念的考试意义。1-25 题问日常生活中的“透明”例子,电视、操作系统窗口都是;考试里如果遇到“透明传输是什么”,核心就是“不管所传数据是什么样的比特组合,都应该能在链路上传送”,对应到 3-11 题里电话通信不透明、电子邮件一般透明。

3.3 从 internet 和 Internet 看 TCP/IP 协议的考试套路

1-07 题区分小写开头的internet和大写开头的Internet。前者是通用名词,泛指多个计算机网络互连而成的网络,通信协议可任意选择;后者是专用名词,特指采用 TCP/IP 协议的互联网络。答案里那句“后者实际上是前者的双向应用”说的就是:Internet 是 internet 的一个具体实例,只是它强制使用 TCP/IP 协议族。

这个区分在之后的“everything over IP”和“IP over everything”里会再次出现。1-27 题问这两个短语的含义:everything over IP 指 TCP/IP 协议可以为各式各样的应用提供服务,也就是应用层不管是什么业务——网页、视频、文件传输——都能跑在 IP 之上;IP over everything 指 IP 协议可以在各式各样的网络上运行,不管是以太网还是点到点链路。这两句话合起来就是 TCP/IP 协议栈设计哲学的精髓:IP 层作为“万能承载网”,向上屏蔽异构网络的差异,向下兼容几乎所有物理网络。考试里如果出判断题说“IP 只能运行在以太网上”,那一定是错的。

4. 物理层与数据链路层:香农、CRC、PPP 三座大山怎么搬

4.1 奈氏准则与香农公式:信噪比的计算别只会背公式

第二章最核心的计算集中在奈氏准则和香农公式。奈氏准则给出了码元传输速率的极限:理想低通信道下,最高码元速率是带宽的两倍。香农公式给出了信息传输速率的极限:C = W×log2(1 + S/N)。2-08 题要求计算 3kHz 带宽电话信道传 64kb/s 数据所需的信噪比,答案是约 64.2dB。很多同学算出比值后不知道怎么转成分贝,这里记住公式信噪比(dB) = 10×log10(S/N),64.2dB 对应的 S/N 大约是 2.63×10^6,说明这个信道对信噪比的要求极高。

2-09 题是香农公式的进阶考法:带宽 3100Hz,最大传输速率 35kb/s,想让速率增加 60%,问信噪比增大到多少倍。解法分三步:

C1/W = 35000/3100 ≈ 11.29 S/N1 = 2^11.29 - 1 S/N2 = 2^(1.6×11.29) - 1 = 2^18.06 - 1 S/N2 / S/N1 ≈ 109.5

所以信噪比要增大到约 109.5 倍。接着问如果信噪比再增大十倍,最大信息速率能否再增 20%。算出来的结果是只能再增约 18.3%,达不到 20%。这说明什么?对数函数增长缓慢,想靠堆信噪比换速率,边际效果递减。考试时遇到这种题,先把公式写出来,再逐层代入,注意W的单位是 Hz,C的单位是 b/s。

4.2 CRC 校验:模 2 除法的考场速算与验算

第三章 3-07 题是 CRC 校验的经典题:数据 1101011011,生成多项式P(X) = X^4 + X + 1,求余数。生成多项式对应的除数是 10011(4 次方,所以后面补 4 个 0),把数据左移 4 位变成 11010110110000,做模 2 除法。模 2 除法跟普通除法的区别在于:每一步做减法时按位异或,不借位。手算步骤长,我一般直接用 Python 验算:

def crc_remainder(data: str, divisor: str) -> str: # 补齐除数长度减一个零 data = data + '0' * (len(divisor) - 1) data = list(data) div_len = len(divisor) for i in range(len(data) - div_len + 1): if data[i] == '1': for j in range(div_len): data[i + j] = str(int(data[i + j]) ^ int(divisor[j])) return ''.join(data[-(div_len - 1):]) print(crc_remainder('1101011011', '10011')) # 输出 1110

crc_remainder函数把数据补零后逐位异或,最后取除数长度减 1 的余数。输出1110,与答案一致。接收端收到数据和余数后,用同样的多项式再除一次,如果余数为 0,则认为没有出错;不为 0 说明传输有误。3-07 题里说“最后一位 1 变 0”和“最后两位 1 都变 0”都能被查出,是因为 CRC 的检错能力跟多项式有关,这两个错误模式都能被 10011 检测出来。注意一个结论:CRC 能检错,但数据链路层还不是可靠传输,因为它没有重传机制。这个考点在 3-07 答案里专门强调了。

4.3 PPP 协议:字节填充与零比特填充的“隐形陷阱”

PPP 协议是第三章必考内容,最容易丢分的点是帧填充。3-09 题给出一段十六进制数据7D 5E FE 27 7D 5D 7D 5D 65 7D 5E,问真正的数据是多少。规则是:异步传输时,信息字段里出现0x7E(帧定界符)就转成0x7D 5E,出现0x7D(转义字符)就转成0x7D 5D。所以反过来,7D 5E还原成7E,7D 5D还原成7D,答案就是7E FE 27 7D 7D 65 7E。注意原数据里FE 27和65没有转义,保留原样。

3-10 题考同步传输的零比特填充:数据 0110111111111100,遇到连续 5 个 1 就填入一个 0。发送端处理后的结果是 0110111110111110。接收端收到 0001110111110111110110 后,删掉 5 个连续 1 后面的 0,还原成 000111011111111110。这个“逢五填零、见零删零”的口诀,考试时特别容易数错连续 1 的个数。我建议在草稿纸上给原比特串从右往左分组,每 8 个一组,数到第 5 个连续 1 时停下来看后面是不是 1,如果是就填 0,这样不容易漏。PPP 不采用帧编号的原因是它只检错不纠错,可靠传输交给上层 TCP 处理。

4.4 CDMA 码片序列:内积归一化判断“谁在说话”

2-16 题是 CDMA 计算的必考题。题目给了 4 个站的码片序列 A、B、C、D,收到的码片序列 S,问哪个站发了数据、发的是 0 还是 1。解法就是做内积后除以 8(码片长度),结果大于 0 表示发 1,小于 0 表示发 0,等于 0 表示没有发送。A 和 D 的结果是 1,B 是 -1,C 是 0,所以 A、D 发 1,B 发 0,C 没发。

这里有一个计算技巧:码片序列里-1和+1的乘法要特别细心,一不留神符号就反了。我一般先把 S 的每一位和目标的码片逐位相乘,然后累加,结果除以码片长度。推荐在草稿纸上列一个两行的对齐表格,上下对应相乘,减少符号错误。2-15 题解释 CDMA 为什么能不干扰——各用户使用相互正交的码片序列,正交意味着内积为 0,所以同时同频通信也互不影响。优点是抗干扰强、保密性好,缺点是占用带宽大。

5. 避坑指南:课后题答案里没写透的五个高频失分点

5.1 单位换算:“M”到底是10^6还是2^20

现象:算 1-28 题时把 1.5MB 当成1.5×10^6字节,结果发送时延差了 4.86%,最终答案跟标准答案对不上。

原因:谢希仁教材里数据量用二进制单位,1MB =2^20字节;数据率用十进制单位,1Mb/s =10^6b/s。两种“M”混用是最大坑。

解决:做题前先统一单位。数据量一律换算成比特,且 1MB =2^20 × 8bit;速率里的 M 按10^6处理。实在记不住,就在草稿纸上写明“数据量 M = 2^20,速率 M = 10^6”,每次列式子前强制核对一遍。

5.2 存储转发次数:k段链路不等于k次转发

现象:计算分组交换时延,漏掉(k-1)×(p/b)或写成k×(p/b),导致整个时延差了一项。

原因:把“k 段链路”理解成“k 个路由器”。实际上 k 段链路中间有k-1个路由器,每个路由器转发一次,所以存储转发时延的系数是k-1,不是k。

解决:画一条水平线,左边源点、右边终点,中间画k-1个小圆圈代表路由器,标上序号。每层的存储转发发生在路由器上,终点只接收不转发。画完图再列公式,错误率能降一半。

5.3 RTT 计算:建立连接的2×RTT和最后分组的0.5×RTT总被漏

现象:算 1-28 题第一种情况,直接写了发送时延 + 0.5×RTT,忘加建立 TCP 连接的2×RTT,结果少了 0.16s。

原因:建立 TCP 连接需要三次握手,前两次各占一个 RTT,这对应答案里的2×RTT。最后一个分组到达接收方只需要半个 RTT,是因为传播时延是单向的,而 RTT 是往返时间。

解决:把“总时间 = 连接建立 + 发送阶段 + 最后一个分组的传播”拆成三段分别计算,最后再加总。连接建立固定2×RTT,最后一段固定0.5×RTT,中间才是发送时间。

5.4 CRC 模 2 除法:减法不借位,按位异或

现象:手算 3-07 题的 CRC 余数,按普通除法做减法,结果算出一个跟标准答案完全不同的余数。

原因:模 2 除法里“减”是异或运算,1-1=0、0-1=1,没有借位。初次手算的人很容易套用十进制除法的借位规则。

解决:第一步先把生成多项式对应的二进制写出来,比如X^4+X+1对应 10011。做除法时,当前位是 1 就对除数逐位异或,当前位是 0 就跳过。每步只操作高位的len(divisor)位,算完再补位。不确定时用前面给的小函数验算一遍。

5.5 PPP 转义:只处理7E和7D,别把普通字节也转义了

现象:做 3-09 题,把FE 27也当成需要转义的字节,结果还原后的数据多出了7D。

原因:PPP 异步传输只对0x7E和0x7D两个字节做转义。FE、27不在这两个值范围内,原样保留。

解决:先圈出数据中的7D 5E和7D 5D组合,分别替换成7E和7D,其他字节不动。还原后重新数一遍字节数,原数据有几个字节,还原后也必须是一样多——这是自检的好办法。

6. 把这套答案用出最大价值:配合视频课与真题的复习节奏

拿到这份 docx,别从头到尾当小说看。我一般是按“解题答案 → 考点总结 → 错题标记 → 真题验证”四个步骤循环使用。具体操作是:每学完一章,先不看答案,把课后题做一遍,再打开 docx 对照。做对的题简单扫一眼答案的表述就行,重点看那些做错的和没思路的。对照时不要只看结果数字,要看答案里的推导过程——比如 1-11 题求导,答案直接给了p = [(xh)/(k-1)]^0.5,但如果只是记住这个式子,换一道数据题还是不会。要顺着答案把求导过程推一遍,确认自己理解 D 的展开式里哪一项来自发送时延、哪一项来自存储转发。

如果配着湖科大教书匠或王道计算机网络的视频课复习,建议以课程章节为骨架、这份答案为练习题册。算法题如 CRC、香农公式,直接看答案的最终数是没用的,要自己在草稿纸推一遍再对照。视频课讲到某个知识点时,比如“分组交换为什么是互联网的核心”,立刻翻到对应题号做一遍,趁热打铁。对于期末考前突击的,优先吃透第一章、第二章的计算题和第三章的协议分析题,这些是最容易考原题或改编题的部分。

这份 docx 是 Word 格式,里面包含公式和表格,在 Windows 上用“搜索正文内容”功能可以直接定位到指定题号。另有一个进阶用法:把里面反复错的题摘出来,做成 Markdown 格式的错题本,每题附上自己的推导过程。还有同学把答案里的大题结论整理成一张速查表,考前只看表上那十几个公式和结论,比如奈氏准则C = 2W、香农公式C = W log2(1+S/N)、分组交换时延公式、CRC 生成多项式余数表,背熟比临时翻书快得多。第八版教材出来后,有一部分题号跟第七版对不上,但核心考点基本一致,用这份答案复习时注意按知识点对照,不必完全按题号走。

我自己备考时吃过一次亏:当时只看答案不手算,以为把公式记下来就够了,结果模拟卷上一道 CRC 计算题,手算了三遍,每次余数都不一样。从那以后,我每次做题都强制自己在草稿纸上完整走一遍计算过程,再跟 docx 对照。现在我把这个习惯推荐给身边每个学网络的人,不管是考研还是期末,计算题一定亲手算到和答案一致再算过。这份资源的题解足够完整,剩下的就是把它真正“练进”手里。希望帮到你。

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/30 3:21:19

分布式存储实战:选型、分层、副本与容量管理

大数据领域谈到底,总绕不开"到底存哪"这一步。很多团队一开始做数据平台,第一件事就是上一套分布式存储,可上了之后发现:容量是大了,但查询变慢;文件是能存了,但小文件多到元数据扛不…

作者头像 李华
网站建设 2026/9/30 3:21:19

VRRP网关冗余原理详解与eNSP双核心交换机实验实战

去年给一家小型企业做核心网络改造时,我碰到了一个特别典型的故障:接入层做了双链路,出口路由器也做了双机热备,结果核心交换机重启一次,整个办公室直接断网四十多分钟。事后排查原因很简单,全公司两百多台…

作者头像 李华
网站建设 2026/9/30 3:21:14

Flutter for OpenHarmony 实战:收入分析统计 App 开发全流程与避坑指南

去年年中,我接了手一个不算大但足够折腾的项目:在 OpenHarmony 设备上做一个生活助手 App,最核心的模块是收入分析统计——记录每笔收入,按日、周、月、年汇总,算分类占比,再看趋势。当时团队里没有人正经碰…

作者头像 李华
网站建设 2026/9/30 3:21:00

Git入门到精通:从版本控制基础到团队协作实战

你有没有经历过这样的时刻:项目文件夹里躺着一堆“项目方案最终版2.0(千万别动)”“项目方案_改稿_备份_final”这种名字的文件?我有。那是刚工作的第一年,三个人改同一个文档,没有版本管理,每天…

作者头像 李华
网站建设 2026/9/30 3:20:58

CentOS 7复制粘贴失效?用open-vm-tools-desktop彻底解决

1. 项目概述:为什么CentOS 7里装了VMware Tools却还是不能复制粘贴?在虚拟化办公和开发环境中,CentOS 7作为长期稳定、企业级部署首选的Linux发行版,被大量用于搭建测试环境、中间件服务或CI/CD节点。而VMware Workstation或VMwar…

作者头像 李华
网站建设 2026/9/30 3:20:43

SpringBoot项目搭建避坑指南:IDEA初始化底层原理与版本兼容

1. 为什么“快速搭建”这件事,比你想象的更值得深挖刚接触 SpringBoot 的人,常把“用 IDEA 新建一个项目”当成一个 5 分钟就能搞定的机械操作——点几下 Next,选个 JDK,勾几个 Starter,点 Finish,完事。但…

作者头像 李华