学习笔记——OSPF

目录

一、LSDB

二、从LSDB到路由表

(一)过程说明

(二)举例

三、LSA

(一) LSA类型1

(二) LSA类型2

(三)LSA类型3

(四)LSA类型4

(五)LSA类型5

(六)LSA类型7

四、OSPF数据包

五、配置实例

(一)Rounter ID

(二)区域内网络汇总通告

(三)AS外部网络汇总通告

(四)特殊区域Stub

(五)虚连接

(六)基本情形

一、LSDB

AS不分区时,AS内每个路由器的LSDB(链路状态数据库)内容一致,AS内统一运行SPF算法,如下图示:

随着区域的引入,AS 中的所有路由器不再具有相同的LSDB。每个区域有自己的LSDB,路由器对于它所连接的每个区域都有一个单独的LSDB。各个区域独立运行SPF计算。如下图示:

二、从LSDB到路由表

(一)过程说明

LSDB中的各种LSA包含了AS范围内的路由器ID、IP地址、掩码、是否ABR,是否ASBR、度量值cost等信息,路由器根据这些信息构建有向图,有向图的顶点为网络或路由器,边为网络/路由器之间的连接,边上的权值为cost值。

路由器再基于有向图,用Dijkstra算法构建以自己为根的SPF树,再根据SPF树,得到OSPF路由条目表。

(二)举例

1、AS未配置区域情形

考虑图 2 中所示的自治系统。没有配置任何 OSPF 区域。

根据以上网络图2,生成下面的有向图,图表中数字是cost值。

当没有配置 OSPF 区域时,自治系统中的每个路由器都有一个相同的拓扑数据库,从而产生相同的图形表示。路由器通过计算以路由器本身为根的最短路径树,从而生成其路由表。显然,最短路径树取决于进行计算的路由器。

路由器 RT6 的最短路径树如下图 5 所示。

根据图5,路由器 RT6 生成的路由表如下表 12 所示。目的地类型缩写:网络为“N”,区域边界路由器为“BR”,AS 边界路由器为“ASBR”。

 2、AS配置区域情形

根据上图计算得到的RT4的路由表如下表13所示:

三、LSA

OSPF 有许多不同类型的 LSA,常见的是以下6种:

  • LSA 类型 1:路由器 LSA
  • LSA 类型 2:网络 LSA
  • LSA 类型 3:Summary  LSA
  • LSA 类型 4:Summary  ASBR LSA
  • LSA 类型 5:自治系统外部 LSA
  • LSA 类型 7:NSSA的区域 LSA

LSA头结构为:

(一) LSA类型1

位 V:设置后,路由器是活动虚拟链路的端点,将所描述的区域用作传输区域。
位 E:设置时,路由器是 AS 边界路由器(E 表示外部)
位 B:设置时,路由器是区域边界路由器(B代表边界)
# links:此通告所描述的路由器链路数。

Type:

Link ID:

(二) LSA类型2

 

网络掩码:网络的 IP 地址掩码。例如,A 类网络的掩码为 0xff000000。

连接的路由器:连接到网络的每个路由器的路由器 ID。

 

为每个多路访问网络创建网络 LSA类型 2 。还记得 OSPF 网络类型吗?广播和非广播网络类型需要 DR/BDR。DR负责 生成这些网络 LSA。在此 LSA 中,我们将找到连接到多路访问网络的所有路由器、DR,当然还有前缀和子网掩码。

在我上面的示例中,我们将在网络 LSA 中找到 R1、R2 和 DR。我们还将在此 LSA 中看到前缀 192.168.1.0 /24。

(三)LSA类型3

当目标是 IP 网络时,使用类型 3 通告。在这种情况下,通告的Link State ID 字段是一个 IP 网络号。当目的地是AS边界路由器时,使用类型4通告,Link State ID字段是AS边界路由器的OSPF路由器ID。

Network Mask对于类型 3 链路状态通告,这表示目标网络的 IP 地址掩码。例如,当通告 A 类网络的位置时,将使用值 0xff000000。

 

