OSPF协议原理与配置方法

一、OSPF协议原理

OSPF是一种基于链路状态的路由协议,它从设计上就保证了无路由环路。它支持区域的划分,区域内部的路由器使用SPF最短路径算法保证了区域内部的无环路。同时它还利用区域间的连接规则保证了区域之间无路由环路。OSPF支持触发更新,能够快速检测并通告自治系统内的拓扑变化。当网络上路由器越来越多,路由信息流量急剧增长的时候,OSPF可以将每个自治系统划分为多个区域,并限制每个区域的范围。OSPF这种分区域的特点,使得OSPF特别适用于大中型网络。OSPF还可以同其他协议(比如多协议标记切换协议MPLS)同时运行来支持地理覆盖很广的网络。OSPF可以提供认证功能。OSPF路由器之间的报文可以配置成必须经过认证才能进行交换。

1.1 OSPF协议报文格式

OSPF用IP报文直接封装协议报文,协议号为89。OSPF分为5种报文:Hello报文、DD报文、LSR报文、LSU报文和LSAck报文
OSPF这五种报文具有相同的报文头格式,长度为24字节。

1.1.1 OSPF报文头部格式

OSPF协议原理与配置方法_第1张图片

字段 长度 含义
Version 1字节 版本,OSPF的版本号。对于OSPFv2来说,其值为2
Type 1字节 类型,OSPF报文的类型,有下面几种类型:1:Hello报文;2:DD报文;3:LSR报文;4:LSU报文;5:LSAck报文
Packet length 2字节 OSPF报文的总长度,包括报文头在内,单位为字节
Router ID 4字节 发送该报文的路由器标识
Area ID 4字节 发送该报文的所属区域
Checksum 2字节 校验和,包含除了认证字段的整个报文的校验和
AuType 2字节 验证类型,值有如下几种表示, 0:不验证;1:简单认证;2:MD5认证
Authentication 8字节 鉴定字段,其数值根据验证类型而定。当验证类型为0时未作定义;类型为1时此字段为密码信息;类型为2时此字段包括Key ID、MD5验证数据长度和序列号的信息,MD5验证数据添加在OSPF报文后面,不包含在Authenticaiton字段中。

1.1.2 OSPF Hello报文格式

Hello报文是最常用的一种报文,其作用为建立和维护邻接关系,周期性的在使能了OSPF的接口上发送。报文内容包括一些定时器的数值、DR、BDR以及自己已知的邻居。
OSPF协议原理与配置方法_第2张图片

字段 长度 含义
Network Mask 32比特 发送Hello报文的接口所在网络的掩码
HelloInterval 16比特 发送Hello报文的时间间隔。
Options 8比特 可选项:E:允许Flood AS-External-LSAs ;MC:转发IP组播报文 ;N/P:处理Type-7 LSAs ;DC:处理按需链路
Rtr Pri 8比特 DR优先级。默认为1。如果设置为0,则路由器不能参与DR或BDR的选举
RouterDeadInterval 32比特 失效时间。如果在此时间内未收到邻居发来的Hello报文,则认为邻居失效
Designated Router 32比特 DR的接口地址
Backup Designated Router 32比特 BDR的接口地址
Neighbor 32比特 邻居,以Router ID标识

1.1.3 OSPF DD报文格式

两台路由器在邻接关系初始化时,用DD报文(Database Description Packet)来描述自己的LSDB,进行数据库的同步。报文内容包括LSDB中每一条LSA的Header(LSA的Header可以唯一标识一条LSA)。LSA Header只占一条LSA的整个数据量的一小部分,这样可以减少路由器之间的协议报文流量,对端路由器根据LSA Header就可以判断出是否已有这条LSA。在两台路由器交换DD报文的过程中,一台为Master,另一台为Slave。由Master规定起始序列号,每发送一个DD报文序列号加1,Slave方使用Master的序列号作为确认。
OSPF协议原理与配置方法_第3张图片

