【杂记-浅谈OSPF协议各要素及功能】

OSPF协议各要素及功能

  • 一、OSPF协议要素
    • 1、COST值
    • 2、进程号
    • 3、路由及路由器类型
    • 4、区域及网络类型
    • 5、DR和BDR
    • 6、STUB和NSSA区域
    • 7、邻居状态机
  • 二、OSPF路由协议中各功能
    • 1、报文认证
    • 2、路由聚合
    • 3、缺省路由
    • 4、路由过滤
    • 5、多进程
    • 6、路由计算
    • 7、最小生成树

一、OSPF协议要素

1、COST值

OSPF使用COST,即开销,作为路由度量值,每一个激活OSPF的接口都有一个COST值。OSPF接口COST=100M/接口带宽,其中100M为OSPF的参考带宽(reference-bandwidth),一条OSPF路由的COST由该路由从路由的起源一路到达本地的所有入接口COST值的总和。由于默认的参考带宽是100M,这意味着更高带宽的传输介质(高于100M)在OSPF协议中将会计算出一个小于1的分数,这在OSPF协议中是不允许的(会被四舍五入为1)。而现今网络设备很多都是大于100M带宽的接口,这时候路由cost的计算其实就不精确了。所以可以使用bandwidth-reference命令修改,但是这条命令要谨慎使用,一旦要配置,则建议全网OSPF路由器都配置。
Cost 值的计算是沿目的地途中所有转发数据的接口的 cost 值的总和、越小越优

2、进程号

根据搜索结果,当在启用OSPF时不指定进程号,默认情况下,系统会自动为OSPF生成一个进程号为1的进程。这意味着只要OSPF服务开启,就会生成一个进程号为1的OSPF进程。这个默认值是固定的,适用于大多数网络设备和服务。

3、路由及路由器类型

路由器类型
IR:Internal Router,区域内路由器,该类设备的所有接口都属于同一个OSPF区域。
ABR:Area Border Router,区域边界路由器,该类设备可以同时属于两个以上的区域,但其中一个必须是骨干区域,ABR用来连接骨干区域和非骨干区域,它与骨干区域之间既可以是物理连接,也可以是逻辑上的连接。
BR:Backbone Router,骨干路由器,该类设备至少有一个接口属于骨干区域,所有的ABR和位于Area0的内部设备都是骨干路由器。
ASBR:AS Boundary Router,自治系统边界路由器,与其他AS交换路由信息的设备称为ASBR。ASBR并不一定位于AS的边界,它可能是区域内设备,也可能是ABR。只要一台OSPF设备引入了外部路由的信息,它就成为ASBR。
路由类型
Intra Area:区域内路由。
Inter Area:区域间路由。
Type1 External:第一类外部路由,这类路由的可信程度高一些,所以计算出的外部路由的开销与自治系统内部的路由开销是相当的,并且和OSPF自身路由的开销具有可比性。到第一类外部路由的开销=本设备到相应的ASBR的开销+ASBR到该路由目的地址的开销。
Type2 External:第二类外部路由,这类路由的可信度比较低,所以OSPF协议认为从ASBR到自治系统之外的开销远远大于在自治系统之内到达ASBR的开销。所以,OSPF计算路由开销时只考虑ASBR到自治系统之外的开销,即到第二类外部路由的开销=ASBR到该路由目的地址的开销。

4、区域及网络类型

