OSPF浅析

 一、预习:
         1、介绍:

        是一种基于接口的典型的链路状态路由协议,协议号89,把大型网络分隔为多个较小、可管理的单元:Area,管理距离110;OSPF基于IP,使用了LSAck包来保证包数据的可靠性;
            a.减少LSA泛洪范围,有效地把拓朴变化 控制在区域内,达到网络优化的目的
            b.在区域边界做路由汇总,减少了路由表
            c.充分利用ospf特殊区域的特性,进一步减少LSA泛洪,从而优化路由
            d.多区域提高了网络的扩展性,有利于组建大规模的网络

        2、定义了4种网络类型(接口视图下配置):

        P2P、Broadcast、NBMA、P2MP,(其中p2p、p2mp不用选举DR、BDR)

         3、5种包:

        Hello、DD、LSR、LSU、LSAck(对LSA的确认)

        4、7个状态:

        down、init、2-way、Exstart、Exchange、Loading、Full
        Attempt(一般称为7个状态,此第8种状态仅在 NBMA 网络类型下,单播建邻居时,用 peer 对端IP 的方式单播发 hello 后的状态)

        5、OSPF之间,两种稳定的关系:

        a. 邻居关系:DROther和DROther之间是邻居关系,状态停在2-way,它们之间只交换Hello包,不交换LSP报文,LSP报文只发给DR和BDR

        b. 邻接关系:相互交换LSA的OSPF邻居关系建立邻接关系:DR和BDR、BDR和DR、DROther建立邻接关系,状态FULL,既发Hello包又交换LSA报文

        6、6种区域:

        a. 骨干区域:连接其它ospf区域的中央区域,通用用Area 0表示

        b. 标准区域:通用区域,传输区域内、区域间路由和外部路由

        c. Stub区域:拒绝4、5类路由,即外部路由消失,且ABR产生一条3类LSA默认路由;条件:area 0 不能配成stub区域;stub不允许有ASBR存在;stub不能允许有虚链路;stub无4类、5类lsa存在;stub区域的ABR会下发给stub区域一条去往其他区域的3类默认路由)

        d. Totally Stub区域:拒绝3、4、5类路由,即仅剩域内路由,且ABR自动下发一条3类LSA默认路由

        e. NSSA:拒绝4、5类LSA,即无外部路由,ABR产生一条7类默认路由(条件:area0不能配置成nssa;需要在区域内所有区域接口上配置;不允许虚链路)

        f. Totally NSSA:拒绝3、4、5类LSA,引入7类LSA

        7、LSA类型:

        a. 1类:Router,每个设备都会产生,是始发路由器产生的 lsa,LinkState-ID 和 发布者 ADV 都是自己的路由ID,只有IP没有掩码,描述了设备的链路状态和开销,在所属区域内传播。内容中的 link-type 分为 stubnet、p2p、transnet、virtual;scope是区域内传播

        b. 2类:Network,由 DR 产生(所以仅在选举 DR BDR 的 MA 和 NBMA 中产生),是 DR 的接口地址,描述的是本网段的链路状态,LinkState-ID 是 DR 的接口地址,ADV 是DR 的 route-id,有 IP 和掩码;scope 是区域内传播

        c. 3类:Network-Sumary,由ABR产生,把收到的同区域一类和二类LSA,和其它ABR传来的三类LSA(Advertising Router改为自己)的路由汇总起来,然后在ospf区域内传播

        d. 4类:是由ASBR区域的ABR生成的,用于描述ABR能够到达的ASBR的路由信息,Link ID 为目的ASBR的RID;ASBR路由在经过ABR时,ADV路由ID会改变为ABR的路由ID,通告给除ASBR所在区域的其他相关区域(dis ospf lsdb asbr)

        e. 5类:AS-External,由ASBR产生,用于描述到ospf AS外的目标网段信息,Link ID是域外目标前缀,一条域外路由对应一条五类LSA,通告者的路由信息在传递过程不变,通告到所有区域,五类LSA不允许进入stub、nssa区域(dis ospf lsdb ase)

        f. 7类:NSSA,由ASBR产生,描述到AS外部的路由,仅在NSSA区域内传播,在NSSA中ASBR针对外部网络产生类似于Type5的LSA,到达ABR的时候,nssr ABR 将7类转换为5类的外部路由传给area0区域(若有多个ABR,则由RID大的负责转换)(dis ospf lsdb nssa)

        分别显示1\2\3\4\5\7类型路由:dis ospf lsdb router|network|summary|asbr|ase|nasa

        8、ase外部路由类型:

        type1:内部开销+外部开销
        type2:外部开销
        E1优于E2

        9、组播地址:

        OSPF的两个组播地址:224.0.0.5、224.0.0.6;5是通用的,所有启用OSPF的设备都监听这个地址,用这个地址收发Hello包;6是仅DR和BDR、和DROthers发送LSU报文给DR、BDR的目的地址,当DR收到此报文后,再将此LSA发给0.5的DROthers

        10、DR、BDR选举:

        a. 优先级大者优(0-255),默认1;0 不参加选举

        b. 再比较RouterID,大者优

        11、常用命令:

        dis ospf lsdb | router |network |summary | nssa | ase | asbr             查看lsdb数据库    
        dis ospf peer brief        查看邻接关系    
        dis ospf interface g0/0/0      验证接口角色DR/BDR/DRother、连接类型、cost 值、Hello|Dead 时间、mtu(默认华为不检查 mtu,cisco 检查mtu)...这里显示的是端口状态,而不是路由器状态 
        dis ospf vlink    查看虚链路信息
        dis ospf routing | dis ip routing-table protocol ospf    查看ospf路由        
        dis ospf abr-asbr        查看ABR和ASBR    
        dis ospf error        查看错误信息
        dis ospf lsdb router originate-router    查看lsdb中的路由来源
        network ip mask        区域视图下宣告IP地址|段    
        ospf enable area n        接口视图下开启ospf(同上条效果相同)    
        ospf network-type p2p|p2mp|broadcast|nbma    接口视图下,更改网络连接类型        
        ospf dr-priority 0-255    接口视图下,配置ospf优先级,0 为不参加选举        
        ospf network-type p2p|p2mp|broadcast|nbma|    接口视图下,更改网络类型        
        ospf cost <1-65535>        接口视图下,更改网络开销
        ospf filter-lsa-out all | acl xxx      接口视图下,过滤 lsa 报文
        reset ospf process        用户视图下,重启ospf进程    
        default-route-advertise allways    出口设备注入默认路由        
        peer ip                          ospf进程视图下,用单播建立邻居
        silent-interface G0/0/0  | all      ospf进程视图下,静默ospf(不收发 ospf 报文)
        filter-policy acl xxx import    ospf 进程视图下,根据 acl 表过滤相应的 lsa 报文
        import route direct | bgp | isis | rip | static | unr [cost <1-255> | route-policy <xxx> | tag <xxx>  | type <1|2>]    进程视图下,引入外部路由
        abr-summary ip mask    区域视图下,手工汇总某段路由            
        vlink-peer <router-id>    ospf区域下,建立虚链路
        vlink-peer ip                 区域视图下,配置对端虚链路IP,建立路由关系    
        default-cost <0-16777214>    区域视图下,配置默认cost值
        dis ip int brief                查看所有接口的IP地址    
        dis osfp routing route-id x    查看去往route-id的路由    

        dis ospf error | interface G0/0/0 | lsa | packet        #查看ospf错误信息

