复习题
R1. 我们回顾一下本书中使用的某些术语。前面讲过,运输层的分组名称是报文段,数据链路层的分组名字是帧。网络层的分组名字是什么?前面讲过,路由器和链路层交换机都称为分组交换机。路由器和链路层交换机间的根本区别是什么?回想我们对数据报网络和虚电路网络都使用术语路由器。
网络层的分组名字叫做数据报。
路由器和链路层交换机间的根本区别:路由器是基于网络层字段中的值做决定,而链路层交换机是根据链路层字段中的值做转发决定。
R2. 在数据报网络中,网络层最重要的两个功能是什么?在虚电路网络中,网络层的3个最重要的功能是什么?
数据报网络中网络层最重要的两个功能:①转发,即当一个分组到达路由器的一条输入链路时,路由器必须将该分组移动到适当的输出链路;②路由选择,即当分组从发送方流向接受方时,网络层必须决定这些分组所采用的路由或路径;
虚电路网络中网络层的3个最重要的功能是:①建立连接;②转发;③路由选择。比在数据报网络中多了一个功能,连接建立。
R3. 路由选择和转发的区别是什么?
转发是指将分组从一个输入链路接口转移到适当的输出链路接口的路由器本地动作。路由选择是指网络范围的过程,以决定分组从源到目的地所采取的端到端路径。
举个例子,驾车从A到B,有很多路径可以选择,而最终选择哪条路径,这是路由选择的概念;选好了路径之后,按着这条路径走的时候,中间遇到立交桥(连接很多路),要根据之间选好的路,正确地选择立交桥的出口,从进入立交桥到选择出口出来,这个过程是转发的概念。
R4. 在数据报网络和虚电路网络中,路由器都使用转发表吗?如果是,描述用于这两类网络的转发表。
在数据报网络和虚电路网络中,路由器都使用转发表。
在虚电路中,每当跨越一个路由器创建一条新的虚电路时,转发表就建立一个新项。类似地,无论何时终止一条虚电路时,就删除沿着该路径每个表中的相应项。所以虚电路中的转发表更新很快。但在数据报网络中,转发表是由选路算法修改的,所以更新速度比较慢。
R5. 描述某些网络层能为单个分组提供的某些假想的服务。对于分组流进行相同的描述。因特网的网络层为你提供了这些假想服务吗?ATM的CBR服务模型提供了该假想服务吗?ATM的ABR服务模型提供类该假想服务吗?
单个分组:无丢失保证,保证最大延迟。
分组流:按顺序传送,最小宽带保证,定时保证。
因特网的网络层提供的是尽力而为模型,无带宽保证,无无丢包保证,不保证有序,不维护定时,没有拥塞指示。
CBR(Constant Bit Rate)保证恒定速率,提供无丢包保证,保证有序,维护定时,不出现拥塞。
ABR(Available Bit Rate)保证最小速率,不提供无丢包保证, 不维护定时,但保证有序,并提供拥塞指示。
(详见课本表4-1 因特网、ATM CBR 和ATM ABR服务模型)
R6. 列出某些得益于ATM的CBR服务模型的应用。
IP电话和视频会议。CBR服务在承载实时、恒定比特率的音频和视频流量方面很适用。
R7. 讨论为什么在高速路由器的每个输入端口都存储转发表的影子副本。
因为有了影子副本,转发决策能在每个输入端口本地做出,无须调用中央路由选择处理器,可以避免集中式处理的瓶颈。(转发表是由路由器选择处理器计算和更新的,但每个输入端口都会存储一份转发表的副本)。
R8. 4.3节中讨论了3类交换结构。列出并简要讨论每一类交换结构。哪一种(如果有的话)能够跨越交换结构并行发送多个分组?
(1)经内存交换:这种就像是计算机(最简单、最原始的路由器就是计算机),在输入端口与输出端口之间的交换是在CPU(路由选择处理器)的直接控制下完成的。
(2)经总线交换:输入端口经一根共享总线将分组直接传送到输出端口,不需要选路处理器的干预。因为每个分组必须跨越单一总线(同时只能有一个分组可以跨越总线),所以路由器的交换宽带受总线速率的限制。
(3)经互联网络交换:可以克服单一、共享式总线带宽限制,可以并行转发多个分组。但如果来自两个不同输入端口的两个分组其目的地为相同的输出端口,则一个分组必须在输入端等待。
综上,经互联网络交换的纵横式交换机可以跨越交换结构并行发送多个分组。
R9. 描述在输入端口会出现分组丢失的原因。描述在输入端口如何消除分组丢失(不使用无限大缓存区)。
当输出端入的排队情况太多,足以耗尽输入端口的存储空间,所以分组就被丢弃了。如果交换结构的速率至少是输入线路速率的n倍,则在输入端口处不会出现排队。
R10. 描述在输出端口出现分组丢失的原因。通过增加交换结构速率,能够防止这种丢失吗?
当多个分组到达输出端口,并在输出端口排队等候,当耗尽输出端口的存储空间时,分组就被丢弃了。通过增加交换结构速率只会让排队的分组更多(其他条件相同),并不能防止这种丢失。
R11. 什么是HOL阻塞?它出现在输入端口还是输出端口?
HOL(Head-Of-the-Line),即在一个输入队列中排队的分组必须等待通过交换结构发送(即使输出端口是空闲的),因为它由位于线路前部的另一个分组阻塞。HOL阻塞出现在输入端口。
R12. 路由器有IP地址吗?如果有,有多少个?
有。路由器的每个接口都有一个全球唯一的IP地址。
R13. IP地址223.1.3.27的32比特二进制等价形式是什么?
11011111.00000001.00000011.00011100。
R14. 考察使用DHCP获得它的IP地址,网络掩码,默认路由器和其本地DNS服务器的IP地址的主机。列出这些值。
TODO
R15. 假设在一个源主机和一个目的主机之间有3台路由器。不考虑分片,一个从源主机发送给目的主机的IP报文将通过多少个端口?为了将数据报从源移动到目的地需要检索多少个转发表?
IP报文将通过8个端口:源主机和目的主机各一个,每台路由器各两个(输入端口和输出端口);需要检索3个转发表(每台路由器检索一次)。
R16. 假设某应用每20ms生成一个40字节的数据块,每块封装在一个TCP报文中,TCP报文再封装在一个IP数据报中。每个数据报的开销有多大?应用数据所占的百分比是多少?
每个数据包的开销是80个字节:20字节的IP首部(假设首部无选项,且数据包无分片) + 20字节的TCP首部 + 应用层报文(40字节),所以应用数据所占的百分比是50%。
R17. 假设主机A向主机B发送封装在一个IP数据报中的TCP报文段。当主机B接收到该数据报时,主机B中的网络层应该如何知道它应当将该报文段(即数据报的有效载荷)交给TCP而不是UDP或某个其他东西呢?
通过数据包中的协议字段:该字段指示了IP数据报的数据部分应该交给哪个特定的运输层协议。例如,值为6表明数据部分要交给TCP,而值为17表明数据要交给UDP。
R18. 假定你购买了一个无线路由器并将其与电缆调制解调器相连,并且你的ISP动态地为你连接的设备(即你的无线路由器)分配一个IP地址。还假定你家有5台PC,均使用802.11以无线方式与该无线路由器相连。怎样为这5台PC分配IP地址?该无线路由器使用NAT吗?为什么?
①使用DHCP(动态主机配置协议,Dynamic Host Configuration)给设备分配地址,DHCP允许主机自动获取一个IP地址。
②使用NAT(网络地址转换,Network Address Translation),因为它只能从ISP获得一个IP地址。从本质上讲,NAT使能路由器对外界隐藏了家庭网络的细节。
R19. 比较IPv4和IPv6首部字段。它们有某些字段是相同的吗?
有,除了分片,首部检验和和选项,其它字段在IPv6中都存在。
R20. 有人说当IPv6通过IPv4路由器建隧道时。IPv6将IPv4隧道作为链路层协议。你同意这种说法吗?为什么?
可以这样认为,因为IPv6数据报被封装在IPv4数据报中。
R21. 比较和对照链路状态和距离向量路由选择算法?
链路状态路由选择算法:以所有结点之间的连通性及所有链路的费用的完整信息为输入,计算本身可在某个场点进行或在多个场点重复进行。
距离向量算法:没有结点拥有关于所有网络链路费用的完整信息,每个结点仅有与其直接相连链路的费用知识即可,每个节点维护到网络中所有其他结点的费用(距离)估计的向量。
R22. 讨论因特网的等级制组织是怎样使得其能够扩展为数以百万计用户的。
通过路由器组织进自治系统(Autonomous System)来解决。每个AS由一组通常处在相同管理控制下的路由器组成,在相同的AS中的路由器都全部运行同样的路由选择算法,且拥有彼此的信息。而这些AS又彼此互联,这样,就将数以百万级的用户连接起来。
R23. 每个自治系统使用相同的AS内部路由选路算法是必要的吗?为什么?
有必要:①一个AS内部路由器仅需要知道被AS内的路由器,扩展性得到了解决;②因为一个组织可运行它选择的任何AS内部路由选择协议,管理责任的问题得到了解决;③相连的每对AS需要运行相同的AS间路由选择协议以交换可达性信息。
R24. 考虑图4-37。从D中的初始表开始,假设D收到来自A的下面的通告:
目的子网
下一台路由器
到目的地的跳数
z
C
10
w
-
1
x
-
1
….
….
….
D中的表会改变吗?如果是,怎样变化?
不会。因为根据图4-36,由路由器D到沿着最短路径到目的子网z的为7跳距离,虽然此时收到来自A的通知,但通知中显示,路由器假设下一跳到路由器C,到目的子网z有10跳的距离,比原来更远,因此不会D不会更新其转发表。
R25. 比较RIP和OSPF使用的通告。
RIP是各路由器相邻之间相互广播。而OSPF是路由器向自治系统内所有其他路由器广播路由选择信息,而不仅仅是向其相邻路由器广播。
R26. 填空:RIP通告通常宣称到各目的地的跳数。另一方面,BGP则是通告到各目的地的_____?
路由上的AS序列。
R27. 为什么在因特网中用到了不同类型的AS间与AS内部选路协议?
(1)策略:在AS之间,策略问题起主导作用, 而策略问题在AS内部微不足道。
(2)规模:扩展一个路由选择算法及其数据结构以处理大量网络或大量网络之间的路由选择的这种能力,是AS间路由选择的一个关键问题。而在一个AS内,可扩展性不是关注的焦点。
(3)性能:AS间路由选择是面向策略的,不太关心性能或质量,然而在一个AS内部,更多关注于一条路由实现的性能级别的实现。
R28. 为什么策略考虑对于AS内部协议(如OSPF和RIP)与对于AS间路由选择协议(如BGP)一样重要呢?
在AS之间,策略问题是至关重要的。但在AS内部,策略问题是微不足道的。
R29. 定义和对比下列术语:子网,前缀和BGP路由。
子网是较大网络的一部分,不包含路由器,其边界由路由器和主机接口定义。
前缀是地址的网络部分,以a.b.c.d / x的形式写入,每个前缀表示一个子网或多个子网的集合。
当路由器在BGP会话中通告前缀时,该前缀包含许多BGP属性。 在BGP术语中,带有属性的前缀被称为一条BGP路由。
R30. BGP是怎样使用NEXT-HOP属性的?它是怎样使用AS-PATH属性的?
AS-PATH属性包含了前缀的通告已经通过的那些AS,路由器使用该属性来做三件事:①检测通告;②阻止循环通知;③在多条路径中选择相同的前缀。
NEXT-HOP是一个开始某AS-PATH的路由机接口,路由器使用该属性正确地配置转发表。
R31. 描述一个较高层ISP的网络管理员在配置BGP时是如何实现策略的。
ISP的网络管理员通过将已知的路由设置到其路由信息库中,并向客户通告这些信息。目前还没有强制主干ISP之间如何路由选择的官方标准。但商业运行的ISP们都遵从的一个经验法则是:任何穿越某ISP主干网的流量必须是其源或目的(或两者)位于该ISP的某个客户网络中。
TODO----HERE
4.6.32 通过多个单播实现广播抽象与通过支持广播的单个网络(路由器)实现广播抽象之间有什么重要区别吗?
答:N次单播效率低,需要知道接收者的地址,消耗大。但是使用广播的话可以通过洪泛方法发送消息。
4.6.33 对于我们学习的3种一般的广播通信方法(无控制洪泛,受控洪泛和生成树广播),下列说法正确吗?可以假定分组不会因缓存溢出而丢失,所有分组以它们发送的顺序交付给链路。
a.一个节点可能接收到同一个分组的多个拷贝。
b.一个节点可能跨越相同的出链路转发多个分组的拷贝。
答:无控制洪泛:a对,b对。受控洪泛:a对,b错。生成树广播:a错,b错。
4.6.34 当一台主机加入一个多播组时,它必须将其IP地址改变为它所加入的多播组的地址吗?
答:对错误。
4.6.35 IGMP和广域多播选路协议所起的作用是什么?
答:IGMP运行在一台主机与其直接相连的路由器之间。IGMP允许主机指定路由器要加入的组播网。然后由组播路由器与运行组播路由协议的其他组播路由器一起工作。
4.6.36 在多播选路场合中,一棵组共享的树与一颗基于源的树之间有什么区别?
答:一个组共享的树来为组中所有发送方分发流量,一个是为每个独立的发送方构建一颗特定源的选路树。