计算机网络--自顶向下的方法

第一章

复习题


R19. 假定主机A要向主机B发送一个大文件。从主机A到主机B的路径上有三段链路,其速率分别为R1 = 500kbps,R2 = 2Mbps,R3 = 1Mbps。

a.假定该网络中没有其他流量,该文件传送的吞吐量是多少?

答:吞吐量 = 500kbps,是三段链路中吞吐量的最小值(即由瓶颈链路传输速率决定)。(为什么以瓶颈链路的传输速率来表示整条链路的吞吐率:如果有较大的发送速率,但是只有较小的接收速率,会导致中间路由比特堆积,这是一种最不希望看到的情况)

b.假定该文件为4MB。用吞吐量除以文件长度,将该文件传输到主机B大致需要多长时间?

答:此处认为文件大小的4MB = 4 * 1000 * 8 kb,而不是认为4MB = 4 * 1024 kb;

时间 

 

c.重复(a)和(b),只是这时R2减小到100kbps。

答:此时的吞吐量是100kbps,传输4MB文件所需时间是320s。

R20. 假定端系统A要向端系统B发送一个大文件。在一个非常高的层次上,描述端系统怎样从该文件生成分组。当这些分组之一到达某分组交换机时,该交换机使用分组中的什么信息来决定将该分组转发到哪一条链路上?因特网中的分组交换为什么可以与驱车从一个城市到另一个城市并沿途询问方向相类比?

答:分组的头部信息包含了目的主机的IP地址,交换机使用分组的头部信息,查找路由表项,来决定分组应该发往哪一条链路。之所以将分组交换类比为开车从一个城市到另一个城市,是因为二者的相似之处都是在开始时都只知道目的地址,但是不知道具体选择哪一条链路;分组的下一条链路的选择是由路由器根据转发表来确定的,而汽车通过询问来选择下一步要走的路。

R21.访问配套Web站点的排队和丢包Java小程序。最大发送速率和最小传输速率是多少?对于这些速率,流量强度是多大?用这些速率运行该Java小程序并确定出现丢包花费多长时间?然后第二次重复试验,再次确定出现丢包花费多长时间。这些值有什么不同?为什么会有这种现象?

答:最大的发送速率是500pkt/s,最小的传输速率是350pkt/s;此时对应的流量强度p = 500/350 = 1.43>1,每次试验最终都会发生数据丢失,由于数据传输的随机性,每次试验丢失包的时间都会不同。

R22.列出一个层次能够执行的五个任务。这些任务中的一个(或两个)可能由两个(或更多)层次执行吗?

答:比如运输层的TCP可以进行流量控制、拥塞控制、将报文划分为短报文、确保传递可提供连接;这些任务中的一个不可能由两个或更多层执行,但是很多层的任务是互相重复的。

R23.因特网协议栈中的五个层次有哪些?在这些层次中,每层的主要任务是什么?

答:五层分自上而下分别为:应用层、运输层、网络层、链路层、物理层;

应用层:提供一些网络应用程序以及应用层协议;

运输层:在应用程序端点之间传送应用层报文(教材P35,某些答案写了运输层报文,应该是不对的);

网络层:负责将称为数据报的网络层分组从一台主机移动到另一台主机;

链路层:将分组从一个节点移动到路径上的下一个节点(或者说是将整个帧从一个网络元素移动到临近的网络元素);

物理层:将来自数据链路层的帧中的一个个比特从一个节点移动到下一个节点。

R24.什么是应用层报文?什么是运输层报文段?什么是网络层数据报?什么是链路层帧?

答:应用层报文:一个应用程序与另一个应用程序交换的信息分组;

运输层报文段:运输层分组

网络层数据报:网络层分组

链路层帧:数据链路层的分组

R25.路由器处理因特网协议栈中的哪些层次?链路层交换机处理的是哪些层次?主机处理的是哪些层次?

答:链路层交换机:物理层和链路层;

路由器:物理层、链路层和网络层;

主机:物理层、链路层、网络层、运输层以及应用层。

R26.病毒和蠕虫之间有什么不同?

答:病毒是一种需要某种形式的用户交互来感染用户设备的恶意软件,典型例子就是包含了恶意可执行代码的电子邮件附件;蠕虫是一种无须任何明显用户交互就能进入设备的恶意软件,比如在用户运行了一个攻击者能够发送恶意软件的脆弱网络应用程序,在没有用户的干预下,该应用程序可能从因特网接收恶意软件并运行它。

R27.描述如何产生一个僵尸网络,以及僵尸网络是怎样的被用于DDoS攻击的。

答:恶意软件控制的许多网络设备,形成僵尸网络;利用僵尸网络中的网络设备发送大量的分组或创建大量的TCP连接,也即攻击者控制多个源并让每个源向目标猛烈发送流量,导致目标主机瘫痪。

R28.假定Alice和Bob经计算机网络互相发送分组。假定Trudy将自己安置在网络中,使得她能够俘获由Alice发送的所有分组,并发送她希望给Bob的东西;她也能够俘获Bob发送的所有分组,并发送她希望给Alice的东西。列出在这种情况下Trudy能够做的某些恶意的事情。

答:Trudy能够嗅探分组,得到传输分组的副本,还可以进行IP哄骗,冒充另一个用户。