RIP OSPF双点双向重分发解决路由回馈实验详解

2023-10-15 01:10

本文主要是介绍RIP OSPF双点双向重分发解决路由回馈实验详解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

实验环境:HUAWEI ENSP模拟器
实验拓扑:
在这里插入图片描述
概述
①左半部分运行OSPF协议,右半部分运行RIP协议
②路由器R2,R3运行双协议
③R1将连接PC网段重分发进OSPF
④R2,R3进行双点双向重发布
问题
由于RIP和OSPF管理距离的不同,就会出现路由回馈
解决思路
①修改路由优先级
②过滤次优路由
③路由标记

1.修改路由优先级
重分发命令:

[r1-rip-100]import-route ?    bgp     Border Gateway Protocol (BGP) routes---重发布BGPdirect  Direct routes---重发布直连isis    Intermediate System to Intermediate System (ISIS) routes---重发布isisospf    Open Shortest Path First (OSPF) routes---重发布OSPFrip     Routing Information Protocol (RIP) routes---重发布RIPstatic  Static routes---重发布静态unr     User Network Route---重发布unr

1)R1引入路由和R2,R3实行双点双向重发布后:仅关注10.2.1.0路由即R1直连PC网段
R2路由表信息
在这里插入图片描述R3路由表信息
在这里插入图片描述
由上图可分析到:R2路由正常,R3路由为次优路由使用RIP应该选择OSPF

2)使用route-policy改变路由优先级:
route-policy : 策略列表
使用环境: ①重发布 ②BGP ③PBR(QOS)
特点:
①自身具有过滤功能
②序列号由小及大匹配
③可以过滤路由或者改变路由的属性
④末尾隐含拒绝所有
⑤每一个条目中包含逻辑语句(if-match apply 注意:横向if-match match 任意 ,竖向if-match match 所有 )没有match 匹配all 没有apply apply nothing
步骤:①使用ACL或前缀列表抓取路由
②创建route-policy

思路:管理距离rip:100,OSPF:10,OSPF ASE :150,OSPF NSSA:150,g管理距离不同使得选择RIP,方法使用前缀列表抓取10.2.1.0/24路由,使用route-policy匹配前缀列表修改管理距离,在对应的协议中调用route-policy。

R2.R3 使用ip-prefix抓取路由

[r2]display ip ip-prefix pc1
Prefix-list pc1
Permitted 0
Denied 2index: 10               permit  10.2.1.0/24 
[r3]dis ip ip-prefix
Prefix-list pc1
Permitted 0
Denied 90index: 10               permit  10.2.1.0/24 

R2,R3创建route-policy

[r2]display route-policy
Route-policy : pc1permit : 10 (matched counts: 0)Match clauses : if-match ip-prefix pc1Apply clauses : apply preference 90 permit : 20 (matched counts: 2)
[r3]display route-policy
Route-policy : pc1permit : 10 (matched counts: 0)Match clauses : if-match ip-prefix pc1Apply clauses : apply preference 160

3)在协议中调用:
R2将OSPF 外部路由的管理距离变小

在这里插入图片描述
R3将RIP的路由管理距离改大
在这里插入图片描述
RIP变大,OSPF变小都能达到相同的效果

4)最终的结果:
在这里插入图片描述
在这里插入图片描述
有图可知R3路由表10.2.1.0/24路由改变,选路正常。
2.过滤次优路由
思路:由于管理距离不同会产生次优路由,因此可以使用fitter-policy来过滤次优路由使选路正常

fitter-policy
fitter-policy :过滤策略列表,进行路由信息的过滤。
特点:
①自身不具备过滤功能
②可以在同种路由之间使用或不同路由信息重发布过程中使用
③同种路由协议之间分为距离矢量型(可以在出和入两个方向实施)和链路状态型(仅仅在路由学习的入方向使用,并且不是过滤LSA,只是阻止LSA的加表 )
④在不用协议之间使用时,必须为export + A协议(需要被重发布的协议)
距离矢量型路由协议: 可以在in out 方向实施
Import (in)
export(out)
链路状态型路由协议: 注意只能在import 方向是实施,并且仅仅阻止路由条目加表,不能过滤LSA(export 不能使用)
步骤:①使用ACL或前缀列表抓取路由
②使用fitter-policy

1)前缀列表抓取路由

[r2]dis ip ip-prefix
Prefix-list pc1
Permitted 6
Denied 1index: 10               deny    10.2.1.0/24  ---拒绝10.2.1.0/24           index: 20               permit  0.0.0.0/0               le  32---允许放过其他
[r3]dis ip ip-prefix
Prefix-list pc1
Permitted 5
Denied 0index: 10               deny    10.2.1.0/24 ---拒绝--10.2.1.0            index: 20               permit  0.0.0.0/0               le  32---允许放过其他

