第8章路由协议,RIP、OSPF、BGP、IS-IS

一、路由协议

1、 路由表

什么是路由?

当路由器(或其他三层设备) 收到一个IP数据包时,会查看数据包的IP头部中的目的IP地址,并在路由表中进行查找,在匹配到最优的路由后,将数据包扔给该路由所指出接口或者下一跳。

路由器工作原理

  • 建立并维护路由表RIB。
    • 直连路由:路由器本地接口所在网段。
    • 静态路由:手工配置的路由条目。
    • 动态路由:路由器之间通过动态路由协议学习到的路由。
  • 根据路由表进行数据转发。

查看路由表

练习题:

如果路由优先级为15,则(22)。

• A.这是一条静态路由 B.这是一台直连设备

• C.该条路由信息比较可靠 D.该路由代价较小

复制代码
路由优先级用于区分不同路由协议的优先级,取值0-255,越小越优先。下表为华为
设备路由优先级,如果路由优先级为15,代表IS-IS协议,该路由信息比较可靠。

下列路由记录中最可靠的是(31),最不可靠的是(32)。

• (31)A.直连路由 B.静态路由 C.外部BGP D.OSPF

• (32)A.直连路由 B.静态路由 C.外部BGP D.OSPF

复制代码
管理距离AD(华为叫优先级)值越小,路由越可靠。下面是华为设备的相关路由协议优先级(越小越优先)。

路由信息中不包括(16)。

• A.跳数 B.目的网络 C.源网络 D.路由权值

复制代码
选择C
复制代码
路由条路Flag中带R的表示迭代路由,迭代路由不论有多少出接口和下一跳,仅统计为1条路由。

2、路由协议分类

  • 路由协议分类方式:按距离矢量和链路状态分类、按内部网关和外部网关协议。
  • 距离矢量路由协议一般基于Bellman-Ford算法,链路状态路由协议基于Dijkstra算法(也叫SPF最短
    路径优先算法)。

一个由多个路由器相互连接构成的拓扑图如下所示,图中数字表示路由之间链路的费用,OSPF路由协

议将利用(30)算法计算出路由器u到z的最短路径费用值为(31)。

• A.Prise B.FLoxd-warshall C.Dijkstra D.Bellan-Port

• A.10 B.4 C.3 D.5

复制代码
OSPF是数据链路状态路由协议,采用的SPF算法,即最小生成树算法(Dijkstar),会把网络拓扑转变为最短路径优先树,然后从该树形结构中找出到达每一个网段的最短路由,并保证计算出的路由不会存在环路。SPF算法计算路由的依据是带宽,每条链路根据其带宽都有相应的开销(COST)。开销越小,带宽就越大,链路就越优。
复制代码
(35)题比较灵活,从表得出从Z到U的最短距离是7,且只有1条路径,且到U的上一跳节点是W,则路径只能是Z-W-U,故b=6,a无法确定。如果把表中上一跳节点修改为下一跳节点,
则选择B答案,分析如下:路由如果是Z-W-V-U,则a=1,b>6;如果路由是Z-W-U,那么b=6,a>1。所以,a和b取值很多,无法确定。也可以极端举例,a=1,b=100或者a=100,b=6。

距离向量路由协议所采用的核心算法是(31)。

• A.Dijkstra算法 B.Prim算法

• C.Floyd算法 D.Bellman-Ford算法

复制代码
距离向量路由协议也叫距离矢量路由协议,基于Bellman-Ford算法

3、路由协议 RIP

  • RIP(Routing Information Protocol,路由信息协议)
  • 内部网关协议IGP,距离矢量路由协议。
  • 华为设备上路由优先级为100。
  • 计算跳数:最大15跳,16跳不可达,一般用于小型网络。
  • 几个时钟:30s周期性更新路由表、180s无更新表示不存在、300s删除路由表。
  • 支持等价负载均衡和链路冗余,使用UDP 520端口。

RIPv1与RIPv2对比

距离矢量路由协议

  • 使用距离矢量路由协议的路由器并不了解网络的拓扑。该路由器只知道:
    • 自身与目的网络之间的距离。
    • 应该往哪个方向或哪个接口转发数据包。

距离矢量路由协议特点

  • 周期性地更新(广播)整张路由表。
  • 距离 Distance --- 多远。
  • 矢量 Vector --- 哪个方向。
  • RIP以跳数作为度量值,虽然简单,但事实上不科学,如下图:

RIP防环机制

  • ①最大跳数:当一个路由条目发送出去会自加1跳,跳数最大为16跳,意味着不可达。
  • ②水平分割:一条路由信息不会发送给信息的来源。
  • ③反向毒化的水平分割:把从邻居学习到的路由信息设为16跳,再发送给那个邻居。
  • ④抑制定时器和触发更新也可以防止环路。

