OSPF基础概述

本文详细介绍了OSPF协议的工作原理,包括其与RIP的比较、初始化流程、报文类型、分区域管理和常用命令。重点阐述了OSPF的链路状态算法、邻居关系选举以及区域设置,旨在帮助读者理解OSPF在内部网关协议中的应用。
摘要由CSDN通过智能技术生成

一、OSPF协议简介

OSPF(Open Shortest Path First,开放最短路径优先)是IETF(Internet Engineering Task Force,互联网工程任务组)组织开发的一个基于链路状态的内部网关协议。工作在IP层,协议号89。

二、RIP的缺陷

1. 最大跳数限制了网络规模(15跳)

2. 以跳数为度量值无法准确判断最优路径

3. 路由更新发送完整路由表消耗网络带宽

4. 收敛速度慢

5. 协议会产生路由自环

三、OSPF初始化流程

1. 建立邻居和邻接关系

1.1 发送hello报文发现和建立邻居关系,组播地址224.0.0.5

说明:必须满足:接口UP;双方接口IP地址在同一网段;双方接口在同一区域等条件。

1.2 选举DR/BDR,建立邻接关系

备注:DR(Designated Router,指定路由器)

BDR(Backup Designated Router,备份指定路由器)

选举原因:使路由信息交换更加高速有序

选举范围:每条广播链路(每一个网段)上都需要选举出一个DR和一个BDR

选举规则:(1)优先级数字大的优先,默认优先级都是1;(2)Router-id大的优先

Router-id:定义,Rid,标识路由器的身份;产生方法:(1)手动配置一个IPv4地址格式作为Rid;(2)自动选举,1.在所有环回口中选举IP地址最大的作为Rid;2.在所有物理接口中选举IP地址最大的作为Rid

建议手动配置一个本地环回口的IP地址作为Rid

关系状态:DRother与DR建立邻接关系;DRother与BDR建立邻接关系;DR与BDR建立邻接关系;两个DRother之间保持邻居关系

说明:DRother:既不是DR路由器也不是BDR路由器,剩下的同网段其它路由器

2. 邻接路由器之间交换链路状态信息,实现区域内链路状态数据库同步

备注:邻居关系的路由器不参与链路状态信息交换

相关概念:

链路状态通告:LSA,用来描述路由器的接口、路由条目的相关信息

链路状态数据库:LSDB,存储本地所有LSA

工作流程:

(1)向邻接路由器发送DD报文,通告本地LSDB中所有LSA的摘要信息;

(2)收到DD后,与本地LSDB对比,向对方发送LSR报文,请求发送本机所需的LSA的完整信息

(3)收到LSR后,把对方所需的LSA的完整信息打包为一条LSU报文,发送至对方

(4)收到LSU后,向对方回复LSAck报文,进行确认

说明:可以看出OSPF路由更新不会发送完整路由表,因此消耗网络带宽较低。

3. 每台路由器根据本机链路状态数据库,计算到达每个目的网段的最优路由,写入路由表

说明:可以看出OSPF路由更新不会发送完整路由表,因此消耗网络带宽较低

四、OSPF报文类型

(1)Hello报文,周期性发送,用来发现和维持OSPF邻居关系;进行DR、BDR的选举

(2)DD报文(Database Description,数据库描述),用于描述本地LSDB中所有LSA的摘要,用于两台路由器进行数据库同步

(3)LSR报文(Link State Request,链路状态请求),向对方请求所需的LSA。两台路由器互相交换DD报文之后,得知对端的路由器有哪些LSA是本地的LSDB所缺少的,这时需要发送LSR报文向对方请求所需的LSA

(4)LSU报文(Link State Update,链路状态更新),向对方发送其所需要的LSA

(5)LSAck报文(Link State Acknowledgment,链路状态确认),用来对收到的LSA进行确认

五、OSPF分区域管理

1. 分区域的原因

加快收敛速度;把网络故障隔离在区域内部

说明:分区后,邻居、邻接关系的建立在各自区域内进行,所以可以加快收敛速度。划分区域后,可以在区域边界路由器上进行路由聚合,以减少通告到其他区域的LSA数量,还可以将网络拓扑变化带来的影响最小化(本区域的OSPF链路故障不会通告到其它区域)

2. 路由器角色

IR(内部路由器),所有接口都处于同一个区域

ABR(区域边界路由器),连接不同区域的路由器

ASBR(自治系统边界路由器),连接外部自治系统的路由器

OSPF分区图示:

3. 区域类型

骨干区域,只能有一个骨干区域,一般是区域0;骨干区域必须是连续的

非骨干区域,非骨干区域必须连接到骨干区域

说明:这样规定的原因主要是为了防环

五、OSPF常用命令

(1)[h3c]ospf 'process id' router-id 'rid'

开启OSPF进程,指定Router-id,进入OSPF协议视图



(2)[h3c-ospf-1]area 'area id'

进入区域视图



(3)[h3c-ospf-1-area 0.0.0.0]network 'ip address' 'wild-mask'

宣告网段

说明:wild-mask(掩码通配符),0对应的部分需要匹配一致,1对应的部分不检查,与子网掩码没有半毛钱关系



(4)[h3c-ospf-1]slient-interface 'interface id'

配置静默接口,OSPF不会在向静默接口上收发协议报文(与RIP静默接口目的一样)



(5)[h3c]display ospf peer

查看OSPF邻居关系,FULL:表示邻接关系;2-Way:表示邻居关系



(6)[h3c]display ospf routing

查看OSPF路由

