想学透OSPF,先搞懂这6个技术点再说

news2025/1/18 18:59:15

大家好,我是老杨。

OSPF,这玩意儿作为目前主流的IGP协议,主要是为了解决RIP的三大问题而出现的。

应用面非常广,认可度也高,毕竟的确是好用的

也有很多正在学习的小友想找我讲讲,OSPF该怎么学。

基础的动态协议优势和分类、三张表等等,这些基础的就不说了,你自己先去了解清楚。

我也不私藏,看看下面这张图,OSPF学习过程,按这套来就对了。

已经考过IP的出来看看,你还记得多少,是不是快忘光了?记得捡起来复习下。

正在学习的小友,也欢迎你私信老杨,获得我的解答。

我自己当时在学习OSPF的时候,对LSA的印象太深刻了,经常被搞得晕头转向。

来来回回看了几遍相关的书才理解透彻。

今天这篇,就给你一次性说明白,详解一下OSPF里的六种LSA类型。

01 LSA,是啥?

LSA的全称是链路状态通告。

英文是Link State Advertisement,指的是OSPF中计算路由的重要依据。

链路状态通告包含链路上的网络类型、接口IP地址及子网掩码、链路上所连接的邻居以及链路开销。

为啥要划分LSA类型?

这是OSPF区域化结构决定的。

OSPF的区域特征会对应的LSA类型,最后经过SPF等算法,把相应的LSA类型的路由生成到路由表中形成不同类型的OSPF路由。

网络的规划在不断扩大,路由器为了完成路由计算所消耗的内存、CPU资源也越来越多。

通过区域划分可以在一定程度上缓解路由器的压力。

01 LSA摘要字段信息

Type:链路状态类型

Ls id:链路状态id,由Type决定

Adv rtr:产生这条LSA的Router-id

Ls age:老化时间

Len:长度

Options:选项

Seq#:序列号,越大表示LSA越新。初始值0x80000001,最大值0x7fffffff。

Chksum:校验和

这里给你说明一下:

由Type、Ls id、Adv rtr唯一标识一条LSA信息;你可以根据Seq、Chksum、Ls age判断LSA的新旧程度。

02 OSPF路由角色

区域内部路由器(IR):

所有接口都属于同一区域的路由器。

区域骨干路由器BR):

有一个接口属于骨干区域的路由器。

区域边界路由器(ABR):

连接多个区域,并且至少有一个up接口属于骨干区域的路由器;或配置了vlink的路由器。

AS边界路由器(ASBR):

使用import-route引入外部路由的路由器;或NSSA区域的做7类LSA转5类LSA的ABR。

02 先搞懂1-5类LSA

01 Router-LSA

Router又称一类LSA,主要描述路由器自身直连链路的链路状态信息。

所有运行OSPF协议的设备,只要有一条直连链路就会产生一条一类LSA。

先给你说说一类LSA的四种链路类型:

加入OSPF进程的接口都有相应网络类型,而网络类型缺省由该接口的链路层协议决定。

下面列举的部分是网络类型所对应的链路层协议:

  • Link-type——Stubnet

作用:描述自身直连的网络号以及子网掩码。

Link id:直连链路的网络号

Data:子网掩码

Metric:自身到直连网络的OSPF开销

例子:

这说明了描述的loopback接口,在描述环回口网段时,缺省使用32位子网掩码进行描述。

  • Link-type——P-2-P

作用:描述P2P/P2MP链路上的OSPF邻居。

Link id:邻居的router-id

Data:与邻居相连接口的IP地址

Metric:自身到邻居的OSPF开销

例子:

  • Link-type——Transnet

作用:描述Broadcast/NBMA链路上的OSPF邻居。

Link id:伪节点的router-id即该链路上的DR接口IP地址

Data:与伪节点相连的接口IP地址

Metric:自身到伪节点的OSPF开销

例子:

  • Link-type——Virtual

作用:描述vlink上的邻居。

Link id:vlink链路上的邻居的router-id

Data:与vlink链路上的邻居相连的接口IP地址

Metric:自身到vlink链路上的邻居的OSPF开销

02 Network-LSA

Network又称二类LSA,网络LSA主要是描述有哪些实结点与伪节点相连。

由Broadcast/NBMA网络类型中的DR产生。

