HCNP Routing&Switching之OSPF特殊区域
前文我们了解了OSPF LSA更新规则以及路由汇总相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15231880.html;今天我们来聊一聊OSPF的特殊区域相关话题;
OSPF的特殊区域,主要目的是屏蔽相关LSA,从而到达精简LSDB数据库和路由条目的目的;它和路由汇总都是优化技术,但和路由汇总又有差别,路由汇总是将多个子网合并成一个子网,但本质上该有的3类、4类、5类LSA也会有;对于ospf特殊区域来讲,它主要是屏蔽3、4、5类LSA,通过一条缺省路由来实现和区域间或外部网络通信;
如上图所示,全网分为4个部分,分别是区域1,区域0,区域2和外部网络;对于ospf各区域来说,主要分传输区域和末端区域;所谓传输区域就是骨干区域,它除了承载本区域发起的流量和访问本域的流量外,还承载了源ip和目标IP不属于本区域的流量;末端区域是指,只承担本区域发起的流量和访问本区域的流量;对于末端区域来说,它去访问外部网络或者访问非本区域的其他区域网络,它的流量都会经过abr;即访问外部网络和区域间的网络流量路径只有一条;此时我们应该考虑末端区域是否有保存达到其他区域明细路由的必要性,同时考虑末端区域设备性能;即如何精简LSDB数据库、路由表条目,从而实现提高路由器性能;我们知道ospf的路由,是通过收集网络中大量的LSA计算出来的;大量的LSA会占用LSDB存储空间;所以为了优化,在不影响正常路由的情况下减少LSA数量,从而减少LSDB存储空间,提高路由器的性能;
Stub区域
提示:Stub区域的ABR不向stub区域内传播它接受到的外部路由,即屏蔽4类、5类LSA,stub区域中路由器的LSDB、路由表规模都会大大减小;为了保证stub区域能够和外部网络通信,stub区域的abr将生成一条缺省路由(对应3类LSA),并发布给stub区域中的其他路由;此时stub区域中的路由器到达外部网络或非本区域其他区域网络,都会通过这条默认的缺省路由,进行数据的转发;stub区域是一种可选的配置属性,但并不建议将每个区域都配置成stub区域;通常情况stub区域位于自制系统的末梢,是那些只有一个abr的非骨干区域;
配置stub区域需注意事项
1、骨干区域不能配置为stub区域;
2、如果要将一个区域配置成stub区域,则该区域中的所有路由器必须都要配置成stub路由;
3、stub区域不能存在ASBR,因为外部路由在stub区域不能传播(stub屏蔽了4类和5类LSA);
4、stub区域不能配置虚连接;即虚连接不能在stub区域建立;
实验:如下拓扑,配置ospf
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.1 0.0.0.0
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 0
net 23.0.0.2 0.0.0.0
area 1
net 12.0.0.2 0.0.0.0
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.3 0.0.0.0
area 2
net 34.0.0.3 0.0.0.0
R4的配置


