OSPF协议基础

一、OSPF 简介

  OSPF(Open Shortest Path First,开放最短路径优先)是IETF(Internet Engineering Task Force,互联网工程任务组)组织开发的一个基于链路状态的 IGP(Interior Gateway Protocol,内部网关协议)。目前针对IPv4协议使用的是OSPF Version 2

  在一个自治系统AS(Autonomouse System)内,运行OSPF路由协议的路由器,将LSA(LinkState Advertisement,链路状态通告)传递给在某一区域内的所有设备,所有设备共同维护着LSDB(LinkState Database,链路状态数据库),链路状态数据库存放着自治系统AS中链路的拓扑信息,路由器基于LSDB使用SPF(Shortest Path First,最短路径算法),从而计算出OSPF路由表,OSPF路由与其他路由比较后优的加入全局路由表,OSPF基于IP,协议号为89,采用组播方式交换OSPF包,OSPF的组播地址为224.0.0.5(全部OSPF路由器)和224.0.0.6(指定路由器)

 二、Router ID

  Router ID 用于在OSPF domain 中唯一地标识一台OSPF路由器,而且禁止在域内出现两台路由器拥有相同的Router ID,Router ID可以通过手工配置也可能通过协议自动选取的方式。

三、OSPF Cost

  (1)OSPF使用 Cost “开销” 作为路由度量值,每一个激活OSPF的接口都有一个Cost值。

  (2)一条OSPF路由的Cost值,由该路由从起源一路到达本地的所有入接口Cost值的总和。

四、OSPF的邻居表、链路状态数据库、OSPF路由表

  邻居表(Peer Table):在路由器之间传递链路状态通告之前,需要建立OSPF邻居关系,hello报文用于发现链路上的OSPF路由器,经过一系列的OSPF消息交互最终建立毗邻的关系。

  链路状态数据库(LinkState Advertisement,LSDB):OSPF协议通过LSA(LinkState Advertisement,链路状态通告)描述网络拓扑结构,OSPF路由器用链路状态数据库来存储LSA。

   OSPF路由表(Routing Table):基于LSDB进行SPF计算(Dijkstra算法),得出OSPF路由表。

五、OSPF 报文类型 

  Hello  周期性发送,用于发现和维持OSPF邻居关系。

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

  LSR    用于向邻居请求所需的LSA,设备只有在OSPF邻居成功建立后,交换DBD报文后才会发出LSR报文。  

  LSU    对LSR请求,进行回应,把完整信息发给邻居(包含一条或多条LSA)。

  LSAck   对LSU中的LSA进行确认。

  注:Hello报文的发达间隔时间是10秒,默认无效时间间隔是Hello时间间隔的4倍,即如果在40秒内没有从特定的邻居接收到这种分组,路由器就认为邻居不存在了。 支持路由器发现邻接路由器(Hello)学习其本身链路状态库中没有的LSA(DD)请求并交换LSA(LSR/LSU),监测邻接路由器是否发生拓扑改变,LSA每30分钟重传1次。 

  

六、OSPF邻居关系建立的过程

  (1)通过发现直连链路上的OSPF路由器,建立双向关系(通过Hello报文)

  (2)协商主/从关系,交换LSA头部摘要信息(通过DBD报文)

  (3)同步LSA,请求(通过LSR报文)/发送(通过LSU报文,LSAs)

  (4)完成同步,进入OSPF全毗邻状态  

七、DR、BDR

  指定路由器(DR):负责把信息更新到其它OSPF路由器。

  备用指定路由器(BDR):BDR会监控DR的状态,并在当DR发生故障时接替其角色。

  其它路由器(DRother):只允许与DR路由器建立邻居关系,彼此之间不相互建立邻居关系,这样可以大大减少LSA的泛洪。 

  注:(1)DR选举规则是,具有最高OSPF接口优先级的路由器被选作DR,如果优先级相等(默认为1),具有最高的OSPF Router-ID的路由器被选择成为DR另外DR具有非抢占性

    (2)OSPF接口优先级为0,则路由器不参与DR和BDR的选举。

    (3)OSPF为 接口敏感型协议,DR及BDR的身份状态是基于OSPF接口的。

  

 八、OSPF 区域

   OSPF协议 特殊区域

 九、OSPF协议 LSAs

  OSPF协议 LSAs

十、OSPF路由器的角色

  区域内路由器             Internal Router

  区域边界路由器ABR  Area Border Router

  骨干路由器                 Backone Router

  AS边界路由器ASBR  AS Boundary Router

  

十一、相关命令

   dis ospf                   //查看OSPF运行参数  
  dis ospf interface         //查看OSPF本地接口
  dis ospf peer              //查看OSPF邻居表
  dis ospf lsdb              //查看LSDB表
  dis ospf routing           //查看OSPF路由
  dis ospf statistics error  //查看OSPF错误信息

  [接口]ospf cost XX           //修改cost值
  [接口]ospf dr-priority       //修改DR优先级

  

原文地址:https://www.cnblogs.com/PBDragon/p/12969702.html