区域类型
普通区域:缺省情况下,OSPF区域被定义为普通区域,普通区域包括标准区域和骨干区域,标准区域是最通用的区域,它传输区域内路由,区域间路由和外部路由,骨干区域是连接所有其他OSPF区域的中央区域,骨干区域通常用Area 0表示。
STUB区域:不允许发布自治系统外部路由,只允许发布区域内路由和区域间的路由,在STUB区域中,路由器的路由表规模和路由信息传递的数量都会大大减少,为了保证到自治系统外的路由可达,由该区域的ABR发布Type3缺省路由传播到区域内,所有到自治系统外部的路由都必须通过ABR才能发布。
Totally STUB区域:不允许发布自治系统外部路由和区域间的路由,只允许发布区域内路由,在Totally STUB区域中,路由器的路由表规模和路由信息传递的数量都会大大减少,为了保证到自治系统外和其他区域的路由可达,由该区域的ABR发布Type3缺省路由传播到区域内,所有到自治系统外部和其他区域的路由都必须通过ABR才能发布。
NSSA区域:NSSA区域允许引入自治系统外部路由,由ASBR发布Type7 LSA通告给本区域,这些Type7 LSA在ABR上转换成Type5 LSA,并且泛洪到整个OSPF域中。NSSA区域同时保留自治系统内的STUB区域的特征,该区域的ABR发布Type7缺省路由传播到区域内,所有域间路由都必须通过ABR才能发布。
Totally NSSA区域:Totally NSSA区域允许引入自治系统外部路由,由ASBR发布Type7 LSA通告给本区域,这些Type7 LSA在ABR上转换成Type5 LSA,并且泛洪到整个OSPF域中,Totally NSSA区域同时保留自治系统内的Totally STUB Area区域的特征,该区域的ABR发布Type3和Type7缺省路由传播到区域内,所有域间路由都必须通过ABR才能发布。
网络类型
Broadcast:广播类型,当链路层协议是Ethernet、FDDI时,缺省情况下,OSPF认为网络类型是Broadcast,在该类型的网络中:通常以组播形式发送Hello报文、LSU报文和LSAck报文。其中,224.0.0.5的组播地址为OSPF设备的预留IP组播地址;224.0.0.6的组播地址为OSPF DR/BDR( Backup Designated Router)的预留IP组播地址,以单播形式发送DD报文和LSR报文。
NBMA:Non-Broadcast Multi-Access,非广播多址接入类型,当链路层协议是帧中继、X.25时,缺省情况下,OSPF认为网络类型是NBMA,在该类型的网络中,以单播形式发送协议报文(Hello报文、DD报文、LSR报文、LSU报文、LSAck报文)。
Point-to-Multipoint:点到多点P2MP类型,没有一种链路层协议会被缺省的认为是Point-to-Multipoint类型,点到多点必须是由其他的网络类型强制更改的,常用做法是将非全连通的NBMA改为点到多点的网络,在该类型的网络中:以组播形式(224.0.0.5)发送Hello报文,以单播形式发送其他协议报文(DD报文、LSR报文、LSU报文、LSAck报文)。当链路层协议是PPP、HDLC和LAPB时,缺省情况下,OSPF认为网络类型是P2P。
P2P:point-to-point,点到点P2P类型,当链路层协议是PPP、HDLC和LAPB时,缺省情况下,OSPF认为网络类型是P2P,在该类型的网络中,以组播形式(224.0.0.5)发送协议报文(Hello报文、DD报文、LSR报文、LSU报文、LSAck报文)。

5、DR和BDR

1、广播网和NBMA网络中,任意两台路由器之间都要传递路由信息。比如网络中有n台路由器,则需要建立n*(n-1)/2个邻接关系,这使得任何一台路由器的路由变化都会导致多次传递,浪费了带宽资源。OSPF选举DR,Designated Router,指定路由器和BDR,Backup Designated Router,备份指定路由器,通过选举产生DR后,所有路由器都只将信息发送给DR,由DR将网络链路状态LSA广播出去,除DR和BDR之外的路由器(DR Other)之间将不再建立邻接关系,也不再交换任何路由信息,这样就减少了广播网和NBMA网络上各路由器之间邻接关系的数量。
2、如果DR由于某种故障而失效,则网络中的路由器必须重新选举DR,并与新的DR同步,这需要较长的时间,在这段时间内,路由的计算有可能是不正确的,为了能够缩短这个过程,OSPF提出了备份指定路由器BDR的概念。BDR是对DR的一个备份,在选举DR的同时也选举出BDR,BDR也和本网段内的所有路由器建立邻接关系并交换路由信息,当DR失效后,BDR会立即成为DR,由于不需要重新选举,并且邻接关系已建立,所以这个过程非常短暂,这时还需要再重新选举出一个新的BDR,虽然一样需要较长的时间,但并不会影响路由的计算。
3、DR和BDR不是人为指定的,而是由本网段中所有的路由器共同选举出来的。路由器接口的DR优先级决定了该接口在选举DR、BDR时所具有的资格,本网段内DR优先级大于0的路由器都可作为“候选人”,选举中使用的“选票”就是Hello报文,每台路由器将自己选出的DR写入Hello报文中,发给网段上的其他路由器,当处于同一网段的两台路由器同时宣布自己是DR时,DR优先级高者胜出,如果优先级相等,则Router ID大者胜出,如果一台路由器的优先级为0,则它不会被选举为DR或BDR。