类型 1 路由器 LSA始终停留在该区域内。然而,OSPF 适用于多个区域,我们希望在所有区域内实现完全连接。R1 正在泛洪该区域内的路由器 LSA,因此 R2 会将其存储在其 LSDB 中。R3 和 R4 还需要了解区域 20 中的网络

R2 将创建一个类型 3 汇总 LSA并将其泛洪到区域 0。此 LSA 将泛洪到我们 OSPF 网络的所有其他区域。这样其他区域的所有路由器都会知道其他区域的前缀

汇总” LSA 的名称非常具有误导性。默认情况下,OSPF不会总结任何内容。然而,有真正的命令做汇总区域间路由。OSPF 路由器的路由表中的一些O IA条目表明是 LSA 类型 3 汇总 LSA。这些是区域间前缀!

(四)LSA类型4

除了链路状态 ID 字段的不同之外,类型 4 和类型 3链路状态通告的格式相同。Network Mask对于类型 4 通告无意义,必须为零

在此示例中,我们有 R1 将信息从 RIP 路由器重新分配到 OSPF。这使 R1 成为ASBR(自治系统边界路由器)。此时, R1 将在路由器 LSA 中将自己标识为 ASBR。当作为 ABR 的 R2 收到此路由器 LSA 时,它将创建类型 4 汇总 ASBR LSA并将其泛洪到区域 0。此 LSA 还将在所有其他区域中泛洪,并且是必需的,因此所有 OSPF 路由器都知道在哪里可以找到 ASBR

(五)LSA类型5

 这些通告由 AS 边界路由器发起。为 AS 外部的每个目的地(路由器已知)制作单独的LSA。

相同的拓扑结构,但我在 RIP 路由器上添加了前缀 (192.168.1.0 /24)。此前缀将重新分配到 OSPF。R1(我们的 ASBR)会处理这个问题,并为此创建一个5 类外部 LSA。不要忘记我们仍然需要类型 4 的摘要 ASBR LSA 来定位 R1。如果您曾经尝试使用 OSPF 重新分发,您可能已经看到O E1 或 E2条目。这些是外部前缀和我们的 5 类 LSA。

(六)LSA类型7

NSSA区域不允许类型 5 外部 LSA。图中,R1 仍然是 ASBR,将信息从 RIP 重新分配到 OSPF。由于不允许使用类型 5,需另想办法。这就是为什么有一个类型 7 的外部 LSA,它携带完全相同的信息,但在 NSSA 区域内没有被阻止。R2 会将此类型 7 转换为类型 5 并将其泛洪到其他区域。

总结一下:

  • 类型 1 – 路由器 LSA:路由器 LSA 由每个路由器为其所在的每个区域生成。在链路状态 ID 中,您将找到始发路由器的 ID。
  • 类型 2 – 网络 LSA:网络 LSA 由 DR 生成。链路状态 ID 将是 DR 的接口 IP 地址。
  • 类型 3 – Summary LSA:摘要 LSA 由 ABR 创建并泛洪到其他区域。
  • 类型 4 – Summary ASBR LSA:其他路由器需要知道在哪里可以找到 ASBR。这就是 ABR 将生成摘要 ASBR LSA 的原因,该 LSA 将在链路状态 ID 字段中包含 ASBR 的路由器 ID。
  • 类型 5 – 外部 LSA:也称为自治系统外部 LSA:外部 LSA 由 ASBR 生成。
  • 类型 7 – 外部 LSA:也称为非短末节区域 (NSSA) LSA:如前面所见,区域 20 是不允许外部 LSA(类型 5)的 NSSA(非短末节区域),为了克服这个问题,改为生成类型 7 LSA。

四、OSPF数据包

  • Hello包
  • 数据库描述包DD
  • 链路状态请求包LSR
  • 链路状态更新包LSU
  • 链路状态确认包LSA

详细说明待更新。

五、配置实例

(一)Rounter ID

