ospf详解及LSA的作用

OSPF: open shortest path first
-概述:
OSPF(开放式的最短路径优先协议)是一个公有标准协议;
任何厂商的设备都可以支持;
该协议只能在 公司内部 使用,属于“内部网关协议”;
该协议在在不同的路由器之间传递的是“链路状态信息”
所以,称之为“链路状态 路由协议”。
该协议的报文封装在 IP 头部后面,属于 OSI 模型第三层
该协议在IP报文中的协议号为 89
该协议报文的发送方式是:组播
组播地址为:
224.0.0.5 , 表示所有的OSPF路由器
例如,Hello报文的目标地址
224.0.0.6 , 表示所有的DR和BDR设备
例如:DD报文的目标IP地址

-作用:
在路由器之间动态的学习路由条目,实现路由的传输和管理;

-原理/工作过程:
1.建立邻居表
2.同步数据库
3.计算路由表

-报文类型:
1.hello:用于邻居的建立、维护和拆除;
2.DD: database description ,数据库 描述报文;描述数据库信息,确定主从关系
3.LSR:link state request ,链路状态请求;
4.LSU:link state update ,链路状态更新;
5.LSAck:link state Ack ,链路状态确认;

Hello interval : 10s
               为了维持已经建立的 OSPF 邻居关系,
			   邻居设备之间都要周期性的发送hello包,
			   默认周期是 10s;
Dead interval : 40s
               如果在40s内没有收到邻居设备发送过来的
			   hello包,则断开这个邻居关系。

总结:
   hello 仅仅与邻居相关 ;
   后续的4个报文,与 OSPF 的数据库的同步过程相关;

DR/BDR : 指定路由器/备份的指定路由器

   当一个网段中,存在多个路由器的时候,

   为了能够让数据库的同步过程更加的稳定、可靠,
   我们可以在多个路由器中选举出一个“指定的路由器”,
   这样一来的话,
   该网段中的所有路由,都仅仅与“指定的路由器”
   进行数据库的同步;
   不过,
   为了“指定路由器”的稳定性,我们可以再选举一个
   “备份的指定路由器”。
   这样一来,
   该网段中的每个路由器可以同时与“指定路由器”和
   “备份指定路由器”,进行数据库的同步。

   此时,那些既不是 指定路由器,也不是备份的指定路由器
   的设备,我们称之为  DRother 。


   总结:
       所有路由器都和 DR/BDR 建立邻接关系
	   DRother 之间永远处于 Two-way状态(双向通信状态)
	   DR/BDR 具有稳定性,即一旦确定,就无法更改,
	     除非重启路由器或者重启 OSPF 协议;

       DR/BDR 的作用:
	       当一个网段中存在多个路由器的时候,实现
		   数据库的稳定和高效的同步;

	   DR/BDR 的选举原则:

           1.首先比较优先级,数值越大越好;默认是1;
           2.如果优先级相同,比较 router-id
             越大越好;
           注意:
              优先级为0的设备,永远称之为 DRother
              没有资格参与 DR/BDR 的竞选。

       什么时候进行DR/BDR的选举?
            @当一个网段中存在多个设备的时候;

       什么情况下 OSPF 认为一个网段中存在多个设备?
            @OSPF 是基于OSPF接口的网络类型来决定的
            @常见的 OSPF 网络类型有以下4种:
               1.广播     ---需要选举DR/BDR  自动创建邻居   10s~40s
               2.非广播   ---需要选举DR/BDR  手动创建邻居   30s~120s
               3.点到点   ---不需要选举DR/BDR    手动指定邻居  10s~40s
               4.点到多点 ---不需要选举DR/BDR   手动指定邻居  30s~120s

DR/DBR小练习:

查看并确认 R1-R2 之间,每个设备的接口状态:DR/BDR

display ospf interface gi0/0/x

 - state :
 - priority : 1

将 R1-R2 之间的 BDR 的优先级,修改为 110 ,确保该设备
变成 DR 。

 interface gi0/0/x -> BDR的接口
    ospf dr-priority 110
	quit

<Rx> reset ospf process
                  【Y/N】: Y

查看 OSPF 邻居表:

display ospf peer brief

