从OSPF的ASBR重分发的外部路由,会生成OE1和OE2的两类路由在OSPF区域中进行传递。

cisco默认的外部路由的类型是OE2.默认的metric=20,不会根据链路的cost进行累加。

而OE1必须要经过手工指定以后才能在OSPF区域内进行传递。在该文档中会把OE1和OE2通过实验都详细验证一次,然后看看区别在哪里,最后还有一个关于OE2路由的问题是forward metric,这个知识点很少用到,但是需要了解。算是一个高级知识点吧。

好了,下面来看看OE1和OE2的区别。

下面是实验拓扑图:(实验配置就不提供了,这里主要阐述原理,在看这个文档之前至少需要了解清楚ospf的基本配置)

这个拓扑图中,首先介绍一下情况。R1在area 0骨干区域,R2是ABR,分别连接R1和R3,R3在Area 10中,R4是ASBR,后面的网络是EIGRP.

在这样的情况下,如果在R4上面的配置为:

注意黄色的配置,把无类的eigrp 100重分发到OSPF 1中,那么R4就会将以5类LSA扩散到OSPF的所有区域。最后R1上面也会收到相关的路由消息,最后把路由表同步过来,在R1上面show ip route就可以看到到172.16.0.0/16的路由。(关于1-5类的LSA实验详解请参考http: //361531.blog.51cto.com/351531/687142)

最后在R1上面可以看到收到3条OE2的路由。

这里可以看到在R1上面,有3条OE2的路由,E2--OSPF external type 2.

我们可以看到每条路由的cost都是20.不会因为经过了3跳以后就累加进路由去。

也就是说,外部路由E2类型是cisco默认的类型,如果不手动指定,那么一直都会以2类的路由进行扩散。

再来看看OE1.需要在R4上面做手工指定的配置才能将默认的OE2转换成OE1:

下面看看R4的配置变更,需要用到命令metric-type 1.

这里特别手工指定了metric-type=1.那么一会就回更新路由类型到R1,R1再show ip route的时候,应该会发现到达172.16.0.0的所有三条路由的类型全部变成了OE1.

最后再仔细看看,OE1的时候,耗费一栏是23,也就是说,20+1+1+1=23,把三段链路的耗费做了一个总和最后加上20.

这里再补充一个知识点,如果想让耗费增加,是在学习路由的方向,也就是对应R1/R2/R3的入方向做ip cost xxx才能有效增加总耗费。

根据上面拓扑图的原理,这里来进行验证一下,首先在R3的F1/0修改cost为2

最后到R1上面看看相关的OE1的路由:

三条OE1的路由耗费全部都变成了24.

下面是关于OE2的一个高级点的知识点,forward metric的概念。看看下面的拓扑图:

在这个拓扑图中,请注意R6和R4的network的网段,完全一样。

让我们带到问题来验证这个问题:

两个ASBR分别都起了三个loopback接口,并且三个loopback接口完全一样,那么根据我们上面所提到的OE2的原则,外部重分布进OSPF的路由总是20,并不会累加ospf区域内的链路的cost,在这种极端的情况下,如果R6和R4都是用的cisco默认的OE2路由到R1的话,那么在R3上面是否会负载均衡呢?

让我们先用实验说话,再说明forward metric的作用。

把实验环境搭建好以后,在R6和R4用相同的充分发命令不带metric-type.两台ASBR通过OE2路由通告给area 0的R1.

那么根据OE2的原理,不会累加耗费,所以两个ASBR传递给R3的路由应该都是20才对,又根据ospf的原理,根据链路耗费来进行选录,如果耗费相同,那么R3上面应该show ip route 172.16.0.0的时候应该是负载均衡才对。

结果是这样的吗?

首先看R6和R4的配置:

R6:

hostname R6

!

interface Loopback0

ip address 60.60.60.60 255.255.255.255

!

interface Loopback1

ip address 172.16.1.1 255.255.255.0

!

interface Loopback2

ip address 172.16.2.1 255.255.255.0

!

interface Loopback3

ip address 172.16.3.1 255.255.255.0

!

interface FastEthernet0/0

ip address 6.1.1.2 255.255.255.0

duplex full

!

router eigrp 100

network 172.16.1.0 0.0.0.255

network 172.16.2.0 0.0.0.255

network 172.16.3.0 0.0.0.255

no auto-summary

!

router ospf 1

router-id 60.60.60.60

log-adjacency-changes

redistribute eigrp 100 subnets

network 6.1.1.0 0.0.0.255 area 10

network 60.60.60.60 0.0.0.0 area 10

!

R4:

hostname R4

interface Loopback0

ip address 40.40.40.40 255.255.255.255

!

interface Loopback1

ip address 172.16.1.1 255.255.255.0

!

interface Loopback2

ip address 172.16.2.1 255.255.255.0

!

interface Loopback3

ip address 172.16.3.1 255.255.255.0

!

interface FastEthernet1/0

ip address 3.1.1.2 255.255.255.0

duplex full

speed auto

!

router eigrp 100

network 172.16.1.0 0.0.0.255

network 172.16.2.0 0.0.0.255

network 172.16.3.0 0.0.0.255

no auto-summary

!

router ospf 1

router-id 40.40.40.40

log-adjacency-changes

redistribute eigrp 100 subnets

network 3.1.1.0 0.0.0.255 area 10

network 40.40.40.40 0.0.0.0 area 10

!

最后在R3上面看看两条耗费相同的路由通告过来,是否形成了负载均衡的局面:

通过实验证明并没有形成负载均衡,那么这里的172.16.0.0的路由最终到底是在R4上面还是在R6上面呢?

通过traceroute发现居然是R4:

这里你可以反复验证,绝对目的地是R4.而不可能是R6,除非R4的172.16.0.0的路由down了,不通告了,那么才能轮到R6.

为什么会这样呢?

这个是因为OE2的路由中,当碰到这样的极端问题的时候,还会有一个东西叫forward metric.

在这种极端情况下,R1/R2/R3还是会看哪里的耗费小,对于到目的地只有一条路径的时候,那么那个20始终是20的耗费,如果有多条路径可以同时到达对端,这时候OE2会看哪条链路的总耗费小。

对于R1来说,要到R4,总耗费为3(这里forward metric不需要加上20),而如果要到R6的话,总耗费需要4(这里forward metric不需要加上20).

所以最终只会选择R4走最短路径。这是ospf的一个原理的特征。

说了那么多,在哪里可以看forward metric这个东西呢?

现在在R1上面:

这里可以看到,管理距离110,耗费cost20,类型为2类external,最后一个就是forward metric.是3.

下面我还专门traceroute了一下。路径是R1->R2->R3->R4.

好,我再做一个实验。请参考拓扑图,我把R4的F1/0 shutdown.这个时候R1只能学到172.16.0.0网段通过R6学到,让我们看看R1的路由有什么变化。

当shutdown R4的F1/0后,在R1上面show ip route 的话,根本看不出和之前R4正常的时候有什么区别,

耗费还是20.都是通过下一跳R2走的。

但是如果细心的人会发现,show ip route 172.16.1.1这个时候在R1上面发生了细微的变化:

请和上面的show ip route 还有traceroute对比一下,对,就是forward metric从以前的3变成了4.

forward metric其实就是在计算OSPF区域内链路的cost耗费总和。

现在R4路由器没有了,所以traceroute到的目的就是R6了。而R6到R1的总链路耗费是4.

说到这里,大家应该都明白了,当有两条链路都可以到目的地的时候,OE2不是我们想象中的那样会坐负载均衡,而是会优先选路。

最后再来一个思考题:

如果在R3上面我们想看到最后show ip route 172.16.0.0的路由表称为负载均衡,我们应该如何设置呢?

答案:

在R3的F1/0设置为ip ospf cost=2.这样就可以负载均衡了。

在R3上面:

最后在R3上面看到的结果就是负载均衡了。

仅仅是一个实例,实际上我一直都有一个疑问,为什么OSPF默认为OE2?既然默认为OE2,耗费都是20,那么就应该在这种情况下默认为负载均 衡,因为ospf比较的就是cost,如果在这种环境下,不负载均衡,那么默认为OE1就可以满足需求,而不需要引入forward metric这个概念。既然引入了OE2,最终不管采用任何手段达到的效果是OE1的默认效果。为什么会这样?

请教了一位CCIE同事,他得结论很经典,RFC就是这样规定的。

呵呵,真的感觉有点脱了裤子放屁----多此一举了.......

大家可以一起分享一下这个设计的看法.......

本文出自 “ hank--我,只关注原理” 博客

<转>OSPF OE2和OE1外部路由详解(主要解释了下OE2为什么没默认负载均衡)相关推荐

  1. 03-OSPF OE2和OE1外部路由详解

    Technorati 标签: OSPF,CCIE,OE1,OE2,forward metric 从OSPF的ASBR重分发的外部路由,会生成OE1和OE2的两类路由在OSPF区域中进行传递. cisc ...

  2. ipconfig不是内部或外部_OSPF外部路由详解-LSA4-LSA5

    标题序号,接续上文,并非笔误 感谢阅读,欢迎交流 本篇仅介绍外部路由,下篇介绍特殊区域 6.外部路由 ASBR会生成一条AS-External-LSA(Type4)描述引入的外部路由,ABR会生成一条 ...

  3. React Router路由详解

    React Router路由详解 一.基础 1.安装使用 2.React Router 中通用的组件 路由组件 BrowserRouter 和 HashRouter 路径匹配组件: Route 和 S ...

  4. API 网关服务:Spring Cloud Zuul(二):路由详解、Cookie 与头信息

    实践出于<Spring Cloud 微服务实战> - 瞿永超 著 路由详解 传统路由配置   传统路由配置就是在不依赖于服务发现机制的情况下,通过在配置文件中具体指定每个路由表达式与服务实 ...

  5. CCIE理论-第十三篇-IPV6-路由-静态+(EIGRP+OSPF)两种做法+IPV4-ARP代理详解(精髓篇)

    CCIE理论-第十三篇-IPV6-路由-静态+(EIGRP+OSPF)两种做法+IPV4-ARP代理详解(精髓篇) 其实呢,路由协议,静态路由 他还是ipv4那一套,只不过多了点东西 该怎么搞怎么搞, ...

  6. Ocelot简易教程(三)之主要特性及路由详解

    作者:依乐祝 原文地址:https://www.cnblogs.com/yilezhu/p/9664977.html 上篇<Ocelot简易教程(二)之快速开始2>教大家如何快速跑起来一个 ...

  7. vue路由详解 --基础

    vue路由详解 --基础 1.router-link 和router-view组件 router-link相当于封装了一个a标签 router-view为组件显示的位置 <router-link ...

  8. elasticsearch系列三:索引详解(分词器、文档管理、路由详解(集群))

    目录 一.分词器​ 1. 认识分词器 1.1 Analyzer 分析器 1.2 如何测试分词器 2. 内建的字符过滤器(character filter) 2.1 HTML过滤字符过滤器(HTML S ...

  9. angular路由详解

    angular路由 路由 (route) ,几乎所有的 MVC(VM) 框架都应该具有的特性,因为它是前端构建单页面应用 (SPA) 必不可少的组成部分. 那么,对于 angular 而言,它自然也有 ...

最新文章

  1. cmd查看python安装路径-从cmd如何查找python的安装路径?
  2. 【数据结构】集合及运算
  3. u8 和 char如何转化_如何编写高效率稳定的单片机代码
  4. 深度学习(十七)——SSD, YOLOv2
  5. api报错 javaee maven_JavaEE关于Maven的配置与学习
  6. JavaFX官方教程(一)之JavaFX概述
  7. 编程使用资源文件实现多语言页面(In Action)
  8. 【连载】如何掌握openGauss数据库核心技术?秘诀一:拿捏SQL引擎(1)
  9. 容器入门(8) - 镜像签名
  10. byte二维数组表示
  11. static与get属性的作用
  12. Advanced Wlan Attacks (RADIUS)
  13. Arrays.copyOf()方法详解-jdk1.8
  14. Java内存管理及GC算法
  15. 原生javascript的树形插件tree.js(纯原生js,无需引用其他js)
  16. simulink-EtherCAT工具箱常用模块的简要介绍
  17. 南邮 | 算法分析与设计实验三:回溯法
  18. java字符串长度_Java字符串长
  19. 魔兽世界怀旧服服务器显示地图,魔兽世界怀旧服:1-60级地图任务路线大全,快来拿走收藏!部落篇...
  20. vue 创建桌面应用

热门文章

  1. php去下划线,html怎么去除字体下划线?去除字体下划线方法
  2. Actor 分布式并行计算模型: The Actor Model for Concurrent Computation
  3. SYD8811 内存和代码的分布
  4. 基础练习16-分解质因数
  5. 被取代的ERP?EBC正在用业务数字化让管理出效益
  6. 【摘】WebGIS开发从入门到......
  7. MT40A1G16KH-062E AIT内存MT40A1G16KH-062E AUT
  8. 车内看车头正不正技巧_科目二考试最实用技巧!
  9. 使用HTML5和CSS制作抖音首页
  10. 【找规律】codeforces 710 F