24-25-2-计算机网络-期末(参考样题)

一、单项选择题 (共15分, 每题1分)

  1. ( ) 下列关于 ADSL 描述哪个是错误的?
答案 / 解析

ADSL采用调制解调技术,属于物理层设备,采用频带传输方案。

  1. ( ) 在有传输误码的数据信道上传输数据,下列哪种方法不能正确地实现链路层的成帧处理?
  1. ( ) 如果用户计算机通过电话网接入因特网,则用户端必须具有:
  1. ( ) 链路层协议采用选择重传滑动窗口协议,其中数据帧编号采用8比特,发送窗口的最大值是:
  1. ( ) 以下哪个是正确的以太网地址?
  1. ( ) IP 路由器属于哪一层的互连设备?
  1. ( ) 下列哪种指标不是用来衡量网络服务质量(QoS)的主要指标?
  1. ( ) 某同学在校园网访问因特网,从该同学打开计算机电源到使用命令 ftp 202.38.70.25 连通文件服务器的过程中,哪个协议没有使用到?
答案 / 解析

打开计算机,获取IP地址使用DHCP,与文件服务器通信,使用IP和ARP协议。

  1. ( ) 某主机的 IP 地址为 10.83.77.15, 子网掩码为 255.255.252.0,当这台主机在子网内发送广播数据报时,IP 数据报中的源地址为
答案 / 解析

本子网内广播,源地址就是本机地址 10.83.77.15,目的地址为:网络号+主机号(全1),本子网的网络号是10.83.76.0/22,因此目的地址为10.83.79.255

  1. ( ) 某校分给数学教研室的 IP 地址块为 172.209.211.160/27,分配给外语教研室的地址块为 172.209.211.192/26,分配给物理教研室的地址块为 172.209.211.128/27。这三个地址块经过聚合后的地址块为:
  1. ( ) 关于 TCP/IP 协议特点的描述中,错误的是
  1. ( ) 在 TCP/IP 网络中,转发路由器对 IP 数据报进行分片的目的是:

第13题图

题图

第13题图

  1. ( ) 下图主机 A 发送一个 IP 数据报给主机 B,通信过程中以太网 1 上出现的以太网帧中承载一个 IP 数据报,该以太网帧中的目的地址和 IP 包头中的目的地址分别是:
  1. ( ) 使用命令 ping 202.13.125.32 探测连通性 使用了下列哪个协议?
  1. ( ) 当路由器接收到一个 1500 字节的 IP 数据报时,需要将其转发到MTU为980 的子网,分片后产生两个 IP 数据报,长度分别是:

二、判断题(共15分, 每题1分) 判断下面的每项陈述是否正确,正确的答 T, 错误的答 F。

  1. 双绞线是由两根相互绝缘的铜线组成,这两根铜线以螺旋状的形式绞在一起,而不是两根平行的线,目的是为了减弱电磁干扰。

  2. 快速以太网在物理层使用了曼彻斯特编码方式便于接收者提取同步时钟并识别媒体上的数据。

  3. 以太网交换机可以采用“存储-转发”的交换方式,也可以采用“直通式(cut-through)”交换方式。后者技术更先进,可以提高网络的吞吐量。

  4. VLAN 交换机可以构建逻辑上相互独立的多个网络,可做到这些逻辑上独立的网络间通信量的隔离,即使是广播信息也无法在两个逻辑网络之间穿透,而且不需要改造网络中所有主机的以太网卡和相关软件。

  5. 不考虑主机和路由器的软硬件故障,一个分组不可能被递交到错误的目的地。

  6. 目前常用的以太网交换机使用了 CSMA/CD 协议,实现链路层交换。

  7. 当网络的拓扑发生变化时,相对链路状态路由算法,距离矢量路由算法需要更长时间才能使路由表收敛到稳定状态。

  8. 在路由器检测到网络接近拥塞状态但尚未发生拥塞时,路由器随机丢弃部分数据包,这样会引起数据源端传输层的重传,反而使拥塞状况进一步恶化。因此,路由器应当尽可能的将数据报投递到目的端,完成网络层“尽力交付(best-effort delivery)”的承诺。

  9. IPv6 与 IPv4 相比不仅解决了解决 IPv4 地址耗尽问题,而且对协议报头进行简化,以便路由器快速处理分组。尽管如此,IPv6 的基本报头仍比 IPv4 基本报头更大。

  10. 私网路由器利用 SNA 技术,可以实现私网内多台主机共享同一个因特网 IP 地址访问因特网上的服务器的目的。

  11. 常用的有线传输介质有光纤、双绞线、同轴电缆,如果按照带宽的从低到高的顺序进行排序,则顺序为双绞线、同轴电缆、光纤。

  12. 在大规模网络中,采用层次化的分级路由的主要目的是缩短路由表的长度、节省内存并加快查表速度,但对某个具体的主机来说可能会未选用从源到目的地的最佳路由。

  13. 某局域网所有计算机和路由器都拥有固定的因特网 IP 地址。该局域网上的某台计算机正在使用 TCP 协议通过该局域网上的一台路由器访问因特网上某服务器,这时,该路由器崩溃并重新启动,由于 TCP 的自动重传机制提供了可靠的传输服务,所以,能够维持原有的通信能够继续进行。

  14. TCP 提供端到端传输服务,在接收方不能保证发送方应用层消息的消息边界,但 UDP 可以。

  15. 局域网最常用的传输介质是5类双绞线,3类双绞线的带宽极限为64kbps,所以不适用于高速率数据通信。

