《OSPF网络设计解决方案(第2版)》一2.7 案例分析:使用链路状态数据库

简介:

本节书摘来自异步社区《OSPF网络设计解决方案(第2版)》一书中的第2章,第2.7节,作者 【美】Thomas M. Thomas II, CCIE #9360,更多章节内容可以访问云栖社区“异步社区”公众号查看

2.7 案例分析:使用链路状态数据库

OSPF网络设计解决方案(第2版)
在本章之前的内容中,我们已经学习到了如何使用LSA在OSPF路由器之间发送有关链路的信息。这些LSA被存储于路由器内部的一个数据库中,并且一条LSA将作为该数据库的一条记录。

图2-16给出了本节案例分析所使用的OSPF网络拓扑。

例2-6显示了在HAL9000路由器上使用show ip ospf database命令的输出条目。


cadd4b7ecc06bcce8c7b1352cec8e8abbf4ba32a

注意这里的输出并未包含图2-16中其他区域的信息(即只有区域0的条目),这是因为路由器HAL9000是一台骨干路由器,它的所有接口都位于区域0中。例2-7是在路由器Tokyo上使用相同命令得到的输出,你可以对比查看例2-6中路由器HAL9000的输出。


31e54aa8452c326084655c58f37d8c64433afea7

注意
在许多情况下,人们经常把链路状态数据库称为拓扑数据库。从严格意义上来说,这种命名是不正确的,因为作为描述OSPF v2的RFC 2328文档明确定义了上述数据库的名称,即链路状态数据库。
如例2-7所示,每一条LSA条目所包含的信息都拥有相应的含义,这些信息如下所示(示例中高亮显示的部分)。

标题和概述——Cisco 路由器在显示的 LSA 条目上方给出了有关这些LSA条目的简要介绍信息。首先显示了当前路由器的OSPF RID,用于告知用户正在查看的是哪一台路由器;然后显示了和数据库对应的OSPF路由进程的进程号。Cisco路由器可以运行多个相互独立的OSPF实例(进程)。
区域信息——回顾之前的内容,像ABR这样的路由器可以为OSPF的每个区域各自维护一份独立的链路状态数据库(LSDB)。示例中这一信息显示了LSA的类型和LSDB所属的OSPF区域。

Link ID——LSA的名称,不同类型LSA的Link ID的取值也不同。

ADV router——使用RID来标识产生该LSA的通告路由器。

Age——LSA的生存时间,单位为秒。
Seq#——LSA的序列号,该序列号包含在LSA中。数据库使用序列号来判断LSA是否为旧的或重复的。
Checksum——用于校验LSA的正确性。
Link count——发送该LSA的路由器运行了OSPF的接口的数量。这一字段仅在1类路由器LSA中存在。
图2-17显示了拥有8台路由器的网络。这些路由器都运行了OSPF,并且接口关联了不同的开销值(图中使用粗细线条进行区分)。


7a30dca741b7408cb6aa239be3f00338977ac2a4

在上图中,注意每条链路的接口出方向都标示了相应的开销值。例如,从RtrA直接去往网络中心RtrE的开销为4;但是如果从RtrE直接去往RtrA,其开销值为5。因此,这里的开销值是基于接口的,并且应用于出方向。

OSPF基于图2-17所给定的网络拓扑建立了一份链路状态数据库。另外,假设网络中所有的路由器都属于同一个OSPF区域,则每一台路由器所拥有的链路状态数据库是相同的。本例中的区域为区域0。

注意
为了提高可读性,下面的内容对图2-17中路由器的名称进行了缩写,如RtrA缩写为RA,RtrB缩写成RB,以此类推。
表2-4列出了图2-17所示的OSPF网络内每台路由器的链路状态数据库。该表由不同的部分组成,每一部分代表了图2-17中各台路由器的链路状态数据库的内容。Router ID一栏标明了每台路由器,并且链路状态数据库是根据OSPF以自己为树根建立数据库的顺序组织的。紧接着的Neighbor一栏包含了根路由器所直连的其他所有路由器(也就是根路由器的邻居)。最后一栏Cost,指示了从根路由器到达邻居的开销。

