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

HICP--2

  1. 在area 0的路由器只生成 area 0 的数据库,只在area 1 的一样。但是既在又在的生成两个 area的 LSDB

一、区域间三类LSA

在OSPF(Open Shortest Path First)协议中,区域间三类LSA(Link-State Advertisement)指的是Type 3 LSA,它在OSPF网络中用于汇总和传播不同区域间的网络路由信息。下面我将通俗易懂地解释什么是三类LSA,以及它如何解决OSPF网络中的问题。

什么是三类LSA?

  • 三类LSA,也叫网络汇总LSA,是由OSPF的**ABR(Area Border Router,区域边界路由器)**生成的,主要用于把一个区域内的路由信息发送到其他区域。
  • OSPF网络通常被划分成多个区域,每个区域内部维护各自的网络拓扑,而通过三类LSA,各个区域可以相互共享路由信息,从而使不同区域的路由器了解其他区域的网络情况。

三类LSA解决了什么问题?

三类LSA的作用在于:

  1. 减少网络复杂性

    • 如果没有三类LSA,所有区域都必须维护整个网络的详细拓扑结构(所有路由信息)。这样会导致每个路由器都需要处理大量的路由信息,尤其在大型网络中,路由表和路由计算都会变得非常复杂。
  2. 提高网络效率

    • 三类LSA通过ABR把一个区域的路由信息汇总,简化成较少的条目后,再发送到其他区域。这样,每个区域只需要知道其他区域的网络范围,而不需要了解其详细的网络拓扑,减少了OSPF的路由开销。

举个例子

假设你有一个大公司,它的网络分成三个区域,分别是区域1区域2、和区域0(主干区域)。公司里每个区域都有很多路由器和子网。

没有三类LSA的情况:
  • 如果没有三类LSA,区域1里的每台路由器都需要知道区域2里每个路由器的详细路径信息,以及区域0里所有网络的具体路由。这相当于每个人都需要知道公司的所有部门的详细人员名单和座位分布,处理信息的工作量巨大。
有三类LSA的情况:
  • 当使用三类LSA时,ABR(区域1和区域2的边界路由器)会把区域内部的详细路由信息简化、汇总成一个“概要”,比如:“区域2有一个大的网络,范围是10.1.0.0/16”。
  • 区域1只需要知道“如何去区域2”,不需要了解区域2的每个小网络。同样,区域2也只需要知道如何到达区域1。这相当于你只需要知道如何到另一个部门的大门,而不需要知道每个人坐在哪。

在这里插入图片描述
这张图展示的是OSPF(开放式最短路径优先协议)中的LSDB(Link State Database,链路状态数据库)的一部分信息。具体字段的解释如下:

  1. Area: 0.0.0.1 表示OSPF区域,OSPF中的路由器被分为不同的区域,0.0.0.1 是一个区域ID。

  2. Type: 这里显示了不同类型的LSA(Link State Advertisement,链路状态通告)。可以看到有四种类型:

    • Router: 路由器LSA,用于描述路由器与网络的连接。一类LSA
    • Network: 网络LSA,描述网络上连接的所有路由器。二类
    • Sum-Net: 汇总LSA,用于表示不同区域之间的网络。三类
  3. LinkState ID: 每个LSA都有一个唯一的Link State ID,用来标识该LSA的发出者。例如,10.2.2.2 是某个Router LSA的Link State ID。

  4. AdvRouter: Advertised Router,表示谁发布了这个LSA。例如,10.2.2.210.4.4.4 分别是发布这些LSA的路由器。

  5. Age: LSA的老化时间,单位是秒。每个LSA都有一个老化计时器,当达到最大老化时间时,LSA会被移除。这里可以看到Age字段的值如35秒、26秒等。

名词解释

在OSPF(Open Shortest Path First)协议中,Link Type 表示网络中不同类型链路的连接方式,特别是在LSA(Link State Advertisement)中,用于描述路由器之间的链路类型。

  • TransNet(Transit Network):表示一个广播网络或多点连接网络,通常是多个路由器通过一个共享的网络进行通信。
  • P2P(Point-to-Point):点对点链路,直接连接两个路由器。
  • StubNet(Stub Network):只连接一个路由器的网络,通常是环回接口或单出口网络。
  • VirtLink(Virtual Link):虚拟链路,用于连接区域边界路由器到主干区域0的特殊链路。
  • P2MP(Point-to-MultiPoint):点对多点链路,表示一个路由器通过多个独立链路连接到多个其他路由器。

二、防环

下面这样不就是环路了嘛?
在这里插入图片描述
下面这样就行了
在这里插入图片描述

