路由基础 | 路由引入实验 | 不同路由引入方式存在的问题

news2025/4/6 16:09:25

注:本文为 “路由基础 | 路由表 | 路由引入” 相关文章合辑

未整理去重。


路由基本概念 1—— 路由表信息、路由进表以及转发流程、最长掩码匹配原则

静下心来敲木鱼已于 2023-11-26 14:06:22 修改

什么是路由

路由就是指导报文转发的路径信息,可以将一个网段的数据包转发到另外的一个网段

什么是相同的网段:相同的网络号、相同的子网掩码

路由转发涉及的表项

路由转发涉及到路由表和转发表两个表项

其中路由表是控制层面的,描述了路由的发布形式,路由接收的过程等

转发表真正指导路由转发,当数据包到达设备后直接通过转发表转发(对于华为来说转发表就是 FIB 表,锐捷转发表为 Ref 表)

如何实现路由转发

首先需要有具备路由功能的网络设备都来进行路由转发

该网络设备通过路由表选择该报文匹配的路由,然后通过转发表进行路由转发

路由表包含内容

路由转发主要是依靠 目的网络地址 / 掩码 、下一跳地址、本地出接口来进行转发

华为设备路由表

img

Destination/Mask:表示此路由的目的网络地址与网络掩码。

  1. 将目的地址和子网掩码 “逻辑与” 后可得到目的主机或路由器所在网段的地址。

  2. 例如:目的地址为 1.1.1.1,掩码为 255.255.255.0 的主机或路由器所在网段的地址为 1.1.1.0。

Proto(Protocol):该路由的协议类型,也即路由器是通过什么协议获知该路由的。

Pre(Preference):路由优先级 (其他厂商叫管理距离 AD)

  • 针对同一目的地,可能存在不同下一跳、出接口等多条路由,这些不同的路由可能是由不同的路由协议发现的,也可以是手工配置的静态路由。

  • 优先级最高(数值最小)者将成为当前的最优路由(有外部优先级和内部优先级)

  • 外部优先级是我们在路由表中可以看到的优先级

img

  • 内部优先级和外部优先级的值部分一样,不过不可以修改,当外部优先级一致时,可以使用内部优先级来比较。(例如当静态的优先级改为 10 时和 OSPF 优先级一样,这时候比较内部优先级,静态为 60,ospf 为 10,此时就选择 ospf 的路由条目)

img

  • 外部优先级能比出来就用外部优先级,外部优先级一样的就比内部优先级

Cost:路由开销(cost /metric)

  • 当到达同一目的地的多条路由具有相同的路由优先级时(内外部都同时),路由开销最小的将成为当前的最优路由。

  • 不同路由协议计算 Cost 的算法不一样

NextHop:表示对于本路由器而言,到达该路由指向的目的网络的下一跳地址(下一个设备)。

Interface:表示此路由的出接口(从本路由器的哪个接口转发出去)

锐捷设备路由表

img

路由来源

  • C 直连路由
  • S 静态路由
  • I IS-IS 路由
  • O OSPF 路由
  • N1/N2 OSPF NSSA 的外部路由类型 1 路由、外部路由类型 2 路由
  • E1/E2 OSPF 外部路由类型 1 路由、外部路由类型 2 路由
  • B BGP 路由

管理距离(优先级)—— 管理距离越低越优先选择

  • 直连路由 0
  • 静态路由 1
  • EBGP 20
  • OSPF 110
  • ISIS 115
  • IBGP 200
  • 不可达路由 255

度量值 —— 也就是开销

将路由重发布到 isis 中时路由的缺省开销为 1(并且每传递给一个设备都会加上接口的开销)

将路由重发布到 ospf 中时路由的缺省开销为 20,并且外部开销类型为 2

路由表信息的来源

路由信息可以通过直连、静态、动态路由学习到

直连路由:设备自动生成指向本地直连网络

注意

  1. 使用直连路由进行路由转发时,报文的目的 IP 和路由器接口 IP 在一个网段之中。

  2. 并不是所有接口生成的直连路由都会出现在路由表中,直连路由出现在路由表中的前提是该接口的物理状态、协议状态都为 UP

img

静态路由:管理员手工配置的路由条目

优缺点:配置简单,对系统要求低。不能自动适应网络拓扑的变化,需要人工干预

注意

配置静态路由时可以配置下一跳,也可以配置出接口

一般对于点到点接口(串口)指定出接口

对于以太网接口和 VT 接口,指定下一跳(如果配置为出接口可能会存在网络不通的问题 – 配置为出接口表示认为该目的地址和自身是同一网段,对于以太网接口来说同网段需要封装目的 IP 地址的 MAC,此时没有该目的 IP 的 MAC,并且由于其实际上是不同网段的,ARP 请求也得不到回应,因此无法到达该目的地址 —— 可以通过在下一跳路由器设备开启 ARP 代理解决)

