OSPF基本概述及配置

Posted

tags:

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

1.0 OSPF的基本概念和工作过程

开放式最短路径优先协议(Open Shortest Path First ,OSPF)是基于开放标准的链路状态路由选择协议,它完成各路由协议算法的两大主要功能:路径交换和路径选择。

1.1 OSPF 的基本概念

1.OSPF 路由协议与 RIP 相比,OSPF适合更大型网络环境。

1.1 OSPF 是一种链路状态型的路由协议,不会产生环路问题,因此不需要最大跳数等限制来防止环路的产生。

1.2 OSPF 将 AS 分割成多个小的区域,OSPF 的路由器只在区域内部学习完整的链路状态信息,如图所示 Area0 为骨干区域,它用来连接 AS 内部的所有其他区域。用来连接骨干区域和其他区域的路由器称为边界路由器。它了解所连接的两个区域的完整的链路状态信息,并将链路状态信息汇总后发个其他区域内的其他路由器。这样,减小了路由器保存的链路状态数据库的大小,可以解决路由器内存容量有限的问题。

OSPF基本概述及配置_R3

区域是通过一个32位的区域ID(Area ID)来识别的。

区域 ID 可以表示成一个十进制数字,也可以表示成一个点分十进制的数字。在Cisco路由器中这两种方式都可以使用。

区域 0(或者区域 0.0.0.0)是骨干区域保留的区域 ID 号。OSPF 的骨干区域是一个特殊的 OSPF 区域,它担负着区域间路由信息传播的重任。

1.2.Router ID

因为运行 OSPF 的路由器需要了解每条链路是连接在哪个路由器上的,因此,就需要一个唯一的标识来标记 OSPF 网络中的路由器,这个标识称为 Router ID

1.3 DR和BDR

运行 OSPF 的路由器通过与邻居路由器建立邻接关系,互相传递链路状态信息 路由器A,B,C,D,E 连接在同一广播链路上,如果每两个路由器之间都要建立邻接关系,那么。就会构成n(n-1)/2个邻接关系。每台路由器都要与其他所有的邻居路由器互相传递链路状态信息,这时情况就会显得比较混乱,而且也会浪费许多不必要的资源。

为了避免这些问题的发生,可以在该网段上选举一个指定路由器 DR 由DR 同网络中的其他路由器建立邻接关系,并负责将网段上的变化告知它们

2.0 OSPF的配置

配置如图

OSPF基本概述及配置_IP_02

