4.0【OSPF】NP十二班第六天OSPF其它LSA详解&域间汇总及过滤-2

OSPF其它LSA详解&域间汇总及过滤

域间汇总
在OSPF里面有两种角色可以做汇总:
1.ABR:可以生成3类,针对3类域间路由做汇总
2.ASBR:生成5类,可以对外部路由做汇总

【实验配置】2:20
在R1上创建lo0口宣告进OSPF,ABR会针对这条链路信息通告一个3类LSA
 
在R1上看这条链路是否被宣告进OSPF:
show  ip ospf database router self-originate
 
逻辑接口/物理接口但没有邻居关系,会被通告成stub network 末节网络
 
 
在lo 1口下配置的是24位掩码地址,宣告的时候宣告成32位了,这是为什么?
 因为网络类型为LOOPBACK,这个网络类型在RFC中没有定义过,RFC中只有5种网络类型,思科私有。OSPF里面会认为所有的LOOPBACK都是一个主机地址,通告的时候都通告成32位的主机地址。在华为里面没有LOOPBACK网络类型,在华为里面是点到点网络类型。
 
那如何去通告一个24位的路由?
更改网络类型,把LOOPBACK改成点到点或者广播网
 再去看router LSA,变成24位
 
默认是LOOPBACK的会宣告成32位的,会造成标签分错,需要改成正确的掩码

 
在ABR上针对lo0和lo1口的这两条路由做一个汇总,汇总成16位的
9:36
 
路由汇总
数路由的公共位就可以了,不一样的位置全部填充为0
 
在R2上做路由汇总
链路信息来自于区域0,需要针对区域0的链路信息做一个汇总,通告一个汇总的3类LSA,前缀 1.1.0.0   255.255.0.0
 
router ospf 1
area 0 range 1.1.0.0  255.255.0.0
 
R3上现在只变成一条路由,在OSPF上如果做了汇总会抑制明细路由;汇总以后只通告汇总路由而不通告明细路由
 
 
针对路由汇总做路由过滤
 在R3上面没有这条路由
 
LSA的删除
 在OSPF里面,如果想取消或者撤销掉这条LSA通告,把LSA时间加成3600然后删除(1类LSA除外),1类LSA只能通过序列号删除,只能由始发者操作
 
通过汇总命令行实现一个路由的过滤:
如果只针对一条明细做过滤,只想过滤1.1.1.1同时放行1.1.2.0?
area 0 range 1.1.1.1 255.255.255.255 not-advertise
 

将3条链路信息做个汇总,Metric值都不一样,分别是10、100、200,如果汇总成一条,这条汇总的Metric值怎么算?
 
华为汇总的路由Metric值,选 最大的一个链路信息的Metric值
 
思科中域间汇总路由的Metric值等于最小链路的Metric值加1
 
*******************************************************
路由过滤
27:49
OSPF的路由过滤:
1、针对LSA(ABR、ASBR)
2、针对路由(所有设备都可以)
ABR-3类LSA
ASBR-5类LSA
 
过滤可以在区域0里面做,也可以在区域1里做,方向不一样
针对1.1.1.1做一个过滤
 area 0 filter-list prefix    通过前缀列表匹配路由条目,前缀列表只能匹配路由不能匹配流量
分两段匹配:
1.先匹配前缀
2.再匹配掩码
 
ge-大于等于多少
le  -小于等于多少
 
 
ip prefix-list ccie permit 1.1.0.0/16 ge 32 le 32   //匹配32位路由
 查看:show ip prefix-list
 
 
在area 0里面,ABR汇总,汇总成3类LSA,针对区域0是出out方向,针对区域1是in方向
 
在区域0里面配置filter-list
area 0 filter-list prefix ccie out
 
查看前缀列表:
show ip prefix-list
 
 1.1.1.1的3类LSA没有
 
show  ip ospf database
 
