OSPF多区域原理与配置

OSPF 01.png

一、OSPF的多区域

1、生成OSPF多区域的原因

(1)改善网络的可扩展性
(2)快速收敛

2、OSPF的三种通信量

(1)域内通信量(Intra-Area Traffic)

单个区域内的路由器之间交换数据包构成的通信量

(2)域间通信量(Inter-Area Traffic)

不同区域的路由器之间交换数据包构成的通信量

(3)外部通信量(External Traffic)

OSPF域内的路由器与OSPF区域外或另一个自治系统内的路由器之间交换数据包构成的通信量

3、OSPF的路由器的类型

(1)内部路由器

只保存本区域内的链路状态信息

(2)区域边界路由器(ABR)

用来连接区域0和其他区域

(3)自治系统边界路由器(ASBR)

用来连接OSPF的AS与外部其它的路由

4、OSPF的区域类型

(1)骨干区域

Area 0,作为OSPF花朵结构中的花蕊部分,其他区域通信都需经过骨干区域的转发处理

(2)非骨干区域

根据能够学习的路由种类来区分:
a.标准区域
b.末梢区域(Stub)
c.完全末梢区域(Totally Stubby)
d.非纯末梢区域(NSSA)

二、链路状态数据库

1、链路状态数据库的组成

每个路由器都创建了由每个接口、对应的相邻节点和接口速度组成的数据库。
链路状态数据库中每个条目称为LSA(链路状态通告),常见的有六种LSA类型。

2、链路状态通告(LSA)类型

类型代码 描述 用途
Type 1 路由器LSA 由区域内的路由器发出的,描述了路由器的的链路状态和花费,传递到整个区域内
Type 2 网络LSA 由区域内的DR发出的,描述了区域内变更信息,传递到整个区域内
Type 3 网络汇总LSA ABR发出的,其他区域的汇总链路通告,描述了其他区域内某一网段的路由,区域间传递
Type 4 ASBR汇总LSA ABR发出的用于通告ASBR信息,确定ASBR的位置,不会出现在ASBR所属区域之内
Type 5 AS外部LSA ASBR发出的,用于通告外部路由,告诉相同AS的路由器通往外部AS的路径,在整个AS中进行泛红
Type 7 NSSA外部LSA NSSA区域内的ASBR发出的,用于通告本区域连接的外部路由,与Type 5 类似,仅在非纯末梢区域内进行泛洪,传递时会被ABR转换为LSA5

(1)路由器LSA

OSPF路由域内每一台路由器都会产生的LSA,这是LSA通告的基础,该LSA包内列出了,本路由器的所有参与OSPF进程的端口的IP地址与掩码与该接口Metric值,他的Link-ID与Adv Router都是发出该LSA的路由器的Router-id,该LSA只会在发送路由器所在的区域内扩散,也就是说他的作用范围是本区域。

(2)网络LSA

此类LSA只会在网络拓扑是多路访问的情况下产生(MA或NBMA),这类LSA包内,列出了这个多路访问的掩码,使用Router-id的方式,描述这个物理网段内有多少台路由器与DR保持联系,Link-id为DR所属的接口的IP地址,Adv Router为DR所在的那台路由器的Router-id。

(3)网络汇总LSA

3类LSA由ABR发出,存在这类LSA的主要原因是1类2类只能在域内域内和传播,无法跨区域,这类数据包内,列出了网段、掩码,出接口到达目标网段的Metric值,所以3类LSA相当于将1,2类LSA打包,通过ABR传输至其他区域,因为这类LSA一定是由ABR发出的,所以这类LSA的Adv Router为发出发出该数据包的ABR的Router-id,Link-id为区域外的网段,比如说192.168.10.0192.168.20.0,可以使用show ip ospf database summary 192.168.10.0来查询这条3类LSA明细信息。

(4)ASBR汇总LSA

该类LSA并没有什么很特殊的意义,数据包中用Router-id的方法,,定位了ASBR与ASBR所在的区域的ABR,使得其他其他路由器可以找到ABR的位置,可以使用show ip ospf database asbr-summary 命令查看4类LSA明细,4类LSA的Link-ID为ASBR,Adv Router为ASBR所在的区域的ABR的Router-id,该类LSA会在ASBR不在的区域扩散,也就是说ASBR所在的区域不会存在4类LSA,如果ASBR同时也是BR,那么在ASBR所在的骨干区域与非骨干区域将不会产生4类LSA,只会在别的区域产生,因为ASBR所在的区域,其他路由器可以通过1类LSA找到它,而不是通过4类LSA。

(5)AS外部LSA

这类LSA数据包内列出了外部路由网段,掩码,Metric值,route tag,以及发布类型(E2/E1)Link-ID为目标网段,Adv Router则为ASBR的Router-id,需要注意的是,这类LSA不会与区域关联,也就是说这类LSA是在整个OSPF路由域内传播。

