“SCSA-T学习导图+”系列:深入浅出理解OSPF链路状态信息

news2025/1/17 1:14:41

本期引言

本文是基于读者对OSPF有一定了解的基础上,重点理解OSPF收集链路状态的过程。我们都知道在OSPF的工作原理中,主要是通过泛洪不同种类的LSA来进行LSDB的同步,最后通过SPF算法来计算路由,达到全网互通的目的。所以我们研究LSA的传递过程对于我们理解OSPF的工作原理是非常重要的,OSPF的LSA共有11种类型,我们一般在工作和学习中只要求掌握1类LSA、2类LSA、3类LSA、4类LSA、5类LSA、7类LSA共6种,下面我们将去分析这些LSA的作用。

一、企业案例

1.1 网络拓扑结构

某企业为了实现全网互通,核心网络运行OSPF路由协议,进程号为10,Area 0为总部所在区域,Area 1为分支机构B所在区域,Area 2为特殊的NSSA区域;R4与R5路由器运行静态路由协议,在R4设备上实现将静态路由引入OSPF域内,在R1设备上引入直连,从而达到全网互通的目的。

1.2 IP地址规划

企业部分IP地址规划如下表所示:

1.3 网络设备部分配置

R1设备

ospf 10 router-id 1.1.1.1

Import-route direct

area 0.0.0.2

network 1.1.1.1 0.0.0.0

network 10.1.12.1 0.0.0.0

nssa

R2设备

ospf 10 router-id 2.2.2.2

area 0.0.0.0

network 2.2.2.2 0.0.0.0

network 10.1.23.1 0.0.0.0

area 0.0.0.2

network 10.1.12.2 0.0.0.0

nssa

R3设备

ospf 10 router-id 3.3.3.3 

area 0.0.0.0

network 3.3.3.3 0.0.0.0

network 10.1.23.2 0.0.0.0

area 0.0.0.1 

network 10.1.34.1 0.0.0.0

R4设备

ip route-static 5.5.5.5 32 10.1.45.2

ospf 10 router-id 4.4.4.4

import-route static

area 0.0.0.1

network 4.4.4.4 0.0.0.0

network 10.1.34.2 0.0.0.0

R5设备

ip route-static 0.0.0.0 0.0.0.0 10.1.45.1

二、LSA内容的分析

2.1 LSA头部报文格式

2.11、LSA头部报文格式描述

所有的LSA都有相同的报文头部,其格式如下表所示,在这些字段中,我们需要格外关注描述一条LSA的三要素:Advertising Router标识产生此LSA路由器的Router ID、Link State ID 标识与LS Type一起描述路由域中唯一一个LSA、LS type标识LSA的类型。

2.2 Type 1LSA(Route)

2.21 Type 1 LSA的描述 

1类LSA是由每一台运行OSPF的设备产生,其功能是该路由器为接口所在的区域所产生路由信息和拓扑信息,只在产生此LSA的区域内进行传播。请注意Type 1 LSA的链路类型有4种,具体描述如下所示:

2.22 以R4路由器设备上产生的Type 1 LSA为例, 截图和分析如下:

我们可以通过命令display ospf lsdb router查看R4路由器产生的1类LSA,通过Adv rtr字段可以看出产生这条LSA的路由器是4.4.4.4,它有两条链路,第一条是开销为0的4.4.4.4,子网掩码为32位,说明是自身环回接口;第二条是开销值为1的10.1.34.1,Data部分为10.1.34.2,没有子网掩码,说明自身IP信息是10.1.34.2,是MA网络的拓扑信息,需要结合2类LSA来补足1类LSA缺失的路由信息。

2.3 Type 2LSA

2.31Type 2 LSA的描述

2类LSA是由广播或者NBMA网络中的DR产生,其功能是记录了网络中所有网络设备的Router-ID,描述本网段路由器的数量以及掩码,在产生此LSA的区域内进行传播。一般情况下,2类LSA通常用来补充1类LSA。

2.32 以R4设备产生的2类LSA为例,截图和分析如下:

我们可以通过display ospf lsdb network查看R4设备上的2类LSA信息,通过Adv rtr可以看出这条2类LSA是3.3.3.3设备产生的,从拓扑图可以得知,R3设备的G0/0/1是10.1.34.0网段的DR接口。通过Net mask字段和R4设备产生的1类LSA可以得知网络10.1.34.0的网络掩码为24位,也可以看到3.3.3.3和4.4.4.4两台路由器相连接。所以1类LSA和2类LSA相结合能够很好的描述OSPF区域内的路由信息。

2.4 Type 3LSA

2.41 Type 3 LSA的描述

3类LSA是由ABR产生的,其功能就是将区域内所有网段的路由通告给其他区域,可以在区域间传递路由信息,3类LSA在穿越不同区域时,会由其他ABR重新生成,其Adv rtr也会相应的发生变化。

2.42、以ABR设备R3为区域0产生10.1.34.0的3类LSA为例,截图和分析如下:

我们可以通过display ospf lsdb summary 10.1.34.0去查看3类LSA,可以通过Adv rtr字段可以看到是由R3产生的,开销值为1表示经过了一台路由器,通过Ls id和Net mask可以看到是传递的网段信息是10.1.34.0/24。

2.43 以ABR设备R3为区域1产生10.1.12.0/24的3类LSA为例,截图和分析如下:

我们可以通过display ospf lsdb summary 10.1.12.0去查看3类LSA,通过Adv rtr字段可以看到R3设备收到了来自与Area 0传递的3类LSA,同时自己生成了这条3类LSA并传递给Area 1,期间我们可以看到同一条路由信息的传递,开销值加1且Adv也发生了变化。

2.5 Type 5LSA

2.51、Type 5 LSA的描述

我们先引出5类LSA,是因为没有5类LSA就没有4类LSA,5类LSA是由ASBR产生,其功能就是在整个OSPF中传递外部路由,可以在整个OSPF域内传播(除了个别区域),5类LSA在穿越不同的区域进行传递时,Adv router不会改变,一直是产生这条LSA的路由器(这和3类LSA的传递是有很大的区别的)。

2.52、以ASBR设备R4产生5.5.5.5/32的5类LSA为例,截图和分析如下:

我们可以通过display ospf lsdb ase 5.5.5.5去查看5类LSA,通过Adv rtr可以看到该5类LSA的产生者是4.4.4.4,通过Ls id和Net mask可以看到传递的外部路由为5.5.5.5/32,在这个地方我们可以关注一下type类型为2,这表示在传递5类LSA时,不管传递多少台路由器其开销值都为1。

2.6 Type 4LSA

2.61 Type 4 LSA描述

4类LSA是由和ASBR在同一区域的ABR生成,其功能就是用于通告ASBR所在的位置,在穿越不同的区域时,由新的ABR重新生成。

2.62 以ABR设备R3产生的4类LSA为例,截图和分析如下:

我们可以通过display ospf lsdb asbr 4.4.4.4查看到4类LSA的信息,通过Adv rtr和Ls id字段可以看到产生这条LSA的路由器为3.3.3.3,描述的是到达4.4.4.4的位置信息。

2.7 Type 7LS

2.71 Type 7 LSA描述

7类LSA是由配置类NSSA区域的ASBR生成,其功能就是在NSSA区域中传递外部路由,其范围可以在整个NSSA区域中传播。

2.72、以R2设备产生的7类LSA为例,截图和分析如下:

我们可以通过display ospf lsdb 查看数据库LSA的信息,我们可以看到在NSSA区域引入直连后,产生了4条7类LSA,其中10.1.12.0、1.1.1.1和192.168.10.0都是由R1产生的,0.0.0.0是由R2产生的,在Area 0中并没有7类LSA,说明7类LSA并不能离开NSSA区域,同时我们可以通过观察看到NSSA区域中的192.168.10.0是通过5类LSA在Area 0中传递的,也就是在R2设备上发生了7类LSA转5类LSA的情况。而图中的默认路由形式的7类LSA就是NSSA区域的ABR过滤掉了4类,5类LSA并下发了一条7类LSA的路由以便于访问NSSA区域的网段,即发生了5类LSA转7类LSA的其情况。

总结

