OSPF 详细总结。陆续更新

2 篇文章 0 订阅

 OSPF
1. 什么是OSPF

  OSPF(开放式最短路径优先)是一个基于链路状态进行路由计算的动态路由协议,主要用于大中型网络。

 


2. OSPF的特点
 

不仅可以在一台路由器上运行多种OSPF路由进程,还可以把一个AS(自治系统)划分成多个不通的Area(区域),然后基于路由器的位置和功能划分多种不同的OSPF路由器类型和OSPF路由类型,同时支持不同类型的网络的连接。
但ospf 是一种IGP(内部网关协议)类型动态路由协议, 所以ospf路由也只用于同一个AS内部

OSPF是通过LSA(链路状态通告)报文进行路由信息交互,通过五种报文(hello,dd,lsr,lsu,lsack)五种报文进行邻居和邻接关系的建立以及同一区域内部各路由器间的LSDB(链路状态数据库)信息的同步,最终形成统一的区域内部拓扑数据库

以上内容 提到了几个关键字(红色标注)

 

3. 几个重要的概念

要了解OSPF ,那么就得首先了解OSPF的几个重要的概念

 1. 自治系统(AS)

 2. 路由器类型

 3. 路由类型

要说明的是   一台运行OSPF 协议的路由器中每个OSPF进程必须指定一个用于标识本地路由器的Router ID (路由器ID)   Router ID 是一个32比特 无符号整数   在一个AS中 每个Router ID必须唯一  但是同一个路由器的不同进程中的路由器ID可以相同

 

AS 自治域系统   

AS自治域系统  也就是通常说的  路由域   是由运行同一种路由协议并且被同一个组织机构管理的一组路由器组成。 同一个AS中的路由器必须运行相同的路由协议,且必须彼此相互连接(中间不能被其他路由域所间断),分配相同的AS号

在OSPF网络中,只有在同一AS中的路由器才会相互交换链路状态信息,在同一个AS中,所有的OSPF路由器都维护同一个AS结构的描述(就是AS中各区域间的连接关系数据库)

该数据库中存放的是路由域中相应链路的状态信息,然后 OSPF 通过这个数据库计算出其OSPF路由表。

 

Area (区域) 

Area 区域 是OSPF的一个非常重要的特征  就是在一个AS内部划分多个不同位置,或者不同角色的一组路由器单元 , 每个OSPF路由器都只能在所属的区域内部进行学习到完整的链路状态信息。

如果不划分区域,整个OSPF网络中的所有设备都要学习彼此的OSPF路由信息 ,最终所生成的路由信息数据库非常庞大。

在OSPF中  除了普通区域以外,还有多种不同的特殊区域

如 骨干区域,(固定未Area0) Stub(末梢)区域,totally stub 区域(完全末梢区域),NSS(非纯末梢区域)和totally nssa 完全非纯末梢区域。

 

路由器类型

 

OSPF把一个AS划分成多了区域,这就使得OSPF网络中不同路由器的角色可能会有所不同,根据路由器在AS中的不同位置  可以分为一下四类

1. 区域内路由器 IR: 该类设备的所有接口都在同一个OSPF区域内

2. 区域边界路由器ABR:该类设备接口可以分别属不同区域,但其中一个接口必须连接骨干区域   ABR 用来连接骨干区域和非骨干区域  它与骨干区域之间的连接  既可以是物理连接  也可以是  逻辑上的虚连接

3. 骨干路由器  BR  该类设备至少有一个接口属于骨干区域,所有的ABR和位于骨干路由器的内部设备都是骨干路由器。

4. 自治边界路由器  ASBR  :只要一台OSPF设备引入了外部路由他就是ASBR。  与其他AS中的设备交换路由信息的设备叫做ASBR  虽然ASBR通常是位于AS的边界 但也可是区域内的设备,也可以是ABR。

路由类型

 

划分区域的目的就是减少LSA的数量,减少路由器上依据LSA形成的路由数量 。 在OSPF中 把路由分为一下四类

 

1. 区域内路由  :  仅用于区域内IR路由器之间的路由  用于IR设备的互联 ,不向外通告。

2. 区域间路由: 仅用于区域间的ABR之间的路由,用于骨干区域与其他区域相通告路由信息

3. 第一外部路由  Type 1 External    : 这是经由ASBR映入的外部路由,且通常是IGP类型。 它们的开销计算方法与OSPF的开销计算方法具有可比性。可信度高。  到第一类外部路由的开销= 本设备到相应的ASBR的开销+ASBR到该路由目的地址的开销。