路由器R1配置
R1(config)#interface ethernet 0/0             ##进入0/0接口
R1(config-if)#ip address 192.168.1.1 255.255.255.0 ##配置IP地址
R1(config-if)#no shutdown ##打开接口
R1(config-if)#duplex full ##开启全双工模式
R1(config-if)#exit ##退出接口
R1(config)#interface loopback 0 ##进入loop 测试接口
*Mar 21 12:20:10.684: %LINEPROTO-5-UPDOWN: Line protocol on Interface Loopback0, changed state to up
R1(config-if)#ip address 1.1.1.1 255.255.255.0 ##配置IP地址
R1(config-if)#exit ##退出
R1(config)#router ospf 1 ##进入OSPF配置
R1(config-router)#router-id 1.1.1.1 ## 指定Router ID
R1(config-router)#network 192.168.1.0 0.0.0.255 area 1 ##宣告1.0网段
R1(config-router)#network 1.1.1.1 0.0.0.0 area 1 ##宣告测试接口
R1(config-router)#exit ##退出配置
路由器R2配置
R2(config)#int e0/0           ##进入0/0接口
R2(config-if)#ip address 192.168.2.1 255.255.255.0 ##配置IP地址
R2(config-if)#no shutdown ##打开接口
R2(config-if)#duplex full ##开启全双工模式
R2(config)#interface loopback 0 ##进入loop 0 测试接口
*Mar 21 12:28:11.696: %LINEPROTO-5-UPDOWN: Line protocol on Interface Loopback0, changed state to up
R2(config-if)#ip address 2.2.2.2 255.255.255.0 ##配置IP地址
R2(config-if)#exit ##退出配置
R2(config)#router ospf 1 ##进入OSPF配置
R2(config-router)#router-id 2.2.2.2 ##指定router ID
R2(config-router)#network 192.168.2.0 0.0.0.255 area 1 ##宣告2.0网段
R2(config-router)#network 2.2.2.2 0.0.0.0 area 1 ##宣告测试接口
R2(config-router)#exit ##退出配置
路由器R3配置
R3(config)#int e0/0           ##进入0/0接口
R3(config-if)#ip address 192.168.1.2 255.255.255.0 ##配置IP地址
R3(config-if)#no shutdown ##打开接口
R3(config-if)#duplex full ##配置全双工模式
R3(config-if)#exit ##退出配置
R3(config)#int e0/1 ##进入0/1
R3(config-if)#ip address 192.168.2.2 255.255.255.0 ##配置IP地址
R3(config-if)#no shutdown ##打开接口
R3(config-if)#duplex full ##配置全双工模式
R3(config-if)#exit ##退出配置
R3(config)#int e0/2 ##进入 0/2接口
R3(config-if)#ip address 192.168.3.1 255.255.255.0 ##配置IP地址
R3(config-if)#no shutdown ##打开接口
R3(config-if)#duplex full ##配置全双工模式
R3(config-if)#exit ##退出配置
R3(config)#int e0/3 ##进入0/3接口
R3(config-if)#ip address 192.168.4.1 255.255.255.0 ##配置IP地址
R3(config-if)#no shutdown ##打开接口
R3(config-if)#duplex full ##配置全双工模式
R3(config-if)#exit ##退出配置
R3(config)#interface loopback 0 ##进入loop 0 测试接口
R3(config-if)#ip address 3.3.3.3 255.255.255.0 ##配置IP地址
R3(config-if)#exit ##退出配置
R3(config)#router ospf 1 ##进入OSPF配置
R3(config-router)#router-id 3.3.3.3 ##指定router ID
R3(config-router)#network 192.168.1.0 0.0.0.255 area 1 ##宣告网段
R3(config-router)#network 192.168.2.0 0.0.0.255 area 1
R3(config-router)#network 192.168.3.0 0.0.0.255 area 0
R3(config-router)#network 192.168.4.0 0.0.0.255 area 0
R3(config-router)#network 3.3.3.3 0.0.0.0 area 0
R3(config-router)#exit   ##退出配置
路由器R4配置
R4(config)#int e0/0           ##进入0/0接口
R4(config-if)#ip address 192.168.3.2 255.255.255.0 ##配置IP地址
R4(config-if)#no shutdown ##打开接口
R4(config-if)#duplex full ##配置全双工模式
R4(config-if)#exit ##退出配置
R4(config)#int e0/1 ##进入0/1接口
R4(config-if)#ip address 192.168.5.1 255.255.255.0 ##配置IP地址
R4(config-if)#no shutdown ##打开接口
R4(config-if)#duplex full ##配置全双工模式
R4(config-if)#exit ##退出配置
R4(config)#interface loopback 0 ##进入loop 0 测试接口
R4(config-if)#ip address 4.4.4.4 255.255.255.0 ##配置IP地址
R4(config-if)#exit ##退出配置
R4(config)#router ospf 1 ##进入OSPF 配置模式
R4(config-router)#router-id 4.4.4.4 ##指定router ID
R4(config-router)#network 192.168.3.0 0.0.0.255 area 0  ##宣告网段
R4(config-router)#network 192.168.5.0 0.0.0.255 area 0
R4(config-router)#network 4.4.4.4 0.0.0.0 area 0
R4(config-router)#exit ##退出配置


