OSPF

Posted

tags:

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

OSPF基本概念
1.OSPF(Open Shortest Path First,开放最短路径优先)
是IETF(Internet Engineering Task Force,互联网工程任务组)组织开发的一个基于链路状态的内部网关协议。目前针对IPv4协议使用的是OSPF Version 2。
由于链路状态选路算法使用SPF计算最短路径,在网站规模变大时比距离向量算法具有更好的拓展性,因此,OSPF也具有了更好的性能。
OSPF支持负载均衡(Loading Balancing)和基于服务类型的选路(TOS Routing),也支持多种路由形式,如特定主机路由和子网路由等。若存在到某个路由谜底网络的多条费用相等的最佳通路,OSPF能够将流量均匀地分配到这几条路由上。
OSPF支持内部的层次化选路,将域内网络划分成若干区域(Area)。区域自包含的(Self-Contained),区域内的拓扑结构对其他区域隐藏。各个区域能够合作地利用OSPF进行选路,同时又使个区域保留了独立改变其内部拓扑结构的能力。这使得OSPF协议更易于拓展和整理,能够使用于大规模网络。
OSPF路由的计算过程
l每台OSPF路由器根据自己周围的网络拓扑结构生成LSA(Link State Advertisement,链路状态通告),并通过更新报文将LSA发送给网络中的其它OSPF路由器。
l每台OSPF路由器都会收集其它路由器通告的LSA,所有的LSA放在一起便组成了LSDB(Link State Database,链路状态数据库)。LSA是对路由器周围网络拓扑结构的描述,LSDB则是对整个自治系统的网络拓扑结构的描述。
l OSPF路由器将LSDB转换成一张带权的有向图,这张图便是对整个网络拓扑结构的真实反映。各个路由器得到的有向图是完全相同的。
l OSPF路由器将LSDB转换成一张带权的有向图,这张图便是对整个网络拓扑结构的真实反映。各个路由器得到的有向图是完全相同的。
路由器ID号
台路由器如果要运行OSPF协议,则必须存在RID(Router ID,路由器ID)。RID是一个32比特无符号整数,可以在一个自治系统中唯一的标识一台路由器。
RID可以手工配置,也可以自动生成;如果没有通过命令指定RID,将按照如下顺序自动生成一个RID:
l 如果当前设备配置了Loopback接口,将选取所有Loopback接口上数值最大的IP地址作为RID;
l 如果当前设备没有配置Loopback接口,将选取它所有已经配置IP地址且链路有效的接口上数值最大的IP地址作为RID。
自治系统(Autonomous System)一组使用相同路由协议交换路由信息的路由器,缩写为AS。
OSPF的协议报文
Hello报文:周期性发送,用来发现和维持OSPF邻居关系。内容包括一些定时器的数值、DR(Designated Router,指定路由器)、BDR(Backup Designated Router,备份指定路由器)以及自己已知的邻居。
数据库描述(DD)报文:向对方请求所需的LSA。两台路由器互相交换DD报文之后,得知对端的路由器有哪些LSA是本地的LSDB所缺少的,这时需要发送LSR报文向对方请求所需的LSA。内容包括所需要的LSA的摘要。
链路状态更新(LSU)报文:向对方发送其所需要的LSA
链路状态确认(LSAck)报文:用来对收到的LSA进行确认。内容是需要确认的LSA的Header(一个报文可对多个LSA进行确认)。

LSA的类型
OSPF中对链路状态信息的描述都是封装在LSA中发布出去,常用的LSA有以下几种类型:
l Router LSA(Type1):由每个路由器产生,描述路由器的链路状态和开销,在其始发的区域内传播。
l Network LSA(Type2):由DR产生,描述本网段所有路由器的链路状态,在其始发的区域内传播。
l Network Summary LSA(Type3):由ABR(Area Border Router,区域边界路由器)产生,描述区域内某个网段的路由,并通告给其他区域。
l ASBR Summary LSA(Type4):由ABR产生,描述到ASBR(Autonomous System Boundary Router,自治系统边界路由器)的路由,通告给相关区域。
l AS External LSA(Type5):由ASBR产生,描述到AS(Autonomous System,自治系统)外部的路由,通告到所有的区域(除了Stub区域和NSSA区域)。
l NSSA External LSA(Type7):由NSSA(Not-So-Stubby Area)区域内的ASBR产生,描述到AS外部的路由,仅在NSSA区域内传播。
l Opaque LSA:是一个被提议的LSA类别,由标准的LSA头部后面跟随特殊应用的信息组成,可以直接由OSPF协议使用,或者由其它应用分发信息到整个OSPF域间接使用。Opaque LSA分为Type 9、Type10、Type11三种类型,泛洪区域不同;其中,Type 9的Opaque LSA仅在本地链路范围进行泛洪,Type 10的Opaque LSA仅在本地区域范围进行泛洪,Type 11的LSA可以在一个自治系统范围进行泛洪。