4. 第二类外部路由 Type 2 External :这也是经由ASBR引入的外部路由,且通常是EGP类型的外部路由。可信度较低 即 到第二类外部路由的开销+ASBR到该路由目的地址的开销。

 

OSPF是一种典型的链路状态路由协议类型  默认情况下  采用OSPF 的每个路由器通过向邻居路由器 发送LSA 链路状态通告 来实现彼此交换并保存整个网络的链路状态信息。 从而掌握全网的拓扑结构。并独立计算路由。

 

划分区域后OSPF 路由器收集其说在网络区域上的各个路由器的链路状态信息 并生成链路状态数据库 LSDB  然后 OSPF 路由器根据自己的LSDB  用SPF算法(最短路径优先)独立算出到达任意目的地的路由。

 

因为在OSPF网络中对各OSPF路由器其用途做了分类。所以不同类型的OSPF路由器所发送的LSA 的用途可以通告的范围不相同 OSPF将LSA分为以下几类。

 

Type 1 LSA   路由器LSA (Router lsa)

每个OSPF路由器都会产生一类LSA  路由器lsa  描述了对应物理设备接口所连接的链路或接口,指明了各链路状态,开销等参数

 

执行了  dis ospf lsdb router 命令来查看路由器的一类lsa


     OSPF Process 1 with Router ID 1.1.1.1
                 Area: 0.0.0.0
         Link State Database 


  Type      : Router                ## 类型 router  一类lsa
  Ls id     : 2.2.2.2                 ## lsa id  2.2.2.2 lsa的名称
  Adv rtr   : 2.2.2.2                ## 由 Rid 为 2.2.2.2 的路由器发出
  Ls age    : 45                      ## LSA以及产生了45S
  Len       : 36                        ##LSA的大小是36bit
  Options   :  E                      ## 可选项为E 
  seq#      : 80000003           ##序列号为 80000003
  chksum    : 0x93a4             ##校验和为0x93a4
  Link count: 1                       ##连接数量为1 
   * Link ID: 1.1.1.1                ##  连接名称 1.1.1.1 (连接设备的RID)   
     Data   : 1.1.1.2                  ## 用于描述自身到达伪结点出接口的IP地址     
     Link Type: TransNet          ## 用于描述直连链路上网络类型为广播和NBMA的邻居    
     Metric : 1                           ##开销值

在一类LSA中通过四种link-type来描述直连的链路状态信息

第一种

 

link-type :StubNet    ## 用来描述直连的网络号

link-id : 用来描述直连接口的网络前缀

data:用于描述直连的网络掩码

metric:用于描述自身到达当前网络的cost

 

第二种

link-type : P-2-P    ##用于描述直连链路上网络类型为P2P和P2MP的邻居

link- id : 用于描述P2P网络上的邻居的RID

data: 用于描述自身去往P2P邻居的出口IP地址

Metric:用于描述自身去往P2P邻居的出口cost

 

第三种

link-type : Transit   ## 用于描述直连链路上网络类型为广播和NBMA的邻居

link-id: 用于描述伪节点的Router ID 使用DR的接口地址充当

data : 用于描述自身到达伪节点出接口的IP地址

Metric :用于描述自身到达伪节点的cost

 

第四种

link-type: V-link  ##用于描述虚链路上的邻居

link-id : 用于描述虚链路上的邻居的Router-ID

DATA: 用于描述去往虚链路邻居的出接口的IP地址

Metric:用于描述自身到达虚链路邻居的Cost
 

Type2 LSA : 网络LSA(NETWORK LSA)

网络LSA由DR(指定路由器)或者BDR(备份路由器)产生,描述了DR和BDR所在网段的链路状态,也仅在所属区域内传播。因为DR和BDR仅在广播类型中存在,所以网络LSA也仅在广播类型网络中存在。

Type      : Network              ##用于描述二类LSA
  Ls id     : 2.2.2.3                ##DR的接口IP地址
  Adv rtr   : 3.3.3.3                ##产生此Network-LSA的路由器Router ID,即DR的Router ID
  Ls age    : 681 
  Len       : 32 
  Options   :  E  
  seq#      : 80000005 
  chksum    : 0x51df
  Net mask  : 255.255.255.0                ##该网段的网络掩码
  Priority  : Low
     Attached Router    3.3.3.3               ##连接到该网段的路由器列表,呈现了此网段的拓扑信息
     Attached Router    1.1.1.1

 

 

Type3 LSA :网络聚合LSA (Network LSA)

