计算机网络第四版(课后练习+答案) 联系客服

发布时间 : 星期六 文章计算机网络第四版(课后练习+答案)更新完毕开始阅读b64a3daf7f21af45b307e87101f69e314332fa85

答:多生成树是可能的。它们中的一个是:

27. 在一个6Mbps 的网络上,有一台主机通过一个令牌桶进行流量调整。令牌桶的填充速率为1 Mbps 。初始时候它被填充到8Mb的容量. 请问该计算机以6Mbps 的全速率可以传输多长时间?

答:本题乍看起来,似乎以6Mb/s 速率发送用4/3 秒的时间可以发送完桶内8Mb 的数据,使漏桶变空。然而,这样回答是错误的,因为在这期间,已有更多的令牌到达。正确的答案应该使用公式S= C /(M-P ),这里的S表示以秒计量的突发时间长度,M 表示以每秒字节计量的最大输出速率,C 表示以字节计的桶的容量,P 表示以每秒字节计量的令牌到达速率。则:

因此,计算机可以用完全速率6Mb/s 发送1.6 s 的时间。 35.一台路由器往外发送大量的总投度(数据+头)为1024字节的IP 分组。假定这些分组生存10 秒钟时间长,请问,路由器运行的最大线速度为多少才不至于发生IP数据报的ID编号空间重绕的危险?

答:如果线路的比特率是B,那么路由器可以发射的包/秒数是B / 8192,所以发射分组所需的秒数是8192 / B.要拿出65536包需要229 /秒。这等同于包的最长寿命,我们得到229 / B10。然后,B是约53687091个基点。

38.如果一个IP地址的十六进制表示为C22 F1582 ,请将它转换成点分十进制标记。

答:The address is 194.47.21.130.

39. Internet 上一个网络的子网掩码为255.255.240.0. 请问它最多能够处理多少台主机?

答:对于一个B 类网络,高端16 位形成网络号,低端16 位是子网或主机域。在子网掩码的低端16 位中,最高有效4 位为1111,因此剩下12 位用于主机号。因此,存在4096 个主机地址。但由于全0 和全1 是特别地址,因此最大的主机数目为4094。

4 0. 假定从198.16.0.0 开始有大量连续的IP地址可以使用. 现在4 个组织A 、B 、C和D 按照顺序依技申请4000 、2000 、4000 和8000 个地址。对于每一个申请,请利用w. x. y. z/ s 的形式写出所分配的第一个lP 地址、最后一个IP 地址.以及掩码。

答:To start with, all the requests are rounded up to a power of two. The starting address, ending address, and mask are as follows:

A: 198.16.0.0 –198.16.15.255 written as 198.16.0.0/20

B: 198.16.16.0 – 198.23.15.255 written as 198.16.16.0/21 C: 198.16.32.0 – 198.47.15.255 written as 198.16.32.0/20 D: 198.16.64.0 – 198.95.15.255 written as 198.16.64.0/19

41. 一台路由器刚刚接收到以下新的IP 地址: 57.6.96.0 / 21 、57.6.104.0/21 、57.6.112.0/21 和57.6.120.0/21. 如果所有这些地址都使用同一条输出线路.那么,它们可以被聚集起来吗?

如果可以的话,它们被聚集到哪个地址上?如果不可以的话,请问为什么?

答:They can be aggregated to 57.6.96/19. 43 . 一台路由器的路由表中有以下的( CIDR) 表项:

答:The packets are routed as follows:

(a) Interface 1 (b) Interface 0 (c) Router 2 (d) Router 1 (e) Router 2

56. 编写一个函数来完成IP 路由器中的转发过程。该函数有一个IP 地址参数。它也要访问一张全局表,全局表白许多三元组构成。每个三元组包含三个整数:一个IP 地址、一个子网掩码和所用的输出线路。该函数利用ClDR 在表中查找由参数指定的IP 地址,然后返回对应的输出线路值。

57. 使用traceroute(UNIX 环境)或者tracert (Windows 环境)程序跟踪一下从你的

计算机到其他各洲的大学的路由路径。你将可以发现一些跨越大洋的链路。以下有些站 点你可以试一试。

