二、综合应用题

2027 · OCR 辅助 · 原书检索 · 文字用于定位,公式与图表请回原页核验 · 本次导入快照

# 二、综合应用题

01. 假定有一个通信协议,每个分组都引入 100B 的开销,用于首部和组帧。现在使用这个协议发送  $10^{6} \mathrm{~B}$  的数据,但在传送过程中有 1B 被破坏,因而包含该字节的那个分组被丢弃。对 1000B 和 20000B 的分组的有效数据大小,分别计算“开销 + 丢失”字节的总数量。为使“开销+丢失”字节的总数量最小,分组数据大小的最佳值是多少?
02. 考虑一个最大距离为  $2\mathrm{km}$  的局域网,当带宽多大时,传播时延(传播速率为  $2\times 10^{8}\mathrm{m / s}$ )等于 100B 分组的发送时延?对于 512B 分组,结果又如何?
03. 在两台计算机之间传输一个文件有两种可行的确认策略。第一种策略将文件截成分组,接收方逐个确认分组,但就整体而言,文件没有得到确认。第二种策略不确认单个分组,但当文件全部收到后,对整个文件予以确认。讨论这两种方式的优缺点。

<!-- page: 24 -->

2027年计算机网络考研复习指导

## 1.1.8 答案与解析

### 一、单项选择题

#### 01. B

计算机网络是由自治计算机互连起来的集合体,其中包含三个关键点:自治计算机、互连、集合体。自治计算机由软件和硬件两部分组成,能完整地实现计算机的各种功能;互连是指计算机之间能实现相互通信;集合体是指所有使用通信线路及互联设备连接起来的自治计算机的集合。选项 C 和 D 分别指多机系统和分布式系统。

#### 02. D

计算机网络的三大主要功能是数据通信、资源共享和分布式处理。计算机网络使各计算机之间的联系更加紧密而非相对独立。

#### 03. B

计算机网络是一些互连的、自治的计算机系统的集合。各计算机拥有独立的操作系统和硬件资源,它们之间是有联系的,通过网络协议和通信介质进行数据交换和资源共享。

#### 04. C

相对于报文交换而言,分组交换将报文划分为一个个具有固定最大长度的分组,以分组为单位进行传输。

#### 05. B

分组交换要求将数据分成等长的小数据段,每段都要加上控制信息(如目的地址),因此传送数据的总开销较大。相比其他交换方式,分组交换信道利用率高。传播时延取决于传播介质及收发双方的距离。对各种交换方式,不同规格的终端都很难相互通信,因此不是分组交换的缺点。

#### 06. A、A、A、C

本题综合考查几种数据交换方式的特点。电路交换虽然建立连接的时延较大,但在数据传输期间一直占据链路,优点是传输时延小、通信实时性强,适用于交互式会话类通信。缺点是建立连接时间长,系统效率低,不具备存储数据的能力,不具备差错控制的能力。

报文交换和分组交换都采用存储转发,传送的数据都要经过中间节点的若干存储、转发才能到达目的地,因此传输时延较大。报文交换传送数据的长度不固定且较长,分组交换要将传送的长报文分割为多个固定且长度有限的分组,因此传输时延较报文交换的小。

#### 07. A

数据报方式是一种无连接的分组交换技术,它先将报文拆分成若干较小的数据段,加上地址等控制信息后构成分组,这样做虽然会增加一些控制开销,但并不意味着数据报方式只适合于短报文的通信。数据报方式尽最大努力交付,不保证可靠性,分组可能出错或丢失,网络为每个分组独立地选择路由,转发的路径可能不同,因此分组不一定按序到达目的节点。

#### 08. A

按分布范围分类:广域网、城域网、局域网、个人区域网。

按拓扑结构分类:星形网络、总线形网络、环形网络、网状网络。

按传输技术分类:广播式网络、点对点网络。

按使用者分类:公用网、专用网。

按数据交换技术分类:电路交换网、报文交换网、分组交换网。

因此,根据网络的覆盖范围可将网络主要分为广域网、城域网和局域网。

<!-- page: 25 -->

第1章 计算机网络体系结构

13

09. B