6、STUB和NSSA区域

STUB区域
1、STUB区域是一些特定的区域,STUB区域的ABR不传播它们接收到的自治系统外部路由,在这些区域中路由器的路由表规模以及路由信息传递的数量都会大大减少,STUB区域是一种可选的配置属性,但并不是每个区域都符合配置的条件,通常来说,STUB区域位于自治系统的边界,是那些只有一个ABR的非骨干区域,为保证到自治系统外的路由依旧可达,该区域的ABR将生成一条缺省路由,并发布给STUB区域中的其他非ABR路由器。
2、配置STUB区域时需要注意下列几点:骨干区域不能配置成STUB区域、如果要将一个区域配置成STUB区域,则该区域中的所有路由器都要配置STUB区域属性、STUB区域内不能存在ASBR,即自治系统外部的路由不能在本区域内传播、虚连接不能穿过STUB区域。
NSSA区域
NSSA,Not-So-Stubby Area区域,是OSPF特殊的区域类型。NSSA区域与STUB区域有许多相似的地方,两者都不传播来自OSPF网络其它区域的外部路由。差别在于STUB区域是不能引入外部路由,NSSA区域能够将自治域外部路由引入并传播到整个OSPF自治域中,当区域配置为NSSA区域后,为保证到自治系统外的路由可达,NSSA区域的ABR将生成一条缺省路由,并发布给NSSA区域中的其他路由器。配置NSSA区域时需要注意下列几点:骨干区域不能配置成NSSA区域、如果要将一个区域配置成NSSA区域,则该区域中的所有路由器都要配置NSSA区域属性、虚连接不能穿过NSSA区域。

7、邻居状态机

邻居关系:OSPF设备启动后,会通过OSPF接口向外发送Hello报文,收到Hello报文的OSPF设备会检查报文中所定义的参数,如果双方一致就会形成邻居关系,两端设备互为邻居,形成邻居关系后,如果两端设备成功交换DD报文和LSA,才建立邻接关系,在OSPF网络中,为了交换路由信息,邻居设备之间首先要建立邻接关系,邻居(Neighbors)关系和邻接(Adjacencies)关系是两个不同的概念。
OSPF共有8种状态机,分别是:
Down:邻居会话的初始阶段,表明没有在邻居失效时间间隔内收到来自邻居路由器的Hello数据包。
Attempt:该状态仅发生在NBMA网络中,表明对端在邻居失效时间间隔(dead interval)超时前仍然没有回复Hello报文。此时路由器依然每发送轮询Hello报文的时间间隔(poll interval)向对端发送Hello报文。
Init:收到Hello报文后状态为Init。
2-way:收到的Hello报文中包含有自己的Router ID,则状态为2-way;如果不需要形成邻接关系则邻居状态机就停留在此状态,否则进入Exstart状态。
Exstart:开始协商主从关系,并确定DD的序列号,此时状态为Exstart。
Exchange:主从关系协商完毕后开始交换DD报文,此时状态为Exchange。
Loading:DD报文交换完成即Exchange done,此时状态为Loading。
Full:LSR重传列表为空,此时状态为Full。

二、OSPF路由协议中各功能

1、报文认证

OSPF支持报文验证功能,只有通过验证的OSPF报文才能接收,否则将不能正常建立邻居。路由器支持两种验证方式:区域验证方式、接口验证方式,当两种验证方式都存在时,优先使用接口验证方式。

2、路由聚合