静态路由中有个特殊路由为缺省路由,在路由表中一 0.0.0.0/0 的形式存在。当报文没有在路由表中找到匹配的具体路由时,使用此路由进行转发。(一般此路由应用于企业出口)

img

动态路由:路由设备运行动态路由协议学习到的路由

按照工作区域分类

IGP 内部网关协议: RIPv1、RIPv2、OSPFv2、OSPFv3、IS-IS

EGP 外部网关协议:BGP

按照工作机制及算法分类

DV 距离矢量路由协议: RIPv1、RIPv2

路径矢量路由协议: BGP

LS 链路状态路由协议: OSPFv2、OSPFv3、IS-IS

目前比较常用的就是 BGP 、OSPF、ISIS 协议

img

路由进表的规则

不是学到的路由都会加入到路由表中,而是从所学的路由条目中选取最优路由加入到路由表中。具体的选举规则如下(相同网段通过优先级、开销比较)

img

网段 / 掩码相同的选优先级最高的为最优路由

优先级相同的选度量值最小的为最优路由

如果网段 / 掩码、优先级、度量值都一致,则这些路由可以实现到达某一目的地负载分担


路由转发的规则

路由报文转发是通过转发表进行转发的(对于华为来说就是 FIB 表,锐捷为 Ref 表)

路由表是控制层面的,描述了路由的发布形式,路由接收的过程

真正指导路由转发的是转发表,当数据包到达设备后直接通过转发表转发

当到达同一目的地址只有一条路由条目时,就通过此路由条目转发

当到达同一目的地址有多条路由条目时,通过最长匹配原则进行转发

最长匹配原则介绍

当路由器收到一个 IP 数据包时,会将数据包的目的 IP 地址与自己本地路由表中的所有路由表项进行逐位(Bit-By-Bit)比对,直到找到匹配度最长的条目,然后通过此路由条目找到对应的转发表进行转发,这就是最长前缀匹配机制。

img

注意事项

优先级、开销只是指导路由条目进入路由表中

路由转发时依据最长匹配原则转发,不需要路由优先级、开销这些

路由转发流程

img


路由基本概念 2—— 路由高级特性(路由递归、等价路由、路由汇总)

静下心来敲木鱼已于 2023-10-02 13:36:34 修改

路由递归

路由必须有直连的下一跳才能够指导转发,但是路由生成时的下一跳不一定是直连的,此时就需要计算到达此非直连的路由。这个过程就是路由递归

img

img

等价路由(负载分担)

到达同一网段有多条路由(优先级、度量值相同,最长匹配也一致,下一跳不一致)

这多条路由就可以被称为等价路由,也可称为负载分担

img

浮动路由(路由备份)

配置静态时为到达同一目的网段指定不同的下一跳路由,并且配置不同的优先级

这些路由就称为浮动路由(路由备份)

img

路由汇总

什么是路由汇总

路由汇总是将一组具有相同前缀的路由汇聚成一条路由(采用了 CIDR 的思想),从而减小路由条目的数量,降低设备耗能

我们把汇聚之前的路由称为明细路由(精细路由),汇总后的路由称为汇总路由(聚合路由)

CIDR(无类别域间路由)

CIDR 采用 IP 地址 + 掩码长度来标识网络和子网,而不是按照传统的 A、B、C 等类型对网络地址划分。因此 CIDR 容许任意长度的掩码长度,可以将多个连续的前缀网段聚合成一个网段,减少路由表条目数量

img

路由汇总方法

路由汇总借用了 CIDR 的思想,基于一系列连续的、有规律的 IP 网段,将其进行路由汇总。

只不过与 CIDR 有些不同,为了避免汇总太过粗犷,将不需要汇总的路由也包含进去,所以要精确配置路由汇总,即路由汇总需要确保汇总路由刚好 “囊括 “明细路由

例子 1

img

例子 2

img

路由汇总带来的环路问题

img


路由基本概念 3—— 路由引入

静下心来敲木鱼已于 2023-10-02 14:49:49 修改

路由引入概念

基本概念

路由引入(import 注入、redistribute 重发布)

为什么需要路引入

由于不同路由协议之间的路由算法、机制、开销等不同,不同的路由协议之间无法直接分享彼此的路由;此时就需要通过路由引入技术将某个路由协议的路由引入到另一个路由协议中也可以相同路由协议之间引入

img

路由引入的原则

在执行引入的路由器上将某一个协议的**活动路由(即引入的路由必须存在于路由表中)**引入到另外一个路由协议中

注意事项