字段 长度 含义
Interface MTU 16比特 在不分片的情况下,此接口最大可发出的IP报文长度
Options 8比特 可选项:E:允许Flood AS-External-LSAs;MC:转发IP组播报文;N/P:处理Type-7 LSAs;DC:处理按需链路。
I 1比特 当发送连续多个DD报文时,如果这是第一个DD报文,则置为1,否则置为0。
M (More) 1比特 当发送连续多个DD报文时,如果这是最后一个DD报文,则置为0。否则置为1,表示后面还有其他的DD报文。
M/S (Master/Slave) 1比特 当两台OSPF路由器交换DD报文时,首先需要确定双方的主从关系,Router ID大的一方会成为Master。当值为1时表示发送方为Master。
DD sequence number 32比特 DD报文序列号。主从双方利用序列号来保证DD报文传输的可靠性和完整性。
LSA Headers 可变 该DD报文中所包含的LSA的头部信息。

1.1.4 OSPF LSR报文格式

两台路由器互相交换过DD报文之后,知道对端的路由器有哪些LSA是本地的LSDB所缺少的和哪些LSA是已经失效的,这时需要发送LSR报文(Link State Request Packet)向对方请求所需的LSA。内容包括所需要的LSA的摘要。LSR报文格式如下图所示,其中LS type、Link State ID和Advertising Router可以唯一标识出一个LSA,当两个LSA一样时,需要根据LSA中的LS sequence number、LS checksum和LS age来判断出所需要LSA的新旧。
OSPF协议原理与配置方法_第4张图片

字段 长度 含义
LS type 32比特 LSA的类型号
Link State ID 32比特 根据LSA中的LS Type和LSA description在路由域中描述一个LSA
Advertising Router 32比特 产生此LSA的路由器的Router ID

1.1.5 OSPF LSU报文格式

用来向对端Router发送其所需要的LSA或者泛洪自己更新的LSA,内容是多条LSA(全部内容)的集合。LSU报文(Link State Update Packet)在支持组播和广播的链路上是以组播形式将LSA泛洪出去。为了实现Flooding的可靠性传输,需要LSAck报文对其进行确认。对没有收到确认报文的LSA进行重传,重传的LSA是直接发送到邻居的。OSPF协议原理与配置方法_第5张图片

字段 长度 含义
Number of LSAs 32比特 LSA的数量。

常用的LSA共有5种,分别为:Router-LSA、Network-LSA、Network-summary-LSA、ASBR-summary-LSA和AS-External-LSA。所有的LSA都有相同的报文头。

1.1.5.1 LSA报文头部格式

OSPF协议原理与配置方法_第6张图片

字段 长度 含义
LS age 16比特 LSA产生后所经过的时间,以秒为单位。无论LSA是在链路上传送,还是保存在LSDB中,其值都会在不停的增长
Options 8比特 可选项:E:允许泛洪AS-External-LSA;MC:转发IP组播报文;N/P:处理Type-7 LSA;DC:处理按需链路
LS type 8比特 LSA的类型:Type1:Router-LSA;Type2:Network-LSA;Type3:Network-summary-LSA;Type4:ASBR-summary-LSA;Type5:AS-External-LSA;Type7:NSSA-LSA
Link State ID 32比特 与LSA中的LS Type和LSA description一起在路由域中描述一个LSA
Advertising Router 32比特 产生此LSA的路由器的Router ID
LS sequence number 32比特 LSA的序列号。其他路由器根据这个值可以判断哪个LSA是最新的。
LS checksum 16比特 除了LS age外其它各域的校验和
length 16比特 LSA的总长度,包括LSA Header,以字节为单位
1.1.5.2 Router-LSA

Router-LSA(Type1):每个路由器都会产生,描述了路由器的链路状态和开销,在所属的区域内传播。
OSPF协议原理与配置方法_第7张图片

字段 长度 含义
Link State ID 32比特 生成LSA的Router ID
V (Virtual Link) 1比特 如果产生此LSA的路由器是虚连接的端点,则置为1。
E (External) 1比特 如果产生此LSA的路由器是ASBR,则置为1。
B (Border) 1比特 如果产生此LSA的路由器是ABR,则置为1。
# links 16比特 LSA中所描述的链路信息的数量,包括路由器上处于某区域中的所有链路和接口
Link ID 32比特 路由器所接入的目标,其值取决于连接的类型:1:Router ID;2:DR的接口IP地址;3:网段/子网号;4:虚连接中对端的Router ID。
Link Data 32比特 连接数据,其值取决于连接的类型:unnumbered P2P:接口的索引值;stub网络:子网掩码;其它连接:路由器接口的IP地址。
Type 8比特 路由器连接的基本描述:1:点到点连接到另一台路由器;2:连接到传输网络;3:连接到stub网络;4:虚拟链路。
# TOS 8比特 连接不同的TOS数量。
metric 16比特 链路的开销值。
TOS 8比特 服务类型。
TOS metric 16比特 和指定TOS值相关联的度量。
1.1.5.3 Network-LSA