路由聚合是指ABR可以将具有相同前缀的路由信息聚合到一起,只发布一条路由到其它区域,区域间通过路由聚合,可以减少路由信息,从而减小路由表的规模,提高设备的性能。
ABR聚合:ABR向其它区域发送路由信息时,以网段为单位生成Type3 LSA。如果该区域中存在一些连续的网段,则可以通过命令将这些连续的网段聚合成一个网段。这样ABR只发送一条聚合后的LSA,所有属于命令指定的聚合网段范围的LSA将不会再被单独发送出去。
ASBR聚合:配置路由聚合后,如果本地设备是自治系统边界路由器ASBR,将对引入的聚合地址范围内的Type5 LSA进行聚合。当配置了NSSA区域时,还要对引入的聚合地址范围内的Type7 LSA进行聚合。如果本地设备既是ASBR又是ABR,则对由Type7 LSA转化成的Type5 LSA进行聚合处理。

3、缺省路由

缺省路由是指目的地址和掩码都是0的路由,当设备无精确匹配的路由时,就可以通过缺省路由进行报文转发。由于OSPF路由的分级管理,Type3缺省路由的优先级高于Type5或Type7路由。
缺省路由的应用:
1、由区域边界路由器(ABR)发布Type3缺省Summary LSA,用来指导区域内设备进行区域之间报文的转发。
2、由自治系统边界路由器(ASBR)发布Type5外部缺省ASE LSA,或者Type7外部缺省NSSA LSA,用来指导自治系统(AS)内设备进行自治系统外报文的转发。
缺省路由的发布原则
1、OSPF路由器只有具有对区域外的出口时,才能够发布缺省路由LSA。
2、如果OSPF路由器已经发布了缺省路由LSA,那么不再学习其它路由器发布的相同类型缺省路由。即路由计算时不再计算其它路由器发布的相同类型的缺省路由LSA,但数据库中存有对应LSA。
3、外部缺省路由的发布如果要依赖于其它路由,那么被依赖的路由不能是本OSPF路由域内的路由,即不是本进程OSPF学习到的路由。因为外部缺省路由的作用是用于指导报文的域外转发,而本OSPF路由域的路由的下一跳都指向了域内,不能满足指导报文域外转发的要求。

4、路由过滤

1、OSPF支持使用路由策略对路由信息进行过滤,缺省情况下,OSPF不进行路由过滤。
2、OSPF可以使用的路由策略包括route-policy,访问控制列表(access-list),地址前缀列表(prefix-list)。
路由过滤的应用
1、路由引入:OSPF可以引入其它路由协议学习到的路由。在引入时可以通过配置路由策略来过滤路由,只引入满足条件的路由。
2、引入路由发布:OSPF引入了路由后会向其它邻居发布引入的路由信息,可以通过配置过滤规则来过滤向邻居发布的路由信息。该过滤规则只在ASBR上配置才有效。
3、路由学习:通过配置过滤规则,可以设置OSPF对接收到的区域内、区域间和自治系统外部的路由进行过滤,该过滤只作用于路由表项的添加与否,即只有通过过滤的路由才被添加到本地路由表中,但所有的路由仍可以在OSPF路由表中被发布出去。
4、区域间LSA学习:通过命令可以在ABR上配置对进入本区域的Summary LSA进行过滤。该配置只在ABR上有效(只有ABR才能发布Summary LSA)。

5、多进程

OSPF支持多进程,在同一台路由器上可以运行多个不同的OSPF进程,它们之间互不影响,彼此独立。不同OSPF进程之间的路由交互相当于不同路由协议之间的路由交互,路由器的一个接口只能属于某一个OSPF进程,OSPF多进程的一个典型应用就是在VPN场景中PE和CE之间运行OSPF协议,同时VPN骨干网上的IGP也采用OSPF。在PE上,这两个OSPF进程互不影响。

6、路由计算

OSPF采用SPF(Shortest Path First)算法计算路由,可以达到路由快速收敛的目的。OSPF协议使用链路状态通告LSA描述网络拓扑,即有向图,Router LSA描述路由器之间的链接和链路的属性,路由器将LSDB转换成一张带权的有向图,这张图便是对整个网络拓扑结构的真实反,各个路由器得到的有向图是完全相同的。

