对于filter-policy import 命令释义如下:


由于OSPF是基于链路状态的动态路由协议,路由信息隐藏在链路状态中,所以不能使用filter-policy import命令对发布和接收的LSA进行过滤。


filter-policy import命令是对OSPF计算出来的路由进行过滤,只有通过过滤的路由才被添加到路由表中,没有通过过滤的路由不会被添加进OSPF路由表,但不影响对外发布出去。


情况1:在同一个区域下的路由器上应用此命令(如果需要更直观,可以在DR上使用此命令,DR发送LSA更新),只能过滤掉路由,lsa正常传送。这里就不做详细说明。


情况2:如下图,


wKiom1bVSOySdAeeAAC0PbIEQL8702.jpg


    在AR3上的环回口1.1.1.1会在AR1上形成3类LSA,在AR2的OSPF视图下使用filter-policy import过滤掉1.1.1.1。按照理解,1.1.1.1的路由路由会消失,但是AR1和AR2的LSDB里面应该还有LSA。

    但是实际情况1.1.1.1的LSA都不见了。

    这是为什么呢?

    其实原因很简单:filter-policy import抑制ospf路由计算,而type3 是通过1类计算产生的路由再封装来的,既然没得具体路由,就无法生成3类LSA了,因果关系为type1——路由——type3。


说到这里,其实所有的过滤都可以终结为下图:

wKioL1bxC8-By0DBAAKFaVEEJ_E246.jpg

  

 所以:

     1.作用于  路由表--->LSDB  的过滤,是不能过滤掉其他邻居发过来的LSA。其他邻居的lsa不是自己路由表生成的。   自己引入外部路由生成7类或者5类,设备上的域间路由准备生成3类,都可以通过这种方式过滤。

     2.作用于   LSDB--->路由表 ,可以过滤LSA计算出来的路由,所以filter-policy import没有让ABR生成域间路由,所以自然不能生成3类LSA了。