Network-LSA(Type2):由广播网或NBMA网络中的DR产生,Network-LSA中记录了这一网络上所有路由器的Router ID,描述本网段的链路状态,在所属的区域内传播。
OSPF协议原理与配置方法_第8张图片

字段 长度 含义
Link State ID 32比特 DR的接口IP地址
Network Mask 32比特 该广播网或NBMA网络地址的掩码
Attached Router 32比特 连接在同一个网络上的所有路由器的Router ID,也包括DR的Router ID
1.1.5.4 Summary-LSA格式

Network-summary-LSA(Type3):描述区域内所有网段的路由,并通告给其他相关区域。
ASBR-summary-LSA(Type4):描述到ASBR的路由,通告给除ASBR所在区域的其他相关区域。
Type3和Type4的LSA有相同的格式,它们都是由ABR产生。
OSPF协议原理与配置方法_第9张图片

字段 长度 含义
Link State ID 32比特 通告的网络地址。如果是ASBR Summary LSA,此字段表示ASBR的Router ID
Network Mask 32比特 该广播网或NBMA网络地址的掩码。如果是ASBR Summary LSA,此字段无意义,设置为0.0.0.0
metric 24比特 到目的地址的路由开销
TOS 8比特 服务类型
TOS metric 24比特 和指定TOS值相关联的度量

通告缺省路由时,Link State ID和Network Mask都设置为0.0.0.0。

1.1.5.5 AS-External-LSA

AS-External-LSA(Type5):由ASBR产生,描述到AS外部的路由,这是五种LSA中,唯一一种通告到所有区域(除了Stub区域和NSSA区域)的LSA。
OSPF协议原理与配置方法_第10张图片

字段 长度 含义
Link State ID 32比特 通告的网络地址
Network Mask 32比特 通告的目的地址的掩码
E 1比特 外部度量值类型:0:第一类外部路由;1:第二类外部路由。
metric 24比特 到目的地址的路由开销
Forwarding Address 32比特 到所通告的目的地址的报文将被转发到这个地址
External Route Tag 32比特 添加到外部路由上的标记。OSPF本身并不使用这个字段,它可以用来对外部路由进行管理
TOS 8比特 服务类型
TOS metric 24比特 TOS附加距离信息

1.1.6 OSPF LSAck报文格式

用来对接收到的LSU报文进行确认。内容是需要确认的LSA的Header(一个LSAck报文可对多个LSA进行确认)。LSAck(Link State Acknowledgment Packet)报文根据不同的链路以单播或组播的形式发送。
OSPF协议原理与配置方法_第11张图片

字段 长度 含义
LSAs Headers 可变 通过LSA的头部信息确认收到该LSA

1.2 OSPF术语简述

  • Route ID:Router ID是一个32位的值,它唯一标识了一个自治系统内的路由器,可以为每台运行OSPF的路由器上可以手动配置一个Router ID,或者指定一个IP地址作为Router ID。如果设备存在多个逻辑接口地址,则路由器使用逻辑接口中最大的IP地址作为Router ID;如果没有配置逻辑接口,则路由器使用物理接口的最大IP地址作为Router ID。在为一台运行OSPF的路由器配置新的Router ID后,可以在路由器上通过重置OSPF进程来更新Router ID。通常建议手动配置Router ID,以防止Router ID因为接口地址的变化而改变。

  • 邻居(Neighbor):送LSA之前必须先发现邻居并建立邻居关系。

  • 邻接(Adjacency):形成邻居关系的双方不一定都能形成邻接关系,这要根据网络类型而定。只有当双方成功交换DD报文,并能交换LSA之后,才形成真正意义上的邻接关系。

  • DR:指定路由器,其负责在MA网络建立和维护邻接关系并负责LSA的同步。DR与其他所有的路由器形成邻接关系并交换链路状态信息,其他路由器不直接交换链路状态信息,这样大大减少了MA网络中邻接关系的数量和交换链路状态信息消耗的资源。DR一旦出现故障,与其他路由器的邻接关系立即失效,链路状态数据库也无法同步,此时就需要重新选举DR,再与非DR路由器建立邻接关系,完成LSA的同步。一般的通过选举备份指定路由器BDR避免此故障,在DR故障时BDR快速接管DR的工作。

  • BDR:DR的备份路由器

