OSPF

  • OSPF简介
  • 基本特点
  • Router ID
  • OSPF Cost
  • OSPF的三张表
  • OSPF报文类型
  • OSPF邻居关系的建立
  • 七种状态
  • DR,BDR选举过程
  • ospf area 概念


OSPF简介

开放式最短路径优先OSPF (Open Shortest Path First)是IETF组织开发的一个基于链路状态的内部网关协议(Interior Gateway Protocol)。 目前针对IPv4协议使用的是OSPF Version2(RFC2328);针对IPv6协议 使用OSPF Version3(RFC2740)。如无特殊说明,本文中所指的OSPF 均为OSPF Version 2。

基本特点

OSPF作为基于链路状态的协议,能够解决RIP所面临的诸多问题。此外, OSPF还有以下优点
SPF采用组播形式收发协议报文,这样可以减少对其它不运行OSPF 路由器的影响。
OSPF支持无类型域间选路(CIDR)
OSPF支持对等价路由进行负载分担。
OSPF支持报文认证。

Router ID

OSPF Router-ID用于在OSPF domain中唯一地表示一台OSPF路由器,从OSPF网络设计的角度,我们要求全OSPF域内禁卫出现两台路由器拥有相同 的Router-ID。
    OSPF Router-ID的设定可以通过手工配置的方式,或者通过协议自动选取的方式。当然,在实际网络部署中,强烈建议手工配置OSPF的Router-ID,因为这关系到协议的稳定

OSPF Cost

OSPF使用cost“开销”作为路由度量值。
1 OSPF接口cost=100M/接口带宽,其中100M为OSPF的参考带宽(reference- bandwidth),可以修改。
2 每一个激活OSPF的接口都有一个cost值。
3 一条OSPF路由的cost由该路由从起源一路到达本地的所有入接口cost值的总和。

OSPF的三张表

邻居表(Peer table):
OSPF是一种可靠的路由协议,要求在路由器之间传递链路状态通告之前,需 先建立OSPF邻居关系,hello报文用于发现直连链路上的其他OSPF路由器, 再经过一系列的OSPF消息交互最终建立起全毗邻的邻居关系,OSPF路由器的 邻居信息显示在邻居表中。
链路状态数据库(简称LSDB):
OSPF用LSA (linkstate Advertisement,链路状态通告)来描述网络拓扑信息, 然后OSPF路由器用LSDB来存储网络的这些LSA。OSPF将自己产生的以及邻 居通告的LSA搜集并存储在LSDB中。掌握LSDB的查看以及对LSA的深入分析 才能够深入理解OSPF。
OSPF路由表(Routing table):
基于LSDB进行SPF(Dijkstra算法)计算,而得出的OSPF路由表。

OSPF报文类型

Hello报文,周期性发送,用来发现和维持OSPF邻居关系。
DD报文(DatabaseDescription packet) ,描述本地L SDB的摘要信息,用于两台设备进行数据库同步。
LSR报文(Link State Requestpacket),用于向对方请求所需的LSA。设备只有在OSPF邻居双方成功交换DD报文后才会向对方发出LSR报文。
LSU报文(Link State Updatepacket),用于向对方发送其所需要的LSA。
LSAck报文(Link StateAcknowledgment packet)用来对收到的LSA进行确认。

OSPF邻居关系的建立

第一步,发现直连链路上的OSPF路由器建立双向关系,发送HELLO报文。
第二步,协商主/从关系交换LSA头部摘要信息。
第三步,同步LSA 请求/发送LSAck,LSR,LSU
第四步,完成同步进入OSPF全毗邻

七种状态

Down:没有启用OSPF的状态;邻居失效后变为该状态
Init:初始化状态,第一次收到对端发来的hello包(包含对端route-id)时,将对端的状态设置为init
2-way:邻居状态,相互间周期发送hello的状态(双方建立会话)
Exstart:交换信息的初始化状态发送DBD(包含本地的LSA的摘要信息)报文,选举主从路由器(利用HELLO报文中的ID和优先权来进行选举,不允许抢占,DR没了,DBDR才能上)
Exchange:交换信息的状态该状态下,相互间发送DBD,告知对端本地所有的LSA的目录;同时,可以发送 LSR,LSU,LSACK来学习对端的LSA
Loading:加载状态(没有学习完的状态)发送LSR,LSU,LSACK,专门学习对端的LSA的详细信息
Full:邻接状态(学习完的状态)彼此的LSDB同步,即所有的LSA相同。

DR,BDR选举过程

选举步骤:
1.所有Router都宣称自己是DR和BDR发送Hello包,除非自己没有选举资格。
2.在选举的过程中,每个Router在接收到Hello包之后,检查其DR和BDR字段。建立一个备选的BDR的集合。该集合包括所有未宣称未DR的Router,因为参加DR竞选的Router不具备BDR的选举资格。那么在网络的最开始状态,所有的Router都同时宣称自己是DR和BDR,那么该候选的BDR集合为空。所以实际中总是先选择出来DR,再选择出来BDR。
3.在2统计的集合中,选取出一个最优先的Router被选举为BDR。
4.在所有宣称自己为DR的路由其中选举一个最优先的Router为DR。如果没有任何的Router宣称自己为DR,那么BDR被推举为DR。

ospf area 概念

Area0为黄干区域, 负责在非骨干区域之间中转由区域边界路由器归纳的链路状态追告信息。为了防止出现环路,OSPF要求所有的非骨干区域之间不能直接进行LSA的交互,而必须通过Area0骨干区域进行中转,因此所有的非骨干区域必须都与Area0 "直接相连”。

ospf协议可以互相通信且兼容的网络类型 ospf协议支持的网络类型_初始化


解决LAS泛红问题,减少路由器负载

解决资源消耗过大,导致性能下降,影响数据传输速度。