OSPF域外路由计算

论坛 期权论坛 期权     
字无二捺   2019-7-14 03:58   3034   0
了解域外路由计算就需要先了解一下4类、5类LSA
五类:(AS-External-LSA  )自治系统外部信息。
五类通告的是整个AS自治系统。
通过Link stat id来通告路由。
四类(ASBR-Summary-LSA):由ABR用来通告ASBR的为存在(位置)。
因为其他区域的路由器只知道本区域内的设备,不知道区域外的路由设备。不知道ASBR(为什么不知道?因为一类和二类只通告区域内的链路状态,三类是通告区域间的路由,并不通告链路状态,所以,其他设备不知道ASBR的位置)
因为四类是用来通告ASBR,通告的是路由器,(三类是用来通告路由)
所以: Link stat id 是所通告的路由器的routerid(ASBR的routerid)。因为通告的是routerid,所以没有掩码字段,有开销

操作一下:
将rip网段的路由进入到PSPF中,


引入完成之后咱们看一下详细信息:


E TYPE(External type)
外部路由度量类型
Forwarding address
转发地址
TAG
标签
其中:
Matric type有两种类型 1、2
如果为2,则只计算外部度量(外部度量默认为1),5类matric度量为外部度量  ,五类默认类型为2,matric默认为1
如果是1,本地到ASBR的度量加上外部度量

根据更改类型,影响路由的选路
做个试验:





咱们将优先级更改一,将引入的地方的两处开销改为相同的,


因为事先展示的数据太多,贴不开,我就直接说结论了。
1:在默认情况下:引入的默认类型为不变(默认为2,只比外部路由,)外部cost值一致的时候,路由会选择g/0/1,
2:如果OSPF区域内的cost值保持相同,会形成负载均衡。

原因:华为的特性:当外部路由类型为2的时候,如果不一致,选外部比较的,如果一直,则会比较内部比较小的。
3:如果换成思科或者锐捷的设备, 只比外部的,会形成负载均衡状态


Forwarding address
转发地址

数据在转发的时候会有优先查看转发地址
如果数据转发地址是0.0.0.0,就认为通过四类得到的ASBR是离开AS(OSPF·)的最优路由器。
如果不是0.0.0.0,则转发地址就是最优出口。
1:



如上图,将rip直接加入进area2,如果R1要访问R5,路线会走R5,然后到达AR5,
原因:首先因为按照这个拓扑,Forwarding address 为R5的接口地址,因为不是0.0.0.0,所以会将该数据直接发给转发地址。

2:



如上图:将rip引入进OSPF,AR1如果访问AR5,会经过ASBR(AR4),传送给AR5。
原因:因为是引入路由,产生的五类LSA中的Forwarding address为0.0.0.0,当数据访问的时候,查看转发地址,发现为0.0.0.0,则直接发送给通告5类LSA的路由器(如果不是NSSA区域,则直接给ASBR)。


特殊区域


为什么要有特殊区域?
骨干区域的设备要好于非骨干区域,路由条目多,非骨干区域设备要比骨干区域的设备查=差,并不能完全或者很吃力的成熟来自骨干区域的路由条目,这种情况下,将非骨干区域不接受5类LSA,直接一条缺省指出,将会大大节省非骨干区域的设备资源
特点:
1:减少非骨干区域数据库的大小,
2:保持非骨干区域的稳定性
默认情况下hello报文里,options选项里Externa字段为1,表示可以处理外部路由
因为在数据传输的过程中,区域内的设备都要将数据都要发送给ABR,有3、4、5要发送给ABR,没有也是要发给ABR,减少这些数据之后,可以减少路由器的压力
Stub net(末节区域)
Stub net区域内的设备都要配置,因为OPTION 选项字段不一致,邻居建立不起来,所以都要配置

特点:可以过滤四类和五类LSA。
配置了stub区域之后,路由条目条目中没有的五类和四类的路由信息,但是会产生一条三类的link stae ID为0.0.0.0的缺省路由。
Totally  stub(完全末节区域,)在stub的基础上,只在ABR上配置,在 区域 stub no-summary。
特点:过滤3、4、5、类LSA
有二类三类和一个缺省,

NSSA:(次末节区域)

因为不接受来自骨干网络的5类LSA,但是连接自己的5类LSA却要发送出去,因为要实现通信,所以自己5类LSA是要让骨干学习到的,所以,

七类LSA
特点:只在NSSA区域内传递
方式:图中AR22(ASBR)产生的是7类LSA,然后数据经过图中的AR15(ABR)会将7类转化为5类LSA,传递给汇聚层。要求:要想使得区域内建立邻居,option选项字段里的NSSA位要置位,(建立邻居的前提)
也有一条缺省
传递:在传送的过程中,AR22产生,产生一条七类的LSA,到达AR15之后,这个ABR会将这个7类的LSA转化为5类的LSA,所以,如果在AR14查看,会有两个了linkstateid,其中其中一个是AR22产生,AGE时间较老,另外一个就是AR15产生,age较新,
那么数据该如何返回呢?
返回时,数据会根据Forwardingaddress  寻址去往该地址的最优路径,经过查询,会一次经过R20、AR15,并且最终到达AR22。因为AR15与AR22是一个NSSA区域,上面有去往AR22的路由,所以数据会到达AR22。然后到达AR24。
因为七类的LSA默认的Forwarding address  不是0,所以会发送给转发地址,也就是说会发送给AR22(会选择到达转发地址的最优路径)
注意:但是NSSA,并不过滤三类的LSA,那应该怎么办?这时候就要用到完全stub(完全末节区域,)在NSSA基础上,配置no-summary 。
那么应该在哪里配置呢?
不想接受哪个区域的3类LSA就在哪个ABR上配置,


考虑了很久,决定不再写网络方面的了。开始写一下java方面的,也算是自己对自己的一种激励吧。

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:
帖子:
精华:
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP