转载:OSPF超详细介绍,加实验配置 - 知乎 (zhihu.com)

 

1.OSPF概念

OSPF(Open Shortest Path First开放式最短路径优先)是一种动态路由协议,属于内部网关协议(Interior Gateway Protocol,简称IGP),是基于链路状态算法的路由协议。

2.OSPF的运行原理

(1)OSPF的五种报文,如下图所示:

(2)OSPF的运行

a)OSPF以组播的方式在所有开启OSPF协议的接口发送Hello报文,用来查看是否有OSPF邻居;

b)发送Hello报文之后,若发现邻居则建立OSPF邻居关系,形成邻居表项;

c)建立邻居表后,向各邻居发送LSA报文相互通告路由,形成LSDB(链路状态数据库);

d)基于LSDB,通过SPF(Shortest Path First)算法,计算最佳路径(cost度量值最小)后放入路由表中。

OSPF协议运行过程如图所示:

3.OSPF区域概念

区域:从逻辑上将设备划分为不同的组,每个组用不同的区域号(Area ID)来标识。

在OSPF中,用OSPF Area来表示一个OSPF区域,分为骨干区域和非骨干区域。

骨干区域(区域0):每一个OSPF必须拥有一个区域0,骨干区域必须连接所有非骨干区域,一般来说区域内没有终端用户。

非骨干区域(非0区域):非骨干区域必须连接骨干区域通信,一般情况下用于连接终端设备和资源。

4.OSPF状态

(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:所有交互已经完成

5.OSPF设备身份

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)。

6.OSPF选举DR与BDR

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

7.OSPF邻居关系

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. 邻居建立成功

8.OSPF网络类型

OSPF有四种网络类型,如下所示:

  • 点到点网络:即Point-to-point(P2P)型网络,是指该接口通过点到点的方式与一台路由器相连。此类型网络不需要进行OSPF的DR、BDR选举。在此类型的网络中,OSPF以组播方式(224.0.0.5)发送协议报文。典型例子时当链路层协议是PPP或HDLC时,OSPF缺省认为网络类型是P2P。

如图所示:

  • 广播型多路访问网络:即Broadcast型网络,网络本身支持广播功能。此类型网络需要进行OSPF的DR、BDR选举。在该类型的网络中,OSPF通常以组播方式(224.0.0.5和224.0.0.6)发送协议报文。典型例子时当链路层协议是Ethernet、FDDI时,OSPF缺省认为网络类型是广播型。

如图所示:

  • 非广播型多路访问网络:即NBMA(Non-Broadcast Multiple Access)型网络,虽然从一个接口可以到达多个目的节点,但是网络本身不支持广播功能,当链路层协议是帧中继、ATM或X.25时,OSPF缺省认为网络类型是NBMA。此时OSPF的邻居需要管理员手工指定。在该类型的网络中,以单播方式发送协议报文。

如图所示:

  • 点到多点网络:即Point-to-multipoint(P2MP)型网络,是指该接口通过点到多点的网络与多台路由器相连。

P2MP型网络比较特殊,没有一种链路层协议会被缺省地认为是点到多点类型。点到多点必须是由其他网络类型强制更改而来。常用做法是将NBMA改为点到多点的网络。在该类型的网络中,缺省情况下以组播方式(224.0.0.5)发送协议报文,也可以根据用户需要,以单播形式发送协议报文。

如图所示:

9.OSPF常见的其中类型LSA:

  • 路由器LSA(Router LSA):每个路由器都可以发起通告,罗列出自己和邻居的接☐,描述直连链路信息。
  • 网络LSA(Network LSA):只用于广播式网络,由区域内的DR或BDR路由器产生,报文包括DR和BDR连接的路由器的链路信息。
  • 网络汇总LSA(Network summary LSA):由ABR产生,可以通知本区域内的路由器通往区域外的路由信息,一个路由器接触网络内部的多个区域,使用这个路由表来总结信息,更新其它区域到达另一个区域的信息
  • ASBR汇总LSA(ASBR summary LSA):也是由ABR产生,但是它是一条主机路由,指向ASBR路由器地址的路由
  • 自治系统外部LSA(Autonomous system external LSA):由ASBR产生,告诉相同自治区的路由器通往外部自治区的路径。
  • AS-external-LSA,也叫Type5 LSA,由ASBR产生,描述到AS外部的路由,通告到除Stub区域和NSSA区域以外所有的区域。
  • NSSA外部LSA (NSSA External LSA)由ASBR产生,描述到AS外部的路由,仅在NSSA区域内传播。NSSA区域的ABR收到NSSA LSA时,会有选择地将其转化为Type5 LSA,以便将外部路由信息通告到OSPF网络的其它区域。

10.实验配置

使用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

//宣告网络192.168.1.0属于area 0

[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

//宣告网络192.168.2.0属于area 1

(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

//宣告网络192.168.1.0属于area 0

[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

//宣告网络192.168.3.0属于area 2

(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

//宣告网络192.168.2.0属于area 1

(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

//宣告网络192.168.3.0属于area 2

(5)在路由器R3上测试与R4的连通性测试如下:

(6)在路由器R4上测试与R3的连通性测试如下:

(7)查看R1路由表,如下所示:

由画红线部分可知,192.168.3.0网段由OSPF协议学习到。

(8)查看R2路由表,如下所示:

由画红线部分可知,192.168.2.0网段由OSPF协议学习到。

文章信息

创建时间
2024-01-23
作者
郭铭心
是否所有人可见
所有人可见
最后修改日期
2024-01-23
点击数
251
标签