六、OSPF配置实例

1. 配置拓扑

2. 配置需求

(1)按照图示配置 IP 地址;

(2)按照图示分区域配置 OSPF ,实现全网互通;

(3)为了路由结构稳定,要求路由器使用环回口作为 Router-id,ABR 的环回口宣告进骨干区域;

3. 配置步骤

(1)按照拓扑所示,配置IP地址


[R1]int LoopBack 0
[R1-LoopBack0]ip a 1.1.1.1 32
[R1-LoopBack0]int g 0/0
[R1-GigabitEthernet0/0]ip a 20.1.1.1 24
[R1-GigabitEthernet0/0]int g 0/2
[R1-GigabitEthernet0/2]ip a 10.1.1.2 24
[R1-GigabitEthernet0/2]quit
[R1]

[R2]int LoopBack 0
[R2-LoopBack0]ip a 2.2.2.2 32
[R2-LoopBack0]int g 0/0
[R2-GigabitEthernet0/0]ip a 20.1.1.2 24
[R2-GigabitEthernet0/0]int g 0/1
[R2-GigabitEthernet0/1]ip a 30.1.1.1 24
[R2-GigabitEthernet0/1]quit
[R2]

[R3]interface  LoopBack 0
[R3-LoopBack0]ip a 3.3.3.3 32
[R3-LoopBack0]int g 0/1
[R3-GigabitEthernet0/1]ip a 30.1.1.2 24
[R3-GigabitEthernet0/1]int g 0/2
[R3-GigabitEthernet0/2]ip a 40.1.1.1 24
[R3-GigabitEthernet0/2]quit
[R3]
[R4]int LoopBack 0
[R4-LoopBack0]ip a 4.4.4.4 32
[R4-LoopBack0]int g 0/2
[R4-GigabitEthernet0/2]ip a 10.1.1.1 24
[R4-GigabitEthernet0/2]quit
[R4]

[R5]int LoopBack 0
[R5-LoopBack0]ip a 5.5.5.5 32
[R5-LoopBack0]int g 0/2
[R5-GigabitEthernet0/2]ip a 40.1.1.2 24
[R5-GigabitEthernet0/2]quit
[R5]

(2)按照图示分区域配置 OSPF ,实现全网互通

说明:1. 创建ospf进程可以手动指定router-id,也可以不指定自动生成

2. 环回口可以宣告进ospf,也可以不宣告,不影响业务互通;宣告时可以宣告进骨干区域,也可以宣告非骨干区域。有选择困难的建议宣告到骨干区域


[R1]ospf 1 router-id 1.1.1.1
[R1-ospf-1]area 0
[R1-ospf-1-area-0.0.0.0]network 20.1.1.1 0.0.0.255
[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]dis this
#
 area 0.0.0.0
  network 1.1.1.1 0.0.0.0
  network 20.1.1.0 0.0.0.255
#

[R1-ospf-1-area-0.0.0.0]quit
[R1-ospf-1]area 1
[R1-ospf-1-area-0.0.0.1]network 10.1.1.2 0.0.0.255

[R1-ospf-1-area-0.0.0.1]dis this
#
 area 0.0.0.1
  network 10.1.1.0 0.0.0.255
#
[R1-ospf-1-area-0.0.0.1]quit
[R1-ospf-1]quit
[R1]

[R2]ospf 1 router-id 2.2.2.2
[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]network 20.1.1.2 0.0.0.255
[R2-ospf-1-area-0.0.0.0]network 30.1.1.1 0.0.0.255
[R2-ospf-1-area-0.0.0.0]dis this
#
 area 0.0.0.0
  network 2.2.2.2 0.0.0.0
  network 20.1.1.0 0.0.0.255
  network 30.1.1.0 0.0.0.255
#
return
[R2-ospf-1-area-0.0.0.0]quit
[R2-ospf-1]quit
[R2]

[R3]ospf 1 router-id 3.3.3.3
[R3-ospf-1]area 0
[R3-ospf-1-area-0.0.0.0]network 3.3.3.3 0.0.0.0
[R3-ospf-1-area-0.0.0.0]network 30.1.1.2 0.0.0.255
[R3-ospf-1-area-0.0.0.0]quit
[R3-ospf-1]area 2
[R3-ospf-1-area-0.0.0.2]network 40.1.1.1 0.0.0.255
[R3-ospf-1-area-0.0.0.2]quit
[R3-ospf-1]quit
[R3]

[R4]ospf 1 router-id 4.4.4.4
[R4-ospf-1]area 1
[R4-ospf-1-area-0.0.0.1]network  4.4.4.4 0.0.0.0
[R4-ospf-1-area-0.0.0.1]network  10.1.1.1 0.0.0.255
[R4-ospf-1-area-0.0.0.1]dis this
#
 area 0.0.0.1
  network 4.4.4.4 0.0.0.0
  network 10.1.1.0 0.0.0.255
#
return
[R4-ospf-1-area-0.0.0.1]quit
[R4-ospf-1]quit
[R4]

[R5]ospf 1 router-id 5.5.5.5
[R5-ospf-1]area 2
[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  40.1.1.2 0.0.0.255
[R5-ospf-1]quit
[R5]

(3)检查是否全网互通

说明:检查 OSPF 是否全网互通,一个是检查邻居关系表,看邻居关系是否正常;另一个是检查路由表,看是否学习到全网路由

这里只展示 R1 的检查结果

检查邻居关系

说明:可以看到,R1 已经学习到了全网所有网段的路由信息,配置完成。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值