转载:OSPF超详细介绍,加实验配置 - 知乎 (zhihu.com)
OSPF(Open Shortest Path First开放式最短路径优先)是一种动态路由协议,属于内部网关协议(Interior Gateway Protocol,简称IGP),是基于链路状态算法的路由协议。
(1)OSPF的五种报文,如下图所示:
(2)OSPF的运行
a)OSPF以组播的方式在所有开启OSPF协议的接口发送Hello报文,用来查看是否有OSPF邻居;
b)发送Hello报文之后,若发现邻居则建立OSPF邻居关系,形成邻居表项;
c)建立邻居表后,向各邻居发送LSA报文相互通告路由,形成LSDB(链路状态数据库);
d)基于LSDB,通过SPF(Shortest Path First)算法,计算最佳路径(cost度量值最小)后放入路由表中。
OSPF协议运行过程如图所示:
区域:从逻辑上将设备划分为不同的组,每个组用不同的区域号(Area ID)来标识。
在OSPF中,用OSPF Area来表示一个OSPF区域,分为骨干区域和非骨干区域。
骨干区域(区域0):每一个OSPF必须拥有一个区域0,骨干区域必须连接所有非骨干区域,一般来说区域内没有终端用户。
非骨干区域(非0区域):非骨干区域必须连接骨干区域通信,一般情况下用于连接终端设备和资源。
(1)Down State: 邻居的初始状态,表示没有从邻居受到任何信息
(2)Init State:路由设备收到了Hello报文,但是自己的Router ID不在所收到的Hello报文的邻居列表中,表示尚未与邻居建立双向通信关系。
(3)Two-way State:设备收到了一个Hello包,且Hello包中包括了自己的router-id,表示此时双方可以进行通信。
(4)Exstart State:First DBD确认主从关系,router-id大的为主,先发包
(5)Exchange State:交互DBD 相互学习
(6)Loading State:LSR与LSU的交互过程
(7)Full State:所有交互已经完成
DR(Designated Router):指定路由器,OSPF协议启动后开始选举而来
BDR(Back-up Designated Router):备份指定路由器,同样是由OSPF启动后选举而来,当指定路由器出现问题,备份指定路由器将成为指定路由器工作。
DR others:其他路由器,非DR非BDR的路由器都是DR others。
ABR(Area Border Routers):区域边界路由器,用于连接不同OSPF区域,处于区域边界。
ASBR(Autonomous System Boundary Router):自治系统边界路由器,位于OSPF和非OSPF网络之间。
骨干路由器:至少有一个接口连接到骨干区域(区域0)。
Router-ID(Router Identifier,路由器标识符):用来在一个OSPF域中唯一标识一台路由器。(Router-ID可通过手工配置,一个OSPF域中不能有相同的Router-ID),如下图所示:
DR、BDR的选举规则:比较router-id
在OSPF系统启动后,若40s内没有新设备接入就会开始选举,当DR失效或故障时,BDR会变成DR,重新选BDR。所有DR,BDR,DRothers说的都是接口,而不是设备,不同网段间选DR,BDR,而不是以OSPF区域为单位。
DR与BDR的选举规则:
(1)比较优先级:最高优先级值的路由器被选为DR(默认优先级相同:1),次高优先级的为BDR
(2)比较router-id:当优先级相同时,拥有最高router-id的成为DR,次高的成为BDR
OSPF邻居的两个状态:邻居(Neighbors)和邻接(Adjacency)
(1)邻接关系的建立
如图所示:
A. 路由器R1的Router ID为1.1.1.1,R2 的Router ID为2.2.2.2,启动OSPF后,R1状态为Down,发送Hello报文。
B. 路由器R2收到R1的Hello报文将R1添加到邻居表中,状态置为Init。
C. R2向R1发送邻居列表为1.1.1.1的Hello报文,R1在收到的Hello报文邻居列表中发现自己的Router ID,状态置为2-way。
D. R1向R2发送邻居列表为2.2.2.2的Hello报文,R2在收到的Hello报文邻居列表中发现自己的Router ID,状态置为2-way。
E. 邻居建立成功
OSPF有四种网络类型,如下所示:
如图所示:
如图所示:
如图所示:
P2MP型网络比较特殊,没有一种链路层协议会被缺省地认为是点到多点类型。点到多点必须是由其他网络类型强制更改而来。常用做法是将NBMA改为点到多点的网络。在该类型的网络中,缺省情况下以组播方式(224.0.0.5)发送协议报文,也可以根据用户需要,以单播形式发送协议报文。
如图所示:
使用OSPF技术实现不同区域网络通信
分析路由表
实验拓扑如下:
(1)在路由器R1配置如下:
<Huawei>sys
[Huawei]sysname R1
[R1]int g0/0/1 //进入接口
[R1-GigabitEthernet0/0/1]ip add 192.168.1.1 24 //配置接口IP
[R1-GigabitEthernet0/0/1]int g0/0/2
[R1-GigabitEthernet0/0/2]ip add 192.168.2.1 24
[R1-GigabitEthernet0/0/2]ospf 1 //启用OSPF,ID为1
[R1-ospf-1]area 0 //声明区域0
[R1-ospf-1-area-0.0.0.0]network 192.168.1.0 0.0.0.255
[R1-ospf-1-area-0.0.0.0]area 1 //声明区域1
[R1-ospf-1-area-0.0.0.1]network 192.168.2.0 0.0.0.255
(2)在路由器R2配置如下:
<Huawei>sys
[Huawei]sysname R2
[R2]int g0/0/1 //进入接口
[R2-GigabitEthernet0/0/1]ip add 192.168.3.1 24 //配置接口IP
[R2-GigabitEthernet0/0/1]int g0/0/2
[R2-GigabitEthernet0/0/2]ip add 192.168.1.2 24
[R2-GigabitEthernet0/0/2]ospf 1 //启用OSPF,ID为1
[R2-ospf-1]area 0 //声明区域0
[R2-ospf-1-area-0.0.0.0]network 192.168.1.0 0.0.0.255
[R2-ospf-1-area-0.0.0.0]area 2 //声明区域2
[R2-ospf-1-area-0.0.0.2]network 192.168.3.0 0.0.0.255
(3)在路由器R3配置如下:
<Huawei>sys
[Huawei]sysname R3
[R3]int g0/0/1 //进入接口
[R3-GigabitEthernet0/0/1]ip add 192.168.2.2 24 //配置接口IP
[R3-GigabitEthernet0/0/1]ospf 1 //启用OSPF,ID为1
[R3-ospf-1]area 1 //声明区域1
[R3-ospf-1-area-0.0.0.1]network 192.168.2.0 0.0.0.255
(4)在路由器R4配置如下:
<Huawei>sys
[Huawei]sysname R4
[R4]int g0/0/2 //进入接口
[R4-GigabitEthernet0/0/2]ip add 192.168.3.2 24 //配置接口IP
[R4-GigabitEthernet0/0/2]ospf 1 //启用OSPF,ID为1
[R4-ospf-1]area 2 //声明区域2
[R4-ospf-1-area-0.0.0.0]network 192.168.3.0 0.0.0.255
(5)在路由器R3上测试与R4的连通性测试如下:
(6)在路由器R4上测试与R3的连通性测试如下:
(7)查看R1路由表,如下所示:
由画红线部分可知,192.168.3.0网段由OSPF协议学习到。
(8)查看R2路由表,如下所示:
由画红线部分可知,192.168.2.0网段由OSPF协议学习到。