通过全文的6种LSA的分析,我们可以得知,区域内的路由主要是通过1类和2类LSA描述,区域间的路由主要是通过3类LSA描述,区域外的路由可以通过4类和5类LSA进行描述,而特殊区域引入的路由可以通过7类LSA进行描述。OSPF通过这些LSA收集链路状态信息,并使用SPF算法计算出域内无环的路由信息。

本期作者:

熊亮深信服云计算认证专家(SCCE-C),产业教育中心高级讲师

持有CCSSP、CCSK、HCIE-Cloud Computing、HCIE-Datacom等多项技能证书,擅长企业级网络规划、云计算解决方案规划、云计算架构设计、私有云部署与管理,云灾备、云安全等技术方向;曾负责并参与金融、医疗及政企行业企业级云网络架构设计、私有云架构设计、企业级云迁移、云灾备等方案的规划与实施;并且作为特聘讲师多次为中国商务部援外研修班、央企、大中型企业、高校进行授课,研究方向为云计算架构深度解析、私有云架构设计、分布式存储架构实践、MPLS VPN骨干网络架构设计等技术领域,具有丰富的云计算一线实战经验以及技术转化和输出能力。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/501112.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

camunda流程变量如何使用

Camunda是一个流程引擎,它支持在流程执行期间存储和操作流程变量。流程变量是一个值或对象,可以与Camunda中的流程实例、任务或执行相关联。 流程变量在Camunda中有很多用途。以下是一些常见的用途: 1、传递数据:流程变量可以用于…

通讯录备份的方法你知道几个?分享iPhone通讯录3个备份技巧!

案例:苹果通讯录的备份方法 【我想把 iPhone 8重置一下,把里边乱七八糟的东西清一清,软件什么的重新下了就好了,设置什么的也不需要备份,只想重置完了能恢复一下通讯录,求解答!】 在如今的移动…

Scrum敏捷开发工具-单团队敏捷开发管理

Scrum是全球运用最广泛的敏捷管理框架,Leangoo基于Scrum框架提供了一系列的流程和模板,可以帮助敏捷团队快速启动Scrum敏捷开发。 这里可以介绍一下在scrum中单团队敏捷开发如何管理,单团队敏捷开发主要是针对10-15人以下,只有一…

PHP+MYSQL+Thinkphp——仓库管理系统

一、功能 前台功能: 1、企业介绍、企业消息推送 2、用户注册、用户登录、重置密码、退出登录 3、用户个人信息修改、材料申购、审批查看 4、材料管理:公司已有材料查看、材料借用、材料归还、借用记录 后台功能: 1、后台登录、修改管理员密…

【Java EE】-Servlet(二) Servlet API 详解

作者:学Java的冬瓜 博客主页:☀冬瓜的主页🌙 专栏:【JavaEE】 分享:寂寞会发慌,孤独是饱满的。——史铁生《命若琴弦》 主要内容:HttpServlet的方法,init,service,destroy,doGet/doPost/doPut/…

MySQL之从一条记录说起 【InnoDB 记录结构上篇】

前言 本文章收录在MySQL性能优化原理实战专栏,点击此处查看开篇介绍。 本文摘录自 ▪ 小孩子4919《MySQL是怎样运行的:从根儿上理解MySQL》 到现在为⽌,MySQL对于我们来说还是⼀个⿊盒,我们只负责使⽤客户端发送请求并等待服务…

【Go编程语言】 Go语言基础语法

Go语言基础语法 文章目录 Go语言基础语法一、注释1.单行注释2.多行注释 二、变量1.变量的定义2.变量的初始化3.理解变量(内存地址)4.变量交换5.匿名变量6.变量的作用域 三、常量1.常量的定义: const2.iota(特殊常量) 四…

HLS直播与延迟时长的来源与超低延迟直播

1.HLS直播延迟时长(HTTP Live Streaming) HTTP Live Streaming(简称 HLS)是一个基于 HTTP 的视频流协议,由 Apple 公司实现,Mac OS 上的 QuickTime、Safari 以及 iOS 上的 Safari 都能很好的支持 HLS&…

Kmeans++ 算法对随机数据样本聚类

一、算法简介 K-means算法是一种常见的无监督学习聚类算法,其基本思想是将n个样本划分为k个簇,每个簇内的样本之间的相似度要尽可能的大,而不同簇之间的相似度要尽可能的小,通过最小化各个簇内点与该簇中心点的距离和来实现。 二…