www. berkeley. edu (California ,美国的拥利福尼亚州) www. mit. edu (Massachusetts ,美国的马萨诸塞州) (Amsterdam ,荷兰的阿姆斯特丹) . ac. uk (London ,英国的伦敦) (Sydney ,澳大利亚的悉尼) (Tokyo ,日本的东京)

(Cape Town ,南非的开普敦)

第六章

3. 在图6.6 的两部分中,有一条注释说明T SERVER_PORT 在客户和服务器中必须相同。为什么这一条如此重要?

答:如果客户端发送一个数据包server3port和服务器没有听这些端口,数据包将不会被发送给服务器。

4. 假设采用时钟驱动方案来生成初始序列号,该方案用到了 (一个15位宽度的时钟计数器。并且,每隔100ms 时钟滴答一次,最大分组生存期为60s 。请问.每隔多久;需要重新同步一次?

(a)在最差情况下?

(b)当数据每分钟用掉240 个序列号的时候?

答:在具体解答这个问题之前,需要先熟悉一下时钟驱动方案的内容。首先我们引入参数T,假定在发送出一个分组之后等待长度等于T 的时间,我们就可以肯定,所有关于

该分组的踪迹都已消失,不管是该分组本身,还是对于它的确认都不会再以外的出现。我们还假定,每个主机都配有一个表示一天的时间的时钟,不同主机上的时钟不必同步。每个时钟都采用二进制计数器的形式,并且以长度一致的间隔时间递增。而且,计数器的比特数必须等于或超过序列号所使用的比特数。最后一点,时钟被假定是连续运行,即使主机关闭时也不间断。

时钟驱动方案的基本思想是同一时间不会有两个活动的TPDUs 使用相同的序列号。在一条连接建立的时候,时钟的低端k 个比特被用作初始序列号(也是k 位)。因此,每条连接可以从不同的序列号开始为TPDU 编号。序列号空间应该足够大,使得当编号循环一周时,具有相同号码的旧的TPDU 已经不复存在。

当主机系统崩溃时会产生一些问题。在重新启动后,主机的传输层实体不知道它曾经处在序列号空间的什么位置。一种解决方法是要求传输实体在恢复后的T 秒内处于空闲状态,让所有老的TPDUs 都消失。然而,在一个复杂的互联网上,T 值可能很大,所以这不是一个好的解决方法。

为了避免从崩溃恢复后的T 秒不工作状态,需要对序列号的使用施加新的限制。在一些编号可能被用作初始序列号之前,必须在长度为T 的时间内禁止使用这些编号。在任何连接上发送TPDU 之前,传输层实体必须读一次时钟,检查该TPDU 的编号是否在禁止区内。

显然,在任何连接上的最大数据率是每个时钟滴答发送一个TPDU。在系统崩溃后重启动时,在打开一条新的连接之前,传输实体必须等待到下一个时钟滴答,以避免同样的号码重复使用。如果数据速率低于始终速率,实际使用的序列号对于时间的曲线将最终从左边进入禁止区。如果这样的情况发生了,要么延迟TPDU 达T 长度时间,或者重新同步序列号。

作为例子,如果在坐标起点发1 号TPDU,到接近时钟大循环编码的末尾才发送第2 个TPDU,此时为避免在下一大循环开始重复使用序列号,就需要在大循环接近末尾处重新同步,使用大的初始序列号,以避免使用禁止区号码。

(a) 时钟大循环周期是215,即32768 滴答,每滴答100ms,即0.1 秒,所以大循环周期是3276.8s 。假定数据产生速率非常低(接近零),那么发送方在3276.8-60=3271.8 秒时进入禁止区,需要进行一次重新同步。

(b) 每分钟使用240 个序列号,即每秒使用4 个号码,如果时间以t 表示(以秒为单位),那么实际的序列号是4t。当接近大循环的末尾时以及在下一大循环的开始阶段,4t 有一定的大小,位于禁止区的上方,现在由于每秒钟10个滴答,禁止区的左边是

10(t-3216.8)。令4t =10(t-3216.8),得t=5316.3秒。即当 t=5316.3时,开始进入禁止区,因此当 t=5316.3时需要进行一次重新同步。

7. 想象一个泛化的n -军队问题,在这个问题中,任何两支蓝军达成一致的意见之后就足以取得胜利。是否存在一个能保证蓝军必赢的协议?

答:(a)参见教材。

(b)不存在。对于多于两支部队的情况,问题在实质上是同样的。

9. 对于正文中描述的传输实体(见图6.20) ,死锁有可能吗?

答:该传输实体有可能死锁。当双方同时执行RECEIVE 时就会进入死锁状态。 14. UDP 为什么有必要在在?难道只让用户进程发送原始的IP 分组还不够吗?

答:仅仅使用IP 分组还不够。IP 分组包含IP 地址,该地址指定一个目的地机器。一旦这样的分组到达了目的地机器,网络控制程序如何知道该把它交给哪个进程呢?UDP 分组包含一个目的地端口,这一信息是必须的,因为有了它,分组才能够被投递给正确的进程。

16. 一个客户向100km 以外的服务器发送一个128 字节的请求,两者之间通过一条lGbps 的

光纤进行通信。在远过程调用中这条线路的效率是多少?

答:128 字节等于1024 位,在1Gb/s 的线路上发送1000 位需要1的时间。光在光导纤维中的传播速度是200km/ms,请求到达服务器需要传输0.5ms 的时间,应答返回又需要0.5ms 的传输时间。总的看来,1000 位在1ms 的时间内传输完成。这等效于1Mb/s,即线路效率是0.1%。

31.一台TCP 机器正在-通过一条lGbps 的信道发送65535字节的满窗口数据.该信道的单向 延迟为10ms。请问,可以达到的最大吞吐量是多少?线路的效率是多少?

答:10ms*2=20ms

每20ms 可以发送一个窗口大小的交通量,因此每秒50 个窗口。 65536×8×50=26.2Mb/s 26.2/1000=2.6 %

所以,最大的数据吞吐率为26.2Mb/s,线路效率为2.6%

32. 一台主机在一条线路上发送1500 字节的TCP 净荷,其巾最大分组生存期为120s,要想不让序列号回绕,该线路的最快速度为多少?将TCP 、IP 以太网的开销都考虑进去,假设以太网帧可以被连续发迭。

答:我们的目标是发送232字节在120秒或35791394有效负载字节/秒。这是1500个23860字节的帧/秒。TCP的开销是20个字节。IP开销是20字节。以太网开销是26字节。这意味着,1500字节的有效载荷,必须发送1566字节。如果我们把23860帧的1566个字节的每一秒,我们需要一条299 Mbps。有什么东西比这我们运行在同一时间有相同的序列号不同的TCP段风险更快。

33.在一个网络中,最大的TPDU K.度为128 字节,最大的TPDU 生存期为30s ,序列号为8 位,请问每个连接的最大数据率是多少?

答:具有相同编号的TPDU 不应该同时在网络中传输,必须保证,当序列号循环回来重复使用的时候,具有相同序列号的TPDU 已经从网络中消失。现在存活时间是30 秒,那么在30 秒的时间内发送方发送的TPDU 的数目不能多于255 个。

255×128×8/30=8738b/s

所以,每条连接的最大数据速率是8738b/s。

34. 假设你正在测量接收一个TPDU 所需要的时间。当一个中断发生的时候.你读出系统时钟的值(以毫秒为单位)。当TPDU 被完全处理之后,你再次读出时钟的值。你测量的结果是: 270000 次为0ms ,730000 次为lms. 请间,接收一个TPDU 需要多长时间?

答:计算平均值:

因此,接收一个TPDU 花730微秒的时间。

40. 对于一个运行在4000km 距离上的lGbps 网络,限制的因素是延迟,而并非带宽。请考虑这样一个MAN: 源端和目标端之间的平均距离为20km 。请问在什么数据率上,由于光速导致的往返时间等于lKB 分组的传输延迟?

答:光在光纤和铜导线中的速度大约为每毫秒200km。对于一条20km 的线路,单向延迟是100,往返延迟是200。1K 字节就是8192 位。如果发送8192 位的时间为200,那么发送延迟就等于传播延迟。设W 是发送1 位的时间,那么

则1 /W=8192/(2×10 )

-4

=40×10。所以,数据传输速率为40Mb/s。

6