首页 > 其他 > 详细

OSPF

时间:2020-04-06 00:33:31      阅读:54      评论:0      收藏:0      [点我收藏+]

OSPF

开放式最短路径优先协议,是LV,协议号为89。

在ospf出现之前主要使用RIP作为内部网关协议,但RIP存在较多问题:

  • 逐跳收敛 ,使网络收敛缓慢

  • 传闻路由更新机制,完全依赖从邻居路由器收到的更新信息,缺乏对全网拓扑的了解。

  • 以“跳数”为度量,存在次优路径风险

  • 最多有效跳数为15,不适用与大型网络与环形网络

  • 采用“收到更新”、”计算路由“、“发送路由”的路由收敛过程,收敛时间较长

ospf的优势:

  • 所有路由器各自维护一个链路状态数据库,基于SPF算法计算最优路由,收敛速度较快

  • 不传递路由表,而是传递链路状态信息,对全网拓扑有一定了解。

  • 以链路带宽为度量,cost值=参考带宽/实际带宽,参考带宽默认为100M

  • 条数无限制,LSDB可承受千条路由信息,足以支持大中型网络

  • 采用“收到更新”、“发送路由”、“计算路由”的路由收敛过程

 

ospf不使用传输层的TCP/UDP进行数据封装,报文直接封装在IP报文内,协议号为89。

 

8.1 名词介绍

8.1.1 Router Id

网络中的设备较多,每台路由器都需要有一个唯一的ID用于标识自己。

  • Router ID是一个32位的无符号整数,格式与IP地址一样,选举规则如下:

    • 手动配置的Router ID

    • Lookback接口中最大的IP地址

    • 物理接口中最大的IP地址

  • Router ID重新配置后,需要通过重置OSPF进程来更新Router ID。

 

8.1.2 Area

由于OSPF每台路由器都有全网的拓扑,如果这个网络比较庞大,任何一个网段的变化都会导致LSDB(链路状态数据库)发生变化,使触发路由器对所有的目的地最佳路线进行重算。

为了节约资源和加快路由器运行速度,于是OSPF进行了区域划分,每台路由器只需计算本区域的拓扑和知道怎么离开本区域就可以了。

OSPF有两种区域,一种是骨干区域,区域号一定为0,另一种是非骨干区域,区域号除了0都行。

非骨干区域必须和骨干区域相连,为了精简路由表,可以让非骨干区域只学习到本区域的路由,去其他区域走默认路由。

如果有非骨干区域由于某些原因无法直接与骨干区域相连,可以建立虚连接,但虚连接会使故障变的复杂,线路变的不稳定,一个全新设计的网络架构里面有虚链路是不合理的。

虚链路不需要Hello包来维持,是永久的。

 

8.3 网络类型

  • P2P网络:仅两台路由器相连,支持广播、组播。

  • 广播型网络:两台或两台以上的路由器通过共享介质互联。支持广播、组播。

  • NBMA网络:两台或两台以上的路由器通过VC互联,不支持广播、组播。必须全互联且需要给每个路由器手动配置邻居,现在使用很少。

  • P2MP:可看作多个P2P的集合,没有一种链路层协议默认属于P2MP网络,必须由其他的网络类型强制更改为P2MP,常见于将非完全连接的帧中继或ATM改位P2MP的网络。

 

8.4 报文类型

  • Hello报文:周期性发送,用来发现和维持OSPF邻居关系

  • DD报文: 报文中含有本地LSDB中每一条LSA的Header,即所有LSA的摘要信息,用与两台设备进行数据库同步。

  • LSR报文:用于向对方请求所需的LSA。只在ospf邻居双方成功交换过DD报文后才会发出

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

  • LSAck:用于对收到的LSA进行确认。

 

8.5 状态机

8.5.1 接口状态机

OSPF接口共有以下七种状态:

  • Down:接口的初始状态。表明此时接口不可用,不能用于收发流量。

  • Loopback:设备到网络的接口处于环回状态。环回接口不能用于正常的数据传输,但可以通过Router-LSA进行通告。因此,进行连通性测试时能够发现到达这个接口的路径。

  • Waiting:设备正在判定网络上的DR和BDR。在设备参与DR和BDR选举前,接口上会启动Waiting定时器。在这个定时器超时前,设备发送的Hello报文不包含DR和BDR信息,设备不能被选举为DR或BDR。这样可以避免不必要地改变链路中已存在的DR和BDR。仅NMBA网络、广播网络有此状态。

  • P-2-P:接口连接到物理点对点网络或者是虚拟链路,这个时候设备会与链路连接的另一端设备建立邻接关系。仅P2P、P2MP网络有此状态。

  • DROther:设备没有被选为DR或BDR,但连接到广播网络或NBMA网络上的其他设备被选举为DR。它会与DR和BDR建立邻接关系。

  • BDR:设备是相连的网络中的BDR,并将在当前的DR失效时成为DR。该设备与接入该网络的所有其他设备建立邻接关系。

  • DR:设备是相连的网络中的DR。该设备与接入该网络的所有其他设备建立邻接关系。