网络聚合LSA由ABR产生,描述所连接的谋个区域内某个网段的聚合路由(包括缺省路由),并通告非 totally stub 或 nssa 区域   意思就是 三类LSA是把区域内的1,2类LSA进行汇总 通过ABR向外发送。

为啥要排除Totally stub 和nssa区域呢?  因为这两个区域拒绝三类lsa

Type      : Sum-Net                 ## 描述这是三类LSA
  Ls id     : 3.3.3.0                   ## 目的网段的地址
  Adv rtr   : 3.3.3.3                   ##产生此类三类LSA的Router ID
  Ls age    : 177 
  Len       : 28 
  Options   :  E  
  seq#      : 80000001 
  chksum    : 0xae98
  Net mask  : 255.255.255.0  ## 网络掩码
  Tos 0  metric: 1                   ##  ABR到达目的网段的开销值
  Priority  : Low                  

 

Type4 LSA  :ASBR 聚合LSA (ASBR summary LSA)

ASBR聚合LSA 也由ABR产生,描述从该ABR到达OSPF 路由域中各个ASBR的路由,通告给整个区域。但仅仅可以向普通区域内泛洪。不能进入Stub区域,totally stub区域  NSSA区域 和totally nssa区域.

Type      : Sum-Asbr                    ##LSA类型
  Ls id     : 5.5.5.5                        ##产生ASBR的RID
  Adv rtr   : 3.3.3.3                       ##产生此四类LSA ABR的RID
  Ls age    : 355 
  Len       : 28 
  Options   :  E  
  seq#      : 80000001 
  chksum    : 0x300a
  Tos 0  metric: 2                         ##从ABR到达此ASBR的开销

四类LSA只能在一个区域内泛洪,五类LSA每泛洪到一个区域,相应区域的ABR都会生成一条新的四类LSA来描述如何到达ASBR。

因此描述到达同一个ASBR的四类LSA可以有多条,其Adv rtr是不同的,表示是由不同的ABR生成的。

 

Type5 LSA 自治系统外部LSA  External  LSA

自治系统外部LSA由ASBR产生,描述到达AS外部的路由,也仅可向普通区域中泛洪,不能进入Stub区域,Totall Stub区域,NSSA区域  totally nssa区域。

查看五类LSA命令是   : display ospf lsdb ase self-originate

Type      : External                             ##LSA类型为五类LSA
  Ls id     : 100.50.50.0                      ## 目的网段的地址
  Adv rtr   : 5.5.5.5                             ##产生此五类LSA     ASBR的Router ID
  Ls age    : 1004 
  Len       : 36 
  Options   :  E  
  seq#      : 80000001 
  chksum    : 0x492b
  Net mask  : 255.255.255.0             ##目的网段的网络掩码
  TOS 0  Metric: 1                             ##ASBR到达目的网络的开销值
  E type    : 1
  Forwarding Address : 0.0.0.0 
  Tag       : 1 
  Priority  : Low

 

Type 7 LSA  NSSA外部LSA   NSSA Extmal LSA

NSSA外部LSA也由ABR产生,内容几乎和Type5 LSA是相同的,但它专用于NSSA区域和Totally NSSA区域连接的ASBR向NSSA区域内部泛洪外部 AS的路由 然后经过NSSA区域ABR 上,转成Type5 LSA向OSPF 路由域内其他区域中传播。也就是   七类LSA只能在ASBR的域内泛洪无法出去,要出去只能通过ABR将 七类LSA转为五类LSA 向外传递

-----------------------------2021年3月22日-----------------------------------------------------------------------------

[*SwitchD-ospf-1] import-route static type 1    引入静态路由 类型为一类

[R1-ospf-1-area-0.0.0.123]nssa no-summary   当前区域设置为  totally nssa 区域

Type      : NSSA                             ##类型为七类LSA NSSA LSA
  Ls id     : 192.168.10.0                 ##LSA名称
  Adv rtr   : 3.3.3.3                          ##产生这条LSA的路由器
  Ls age    : 27 
  Len       : 36 
  Options   :  NP  
  seq#      : 80000001 
  chksum    : 0xc7d3
  Net mask  : 255.255.255.0         ##地址掩码
  TOS 0  Metric: 1                         ##cost
  E type    : 1                                 ##外部路由属性为一类LSA
  Forwarding Address : 10.10.23.3 ## FA地址,别的路由器要找这条外部路的话由直接找这个地址。
  Tag       : 1 
  Priority  : Low

至此 每个LSA详细信息已经完毕,但是还有些信息没有具体说明,等后面更新会持续说明

 

谈谈这些LSA 平时工作中用的方法以及注意事项

在OSPF中 主要用到的就是1-5,7类LSA 这六种LSA