主机 A 给主机 B 发送数据的最高理论速率取决于链路带宽及主机 A、主机 B 的网卡速率中最小者,因为它是数据传输的瓶颈。因此,最高理论速率为 $10\mathrm{Mb / s}$。

10. A

链路的传播时延 $= 100\mathrm{km}\div 10^{8}\mathrm{m / s} = 1\mathrm{ms}$,发送时延等于传播时延,因此发送时延也为 $1\mathrm{ms}$,所以分组的大小应为 $20\mathrm{Mb / s}\times 1\mathrm{ms} = 20\mathrm{Kb}$。

11. B

分组长度为 1000B,所有链路的数据传输速率为 $1\mathrm{Mb / s}$,因此,每段链路的发送时延为 $1000\mathrm{B}\div 1\mathrm{Mb / s} = 8\mathrm{ms}$,第一个分组从 A 到达 B 的时间为 $8 + 10 + 8 = 26\mathrm{ms}$,此后又经过 $10\mathrm{ms}$,第二个分组才到达 B,所以总时间为 $26 + 10 = 36\mathrm{ms}$,下图是传送过程的时空图。

注意,此题还可扩展为发送更多分组的情况,请读者自行分析。

原转写引用的配图未随 Markdown 保存,请回到原 PDF 核验。


12. B

若 H1 向 H2 发送 5kb 的数据,电路交换的时间为 $2 + 5\mathrm{kb} \div 2.5\mathrm{kb / s} = 4\mathrm{s}$,分组交换和报文交换的时间均为 $5\mathrm{kb} \div 2.5\mathrm{kb / s} + 5\mathrm{kb} \div 2.5\mathrm{kb / s} = 4\mathrm{s}$,选项 A 错误。若 H1 向 H2 发送 500kb 的数据,电路交换的时间为 $2 + 500\mathrm{kb} \div 2.5\mathrm{kb / s} = 202\mathrm{s}$,分组交换的时间为 $500\mathrm{kb} \div 2.5\mathrm{kb / s} + 5\mathrm{kb} \div 2.5\mathrm{kb / s} = 202\mathrm{s}$,选项 B 正确。若 H1 向 H2 发送 10kb 的数据,报文交换的时间为 $10\mathrm{kb} \div 2.5\mathrm{kb / s} + 10\mathrm{kb} \div 2.5\mathrm{kb / s} = 8\mathrm{s}$,分组交换的时间为 $10\mathrm{kb} \div 2.5\mathrm{kb / s} + 5\mathrm{kb} \div 2.5\mathrm{kb / s} = 6\mathrm{s}$,选项 C 错误。若 H1 向 H2 发送 15kb 的数据,电路交换的时间为 $2 + 15\mathrm{kb} \div 2.5\mathrm{kb / s} = 8\mathrm{s}$,报文交换的时间为 $15\mathrm{kb} \div 2.5\mathrm{kb / s} + 15\mathrm{kb} \div 2.5\mathrm{kb / s} = 12\mathrm{s}$,选项 D 错误。

13. C

分组大小为 1000B,其中首部占 20B,故每个分组携带的有效数据为 980B。文件总长为 980 000B,需划分为 1000 个分组;每个分组含首部共 1000B,因此共需传输的数据量为 $10^{6}\mathrm{B}$。由于所有链路的传输速率相同,沿最短路径传输时延最小,而最短路径经过 2 个交换机(共 3 段链路)。H1 发送完所有分组的时间为 $10^{6} \times 8\mathrm{b} \div 100\mathrm{Mb / s} = 80\mathrm{ms}$,此时最后一个分组刚离开 H1,该分组还需依次经过 2 个交换机(再通过 2 段链路)才能到达 H2,每段链路的传输时延为 $r = 1000 \times 8\mathrm{b} \div 100\mathrm{Mb / s} = 0.08\mathrm{ms}$。因此,H2 接收完全部数据的时间为 $80\mathrm{ms} + 2r = 80.16\mathrm{ms}$。

