前文我们了解了OSPF的4类、5类LSA,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15222969.html;今天我们来聊一聊外部路由类型和forwarding address相关话题;

  我们知道在ospf中外部路由主要由asbr通过发送5类LSA,将对应的路由信息传递给其他区域的ospf路由器;如果对应ospf路由器和asbr不在同一区域,则对应区域的ABR会产生4类LSA,用来描述对应去往ASBR路由;通过4类和5类LSA,一条外部路由就成功被其他OSPF路由器学习到;对于ospf来说,外部路由有两个类型,类型1和类型2;两者主要区别是计算开销的方式不同;对于类型1的外部路由,其计算开销的方式和内部计算开销的方式一样,累加接口开销;而对于类型2的外部路由,其计算开销的方式是只计算外部路由开销,不计内部开销;即当导入的外部路由开销是多少,内部任何地方学习到的该路由开销都是一样的;

  ospf外部路由类型

  实验:如下拓扑,配置ospf

  分析:正常情况下,我们计算ospf路由开销的方式是接口开销累加之和;比如R1到达4.4.4.4的路由开销就是R4的lo1接口开销+R3的g0/0/1的开销+R2的g/0/01的开销+R1的g0/0/0开销(路由学习方向入站接口开销累加或者数据出站接口开销累加);我们先配置好ospf,然后把4.4.4.4的路由引入到ospf中,看看对应学习到4.4.4.4的路由,对应开销是多少;

  R1的配置

sys
sys R1
int g0/0/0
ip add 12.0.0.1 24
ospf 1 router-id 1.1.1.1
area 1
net 12.0.0.0 0.0.0.255

  R2的配置

sys
sys R2
int g0/0/0
ip add 12.0.0.2 24
int g0/0/1
ip add 23.0.0.2 24
ospf 1 router-id 2.2.2.2
area 1
net 12.0.0.0 0.0.0.255
area 0
net 23.0.0.0 0.0.0.255

  R3的配置

sys
sys R3
int g0/0/0
ip add 23.0.0.3 24
int g0/0/1
ip add 34.0.0.3 24
ospf 1 router-id 3.3.3.3
area 0
net 23.0.0.0 0.0.0.255
area 2
net 34.0.0.0 0.0.0.255

  R4的配置

sys
sys R4
int g0/0/0
ip add 34.0.0.4 24
int lo 1
ip add 4.4.4.4 32
ospf 1 router-id 4.4.4.4
area 2
net 34.0.0.0 0.0.0.255

  在R4上引入直连路由到ospf进程中

  提示:上述新建了一条acl 主要用来匹配源地址为4.4.4.4的路由;在引入直连路由到ospf时,我们用路由策略把acl 2000作为匹配条件,把对应路由引入到ospf中;简单讲就是只引入4.4.4.4的路由到ospf中;

  验证:在R3上查看ospf路由表,看看对应学习到4.4.4.4的路由开销是多少?

  提示:可以看到在R3学习到达4.4.4.4的路由开销为1,对应类型为2;

  验证:在R1上查看ospf路由表,看看对应学习到4.4.4.4的路由开销是多少?

  提示:可以看到在R1上学习到达4.4.4.4的路由开销还是1?那么从R1发送数据到4.4.4.4,中间经过R2和R3,中间怎么会没有开销呢?其实原因就在于外部路由的类型;在ospf中默认引入的外部路由的类型是类型2,其计算开销的方式是外部路由引入时开销是多少就是多少,不管中间经过多少路由器,其开销都一样;

  验证:更改引入的外部路由开销为20,看看在R1、R2或R3学习到达路由是否也是20?

  在R1上查看对应路由的开销

  在R2上查看对应路由的开销

  在R3上查看对应路由的开销

  提示:可以看到三台路由其学习到达4.4.4.4路由的开销都是开始导入外部路由时更改的开销20;

  更改外部路由类型为类型1

  验证:在R3查看对应ospf学习到4.4.4.4的路由开销已经类型

  提示:可以看到我们把R4引入的外部路由类型更改为类型1以后,对应在R3学习到对应路由的开销就符合ospf开销计算方式(路由入站接口开销综合);即此时外部路由和内部路由计算开销的方式一样;

  验证:在R1上查看对应路由开销,看看是否还是20?

  提示:可以看到在R1上学习到达4.4.4.4的路由开销为23;其外部路由的类型为类型1;相比类型2来讲,类型1的外部路由要比类型2的外部路由可信度要高;因为类型1的外部路由是把外部路由和内部路由都看作ospf路由,其计算开销的方式都一样,不区别对待;从精确程度来讲,类型1的精确程度高于类型2;

  forwarding address字段

  forwarding address是5类LSA当中的一个字段,其主要作用是解决次优路由选择下一跳地址;我们知道对于5类LSA只会存在有外部路由引入的ospf环境;那么对于非ASBR路由器,如果和ASBR同区域,它们学习到的外部路由下一跳通常为ASBR的地址;如果和ASBR不在同一区域,它们学习到的外部路由下一跳通常指向对应区域发送4类LSA的ABR路由器地址;一般正常情况下forwarding address字段都是0.0.0.0,但在特殊环境中,该字段主要用来标识对外部应路由的下一跳地址;

  次优外部路由的产生

  提示:从原理上讲RTA学习到的外部路由,对应下一跳是指向ASBR的接口地址;这样一来RTA要想和RTC通信,数据包会先发送给RTB,然后再由RTB转发给RTC;很明显这样的流量走向不是最优的路径;最优的路径就是RTA直接把数据包发送给RTC;要想影响路由走向,对应下一跳不应该指向RTB而应该指向RTC才对;

  实验:如下拓扑环境,配置ospf、RIP,然后把对应RIP路由引入到ospf中

  分析:R5和R6跑ospf,R5和R7跑RIP;对于R5来讲,它即可通过ospf学习到ospf的路由,又能通过RIP学习到RIP的路由;而对于R6来讲,它想要和R7的lo1接口通信,首先要有对应的路由;我们可以通过R5导入rip的路由到ospf中,让R6学习到7.7.7.7的路由;

  R5的配置