执行引入的路由器必须同时运行此两种 / 多种路由协议,才可以执行引入

负责引入的路由器不会改变自身的路由表,引入是外向的,只改变别人,不改变自己

在进行路由引入时,可能会带来次优路径、路由环路等问题(常见的解决方法有修改路由优先级、路由 Cost,路由 Tag 等技术)

假设在设备 1 上将路由协议 A 引入到路由协议 B,哪些路由会被引入 B

设备 1 从 A 协议学习到的路由会被引入 B 协议

设备 1 上启用了 A 协议的接口所在的网络路由会被引入 B 协议

路由引入的初始度量值

华为设备

  • 将其它协议引入到 OSPF,默认开销为 1,Type2,路由优先级为 150(可以通过 default cost 修改初始度量值)

  • 将其它协议引入到 ISIS,默认开销为 0,Level-2,路由优先级为 15(可以通过 default cost 修改初始度量值)

  • 将其它协议引入到 BGP,默认开销为 IGP 的度量值,路由优先级为 255(可以通过 default med 修改初始度量值)

路由引入更深入的讲解

在 AR10 上做路由引入

将 RIP 的路由引入到 ISIS 中,然后再将 ISIS 引入到 OSPF 中

此时 AR11 可以学习到哪个网段的路由(只可以学习到 30.1.1.0/24 和 13.13.13.13 的路由)

img

将 RIP 引入到 ISIS,此时使得 AR13 通过 ISIS 学习到了 RIP 的路由;

由于是在 AR10 上做的引入,所以 AR10 在引入后关于 ISIS 的路由与在引入前关于 ISIS 的路由是相同的,都是只有 30.1.1.0/24 和 13.13.13.13 的路由

此时再在 AR10 上将 ISIS 引入到 OSPF,OSPF 只可以学习到 30.1.1.0/24 和 13.13.13.13 的路由,无法学习到 20.1.1.0/24 和 12.12.12.12 的路由

在 AR13 上将将 RIP 的路由引入到 ISIS 中

在 AR10 上然后再将 ISIS 引入到 OSPF 中

此时 AR11 可以学习到那个网段的路由(可以学习到 30.1.1.0/24、20.1.1.0/24、13.13.13.13、12.12.12.12)的路由

img

在 AR13 上将 RIP 引入到 ISIS,此时 AR10 关于 ISIS 的路由表学习到了 20.1.1.0/24 和 12.12.12.12 的路由

在 AR10 上将 ISIS 引入到 OSPF,此时 AR11 就可以学习到 30.1.1.0/24、20.1.1.0/24、12.12.12.12、13.13.13.13 的路由了

路由引入的方式

单点双向路由引入

img

单点单向路由引入(需要下发缺省路由实现互访)

img

多点双向路由引入(此处为双点双向)

img

多点单向路由引入

同单点单向,需要下发缺省路由实现互访

不同路由引入方式存在的问题**

单点单向引入场景

什么是单点单向

单点单向:在一台设备上,将某个协议路由引入到另一个协议路由中

单点单向可能造成的问题 —— 次优路径

在单点单向引入场景中,如果将低路由优先级引入到高路由优先级中,可能会存在次优路径;将高路由优先级引入到低路由优先级中,则不会存在次优路径

次优场景

img

在 AR5 上将 RIP 引入到 ISIS 中

AR4、AR6 通过 ISIS 学习到 7.7.7.7,优先级为 15

由于 AR6 在 AR5 进行路由引入前已经通过 RIP 学习到了 7.7.7.7 的路由,优先级为 100;所以在 AR5 进行路由引入后,发现通过 ISIS 学习到的 7.7.7.7 的路由优先级更高

此时 AR6 访问 7.7.7.7 会使用 ISIS 学习到的路由(AR6-AR4-AR5-AR7),造成次优路径

如何解决次优路径 —— 通过调整路由的优先级或过滤路由来实现

1、在 AR6 上将 AR5 引入的路由的优先级调低(低于 RIP 的路由优先级,即将优先级数值调到高于 100)

2、在 AR6 上将从 RIP 学来的路由优先级调高(高于 ISIS 的路由优先级,即将优先级数值调到小于 15)

3、由于 AR6 已经有 RIP 和 ISIS 的地址了,所以可以对从 AR5 引来的路由做过滤

双点单向引入

什么是双点单向

双点单向:在两台设备上,将某个协议路由引入到另一个协议路由中

双点单向可能造成的问题 —— 会造成次优、路由回馈、环路场景

在双点单向引入场景中,如果将低路由优先级引入到高路由优先级中,可能会存在次优路径;将高路由优先级引入到低路由优先级中,则不会存在次优路径