Ls id:DR接口IP地址

Adv rtr:DR的router-id

Net mask:DR接口的子网掩码

Attached router:与伪节点相连的实结点的router-id

例子:

说明:与DR非直连的路由器,通过二类LSA中的Ls id与Net mask做与运算,算出这条路由。

这里需要给你做个小结。

由一类、二类LSA计算出的路由称为区域内路由,这类LSA只能在产生的区域内进行泛洪。

03 Sum-Net LSA

Sum-Net又称三类LSA,汇总LSA由ABR产生,主要描述区域内某个网段的路由。

ABR将自身直连区域的区域内的路由转换成其他直连区域的三类LSA, 完成区域间路由计算。

Ls id:网络号

Adv rtr:产生该三类LSA的ABR的router-id

Net mask:子网掩码

metric:ARB到该路由的OSPF开销

区域间OSPF路由计算:

Cost=自身到ABR的OSPF开销+ABR到该路由的开销。

Next-hop=自身到ABR的下一跳,根据到ABR的SPF树进行计算。

例子:

说明:第一个图由ABR(R2)转换成三类LSA泛洪至area 0区域中。第二个图在area 1区域中,有一条由Router-id为3.3.3.3产生的一类LSA。

04 Sum-ASBR

Sum-ASBR四类LSA,由与ASBR同一区域的ABR产生。

主要描述该区域的ABR到ASBR的开销。

Ls ID:ASBR的router-id

Adv rtr:ABR的router-id

tos 0 metric:ABR到ASBR的OSPF开销

与ASBR不在同一区域的路由器在计算外部路由时:

cost=自身到ABR的OSPF开销+ABR到ASBR的开销(4类)+引入时的开销(5类)

Next-hop=自身到ASBR的下一跳

05 External LSA

External,自治系统外部LSA,由ASBR产生,主要用于描述引入的外部路由。

Ls ID:外部路由的网络号

Adv rtr:ASBR的Router-ID

Net Mask:外部路由的子网掩码

tos 0 Metric:引入时外部路由的开销缺省值为1,可手动设置

E type:开销类型,缺省为cost-type 2。

类型1:路由表中始终计算引入时的开销和AS内部路径的开销之和。

类型2:引入外部路由时在路由表中忽略AS内部路径的开销,仅计算引入时的开销。

说明:外部路由优先比较开销类型,类型1优于类型2,其次比较cost。

都为类型1时,选择cost小的,如果cost相同则负载分担;都为类型2时,优先比较引入时的cost,cost小的优先,不关心AS内部开销。

如果cost相同时,则比较AS内部开销,cost开销小的优先。

如果引入时开销相同,内部AS开销相同,则负载分担。

Forwarding Address:转发地址,外部路由路径优化。

TAG:路由标记,缺省为1。

说明:当OSPF路由器计算外部路由时,五类LSA携带FA地址时,如果发现自身存在FA的直连路由,则将该外部路路由的下一条直接设置成FA。

与ASBR在同一区域的路由器计算外部路由时:

cost=自身到ASBR的OSPF开销+引入时的开销

Next-hop=自身到ASBR的下一跳

03 特殊区域咋做?试试7类LSA

在大型网络中,运行OSPF协议的设备通常需要同时维护由域内路由、域间路由以及外部路由构成的LSDB。

当网络规模不断扩大时,LSDB规模也不断增长。

如果哪个区域不需要为其他区域提供流量中转服务,那这个区域内的设备就没有必要维护本区域外的链路状态信息。

OSPF通过划分骨干和非骨干区域可以减小区域内路由器LSDB的规模。

但对于边缘非骨干区域的低端设备来说仍然无法承受。

你可以通过OSPF的特殊区域特性可以进一步减少LSA数量和路由表规模。

01 七类LSA

作用:用于描述OSPF外部路由。

Ls id:外部路由的网络号

Adv rtr:ASBR的router-id

Options:若为NP 代表可以做七类转五类,否则不转

Net mask:子网掩码

例子:

02 Stub区域

这个区域有几个特点:

1.该区域不会泛洪5类LSA,与区域内的ABR建立邻接时,忽略5类LSA的同步。

2.该区域不产生4类LSA。

3.该区域的ABR会产生一条3类LSA缺省路由信息。

