草庐IT

OSPF高级特性——控制OSPF路由信息

静下心来敲木鱼 2023-04-06 原文

目录

如何控制OSPF的路由信息

配置等价路由数量

配置将缺省路由引入到OSPF区域

配置对OSPF接口发送的LSA进行过滤

配置对ABR产生的3类LSA进行过滤

配置OSPF对路由进行过滤

配置OSPF汇总

OSPF Database Overflow

如何减少LSDB大小

LSA过滤总结


如何控制OSPF的路由信息

配置等价路由数量

路由表中存在到达同一目的地址有多条路由,并且这些路由的开销值、路由协议类型和路由优先级是相同的,那么这些路由就是等价路由,当进行数据传输时可以负载分担

不同设备支持的最大等价路由数量不一致(一般有4、8、16等)

配置命令

OSPF视图:

maximum load-balacing [number]    配置最大等价路由数量

nexthop [ip-address] weight [value]   配置指定OSPF路由的负载分担优先级

当网络中存在的等价路由数量超过配置的等价路由数量时,会选取weight小(优先级高)的路由进行负载分担

Weight 缺省是255,表示等价路由间不区分优先级,随机选取有效路由进行负载分担

配置将缺省路由引入到OSPF区域

通过配置缺省路由减少路由表的容量,保证网络的高可用性

一般在网络边界配置缺省路由,并将其引入到内网中(此处是引入到OSPF内网中)

引入缺省路由两种情况

区域边界路由器ABR发布Type3 LSA,用来指导区域内路由器进行区域之间报文的转发

自治系统边界路由器ASBR发布Type5 LSA或Type7 LSA,指导区域内路由器进行域外报文的转发

注意:Type 3的缺省路由高于Type 5的缺省路由

不同区域缺省路由发布方式不同

自动产生

Stub/Totally Stub区域  此区域的ABR会自动产生一条Type 3缺省路由,在Stub区域泛洪

Tollay NSSA区域   此区域的ABR自动产生产生一条Type 3缺省路由,在NSSA区域泛洪

通过命令手动产生

NSSA区域       引入缺省路由后,ASBR产生一条Type 7缺省路由,在NSSA区域泛洪

普通区域              引入缺省路由后,ASBR产生一条Type5缺省路由,在普通区域泛洪

普通区域引入缺省路由命令

Ospf视图:

default-route-advertise [always/permit-calculate-other]  将缺省路由通告到OSPF路由区域

always     表示无论本机是否存在激活的缺省路由,都会产生并发布一条描述缺省路由的LSA

permit-calculate-other   本机必须存在激活的缺省路由,才会产生并发布一条描述缺省路由的LSA,并且设备允许计算来自其他路由器的缺省路由

缺省只有本机存在激活的缺省才会发布一条描述缺省路由的LSA,并且设备不允许计算来自其他路由器的缺省路由

配置对OSPF接口发送的LSA进行过滤

当两台路由器之间存在多条链路时,可以在某些链路对发送的LSA进行过滤,减少不必要的重传,从而减少邻居LSDB的大小,提高网络收敛速度,节约带宽资源

配置命令

接口视图

Ospf filter-lsa-out [all/summary/ase/nassa]

All        对除了Grace LSA(Type 9)外的所有LSA进行过滤

Summary  对Type3 LSA进行过滤

Ase       对Type5 LSA进行过滤

Nssa      对Type7 LSA进行过滤

注意事项

在接口配置了此命令后,该接口的OSPF邻居会自动重建

配置对ABR产生的3类LSA进行过滤

通过对区域内出、入方向的3类LSA进行过滤,避免了向邻居发送无用的LSA,减少LSDB的大小,提高网络收敛速度

配置命令

Ospf区域视图:

Filter [acl/ip-prefix/route-policy] export   配置区域内出方向的3类LSA

Filter [acl/ip-prefix/route-policy] import   配置区域内入方向的3类LSA

配置OSPF对路由进行过滤

通过Filter-policy对OSPF接收、发布的路由进行过滤

在ABR上通过Filter-policy import过滤3类LSA,对自己和其它路由器都生效

在ASBR上通过Fulter-policy export过滤5/7类LSA,对自己和其它路由器都生效

Filter-policy过滤原则

路由控制——基本概念_静下心来敲木鱼的博客-CSDN博客_路由控制https://blog.csdn.net/m0_49864110/article/details/123705686?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522166634178916800182750963%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=166634178916800182750963&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-1-123705686-null-null.nonecase&utm_term=%E8%B7%AF%E7%94%B1%E6%8E%A7%E5%88%B6&spm=1018.2226.3001.4450

