HCIP-5.8OSPF路由的引入及路由过滤的作用

news/2024/6/3 17:32:45 标签: 网络, 华为, 网络协议, 智能路由器, 学习

1、路由的引入

为什么需要配置路由引入?
部署不同路由协议的机构合并;采用不同厂商的协议;同一设备同一协议但不同进程的配置。

1、不同的网络使用不同的协议,并且这些网络需要共享路由信息。

  • 简单的网络可以使用RIP
  • 网络类型复杂的可以选用OSPF
  • 大型骨干网络一般选用ISIS
    2、 网络协议的限制
  • 比如,使用拨号链路连接两个ISIS网络,而在拨号链路上是不适合运行ISIS协议的
  • 需要配置静态路由,然后把静态路由引入到ISIS

1.1、双点单向ISIS与OSPF引起的次优路由

在这里插入图片描述

左边是IS-IS,右边是OSPF。

查看交界处R3及R5的配置

[R3]dis curr conf isis
[R3]dis curr conf ospf

由于没有引入IS-IS和OSPF之间的路由是隔离的。这时通过ASBR引入各自的协议,使用IS-IS域与OSPF域互通。

#R3
isis 1
 network-entity 49.0000.0000.1233.00
 import-route ospf 1     //把OSPF引入 ISIS,默认只能引入到Level 2    
<R3>dis ip rou pro ospf
Destination/Mask    Proto   Pre  Cost      Flags NextHop    Interface
34.1.1.0/24        Direct   0      0     D       34.1.1.3        g0/0/2
34.1.1.3/32        Direct   0      0     D       127.0.0.1       g0/0/2
44.1.1.1/32        OSPF    10     1     D       34.1.1.4        g0/0/2
45.1.1.0/24        OSPF    10     2     D       34.1.1.4        g0/0/2

#R5引入IS-IS
ospf 1 router-id 5.5.5.5 
import-route isis     //把ISIS引入OSPF

这时从两边都引入了路由。

<R4>dis ip rou pro ospf
Destination/Mask    Proto   Pre       Cost  Flags NextHop  Interface
2.2.2.2/32         O_ASE   150         1    D   24.1.1.2         g0/0/1
                   O_ASE   150         1    D  34.1.1.3         g0/0/2
11.1.1.1/32        O_ASE   150         1    D   34.1.1.3        g0/0/2
                   O_ASE   150         1    D   45.1.1.5        g0/0/0
13.1.1.0/24        O_ASE   150         1    D   34.1.1.3        g0/0/2
                   O_ASE   150         1    D   45.1.1.5        g0/0/0
15.1.1.0/24        O_ASE   150         1    D   34.1.1.3        g0/0/2
                   O_ASE   150         1    D   45.1.1.5        g0/0/0
33.1.1.1/32        O_ASE   150         1    D   34.1.1.3        g0/0/2
                   O_ASE  150          1    D   45.1.1.5        g0/0/0 
<R4>tracert -a 44.1.1.1 11.1.1.1
 1   45.1.1.5 30 ms  10 ms  10 ms 
 2   15.1.1.1 50 ms 13.1.1.1 40 ms  40 ms
<R1>tracert -a 11.1.1.1 44.1.1.1
 1     13.1.1.3 20 ms  20 ms  20 ms 
 2     34.1.1.4 30 ms 45.1.1.4 20 ms  10 ms

在这里插入图片描述

并没有环路产生,只是出现路径不一致,来回路由不一致

把其他协议(或同一协议不同进程)学习到的路由表,以及运行该协议的直连引进到本协议的数据库。

不是直接引入到数据库DB,如果引入数据库到数据库就会引起环路。

<R3>dis ip rou pro os
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface
       24.1.1.0/24  OSPF    10   2           D   34.1.1.4        GigabitEthernet
0/0/2
       44.1.1.1/32  OSPF    10   1           D   34.1.1.4        GigabitEthernet
0/0/2
       45.1.1.0/24  OSPF    10   2           D   34.1.1.4        GigabitEthernet
0/0/2

在IS-IS中R3学习到24、44、45网段路由,同步给R1。

在OSPF中R5学习到11、33网段同步给R4。这个表中并没有44这个网段。所有没有产生路由环路。为什么呢?

优先级问题。R4–>R5优先级是10,而R1–>R5的优先级是15。所以44这个网段是R5从R4上学到而不是从R1上学到。
在这里插入图片描述

