【HCIE】01.IGP高级特性

高级特性:一条命令解决一个问题

OSPF快速收敛机制

发生故障重新计算拓扑的过程叫做收敛,设备现在本身就是PRC算法和I-SPF算法

PRC(针对叶子节点,叶子代表路由)

不需要命令配置,就是ospf的特性;叶子节点,当网络上路由发生变化的时候,只对发生变化的路由进行重新计算

I-SPF(针对实节点,节点代表路由器)

不需要命令配置,当网络拓扑改变的时候,只对受影响的节点进行路由计算,而不是对全部节点重新进行路由计算,从而加快了路由的计算

智能定时器

控制路由产生,计算,产生

智能定时器1(LSA的产生间隔)

感知到变化 产生LSA 发送LSA 接收LSA 进行SPF计算 计算成路由表 下发到转发表

如果网线断掉之后恢复是虚接,这样会消耗很大的资源

[Huawei-ospf-1] lsa-originate-interval { 0 | { intelligent-timer max-interval start-interval hold-interval | other-type interval } }缺省情况下,使能智能定时器intelligent-timer,更新LSA的最长间隔时间max-interval为5000毫秒、初始间隔时间start-interval为500毫秒、基数间隔时间hold-interval为1000毫秒。(以毫秒为单位的时间间隔)
max-interval 最长时间
start=interval	初始时间
hold-interval	间隔时间

使用智能定时器后:

  • 初次更新LSA的间隔时间由start-interval参数指定。
  • 第n(n≥2)次更新LSA的间隔时间为hold-interval×2(n-2)。
  • 当hold-interval×2(n-2)达到指定的最长间隔时间max-interval时,OSPF连续三次更新LSA的时间间隔都是最长间隔时间,之后,再次返回步骤1,按照初始间隔时间start-interval更新LSA。
  1. OSPF正常运行,第一次把线拔了之后,又插上,会等待200毫秒开始收敛
  2. 第n次(n≥2),把线拔掉之后,又恢复等待时间是公式

    ,因此第二次间隔500毫秒
  3. 第3次按照公式就是1000毫秒
  4. 第4次按照公式就是2000毫秒,到达了最大值
  5. 第5次因为到达了最大值,仍然去等待2000毫秒,一直等最大值用了3次,再次返回第一步,按照初始时间间隔更新LSA

智能定时器2(LSA的接收间隔)

[Huawei-ospf-1] lsa-arrival-interval { interval | intelligent-timer max-interval start-interval hold-interval }缺省情况下,使能智能定时器intelligent-timer,更新LSA的最长间隔时间max-interval为5000毫秒、初始间隔时间start-interval为500毫秒、基数间隔时间hold-interval为1000毫秒。(以毫秒为单位的时间间隔)

智能定时器3(SPF的算法间隔)

[Huawei-ospf-1] spf-schedule-interval { interval1 | intelligent-timer max-interval start-interval hold-interval | millisecond interval2 }

FRR(快速重路由)

是否必须在OSPF中的一个区域?

动态 IP FRR,利用 LFA算法预先计算出备份路径,保存在转发表中,以备在故障时将流量快速切换到备份链路上,保证流量不中断,从而达到流量保护的目的,该功能可将故障恢复时间降低到50ms以内(单指切换时间)

每次路由计算需要经过

1.收LSA

2.SPF计算

3.OSPF路由生成

4.RIB路由表生成

5.FIB转发表下载

如果上面的路由失效,需要重新计算下面的路由(从SPF算法开始)

FRR的做法就是计算路径的时候直接计算出来两条,也就是FIB表中两条路由都是存在的,当上面的路径断了之后,可以直接切到下面的路径,不需要再重新计算了,从而加快了收敛速度

