计算机科学测验 - II: 第 1 部分

2025年3月17日 | 阅读 12 分钟

主题 4 - 计算机网络

1) 在没有中继器的一公里长的电缆上传输速率为每秒十亿比特(Gbps)是使用 MAC 层 CSMA/CD 协议的网络的速度。电缆的信号传输容量为 2 x 10^8 米/秒。该网络的最小帧大小应为

  1. 10000 比特
  2. 10000 字节
  3. 10000 字节
  4. 5000 字节

答案: (a) 10000 比特

说明

已知:

带宽,B = 1 Gbps = 10^9 比特/秒

长度,L = 1 公里 = 10^3 米

速度,S = 2 x 10^8 米/秒

帧大小,F = ?

我们知道传输时间(Tt)= 2 x 传播时间(Tp)

其中,Tt = F/B ______ (i)

而 Tp = L/S ________ (ii)

由 (i) 和 (ii) 可得

Computer Science Quiz - II: Part 1

F = 2 * 10^3 * 10^9 / 2 * 10^8

F = 10^4 比特 = 10000 比特

因此,(a) 是正确答案。


2) 考虑一个使用一公里长电缆和每秒 1 亿比特(10^8 比特/秒)数据传输来发送信息的 CSMA/CD 网络。如果网络的最小帧大小为 1250 字节,信号在电缆中的传播速度(以公里/秒为单位)是多少?

  1. 8000
  2. 16000
  3. 20000
  4. 10000

答案: (c) 20000 公里/秒

说明

已知:

带宽,B = 1 Mbps = 10^8 比特/秒

长度,L = 1 公里 = 10^3 米

帧大小,F = 1250 字节 = 1250 * 8 比特

速度,S = ?

我们知道传输时间(Tt)= 2 x 传播时间(Tp)

其中,Tt = F/B ______ (i)

而 Tp = L/S ________ (ii)

由 (i) 和 (ii) 可得

Computer Science Quiz - II: Part 1

S = 2 * 10^3 * 10^8 / 8*1250

S = 2 * 10^11 / 10^4

F = 2 * 10^7 = 20000 * 10^3 米/秒

F = 20000 公里/秒

因此,(c) 是正确答案。


3) 关于 CSMA/CD 的以下哪个说法是正确的?

  1. IEEE 802.11 无线 LAN 使用 CSMA/CD 协议。
  2. CSMA/CD 协议不是以太网的基础。
  3. 传播延迟较长的网络,例如卫星网络,无法使用 CSMA/CD。
  4. CSMA/CD 网络没有任何冲突。

答案: (c) 传播延迟较长的网络,例如卫星网络,无法使用 CSMA/CD。

解释:为了让接收器能够识别任何冲突,CSMA/CD 要求发送器必须持续传输,至少直到第一个比特到达目的地。对于具有高传播延迟的网络,所需的最小数据包大小会变得过大而无法实用。


4) 数据通信协议中的帧分隔符标志由 0111 表示。发送器需要广播数据序列 01110110。经过比特填充后的数据序列是

  1. 0111001110
  2. 0111101101
  3. 0110101100
  4. 1011101101

答案: (c) 011010110

解释:当发送器在数据中发现 011 序列时,它会填充 '0' 比特。因此,得到的数据序列将是 0110101100,标记的比特是填充的比特。

因此,(c) 是正确答案。


5) 在涉及比特填充的帧系统中使用 8 位分隔符模式 01111110。如果填充后的输出比特串是 01111100101,那么输入比特串是

  1. 01111110101
  2. 01111100101
  3. 0111110101
  4. 0111100101

答案: (c) 0111110101

解释: 8 位分隔符是 01111110,所以数据序列中的每个 '011111' 序列后都跟一个比特 '0'。输出是 01111100101,其中标记的比特是填充的比特。因此,输入比特串是 0111110101。


6) 以下关于以太网局域网的哪个说法是正确的?

  1. 在开始广播帧后,站会暂停以感知信道。
  2. 用填充帧填充不足最小帧大小的帧是拥塞信号的目标。
  3. 即使发现冲突,站也会继续发送数据包。
  4. 指数退避算法降低了重传时发生冲突的可能性。

