OSPF
3.1 OSPF基础
OSPFv2 RFC 2328 OSPFv3 RFC 2740 OSPF用IP报文直接封装协议报文,协议号为89。
3.1.1 OSPF的几个重要概念
AS、区域、路由器类型和路由类型,Router-ID
1、AS
运行相同的路由协议,且必须彼此相互连接,分配相同的AS号。
同一AS的路由器才会交换链路状态信息,且所有路由器都维护同一个相同AS结构描述(AS中个遇见的连接关系)的数据库。
2、区域
路由器单元,每个OSPF路由器只能在所属区域内学习到完整的链路状态信息(减小数据库量、优化存储空间、提高路由查找)。
只有OSPF和IS-IS协议中的AS可以划分多个区域。
区域:接口概念,不通区域间仅向外通告其聚合路由;可以最小化由于网络拓扑变化带来的影响。
3、路由器类型
区域内路由器(Internal Router,IR):所有接口都属于同一个区域内。
区域边界路由器(Area Border Routers,ABR):用来连接骨干区和非骨干区(可以是物理连接和逻辑连接)
自治系统边界路由器(AS Boundary Routers,ASBR):与其他AS交换路由信息的设备。通常位于AS边界,但也可以位于AS内,也可以同时是ABR。
4、路由类型
域内路由:域间IR路由之间的路由。用于IR设备间的互联,不向域外通告。
域间路由:区域间ABR之间的路由用于骨干区与非骨干区相互通告路由信息。
第一类外部路由:经由ASBR引入的外部路由,常为IGP类型(RIP、直连、静态、IS-IS、其它进程的OSPF路由)。开销值计算方法与OSPF的开销值计算方法具有可比性,可信度较高。到第一类外部路由的开销值=本设备到相应的ASBR的开销值+ASBR到该路由目的地址的开销值
第二类外部路由:经由ASBR引入的外部路由,常为EGP类型(如BGP),开销值与OSPF开销值计算方法不具有可比性,可信度较低。OSPF认为,从ASBR到AS之外的开销远远大于AS之内达到ASBR的开销。到第二类路由的开销值=ASBR到该路由目的地址的开销
注:第一类外部路由和第二类外部路由系统无法自动识别,由管理员手动设定。默认是第二类外部路由。
3.1.2 OSPF网络的设计考虑
1、OSPF网络的设计规划
(1)确定需运行OSPF协议的路由器
(2)合理地划分OSPF区域
网络拓扑变化会导致域内路由器重新计算路由;一个域内路由器最好不超过50台,当网络中的路由器数量少于20台时,可以只划分一个区域。
(3)注意ABR和ASBR的性能需求
ABR:建议最多连接3个区域
ASBR:建议不要连接太多的自治系统
2、OSPF区域划分原则
(1)按照地理区域划分或行政管理单位来划分
(2)按照网络中的路由器性能来划分
(3)按照IP网段来划分
(4)区域中路由器数的考虑
3.1.3 OSPF LSA类型
(1)Type1 LSA:路由器LSA(Router LSA)
每个OSPF路由器都会产生路由LSA,描述对应设备物理接口所链接的链路或接口,且指明了各种链路的状态、开销等参数。
(2)Type2 LSA:网络LSA(Network LSA)
DR或BDR产生,描述了DR或BDR所在网段的链路转台,区域内传播。因为DR和BDR仅存在于广播类型网络中,所以Type2 LSA仅存在广播网络中。
(3)Type3 LSA:网络聚合LSA(Network summary LSA)
ABR产生,描述区域内某个网段的聚合路由(包括缺省路由),并通告Totally Stub或NSSA区域(包括原网段所在区域,到达其他区域必须经过骨干区域转发该LSA)LSA到达ABR后,采用聚合路由进行传播,可大大减少区域内路由器的路由信息。
(4)Type4 LSA:ASBR聚合LSA(ASBR summary LSA)
由ABR产生,描述ABR到达OSPF路由域中各个ASBR的路由,通告给整个路由域。但仅可向普通区域中泛洪,不能进入Stub、Totally Stub、NSSA和Totally NSSA区域。
(5)Type5 LSA:自治系统外部LSA(Autonomous system external LSA)
ASBR参数,描述到达AS外部的路由,仅可向普通区域中泛洪,不能进入Stub、Totally Stub、NSSA和Totally NSSA区域。
(6)Type7 LSA:NSSA外部LSA(NSSA External LSA)
由ASBR产生,内容几乎和Type5 LSA相同,但专用于NSSA和Totally NSSA区域连接的ASBR向NSSA区域内泛洪外部AS的路由,然后经过NSSA区域ABR上传转换成Type5 LSA向OSPF路由域内其他区域中传播
(7)Type9/Type10/Type11 LSA:Opaque LSA
是一个被提议的LSA类别,在标砖的LSA头部后面加上特殊应用的信息组成,可以直接由OSPF协议使用,或者由其他应用分发信息到整个OSPF域间接使用。
Type9 LSA:仅在接口所在网段范围内传播。
Type10 LSA:在区域内传播
Type11 LSA:在自治系统内传播
3.1.4 几种特殊的OSPF区域
1、骨干区域
2、Stub区域
只有一个ABR,没有ASBR。没有虚连接穿越的非骨干区域。
禁止Type4 LSA和Type5 LSA通过ABR向内泛洪来实现,仅允许同一AS中的其它Type3 LSA通过ABR进入区域泛洪。仅有LSA1、LSA2(广播网络中才有)、LSA3存在。由ABR向本区域泛洪一条指向自己的默认路由。
3、Totally Stub区域
与Stub区域相似,但LSA的限制更加的严格。
阻止同一AS内的其它LSA3经过ABR向区域内泛洪。只有LSA1、LSA2(广播网络)。ABR向区域内泛洪一条指向自己的默认路由。
4、NSSA区域(Not-So-Stubby Area 非纯末梢区域)
Stub的延伸或修订版,允许位于非边缘区域,可以有多个ABR,可以有一个或多个ASBR。
LSA限制:
允许从其直接连接的ASBR上引入AS外部路由以LSA7进入NSSA区域中泛洪,然后在ABR上转换成LSA5后,以自己的身份发布到区域之外。
允许域间的LSA3进入区域内部泛洪,拒绝其他区域中的ASBR连接的AS外部理由相关的LSA4和LSA5向内泛洪。在其中一个ASBR上向内泛洪一条指向自己的默认路由。
5、Totally NSSA区域
与NSSA一样,可以位于非边缘区域,可以有多个ABR和ASBR
与NSSA一样,允许区域中ASBR引入的AS外部路由以LSA7进入区域内部泛洪,然后由ABR转换成LSA5向OSPF区域中其他区域进行发布,拒绝其他区域中的ASBR引入的路由(LSA4、LSA5)进入区域内部泛洪。
与Totally Stub区域一样,拒绝LSA3进入内部泛洪(NSSA区域允许)。
在区域中选择一个ABR和ASBR,在其中配置一条指向自己的默认路由,然后在Totally NSSA区域内泛洪,使该ABR或ASBR作为区域内部路由器与其他区域或其他区域中连接的外部AS进行同行的唯一出口。
3.1.5 OSPF的网络类型
1、广播类型
链路层协议是Ethernet、FDDI时。默认是广播类型。
以组播形式(224.0.0.5)发送hello报文及源自DR的选举报文。
以组播形式(224.0.0.6)向DR发送LSU报文,然后DR将该LSU发送到224.0.0.5
以单播形式发送DBD报文、LSR报文和所有重传报文
正常情况下,以组播形式(224.0.0.5)发送LSAck报文,当设备收到重复的LSA或达到最大生存时间的LSA被删除时,LSAck以单播形式发送。
2、NBMA类型
链路层协议是帧中继、X。25时,OSPF默认网络类型是NBMA。所有报文都以单播形式发送。
3、点到多点类型
因为链路层协议中没有Point-to-Multipoint的概念,所以P2MP必须是由其他网络类型强制更改的。以组播形式(224.0.0.5)发送hello报文,单播形式发送其余报文。
4、点到点P2P(Ponit-to-Point)类型
链路层协议是PPP、HDLC和LAPB时,OSPF默认类型是P2P,以组播(224.0.0.5)形式发送所有报文。