OSPF(Open Shortest Path First开放式最短路径优先)是一个内部网关协议

(Interior Gateway Protocol,简称IGP),用于在单一自制系统(autonomous system,AS)内决策路由。是对链路状态路由协议的一种实现,隶属内部网关协议(IGP),故运作于自治系统内部。与RIP相比,OSPF是链路状态协议,而RIP是距离矢量协议。不同厂商管理距离不同,思科OSPF的协议管理距离(AD)是 110,华为OSPF的协议管理距离是150。

因为OSPF路由器之间会将所有的链路状态(LSA)相互交换,毫不保留,当网络规模达到一定程度时,LSA将形成一个庞大的数据库,势必会给OSPF计算带来巨大的压力;为了能够降低OSPF计算的复杂程度,缓存计算压力,OSPF采用分区域计算,将网络中所有OSPF路由器划分成不同的区域,每个区域负责各自区域精确的LSA传递与路由计算,然后再将一个区域的LSA简化和汇总之后转发到另外一个区域,这样一来,在区域内部,拥有网络精确的LSA,而在不同区域,则传递简化的LSA。区域的划分为了能够尽量设计成无环网络,所以采用了Hub-Spoke的拓朴架构,也就是采用核心与分支的拓朴,如下图:

Ospf 协议(一) 多区域

区域的命名可以采用整数数字,如1、2、3、4,也可以采用IP地址的形式,0.0.0.1、0.0.0.2,因为采用了Hub-Spoke的架构,所以必须定义出一个核心,然后其它部分都与核心相连,OSPF的区域0就是所有区域的核心,称为BackBone 区域(骨干区域),而其它区域称为Normal 区域(常规区域),在理论上,所有的常规区域应该直接和骨干区域相连,常规区域只能和骨干区域交换LSA,常规区域与常规区域之间即使直连也无法互换LSA,如上图中Area 1、Area 2、Area 3、Area 4只能和Area 0互换LSA,然后再由Area 0转发,Area 0就像是一个中转站,两个常规区域需要交换LSA,只能先交给Area 0,再由Area 0转发,而常规区域之间无法互相转发。

OSPF区域是基于路由器的接口划分的,而不是基于整台路由器划分的,一台路由器可以属于单个区域,也可以属于多个区域,如下图:

OSPF网络分为以下2个级别的层次:

骨干区域 (backbone or area 0)

非骨干区域 (nonbackbone areas)

在一个OSPF区域中只能有一个骨干区域,可以有多个非骨干区域,骨干区域的区域号为0。

为了避免回环的产生,各非骨干区域间是不可以交换LSA信息的,他们只有与骨干区域相连,通过骨干区域相互交换信息。

非骨干区域和骨干区域之间相连的路由叫边界路由(ABRs-Area Border Routers),只有ABRs记载了接入各区域的所有路由信息。各非骨干区域内的非ABRs只记载了本区域内的路由表,若要与外部区域中的路由相连,只能通过本区域的ABRs,由ABRs连到骨干区域的BR,再由骨干区域的BR连到要到达的区域。

OSPF末稍区域

由于并不是每个路由器都需要外部网络的信息,为了减少LSA泛洪量和路由表条目,就创建了末梢区域,位于Stub边界的ABR将宣告一条默认路由到所有的Stub区域内的内部路由器

末节区域:使路由器只接受ospf区域的路由,不接收区域外的路由信息

完全末节区域:使路由器不接收区域间的路由信息,也不接收区域外的路由信息

实例:末节区域和完全末节区域

拓扑图

Ospf 协议(一) 多区域

配置末节区域

R1配置

配置端口ip

Ospf 协议(一) 多区域

Ospf 协议(一) 多区域

使端口加入区域

Ospf 协议(一) 多区域

Ospf 协议(一) 多区域

宣告网络

Ospf 协议(一) 多区域

Ospf 协议(一) 多区域

R1路由表

Ospf 协议(一) 多区域

R2配置

配置端口ip

Ospf 协议(一) 多区域

Ospf 协议(一) 多区域

使端口加入区域

Ospf 协议(一) 多区域

Ospf 协议(一) 多区域

宣告网络

配置rip路由

Ospf 协议(一) 多区域

Ospf 协议(一) 多区域

Ospf 协议(一) 多区域

把rip加入ospf

Ospf 协议(一) 多区域

配置默认路由并宣告网络

Ospf 协议(一) 多区域

Ospf 协议(一) 多区域

Ospf 协议(一) 多区域

R2路由表

Ospf 协议(一) 多区域

R3配置

配置端口ip

Ospf 协议(一) 多区域

Ospf 协议(一) 多区域

使端口加入区域

Ospf 协议(一) 多区域

Ospf 协议(一) 多区域

宣告网络

Ospf 协议(一) 多区域

Ospf 协议(一) 多区域

R3路由表

Ospf 协议(一) 多区域

R4配置

配置端口ip

Ospf 协议(一) 多区域

Ospf 协议(一) 多区域

使端口加入区域

Ospf 协议(一) 多区域

Ospf 协议(一) 多区域

宣告网络

Ospf 协议(一) 多区域

Ospf 协议(一) 多区域

R4路由表

Ospf 协议(一) 多区域

R5配置

配置端口ip

Ospf 协议(一) 多区域

Ospf 协议(一) 多区域

配置rip路由

Ospf 协议(一) 多区域

R5路由表

Ospf 协议(一) 多区域

R6配置

配置端口ip

Ospf 协议(一) 多区域

Ospf 协议(一) 多区域

配置rip路由

Ospf 协议(一) 多区域

Ospf 协议(一) 多区域

R6路由表

Ospf 协议(一) 多区域

配置末节区域:

配置area2成末节区域 只接受ospf区域的路由,不接受外部路由

R3 Ospf 协议(一) 多区域

R4 Ospf 协议(一) 多区域

R4路由表 没有外部路由,出现默认路由

Ospf 协议(一) 多区域

配置完全末节区域

配置area2成完全末节区域 不接受域间路由,不接受外部路由

R3 Ospf 协议(一) 多区域

R4 Ospf 协议(一) 多区域

R4路由表

Ospf 协议(一) 多区域