OSPF数据库、Hello包解析

 OSPF数据库浅析

如图,在网络中启用OSPF,AR2、AR5为ABR,所有路由器对应接口宣告到对应区域。

R1将Loopback 0 的IP地址宣告到OSPF进程中

R6上引入静态路由,AR6的g0/0/0设置为静默接口:

        静默接口:当OSPF路由器的一个接口,没有连接OSPF邻居,我们可以使用静默接口的配置 比如:OSPF路由器的接口连接交换机,交换机连接PC机 启用静默接口后,该接口不再收发OSPF协议的报文

R6:
[AR6]ip route-static 10.10.7.7 32 192.168.67.7
[AR6-ospf-1]dis this
[V200R003C00]
#
ospf 1 router-id 6.6.6.6 
 import-route static
 silent-interface GigabitEthernet0/0/0
 area 0.0.0.56 
  network 192.168.56.0 0.0.0.255 
  network 192.168.67.0 0.0.0.255 

R7:
[AR7]ip route-static 192.168.0.0 16 192.168.67.6
[AR7]int g0/0/01
[AR7-GigabitEthernet0/0/1]ip add 192.168.67.7 24
[AR7-LoopBack0]ip add 10.10.7.7 32

在R1上查看OSPF数据库

<AR1>dis ospf lsdb 
	 OSPF Process 1 with Router ID 1.1.1.1
		 Link State Database 
		         Area: 0.0.0.12
 Type      LinkState ID    AdvRouter          Age  Len   Sequence   Metric
 Router    2.2.2.2         2.2.2.2            340  36    80000006       1
 Router    1.1.1.1         1.1.1.1           1124  48    80000007       1
 Network   192.168.12.1    1.1.1.1            333  32    80000004       0
 Sum-Net   192.168.67.0    2.2.2.2            210  28    80000001       5
 Sum-Net   192.168.45.0    2.2.2.2           1759  28    80000002       3
 Sum-Net   192.168.23.0    2.2.2.2            309  28    80000003       1
 Sum-Net   192.168.56.0    2.2.2.2           1620  28    80000002       4
 Sum-Net   192.168.34.0    2.2.2.2             51  28    80000003       2
 Sum-Asbr  6.6.6.6         2.2.2.2             61  28    80000001       4

		 AS External Database
 Type      LinkState ID    AdvRouter          Age  Len   Sequence   Metric
 External  10.10.7.7       6.6.6.6             65  36    80000001       1

【LSA】在OSPF网络中,路由器之间并不直接传递路由,而是传递LSA(Link State Advertisement 链路状态通告)LSA被包含在OSPF协议的报文中,路由器通过收到的LSA,去独立的计算路由,计算路由的规则是相同的。

  1. 【Type  】
    1. [ Router——1类LSA ]在一个OSPF区域,进行自我介绍的 即:一台路由器,在同一个OSPF进程中,不同接口同时连接不同的区域,则,该路由器在每个区域都会产生一个1类LSA
    2. [ Network——2类LSA ] 每个广播或者非广播的网络类型的网段中,都会产生一个DR 而2类LSA就是用来表示DR的
    3. [ Sum-Net——3类LSA ] 表示的是OSPF域间路由  举例: R1-R2-R3这样的直线拓扑中,R2是ABR R2会将R2-R3区域的路由以3类LSA的形式发给R1
    4. [ Sum-Asbr——4类LSA ] 是ABR产生的,向本区域介绍其他区域的ASBR的LSA 举例: R1-R2-R3直线拓扑中,R2是ABR,R3是ASBR 此时,R2会产生一个4类LSA,发给R1,向R1介绍ASBR-R3
    5. [ External——5类LSA ] 表示的是OSPF域外路由(也叫外部路由) 即:import-route成功引入的路由
    6. [ NSSA ——7类LSA]功能:在NSSA区域中,传递外部路由。传播范围: 在NSSA区域中传递。本例中将区域56设置为NSSA区域后,会在R5R6看到此类LSA

            在NSSA区域中会自动生成一条7类缺省路由指导NSSA区域访问外部路由
            而Totally NSSA中会自动产生3类和7类缺省路由,路由器默认使用3类缺省路由指导数据转发

  2. 【 LinkState ID 】 LSA的名字

  3. 【 AdvRouter 】 通告路由器(Advertisement Router) 就是,谁发的这条LSA

  • 默认路由(缺省路由)一定是静态路由吗?

    不一定 ip route-static 0.0.0.0 0 x.x.x.x 的确可以配置静态的默认路由 而在OSPF这种动态的路由协议中,也是可以生成默认路由的,而此时,默认路由也是动态的 比如:Stub区域中,ABR会向Stub区域的路由器泛洪一个表示默认路由的3类LSA 此时,Stub区域中的OSPF路由器就会形成OSPF的默认路由。