【另解】分组交换的传输过程类似于流水线。在连续传输过程中,各存储转发设备可同时处理不同的分组,就如同流水线中的各段并行工作。由于所有链路的速率相同,每段链路的传输时延 $r = 1000 \times 8\mathrm{b} \div 100\mathrm{Mb / s} = 0.08\mathrm{ms}$,最短路径有 3 段链路。H2 接收完全部数据的时间为 $3r + (m - 1)r = 3 \times 0.08\mathrm{ms} + (1000 - 1) \times 0.08\mathrm{ms} = 80.16\mathrm{ms}$。也就是说,第一个分组从流水线中流出所需的时间为 $3r$,此后每隔 $r$ 时间就有一个分组流出。

14. D

传输路径为:甲—路由器—乙。

在题中未明确说明的情况下,不考虑排队时延和处理时延,只考虑发送时延和传播时延;本题已忽略传播时延,因此只需计算报文交换和分组交换的发送时延。

报文交换:采用整报文传输,报文大小为 $8\mathrm{Mb}$($1\mathrm{M} = 10^{6}$)。每个节点(包括主机甲和路由器)

<!-- page: 26 -->

2027年计算机网络考研复习指导

在转发该报文前需要完整接收,因此需经历两次发送过程:甲向路由器发送报文,发送时延 $T = 8\mathrm{Mb} \div 10\mathrm{Mb/s} = 0.8\mathrm{s}$;路由器向乙转发该报文,同样需0.8s。总时延为1.6s,即1600ms。

分组交换:分组大小为 $10\mathrm{kb}$($1\mathrm{k} = 10^{3}$),忽略分组头开销,每个分组携带 $10\mathrm{kb}$ 数据。报文总长为 $8\mathrm{Mb}$,分组数 $m = 8\mathrm{Mb} \div 10\mathrm{kb} = 800$。参考2010年真题的流水线思路:甲与乙通过一个路由器相连,构成2段链路(2个流水段),每段链路的发送时延 $r = 10\mathrm{kb} \div 10\mathrm{Mb/s} = 1\mathrm{ms}$。第一个分组从甲发出后,需经过2段链路才能到达乙,耗时 $2r$;此后,流水线满载,每隔 $r$ 时间就有一个分组到达乙。因此,传输 $m = 800$ 个分组所需的总时间为 $t = 2r + (m - 1)r = 2 + (800 - 1) \times 1 = 801\mathrm{ms}$。

## 15. D

文件大小为1MB,分组长度为1000B,分组数量为 $1\mathrm{MB}\div 1000\mathrm{B} = 1000$。一个分组从H1到H2所需的时间 $= \mathrm{H}1$ 的发送时延 $t_1 + \mathrm{H}1$ 到路由器的传播时延 $t_2+$ 路由器的发送时延 $t_3+$ 路由器到H2的传播时延 $t_4$,其中 $t_1 = t_3 = 1000\mathrm{B}\div 100\mathrm{Mb / s} = 0.08\mathrm{ms}$,$t_2 = t_4 = 1000\mathrm{b}\div 100\mathrm{Mb / s} = 0.01\mathrm{ms}$。因此,一个分组从H1到H2的端到端时延为 $(0.08 + 0.01)\times 2 = 0.18\mathrm{ms}$。H1发送前999个分组所需的时间为 $999t_{1} = 79.92\mathrm{ms}$,此时,第1000个分组刚刚开始发送,它还需0.18ms才能到达H2。因此,从H1开始发送到H2收到全部数据所需的最短时间为 $79.92 + 0.18 = 80.10\mathrm{ms}$。

读者可以思考:若H1和H2之间有2个路由器,则所需的时间至少是多少?

## 16. B

H1到H2有三条路径。H1和H2各自连接路由器的链路带宽均为 $10\mathrm{Mb / s}$,这是所有路径共有的端侧链路。现在假设每个数据段为 $10\mathrm{Mb}$,分别分析各路径的吞吐量。

路径一:中间两段链路带宽均为 $1000\mathrm{Mb / s}$,受限于H1、H2直连路由器的链路带宽 $10\mathrm{Mb / s}$,无论中间链路有多快,数据从H1发出需1s($10\mathrm{Mb} \div 10\mathrm{Mb / s}$,受限于自身的 $10\mathrm{Mb / s}$ 出口),到达H2前最后一跳也需1s。吞吐量约为 $10\mathrm{Mb / s}$。