练习题:

RIPv1与RIPv2的区别是(15)。

• A.RIPv1的最大跳数是16,而RIPv2的最大跳数为32

• B.RIPv1是有类别的,而RIPv2是无类别的

• C.RIPv1用跳数作为度量值,而RIPv2用跳数和带宽作为度量值

• D.RIPv1不定期发送路由更新,而RIPv2周期性发送路由更新

复制代码
选B,掌握RIPv1和RIPv2的区别。

RIPv2对RIPv1协议的改进之一是采用水平分割法。以下关于水平分割法的说法中错误的是(32)。

• A.路由器必须有选择地将路由表中的信息发给邻居

• B.一条路由信息不会被发送给该信息的来源

• C.水平分割法为了解决路由环路

• D.发送路由信息到整个网络

复制代码
选择D,水平分割是RIP的防环机制,不会把路由发送给收到该路由的方向。

在RIP协议中,默认的最大度量值是(23)跳,除了设置最大度度量值外,还可以采用(24)防止路由环路。

(23)A.15 B.16 C.32 D.64

(24)A.水平分割和垂直翻转 B.水平分割和路由毒化 C.垂直翻转和路由毒化 D.垂直翻转和毒化逆转

复制代码
选择A,B
RIP最大跳数是15,16跳意味着不可达。

4、路由协议 OSPF

OSPF简介

  • OSPF(Open Shortest Path First,开放式最短路径优先协议)是目前应用最广泛的路由协议。
  • OSPF是一种内部网关协议IGP,也是链路状态路由协议,支持VLSM,通过连通性、距离、带宽等状态计算最佳路径,采用Dijkstra算法(也叫SPF最短路径算法)。
  • 华为设备OSPF协议优先级Internal 10,External 150(import-route)。
  • 支持VLSM,支持在ABR/ASBR手工路由汇总,不支持自动汇总。

OSPF特点

  • (1)采用触发式更新、分层路由,支持大型网络。允许网络被划分成区域来管理,链路状态数据库仅需和区域内其他路由器保持一致。 减小对路由器内存和CPU的消耗。同时区域间传送的路由信息减小,降低网络带宽占用。
  • (2)骨干区域采用Area 0.0.0.0或者Area 0来表示,区域1不是骨干区域。
  • (3)OSPF通过hello报文发现邻居,维护邻居关系。在点对点和广播网络中每10秒发送一次hello,在NBMA网络中每30秒发送一次hello,Deadtime为hello时间的4倍。
  • (4)OSPF路由器间通过LSA (Link State Advertisement,链路状态公告)交换网络拓扑信息,每台运行OSPF协议的路由器通过收到的拓扑信息构建拓扑数据库,再以此为基础计算路由。路由器之间交互的是链路状态信息,而不是直接交互路由。
  • (5)OSPF系统内几个特殊组播地址:
    • 224.0.0.1:在本地子网的所有主机
    • 224.0.0.2:在本地子网的所有路由器
    • 224.0.0.5:运行OSPF协议的路由器
    • 224.0.0.6:OSPF指定/备用指定路由器DR/BDR
  • (5)每个网段选取一个DR和BDR,作为代表与其他路由器Dother建立邻居关系。
  • (6)router-id在OSPF域内唯一标识一台路由器的IP地址,不能设置为相同。
  • (7)OSPF的router-id选举规则如下:
    • 1)优选手工配置的router-id。
    • ①OSPF进程手工配置的router-id具有最高优先级。
    • ②在全局模式下配置的公用router-id的优先级仅次于直接给OSPF进程手工配置router-id,即它具有第二优先级。
    • 2)在没有手工配置的前提下,优选loopback接口地址中最大的地址作为router-id。
    • 3)在没有配置loopback接口地址的前提下,优选普通接口的IP地址中选择最大的地址作为router-id (不考虑接口
      的Up/Down状态)。

OSPF DR/BDR

OSPF DR/BDR优先级

  • DR选举规则:最高OSPF接口优先级拥有者被选为DR,如果优先级相等(默认为1),具有最高OSPF RouterID的路由器被选举为DR,并且DR具有非抢占性。【优先级0不参与选举】
  • 备用指定路由器(BDR):监控DR状态,并在当前DR发生故障后接替其角色。
  • AR1-GigabitEthernet0/0/0\] ospf dr-priority ?

练习题:

在OSPF的广播网络中,有4台路由器Router A、Router B、Router C和Router D,其优先级分别为2、1、1和0,Router ID分别为192.168.1.1、192.168.2.1、192.168.3.1和192.168.4.1。若在此4台路由器上同时启用OSPF协议,OSPF选出的BDR为(47)。

