OSPF(Open Shortest Pass First,开放最短路径优先协议),是一个最常用的内部网管协议,是一个链路状态协议。
OSPF组播的方式在所有开启OSPF的接口发送Hello包,用来确定是否有OSPF邻居,若发现了,则建立OSPF邻居关系,形成邻居表,之后互相发送LSA(链路状态通告)相互通告路由,形成LSDB(链路状态数据库)。再通过SPF算法,计算最佳路径(cost最小)后放入路由表。
设计要求:1.必须配置骨干区域0
2.其他区域连接到骨干区域
好处: 1.减小路由表(通过域间汇总)
2.本地拓扑变化值影响一个区域(也是通过汇总)
3.某些LSA之子本地泛红,不泛洪到其他区域
注:OSPF区域划分基于接口而不是设备
骨干区域(区域0):骨干区域必须连接所有的非骨干区域,而且骨干区域不可分割,有且只有一个,一般情况下,骨干区域内没有终端用户。
非骨干区域(非0区域):非骨干区域一般根据实际情况而划分,必须连接到骨干区域(不规则区域也需通过tunnel或virtual-link连接到骨干区域)。一般情况下,费骨干区域主要连接终端用户和资源。
DR(Designated Router):指定路由器,OSPF协议启动后开始选举而来
BDR(Back-up Designated Router):备份指定路由器,同样是由OSPF启动后选举而来
DRothers:其他路由器,非DR非BDR的路由器都是DRothers。
ABR(Area Border Routers):区域边界路由器,连接不同OSPF区域。
ASBR(Autonomous System Boundary Router):自治系统边界路由器,位于OSPF和非OSPF网络之间。
骨干路由器:至少有一个借口连接到骨干区域(区域0)。
邻居的两个状态
Neighbors:邻居
Adjacency:邻接
影响OSPF邻居建立的原因:
注:LSA序列号,4字节,16进制
0x80000001-0x7FFFFFFF
DR、BDR的选举规则:比较router-id,router-id有以下获得方式:
选举规则:
注:DBD只是一个目录的性质,并且第一个DBD只是用来协商之后的DBD由谁先发送。
R1>en
R1#conf t
R1(config)#int lo 0
R1(config-if)#ip add 1.1.1.1 255.255.255.255
R1(config-if)#no sh
R1(config-if)#exi
R1(config)#int f0/0
R1(config-if)#ip add 100.1.1.1 255.255.255.0
R1(config-if)#no sh
R1(config-if)#exi
R1(config)#router os 100
R1(config-router)#router-id 1.1.1.1
R1(config-router)#net 1.1.1.1 0.0.0.0 a 0
R1(config-router)#net 100.1.1.0 0.0.0.255 a 0
R1(config-router)#exi
对R2进行配置:
R2>en
R2#conf t
R2(config)#int lo 0
R2(config-if)#ip add 2.2.2.2 255.255.255.255
R2(config-if)#no sh
R2(config-if)#exi
R2(config)#int f0/0
R2(config-if)#ip add 100.1.1.2 255.255.255.0
R2(config-if)#no sh
R2(config-if)#exi
R2(config)#router os 100
R2(config-router)#route
R2(config-router)#router-id 2.2.2.2
R2(config-router)#net 2.2.2.2 0.0.0.0 a 0
R2(config-router)#net 100.1.1.0 0.0.0.255 a 0
R2(config-router)#ex
对R3进行配置:
R3>en
R3#conf t
R3(config)#int lo 0
R3(config-if)#ip add 3.3.3.3 255.255.255.255
R3(config-if)#no sh
R3(config-if)#exi
R3(config)#int f0/0
R3(config-if)#ip add 100.1.1.3 255.255.255.0
R3(config-if)#no sh
R3(config-if)#exi
R3(config)#router os 100
R3(config-router)#router-id 3.3.3.3
R3(config-router)#net 3.3.3.3 0.0.0.0 a 0
R3(config-router)#net 100.1.1.0 0.0.0.255 a 0
R3(config-router)#exi
对R4进行配置:
R4>en
R4#conf t
R4(config)#int lo 0
R4(config-if)#ip add 4.4.4.4 255.255.255.255
R4(config-if)#no sh
R4(config-if)#exi
R4(config)#int f0/0
R4(config-if)#ip add 100.1.1.4 255.255.255.0
R4(config-if)#no sh
R4(config-if)#exi
R4(config)#int f0/1
R4(config-if)#ip add 45.1.1.4 255.255.255.0
R4(config-if)#no sh
R4(config-if)#exi
R4(config)#router os 100
R4(config-router)#router-id 4.4.4.4
R4(config-router)#net 4.4.4.4 0.0.0.0 a 0
R4(config-router)#net 100.1.1.0 0.0.0.255 a 0
R4(config-router)#net 45.1.1.0 0.0.0.255 a 1
R4(config-router)#exi
对R5进行配置:
R5>en
R5#conf t
R5(config)#int lo 0
R5(config-if)#ip add 5.5.5.5 255.255.255.255
R5(config-if)#no sh
R5(config-if)#exi
R5(config)#int f0/1
R5(config-if)#ip add 45.1.1.5 255.255.255.0
R5(config-if)#no sh
R5(config-if)#exi
R5(config)#router os 100
R5(config-router)#router-id 5.5.5.5
R5(config-router)#net 5.5.5.5 0.0.0.0 a 1
R5(config-router)#net 45.1.1.0 0.0.0.255 a 1
R5(config-router)#exi
以上就是全部基本配置,我们下面来查看一下基本信息
查看邻居信息:
R4#show ip ospf neighbor
Neighbor ID Pri State Dead Time Address Interface
1.1.1.1 1 FULL/DR 00:00:38 100.1.1.1 FastEthernet0/0
2.2.2.2 1 FULL/BDR 00:00:34 100.1.1.2 FastEthernet0/0
3.3.3.3 1 2WAY/DROTHER 00:00:33 100.1.1.3 FastEthernet0/0
5.5.5.5 1 FULL/DR 00:00:33 45.1.1.5 FastEthernet0/1
可以看见R4这台路由器一共有四个邻居,这里临界状态,full就是代表邻接,我们可以看见区域0中R1是DR,R2是BDR,R3和R4都是DRothers,而区域1中R5是DR。那么我们可以推测,R4是区域1的BDR,我们在R5上查看:
R5#show ip ospf neighbor
Neighbor ID Pri State Dead Time Address Interface
4.4.4.4 1 FULL/BDR 00:00:36 45.1.1.4 FastEthernet0/1
推测不假,下面查看一下开启OSPF的接口信息:
R1#show ip ospf interface
FastEthernet0/0 is up, line protocol is up
Internet Address 100.1.1.1/24, Area 0
Process ID 100, Router ID 1.1.1.1, Network Type BROADCAST, Cost: 10
Transmit Delay is 1 sec, State DR, Priority 1
Designated Router (ID) 1.1.1.1, Interface address 100.1.1.1
Backup Designated router (ID) 2.2.2.2, Interface address 100.1.1.2
Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5
oob-resync timeout 40
Hello due in 00:00:00
Supports Link-local Signaling (LLS)
Cisco NSF helper support enabled
IETF NSF helper support enabled
Index 2/2, flood queue length 0
Next 0x0(0)/0x0(0)
Last flood scan length is 1, maximum is 1
Last flood scan time is 4 msec, maximum is 4 msec
Neighbor Count is 3, Adjacent neighbor count is 3
Adjacent with neighbor 2.2.2.2 (Backup Designated Router)
Adjacent with neighbor 3.3.3.3
Adjacent with neighbor 4.4.4.4
Suppress hello for 0 neighbor(s)
Loopback0 is up, line protocol is up
Internet Address 1.1.1.1/32, Area 0
Process ID 100, Router ID 1.1.1.1, Network Type LOOPBACK, Cost: 1
Loopback interface is treated as a stub Host
可以看见,开启了OSPF的接口的详细信息,比如Router-id,区域id,进程id,以及接口是如何加入进入OSPF的(network)
查看OSPF的路由:
R5#show ip route ospf
1.0.0.0/32 is subnetted, 1 subnets
O IA 1.1.1.1 [110/21] via 45.1.1.4, 00:26:31, FastEthernet0/1
2.0.0.0/32 is subnetted, 1 subnets
O IA 2.2.2.2 [110/21] via 45.1.1.4, 00:26:31, FastEthernet0/1
100.0.0.0/24 is subnetted, 1 subnets
O IA 100.1.1.0 [110/20] via 45.1.1.4, 00:26:31, FastEthernet0/1
3.0.0.0/32 is subnetted, 1 subnets
O IA 3.3.3.3 [110/21] via 45.1.1.4, 00:26:31, FastEthernet0/1
4.0.0.0/32 is subnetted, 1 subnets
O IA 4.4.4.4 [110/11] via 45.1.1.4, 00:26:31, FastEthernet0/1
在R5中查看OSPF的路由,发现全部都是O IA标记,这里O 标识来自OSPF,而IA代表是OSPF其他区域传来的路由(关于标记在后面讲解LSA中还会提到),我们再在R1上查看一下OSPF的路由:
R1#show ip route os
2.0.0.0/32 is subnetted, 1 subnets
O 2.2.2.2 [110/11] via 100.1.1.2, 00:29:28, FastEthernet0/0
3.0.0.0/32 is subnetted, 1 subnets
O 3.3.3.3 [110/11] via 100.1.1.3, 00:29:28, FastEthernet0/0
4.0.0.0/32 is subnetted, 1 subnets
O 4.4.4.4 [110/11] via 100.1.1.4, 00:29:28, FastEthernet0/0
5.0.0.0/32 is subnetted, 1 subnets
O IA 5.5.5.5 [110/21] via 100.1.1.4, 00:28:17, FastEthernet0/0
45.0.0.0/24 is subnetted, 1 subnets
O IA 45.1.1.0 [110/20] via 100.1.1.4, 00:29:28, FastEthernet0/0
可见,区域1的被标识为O IA,而区域0的则只是O。
以上就是基本的OSPF系统的配置。