(6)NSSA外部LSA

该区域不接受5类LSA,只接受1,2,3类LSA,但是这就存在一个问题,如果在nssa区域内有一台ASBR怎么办,因为NSSA区域不接受5类LSA,所以当nssa区域内有一台ASBR存在的时候,ASBR会发出7类LSA,然后在NSSA区域内泛洪,ABR收到7类LSA后会将7类转换成5类,然后向整个OSPF路由域泛洪,7类LSA的包内容与5类LSA一样,都含有网络号,掩码,Metric值,发布类型,其中Link-ID为外部网络的网络号,Adv Router为ASBR的Router-id,还需要注意一个点,当NSSA区域存在ASBR时,该区域的ABR会同时兼任ABR与ASBR的角色,所以区域0是不会有4类LSA的。

三、STUB区域

1、末梢区域和完全末梢区域

(1)末梢区域的设定条件

a.只有一个默认路由作为其区域的出口
b.区域不能作为虚链路的穿越区域
c.Stub区域里无自治系统边界路由器ASBR
d.不是骨干区域Area 0

(2)末梢区域

没有LSA4、5、7通告

(3)完全末梢区域

除一条LSA3的默认路由通告外,没有LSA3、4、5、7通告

2、每一种区域中允许泛洪的LSA

区域类型 1&2 3 4&5 7
骨干区域(Area) 允许 允许 允许 不允许
非骨干区域,非末梢区域 允许 允许 允许 不允许
末梢区域 允许 允许 不允许 不允许
完全末梢区域 允许 不允许(仅一条默认) 不允许 不允许
NSSA 允许 允许 不允许 允许

四、OSPF配置命令

1、dis ospf pee b ##查看邻居关系
dis ip routing-table protocol ospf ###查看OSPF路由信息

2、ospf 1 route 1.1.1.1 ####OSPF指定个route-id、1是表示,只在本区域有效
route id 1.1.1.1 ###全局模式下配置 这个router-id所有协议生效
3、reset ospf 1 process ###1是进程号 重启ospf ##在用户模式下敲
4、ospf 配置方法
ospf 1 route 1.1.1.1 ###配置route-id
ospf 10 ##启动ospf 它的进程号是10
area 0 ###进入区域0 骨干区域
network 20.0.0.0 0.0.0.3 ###宣告网段 20.0.0.0 反掩码 0.0.0.3 (30位)
5、引入路由
ospf 1
import-route rip 1 type 1 cost 5 ###默认引入type 2 度量值是不累加的,这种是不科学的,一般引入type 1,要累加 cost 5 是花销
引路由
rip 1
import-route ospf 1

末梢区域
stub ###末梢 2变都要加
完全末梢在abr上 加入

nssa区域 ###ASBR主要是靠5类的LSA来通告链路状态信息,可以用7类LSA优化,通告外部路由信息
路由A
ospf 10
area 1
nssa

路由B
ospf 10
area 1
nssa

路由C
ospf 10
area 1
nssa

OSPF:
default-route-advertise 命令的意思是本路由器发布一条0.0.0.0/0.0.0.0的路由到域内其他路由器。
其他路由器学习到这条默认路由后,下一跳就是指向发布这条路由的路由器

RIP:
default-route originate

五、OSPF地址汇总

OSPF地址汇总的作用

  • 地址汇总也是通过减少泛洪的LSA数量节省资源
  • 可以通过屏蔽一些网络不稳定的细节来节省资源
  • 减少路由表中的路由条目

区域间路由汇总配置

Router(config-router)#area area-id range ip-address mask

外部路由汇总配置

Router(config-router)#summary-address ip-address mask

*虚链路

指一条通过一个非骨干区域连接到骨干区域的链路

非骨干区域必须和骨干区域直接相连,若不与骨干区域直接相连,则需要在穿越一个非骨干区域的两台ABR之间配置虚链路虚链路的建立,是需要依靠底层的真实链路所在的区域来传输OSPF报文的(hello等)所以如果底层的穿越传输区域不稳定的话,则导致上层的虚链路不稳定,影响整个网络的骨干区域的稳定性。所以,一般不建议用这种方式。如果不得不使用,那么也仅仅是临时解决方案。

  • 通过一个非骨干区域连接一个区域到骨干区域
  • 通过一个非骨干区域连接一个分段的骨干区域两边的部分区域

在被穿越的非骨干区域的两端ABR配置虚链路
[R2]ospf 1
[R2-ospf-1]area 1
[R2-ospf-1-area-0.0.0.1]vlink-peer 1.1.1.1
互相指定被穿越区域两端ABR的路由ID
[R1]ospf 1
[R1-ospf-1]area 1
[R1-ospf-1-area-0.0.0.1]vlink-peer 2.2.2.2
[R1]display ospf vlink
查看本地上通过虚链路建立的OSPE邻居关系