目录
本篇文章通过实验来详解OSPF的几类LSA
实验拓扑如下
各类LSA
首先在R6上进行重发布,即将外部路由(EIGRP)引入进OSPF域内
Subents:将主网与子网全部通告
在R6上将EIGRP的路由条目以重发布的方式发送到OSPF中
普通区域
五类LSA
重发布后,R6上出现了5类LSA
详细查看5类LSA的7.7.7.0网段
类型2的种子度量值默认为20 ,并且在路由传递时不发生变化
R1上查看,可见没有发生变化
如果在重发布时将类型改为1
可见,此时的类型为1
进入R1查看,R6引入的外部路由的AD值发生了变化
64+1+64+20=149
解释:
64是串线的metric值,1是以太网的metric,20是环回的metric
在R3上也能收到5类的LSA,但是他要找到96.1.1.1 才能接收到7.7.7.0网段
如何找到96.1.1.1?
根据四类LSA来找到产生五类LSA的ASBR路由器,从而找到5类LSA的路由网络号
四类LSA
由重发布的区域area3中的R5(ABR)来告诉其他区域 重发布的路由条目信息,即高速其他区域R6的位置,此时在R5上产生4类LSA
在R1上查看,O IA属于三类LSA(接收到了与自己不在一个区域的路由条目);
O E2 属于五类LSA(通过重发布的方式,将其他的路由协议宣告到OSPF中)
特殊区域
stub区域
目的:限制LSA(减少LSA的数量)
Stub :末节区域,在OSPF某个区域中,拒绝4、5类LSA,可能造成与外网无法通信,在stub区域所在ABR上自动产生一条3类缺省LSA,保证通信。
将area1 区域设置成stub区域,为了保证能够通信,将自动产生一条3类缺省的LSA
64+1=65
totally stub区域
totally stub(完全末梢区域):在末梢区域的基础上,进一步拒绝3的lsa,仅保留一条3类的缺省;配置:先将该区域配置为末梢区域,然后仅在ABR上定义完全即可
由于有缺省路由,则不需要3类LSA在stub的基础上,进一步过滤3类的LSA
在R1上查看,只存在3类的LSA汇总
R1的路由表只有指向R2的缺省(3类LSA缺省)
NSSA区域
nssa(非完全末梢区域):该区域拒绝其他区域的ASBR产生的4/5LSA;本地区域内ASBR产生的5类LSA,以7类在本区域传播,从本区域进入骨干区域时由ABR(新的ASBR)转换为5类;同时自动产生一条7的缺省指向骨干区域(华为设备产生缺省,cisco设备不产生)
此图中,如果想将area3做成stub区域,但是此区域又要重发布其他的路由协议,即 就是nssa
R6上查看
FA规则
FA规则:若LSA中存在FA地址,则路由递归通信包括metric的计算,都是计算到达FA地址的。(当LSA中包含了FA地址,则4类LSA失效)
1、 5类LSA不一定存在FA地址(7转5的LSA存在FA地址),7类LSA一定存在
2、5类,若重发布产生5类LSA时,原路由对应的出接口OSPF网络类型为MA类型,则FA地址为原路由的下一跳地址; 若是7转5的5类LSA,默认一定携带FA地址
3、7类LSA中的FA规则,若原路由出接口没有运行OSPF,则FA地址为重发布路由器上的环回接口地址(a.最大的通告进入OSPF环回接口地址或者 b.最后通告进入OSPF的环回接口地址 c.若没有环回则使用物理接口,使用相同规则);若原路由出接口运行了OSPF(a.接口网络类型为P-P,FA为出接口地址 b.网络类型为MA,则FA地址为下一跳地址)
由于7类LSA的路由不能传输给其他的区域(包括其他的nssa)
所以在R5上产生了7转5类LSA,即NSSA中的区域边界ABR(R5)将7转成5类
R5上查看,出现了7类的LSA,出现了5类的LSA
验证这个5类的LSA就是7类转换而来的,查看R5上的7.7.7.0 发现FA相同
R5在转发时,携带FA地址,其4类LSA将失去作用
R5上,学到的nssa区域的类型1的metric值为以下情况
分析
通常情况下:
5类LSA:
R5到R6 64
产生者(R6)20
相加为84
现在是7类中携带了FA的种子度量值1 相加为85
如果重发布为类型2的话,则度量值一直是默认的20,即如果不更改类型的话,默认就是2类的,即O N2
验证存在FA地址时,4类起不起作用?
如果没有FA的话,即过滤FA地址,则首先查找4类LSA,找到ASBR
比如,R3上有4类LSA,但是它用的是FA地址
先找到6.6.6.6 而不是先找95.1.1.1
验证1(根据mertic):
首先将引入类型改成1类的,即计算沿途累加的,便于观察验证
按照FA地址计算metric值:
R3到R5 + R5的R6 + R6到环回6.6.6.6
即1+64+21(FA中的20+R6到环回的1)=86
按照4类LSA计算metric值:
R3到R5 + R5到R6 + R6引入的外部路由
即1+64+20=85
可见,利用的是FA地址的
验证2(路由过滤):
在R5上过滤掉6.6.6.0,即如果是7/5类FA加表的话,就要找到6.6.6.0 但是,现在被过滤了,则不能根据FA加表,若4类LSA有用的话,是有7.7.7.0的路由条目的。
可见,是没有路由条目的。
验证的结论:
若LSA中存在FA地址,则路由递归通信包括metric的计算,都是计算到达FA地址的。(当LSA中包含了FA地址,则4类LSA失效)
totally nssa
totally nssa(完全的非完全末梢区域):在NSSA的基础上,进一步拒绝3的LSA;生成一条3类缺省指向骨干区域;
先将该区域配置为NSSA区域,然后仅在ABR上定义完全即可
产生:
NSSA区域的ABR没有与某一个区域相连接的话,就不能学习到那个区域的路由条目,比如area1区域
1.在NSSA的基础上,过滤3类LSA,自动产生3类LSA缺省
可见,3类LSA中有缺省的路由条目
2.手动产生汇总
注意:此缺省不产生7/5
此时,nssa区域的R6上既有3类缺省又有7类缺省,三类的缺省更优,即三类的LSA加表
FA规则:
重发布时,如果是非PTP(点对点)就一定产生FA地址(源路由的下一跳地址)
如果重发布到nssa区域就一定产生FA地址(多个环回中选一个较大的,某些IOS选最后一个通告的环回;无环回的话就选物理接口最大的)
不支持7/5:
7类LSA引入的路由器里既存在NSSA又有非存在NSSA区域,此时产生的LSA,继会进入NSSA又会进入非NSSA