在双点单向引入场景中,会有路由回馈的场景(R1 和 AR2 设备同时运行了 A 协议和 B 协议,此时在 AR1 上将 A 引入 B,在 AR2 上将 B 引入 A,将从 A 协议学到的路由又引入到 A 协议中,就称为路由回馈),如果发生了路由回馈现象可能会引起环路

次优场景

img

在此场景中,AR5 和 AR6 只有一个会有次优(具体谁会次优要看 AR5 和 AR6 谁先做的引入)

假如 AR5 先将 RIP 引入到 ISIS,然后 AR6 再将 RIP 引入到 ISIS

此时 AR5 将 RIP 引入到 ISIS,造成 AR6 去往 7.7.7.7 次优

此时 AR6 关于 RIP 的路由表就没有 7.7.7.7 了,所以此时在 AR6 上将 RIP 引入到 ISIS 中时不引入 7.7.7.7

AR5 去往 7.7.7.7 也不会次优

如何解决次优路径 —— 通过调整路由的优先级或过滤路由来实现

1、在 AR6 上对 AR5 引入的路由修改优先级(高于 ISIS 的路由优先级,即将优先级数值调到小于 15);在 AR5 上对 AR6 引入的路由也修改优先级(高于 ISIS 的路由优先级,即将优先级数值调到小于 15)

2、在 AR6 上对 AR5 引入的路由修改优先级(高于 ISIS 的路由优先级,即将优先级数值调到小于 15);在 AR5 上对 AR6 引入的路由也修改优先级(高于 ISIS 的路由优先级,即将优先级数值调到小于 15)

3、在 AR5 上对 AR6 引入的路由进行过滤,在 AR6 上对 AR5 引入的路由进行过滤

次优与环路同时存在场景

img

将 8.8.8.8 通过 Type2 方式引入到 OSPF 中,设置 Cost 为 2(默认为 1)

然后在 AR5 上将 OSPF 引入到 ISIS 中,在 AR6 上将 ISIS 引入到 OSPF

将 8.8.8.8 引入到 OSPF 中;此时 AR4、AR5、AR6 学习到 8.8.8.8 的路由,优先级为 150,Cost 为 2;此时 AR4、5、6 访问 8.8.8.8 去往 AR8,正常

img

在 AR5 上将 OSPF 引入到 ISIS 中;此时 AR6 学习到 8.8.8.8 的路由,优先级为 15(将之前优先为 150 的替换);此时 AR6 访问 8.8.8.8 去往 AR7,AR6 访问 8.8.8.8 就造成次优路径(单点单向造成次优);AR4 和 AR5 去往 8.8.8.8 还是正常路径,无次优

img

在 AR6 上将 ISIS 引入到 OSPF 中(路由回馈);此时 AR6 去往 8.8.8.8 的路由是从 ISIS 学到的,将 ISIS 引入到 OSPF 时,此时 AR4 会从 AR6 学习到 8.8.8.8 的路由,优先级为 150,Cost 为 1,Type 为 2(将之前 Cost 为 2,Type 为 2 的路由替换);此时 AR4 访问 8.8.8.8 就去往 AR6,AR5 访问 8.8.8.8 去往 AR4,AR6 访问 8.8.8.8 去往 AR5;在此场景下就形成了路由环路

img

如何解决次优与环路问题 —— 通过优先级、过滤或 Tag 解决

1、在 AR6 上将 AR5 引入的路由优先级调低,此时 AR6 去往 8.8.8.8 就走 OSPF,然后在 AR6 上引入 ISIS 时就不会引入 8.8.8.8 的路由了,避免了路由环路与次优

2、在 AR6 上对 AR5 引入的路由进行过滤,此时 AR6 去往 8.8.8.8 就走 OSPF,然后在 AR6 上引入 ISIS 时就不会引入 8.8.8.8 的路由了,避免了路由环路与次优

3、只使用优先级、过滤可以解决次优与环路问题,不过无法解决路由回馈问题,可以使用 tag 技术来避免路由回馈,在 AR5 上将 OSPF 引入 ISIS 时打上 Tag 10,然后在 AR6 上将 ISIS 引入 OSPF 时拒绝引入 Tag 10;在 AR6 上将 ISIS 引入 OSPF 时打上 Tag 20,然后在 AR5 上将 OSPF 引入 ISIS 时拒绝 Tag 20;此时就不存在路由回馈

注意:此场景下 Tag 只可以解决路由回馈问题,无法解决次优路径问题

单点双向引入

什么是单点双向

单点双向:在一台设备上,将 A 协议路由引入到 B 协议路由中,然后再将 B 协议路由引入到 A 协议路由中

单点双向可能引起路由次优,不会引起路由回馈

在单点多向引入场景中,如果将低路由优先级引入到高路由优先级中,可能会存在次优路径

因为在单点引入,此设备上的路由表不会发生变化,所以在进行引入是不会进行回馈

次优场景

在 AR8 上将 8.8.8.8 宣告进 OSPF,在 AR5 上将 ISIS 引入 OSPF,然后将 OSPF 引入 ISIS

img

在 AR5 上将 OSPF 引入 ISIS,AR6 通过 ISIS 学到 8.8.8.8 优先级更高,AR6 去往 8.8.8.8 的下一跳为 AR7

在 AR5 上将 ISIS 引入 OSPF,此时 AR5 上 ISIS 的路由表没有从 OSPF 引入的路由,所以将 ISIS 引入到 OSPF 时,不会发生路由回馈

可以通过通过优先级、过滤解决次优路径

1、在 AR6 上将 AR5 引入的路由优先级调低

2、在 AR6 上对 AR5 引入的路由进行过滤

双点双向引入

什么是双点双向

双点双向:在一台设备上,将 A 协议路由引入到 B 协议路由中,然后再将 B 协议路由引入到 A 协议路由中;在另一台设备上,将 A 协议路由引入到 B 协议路由中,然后再将 B 协议路由引入到 A 协议路由中

双点双向可能引起路由次优、路由环路,一定会存在路由回馈

根据做引入的顺序,解决方式的应用地点可能发生改变

次优与环路场景

img

将 8.8.8.8 通过 Type2 方式引入到 OSPF 中,设置 Cost 为 2(默认为 1)

在 AR5 上将 OSPF 引入到 ISIS 中,然后在 AR6 上将 ISIS 引入到 OSPF(先)

在 AR6 上将 OSPF 引入到 ISIS 中,然后在 AR5 上将 ISIS 引入到 OSPF(后)

在 AR5 上将 OSPF 引入到 ISIS 中,然后在 AR6 上将 ISIS 引入到 OSPF;此时会造成次优与环路(就是多点单向)

img

在 AR6 上将 OSPF 引入到 ISIS 中,然后在 AR5 上将 ISIS 引入到 OSPF;

解决上述问题后,此时在进行引入,又会出现环路和次优的问题(AR4 去往 8.8.8.8 的下一跳为 AR5,AR5 的下一跳为 AR7)

img

并且由于次优,使得双点双向无法实现负载分担(由于 AR6 关于 8.8.8.8 的路由是走 ISIS,所以在 AR6 将 OSPF 引入 ISIS 后,AR7 没有从 AR6 学习到 6.6.6.6 的路由;AR7 对于 8.8.8.8 的路由无法负载或没有备份)

img

如何解决次优与环路、无备用路径的问题 —— 通过优先级、过滤或 Tag 解决

1、在 AR6 上将 AR5 引入的路由优先级调低,此时 AR6 去往 8.8.8.8 就走 OSPF;在 AR5 上将 AR6 引入的路由优先级调低,此时 AR6 将 OSPF 引入 ISIS 时 AR6 也不会产生次优

2、在 AR6 上对 AR5 引入的路由进行过滤,此时 AR6 去往 8.8.8.8 就走 OSPF;在 AR5 上对 AR6 引入的路由进行过滤

3、只使用优先级、过滤可以解决次优与环路问题,不过无法解决路由回馈问题,可以使用 tag 技术来避免路由回馈,在 AR5 上将 OSPF 引入 ISIS 时打上 Tag 10,然后在 AR6 上将 ISIS 引入 OSPF 时拒绝引入 Tag 10;在 AR6 上将 ISIS 引入 OSPF 时打上 Tag 20,然后在 AR5 上将 OSPF 引入 ISIS 时拒绝 Tag 20;在 AR6 上将 OSPF 引入 ISIS 时打上 Tag 30,然后在 AR5 上将 ISIS 引入 OSPF 时拒绝引入 Tag 30;在 AR5 上将 ISIS 引入 OSPF 时打上 Tag 40,然后在 AR5 上将 OSPF 引入 ISIS 时拒绝 Tag 40;

以上解决次优、环路的方法不唯一,只是列举了其中比较常用的方式,具体解决方法根据现场环境进行解决即可


华为双点双向路由引入实验配置

静下心来敲木鱼已于 2023-05-13 21:49:06 修改

img

路由底层搭建

AR1、AR2、AR3、AR5 运行 OSPF 协议

AR1

ospf 1
area 0.0.0.0
interface Serial4/0/0
link-protocol ppp
ip address 15.0.0.1 255.255.255.0
ospf enable 1 area 0.0.0.0
interface GigabitEthernet0/0/0
ip address 12.0.0.1 255.255.255.0
ospf enable 1 area 0.0.0.0
interface GigabitEthernet0/0/1
ip address 13.0.0.1 255.255.255.0
ospf enable 1 area 0.0.0.0
interface LoopBack0
ip address 1.1.1.1 255.255.255.255
ospf enable 1 area 0.0.0.0