在这里插入图片描述
这里不满足ABR生成的条件,所以 area 1就的信息就不会给到 area 2,就不会出现环路

在这里插入图片描述

![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/1f5ce26d63ff4321babdc94bfebf5ddb. png)

这段话的意思是解释了OSPF中**ABR(Area Border Router,区域边界路由器)**在传递路由信息时如何防止出现消息回传或环路的问题。具体的防环规则如下:

规则1:拓扑建立——非骨干区域必须和骨干区域连接

  • 意思:OSPF的非骨干区域(区域1、区域2等)必须和骨干区域(区域0)直接连接,不能跳过骨干区域直接与其他非骨干区域连接。
  • 举例说明:如果有区域1和区域2,路由信息要从区域1传到区域2,必须通过区域0传递。这样可以避免信息直接在区域1和区域2之间来回传递,防止环路。

规则2:ABR设备的生成条件

  • 意思:连接多个非骨干区域的设备不能成为ABR。也就是说,ABR必须同时连接一个骨干区域(区域0)和至少一个非骨干区域,才能成为ABR。
  • 举例说明:假设一个路由器连接了区域1和区域2,但没有连接区域0,它不能作为ABR。只有连接了区域0并同时连接其他区域的路由器,才可以称为ABR。这是为了确保路由信息必须通过骨干区域传递,而不是直接在非骨干区域之间传递,避免环路。

规则3:ABR处理3类LSA的方式

  • 意思:ABR不会在某个非骨干区域接收到来自骨干区域的3类LSA时,将其传播到另一个非骨干区域。也就是说,ABR只会在骨干区域传播该路由信息,不会在非骨干区域之间直接传播3类LSA。
  • 举例说明:假设区域1有一个路由器A,ABR通过区域0从区域2收到了一个路由信息。这个信息不会直接从区域1传回区域2,也不会在区域1和区域2之间直接传播。这样做是为了防止同一个路由信息在非骨干区域之间来回传递,形成环路。

三、

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

四、虚链路

虚链路只能配置在非骨干区域
在这里插入图片描述
在这里插入图片描述

红色的线连接的是area 0, 蓝色是area1, 黑色是area 2.右下角的应该是5,写成2了
在这里插入图片描述

在这里插入图片描述

五、

相关文章:

HICP--2

