太好了,终于有人把OSPF的7个技术点整理出来!

简介: 太好了,终于有人把OSPF的7个技术点整理出来!


01

OSPF简介


OSPF开放式最短路径优先。工作在IP层之上,协议号为89,OSPF以组播方式发送协议包,使用SPF最短路径优先算法计算和选择路由。


工作过程可分为:建立邻居---同步链路状态---计算路由三个阶段。


其中会有八种状态机的改变,五个报文的产生、十类LSA(这里我们只讲其中六个)以及五个不同区域。形成三张表(邻居表、拓扑表、路由表)。


LSDB:数据库,设备所有的链路信息集合,由LSA组成。


LSA:一条链路信息,多个可以组成LSDB数据库。



02

OSPF工作过程


01建立邻居


以两个直连路由器为例,两台路由器开始时他们的状态为Down,R1开始发送第一个带有自己信息的Hello包。


当R2接收到R1的Hello包时发现没有自己的路由信息,此时R2的状态转变为Init,此时R2发送携带自己路由信息和R1信息的Hello包。


R1接收到后发现上面有自己的路由,状态转变为2-way后再想R2发送最后一个Hello包,携带自己和R2的路由信息。


当R2收到后也将自己的状态转换为2-way。




02同步链路状态


邻居建立完成后。状态从2-way转换为EX-start。开始发送DBD报文建立主从关系。RID大的为主否则为从。


随后从的状态转变为exchange,向主发送一个携带拓扑描述信息的DBD报文,主收到后状态转换为exchange,并向从发送携带拓扑的DBD报文,从回复DBD做确认。




03计算路由


当同步链路状态最后一个DBD发送后。R1状态从exchange变为loading,发送LSR请求完整拓扑信息LSA,对方R2收到消息后状态也变为loading,并发送LSU携带LSA信息回应R1的请求。


R1收到后回复确认,通过多个LSR和LSU的交换,两个路由器的LSDB数据库同步完毕。形成拓扑表,这个过程中使用SPF算法计算出路由表。




04状态机总结





03

邻居关系的状态


01Down


邻居会话初始阶段,在邻居失效时间内未收到邻居路由的Hello数据包。


02Attempt


没有收到邻居的任何信息,但是已经周期性向邻居发送报文,发送间隔HelloInterval


03Init


从邻居收到hello报文,但报文中并没有自己的Router-id。


042-way


收到的Hello表中有自己的Router-id。


04

邻接关系的状态


01Exstart


开始协商主从关系,并确定DD的序列号。


02Exchange


主从关系协商完成,交换DD报文(携带自己LSDB中的LSA)。


03loading


使用LSR请求自己所需LSA信,LSU携带LSA信息对LSR做应答,LSack对LSU做确认。



05

OSPF报文


01Hello


建立和维护OSPF邻居关系。


02DBD


在Exstart时协商主从关系,并确定DD的序列号链路状态数据库描述信息,(LSDB数据库中的LSA头部列表)


03LSR


链路状态请求,向OSPF邻居请求链路状态信息请求发送所需的LSA头部标识。


04LSU


链路状态更新。主动时(在路由信息或拓扑信息发生变化时)。被动时(针对缺少详细LSA信息进行回应,携带详细的LSA信息)。周期更新,防止LSA老化。


05LSAck


对LSU中LSA进行确认的报文。



06

六类LSA类型


01Router-LSA(Type1)


每个设备都会产生,描述设备的链路状态和开销,在所属区域内传播


02Network-LSA(Type2)


由DR产生,描述本网段的链路状态,在所属的区域内传播。


03Network-summery-LSA(Type3)


由ABR产生,描述该区域内某个网段的路由,并通告给发布或接收此LSA的非Totally STUB或NSSA区域。


04ASBR-summary-LSA(Type4)


由ABR产生,描述到ASBR的路由,通告给除ASBR所在区域的其他相关区域。


05AS-external-LSA(Type5)


由ASBR产生,描述到AS外部的路由,通告到所有的区域(除了STUB区域和NSSA区域)。


06NSSA LSA(Type7)


由ASBR产生,描述到AS外部的路由,仅在NSSA区域内传播。



07

OSPF五个区域


01普通区域


缺省情况下,OSPF区域被定为普通区域。普通区域包括标准区域和骨干区域。


1.标准区域是最通用的区域。他传输区域内路由,区域间路由和外部路由。