配置OSPF汇总

配置OSPF汇总,可以优先减少路由表中的条目,减少对系统资源的占用

汇总主要分为对区域间的路由做汇总,对外部路由做汇总

OSPF——基本概念5(汇总、更新、认证)_静下心来敲木鱼的博客-CSDN博客_ospf路由更新采用的方式是https://blog.csdn.net/m0_49864110/article/details/125962761?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522166634729016800180693461%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=166634729016800180693461&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-5-125962761-null-null.nonecase&utm_term=OSPF&spm=1018.2226.3001.4450

配置命令

OSPF区域视图

Abr-summary 汇总IP地址  汇总掩码 [no-advertise]   配置区域间路由聚合

OSPF进程视图

Asbr-summary 汇总IP地址  汇总掩码 [no-advertise]  配置外部路由聚合

No-advertise  设置不发布聚合路由(缺省会发布聚合路由)

OSPF Database Overflow

由于OSPF同一区域中的路由器需要保存相同的LSDB,随着网络中路由数量的不断增加,一些路由器由于资源有限,不能承载如此多的路由信息,这种状态就被称为数据库超限(OSPF Database Overflow)

解决办法

1、配置特殊区域   ---不能解决动态路由增长导致的数据库朝鲜问题

2、动态限制数据库的规模

工作原理

为OSPF同一区域内的所有设备配置相同的数据库规模上限,只要路由器上外部路由的数量达到该上限,路由器就进入Overflow状态,并启动Overflow状态定时器(默认5s),定时器超时后自动退出OverFlow状态

配置命令

OSPF视图

Lsdb-overflow-limit [number]  设置LSDB中LSA的最大条目数

如何减少LSDB大小

划分区域、LSA过滤、汇总路由

LSA过滤总结

1、2类LSA过滤

接口下过滤

ospf filter-lsa-out all

3类LSA过滤

接口下过滤

ospf filter-lsa-out summary

路由所属的区域中过滤

filter [acl/ip-prefix] import/export

通过汇总的方式过滤

abr-summary 汇总后的路由 not-advertise

在ABR设备的OSPF进程中过滤

filter-policy ip-prefix import/export

4类LSA过滤

接口下过滤

ospf filter-lsa-out all 过滤

5、7类LSA过滤

接口下过滤

ospf filter-lsa-out ase/nssa

ASBR的OSPF进程下过滤

filter-policy ip-prefix import/export

汇总时过滤

asbr-summary 汇总路由 not-advertise

引入时过滤

import-route 协议 route-policy