1、ABR上使用filter-list过滤3类LSA, filter-list只能适用于ABR设备。
router ospf 1
 log-adjacency-changes
 area 1 filter-list prefix ccie in \filter-policy的方向区分:链路信息的来源区域属于OUT方向,而生成后的3类LSA的通告区域属于IN方向。
 

针对路由过滤 (分发列表)
 
通过分发列表来做过滤,分发列表是可以绑定多个工具的
 
 
R3上面有个1.1.2.0 ,过滤这条路由条目可以用分发列表
分发列表是针对于路由条目来做过滤的和LSA没关系
 
distribute是针对路由条目来做过滤的
OSPF是先收LSA,根据SPF算法计算最短路径计算路由,把路由放到RIB表里面。在加RIB表的时候执行了一次distribute-list,方向是依据路由表判断的。参考物是路由表
 
 加表-IN 方向(针对路由表来说是IN方向)
出路由表,重分发-OUT方向(ASBR的过滤)
 
通过分发列表可以在所有的OSPF设备上执行路由过滤,判断分发列表的使用方向需要参考路由表,如果是将路由条目放入到路由表,就是IN方向,如果是从路由表重分发到路由协议,就是OUT方向。
 
 
用ACL作过滤:
 
 //通过ACL匹配路由条目
access-list 1  deny   1.1.2.0   0.0.0.255
access-list  1 permit  any         //放行其他
 
//在进程下面调用distribute-list
router ospf 1
distribute-list 1 in  
 

 
R2上已经过滤了1.1.2.0的路由条目,R2是否还会向区域·1发送一条1.1.2.0的3类LSA?
本地已经做了路由过滤了,R2不会再通告3类LSA
 
如果在ABR上针对这条路由做了一个distribute-list路由过滤,在ABR的路由表里面是不存在这条路由条目的,由于ABR上不存在路由条目,这条路由就不应该生成3类LSA通告给区域1;区域1的所有路由器想到达域间路由的话,必须要走ABR,3类LSA通告者是ABR,需要先把这个报文交给ABR,ABR才能转发给目的地址;现在ABR都没有路由条目发3类LSA完全没有意义。
 
 
过滤的话,如果在3的话完全没有任何影响。
 
 
思考题是针对5类LSA
链路状态ID通告的是一条外部路由前缀:
如果在一台路由器上面配置两条静态路由,掩码不一样路由前缀是一样的。
1.1.1.0/30
1.1.1.0/24
把这两条路由条目全部重分发进OSPF,它会通告几条LSA? 2条5类LSA,链路状态ID是否是一样的?
由于头部是一样的,
 
把两条静态路由重分发进ospf:
router ospf 1
redistribute static subnets
 
 
 show ip ospf database
 Link ID不一样,Link ID在5类LSA中是用来通告路由前缀的,实际上不会将两条5类LSA的Link ID配置成一样的,对方收到LSA以后会比较头部信息,Link ID和ADV Router(通告路由器)都一样 ,对方会认为是一条,这样就有问题,重分发的时候1.1.1.0/30是用广播地址(1.1.1.3)作为前缀地址去通告的,由于头部是一样的没有办法去区分路由条目,需要这样去做一个区分
  
 开启0子网:ip subnet-zero   //0子网
no ip subnet-zero            //关闭0子网功能
   
 192.168.0.0/24
192.168.0.0/30
如果不携带掩码长度的话,192.168.0.0/30对方肯定会认为这是一个主类网段,会和192.168.0.0/24造成冲突,子网的0.0和主类的0.0不能区分开来;如果是192.168.0.4/30不会造成冲突;这时开启ip subnet-zero就可以应用0子网
 
子网掩码的最大长度:
广播网:30
串口  (点到点)   :31
 

<wiz_tmp_tag id="wiz-table-range-border" contenteditable="false" style="display: none;">





附件列表

原文地址:https://www.cnblogs.com/xuxaut-558/p/11298229.html