AR2

ospf 1
area 0.0.0.0
interface GigabitEthernet0/0/0
ip address 12.0.0.2 255.255.255.0
ospf enable 1 area 0.0.0.0

AR3

ospf 1
area 0.0.0.0
interface GigabitEthernet0/0/1
ip address 13.0.0.3 255.255.255.0
ospf enable 1 area 0.0.0.0

AR5—— 在 AR5 上引入 Loop0 地址(为了方便观察,本次通过路由策略只引入 5.5.5.5 的路由)

ip ip-prefix loop0 index 10 permit 5.5.5.5 32
route-policy loop0 permit node 10
if-match ip-prefix loop0
ospf 1
import-route direct route-policy loop0
area 0.0.0.0
interface Serial4/0/0
link-protocol ppp
ip address 15.0.0.5 255.255.255.0
ospf enable 1 area 0.0.0.0
interface LoopBack0
ip address 5.5.5.5 255.255.255.255

AR2、AR3、AR4 运行 ISIS 协议(level 为 2)

AR2

isis 1
is-level level-2
network-entity 49.0001.2222.2222.2222.00
interface GigabitEthernet0/0/1
ip address 24.0.0.2 255.255.255.0
isis enable 1

AR3

isis 1
is-level level-2
network-entity 49.0001.3333.3333.3333.00
interface GigabitEthernet0/0/0
ip address 34.0.0.3 255.255.255.0
isis enable 1

AR4

isis 1
is-level level-2
network-entity 49.0001.4444.4444.4444.00
interface GigabitEthernet0/0/0
ip address 34.0.0.4 255.255.255.0
isis enable 1
interface GigabitEthernet0/0/1
ip address 24.0.0.4 255.255.255.0
isis enable 1
interface LoopBack0
ip address 4.4.4.4 255.255.255.255
isis enable 1

配置双点双向引入

在 AR2 上将 OSPF 引入 ISIS,然后在 AR3 上将 ISIS 引入 OSPF

故障现象

在 AR2 上将 OSPF 引入 ISIS,会使得 AR3 产生次优路径

img

此时在 AR3 上将 ISIS 引入 OSPF,AR1 去往 5.5.5.5 的路由下一跳为 AR3,此时产生环路

img

img

通过在 AR3 上配置 5.5.5.5 的优先级来解决(将从 OSPF 学来的优先级调到低于 15)

配置前缀列表

ip ip-prefix modify_pre index 10 permit 5.5.5.5 32

配置路由策略修改优先级

route-policy modify_pre permit node 10
if-match ip-prefix modify_pre
apply preference 13
route-policy modify_pre permit node 20

在 OSPF 应用路由策略针对 ase 路由实现优先级的修改

ospf 1
preference ase route-policy modify_pre 150

此时 AR3 和 AR1 去往 5.5.5.5 的路由都回归正常

img

img

在 AR3 上将 OSPF 引入 ISIS,然后在 AR2 上将 ISIS 引入 OSPF

故障现象

在 AR3 上将 OSPF 引入 ISIS,会使得 AR2 产生次优路径

img

此时在 AR2 上将 ISIS 引入 OSPF,AR1 去往 5.5.5.5 的路由下一跳为 AR2,此时产生环路

img

img

并且此时,AR4 关于去往 5.5.5.5 的路由只有一个下一跳(去往 AR3 - 因为 AR2 上的 5.5.5.5 的路由此时走的是 ISIS,在 AR3 无法从 AR2 上学习到 5.5.5.5 的路由)

img

通过在 AR2 上配置 5.5.5.5 的优先级来解决(将从 ISIS 学来的优先级调到高于 150)

配置前缀列表

ip ip-prefix modify_pre index 10 permit 5.5.5.5 32

配置路由策略修改优先级

route-policy modify_pre permit node 10
if-match ip-prefix modify_pre
apply preference 151
route-policy modify_pre permit node 20

在 ISIS 应用路由策略实现优先级的修改

isis 1
is-level level-2
preference route-policy modify_pre

此时 AR2 和 AR1 去往 5.5.5.5 的路由都回归正常

img

img

此时 AR4 去往 5.5.5.5 的路由也有多条路径

img

通过标签来避免路由回馈

img

AR2 在将 OSPF 引入 ISIS 中时,打上标签 10,拒绝引入标签 20

AR3 在将 ISIS 引入 OSPF 中时,打上标签 20,拒绝引入标签 10

