七、OSPF特殊区域及其特性

目录

OSPF区域分类

hello报文中option字段

1.末节区域(Stub区域)

2.完全末节区域(Toally Stub区域)

3.七类LSA

4.非完全末节区域(NSSA区域)

5.完全非完全末节区域(Toally NSSA区域)


特殊区域:是OSPF优化的一种手段,当路由器无法承载大量的LSA时,会考虑减少LSA数量来进行优化。

OSPF区域分类

骨干区域:   区域0

非骨干区域: 非区域0            Stub区域:                 末节区域

                                               Toally Stub区域:       完全末节区域

                                               NSSA区域:               非完全末节区域

                                               Toally NSSA区域:     完全非完全末节区域

hello报文中option字段

普通区域:      E = 1   N = 0

stub区域:      E = 0   N = 0

完全stub:      E = 0   N = 0

NSSA:          E = 0   N = 1

完全NSSA:     E = 0   N = 1

:只有两台路由器option字段相同才能建立邻居

1.末节区域(Stub区域)

特点:无4类和5类LSA。

当把一个非骨干区域配置为末节区域时,凡是在这个区域中的路由器,都要在区域视图下敲stub命令。

ospf 1 router-id 2.2.2.2

  area 0.0.0.1

   network 12.1.1.2 0.0.0.0

   stub

末节区域的特性

①当区域1配置为stub区域后,发出的hello包中,option字段中的E置位为0,代表该区域没有处理外部路由的能力,无法 泛洪和传递5类LSA。

②由于Stub区域内没有4类和5类LSA,没有办法计算外部路由,因此ABR会产生一条缺省3类LSA,让stub区域内的路由 器可以学习到一条缺省路由,用于访问外部路由。

Stub区域多缺省3类LSA产生次优路径解决办法

 

        如果末节区域存在多台ABR设备,每个ABR都会产生一条3类缺省LSA,那么区域内的IR路由器会负载分担,由于stub区域内没有4类和5类LSA, 一旦负载,那么就会缺失对末节区域外部的cost感知能力,那么就会存在次优路径风险。

解决办法:(人为干预)

a.针对stub区域内IR路由器接口改变cost值来人为干预

b.在ABR调整3类缺省路由的种子度量值

AR6:

ospf 1

area 0.0.0.1

  network 16.1.1.6 0.0.0.0

  stub

  default-cost 2

注:所有的此ABR向末节区域发送的3类开销都变成了2

c.在IR路由器上针对下一跳修改权重值

  ospf 1

     nexthop 12.1.1.2 weight 1

  权重值默认每条路由为255,数值越小越优先,取值范围为1~254

 

2.完全末节区域(Toally Stub区域)

特点:在末节区域的基础上,无3类LSA(除了缺省3类)

完全末节区域配置:在ABR的区域视图下敲stub no-summary,IR路由器的区域视图下只敲stub即可。

 area 0.0.0.1

  network 16.1.1.6 0.0.0.0

  stub no-summary

:完全末节区域继承了末节区域的所有特性,包括多ABR时次优路径风险问题,解决方法完全一致。

3.七类LSA

Type      : NSSA                  LSA类型,NSSA代表7类LSA,用来描述NSSA区 域中的外部路由信息

  Ls id     : 200.1.1.1            外部路由的网络地址

  Adv rtr   : 1.1.1.1               通告者,ASBR的router-id

  Ls age    : 297                    

  Len       : 36

  Options   :  NP                   N=NSSA  P代表传递  只有P置位的7类LSA才会被ABR 执行7转5

  seq#      : 80000001

  chksum    : 0xc227

  Net mask  : 255.255.255.255         外部路由的网络掩码

  TOS 0  Metric: 1                             外部路由的种子度量值

  E type    : 2                                     外部路由开销值类型,默认为type2

  Forwarding Address : 12.1.1.1       FA地址,用于优化链路

  Tag       : 1                                      路由标记,用于路由策略或者路由防环

注:对于5类LSA和7类LSA来说,都是外部引入的路由条目,只是所在区域不同

4.非完全末节区域(NSSA区域)

特点:NSSA区域将需要引入的外部路由,转化为7类LSA传递,让其他区域的路由器学习到这个外部路由

1、NSSA区域也是一个末节区域,也要做LSA优化

   1.1 ABR不会向NSSA区域内泛洪4类和5类LSA。

   1.2 ABR会向NSSA区域内产生一条7类缺省LSA,帮助NSSA内部路由器计算出缺省路由下一跳指向ABR路由器,访问外部路由

2、NSSA区域引入了外部路由,需要让其他区域的路由器学习到这个外部路由

   2.1 NSSA区域的ABR会将7类LSA转换为5类LSA,传递到其他直连区域内,方便其他区域的路由器学习到该外部路由

   2.2 7类只能在NSSA区域内泛洪,不能传递到其他区域

   2.3 ABR具有将7类LSA转换为5类LSA的能力,因此具备ASBR的功能,就会将自身1类LSA的ASBR置位