例如,路由器A(RA)拥有3个邻居:B、D和E,到达B的开销为2,到达E的开销为4。


ca370c205f082b4bcbc58862edb8a549155a8edc


acef3a3dcb8065df008200e2af330ab30dcc9d1e

此时,距离网络到达收敛状态还相差甚远,因此接下来需要执行完整的SPF计算过程。路由器所运行的SPF算法实际上是由Dijkstra算法演变而来的。执行该算法的前提是需要路由器已经建立了一份链路状态数据库,如表2-4所示。下面的步骤描述了SPF算法的过程。

1.首先,路由器将自己作为SPF树的根,以便开始创建对应的SPF树数据库(见图2-6)。当路由器成为根,则去往最近的邻居——自己的路径开销为0。

2.将链路状态数据库中描述去往根路由器邻居的所有条目都添加到候选数据库(candidate database)中1。

注意
候选数据库是OSPF在执行SPF运算过程中所建立的临时数据库。该数据库具备可操作性,用于加速SPF条目的计算并帮助获得最终路由。
3.在候选数据库中,从根路由器去往每一台路由器的开销都已经通过计算得出。因此,在候选数据库中去往给定目的路由器且拥有最低开销的条目将被放置到树数据库(tree database)中。如果从根到同一目的路由器拥有两条或更多相同开销的条目,那么随机选择一条2。

注意
树数据库是根路由器在候选数据库上运行SPF算法的结果。当算法运行完成后,SPF树数据库中将包含最短路径(也就是最终的路由条目)。
4.对已经被加入到树数据库中的路由器的邻居 ID 进行检查。除了那些已经存在于树数据库中的邻居 ID 条目以外,将链路状态数据库中描述剩下的路由器邻居的信息添加到候选数据库中。

5.如果候选数据库还拥有条目未被移至树数据库或丢弃,那么转至步骤3。当候选数据库为空时,SPF 算法停止。当 OSPF 区域内的每一台路由器的条目都进入了树数据库后,即表明SPF计算执行完毕并成功。

表2-5总结了为图2-17所示的网络应用Dijkstra算法,并以RA为SPF树根来建立最短路径树的过程和结果。

表2-5中,每一行代表了网络收敛所经历的各种过程。其中第一列给出了候选数据库的条目;在计算完成后,这些条目将会移至树数据库中或者被丢弃。Description一列对所每一个步骤的执行进行了解释3。

image
image

候选列表中(RF,RH,4)是拥有最低开销的链路,因此它被添加到树中。此时候选列表中已经没有条目存在,所以算法结束。当RA拥有了去往网络中所有其他路由器的最短链路时,最短路径树便建立完成

图2-17中的RtrA在表2-5中列出的链路状态数据库上运行 SPF 算法,得到最终为RtrA所创建的最短路径树,如图2-18所示。当每台路由器都通过运算得到了自己的最短路径树后,它们便可以根据最短路径树获知其他路由器的链路信息,并非常容易地为 SPF 树添加末节网络。根据这些信息,路由器便能够将条目添加进路由表。


1cc69aa4aecba7aeaab0cd1b4d98885e6519bec5

1译者注:在某些资料中候选数据库也被称为TENT列表。
2译者注:在某些资料中,树数据库也被成为PATH列表。
3译者注:表2-5中使用了(路由器1,路由器2,开销)的三元组来表示一段链路。例如,(RA,RB,2)表示从RA到RB的链路的开销为2。

