OSPF
OSPF(Open Shortest Path First,开放式最短路径优先)是基于链路状态的内部网关协议。OSPF具有收敛快、路由无环、扩展性好等优点。链路状态算法路由协议互相通告的是链路状态信息,每台路由器都将自己的链路状态信息(包含接口的IP地址和子网掩码、网络类型、该链路的开销等)发送给其他路由器,并在网络中泛洪,当每台路由器收集到网络内所有链路状态信息后,就能拥有整个网络的拓扑情况,然后根据整网拓扑情况运行SPF算法,得出所有网段的最短路径。
OSPF单区域
基础配置
R1
interface Ethernet0/0/0
ip address 10.0.10.254 255.255.255.0
interface GigabitEthernet0/0/0
ip address 10.1.1.1 255.255.255.252
interface GigabitEthernet0/0/2
ip address 10.1.1.5 255.255.255.252
R2
interface Ethernet0/0/0
ip address 10.0.20.254 255.255.255.0
interface GigabitEthernet0/0/0
ip address 10.1.1.2 255.255.255.252
interface GigabitEthernet0/0/1
ip address 10.1.1.9 255.255.255.252
R3
interface Ethernet0/0/0
ip address 10.0.30.254 255.255.255.0
interface GigabitEthernet0/0/1
ip address 10.1.1.10 255.255.255.252
interface GigabitEthernet0/0/2
ip address 10.1.1.6 255.255.255.252
配置OSPF单区域
在三个路由器的区域0上宣告自己的直连网段,宣告需写反转掩码
[r1]ospf 1
[r1-ospf-1]area 0
[r1-ospf-1-area-0.0.0.0]network 10.0.10.0 0.0.0.255
[r1-ospf-1-area-0.0.0.0]network 10.1.1.0 0.0.0.3
[r1-ospf-1-area-0.0.0.0]network 10.1.1.4 0.0.0.3
[r2]ospf
[r2-ospf-1]ar 0
[r2-ospf-1-area-0.0.0.0]network 10.0.20.0 0.0.0.255
[r2-ospf-1-area-0.0.0.0]network 10.1.1.0 0.0.0.3
[r2-ospf-1-area-0.0.0.0]network 10.1.1.8 0.0.0.3
[r3]ospf
[r3-ospf-1]ar 0
[r3-ospf-1-area-0.0.0.0]network 10.0.30.0 0.0.0.255
[r3-ospf-1-area-0.0.0.0]network 10.1.1.4 0.0.0.3
[r3-ospf-1-area-0.0.0.0]network 10.1.1.8 0.0.0.3
检查OSPF接口通告
[r1]display ospf interface
OSPF Process 1 with Router ID 10.0.10.254
Interfaces
Area: 0.0.0.0 (MPLS TE not enabled)
IP Address Type State Cost Pri DR BDR
10.0.10.254 Broadcast DR 1 1 10.0.10.254 0.0.0.0
10.1.1.1 Broadcast DR 1 1 10.1.1.1 10.1.1.2
10.1.1.5 Broadcast DR 1 1 10.1.1.5 10.1.1.6
检查OSPF邻居状态
[r1]display ospf peer
OSPF Process 1 with Router ID 10.0.10.254
Neighbors
Area 0.0.0.0 interface 10.1.1.1(GigabitEthernet0/0/0)'s neighbors
Router ID: 10.0.20.254 Address: 10.1.1.2
State: Full Mode:Nbr is Master Priority: 1
DR: 10.1.1.1 BDR: 10.1.1.2 MTU: 0
Dead timer due in 35 sec
Retrans timer interval: 5
Neighbor is up for 00:05:08
Authentication Sequence: [ 0 ]
Neighbors
Area 0.0.0.0 interface 10.1.1.5(GigabitEthernet0/0/2)'s neighbors
Router ID: 10.0.30.254 Address: 10.1.1.6
State: Full Mode:Nbr is Master Priority: 1
DR: 10.1.1.5 BDR: 10.1.1.6 MTU: 0
Dead timer due in 38 sec
Retrans timer interval: 5
Neighbor is up for 00:02:45
Authentication Sequence: [ 0 ]
查看ospf路由表
[r1]dis ip routing-table protocol ospf
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Public routing table : OSPF
Destinations : 3 Routes : 4
OSPF routing table status : <Active>
Destinations : 3 Routes : 4
Destination/Mask Proto Pre Cost Flags NextHop Interface
10.0.20.0/24 OSPF 10 2 D 10.1.1.2 GigabitEthernet
0/0/0
10.0.30.0/24 OSPF 10 2 D 10.1.1.6 GigabitEthernet
0/0/2
10.1.1.8/30 OSPF 10 2 D 10.1.1.2 GigabitEthernet
0/0/0
OSPF 10 2 D 10.1.1.6 GigabitEthernet
0/0/2
OSPF routing table status : <Inactive>
Destinations : 0 Routes : 0
OSPF多区域
OSPF协议可以将整个自治系统化为不同的区域(Area)。链路状态信息只在区域内部泛洪,区域之间传递的只是路由条目而非链路状态信息;区域0是骨干区域,骨干区域负责在非骨干区域之间发布区域间的路由信息。在一个OSPF区域中有且只有一个骨干区域,非骨干区域必须和骨干区域相连,且非骨干区域之间不能直接进行路由信息交互。
Al-backbone与As-backbone为区域边界路由器
多区域配置
Al-backbone
vlan batch 901 to 902
interface Vlanif901
description to_al-core1
ip address 10.1.1.2 255.255.255.252
interface Vlanif902
description to_as-backbone
ip address 10.0.1.2 255.255.255.252
interface GigabitEthernet0/0/1
description to_al-core1
port link-type trunk
port trunk allow-pass vlan 2 to 4094
interface GigabitEthernet0/0/2
description to_as-backbone
port link-type trunk
port trunk allow-pass vlan 2 to 4094
ospf 1
area 0.0.0.0
network 10.0.1.0 0.0.0.3 description to_as-backbone
area 0.0.0.1
network 10.1.1.0 0.0.0.3 description to_al-core1
As-backbone
vlan batch 902 to 903
interface Vlanif902
description to_al-backbone
ip address 10.0.1.1 255.255.255.252
interface Vlanif903
description to_as-core1
ip address 10.2.1.1 255.255.255.252
interface GigabitEthernet0/0/1
description to_as-core1
port link-type trunk
port trunk allow-pass vlan 2 to 4094
interface GigabitEthernet0/0/2
description to_al-backbone
port link-type trunk
port trunk allow-pass vlan 2 to 4094
ospf 1
area 0.0.0.0
network 10.0.1.0 0.0.0.3 description to_al-backbone
area 0.0.0.2
network 10.2.1.0 0.0.0.3 description to_as-core1
Al-core1
vlan batch 4 901
interface Vlanif4
description to_pc1
ip address 10.1.4.254 255.255.255.0
interface Vlanif901
description to_al-backbone
ip address 10.1.1.1 255.255.255.252
interface GigabitEthernet0/0/1
description to_al-backbone
port link-type trunk
port trunk allow-pass vlan 2 to 4094
interface GigabitEthernet0/0/2
description to_pc1
port link-type access
port default vlan 4
ospf 1
area 0.0.0.1
network 10.1.1.0 0.0.0.3 description to_al-backbone
network 10.1.4.0 0.0.0.255 description to_pc1
As-core1
vlan batch 4 903
interface Vlanif4
description to_pc2
ip address 10.2.4.254 255.255.255.0
interface Vlanif903
description to_as-backbone
ip address 10.2.1.2 255.255.255.252
interface GigabitEthernet0/0/1
description to_as-backbone
port link-type trunk
port trunk allow-pass vlan 2 to 4094
interface GigabitEthernet0/0/2
description to_pc2
port link-type access
port default vlan 4
ospf 1
area 0.0.0.2
network 10.2.1.0 0.0.0.3 description to_as-backbone
network 10.2.4.0 0.0.0.255 description to_pc1
查看路由信息
<al-backbone>dis ip routing-table
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Public
Destinations : 9 Routes : 9
Destination/Mask Proto Pre Cost Flags NextHop Interface
10.0.1.0/30 Direct 0 0 D 10.0.1.2 Vlanif902
10.0.1.2/32 Direct 0 0 D 127.0.0.1 Vlanif902
10.1.1.0/30 Direct 0 0 D 10.1.1.2 Vlanif901
10.1.1.2/32 Direct 0 0 D 127.0.0.1 Vlanif901
10.1.4.0/24 OSPF 10 2 D 10.1.1.1 Vlanif901
10.2.1.0/30 OSPF 10 2 D 10.0.1.1 Vlanif902
10.2.4.0/24 OSPF 10 3 D 10.0.1.1 Vlanif902
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
OSPF认证
OSPF报文验证功能,通过验证的报文才能接受
OSPF协议的两种认证方式
1. 区域认证:区域内所有路由器(三层交换机)的认证模式和口令必须一致
2. 链路认证:针对某个邻居设置单独的认证模式和密码。同时配置了两种,则链路认证优先
每种认证方式的三种验证模式
1. 简单验证模式:明文传输
2. MD5验证模式:md5加密传输
3. Key chain验证模式:同时配置多个密钥,不同密钥单独设置生效周期
配置OSPF区域1明文认证(实验环境同多区域配置)
Al-backbone区域1配置
[al-backbone-ospf-1-area-0.0.0.1]authentication-mode simple plain 111111
Al-core1区域1配置
[al-core1-ospf-1-area-0.0.0.1]authentication-mode simple plain 111111
配置OSPF区域2秘文认证(实验环境同多区域配置)
As-backbone区域2配置
[as-backbone-ospf-1-area-0.0.0.2]authentication-mode simple cipher 111111
As-core1区域2配置
[as-backbone-ospf-1-area-0.0.0.2]authentication-mode simple cipher 111111
更改OSPF区域1为md5认证(实验环境同多区域配置)
Al-backbone区域1配置
[al-backbone-ospf-1-area-0.0.0.1]undo authentication-mode
[al-backbone-ospf-1-area-0.0.0.1]authentication-mode md5 1 huawei
标识符为1,配置口令为huawei
Al-core1区域1配置
[al-core1-ospf-1-area-0.0.0.1]undo authentication-mode
[al-core1-ospf-1-area-0.0.0.1]authentication-mode md5 1 huawei
配置OSPF链路认证
[Huawei]interface GigabitEthernet0/0/1
三层交换机需先清除以太网接口二层配置并开启三层功能
[Huawei-GigabitEthernet0/0/1]undo portswitch
[Huawei-GigabitEthernet0/0/1]ospf authentication-mode md5 1 huawei
OSPF被动接口
被动接口也称抑制接口,成为被动接口后,将不会接收和发送OSPF报文。一般配置连接pc的接口为被动接口
被动接口配置(实验环境同多区域配置)
[al-core1-ospf-1]silent-interface GigabitEthernet 0/0/2
OSPF Router-ID
OSPF使用Router-ID作为路由器的身份标识,如果在启动ospf时没有指定Router-ID,则OSPF无法正常启动。例如,路由器(三层交换机)上未配置任何ip地址。
Router-ID选举规则
Router-ID命令配置 --> 最大的loopback接口ip地址 --> 最大的其他接口ip地址(不考虑up/down情况)
只有配选为Router-ID的接口ip地址被删除/修改,才触发重新选择过程。Router-ID改变之后,需手动reset ospf协议。
手动配置Router-ID
[al-backbone]router id 1.1.1.1
<al-backbone>reset ospf process
查看Router-ID
<al-backbone>dis router id
RouterID:1.1.1.1
OSPF的DR与BDR
DR(指定路由器):所有的路由器都只将各自的链路状态信息发送给DR,再由DR以组播方式发送至所有路由器。
BDR(备份指定路由器):当DR由于故障失效时,BDR成为DR,并在选择新的BDR路由器。
DR Other(其他路由器):非DR与BDR的路由器
DR选举规则
比较优先级,优先级高的为DR,次高的为BDR
比较Router-ID,数值高的为DR,次高的为BDR
Notes:DR选举针对接口,DR选举是非抢占的。
手动配置接口ospf优先级
三层交换机需先清除以太网接口二层配置并开启三层功能
[Huawei-GigabitEthernet0/0/1]undo portswitch
[Huawei-GigabitEthernet0/0/1]ospf dr-priority 10
后续处理
改变优先级后,可以利用下面两种方法重新进行DR/BDR的选择,但是这会导致路由器(三层交换机)之间的OSPF邻接关系中断,一般情况下不推荐使用
- 重启所有路由器(三层交换机)
- 在建立了OSPF邻居的接口上执行shutdown/undo shutdown命令
OSPF协议优先级修改
当路由器或交换机上同时存在多种路由协议的时候,系统为每一种路由协议设置了不同的默认优先级,当在不同协议中发现同一条路由时,协议优先级高的将被优选。
修改OSPF协议优先级
[al-backbone]ospf
[al-backbone-ospf-1]preference 200
OSPF开销值修改
ospf接口的开销值如果没配置,ospf会根据该接口的带宽自动计算其开销值。计算公式为:接口开销=带宽参考值/接口带宽,取计算结果的整数部分作为接口开销值,通过改变带宽参考值可以间接改变接口的开销值。
直接修改接口开销值
三层交换机需先清除以太网接口二层配置并开启三层功能
[Huawei-GigabitEthernet0/0/1]undo portswitch
[Huawei-GigabitEthernet0/0/1]ospf cost 1000
间接修改带宽参考值
[al-backbone]ospf
[al-backbone-ospf-1]bandwidth-reference 10000
OSPF计时器修改
在OSPF协议中的网络类型为广播网络类型,其默认hello计时器为10秒,dead计时器为40秒
修改计时器
三层交换机需先清除以太网接口二层配置并开启三层功能
[Huawei-GigabitEthernet0/0/1]undo portswitch
[Huawei-GigabitEthernet0/0/1]ospf timer hello 20
[Huawei-GigabitEthernet0/0/1]ospf timer dead 80