OSPF协议

开放式最短路径优先(OSPF)

OSPF是一种基于链路状态的路由协议,在设计上就保证了无路由环路。
优点:1.无环路 2.收敛好 3.扩展性好 4.支持认证
LSDB:链路状态数据库

OSPF报文

在这里插入图片描述

ospf的ip协议号为89

1.hello报文:最常用的一种报文,用于发现、维护邻居关系。在广播和NBMA类型的网络中选举指定路由器DR和备份指路由器BDR。
2.dd报文:用来做数据库同步,内容包括LSDB中每一条LSA的头部。
3.LSR报文: 包含了LSA的摘要信息。
4.LSU报文:用来向对端路由器发送所需要的LSA。
5.LSACK报文:用来对接受到的LSU报文进行确认。

邻居状态机

在这里插入图片描述

邻居和邻接关系建立的过程:

1.Down:邻居的初始状态。
2.Attempt:只在NBMA网络上存在,表示没有收到邻居的任何信息,但是已经周期性的向邻居发送报文。
3.Init:路由器已经从邻居收到了Hello报文,但是自己不在所收到的Hello报文的邻居列表中,尚未于邻居建立双向通信关系。
4.2-way:双向通信已经建立,但是没有与邻居建立邻接关系。(建立邻接关系之前的最高级状态)
5.ExStart:建立邻接的第一个步骤,路由器开始向邻居发送DD报文。
6.Exchange:路由器相互发送包含链路状态信息摘要的DD报文,描述本地LSDB的内容。
7.loading:相互发送LSR报文请求LSA,发送LSU报文通告LSA。
8.Full:路由器的LSDB已经同步。

Router ID、邻居和邻接

在这里插入图片描述

Roter ID是一个32位的值,它唯一标识了一个自治系统内的路由器,管理员可以为每台运行OSPF的路由器手动配置一个Router ID。

数据库同步

在这里插入图片描述

路由器使用DD报文进行主从路由器的选择和数据库摘要信息的交互。
DD报文包含LSA的头部信息,用来描述LSDB的摘要信息。

建立完全邻接关系

在这里插入图片描述

LSR:用于向对方请求所需的LSA。
LSU:用于向对方发送其所需要的LSA。
LSACK:用于向对方发送收到LSA的确认。

OSPF支持的网络类型

OSPF定义了四种网络类型:点对点网络、广播型网络、NBMA网络和点到多点网络。

1.点对点网络:两台路由器直接相连的网络。
2.广播型网络:两台以上路由器,并且具有广播能力的网络。
3.NBMA:在NBMA网络上,OSPF模拟在广播型网络上的操作,但是每个路由器的邻接需要手动配置。
4.P2MP:将整个网络看成是一组点到点网络。

OSPF区域

在这里插入图片描述

OSPF支持将一组网段组合在一起,这样的一个组合称为一个区域。
划分OSPF区域可以缩小路由器的LSDB规模,减少网络流量。

OSPF开销

在这里插入图片描述

OSPF基于接口带宽计算开销,计算公式为:接口开销=带宽参考值÷带宽。带宽参考值可配置,缺省为100Mbit/s。一个64kbit/s串口的开销值为1562。
OSPF开销值范围是1-65535,缺省值为1。

OSPF配置

在这里插入图片描述
在这里插入图片描述

命令 display ospf peer 可以用来查看邻居相关的属性,包括区域、邻居的状态、邻接协商的主从状态以及DR和BDR情况。
### OSPF协议概述 OSPF(Open Shortest Path First)是一种基于链路状态的内部网关协议,广泛应用于企业级和运营商级别的网络环境中。它能够自动学习路由信息并动态适应网络变化,相比静态路由具有更高的灵活性和可扩展性[^2]。 #### OSPF协议的工作原理 OSPF的核心工作流程可以分为以下几个方面: 1. **邻居发现与维护** 路由器通过周期性发送Hello报文与其他运行OSPF的路由器建立邻居关系。这种机制不仅用于发现邻居,还用于检测邻居是否仍然可达。如果某个邻居未能在指定的时间间隔内回复Hello报文,则会被标记为不可达[^4]。 2. **数据库同步** 建立邻居关系后,路由器会交换其链路状态数据库摘要信息(DBD),以确认双方数据的一致性。若某台路由器发现缺失某些链路状态项目,则会发起LSR(Link State Request)请求,而拥有这些信息的路由器则通过LSU(Link State Update)响应具体细节[^4]。 3. **最短路径树计算** 每台路由器都会根据收集到的链路状态信息构建一张完整的网络拓扑图,并利用SPF算法计算到达各个目标网络的最佳路径[^2]。 4. **路由表生成** 计算完成后,每台路由器将最优路径写入自己的路由表中,从而指导数据包转发过程[^2]。 --- ### OSPF协议的配置方法 以下是OSPF的基本配置步骤及其注意事项: 1. **启动OSPF进程** 在路由器上启用OSPF协议时,需指定一个唯一的进程号。例如,在Cisco设备上可通过以下命令完成: ```shell router ospf 1 ``` 2. **定义参与OSPF网络范围** 使用`network`命令声明哪些子网应被纳入OSPF管理范畴。例如: ```shell network 192.168.1.0 0.0.0.255 area 0 ``` 上述语句表示将192.168.1.0/24网段加入区域0。 3. **调整参数优化性能** 可修改Hello时间和Dead时间等参数来适配不同场景需求。例如设置更短的Hello间隔有助于快速感知链路故障,但也会增加带宽消耗[^1]。 4. **划分区域** 对于大型网络而言,合理划分子区域能显著减少单个区域内存储的信息量,进而提升效率。骨干域通常设为Area 0,其他非骨干域再依附于此之上。 5. **验证配置效果** 完成初步部署之后,建议借助show commands检查当前状态是否正常运作。比如执行如下指令查看邻接列表详情: ```shell show ip ospf neighbor ``` --- ### 技术要点补充说明 - 当链路层采用PPP或HDLC技术时,默认情况下OSPF视此类介质属于点对点(P2P)模式;在此类环境下,所有通信均采取组播形式向特定地址(如224.0.0.5)广播消息[^3]。 - 此外需要注意的是,尽管OSPF具备诸多优势特性,但在实际操作过程中仍可能存在环路风险或者收敛速度较慢等问题,因此务必结合实际情况灵活运用各种策略加以规避[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值