• A.Router A B.Router B C.Router C D.Router D

复制代码
路由器优先级取值是0-255,如果路由器优先级为0,则代表它不具备DR和BDR的选举资格。题目已知Router D的优先级是0,那么他肯定不是DR或者BDR。Router A优先级最高,他会成为DR,Router B和C的优先级都是1,接着看IP地址,大的胜出成为BDR,则Router C成为BDR。

OSPF cost

  • OSPF使用Cost"开销"作为路由度量值。
  • OSPF接口cost=100M/接口带宽,其中100M为OSPF参考带宽(reference-bandwidth),可修改。
  • 每一个激活OSPF的接口都有一个cost值。
  • 一条OSPF路由的cost由该路由从起源一路到达本地的所有入接口cost值的总和。
  • 流量和路由是两个相反的方向

OSPF区域

  • 所有非骨干区域必须与骨干区域直连。
  • 如果有区域没有与Area 0相联,可以通过虚链路临时解决,只能横穿一个非骨干区域。

OSPF路由器角色

练习题:

下图所示的OSPF网络由3个区域组成。在这些路由器中,属于主干路由器的是(23),属于区域边界

路由器(ABR)的是(24),属于自治系统边界路由器(ASBR)的是(25)。

• (23)A.R1 B.R2 C.R5 D.R8

• (24)A.R3 B.R5 C.R7 D.R8

• (25)A.R2 B.R3 C.R6 D.R8

复制代码
OSPF路由器有如下分类:
• (1)内部路由器:位于OSPF区域内部,路由器上所有接口都处于同一个区域。
• (2)区域边界路由器(Area Border Router,ABR):路由器至少一个接口与其他OSPF区域相连。
• (3)AS边界路由器(Autonomous System Boundary Router,ASBR)路由器至少一个接口与其他路由协议相
连,比如RIP、ISIS等。
• (4)主干路由器(Backbone Router):至少有一个接口定义为属于主干区域的路由器。任何一个与主干区域互
联的ABR或者 ASBR也是主干路由器。

下图所示的OSPF网络由3个区域组成。以下说法中正确的是(33)。

• A.R1为主干路由器 B.R6为区域边界路由器(ABR)

• C.R7为自治系统边界路由器(ASBR) D.R3为内部路由器

复制代码
OSPF路由器根据在AS中的不同位置,可以分为四类。
• 区域内路由器IR(Internal Routers):该类路由器的所有接口都属于同一个OSPF区域。
• 区域边界路由器ABR(Area Border Routers):该类路由器可以同时属于两个以上的区域,ABR 用来连接骨干区
域和非骨干区域
• 骨干路由器 BR(Backbone Routers):该类路由器至少有一个接口属于骨干区域。因此,所有的ABR 和位于
Area0的内部路由器都是骨干路由器。
• 自治系统边界路由器ASBR(AS Boundary Routers):与其他AS交换路由信息的路由器称为ASBR。

以下关于OSPF协议路由聚合的描述中,正确的是(53)。

• A.ABR会自动聚合路由,无需手动配置

• B.在ABR和ASBR上都可以配置路由聚合

• C.一台路由器同时做ABR和ASBR时不能聚合路由

• D.ASBR上能聚合任意的外部路由

复制代码
OSPF不会自动汇总,需要手工配置,故A选项错误。在ABR和ASBR上都能配置路由聚合,故B
选项正确。一台路由器同时做ABR和ASBR,并不影响各自汇聚路由。作为ABR仍然能聚合区域间路由,作为ASBR
仍然能聚合外部路由,这两个功能是分开的,故C选项错误。ASBR上只能聚合"由自己引入的"外部路由,如果
ASBR从别的ASBR学习到一条外部路由,它是聚合不了的。只能聚合活跃的外部路由,什么是活跃的呢,比如同时
从rip和eigrp到两条相同的路由,根据管理距离不同,eigrp会优选,就是活跃的,rip的那条路由就不活跃了,如果
这时候引入rip到ospf的话,是不能聚合的,故D选项错误。

以下关于OSPF特性的叙述中,错误的是(40)。

• A.OSPF采用链路状态算法

• B.每个路由器通过泛洪LSA向外发布本地链路状态信息

• C.每台OSPF设备收集LSA形成链路状态数据库

• D.OSPF区域0中所有路由器上的LSDB都相同

复制代码
LSDB链路状态数据库
OSPF区域0中的路由器分为两类,一类是内部路由器,只有区域0的LSDB,还有一类是ABR,可能包含多个区域的LSDB,OSPF区域0中的路由器LSDB不一定相同,故D选项错误。

以下措施中能够提高网络系统可扩展性的是(38)。

• A.采用静态路由进行路由配置

• B.使用OSPF协议,并规划网络分层架构