有关OSPF高级特性——控制OSPF路由信息的更多相关文章

  1. ruby-on-rails - Rails 3 中的多个路由文件 - 2

    Rails2.3可以选择随时使用RouteSet#add_configuration_file添加更多路由。是否可以在Rails3项目中做同样的事情? 最佳答案 在config/application.rb中:config.paths.config.routes在Rails3.2(也可能是Rails3.1)中,使用:config.paths["config/routes"] 关于ruby-on-rails-Rails3中的多个路由文件,我们在StackOverflow上找到一个类似的问题

  2. ruby-on-rails - Rails 常用字符串(用于通知和错误信息等) - 2

    大约一年前,我决定确保每个包含非唯一文本的Flash通知都将从模块中的方法中获取文本。我这样做的最初原因是为了避免一遍又一遍地输入相同的字符串。如果我想更改措辞,我可以在一个地方轻松完成,而且一遍又一遍地重复同一件事而出现拼写错误的可能性也会降低。我最终得到的是这样的:moduleMessagesdefformat_error_messages(errors)errors.map{|attribute,message|"Error:#{attribute.to_s.titleize}#{message}."}enddeferror_message_could_not_find(obje

  3. ruby - 解析 RDFa、微数据等的最佳方式是什么,使用统一的模式/词汇(例如 schema.org)存储和显示信息 - 2

    我主要使用Ruby来执行此操作,但到目前为止我的攻击计划如下:使用gemsrdf、rdf-rdfa和rdf-microdata或mida来解析给定任何URI的数据。我认为最好映射到像schema.org这样的统一模式,例如使用这个yaml文件,它试图描述数据词汇表和opengraph到schema.org之间的转换:#SchemaXtoschema.orgconversion#data-vocabularyDV:name:namestreet-address:streetAddressregion:addressRegionlocality:addressLocalityphoto:i

  4. Ruby Readline 在向上箭头上使控制台崩溃 - 2

    当我在Rails控制台中按向上或向左箭头时,出现此错误:irb(main):001:0>/Users/me/.rvm/gems/ruby-2.0.0-p247/gems/rb-readline-0.4.2/lib/rbreadline.rb:4269:in`blockin_rl_dispatch_subseq':invalidbytesequenceinUTF-8(ArgumentError)我使用rvm来管理我的ruby​​安装。我正在使用=>ruby-2.0.0-p247[x86_64]我使用bundle来管理我的gem,并且我有rb-readline(0.4.2)(人们推荐的最少

  5. ruby-on-rails - 带 Spring 锁的 Rails 4 控制台 - 2

    我正在使用Ruby2.1.1和Rails4.1.0.rc1。当执行railsc时,它被锁定了。使用Ctrl-C停止,我得到以下错误日志:~/.rvm/gems/ruby-2.1.1/gems/spring-1.1.2/lib/spring/client/run.rb:47:in`gets':Interruptfrom~/.rvm/gems/ruby-2.1.1/gems/spring-1.1.2/lib/spring/client/run.rb:47:in`verify_server_version'from~/.rvm/gems/ruby-2.1.1/gems/spring-1.1.

  6. ruby-on-rails - openshift 上的 rails 控制台 - 2

    我将我的Rails应用程序部署到OpenShift,它运行良好,但我无法在生产服务器上运行“Rails控制台”。它给了我这个错误。我该如何解决这个问题?我尝试更新ruby​​gems,但它也给出了权限被拒绝的错误,我也无法做到。railsc错误:Warning:You'reusingRubygems1.8.24withSpring.UpgradetoatleastRubygems2.1.0andrun`gempristine--all`forbetterstartupperformance./opt/rh/ruby193/root/usr/share/rubygems/rubygems

  7. ruby - rails 3 redirect_to 将参数传递给命名路由 - 2

    我没有找到太多关于如何执行此操作的信息,尽管有很多关于如何使用像这样的redirect_to将参数传递给重定向的建议:action=>'something',:controller=>'something'在我的应用程序中,我在路由文件中有以下内容match'profile'=>'User#show'我的表演Action是这样的defshow@user=User.find(params[:user])@title=@user.first_nameend重定向发生在同一个用户Controller中,就像这样defregister@title="Registration"@user=Use

  8. ruby-on-rails - Rails 3,嵌套资源,没有路由匹配 [PUT] - 2

    我真的为这个而疯狂。我一直在搜索答案并尝试我找到的所有内容,包括相关问题和stackoverflow上的答案,但仍然无法正常工作。我正在使用嵌套资源,但无法使表单正常工作。我总是遇到错误,例如没有路线匹配[PUT]"/galleries/1/photos"表格在这里:/galleries/1/photos/1/edit路线.rbresources:galleriesdoresources:photosendresources:galleriesresources:photos照片Controller.rbdefnew@gallery=Gallery.find(params[:galle

  9. 【鸿蒙应用开发系列】- 获取系统设备信息以及版本API兼容调用方式 - 2

    在应用开发中,有时候我们需要获取系统的设备信息,用于数据上报和行为分析。那在鸿蒙系统中,我们应该怎么去获取设备的系统信息呢,比如说获取手机的系统版本号、手机的制造商、手机型号等数据。1、获取方式这里分为两种情况,一种是设备信息的获取,一种是系统信息的获取。1.1、获取设备信息获取设备信息,鸿蒙的SDK包为我们提供了DeviceInfo类,通过该类的一些静态方法,可以获取设备信息,DeviceInfo类的包路径为:ohos.system.DeviceInfo.具体的方法如下:ModifierandTypeMethodDescriptionstatic StringgetAbiList​()Obt

  10. C51单片机——实现用独立按键控制LED亮灭(调用函数篇) - 2

    说在前面这部分我本来是合为一篇来写的,因为目的是一样的,都是通过独立按键来控制LED闪灭本质上是起到开关的作用,即调用函数和中断函数。但是写一篇太累了,我还是决定分为两篇写,这篇是调用函数篇。在本篇中你主要看到这些东西!!!1.调用函数的方法(主要讲语法和格式)2.独立按键如何控制LED亮灭3.程序中的一些细节(软件消抖等)1.调用函数的方法思路还是比较清晰地,就是通过按下按键来控制LED闪灭,即每按下一次,LED取反一次。重要的是,把按键与LED联系在一起。我打算用K1来作为开关,看了一下开发板原理图,K1连接的是单片机的P31口,当按下K1时,P31是与GND相连的,也就是说,当我按下去时

随机推荐