3、当NSSA区域存在多ABR时:

   3.1 多ABR时,由router-id大的ABR路由器执行7转5操作

   3.2 router-id小的ABR路由器也会具备7转5的能力,当router-id大的ABR路由器宕机时,需要承担备份作用

   3.3 多ABR时,会同时产生7类缺省LSA,计算出的缺省路由可能会负载分担,那么就会产生次优路径风险(同stub完全一样)

       解决办法:<1>更改出接口的cost值     <2>更改下一跳权重值

4、关于7类LSA的传递问题:

    在7类LSA的option字段中会有P置位。

    如果P置位将在ABR路由器执行7转5操作;如果P没有置位,将不会被执行7转5操作。(缺省7类LSA的P没有置位)

5、7类LSA中的FA地址问题:

   5.1 FA地址和5类LSA的FA地址作用相同,都是用来优化链路的

   5.2 7类LSA的FA地址不会为空(7类缺省除外)

       如果场景和5类LSA相同,那么FA地址会使用外部路由的下一跳作为FA地址。

       如果场景和5类不同:则取值为路由器最大的环回接口地址作为7类LSA的FA地址。(此环回接口必须宣告进OSPF)

       如果环回接口没有宣告进OSPF,则使用第一个UP的物理接口IP地址作为7类FA地址。

5.完全非完全末节区域(Toally NSSA区域)

在非完全末节区域(NSSA)的基础上无3类LSA

特性:

1、完全NSSA区域集成了NSSA区域的所有特性

2、完全NSSA区域的ABR会生成2条缺省LSA。分别是3类的缺省LSA和7类的缺省LSA,这种情况下在华为设备中会使用3类缺省计算并生成默认路由。

由此可以得到一条结论:

路由计算优先级:

1类2类LSA>3类LSA>5类和7类LSA

外部路由当中,type1>type2

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

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

相关文章

vue使用pdfjs-dist在电脑上展示PDF文件

安装 安装的时候一定要带上版本号,这里采用的是2.0.943(因为这个版本对于我目前的项目比较合适可以正常使用,其他版本大概率会报错),当前项目使用的是vue2,vue的版本是2.5.10 npm install pdfjs-dist@2.0.943 查看版本发现这玩意版本非常之多 使用 在使用pdfjs-dist库…

CSS Position定位(详解网页中的定位属性)

目录 一、Position介绍 1.概念 2.特点 3.作用 4.应用 二、Position用法 1.position属性 2.static定位 3.fixed定位 4.relative定位 5.absolute定位 6.sticky定位 7.重叠的元素 三、CSS定位属性 四、总结 一、Position介绍 1.概念 文档流&#xff08;Document Fl…

uniapp 微信小程序 分享海报的实现

主页面 <template><view class"page"><!-- 自定义导航栏--><Navbar title"我的海报"></Navbar><view class"container"><poster ref"poster" :imageUrl"image" :imageWidth"7…

NGINX发布动态页面的方法

一、建立 [rootserver100 html]# vim index.php [rootserver100 html]# pwd /usr/share/nginx/html 二、下载PHP文件 [rootserver100 conf.d]# dnf install php.x86_64 -y 正在更新 Subscription Management 软件仓库。 无法读取客户身份 本系统尚未在权利服务器中注册。可…

Latex入门教学——常用语句介绍

目录 一、导言 二、正文 三、图片 四、公式 五、表格 六、参考文献 LaTex模板下载 IEEE模板&#xff1a;IEEE Article Templates - IEEE Author Center Journals通用模板&#xff1a;Overleaf, Online LaTeX Editor其他方法&#xff1a;百度&#xff0c;CSDN等。 一、导…

力扣题目:寻找数组的中心下标

力扣题目&#xff1a;寻找数组的中心下标 题目链接: 724.寻找数组的中心下标 题目描述 代码思路 根据题目内容&#xff0c;维护好前后缀和&#xff0c;然后从左到右遍历寻找合适的下标 代码纯享版 class Solution {public int pivotIndex(int[] nums) {int sumleft 0, su…

Go 语言数组

Go 语言提供了数组类型的数据结构。 数组是具有相同唯一类型的一组已编号且长度固定的数据项序列&#xff0c;这种类型可以是任意的原始类型例如整型、字符串或者自定义类型。 相对于去声明 number0, number1, ..., number99 的变量&#xff0c;使用数组形式 numbers[0], num…

【踩坑日记】SpringBoot集成Kafka,消息没有按照顺序消息问题【已解决】

背景 作为一个合格的码农&#xff0c;当然要学会CV大法了&#xff0c;可是CV也是有风险的&#xff0c;别以为前任写的已经上线那么久了没有问题… 我们需要将埋点信息上报到一个三方平台&#xff08;S2S&#xff09;接口&#xff0c;三方平台对时间有要求&#xff0c;同一个用…