@ ospf porcess : OSPF 进程号,默认是1,取值为 1-65535
在同一个设备上区分不同的 OSPF 协议;
@ router-id : 在 OSPF 网络中,唯一的标识一个路由器;
确认方式;
1.手动指定(常用方法)
2.自动选举
#首先选用IP地址大的 Loopback 接口;
#其次选用IP地址大的 物理接口 ;

手动指定 router-id 的命令:

    [R1]ospf 2  router-id  1.1.1.1
	[R1]quit
	<R1>reset  ospf  process           //重启 OSPF 协议
	                      [Y/N]:Y

init初始化状态
toway 双向通信状态
exstart交换初始化
exchang 开始交换
loading 加载中
full完全邻接状态
down 挂掉

OSPF 的工作原理:

1.建立邻居表
2.同步数据库
3.计算路由表

OSPF 报文:
1.hello
2.DD
3.LSR
4.LSU
5.LSAck


ABR:
区域 边界路由器
-定义
同时连接 0 区域和 非0 区域的设备;
ASBR:
自治系统 边界路由器
-定义
拥有 产生OSPF外部路由能力 的路由器

确定 OSPF 路由器身份的命令:

1.display ospf brief --> Border Router :
2.display ospf lsdb router x.x.x.x ->查看自己产生的
1类LSA ;

========================================================

1.介绍 OSPF 数据库
@里面包含的是链路状态信息
(LSA-link state advertisement)
@数据库条目的组织形式是按照 区域 进行组织;

同一个区域的所有路由器的数据库条目是完全一致;
@LSA的结构:
-type : 类型 (1/2/3/4/5/7)
-LinkState ID:LSA 的名字 (LSA类型不同,名字不同)
-AdvRouter:advertise router ,通告路由器;
表示的是产生这个 LSA 的那个路由器的名字;
-Age : 存活时间,表示的是一个LSA的最大有效时间。
最大有效时间是:3600s;
-Sequence:序列号,表示的是一个 LSA 的新旧程度;
序列号越大,表示越新;

2.分析 OSPF 数据库条目 信息 – LSA (链路状态通告)

1类LSA:router
作用:
用于说明自己本身哪些链路启用了OSPF,以及
这些链路的情况:地址/掩码/cost;
type: router
link-state-id: 每个路由器的 router-id ;
Advrouter : 每个路由器的 router-id ;
特点:
1.每个OSPF路由器,在每个互联的区域中,都会产生1个;
2.该类型LSA,只能在一个区域内部传输
3.该类型LSA区域内传输时,是没有任何变化的;

分解实验:
1.建立R1-R2之间的邻居,属于区域12;
2.修改R1-R2的网络类型:
interface gi0/0/x
ospf network-type p2p

3.在R1查看 OSPF 数据库:
display ospf lsdb
4.在R1分别查看 R1 和 R2 产生的1类LSA的详细信息:

  display ospf lsdb  router  1.1.1.1

display ospf lsdb router 2.2.2.2

2类LSA: network
作用:
由 DR 产生,用于告知该网段中有哪些邻居路由器;
type: network
link-state-id: DR的接口IP地址;
Advrouter : DR 的 router-id
特点:
1.只能由 DR 产生;
2.该类型LSA,只能在一个区域内部传输

验证命令:
查看2类LSA的详细信息:
display ospf lsdb network x.x.x.x // LSA的名字;


3类LSA:Sum-net
作用:
在不同区域之间传递路由;
type: Sum-net
link-state-id: 不同区域之间的网段
Advrouter : ABR的 router-id
特点:
1.只能由 DR 产生;
2.该类型LSA,只能在一个区域内部传输
3.该类型LSA区域内传输时,是没有任何变化的;
但是,
如果在传输过程中,经过了另外一个 ABR ,
那么,
这个 LSA 的 Advrouter 就会变成所经过的这个 ABR 的
router-id ;

区域0 :
3类, 192.168.1.0 , 2.2.2.2
区域56:
3类, 192.168.1.0 , 5.5.5.5

display ospf lsdb summary 192.168.1.0

display ospf lsdb summary 192.168.2.0

display ip routing-table protocol ospf