答案: (d)

解释:以太网是最常见的数据传输局域网。它是一种数据链路层协议,描述了如何准备数据进行传输以及如何将其放置在网络上。

现在我们来讨论以太网协议,我们将逐个分析每个选项。

(A) 此选项是错误的,因为以太网站不一定需要在传输帧之前暂停以感知信道。

(B) 发送拥塞信号是为了通过警告所有其他站或设备已发生的冲突来阻止进一步的数据传输。因此,此选项也错误

(C) 冲突发生后,数据传输会停止,并发送拥塞信号。因此,此选项也错误

(D) 指数退避算法用于降低重传时发生冲突的可能性。因此,只有此选项是正确的


7) 以下配对中的一个配对中的两个协议都可以在同一个客户端和服务器之间使用多个 TCP 连接。其中之一是哪个?

  1. HTTP, FTP
  2. HTTP, TELNET
  3. FTP, SMTP
  4. HTTP, SMTP

答案: (a) HTTP, FTP

解释:如果使用非持久连接,HTTP 可能为不同的网页项使用不同的 TCP 连接。FTP 使用两个 TCP 连接,一个用于数据,另一个用于控制。TELNET 和 FTP 都只能同时使用一个连接。


8) 以下哪一项使用 UDP 作为传输协议?

  1. HTTP
  2. TELNET
  3. DNS
  4. SMTP

答案: (c) DNS

解释:用户数据报协议 (UDP) 在端口 53 上是 DNS 处理请求的主要协议。在 DNS 查询期间,客户端发送一个 UDP 请求,服务器响应一个 UDP 响应。


9) 互联网服务提供商 (ISP) 拥有以下 CIDR 地址块:245.248.128.0/20。ISP 希望将一半的地址留给自己,并将一半分配给组织 A,另一半分配给组织 B。以下哪个地址分配给 A 和 B 是合法的?

  1. 245.248.136.0/21 和 245.248.128.0/22
  2. 245.248.128.0/21 和 245.248.128.0/22
  3. 245.248.132.0/22 和 245.248.132.0/21
  4. 245.248.136.0/22 和 245.248.132.0/21

答案: (a) 245.248.136.0/21 和 245.248.128.0/22

解释:由于路由前缀是 20,ISP 拥有 2^(32-20) 或 2^12 个地址。一半(或 2^11)的 2^12 个地址必须分配给组织 A,其余四分之一(2^10)必须分配给组织 B。因此,组织 A 的路由前缀将是 21。B 的前缀将是 22。当我们检查问题中提供的所有可能性时,只剩下选项 (A) 和 (B),因为只有它们具有相同数量的路由前缀。现在,我们必须在选项 (A) 和 (B) 之间进行选择。

ISP 必须取地址 245.248.128.0 的前 20 位,并将第 21 位设置为 0 或 1,才能为组织 A 分配地址。类似地,ISP 必须修改组织 B 的第 21 位和第 22 位。如果我们仔细查看选项 (A) 和 (B),可以看到组织 B 的第 21 位和第 22 位在两个选项中都被视为 0。因此,组织 A 的第 21 位必须是 1。组织 A 的地址是 245.248.136.0/21,如果取地址 245.248.128.0 的前 20 位,并将第 21 位设置为 1。


10) 考虑到主机刚刚重启,请确定当浏览器从远程服务器请求网页时,主机发送以下数据包的正确顺序。

  1. HTTP GET 请求,DNS 查询,TCP SYN
  2. DNS 查询,HTTP GET 请求,TCP SYN
  3. DNS 查询,TCP SYN,HTTP GET 请求
  4. TCP SYN,DNS 查询,HTTP GET 请求

答案: (c) DNS 查询,TCP SYN,HTTP GET 请求

解释:当客户端请求信息时,服务器确定 DNS。要查找 DNS 的地址,请执行 DNS(域名服务器)查询。然后,必须建立 TCP 连接才能继续通信。发送 TCP SYN 消息将建立 TCP 连接。在建立连接后,发送 HTTP GET 请求到服务器以检索应显示的网页。当响应提供后,服务器终止 TCP 连接。