三、填空题 (共20分, 每题2分)

  1. 使用海明码传输 64 位的数据报文,则需个检查位才能确保接收方可以检测并纠正单位错误。

  2. 数据链路协议几乎总是将 CRC 放在尾部而不是头部,简单分析其主要原因是

  3. 利用地球同步卫星在一个 1Mbps 上的信道上发送 1000 位的帧,该信道离开地球的传输延迟为 270ms。确认信息总是被捎带在数据帧上,忽略帧头帧尾的控制信息。使用停等协议可获得的最大信道利用率是

  4. 共享信道协议中,评价一个协议优劣的两个主要指标是

  5. TCP在传输数据时不保留应用层消息的报文边界,但协议可以保留报文边界。

  6. 在设计网络时,网络层向传输层提供的两种服务类型是

  7. IP 地址块 192.168.15.136/29 的子网掩码可写为

  8. 从源主机向目的主机发送一个 IP 数据报,途经多台路由器,目的主机接收到的 IP 数据报与源主机发送的数据报在报头的域上不同。

  9. 决定 TCP 发送窗口大小的因素是

  10. TCP 解决“半开连接(Half-open)”问题采取的策略是

四、简答及计算题 (共40分)

  1. (6分) 在数据链路层中,两台主机利用停等协议实现可靠的数据传输。其中,数据帧中使用了1比特的序号位。为了节约网络带宽,如果取消数据帧中的序号位,是否仍可以保证可靠的通信?请阐述原因。
答案 / 解析

不能保证可靠的通信。

例如 A向B发送一帧,等B回送 ACK;

B收到并向A发送ACK,但ACK 丢失;

A向B重发上一帧;

B收下后无法区分这是新的一帧还是原先帧的重传,因而协议出现错误。

  1. (6分) 以太网交换机中的转发表的每个表项包括哪些内容?交换机在什么时机向转发表中增加一项?在什么时机删除一项?
答案 / 解析
  1. 每个表项主要包括:目的 MAC 地址,端口号,时间戳;
  2. 当收到一个 MAC 帧,如果源地址不在转发表中时,增加一项:MAC 地址 为源地址,端口号为接收该帧的端口,时间戳为当前时间;如果源地址 已在转发表中时,更新时间戳;
  3. 定时扫描转发表每一项的时间戳,超时则删除该项。
  1. (5分) 简述链路状态路由协议的基本工作过程。
答案 / 解析

主要包括以下5个步骤:

  1. 发现邻居,学习邻居的地址
  2. 测量到邻居的费用(开销 cost)
  3. 构造链路状态数据包 LSP
  4. 扩散链路状态数据包 LSP到网络中所有路由器
  5. 使用 Dijkstra 算法计算路由
  1. (6分) 在 10Mbps 的网络上,一台主机通过令牌桶进行流量整形。令牌的到达速率为 2Mbps。初始时,令牌桶被填充到 6Mbits 的容量,计算该主机发送 40Mbits 数据需要多长时间?
答案 / 解析
  1. 突发时间为 s=6102=0.75ss = \frac{6}{10-2} = 0.75s, 共发送 10×0.75=7.510 \times 0.75 = 7.5 Mbits
  2. 剩余的 407.5=32.540 - 7.5 = 32.5 Mbits 按 2Mbps 发送,需 32.52=16.25s\frac{32.5}{2} = 16.25s
  3. 共需要 0.75+16.25=17s0.75 + 16.25 = 17s
  1. (5分) 一台路由器的 CIDR 表项:
地址下一跳
135.46.56.0/22接口0
135.46.60.0/22接口1
192.53.40.0/23路由器1
默认路由器2