sys
sys R5
int g0/0/0
ip add 192.168.100.5 24
ospf 1 router-id 5.5.5.5
area 0
net 192.168.100.5 0.0.0.0
rip 1
ver 2
net 192.168.100.0

  R6的配置

sys
sys R6
int g0/0/0
ip add 192.168.100.6 24
ospf 1 router-id 6.6.6.6
area 0
net 192.168.100.6 0.0.0.0

  R7的配置

sys
sys R7
int g0/0/0
ip add 192.168.100.7 24
int lo 1
ip add 7.7.7.7 32
rip 1
ver 2
net 192.168.100.0
net 7.0.0.0

  验证:在R5上查看ospf路由表

  提示:可以看到R5通过RIP学习到7.7.7.7的路由,下一跳指向R7的g0/0/0接口;

  查看R6的路由表

  提示:R6的路由表没有显示任何动态路由协议学习到的路由;其实R6通过ospf学习到192.168.100.0/24的路由;但ospf学习到的路由没有直连优先级高,所以在路由表中显示的还是直连;

  在R5上将RIP学习到的路由导入到ospf中

  在R6上抓包查看对应5类LSA中的内容

  提示:我们在交换机上抓包,抓到了R5发送的5类LSA,其中该LSA中描述了到达7.7.7.7的路由,并且将forwarding address字段的值置为了R7的接口地址;这表示R6学习到达7.7.7.7的路由,其下一跳就指向192.168.100.7;这样做的目的就是避免次优路径的产生;

  验证:查看R6学习到7.7.7.7的路由,下一跳的地址是否指向R7的地址?

  提示:可以看到此时R6的ospf路由表和ip路由表中对应7.7.7.7的路由下一跳都指向了R7的接口地址,而不是ASBR R5发送5类LSA接口地址;

  总结:通过上述实验可以看到,在ospf中,对应发送5类LSA接口地址和外部引入路由的下一跳在同一网段,此时ospf在引入外部路由时,它会将forwarding address字段置为对应外部路由的下一跳,其目的就是告诉其他ospf路由器将学习到的外部路由下一跳置为forwarding address指定的地址;这样可以避免次优路径的产生;

