HCIP的学习(11)

OSPF的LSA详解

LSA头部信息

[r2]display ospf lsdb router 1.1.1.1----查看OSPF某一条LSA的详细信息,类型以及LS ID参数。

在这里插入图片描述

  • 链路状态老化时间
    • 指一条LSA的老化时间,即存在了多长时间。
    • 当一条LSA被始发路由器产生时,该参数值被设定为0之后,随着该LSA在网络中被洪泛,老化时间逐渐累加
    • 当一条LSA的老化时间为3600S时,则判断该条LSA失效,将被删除。(不是始发路由器的唯一删除方法)
    • LSA的老化时间一般应该小于1800S,因为OSPF存在周期链路刷新机制。周期链路刷新机制是只有始发路由器可以执行的,而沿途其余设备执行的是触发更新机制。
    • 在OSPF网络中,只有始发路由器可以修改或删除LSA信息
    • OSPF存在周期链路刷新机制(某一个信息到时间只刷新一个,并且只有始发路由器可以通告),rip是周期更新机制(到时间全部一起更新,包括本地和收到的)
    • 组步调计时器(思科启用):有LSA到1800s,等待240s,到时间后,老化时间在1800s-2040s的统一发送
  • 可选项:与之前Hello包内相同
  • 链路状态类型
    • 指的是本条LSA的类型属性。
  • 链路状态ID
    • 根据链路状态类型的不同,该参数的含义不同。
  • 通告路由器
    • 产生该条LSA的路由器的Router-ID。
  • 校验和
    • 除了验证LSA的完整性,还会参与到LSA的新旧关系对比。
  • 链路状态序列号
    • 代表有序性,每发送一条LSA,则序号加1。也是用于判断LSA新旧关系的一种。
    • 初始序列号:0x80000001 (数字8代表负数,7代表正数)
    • 截止序列号:0x7FFFFFFF (负 -->0x00000000 -->正)
    • 序列号由负数开始增长,其中数值越大越优。
    • OSPF序列号刷新方式
      • 当一条LSA序列号为0x7FFFFFFF时,始发路由器会将其老化时间设定为3600S,其他设备收到该LSA后,因为序列号最大,会无条件接受,此时又因为老化时间参数,会删除该条LSA。
      • 而此时始发路由器会重新发送序列号为0x80000001的全新LSA信息,实现序列号的刷新机制。

判断LSA的新旧关系

  • 拥有更高序列号的LSA被认为更新。
  • 如果序列号相同,则拥有较大校验和的LSA被认为更新。
  • 如果序列号与校验和均相同,则对比老化时间。
    • 如果某条LSA的老化时间为3600S,则无条件选择该条LSA。
    • 如果没有LSA老化时间为3600S,则对比两条LSA的老化时间差值,如果差值大于15min,则认为老化时间较小的为更新。如果差值小于15min,则两条LSA被认为相同。
链路类型LS ID通告者传播范围携带信息
Type-1(Router)通告者的RID区域内所有运行OSPF协议的路由器的RID设备所在的单区域本地接口直连拓扑信息
Type-2(Network)DR接口的IP地址每一个MA网络中DR所在的路由器的RID单区域对单个MA网络拓扑的补充信息
Type-3(summary)域间路由信息的网络地址ABR设备,在通过下一个ABR设备时会被修改为新的ABR设备的RIDABR设备相邻的单区域域间路由信息
Type-5(ase)域外路由信息的网络地址ASBR整个OSPF网络域外路由信息
Type-4(asbr)ASBR的RID与ASBR同区域的ABR设备,在通过下一个ABR设备时会被修改为新的ABR设备的RID除去ASBR所在区域的所有单区域ASBR的位置信息
Type-7(nssa)域外路由信息的网络地址ASBR,离开NSSA区域后会被转换为5类LSANSSA区域域外路由信息

Type-1(Router)

在这里插入图片描述

​ Tpye名称为Router即为一类LSA信息。一类LSA信息是所有设备都会发送的LSA,且每一个设备单区域只会发送一条LSA

路由器会为每个区域单独产生一条一类LSA,用以描述连接在该区域的接口参数信息

在这里插入图片描述

