介绍:
OSPF用迪克斯加算法,即SPF(开放式最短路径优先算法) OSPF是工作在网络层面即 IP层,协议号 89
RIP工作在UDP层,端口号520
OSPF是内部网关协议的一种,基于链路状态算法。
OSPF的基本特点:
1、收敛速度快,相对RIP快些,在IGP协议中,EIGRP协议收敛最快,
2、无类路由协议,VLSM(可变长子网掩码),CIDR
3、OSPF支持负载均衡(等价负载分担)
4、支持区域划分,提供分级管理,使得SPF的算法更优,频率更低,节约了链路状态数据库,降低了路由的开销
5、OSPF支持认证:0不认证 1明文认证 2 MD5认证
6、支持触发更新
7、OSPF的路由优先级 内部10(OSPF自身产生的) 外部150(从其他协议引入的路由)
8、OSPF的度量值采用开销(Cost)作为标准的, RIP使用跳数选路,容易产生次优路径
9 、OSPF要维护邻居表,拓扑表,路由表
10、OSPF采用组播的方式来收发报文,可以减少对没有运行OSPF设备的干扰
OSPF的组播地址 224.0.0.5(所有设备) 224.0.0.6 (DR,BDR监听的)
RIP的组播地址:224.0.0.9
EIGRP的组播地址:224.0.0.10
11、OSPF为了确保链路状态数据库的同步,每1800秒(30分钟)更新一次
12、OSPF没有环路的一个协议,仅限于一个区域,在一个区域中是绝对无环的(基于算法)天然无环 (邻居)
可以这样认为,OSPF在区域内是链路状态协议(算法),在区域之间用的是距离矢量协议算法
OSPF的一些术语:
1、链路:OSPF路由器的一个接口
2、链路状态:各条链路的状态信息,接口的IP地址、掩码、网络类型、开销,所有的链路状态信息构成LSDB(链路状态数据库 Link State DataBase)
3、区域:同一组路由器组成,共享相同的信息
4、自治系统:一个自治系统是指使用同一种路由协议交换路由信息的一组路由器。自治系统(Autonomous System)
5、LSA(链路状态通告)和LSU(链路状态更新)
LSA :用来描述路由器的信息和链路的状态
LSU:可以包含一个或多个LSA,通告LSA给邻居
6、SPF算法
7、邻居关系:两台设备共享同一条链路,并且交互了一些参数(Hello报文),形成邻居关系(2-way状态)
邻接关系:相互交换LSA同步数据库的OSPF设备,(Full关系)
邻居是形成邻接关系的必要条件
8、DR(指定路由器)
BDR(备份指定路由器)
9、Router ID:用来标识运行OSPF的设备,是一个32位整数
每一个路由器必须要有一个Router ID
OSPF的三张表:
邻居表
拓扑表
路由表
划分AS为多个区域
区域是一组网段的集合。
OSPF支持将一组网段组合在一起,这样的一个组合称为一个区域,即区域是一组网段的集合。
划分区域可以缩小LSDB规模,减少网络流量。
区域内的详细拓扑信息不向其它区域发送,区域间传递的是抽象的路由信息,而不是详细的描述拓扑结构的链路状态信息。每个区域都有自己的LSDB,不同区域的LSDB是不同的。路由器会为每一个自己所连接到的区域维护一个单独的LSDB。由于详细链路状态信息不会别发布到区域以外,因此LSDB的规模大大缩小了。
Area0为骨干区域,骨干区域负责在非骨干区域之间发布区域边界路由器汇总信息(并非详细的链路状态信息),为了避免区域间路由环路,非骨干区域之间不允许直接相互发布区域间信息。因此,所以区域边界路由器都至少有一个接口属于Area0,即每个区域都必须连接到骨干区域。
区域0为骨干区域(类似于中央) 其他非0区域都是非骨干区域
OSPf要求每一个非骨干区域必须要连接到骨干区
OSPF路由器的分类:
内部路由器(Internal Router):
内部路由器是指所有所连接的网段都在一个区域的路由器。属于同一个区域的IR维护相同的LSDB。
区域边界路由器(Area Border Router):连接骨干区域和非骨干区域的设备
区域边界路由器是指连接到多个区域的路由器。ABR为每一个所连接的区域维护一个LSDB。
骨干路由器(Backbone Router):
骨干路由器是指至少有一个端口(或者虚连接)连接到骨干区域的路由器。包括所有的ABR和所有端口都在骨干区域的路由器。
AS边界路由器(AS Boundary Router):
AS边界路由器是指和其他AS中的路由器交换路由信息的路由器,这种路由器向整个AS通告AS外部路由信息。
AS边界路由器可以是内部路由器IR,或者是ABR,可以属于骨干区域也可以不属于骨干区域。
Router ID概念:
Router ID的配置:
1、进程下直接配置
ospf 10 router-id 5.5.5.5
2、全局下配置,各协议会自动调用该Router ID
router id 3.3.3.3
进程下配置的Router ID优于全局下配置
每一个OSPF设备都要有一个Router ID,
1、手工指定的Router ID最优
2、如果没有手工指定,会自动选举
选举规则:比较逻辑接口,地址最大的一个
如果没有逻辑接口,比较物理接口IP地址最大 的一个(接口必须是激活状态)
如果修改了router ID不会立刻生效,需要重置进程OSPF进程,或者重启OSPF设备
reset ospf process //重置OSPF进程
<Huawei>system-view
[Huawei]sysname AR1
[AR1]interface GigabitEthernet 0/0/0
[AR1-GigabitEthernet0/0/0]ip address 172.16.10.1 24
[AR1-GigabitEthernet0/0/0]int lo 0
[AR1-LoopBack0]ip ad 1.1.1.1 32
[AR1-LoopBack0]int g0/0/1
[AR1-GigabitEthernet0/0/1]ip ad 12.1.1.1 24
#其余路由器的IP配置同理
#ospf全局宣告
[AR1]ospf 10 router-id 1.1.1.1 # 配置OSPF进程10 Router ID为1.1.1.1 这是进程下指定
[AR1-ospf-10]area 10 #进入区域10
[AR1-ospf-10-area-0.0.0.10]network 172.16.10.1 0.0.0.0 # 精确宣告172.16.1.1
[AR1-ospf-10-area-0.0.0.10]network 1.1.1.1 0.0.0.0
[AR1-ospf-10-area-0.0.0.10]network 12.1.1.1 0.0.0.0
[AR1-ospf-10-area-0.0.0.10]display ospf interface # 查看OSPf接口的相关信息
OSPF Process 10 with Router ID 1.1.1.1
Interfaces
Area: 0.0.0.0 (MPLS TE not enabled)
Area: 0.0.0.10 (MPLS TE not enabled)
IP Address Type State Cost Pri DR BDR
172.16.10.1 Broadcast DR 1 1 172.16.10.1 172.16.10.8
1.1.1.1 P2P P-2-P 0 1 0.0.0.0 0.0.0.0
12.1.1.1 Broadcast Waiting 1 1 0.0.0.0 0.0.0.0
[AR1-ospf-10-area-0.0.0.10]display this
[V200R003C00]
#
area 0.0.0.10
network 1.1.1.1 0.0.0.0
network 12.1.1.1 0.0.0.0
network 172.16.10.1 0.0.0.0
#
return
[AR2]ospf 10 router-id 2.2.2.2
[AR2-ospf-10]area 10 #区域0.0.0.10
[AR2-ospf-10-area-0.0.0.10]network 12.1.1.0 0.0.0.255 #通配符掩码宣告,宣告12.1.1.0 网络运行OSPF协议
[AR2-ospf-10-area-0.0.0.10]area 0 #骨干区域0.0.0.0
[AR2-ospf-10-area-0.0.0.0]network 2.2.2.2 0.0.0.0
[AR2-ospf-10-area-0.0.0.0]network 23.1.1.0 0.0.0.255
[AR2-ospf-10]dis th
[V200R003C00]
#
ospf 10 router-id 2.2.2.2
area 0.0.0.0
network 2.2.2.2 0.0.0.0
network 23.1.1.0 0.0.0.255
area 0.0.0.10
network 12.1.1.0 0.0.0.255
#
return
[AR2-ospf-10]display ospf interface
OSPF Process 10 with Router ID 2.2.2.2
Interfaces
Area: 0.0.0.0 (MPLS TE not enabled)
IP Address Type State Cost Pri DR BDR
2.2.2.2 P2P P-2-P 0 1 0.0.0.0 0.0.0.0
23.1.1.2 Broadcast Waiting 1 1 0.0.0.0 0.0.0.0
Area: 0.0.0.10 (MPLS TE not enabled)
IP Address Type State Cost Pri DR BDR
12.1.1.2 Broadcast BDR 1 1 12.1.1.1 12.1.1.2
[AR5]ospf 10 router-id 5.5.5.5
[AR5-ospf-10]area 20
[AR5-ospf-10-area-0.0.0.20]network 45.1.1.0 0.0.0.255
[AR5-ospf-10-area-0.0.0.20]network 5.5.5.5 0.0.0.0
---------------------------------------
[AR5]rip #启用rip进程
[AR5-rip-1]undo summary #关闭自动汇总
[AR5-rip-1]version 2 #配置rip v2版本
[AR5-rip-1]network 5.0.0.0 #rip只能宣告主类地址,如200.200.200.200 32宣告方式为network 200.200.200.0
[AR5-rip-1]network 56.0.0.0
[AR5-rip-1]import-route ospf 10 #将ospf引入RIP
[AR5-rip-1]dis current configuration ospf
[V200R003C00]
#
ospf 10 router-id 5.5.5.5
area 0.0.0.20
network 5.5.5.5 0.0.0.0
network 45.1.1.0 0.0.0.255
#
return
[AR5-rip-1]dis th
[V200R003C00]
#
rip 1
undo summary
version 2
network 5.0.0.0
network 56.0.0.0
import-route ospf 10
#
return
#路由器6
[AR6-rip-1]dis th
[V200R003C00]
#
rip 1
undo summary
version 2
network 6.0.0.0
network 56.0.0.0
#
return
-----------------------------
[AR5]ospf 10 router-id 5.5.5.5
[AR5-ospf-10]di th
[V200R003C00]
#
ospf 10 router-id 5.5.5.5
area 0.0.0.20
network 5.5.5.5 0.0.0.0
network 45.1.1.0 0.0.0.255
#
return
[AR5-ospf-10]im
[AR5-ospf-10]import-route rip 1 #将rip引入ospf
[AR5-ospf-10]dis th
[V200R003C00]
#
ospf 10 router-id 5.5.5.5
import-route rip 1
area 0.0.0.20
network 5.5.5.5 0.0.0.0
network 45.1.1.0 0.0.0.255
#
return
OSPF宣告的第二种方法
在接口下宣告
interface GigabitEthernet0/0/0
ip address 23.1.1.3 255.255.255.0
ospf enable 10 area 0.0.0.0
interface GigabitEthernet0/0/1
ip address 34.1.1.3 255.255.255.0
如果在接口下宣告OSPf,要手工起用OSPF进程和区域
ospf 10
area 0.0.0.0
ospf enable 10 area 0.0.0.0
ospf的三个表
[AR1]display ospf peer brief #查看OSPF的邻居表
OSPF Process 10 with Router ID 1.1.1.1
Peer Statistic Information
----------------------------------------------------------------------------
Area Id Interface Neighbor id State
0.0.0.10 GigabitEthernet0/0/0 7.7.7.7 Full
0.0.0.10 GigabitEthernet0/0/0 8.8.8.8 Full
0.0.0.10 GigabitEthernet0/0/1 2.2.2.2 Full
----------------------------------------------------------------------------
[AR1]dis ospf lsdb #查看OSPF的LSDB表
OSPF Process 10 with Router ID 1.1.1.1
Link State Database
Area: 0.0.0.0
Area: 0.0.0.10
Type LinkState ID AdvRouter Age Len Sequence Metric
Router 7.7.7.7 7.7.7.7 160 48 80000007 1
Router 2.2.2.2 2.2.2.2 868 36 80000005 1
Router 1.1.1.1 1.1.1.1 159 60 8000000F 1
Router 8.8.8.8 8.8.8.8 167 48 80000007 1
Network 172.16.10.1 1.1.1.1 159 36 80000005 0
Network 12.1.1.1 1.1.1.1 868 32 80000003 0
Sum-Net 23.1.1.0 2.2.2.2 836 28 80000002 1
Sum-Net 5.5.5.5 2.2.2.2 300 28 80000002 3
Sum-Net 3.3.3.3 2.2.2.2 485 28 80000002 1
Sum-Net 4.4.4.4 2.2.2.2 408 28 80000002 2
Sum-Net 2.2.2.2 2.2.2.2 854 28 80000002 0
Sum-Net 34.1.1.0 2.2.2.2 459 28 80000002 2
Sum-Net 45.1.1.0 2.2.2.2 384 28 80000002 3
Sum-Asbr 5.5.5.5 2.2.2.2 570 28 80000001 3
AS External Database
Type LinkState ID AdvRouter Age Len Sequence Metric
External 6.6.6.0 5.5.5.5 573 36 80000001 1
External 5.5.5.5 5.5.5.5 573 36 80000001 1
External 56.1.1.0 5.5.5.5 573 36 80000001 1
[AR1]display ip routing-table protocol ospf #查看路由表
Route Flags: R - relay, D - download to fib #路由表rib已经解析到fib转发表
------------------------------------------------------------------------------
Public routing table : OSPF
Destinations : 11 Routes : 11
OSPF routing table status : <Active>
Destinations : 11 Routes : 11
Destination/Mask Proto Pre Cost Flags NextHop Interface
2.2.2.2/32 OSPF 10 1 D 12.1.1.2 GigabitEthernet
0/0/1
3.3.3.3/32 OSPF 10 2 D 12.1.1.2 GigabitEthernet
0/0/1
4.4.4.4/32 OSPF 10 3 D 12.1.1.2 GigabitEthernet
0/0/1
5.5.5.5/32 OSPF 10 4 D 12.1.1.2 GigabitEthernet
0/0/1
6.6.6.0/24 O_ASE 150 1 D 12.1.1.2 GigabitEthernet
0/0/1
7.7.7.7/32 OSPF 10 1 D 172.16.10.7 GigabitEthernet
0/0/0
8.8.8.8/32 OSPF 10 1 D 172.16.10.8 GigabitEthernet
0/0/0
23.1.1.0/24 OSPF 10 2 D 12.1.1.2 GigabitEthernet
0/0/1
34.1.1.0/24 OSPF 10 3 D 12.1.1.2 GigabitEthernet
0/0/1
45.1.1.0/24 OSPF 10 4 D 12.1.1.2 GigabitEthernet
0/0/1
56.1.1.0/24 O_ASE 150 1 D 12.1.1.2 GigabitEthernet
0/0/1
OSPF routing table status : <Inactive>
Destinations : 0 Routes : 0