• C.使用RIPv1进行路由配置

• D.使用IP地址聚合

复制代码
合理规划OSPF能有效提供网络可扩展性,OSPF支持中大型网络,而RIP只支持中小型网络。

路由器RA上执行如下命令:

• [RA-GigabitEthernet0/0] ip address 192.168.1.1 24

• [RA-GigabitEthernet0/0] quit

• [RA] router id 2.2.2.2

• [RA] ospf 1 router-id 1.1.1.1

• [RA-ospf-1] quit

• [RA] interface LoopBack 0

• [RA-LoopBack0] ip address 3.3.3.3 32

• 从以上配置可以判断RA的OSPF进程1的Router ID是(26)。

• A.1.1.1.1 B.2.2.2.2 C.3.3.3.3 D.192.168.1.1

复制代码
掌握OSPF的router-id选举规则。

5、路由协议 BGP/ISIS

BGP基础

  • BGP(Border Gateway Protocol,边界网关协议)外部网关协议,用于不同自治系统(AS)之间,寻找最佳
    路由。BGP有如下特点:
    • (1)BGP通过TCP 179端口建立连接,支持VLSM和CIDR。
    • (2)支持增量更新,支持认证,支持无类、支持聚合(优先级:手动聚合>自动聚合>network>import)。
    • (3)是一种路径矢量协议,可以检测路由环路,支持大型网络。
    • (4)目前最新版本是BGP4,而BGP4+支持IPv6。

BGP四个报文

BGP选路规则

• ① 丢弃下一跳不可达的路由。

• ② 优选Preference_Value最高的路由(私有属性,仅本地有效)。

• ③ 优选Local_Preference最高的路由。

• ④ 优选手动聚合 > 自动聚合> network > import >从对等体学到的。

• ⑤ 优选AS_Path最短的路由。

• ⑥ 起源类型IGP > EGP > Incomplete。

• ⑦ 对于来自同一AS的路由,优选MED最小的。

• ⑧ 优选从EBGP学来的路由(EBGP > IBGP)。

• ⑨ 优选AS内部IGP的Metric最小的路由。

• ⑩ 优选Cluster_List最短的路由。

• ⑪ 优选Orginator_ID最小的路由。

• ⑫ 优选Router_ID最小的路由器发布的路由。

• ⑬ 优选IP地址最小的邻居学来的路由。

ISIS

  • IS-IS(Intermediate system to intermediate system,中间系统到中间系统)是内部网关协议,是电信运营商普遍采用的内部网关协议之一,也是一个分级的链路状态路由协议。
  • 与OSPF相似,它也使用Hello协议寻找毗邻节点。
  • 与大多数路由协议不同,IS-IS 直接运行于链路层之上。
  • IS-IS具有层次性,分为两层Level-1和Level-2。
  • Level-1(L1)是普通区域( Area),Level-2(L2)是骨干区(Backbone)。
  • 骨干区Backbone是连续的Level-2路由器的集合,由所有的L2(含L1/L2)路由器组成,L1和L2运行相同的SPF
    算法,一个路由器可能同时参与L1和L2。
  • 不要将OSPF骨干和IS-IS骨干区域混淆,OSPF骨干区域是area 0,而IS-IS骨干区域是包含L2和L1/L2的区域。一个OSPF路由器可以属于多个区域,而一个IS-IS路由器只能属于一个区域。

IS-IS区域结构图

练习题:

当一条路由被发布到它所起源的AS时,会发生的情况是(21)。

• A.该AS在路径属性列表中看到自己的号码,从而拒绝接收这条路由

• B.边界路由器把该路由传送到这个AS中的其他路由器

• C.该路由将作为一条外部路由传送给同一AS中的其他路由器

• D.边界路由器从AS路径列表中删除自己的AS号码并重新发布路由

复制代码
BGP路由会记录经过的AS号码,简称AS_Path。如果BGP收到路由的AS_PATH中包含自己的AS号码,就认为出现了路由环路,丢弃收到的路由。

下列哪种BGP属性不会随着BGP的Update报文通告给邻居?(29)

• A.PrefVal B.Next-hop C.AS-Path D.Origin

复制代码
协议首选值(PrefVal)是华为设备的特有属性,该属性仅在本地有效。

以下关于IS-IS协议的描述中,错误的是(14)。

• A.IS-IS使用SPF算法来计算路由

• B.IS-IS是一种链路状态路由协议

• C.IS-IS使用域(area)来建立分级的网络拓扑结构,骨干为area 0

• D.IS-IS通过传递LSP来传递链路信息,完成链路数据库的同步

复制代码
IS-IS和OSPF都采用SPF算法,都是链路状态路由协议,area 0是OSPF中的概念,
ISIS并无此说法。