七、OSPF特殊区域及其特性

news2024/9/20 3:03:25

目录

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.coloradmin.cn/o/1631412.html

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

相关文章

Android 11 bindService 流程分析

我们可以使用bindService来跨进程通信&#xff0c;其使用方法如下 Intent intent new Intent("xxx"); intent.setPackage("xxx"); boolean result bindService(intent,new ServiceConn(),BIND_AUTO_CREATE);private class ServiceConn implements Servi…

Django初步了解

目录 一、什么是Django 二、Django的设计模式 三、涉及的英文缩写及其含义 四、安装&#xff08;官方教程&#xff09; 一、什么是Django Django是一个Python Web框架&#xff0c;可以快速开发网站&#xff0c;提供一站式的解决方案&#xff0c;包括缓存、数据库ORM、后台…

windows如何安装MySQL(详)

MySQL在Windows上的安装和配置 官网&#xff1a;www.mysql.com 下载地址&#xff1a;MySQL :: Download MySQL Community Server (Archived Versions) window系统 安装包&#xff08;Windows (x86, 64-bit), MSI Installer&#xff09; 压缩包&#xff08;Windows (x86, 64…

【车载开发系列】UDS诊断时间参数说明

【车载开发系列】UDS诊断时间参数说明 一. 应用层诊断时间参数 1&#xff09;P2 CAN_Client 诊断仪成功发送诊断报文请求之后到收到 ECU回复诊断响应的超时时间间隔 2&#xff09;P2 CAN_Server ECU 接收到诊断请求之后到开始发送诊断报文的时间间隔&#xff0c;一般默认最…

特征的前期融合与后期融合在召回、粗排、精排应用

前期融合&#xff1a;先对所有特征做concat&#xff0c;再输入DNN&#xff0c;一般常见于精排模型 特点&#xff1a;线上推理代价大&#xff0c;若有n个候选item需要做n次模型计算 后期融合&#xff1a;把用户和物品特征分别输入不同的神经网络&#xff0c;不对用户和物品做融…

js获取某月往前推一年或半年的年月数组

前言 需求&#xff1a;需要显示某月份往前推一年或者半年的费用情况&#xff0c;显示到柱形图上&#xff0c;后台接口只返回有数据的年份&#xff0c;这就需要前端拿全部月份数组去比对并显示。 开始 上代码&#xff1a; // date:选择的月份,比如:2024-04,//n:半年或者1年,…

函数递归与迭代

目录 1.递归 1.1递归的思想 1.2递归的限制条件 2.递归与迭代 1.递归 函数递归是什么&#xff1f; 递归是学习C语⾔函数绕不开的⼀个话题&#xff0c;那什么是递归呢? 递归其实是⼀种解决问题的⽅法&#xff0c;在C语⾔中&#xff0c;递归就是函数⾃⼰调⽤⾃⼰。 写⼀个史…

引入高德地图

1、配置 试试keytool 有没有反应 就算java -version没问题也一定是你没配path路径 在系统中配到bin就行了 2、获取密钥 网上真的坑太多了还有有chat问了一下 keytool -v -list -keystore "C:\Users\xxxx\.android\debug.keystore"执行这个你看你的 3、去高德地…

Office疑难杂症-Word页码重复无法修改

在现代办公环境中&#xff0c;Microsoft Office 套件扮演着不可或缺的角色&#xff0c;尤其是 Word 文档处理软件&#xff0c;在日常生活和工作中的应用广泛。然而&#xff0c;即使是这样成熟的软件&#xff0c;也不免有一些令人头疼的技术问题。本文将详细介绍如何解决Word中页…

【Python】常用数据结构

1、熟悉字典和列表 2、使用条件判断语句 3、list列表中计算 1、从键盘输人一个正整数列表,以-1结束,分别计算列表中奇数和偶数的和。 &#xff08;1&#xff09;源代码&#xff1a; # 初始化奇数和偶数的和为0 odd_sum 0 even_sum 0 #输入 while True:num int(input(&qu…

【InternLM】基于弱智吧数据的微调数据构造实验