二、多区域ospf例子
     
   1、查看3类lsa:

        a、将区域2和区域0的设备打开,将区域2设置为stub区域,然后在R1上看可到三类的默认路由:

        * stub和totally stub的区别:stub和totally stub配置后,都可看到ABR下发了一条3类LSA,但totally stub配置后,仅剩区域内路由和一条默认路由了,ABR会连其他区域的3类路由都不传递到stub区域内了;totally stub配置方法为stub后面加 no-summary,仅需在ABR上配这个参数即可

     

          b、在R1上设置三个环回口,将区域2设置为totally stub,在R3上可看到3类lsa汇总路由,ADV都是BDR R2:

<R1>dis interface LoopBack | in 172
Internet Address is 172.1.1.1/24
Internet Address is 172.1.2.1/24
Internet Address is 172.1.3.1/24

<R1>dis current-configuration configuration ospf
[V200R003C00]
#
ospf 1 router-id 1.1.1.1 
 import-route direct
 area 0.0.0.2 
  network 0.0.0.0 255.255.255.255 
  stub
#
return

<R2>dis curr con ospf
[V200R003C00]
#
ospf 1 router-id 2.2.2.2 
 area 0.0.0.0 
  network 23.1.1.0 0.0.0.255 
 area 0.0.0.2 
  abr-summary 172.1.0.0 255.255.252.0
  network 10.1.1.0 0.0.0.255 
  stub 
#
return

        2、查看5类lsa:

        打开区域100的设备,配置IP61.1.1.6、环回口6.6.6.6,可在R3上看到5类lsa:

<R6>dis ip interface brief
*down: administratively down
^down: standby
(l): loopback
(s): spoofing
The number of interface that is UP in Physical is 3
The number of interface that is DOWN in Physical is 2
The number of interface that is UP in Protocol is 3
The number of interface that is DOWN in Protocol is 2

Interface                         IP Address/Mask      Physical   Protocol  
GigabitEthernet0/0/0              61.1.1.6/24          up         up        
GigabitEthernet0/0/1              unassigned           down       down      
GigabitEthernet0/0/2              unassigned           down       down      
LoopBack0                         6.6.6.6/32           up         up(s)     
NULL0                             unassigned           up         up(s)     
<R6>dis curr configuration ospf
[V200R003C00]
#
ospf 1 router-id 6.6.6.6 
 import-route direct
 area 0.0.0.100 
  network 0.0.0.0 255.255.255.255 