1.3 OSPF协议过程

OSPF要求每台运行OSPF的路由器都了解整个网络的链路状态信息,这样才能计算出到达目的地的最优路径。OSPF的收敛过程由链路状态公告LSA(Link State Advertisement)泛洪开始,LSA中包含了路由器已知的接口IP地址、掩码、开销和网络类型等信息。收到LSA的路由器都可以根据LSA提供的信息建立自己的链路状态数据库LSDB(Link State Database),并在LSDB的基础上使用SPF算法进行运算,建立起到达每个网络的最短路径树。最后,通过最短路径树得出到达目的网络的最优路由,并将其加入到IP路由表中,过程如下:

  1. 通过交换Hello数据包来创建邻居关系
  2. 以传播LSA(链路状态信息)代替路由表更新
  3. 将LSA泛洪到区域中所有的OSPF路由器,而不仅仅是直连的路由器
  4. 收集由OSPF路由器生成的所有LSA,以创建OSPF链路状态数据库
  5. 使用OSPF算法,计算到每个路由器目的地的最短距离,并将其置于路由表中

1.4 OSPF邻居状态机

OSPF协议原理与配置方法_第12张图片
邻居和邻接关系建立的过程如下:

  1. Down:这是邻居的初始状态,表示没有从邻居收到任何信息。
  2. Attempt:此状态只在NBMA网络上存在,表示没有收到邻居的任何信息,但是已经周期性的向邻居发送报文,发送间隔为HelloInterval。如果RouterDeadInterval间隔内未收到邻居的Hello报文,则转为Down状态。
  3. Init:在此状态下,路由器已经从邻居收到了Hello报文,但是自己不在所收到的Hello报文的邻居列表中,尚未与邻居建立双向通信关系。
  4. 2-Way:在此状态下,双向通信已经建立,但是没有与邻居建立邻接关系。这是建立邻接关系以前的最高级状态。
  5. ExStart:这是形成邻接关系的第一个步骤,邻居状态变成此状态以后,路由器开始向邻居发送DD报文。主从关系是在此状态下形成的,初始DD序列号也是在此状态下决定的。在此状态下发送的DD报文不包含链路状态描述。
  6. Exchange:此状态下路由器相互发送包含链路状态信息摘要的DD报文,描述本地LSDB的内容。
  7. Loading:相互发送LSR报文请求LSA,发送LSU报文通告LSA。
  8. Full:路由器的LSDB已经同步。
    图例:
    OSPF协议原理与配置方法_第13张图片

OSPF的邻居发现过程是基于Hello报文来实现的,如果路由器发现所接收的合法Hello报文的邻居列表中有自己的Router ID,则认为已经和邻居建立了双向连接,表示邻居关系已经建立。
验证一个接收到的Hello报文是否合法包括:

  • 如果接收端口的网络类型是广播型,点到多点或者NBMA,所接收的Hello报文中Network Mask字段必须和接收端口的网络掩码一致,如果接收端口的网络类型为点到点类型或者是虚连接,则不检查Network Mask字段;
  • 所接收的Hello报文中Hello Interval字段必须和接收端口的配置一致;
  • 所接收的Hello报文中Router Dead Interval字段必须和接收端口的配置一致;
  • 所接收的Hello报文中Options字段中的E-bit(表示是否接收外部路由信息)必须和相关区域的配置一致。

