首页 > 其他分享 >路由引入正解(一)

路由引入正解(一)

时间:2023-07-02 11:12:34浏览次数:31  
标签:ISIS 数据库 接口 引入 OSPF 路由

目录

理论

前言

路由引入是我们在路由学习阶段的一个里程碑,也是传统HCIE考试阶段最难的地方,是很多同学的弱点,确实路由引入比较难以理解,也鲜有人老师能把这一部分讲好。路由引入命令极其简单,原理却没有那么容易理解。

路由引入的本质

路由引入的本质是进程之间的路由信息翻译以及路由信息传递。

关于路由引入通俗的理解:

一边说中文,另一边说英文,路由引入不是让说中文的人学会英文,也不是让说英文的人学会中文。而是两边都保持不变,由中间人将英文翻译成中文然后讲给只会说中文的人听,或者由中间人将中文翻译成英文讲给只会讲英文的听,中间人至关重要,需要即懂英文,也懂中文

路由器接口的IP地址是配置在接口上吗?

普通的路由器与主机一样,虽然从客观来看IP地址就是基于接口去配置的,但实际上IP地址是配置在全局的操作上系统上的,而不仅仅是配置在接口上的.同一个路由器,A接口配置了192.168.10.1,那路由器的操作系统就不允许B接口也配置成192.168.10.1,同一台路由器的接口与接口之间并不是完全独立的,所有的接口都归同一个操作系统控制。

那路由器的路由协议是配置在接口上吗?

RIP、OSPF看起来都是基于接口的,我们在配置的时候是可以直接在接口上激活OSPF的,OSPF本身也称之为“接口敏感型协议”,当你在OSPF进程当中宣告了A接口的网段或IP时,那OSPF就在这个接口上有所体现,比如向外发送hello报文,但并不能说OSPF是配置在接口上,OSPF本质上是配置在全局操作系统上的进程。

路由器上接口IP地址可以重复吗?

路由器的接口IP地址不能重复,因为在路由器的操作系统看来,数据库当中已经有了一个一模一样的IP地址,如果放任在多个不同的接口配置相同的IP地址,那数据转发就会乱掉了,所以在操作系统代码开发时明确规定不可以这样。

同样的道理,如果A路由器同时运行了OSPF和ISIS,现在将ISIS数据库当中的路由引入到OSPF当中,那此时A路由的OSPF数据库会新增ISIS所发送的路由表吗?并不会的,这个问题还是要全局去看,对A设备来说,它已经通过ISIS知道某些路由如何转发,那它无论如何也不会将这些路由再写入到自己OSPF数据库当中,否则转发的时候那到底是给ISIS还是给OSPF呢?如果根据优先极给了OSPF,那真正的目的地明明在ISIS对应的区域当中,这岂不是乱套了!在此处,路由引入并不是将ISIS数据库的内容写入到OSPF,而是将ISIS数据库内容从OSPF对接的接口当中发送出去,本地OSPF数据库并不会发生任何变化。

我们来总结一下路由引入的原则:(这个原则非常重要,我们下面还会详细讲到)

  1. 引入的路由必须们于路由表当中,隐含路由引入所引入的路由都是最优秀的路由条目
  2. 引入是外向的,是负责引入的路由器不会改变自身的路由表
  3. 假如在中间人设备上把路由协议A引入进B,表示为A→B,则会导致
    1. 路由引入不是将A路由协议数据库当中的路由条目写入到B路由协议对应的数据库
    2. 而是将A路由协议数据库当中的路由条目从B路由协议对应的接口当中发送出去
    3. 跟A有关的所有路由会引入进B
      • 从A学习到的路由会引入进B
      • 启用了A的接口所在网络路由会进入B

实验一

image-20230702105719558

我们来看一下上面这张图:

  • 首先,AR1把RIP引入进ISIS
  • 然后,AR1再把ISIS引入到OSPF

那么AR1能学到几条路由呢?这个问题非常重要,我们直接从AR1的解释来看三个路由协议的路由库,如下所示:

image-20230702105728842

很多同学在这个地方都会回答错误,当AR1把RIP引入到ISIS,然后再把ISIS引入到AR2,其实AR2仅会收到两条路由:

# AR2接收到的路由
10.0.4.4
10.0.14.0

我们接来就来详细说一下为什么AR2仅会接收到以上两条路由呢?

重点要理解我们引入规则当中的一句话:负责引入的路由器并不会改变自身的路由表

你看哈,在上面这张图当中,AR1是中间人,负责进行引入。在第一次将RIP引入到ISIS时,AR1的ISIS数据库有没有发生变化呢?并没有,AR1已经通过RIP得知了10.0.3.3和10.0.13.x这两条路由,就不会再把这两条路由再放到ISIS的数据库当中,否则的话,路由转发时岂不是会乱掉了!但难道AR1什么都不做吗?也不是,AR1虽然不会把RIP对应的这两条路由写入到自己的ISIS数据库,但是AR1还是会将这两条RIP路由转换成ISIS能识别的数据报文从ISIS对应的接口(G0/0/2)发送出去,也就是说中间人只转发,不保存或刷新自己的数据库。中间人不会发生变化,但AR4的ISIS数据库会新增两条路由条目。