路由器R5配置
R5(config)#int e0/0         ##进入0/0接口
R5(config-if)#ip address 192.168.4.2 255.255.255.0 ##配置IP地址
R5(config-if)#no shutdown ##打开接口
R5(config-if)#duplex full ##配置全双工模式
R5(config-if)#exi ##退出接口
R5(config)#int e0/1 ##进入0/1接口
R5(config-if)#ip address 192.168.6.1 255.255.255.0 ##配置IP地址
R5(config-if)#no shutdown ##打开接口
R5(config-if)#duplex full ##配置全双工模式
R5(config-if)#exit ##退出配置
R5(config)#int ethernet 0/2 ##进入0/2接口
R5(config-if)#ip address 192.168.8.1 255.255.255.0 ##配置IP地址
R5(config-if)#no shutdown ##打开接口
R5(config-if)#duplex full ##配置全双工模式
R5(config-if)#exit ##退出配置
R5(config)#interface loopback 0 ##进入loop 0 测试接口
R5(config-if)#ip address 5.5.5.5 255.255.255.0 ##配置IP地址
R5(config-if)#exit ##退出配置
R5(config)#ip route 8.8.8.8 255.255.255.255 192.168.8.2 ##配置去往外部的静态路由
R5(config)#router ospf 1 ##进入OSPF 配置
R5(config-router)#network 192.168.4.0 0.0.0.255 area 0 ##宣告网段
R5(config-router)#network 192.168.6.0 0.0.0.255 area 0
R5(config-router)#network 5.5.5.5 0.0.0.0 area 0
R5(config-router)#redistribute static subnets ##配置静态路由重分发
路由器R6配置
R6(config)#int e0/0           ##进入0/0接口
R6(config-if)#ip address 192.168.5.2 255.255.255.0 ##配置IP地址
R6(config-if)#no shutdown ##打开接口
R6(config-if)#duplex full ##配置全双工模式
R6(config-if)#exit ##退出配置
R6(config)#int e0/1 ##进入0/1接口
R6(config-if)#ip address 192.168.6.2 255.255.255.0 ##配置IP地址
R6(config-if)#no shutdown ##打开接口
R6(config-if)#duplex full ##配置全双工模式
R6(config-if)#exit ##退出配置
R6(config)#int e0/2 ##进入0/2接口
R6(config-if)#ip address 192.168.7.1 255.255.255.0 ##配置IP地址
R6(config-if)#no shutdown ##打开接口
R6(config-if)#duplex full ##配置全双工模式
R6(config-if)#exit ##退出配置
R6(config)#interface loopback 0 ##进入测试接口
R6(config-if)#ip address 6.6.6.6 255.255.255.0 ##配置IP地址
R6(config-if)#exit ##退出配置
R6(config)#router ospf 1 ##进入OSPF配置
R6(config-router)#router-id 6.6.6.6 ##指定router ID
R6(config-router)#network 192.168.5.0 0.0.0.255 area 0 ##宣告网段
R6(config-router)#network 192.168.6.0 0.0.0.255 area 0
R6(config-router)#network 192.168.7.0 0.0.0.255 area 2
R6(config-router)#exit ##退出配置
路由器R7配置
R7(config)#int e0/0         ##进入0/0接口
R7(config-if)#ip address 192.168.7.2 255.255.255.0 ##配置IP地址
R7(config-if)#no shutdown ##打开接口
R7(config-if)#duplex full ##配置全双工模式
R7(config)#int loopback 0 ##进入loop接口
R7(config-if)#ip address 7.7.7.7 255.255.255.0 ##配置IP地址
R7(config-if)#exit ##退出配置
R7(config)#router ospf 1 ##进图OSPF配置
R7(config-router)#router-id 7.7.7.7 ##指定router ID
R7(config-router)#network 192.168.7.0 0.0.0.255 area 2 ##宣告网段
R7(config-router)#network 7.7.7.7 0.0.0.0 area 2
R7(config-if)#exit ##退出配置

查看路由表

R7(config)#do show ip route
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate default, U - per-user static route
o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP
a - application route
+ - replicated route, % - next hop override, p - overrides from PfR

Gateway of last resort is not set

1.0.0.0/32 is subnetted, 1 subnets
O IA 1.1.1.1 [110/41] via 192.168.7.1, 00:01:20, Ethernet0/0
2.0.0.0/32 is subnetted, 1 subnets
O IA 2.2.2.2 [110/41] via 192.168.7.1, 00:01:20, Ethernet0/0
3.0.0.0/32 is subnetted, 1 subnets
O IA 3.3.3.3 [110/31] via 192.168.7.1, 00:01:20, Ethernet0/0
4.0.0.0/32 is subnetted, 1 subnets
O IA 4.4.4.4 [110/21] via 192.168.7.1, 00:01:20, Ethernet0/0
5.0.0.0/32 is subnetted, 1 subnets
O IA 5.5.5.5 [110/21] via 192.168.7.1, 00:01:20, Ethernet0/0
7.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
C 7.7.7.0/24 is directly connected, Loopback0
L 7.7.7.7/32 is directly connected, Loopback0
8.0.0.0/32 is subnetted, 1 subnets
O E2 8.8.8.8 [110/20] via 192.168.7.1, 00:01:20, Ethernet0/0
O IA 192.168.1.0/24 [110/40] via 192.168.7.1, 00:01:20, Ethernet0/0
O IA 192.168.2.0/24 [110/40] via 192.168.7.1, 00:01:20, Ethernet0/0
O IA 192.168.3.0/24 [110/30] via 192.168.7.1, 00:01:20, Ethernet0/0
O IA 192.168.4.0/24 [110/30] via 192.168.7.1, 00:01:20, Ethernet0/0
O IA 192.168.5.0/24 [110/20] via 192.168.7.1, 00:01:20, Ethernet0/0
O IA 192.168.6.0/24 [110/20] via 192.168.7.1, 00:01:20, Ethernet0/0
192.168.7.0/24 is variably subnetted, 2 subnets, 2 masks
C 192.168.7.0/24 is directly connected, Ethernet0/0
L 192.168.7.2/32 is directly connected, Ethernet0/0
路由器R8配置
R8(config)#int e0/1       ##进入0/1接口
R8(config-if)#ip address 192.168.8.2 255.255.255.0 ##配置IP地址
R8(config-if)#no shutdown ##打开接口
R8(config-if)#duplex full ##配置全双工模式
R8(config-if)#exit ##退出配置
R8(config)#int loopback 0 ##进入loop接口
R8(config-if)#ip address 8.8.8.8 255.255.255.255 ##配置IP地址
R8(config)#ip route 0.0.0.0 0.0.0.0 192.168.8.1 ##配置默认路由
ping测试是否全网互通
R7#ping 1.1.1.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 1.1.1.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 5/5/6 ms
R7#ping 8.8.8.8
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 8.8.8.8, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/4/5 ms
R7#