1. 数据处理流程 在AI领域有句名言&#xff1a;数据和特征决定了机器学习的上限&#xff0c;而模型和算法只是逼近这个上限而已。可见数据对整个AI的决定性影响&#xff0c;在模型开源化的今天&#xff0c;很多厂商的模型结构都大同小异&#xff0c;那影响最终模型的一大决定因…

Cranck-Nicolson隐式方法解线性双曲型方程

Cranck-Nicolson隐式方法解线性双曲型方程 Cranck-Nicolson方法在抛物型方程里面比较常用&#xff0c;双曲型方程例子不多&#xff0c;该方法是二阶精度&#xff0c;无条件稳定&#xff0c;然而&#xff0c;数值震荡比较明显&#xff0c;特别是时间演化比较大以及courant数比较…

基于Spring Boot的实验室管理系统设计与实现

基于Spring Boot的实验室管理系统设计与实现 开发语言&#xff1a;Java框架&#xff1a;springbootJDK版本&#xff1a;JDK1.8数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/idea 系统部分展示 管理员登录界面&#xff0c;管理员通过后台登录窗口进…

Maven介绍 主要包括Maven的基本介绍,作用,以及对应的Maven模型,可以对Maven有一个基本的了解

1、Maven介绍 1.1 什么是Maven Maven是Apache旗下的一个开源项目&#xff0c;是一款用于管理和构建java项目的工具。 官网&#xff1a;https://maven.apache.org/ Apache 软件基金会&#xff0c;成立于1999年7月&#xff0c;是目前世界上最大的最受欢迎的开源软件基金会&…

Visual Studio Code基础:打开一个编辑器(文件)时,覆盖了原编辑器

相关阅读 VS codehttps://blog.csdn.net/weixin_45791458/category_12658212.html?spm1001.2014.3001.5482 在使用vscode时&#xff0c;偶尔会出现这样的问题&#xff1a;打开了某个编辑器&#xff08;文件&#xff0c;下面统称文件&#xff09;后&#xff0c;再打开其他文件…

【触摸案例-控件不能响应的情况 Objective-C语言】

一、接下来,我们来说这个“控件不能响应的情况”, 1.素材里边,有一个“不接受用户交互的情况”,这么一个代码,把它打开, 把这个项目啊,复制过来,改一个名字,叫做“04-控件不能响应的情况”, 打开之后,command + R,运行一下, 在storyboard上,你也可以看得出来,我…

系统服务(22年国赛)—— nmcli命令部署VXLAN

前言&#xff1a;原文在我的博客网站中&#xff0c;持续更新数通、系统方面的知识&#xff0c;欢迎来访&#xff01; 系统服务&#xff08;22年国赛&#xff09;—— VXLAN服务部署https://myweb.myskillstree.cn/118.html 目录 题目&#xff1a; AppSrv 关闭防火墙和SEli…

哈夫曼编码---一种无损数据压缩算法

哈夫曼编码是一种无损数据压缩算法&#xff0c;该算法在数据压缩&#xff0c;存储和网络传输等领域广泛引用&#xff0c;对互联网的发展也产生了深远的影响。 大家熟知的数据无损压缩软件&#xff0c;如WinRAR&#xff0c;gzip&#xff0c;bzip&#xff0c;lzw&#xff0c;7-z…

ThreeJs 环境配置及遇到问题的解决方法

一、环境搭建 ThreeJs在实际在实际使用中更多的是结合框架开发例如&#xff1a;vue框架、react框架&#xff0c;在使用时需要配置开发环境&#xff0c;本文使用的是vscode ThreeJs NodeJs vue 1、ThreeJs安装 下载路径&#xff1a;GitHub - mrdoob/three.js: JavaScript…

如何进行制造设备数据汇集,发挥数据的价值?

数字化转型正深刻推动制造企业实现远程监控、提高生产效率、降低生产成本、优化产品质量及明晰精细化方向。并且工业互联网的发展离不开工业数据的应用&#xff0c;而制造设备数据汇集正是应用的基础。但制造设备数据汇集存在以下难点及痛点&#xff1a; 1、安全把控难 关键的…