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 协议(一) 多区域_ospf_02

配置末节区域

R1配置

配置端口ip

Ospf 协议(一) 多区域_system_03

Ospf 协议(一) 多区域_思科_04

使端口加入区域

Ospf 协议(一) 多区域_ospf_05

Ospf 协议(一) 多区域_system_06

宣告网络

Ospf 协议(一) 多区域_ospf_07

Ospf 协议(一) 多区域_system_08

R1路由表

Ospf 协议(一) 多区域_思科_09

R2配置

配置端口ip

Ospf 协议(一) 多区域_system_10

Ospf 协议(一) 多区域_system_11

使端口加入区域

Ospf 协议(一) 多区域_ospf_12

Ospf 协议(一) 多区域_ospf_13

宣告网络

配置rip路由

Ospf 协议(一) 多区域_ospf_14

Ospf 协议(一) 多区域_ospf_15

Ospf 协议(一) 多区域_ospf_16

把rip加入ospf

Ospf 协议(一) 多区域_思科_17

配置默认路由并宣告网络

Ospf 协议(一) 多区域_多区域_18

Ospf 协议(一) 多区域_多区域_19

Ospf 协议(一) 多区域_多区域_20

R2路由表

Ospf 协议(一) 多区域_system_21

R3配置

配置端口ip

Ospf 协议(一) 多区域_system_22

Ospf 协议(一) 多区域_多区域_23

使端口加入区域

Ospf 协议(一) 多区域_ospf_24

Ospf 协议(一) 多区域_思科_25

宣告网络

Ospf 协议(一) 多区域_system_26

Ospf 协议(一) 多区域_system_27

R3路由表

Ospf 协议(一) 多区域_思科_28

R4配置

配置端口ip

Ospf 协议(一) 多区域_思科_29

Ospf 协议(一) 多区域_ospf_30

使端口加入区域

Ospf 协议(一) 多区域_多区域_31

Ospf 协议(一) 多区域_多区域_32

宣告网络

Ospf 协议(一) 多区域_思科_33

Ospf 协议(一) 多区域_思科_34

R4路由表

Ospf 协议(一) 多区域_system_35

R5配置

配置端口ip

Ospf 协议(一) 多区域_system_36

Ospf 协议(一) 多区域_ospf_37

配置rip路由

Ospf 协议(一) 多区域_多区域_38

R5路由表

Ospf 协议(一) 多区域_ospf_39

R6配置

配置端口ip

Ospf 协议(一) 多区域_思科_40

Ospf 协议(一) 多区域_system_41

配置rip路由

Ospf 协议(一) 多区域_多区域_42

Ospf 协议(一) 多区域_多区域_43

R6路由表

Ospf 协议(一) 多区域_ospf_44

配置末节区域:

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

R3 Ospf 协议(一) 多区域_多区域_45

R4 Ospf 协议(一) 多区域_多区域_46

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

Ospf 协议(一) 多区域_system_47

配置完全末节区域

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

R3 Ospf 协议(一) 多区域_ospf_48

R4 Ospf 协议(一) 多区域_ospf_49

R4路由表

Ospf 协议(一) 多区域_system_50