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

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

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

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

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

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

注意
在许多情况下,人们经常把链路状态数据库称为拓扑数据库。从严格意义上来说,这种命名是不正确的,因为作为描述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,并且接口关联了不同的开销值(图中使用粗细线条进行区分)。

在上图中,注意每条链路的接口出方向都标示了相应的开销值。例如,从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。

此时,距离网络到达收敛状态还相差甚远,因此接下来需要执行完整的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。


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

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

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

时间: 2024-11-03 23:41:49

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

《OSPF网络设计解决方案(第2版)》一2.3 SPF概述

2.3 SPF概述 OSPF网络设计解决方案(第2版) OSPF是一个链路状态路由协议,此类协议在一些技术文档及文献中也被称为基于SPF的协议,或者是分布式数据库协议.本节讨论链路状态算法的发展,以及该算法对OSPF协议产生的影响. 什么是链路状态协议? OSPF是一个链路状态协议.那什么是链路状态呢?你可以将链路看作是路由器上的一个接口,而链路的状态也就是对该接口的描述.这种描述包括了接口的IP地址和掩码,以及接口所连接网络的类型和状态.OSPF将网络中所有路由器的链路状态信息汇总于链路状态数

《OSPF网络设计解决方案(第2版)》一2.8 案例分析:OSPF网络的构建和收敛

2.8 案例分析:OSPF网络的构建和收敛 OSPF网络设计解决方案(第2版) 之前的两个案例分析回顾了链路状态数据库以及它的建立过程.本节将通过新的案例分析来讨论本章之前已经介绍过的一些概念,除此以外,本节还将讨论如何构建一个简单的OSPF网络以及网络的收敛. 假设 MatrixNet 是一家专注于影视特效的高科技动画公司,并想要在其核心网络内实施 OSPF.该公司的核心网络内拥有三台通过以太网相互连接的路由器,如图2-19所示. 在本节案例中,你需要在3台Cisco路由器上配置OSPF.但必

《OSPF网络设计解决方案(第2版)》一2.1 什么是路由协议

2.1 什么是路由协议 OSPF网络设计解决方案(第2版) 路由协议的产生需要经历一系列的过程:通过RFC(征求评议,Request for Comments)流程,并最终成为正式化的协议.该流程包括对一项提议技术征求公开的成文评议,并努力对该技术进行完善和标准化.由RFC 2328所定义的OSPF便是路由协议标准化的例子. 注意 如需查阅具体的RFC文档内容,你可以登录下面的网站,并通过RFC编号或关键字进行检索:http://www.rfc-editor.org/rfc.html. 学习 O

《OSPF网络设计解决方案(第2版)》一2.4 OSPF路由分层

2.4 OSPF路由分层 OSPF网络设计解决方案(第2版) OSPF协议最为重要的特性之一便是它支持分层的路由结构.当你思考OSPF如何在这种分层结构上运行时,请牢记下面的两个特点. 为了使得OSPF能够正常地运行,必须存在或创建分层结构. 应当优先关注如何划分明确的拓扑,而不是地址编址. 自治系统(AS)是指在同一管理域内的一组共享相同路由策略的区域的集合.自治系统使用唯一的编号进行标识,该编号可以是公共的或私有的,这取决于网络的需求.自治系统号必须由特定的组织或机构来分配,如北美的Inte

《OSPF网络设计解决方案(第2版)》一1.6 IP编址

1.6 IP编址 OSPF网络设计解决方案(第2版) 本节讨论IP编址的方法.基本子网划分.可变长子网掩码(VLSM)及无类域间路由(CIDR). 在设计及配置都较为合理的网络环境中,主机和服务器之间的通信可视为透明的.这是因为,每台使用TCP/IP协议簇的设备都拥有长度为32比特的唯一IP地址.设备读取数据包的目的IP地址,并基于该信息做出正确的路由决策.如果设备是主机或服务器,那么它们将借助默认网关进行数据包转发:如果是一台路由器,那么则参照路由表将数据包转发至目的地.只要使用了正确的IP编

《OSPF网络设计解决方案(第2版)》一1.2 理解OSI参考模型的7层

1.2 理解OSI参考模型的7层 OSPF网络设计解决方案(第2版) OSI参考模型中的7个层面,可以被划分为两类:上层层面和下层层面.上层层面通常只关注应用,而下层层面主要处理数据传输.本节将分别介绍3个上层层面.4个下层层面,以及它们各自的功能. 1.2.1 上层层面 OSI参考模型的上层层面(upper layer)--5.6及7层--关注与应用相关的问题,它们通常只在软件程序中被参考实施.应用层位于最上层,且最靠近终端用户.如果用户或应用进程需要进行网络通信,那么它们将直接与包含通信组件

《OSPF网络设计解决方案(第2版)》一1.9 CIDR

1.9 CIDR OSPF网络设计解决方案(第2版) 由于VLSM能够通过路由协议传输子网信息,从而增强子网划分的作用.这种技术思想直接引出了本节所要讨论的CIDR.CIDR是一种能够有效阻止由于IP地址分配不当引起的路由表溢出的方法.若没有实施1994年及1995年发布的RFC 1817文档中所描述的CIDR,那么Internet也不会如今天一样正常地运行.如果缺失CIDR技术,将导致路由表的规模超过路由器所能处理的极限. 实施CIDR的主要前提是,必须使用支持它的路由协议,例如RIP-2.O

《OSPF网络设计解决方案(第2版)》一导读

前 言 OSPF网络设计解决方案(第2版)OSPF在全球众多的网络中得到了广泛应用.如果你打算考取一个网络认证,OSPF也是一个你无法绕过的路由协议.从技术角度来看,由于OSPF协议的大量使用,几乎所有从事网络相关工作的人都不可避免地会涉及到该协议.正是因为如此,理解OSPF的工作原理.配置方法.故障排除,尤其是知道如何来设计一个运行OSPF协议的网络,则显得非常必要.甚至对于不懂网络的人,或多或少也会接触到OSPF.比如你的家人在连接到Internet时,他的电脑或手机所发送的数据包必定会通过

《OSPF网络设计解决方案(第2版)》一2.2 选择路由协议

2.2 选择路由协议 OSPF网络设计解决方案(第2版)网络设计者和工程师经常会提出这样的问题,"我应当选择使用哪种路由协议?"本节比较上文已经介绍过的两种链路状态协议--IS-IS和OSPF.在选择路由协议之前,你需考虑三个方面的问题. 操作事项--决定了在网络长期运行的过程中,对网络进行管理的难易程度.这些考虑事项包括:如何确定协议性能以适应网络更变.如何最小化对网络的影响以及如何对故障进行排除.技术事项--有助于判断特定的协议是否能够满足一系列特定的网络需求.商业事项--定义影响