2)使用fitter-policy
在这里插入图片描述

在这里插入图片描述
最终路由表路由选路正确

3.路由标记
前两种方法的缺点:不具备扩展性
若增加和10.2.1.0/24类似路由还需进行相同配置
第二种方法将路由过滤因此还不具有备份路由

思路:给路由打上标记,针对标记路由进行策略(1,2两种方法都可)

R1在引入直连路由时候打上标记tag 20
在这里插入图片描述
查看标记
在这里插入图片描述
可以通过前缀列表抓取打标记的路由,对路由进行修改管理距离,或者过滤即可达到实验目的

由于实验命令配置的顺序不同,一般思路就是这样,具体的情况具体判断

这篇关于RIP OSPF双点双向重分发解决路由回馈实验详解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/214399

相关文章

MySQL 日期时间格式化函数 DATE_FORMAT() 的使用示例详解

《MySQL日期时间格式化函数DATE_FORMAT()的使用示例详解》`DATE_FORMAT()`是MySQL中用于格式化日期时间的函数,本文详细介绍了其语法、格式化字符串的含义以及常见日期... 目录一、DATE_FORMAT()语法二、格式化字符串详解三、常见日期时间格式组合四、业务场景五、总结一、

Qt实现发送HTTP请求的示例详解

《Qt实现发送HTTP请求的示例详解》这篇文章主要为大家详细介绍了如何通过Qt实现发送HTTP请求,文中的示例代码讲解详细,具有一定的借鉴价值,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1、添加network模块2、包含改头文件3、创建网络访问管理器4、创建接口5、创建网络请求对象6、创建一个回复对

springboot3.4和mybatis plus的版本问题的解决

《springboot3.4和mybatisplus的版本问题的解决》本文主要介绍了springboot3.4和mybatisplus的版本问题的解决,主要由于SpringBoot3.4与MyBat... 报错1:spring-boot-starter/3.4.0/spring-boot-starter-

Apache伪静态(Rewrite).htaccess文件详解与配置技巧

《Apache伪静态(Rewrite).htaccess文件详解与配置技巧》Apache伪静态(Rewrite).htaccess是一个纯文本文件,它里面存放着Apache服务器配置相关的指令,主要的... 一、.htAccess的基本作用.htaccess是一个纯文本文件,它里面存放着Apache服务器

Java中有什么工具可以进行代码反编译详解

《Java中有什么工具可以进行代码反编译详解》:本文主要介绍Java中有什么工具可以进行代码反编译的相关资,料,包括JD-GUI、CFR、Procyon、Fernflower、Javap、Byte... 目录1.JD-GUI2.CFR3.Procyon Decompiler4.Fernflower5.Jav

golang panic 函数用法示例详解

《golangpanic函数用法示例详解》在Go语言中,panic用于触发不可恢复的错误,终止函数执行并逐层向上触发defer,最终若未被recover捕获,程序会崩溃,recover用于在def... 目录1. panic 的作用2. 基本用法3. recover 的使用规则4. 错误处理建议5. 常见错

pycharm远程连接服务器运行pytorch的过程详解

《pycharm远程连接服务器运行pytorch的过程详解》:本文主要介绍在Linux环境下使用Anaconda管理不同版本的Python环境,并通过PyCharm远程连接服务器来运行PyTorc... 目录linux部署pytorch背景介绍Anaconda安装Linux安装pytorch虚拟环境安装cu

一文详解如何在Python中使用Requests库

《一文详解如何在Python中使用Requests库》:本文主要介绍如何在Python中使用Requests库的相关资料,Requests库是Python中常用的第三方库,用于简化HTTP请求的发... 目录前言1. 安装Requests库2. 发起GET请求3. 发送带有查询参数的GET请求4. 发起PO

Python进行PDF文件拆分的示例详解

《Python进行PDF文件拆分的示例详解》在日常生活中,我们常常会遇到大型的PDF文件,难以发送,将PDF拆分成多个小文件是一个实用的解决方案,下面我们就来看看如何使用Python实现PDF文件拆分... 目录使用工具将PDF按页数拆分将PDF的每一页拆分为单独的文件将PDF按指定页数拆分根据页码范围拆分

Java中的Cursor使用详解

《Java中的Cursor使用详解》本文介绍了Java中的Cursor接口及其在大数据集处理中的优势,包括逐行读取、分页处理、流控制、动态改变查询、并发控制和减少网络流量等,感兴趣的朋友一起看看吧... 最近看代码,有一段代码涉及到Cursor,感觉写法挺有意思的。注意是Cursor,而不是Consumer