【网络协议】开放式最短路径优先协议OSPF详解(三)

前言

在第一部分和第二部分,我们了解了OSPF操作背后的概念。在第三部分,我们将讨论多区域OSPF。我们将了解它与单区域OSPF的不同,并探讨其操作背后的各种概念。

【网络协议】开放式最短路径优先协议OSPF详解(一)

【网络协议】开放式最短路径优先协议OSPF详解(二)

文章目录

LSA问题

当我们讨论OSPF的概念以及OSPF相对于其他路由协议(如RIP)的优势时,我们看到在OSPF中,路由器维护了一个"地图",该地图展示了它们域中的所有网络。这是相较于距离向量路由协议的一个主要优势,然而,这也可能成为一个大问题。

SPF算法负责维护OSPF中的路由信息,最佳路由是根据链路状态数据库中的路由计算得出的,该数据库在域中的所有路由器上是相同的。这意味着,如果网络拓扑发生变化,SPF算法必须在域中的所有路由器上运行。

上面的图示说明了当OSPF更新被发送到区域内所有路由器时会发生什么。

在一个有三四个路由器的网络中,这可能不是一个大问题,但你能想象SPF算法对一个有数百个路由器的网络会产生怎样的影响吗?

多区域OSPF

多区域OSPF是解决这些问题的方案。在这种实现中,路由器将链路状态数据库限制在各自的区域内,这意味着每个区域将有一个链路状态数据库。反过来,SPF计算也仅限于某个区域,从而减轻了路由器资源的负担。

多区域OSPF是将LSA更新本地化到路由器的一种方式。在上述场景中,区域0中的路由器将拥有同步的链路状态数据库,区域1中的路由器也将有自己的链路状态数据库,区域2中的路由器也是如此。

网络中的通信将通过使用汇总LSA来更新其他区域。这意味着区域1中的路由器将发送一个汇总LSA到区域0,然后区域0将把这个汇总路由发送到区域2。区域2中的路由器也是如此。

术语

在多区域OSPF域中,有几个术语用来描述路由器。下面的拓扑图展示了一个多区域OSPF路由域。

ABR -- 在上面的网络中,分隔两个区域的路由器称为ABR(区域边界路由器)。在这个场景中,R1和R4是ABR。R1分隔了区域0和区域1,而R4分隔了区域2和区域0。ABR也可以描述为具有不同区域接口的路由器。

注意:

在OSPF中,我们只能在ABR和ASBR中进行网络汇总。

区域0中的路由器 位于骨干区域。所有区域必须连接到区域0,才能实现通信。

ASBR -- 也称自治系统边界路由器,是连接到不同自治系统的路由器。在上面的场景中,R2是ASBR,因为它的一个接口连接到互联网。

注意: 在多区域OSPF中,ABR必须至少有一个接口连接到区域0。

LSA类型

路由器的链路状态数据库由链路状态通告(LSA)组成。OSPF中有几种类型的LSA,具体如下所示:

  • 类型1 LSA -- 路由器LSA
  • 类型2 LSA -- 网络LSA
  • 类型3 LSA -- ABR汇总路由
  • 类型4 LSA -- 汇总LSA ASBR位置
  • 类型5 LSA -- ASBR汇总路由

配置多区域OSPF

在下面显示的拓扑中,我们有六个路由器,分布在三个区域中。我们的任务是配置多区域OSPF,并确保PC之间的完全连接。

在这个实验中,当主机之间实现端到端的连通性时,配置就算成功。

使用的IP地址规划如下所示。

步骤 1: 配置网络声明,指示每个网络的区域

注意: 配置OSPF网络的一个好方法是使用每个接口的具体IP地址,并采用全"零"的通配符掩码。

该网络的网络声明如下所示。

步骤 2: 在配置完网络声明后,我们可以在R2上配置静态默认路由并进行重新分发。

通过此配置,我们应该能够看到所有路由。我们可以检查R3和R6的路由表,查看它们之间的差异。

正如我们从两台路由器上看到的那样,所有路由都出现在它们的路由表中,这些输出中的区域间路由被标记为OIA------用红色突出显示,这些是来自其他区域的路由。标记为O*E2的路由是外部路由。然而,如果我们检查它们的链路状态数据库,我们将注意到其中的差异。

从上面的输出中可以看到,尽管R3在其路由表中有所有路由,但它的链路状态数据库仅包含区域0中的路由。它接收的所有其他路由都标记为类型4或5。R6的OSPF数据库也是如此,它仅包含来自区域2中路由器的LSA信息。所有其他信息在ABR处被抑制。

相关推荐
木心操作2 小时前
nodejs使用WebSocket实现聊天效果
javascript·网络·websocket·网络协议·node.js
兴达易控15 小时前
ProfibusDP主站转ModbusTCP网关如何进行数据互换
网络协议·profibus dp
乄北城以北乀16 小时前
muduo库源码分析:TcpConnection 类
linux·数据结构·c++·后端·网络协议·tcp/ip·visual studio
菜菜小蒙18 小时前
【Linux】http 协议
网络·网络协议·http
Alfred young20 小时前
CS144 Lab Checkpoint 0: networking warm up
c++·网络协议
程序员黄同学20 小时前
请解释 HTTP 中的状态码,常见的状态码有哪些?
网络·网络协议·http
程序员黄同学20 小时前
请谈谈 HTTP 中的请求方法(GET、POST、PUT、DELETE等),它们的区别是什么?
网络·网络协议·http
my烂笔头1 天前
计算机网络常见疑问
网络·网络协议·计算机网络
Edward-tan1 天前
【全栈开发】---- 一文掌握 Websocket 原理,并用 Django 框架实现
网络·websocket·网络协议
william0820121 天前
IP地址怎么加密https访问?
服务器·网络协议·tcp/ip·网络安全·https·ssl