相关文章
|
25天前
|
Cloud Native OLAP OLTP
在业务处理分析一体化的背景下,开发者如何平衡OLTP和OLAP数据库的技术需求与选型?
在业务处理分析一体化的背景下,开发者如何平衡OLTP和OLAP数据库的技术需求与选型?
122 4
|
1月前
|
负载均衡 网络虚拟化
网络技术基础(17)——以太网链路聚合
【3月更文挑战第4天】网络基础笔记(加班了几天,中途耽搁了,预计推迟6天)
|
1月前
|
存储 SQL 关系型数据库
TiDB的优势:为何选择TiDB作为您的数据库解决方案
【2月更文挑战第25天】随着数据规模的不断增长和业务需求的日益复杂化,现代企业对数据库系统的扩展性、高可用以及分布式处理能力提出了更高的要求。TiDB作为一个新型的开源分布式数据库,以其独特的设计理念与卓越的技术特性,在众多数据库解决方案中脱颖而出。本文将深入剖析TiDB的核心优势,探讨其如何帮助企业从容应对海量数据挑战、实现无缝水平扩展、保障服务高可用性,并提供灵活一致的事务支持。
|
1月前
|
Oracle 关系型数据库 分布式数据库
分布式数据库集成解决方案
分布式数据库集成解决方案
203 0
|
24天前
|
SQL 关系型数据库 MySQL
【MySQL技术专题】「问题实战系列」深入探索和分析MySQL数据库的数据备份和恢复实战开发指南(8.0版本升级篇)
【MySQL技术专题】「问题实战系列」深入探索和分析MySQL数据库的数据备份和恢复实战开发指南(8.0版本升级篇)
95 0
|
6天前
|
运维 安全 Cloud Native
安全访问服务边缘(SASE):网络新时代的安全与连接解决方案
SASE(安全访问服务边缘)是一种云基安全模型,结合了网络功能和安全策略,由Gartner在2019年提出。它强调身份驱动的私有网络、云原生架构和全面边缘支持,旨在解决传统WAN和安全方案的局限性,如高延迟和分散管理。SASE通过降低IT成本、提升安全响应和网络性能,应对数据分散、风险控制和访问速度等问题,适用于移动办公、多分支办公等场景。随着网络安全挑战的增加,SASE将在企业的数字化转型中扮演关键角色。
|
11天前
|
SQL 存储 数据挖掘
数据库数据恢复—RAID5上层Sql Server数据库数据恢复案例
服务器数据恢复环境: 一台安装windows server操作系统的服务器。一组由8块硬盘组建的RAID5,划分LUN供这台服务器使用。 在windows服务器内装有SqlServer数据库。存储空间LUN划分了两个逻辑分区。 服务器故障&初检: 由于未知原因,Sql Server数据库文件丢失,丢失数据涉及到3个库,表的数量有3000左右。数据库文件丢失原因还没有查清楚,也不能确定数据存储位置。 数据库文件丢失后服务器仍处于开机状态,所幸没有大量数据写入。 将raid5中所有磁盘编号后取出,经过硬件工程师检测,没有发现明显的硬件故障。以只读方式将所有磁盘进行扇区级的全盘镜像,镜像完成后将所
数据库数据恢复—RAID5上层Sql Server数据库数据恢复案例
|
24天前
|
SQL 关系型数据库 MySQL
【MySQL技术专题】「问题实战系列」深入探索和分析MySQL数据库的数据备份和恢复实战开发指南(数据恢复补充篇)(一)
【MySQL技术专题】「问题实战系列」深入探索和分析MySQL数据库的数据备份和恢复实战开发指南(数据恢复补充篇)
30 0
|
1月前
|
Shell Linux 数据库
【Shell 命令集合 网络通讯 】Linux 更新邮件别名数据库 newaliases命令 使用指南
【Shell 命令集合 网络通讯 】Linux 更新邮件别名数据库 newaliases命令 使用指南
29 1
|
1月前
|
存储 NoSQL 大数据
新型数据库技术在大数据分析中的应用与优势探究
随着大数据时代的到来,传统数据库技术已经无法满足海量数据处理的需求。本文将探讨新型数据库技术在大数据分析中的应用情况及其所带来的优势,为读者解析数据库领域的最新发展趋势。

热门文章

最新文章