说明:R3与R4之间不同步外部LSDB。ABR(R3)为区域内的路由器(R4)生成一条三类缺省路由,用于访问外部网络。

03 Totally Stub区域

特点和Stub区域基本是一致的,区别是这个区域除了不产生四类LSA外,也不产生三类LSA。

说明:对比末节区域,R3在完全末节区域中也不产生三类LSA,但做为该区域的ABR还是会为区域内的路由器R4生成一条三类缺省路由,用于访问外部网络。

04 NSSA区域

主要有这五个特点:

1.该区域下的ASBR可以引入外部路由,以七类LSA引入。

2.其他区域的ASBR产生五类LSA不能在该区域下泛洪,也不产生四类LSA。

3.该区域下的ABR产生一条七类缺省路由,用于访问从其他区域引入的外部路由。

4.该区域产生的七类LSA只在本区域内进行泛洪。

5.该区域的ABR会将七类的LSA转换成五类LSA泛洪到其他区域。如果区域内存在多个ABR,Router ID大的进行七转五的操作。

05 Totally NSSA区域

特点:与NSSA区域基本一致,区别是除了不产生四类LSA外,也不产生三类LSA。

但区域内的ABR会产生一条三类缺省路由,用于访问区域间的路由。

虽然七类LSA和三类LSA都会生成缺省路由,但路由器优先使用三类LSA产生的缺省路由。

整理:老杨丨10年资深网络工程师,更多网工提升干货,请关注公众号:网络工程师俱乐部

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

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

相关文章

Beerus:基于Helios light client的Starknet Stateless Client

1. 引言 前序博客: Helios——a16z crypto构建的去中心化以太坊轻节点 Beerus为基于Helios light client构建的Starknet Stateless Client,开源代码实现见: https://github.com/keep-starknet-strange/beerus(Rust&#xff09…

食饮品牌如何用Social Power抓住消费者心智?

2023 Foodaily创博会 2023.05.14-2023.05.16 数说故事将深度参与Foodaily创博会(第八届Foodaily FBIC全球食品饮料创新大会),和食饮品牌一起玩转Social Power,抓住消费者心智,用一种很新的方法营销与创新。 作为食饮…

Qt5.15.2替换mingw32-make.exe为emmake

qtcreator对qt程序的编译过程是先“qmake” ,然后“构建(等价于make)”。 qtcreator右键点击项目 出现的 “执行qmake”和“构建” 两个选项其实就是运行 项目-》build->构建步骤 中的“qmake”和“make”步骤所对应的命令行命令。 从项目…

类和对象(三)

目录 前言 1.再谈构造函数 1.1 初始化列表 1.2 explicit关键字 2.static成员 2.1 概念 2.2 特性 3.友元 3.1. 友元函数 3.2 友元类 4.内部类 5.匿名对象 6.拷贝对象时的一些编译器优化 前言 今天小编给大家介绍的就是类最后的相关内容,希望大家好好学习理…

僵尸进程?孤儿进程?为什么他有如此惨烈的身世...

文章目录 💐专栏导读💐文章导读🌷认识进程状态🌺如何查看进程状态 🌷R状态🌺引例🌺如何观察 🌷S状态与D状态🌺S状态🍁如何观察 🌺D状态 &#x1f…

【机器学习】Yellowbrick 包的理解和说明

文章目录 一、介绍二、Visualizers2.1 Classification Visualization2.2 Clustering Visualization2.3 Feature Visualization2.4 Model Selection Visualization2.5 Regression Visualization2.6 Target Visualization2.7 Text Visualization 一、介绍 首先是包的安装过程&am…

Reid strong baseline 代码详解

本项目是对Reid strong baseline代码的详解。项目暂未加入目标检测部分,后期会不定时更新,请持续关注。 本相比Reid所用数据集为Markt1501,支持Resnet系列作为训练的baseline网络。训练采用表征学习度量学习的方式。 目录 训练参数 训练代…

前端开发之this.$options.data的使用

前端开发之this.$options.data的使用 前言效果图vue2中使用vue3中使用 前言 this.$options.data:初始化对象 效果图 vue2中使用 this.$options这是一个Vue的特性,它可以让你访问组件的选项对象。你可以使用this.$options.data.call(this)来获取组件的初始数据&am…