在area 0的路由器只生成 area 0 的数据库,只在area 1 的一样。但是既在又在的生成两个 area的 LSDB 一、区域间三类LSA 在OSPF(Open Shortest Path First)协议中,区域间三类LSA(Link-State Advertisement&#xff09…...

sheng的学习笔记-AI基础-正确率/召回率/F1指标/ROC曲线

AI目录:sheng的学习笔记-AI目录-CSDN博客 分类准确度问题 假设有一个癌症预测系统,输入体检信息,可以判断是否有癌症。如果癌症产生的概率只有0.1%,那么系统预测所有人都是健康,即可达到99.9%的准确率。 但显然这样的…...

Linux -- 共享内存(2)

目录 命令 ipcs -m : 命令 ipcrm -m shmid: 共享内存的通信: 为什么共享内存更高效? 代码: ShmClient.cc: ShmServer.cc: 结果: 如何让共享内存实现同步? 代码&a…...

云函数实现发送邮件,以qq邮箱为例

云函数实现发送邮件,前端传参调用发送邮件即可。以qq邮箱为例。 1、开启qq邮箱的smtp服务并且生成授权码,操作界面如下图: 2、在腾讯云新建一个云函数代码如下: const nodemailer require("nodemailer");// 云函数入口函数 export…...

Kafka如何控制消费的位置?

大家好,我是锋哥。今天分享关于【Kafka如何控制消费的位置?】面试题?希望对大家有帮助; Kafka如何控制消费的位置? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 在 Kafka 中,控制消费位置主要通过以下几个机制来实…...

python爬虫——Selenium的基本使用

目录 一、Selenium的介绍 二、环境准备 1.安装Selenium 2.安装WebDriver 三、元素定位 1.常用定位元素的方法 2. 通过指定方式定位元素 四、窗口操作 1.最大化浏览器窗口 2.设置浏览器窗口大小 3.切换窗口或标签页 切换回主窗口 4. 关闭窗口 关闭当前窗口 关闭所…...

【Linux】【xmake】安装 + C/C++常用项目配置

文章目录 0. 环境准备1. 子命令create - 快速创建项目build - 构建程序config - 配置编译需要的参数show - 查看当前工程基本信息update - 程序自更新 2. C/C 项目常用配置2.1 项目目标类型2.2 添加宏定义2.3 头文件路径和链接库配置2.4 设置语言标准2.5 设置编译优化2.6 添加源…...

Android 添加菜单开关控制Camera相机和第三方相机

本文主要通过SystemProperties系统属性和Settings.System存储数据库的状态进行判断,从而实现控制相机 /vendor/mediatek/proprietary/packages/apps/MtkSettings/res/values-zh-rCN/strings.xml <!--camera--> <string name="manager_camera_switch"&…...

【Java知识】使用jacoco实现代码覆盖率测试

文章目录 1. 添加JaCoCo插件到项目2. 配置Maven Surefire Plugin3. 执行测试并生成报告4. 查看覆盖率报告注意事项 要使用JaCoCo实现代码覆盖率测试&#xff0c;你需要遵循以下步骤&#xff1a; 1. 添加JaCoCo插件到项目 在Maven项目的pom.xml文件中添加JaCoCo插件。这允许你执…...

道路车辆功能安全 ISO 26262标准(9-2)—面向汽车安全完整性等级 (ASIL) 和安全的分析

写在前面 本系列文章主要讲解道路车辆功能安全ISO26262标准的相关知识&#xff0c;希望能帮助更多的同学认识和了解功能安全标准。 若有相关问题&#xff0c;欢迎评论沟通&#xff0c;共同进步。(*^▽^*) 1. 道路车辆功能安全ISO 26262标准 9. ISO 26262-9 面向汽车安全完整…...

hutool常用方法

1、树结构工具-TreeUtil 构建Tree示例 package com.sl.transport.common.util;import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.lang.tree.Tree; import cn.hutool.core.lang.tree.TreeNode; import cn.hutool.core…...

CloudSat数据产品数据下载与处理 (matlab)

CloudSat数据下载 这个数据我之前和CALIPSO弄混了&#xff0c;后来发现它们虽然是同一个火箭上去&#xff0c;但是数据产品却在不同的平台下&#xff0c;CloudSat的数据更加关注云的特性&#xff0c;包括云覆盖、云水当量、云分类数据。 数据网址在&#xff1a;CloudSat网址 …...

LDR6500 一拖三快充线的定义与特点

定义&#xff1a;LDR6500 一拖三快充线是一种具有 Type-C 接口的充电线&#xff0c;它的最大特点是可以同时连接三个设备进行快速充电。 特点&#xff1a; 高效充电&#xff1a;采用先进的快充技术&#xff0c;能够快速为设备充电&#xff0c;大大缩短充电时间。同时&#xf…...

Elasticsearch安装使用

ES 概述 Elasticsearch&#xff0c;简称为 ES&#xff0c;是一款非常强大的开源的高扩展的分布式全文检索引擎&#xff0c;可以帮助我们从海量数据中快速找到需要的内容,它可以近乎实时的存储、检索数据.还可以可以实现日志统计、分析、系统监控等功能. 官网:https://www.elast…...

计算机网络的主要知识点小结

计算机网络是指将多台计算机通过通信线路连接起来&#xff0c;实现资源共享和信息传递的系统。 一、计算机网络概述 1. 定义和功能 - 定义&#xff1a;计算机网络是将地理位置不同的具有独立功能的多台计算机及其外部设备&#xff0c;通过通信线路连接起来&#xff0c;在网络操…...

fastjson/jackson对getter,setter和constructor的区分

在复现完fastjson1.2.24-1.2.80和jackson的所有相关漏洞后&#xff0c;总结的一些规则 以下均指对json的反序列化过程 setter fastjson调用setter&#xff1a;遍历所有方法&#xff0c;找出所有满足setter要求的方法&#xff0c;再根据传入的json去反射调用 jackson调用set…...

认识CSS语法

CSS&#xff08;网页美容&#xff09; 重点&#xff1a;选择器、盒子模型、浮动、定位、动画&#xff0c;伸缩布局 Css的作用&#xff1a; 美化网页&#xff1a;CSS控制标签的样式 网页布局&#xff1a;CSS控制标签的位置 概念&#xff1a;层叠样式表&#xff08;级联样式表…...

Linux运维篇-ansible的使用

目录 ansible简介ansible架构1、连接插件2、核心模块3、自定义模块4、插件5、剧本6、主机清单 ansible的执行过程安装Ansibleansible的使用ansible.cfg文件修改添加主机清单方式一方式二方式三 测试主机清单连接 ansible简介 简单来说&#xff0c;ansible就是一个自动化运维工…...

【MySQL】日志

1. 日志基本了解 常见的MySQL Server日志类型&#xff0c;以及记录的日志信息&#xff08;场景通俗理解&#xff09; 错误日志 记录的主要信息由服务器关闭、启动、崩溃事件&#xff1b;MySQL运行过程中出现的错误、警告和严重事件以及与权限、配置相关的问题使用场景 诊断MyS…...

2024年CentOS镜像下载地址,包括CentOS官网、国内镜像下载,超详细也

这里给大家提供了4种镜像下载地址&#xff0c;包括CentOS官方镜像下载、阿里云开源镜像站下载、网易开源镜像下载搜狐开源镜像下载。 1.CentOS官网镜像下载 因为服务器在国外所以打开CentOS官方网站的时候可能会比较慢。大家可以选择后面几种国内镜像下载方式。 1.1进入CentO…...

论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(二)

HoST框架核心实现方法详解 - 论文深度解读(第二部分) 《Learning Humanoid Standing-up Control across Diverse Postures》 系列文章: 论文深度解读 + 算法与代码分析(二) 作者机构: 上海AI Lab, 上海交通大学, 香港大学, 浙江大学, 香港中文大学 论文主题: 人形机器人…...

MySQL 隔离级别:脏读、幻读及不可重复读的原理与示例

一、MySQL 隔离级别 MySQL 提供了四种隔离级别,用于控制事务之间的并发访问以及数据的可见性,不同隔离级别对脏读、幻读、不可重复读这几种并发数据问题有着不同的处理方式,具体如下: 隔离级别脏读不可重复读幻读性能特点及锁机制读未提交(READ UNCOMMITTED)允许出现允许…...

系统设计 --- MongoDB亿级数据查询优化策略

系统设计 --- MongoDB亿级数据查询分表策略 背景Solution --- 分表 背景 使用audit log实现Audi Trail功能 Audit Trail范围: 六个月数据量: 每秒5-7条audi log&#xff0c;共计7千万 – 1亿条数据需要实现全文检索按照时间倒序因为license问题&#xff0c;不能使用ELK只能使用…...

《通信之道——从微积分到 5G》读书总结

第1章 绪 论 1.1 这是一本什么样的书 通信技术&#xff0c;说到底就是数学。 那些最基础、最本质的部分。 1.2 什么是通信 通信 发送方 接收方 承载信息的信号 解调出其中承载的信息 信息在发送方那里被加工成信号&#xff08;调制&#xff09; 把信息从信号中抽取出来&am…...

【Oracle】分区表

个人主页&#xff1a;Guiat 归属专栏&#xff1a;Oracle 文章目录 1. 分区表基础概述1.1 分区表的概念与优势1.2 分区类型概览1.3 分区表的工作原理 2. 范围分区 (RANGE Partitioning)2.1 基础范围分区2.1.1 按日期范围分区2.1.2 按数值范围分区 2.2 间隔分区 (INTERVAL Partit…...

Rapidio门铃消息FIFO溢出机制

关于RapidIO门铃消息FIFO的溢出机制及其与中断抖动的关系&#xff0c;以下是深入解析&#xff1a; 门铃FIFO溢出的本质 在RapidIO系统中&#xff0c;门铃消息FIFO是硬件控制器内部的缓冲区&#xff0c;用于临时存储接收到的门铃消息&#xff08;Doorbell Message&#xff09;。…...

稳定币的深度剖析与展望

一、引言 在当今数字化浪潮席卷全球的时代&#xff0c;加密货币作为一种新兴的金融现象&#xff0c;正以前所未有的速度改变着我们对传统货币和金融体系的认知。然而&#xff0c;加密货币市场的高度波动性却成为了其广泛应用和普及的一大障碍。在这样的背景下&#xff0c;稳定…...

如何在网页里填写 PDF 表格?

有时候&#xff0c;你可能希望用户能在你的网站上填写 PDF 表单。然而&#xff0c;这件事并不简单&#xff0c;因为 PDF 并不是一种原生的网页格式。虽然浏览器可以显示 PDF 文件&#xff0c;但原生并不支持编辑或填写它们。更糟的是&#xff0c;如果你想收集表单数据&#xff…...

Java 二维码

Java 二维码 **技术&#xff1a;**谷歌 ZXing 实现 首先添加依赖 <!-- 二维码依赖 --><dependency><groupId>com.google.zxing</groupId><artifactId>core</artifactId><version>3.5.1</version></dependency><de…...

GruntJS-前端自动化任务运行器从入门到实战

Grunt 完全指南&#xff1a;从入门到实战 一、Grunt 是什么&#xff1f; Grunt是一个基于 Node.js 的前端自动化任务运行器&#xff0c;主要用于自动化执行项目开发中重复性高的任务&#xff0c;例如文件压缩、代码编译、语法检查、单元测试、文件合并等。通过配置简洁的任务…...