对于下面的每一个地址,请回答,如果到达的数据报目标地址为该 IP 地址,那么路由器将执行什么处理?

  1. 135.46.63.10
  2. 135.46.57.14
  3. 135.46.52.2
  4. 192.53.40.7
  5. 192.53.56.7
答案 / 解析
  1. 135.46.63.10: 与 135.46.60.0/22 匹配,下一跳为接口 1;
  2. 135.46.57.14: 与 135.46.56.0/22 匹配,下一跳为接口 0;
  3. 135.46.52.2: 无匹配项,走默认路由,下一跳为路由器 2;
  4. 192.53.40.7: 与 192.53.40.0/23 匹配,下一跳为路由器 1;
  5. 192.53.56.7: 无匹配项,走默认路由,下一跳为路由器 2;

路由器将根据匹配结果,把相关数据报转发到对应的下一跳接口或路由器。

  1. (6分) 在 TCP 协议实现中,为了避免可能出现的性能退化问题,采取了 Nagle 算法和 Clark 算法,简述这两个算法分别解决了什么问题。
答案 / 解析
  1. Nagle 算法用来解决发送端 TCP 上层应用程序每次向 TCP 协议实体传递较小数据量(比如:1字节或几个字节)而引起的报头字节数占整个报文字节数的比例太大而导致的传输效率低下问题;发送端应积累数据直到已发送的数据得到确认(ACK)或者数据积累到足够大(1/2 发送缓冲区或者凑足了一个 MSS)。
  2. Clark 算法解决因为接收端通告小窗口(比如:1字节或几个字节)而造成的TCP 传输效率低下的问题:一个通告报文仅能导致少量的有效数据传输,有效数据字节数与报头字节数的比例太低。接收端不在接收缓冲区稍有空闲时就立刻通知发送端新的接收窗口,应在接收缓冲区的空闲部分达到1/2 或者足够一个 MSS后才通知发送端。
  1. (6分) 在一条往返时间为 5ms 的无拥塞线路上使用慢启动算法。接收窗口为 24K 字节,最大数据段长度为 1K 字节。请分析需要多长时间才发送满窗口的数据?
答案 / 解析

初始拥塞窗口(cwnd)为 1 MSS = 1K。RTT = 5ms。

  • 时间 0ms: 发送 1K, cwnd = 1K。
  • 时间 5ms: 收到 ACK, cwnd 变为 2K。发送 2K。
  • 时间 10ms: 收到 ACK, cwnd 变为 4K。发送 4K。
  • 时间 15ms: 收到 ACK, cwnd 变为 8K。发送 8K。
  • 时间 20ms: 收到 ACK, cwnd 变为 16K。发送 16K。
  • 时间 25ms: 收到 ACK, cwnd 变为 32K。

此时拥塞窗口 32K > 接收窗口 24K, 发送窗口大小取决于接收窗口, 为 24K。

因此在 25ms 后,可以发送满窗口的数据。所以需要 25ms。

五、协议分析题(共10分, 前8题每题1分, 第9题2分)

本地主机 A 的一个应用程序使用 TCP 协议与同一局域网内的另一台主机 B 通信。用 Sniffer 工具捕获本机 A 以太网发送和接收的所有通信流量,目前已经得到 8 个 IP 数据报。下表以 16 进制格式逐字节列出了这些 IP 数据报的全部内容,其中,编号 2,3,6 为收到的 IP 数据报,其余为发出的 IP 数据报。假定所有数据报的 IP 和 TCP 校验和均是正确的。