OSPF路由汇总及OSPF验证实验

技术分享图片
1、OSPF基本配置
Router>en
Router#conf t
Router(config)#hostname R1
R1(config)#interface f0/0
R1(config-if)#ip add 200.1.1.1 255.255.255.0
R1(config-if)#no shutdown
R1(config-if)#exit
R1(config)#interface loopback 0
R1(config-if)#ip add 192.168.12.1 255.255.255.0
R1(config-if)#interface loopback 1
R1(config-if)#ip add 192.168.13.1 255.255.255.0
R1(config-if)#interface loopback 2
R1(config-if)#ip add 192.168.14.1 255.255.255.0
R1(config-if)#interface loopback 3
R1(config-if)#ip add 192.168.15.1 255.255.255.0
R1(config-if)#exit

R1(config)#router ospf 1
R1(config-router)#network 200.1.1.0 0.0.0.255 area 1
R1(config-router)#network 192.168.12.0 0.0.0.255 area 1
R1(config-router)#network 192.168.13.0 0.0.0.255 area 1
R1(config-router)#network 192.168.14.0 0.0.0.255 area 1
R1(config-router)#network 192.168.15.0 0.0.0.255 area 1
R1(config-router)#

Router>enable
Router#configure terminal
Router(config)#hostname R2
R2(config)#interface FastEthernet0/0
R2(config-if)#ip address 200.1.1.2 255.255.255.0
R2(config-if)#no shutdown
R2(config)#interface FastEthernet0/1
R2(config-if)#ip address 200.1.2.1 255.255.255.0
R2(config-if)#no shutdown
R2(config-if)#exit
R2(config)#router ospf 1
R2(config-R2)#network 200.1.1.0 0.0.0.255 area 1
R2(config-R2)#network 200.1.2.0 0.0.0.255 area 0

Router>enable
Router#configure terminal
Router(config)#hostname R3
R3(config)#interface FastEthernet0/0
R3(config-if)#ip address 200.1.2.2 255.255.255.0
R3(config-if)#no shutdown
R3(config-if)#exit
R3(config)#interface loopback 0
R3(config-if)#
R3(config-if)#ip add 172.16.1.1 255.255.255.0
R3(config-if)#exit
R3(config)#router ospf 1
R3(config-R3)#network 172.16.1.0 0.0.0.255 area 0
R3(config-R3)#network 200.1.2.0 0.0.0.255 area 0
R3(config-R3)#end

2、在R3 上查看路由条目
R3#show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area

    • candidate default, U - per-user static route, o - ODR
      P - periodic downloaded static route

Gateway of last resort is not set

172.16.0.0/24 is subnetted, 1 subnets
C 172.16.1.0 is directly connected, Loopback0
192.168.12.0/32 is subnetted, 1 subnets
O IA 192.168.12.1 [110/3] via 200.1.2.1, 00:04:53, FastEthernet0/0
192.168.13.0/32 is subnetted, 1 subnets
O IA 192.168.13.1 [110/3] via 200.1.2.1, 00:04:53, FastEthernet0/0
192.168.14.0/32 is subnetted, 1 subnets
O IA 192.168.14.1 [110/3] via 200.1.2.1, 00:04:53, FastEthernet0/0
192.168.15.0/32 is subnetted, 1 subnets
O IA 192.168.15.1 [110/3] via 200.1.2.1, 00:04:53, FastEthernet0/0
O IA 200.1.1.0/24 [110/2] via 200.1.2.1, 00:04:53, FastEthernet0/0
C 200.1.2.0/24 is directly connected, FastEthernet0/0
R3#
3、思考如何减少路由条目---方法进行路由汇总 (ABR)
可以看到区域间路由条目很多,具体子网路由是看到的,我们希望减少路由条目,提高路由查询及转发效率,就要把这些子网进行汇总,汇总成;一个超网 。
192.168.12.0
192.168.13.0
192.168.14.0
192.168.15.0
如何汇总成一个网络?
192.168.00001100.0
192.168.00001101.0
192.168.00001110.0
192.168.00001111.0
汇总后的超网
192.168.12.0/22
4、在ABR上进行路由汇总