AR2 在将 ISIS 引入 OSPF 中时,打上标签 30,拒绝引入标签 40

AR3 在将 OSPF 引入 ISIS 中时,打上标签 40,拒绝引入标签 30

AR2

route-policy ospf2isis permit node 10
apply tag 10
route-policy ospf2isis deny node 20
if-match tag 20
isis 1
cost-style wide   ISIS 需要携带 Tag 时,要把开销方式配置为宽带方式,否则不传递标签属性(Tag 传递依靠扩展 TLV)
import-route ospf 1 route-policy ospf2isis
route-policy isis2ospf permit node 10
apply tag 30
route-policy isis2ospf deny node 20
if-match tag 40
ospf 1
import-route isis 1 route-policy isis2ospf

AR3

route-policy isis2ospf permit node 10
apply tag 20
route-policy isis2ospf deny node 20
if-match tag 10
ospf 1
import-route isis 1 route-policy isis2ospf
route-policy ospf2isis permit node 10
apply tag 40
route-policy ospf2isis deny node 20
if-match tag 30
isis 1
cost-style wide
import-route ospf 1 route-policy ospf2isis

via:

  • 路由基本概念 1—— 路由表信息、路由进表以及转发流程、最长掩码匹配原则 - CSDN 博客
    https://blog.csdn.net/m0_49864110/article/details/125718777

  • 路由基本概念 2—— 路由高级特性(路由递归、等价路由、路由汇总)_锐捷路由优先级 - CSDN 博客
    https://blog.csdn.net/m0_49864110/article/details/131384874

  • 路由基本概念 3—— 路由引入 - CSDN 博客
    https://blog.csdn.net/m0_49864110/article/details/126627749

  • 华为双点双向路由引入实验配置_配置双点双向 - CSDN 博客
    https://blog.csdn.net/m0_49864110/article/details/128679892

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2301490.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

网络原理-HTTP/HTTPS