ospf 1
frr    进入FRR视图
loop-free-alternate    使能FRR功能接口模式下 ospf frr block
对于承载重要业务的节点设备,通过该命令在指定接口上禁止OSPF IP FRR功能,从而使此接口相连的对端设备不成为备份链路上的节点设备,避免使能OSPF IP FRR功能后对节点设备上运行的重要业务造成影响。

FRR防止环路

A计算主路由是自己计算出来的,但是计算备用路径的时候会站在C的角度上来看,如果C要经过A访问,那么这个备用路径不生效,如果不经过A访问,这个备用路径则生效

流量保护

链路保护:N到D的开销<N到S+S到D的开销

FRR与BFD联动

OSPF检测非直连故障,4倍的hello time,40秒的时间,慢hello机制

BFD检测到故障后,告知OSPF,OSPF告知FIB加快收敛

命令:

  •  min-rx-interval receive-interval:指定期望从对端接收BFD报文的最小接收间隔。整数形式,取值范围是10~2000,单位是毫秒。缺省值是1000毫秒。
  • min-tx-interval transmit-interval:指定向对端发送BFD报文的最小发送间隔。整数形式,取值范围是10~2000,单位是毫秒。缺省值是1000毫秒。
  • detect-multiplier multiplier-value:指定本地检测倍数。整数形式,取值范围是3~50,缺省值是3。
  • frr-binding:将BFD会话状态与接口的链路状态进行绑定。当BFD会话状态变为Down时,接口的物理层链路状态也会变为Down,从而触发流量切换到备份路径。

OSPF的控制

等价路由

当路由表中存在到达同一目的地址,且同一路由协议发现的多条路由时,LSA类型也相同,若这几条路由的开销值也相同,那么这些路由就是等价路由,可以实现负载分担。

设备将按照负载分担的方式从多条等价路由发送报文到同一目的地址

设置进行负载分担的等价路由的最大数量

缺省路由

LSA过滤

当两台路由器之间存在多条链路时,可以在某些链路上通过对发送的LSA进行过滤,减少不必要的重传,节省带宽资源

int g0/0/1
ospf filter-lsa-out all | summary | ase//打开后不会发送任何LSA信息,因为默认是all

在ABR上面对3类LSA做过滤,在区域里面做配置

对区域内出,入方向ABR 3类LSA设置过滤条件,只有通过过滤的LSA才能被发布和接收

通过对区域的LSA进行过滤可以不向邻居发送无用的LSA,从而减少LSDB的大小,提高网络收敛速度。

不发送LSA

不接收LSA

如果在区域0做了出方向过滤,那么区域1和2都不能接收到,如果只在2上面入方向做了过滤,那么区域1还可以收到

OSPF Database Overflow(过载)

末节设备只能支持300条LSA,如果进来了500条,那么导致OSPF进程挂掉,造成了外部与内部都不能访问

工作原理

先把自己产生的非缺省外部路由删除,开启overflow定时器,会处于overflow状态,之前配置的引入命令

  1. lsdb-overflow-limit设置对外部路由最大的支持数量
  2. 设置完成之后,就可以启用overflow功能
  3. 首先,进来的路由大于自己设置的支持数量,会进入overflow状态
  4. 进入overflow状态后,会先把自己产生的非缺省路由删除掉,然后开启overflow定时器(一般是5秒)
  5. 处于overflow状态,之前配置的引入命令,统统都不会引入,只会引入缺省路由,这时会判断上限有没有压下来,如果压下来了,就退出overflow状态
  6. 如果没有压下来,就丢弃所有新学的外部路由,发来的外部路由不会使用,会一直在overflow状态里面等待,等待超时之后会退出overflow状态
  7. 退出之后,如果发现外部路由又进来,超过了上限,那么就再次进入overflow状态
  8. 保护内部的进程不被卡掉

OSPF与BGP联动

回切的时候,OSPF收敛完成后,发送LSA会携带一个非常大的开销,这样就不会立马切回到R2

R2:

ospf 1

stub-router on -startup 120

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

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

相关文章