特殊区域:

  • Stub区域

    • 区域内不要5类LSA 因为不要5类LSA,所以不要4类LSA。此时,ABR会向Stub区域产生一个表示缺省路由的3类LSA

  • Totally Stub区域

    • 区域内不要5类LSA,所以不要4类LSA 同时,不要3类LSA此时,ABR会向Stub区域产生一个表示缺省路由的3类LSA

      扩展: Stub区域的优点: 节省系统资源、节省链路资源 提高了网络的稳定性(因为不受外部路由频繁Up/Down的影响)

  • NSSA区域 区域内不要5类LSA,所以不要4类LSA 但是,本区域,可以引入外部路由(import-route) 本区域引入的外部路由,以7类(NSSA)LSA表示

    此时,ABR会向NSSA区域,下发一个表示缺省路由(默认路由)的7类LSA(0.0.0.0)

  • Totally NSSA区域 区域内不要5类LSA,所以不要4类LSA 但是,本区域,可以引入外部路由(import-route) 同时,区域内不要3类LSA(域间路由用3类LSA表示)

    注意:此时,ABR会同时产生表示默认路由的3类LSA和7类LSA,区域内其他路由器,会根据3类LSA来计算默认路由(缺省路由) LSA优先级:1>3>5>7


OSPF的Hello包解析

  • 【 TTL 】 OSPF的Hello报文,IP头部的TTL值是1 ,OSPF不能跨跳建立邻居 举例: R1-R2-R3,这样的直线拓扑 R1想要给R3发Hello报文,报文经过R2的时候,TTL会减1,此时,报文被R2丢弃 所以,R1无法跨过R2,和R3建立邻居
  • Protocol 】 IP报文中的这个字段,叫做协议号,指的是,IP头部后面跟的是什么协议 不同的协议,通过不同的协议号表示 OSPF在IP报文中,协议号永远是89

  • 【 OSPF Version 】 指的是这台路由器上运行的OSPF协议的版本 版本2:IPv4版本的OSPF 版本3:IPv6版本的OSPF
  • 【 Message Type 】 消息类型 指的是OSPF头部后面跟着的OSPF报文,是哪种类型的报文 类型1就是Hello报文
  • 【 Packet Length 】 报文的长度
  • 【 Source OSPF Router 】 产生这个报文的OSPF路由器 所谓的OSPF路由器,就是运行了OSPF协议的路由器
  • 【 Area ID 】 发送这个OSPF报文的路由器的接口,所在的OSPF区域 之所以说是接口所在区域,是因为,路由器发包的时候,在OSPF报文前面封装了IP头部 而IP头部上面,标明了源IP地址,源IP地址,其实就是发送这个OSPF报文的接口IP地址
  • 【 Packet Checksum 】 校验和 用来校验报文是否正确
  • 【 Auth Type和Auth Data 】 关于OSPF认证的字段 Auth Type:是认证类型 Auth Data:是认证的密码(有明文或密文)

  •  【 Network Mask 】 指的是发送Hello报文这个接口IP地址的掩码
  • 【 Hello Interval 】 Hello时间 指的是,该接口发送Hello报文的时间间隔 默认情况下,路由器每10秒发送一个Hello报文
  • 【 Option 】 特殊标记位跟区域有关
  • 【 Router Priority 】 DR的优先级
  • 【 Router Dead Interval 】 死亡时间 指的是,我多长时间没有收到对方发来的Hello报文,我就认为对方挂了 默认情况下,死亡时间是40秒 注意:死亡时间是Hello时间的4倍
  • 【 DR 】
    • 所有的OSPF路由器都跟DR建立了FULL的邻接关系 即:所有的OSPF路由器都会和DR同步数据库,DR再将同步好的数据库发送给大家(发送的方式是:目的地址为224.0.0.5)
    • DR的作用 加快数据库同步

    • DR的选举原则
      【1】比较Hello报文中的Router Priority,默认是1,取值范围0-255,数值越大越好 【2】如果Router Priority相同,则比较router-id,越大越好

    • DR的优先级设置为0 意味着我这台OSPF路由器,这个接口,永远不参加OSPF的DR选举 即:DR优先级为0,不是优先级最低,而是不参选

    • DR的特点 稳定!不能抢占!
      在一个网段中,一旦选举出了DR,即使后续在该网段中,又出现了其他DR优先级更高的路由器,那么,DR的身份也不会被抢占 如果非要抢占DR的身份,我们需要重启网段内所有OSPF路由器的OSPF进程

  • 【 BDR 】DB的备用
    • DR挂了,BDR马上接替DR的工作
    • DR的选举过程
      最开始,先从网段内所有DR优先级非0的路由器中,选出一个BDR 此时,没有DR,所以,BDR马上立刻变成DR 然后,因为没有BDR,所以又开始选出一个BDR
    • BDR变成DR的过程
      DR的优先级,是藏在OSPF的Hlelo报文中的 而OSPF路由器的死亡时间默认是40秒 即:我连续40秒没有收到DR接口发送的OSPF Hello报文,我才认为DR挂了
    • 静默接口可以成为DR么? 可以,因为DR选举时,如果收不到对方的Hello报文,我会认为对方不敢跟我比,所以我这个接口就是DR
    • OSPF路由器连接PC机的接口可以成为DR么?
      可以,原因同上
  • 【 Avtice Neighbor 】 激活的邻居,其实就是我认可的邻居的router-id

 OSPF区域的Option位

  • E和NP 我们在OSPF的Hello报文中,可以看到Options(特殊标记位) 其中,E:代表这个路由器可以引入外部路由(import-route) NP:代表这个路由器在发送这个Hello报文的接口所在的区域,是NSSA区域
  • E=1,NP=0 表示这个区域是普通区域
  • E=0,NP=0 表示这个区域是Stub区域(Totally Stub也这样表示)
  • E=0,NP=1 表示这个区域是NSSA区域(Totally NSSA也这样表示)