API接口对程序员的帮助有哪些,参考值简要说明

API接口对程序员的帮助有哪些 提高开发效率:通过API接口,程序员能够在不用重复编写代码的情况下,直接获取其他应用程序提供的服务或数据,极大地提高了开发效率。 减少错误率:使用API接口可以避免手动输入数据容易出现…

(LDR6020)双USBType-C口快充头适配器方案(PD快充 支持功率动态分配,只需要一颗芯片完成所需功能)

6月7日,欧盟公布了“在欧盟境内统一使用USB Type-C接口用于移动设备充电”的法规。在同一天,苹果公司发布了自己的35W双USB Type-C口充电器。可以看到,多USB Type-C口(下文简称:C口)快充充电器将成为市场趋势。LDR6020…

thinkphp+vue+html高校固定资产管理系统维修 租借4h80u

本高校资产管理系统采用的数据库是Mysql,使用thinkphp框架开发。在设计过程中,充分保证了系统代码的良好可读性、实用性、易扩展性、通用性、便于后期维护、操作方便以及页面简洁等特点。运行环境:phpstudy/wamp/xammp等 开发语言:php 后端框…

经验总结:(Nginx 快速入门)

为什么需要Nginx 一个普通web项目刚刚上线不久时,用户使用的少,并发度低,所以在一个服务器上用一个jar包启动应用就可以了,然后内部Tomcat返回内容给用户。但是慢慢的,用户量上来了,并发量逐渐增大,这时候一台服务器就满足不了我们的需求了。于是采用横向扩展,即增加服务器的数…

MySQL调优系列(三)——存储引擎的选择

一、什么是存储引擎 关系型数据库的数据是存在表里的,可以将表理解为由行和列组成的表格,类似于Excel的电子表格的形式,每个表格就是一个数据。 表是在存储数据的同时,还要组织数据的存储结构,而这些数据的组织结构就…

tomcat启动web项目报错汇总

tomcat启动web项目报错汇总 前言问题java: 找不到符号 符号: 方法 getType() 位置: 类型为com.mtwl.vehicle.carflow.p背景解决方案 java: -source 7 中不支持 lambda 表达式 (请使用 -source 8 或更高版本以启用 lambda 表达式)背景问题解决 前言 简单记录一下tomcat部署web项…

【刷题记录】关于二叉树的OJ题

文章目录 1.根据二叉树创建字符串2.二叉树的层序遍历3.二叉树的最近公共祖先4.二叉搜索树与双向链表5. 从前序与中序遍历序列构造二叉树6.二叉树的遍历 1.根据二叉树创建字符串 题目链接:606. 根据二叉树创建字符串 - 力扣(LeetCode) 题干&…

DS200TCQCG1BKG什么是控制模式,控制模式如何分类?

​ DS200TCQCG1BKG.什么是控制模式,控制模式如何分类? 控制回路的功能是在受控变量偏离该值时将其恢复到其设定值,从而将过程保持在所需条件下。实现这一点的动作称为控制模式。 控制方式分为两类 连续模式包括比例、积分和微分模式。 什么…

企业短信遭疯狂盗用,可能是没配置验证码

手机短信作为一种快捷的通讯方式被广泛应用。不仅在个人日常生活中,企业也习惯使用手机短信来进行验证和提醒,以保证业务的正常进行。随着数字化的发展,手机短信也成为了不法分子滥用的目标之一,给个人和企业带来不同经济损失。 个…

百度AI,和“吴文俊奖”同行的十二年、千丈山、万里路

今天,AI正作为一个科技发展周期的轴心,成为万众瞩目的焦点。与历史上数次技术革命和AI浪潮所不同的是,这次AI的全球领先阵营里,有了中国的身影。 从一个学术灵感,到一项全球领先的专利技术,从一篇顶会论文到…

MySQL基础(十)创建和管理表

1. 基础知识 1.1 一条数据存储的过程 存储数据是处理数据的第一步。只有正确地把数据存储起来,我们才能进行有效的处理和分析。否则,只能是一团乱麻,无从下手。 那么,怎样才能把用户各种经营相关的、纷繁复杂的数据&#xff0c…