路径二:中间一段链路带宽为 $1\mathrm{Mb / s}$,H1发送一个数据段需1s,但经过中间 $1\mathrm{Mb / s}$ 链路时,转发时延为 $10\mathrm{Mb} \div 1\mathrm{Mb / s} = 10\mathrm{s}$(成为瓶颈),因此H2每隔10s收到一个数据段,吞吐量约为 $1\mathrm{Mb / s}$。

路径三:中间两段链路带宽均为 $100\mathrm{Mb / s}$,与路径一的分析类似,吞吐量约为 $10\mathrm{Mb / s}$。由此可见,端到端的吞吐量由路径中带宽最小的链路(瓶颈)决定。

## 17. B

采用电路交换时,$T_{\mathrm{CS}} =$ 电路建立时间 $32\mu \mathrm{s} +$ 文件传输时间 $2\mathrm{MB}\div 10\mathrm{Mb / s} = 32\mu \mathrm{s} + 1.6\mathrm{s}$。采用报文交换时,整个报文需要逐跳存储转发,$T_{\mathrm{MS}} = 2\mathrm{MB}\div 10\mathrm{Mb / s} + 2\mathrm{MB}\div 100\mathrm{Mb / s} + 2\mathrm{MB}\div 1000\mathrm{Mb / s} = 1.776\mathrm{s}$。采用分组交换时,分组数为 $2\mathrm{MB} / 400\mathrm{B} = 5000$,第一个分组从H1到H2的传输时延 $= 400\mathrm{B}\div 10\mathrm{Mb / s} + 400\mathrm{B}\div 1000\mathrm{Mb / s} + 400\mathrm{B}\div 1000\mathrm{Mb / s} = 355.2\mu \mathrm{s}$;之后,每 $320\mu \mathrm{s}$ 到达一个分组,故 $T_{\mathrm{PS}} = 355.2\mu \mathrm{s} + 320\times 4999\mu \mathrm{s} = 1.6\mathrm{s} + 35.2\mu \mathrm{s}$。因此 $T_{\mathrm{MS}} &gt; T_{\mathrm{PS}} &gt; T_{\mathrm{CS}}$。

## 二、综合应用题

### 01. 【解答】

设 $D$ 是分组数据的大小,需要的分组数量 $= 10^{6} \div D$,开销 $= 100N$(被丢弃分组的首部也已计入开销),因此“开销 + 丢失” $= 100 \times 10^{6} \div D + D$。

当 $D = 1000$ 时,“开销 + 丢失” $= 100 \times 10^{6} \div 1000 + 1000 = 101000\mathrm{B}$。

当 $D = 20000$ 时,“开销 + 丢失” $= 100 \times 10^{6} \div 20000 + 20000 = 25000\mathrm{B}$。

设“开销 + 丢失”字节总数量为 $y$,$y = 10^{8} \div D + D$,求微分有 $\mathrm{dy} \div \mathrm{d}D = 1 - 10^{8} \div D^{2}$。

当 $D = 10^{4}$ 时,$\mathrm{dy} \div \mathrm{d}D = 0$,所以分组数据大小的最佳值是10000B。

### 02. 【解答】

<!-- page: 27 -->

第1章 计算机网络体系结构

传播时延 = $2 \times 10^{3} \mathrm{~m} \div (2 \times 10^{8} \mathrm{~m} / \mathrm{s}) = 10^{-5} \mathrm{~s} = 10 \mu \mathrm{s}$。

1)分组大小为 100B:

假设带宽大小为 $x$,要使传播时延等于发送时延,带宽如下:

$$
x = 100 \mathrm{B} \div 10 \mu \mathrm{s} = 10 \mathrm{MB} / \mathrm{s} = 80 \mathrm{Mb} / \mathrm{s}
$$

2)分组大小为512B:

假设带宽大小为 $y$,要使传播时延等于发送时延,带宽如下:

$$
y = 512 \mathrm{B} \div 10 \mu \mathrm{s} = 51.2 \mathrm{MB} / \mathrm{s} = 409.6 \mathrm{Mb} / \mathrm{s}
$$

因此,带宽应分别等于 $80 \mathrm{Mb} / \mathrm{s}$ 和 $409.6 \mathrm{Mb} / \mathrm{s}$。

