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值都不同,分别是十、100、200,若是汇总成一条,这条汇总的Metric值怎么算?
华为汇总的路由Metric值,选 最大的一个链路信息的Metric值
思科中域间汇总路由的Metric值等于最小链路的Metric值加1
*******************************************************
路由过滤
27:49
OSPF的路由过滤:
一、针对LSA(ABR、ASBR)
二、针对路由(全部设备均可以)
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
一、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;">redis
附件列表