OSPF一些总结

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OSPF一些总结相关的知识,希望对你有一定的参考价值。

OSPF

OSPF(Open Shortest Path First,开放最短路径优先)是IETF(Internet Engineering Task Force,互联网工程任务组)组织开发的一个基于链路状态的内部网关协议。目前针对IPv4协议使用的是OSPF Version 2。
OSPF的特点
OSPF具有如下特点:
适应范围广:支持各种规模的网络,最多可支持几百台路由器。
快速收敛:在网络的拓扑结构发生变化后立即发送更新报文,使这一变化在自治系统中同步。
无自环:由于OSPF根据收集到的链路状态用最短路径树算法计算路由,从算法本身保证了不会生成自环路由。
区域划分:允许自治系统的网络被划分成区域来管理。路由器链路状态数据库的减小降低了内存的消耗和CPU的负担;区域间传送路由信息的减少降低了网络带宽的占用。
等价路由:支持到同一目的地址的多条等价路由。
路由分级:使用4类不同的路由,按优先顺序来说分别是:区域内路由、区域间路由、第一类外部路由、第二类外部路由。
支持验证:支持基于接口的报文验证,以保证报文交互和路由计算的安全性。
组播发送:在某些类型的链路上以组播地址发送协议报文,减少对其他设备的干扰。
OSPF的基本概念

  1. 自治系统(Autonomous System)
    一组使用相同路由协议交换路由信息的路由器,缩写为AS。
  2. OSPF路由的计算过程
    OSPF协议路由的计算过程可简单描述如下:
    每台OSPF路由器根据自己周围的网络拓扑结构生成LSA(Link State Advertisement,链路状态通告),并通过更新报文将LSA发送给网络中的其它OSPF路由器。
    每台OSPF路由器都会收集其它路由器通告的LSA,所有的LSA放在一起便组成了LSDB(Link State Database,链路状态数据库)。LSA是对路由器周围网络拓扑结构的描述,LSDB则是对整个自治系统的网络拓扑结构的描述。
    OSPF路由器将LSDB转换成一张带权的有向图,这张图便是对整个网络拓扑结构的真实反映。各个路由器得到的有向图是完全相同的。
    每台路由器根据有向图,使用SPF算法计算出一棵以自己为根的最短路径树,这棵树给出了到自治系统中各节点的路由。
  3. 路由器ID号
    一台路由器如果要运行OSPF协议,则必须存在RID(Router ID,路由器ID)。RID是一个32比特无符号整数,可以在一个自治系统中唯一的标识一台路由器。
    RID可以手工配置,也可以自动生成;如果没有通过命令指定RID,将按照如下顺序自动生成一个RID:
    如果当前设备配置了Loopback接口,将选取所有Loopback接口上数值最大的IP地址作为RID;
    如果当前设备没有配置Loopback接口,将选取它所有已经配置IP地址且链路有效的接口上数值最大的IP地址作为RID。
  4. OSPF的协议报文
    OSPF有五种类型的协议报文:
    Hello报文:周期性发送,用来发现和维持OSPF邻居关系。内容包括一些定时器的数值、DR(Designated Router,指定路由器)、BDR(Backup Designated Router,备份指定路由器)以及自己已知的邻居。
    DD(Database Description,数据库描述)报文:描述了本地LSDB中每一条LSA的摘要信息,用于两台路由器进行数据库同步。
    LSR(Link State Request,链路状态请求)报文:向对方请求所需的LSA。两台路由器互相交换DD报文之后,得知对端的路由器有哪些LSA是本地的LSDB所缺少的,这时需要发送LSR报文向对方请求所需的LSA。内容包括所需要的LSA的摘要。
    LSU(Link State Update,链路状态更新)报文:向对方发送其所需要的LSA。
    LSAck(Link State Acknowledgment,链路状态确认)报文:用来对收到的LSA进行确认。内容是需要确认的LSA的Header(一个报文可对多个LSA进行确认)。
  5. LSA的类型
    OSPF中对链路状态信息的描述都是封装在LSA中发布出去,常用的LSA有以下几种类型:
    Router LSA(Type1):由每个路由器产生,描述路由器的链路状态和开销,在其始发的区域内传播。
    Network LSA(Type2):由DR产生,描述本网段所有路由器的链路状态,在其始发的区域内传播。
    Network Summary LSA(Type3):由ABR(Area Border Router,区域边界路由器)产生,描述区域内某个网段的路由,并通告给其他区域。
    ASBR Summary LSA(Type4):由ABR产生,描述到ASBR(Autonomous System Boundary Router,自治系统边界路由器)的路由,通告给相关区域。
    AS External LSA(Type5):由ASBR产生,描述到AS(Autonomous System,自治系统)外部的路由,通告到所有的区域(除了Stub区域和NSSA区域)。
    NSSA External LSA(Type7):由NSSA(Not-So-Stubby Area)区域内的ASBR产生,描述到AS外部的路由,仅在NSSA区域内传播。
    Opaque LSA:是一个被提议的LSA类别,由标准的LSA头部后面跟随特殊应用的信息组成,可以直接由OSPF协议使用,或者由其它应用分发信息到整个OSPF域间接使用。Opaque LSA分为Type 9、Type10、Type11三种类型,泛洪区域不同;其中,Type 9的Opaque LSA仅在本地链路范围进行泛洪,Type 10的Opaque LSA仅在本地区域范围进行泛洪,Type 11的LSA可以在一个自治系统范围进行泛洪。
  6. 邻居和邻接
    在OSPF中,邻居(Neighbor)和邻接(Adjacency)是两个不同的概念。
    OSPF路由器启动后,便会通过OSPF接口向外发送Hello报文。收到Hello报文的OSPF路由器会检查报文中所定义的参数,如果双方一致就会形成邻居关系。
    形成邻居关系的双方不一定都能形成邻接关系,这要根据网络类型而定。只有当双方成功交换DD报文,交换LSA并达到LSDB的同步之后,才形成真正意义上的邻接关系。