好了,接下来该AR1再将ISIS的路由表引入到OSPF当中了,其实也就是将ISIS的数据库当中的内容翻译成OSPF能识别的报文再从G0/0/0接口发送出去,由于在上一步AR1的ISIS数据库并没有发生改变,依然只有10.0.4.4和10.0.14.0这两条路由,那AR2就只会收到这两条路由,还是那句话:负责引入的路由器并不会改变自身的路由表。

有意思来了,虽然AR1这么折腾,将RIP引入到ISIS,又向ISIS引入到OSPF,可是AR1的路由表一点都没有发生变化!

实验二

image-20230702105701002

AR7将RIP引入到ISIS,然后AR6再将ISIS路由引入到OSPF,AR5能收到几条路由条目?两条

这个题目与上一个题目其实有点相似,我们来看一下,当AR7将RIP当中的10.0.78.0引入到ISIS时,根据上面的原则,我们知道AR7的数据库不会发生变化,因为AR7就来就有去往10.0.78.x的路由,AR7的ISIS数据库不会有任何变体,仅仅把10.0.78.x从g0/0/0转发给AR6.

AR6的数据库并没有10.0.78.x的路由条目,所以AR6的ISIS数据库会新增一条路由,加上AR6自己原来就有ISIS路由10.0.67.x,AR6的ISIS数据库当中当前有两个路由条目;

最后AR6又将ISIS数据库中的内容引入到OSPF,所以AR6数据库当中仅有两条路由条目(如下所示),发送给AR5,所以AR5会收到两条路由

# AR6的ISIS数据库当中的路由条目
10.0.78.X(刚从AR7那里面学到的)
10.0.67.x(AR6 ISIS 数据库本身就有的)

标签:ISIS,数据库,接口,引入,OSPF,路由
From: https://www.cnblogs.com/yizhangheka/p/17520500.html

相关文章

  • OpenWrt+R2S 主路由、旁路由配置详解
    1、R2S用作主路由R2S作为主路由的好处,所有流量都经过软路由,客户端不需要额外配置坏处:所有流量都经过软路由1.1网络拓扑1.2R2S的WAN口配置家庭一般都是光猫拨号,光猫的网口直接连上R2S的WAN口,R2S一般保持默认配置就好,即配置DHCP客户端自动获取IP地址就好了。比如你是校园......
  • 路由器端口映射设置教程
    路由器端口映射这个功能,对于大多数的普通用户来说,实际上是用不上的,不过呢,偶尔也有朋友会咨询这个问题,所以还是写了一篇教程,可做参考首先我们打开路由器可以看到然后我们根据图二点击“转发规则”然后点击虚拟服务器可以看到这里大家就可以看到我们需要映射的地方了我把图片放大......
  • vue中router-link路由携带参数跳转
    在对应的路由模块儿中path:'courseList/:id?'router-link中书写方法如下<templateslot-scope="scope"><router-link:to="{path:'/course/courseList/'+scope.row.id}">跳转按钮</router-link></el-ta......
  • thinkphp6多用用模式下缩短路由
    场景描述:要做seo,要缩短路由。原xxx.com/home/article/1改为xxx.com/article/1解决办法:index.php<?php//+----------------------------------------------------------------------//|ThinkPHP[WECANDOITJUSTTHINK]//+---------------------------------------......
  • 【一】MySQL数据库之引入
    【一】MySQL数据库之引入【一】数据库管理软件的由来基于我们之前所学,数据要想永久保存,都是保存于文件中,毫无疑问,一个文件仅仅只能存在于某一台机器上。如果我们暂且忽略直接基于文件来存取数据的效率问题,并且假设程序所有的组件都运行在一台机器上,那么用文件存取数据,并没......
  • NETGEAR R7800路由器TFTP刷回原厂固件方法
    前几天因图新鲜将用了一年的R7800刷为dd-wrt固件,结果发现信号覆盖和网络速率相对于原厂固件还有一些差距。然后从dd-wrt固件刷回原厂,具体操作过程如下:1、到NETGEAR官网【支持】模块下载想恢复的对应版本固件我下载的版本为1.0.2.62。2、 下载TFTP客户端命令行工具。连接地址为:ht......
  • rollup 打包按需引入
    importresolvefrom'@rollup/plugin-node-resolve';importcommonjsfrom'@rollup/plugin-commonjs';importbabelfrom'@rollup/plugin-babel';import{terser}from'rollup-plugin-terser';//一款基于UglifyJS的JavaScri......
  • uniapp 引入非模块化js
    uniapp开发的H5,引入第三方的非模块化.js文件,如self.js,就是纯js文件,没有module.exports暴露出来成为一个对象,这种放在common文件夹下,引入会提示找不到,这时候应该把该self.js放在static文件夹下,uniapp发行H5时static文件下的内容不编译,在并在入口.html文件中引入全局js,在.vue页......
  • [转]路由器UPNP有什么用,开启还是关闭好?其他P2P内网穿透
    文章出处:http://www.nat123.com/Pages_74_1145.jsp路由器的UPNP功能有什么作用?是设置开启好还是关闭了好?UPnP是英语UniversalPlugandPlay的首字母缩写,一般翻译成通用即插即用。路由器通用即插即用UPnP功能用于局域网络计算机和智能移动设备,流畅使用网络,加快P2P软件访问网络......
  • vue编程-增加路由模块
    1.将vue-router依赖加入到package.json{"name":"practice_novel_site","version":"0.1.0","private":true,"scripts":{"serve":"vue-cli-serviceserve","build......