8.5.2 邻居状态机

  • 邻居关系:OSPF设备启动后,会通过OSPF接口向外发送Hello报文,如果和收到Hello报文的OSPF设备一致就会形成邻居关系,两端设备互为邻居。

  • 邻接关系:形成邻居关系后,如果两端设备成功交换DD报文和LSA,才建立邻接关系。

技术分享图片

 

 

OSPF共有8种状态机,分别是:Down、Attempt、Init、2-way、Exstart、Exchange、Loading、Full。

  • Down:邻居会话的初始阶段,OSPF已经启动,表明没有在邻居失效时间间隔内收到来自邻居路由器的Hello数据包。

  • Attempt:该状态仅发生在NBMA网络中,表明对端在邻居失效时间间隔(dead interval)超时后仍然没有回复Hello报文。此时路由器依然定期向对端发送Hello报文。

  • Init:收到Hello报文后发现自己不在所收到的Hello报文的邻居列表,尚未建立邻居关系。

  • 2-way:邻居关系已经建立,但未建立邻接关系,则状态为2-way;如果不需要形成邻接关系则邻居状态机就停留在此状态,否则进入Exstart状态。

  • Exstart:开始协商主从关系,一台为Master,另一台为Slave,并由master规定起始序列号,Slave使用序列号确认,此时报文中不包含链路状态摘要。

  • Exchange:主从关系协商完毕后开始交换DD报文描述本端路由器的LSDB,进行数据库同步。

  • Loading:DD报文交换完成即Exchange done,相互发送LSR请求LSA,LSU通告LSA。

  • Full:LSR重传列表为空,路由器的LSDB已经同步。

8.6 路由器类型

路由器类型含义
区域内路由器(Internal Router) 该类设备的所有接口都属于同一个OSPF区域。
区域边界路由器ABR(Area Border Router) 该类设备可以同时属于两个以上的区域,但其中一个必须是骨干区域。ABR用来连接骨干区域和非骨干区域,它与骨干区域之间既可以是物理连接,也可以是逻辑上的连接。
骨干路由器(Backbone Router) 该类设备至少有一个接口属于骨干区域。所有的ABR和位于Area0的内部设备都是骨干路由器。
自治系统边界路由器ASBR(AS Boundary Router) 与其他AS交换路由信息的设备称为ASBR。ASBR并不一定位于AS的边界,它可能是区域内设备,也可能是ABR。只要一台OSPF设备引入了外部路由的信息,它就成为ASBR。

8.7 LSA类型

LSA是路由器之间链路状态信息的载体,是LSDB的最小组成单位。

LSA类型LSA作用
Router-LSA(Type1) 每个设备都会产生,描述了设备的链路状态和开销,在所属的区域内传播。
Network-LSA(Type2) 由DR(Designated Router)产生,描述本网段的链路状态,在所属的区域内传播。
Network-summary-LSA(Type3) 由ABR产生,描述区域内某个网段的路由,并通告给发布或接收此LSA的非Totally STUB或NSSA区域。例如:ABR同时属于Area0和Area1,Area0内存在网段10.1.1.0,Area1内存在网段11.1.1.0,ABR为Area0生成到网段11.1.1.0的Type3 LSA;ABR为Area1生成到网段10.1.1.0的Type3 LSA,并通告给发布或接收此LSA的非Totally Stub或NSSA区域。
ASBR-summary-LSA(Type4) 由ABR产生,描述到ASBR的路由,通告给除ASBR所在区域的其他相关区域。
AS-external-LSA(Type5) 由ASBR产生,描述到AS外部的路由,通告到所有的区域(除了STUB区域和NSSA区域)。
NSSA LSA(Type7) 由ASBR产生,描述到AS外部的路由,仅在NSSA区域内传播。
Opaque LSA(Type9/Type10/Type11) Opaque LSA提供用于OSPF的扩展的通用机制。其中:Type9 LSA仅在接口所在网段范围内传播。用于支持GR的Grace LSA就是Type9 LSA的一种。Type10 LSA在区域内传播。用于支持TE的LSA就是Type10 LSA的一种。Type11 LSA在自治域内传播,目前还没有实际应用的例子。

8.8 路由类型

AS区域内和区域间路由描述的是AS内部的网络结构,AS外部路由则描述了应该如何选择到AS以外目的地址的路由。OSPF将引入的AS外部路由分为Type1和Type2两类。

 

路由类型含义
Intra Area 区域内路由。
Inter Area 区域间路由。
第一类外部路由(Type1 External) 这类路由的可信程度高一些,所以计算出的外部路由的开销与自治系统内部的路由开销是相当的,并且和OSPF自身路由的开销具有可比性。到第一类外部路由的开销=本设备到相应的ASBR的开销+ASBR到该路由目的地址的开销。
第二类外部路由(Type2 External) 这类路由的可信度比较低,所以OSPF协议认为从ASBR到自治系统之外的开销远远大于在自治系统之内到达ASBR的开销。所以,OSPF计算路由开销时只考虑ASBR到自治系统之外的开销,即到第二类外部路由的开销=ASBR到该路由目的地址的开销。