03. 【解答】

若网络容易丢失分组,则对每个分组逐一进行确认较好,此时仅重传丢失的分组。另一方面,若网络高度可靠,则在不发生差错的情况下,仅在整个文件传送的结尾发送一次确认,以减少确认次数,进而节省带宽。不过,即使只有单个分组丢失,也要重传整个文件。

1.2 计算机网络体系结构与参考模型

1.2.1 计算机网络分层结构

计算机网络是一个非常复杂的系统,因此在早期就采用了分层的设计思想。分层可将庞大而复杂的问题转换为若干较小的局部问题,而这些局部问题更易于研究和处理。

**参考资料** ⊗ 网络体系结构的概念(2010)

计算机网络的各层及其协议的集合称为网络的体系结构(Architecture)。换言之,计算机网络的体系结构是对该网络及其所应完成功能的精确定义。需要强调的是,这些功能究竟由何种硬件或软件实现,属于实现(Implementation)问题。体系结构是抽象的,而实现是具体的,体现在实际运行的计算机硬件和软件中。计算机网络体系结构通常具有可分层的特性,能将复杂的大系统分解为若干较易实现的层次。

分层的基本原则如下:

1)每层实现一种相对独立的功能,以降低整个系统的复杂度。
2)各层之间的接口清晰、简洁,相互依赖尽可能少,便于理解与维护。
3)各层功能的定义独立于具体实现方法,可采用最合适的技术来实现。
4)保持下层对上层的独立性,上层单向使用下层提供的服务。
5)整个分层结构应有利于标准化工作。

在网络分层结构中,第 $n$ 层的活动元素通常称为第 $n$ 层实体。具体而言,实体指任何可发送或接收信息的硬件或软件进程,通常是某个特定的软件模块。不同机器上的同一层称为对等层,同一层的实体互为对等实体。第 $n$ 层向第 $n+1$ 层提供的服务,实际上是其自身及以下所有层所提供服务的总和。第 $n$ 层的实体称为服务提供者,第 $n+1$ 层的实体称为服务用户。

- 协议数据单元(PDU):对等层之间传送的数据单位。第 $n$ 层的 PDU 记为 $n$-PDU。各层的 PDU 均由服务数据单元和协议控制信息两部分组成。
- 服务数据单元(SDU):相邻层之间交换的数据单位。第 $n$ 层的 SDU 记为 $n$-SDU。
- 协议控制信息(PCI):用于控制协议操作的信息。第 $n$ 层的 PCI 记为 $n$-PCI。

每层的 PDU 都有其通俗的名称:物理层的 PDU 称为比特流,数据链路层的 PDU 称为帧,

<!-- page: 28 -->

2027年计算机网络考研复习指导

网络层的PDU称为IP分组,传输层的PDU称为TCP报文段或UDP数据报。

当数据在各层之间传递时,将从第 $n + 1$ 层接收到的 PDU 作为第 $n$ 层的 SDU,加上第 $n$ 层的 PCI 后封装成第 $n$ 层的 PDU,再交由第 $n - 1$ 层作为其 SDU 发送。接收方收到后做相反的处理。

因此,三者的关系可表示为 $n - \mathrm{SDU} + n - \mathrm{PCI} = n - \mathrm{PDU} = (n - 1) - \mathrm{SDU}$,如图 1.10 所示。

原转写引用的配图未随 Markdown 保存,请回到原 PDF 核验。

图1.10 网络各层数据单元之间的关系

原转写引用的配图未随 Markdown 保存,请回到原 PDF 核验。

原转写引用的配图未随 Markdown 保存,请回到原 PDF 核验。


具体而言,分层结构的含义包括以下几个方面:

1)第 $n$ 层的实体不仅要利用第 $n - 1$ 层的服务来实现自身功能,还向第 $n + 1$ 层提供本层的服务,该服务是第 $n$ 层及其下面各层所提供服务的总和。
2)最低层只提供服务,是整个层次结构的基础;最高层面向用户提供服务。
3)上层只能通过相邻层的接口使用下层的服务,不能跨层调用。
4)通信时,对等层在逻辑上如同存在一条直接信道,表现为能够直接交换信息。