11) 必须通过已设置为支持此功能的防火墙,允许专用网络的主机打开 TCP 连接并发送打开连接的数据包。但是,它不允许外部主机打开到专用网络主机的 TCP 连接,而是只允许它们通过已存在的打开 TCP 连接或正在打开的连接(由内部主机发起)传输数据包。为了实现这一点,防火墙应具有以下最小功能

  1. 组合电路
  2. 有限自动机
  3. 带一个栈的下推自动机
  4. 带两个栈的下推自动机

答案: (d) 带两个栈的下推自动机

说明

选项 a) 组合电路不是正确答案,因为防火墙需要内存,而组合电路没有内存。

选项 b) 有限自动机不是正确答案,因为我们需要无限内存,并且 TCP 连接的数量没有上限。

选项 c) 带单个栈的下推自动机 - 栈是无限的;因此,此选项无效。如果有两个连接并且它们的详细信息已推入栈中,则无法在弹出它之前访问首先被推入其详细信息的连接。

选项 d) 两个栈和一个下推自动机 - 这是图灵机,因此此选项是正确的。它可以执行常规计算机可以执行的所有操作。是的。图灵机可用于构建防火墙。


12) 考虑 Linux 系统中的套接字 API,它支持已连接的 UDP 套接字。已连接的 UDP 套接字是指先前调用过 connect 函数的套接字。

以下哪些陈述是正确的?

I. 使用已连接的 UDP 套接字可以同时与多个对端通信。

II. 对于已连接的 UDP 套接字,进程可以成功地再次调用 connect 方法。

  1. 只有 I
  2. 只有 II
  3. I 和 II
  4. 既不是 I 也不是 II

答案: (b) 仅 II

说明

I. 错误 - 使用已连接的 UDP 套接字不可能同时与多个对端通信。尽管 UDP 没有连接,但每个 UDP 套接字都有一个唯一的 IP 地址和端口号用于连接。因此,我们无法同时使用同一个套接字连接到多个对端。

II. 正确 - 对于已连接的 UDP 套接字,进程可以成功地再次调用 connect 方法。如果实现允许,我们可以再次调用 connect 来连接到新的对端并断开与先前对端的连接。


13) 需要客户端进程 P 和服务器进程 S 之间的 TCP 连接。考虑以下情况:服务器进程 S 按顺序执行 socket()、bind() 和 listen() 系统调用,然后被抢占。客户端进程 P 然后使用 socket() 和 connect() 系统调用与服务器进程 S 建立连接。尚未由服务器进程调用 accept() 系统调用。以下哪种情况是可能的?

  1. connect() 系统调用成功返回
  2. connect() 系统调用阻塞
  3. connect() 系统调用返回错误
  4. connect() 系统调用导致核心转储

答案: (c) connect() 系统调用返回错误

解释:由于未调用 accept() 方法,connect() 在一段时间内没有收到响应以等待,没有返回服务器错误响应,然后未收到响应。


14) 以下哪个套接字 API 调用将一个断开连接的活动 TCP 套接字变成一个被动套接字?

  1. connect()
  2. bind()
  3. accept()
  4. listen()

答案: (d) listen()

解释:当一个套接字被 listen() 函数标记为被动时,表示它将用于接受 accept() 发起的传入连接请求。


15) 考虑以下关于 TCP 超时值的陈述。

I. 在连接的整个活动期间,超时值将设置为在 TCP 连接创建期间记录的 RTT(往返时间)。

II. TCP 连接的超时值是使用适当的 RTT 估计算法设置的。

III. 超时值已设置为发送方和接收方之间传播时间的双倍。

以下哪个选项是正确的?

  1. I 为 True,但 II 和 III 为 False
  2. I 和 II 为 False,但 III 为 True
  3. I 和 III 为 False,但 II 为 True
  4. I、II 和 III 均为 False

答案: (b) II 为 True,但 I 和 III 为 False

说明

