zoukankan      html  css  js  c++  java
  • 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;">





    附件列表

  • 相关阅读:
    Mac下mysql出现错误:ERROR 1055 (42000)
    单表查询
    外键的变种 三种关系
    Java8中Lambda表达式详解
    Java中的比较器Comparable、Comparator
    Java创建线程的方法
    java日期格式化
    Docker容器如何修改hosts
    使用postman可以正常访问,但是在应用中返回415状态码
    使用tcpdump进行抓包
  • 原文地址:https://www.cnblogs.com/xuxaut-558/p/11298229.html
Copyright © 2011-2022 走看看