1、计算机学科专业基础综合计算机网络-9 及答案解析(总分:100.00,做题时间:90 分钟)一、综合应用题(总题数:25,分数:100.00)1.假定主机 A 和 B 在一个具有 C 类 IP 网络地址 200.0.0.0/24 的以太局域网上。现在通过一条对 B 的直接连接把主机 C 附接到该网络(参见下图)。 (分数:4.00)_2.许多公司的策略都是用两个(或更多个)路由器把公司连接到因特网,以提供一些冗余,防止它失效时失去连接性。在这种策略下,还可能使用 NAT 吗? (分数:4.00)_3.因特网的组播是怎样实现的?为什么因特网上的组播比以太网上的组播复杂得多? (分数:4.00)_
2、4.在主机仅有 1 个接口的情况下为什么主机还要有路由表呢? (分数:4.00)_5.水平分裂是怎样工作的? (分数:4.00)_6.试述使用抑制分组策略实现拥塞控制的工作原理。 (分数:4.00)_7.图(a)给出了一个示例子网,其延时已标在线路上,图(b)示出了所有六个路由器对应的链路状态分组。 在图(a)所示子网中,路由器 B 所用的数据结构如下表所示。这里的每一行对应一个新近到达的但尚未完全处理完的链路状态分组。这张表记录了分组来自何处,它的顺序号、存活时间以及数据。另外,对于 B的三条线路(分别前往 A、C 和 F)中的每一条都有发送和应答标志。发送标志表示该分组必须在所示线路上发出
3、去,应答标志表示该分组必须在那儿应答。 在下表中,在每一行上的两组 A、C、F 比特的布尔“或”都是 111。这只是一种巧合,还是对所有的子网在所有情况下都成立? (分数:4.00)_一个单位有一个 C 类网络 200.1.1。考虑到共有四个部门,准备划分子网。这四个部门内的主机数目分别是:A72 台,B35 台,C20 台,D18 台,即共有 145 台主机。(分数:4.00)(1).给出一种可能的子网掩码安排来完成划分任务。(分数:2.00)_(2).如果部门 D 的主机数目增长到 34 台,那么该单位又该怎么做?(分数:2.00)_8.某单位分配到一个 B 类 IP 地址,其 net-i
4、d 为 129.250.0.0。该单位有 4000 台机器,平均分布在 16 个不同的地点。如选用子网掩码为 255.255.255.0,试给每一地点分配一个子网号码,并计算出每个地点主机号码的最小值和最大值。 (分数:4.00)_9.从 IPv4 过渡到 IPv6 的方法有哪些?简述这些方法。 (分数:4.00)_如下图所示为一个 TCP 主机中的拥塞窗口的变化过程,这里最大数据段长度为 1024 字节,请回答如下问题: (分数:4.00)(1).该 TCP 协议的初始阈值是多少?为什么?(分数:1.00)_(2).本次传输是否有发生超时?如果有,是在哪一次传输超时?(分数:1.00)_(3
5、).在 14 次传输的时候阈值为多少?(分数:1.00)_(4).在本题中,采用了什么拥塞控制算法?(分数:1.00)_10.假设一台主机将 500 字节的应用层数据给传输层进行处理,序列号为 4 位,最大的 TPDU 生存周期是30 秒。(考虑传输层头部 20 字节)若使序列号不回绕,该线路的最大数据率是多少? (分数:4.00)_11.设 TCP 使用的最大窗口为 64KB,似定信道平均带宽为 1Mhps,报文段的平均往返时延为 80ms,并且不考虑误码、确认字长、头部和处理时间等开销,问该 TCP 连接所能得到的最大吞吐量是多少?此叫传输效率是多少? (分数:4.00)_12.使用 TC
6、P 对实时话音数据的传输有没有什么问题?使用 UDP 在传送数据文件时会有什么问题? (分数:4.00)_13.UDP 和 TCP 都使用端口号标识报文投递的目的地实体。至少给出两条理由,说明这些协议为什么要采用一个新的抽象 ID(端口号),而不使用在设计这些协议时就已存在的进程 ID? (分数:4.00)_14.试述三次握手的过程(包括异常情况)。如果在面向连接的传输层使用二次握手,将会出现什么样的情况?为什么? (分数:4.00)_15.若 TCP 中的序号采用 64 比特编码,而每一个字节有其自己的序号,试问:在 75Tbps 的传输速率下(这是光纤信道理论上可达到的数据率),分组的寿命
7、应为多大才不会使序号发生重复? (分数:4.00)_16.为什么要使用 UDP?让用户进程直接发送原始的 IP 分组不就足够了吗? (分数:4.00)_17.考虑在一条具有 10ms 来回路程时间的线路上采用慢启动拥塞控制,而不发生网络拥塞情况,接收窗口24KB,且最大段长 2KB。那么,需要多长时间才能够发送第一个完全窗口? (分数:4.00)_18.在因特网文件服务器和客户访问的套接口编程中,要求两部分程序中的 SERVER_PORT 值必须相同,这一点很:重要,为什么? (分数:4.00)_19.为什么在 TCP 头部最开始的 4 个字节是 TCP 的端口号? (分数:4.00)_20.
8、信用量协议相对于滑动窗口协议有什么优点和缺点? (分数:4.00)_21.如下图所示的连接释放过程中,主机 B 能否先不发送 ACK=x+1 的确认?(因为后面要发送的连接释放报文段中仍有 ACK=x+1 这一信息) (分数:4.00)_22.在使用 TCP 传送数据时,如果有一个确认报文段丢失了,也不一定会引起与该确认报文段对应的数据的重传。试说明理由。 (分数:4.00)_23.一个 TCP 报文段的数据部分最多为多少个字节?为什么?如果用户要传送的数据的字节长度超过 TCP 报文段中的序号字段可能编出的最大序号,问还能否用 TCP 来传送? (分数:4.00)_计算机学科专业基础综合计算
9、机网络-9 答案解析(总分:100.00,做题时间:90 分钟)一、综合应用题(总题数:25,分数:100.00)1.假定主机 A 和 B 在一个具有 C 类 IP 网络地址 200.0.0.0/24 的以太局域网上。现在通过一条对 B 的直接连接把主机 C 附接到该网络(参见下图)。 (分数:4.00)_正确答案:()解析:考虑到路由选择,C 必须有自己的子网。尽管这个子网很小,但它也减少了原先的以太网可提供的主机数,现在主机号最多只能是 7 位二进制。下表给出的是主机 B 的一种可能的路由选择表,其中子网号和掩码的最后一个字节都用二进制表示。注意,有些地址不匹配这两个子网中的任何一个(保留
10、给未来增加新的子网)。 网络 子网 掩码的最后 1 个字节 接口 200.0.0 0/0000000 1000 0000 以太网 200.0.0 100000/00 1111 1100 直接链路 2.许多公司的策略都是用两个(或更多个)路由器把公司连接到因特网,以提供一些冗余,防止它失效时失去连接性。在这种策略下,还可能使用 NAT 吗? (分数:4.00)_正确答案:()解析:在安装 NAT 之后,关键的一点是属于主机对网络单条连接的所有分组要通过同一台路由器进入和离开公司。如果每个路由器都有它自己的 IP 地址,并且属于主机对网络同一条给定连接的所有交通可以被送往同一个路由器,映射可以正确
11、进行,NAT 的多宿主机也可以正常工作。3.因特网的组播是怎样实现的?为什么因特网上的组播比以太网上的组播复杂得多? (分数:4.00)_正确答案:()解析:因特网的组播是靠路由器来实现的,这些路由器必须增加一些能够识别组播的软件。能够运行组播协议的路由器可以是一个单独的路由器,也可以是运行组播软件的普通路由器。因特网上的组播比以太网上的组播复杂得多,因为以太网本身支持广播和组播,而因特网上当前的路由器和许多物理网络都不支持广播和组播。4.在主机仅有 1 个接口的情况下为什么主机还要有路由表呢? (分数:4.00)_正确答案:()解析:为了发送分组,主机仍然需要有路由表。这不仅因为需要路由表告
12、诉主机缺省网关是哪个设备,而且还要定义网络的广播地址以及回送(100pbaek)接口。 如下图所示,像是 PC 和服务器这样的主机典型地是连接到多路访问的广播网络上。在这里可能有数百台甚至数千台设备连在同一个 IP 子网上,主机也可能有多个网关。在给出的示例中,两台路由器跟一组 PC连在同一网络上。如果 PC 的缺省网关是 192.168.1.1,那么在它的路由表中将有下面列出的一条路由: 目标网络 网络掩码 网关 接口 度量 0.0.0.0 0.0.0.0 192.168.1.1 192.168.1.3 1 5.水平分裂是怎样工作的? (分数:4.00)_正确答案:()解析:在完全静态的环境
13、里,距离向量算法将路由传播到所有目的地。然而当路由迅速改变时,计算是不可能平稳的。当一条路径改变,例如一条新的连接出现或一条老的连接出了故障时,有关信息将缓慢地从一个结点传播到另一个结点,在这期间,某些网关就可能拥有不正确的路由选择信息,从而可能产生路由回路。在某些情况下,通信子网内路由选择信息的不一致会持续一个相当长的时间。解决慢聚合问题的一个办法是水平分裂,它禁止一个路由器在同一接口上通告一个在该接口上收到其路由信息的网络。 在下图所示中,所有的路由器都使用 RIP,在某个时间 t=0,路由器 A 向路由器 C 通告网络 1 具有 1 个跳段的代价。同时,路由器 B 向路由器 D 通告网络
14、 1。在路由器 C 的下一个更新期间,它向路由器 E 通告它的整个路由表,包括具有 2 个跳段代价的网络 1。它还把在它的路由表中的这些路由通告给路由器 A。在不实施水平分裂的情况下,这些路由中包括具有 2 个跳段代价的网络 1。 6.试述使用抑制分组策略实现拥塞控制的工作原理。 (分数:4.00)_正确答案:()解析:每个路由器都监视其输出线路和其他资源的利用率。当一条输出线路的利用率超过临界值的时候,该输出线路就进入“警告”状态。路由器对新到达的每个分组都要检查它的输出线路是否处于警告状态。如果是,路由器就给该分组的源主机发送一个抑制分组,并在抑制分组中给出源分组的目的地。同时,路由器在原
15、分组的头上做个标记(使用头中的某一位)表明对该分组已经发送过抑制分组,然后将该分组跟正常情况一样地继续沿通路向目的地转发。因此,其他路由器不会对该分组再产生抑制分组。当源主机收到抑制分组时,它被要求把发往指定目的地的交通量减少 x%。由于可能又有若干前往同一目的地的其他分组已经发出,并正在行进途中,从而可能产生更多的抑制分组,所以源主机应该在一个固定长度的时间内忽略跟该目的地有关的其他抑制分组。在那段时间之后,源主机在另一个固定长度的时间内侦听是否又有抑制分组到达。如果有一个抑制分组到达,说明线路仍然拥塞,因此源主机更多地减少数据流,并开始再次忽略跟该目的地有关的其他抑制分组。如果在侦听时间段
16、内没有抑制分组到达,主机可以再增加数据流。这种明确的反馈机制可以帮助防止拥塞,但不抑制通过的数据流。主机可以根据它的策略参数来减少交通,例如调节窗口大小或漏桶输出速率。典型地,第一个抑制分组使得数据速率减少到原来速率的 0.5,下一个抑制分组再减少到原来速率的 0.25,等等。流量增加的速度宜以小的增量逐步进行,以防止很快又再次发生拥塞。7.图(a)给出了一个示例子网,其延时已标在线路上,图(b)示出了所有六个路由器对应的链路状态分组。 在图(a)所示子网中,路由器 B 所用的数据结构如下表所示。这里的每一行对应一个新近到达的但尚未完全处理完的链路状态分组。这张表记录了分组来自何处,它的顺序号
17、、存活时间以及数据。另外,对于 B的三条线路(分别前往 A、C 和 F)中的每一条都有发送和应答标志。发送标志表示该分组必须在所示线路上发出去,应答标志表示该分组必须在那儿应答。 在下表中,在每一行上的两组 A、C、F 比特的布尔“或”都是 111。这只是一种巧合,还是对所有的子网在所有情况下都成立? (分数:4.00)_正确答案:()解析:这个结论总是成立。如题中图示出的是路由器 B 所使用的数据结构,A、C 和 F 是它的三个相邻结点。如果一个分组在一条线路上到达,则必须在该线路上返回对它的确认。如果该分组没有从某一条线路上接收过,那么它必须在该线路上转发。一个单位有一个 C 类网络 20
18、0.1.1。考虑到共有四个部门,准备划分子网。这四个部门内的主机数目分别是:A72 台,B35 台,C20 台,D18 台,即共有 145 台主机。(分数:4.00)(1).给出一种可能的子网掩码安排来完成划分任务。(分数:2.00)_正确答案:()解析:每个部门分配一个子网,名义上部门 A、B、C、D 的子网大小分别是:2 7 (=128),2 6 (=64),2 4 (=32)和 2 5 (=32)。 IP 地址的最高位是 0 表示子网 A,最高两位是 10 表示子网 B,最高三位是 110 表示子网 C,最高三位是111 表示子网 D。显然这里采用了可变长子网掩码,涉及 3 种子网掩码,
19、分别是255.255.255.128、255.255.255.192、255.255.255.224。(2).如果部门 D 的主机数目增长到 34 台,那么该单位又该怎么做?(分数:2.00)_正确答案:()解析:给部门 A 分配两个子网 01 和 001,名义上分别是 64 个地址和 32 个地址,共 96 个地址;部门 B 不变,仍然是 10,名义上大小为 64 个地址;部门 C 改为 000,名义上大小是 32 个地址;部门 D 改为 11,名义上大小是 64 个地址。8.某单位分配到一个 B 类 IP 地址,其 net-id 为 129.250.0.0。该单位有 4000 台机器,平均
20、分布在 16 个不同的地点。如选用子网掩码为 255.255.255.0,试给每一地点分配一个子网号码,并计算出每个地点主机号码的最小值和最大值。 (分数:4.00)_正确答案:()解析:单位有 4000 台机器,平均分布在 16 个不同的地点,可以得出:4000/16=250,平均每个地点 250台机器。如选 255.255.255.0 为掩码,则每个网络所连主机数=2 8 -2=254250,可给每个地点分配如下表所示的子网号码: 地点 子网号 子网网络号 主机 IP 的最小值和最大值 1 00000001 129.250.1.0 129.250.1.1129.250.1.254 2 00
21、000010 129.250.2.0 129.250.2.1129.250.2 254 3 00000011 129.250.3.0 129.250.3.1129.250.3.254 4 00000100 129.250.4.0 129.250.4.1129.250.4.254 5 00000101 129.250.5.0 129.250.5.1129.250.5.254 6 00000110 129.250.6.0 129.250.6.1129.250.6.254 7 00000111 129.250.7.0 129.250.7.1129.250.7.254 8 00001000 129.2
22、50.8.0 129.250.8.1129.250.8.254 9 00001001 129.250.9.0 129.250.9.1129.250.9.254 10 00001010 129.250.10.0 129.250.10.1129.250.10.254 11 00001011 129.250.11.0 129.250.11.1129.250.11.254 12 00001100 129.250.12.0 129.250.12.1129.250.12.254 13 00001101 129.250.13.0 129.250.13.1129.250.13.254 14 00001110
23、129.250.14.0 129.250.14.1129.250.14.254 15 00001111 129.250.15.0 129.250.15.1129.250.15.254 16 00010000 129.250.16.0 129.250.16.1129.250.16.254 9.从 IPv4 过渡到 IPv6 的方法有哪些?简述这些方法。 (分数:4.00)_正确答案:()解析:(1)兼容 IPv4 的 IPv6 地址。 兼容 IPv4 的 IPv6 地址是一种特殊的 IPv6 单点广播地址,一个 IPv6 结点与一个 IPv4 结点可以使用这种地址在 IPv4 网络中通信。这种地
24、址是由 96 个“0”位加上 32 位 IPv4 地址组成。假如某结点的 IPv6 地址是 192.56.1.1,那么兼容 IPv4 的 IPv6 地址就是 0:0:0:0:0:C038:101。 (2)双 IP 协议栈。 双 IP 协议栈是指在一个系统中同时使用 IPv4 和 IPv6 两种协议栈。这类系统既拥有 IPv4 地址,也拥有IPv6 地址,因而可以收发 IPv4 和 IPv6 两种 IP 数据报。 (3)基于 IPv4 隧道的 IPv6。 它是将整个 IPv6 报封装在 IPv4 数据报中,由此实现在当前 IPv4 网络中 IPv4 与 IPv6 结点之间的 IP 通信。如下图所
25、示为一个 TCP 主机中的拥塞窗口的变化过程,这里最大数据段长度为 1024 字节,请回答如下问题: (分数:4.00)(1).该 TCP 协议的初始阈值是多少?为什么?(分数:1.00)_正确答案:()解析:该 TCP 协议的初始阈值为 16KB。最大数据段长度为 1KB,可以看出在拥塞窗口到达 16KB 之后就呈线性增长了,说明初始阈值是 16KB。(2).本次传输是否有发生超时?如果有,是在哪一次传输超时?(分数:1.00)_正确答案:()解析:该 TCP 传输在第 13 次传输时发生了超时,可以看到拥塞窗口在 13 次传输后变为 1KB。(3).在 14 次传输的时候阈值为多少?(分数
26、:1.00)_正确答案:()解析:在 14 次传输的时候拥塞窗口变为 12KB,可以看到在之后的传输中,拥塞窗口到达 12KB 之后呈线性增长。(4).在本题中,采用了什么拥塞控制算法?(分数:1.00)_正确答案:()解析:采用了慢启动的算法,因为可以看到在发送失败后拥塞窗口马上变为了 1KB,而且阈值也变为了之前的一半。 解析 (1)慢开始算法,每经过一个 RTT,拥塞窗口值要加倍,曲线呈指数型增长; (2)当拥塞窗口等于门限值时,开始执行拥塞避免算法; (3)拥塞避免算法,每经过一个 RTT,拥塞窗口值要加一,曲线呈线性增长;拥塞控制过程如下图所示: 10.假设一台主机将 500 字节的
27、应用层数据给传输层进行处理,序列号为 4 位,最大的 TPDU 生存周期是30 秒。(考虑传输层头部 20 字节)若使序列号不回绕,该线路的最大数据率是多少? (分数:4.00)_正确答案:()解析:TPDU 大小为(500+20)=520(字节),序列号的个数为 2 4 =16,在生存周期 30 秒内可发送 16 个TPDU。 85201630=22272(比特/秒),即 22.272kbps。因此,该线路的最大数据率是 22.272kbps。11.设 TCP 使用的最大窗口为 64KB,似定信道平均带宽为 1Mhps,报文段的平均往返时延为 80ms,并且不考虑误码、确认字长、头部和处理时
28、间等开销,问该 TCP 连接所能得到的最大吞吐量是多少?此叫传输效率是多少? (分数:4.00)_正确答案:()解析:6410248(8010 -3 )=6.5536(Mbps)(RTT 时间内把窗口信息发送完的速率)。由于6.5536Mbps1Mbps,所以该 TCP 连接所能得到的最大吞吐率是 1Mbps,此时传输效率是 100%。 事实上,641024810 6 524ms80ms,即最大窗口的发送时间大于往返时延,在这种情况下,发送方可以不间断地发送,最大吞吐量必然等于带宽。12.使用 TCP 对实时话音数据的传输有没有什么问题?使用 UDP 在传送数据文件时会有什么问题? (分数:4
29、.00)_正确答案:()解析:如果话音数据不是实时播放(即边接收边播放)就可以使用 TCP,因为 TCP 有重传机制可靠。接收端用 TCP 将话音数据接收完毕后,可以在以后的任何时间进行播放。但假定是实时传输,不宜重传,则必须使用 UDP。UDP 不保证可靠递交,没有重传机制,但 UDP 比 TCP 的开销要小很多,实时性好;因此只要应用程序接受这样的服务质量就可以使用 UDP。13.UDP 和 TCP 都使用端口号标识报文投递的目的地实体。至少给出两条理由,说明这些协议为什么要采用一个新的抽象 ID(端口号),而不使用在设计这些协议时就已存在的进程 ID? (分数:4.00)_正确答案:()
30、解析:这里有三个理由。第一,进程 ID 是操作系统特有的,使用进程 ID 将使得这些协议依赖于操作系统。第二,单个进程有可能建立多个通信通道,把单个进程 ID 用作目的地标识符不能够对这些通道互相区别。第三,让进程在周知端口上倾听是可能的,但周知的进程 ID 是不可能的。14.试述三次握手的过程(包括异常情况)。如果在面向连接的传输层使用二次握手,将会出现什么样的情况?为什么? (分数:4.00)_正确答案:()解析:要建立一条连接,TCP 要使用 3 次握手动作,如下图所示,进行连接建立的 TCP 双方通过交换 3 个报文段来同步顺序号。 15.若 TCP 中的序号采用 64 比特编码,而每
31、一个字节有其自己的序号,试问:在 75Tbps 的传输速率下(这是光纤信道理论上可达到的数据率),分组的寿命应为多大才不会使序号发生重复? (分数:4.00)_正确答案:()解析:顺序号空间的大小是 2 64 个字节,约为 210 19 字节,7589.375,即 75Tbps 的发送器每秒消耗 9.37510 12 个序列号。210 19 (9.37510 12 )210 6 ,所以顺序号循环一周需用 210 6 秒。一天有 86400 秒,以 75Tbps 速率发送,顺序号循环一周所花的时间约等于 210 6 8640023(天),因此,最长的分组生命周期小于 23 天可以避免顺序号循环重
32、复问题。16.为什么要使用 UDP?让用户进程直接发送原始的 IP 分组不就足够了吗? (分数:4.00)_正确答案:()解析:仅仅使用 IP 分组还不够。IP 分组包含 IP 地址,该地址指定一个目的机器。一旦这样的分组到达了目的机器,网络控制程序如何知道该把它交给哪个进程呢?UDP 分组包含一个目的端口,这一信息是必需的,因为有了它,分组才能被投递给正确的进程。17.考虑在一条具有 10ms 来回路程时间的线路上采用慢启动拥塞控制,而不发生网络拥塞情况,接收窗口24KB,且最大段长 2KB。那么,需要多长时间才能够发送第一个完全窗口? (分数:4.00)_正确答案:()解析:慢启动拥塞控制
33、考虑了两个潜在的问题,即网络容量和接收方容量,并且分别处理每一个问题。为此,每个发送方都维持两个窗口,即接收方准许的窗口和拥塞窗口。发送方可以发送的字节数是这两个窗口中的最小值。 当建立一条连接的时候,发送方把拥塞窗口初始化为在该连接上使用的 1 个最大报文段尺寸。然后它发送1 个最大报文段。如果这个报文段在超时之前得到确认,发送方就把拥塞窗口增加到 2 个最大报文段长,并发送两个报文段。当发出去的每个报文段被确认时,拥塞窗口都要增加 1 个最大报文段。因此,当拥塞窗口是 n 个报文段时,如果所有 n 个报文段都及时得到确认,那么拥塞窗口将增加 n 个最大报文段,变成2n 个最大报文段。事实上
34、,每一次突发性连续报文段都会使拥塞窗口加倍。 拥塞窗口继续按指数型增长,直到超时发生,或者到了接收方窗口的边界。其思想是如果突发量1024B、2048B 和 4096B 工作得很好,但 8192B 的突发量引起超时,那么拥塞窗口应该设置成 4096B 以避免拥塞。只要拥塞窗口保持在 4096B,不管接收方准许什么样的窗口空间,都不会发送大于 4096B 的突发量。这种算法就被称为慢启动。当然,它根本不是慢的意思。现在所有的 TCP 实现都需要支持这个算法。 现在,最大的段长是 2KB,开始的突发量分别是 2KB、4KB、8KB 和 16KB,下面是 24KB,即第一个完全窗口。10ms4=40ms。因此,需要 40ms 才能发送第一个完全窗口。18.在因特网文件服务器和客户访问的套接口编程中,要求两部分程序中的 SERVER_PORT 值必须相同,这一点很:重要,为什么? (分数:4.00)_