sys
sys R4
int g0/0/0
ip add 34.0.0.4 24
int lo 1
ip add 1.1.1.1 32
int lo 2
ip add 2.2.2.2 32
int lo 3
ip add 3.3.3.3 32
int lo 4
ip add 4.4.4.4 32
ospf 1 router-id 4.4.4.4
area 2
net 34.0.0.4 0.0.0.0
q
import-route dir
在未配置stub区域,查看R1ospf lsdb和路由表
提示:在未配置stub区域时,对应区域中路由器的ospf lsdb数据库和路由表条目较多;
在R1的ospf 区域1中配置stub区域
提示:可以看到我们在R1的区域1上配置stub区域以后,对应邻居就down掉了;这其实是因为R1和R2发送的hello包中的options字段信息不一致导致的;
在R2的ospf区域1中配置stub区域
提示:可以看到在R2上ospf 区域1上配置stub区域以后,对应ospf邻居就建立起来;因为R1和R2在同一个区域中都配置了stub区域,所以hello包里的options字段信息一致,所以邻居就建立起来了;
验证:在R1上查看ospf lsdb数据库和路由表,看看有什么变化?
提示:可以看到在R1上对应ospf lsdb中原有的4类、5类LSA没有了,对应多了一条三类缺省LSA;路由表中原来外部网络的明细路由也随之被删除,多了一条缺省路由;
总结:stub区域屏蔽4类和5类LSA,区域内不能有ASBR,不能是区域0,不能有虚连接;stub区域中ABR路由器回向该区域发送一条3类缺省路由;
Totally Stub区域
提示:Totally stub区域除了不能传播4类、5类LSA之外,它还不允许3类LSA在本区域内传播(除abr产生的默认三类LSA路由);即完全末梢区域屏蔽了3类(除ABR产生的默认三类LSA路由)、4类、5类LSA;完全末梢区域内的路由器通过abr产生的默认三类LSA路由,和非本区域、外部网络进行通信;
实验:配置上述拓扑,区域1为完全末梢区域(Totally Stub)
在R2(abr)上更改stub为totally stub
提示:配置完全末梢区域,只需要在abr上配置为stub no-summary,其他路由器上配置stub即可;
验证:在R1上查看ospf lsdb和路由表,看看有什么变化?
提示:可以看到R1的ospf lsdb中除了一条三类默认路由LSA外,其余明细的三类LSA也没了;对应路由表中区域间的路由也没有了;
总结:完全末梢区域,屏蔽了3类(除abr产生的默认路由的三类LSA)、4类、5类LSA,该区域内的路由器访问外部网络和区域间网络,通过默认路由实现;它和stub区域的区域区别是stub没有屏蔽三类LSA,而totally stub屏蔽了三类LSA;
虽然stub、totally stub解决了末端区域维护过大LSDB带来的问题,但对于某些特定场景,stub 、totally stub并不是最佳解决方案;
stub区域、totally stub区域存在的问题
提示:如上拓扑,对于RTD来说,因为区域1配置了stub或totally stub,导致区域1里无法传播4类和5类LSA;这意味着RTD无法引入外部路由;此时只能由RTA引入外部路由;这样一来RTD访问外部网络就走默认路由,RTD-->RTB-->RTA--外部网络;很明显这是一条次优路径;对于这种既需要引入外部路由有要避免外部路由带来的资源消耗的场景,stub/totally stub区域就不能满足需求了;
NSSA区域和Totally NSSA区域
提示:NSSA/Totally NSSA区域有stub/totally stub区域的所有特性,它既能屏蔽3类、4类、5类LSA;同时也能引入外部路由,允许存在ASBR;我们知道外部路由引入就会产生5类LSA,但NSSA/totally NSSA区域规定不允许存在5类LSA;为了能够引入外部路由的同时屏蔽4、5类LSA;在NSSA/totally NSSA区域对应外部路由就不再由5类LSA进行传播,而是把原有的5类LSA用7类LSA的格式进行发送;7类LSA是为了支持NSSA区域而新增的一种LSA类型,主要用于描述NSSA区域引入外部路由信息;我们可以理解为它和原有5类LSA作用一样,专用于NSSA区域的引入外部路由;7类LSA有NSSA区域的ASBR产生,其传播范围仅限于ASBR所在的NSSA区域;缺省路由也通过7类LSA来产生,用于指导流量流向其他区域;NSSA区域的ABR收到7类LSA是,会有选择地将其转换为5类LSA,这样做的主要目的是为了让外部其他路由器能够通过OSPF学习到NSSA区域导入的外部路由;对应5类LSA在向其他区域传播时,和NSSA区域ABR所在区域的ABR同时会生成4类LSA,目的是找到NSSA区域的abr(此时对于RTC来说,它会把RTB当作ASBR,因为RTB发送5类LSA);
实验:配置上述实验拓扑区域1为NSSA区域
在R1上创建lo1接口,其ip地址为5.5.5.5 32来模拟外部网络
在R1上删除原有stub配置
在R2上删除原有stub配置
在R1上ospf区域1配置NSSA区域
在R2上ospf区域1里配置NSSA区域
在R1上引入直连路由
验证:查看R1的ospf lsdb数据库和路由表
提示:可以看到R1的ospf lsdb中多了三条7类的LSA,有前两条7类LSA是导入直连路由时产生的,最后一条是abr(R2)产生的默认路由,其目的是告诉NSSA区域其他路由器和外部网络通信默认流量走向;
验证:在区域2里查看对应路由器是否学习到5.5.5.5的路由?
提示:对于区域2里的R4来说,它学习到的5.5.5.5路由是外部路由,其宣告者是R2;这意味着R2发送的是5类LSA;
总结:NSSA区域屏蔽了4类、5类LSA,同时允许有ASBR,允许引入外部路由(打破了末梢区域的规则),因此为了传递外部路由,该区域使用7类LSA代替5类LSA,到其他正常区域再转换成5类LSA;配置NSSA区域ABR会产生一条7类缺省路由,其目的是告诉NSSA区域的路由器去往其他外部网络的默认路由;
Totally NSSA区域配置
提示:配置完全NSSA区域和配置完全stub区域一样,都是在abr上追加no-summary参数;
验证:查看R1的ospf LSDB,看看有什么不同?
提示:可以看到在NSSA的abr上追加no-summary参数以后,对应NSSA区域的路由器ospf lsdb数据库中三类LSA也被屏蔽掉了(除abr产生的一条三类LSA默认路由);
总结:Totally NSSA区域不允许三、四、五类LSA在本区域泛洪;配置完全NSSA区域后,对应abr会自动产生一条三类默认路由;完全NSSA区域和NSSA区域的区别在于,NSSA区域不屏蔽三类LSA,完全NSSA区域屏蔽三类LSA;
HCNP Routing&Switching之OSPF特殊区域的更多相关文章
- HCNP Routing&Switching之OSPF LSA更新规则和路由汇总
前文我们了解了OSPF外部路由类型以及forwarding address字段的作用,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15225673.html: ...
- HCNP Routing&Switching之OSPF虚连接
前文我们了解了OSPF的网络类型.帧中继交换机映射以及路由器帧中继映射相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15195762.html:今天我 ...
- HCNP Routing&Switching之OSPF LSA类型
前文我们了解了OSPF中的虚连接相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15202348.html:今天我们来聊一聊OSPF数据包中LSA类型相 ...
- HCNP Routing&Switching之OSPF LSA类型(二)
前文我们了解了OSPF的一类.二类.三类LSA,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15209829.html:今天我们来聊一聊OSPF的四类和五类L ...
- HCNP Routing&Switching之OSPF外部路由类型以及forwarding address
前文我们了解了OSPF的4类.5类LSA,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15222969.html:今天我们来聊一聊外部路由类型和forward ...
- HCNP Routing&Switching之OSPF网络类型
前文我们了解了PPPoE协议相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15182512.html:今天我们聊聊一聊OSPF中的网络类型相关话题: ...
- HCNA Routing&Switching之OSPF度量值和基础配置命令总结
前文我们了解了OSPF的网络类型,OSPF中的DR和BDR的选举规则.作用等相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15054938.html: ...
- HCNP Routing&Switching之动态路由协议IS-IS基础
前文我们了解了OSPF的特殊区域相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15236330.html:今天我们来聊一聊另一动态路由协议IS-IS相 ...
- HCNP Routing&Switching之路由过滤工具Filter-Policy
前文我们了解了路由控制技术中路由策略和路由匹配工具IP-Prefix相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15314262.html:今天我们 ...
随机推荐
- 构建后端第5篇之---Idea 查看继承 实现关系图
first question: how to show a class children class : move mousrmark to class name , Ctrl + H how t ...
- 手撸一个SpringBoot-Starter
1. 简介 通过了解SpringBoot的原理后,我们可以手撸一个spring-boot-starter来加深理解. 1.1 什么是starter spring官网解释 starters是一组方便的依 ...
- 巧用map解决nginx的Location里if失效问题
需求: Nginx根据参数来输出不同的header 我们想用Nginx来判断一些通用的参数, 根据参数情况在输出中不同的header, 或者cookie, 那么根据正常思路, 有如下配置: locat ...
- [考试总结]noip模拟33
连炸两场... 伤心... 第一个题目首先因为有期望坐镇,然后跳过... 然后第二个题目发现题目挺绕的,然后转化了一句话题意,然后..... \(\huge{\text{转化错了!!!!}}\) 然而 ...
- Vue Router根据后台数据加载不同的组件(思考->实现->不止于实现)
实际项目中遇到的需求 同一个链接需要加载不同的页面组件.根据用户所购买服务的不同,有不同的页面展现. 有一些不好的实现方式 直接把这几个组件写在同一个组件下,通过v-if去判断.如果这么做的话,甚至可 ...
- NDIS LWF:NdisFSendNetBufferLists蓝屏(DRIVER_IRQL_NOT_EQUAL_OR_LESS)
调用NdisFSendNetBufferLists发送自定义数据包后蓝屏,蓝屏代码为DRIVER_IRQL_NOT_EQUAL_OR_LESS,如果创建的NBL都没问题,一定要确保该自定义的NBL要在 ...
- C函数调用(2)
1 //函数调用 2 3 #include <stdio.h> 4 #include <stdlib.h> 5 #include <math.h> 6 //根据传入 ...
- HCNA Routing&Switching之STP选举规则
前文我们了解了二层环路对网络带来的影响,以及STP工作流程和BPDU数据包结构和相关字段的说明,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15121317. ...
- Python函数调用中的值传递和引用传递问题
这一问题O' Reilly出版的"Learning Python" 2nd Edition的 13.4 节有专门论述,对于不可变(immutabe)对象,函数参数(这里是x和y)只 ...
- 【死磕 Java 基础】 — 自己动手实现一个 LRU
大家好,我是大明哥,一个专注于[死磕 Java]系列创作的男人 个人网站:https://www.cmsblogs.com/.专注于 Java 优质系列文章分享,提供一站式 Java 学习资料 LRU ...