<R5>dis ip rout pro isis
Destination/Mask    Proto     Pre  Cost      Flags NextHop         Interface
44.1.1.1/32       ISIS-L2      15    20            15.1.1.1           g0/0/2
----------------------------------------------------------------------------------------------------------------------
<R5>dis ip rout pro ospf
Destination/Mask    Proto   Pre  Cost      Flags   NextHop         Interface
44.1.1.1/32        OSPF      10   1           D   45.1.1.4          g0/0/0

OSPF内部优先级为10;外部优先级为150。

路由协议或路由种类优先级
Direct0
OSPF10
IS-IS15
Static60
RIP100
OSPF ASE150
BGP255

总结
优先级是不同协议之间的比较;越小越高。
Cost开销同一协议之间的比较。
OSPF同一协议有三种不同的优先级,内部的、5类路由。

引入时的开销:
RIP默认为0
IS-IS默认:NARROW为64,WIDE为0
OSPF默认:1
BGP名称是MED继承IBGP

引入外部路由

R2
Ospf 1
import-route direct cost 10

由于OSPF引入外部路由后,外部路由优先级为150,再由R3、R5ASBR进行双向引入之后,原来的OSPF外部路由转换成ISIS路由,由优先级150转变为15,因此R3、R5ASBR会使用ISIS中的ospf外部路由条目。

[R2]dis ospf lsdb ase 2.2.2.2
  Type      : External
  Ls id     : 2.2.2.2
  Adv rtr   : 24.1.1.2  
  Ls age    : 453 
  Len       : 36 
  Options   :  E  
  seq#      : 80000001 

  Type      : External
  Ls id     : 2.2.2.2
  Adv rtr   : 45.1.1.5             
  Ls age    : 7
  Len       : 36 
  Options   :  E  
  seq#      : 80000001 

上面有两个宣告者一个是24.1.1.2,另一个是45.1.1.5。

从一个优先级较大的协议引入到一个优先级较小的协议,会产生所谓的“次优”路由。
在这里插入图片描述

R5发送数据到R2就会产生次优路径,R5–>R1–>R3–>R4。
[R5]dis ip rout 2.2.2.2
在这里插入图片描述

1.2、双点单向度量值引起的环路

R5使用ISIS中的ospf外部路由,开销值造成OSPF中环路。
[R5]trac 2.2.2.2
会发现路由从R5–>R1–>R3–>R4–>R5 形成环路。

45.1.1.5的cost是1,而24.1.1.2的开销值是10,所以优选45.1.1.5,所以环路形成。

同一个协议OSPF内去往一条路由,优先开销值较小的(路由类型相同的前提下,区域内或区域外)。
在这里插入图片描述
修改R2的开销值:

ospf 1 
 import-route direct

这时到2.2.2.2,R4到R5和R4到R2都一样,都是cost=1。
这时R4到2.2.2.2形成负载均衡,两条都走。
负载均衡

1.2.1、解决办法

1、堵;filter-policy过滤策略(不收取不放行)。

  • 过滤策略
  • 路由优化
  • 避免路由引入
  • 避免路由回馈导致的路由环路
  • 进行精确路由引入和通告控制
[R5-isis-1]filter-policy ip-prefix 100 import          //ISIS里R5入方向前缀列表过滤策略
[R5]ip ip-prefix 100 deny 2.2.2.2 32               //拒绝2.2.2.2/32通过
[R5]ip ip-prefix 100 permit 0.0.0.0 0 less-equal 32   //允许小于等于32其它IP通过。
[R5]dis ip ip-prefix
Prefix-list 100
Permitted 8  命中了8次      如果是0也意味着这条前缀列表不成功
Denied 11   拒绝了11次
        index: 100               deny   2.2.2.2/32              
        index: 100               permit  0.0.0.0/0             le 32
[R5]dis cu | i ip ip-prefix        //查看ip-prefix配置

[R5]dis ip rout 2.2.2.2
在这里插入图片描述
上面的结果是避免了次由路由的产生。在入方向堵住这个2.2.2.2/32位的路由,可以避免环路的产生。
在这里插入图片描述

2、使用路由策略将次优路径的消除
路由控制三个重点:时间、优先级、度量值

路由控制的方式描述
控制路由的发布通过路由策略对发布的路由进行过滤,只发布满足条件的路由
控制路由的接收通过路由策略对接收的路由进行过滤,只接收满足条件的路由
控制路由的引入通过路由策略控制从其他路由协议引入的路由条目,只有满足条件的路由才会被引入

解决问题的方法:哪台路由器产生了次优路由就在哪台上配置。
原来的R5访问2.2.2.2/32,是由R5–>R1–>R3–>R2–>R1。
现在我们需要R5访问2.2.2.2/32,直接由R5–>R4–>R2。