#
         3、查看4类lsa:

        R3和R1处于不同的区域,对于R3来说,R1是ASBR,需要通过ABR R2将5类的lsa 转为4类的lsa,将AVR变为ABR的Router ID,才能和asbr的R1通信:

        4、查看7类lsa:

        开启area1区域内的设备,配置为nssa,可在R3上看到7类lsa

三、外部路由过滤(3类、5类LSA过滤)

        两种方式:
        1、在接口方式下配置ospf filter-lsa-out ase aclnumber针对5类lsa进行过滤(acl写匹配)

        ospf filter-lsa-out|in all | ase | nssa | summery (所有lsa、3类、5类、7类)

        2、在ospf进程下使用filter-policy aclnumber export针对5类lsa进行过滤

area 10]filter n export | import
acl number 2001
 rule deny source 192.168.0.0 0.0.255.255
 rule permit any

        域内路由器可以在区域下,使用 filter-policy aclnumber import |export (加入路由表之前进行过滤),仅针对自己的入方向,如果在abr上做,则影响到相邻的区域,这时abr上会出现有lsa,但无路由传递的现象
        另外 ,abr、asbr上也可以用参数not-advertise进行汇总不通告,也可以形成5类lsa的过滤:

abr-summary ip mask not-advertise 
asbr-summary ip mask not-advertise
acl 2001 
 rule 5 permit source 6.0.0.0 0.255.255.255
#
route-policy abc permit  node 10
 if-match acl 2001
#
ospf 10 route-id 6.6.6.6
 import -route direct route-policy abc

        对于外部路由,也可以在区域引入时进行过滤:import-route direct route-policy acl

ospf 
 import-route isis 
 area 10
  filter-policy aclnumber export isis|direct|static
四、ospf路由控制:

        1、调整接口开销
        2、设置等价路由    maximum load-balance n    //配置ospf的路由条目值,默认开启,默认8条
        3、引入外部路由
        4、路由聚合
        5、缺少路由通告
        6、filter-policy
        7、对发送的lsa 进行过滤

五、ospf快速收敛概述:

        1、PRC(partial Route Calculation)部分路由计算;ospf只有一种prc:当网络上路由发生变化 的时候,只对发生变化的路由进行重新计算,prc不计算节点路径,而是根据spf算法算出spf来更新路由
        2、智能定时器作用:1、控制lsa的生成和接收;2、控制路由计算
        3、ip frr(fast reroute)快速重路由实现备份链路的快速切换,也可与bfd联动实现对故障的快速感知。ospf ip frr是动态ip frr,利用lfa(loop-free alternates)算法预先计算出备份路径,保存在转发表中,以备在故障发生时快速切换到备份链路中,保证流量不中断,从而达到流量保护的目的,该功能可将故障恢复时间降低到50ms以内。

        基本思路是:以可提供备份链路的邻居为根节点,利用spf算法计算出到目的节点的最短距离 。然后,按照不等式计算出开销最小且无环的备份链路

六、提个问题:如何让area 100的nssa区域的外部路由能和area0互访?

        答案:在ASBR的R1上引入默认路由,这样就能让R6上的外部路由可以访问区域0

[R1-ospf-1]dis this
[V200R003C00]
#
ospf 1 router-id 1.1.1.1 
 default-route-advertise always
 import-route direct
 area 0.0.0.2 
  network 0.0.0.0 255.255.255.255 
 area 0.0.0.100 
  abr-summary 172.1.0.0 255.255.252.0
  network 61.1.1.0 0.0.0.255 
  nssa
#
return

* ABR和ASBR的区别:ABR是区域边界路由器,ASBR是连接其它自治系统的边界路由器,一个路由器可以有同时有两种角色

* stub和nssa的区别,nssa外部可以引入外部路由,能看到明细路由,stub外部看不到明细路由;nssa下发7类,stub下发3类

* 华为 ma 网络默认不检查 mtu 值,不同则卡 exstart 或者 exchange 状态,但 cisco 默认要检查,所以不同的设备建邻居时,华为改时用ospf mut enable,同时配置 mtu 值 ;思科改时用 ip ospf mtu-ignore

* tips1:重启ospf进程方法1:在DR、BDR接口视图下,声明ospf dr-priority 0,不参与DR选举后,ospf进程重置,立刻生效;2、ospf端口关闭重启;3、用户视图下:reset ospf process    

* tips2:装HCL模拟器后,发现virtualbox版本高了,导致ensp里的设备无法启动,网上查了下,要下5.2.44版本可兼容两个模拟器:        https://download.virtualbox.org/virtualbox/5.2.44/VirtualBox-5.2.44-139111-Win.exe

  • 17
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值