OSPF协议

OSPF是一种无类别IGP协议,基于链路状态进行收敛。它使用Hello包发现和维护邻居关系,通过DBD、LSR、LSU、LSACK包进行LSA的更新和确认。OSPF支持区域划分、等开销负载均衡,并有触发更新机制。在中大型网络中,OSPF需结构化部署。文章还详细介绍了OSPF的状态机、工作流程、拓扑变化处理以及基础配置,包括邻居关系建立、数据库同步和路由计算。
摘要由CSDN通过智能技术生成

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

无类别IGP协议;链路状态型;基于LSA收敛,故更新量较大,为在中大型网络正常工作,需要进行结构化的部署 --- 区域划分、ip地址规划

组播更新 --- 224.0.0.5 224.0.0.6 支持等开销负载均衡

支持触发更新 30min周期更新 跨层封装协议,协议号89;

数据包 --- 5种

Hello --- 邻居的发现,关系的建立,周期保活

DBD --- 数据库描述包

LSR --- 链路状态请求

LSU --- 链路状态更新 -- 携带各种LSA

LSack --- 链路状态确认

OSPF状态机

Down 一旦接收到hello包进入下一个状态机

Init 初始化 接收到的hello包中,若存在本地的RID,进入下一状态

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

条件匹配:点到点网络直接进入下一个状态机 MA网络将进行DR/BDR选举(40S)

非DR/BDR之间不能进入下一个状态机

Exstart -- 预启动 使用不携带目录信息的DBD包进行主从关系选举,RID数值大为主,优先进入下一个状态机; 主从目的主要在于信息交互的有序性,避免同时收发造成网络拥塞

Exchange 准交换 -- 使用DBD携带目录信息,进行共享

Loading 加载 -- 查看完邻接的目录信息后,针对本地未知的LSA,使用LSR包进行查询,对端使用LSU进行应答, 本地接收到LSA后使用ack进行确认 --- 获取未知的LSA信息

Full --转发 邻接关系建立的标志

OSPF的工作过程

启动配置完成后,邻居间组播收发hello包,建立邻居关系;生成邻居表

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

匹配成功可以建立邻接(毗邻)关系;邻接关系间将使用DBD/LSR/LSU/LSack来获取本地未知的LSA信息;获取完成后,邻接关系间数据库同步一致;--- 数据库表

之后本地基于本地的数据库所有内容整理出有向图--->最短路径树结构--->将本地到达所有未知网段的最短路径加载于本地的路由表中;

收敛完成后,邻居间仅hello包周期保活即可;每30min邻接关系间周期比对数据库目录,

若不一致将马上使用LSU和LSACK进行不一致部分收敛;

拓扑突变 :

1)新增网段:直连新增网段设备,用LSU直接进行触发更新

2)断开网段:直连断开网段设备,用LSU直接进行触发更新

3)无法沟通:dead time 为hello time4倍;在dead time到时时将断开邻接、邻居关系,删除路由;

OSPF的基础配置

[r1]ospf 1 router-id 1.1.1.1
[r1-ospf-1]

启动时可以定义进程号,进程号仅具有本地意义;

每一个OSPF进程均需要RID,全网唯一;生成顺序:手写--环回接口最大数值的ip地址 -- 物理接口上数值最大的ip地址

[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

宣告:1)区域划分 2)激活接口--可以收发ospf的信息 3)传递接口信息--该接口信息将被共享给其他邻接

区域划分规则:

  1. 星型拓扑 --- 区域0为骨干,大于0为非骨干,所有非骨干必须连接到骨干区域方可正常共享路由

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

[r2]display ospf peer 查看邻居信息
[r2]display ospf peer brief 查看邻居表

启动配置完成后,邻居间组播收发hello包,建立邻居关系;生成邻居表;

hello包:

周期收发 hello time 10s 或30s dead time为hello time 4倍

邻居间hello包中必须完全一致的参数:否则无法建立邻居关系

1)hello 、dead time 2)区域ID --区域划分规则--ABR 3)认证字段

4)末梢区域标记 -- 特殊区域 5)华为系还要求邻居间直连接口ip的子网掩码必须一致;

[r2]display ospf lsdb 查看数据库表

LSDB-链路状态数据库--所有LSA的集合

邻居关系建立后,关注条件,条件不匹配设备间维持邻居关系,仅hello包周期保活即可;

条件匹配的设备间,将使用DBD/LSR/LSU/LSack来获取所有本地未知的LSA信息,完成数据库同步 --- 数据库表

关于DBD包的扩展知识点:

1)Ospf的DBD包中将携带接口的MTU值,要求邻接间的MTU必须一致,否则将卡在exstart或exchange状态机;

华为默认未开启MTU检测

[r1-GigabitEthernet0/0/1]ospf mtu-enable 在直连邻接的接口上开启,必须两端均开启

2)DBD包中的标记位

I M MS I为1标识该DBD包为本地发出的第一个DBD M为1标识该DBD包不是本地发出的最后一个DBD包 MS 为1标识本地为主,为0代表

3)隐性确认

主从被选举后,从将使用主的序列号为确认接收到了主的DBD包,即使从设备已经不需要发送DBD,依然要使用未携带信息的DBD来进行隐性确认;

邻接关系间数据库同步完成后,本地基于数据库生成---有向图 ---> 最短路径树--->将本地到达所有未知网段的最短路径加载于本地的路由表中;

默认优先级为10 ,度量为cost值;

Cost=开销=参考带宽/接口带宽 默认参考为100M 当接口带宽大于参考带宽时,cost值为1;OSPF优选整段路径cost值之和最小为最短路径

故当接口带宽大于参考带宽的网络可能导致选路不佳,建议修改参考带宽

[r1]ospf 1
[r1-ospf-1]bandwidth-reference ?
INTEGER<1-2147483648> The reference bandwidth (Mbits/s)
[r1-ospf-1]bandwidth-reference 1000 切记:全网设备参考带宽需要修改一致

[r1]display ospf routing 查看所有本地学习以及共享出去的OSPF路由

邻居关系成为邻接关系的条件 --- 和网络类型有关

点到点 --- 所有邻居直接建立为邻接关系

MA---由于OSPF协议需要邻接关系间进行数据库对比,故不支持接口水分割;若两两间均为邻接关系,将可能出现大量的重复更新;因此,在MA网络中ospf协议将进行DR/BDR选举,所有非DR/BDR设备间维持邻居关系,不进行数据库共享;

选举规则:1)先比较参选接口的优先级 0-255 默认为1,大优

2)若优先级相同,比较参选的RID,数值大优

若需要干涉选举,可以修改参选接口的优先级

[r1]int g0/0/1
[r1-GigabitEthernet0/0/1]ospf dr-priority 3

切记:选举是非抢占的,故修改后该网段依然维持原有角色,若希望重新选举,需要重启该网段所有设备的OSPF进程;

<r1>reset ospf process 重启ospf进程
Warning: The OSPF process will be reset. Continue? [Y/N]:y

建议直接将DR优先级修改最大,BDR次大,其他设备优先级修改为0,0标识不参选,可以不同重启任何设备的ospf进程;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值