R5生了次优路由需要配置:

#
isis 1
 network-entity 49.0000.0000.12345.00
 preference route-policy PREF
#
route-policy PREF permit node 10 
 if-match ip-prefix test 
 apply preference 160 
#
ip ip-prefix test index 10 permit 1.1.1.1 32
#

在这里插入图片描述

以上方案中只是演示路由过滤功能,实际工作中我们应该使用调整cost值,或者引入时变动类型(外部使用OE 1,区域内还是使用OE2)。

R5引入的ISIS,引入域外路由时修改优先级为150:

ospf 1 
 import-route isis 1
 preference ase route-policy LOOP 150

OE1 域外路由,会累加METRIC值(默认20);OE2 域外路由,不累加METRIC值(默认20)。

有多个出口这时我们可以使用OE1,它能够让我们在做路由决策的时候变得更加精确。因此多出口,建议用OE1。

ON1和ON2类似OE1和OE2,由NSSA的ASBR重发布而来,NSSA区域中的路由器没有LSA5,用LSA7算出的external路由,就标记为ON1/2。

3、通过打不同tag的方式防止环路。
如果发生域外路由2.2.2/32这个节点发生故障断开后,由于在R4的路由表存在这条路由的下一跳是45.1.1.5,就会形成环路,R5–>R1–>R3–>R4–>R5。为避免这样情况的发生,分别对OSPF路由和ISIS路由打上不同的标签,然后在引入点根据标签进行针对性的阻断。
在这里插入图片描述
R3 IS-IS引入OSPF打入tag41。

#
isis 1
 import-route ospf 1 route-policy IS_ospf
#
route-policy IS_ospf deny node 10        //先过滤,拒绝来自ISIS的路由
 if-match tag 14                        //匹配tag 14 
#
route-policy IS_ospf permit node 20     //允许通过
 apply tag 41                           //引入的路由打上tag 41
#

R3 IS-IS引入OSPF打入tag14。

#
ospf 1 
 import-route isis 1 route-policy ospf_IS
#
route-policy ospf_IS deny node 10         //先过滤,拒绝来自OSPF的路由
 if-match tag 41                          //匹配tag 41 
#
route-policy ospf_IS permit node 20    
 apply tag 14                             //引入的路由打上tag 14
#

这样即使2.2.2.2环回接口断掉后,也不会出现环路。

1.3、双点双向ISIS与OSPF引发的问题

前面是双点单向,只是IS-IS路由引入到OSPF。

下面我们用到双点双向,也就是OSPF路由引入到IS-IS、IS-IS路由引入到OSPF。实际工作中是使用双点双向。

R3先做双引

ospf 1 
 import-route isis 1

isis 1
 import-route ospf 1

R5后做双引

ospf 1 
 import-route isis 1

isis 1
 import-route ospf 1

配置结束时,整个网络内将会出现路由环路和次优路由这两个问题。
[R3]dis curr conf isis
[R3]dis curr con ospf

查看R1的路由表

<R1>dis ip rou
Destination/Mask    Proto   Pre  Cost    Flags NextHop         Interface
44.1.1.1/32  ISIS-L2 15   10          D   15.1.1.5        GigabitEthernet0/0/2
             ISIS-L2 15   10          D   13.1.1.3        GigabitEthernet0/0/1
<R1>dis isis lsdb verbose | i 44.1.1.1
LSPID                 Seq Num      Checksum      Holdtime      Length  ATT/P/OL
-------------------------------------------------------------------------------
+IP-Extended  44.1.1.1        255.255.255.255  COST: 0         
+IP-Extended  44.1.1.1        255.255.255.255  COST: 0  

在这里插入图片描述
R3的路由表

<R3>dis ip rout
Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface
2.2.2.2/32         ISIS-L2  15   20          D   13.1.1.1        GigabitEthernet0/0/1

R5的路由表

<R5>dis ip ro
Destination/Mask    Proto   Pre  Cost    Flags NextHop         Interface
 2.2.2.2/32         O_ASE   150   1       D   45.1.1.4        g0/0/0

在这里插入图片描述

现象:
双点双向后去往44.1.1.1的路由就会负载均衡(正常)。R3去往2.2.2.2产生次优路由,从R3–>R1–>R5–>R4。

1.3.1、次优路由的产生

为什么会产生2.2.2.2这条次优路由?
因为时间的关系,哪个ASBR先成功的引入?这里明显是R3首先引入了这条2.2.2.2的路由。