路由器在建立完成邻居关系之后,便开始进行数据库同步,具体过程如下:

  1. 邻居状态变为ExStart以后,RTA向RTB发送第一个DD报文,在这个报文中,DD序列号被设置为X(假设),RTA宣告自己为主路由器。
  2. RTB也向RTA发送第一个DD报文,在这个报文中,DD序列号被设置为Y(假设)。RTB也宣告自己为主路由器。由于RTB的Router ID比RTA的大,所以RTB应当为真正的主路由器。
  3. RTA发送一个新的DD报文,在这个新的报文中包含LSDB的摘要信息,序列号设置为RTB在步骤2里使用的序列号,因此RTB将邻居状态改变为Exchange。
  4. 邻居状态变为Exchange以后,RTB发送一个新的DD报文,该报文中包含LSDB的描述信息,DD序列号设为Y+1(上次使用的序列号加1)。
  5. 即使RTA不需要新的DD报文描述自己的LSDB,但是作为从路由器,RTA需要对主路由器RTB发送的每一个DD报文进行确认。所以,RTA向RTB发送一个内容为空的DD报文,序列号为Y+1。发送完最后一个DD报文之后,RTA将邻居状态改变为Loading;RTB收到最后一个DD报文之后,改变状态为Full(假设RTB的LSDB是最新最全的,不需要向RTA请求更新)。
  6. 邻居状态变为Loading之后,RTA开始向RTB发送LSR报文,请求那些在Exchange状态下通过DD报文发现的,而且在本地LSDB中没有的链路状态信息。
  7. RTB收到LSR报文之后,向RTA发送LSU报文,在LSU报文中,包含了那些被请求的链路状态的详细信息。RTA收到LSU报文之后,将邻居状态从Loading改变成Full。
  8. RTA向RTB发送LSACK报文,用于对已接收LSA的确认。
    此时,RTA和RTB之间的邻居状态变成Full,表示达到完全邻接状态。
  9. 邻接关系建立完成,意味着LSDB已同步完成,接下来OSPF路由器将基于LSDB使用SPF算法计算路由。

1.5 OSPF支持的网络类型

OSPF定义了四种网络类型,分别是点到点网络,广播型网络,NBMA网络和点到多点网络。
在P2P(点到点)、P2MP(点到多点)网络上具有邻居关系的路由器会进一步建立邻接关系,在广播型(Broadcost)网络和非广播多路访问(NBMA)网络上,非DR/BDR之间只能建立邻接关系,不能建立邻接关系,,非DR/BDR路由器与DR/BDR路由器之间只会建立邻接关系。
OSPF协议原理与配置方法_第14张图片

  • 点到点网络是指只把两台路由器直接相连的网络。一个运行PPP的64K串行线路就是一个点到点网络的例子。
  • 广播型网络是指支持两台以上路由器,并且具有广播能力的网络。一个含有三台路由器的以太网就是一个广播型网络的例子。
  • NBMA:在NBMA网络上,OSPF模拟在广播型网络上的操作,但是每个路由器的邻居需要手动配置。NBMA方式要求网络中的路由器组成全连接。
  • P2MP:将整个网络看成是一组点到点网络。对于不能组成全连接的网络应当使用点到多点方式,例如只使用PVC的不完全连接的帧中继网络。

OSPF可以在不支持广播的多路访问网络上运行,此类网络包括在hub-spoke拓扑上运行的帧中继(FR)和异步传输模式(ATM)网络,这些网络的通信依赖于虚电路。OSPF定义了两种支持多路访问的网络类型:非广播多路访问网络(NBMA)和点到多点网络(Point To Multi-Points)。

1.6 DR&BDR的选举

DR是基于端口的路由器优先级的值进行选举的。

OSPF协议原理与配置方法_第15张图片
在邻居发现完成之后,路由器会根据网段类型进行DR选举。在广播和NBMA网络上,路由器会根据参与选举的每个接口的优先级进行DR选举。优先级取值范围为0-255,值越高越优先。缺省情况下,接口优先级为1。如果一个接口优先级为0,那么该接口将不会参与DR或者BDR的选举。如果优先级相同时,则比较Router ID,值越大越优先被选举为DR。
为了给DR做备份,每个广播和NBMA网络上还要选举一个BDR。BDR也会与网络上所有的路由器建立邻接关系。
为了维护网络上邻接关系的稳定性,如果网络中已经存在DR和BDR,则新添加进该网络的路由器不会成为DR和BDR,不管该路由器的Router Priority是否最大。如果当前DR发生故障,则当前BDR自动成为新的DR,网络中重新选举BDR;如果当前BDR发生故障,则DR不变,重新选举BDR。这种选举机制的目的是为了保持邻接关系的稳定,使拓扑结构的改变对邻接关系的影响尽量小。