第一行是总数结构,之后是一组一组的

  • 标记位
    • V----代表发送该LSA的路由器是Vlink的一段端点。
    • E----代表发送该LSA的路由器是ASBR
    • B----代表发送该LSA的路由器是边界路由器。(不是特指ABR,ABR是必须连接骨干,边界路由器是连接多个区域即可)
  • 链路数量
    • 特指该LSA中Link的数量。
    • 每一个link均包含链路ID、链路数据、链路类型、度量值。路由器使用一条Link或者多条link来共同描述一个接口信息。
  • 链路类型---->链路ID与链路数据随着链路类型的改变而改变。(表单须背
    • 在这里插入图片描述

用于根据LSA信息画出具体拓扑图,然后根据拓扑图计算具体路由

Type-2(Network)

在这里插入图片描述

对于接入MA网络的OSPF设备而言,仅依靠一类LSA是无法正常补全网络拓扑结构,其中缺少两个信息,分别是该MA网络的掩码信息以及有多少个节点连接在这个MA网络。---->使用二类LSA进行补充。

二类LSA必须由DR设备产生

OSPF中,拓扑信息全部由一类以及二类LSA进行完善,且每个LSA仅在各自产生区域传递

Type-3(summary)

在这里插入图片描述

三类LSA的通告者都是该区域的ABR设备,且每一条路由信息使用一条独立的LSA进行描述

三类LSA中携带“网络地址”“网络掩码”“开销值”三个参数

三类LSA中的开销值等于该LSA通告者到达目的地的开销值。本地路由表中的路由项开销值等于三类LSA中的开销值加上通过一二类LSA计算出到达ABR设备的开销值之和。

当接收者收到一条三类LSA后,首先会根据本地的一二类LSA进行验算,验算是否可以到达这条三类LSA的通告者,如果可以正常到达,则接收该LSA并生成相应路由信息;否则丢弃该LSA信息

三类LSA在跨区域传递时,需要进行通告者的转换,实际上是重新编写了一条全新的LSA内容

Type-5(ase)

在这里插入图片描述

五类LSA主要传递域外路由信息,该LSA被ASBR产生,并且传播到整个OSPF网络(除了一些特殊区域)

在这里插入图片描述

  • 开销值

    • 五类LSA中的开销值并不等于ASBR到达目标网段的开销。原因在于外部路由的开销值算法与OSPF内部的开销值算法不同,该数值对于OSPF而言,没有意义。---->故,五类LSA在引入到OSPF网络时,会使用一个常数来标识LSA中的开销,该常数值一般称为种子度量值
    • 种子度量值默认为1,该参数可以在重发布过程中进行修改。(只能在始发路由器改)
    • [r4-ospf-1]import-route rip 1 cost 10 ----将种子度量值修改为10

  • E位---->度量值类型

    • Type-1

      • 如果E标记位为0。
      • 所有设备到达域外目标网段的开销值====本地到达发出这条LSA的ASBR的开销+种子度量值
    • Type-2

      • E标记位为1。默认值
      • 域内所有到达目标网段的开销值====种子度量值
    • 在重发布时可以进行修改

    • [r4-ospf-1]import-route rip 1 type 1 ----修改开销值类型

  • FA—转发地址

    • 可以把转发地址就理解为重定向信息

    • 当FA==0.0.0.0时,则到达该外部网段的流量会被发往引入该外部路由的ASBR。

    • 当FA不等于0.0.0.0时,则到达该外部网段的流量会被发往FA字段。

    • 在这里插入图片描述

    • 当同时满足如下四个条件时,FA字段可以被ASBR设置为其他参数数值。

      • 引入外部路由的ASBR在其连接外部网络的接口上激活了OSPF协议。
      • 该接口没有被配置为静默接口(ospf不接不发,RIP只接不发)。
      • 该接口的网络类型为Broadcast或NBMA
      • 该接口的IP地址属于OSPF协议配置的network命令范围内。
    • 外部路由标记(Tag,应用在路由策略技术上)

      • 该参数用于给OSPF域外路由信息打上标签,从而对路由信息进行分组。根据组别使用路由策略对不同组播进行不同操作。

      • 在华为路由器上,缺省时,所有路由信息标记为1

      • 在重发布时可以进行修改

        • [r4-ospf-1]import-route rip 1 tag 84512313

Type-4(asbr)

所有传递路由信息的LSA都需要进行验算过程,寻找该LSA的通告者。而5类LSA是全区域传递,对于不与ASBR处于相同区域的设备而言,无法通过1类和2类LSA完成验算过程,需要引入额外的LSA信息----Type-4 LSA

四类LSA仅在描述如何到达ASBR。---->实际上是一条到达ASBR的路由信息

四类LSA与三类LSA较为相似,但是不同,因为四类LSA通告的不是目标网段,而是ASBR的RID

在这里插入图片描述

Tos 0 metric(度量值):1 代表4类LSA的通告者到达ASBR的开销值(R3到R4)

路由撤销

  • 1类LSA撤销
    • 通过更新的方式进行撤销,即发送一条全新LSA,序列号+1,校验和不变,老化时间=0(新的LSA里面就不包含不需要的Link)
  • 2类LSA撤销
    • MA网络中还存在两个以上节点,此时DR发送序列号+1,老化时间=0的LSA进行更新。
    • MA网络中没有任何节点存活,此时DR发送序列号不变,老化时间=3600S的LSA清除全网信息。(发送给整个区域中没断的其他路由器)
  • 3类LSA撤销
    • 序列号不变,校验和不变,老化时间=3600S进行路由撤销(要比3次,下面原因)。
    • 因为三类LSA的数量在网络中占据大量信息,而如果采用序列号增加,则代表始发路由器重新构造了一条LSA信息,该方式会极大的消耗设备资源。而对原本LSA信息进行修改的方式,可以减少始发路由器的资源消耗。
  • 5/7类LSA撤销
    • 序列号不变,校验和不变,老化时间=3600S进行路由撤销。
  • 1、2类LSA撤销是更新,因为一个LSA包含很多信息,3/5/7类LSA撤销是老化时间为3600s,因为一个LSA只有一条路由信息

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

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

相关文章

32 OpenCV Harris角点检测

文章目录 cornerHarris 算子示例 角点检测 cornerHarris 算子 void cv::cornerHarris ( InputArray src,OutputArray dst,int blockSize,int ksize,double K,int borderType BORDER_DEFAULT) src:待检测Harris角点的输入图像,图像必须是CV 8U或者CV 32F的单通道…

Maven 在项目的 pom.xml 文件中 指定 阿里云的景象仓库

配置 在 项目的 pom.xml 文件中添加如下配置即可 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation&…

【Unity】位图字体制作工具:蒲公英

一般来讲&#xff0c;如果需要制作位图字体&#xff0c;一般是使用 BMFont 这种第三方工具&#xff1a;BMFont - AngelCode.comhttp://www.angelcode.com/products/bmfont/ 然而这个工具对于非程序员来说&#xff0c;操作起来较为繁琐困难。每次美术修改了字体之后&…

【区块链】比特币架构

比特币架构 2009年1月&#xff0c;在比特币系统论文发表两个月之后&#xff0c;比特币系统正式运行并开放了源码&#xff0c;标志着比特币网络的正式诞生。通过其构建的一个公开透明、去中心化、防篡改的账本系统&#xff0c;比特币开展了一场规模空前的加密数字货币体验。在区…

C++手写协程项目(协程实现线程结构体、线程调度器定义,线程挂起、切换、恢复函数,模块测试)

协程结构体定义 之前我们使用linux下协程函数实现了线程切换&#xff0c;使用的是ucontext_t结构体&#xff0c;和基于这个结构体的四个函数。现在我们要用这些工具来实现我们自己的一个线程结构体&#xff0c;并实现线程调度和线程切换、挂起。 首先我们来实现以下线程结构体…

Linux常用软件安装(JDK、MySQL、Tomcat、Redis)

目录 一、上传与下载工具Filezilla1. filezilla官网 二、JDK安装1. 在opt中创建JDK目录2.上传JDK压缩文件到新建目录中3.卸载系统自代jdk4.安装JDK5.JDK环境变量配置6. 验证是否安装成功 三、安装MySQL1.创建mysql文件夹2.下载mysql安装压缩包3.上传到文件夹里面4. 卸载系统自带…

ThreeJS:光线投射与3D场景交互

光线投射Raycaster 光线投射详细介绍可参考&#xff1a;https://en.wikipedia.org/wiki/Ray_casting&#xff0c; ThreeJS中&#xff0c;提供了Raycaster类&#xff0c;用于进行鼠标拾取&#xff0c;即&#xff1a;当三维场景中鼠标移动时&#xff0c;利用光线投射&#xff0c;…

SpringCloudAlibaba:4.1云原生网关higress的搭建

概述 简介 Higress是基于阿里内部的Envoy Gateway实践沉淀、以开源Istio Envoy为核心构建的下一代云原生网关&#xff0c; 实现了流量网关 微服务网关 安全网关三合一的高集成能力&#xff0c;深度集成Dubbo、Nacos、Sentinel等微服务技术栈 定位 在虚拟化时期的微服务架构…

【DevOps】Jenkins 集成Docker

目录 1. 安装 Docker 和 Jenkins 2. 在 Jenkins 中安装 Docker 插件 3. 配置 Docker 连接 4. 创建 Jenkins Pipeline 5. 示例 Pipeline 脚本 6. 运行 Jenkins Job 7. 扩展功能 8、docker配置测试连接的时候报错处理 将 Docker 与 Jenkins 集成可以实现持续集成和持续交…

目标检测正负样本区分和平衡

1、正负样本定义 rpn和rcnn的正负样本定义都是基于MaxIoUAssigner&#xff0c;只不过定义阈值不一样而已。 MaxIoUAssigner的操作包括4个步骤&#xff1a; 首先初始化时候假设每个anchor的mask都是-1&#xff0c;表示都是忽略anchor 将每个anchor和所有gt的iou的最大Iou小于…

如何为 Nestjs 编写单元测试和 E2E 测试

前言 最近在给一个 nestjs 项目写单元测试&#xff08;Unit Testing&#xff09;和 e2e 测试&#xff08;End-to-End Testing&#xff0c;端到端测试&#xff0c;简称 e2e 测试&#xff09;&#xff0c;这是我第一次给后端项目写测试&#xff0c;发现和之前给前端项目写测试还…

Rust里的Fn/FnMut/FnOnce和闭包匿名函数关系

闭包&#xff08;英语&#xff1a;Closure&#xff09;&#xff0c;又称词法闭包&#xff08;Lexical Closure&#xff09;或函数闭包&#xff08;function closures&#xff09;&#xff0c;是引用了自由变量的函数。这个被引用的自由变量将和这个函数一同存在&#xff0c;即使…

Linux线程安全,互斥量和条件变量

文章目录 一、 Linux线程互斥1. 进程线程间的互斥相关背景概念&#xff08;1&#xff09; 临界资源和临界区&#xff08;2&#xff09; 互斥和原子性 2. 互斥量mutex3. 互斥量的接口4. 互斥量实现原理探究 二、 可重入VS线程安全1. 概念2. 常见的线程不安全的情况3. 常见的线程…

【superset】基于MySQL的BI数据分析可视化实战案例(已更新)

1.熟悉、梳理、总结下superset可视化分析实战案例知识体系,一直想探索有效可用的可视化分析方案,大多收费或不好用,这里,借此机会总结、更新下。 2.复杂度高,遇到并解决的问题较多,尝试了很多次。 3.欢迎批评指正,跪谢一键三连! 基于MySQL的BI数据分析可视化实战案例文…

Crossplane 实战:构建统一的云原生控制平面

1 什么是 Crossplane Crossplane 是一个开源的 Kubernetes 扩展&#xff0c;其核心目标是将 Kubernetes 转化为一个通用的控制平面&#xff0c;使其能够管理和编排分布于 Kubernetes 集群内外的各种资源。通过扩展 Kubernetes 的功能&#xff0c;Crossplane 对 Kubernetes 集群…

rv1126的rknn1.7.5自有模型训练部署

几乎一年前, 弄过一次rv1126的平台的推理部署, 一年时间过去了, rknn从1.7.1, 进化到了1.7.5,原有的代码不太好用了, 因为最近有个客户要做1126平台的推理, 今天下午就花了几个小时, 从头再捋了一遍. 模型训练 这部分, 跟3588平台差不多, clone下yolov5的仓库, 并check out到…

《QT实用小工具·五十五》带有标签、下划线的Material Design风格输入框

1、概述 源码放在文章末尾 该项目实现了一个带有标签动画、焦点动画、正确提示、错误警告的单行输入框控件。下面是demo演示&#xff1a; 项目部分代码如下所示&#xff1a; #ifndef LABELEDEDIT_H #define LABELEDEDIT_H#include <QObject> #include <QWidget>…

Day15-JavaWeb开发-Maven高级-分模块设计与开发继承与聚合私服

1. Maven高级-分模块设计与开发 2. Maven高级-继承与聚合 2.1 继承关系实现 2.2 版本锁定 2.3 聚合实现 3. Maven高级-私服 3.1 私服-介绍 3.2 私服-资源上传与下载 4. Web开发-完结

Nginx(参数设置总结)

文章目录 Nginx&#xff08;工作机制&参数设置&#xff09;1.Master&Worker工作机制1.示意图2.解释3.Nginx争抢机制4.accept_mutex解决惊群现象5.多进程结构不用多线程结构的好处6.IO多路复用&#xff0c;实现高并发7.优势 2.参数配置1.work_processes1.基本介绍2.work…

15_Scala面向对象编程_访问权限

文章目录 Scala访问权限1.同类中访问2.同包不同类访问3.不同包访问4.子类权限小结 Scala访问权限 知识点概念 private --同类访问private[包名] --包私有&#xff1b; 同类同包下访问protected --同类&#xff0c;或子类 //同包不能访问(default)(public)默认public --公…