文章目录 HTTPHTTP 是什么?理解“应用层协议”理解 HTTP 协议的⼯作过程HTTP 协议格式抓包⼯具的使用抓包⼯具的原理抓包结果协议格式总结 HTTP 请求(Request)认识 URLURL 的基本格式关于URL encode 认识“⽅法”(method&#xff…

SpringBoot启动失败之application.yml缩进没写好

修改前: spring前面空格了 报错输出:Failed to configure a DataSource: ‘url’ attribute is not specified and no embedded datasource could be configured. Reason: Failed to determine a suitable driver class Action: Consider the follow…

python爬虫系列课程2:如何下载Xpath Helper

python爬虫系列课程2:如何下载Xpath Helper 一、访问极简插件官网二、点击搜索按钮三、输入xpath并点击搜索四、点击推荐下载五、将下载下来的文件解压缩六、打开扩展程序界面七、将xpath.crx文件拖入扩展程序界面一、访问极简插件官网 极简插件官网地址:https://chrome.zzz…

CentOS建立ssh免密连接(含流程剖析)

一、场景举例(为啥需要免密连接) 1.服务集群间文件复制、通信 2.执行定时触发自动化脚本 3.本地连接远程服务器操作 服务器台数有很多,以上举例都是属于服务器之间的通信,如果每次执行上面操作都要输入账号密码岂不是效率太高了,容易被开…

自由学习记录(36)

Linux Linux 是一个开源的操作系统,其内核及大部分组件都遵循自由软件许可证(如 GPL),允许用户查看、修改和分发代码。这种开放性使得开发者和企业可以根据自己的需求定制系统​。 “Linux”严格来说只是指由Linus Torvalds最初开…

【python碎碎笔记】

1.交互模式和编辑器模式 2. 保存文件格式.py (表示python文件) 3.缩进是python的命! 4.内置函数 dir(__builtins__) [ArithmeticError, AssertionError, AttributeError, BaseException, BaseExceptionGroup, BlockingIOError, Broken…

【OS安装与使用】part3-ubuntu安装Nvidia显卡驱动+CUDA 12.4

文章目录 一、待解决问题1.1 问题描述1.2 解决方法 二、方法详述2.1 必要说明2.2 应用步骤2.2.1 更改镜像源2.2.2 安装NVIDIA显卡驱动:nvidia-550(1)查询显卡ID(2)PCI ID Repository查询显卡型号(3&#xf…

python-leetcode 37.翻转二叉树

题目: 给定一颗二叉树的根节点root,翻转这棵二叉树,并返回根节点 方法一:递归 从根节点开始,递归地对树进行遍历,并从叶子节点先开始翻转。如果当前遍历到的节点root的左右两棵子树都已经翻转,那么我们只…

Vue 实现通过URL浏览器本地下载 PDF 和 图片

1、代码实现如下: 根据自己场景判断 PDF 和 图片,下载功能可按下面代码逻辑执行 const downloadFile async (item: any) > {try {let blobUrl: any;// PDF本地下载if (item.format pdf) {const response await fetch(item.url); // URL传递进入i…

android,flutter 混合开发,pigeon通信,传参

文章目录 app效果native和flutter通信的基础知识1. 编解码器 一致性和完整性,安全性,性能优化2. android代码3. dart代码 1. 创建flutter_module2.修改 Android 项目的 settings.gradle,添加 Flutter module3. 在 Android app 的 build.gradl…

unity学习47:寻路和导航,unity2022后版本如何使用 Navmesh 和 bake

目录 1 寻路和导航对移动的不同 1.1 基础的移动功能 1.1.1 基础移动 1.1.2 智能导航寻路 1.1.3 智能导航寻路还可以 2 如何实现这个效果? 2.1 通过地图网格的形式 2.1.1 警告信息 the static value has been deprecated的对应搜索 2.1.2 新的navigation ba…

跟着李沐老师学习深度学习(十二)

循环神经网络 序列模型 序列数据 实际中很多数据是有时序结构的 比如:电影的评价随时间变化而变化 拿奖后评分上升,直到奖项被忘记看了很多好电影后,人们的期望变高季节性:贺岁片、暑期档导演、演员的负面报道导致评分变低 核心思想&#…

深入解析NoSQL数据库:从文档存储到图数据库的全场景实践

title: 深入解析NoSQL数据库:从文档存储到图数据库的全场景实践 date: 2025/2/19 updated: 2025/2/19 author: cmdragon excerpt: 通过电商、社交网络、物联网等12个行业场景,结合MongoDB聚合管道、Redis Stream实时处理、Cassandra SSTable存储引擎、Neo4j路径遍历算法等42…

STM32物联网终端实战:从传感器到云端的低功耗设计

STM32物联网终端实战:从传感器到云端的低功耗设计 一、项目背景与挑战分析 1.1 物联网终端典型需求 (示意图说明:传感器数据采集 → 本地处理 → 无线传输 → 云端存储) 在工业物联网场景中,终端设备需满足以下核心需…

[实现Rpc] 客户端划分 | 框架设计 | common类的实现

目录 3. 客户端模块划分 3.1 Network模块 3.2 Protocol模块 3.3 Dispatcher模块 3.4 Requestor模块 3.5 RpcCaller模块 3.6 Publish-Subscribe模块 3.7 Registry-Discovery模块 3.8 Client模块 4. 框架设计 4.1 抽象层 4.2 具象层 4.3 业务层 ⭕4.4 整体设计框架…

【SFRA】笔记

GK_SFRA_INJECT(x) SFRA小信号注入函数,向控制环路注入一个小信号。如下图所示,当前程序,小信号注入是在固定占空比的基础叠加小信号,得到新的占空比,使用该占空比控制环路。 1.2 GK_SFRA_COLLECT(x, y) SFRA数据收集函数,将小信号注入环路后,该函数收集环路的数据,以…

基于Python的Diango旅游数据分析推荐系统设计与实现+毕业论文(15000字)

基于Python的Diango旅游数据分析推荐系系统设计与实现毕业论文指导搭建视频,带爬虫 配套论文1w5字 可定制到某个省份,加40 基于用户的协同过滤算法 有后台管理 2w多数据集 可配套指导搭建视频,加20 旅游数据分析推荐系统采用了Python语…

国自然青年基金|针对罕见神经上皮肿瘤的小样本影像深度数据挖掘关键技术研究|基金申请·25-02-15

小罗碎碎念 今天和大家分享一个国自然青年基金项目,执行年限为2021.01~2023.12,直接费用为24万元。 该项目聚焦罕见神经上皮肿瘤小样本影像深度数据挖掘技术,致力于攻克小样本数据和临床经验缺乏带来的难题。项目围绕影像规范化、…

Linux 网络安全技巧

网络安全是一个非常重要的课题,基本上你运行的服务后台越多,你就可能打开更多的安全漏洞.如果配置的恰当的话,Linux本身是非常安全可靠的,假使在Linux系统中有某个安全缺陷,由于Linux的源码是开放的,有成千上万的志愿者会立刻发现并修补它。本文旨在介绍用来增强你的…

Windows桌面系统管理7:国产操作系统与Linux操作系统

Windows桌面系统管理0:总目录-CSDN博客 Windows桌面系统管理1:计算机硬件组成及组装-CSDN博客 Windows桌面系统管理2:VMware Workstation使用和管理-CSDN博客 Windows桌面系统管理3:Windows 10操作系统部署与使用-CSDN博客 Wi…