使用以下标准来选择路由器 ID:

  • 手动配置
  • 环回接口上的最大IP 地址
  • 非环回接口上的最大IP 地址

须全网唯一且稳定,一般使用Loopback环回口。

约定:本文中路由器若为Rx,则Router ID为x.x.x.x

#
router id 1.1.1.1
#
interface LoopBack0
 ip address 1.1.1.1 255.255.255.255
#
ospf 1
 area 0.0.0.0
  xxx

(二)区域内网络汇总通告

可对多条LSA3和LSA5作汇总,合并为一条LSA3或5进行通告。如下图R1上的四个Stub网络可合为一个网络172.16.0.0/22通告一条LSA3至Area1。

ABR(R1)上的配置如下:

#
ospf 1
 area 0.0.0.0
  abr-summary 192.168.0.0 255.255.252.0 

(三)AS外部网络汇总通告

 ASBR(R1)上的配置如下:

ospf 1
  asbr-summary 192.168.0.0 255.255.254.0  //配置ASBR对引入的路由进行汇总再通告
  import-route direct  //使本路由器成为ASBR
  area 0.0.0.0
    network 192.168.2.0 0.0.0.255 

(四)特殊区域Stub

所有这些区域都不存在5类LSA。

这些特殊的区域类型用于在区域中插入默认路由并替换类型 3 汇总 LSA 和类型 5 外部 LSA。这将使 LSA 泛洪最小化,LSDB 更小,SPF 计算更少,路由表更小。

由于不允许在 stub 区域中有 5 类外部 LSA,因此在 stub 区域中也不可能有 ASBR。为了到达其他地区的网络,将有一条默认路由。

当然,总有例外。那么,如果希望某个区域成为 stub 区域且在该区域中也有一个 ASBR,该怎么办?可以使用NSSA (not-so-stubby-area)。这与stub区域相同,只是可以在该区域内拥有一个 ASBR。它是如何工作的?这就是类型 7 外部 LSA的作用所在。由于不允许使用类型 5 外部 LSA,将只有使用新的 LSA 类型。

Stub区配置实例:

R3上的配置如下:

#
router id 1.1.1.1
#
interface GigabitEthernet1/0/0
  ip address 192.168.0.1 255.255.255.0
#
interface LoopBack0
  ip address 1.1.1.1 255.255.255.255
#
ospf 1
  import-route direct  //引入直连路由,成为ASBR,将发送5类LSA
  area 0.0.0.0
    network 192.168.1.0 0.0.0.255
#

R2上的配置如下:

#
ospf 1
 area 0.0.0.0
   network 192.168.1.0 0.0.0.255
 area 0.0.0.1
   network 192.168.2.0 0.0.0.255
  stub
#

R1上的配置如下:

#
ospf 1
 area 0.0.0.1
   network 192.168.2.0 0.0.0.255
   stub

NSSA区配置实例:

R3上的配置与上同。

R2上的配置如下:

#
ospf 2
 area 0.0.0.0
   network 192.168.1.0 0.0.0.255
 area 0.0.0.1
   network 192.168.2.0 0.0.0.255
   nssa default-route-advertise  //将Area1设置为NSSA区,并在ABR上配置产生缺省的Type7 LSA到NSSA区域
#

R1上的配置如下:

ospf 2
  import-route direct //NSSA区中的路由器允许成为ASBR
  area 0.0.0.1
    network 192.168.2.0 0.0.0.255
    nssa  //将Area1设置为NSSA区域

(五)虚连接

[R1-ospf-1-area-0.0.0.2] vlink-peer 2.2.2.2
[R2-ospf-1-area-0.0.0.2] vlink-peer 1.1.1.1 

(六)基本情形

    

   

gre tunnel接口缺少destination或source配置:

tunnel接口Protocol为down状态 

gre tunnel接口配置了destination和source后,tunnel接口Protocol为up。

只有物理和协议都是up状态,该接口才能宣入ospf。

注:本文资料整理自网络,转载请注明来源!

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值