解决次优路径办法?

  • 在R3的收取方向做过滤(同一协议下);
  • 在R5输出方向作过滤其它路由协议引入的路由。
    但是堵的方法,会造成路由没有备份路径,比如当R3–>R4或者R5–>R4中一条断开后,2.2.2.2这条路由就断了,没有备份路径可以传输数据。

1、堵的办法。

下面是在R3的ISIS上把优先级调整为151。这样ISIS协议内的路由的优先级都会改动。

isis
preference 151

这样R3 ISIS协议内的路由都变成次优路由,路由表将会重新选择走OSPF的路由。到R1就是会R3–>R4–>R5–>R1。

2、疏的方法
路由策略的解决办法
1)、改进调整方法,针对2.2.2.2路由R3的优先级调整。在进程下调用route-policy。
R3

ip ip-prefix 100 index 10 permit 2.2.2.2 32
route-policy Prefer permit node 10
if-match ip-prefix 100                    //如果匹配到前缀列表100
apply preference 151                    //接受修改优先级为151
#这时是修改属性不是过滤,所以不用再一条route-policy允许所有
isis 1
preference route-policy Prefer

在这里插入图片描述

2)、R5的调整方法

acl 2018
rule 10 permit source 2.2.2.2
route-policy prefer permit node 10
if-match acl 2018
apply preference 14                  //不能小于OSPF

ospf 1
prefercence ase route-policy Prefer    //外部路由优先级路由策略Prefer

在这里插入图片描述
通过上面的调整,2.2.2.2的路由–>R4–>R5–>R1。
1)、由于R3设置了对2.2.2.2网段ISIS协议内优先级低,所以R3选择从R4上学习2.2.2.2网段路由。
2)、R5通过OSPF协议设置了协议内优先级高,所以R5选择从R4上学习2.2.2.2网段路由。
并通过ISIS协议泛洪给R1。就形成了一条单向的路由R1–>R5–>R4。

1.3.2、环路的产生以及通过路由策略标记tag消除环路。

但当将位于路由器R1上的环回接口Loopback 0关闭,就会产生环路。R3、R5将可能使用ISIS中的OSPF外部路由,为此将会重新产生环路。

[R1]tracert 2.2.2.2

TAG的使用

通过对发布出去路由打上Tag标记,在另一端对打上Tag标记的路由进行过滤。

方法:对于路由引入之前,需要先过滤带Tag标记的路由,再对引入的路由打上Tag标记。
在这里插入图片描述
2Tag路由策略解决:

  • R3将ospf引入到isis先过滤tag14再打上tag41,R5将isis引入到ospf先过滤tag41再打上tag14。
  • R5将ospf引入到isis先过滤tag14再打上tag41,R3将isis引入到ospf先过滤tag41再打上tag14。
    在这里插入图片描述

ospf引入到isis,过滤tag14主要防止由isis引入到ospf中的路由重新引入回ISIS中,isis引入到ospf过滤tag41亦是这样。

TAG只能用于IGP,类似于BGP的团体属性。
OSPF和RIP可以用于外部路由协议,OSPF的外部路由的TAG为1。
ISIS称之为管理TAG,可以用于外部路由,同时ISIS也可以在内部路由来应用TAG,注意ISIS要求宽度量才可以识别TAG。

默认情况下的ISIS设备使用的是narrow开销类型,其链路中传递ISIS报文时不会携带Tag标记信息。
ISIS中详细路由的详细信息
[R1]display ip routing-table pro isis verbose

ISIS配置宽度量:

[R1]isis 1
[R1-isis-1]cost-style wide

[R3]isis 1
[R3-isis-1]cost-style wide

[R5]isis 1
[R5-isis-1]cost-style wide

R3,ISIS引入OSPF路由,允许打上41标记,如果匹配到标记是14的路由拒绝。这样不会产生次优路由。

# 先拒绝带tag路由
[R3]route-policy is_os deny node 5     //is_os5号拒绝
[R3-route-policy]if-match tag 14       //如果匹配tag 14   过滤
[R3-route-policy]q

[R3]route-policy os_is deny node 5
[R3-route-policy]if-match tag 41
[R3-route-policy]q

# 再对引入的路由打上tag
[R3]route-policy is_os permit node 10   //is_os10号允许
[R3-route-policy]app tag 41            //引入的路由打上tag 41
[R3-route-policy]q

[R3]route-policy os_is permit node 10
[R3-route-policy]app tag 14
[R3-route-policy]q

# 应用在路由引入上
[R3]ospf 1
[R3-ospf-1]import isis 1 route-policy os_is

