OSPF协议

OSPF:开放式最短路径优先协议

无类别链路状态型IGP路由协议;组播更新 --224.0.0.5/224.0.0.6

由于链路状态型协议基于拓扑信息进行交互,故其交互量巨大,导致协议无法正常在中大型等复杂环境工作;因此OSPF协议在使用时需要进行--结构化的部署来适应中大型网络;

结构化部署:1、良好的ip地址规划  2、区域划分

支持触发更新,30min周期更新

OSPF的数据包

hello包   ---  周期收发,来确定hello存活 -- keeplive保活  携带router-id

DBD -数据库描述  --本地的LS数据库所有信息的目录

LSR链路状态请求 -- 用于向对端询问

LSU -链路状态更新 -- 携带LSA 具体的信息

LSack--链路状态确认

LSA--链路状态通告 -- 具体的拓扑或路由信息

OSPF的状态机

Down   一旦接收到对端的hello包,进入下一个状态机

Init 初始化   接收到对端的hello,且该包中存在本端的RID,进入下个状态

2way 双向通讯  邻居关系建立的标志

条件:

Exstart 预启动  使用不携带数据库目标信息的DBD包进行主从关系的选举,RID数值大为主,优先进入下一个状态机

Exchange 准交换  使用携带数据库目录的DBD包进行目录共享

Loading 加载  查看完对端的DBD目录后,基于本地未知的LSA;使用LSR向对端查询,对端使用LSU来进行LSA内容的共享应答;本端收到LSA后,需要使用LSack来进行确认;

Full 转发  邻接(毗邻)关系建立的标志

OSPF的工作过程

ospf协议启动配置完成后,邻居间收发hello包认识对端,建立邻居关系,生成邻居表

邻居关系建立后,将进行条件匹配;匹配失败将维持邻居关系,仅hello包周期保活即可;

条件匹配的邻居将进一步发展为邻接关系;过程中使用DBD交互数据库目录,使用LSR/LSU/LSack来获取本地未知的LSA信息;完成数据库表的同步;

之后本地基于本地完整的数据库,生成有向图,再将有向图转换为最短路径树,之后以本地为起点计算到达所有未知网段的最短路径,然后将其加载本地的路由表中;

收敛完成;之后每10s,邻居或邻接间周期使用hello包保活即可;每30min邻接关系周期比对一次数据库目录,查漏补缺;

拓扑结构突变:

新增网段

断开网段

无法沟通

OSPF的基础配置

[r1]ospf 1 router-id 1.1.1.1  启动时,可以定义进程号,默认为1;仅具有本地意义;还可以定义RID;

[r1-ospf-1]

RID:使用IPV4作为,全网需要唯一;手工配置--环回接口ip地址数值最大--物理接口数值最大

宣告:1、激活  2、共享该接口信息   3、区域划分

[r1-ospf-1]area 0

[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]network 12.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 23.1.1.1 0.0.0.0

OSPF在宣告时,可以使用反掩码进行精确匹配范围

区域划分规则:

星型结构  ---  中心骨干区域为编号0,大于0为非骨干区域,所有非骨干必须连接到骨干

必须存在ABR -- 区域边界路由器

ospf启动配置完成后,邻居间收发hello包,获取对端RID,生成邻居表

[r2]display  ospf peer  查看邻居关系

[r2]display  ospf peer brief  查看邻居关系摘要

邻居关系建立后,邻居间将进行条件的关注,条件不匹配将维持邻居关系,仅hello包周期保活;条件匹配邻居间可以进行邻接关系的建立,将使用DBD/LSR/LSU/LSack来获取未知的LSA信息,完成所有路由器LSDB(链路状态数据库)的同步 --- 数据库表

[r2]display  ospf lsdb 查看数据库目录

当数据库同步完成后,本地基于数据库转换为有向图,再转换为最短路径树;然后以本地为起到计算到达本地所有未知网段的最短路径,然后将这些路由加载到本地的路由表中;

华为设备ospf生成路由优先级为10;度量为cost值;

Cost=开销= 参考带宽/接口带宽  默认参考带宽为100m;

当接口带宽大于参考时,cost值为1;可能导致选路不佳,建议修改默认的参考带宽

[r3]ospf

[r3-ospf-1]bandwidth-reference ?

  INTEGER<1-2147483648>  The reference bandwidth (Mbits/s)

[r3-ospf-1]bandwidth-reference 1000

切记:全网需修改为一致;

OSPF协议优选整段路径cost值之和最小;

OSPF的扩展配置

从邻居关系建立成为邻接关系的条件

条件需要关注网络类型;

点到点网络:在网段中只能存在两个节点

MA(多路访问)网络:在一个网段中可以配置的节点数量不限制,而不是当下连接了几个节点;

OSPF协议在点到点网络类型中,所有的邻居关系均会建立为邻接关系;

在MA网络中,将进行DR/BDR选举;所有非DR/BDR之间仅建立邻居关系,不成为邻接,避免了重复更新;

选举规则:先比较所有参选接口的优先级,默认为1;大优,取值范围0-255;若优先级相同比较参选设备的ospf协议的RID,数值大优;

通过修改参选接口的优先级,可以干涉选举:

切记:该选举非抢占,在修改优先级后,必须手工重启所有参选设备的OSPF协议,才能重新进行选举;

<r1>reset ospf process

Warning: The OSPF process will be reset. Continue? [Y/N]:y

注:若参选接口的优先级为0,表示退出选举,无需重启进程;

[r2]interface Eth0/0/0

[r2-Ethernet0/0/0]ospf dr-priority 2

认证  --直连邻居的接口加密即可,两端需要一致

[r1]interface GigabitEthernet0/0/1

[r1-GigabitEthernet0/0/1]ospf authentication-mode md5 1 cipher 123456

邻居间的秘钥编号与密码均需一致

汇总-- OSPF协议不支持接口汇总,因为区域内部传输拓扑信息,物理信息不可汇总;在区域与区域间ARP进行路由共享时,可以汇总配置

[r2]ospf 1

[r2-ospf-1]area  0

[r2-ospf-1-area-0.0.0.0]abr-summary 1.1.0.0 255.255.252.0

沉默接口  ----  用于被宣告的连接用户终端的接口,不再周期发送ospf信息的任何信息;不得配置于连接邻居的骨干接口,否则无法建立邻居关系

[r1]ospf 1

[r1-ospf-1]silent-interface GigabitEthernet 0/0/2

加快收敛  邻居间hello time 10s   dead time 40s  

修改本端接口的hello time,本端dead time自动4倍关系匹配;对端需要手工再去修改,邻居的hello time与dead time必须完全一致,否则无法建立邻居关系;若hello time为10s,不建议在修改;

[r1]interface GigabitEthernet0/0/1

[r1-GigabitEthernet0/0/1]ospf timer hello 5

缺省路由 --- 边界路由器上,配置缺省指令后,将主动向内部发布缺省信息,之后内部所有路由器自动生成缺省路由指向边界路由器

[r4]ospf 1

[r4-ospf-1]default-route-advertise always

### 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、付费专栏及课程。

余额充值