2.骨干区域是连接所有其他OSPF区域的中央区域。骨干区域通常用Area 0 表示。


02STUB区域


不允许发布自治系统外部路由,只允许发送区域内路由和区域间路由。


为了保证自治系统外路由可达,由该区域ABR发布Type3缺省路由传播到区域内。


03Totally STUB区域


不允许发布自治系统外部路由和区域间路由,只允许发布区域间路由。


为了保证自治系统和其他区域路由可达由该区域的ABR发布Type3缺省路由传播到区域内,所有自治系统外部和其他区域路由都必须经过ABR才能发布。


04NSSA区域


允许引入自治系统外部路由。由ASBR发布Type7给本区域。Type7在ABR上转换为Type5并泛红到整个OSPF域中。所有域都必须通过ABR才能发布。


05Totally NSSA区域


允许引入自治系统外部路由。由SABR发布Type7给本区域。在ABR上转换成Type5并泛洪到整个OSPF域。


该区域的ABR发布Type3和Type7缺省路由传播到区域内。所有域间路由必须通过ABR才能发布。

相关文章
|
数据可视化 物联网 PyTorch
双卡3090消费级显卡 SFT OpenBuddy-LLaMA1-65B 最佳实践
OpenBuddy继接连开源OpenBuddy-LLaMA1-13B、OpenBuddy-LLaMA1-30B后,8月10日,一鼓作气发布了650亿参数的大型跨语言对话模型 OpenBuddy-LLaMA1-65B。
|
2月前
|
人工智能 前端开发 JavaScript
跨境电商shopify开发对接流程
Shopify接口开发已全面转向GraphQL核心,深度融合Shopify Functions(Wasm边缘逻辑)与Shopify Magic(AI赋能)。涵盖Partner账号搭建、OAuth权限管理、Webhook实时推送、AI驱动的元数据生成与智能分析,并强调API版本锁定、安全调用及App审核合规。(239字)
|
存储 监控 安全
【实战经验】记录项目开发常见的8个难题
风沙席地起,战马踏风归!
681 108
|
网络协议 数据库 网络架构
OSPF邻居关系建立过程详解
OSPF邻居关系建立过程详解
1288 6
|
人工智能 开发者 Python
python读取word文档 | AI应用开发
在RAG系统中,构建知识库时需读取多种外部文档,其中Word文档较为常见。本文介绍如何使用`python-docx`库读取Word文档(.docx格式)中的标题、段落、表格和图片等内容。首先通过`pip install python-docx`安装库,然后利用提供的接口提取所需信息。尽管该库功能强大,但在识别标题样式时需自定义逻辑,并且仅提供图片的URI而非直接加载。示例代码展示了读取文本、识别标题、读取表格及获取图片URI的方法。【10月更文挑战第2天】
1051 2
|
安全 Linux Windows
网工小白,一定要焊死在电脑上的6款工具!
网工小白,一定要焊死在电脑上的6款工具!
259 1
|
Linux Shell 开发工具
Linux文件内容查看和编辑指南:cat、less、grep等常用命令详解(一)
Linux文件内容查看和编辑指南:cat、less、grep等常用命令详解(一)
3017 0
|
监控 网络协议 Ubuntu
这20款Linux带宽监控工具,是网工,都想全部要!
这20款Linux带宽监控工具,是网工,都想全部要!
1079 1
|
消息中间件 监控 Java
解锁Spring Cloud微服务架构的奥秘:深度剖析拆分原则,打造高内聚低耦合的业务创新引擎!
【8月更文挑战第3天】踏入微服务领域,Spring Cloud以丰富组件助力高效系统构建。微服务拆分需遵循原则确保系统高内聚低耦合且能适应变化。首要原则为单一职责,每个服务专注一个业务功能,降低复杂度并提高可维护性。其次,追求高内聚低耦合以减少服务间影响。围绕业务域拆分有助于保持逻辑清晰及团队协作。处理数据一致性问题时,考虑采用最终一致性模型。Spring Cloud提供Eureka、Zuul/Gateway、Sleuth和Config等工具支持服务发现、路由、跟踪及配置管理,共同构建灵活健壮的微服务架构。
401 2
|
资源调度 API 计算机视觉
【OpenCV】—非线性滤波:中值滤波、双边滤波
【OpenCV】—非线性滤波:中值滤波、双边滤波
465 3

热门文章

最新文章