[R3-ospf-1]isis 1
[R3-isis-1]import ospf 1 route-policy is_os
[R3-isis-1]q

R5也一样,这里省略。

4Tag路由策略解决:

  • R3将ospf引入到isis先过滤tag30再打上tag10,R5将isis引入到ospf先过滤tag10再打上tag30。
  • R5将ospf引入到isis先过滤tag40再打上tag20,R3将isis引入到ospf先过滤tag20再打上tag40。
    在这里插入图片描述
# R3将ospf引入到isis先过滤tag30再打上tag10
[R3]route-policy 1tag deny node 5
[R3-route-policy]if-match tag 30
[R3-route-policy]q
[R3]route-policy 1tag permit node 10
[R3-route-policy]app tag 10
[R3-route-policy]q

# R3将isis引入到ospf先过滤tag20再打上tag40。

[R3]route-policy 4tag deny node 5
[R3-route-policy]if-match tag 20
[R3-route-policy]q
[R3]route-policy 4tag permit node 10
[R3-route-policy]app tag 40
[R3-route-policy]q

# 应用在路由引入上
[R3]ospf 1
[R3-ospf-1]import isis 1 route-policy 4tag

[R3-ospf-1]isis 1
[R3-isis-1]import ospf 1 route-policy 1tag
[R3-isis-1]q

R5也一样,这里省略。


http://www.niftyadmin.cn/n/154989.html

相关文章

华南理工大学与思迈特软件成立【人工智能联合实验室】

3月14日&#xff0c;华南理工大学—广州思迈特软件【人工智能联合实验室】正式揭牌&#xff0c;探索人工智能技术和商业智能产品的融合。广州市科学技术局高新技术处、广州市科学技术局成果与区域创新处、天河区科技工业和信息化局科技发展科、华南理工大学科学技术研究院、华南…

学习java——面向对象的五大原则

面向对象的五大基本原则面向对象开发范式的最大的好处就是易用、易扩展、易维护,但是,什么样的代码是易用、易扩展、易维护的呢?如何衡量他们呢?罗伯特C马丁在21世纪早期提出了SOLID原则,这是五个原则的缩写的组合,这五个原则沿用至今。单一职责原则其核心思想为:一个类…

高速瞬态信号同步采集系统在虚拟仪器领域的应用

简介 虚拟仪器技术采用优异的采样性能和极高的拓展性&#xff0c;平均单机通道N8*n通道&#xff0c;最多64通道&#xff0c;支持机箱间同步拓展&#xff0c;成本低且体积小巧&#xff0c;通道间的同步技术逐渐成熟&#xff0c;板间、机箱间、域内光纤White Rabbit同步&#xff…

应用程序发现和依赖关系映射 (ADDM)

应用程序发现和依赖关系映射 &#xff08;ADDM&#xff09; 是一种管理解决方案&#xff0c;用于发现在网络基础结构内的各种服务器和网络设备上运行的各种应用程序&#xff0c;并映射它们之间的依赖关系。ADDM 有助于发现、映射和构建业务基础架构中运行的所有资源以及它们之间…

从0开始学python -59

Python3 JSON 数据解析 JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式。 Python3 中可以使用 json 模块来对 JSON 数据进行编解码&#xff0c;它包含了两个函数&#xff1a; json.dumps(): 对数据进行编码。json.loads(): 对数据进行解码。 在 json 的编解…

Redis安装只看这一篇文章就够了

目录一、.单机安装Redis1.1.安装Redis依赖1.2.上传安装包并解压1.3.启动1.3.1.默认启动1.3.2.指定配置启动1.3.3.开机自启二、Redis客户端2.1.Redis命令行客户端2.2.图形化桌面客户端2.2.1.安装2.2.2.建立连接Redis安装说明大多数企业都是基于Linux服务器来部署项目&#xff0c…

Python 异步: 异步推导式(18)

动动发财的小手&#xff0c;点个赞吧&#xff01; 当我们想到“pythonic”时&#xff0c;理解&#xff0c;如列表和字典理解是 Python 的一个特性。 这是我们执行循环的一种方式&#xff0c;与许多其他语言不同。 Asyncio 允许我们使用异步推导式。 我们可以通过“async for”表…

[学习笔记]动手学深度学习v2

文章目录资料本地安装4.数据操作数据预处理4.1 数据操作实现4.2 数据预处理4.3数据操作QA5. 线性代数5.2 线性代数实现7. 自动求导8. 线性回归8.2 基础优化算法8.3 线性回归的从零开始实现资料 视频&#xff1a;https://space.bilibili.com/1567748478/channel/seriesdetail?…