1. 在区域内部各个路由器设备通过  一类LSA 来获取彼此的路由信息,实现相互路由通信。

2. 在广播网络类型中,区域内非DR,非BDR路由器与DR,BDR路由器之间是通过二类LSA 来获取路由信息。 实现非DR,非BDR 路由器与DR,BDR路由器之间的路由通信;

3. 各非DR,非BDR路由器之间不相互获取路由信息,需全部通过DR或者BDR,以及该区域的ABR与其他区域进行通讯。

4. 在不同区域之间,通过各自区域的ABR以三类LSA 向内,外发布本区域和外部区域各网段的聚合路由信息  实现不同区域的路由器之间的路由通信

5. 在区域内部路由器与外部AS之间,先通过各区域的ABR以四类LSA 向内发布到达ABSR的聚合路由信息实现与ASBR的路由通信,然后通过对应ASBR向普通ASBR向普通区域内部发布的五类LSA或者向NSSA区域和Totally NSSA 区域发布的七类LSA 实现与外部AS的路由器通信

再来谈一谈OSPF的特殊区域

OSPF 特殊区域  

骨干区域

Stub(末梢)区域

Totally Stub 完全末梢区域

NSSA区域 非纯末梢区域

Totally NSSA 完全非纯末梢区域

 

骨干区域

骨干区域是普通区域的一种特殊区域,它的区域号 固定为0.0.0.0 

骨干区域是连续的,或者通过“虚连接” Virtual Link“ 连接两个或多个分离的骨干区域,但这些分离的骨干区域和区域号一样 均为 ”0“   同时  要求其他区域必须与骨干区域直接连接,或者通过虚链路连接。

骨干区域作为区域间通信传输和分布路由的信息中心,在一个OSPF路由器中,无论有没有划分区域,总是至少有一个骨干区域,区域间的通信首先要被路由到骨干区域

,然后年后再到目的区域。最后被路由到目的区域中的主机。、

在骨干区域中的路由器(都是ABR)通告它们所连接的区域内的汇总路由到骨干区域中的其他路由器中,这些汇总通告在骨干区域内路由器传播,使得在骨干区域内部每台路由器都有一个到达所连接的其他区域的ABR的可用路由表

Stub区域

Stub区域是一种专门为那些性能较低的路由器组成,与AS外部没有太多路由通信的AS边缘区域简化域内部路由器上的路由表而采取的一种优化措施。

只有处于AS边缘,且只有一个连接其他区域的ABR,没有ABR  ,没有虚连接穿越的非骨干区域才可以配置为Stub 区域,因为只有这样才能尽可能地减少区域内部路由器的路由表项数量。

在Stub 区域 是通过禁止与AS外部路由相关的四五类lsa 通过  ABR进入区域内泛洪来实现的,仅允许同一AS中其他区域的三类LSA 通过ABR进入泛洪,这样一来,Stub区域只有1,2类LSA和3类LSA的存在。没有四五类LSA更没有七类LSA

阻止了AS外部的4,5类LSA也会带来一个问题。那就是Stub区域内的路由器不知道外部路由的信息。不能与外部进行通信。

于是新增了一种办法。就是由Stub'区域的ABR向本区域内指一条默认的路由 0.0.0.0 使Stub的ABR成为区域内部路由器与外部AS的唯一出口

注意的是   同一stub区域内的所有路由器都得知道自己在stub区域

Totally stub区域

这个区域和stub区域大致一样。也是为了哪些性能较低的边缘录取设计的。只有处于AS边缘,且只有一个连接其他区域的ABR ,没有ASBR 没有虚连接穿越的非骨干路由区域才可以配置Totally stub

不允许 3,4,5 类LSA 进入该区域泛洪。这样一来区域内只有1,2类LSA。 同样,要解决这个区域无法跟外界取得联系的问题,也会通过ABR默认泛洪一条路由 0.0.0.0指向自己

NSSA区域

Stub区域写的有点死,所以 推出了NSSA区域,并且 作为OSPF 协议的一种扩展属性单独存在RFC1587中描述

NSSA区域可以位于非边缘区域,可以由多个ABR,可以有多个ASBR  。

允许直接连接的ASBR 上引入AS外部路由以七类LSA 进入NSSA区域中泛洪。然后再ABR上转换成五类LSA 以自己的身份发布到区域之外,七类LSA只能被NSSA区域识别。

允许3类LSA进入泛洪,不郧西其他区域中的四类,五类 lsa 进入NSSA区域泛洪。

 

 

 

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

涂样涂森炮

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值