当前位置: 首页 > news >正文

笔记整理六----OSPF协议

                                                              OSPF

动态路由的分类:

1.基于网络范围进行划分--将网络本身划分为一个个AS(自治系统---方便管理和维护)

        内部网关协议---负责AS内部用户之间互相访问使用的协议 IGP--RIP EIGRP ISIS OSPF

        外部网关协议--负责AS之间(整个互联网)的数据通讯 EGP--BGP EGP(淘汰)

2.基于协议本身的工作(基于协议使用的算法)

        DV----距离矢量路由协议:RIP EIGRP

        LS----链路状态路由协议:ISIS OSPF

3.基于传递数据包是否携带子网掩码

        有类别的动态路由协议---RIPV1

        无类别的动态路由协议---其他所有协议

如何判断一款动态路由协议的好坏?

1.选路

RIP协议(应用层协议,组播方式224.0.0.9),根据跳数(到达目标网段经过的路由器的数量)进行选路,参数为COST

RIP协议传递cost值得方法:本地路由表中cost值加1

OSPF协议(组播数据包 224.0.0.5/6),使用SPF最短路径优先算法

OSPF设备收集拓扑信息,基于这些信息生成有向图,然后将有向图转化为最短路径树,最后基于拓扑信息生成路由表

2.收敛速度

收敛:网络中所有设备获取到整个网络所有需要获取的路由信息的过

首次收敛---所有协议时间相差不大

重新收敛--RIP计时器 30S周期计时器 180S失效计时器 120S垃圾回收计时器;OSPF计时器 hello时间 10或30S   dead时间 4倍hello时间

3.资源占用

RIP协议有30S周期更新时间,资源占用大

OSPF资源占用也比较大,但OSPF协议有相关的优化措施

为了减少拓扑信息的更新数量,采用了结构化部署的思想(设计理念)

区域划分:

ABR--区域边界路由器:同时属于两个区域的设备

如果网络规模本身不是很大,那么实际上也可以不进行区域划分,这

样的OSPF网络称为单区域OSPF网络

如果网络规模本身很大,那么一般需要进行区域划分,减少拓扑信息的传递数量,这样的OSPF网络称为多区域OSPF网络

为了区分和标识不同的区域,OSPF设计了区域ID,实质是32位二进制

区域划分的原则(如果部署OSPF网络):

1.必须存在ABR设备

2.必须按照星形拓扑结构进行区域划分(防止出现环路)

OSPF的工作过程:

要了解工作过程,首先先让我们认识一下OSPF的数据包

hello包 ---周期性的发现建立和保活邻居关系
        Router-id (RID)路由器ID---用来标识和区分不同的运行OSPF协议的设备身份
        (必须保证OSPF RID 在整个 OSPF 网络中必须不能重复)
        RID的生成规则:(实际是32 位二进制,按照 IP 地址格式配置即可)
        1.手工配置
        2.设备自动生成:首先检测自身是否存在环回,选择数值最大的作为自
        身的RID ,没有环回检测接口IP地址,选择数值最大的作为自身的 RID
        如果接口没有配置IP 地址协议无法工作
        hello时间,默认10S/30S
        dead时间,默认是hello时间的4倍
DBD包- --链路状态数据库描述包,携带本地链路状态数据库的摘要信息---为了减少可能的重复更新
        本地链路状态数据库--LSDB数据库
        链路状态信息---LSA(所谓的拓扑信息)
LSR包 --链路状态请求包:请求自身设备比对摘要信息之后,自身没有
的LSA信息
LSU包 --真正携带LSA信息的数据包(对端设备请求那些LSA,就发送
那些LSA)
LSACK包- --用来保证数据传输可靠性
认识完数据包后,接下来的是 OSPF的状态机
1.需要建立邻居关系---hello报文(协商参数)

        从Down状态到2-Way状态的条件:

        1.参数协商成功

        2.必须收到对端的hello包中携带自身的RID 

2.建立邻居之后,需要进行条件匹配,如果条件匹配成功进行后续状态,如果条件匹配失败则停留邻居状态,仅保活

3.条件匹配成功,则开始进行主从关系选举
DBD --本身标志状态进入到邻接关系的建立

 

工作过程:

1. 建立邻居:启动配置之后, ospf 将向本地所有的运行了 ospf 协议的
端口发送 hello 包( 224.0.0.5 ), hello 包中携带自己的 RID 用来区分
不同路由器的身份(不携带路由信息)用来发现网络中运行 OSPF 协议
的设备,同时携带自己已知的邻居 RID ,之后会将这些 RID 存储在自己
邻居表 中,当收到hello报文中携带自身的RID那么设备会进入two
way状态完成邻居关系的建立。
2. 条件匹配:邻居关系建立完成之后,会进行条件匹配,如匹配成功
则开始进入下一个状态,如果匹配失败则会停留在邻居关系。 --- 之后
hello 包进行保活。
3. 如果匹配成功,则开始建立邻接关系 - 之后会使用未携带数据 DBD
并没有携带LSDB的摘要信息 )进行主从关系的选举。从设备会优先
主动发送 DBD 报文的摘要信息,主设备收到摘要信息之后会比对本地链
路状态数据库,从而请求本地没有的 LSA 信息。对端设备会发送真正携
lsa 信息的 LSU 包,自身会利用 LSACK 进行确认。本地的链路状态数据
库建立完成,生成 本地链路数据库表 。---Full---邻接状态

 4.完成收敛----基于本地的链路状态数据库收集的lsa,根据自己的 spf算法计算得出最短路径树。生成路由表

5.收敛完成后,会使用hello包每10s发送一次,用来保活邻居关

系。 ospf会每30min进行一次周期更新
OSPF的基本配置:
基础配置:

 

 

扩展配置:

 

查看邻居详细信息:

 

查看邻居简表---主要查看状态

 

查看数据库:

 

 

 

 

OSPF的触发更新:

1.设备无法沟通:其它设备等待死亡时间,然后会清空该设备的所有拓扑信息

2.新增网段

3.断开网段

 

条件匹配:

为了解决在一个广播域中有多台运行了 OSPF协议的设备, 从而导致重复更新的问题,浪费资源(同时还可以减少邻接关系的数量,降低网络复杂度),在two-way状态下完成,使用hello报文进行条件匹配存在最大选举时间一般等于死亡时间 --条件匹配是非抢占的(为了网络稳定性考虑)

实际是选举角色---需要选举DRBDR其他设备为DR-other

首先比较设备优先级,范围0-255,默认为1,越大越优

当优先级一致比较设备R-ID选举,R-ID最大的作为DR,次大的作为BDR

[Huawei-GigabitEthernet0/0/0]ospf dr-priority 0-- 一旦优先级配置为 0
视为放弃选举
224.0.0.6 DR BDR 设备之间同步数据库使用的组播地址

 

相关文章:

  • Android Framework学习三:zygote剖析
  • idea创建springboot项目无法创建jdk8原因及多种解决方案
  • 外观模式(Facade Pattern)
  • 字符串匹配 之 KMP算法
  • 【五一培训】Day 3
  • 【React】 Hooks useTransition 解析与性能优化实践
  • SecureCRT设置自定义快捷键
  • 【Java项目脚手架系列】第一篇:Maven基础项目脚手架
  • 软考-软件设计师中级备考 9、存储管理
  • RR(Repeatable Read)级别如何防止幻读
  • 健康养生指南:科学守护身心
  • go实现循环链表
  • 位图的实现和拓展
  • Dubbo(94)如何在金融系统中应用Dubbo?
  • 【翻译、转载】使用 LLM 构建 MCP
  • 健康生活,从点滴养生开始
  • mysql-内置函数,复合查询和内外连接
  • 【React Hooks原理 - useCallback、useMemo】
  • 多语言笔记系列:Polyglot Notebooks 混合使用多语言并共享变量
  • 复刻低成本机械臂 SO-ARM100 标定篇
  • 金正恩视察重要坦克厂并强调更迭陆军装备
  • 澳大利亚总理阿尔巴尼斯率领工党赢得2025年联邦选举
  • 广西科学调度保障春灌面积1373.53万亩
  • 5名中国公民在美国交通事故中遇难
  • 澳大利亚大选今日投票:聚焦生活成本与“特朗普问题”
  • 月薪3万文科友好,“AI训练师”真有那么赚?