TCP 中的超时定时器:由于数据链路层 (DLL) 连接是逐跳的,因此无法得知从发送方到接收方传输数据涉及多少跳,因为使用了 IP 服务,并且路径有时会发生变化。因此,TCP 使用动态定时器。为了防止由重传引起的不必要拥塞,应调整超时定时器,使其随着流量的变化而增长或减少。

为此,有三种算法可用

  1. 基本算法,
  2. Jacobson 算法,和
  3. Karl 的修改。

选项 I 为 False,因为我们需要一个动态的超时定时器,因为超时值不能在超时期间固定,否则定时器将是静态的。

选项 II 为 True,因为所有三种算法都可用于动态设置超时值,并且适合 RTT 估计。

选项 III 为 False,因为数据链路层(其中逐跳距离已知)将超时设置为传播延迟的两倍,而不是在 TCP 层。


16) 以下哪个断言是错误的?

  1. 分组交换而不是电路交换可以最大限度地利用可用带宽。
  2. 与电路交换相比,分组交换产生的延迟波动较小。
  3. 与电路交换相比,分组交换需要对每个分组进行更多的处理。
  4. 与电路交换相比,分组交换可能导致重新排序。

答案: (b) 与电路交换相比,分组交换产生的延迟波动较小是不正确的。

说明

根据每个数据包的目的地址,数据通过分组交换网络以离散的小数据包形式传输。一旦收到数据包,就会通过重新组装数据包来创建消息。

电路交换网络需要专用的点对点连接。

  • 由于数据以数据包的形式移动,分组交换比电路交换产生更多的资源利用。
  • 电路交换由于有专用路径,导致排队延迟波动较大,而分组交换的波动较小。
  • 由于所有信息都必须在一个数据包中,并且需要在结尾进行数据包重组,因此分组交换比电路交换需要更多的数据包处理。

因此,只有 b 是错误的。


17) 生存时间(TTL)是包含在 IP 数据报中的报头字段。以下哪个陈述最能解释该字段的必要性?

  1. 它可以应用于数据包优先级排序。
  2. 可用于缩短等待时间。
  3. 吞吐量可以使用它进行优化。
  4. 使用它可以阻止数据包循环。

答案: (d) 使用它可以阻止数据包循环。

解释: IP 数据报的生存时间可以看作是其在网络中存在时间的限制。TTL 字段可以防止数据报无法递送而持续循环的情况。


18) IP 数据报 D 从主机 A(在 TCP/IP v4 网络 A 上)发送到主机 B(在 TCP/IP v4 网络 B 上)。假设 D 在传输过程中没有发生任何错误。D 到达 B 时,以下哪个 IP 报头字段可能与原始数据报不匹配?

  1. 校验和
  2. TLL
  3. 分片偏移
    1. 仅 I
    2. 仅 II
    3. 仅 II 和 III
    4. I、II 和 III

答案: (d) I、II 和 III

说明

  • 每次转发都会导致 TTL 减少。因此,TTL 与原始值不同。
  • 由于 TTL 发生变化,数据包的校验和也会发生变化。
  • 当数据包的大小超过网络的 MTU(最大传输单元)时,它会被视为分片。由于数据包的分片,一些中间网络可能会调整分片偏移。

因此,(d) 是正确答案。


19) 以下哪个陈述是准确的?

  1. IP 数据包和以太网帧都包含校验和字段。
  2. IP 数据包有一个 CRC 字段,而以太网帧有一个校验和字段。
  3. 以太网帧有一个 CRC 字段,而 IP 数据包有一个校验和字段。
  4. 以太网帧和 IP 数据包都包含 CRC 字段。

答案: (c) 以太网帧有一个 CRC 字段,而 IP 数据包有一个校验和字段。

说明

以太网帧中有一个 32 位 CRC,如图所示。

此处显示图像

IP 数据报中有一个 16 位报头校验和,如图所示。

此处显示图像

因此,(c) 是正确答案。


20) 以下哪个 IP 报头字段不会被标准 IP 路由器修改?

  1. 长度
  2. 源地址
  3. 校验和
  4. 生存时间(TTL)

答案: (b) 源地址

解释:当发生 IP 分片时,长度和校验和可能会被更改。路径上每个路由器都会减少生存时间。源地址在任何时候都不会改变。