原理概述
OSPF 是一种应用非常广泛的基于链路状态的动态路由协议,它具有区域( Area )化的层次结构,扩展性好,收敛速度快,适合部署在各种规模的网络上。
在 OSPF 中,每台路由器都必须有一个 Router-ID 来标示自己。为了使 OSPF 网络更加稳定可靠,路由器通常会启用 Loopback 接口,并配置特定的 IP 地址,且将此地址作为自己的Router- ID 。
OSPF 协议定义了4种不同的网络类型,分别为广播网络(也称为 Broadcast 网络)、 NBMA ( Non - Broadcast Multi-Access )网络、点到点网络(也称为 Point-to-Point 网络,或P2P网络)和点到多点网络(也称为 Point-to-Mutipoint 网络,或P2MP网络)。在广播网络和 NBMA 网络中,需要选举出 DR ( Designated Router )和 BDR ( Backup Designated Router )。 DR 和 BDR 是通过路由器接口的 DR 优先级来决定的,优先级最高的路由器将当选为 DR ,次之者当选为 BDR ;如果接口的 DR 优先级相同,则具有最高 Router-ID 的路由器将当选为 DR ,次之者当选为 BDR 。
实验目的
掌握 OSPF 的基本配置
观察并理解 DR / BDR 的选举过程
掌握 OSPF 接口开销的修改方法
理解 OSPF 被动接口的作用
掌握 OSPF 认证功能的配置
实验内容
实验拓扑如图所示。本实验模拟了一个企业网络场景,R1为企业总部的路由器,R2为地区总部 A 的路由器,R3为地区总部 B 的路由器,R4和R5分别为分支机构1和分支机构2的路由器。整个网络都运行 OSPF ,其中R1与R2和R3之间的链路位于区域0中,R2与R3之间的链路作为一条备份链路也位于区域0中,R2与R4之间的链路位于区域1中,R3与R5之间的链路位于区域2中。R4、R5、R1的Loopback1接口模拟了不同分支机构内以及企业总部内的网络。通过正确的 OSPF 配置后,不同分支机构的网络之间以及分支机构与企业总部的网络之间都应实现正常通信。
实验拓扑
1.基本配置
根据拓扑图进行相应的基本配置,并使用ping命令检测R1与R2之间的连通性。
其余直连网段的连通性测试过程在此省略。
2.配置OSPF路由协议
配置OSPF 协议,其中R1、R2、R3之间的链路位于区域0,R2与R4之间的链路位于区域1,R3与R5之间的链路位于区域2,每台路由器均使用loopback 0接口的IP地址作为自己的Router-ID。
[r1]ospf router-id 1.1.1.1
[r1-ospf-1]area 0
[r1-ospf-1-area-0.0.0.0]network 10.0.12.1 0.0.0.0
[r1-ospf-1-area-0.0.0.0]network 10.0.13.1 0.0.0.0
[r1-ospf-1-area-0.0.0.0]network 1.1.1.1 0.0.0.0
[r1-ospf-1-area-0.0.0.0]network 11.11.11.11 0.0.0.0
[r1-ospf-1-area-0.0.0.0]q
[r2]router id 2.2.2.2
[r2]ospf
[r2-ospf-1]area 0
[r2-ospf-1-area-0.0.0.0]network 10.0.12.2 0.0.0.0
[r2-ospf-1-area-0.0.0.0]network 10.0.23.2 0.0.0.0
[r2-ospf-1-area-0.0.0.0]network 2.2.2.2 0.0.0.0
[r2-ospf-1-area-0.0.0.0]area 1
[r2-ospf-1-area-0.0.0.1]network 10.0.24.2 0.0.0.0
[r3]router id 3.3.3.3
[r3]ospf
[r3-ospf-1]area 0
[r3-ospf-1-area-0.0.0.0]network 10.0.13.3 0.0.0.0
[r3-ospf-1-area-0.0.0.0]network 10.0.23.3 0.0.0.0
[r3-ospf-1-area-0.0.0.0]network 3.3.3.3 0.0.0.0
[r3-ospf-1]area 2
[r3-ospf-1-area-0.0.0.2]network 10.0.35.3 0.0.0.0[r4]ospf
[r4-ospf-1]area 1
[r4-ospf-1-area-0.0.0.1]net 10.0.24.4 0.0.0.0
[r4-ospf-1-area-0.0.0.1]net 4.4.4.4 0.0.0.0
[r4-ospf-1-area-0.0.0.1]net 44.44.44.44 0.0.0.0
[r5]router id 5.5.5.5
[r5]ospf
[r5-ospf-1]area 2
[r5-ospf-1-area-0.0.0.2]network 10.0.35.5 0.0.0.0
[r5-ospf-1-area-0.0.0.2]network 5.5.5.5 0.0.0.0
[r5-ospf-1-area-0.0.0.2]network 55.55.55.55 0.0.0.0
配置完成后,查看R1、R2、R3上OSPF邻居的建立情况。
可以看到,OSPF邻居状态都为Full,表明各邻居关系都已成功建立。
查看R1的IP路由表。
可以看到,企业总部路由器R1已经获得了其它路由器的接口所在网段的路由。
查看R4的IP路由表
<r4>display ip routing-table
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Public
Destinations : 21 Routes : 21Destination/Mask Proto Pre Cost Flags NextHop Interface
1.1.1.1/32 OSPF 10 2 D 10.0.24.2 Ethernet4/0/0
2.2.2.2/32 OSPF 10 1 D 10.0.24.2 Ethernet4/0/0
3.3.3.3/32 OSPF 10 3 D 10.0.24.2 Ethernet4/0/0
4.4.4.4/32 Direct 0 0 D 127.0.0.1 LoopBack0
5.5.5.5/32 OSPF 10 4 D 10.0.24.2 Ethernet4/0/0
10.0.12.0/24 OSPF 10 2 D 10.0.24.2 Ethernet4/0/0
10.0.13.0/24 OSPF 10 3 D 10.0.24.2 Ethernet4/0/0
10.0.23.0/24 OSPF 10 49 D 10.0.24.2 Ethernet4/0/0
10.0.24.0/24 Direct 0 0 D 10.0.24.4 Ethernet4/0/0
10.0.24.4/32 Direct 0 0 D 127.0.0.1 Ethernet4/0/0
10.0.24.255/32 Direct 0 0 D 127.0.0.1 Ethernet4/0/0
10.0.35.0/24 OSPF 10 4 D 10.0.24.2 Ethernet4/0/0
11.11.11.11/32 OSPF 10 2 D 10.0.24.2 Ethernet4/0/0
44.44.44.0/24 Direct 0 0 D 44.44.44.44 LoopBack1
44.44.44.44/32 Direct 0 0 D 127.0.0.1 LoopBack1
44.44.44.255/32 Direct 0 0 D 127.0.0.1 LoopBack1
55.55.55.55/32 OSPF 10 4 D 10.0.24.2 Ethernet4/0/0
127.0.0.0/8 Direct 0 0 D 127.0.0.1 InLoopBack0
127.0.0.1/32 Direct 0 0 D 127.0.0.1 InLoopBack0
127.255.255.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0
255.255.255.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0
可以看到,分支机构1的路由器R4已经获得了企业总部、地区总部以及分支机构2的所有网段的路由。至此,所有分支机构和企业总部及地区总部的路由器已经实现了互通,相互可以进行通信了。
3.查看DR/BDR选举情况
在DR/BDR的选举过程中,首先比较的是路由器接口的DR优先级,优先级最高的路由器将被选为DR,次之者为BDR,其余的为DRother。DR优先级默认值为1,如果为0则默认为不参与选举。如果接口的DR优先级相同,则比较路由器的Router-ID,数值最大的为DR,次之者为BDR,其余的为DRother。
在R1、R2上查看DR/BDR的选举情况。
Loopback 接口所在的网段都默认为是点到点网络,可以观察到,在点到点网络上是没有选举 DR / BDR 的。10.0.12.0/24为以太网段,默认为是广播网络,所以需要选举 DR / BDR 。由于采用了默认配置,所以R1的 GE 0/0/1和R2的 GE 0/0/0接口的 DR 优先级的值都为1,故需比较 Router-ID 。因此,最终R2因为 Router-ID 较大而当选为10.0.12.0/24网段上的 DR ,R1则为 BDR 。另外,还可以看到,在10.0.24.0/24网段上,R2当选为该网段上的 BDR ,R4为 DR 。
现在,修改R1的 GE 0/0/1的 DR 优先级的值为2,希望使R1成为10.0.12.0/24网段的 DR ,R2成为 BDR 。
[r1]interface g0/0/1
[r1-GigabitEthernet0/0/1]ospf dr-priority 2
在R1上重新查看DR/BDR的选举情况。
观察发现,R1并没有变为 DR ,这是因为为了维持 OSPF 网络的稳定性, DR / BDR 的选举不具有抢占性。将R1的 GE 0/0/1接口先手动关闭,然后再开启,或者重启 OSPF 进程,才能使得 DR / BDR 重新进行选举。
下面重启 OSPF 进程。
<r1>reset ospf 1 process
在R1上重新查看 DR / BDR 的选举情况。
可以看到,R1已成为了10.0.12.0/24网段上的DR。
4.配置OSPF的接口开销值
查看R2的路由表。
可以看到,R2访问R3和R5的loopback接口所在网段的路由的下一跳都为R1(10.0.12.1),而不是R3
使用tracert命令来测试报文从R2到目的地址55.55.55.55所经过的路径。
可以看到,报文会经过R1(10.0.12.1)再到R3(10.0.13.3),然后到达R5。
在R2上查看接口的OSPF开销值。
从上面的显示消息可以看到,R2的Serial 2/0/0接口(10.0.23.2)的Cost值为48,g0/0/0接口(10.0.12.2)的Cost值为1。现在,将R2的G0/0/0接口的Cost值修改为50,将R3的G0/0/0接口的Cost值也修改为50。
[r2]int g0/0/0
[r2-GigabitEthernet0/0/0]ospf cost 50[r3]int g0/0/0
[r3-GigabitEthernet0/0/0]ospf cost 50
修改完成后,在R2上重新查看接口的Cost值。
可以看到,R2的G0/0/0接口的Cost值已修改为50.再次在R2上使用tracert命令来测试报文从R2到目的地址55.55.55.55所经过的路径。
可以看到,报文不再经过R1,而是直接经过R3(10.0.23.3)到达R5;这也验证了Cost越小,路由越优的原则。
5.配置OSPF被动接口
如果一个OSPF的某一接口被配置为被动接口(Passive Interface),则该接口将不会发送和接收OSPF报文。例如,将R2的Ethernet4/0/0接口配置为被动接口,如下。
[r2]ospf
[r2-ospf-1]silent-interface Ethernet4/0/0
配置完成后,设备会弹出如下信息。
Apr 29 2024 16:03:41-08:00 r2 %%01OSPF/3/NBR_CHG_DOWN(l)[0]:Neighbor event:neigh
bor state changed to Down. (ProcessId=256, NeighborAddress=4.4.4.4, NeighborEven
t=KillNbr, NeighborPreviousState=Full, NeighborCurrentState=Down)
[r2-ospf-1]
Apr 29 2024 16:03:41-08:00 r2 %%01OSPF/3/NBR_DOWN_REASON(l)[1]:Neighbor state le
aves full or changed to Down. (ProcessId=256, NeighborRouterId=4.4.4.4, Neighbor
AreaId=16777216, NeighborInterface=Ethernet4/0/0,NeighborDownImmediate reason=Ne
ighbor Down Due to Kill Neighbor, NeighborDownPrimeReason=Passive Interface Down
, NeighborChangeTime=2024-04-29 16:03:41-08:00)
从以上信息可知,R2和R4的邻居关系已经由Full状态变为了Down状态。为了验证这一变化,查看此时R2的OSPF邻居建立情况。
可以看到,R2未与R4建立OSPF邻居关系,但仍与R1和R3保持了正常的邻居关系。查看路由器R2、R4的IP路由表(请先恢复R2和R3的G0/0/0的Cost值为1)。
可以看到,地区总部A的路由器R2上不再有分支机构1的网络的路由,分支机构1的路由器R4上也没有所有其他网络的路由了,只有直连网络的路由。
6.配置OSPF认证功能
OSPF的认证功能的配置可以是基于区域的,也可以是基于接口的。接下来,先在R1上配置基于区域0的认证功能,采用简单的明文方式。
[r1]ospf 1
[r1-ospf-1]area 0
[r1-ospf-1-area-0.0.0.0]authentication-mode simple plain Huawei
配置完成后,在R1上查看OSPF邻居信息。
可以看到,R1现在没有任何OSPF邻居,这是因为R2、R3上还没有配置相匹配的认证功能。R2和R3都未能通过R1的认证,所以R1不会和R2和R3建立邻居关系。
在R2、R3上进行相应的认证功能的配置。
[r2]ospf 1
[r2-ospf-1]area 0
[r2-ospf-1-area-0.0.0.0]authentication-mode simple plain Huawei[r3]ospf 1
[r3-ospf-1]area 0
[r3-ospf-1-area-0.0.0.0]authentication-mode simple plain Huawei
配置完成后,再在R1上查看OSPF邻居信息。
可以看到,R1与R2、R1与R3之间的邻居关系已正常建立。
接下来,在R2上配置基于Ethernet4/0/0接口的认证,并采用MD5密文方式。
[r2]int e4/0/0
[r2-Ethernet4/0/0]ospf authentication-mode md5 24 cipher Huawei
配置完成后,在R2上查看OSPF邻居信息。
可以看到,R2与R4没有建立起邻居关系,这是因为R4上还没有进行相匹配的认证功能的配置,所以R4未能通过R2的认证。
在R4上进行相应的认证功能的配置。
[r4]int e4/0/0
[r4-Ethernet4/0/0]ospf authentication-mode md5 24 cipher Huawei
配置完成后,重新在R2上查看OSPF邻居信息 。
<r2>display ospf peer brief
OSPF Process 1 with Router ID 2.2.2.2
Peer Statistic Information
----------------------------------------------------------------------------
Area Id Interface Neighbor id State
0.0.0.0 GigabitEthernet0/0/0 1.1.1.1 Full
0.0.0.0 Serial2/0/0 3.3.3.3 Full
0.0.0.1 Ethernet4/0/0 4.4.4.4 Full
可以看到,现在R2与R4已经成功地建立了邻居关系。
在R2上查看认证配置情况。
可以看到,相对于MD5模式下的密文认证,简单的明文认证方式会直接将密码显示出来,安全性较低。