OSPF的4种网络类型
OSPF根据链路层协议类型将网络分为下列四种类型:
Broadcast:当链路层协议是Ethernet、FDDI时,OSPF缺省认为网络类型是Broadcast。在该类型的网络中,通常以组播形式(224.0.0.5和224.0.0.6)发送协议报文。
NBMA(Non-Broadcast Multi-Access,非广播多路访问):当链路层协议是帧中继、ATM或X.25时,OSPF缺省认为网络类型是NBMA。在该类型的网络中,以单播形式发送协议报文。
P2MP(Point-to-MultiPoint,点到多点):没有一种链路层协议会被缺省的认为是P2MP类型。点到多点必须是由其他的网络类型强制更改的。常用做法是将NBMA改为点到多点的网络。在该类型的网络中,以组播形式(224.0.0.5)发送协议报文。
P2P(Point-to-Point,点到点):当链路层协议是PPP、HDLC时,OSPF缺省认为网络类型是P2P。在该类型的网络中,以组播形式(224.0.0.5)发送协议报文。
NBMA网络的配置原则
NBMA网络是指非广播、多点可达的网络,比较典型的有ATM和帧中继网络。
对于接口的网络类型为NBMA的网络需要进行一些特殊的配置。由于无法通过广播Hello报文的形式发现相邻路由器,必须手工为该接口指定相邻路由器的IP地址,以及该相邻路由器是否有DR选举权等。
NBMA网络必须是全连通的,即网络中任意两台路由器之间都必须有一条虚电路直接可达。如果部分路由器之间没有直接可达的链路时,应将接口配置成P2MP类型。如果路由器在NBMA网络中只有一个对端,也可将接口类型配置为P2P类型。
NBMA与P2MP网络之间的区别如下:
NBMA网络是指那些全连通的、非广播、多点可达网络。而P2MP网络,则并不需要一定是全连通的。
在NBMA网络中需要选举DR与BDR,而在P2MP网络中没有DR与BDR。
NBMA是一种缺省的网络类型,而P2MP网络必须是由其它的网络强制更改的。最常见的做法是将NBMA网络改为P2MP网络。
NBMA网络采用单播发送报文,需要手工配置邻居。P2MP网络采用组播方式发送报文。


DR/BDR

1. DR/BDR简介
在广播网和NBMA网络中,任意两台路由器之间都要交换路由信息。如果网络中有n台路由器,则需要建立n(n-1)/2个邻接关系。这使得任何一台路由器的路由变化都会导致多次传递,浪费了带宽资源。为解决这一问题,OSPF协议定义了指定路由器DR(Designated Router),所有路由器都只将信息发送给DR,由DR将网络链路状态发送出去。
如果DR由于某种故障而失效,则网络中的路由器必须重新选举DR,再与新的DR同步。这需要较长的时间,在这段时间内,路由的计算是不正确的。为了能够缩短这个过程,OSPF提出了BDR(Backup Designated Router,备份指定路由器)的概念。
BDR实际上是对DR的一个备份,在选举DR的同时也选举出BDR,BDR也和本网段内的所有路由器建立邻接关系并交换路由信息。当DR失效后,BDR会立即成为DR。由于不需要重新选举,并且邻接关系事先已建立,所以这个过程是非常短暂的。当然这时还需要再重新选举出一个新的BDR,虽然一样需要较长的时间,但并不会影响路由的计算。
DR和BDR之外的路由器(称为DR Other)之间将不再建立邻接关系,也不再交换任何路由信息。这样就减少了广播网和NBMA网络上各路由器之间邻接关系的数量。

2. DR/BDR选举过程
DR和BDR是由同一网段中所有的路由器根据路由器优先级、Router ID通过HELLO报文选举出来的,只有优先级大于0的路由器才具有选取资格。
进行DR/BDR选举时每台路由器将自己选出的DR写入Hello报文中,发给网段上的每台运行OSPF协议的路由器。当处于同一网段的两台路由器同时宣布自己是DR时,路由器优先级高者胜出。如果优先级相等,则Router ID大者胜出。如果一台路由器的优先级为0,则它不会被选举为DR或BDR。
需要注意的是:
只有在广播或NBMA类型接口才会选举DR,在点到点或点到多点类型的接口上不需要选举DR。
DR是某个网段中的概念,是针对路由器的接口而言的。某台路由器在一个接口上可能是DR,在另一个接口上有可能是BDR,或者是DR Other。
路由器的优先级可以影响一个选取过程,但是当DR/BDR已经选取完毕,就算一台具有更高优先级的路由器变为有效,也不会替换该网段中已经选取的DR/BDR成为新的DR/BDR。
DR并不一定就是路由器优先级最高的路由器接口;同理,BDR也并不一定就是路由器优先级次高的路由器接口。

以上是关于OSPF一些总结的主要内容,如果未能解决你的问题,请参考以下文章

OSPF协议超详总结

OSPF总结

OSPF总结

OSPF路由协议的总结

学习总结---OSPF协议

OSPF协议总结