编号方向辅助标号IP 包的全部内容
1A->BTCP-145 00 00 30 82 fc 40 00 80 06 f5 a5 c0 a8 00 15 c0 a8 00 c0
06 64 31 ba 22 68 b9 90 00 00 00 00 70 02 ff ff ec e2 00 00
02 04 05 b4 01 01 04 02
2B->A45 00 00 2f 00 07 40 00 40 01 24 42 c0 a8 00 65 da 20 7b 57
08 00 69 5a 36 6f 00 07 73 48 5b 49 37 5c 04 00 08 09 0a 0b
0c 0d 0e 0f 10 11 12
3B->A45 00 00 30 00 00 40 00 40 06 b8 a2 c0 a8 00 c0 c0 a8 00 15
31 ba 06 64 5b 9f f7 1c 22 68 b9 91 70 12 20 00 83 45 00 00
02 04 05 b4 01 01 04 02
4A->BTCP-245 00 00 28 82 fd 40 00 80 06 f5 ac c0 a8 00 15 c0 a8 00 c0
06 64 31 ba 22 68 b9 91 5b 9f f7 1d 50 10 ff ff c6 d9 00 00
5A->BTCP-345 00 00 38 82 fe 40 00 80 06 f5 9b c0 a8 00 15 c0 a8 00 c0
06 64 31 ba 22 68 b9 91 5b 9f f7 1d 50 18 ff ff bc b7 00 00
f8 9f e3 e3 2c 12 c2 89 24 34 6a 13 55 b7 65 59
6B->A45 00 00 28 3f 28 40 00 40 06 79 82 c0 a8 00 c0 c0 a8 00 15
31 ba 06 64 5b 9f f7 1d 22 68 b9 a1 50 10 20 00 af f9 00 00
7A->BTCP-445 00 00 38 83 0b 40 00 80 06 f5 8e c0 a8 00 15 c0 a8 00 c0
06 64 31 ba 22 68 b9 a1 5b 9f f7 1d 50 18 ff ff bc a7 00 00
f8 9f e3 e3 2c 12 c2 89 24 34 6a 13 55 b7 65 59
8A->BTCP-545 00 00 48 83 3e 00 00 80 06 35 4c c0 a8 00 15 c0 a8 00 c0
06 64 31 ba 22 68 b9 a1 5b 9f f7 1d 50 18 ff ff b2 8d 00 00
f8 9f e3 e3 2c 12 c2 89 24 34 6a 13 55 b7 65 59 dd 47 2c 3a
b1 0c 9a f1 75 1b 4f 75 62 df 03 19
  1. A和B的IP 地址以点分十进制表示分别是

  2. TCP连接两端A和B上的TCP 端口号以16进制表示分别是

  3. B发出的IP 数据报有相同的TTL 字段值,TTL 值等于

  4. A 发送的5个 IP 包中累计 IP 报头和 TCP 报头一共有字节。

答案 / 解析

5个IP包头,每个包头5×4=205 \times 4 = 20字节,累计5×20=1005 \times 20 = 100字节。

5个TCP段, TCP头长度分别为28, 20, 20, 20, 20字节。将报头长度字段的值相加再乘以4: (7+5+5+5+5)×4=27×4=108(7+5+5+5+5) \times 4 = 27 \times 4 = 108字节。

合计 100+108=208100 + 108 = 208 字节。

  1. 表中编号为的 IP 数据报实现了 TCP 连接建立过程中的三次握手。
答案 / 解析

利用SYN和ACK比特判断。包1有SYN标志,包3有SYN,ACK标志,包4有ACK标志。

  1. 根据三次握手报文提供的信息,连接建立后如果B 发数据给A,那么首字节的编号以 16 进制表示是
答案 / 解析

B发给A的SYN报文(包3)中的序号是 5b9ff71c,因此B发送的第一个数据字节的序号是 5b9ff71c + 1 = 5b9ff71d。

  1. A 上的应用程序已经请求 TCP 发送的应用层数据总计为字节。
答案 / 解析

A发送的应用层数据在包5和包8中。包7和包8序号相同,可视为包8是包7的重传(或修正),因此只计算一次。

包5的数据长度 = 总长度 - IP头长 - TCP头长 = 56 - 20 - 20 = 16 字节。

包8的数据长度 = 总长度 - IP头长 - TCP头长 = 72 - 20 - 20 = 32 字节。

总数据量 = 16 + 32 = 48 字节。

  1. 如果8号 IP 数据报之后,B 正确收到了 A 已发出的所有IP 数据报,B发给A 的TCP报文段中 ACK 号以16进制表示应当为
答案 / 解析

B收到的最后一个数据段是包8,其序号为 2268b9a1,数据长度为32字节(0x20)。因此下一个期望收到的字节序号为 0x2268b9a1 + 0x20 = 0x2268b9c1。

  1. 在8号IP 数据报之后,A 上应用程序请求 TCP 发送新的 65495 字节应用层数据,那么,按TCP协议,在A未能得到B的任何回馈报文之前,TCP 最多可以把这些应用层数据的字节发送到网络中。
答案 / 解析

包7和包8序号相同,表明可能发生了超时重传。超时后,拥塞窗口(cwnd)会重置为1个MSS。从包1的TCP选项(02 04 05 b4)可知,MSS = 0x05b4 = 1460字节。B在包6中通告的接收窗口(rwnd)为0x2000 = 8192字节。发送窗口 = min(cwnd, rwnd) = min(1460, 8192) = 1460字节。包8已经发送了32字节的数据,这部分数据占用了发送窗口。因此,在收到新的ACK前,还能发送的新数据量为 1460 - 32 = 1428 字节。