计算机网络 第五章 课后题答案

  1. 对于面向连接服务,在分组交付时是否会发生错序?

    考点:网络层的数据包处理

    答:可能发生错序。面向连接的服务一般不会发生错序。当有特殊包,如异常事件应该优先处理,不排队不按照顺序交付。

  2. 考虑书图 5.12(a)中的子网。该子网使用了距离矢量路由算法,路由器 C 刚刚收到了下列矢量:来自 B 的矢量为(5, 0, 8, 12, 6, 2)、来自 D 的矢量为(16,12,6,0,9,10)、来自 E 的矢量为(7,6,3,9,0,4)。经测量,C 到 B、D 和 E 的延迟分别为 6、3 和 5。请问 C 的新路由表将会怎么样?请给出将使用的输出线路以及预期延迟。

    考点:距离矢量路由算法

    答:根据题意,C测取相邻结点的时延 d B C = 6 , d C D = 3 , d C E = 5 d_{BC}=6,d_{CD}=3,d_{CE}=5dBC=6dCD=3dCE=5
    d A C d_{AC}dACs A C s_{AC}sAC

d A B + d B C = 5 + 6 = 11 d_{AB}+d_{BC}=5+6=11dAB+dBC=5+6=11

d A D + d D C = 16 + 3 = 19 d_{AD}+d_{DC}=16+3=19dAD+dDC=16+3=19

d A E + d E C = 7 + 5 = 12 d_{AE}+d_{EC}=7+5=12dAE+dEC=7+5=12

d A C = 11 , 且 s A C = B d_{AC}=11,且 s_{AC}=BdAC=11sAC=B
同理得到其他表项,如 d B C = 6 d_{BC}=6dBC=6,且 s B C = C s_{BC}=CsBC=C
最终 C 的路由表为:

目的站延迟下一站
A11B
B6C
C0-
D3C
E5C
F8B
  1. 对于 4800 台路由器的网络采用三层分级路由,请问应该选择多大的区域和群才可以将路由表的尺寸降低到最小?假设将 k 台路由器构成一个区域,k 个区域构成一个群,并且总共有 k 个群,这样的方案接近于最优的方案。这意味着 k 大约是 4800 的立方根(约等于 16)。请试验所有这三个参数在 16 附近的各种组合。

    考点:分级路由

    答:最佳方案是 4800 = 15 × 16 × 20 4800=15×16×204800=15×16×20,此时路由表尺寸最小,路由表表项为 14 + 15 + 20 = 49 14+15+20=4914+15+20=49。也可选择 20 × 16 × 15 20×16×1520×16×15,总表项长度一样,为 49。同理,共 6 种组合。

  2. 一个数据报子网允许路由器在必要的时候丢弃分组。一台路由器丢弃一个分组的概率为 p。请考虑这样的情形:源主机连接到源路由器,源路由器连接到目的路由器,然后目的路由器连接到目的主机。如果任一台路由器丢掉了一个分组,则源主机最终会超时,然后再重试发送。如果主机至路由器以及路由器至路由器之间的线路都计为一跳,那么:
    (a)一个分组每次传输中的平均跳数是多少?
    (b)一个分组的平均传输次数是多少?
    (c )每个接收到的分组平均要求多少跳?

    考点:平均概率计算

    答:拓扑连接图为 S-R1-R2-D
    (a)数据可能的跳数为:1、2、3。1、2、3跳的概率分别为:p , ( 1 − p ) p , ( 1 − p ) 2 p,(1-p)p,(1-p)^2p(1p)p(1p)2。则每次传输的平均跳数= p + 2 ( 1 − p ) p + 3 ( 1 − p ) 2 = p 2 − 3 p + 3 =p+2(1-p)p+3(1-p)^2=p^2-3p+3=p+2(1p)p+3(1p)2=p23p+3.
    (b)数据1次发送成功的概率= ( 1 − p ) 2 =(1-p)^2=(1p)2(设为A),则1次发送不成功的概率为 1-A。则数据发送的次数= ∑ k = 1 ∞ k ( 1 − A ) k − 1 A = 1 ( 1 − p ) 2 =∑_{k=1}^∞k(1-A)^{k-1} A=\frac{1}{(1-p)^2}=k=1k(1A)k1A=(1p)21
    (c)每个分组的平均跳数=平均传输次数×平均传输跳数= p 2 − 3 p + 3 =\frac{p^2-3p+3}{}=p23p+3

  3. 描述显示拥塞通知 (ECN) 和随机早期检测(RED)方法的两个主要区别。

    考点:ECN 和 RED 拥塞控制策略

    答::①ECN 通过在 IP 包中设定警告位,显式发送拥塞通知给源主机;而 RED 通过丢弃数据包来隐式通知源主机发生拥塞。
    ②ECN 只在路由器的空间耗尽时丢弃数据包;RED 则是在剩余缓存达到临界值,提前预测拥塞进行调整。

  4. 最大分组长度为 1000 字节,令牌桶速率为每秒 10MB,令牌桶的大小为 1M 字节,最大传输速率为每秒 50MB,请问以最大速度传输的突发数据会持续多长时间?

    考点:令牌桶的计算

    答:持续时间 s = 1 M B 50 − 10 M B / s = 25 m s s=\frac{1MB}{50-10MB/s}=25mss=5010MB/s1MB=25ms

  5. 假定主机 A 连接到路由器 R1,R1 连接到路由器 R2,R2 连接到主机 B。主机 A 向B 发送了一条包含 20 字节段头和 900 字节数据的 TCP 消息。写出封装该 TCP 消息的 IP 数据报在三条链路上传输时,每个 IP 包头的总长度、标识符、DF、MF 和段偏移量的值。假定链路 A-R1 支持的最大帧长为 1024 字节(包含 14 字节帧头),链路 R1-R2 支持的最大帧长为 512 字节(包含 8 字节帧头),链路 R1-R2 支持的最大帧长为 512 字节(包含 12 字节帧头)。

    考点:IP 分片

    答: 首先计算链路能容纳帧的净荷长度(IP包总长):
    A→R1:1024-14=1010字节
    R1→R2:512-8=504字节
    R2→B:512-12=500字节

    传输层报文长度=头部+净荷=20+900=920字节,整体作为净荷交给网络层后,IP包长度=IP头部+净荷=20+920=940字节,为要分片的原始数据包。

    然后进行分片处理:
    在A→R1:940<1010,因此无需分片,Length=940,ID=x,DF=0,MF=0,Offset=0;
    在R1→R2:940>504必须分片,除了最后一片,其他分片净荷长度必须为8的整数倍,因此对于最大长度504字节的IP包,净荷部分=504-20=484,取整为480(8的倍数),则剩下的净荷为940-20-480=440<484无需再分;
    Length=500,ID=x,DF=0,MF=1,Offset=0;
    Length=460,ID=x,DF=0,MF=0,Offset=60;

    同理在R2→B:500≤500,460≤500,因此无需再分片,格式不变,仍为:
    Length=500,ID=x,DF=0,MF=1,Offset=0;
    Length=460,ID=x,DF=0,MF=0,Offset=60;

  6. 一台路由器往外发送大量的总长度(数据+包头)为 1024 字节的 IP 包。假定这些包的生存时间为 10 秒,为避免发生 IP 数据报 ID 号回绕的危险,路由器运行的最大线路速度是多少?

    考点:序号回绕

    答:序号位数=16bit,因此可以计数 2 16 2^{16}216个帧不重复,只需要发完第 2 16 2^{16}216 个帧时,第1个帧存活时间超过10s。因此得到方程 2 16 × 1024 × 8 v ≥ 10 s 2^{16}×\frac{1024×8}{v}≥10s216×v1024×810s,解得最大速度 v = 2 29 10 = 53.6 M b p s v=\frac{2^{29}}{10}=53.6Mbpsv=10229=53.6Mbps

  7. 假定 B 类网络地址的网络号不用 16 位,而是用 20 位,将有多少个 B 类网络?

    考点:3 类地址标识和网络号概念

    答:B 类地址有 2 位标识位10,剩余的18位留给网络,因此B类网络数量为 2 18 2^{18}218

    注意:只有 A 类网络的网络地址数需要-2

  8. 将以十六进制表示的 IP 地址 C22F1582 转换为点分十进制形式。

    考点:点分十进制表示法

    答:将 C22F1582 的 2 位划为点分十进制的1位,结果为:194.47.21.130

  9. 因特网上一个网络的子网掩码是 255.255.240.0,该网络最多可以容纳多少台主机?

    考点:由子网掩码计算网络地址数

    答:将掩码翻译为二进制,则从高位开始有20个连续的1,剩余的主机位为 32 − 20 = 12 32-20=123220=12位,并且子网需要减去主机号全0和全1的情况,则主机数= 2 12 − 2 = 4094 =2^{12}-2=4094=2122=4094

  10. 假设有大量连续的 IP 地址(起始地址为 198.16.0.0)。现有 A、B、C 和 D 四个机构,需要的地址数分别为 4000、2000、4000 和 8000 个。按 A、B、C 和 D 的顺序分配地址,写出每个机构分配到的第一个地址、最后一个地址和子网掩码(按 w.x.y.z/s 的格式)。

    考点:IP 地址分配

    答:使用 VLSM 技术,LAN的掩码为 255.255.0.0/16。2000、4000、8000 个地址需要地址位分别为 11、12、13位。因此各机构子网的起始地址、结束地址、掩码如下:
    A:198.16.0.0-198.16.15.255,198.16.0.0/20
    B:198.16.16.0-198.16.23.255,198.16.16.0/21
    C:198.16.32.0-198.16.47.255,198.16.16.0/21
    D:198.16.64.0-198.16.95.255,198.16.64.0/19

  11. 一个路由器收到了带有新的网络地址:57.6.96.0/21、57.6.104.0/21、57.6.112.0/21 和 57.6.120.0/21,如果它们使用同一条输出线路,是否可以聚合在一起?如果能够聚合,聚合后地址是什么?如果不能聚合,为什么?

    考点:路由聚合

    答:可以进行路由聚合。4个地址的前16位都相同,对点分十进制的第三部分进行分析:4个IP地址对应的2进制分别为:01100000,01101000,01110000,01111000,最长前缀为前三位 011,即 96,因此可以被聚合为 57.6.96.0/19

  12. 一个 IP 地址集合的范围是 29.18.0.0 到 29.18.127.255,聚合为 29.18.0.0/17。但是其中从 29.18.60.0 到 29.18.63.255 的 1024 个地址突然被分配给一个使用不同输出线路的子网。现在是否必须把这部分地址分离出来,在路由表加入一个表项,然后再重新聚合?还是有别的替代方法?

    考点:CIDR 路由聚合最长地址匹配

    答:不需要分块重新聚合。路由表里只需要添加一个新的表项:29.18.60.0/22。如果收到的 IP 包在查表选路时同时匹配 29.18.0.0/17 和 29.18.60.0./22,则采用最长地址匹配,转发到地址前缀最长的子网,即 29.18.60.0/22。

  13. 某路由器的路由表里有下列 CIDR 表项:

地址/掩码下一跳
135.46.56.0/22接口 0
135.46.60.0/22接口 1
192.53.40.0/23路由器 1
默认路由器 2

对于下列 IP 地址,如果收到带有该目的地址的 IP 包,路由器该如何处理?
(a) 135.46.63.10
(b) 135.46.57.14
(c ) 135.46.52.2
(d) 192.53.40.7
(e) 192.53.56.7

考点:利用子网掩码获得目的网络地址,查路由表表确定如何转发

答:(a)将地址分别与22位掩码相与得到:135.46.60.0,存在表项,则a将转发到接口1;
(b)将地址分别与22位掩码相与得到:135.46.56.0,存在表项,则b将转发到接口0;
(c)将地址分别与22位掩码相与得到:135.46.52.0,不存在这样的表项,则c将执行默认路由表,转发到路由器2;
(d)将地址分别与23位掩码相与得到:192.53.40.0,存在表项,则d将转发到路由器1;
(e)将地址分别与23位掩码相与得到:192.53.56.0,不存在这样的表项,则c将执行默认路由表,转发到路由器2。

  1. 很多公司有两台或更多的路由器连接到因特网来提供冗余性,当其中一台路由故障时,网络还能工作。对于 NAT,这种策略可行吗?请解释。

    考点:NAT 路由器功能的理解

    答:路由器保存了地址映射,如果其中一个路由器故障,则这部分的地址映射丢失,从这个路由器发出的数据的回应无法转发给内部主机

  2. IP 协议的校验和只对包头进行校验,而不对数据部分进行校验,为什么这样设计?

    考点:IP 协议的校验

    答:①因为路由器为直通方式,只对头部进行检查,随后立即发出,因此不校验数据部分;
    ②网络层遵循的原则为 best effort,不应该承担校验数据的责任;
    首部犯错比数据出错严重,数据出错可以重传,首部出错可能发给其他地址。

  3. IPv4 头部的“协议(protocol)”字段并没有出现在 IPv6 中,为什么?

    考点:IP 包头的协议字段功能

    答:协议域的作用是告诉目的主机数据应该交给哪个协议处理。中间转发的路由器无需处理这个域,因此不需要放在IPv6的基本首部。IPv6的扩展首部的“下一个头”字段包含了选择传输协议的功能。

  4. 当使用 IPv6 协议时,需要对 IPv4 中的 ARP 协议进行改变吗?如果需要,这种改变是概念上的还是技术上的?

    考点:ARP 功能的理解,IPv4 与 IPv6 的区别

    答:概念上无需改变,都需要从IP地址转换为MAC地址;但在技术上,ARP表由32位转换为128位地址;ARP报文中的IP地址也要由32位转换为128位


版权声明:本文为weixin_44413191原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。