HCNP Routing&Switching之OSPF外部路由类型以及forwarding address的更多相关文章

  1. HCNP Routing&Switching之OSPF LSA更新规则和路由汇总

    前文我们了解了OSPF外部路由类型以及forwarding address字段的作用,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15225673.html: ...

  2. HCNP Routing&Switching之OSPF LSA类型

    前文我们了解了OSPF中的虚连接相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15202348.html:今天我们来聊一聊OSPF数据包中LSA类型相 ...

  3. HCNP Routing&Switching之OSPF LSA类型(二)

    前文我们了解了OSPF的一类.二类.三类LSA,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15209829.html:今天我们来聊一聊OSPF的四类和五类L ...

  4. HCNP Routing&Switching之OSPF网络类型

    前文我们了解了PPPoE协议相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15182512.html:今天我们聊聊一聊OSPF中的网络类型相关话题: ...

  5. HCNP Routing&Switching之OSPF特殊区域

    前文我们了解了OSPF LSA更新规则以及路由汇总相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15231880.html:今天我们来聊一聊OSPF的 ...

  6. HCNP Routing&Switching之OSPF虚连接

    前文我们了解了OSPF的网络类型.帧中继交换机映射以及路由器帧中继映射相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15195762.html:今天我 ...

  7. HCNP Routing&Switching之路由引入导致的问题及解决方案

    前文我们了解了路由引入相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15359902.html:今天我们来讨论下由于路由引入所导致的问题以及怎么避免此 ...

  8. HCNP Routing&Switching之BGP路由宣告

    前文我们了解了BGP报文结构.类型以及邻居状态相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15422924.html:今天我们来聊一聊BGP路由宣告 ...

  9. HCNP Routing&Switching之BGP路由属性和优选规则

    前文我们了解了BGP防环机制和路由聚合相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15458110.html:今天我们来聊一聊BGP路由属性和选路规 ...

随机推荐

  1. ODOO14 ---系统启动方式

    一.通过pycharm启动 1.配置启动面板: 点击启动即可: 第二种.通过CMD窗口启动:进入到odoo-bin的目录下,执行:python E:\odoo14\odoo14\odoo-bin  这 ...

  2. Vmware 虚拟机网络通讯

    VMware Workstation(中文名"威睿工作站")是一款功能强大的桌面虚拟计算机软件,提供用户可在单一的桌面上同时运行不同的操作系统,和进行开发.测试 .部署新的应用程序 ...

  3. 防止因提供的sql脚本有问题导致版本bvt失败技巧

    发版本时,可能会由于测试库和开发库表结构不一样而导致数据库脚本在测试那边执行时出错,导致版本BVT失败,以下技巧可解决此问题. 步骤:备份目标库,在备份库中执行将要提供的sql脚本看有无问题,若没问题 ...

  4. GC Roots包含哪些

    1.虚拟机栈中引用的对象 2.方法区中静态属性.常量引用的对象 3. 本地方法栈中引用的对象 4. 被Synchronized锁持有的对象 5. 记录当前被加载类的SystemDictionary 6 ...

  5. SpringBoot整合Guacamole教程

    前言 本文主要介绍的是SpringBoot如何整合Guacamole在浏览器是远程桌面的访问. Guacamole 介绍 Apache Guacamole 是一个无客户端远程桌面网关.它支持标准协议, ...

  6. 大数据学习(20)—— Zookeeper介绍

    ZooKeeper是什么 就像相声大师冯巩每次出场都说:"亲爱的观众朋友们,我想死你们啦"一样,我再强调一次,学习大数据官网很重要.Zookeeper官网看这里ZooKeeper ...

  7. 大数据学习(03)——HDFS的高可用

    高可用架构图 先上一张搜索来的图. 如上图,HDFS的高可用其实就是NameNode的高可用. 上一篇里,SecondaryNameNode是NameNode单节点部署才会有的角色,它只帮助NameN ...

  8. 文件包含 & LFI-labs靶场

    文件包含漏洞学习 冲冲冲,好好学习 2020.1.30 认真对待自己做出的每一个决定 知识与实践 Q:什么是文件包含? A:简单一句话,为了更好地使用代码的重用性,引入了文件包含函数,可以通过文件包含 ...

  9. 单片机学习(一)项目的建立和vscode代码编辑环境的设置

    目录 Keil项目的建立 使用vscode进行开发 工欲善其事必先利其器,因此我们先搭建一个比较舒服的开发环境. Keil项目的建立 打开Keil软件点击Project/New uVision Pro ...

  10. a href="tel" 拨打电话

    电话号码是固定的: <a href="'tel:10086">10086</a> 电话号码是动态获取时: 走默认的方式失败 <a href=" ...