7、最小生成树

当OSPF的链路状态数据库LSDB发生改变时,需要重新计算最短路径,如果每次改变都立即计算最短路径,将占用大量资源,并会影响路由器的效率,通过调节SPF的计算间隔时间,可以抑制由于网络频繁变化带来的占用过多资源。缺省情况下,SPF时间间隔为5秒钟。计算过程如下:
1、计算区域内路由:Router LSA和Network LSA可以精确的描述出整个区域内部的网络拓扑,根据SPF算法,可以计算出到各个路由器的最短路径。根据Router LSA描述的与路由器的网段情况,得到了到达各个网段的具体路径。
2、计算区域外路由:从一个区域内部看,相邻区域的路由对应的网段好像是直接连接在ABR上,而到ABR的最短路径已经在上一过程中计算完毕,所以直接检查Network Summary LSA,就可以很容易得到这些网段的最短路径。另外,ASBR也可以看成是连接在ABR上,所以ASBR的最短路径也可以在这个阶段计算出来。
3、计算自治系统外路由:由于自治系统外部的路由可以看成是直接连接在ASBR上,而到ASBR的最短路径在上一过程中已经计算完毕,所以逐条检查AS External LSA就可以得到到达各个外部网络的最短路径。

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

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

相关文章

MTK7628+MT7612 加PA定频数据

