OSPF的基础术语

1.区域

 

  • OSPF Area用于标识一个OSPF的区域。
  • 区域是从逻辑上将设备划分为不同的组,每个组用区域号(Area ID)来标识。

Router-ID

  • Router-ID(Router Identifier,路由器标识符),用于在一个OSPF域中唯一地标识一台路由器。
  • Router-ID的设定可以通过手工配置的方式,或使用系统自动配置的方式。

度量值

 

  • OSPF使用Cost(开销)作为路由的度量值。每一个激活了OSPF的接口都会维护一个接口Cost值,缺省时接口Cost值=。其中100 "Mbit""OSPF指定的缺省参考值,该值是可配置的。为"
  • 笼统地说,一条OSPF路由的Cost值可以理解为是从目的网段到本路由器沿途所有入接口的Cost值累加。

OSPF的报文类型

OSPF有五种类型的协议报文。这些报文在OSPF路由器之间交互中起不同的作用

 

报文名称

报文功能

Hello

周期性发送,用来发现和维护OSPF邻居关系。Hello报文:最常用的一种报文,用于发现、维护邻居关系。并在广播和NBMA(None-Broadcast Multi-Access)类型的网络中选举指定路由器DR(Designated Router)和备份指定路由器BDR(Backup Designated Router)

Database Description

描述本地LSDB的摘要信息,用于两台设备进行数据库同步。

Link State Request

用于向对方请求所需要的LSA。设备只有在OSPF邻居双方成功交换DD报文后才会向对方发出LSR报文。

Link State Update

用于向对方发送其所需要的LSA。

Link State ACK

用来对收到的LSA进行确认。

LSA泛洪

 

  • 与距离矢量路由协议不同,链路状态路由协议通告的的是链路状态而不是路由表。运行链路状态路由协议的路由器之间首先会建立一个协议的邻居关系,然后彼此之间开始交互LSA(Link State Advertisement,链路状态通告)。

 

  • 链路状态通告,可以简单的理解为每台路由器都产生一个描述自己直连接口状态(包括接口的开销、与邻居路由器之间的关系等)的通告。

LSDB组建

 

  • 每台路由器都会产生LSAs,路由器将接收到的LSAs放入自己的LSDB(Link State DataBase,链路状态数据库)。路由器通过LSDB,掌握了全网的拓扑。

 

  • 路由器将LSA存放在LSDB中

 

  • LSDB汇总了网络中路由器对于自己接口的描述

 

  • LSDB包含全网拓扑的描述

 

SPF计算

 

  • 每台路由器基于LSDB,使用SPF(Shortest Path First,最短路径优先)算法进行计算。每台路由器都计算出一棵以自己为根的、无环的、拥有最短路径的“树”。有了这棵“树”,路由器就已经知道了到达网络各个角落的优选路径。

 

 

  • SPF是OSPF路由协议的一个核心算法,用来在一个复杂的网络中做出路由优选的决策。
  • 每台路由器都计算出一棵以自己为根的、无环的、拥有最短路径的“树”

路由表的生成

最后,路由器将计算出来的优选路径,加载进自己的路由表(Routing Table)

 

链路状态路由协议总结

 

  • 链路状态路由协议有四个步骤:

 

  • 第一步是建立相邻路由器之间的邻居关系。

 

  • 第二步是邻居之间交互链路状态信息和同步LSDB。

 

  • 第三步是进行优选路径计算。

 

  • 第四步是根据最短路径树生成路由表项加载到路由表。

OSPF的基本概念_链路

 OSPF三大表项 - 邻居表

OSPF有三张重要的表项,OSPF邻居表、LSDB表和OSPF路由表。对于OSPF的邻居表,需要了解:

OSPF在传递链路状态信息之前,需先建立OSPF邻居关系。

OSPF的邻居关系通过交互Hello报文建立。

OSPF邻居表显示了OSPF路由器之间的邻居状态,使用display ospf peer查看。

OSPF三大表项 - LSDB表

 

对于OSPF的LSDB表,需要了解:

 

LSDB会保存自己产生的及从邻居收到的LSA信息,本例中R1的LSDB包含了三条LSA。

 

Type标识LSA的类型,AdvRouter标识发送LSA的路由器。

 

使用命令行display ospf lsdb查看LSDB表。

OSPF三大表项 - OSPF路由表

 

对于OSPF的路由表,需要了解:

 

OSPF路由表和路由器路由表是两张不同的表项。本例中OSPF路由表有三条路由。

 

OSPF路由表包含Destination、Cost和NextHop等指导转发的信息。

 

使用命令display ospf routing查看OSPF路由表。

 

OSPF直接运行在IP协议之上,使用IP协议号89。

OSPF有五种报文类型,每种报文都使用相同的OSPF报文头

 

  1. Hello报文:最常用的一种报文,用于发现、维护邻居关系。并在广播和NBMA(None-Broadcast Multi-Access)类型的网络中选举指定路由器DR(Designated Router)和备份指定路由器BDR(Backup Designated Router)。

 

  1. DD报文:两台路由器进行LSDB数据库同步时,用DD报文来描述自己的LSDB。DD报文的内容包括LSDB中每一条LSA的头部(LSA的头部可以唯一标识一条LSA)。LSA头部只占一条LSA的整个数据量的一小部分,所以,这样就可以减少路由器之间的协议报文流量。

 

  1. LSR报文:两台路由器互相交换过DD报文之后,知道对端的路由器有哪些LSA是本地LSDB所缺少的,这时需要发送LSR报文向对方请求缺少的LSA,LSR只包含了所需要的LSA的摘要信息。

 

  1. LSU报文:用来向对端路由器发送所需要的LSA。

 

  1. LSACK报文:用来对接收到的LSU报文进行确认。

ospf区域

每个区域都维护一个独立的LSDB。

Area 0是骨干区域,其他区域都必须与此区域相连。

 

 

DR和BDR的选举

DR/BDR的选举是非抢占式的。

 

DR/BDR的选举是基于接口的。

 

接口的DR优先级越大越优先。

接口的DR优先级相等时,Router ID越大越优先