RISC-V(2)——特权级及特权指令集

目录 1. 特权级 2. 控制和状态寄存器&#xff08;CSR&#xff09; 2.1 分类 2.2 分析 1. 特权级 一个 RISC-V 硬件线程&#xff08;hart&#xff09;是运行在某个特权级上的&#xff0c;这个特权级被编码到一个或者多个 CSR&#xff08;control and status register&a…

Java版企业电子招标采购系统源码Spring Cloud + Spring Boot +二次开发+ MybatisPlus + Redis

功能描述 1、门户管理&#xff1a;所有用户可在门户页面查看所有的公告信息及相关的通知信息。主要板块包含&#xff1a;招标公告、非招标公告、系统通知、政策法规。 2、立项管理&#xff1a;企业用户可对需要采购的项目进行立项申请&#xff0c;并提交审批&#xff0c;查看…

前端禁止别人打开控制台调试自己的代码

为了防止非法的调试和修改&#xff0c;同时限制别人使用python爬虫&#xff0c;盗取自己网站的数据&#xff0c;我们需要在写一段代码来防止非法入侵调试&#xff0c;增加网站的安全性 (() > {function block() {if (window.outerHeight - window.innerHeight > 200 || w…

ABAP FB05 清账函数:POSTING_INTERFACE_CLEARING

清账相关事物代码&#xff1a; FB05 相关函数&#xff1a;POSTING_INTERFACE_START POSTING_INTERFACE_CLEARING DATA: LT_BLNTAB TYPE STANDARD TABLE OF BLNTAB.DATA: LS_BLNTAB TYPE BLNTAB.DATA: LT_FTCLEAR TYPE STANDARD TABLE OF FTCLEAR.DATA: LS…

华纳云:linux服务器查看端口的办法

在Linux服务器上查看端口的状态和监听情况&#xff0c;您可以使用一些命令。以下是几种常用的方法&#xff1a; netstat命令&#xff1a; 使用netstat命令可以查看服务器上的端口情况。要查看所有活动连接和监听端口&#xff0c;可以运行以下命令&#xff1a; netstat -tuln …

Vue + Element UI 前端篇(八):管理应用状态

使用 Vuex 管理应用状态 1. 引入背景 像先前我们是有导航菜单栏收缩和展开功能的&#xff0c;但是因为组件封装的原因&#xff0c;隐藏按钮在头部组件&#xff0c;而导航菜单在导航菜单组件&#xff0c;这样就涉及到了组件收缩状态的共享问题。收缩展开按钮触发收缩状态的修改…

postgresql 安装教程

postgresql 安装教程 本文以window 15版本为教程 文章目录 postgresql 安装教程1.下载地址2.以管理员身份运行3.选择安装路径&#xff0c;点击Next4.选择组件&#xff08;默认都勾选&#xff09;&#xff0c;点击Next5.选择数据存储路径&#xff0c;点击Next6.设置超级用户的…

指针和字符数组笔试题及其解析(第三组)

个人主页&#xff1a;Lei宝啊 愿所有美好如期而遇 第三组笔试题 char *p "abcdef";printf("%d\n", sizeof(p)); printf("%d\n", sizeof(p1)); printf("%d\n", sizeof(*p)); printf("%d\n", sizeof(p[0])); printf("%…

Android逆向学习(四)app修改smali函数跳过弹窗广告,等待广告,更新提醒

Android逆向学习&#xff08;四&#xff09;app修改smali函数跳过弹窗广告&#xff0c;等待广告&#xff0c;更新提醒 一、写在前面 这是吾爱破解课程的第三个练习&#xff0c;我在写这篇博客时遇到了vscode插件bug&#xff0c;已经想办法联系原作者了&#xff0c;希望能够尽…

Android WIFI工具类 特别兼容Android12

直接上代码&#xff1a; package com.realtop.commonutils.utils;import android.annotation.SuppressLint; import android.bluetooth.BluetoothDevice; import android.bluetooth.BluetoothManager; import android.bluetooth.BluetoothProfile; import android.content.Con…

