考点四: 路由协议
1.路由选择协议
计算机网络是一个网状(图形)结构,两个主机之间要想通信,可能会存在多个路径,如何从这些路径中选择一个“好”的路径是必须要设计的重点。路由选择协议的核心就是路由算法,即需要何种算法来获得两个计算机之间的路径,这个路径的表现形式是路由表中的各项目(路由表的概念,稍后具体介绍)。一个理想的路由算法应具有如下的特点:
(1)算法必须是正确的和完整的。“正确”的含义是沿着各路由表所指引的路由,分组一定能够最终到达目的网络和目的主机。
(2)算法在计算上应简单。路由选择的计算不应使网络通信量增加太多的额外开销。
(3)算法应能适应通信量和网络拓扑的变化,即要有自适应性。当网络中的通信量发生变化时,算法能自适应地改变路由以均衡各链路的负载。
(4)算法应具有稳定性。在网络通信量和网络拓扑相对稳定的情况下,路由算法应收敛于一个可以接受的解,而不应产生过多的振荡。
(5)算法应是公平的。路由选择算法应对所有用户(除了对少数优先级高的用户)都是平等的。例如,如果仅仅使某一对用户的端到端时延为最小,但却不考虑其他的广大用户,这就明显不符合公平性的要求。
(6)算法应是最佳的。路由选择算法应当能够找出最好的路由,使得分组平均时延最小而网络的吞吐量最大。对于某些网络,网络的可靠性有时要比最小的分组平均时延或最大吞吐量更加重要。因此,所谓“最佳”,只能是相对于某种特定要求下得出的较为合理的选择。
根据路由算法能否随网络的通信量或拓扑自适应地进行调整变化来划分,有两大类,即静态路由选择策略与动态路由选择策略。
(1)静态路由选择策略也称为非自适应路由选择策略,其特点是简单、开销较小,但不能及时适应网络状态的变化。对于简单的小网络,完全可以采用静态路由选择策略,人工配置每条路由。
(2)动态路由选择策略也称为自适应路由选择策略,其特点是能较好地适应网络状态的变化,但实现起来较为复杂,开销也比较大。因此,动态路由选择策略适用于较复杂的大网络。
因特网的规模非常大。若让所有的路由器知道所有的网络应怎样到达,则这种路由表将非常大,处理起来也消耗时间。而所有这些路由器之间交换路由信息所需的带宽就会使因特网的通信链路饱和。许多单位不愿意外界了解自己单位网络的布局细节和本部门所采用的路由选择协议,但同时希望连接到因特网上,因此往往采用分层次的路由选择协议。为此,可以把整个因特网划分为许多较小的自治系统(Autonomous System,AS),自治系统是在单一技术管理下的一组路由器,而这些路由器使用一种自治系统内部的路由选择协议和共同的度量。一个自治系统对其他自治系统表现出的是一个单一且一致的路由选择策略。因此,当前分层次的动态路由协议是主要的管理协议。
根据自治系统和分层次的方法来划分路由协议,可分为以下两大类协议:
(1)内部网关协议(Interior Gateway Protocol,IGP),即在一个自治系统内部使用的路由选择协议,而这与在互联网中的其他自治系统选用什么路由选择协议无关。目前这类路由选择协议使用得最多,如路由信息协议(Routing Information Protocol,RIP)和开放最短路径优先协议(Open Shortest Path First,OSPF)。自治系统之间的路由选择协议也称为域间路由选择协议。
(2)外部网关协议(External Gateway Protocol,EGP),若源主机和目的主机处在不同的自治系统中(这两个自治系统可能使用不同的内部网关协议),当数据报传到一个自治系统的边界时,则需要使用一种协议将路由选择信息传递到另一个自治系统中。这样的协议就是外部网关协议。使用最多的外部网关协议是边界网关协议(Border Gateway Protocol,BGP)。在自治系统内部的路由选择协议也称为域内路由选择协议。
路由协议示例如图4-10所示。
图4-10 路由协议示例
为了对路径进行表达,引入了路由表的概念,路由表格式如图4-11所示。
图4-11 路由表格式
在图4-11中,目的网络地址是目的地,子网掩码用来确定子网,下一跳IP地址是下一步将数据交给哪个主机或路由器,转发接口是从当前主机或路由器的哪个接口发出。
2.路由信息协议(RIP)
(1)工作原理。
路由信息协议(RIP)是内部网关协议(IGP)中最先得到广泛使用的协议,但目前很少被使用。RIP是一种基于距离向量的分布式路由选择协议,是因特网的标准协议,其最大的优点就是简单。
RIP要求网络中的每个路由器都要维护从自己到每个目的网络的距离记录,即“距离向量”。
RIP协议将“距离”定义如下:路由器到直接连接的网络的距离定义为1;路由器到非直接连接的网络的距离定义为所经过的路由器数加1。加1是因为到达目的网络后就进行直接交付,而到直接连接的网络的距离已经定义为1。
RIP的“距离”也称为“跳数”,因为每经过一个路由器,跳数就加1。RIP认为好的路由就是它通过的路由器的数目少,即“距离短”。
RIP允许一条路径最多只能包含15个路由器。因此“距离”等于16时即相当于不可达。可见RIP只适用于小型互联网。
RIP不能在两个网络之间同时使用多条路由。RIP会选择一条具有最少路由器的路由(最短路由),即使还存在另一条高速(低时延)但路由器较多的路由。
(2)RIP协议的3个要点。
RIP协议和OSPF协议,都是分布式路由选择协议。它们的共同特点就是每个路由器都要不断地与其他一些路由器交换路由信息。考生一定要掌握以下3个要点:和哪些路由器交换信息、交换什么信息和在什么时候交换信息。
①仅和相邻路由器交换信息。如果两个路由器之间的通信不需要经过另一个路由器,那么这两个路由器就是相邻的。RIP协议规定不相邻的路由器不交换信息。
②路由器交换的信息是当前路由器所知道的全部信息,即当前的路由表。交换的信息包括“我到本自治系统中所有网络的(最短)距离,以及到每个网络应经过的下一跳路由器”。
③按固定的时间间隔交换路由信息,如每隔30s。然后路由器根据收到的路由信息更新原来的路由信息。当网络拓扑结构发生变化时,路由器也及时向相邻路由器通告网络拓扑结构变化后的路由信息。
(3)路由表的建立。
路由表中最主要的信息就是到某个网络的距离(最短距离),以及应经过的下一跳地址。路由器在刚刚开始工作时,只知道到直接连接的网络的距离(此距离定义为1)。以后,每个路由器也只与数目非常有限的相邻路由器交换并更新路由信息。经过若干次更新后,所有的路由器最终都会知道到达本自治系统中任何一个网络的最短距离和下一跳路由器的地址。在一般情况下,RIP可以收敛,并且过程也较快。“收敛”就是在自治系统中所有的结点都得到正确的路由选择信息的过程。
路由表更新的原则是找出到每个目的网络的最短距离。这种更新算法又称为距离向量算法。下面就是RIP使用的距离向量算法。
①收到相邻路由器(其地址为X)的一个RIP报文,先修改此RIP报文中的所有项目:把“下一跳”字段中的地址都改为X,并把所有的“距离”字段的值加1。
②对修改后的RIP报文中的每个项目,重复以下步骤:
步骤1:若项目中的目的网络不在路由表中,则把该项目加到路由表中。
步骤2:否则,若下一跳字段给出的路由器地址是相同的,则把收到的项目替换原路由表中的项目。
步骤3:否则,若收到项目中的距离小于路由表中的距离,则进行更新。
步骤4:否则什么也不做。
③若3min之内还没有收到相邻路由器的更新路由表,则把此相邻路由器记为不可达路由器,即将距离设置为16(距离为16表示不可达)。
④返回。
我们来看一个例子:已知路由器R1的路由表如表4-8所示。现在收到相邻路由器R4发来的路由更新信息,如表4-9所示。试更新路由器R1的路由表。
表4-8 路由器R1的路由表
表4-9 R4发来的路由更新信息
解析 与路由器一样,我们不需要知道该网络的拓扑结构。
先把表4-9中的距离都加1,并把下一跳路由器都改为R4,得到表4-10。
表4-10 加1之后的路由表
把表4-10的每行和表4-8进行比较。
第一行的Net1在表4-8中没有,因此要把这一行添加到表4-8中。
第二行的Net2在表4-8中有,且下一跳路由器也是R4。因此不需要更新。
第三行的Net3在表4-8中有,但下一跳路由器不同。于是就要比较距离。新的路由信息的距离是2,小于原来表中的4,因此要更新。更新后的R1的路由表如表4-11所示。
表4-11 路由器R1更新后的路由表
我们再看一个稍微复杂的例子,如图4-12所示。
图4-12 路由更新算法示例
通过上面的例子,我们学习了RIP路由更新算法,接下来我们通过一个例子来讲解RIP协议从启动到收敛的完整过程。如图4-13所示,现在有两个路由器,RTA和RTB直接相连,且RTA和10.1.0.0/24、10.2.0.0/24直接相连,RTB和10.3.0.0/24、10.2.0.0/24直接相连。其实多数路由器原理是一样的。
图4-13 RTA和RTB直接相连
①路由器启动时,RTA和RTB只知道它们直接相连的网络。于是可以得到RTA和RTB的路由表,如表4-12和表4-13所示。
表4-12 RTA的路由表
表4-13 RTB的路由表
②RTB和RTA是相邻路由器,它们之间交换路由表信息,对于RTA来说,它可以通过RTB到达10.3.0.0/24,距离是2;对于RTB来说,它可以通过RTA到达10.1.0.0/24,距离是2,如表4-14和表4-15所示。
表4-14 RTA的路由表
表4-15 RTB的路由表
③此时路由表不再发生变化,就收敛了。
④如果突然接入了RTC,它与RTB相连,如图4-14所示。
图4-14 RTC与RTB相连
接入RTC后,RTB和RTC相互交换路由表信息,得到RTC和RTB的路由表,如表4-16和表4-17所示。
表4-16 RTC的路由表
表4-17 RTB的路由表
接着RTB和RTA相互交换路由表信息,得到RTA和RTB的路由表,如表4-18和表4-19所示。
表4-18 RTA的路由表
表4-19 RTB的路由表
⑤网络再次达到收敛。
(4)RIP协议的特点。
RIP协议让一个自治系统中的所有路由器都和自己的相邻路由器定期交换路由信息,并不断更新其路由表,使得从每个路由器到每个目的网络的路由都是最短的(跳数最少)。考生应注意,虽然所有的路由器最终都拥有了整个自治系统的全局路由信息,但由于每个路由器的位置不同,它们的路由表当然也应当不同。
①RIP是应用层协议,使用UDP协议。
②RIP协议首部开销是20B。
③RIP协议最大的优点就是实现简单、开销较小。
④RIP限制了网络的规模,它能使用的最大距离为15(16表示不可达)。
路由器之间交换的路由信息是路由器中的完整路由表,因而随着网络规模的扩大,开销也就增加。这就是好消息传播得快,而坏消息传播得慢。网络出现故障的传播时间往往需要较长的时间才能实现收敛,这是RIP的一个主要缺点。
如图4-15(a)所示,R1到网1的距离是1,是直接交付。如图4-15(b)所示,R2到网1的距离是2,需要经过R1。如图4-15(c)所示,当网络1出现故障时,R1到网1的距离是16(表示无法到达),但R2在收到R1的更新报文之前,还发送原来的报文,因为这时R2并不知道R1出了故障。R1收到R2的更新报文后,误认为可经过R2到达网1,于是更新自己的路由表,到网1的距离是3,下一跳经过R2。然后将此更新信息发送给R2。然后R2又更新自己的路由表为“1,4,R1”,表明“R2到网1距离是4,下一跳经过R1”。这样不断更新下去,直到R1和R2到网1的距离都增大到16时,R1和R2才知道网1是不可达的。
图4-15 RIP协议的缺点:坏消息传播得慢
图4-15 RIP协议的缺点:坏消息传播得慢(续)
3.开放最短路径优先协议(OSPF)
(1)OSPF协议原理。
OSPF协议是为克服RIP的缺点开发出来的。OSPF协议的原理很简单,“开放”表明OSPF协议不是受某一家厂商控制的,而是公开发表的。“最短路径优先”是因为使用了Dijkstra提出的最短路径算法(其实就是在路由器之间建立一个最短路径)。
OSPF最主要的特征是使用分布式的链路状态协议(Link State Protocol),而RIP使用的是距离向量协议。
(2)OSPF协议的3个要点。
OSPF协议是分布式路由选择协议。它的特点是每个路由器都要不断地和其他一些路由器交换路由信息。考生一定要掌握以下3个要点,即和哪些路由器交换信息,交换什么信息,在什么时候交换信息。
①使用泛洪法向本自治系统中的所有路由器发送信息。这就是路由器通过所有输出端口向所有相邻的路由器发送信息。而每个相邻路由器又将此信息再发往其所有的相邻路由器(但不再发送给刚刚发来信息的那个路由器)。这样,最终整个区域中所有的路由器都得到了这个信息的一个副本。而RIP协议是仅向自己相邻的几个路由器发送信息。
②发送的信息是与本路由器相邻的所有路由器的链路状态,但这只是路由器所知道的部分信息。“链路状态”就是说明本路由器都与哪些路由器相邻,以及该链路的“度量”(Metric)。
③只有当链路状态发生变化时,路由器才用泛洪法向所有路由器发送此信息。
(3)链路状态数据库。
由于各路由器之间频繁地交换链路状态信息,因此所有的路由器最终都能建立一个链路状态数据库(Link-State Database),这个数据库实际上就是全网的拓扑结构图。这个拓扑结构图在全网范围内是一致的(这称为链路状态数据库的同步)。因此,每个路由器都知道全网共有多少个路由器,以及哪些路由器是相连的,其代价是多少,等等。每个路由器使用链路状态数据库中的数据,构造出自己的路由表(例如,使用Dijkstra的最短路径路由算法)。OSPF的链路状态数据库能较快地进行更新,使各个路由器能及时更新其路由表。OSPF的更新过程收敛得快是其重要优点。
(4)OSPF的区域。
为了使OSPF能够用于规模很大的网络,OSPF将一个自治系统划分为若干个更小的范围,这个范围称为区域。图4-16表示一个自治系统划分为4个区域,每个区域都有一个32位的区域标识符。
划分区域的好处是把利用泛洪法交换链路状态信息的范围局限于每个区域而不是整个的自治系统,这就减少了整个网络上的通信量。在一个区域内部的路由器只知道本区域的完整网络拓扑,而不知道其他区域的网络拓扑情况。OSPF使用层次结构进行区域划分。在上层的区域称为主干区域。主干区域的标识符规定为0.0.0.0。主干区域的作用是连通其他在下层的区域。从其他区域来的信息都由区域边界路由器进行概括。在图4-16中,路由器R3、R4都是区域边界路由器,显然,每个区域应当至少有一个区域边界路由器。在主干区域内的路由器称为主干路由器,如R3、R4、R5、R6和R7。一个主干路由器可以同时是区域边界路由器,如R3、R4和R7。在主干区域内还要有一个路由器专门和本自治系统外的其他自治系统交换路由信息。这样的路由器称为自治系统边界路由器。
图4-16 自治系统划分区域
OSPF不用UDP而是直接用IP数据报传送(其IP数据报首部的协议字段值为89),OSPF构成的数据报很短。
(5)OSPF分组类型。
OSPF共有以下5种分组类型,如图4-17所示。
①类型1:问候分组,用来发现和维持邻站的可达性。
②类型2:数据库描述分组,向邻站给出自己的链路状态数据库中的所有链路状态项目的摘要信息。
③类型3:链路状态请求分组,向对方请求发送某些链路状态项目的详细信息。
④类型4:链路状态更新分组,用泛洪法对全网更新链路状态。路由器使用这种分组将其链路状态通知给邻站。
⑤类型5:链路状态确认分组,对链路更新分组的确认。
OSPF规定,每两个相邻路由器每隔10s要交换一次问候分组,在正常情况下,网络中传送的绝大多数OSPF分组都是问候分组,其他的4种分组用来进行链路状态数据库的同步。所谓同步,是指不同路由器的链路状态数据库的内容是一样的。
当一个路由器刚开始工作时,它只能通过问候分组得知有哪些相邻的路由器在工作,以及将数据发往相邻路由器所需的“代价”。如果所有的路由器都把自己的本地链路状态信息对全网进行广播,那么在网络运行的过程中,只要一个路由器的链路状态发生变化,该路由器就要使用链路状态更新分组,用泛洪法向全网更新链路状态。OSPF使用的是可靠的泛洪法。
图4-17 OSPF的基本操作
(6)OSPF的特点。
①OSPF用IP数据报传送。
②OSPF对不同的链路可根据IP分组的不同服务类型设置成不同的代价。因此,OSPF对于不同类型的业务可计算出不同的路由。
③如果到同一个目的网络有多条相同代价的路径,那么可以将通信量分配给这几条路径,这称为多路径间的负载平衡。
④所有在OSPF路由器之间交换的分组都具有鉴别的功能。
⑤支持可变长度的子网划分和无分类编址CIDR。
⑥OSPF规定每隔一段时间(如30min),要刷新一次数据库中的链路状态。
⑦由于一个路由器的链路状态只涉及与相邻路由器的连通状态,因此与整个互联网的规模并无直接关系。
⑧OSPF没有“坏消息传播得慢”的问题。
4.边界网关协议(BGP)
BGP是不同自治系统的路由器之间交换路由信息的协议,BGP只能是力求寻找一条能够到达目的网络且比较好的路由(不能兜圈子),而并非要寻找一条最佳路由。BGP采用路径向量(Path Vector)路由选择协议,它与距离向量协议(如RIP)和链路状态协议(如OSPF)都有很大的区别。
(1)BGP-4的原理。
在配置BGP时,每个自治系统的管理员要选择至少一个路由器作为该自治系统的“BGP发言人”,一般来说,两个BGP发言人是通过一个共享网络连接在一起的,而BGP发言人往往就是BGP边界路由器,但也可以不是BGP边界路由器。一个BGP发言人要与其他自治系统的BGP发言人交换路由信息,就要先建立TCP连接(端口号为179),然后在此连接上交换BGP报文来建立BGP会话(Session),利用BGP会话交换路由信息,如增加了新的路由或撤销过时的路由,以及报告出差错的情况等。使用TCP连接能提供可靠的服务,也简化了路由选择协议。使用TCP连接交换路由信息的两个BGP发言人,彼此成为对方的邻站(Neighbor)或对等站(Peer)。
(2)BGP-4的4种报文。
①OPEN(打开)报文,用来与相邻的另一个BGP发言人建立关系,使通信初始化。
②UPDATE(更新)报文,用来通告某一路由的信息,以及列出要撤销的多条路由。
③KEEPALIVE(保活)报文,用来周期性地证实邻站的连通性。
④NOTIFICATION(通知)报文,用来发送检测到的差错。
若两个邻站属于两个不同的自治系统,而其中一个邻站打算和另一个邻站定期地交换路由信息,这就应当有一个商谈的过程。因此,一开始向邻站进行商谈时就必须发送OPEN报文。如果邻站接受这种邻站关系,就用KEEPALIVE报文响应。这样,两个BGP发言人的邻站关系就建立了。
(3)BGP-4的特点。
BGP协议交换路由信息的节点数量级是自治系统个数的量级,这要比这些自治系统中的网络数少很多。要在许多自治系统之间寻找一条较好的路径,就要寻找正确的BGP发言人(或边界路由器),而在每个自治系统中BGP发言人(或边界路由器)的数目是很少的。这样就使得自治系统之间的路由选择不至于太复杂。
BGP支持无分类域间路由选择CIDR,因此BGP的路由表应当包括目的网络前缀、下一跳路由器,以及到达该目的网络所要经过的自治系统序列。由于使用了路径向量的信息,因此可以很容易地避免产生兜圈子的路由。如果一个BGP发言人收到了其他BGP发言人发来的路径通知,它就要检查一下本自治系统是否在此通知的路径中。如果在这条路径中,就不能采用这条路径(因为会兜圈子)。
在BGP刚刚运行时,BGP的邻站是交换整个BGP路由表。但之后只需要在发生变化时更新有变化的部分。这样做对节省网络带宽和减少路由器的处理开销方面都有好处。
【政哥点拨】
某自治系统采用RIP协议,若该自治系统内的路由器R1收到其邻居路由器R2的距离向量,距离向量中包含信息<net1,16>,则可能得出的结论是( )。
A.R2可以经过R1到达net1,跳数为17
B.R2可以到达net1,跳数为16
C.R1可以经过R2到达net1,跳数为17
D.R1不能经过R2到达net1
解析 D RIP是基于距离向量算法的路由协议,规定了16跳为不可达。故而,从源主机到目的主机之间最多只能有15个路由器。R1收到路由器R2<net1,16>的距离向量,显然R1是不能经过R2到达net1的。
政哥应试提醒:3个路由协议的特点和应用是考试的重点,重点掌握好RIP协议的工作过程,以及RIP、OSPF、BGP-4的对比和应用。
难度系数:★★★
牛刀小试
1.在采用点对点通信线路的网络中,由于连接多台计算机之间的线路结构复杂,因此确定分组从源节点通过通信子网到达目的节点的适当传输路径需要使用( )。
A.差错控制算法 B.路由选择算法 C.拥塞控制算法 D.协议变换算法
2.必须要由网络管理员手动配置的是( )。
A.静态路由 B.直连路由 C.动态路由 D.间接路由
3.内部网关协议RIP是一种广泛使用的基于距离矢量算法的协议。RIP规定一条通路上最多可包含的路由器数量是( )。
A.1个 B.16个 C.15个 D.无限个
4.下列哪项陈述描述了默认路由的作用?( )
A.主机使用默认路由将数据传输到位于同一个网段中的其他主机
B.主机使用默认路由将数据转发到本地交换机,它充当前往所有目的设备的下一跳
C.主机使用默认路由确定本地网络中终端设备的第2层地址
D.不存在通往目的主机的其他路由时,主机使用默认路由将数据传输到本地网络外的主机
5.RIP协议使用( )。
A.链路-状态算法 B.向量-距离算法
C.标准路由选择算法 D.统一的路由选择算法
6.下列不属于路由选择协议的是( )。
A.RIP B.ICMP C.BGP D.OSPF
7.关于OSPF和RIP,下列哪种说法是正确的?( )
A.OSPF和RIP都适合在规模庞大的、动态的互联网上使用
B.OSPF和RIP比较适合在小型的、静态的互联网上使用
C.OSPF适合在小型的、静态的互联网上使用,而RIP适合在大型的、动态的互联网上使用
D.OSPF适合于在大型的、动态的互联网上使用,而RIP适合在小型的、静态的互联网上使用
8.以下有关RIP和OSPF的叙述中有错误的是( )。
A.RIP和OSPF都是内部网关协议 B.OSPF仅与相邻路由器交换信息
C.RIP交换的信息为自己的路由表 D.OSPF能够建立全网的拓扑结构图
9.在两个自治系统之间使用的路由协议是( )。
A.路由信息协议(RIP) B.内部网关协议(IGP)
C.开放最短路径(OSPF)协议 D.边界网关协议(BGP)
10.BGP协议的作用是( )。
A.用于自治系统之间的路由器间交换路由信息
B.用于自治系统内部的路由器间交换路由信息
C.用于主干网中路由器之间交换路由信息
D.用于园区网中路由器之间交换路由信息
11.网络中路由器D的路由表中已存有路由信息的目的网络、跳数、下一跳路由器分别为N2、2、X,新收到从X发来的路由信息中目的网络、跳数、下一跳路由器分别为N2、5、Y,则路由表D中更新后关于N2的路由信息为( )。
A.N2、2、X B.N2、5、X C.N2、6、X D.N2、5、Y
12.图4-18中网络的运行完全正常。下列哪项陈述正确描述了图中所示拓扑结构的路由?( )
图4-18 网络拓扑结构
A.R3使用192.168.0.2作为下一跳地址将数据包从10.0.0.0网络路由到172.16.0.0网络
B.R1使用192.168.0.1作为下一跳地址将数据包从192.168.12.0网络路由到172.16.0.0网络
C.R3使用172.16.0.1作为下一跳地址将数据包从10.0.0.0网络路由到172.16.0.0网络
D.R2使用192.168.0.2作为下一跳地址将数据包从172.16.0.0网络路由到192.168.12.0网络
牛刀小试解析
1.B 解析 本题考查路由算法的用途。在点对点通信中,若连接多台计算机之间的线路结构比较复杂,为了确定分组从源节点通过通信子网到达目的节点的适当传输路径,需要使用路由选择算法。
2.A 解析 本题考查静态路由需要手工配置的特点。静态路由需要网络管理员配置,动态路由可以自学习,自动修改和更新路由表。
3.C 解析 RIP协议规定16跳为不可达,故而,一条链路上最多只能有15个路由器。
4.D 解析 本题考查默认路由的作用。若数据包的目的网络地址与路由器中的路由不匹配,则会被转发到与默认路由相关联的下一跳路由。
5.B 解析 本题考查RIP协议的路由状态算法。RIP(Routing Information Protocol)路由信息协议是分布式的基于距离向量的路由选择协议。距离也称为跳数,规定从一个路由器到直接连接的网络距离(跳数)为1,每经过一个路由器,跳数加1,而16跳表示不可达。
路由信息协议RIP最多允许在一条路径上包含15个路由器,这决定了RIP只能适用于简单的小型网络。试想一下,如果是大型网络,那么一个主机或路由器有可能给16跳之外的主机或路由器传递报文,跳数达到16了,但是报文到达不了,会是什么结果?
OSPF协议是基于分布式链路状态算法的协议,也是内部网关协议的一种,适用于比较大的网络。RIP协议是应用层协议,在传输层使用UDP传送,OSPF是网络层协议。
6.B 解析 本题考查路由选择协议。BGP是外部网关协议的代表,而RIP和OSPF属于内部网关协议。ICMP是网际控制报文协议,是一种面向连接的协议,用于传输出错报告控制信息。
网络层的IP协议是面向无连接的、不可靠的、尽最大努力交付数据报的协议,引入ICMP是为了提高报文传输成功的概率。
7.D 解析 路由信息协议采用的是距离矢量路由算法,最多允许在一条路径上包含15个路由器(16跳为不可达),这也决定了RIP只能适用于简单的、比较小的、静态的网络,而OSPF适用于大型的、动态的网络。
8.B 解析 OSPF使用泛洪法向本自治系统中的所有路由器发送信息。RIP协议则不同,它只与自己相邻的路由器发送信息。在进行路由信息交换时,使用RIP的路由表交换的信息是整个路由表,而使用OSPF协议的路由表交换的信息是路由表的一部分。OSPF协议的特点决定了任何一个路由器都知道自己所在区域的拓扑结构。
9.D 解析 常见的内部网关协议是RIP和OSPF协议,常见的外部网关协议是BGP协议。所以,本题选择D项。
10.A 解析 本题考查BGP协议的作用。BGP协议主要用于自治系统之间的路由间交换路由信息。故而,选择A项。
11.C 解析 当前的路由信息是(目的网络,跳数,下一跳路由)=(N2,2,X),当收到X发来的新路由信息(目的网络,跳数,下一跳路由)=(N2,5,Y),发现了经过X到达目的网络N2还需要5跳(距离变远了),就需要更新路由表了。
首先,目的网络还是N2,下一跳还是X路由器,跳数变成1+5=6。其中,1表示路由器D到路由器X是1跳,5表示路由器X到N2网络还有5跳。
于是,路由信息为(目的网络,跳数,下一跳路由)=(N2,6,X)。故而,选择C项。
12.A 解析 只有当目的网络不是本网络时,才存在下一跳,这个下一跳的地址不是本路由器的接口地址,而是去往目的网络所必须经过的路由器的与本路由器相连接口的地址,该地址应该和本路由器转发接口的地址位于同一个网段。
依此判断,只有A项正确。C项错在使用了转发接口地址作为下一跳地址,B项和D项错误是因为该接口未与转发接口进行本地连接。所以,R1使用192.168.0.2作为下一跳地址将数据报从192.168.12.0网络路由到172.16.0.0网络。R2使用192.168.0.1作为下一跳地址将数据报从172.16.0.0网络路由到192.168.12.0网络。
大显身手
表4-20给出了在某个使用矢量距离路由协议的网络中路由器A的原始路由表,表4-21给出了路由器A收到来自路由器B的信息,表4-22给出了路由器A收到来自路由器C的信息。写出路由器A收到来自路由器B和路由器C的信息后得到的新路由表。(详细说明每一步)
表4-20 路由器A的原始路由表
表4-21 路由器A收到来自路由器B的信息
表4-22 路由器A收到来自路由器C的信息
大显身手解析
解析 当路由器A收到路由器B发来的路由表,发现路由器B到网络1的距离为1,到网络2的距离为3,到网络4的距离为4,到网络5的距离为3。因为路由器A到路由器B的距离为1,所以经过路由器B,A到达网络1、2、4、5的距离分别为2、3、5、4。故而路由器A需更新其到网络2和网络4的距离。此时,A更新路由表,如表4-23所示。
表4-23 路由器A更新路由表(1)
当收到路由器C发来的路由表时,A经过路由器C到网络2、3、5、6的距离分别为8、5、3、4。值得注意的是,A经过路由器D到网络5的距离是4,而经过路由器C到网络5的距离为3,故而该条路由也需要更新。因此,A更新路由表,如表4-24所示。
表4-24 路由器A更新路由表(2)