免费智能真题库 > 历年试卷 > 网络规划设计师 > 2021年下半年 网络规划设计师 上午试卷 综合知识
  第36题      
  知识点:   链路状态路由算法   路由器   链路   消息
  章/节:   网络互连       

 
对于链路状态路由算法而言,若共有N个路由器路由器之间共有M条链路,则链路状态通告的消息复杂度以及接下来算法执行的时间复杂度分别是( )。
 
 
  A.  O(M2)和0(N2)
 
  B.  O(NM)和0(N2)
 
  C.  O(N2)和0(M2)
 
  D.  O(NM)和0(M2)
 
 
 

 
  第37题    2021年下半年  
   63%
距离向量路由协议所采用的核心算法是( ).
  第22题    2021年下半年  
   57%
策略路由通常不支持根据( )来指定数据包转发策略。
  第10题    2010年上半年  
   59%
链路状态路由算法是OSPF路由协议的基础,该算法易出现不同节点使用的链路状态信息不一致的问题。为解决该问题,可采用的方法是(1..
   知识点讲解    
   · 链路状态路由算法    · 路由器    · 链路    · 消息
 
       链路状态路由算法
        在20世纪80年代即将结束时,距离矢量路由算法的不足变得越来越明显。首先,V-D路由算法没有考虑物理线路的带宽,因为最初ARPANET的线路带宽都是56kb/s,没有必要在路由选择时考虑线路的带宽。其次,就是前面讨论的V-D路由算法的慢收敛问题,虽然使用水平分割或其他方法可以解决慢收敛问题,但同时会引起其他一些问题。在V-D路由算法中产生慢收敛问题的本质原因是路由器不可能得到有关网络拓扑结构,因为V-D路由算法只是在邻居路由器之间交换的部分路由信息,也就是说,在V-D路由算法中,路由信息的交换是不充分的。因此必须引入一种全新的路由算法,这种算法就是链路状态(Link-State)路由算法,简称L-S路由算法。
               工作原理
               链路状态路由算法的基本工作过程如下:
               (1)路由器之间形成邻居关系。当某个路由器启动之后,要做的第一件事是知道它的邻居是谁,这可以通过向其邻居发送问候(Hello)报文来做到。
               (2)测量线路开销。链路状态路由算法要求每个路由器都知道它到邻居路由器的延迟。获得到邻居路由器延迟的最直接方式就是发送一个要求对方立即响应的特殊的Echo报文,通过计算来回延迟再除以2,就可以得到延迟估计值。如果想要得到更精确的结果,可以重复这一过程,再取平均值。
               (3)构造链路状态报文。一旦路由器获得所有邻居路由器的延迟,下一步就是构造链路状态报文。链路状态报文包含构造该报文的路由器标识,以及到每个邻居路由器的延迟。下图(a)给出了某网络的拓扑结构,对应的6个链路状态报文如下图(b)所示。
               
               构造链路状态报文
               构造链路状态报文并不是一件困难的事情,难在何时构造这些报文。一种方法是定期进行;另一种方法是当网络出现大的变化时(如线路断开或重新连通、邻居路由器故障或恢复等情况)就构造新的链路状态报文。
               (4)广播链路状态报文。链路状态路由算法的最重要也是最具有技巧性的部分就是如何将链路状态报文可靠地广播到网络中的每一个路由器。
               完成链路状态报文广播的基本思想是利用扩散。由于扩散将导致网络中存在大量的重复报文,为了控制重复报文的数量,在每个链路状态报文中加上一个序号,该序号在每次广播新的链路状态报文时加1。每个路由器记录它所接收过的链路状态报文中的信息对(源路由器,序号),当路由器接收到一个链路状态报文时,先查看一下该报文是否已收到过。将新接收到的报文序号与路由器记录的最大序号进行比较,如果前者小于或等于后者,则说明该报文是重复报文,将其丢弃;否则该报文就是新的,应将它扩散到所有的输出线路上(除了接收该报文的线路外)。
               仅仅使用序号来控制重复报文会有问题,但这些问题是可以控制的。首先是序号的循环使用可能会导致序号冲突,解决的办法是使用32位的序号,这样即使是每秒钟广播一次链路状态报文(实际上链路状态报文的广播间隔不止1秒钟),得花137年才能使计数循环回来,避免了发生冲突的可能性。其次,如果某路由器由于故障而崩溃了,当此路由器重新启动后,如果它的序号再从0开始,那么后面的链路状态报文可能会被其他路由器当作重复报文而丢弃。第三,如果链路状态报文在广播过程中序号出现错误,如将序号5变为1027(一位出错),那么序号为5到1027的报文将会被当成重复报文而丢弃,因为路由器认为当前的序号是1027,所有序号小于或等于1027的报文都认为是重复报文。
               为了解决重复报文这个难题,还可以在每个链路状态报文中加上生存期(Age)字段,且每隔1秒钟减1。当生存期变为0时,报文被丢弃。
               还可以对链路状态报文的广播过程作一些细微修改,使算法更强壮一些。如路由器接收到链路状态报文后,并不立即将它放入输出队列进行排队等待转发,而是首先将它送到一个缓冲区等待一会儿。如果已有来自同一路由器的其他链路状态报文先行到达,则比较一下它们的序号。如果序号相等,丢弃任何一个重复报文;否则丢弃老的报文。为了防止因为路由器之间的线路故障而导致链路状态报文的丢失,所有的链路状态报文都要进行应答。一旦通信线路空闲,路由器就会循环扫描缓冲区以选择发送一个链路状态报文或者应答报文。
               对于上图(a)中的网络,路由器B的报文缓冲区如下图所示。这里的每一行对应于一个新到的但未完全处理完毕的链路状态报文。这张表记录了报文来自何处、报文的序号、生存期及链路状态报文。另外,对应于B到每个邻居(到A、C和F)各有一个发送标志和应答标志。发送标志位用于标识必须将链路状态报文发送到该邻居,应答标志位用于标识必须给该邻居发送应答报文。
               
               对应于上图(a)中B的报文缓冲区
               在上图中,A产生的链路状态报文可直接到达B,而B必须将此报文再扩散到C和F,同时B必须向A发送应答报文。类似的,F产生的链路状态报文到达B后,B必须向A和C进行转发,同时B必须向F发送应答报文。
               但是,对于上图中来自E的报文就有所不同。假设B两次收到来自E的报文,一次经过EAB,另一次经过EFB。因此,B只需将E产生的链路状态报文发往C即可,但要向A和F发送应答报文。
               如果重复报文在前一个报文未出缓冲区时到达,表中的标志位就得进行修改。例如,在上图中,当B还未处理完由C产生的链路状态报文,又接收到一个从F传来的C的链路状态报文时,此时应将C行的标志位由101010改为100011,表示要向F发送应答报文,而不必将C的链路状态报文再发向F。
               (5)计算最短路径。由于网络上的每个路由器都可以获得所有其他路由器的链路状态报文,每个路由器都可以构造出网络的拓扑结构图。此时路由器可以根据Dijkstra算法计算出到所有目的节点的最短路径,并把计算结果填到路由器的路由表中。
               特点
               链路状态路由算法使用事件(链路中断或路由器崩溃等事件)来驱动链路状态更新,而且当网络拓扑结构发生变化时能够快速收敛。另外,链路状态路由算法具有良好的扩展性,能够运用于大规模网络中。但链路状态路由算法对链路带宽及路由器的处理能力和存储空间都要求比较高。
 
       路由器
        路由器是计算机网络中重要的一个环节,分为模块化和非模块化两种类型。模块化结构的路由器的扩展性好,支持多种端口类型(如以太网接口、快速以太网接口、高速串行口等),并且各种端口的数量一般是可选的,但价格通常比较昂贵。固定配置的路由器扩展性差,只能用于固定类型和数量的端口,但价格低廉。
        在选择路由器产品时,应多从技术角度来考虑,如可延展性、路由协议互操作性、广域数据服务支持、内部ATM支持、SAN集成能力等。另外,选择路由器还应遵循标准化原则、技术简单性原则、环境适应性原则、可管理性原则和容错冗余性原则等。特别是对于高端路由器,还应该更多地考虑是否和如何适应骨干网对网络高可靠性、接口高扩展性以及路由查找和数据转发的高性能要求。高可靠性、高扩展性和高性能的“三高”特性是高端路由器区别于中、低端路由器的关键所在。从技术性能上考察路由器产品,一般要考察路由器的容量、每秒钟能处理多少数据包、能否被集群等性能问题,还要注意路由器是否能够提供增值服务和其他各种服务。另外,在安装、调试、检修、维护或扩展网络的过程中,免不了要给网络中增减设备,也就是说可能会要插拔网络部件。那么路由器能否支持带电插拔,也是路由器产品应该考察的一个重要性能指标。
        总的来说,路由器的主要性能指标有设备吞吐量、端口吞吐量、全双工线速转发能力、背靠背帧数、路由表能力、背板能力、丢包率、时延、时延抖动、虚拟专用网支持能力、内部时钟精度、队列管理机制、端口硬件队列数、分类业务带宽保证、资源预留、区分服务、CIR、冗余、热插拔组件、路由器冗余协议、基于Web的管理、网管类型、带外网管支持、网管粒度、计费能力、分组语音支持方式、协议支持、语音压缩能力、端口密度、信令支持等。
 
       链路
        链路(link)指的是从发信点到收信点(即从信源到信宿)的一串结点和线路。链路通信是指端到端的通信。
        计算机网络从逻辑结构上可以分成两部分:负责数据处理、向网络用户提供各种网络资源及网络服务的外层用户资源子网和负责数据转发的内层通信子网。通信子网由分组交换结点(简记为R)及连接这些结点的链路组成,负责在主机(Host,H)间传输分组。资源子网由连在网上的主机构成,为网上用户提供共享资源,入网途径和方法。局域网中的每台主机都通过网卡连接到传输介质上,网卡负责在各个主机间传递数据,显然,网卡和传输介质构成了局域网的通信子网,而主机集合则构成了资源子网。用户子网指的是由主计算机、终端、通信控制设备、连网外设、各种软件资源等组成。通信子网分为点对点通信子网和广播式通信子网。它主要有三种组织形式:结合型、专用型和公用型,如下图所示。
        
        网络的组织形式
        计算机网络也可以看作是在物理上分布的相互协作的计算机系统。其硬件部分除了单体计算机、光纤、同轴电缆以及双绞线等传输媒体之外,还包括插入计算机中用于收发数据分组的各种通信网卡(在操作系统中,这些网卡不当成一种外部设备),把多台计算机连接到一起的集线器(hub,该设备近年正逐步被相应的交换机取代),扩展带宽和连接多台计算机用的交换机(switch)以及负责路径管理、控制网络交通情况的路由器或ATM交换机等。其中路由器或ATM交换机是构成广域网络的主要设备,而交换机和集线则是构成局域网络的主要设备。这些设备都可看作一种专用的计算机。
        综上所述,计算机网络是一个由不同传输媒体构成的通信子网,与这个通信子网连接的多台地理上分散的具有唯一地址的计算机,将数据划分为不同长度分组进行传输和处理的协议软件以及应用系统所组成的传输和共享信息的系统。
 
       消息
        消息是对象间通信的手段、一个对象通过向另一个对象发送消息来请求其服务。一个消息通常包括接收对象名、调用的操作名和适当的参数(如有必要)。消息只告诉接收对象需要完成什么操作,并不能指示接收者怎样完成操作。消息完全由接收者解释,接收者独立决定采用什么方法来完成所需的操作。
   题号导航      2021年下半年 网络规划设计师 上午试卷 综合知识   本试卷我的完整做题情况  
1 /
2 /
3 /
4 /
5 /
6 /
7 /
8 /
9 /
10 /
11 /
12 /
13 /
14 /
15 /
 
16 /
17 /
18 /
19 /
20 /
21 /
22 /
23 /
24 /
25 /
26 /
27 /
28 /
29 /
30 /
 
31 /
32 /
33 /
34 /
35 /
36 /
37 /
38 /
39 /
40 /
41 /
42 /
43 /
44 /
45 /
 
46 /
47 /
48 /
49 /
50 /
51 /
52 /
53 /
54 /
55 /
56 /
57 /
58 /
59 /
60 /
 
61 /
62 /
63 /
64 /
65 /
66 /
67 /
68 /
69 /
70 /
71 /
72 /
73 /
74 /
75 /
 
第36题    在手机中做本题