R2(config)#router os
R2(config)#router ospf 1
R2(config-router)#area 1 range 192.168.12.0 255.255.252.0

5、汇总后在R3上查看路由表,会看到汇总后的路由实验即成功。
R3#show ip route
172.16.0.0/24 is subnetted, 1 subnets
C 172.16.1.0 is directly connected, Loopback0
O IA 192.168.12.0/22 [110/3] via 200.1.2.1, 00:00:05, FastEthernet0/0
O IA 200.1.1.0/24 [110/2] via 200.1.2.1, 00:17:36, FastEthernet0/0
C 200.1.2.0/24 is directly connected, FastEthernet0/0
R3#


OSPF验证方式:
接口验证和区域验证


一 、接口验证下的简单密码身份验证
要求R1和R2之间的链路做OSPF接口明文验证
R1>en
R1#conf t
R1(config)#in
R1(config)#interface f0/0
R1(config-if)#ip ospf authentication
R1(config-if)#ip ospf authentication-key 666
R1(config-if)#end
R1#
R1#show ip ospf ne
R1#show ip ospf neighbor 邻居关系不存在了

R1#show ip rou
R1#show ip route OSPF路由条目消失
C 192.168.12.0/24 is directly connected, Loopback0
C 192.168.13.0/24 is directly connected, Loopback1
C 192.168.14.0/24 is directly connected, Loopback2
C 192.168.15.0/24 is directly connected, Loopback3
C 200.1.1.0/24 is directly connected, FastEthernet0/0
R1#

在R2上做一样的配置
R2>en
R2#conf t
R2(config)#interface f0/0
R2(config-if)#ip ospf authentication
R2(config-if)#ip ospf authentication-key 666
R2(config-if)#end
R2#
%SYS-5-CONFIG_I: Configured from console by console

01:10:47: %OSPF-5-ADJCHG: Process 1, Nbr 192.168.15.1 on FastEthernet0/0 from LOADING to FULL, Loading Done 验证成功后的FULL状态
Router(config)#end
Router#
%SYS-5-CONFIG_I: Configured from console by console
show ip osn
R2#show ip ospf neighbor 查看邻居关系正常
Neighbor ID Pri State Dead Time Address Interface
192.168.15.1 1 FULL/BDR 00:00:33 200.1.1.1 FastEthernet0/0
172.16.1.1 1 FULL/BDR 00:00:39 200.1.2.2 FastEthernet0/1

R2#show ip ospf interface 查看接口属性
FastEthernet0/0 is up, line protocol is up
Internet address is 200.1.1.2/24, Area 1
Process ID 1, Router ID 200.1.2.1, Network Type BROADCAST, Cost: 1
Transmit Delay is 1 sec, State DR, Priority 1
Designated Router (ID) 200.1.2.1, Interface address 200.1.1.2
Backup Designated Router (ID) 192.168.15.1, Interface address 200.1.1.1
Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5
Hello due in 00:00:02
Index 1/1, flood queue length 0
Next 0x0(0)/0x0(0)
Last flood scan length is 1, maximum is 1
Last flood scan time is 0 msec, maximum is 0 msec
Neighbor Count is 1, Adjacent neighbor count is 1
Adjacent with neighbor 192.168.15.1 (Backup Designated Router)
Suppress hello for 0 neighbor(s)
Simple password authentication enabled

二、接口验证下的密文密码身份验证
要求R1和R2之间的链路做OSPF接口密文验证
R1(config)#interface f0/0
R1(config-if)#ip ospf authentication message-digest
R1(config-if)#ip ospf message-digest-key 1 md5 888

R2(config)#interface f0/0
R2(config-if)#ip ospf authentication message-digest
R2(config-if)#ip ospf message-digest-key 1 md5 888
R2(config-if)#end

以上是关于OSPF基本概述及配置的主要内容,如果未能解决你的问题,请参考以下文章

OSPF路由协议

OSPF多区域配置;骨干区域与非骨干区域;ABR边界路由器;LSA和SPF算法

实战教程之——OSPF虚链路(实验可跟做)

华为路由器OSPF虚链路配置

OSPF路由协议之“地址汇总”及“虚链路”

OSPF虚链路部署——实战可一步步跟做