1.7 OSPF的区域

  • 每个区域都维护一个独立的LSDB。
  • Area 0是骨干区域,其他区域都必须与此区域相连。
    OSPF协议原理与配置方法_第16张图片
    OSPF支持将一组网段组合在一起,这样的一个组合称为一个区域。
    划分OSPF区域可以缩小路由器的LSDB规模,减少网络流量。
    区域内的详细拓扑信息不向其他区域发送,区域间传递的是抽象的路由信息,而不是详细的描述拓扑结构的链路状态信息。每个区域都有自己的LSDB,不同区域的LSDB是不同的。路由器会为每一个自己所连接到的区域维护一个单独的LSDB。由于详细链路状态信息不会被发布到区域以外,因此LSDB的规模大大缩小了。Area 0为骨干区域,为了避免区域间路由环路,非骨干区域之间不允许直接相互发布路由信息。因此,每个区域都必须连接到骨干区域。运行在区域之间的路由器叫做区域边界路由器ABR(Area Boundary Router),它包含所有相连区域的LSDB。自治系统边界路由器ASBR(Autonomous System Boundary Router)是指和其他AS中的路由器交换路由信息的路由器,这种路由器会向整个AS通告AS外部路由信息。在规模较小的企业网络中,可以把所有的路由器划分到同一个区域中,同一个OSPF区域中的路由器中的LSDB是完全一致的。OSPF区域号可以手动配置,为了便于将来的网络扩展,推荐将该区域号设置为0,即骨干区域。

1.7.1 OSPF的骨干区域Area 0与虚连接(Virtual Link)

1.7.1.1 OSPF的骨干区域Area 0

OSPF 划分区域之后,并非所有的区域都是平等的关系。其中有一个区域是与众不同的,它的区域号是 0,通常被称为骨干区域。骨干区域负责区域之间的路由,非骨干区域之间的路由信息必须通过骨干区域来转发。对此,OSPF 有两个规定:
A、所有非骨干区域必须与骨干区域保持连通;
B、 骨干区域自身也必须保持连通。
在实际应用中,可能会因为各方面条件的限制,无法满足上面的要求。这时可以通过配置 OSPF 虚连接予以解决。

1.7.1.1 OSPF的虚连接

虚连接是指在两台 ABR 之间通过一个非骨干区域而建立的一条逻辑上的连接通道。它的两端必须是 ABR,而且必须在两端同时配置方可生效。为虚连接两端提供一条非骨干区域内部路由的区域称为传输区(Transit Area)。OSPF协议原理与配置方法_第17张图片
虚连接的另外一个应用是提供冗余的备份链路,当骨干区域因链路故障不能保持连通时,通过虚连接仍然可以保证骨干区域在逻辑上的连通性。OSPF协议原理与配置方法_第18张图片
虚连接相当于在两个 ABR 之间形成了一个点到点的连接,因此,在这个连接上,和物理接口一样可以配置接口的各参数,如发送 Hello 报文间隔等。
两台ABR之间直接传递OSPF报文信息,它们之间的OSPF路由器只是起到一个转发报文的作用。由于协议报文的目的地址不是中间这些路由器,所以这些报文对于它们而言是透明的,只是当作普通的 IP 报文来转发。

1.7.2 OSPF的非骨干区域

1.7.2.1 标准区域

标准区域可以接受任何链路更新信息和路由汇总信息。

1.7.2.2 末梢区域(stub)

只有一个区域相连的非骨干区域,不接受外部自治系统的LSA(类型5),路由器会把去往外部的信息采用缺省路由0.0.0.0发送出去。只承载本区域发起的流量和访问本区域的流量。Stub区域的ABR不向Stub区域内传播它接收到的自治系统外部路由(对应四类、五类LSA),Stub区域中路由器的LSDB、路由表规模都会大大减小。为保证Stub区域能够到达自治系统外部,Stub区域的ABR将生成一条缺省路由(对应三类LSA),并发布给Stub区域中的其他路由器。Stub区域是一种可选的配置属性,但并不建议将每个区域都配置为Stub区域。通常来说,Stub区域位于自治系统的末梢,是那些只有一个ABR的非骨干区域。
配置Stub区域时需要注意下列几点:

  1. 骨干区域不能被配置为Stub区域。
  2. 如果要将一个区域配置成Stub区域,则该区域中的所有路由器必须都要配置成Stub路由器。假如Stub区域内有一个路由器为配置Stub,那么该路由器与Stub区域内其他路由器不能建立邻居关系。
  3. Stub区域内不能存在ASBR,自治系统外部路由不能在本区域内传播。虚连接不能穿越Stub区域建立。