1、硬件型号TR726A5G121-DPA PC9.02.0017。如下所示: 2、WIFI5.8 AC模式 42(5120MHz)信道,80带宽 3、WIFI5.8 AC模式 38(5190MHz)信道,40带宽 4、WIFI5.8 AC模式 36(5180 MHz&…

微信小程序开发必知必会:文件结构和基本配置

一、微信小程序基本文件结构 1. project.config.json:项目的基本配置文件,包括项目名称、appid、项目目录、页面文件夹等。 {"setting": {"urlCheck": false,"es6": true,"postcss": true,"nodeModulesP…

股票分析学习

库: pandas to_datetime:它可以处理各种格式的日期和时间数据,并将其统一转换为 Pandas 可以理解和操作的内部日期时间格式。 matplotlib.pyplot 用户可以轻松地创建各种静态、动态、交互式和 3D 图形。 1. 绘制线图(plot()) …

FEP耐酸碱耐高温可定制滴瓶60ml透明四氟瓶F46滴加瓶

FEP滴瓶:又叫聚全氟乙丙烯滴瓶,特氟龙滴瓶。广泛应用于痕量分析、超痕量分析、ICP-MS分析、同位素分析等实验。 主要特性如下: 1.耐高低温:使用温度可达-200~205℃; 2.材质为高纯实验级进口TeflonFEP加工…

虚拟机链接不上usb

传输速度慢 记得换一个支持usb3.0的口和支持usb3.0的线

Redis事务功能是通过MULTI、EXEC、DISCARD和WATCH 四个原语实现的

Redis的事务功能允许将多个命令打包在一起,然后一次性地执行。这种机制确保了这些命令要么全部执行,要么全部不执行,从而提供了一种原子性的操作。Redis事务是通过以下四个原语实现的: 1. **MULTI**: - 这个命令用…

C语言从入门到进阶(15万字总结)

前言: 《C语言从入门到进阶》这本书可是作者呕心沥血之作,建议零售价1元,当然这里开个玩笑。 本篇博客可是作者之前写的所有C语言笔记博客的集结,本篇博客不止有知识点,还有一部分代码练习。 有人可能会问&#xff…

【运维项目经历|035】ISCSI存储优化与自动化部署项目

🍁博主简介: 🏅云计算领域优质创作者 🏅2022年CSDN新星计划python赛道第一名 🏅2022年CSDN原力计划优质作者 ​ 🏅阿里云ACE认证高级工程师 ​ 🏅阿里云开发者社区专家博主 💊交流社区:CSDN云计算交流社区欢迎您的加入! 目录 项目名称 项目背景 项目目标 …

运维技术栈总结

文章目录 Linux CommandBasecd/lschmod/chown/chgrpvi/vimscptarsudf Installrpmyumdeb/apt Filtertailgrepawkfindnetstatechotelnetwhereistouch/mkdirgzip/rar/tar Statistics Linux MonitorCPUtophtopsar Memoryfreevmstat I/Oiostatpidstatiotop Networknetstatiftoptcpdu…

Android SurfaceFlinger——图形内存分配器(十一)

前面的文章中的图层合成器(HWC),这里我们接着看一下 SurfaceFlinger 中的另一个重要服务——图形内存分配器。 一、简介 android.hardware.graphics.allocator2.0 是 Android 系统中硬件抽象层(HAL)的一个组件&#x…

认识Retrieval Augmented Generation(RAG)

什么是RAG? Retrieval-Augmented Generation (RAG) 是一种结合信息检索和生成式AI技术的框架。它通过从外部数据源检索信息,增强语言模型(如GPT-3)的生成能力,从而提供更加准确和相关的回答。 RAG的组成部分 信息检…

解决问题:已通过系统pip安装了相应模块,但是PyCharm中却提示 No module named xxxx

原因:PyCharm会每创建一个项目都会创建一个独立的虚拟python环境venv,而项目会默认使用这个venv环境运行,而这个venv环境是和系统中的python环境独立的,相当系统中安装过的包,这个虚拟环境中没有,而虚拟环境…

【杂记-浅谈OSI参考模型之应用层】

OSI参考模型之应用层 一、应用层概述二、应用层功能三、应用层协议 一、应用层概述 应用层是计算机网络体系结构中的最高层,它直接为用户和应用程序提供服务。在OSI模型中,应用层对应于第7层,而在TCP/IP模型中,它包括了OSI模型中…

用腾讯云语音合成(TTS)批量生成英语绘本的朗读音频

孩子进行英语启蒙,需要看很多英语绘本,而且要听配套的音频来练听力。但有些英语绘本是没有对应音频的,下面简单几步,就可以将任意英语绘本制作出对应的英语朗读音频。 先到电子书资源网站搜索这个绘本名称,如果有电子…

【java-电子签章功能实现】

java-电子签章方案 本文主要描述如何对已有的word文档进行字段填充后,进行电子签章(CA证书)生成pdf文件 废话不多数,上代码(涉及的工具类较多,有不全的评论即可,看到会及时补充) …

三.iOS核心动画 - 关于图层几何(frame,bounds,transform,position)

引言 关于UIView的布局有一个经常被问到的问题,frame和bounds有什么区别,同样CALayer也有frame和bounds这两个属性,还有一个与UIView的center对应的position属性,本篇博客我们就来详细的探讨一下图层中的frame和bounds到底有什么…

Python酷库之旅-第三方库openpyxl(07)

目录 一、 openpyxl库的由来 1、背景 2、起源 3、发展 4、特点 4-1、支持.xlsx格式 4-2、读写Excel文件 4-3、操作单元格 4-4、创建和修改工作表 4-5、样式设置 4-6、图表和公式 4-7、支持数字和日期格式 二、openpyxl库的优缺点 1、优点 1-1、支持现代Excel格式…

十大经典排序算法——选择排序和冒泡排序

一、选择排序 1.基本思想 每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据全部排完。 2.直接选择排序 (1) 在元素集合arr[i] — arr[n - 1]中选择关键妈的最大(小…

高考十字路口:24年考生如何权衡专业与学校的抉择?

文章目录 每日一句正能量前言专业解析理工科专业商科专业人文社科专业艺术与设计专业个人经验与思考过程结论 名校效应分析名校声誉与品牌效应资源获取学术氛围就业优势个人发展结论 好专业和好学校的权衡个人职业目标行业需求教育质量资源和机会学术氛围就业优势经济和地理位置…

嵌入式学习——数据结构(单向无头链表)——day46

1. 数据结构 1.1 定义 数据结构是指计算机中数据的组织、管理和存储方式。它不仅包括数据元素的存储方式,还包括数据元素之间的关系,以及对数据进行操作的方法和算法。数据结构的选择和设计直接影响算法的效率和程序的性能,是计算机科学与编…