8.9 区域类型

区域类型作用
普通区域 缺省情况下,OSPF区域被定义为普通区域。普通区域包括标准区域和骨干区域。标准区域是最通用的区域,它传输区域内路由,区域间路由和外部路由。骨干区域是连接所有其他OSPF区域的中央区域。骨干区域通常用Area 0表示。
STUB区域 不发布自治系统外部路由,只允许发布区域内路由和区域间的路由。在STUB区域中,路由器的路由表规模和路由信息传递的数量都会大大减少。为了保证到自治系统外的路由可达,由该区域的ABR发布Type3缺省路由传播到区域内,所有到自治系统外部的路由都必须通过ABR才能发布。
Totally STUB区域 不发布自治系统外部路由和区域间的路由,只允许发布区域内路由。在Totally STUB区域中,路由器的路由表规模和路由信息传递的数量都会大大减少。为了保证到自治系统外和其他区域的路由可达,由该区域的ABR发布Type3缺省路由传播到区域内,所有到自治系统外部和其他区域的路由都必须通过ABR才能发布。
NSSA区域 NSSA区域允许引入自治系统外部路由,由ASBR发布Type7 LSA通告给本区域,这些Type7 LSA在ABR上转换成Type5 LSA,并且泛洪到整个OSPF域中。NSSA区域同时保留自治系统内的STUB区域的特征。该区域的ABR发布Type7缺省路由传播到区域内,所有域间路由都必须通过ABR才能发布。
Totally NSSA区域 Totally NSSA区域既不允许其他区域的外部路由ASE LSA(Type5 LSA)在区域内传播,也不允许区域间路由(Type3 LSA)在区域内传播。实现方法是配置Totally NSSA区域后,ABR会自动产生一条缺省的Type3 LSA通告到整个NSSA区域内。这样,其他区域的外部路由和区域间路由都可以通过ABR在区域内传播

8.10 LSA在各区域中传播的支持情况

区域类型Router-LSA(Type1)Network-LSA(Type2)Network-summary-LSA(Type3)ASBR-summary-LSA(Type4)AS-external-LSA(Type5)NSSA LSA(Type7)
普通区域(包括标准区域和骨干区域)
Stub区域
Totally Stub区域
NSSA区域
Totally NSSA区域

8.11 DR和BDR

在广播网和NBMA网络中任意两台路由器之间都要传递路由信息。网络中又n台路由器,需要建立n*(n-1)/2个邻接关系,这就造成了任意一台路由器的路由变化都会导致多次传递,浪费带宽资源。为了解决这个问题,ospf定义了DR(指定路由器)和BDR(备份指定路由器)。通过选举产生DR和BDR,所有路由器与DR和BDR建立邻接关系,并只将信息发给DR,由DR将LSA广播出去。如果DR出现故障,BDR将立即成为DR。

DR和BDR由本网段中的所有路由器共同选举出来。路由器接口的DR优先级决定了该接口在选举DR、BDR是所具有的资格。本文段内所有DR优先级大于0的路由器都可以作为“候选人”,每台路由器将自己选举的DR写入hello报文中,发给网段上的其他路由器,如果两台路由器同时宣布自己是DR时,DR优先级高者获胜,如果DR优先级相同,Router-ID较大者获胜。如果有优先级较高的路由器中间加入,也不会成为DR或BDR。

8.12 路由聚合

分为两种聚合:

  • ABR聚合

    ABR向其它区域发送路由信息时,以网段为单位生成3类LSA。如果该区域中存在一些连续网段,则可以通过命令将连续的网段聚合,只发送一条聚合后的LSA。

  • ASBR聚合

    配置路由聚合后,如果是ASBR,将对引入的聚合地址范围内的5类进行聚合,当配置了NSSA区域后还需要对7类LSA进行汇聚。如果既是ASBR又是ABR,则对7类转化为5类的LSA进行聚合。

8.13 报文验证

只有通过验证的OSPF报文才能接收,否则不能正常建立邻居关系。

支持两种验证方式:

  • 区域验证方式

  • 接口验证方式

当两种验证方式都存在时,优先使用接口验证方式。

8.14 网络收敛

OSPF使用LSA通告描述网络结构,即有向图。路由器会将LSDB转换成一张带权的有向图,各个路由器得到的有向图完全相同。

各个路由器根据有向图使用SPF算法计算出一棵以自己为根的最短路径树。

当拓扑不变而路由信息发生变化时,用部分路由计算算法(PRC),只需根据原有的拓扑生成新的路由信息。

 

 

OSPF

原文:https://www.cnblogs.com/tmjblog/p/12640030.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!