[Huawei-ospf-1-area-0.0.0.1]stub
1.7.2.3 完全末梢区域(Totally stub)

一种更加经济的末梢区域,不接受类型3、4、5的LSA,路由器也会把去往外部的信息采用缺省路由0.0.0.0发送出去。Totally Stub区域既不允许自治系统外部路由(四类、五类LSA)在本区域内传播,也不允许区域间路由(三类LSA)在本区域内传播。Totally Stub区域内的路由器对其他区域及自制系统外部的访问需求是通过本区域ABR所产生的三类LSA缺省路由实现的。与Stub区域配置的区别在于,在ABR上需要追加no-summary参数。

[Huawei-ospf-1-area-0.0.0.1]stub no-summary 
1.7.2.4 非纯末梢区域(NSSA)

NSSA(Not-So-Stubby Area)区域是 Stub 区域的变形,与 Stub 区域的区别在于 NSSA 区域允许引入自治系统外部路由,由 ASBR 发布 Type-7 LSA 通告给本区域。当 Type-7 LSA 到达 NSSA 的ABR 时,由 ABR 将 Type-7 LSA 转换成 Type-5 LSA,传播到其他区域。可以将区域配置为 Totally NSSA(完全 NSSA)区域,该区域的 ABR 不会将区域间的路由信息传递到本区域。为保证到本自治系统的其他区域的路由依旧可达,该区域的 ABR 将生成一条缺省路由 Type-3 LSA,发布给本区域中的其他非 ABR 路由器。

1.8 开销以及认证方式

1.8.1 OSPF的开销

  • OSPF的开销计算公式为带宽参考值/带宽 。
  • 可以通过bandwidth-reference命令来设置带宽参考值。

OSPF协议原理与配置方法_第19张图片

[RTA]interface GigabitEthernet 0/0/0
[RTA- GigabitEthernet0/0/0]ospf cost 20 
[RTB]ospf
[RTB-ospf-1]bandwidth-reference 10000

OSPF基于接口带宽计算开销,计算公式为:接口开销=带宽参考值/带宽。带宽参考值可配置,缺省为100Mbit/s。以此,一个64kbit/s串口的开销为1562,一个E1接口(2.048 Mbit/s)的开销为48。命令bandwidth-reference可以用来调整带宽参考值,从而可以改变接口开销,带宽参考值越大,开销越准确。在支持10Gbit/s速率的情况下,推荐将带宽参考值提高到10000Mbit/s来分别为10 Gbit/s、1 Gbit/s和100Mbit/s的链路提供1、10和100的开销。注意,配置带宽参考值时,需要在整个OSPF网络中统一进行调整。
另外,还可以通过ospf cost命令来手动为一个接口调整开销,开销值范围是1~65535,缺省值为1。

1.8.2 OSPF认证方式

OSPF支持简单认证及加密认证功能,加密认证对潜在的攻击行为有更强的防范性。OSPF认证可以配置在接口或区域上,配置接口认证方式的优先级高于区域认证方式。
接口或区域上都可以运行ospf authentication-mode { simple [ [ plain ] | cipher ] | null } 命令来配置简单认证,参数plain表示使用明文密码,参数cipher表示使用密文密码,参数null表示不认证。
命令ospf authentication-mode { md5 | hmac-md5 } [ key-id { plain | [ cipher ] } ] 用于配置加密认证,MD5是一种保证链路认证安全的加密算法(具体配置已在举例中给出),参数key-id表示接口加密认证中的认证密钥ID,它必须与对端上的key-id一致。

二、OSPF配置方法

OSPF协议原理与配置方法_第20张图片

[RTA]ospf router-id 1.1.1.1
[RTA-ospf-1]area 0
[RTA-ospf-1-area-0.0.0.0]network 192.168.1.0 0.0.0.255

OSPF协议原理与配置方法_第21张图片

[RTA]interface GigabitEthernet0/0/0
[RTA-GigabitEthernet0/0/0]ospf authentication-mode md5 1 huawei

你可能感兴趣的:(数通,ospf)