Oracle 数据迁移同步优化(三)

简述 CloudCanal 最近再次对其 Oracle 源端数据同步进行了一系列优化&#xff0c;这些优化基于用户在真实场景中的反馈&#xff0c;具备很强的生产级别参考意义。 本文将简要介绍这些优化项&#xff0c;希望带给读者一些收获。 增量事件 SCN 乱序问题MISSING_SCN 事件干扰新…

clickhouse与oracle传输数据

参考 https://github.com/ClickHouse/clickhouse-jdbc-bridge https://github.com/ClickHouse/clickhouse-jdbc-bridge/blob/master/docker/README.md clickhouse官方提供了一种方式&#xff0c;可以实现clickhouse与oracle之间传输数据&#xff0c;不仅仅是oracle&#xff0…

使用JavaScript及HTML、CSS完成秒表计时器

案例要求 1.界面为一个显示计时面板和三个按钮分别为:开始&#xff0c;暂停&#xff0c;重置 2.点击开始&#xff0c;面板开始计时&#xff0c; 3.点击暂停&#xff0c;面板停止 4.点击重置&#xff0c;计时面板重新为0 案例源码 <!DOCTYPE html> <html lang"…

淘宝(天猫)|京东|1688商品详情数据接口在自有电商平台的应用!

在电商市场的日益成熟下&#xff0c;越来越多的电商参与者上线了自主研发的电商平台。这主要是因为&#xff0c;在电商销售中&#xff0c;品牌在自有电商平台售卖商品的优势颇多&#xff1a; 自有的电商平台能够赋予品牌更大的灵活性和自由度等&#xff0c;品牌商品销售时无需…

Linux驱动开发——(九)platform设备驱动

目录 一、Linux驱动的分离 二、Linux驱动的分层 三、platform平台驱动模型简介 3.1 platform_driver结构体 3.2 device_driver结构体 3.3 platform驱动API函数 四、驱动代码 一、Linux驱动的分离 对于Linux这种庞大而复杂的系统&#xff0c;需要非常注重代码的重用性&a…

IntelliJ IDEA - Lombok supports: OpenJDK javac, ECJ

问题描述 java: You arent using a compiler supported by lombok, so lombok will not work and has been disabled.Your processor is: com.sun.proxy.$Proxy26Lombok supports: OpenJDK javac, ECJ 解决方案 在 IDEA 设置中 File -> Settings 中找到配置如下&#xff1…

从系统到模块,逐步深入PLL设计

锁相环&#xff08;PLL&#xff09;电路广泛存在于各种应用之中&#xff0c;大到手机&#xff0c;服务器&#xff0c;小到智能手表&#xff0c;家用MCU。时钟信号的合成&#xff0c;数据的采样还原都需要PLL电路的深度参与。 何为锁相环&#xff08;PLL&#xff09;&#xff1…

由于找不到xinput1_3.dll,无法继续执行代码的详细修复方法

在日常使用电脑进行工作或娱乐时&#xff1a;系统突然弹出一个错误提示&#xff0c;明确指出“xinput1_3.dll文件丢失”。这个问题可能会导致游戏无法正常运行。为了解决这个问题&#xff0c;我通过查阅资料和实践总结出了以下五种解决方法&#xff0c;希望能对遇到类似问题的朋…

Mysql基础(三)DDL之create table语句

一 create table 创表 说明&#xff1a; create table相关语句从功能上进行讲解补充&#xff1a; 前面已经讲解过相关的约束,已进行相关的铺垫声明&#xff1a; 参考价值较少,了解即可 ① 基本语法 思考&#xff1a; 约束加在哪里? ② 创建新表 强调&#xff1a;使…

任务调度xxljob的使用记录

1.基本使用 a.下载代码&#xff0c;地址&#xff1a;https://gitee.com/xuxueli0323/xxl-job.git b.执行sql&#xff0c;修改配置&#xff0c;启动任务调度中心的代码 启动代码后任务调度中心访问地址&#xff1a;http://localhost:8080/xxl-job-admin&#xff08;自己机器…

岚图汽车与东软睿驰签署战略合作协议

4月26日,东软睿驰与岚图汽车正式签署战略合作协议,双方将结合在各自领域拥有的产业资源、技术研发和资本运作等优势,聚焦智能化产品和应用,建立长期共赢的战略合作伙伴关系,通过不断探索未来新技术、新产业、新业态和新模式,围绕用户需求共同打造极致的智能出行体验。 图为岚图…

Rust Web开发实战:打造高效稳定的服务端应用

Rust Web开发实战&#xff1a;打造高效稳定的服务端应用 本书将带领您从零开始构建Web应用程序&#xff0c;无论是API、微服务还是单体应用&#xff0c;都将一一涵盖。您将学到如何优雅地对外开放API&#xff0c;如何连接数据库以安全存储数据&#xff0c;以及如何对应用程序进…