OSPF中Network 和 Import-router的区别

  • 【 network 】 宣告:宣告OSPF路由器接口所在的直连网段
  • 【 import-route 】 引入:引入的是OSPF网络外部的路由
  • 【 区别 】 [ 用途 ] network可以精确的宣告一个路由(就是一个直连网段) import-route可以引入一类路由 比如:一台路由器上,有十条静态路由,此时,我们在这台路由器上面的OSPF进程中import-route static,就可以一次性的将这十条静态路由都引入到OSPF进程中
  • 【优先级 】 network的OSPF路由,优先级默认为10 import-route的外部路由,优先级默认为150

OSPF常用命令汇总

  • 查看接口配置过的命令
    display current-configuration interface GigabitEthernet 0/0/1
  • 查看配置过的关于OSPF的命令
    display current-configuration configuration ospf
  • 查看OSPF接口的信息
    display ospf interface
  • 查看OSPF邻居关系
    display ospf peer brief
  • 查看OSPF数据库
    display ospf lsdb
  • 查看IP路由表中,关于OSPF计算出的路由
    display ip routing-table protocol ospf
  • 更改区域类型的命令
    ospf x area x stub/nssa/stub no-summary/nssa no-summary
  • 更改OSPF接口的Hello/dead时间
    interface x/x/x ospf timer hello/dead x
  • 更改OSPF接口的网络类型
    interface x/x/x ospf network-type broadcast/nbma/p2p/p2mp
  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值