数据通信学习笔记之OSPF的区域

OSPFArea 用于标识一个 OSPF 的区域

区域是从逻辑上将设备划分为不同的组,每个组用区域号 (Area ID)来标识 OSPF 的区域 ID 是一个 32bit 的非负整数,按点分十进制的形式(与 IPV4 地址的格式一样)呈现,例如 Area0.0.0.1。

为了简便起见,我们也会采用十进制的形式来表示。

骨干区域(Area 0) 非骨干区域(非 Area 0)

非骨干区域不允许直接相连。

同一区域的 OSPF 路由器具有相同的 LSDB,在只有一个区域的情况下,区域内部只有 1 类和 2 类 LSA。每台路由器都会产生 1 类 LSA,描述直连接口信息用于计算拓扑。

在 MA 网络中,DR 会产生 2 类 LSA 来描述该网络中所有的 Router-ID(包括自身)以及网络掩码。

单区域存在的问题:

系列连续的 OSPF 路由器构成的网络称为 OSPF 域(Domain)

OSPF 要求网络内的路由器同步 LSDB,实现对于网络的一致认知.当网络规模越来越大时,LSDB 将变得非常臃肿,设备基于该 LSDB 进行路由计算,其负担也极大地增加了,此外路由器的路由表规模也变大了,这些无疑都将加大路由器的性能损耗。

当网络拓扑发生变更时,这些变更需要被扩散到整个网络,并可能引发整网的路由重计算。

单区域的设计,使得 OSPF 无法部署路由汇总

所以需要分多区域。注意:每个区域都要和骨干区域相连接

区域间路由计算

OSPF 区域间路由信息传递是通过 ABR 产生的 Network Summary LSA (3 类 LSA)实现的

以 192.168.1.0/24 路由信息为例

  • R2 依据 Area 1 内所泛洪的 Router LSA 及 Network LSA 计算得出 192.168.1.0/24 路由 (区域内路由)并将该路由通过 Network Summary LSA 通告到 Area 0。R3 根据该 LSA 可计算出到达 192.168.1.0/24 的区域间路由
  • R3 重新生成一份 Network Summary LSA 通告到 Area 2 中,至此所有 OSPF 区域都能学习到去往 192.168.1.0/24 的路由

区域间路由防环

OSPF 要求所有的非骨干区域必须与 Area0 直接相连,区域间路由需经由 Area0 中转。

区域间的路由传递不能发生在两个非骨千区域之间,这使得 OSPF 的区域架构在逻辑上形成了一个类似星型的拓扑。

  • ABR 不会将描述到达某个区域内网段路由的 3 类 LSA 再次注入会该区域

  • ABR 从非骨干区域收到的 3 类 LSA 不能参与路由计算

    • R1 和 R2、R3 和 R4 之间的链路中断导致骨干区域不连续
    • R4 将 10.0.2.2/32 的路由以 3 类 LSA 的形式发送到区域 1
    • R5 和 R6 可以根据上述 3 类 LSA 计算出 10.2.2.2/32 路由
    • R3 从非骨干区域收到 3 类 LSA,不进行路由计算。也不会将此 3 类 LSA 发送到其他区域
    • 此时:R1 和 R3 都无法和 10.2.2.2 进行通信

真假 ABR

ABR 从非骨干区域收到的 3 类 LSA 不能参与路由计算。当骨干区域分割时,会导致部分路由器无法正确计算路由。

解决方案:vlink

真 ABR:骨干区域有邻居 --- 不能进行路由计算

假 ABR:骨干区域没有邻居 --- 可以进行路由计算

虚连接 Vlink

只可属于区域 0,依靠物理链路承载

类似于隧道。主要用于临时连接两端,使骨干区域连续

第一种情况,区域 0 ---> 区域 1 --> 区域 0

双端配置,注意:对端为Router ID 不是接口地址

ospf 10

ar 1

vlink-peer 3.3.3.3

ospf 10

ar 1

vlink-peer 2.2.2.2

第二种情况: 区域 0 --> 区域 1 --> 区域 2

解决方案:在区域 1 双端配置 vlink

第三种情况:区域 1 --> 区域 2 --> 区域 3

解决方案:在区域 2 两端建立 vlink

Stub 末节区域

为了减少 LSDB、路由表规模 ABR 不向 Stub 区域内传播它接收到的 AS 外部路由。

同时,为了保证 Stub 区域能够正常到达 AS 外部,Stub 区域的 ABR 将会产生一条缺省路由(使用 3 类 LSA 描述)

注意:配置 Vlink 时,使用对端的 Router ID。不要使用接口 ip

配置 Stub 时需注意:

  • 骨干区域不能被配置为 Stub 区域
  • Stub 区域中所有路由器都要上设置成 Stub
  • Stub 区域内不能引入和接收 AS 外部路由
  • 虚连接不能穿越 Stub 区域

Stub 区域内只存在 1、2、3 类 LSA

Totally Stub 完全末节区域

与 Stub 的区别:3 类 LSA 也不存在,只保留一条 0.0.0.0 默认路由指向 ABR

只需要在 ABR 上配置即可

NSSA 非纯末节区域

不支持外部路由,但是允许本地路由引入。

NSSA 区域使用 7 类 LSA,但是,向外部泛红时,ABR 会将 7 类 LSA 转成 5 类 LSA 向外泛红

Totally NSSA 完全非纯末节区域

在 ABR 上配置

区域内不会出现 3 类 LSA。只留一条 0.0.0.0 到 ABR

相关推荐
汪汪大队u1 小时前
IPv4与IPv6的对比
运维·网络·智能路由器
凉虾皮1 小时前
2024包河初中组
学习·算法·1024程序员节
kkkkk0211061 小时前
黑马微服务保险(一)
笔记·微服务·架构
hour_go2 小时前
【知识图谱】图神经网络(GNN)核心概念详解:从消息传递到实战应用
笔记·深度学习·神经网络·1024程序员节
摇滚侠2 小时前
全面掌握PostgreSQL关系型数据库,设置远程连接,笔记05,笔记06
java·数据库·笔记·postgresql
mpHH2 小时前
postgresql plancache --doing
数据库·学习·postgresql·1024程序员节
Dream_言十2 小时前
光通信|高效动态的自由空间-光纤CVB通信
学习·论文笔记·1024程序员节
蒙奇D索大3 小时前
【数据结构】数据结构核心考点:AVL树删除操作详解(附平衡旋转实例)
数据结构·笔记·考研·学习方法·改行学it·1024程序员节
开心-开心急了3 小时前
Flask入门教程——李辉 第5章: 数据库 关键知识梳理
笔记·后端·python·flask·1024程序员节
小志biubiu3 小时前
linux_缓冲区及简单libc库【Ubuntu】
linux·运维·服务器·c语言·学习·ubuntu·c