pytorch模型转ONNX

目录 1. ONNX 2. pytorch 转 ONNX 3. 加载 ONNX 文件 4. Netron 1. ONNX 一般来说,pytorch训练好的模型是不能够直接用于生产环境,有很多的地方没有优化 而ONNX 格式可以兼顾不同框架的模型,相当于一个中间人的角色。这样部署到不同的环…

msvcr120.dll丢失怎样修复,学这三招就可以修复好

年前才买的新电脑,今天在打开软件ps软件的时候,电脑就提升msvcr120.dll文件丢失,无法执行此代码。刚刚开始以为是电脑的系统没有装好,经过我一下午时间的研究,原来是电脑msvcr120.dll文件丢失一般都是下载到垃圾软件&a…

软件测试后浪太强了,前浪有点顶不住啊,真难受...

想和大家说的话 8年前军哥刚进入到IT行业,现在发现学习软件测试的人越来越多,今天想根据军哥的行业经验再结合自己的一些看法给大家提一些建议。 最近聊到软件测试的行业内卷,越来越多的转行和大学生进入测试行业,导致软件测试已…

证件照片如何换背景底色,3个免费制作证件照的方法,简单易学

在日常生活中,我们经常需要用到证件照,比如:找工作需要简历上附带有证件照,还有办理学生证、身份证也需要提交证件照。 不同的平台有时候提交的要求(背景底色、大小等)也不一样,如果你不想每次…

缺少dll文件怎么办?修复dll文件的多种方法

缺少dll文件怎么办?当您试图启动某个应用程序或游戏时,可能会遇到“缺少DLL文件”的错误提示。DLL文件是动态链接库文件的缩写,它们包含在计算机上的许多应用程序和游戏中,并且是确保这些应用程序和游戏正常运行的重要部分。当出现…

秒懂!项目安全问题-SM4加解密

项目安全问题一直被人们研究,当前端路径上通过?status这种拼接参数时,参数的值在浏览器路径栏上非常醒目,是很容易被人恶意修改的,比如该用户并没有编辑权限,但有心之人却可以通过修改参数status的值把see改成edit&am…

【DataX】将hive表数据导入ES

目录 一、环境 二、创建hive测试表 三、Es写入插件包 四、配置json 五、数据同步 1、执行命令 2、查看es结果 一、环境 DataX:windows安装 Es版本:7.9.0 二、创建hive测试表 CREATE TABLE teacher(name string,age int )row format del…

抖音未来的发展趋势|成都欢蓬信息

抖音未来的发展趋势,近年来随着互联网技术的发展,小视频app也逐渐走入大家的日常生活中,闲着的时候打开手机抖音APP,就可以刷到世界各地人们分享的视频和直播,下面一起看看抖音未来的发展趋势 一、抖音的现状   据权…

【 五子棋对战平台(java_gobang) 】

文章目录 一、核心功能及技术二、效果演示三、创建项目扩展:WebSocket 框架知识 四、需求分析和概要设计五、数据库设计与配置 Mybatis六、实现用户模块功能6.1 数据库代码编写6.2 前后端交互接口6.3 服务器开发6.4 客户端开发 七、实现匹配模块功能7.1 前后端交互接…

构建新一代智慧园区移动应用以推动数字转型

随着智慧城市的建设和智慧园区的崛起,智慧园区数字一体化建设成为园区发展的重心,当然数字转型离不开移动应用的整合服务。 在过去的几年中,智慧园区移动应用已经发展成为园区管理和服务的重要手段之一,为企业和员工提供了更加便…

知行之桥EDI系统2023版功能介绍——概览页面

登录知行之桥EDI系统2023版,即可看到概览页面。默认情况下,会显示过去7天的各项指标。用户可以在页面右上角:显示过去的数据 下拉列表中手动选择需要的时间段,如:24小时、3天、7天等。 关键指标的自定义配置 概览页面…

如何将exe注册为windows服务,直接从后台运行

如何将exe注册为windows服务,直接从后台运行 使用instsrvsrvanywindow64位系统安装配置 window32位系统安装 使用instsrvsrvany 这是地址:链接: 网盘地址 提取码: h2za 复制这段内容后打开百度网盘手机App,操作更方便哦 window64位系统 安…