Jmeter 三种提取方式 —— 关联实例

当请求之间有依赖关系&#xff0c;比如一个请求的入参是另一个请求返回的数据&#xff0c;这时候就需要用到关联处理 Jmeter中常用的关联方法&#xff1a; 正则表达式提取器、XPath提取器、JSON提取器​​​​​​ regex: (.*?)-(.*?)-(.*?)\n.: 匹配除换行符&#xff08;…

C# 获取Json对象中指定属性的值

在C#中获取JSON对象中指定属性的值&#xff0c;可以使用Newtonsoft.JSON库的JObject类 using Newtonsoft.Json.Linq; using System; public class Program { public static void Main(string[] args) { string json "{ Name: John, age: 30, City: New York }"; …

python实现对excel表中的某列数据进行排序

如下需要对webCms中的B列数据进行升序排序&#xff0c;且不能影响到其他列、工作表中的数据和格式。 import pandas as pd import openpyxl from openpyxl.utils.dataframe import dataframe_to_rows# 读取 Excel 文件 file_path 1.xlsx sheet_name webCms# 读取 Excel 文件并…

pc-签字画板vue-esign的使用

使用的是vue-esign组件 npm install vue-esign 首先下载组件在main.js中引入vue-esign&#xff0c;并且挂载 import { createApp } from vue; import App from ./App.vue; const app createApp(App);import vueEsign from vue-esign app.use(vueEsign ) 页面使用&#xff0…

mysql场景题:最近7天连续3天登陆用户,字段,id,date(已去重)

1.最近7天连续3天登陆用户&#xff0c;字段&#xff0c;id&#xff0c;date&#xff08;已去重&#xff09; 思路&#xff1a; lag对时间开窗&#xff08;注意时间得转换为时间戳&#xff08;int类型才可以添加后续条件&#xff09;&#xff0c;跳行为2&#xff08;连续3天&am…

uniapp移动端地图,点击气泡弹窗并实现精准定位

记录移动端地图map组件的使用 需求记录&#xff1a; 移动端地图部分需要展示两个定位点&#xff0c;上报点及人员定位点。通过右上角的两个按钮实现地图定位。点击对应定位气泡&#xff0c;弹出定位点的信息。 效果图如下&#xff1a; map在nvue中的使用。直接用nvue可以直接…

JavaScript闭包漏洞与修补措施

请先看下面一段代码 var obj (function () {var sonObj {a: 1,b: 2}return {get: function (v) {return sonObj[v]}}})()可以看出,这是一段很典型的js闭包代码,可以通过obj调用get方法传一个参数,如果传的是a就可以得到闭包内的对象sonObj.a var obj (function () {var sonO…

edge浏览器无法登录账号!Microsoft 帐户无法登录!

种种原因&#xff0c;将笔记本重置了&#xff0c;重新下载装了系统&#xff0c;但是麻烦也来了&#xff0c;Microsoft 帐户无法登录&#xff01;edge浏览器无法登录账号&#xff0c;之前的保存的密码&#xff0c;加星的书签页同步不过去&#xff0c;这不完犊子了&#xff01;干…

Redis7入门概述

✅作者简介&#xff1a;大家好&#xff0c;我是Leo&#xff0c;热爱Java后端开发者&#xff0c;一个想要与大家共同进步的男人&#x1f609;&#x1f609; &#x1f34e;个人主页&#xff1a;Leo的博客 &#x1f49e;当前专栏&#xff1a; Java从入门到精通 ✨特色专栏&#xf…

微信小程序引入地图

微信小程序引入地图 <map longitude"{{markers[0].longitude}}" scale"11" latitude"{{markers[0].latitude}}" markers"{{markers}}" style"width: 100%; height:81vh;"></map>1.可以直接在页面设置map标签显…