4类LSA:Sum-Asbr
作用:
用于传输 产生5类LSA的那个ASBR 的router-id ;
type: Sum-Asbr
link-state-id : ASBR 的 router-id
AdvRouter :与ASBR在同一个区域的 ABR 的router-id ;
特点:
1.与ASBR在同一个区域的 的 ABR 产生的;
2.该类型LSA,只能在一个区域内部传输;
3.该类型LSA区域内传输时,是没有任何变化的;
但是,
如果在传输过程中,经过了另外一个 ABR ,
那么,
这个 LSA 的 Advrouter 就会变成所经过的这个 ABR 的
router-id ;
4.该类型的LSA主要是与5类LSA配合使用,用于计算OSPF的
外部路由;

5类LSA:External (外部)
作用:
表示 OSPF 的外部路由;
type: external
link-state-id : 外部路由的网段
advRouter : ASBR 的 router-id
特点:
1.只能由 ASBR 产生;
2.该类型的 LSA 可以在整个 OSPF 网络中传输,
没有任何的区域概念;

例如:
1.在 R1 上创建静态路由
ip route-static 100.1.1.0 24 null 0
2.在 R1 上将静态路由,引入到 OSPF 协议;
ospf 1
import-route static //
将路由表中的静态路由都引入OSPF协议

3.在 其他路由器上查看 R1 产生的 5类 LSA

     display  ospf  lsdb

display ospf lsdb ase 100.1.1.0


7类LSA:NSSA (外部)
作用:
在 OSPF 特殊区域中,表示 OSPF 的外部路由;
type: nssa
link-state-id : 外部路由的网段
advRouter : ASBR 的 router-id
特点:
1.只能由 特殊区域中的 ASBR 产生;
2.该类型的 LSA 只能在特殊区域内部传输;

   
3.引入 OSPF 特殊区域 

    为了将非 OSPF 路由,引入到OSPF 网络,所以我们使用了
 “路由重分发/路由重发布/路由导入” 技术。
 通过这种方式引入的 OSPF 路由,是以5类LSA表示的。
 
 所以,
    当外部非常不稳定的时候,表示这个外部路由的
    5类LSA就非常的不稳定,
    又因为5类LSA在传输的时候,是没有区域概念的,
    所以, 
    这种不稳定的5类LSA,会影响整个 OSPF 网络的稳定性;
    
 为了,
    让某些特定的区域,不要受到外部链路的影响,
    我们可以将这些区域配置为“特殊区域”,
    即,
    这种“特殊区域”,是不允许接收5类LSA/4类LSA ; 

特殊区域的类型: 

    -stub区域 
     @要1/2/3 
  @不要4/5 
  @ABR会自动产生一个表示默认路由的3类LSA;
     @配置: 
     在 stub 区域的所有路由器上,都得配置: 
         ospf  1 
         area  12 
         stub    
 -totally stub 区域 
     @要1/2/ 
  @不要3/4/5
  @ABR会自动产生一个表示默认路由的3类LSA;
     @配置: 
     仅在 stub 区域 ABR 上,配置: 
         ospf  1 
         area  12 
         stub  no-summary 
  
 -NSSA (not so stub area )
     @要1/2/3/7
  @不要4/5 
  @ABR会自动产生一个表示默认路由的 7 类LSA; 
     @配置: 
     在NSSA区域的所有路由器上,都得配置: 
         ospf  1 
         area  56 
         nssa 
  
 -totally NSSA  
     @要1/2/7
  @不要3/4/5 
  @ABR会自动产生一个表示默认路由的 7 类LSA;
         和表示默认路由的 3 类 LSA   
     @配置: 
     在NSSA区域的 ABR上,配置: 
         ospf  1 
         area  56 
         nssa no-summary
      
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

OSPF 路由类型: 
    - 内部路由
       @ 通过 network 方式宣告的路由;
    (network命令只能宣告 “直连网段” )
    
    @1类LSA - 区域内部的路由;i
    @3类LSA - 区域之间的路由;
    
    
    
 - 外部路由
       @ 通过 import-route 方式宣告的路由;
    (import-route 命令后面跟的是“非直连网段” )

          @5类LSA - 表示的是 OSPF 外部路由; 

发布了4 篇原创文章 · 获赞 7 · 访问量 146

猜你喜欢

转载自blog.csdn.net/qq_45811376/article/details/105691835