OSPF特殊区域

命令:area area-id stub
特点:
过滤外部路由,不接受外部AS的LSA(即5类LSA),3类LSA正常通行
ABR上可设默认度量值:area area-id default-metric metric 默认值为1.
只有一个出口,无虚链路经过,不是主干区域,无ASBR(except that the ABRs may also be ASBRs),最好只有一个ABR,多个ABR可能导致次优路由。
ABR会自动向末节区域内发送一条指向自己的默认路由。
好处:
减少拓扑表(database-table)的大小,减少路由(route-table)表大小
命令:区域内路由器 area area-id stub,在ABR上area area-id stub no-summary。
特点:
隔离3类和5类LSA,即:不接受AS外路由及不接受同AS内的其他area路由汇总。
ABR会自动向区域内发送一条指向自己的默认路由。
跟stub area一样,只有一个出口,无虚链路通过,无ASBR(except that the ABRs may also be ASBRs),不是主干区域。最好只有一个ABR。
好处:
比stub更进一步减少拓扑表(database-table)和路由表(route-table)大小。除了本完全末节区域内路由条目和一条默认产生的指向ABR的路由条目外,不再需要其他路由条目。
可以发现,末节区域与完全末节区域的不同之处在于:末节区域可以允许其它OSPF区域的路由(Inter-Area Route)进入,而完全末节区域却不可以。(也就是是否隔离3类LSA而已)话说完全末节区域只是比末节区域多隔离了3类LSA,其他一样。
命令:区域内所有路由器area area-id nssa
特点:
允许接受以类型7的LSA发送的外部路由信息,并且ABR要负责把类型7的LSA转换成类型5的LSA。
从别的AS或者别的路由协议引进来的就定义不7类LSA,为让本OSPF的AS内其他路由器可识别,在NSSA的ABR会把7类转为5类LSA。再强调:所有的末节区域的ABR总是过滤掉5类LSA。
与其他AS相接的路由器称为ASBR。
由于自身可以将外部网络的路由重分布进OSPF进程,所以ABR不会自动向NSSA区域内发送一条指向自己的默认路由,但可以手工向NSSA域内发送默认路由(R1(config-router)#default-information originate [always]),并且只可在ABR上发送默认路。
NSSA与末节区域的最大区别在于,NSSA区域可以允许自身将外部路由重分布进OSPF,而末节区域则不可以。
好处:
除了跟stub area一样减少拓扑表减少路由表大小外,还具备灵活性,可以由ASBR外接其他AS(或其他路由协议重分发)
命令:在ABR上R4(config-router)#area 1 nssa no-summary,其他area 1 nssa即可。
特点:在Totally Not-so-Stubby Area(Totally NSSA)下,ABR将过滤掉所有外部路由和其它OSPF区域的路由(Inter-Area Route)进入Totally NSSA区域,但路由器可以将外部路由重分布进OSPF进程,即Totally NSSA区域内的路由器可以成为ASBR,由于没有去往其它OSPF区域的路由,所以ABR会自动向Totally NSSA内发送一条指向自己的默认路由,
Totally NSSA与NSSA的区别在于,NSSA区域可以允许其它OSPF区域的路由(Inter-Area Route)进入,而Totally NSSA区域却不可以,但Totally NSSA区域的ABR会自动向Totally NSSA区域内发送一条指向自己的默认路由。
过滤3,4,5类lsa,ABR会产生缺省的3类lsa,该区域能引入外部路由
7类LSA在这里还是7类LSA,出本area后就变成5类而传播了

好处:
自动发现默认路由,比NSSA更进一步减少表大小

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

OSPF一些总结

OSPF

中型网络构建必备--OSPF

OSPF路由基础

OSPF的基本原理及配置命令

华为 OSPF 协议的使用MD5 认证