多区域OSPF路由协议

前言

        之前也有过关于OSPF路由协议的博客,但都不是很满意,不是很完整。现在也是听老师讲解完OSPF路由协议,感触良多,所以这里重新整理一遍。这次应该是会满意的

一些相关概念

链路状态

        链路指路由器上的一个接口,链路状态用来描述路由器接口及其与邻居路由器的关系等信息,这些信息包括接口的互联网协议IP地址和子网掩码、网络类型及链路的开销等。而所有的链路状态信息则构成了LSDB

区域

        以接口为单位划分区域,同一个区域内的路由器具有相同的LSDB

AS

        采用同一种路由协议交换路由信息的路由器及其网络构成的系统

链路状态公告LSA

        用来描述路由器和链路的状态,OSPF协议中对于链路状态信息的描述都是通过LSA发布出去。AS内每台运行OSPF协议的路由器,根据路由器的类型不同,会产生一种或多种LSA,路由器本身产生和收到的LSA的集合就形成了LSDB

SPF算法

        OSPF协议的基础,SPF算法将每一台路由器作为根,独立地计算其到每一个目的网络地最佳路径

路由器ID

        运行OSPF的路由器的唯一标识,长度为32bit,格式和IP地址相同。路由器ID也可以手动设置,也可以自动生成。其中,手动配置的路由器ID优先级最高。没有手动配置路由器ID,路由器会从当前接口的IP地址中自动选择一个作为路由器ID,选择顺序是优先从LoopBack接口-->接口最大的IP地址。注意路由器ID一旦确定,为了维持LSDB的稳定,除非清除OSPF协议和重新启动路由器,否则路由器ID不会改变

泛洪

        运行OSPF协议的路由器会把自己产生或者收到的LSA向其它所有邻居或路由器通告,这个过程就是泛洪

OSPF路由协议的特点

(1)收敛速度快,适用于规模较大的网络,尤其是企业网络

(2)具有五类别特征,支持不连续子网、可变长子网掩码VLSM、无类别域间路由CIDR选择及手动路由聚合

(3)采用组播形式(224.0.0.5或224.0.0.6)或单播形式发送报文,支持等价负载均衡

(4)支持区域划分、构成结构化网络提供路由分级化管理

(5)支持接口验证方式和区域验证方式

(6)采用触发更新,可以使用路由标记(Tag)对外部路由进行跟踪

(7)默认情况下,OSPF的路由优先级为10,OSPF AS外部区域的路由优先级为150

(8)为了维持邻居表和LSDB表,会每隔30min进行一次链路状态更新

OSPF协议的报文类型

         OSPF是IP报文直接封装协议报文,协议号为89。如果OSPF协议组播地址被封装到以太网帧内,则以太网的MAC地址(01-00-5E-00-00-05或01-00-5E-00-00-06)也是组播地址。

通用头部字段(OSPF Packet Headers)

  • Version:描述OSPF协议版本,通常被设置为2(支持IPv4)或3(支持IPv6)。
  • Type:描述OSPF报文类型,值1:Hello、值2:DBD、值3:LSR、值4:LSU、值5:LSAck。
  • Packet Length:OSPF报文总长度,包括报文头部,单位是字节。
  • Router ID:生成此报文的路由器的唯一标识符。
  • Area ID:此报文需要被通告到的OSPF区域的标识符。
  • Checksum:对整个数据包(包括包头)的标准IP校验和。
  • Auth Type/Authentication Type:验证此报文所应当使用的验证方法,如空(0)、明文(1)或MD5(2)等。
  • Authentication Data:验证此报文时所需要的密码等信息。

OSPF分为5种报文Hello报文DBD报文LSR报文LSU报文LSAck报文

Hello报文:

        主要用于发现和维持OSPF邻居关系。周期性以组播的形式发送Hello报文,以维护OSPF的邻居关系。使用的组播地址为224.0.0.5(所有OSPF路由器)224.0.0.6(所有OSPF DR路由器)。报文内容包括一些定时器的数值、DR、BDR以及自己已知的邻居信息。

Hello报文特有字段

  • Network Mask:发送Hello报文的接口的网络掩码
  • Hello Interval:发送Hello报文的时间间隔,单位为秒。默认情况下,对于广播和组播类型接口,该值为10秒;对于非广播、多点接入和点对点类型接口,该值为30秒
  • Options:标识发送此报文的OSPF路由器所支持的可选功能。E:是否支持外部路由;MC:是否支持转发组播数据包;N/P:是否为NSSA区域
  • Router Priority:DR的优先级,默认值为1,取值范围为0-255。若为0.则路由器不能参与DR或BDR的选举
  • Designated Router (DR):DR的IP地址。如果未选举DR,则该字段为0.0.0.0
  • Backup Designated Router (BDR):BDR的IP地址。如果未选举BDR,则该字段为0.0.0.0

DD报文:

        描述本地LSDB摘要信息,用于两台设备进行数据库同步。在邻接关系初始化时,路由器会发送DD报文来告知对方自己的LSDB摘要信息。报文内容包括LSDB中每一条LSA(链路状态通告)的头部信息,以便对方判断哪些LSA是本地所缺少的或已经失效的。

接口MTU:在报文不分段的情况下,路由器接口能发送的最大IP报文的大小
I:初始位,发送的第一一个 DD包的1位置1,后续DD包的1位置0
M:后继位,最后一个DD包的M位置0;其他DD包的M位置1,表示后面还有其他DD报文
M/S:主从位,用于协商主/从路由器,置1表示Master,置0表示Slave,路由器ID大的一方会成为Master
DD序列号:在数据库同步过程中,用来确保路由器收到完整的DD报文。由Master规定起始序列号,每发送一个 DD报文,序列号就加1, Slave使用Master的序列号进行确认。因此,主从路由器利用序列号来保证DD报文传输的可靠性和完整性

LSA头部:LSA头部包含的信息可以唯一地标识一条LSA,内容包括以下几点

  • (1)链路状态老化时间:LSA产生后所经过的时间,单位为S。LSA在本路由器的LSDB中会随时间老化(每秒加1)。LSA的最大老化时间为3600s。如果某个LsA的老化时间超过了3600,则该LSA会从LSDB中被删除。另外,如果LSA始发路由器产生MaxAge的LSA,并向区域中泛洪,那么收到该LSA的路由器会用该LSA来更新自己的LSDB中相应的LSA
  • (2)链路状态类型: LSA的类型,如该字段值为1表示路由器LSA,该字段值为2表示网络LSA
  • (3)链路状态ID:标识LSA,LSA的类型不同,该字段的含义也不同
  • (4)通告路由器:始发LSA的路由器ID
  • (5)序列号:有符号的32bit整数,可以帮助识别最新的LSA。采用线性递增的序列号,序列号范围为0x80000001~ -0x7FFFFFF,OSPF每隔30min会更新一次LSDB。每当LSA被更新或者LSDB被更新,序列号都加1。那么OSPF如何判断LSA的新旧呢?首先,比较序列号,序列号越大表示LSA越新。其次,如果序列号相同,则校验和的值越大表示LSA越新。最后,如果序列号和校验和都相同,则比较老化时间,如果老化时间为MaxAge(3600s),则该LSA被认为是最新的;若老化时间差大于15min,则老化时间小的LSA被认为是最新的;若老化时间差小于15min,则认为这些LSA一样新,此时只保留先收到的LSA
  • (6)校验和:除了老化时间之外的LSA全部信息的校验和
  • (7)长度:LSA头部和LSA数据的总长度,单位为字节

LSR报文:

        LSR报文用于向对方请求所需要的LSA完整拷贝。当路由器发现本地LSDB中缺少某些LSA时,会发送LSR报文来请求这些LSA。LSR报文中包含所需LSA的摘要信息,以便对方能够识别并返回相应的LSA。

LSU报文:

        LSU报文用于向对方发送其所需要的LSA或者泛洪自己更新的LSA。当路由器收到LSR报文或自己的LSDB发生更新时,会发送LSU报文来通知邻居路由器。LSU报文中包含多条LSA的完整内容,以便邻居路由器能够更新自己的LSDB。

LSack报文:

        LSAck报文用于对收到的LSA进行确认。当邻居路由器收到LSU报文后,会发送LSAck报文作为确认。这样,源路由器可以确认链路状态已被通知到邻居,从而实现Flooding的可靠性传输。

OSPF协议的网络类型

        为了能够适应二层网络环境,根据路由器所连接物理网络的不同,OSPF协议通常将网络划分
为4种类型:广播多路访问(BMA)、非广播多路访问(NBMA)、点到点(P2P )、点到多点(P2MP)。在每种网络类型中,OSPF协议的运行方式都不同,包括是否需要选举DR和Hello报文的发送周期为多少等

  • BMA:当二层链路是以太网时,默认情况下,OSPF协议认为网络类型是BMA。在该类型的网中,通常以单播形式发送DD报文和LSR报文,以组播形式发送Hello、LSU和LSAck报文
  • NBMA:当二层链路网络是帧中继网络时,默认情况下,OSPF协议认为网络类型是NBMA。在该类型的网络中,以单播形式发送OSPF协议的所有报文
  • P2P:当二层链路协议是点到点协议( Point- to-Point Protocol, PPP )和高级数据链路控制(HDLC)协议时,默认情况下,OSPF协议认为网络类型是P2P。在该类型的网络中,以组播形式(组播地址为224.0.0.5 )发送OSPF协议的所有报文
  • P2MP:P2MP必须由其他的网络类型强制更改得到。在该类型的网络中,以组播形式(组播地址为224.0.0.5 )发送Hello报文,以单播形式发送OSPF协议的DD报文、LSR报文、LSU报文和LSAck报文
OSPF协议的网络类型
网络类型选举DRHello报文发送周期/s失效时间/s邻居
BMA1040自动发现
NBMA30120管理员配置
P2P1040自动发现
P2MP30120自动发现

OSPF的3个步骤,生成3个表

步骤一、发现并建立邻居关系

        路由器要先发现邻接的路由器,才能建立邻居关系。通过周期性发送Hello包并接收来自其他路由器的Hello包,进行建立并维护邻居关系。报文内容包括一些定时器的数值、DR、BDR以及自己已知的邻居信息。

查看邻居表信息

[huawei]display ospf peer

步骤二、描述本地LSDB信息,并形成邻接关系

        一旦建立了邻居关系,路由器会开始交换链路状态信息(LSI),将自己所知道的网络拓扑信息(如连接的网络、链路的状态、链路的成本等)发送给邻居。这个过程通过发送DBD报文、LSR报文和LSU报文来实现,最终所有路由器都会拥有一个同步的链路状态数据库LSDB

请求缺少的LSDB信息

查看链路状态数据库LSDB

[huawei]display opsf lsdb

步骤三、计算路由,并形成OSPF路由表

        每个路由器都会根据LSDB中的信息,使用Dijkstra算法计算最短路径树(SPT),以找到到达网络中每个目的地的最短路径。计算出的最短路径信息会保留到OPSF路由表上。

[huawei]display ospf routing

OSPF DR和BDR

DR

        DR是在OSPF网络中被选举出来的一个路由器,它负责收集和维护本地区域内的链路状态信息,并将这些信息传播给其他路由器。

        DR充当了整个多点链路网络中的“代表”,负责收集来自其他路由器的链路状态更新(LSU)消息,并将其汇总为一条链路状态数据库(Link State Database)。然后,DR将这个数据库发送给其他路由器,以减少链路状态更新的频率。

选举过程

在选举过程中,每个路由器都会发送Hello消息,其中包含自己的优先级值。优先级越高,被选举为DR的可能性就越大

如果没有路由器明确声明其优先级,则路由器会基于其Router ID(通常是一个IP地址)来选择DR,Router ID最小的路由器将成为DR

主要作用

减少链路状态更新的频率,帮助优化网络性能。

维护链路状态数据库并将其分发给其他路由器,确保所有路由器都拥有最新的网络拓扑信息。

根据链路状态数据库及时更新路由表,确保数据正确地转发到目标地址。

BDR

        BDR是DR的备份,当DR发生故障或失效时,BDR会立即接替DR的角色,并继续执行相同的任务,确保在DR失效时能够无缝接替其工作

不同网络类型中DR和BDR的选举操作

选DR是需要时间的,大概是40秒延迟

        还有一个要注意的就是(现实也会经常遇到):在以太网中有两台设备进行连接,他们会选举出DR和BDR,但是只有两台设备就跟PPP点对点一样,这时候我们就不需要选举出DR和BDR了(不浪费那40秒的延迟)

[Huawei-GigabitEthernet0/0/1]ospf network-type p2p

在接口上增加上面的那条命令之后,就不会选取DR和BDR了(注意:两边设备都需要配置这条命令)

OSPF区域及路由器

区域

        一个区域所设置的特性控制着其所能接收到的链路状态信息的类型。区分不同的OSPF区域类型的关键就是它们对区域外部路由的处理方式。OSPF区域包括标准区域和骨干区域

  • 标准区域:最通用的区域,传输区域内路由、区域间路由和外部路由。通常与骨干区域连接
  • 骨干区域:连接所有其它OSPF区域的中央区域,通常用Area 0表示。骨干区域负责区域之间的路由传递,非骨干区域之间的路由信息必须通过骨干区域来转发。骨干区域自身必须保持连通,所有非骨干区域必须与骨干区域保持联系

        在OSPF协议中,路由器根据其功能和在网络中的位置被划分为多种类型,如:IR、BR、ABR、ASBR。

内部路由器(Internal Router, IR)

定义:IR是仅连接到单个OSPF区域(Area)的路由器

功能:IR主要负责在同一区域内转发数据包,并通过链路状态通告(LSA)与其他内部路由器交换拓扑信息,以构建和维护整个区域的拓扑数据库。它们只处理来自本区域内的路由信息,不与其他区域的路由器直接通信

区域边界路由器(Area Border Router, ABR)

定义:ABR是连接两个或多个不同OSPF区域的路由器

功能:ABR在OSPF网络中扮演着桥梁的角色,负责将数据包从一个区域传输到另一个区域,并在区域之间传播路由信息。它们通过LSA将来自一个区域的路由信息汇总后,再传递给其他区域,确保不同区域之间的路由可达性

自治系统边界路由器(Autonomous System Boundary Router, ASBR)

定义:ASBR是连接OSPF域与其他自治系统(AS)的路由器

功能:ASBR负责将来自其他路由协议(如BGP)的路由信息导入OSPF域中,同时也将OSPF域内的路由信息导出到其他路由协议中。它在不同自治系统之间传递路由信息,实现跨自治系统的路由通信

虚拟链路路由器(Virtual Link Router)

定义:虚拟链路路由器是一种特殊的路由器类型,用于在特定情况下连接分布在不同OSPF区域中的两个OSPF区域

功能:虚拟链路路由器允许在OSPF区域之间建立逻辑连接,绕过非OSPF区域的物理连接限制,从而确保数据包能够正确路由到目的地。这在复杂的网络拓扑结构中尤为重要,特别是在物理连接不可行或成本过高时

OSPF协议的LSA类型

LSA概述

  • LSA是OSPF进行路由计算的关键依据
  • OSPF的LSU报文可以携带多种不同类型的LSA
  • 各种类型的LSA拥有相同的报文头部

 重要字段解析

  • LS Age(链路状态老化时间):表示LSA已经生存的时间,单位为秒。LSA被始发时,该字段为0,随着LSA在网络中被泛洪,该时间逐渐累加,当到达MaxAge (缺省值为3600s)时,LSA不再用于路由计算
  • Options(可选项):每一个bit都对应了OSPF所支持的某种特性
  • LS Type(链路状态类型):指示本LSA的类型
  • Link Start ID(链路状态ID):不同的LSA,该字段定义不同
  • Advertising Router(通告路由器):产生该LSA的路由器的Router ID
  • LS Sequence Number(链路状态序列号):当LSA每次有新的实例产生时,序列号就会增加
  • LS Checksum(校验和):用于保证数据的完整性和准确性
  • Length:是一个包含LSA头部在内的LSA的总长度值

注:链路状态类型、链路状态ID、通告路由器三元组唯一标识一个LSA。老化时间、序列号、校验和用于判断LSA的新旧

链路状态类型 

 其中类型2、网络LSA是由DR生成,描述网络上所有路由器的连接状态

        一台路由器中所有的LSA都被存放在其LSDB中,正确的LSA可以描述一个OSPF区域的网络拓扑结构。OSPF中常见的LSA有6种

Router LSA(类型1)

        所有OSPF路由器都会产生这种LSA,用于描述路由器上连接到某一个区域的链路或某一接口的状态信息。该LSA只会在区域内扩散,不会扩散至其他区域。链路ID为此路由器ID

  • V(Virtual Link,虚链路):如果产生此LSA的路由器是虚连接的端点,则置为1
  • E(External,外部):如果产生此LSA的路由器是ASBR,则置为1
  • B(Border,边界):如果产生此LSA的路由器是ABR,则置为1
  • 链路数量(Number of Links):LSA 中所描述的链路信息的数量,包括路由器上处于某区域中的所有链路和接口
  • 链路ID(Link ID):链路标识,具体的数值根据链路类型而定
  • 链路数据(Link Data):具体的数值根据链路类型而定
  • 链路类型(Link Type):值为1表示通过P2P链路与另一台路由器相连;值为2表示连接到传送网络,如BMA或NBMA网络;值为3表示连接到Stub网络,如Loopback接口;值为4表示虚链路
  • 度量(Metric):链路的开销
  • ToS(Type of Service):服务类型
  • ToS度量(ToS Metric):服务类型的链路的开销

网络LSA(类型2)

        由DR产生,用来描述一个多路访问网络和与之相连的所有路由器,只会在包含DR所属的多路访问 网络的区域中扩散,并不会扩散至其他的OSPF区域中。链路状态ID为DR接口的IP地址

  • 网络掩码:BMA或NBMA网络的网络掩码
  • 连接路由器:连接在同一网段上所有与DR形成完全邻接关系的路由器的ID,包括DR自身的ID

网络汇总LSA(类型3)

        由ABR产生,他将一个区域内的网络通告给OSPF AS中的其他区域【除完全末节区域】。这些条目通过骨干区域被扩散到其它的ABR中。在区域间传递路由信息时遵循水平分割原则,即从一个区域发出的类型3 LSA不会传回到本区域。链路状态ID为目的网络的地址。

ASBR汇总LSA(类型4)

        由ABR产生,描述ASBR的路由,通告给除ASBR所在区域的其他相关区域。链路状态ID为ASBR的ID

AS外部LSA(类型5)

        由ASBR产生,含有关于AS外的路由信息,通告给所有的区域【除末节区域和次末节区域】。链路状态ID为外部网络的地址

  • E:外部度量值的类型。第一类外部路由设置为0,第二类外部路由设置为1。第一类外部路由的开销等于本设备到相应的ASBR的开销加上ASBR到该路由目的地址的开销。第二类外部路由的开销等于ASBR到该路由目的地址的开销。第一类外部路由的可信度高于第二类外部路由的可信度
  • 转发地址(Forwarding Address,FA):到所通告的目的地址的报文将被转发到的地址,仅出现在类型5 LSA或类型7 LSA中。类型5 LSA的外部路由能否进入路由表,取决于类型5 LSA FA地址的可达性,如果FA地址不可达,则类型5 LSA 的外部路由不能进入路由表。FA地址可以是全0,也可以是非0。如果FA地址是全0,则数据包要经过ASBR访问外部网络;如果FA地址是非0,则数据包要转发到该FA地址的网络设备,再由该网络设备转发到外部网络
  • 外部路由标记(External Route Tag):添加到外部路由上的标记。OSPF本身并不使用该字段,其可以用来对外部路由进行管理

次末节区域外部LSA(类型7)

        由次末节区域内的ASBR产生,且只能在次末节区域内传播。ABR可以将类型7的LSA转换为类型5的LSA,当次末节区域内有多个ABR时,系统会根据规则自动选择一个ABR作为转换器。默认情况下,次末节区域选择路由器ID最大的设备作为转换器。链路状态ID为外部网络的地址,格式与类型5 LSA相同

OSPF的特殊区域

末节区域

        末节区域的ABR不发布它们接受的AS外部路由,只发布区域内路由和区域间路由。为保证到AS外的路由可达,该区域的ABR将生成一条默认路由,以类型3 LSA发布给末节区域中的其他非ABR。

        注:在OSPF视图下执行【stub】命令,就可以将当前区域配置为末节区域

配置末节区域注意的细节

  • 骨干区域不能配置为末节区域
  • 如果要将一个区域配置为末节区域,则该区域中所有的路由器都要配置末节区域属性
  • 末节区域内不能存在ASBR,即AS外部路由不能在本区域内传播
  • 虚连接不能穿过末节区域

完全末节区域

        完全末节区域的ABR不允许发布AS外部路由和区域间路由,只发布区域内路由。同样的,该区域的ABR会生成一条默认路由,以类型3 LSA发布给末节区域中的其他非ABR

        注:在OSPF区域视下,只需要在ABR上执行【stub no-summary】命令,就可以将当前区域配置成完全末节区域。在末节区域视图下执行【stub】命令,则可以将当前末节区域配置成完全末节区域。

次末节区域(NSSA)

        次末节区域允许引入AS外部路由,由ASBR发布类型7 LSA给本区域,这些类型7 LSA在ABR上转换成类型5 LSA,并且泛洪到整个OSPF区域中,NSSA保留了保留了AS内的未节区域的特征。NSSA的ABR发布类型7默认路由传播到区域内,所有区域间路由都必须通过ABR才能发布

        注:在OSPF区域视图下执行【nssa】命令,可将当前区域配置为NSSA
 

OSPF路由计算、路由类型、路由聚合

        OSPF协议采用SPF算法,计算过程如下

  1. 每台OSPF路由器根据自己周围的网络拓扑结构生成LSA,并通过更新报文将LSA发送给网络中的其它OSPF路由器
  2. 每台OSPF路由器都会收集其他路由器通告的LSA,所有的LSA房子啊一起便组成了LSDB
  3. OSPF路由器将LSDB转换成一张带权的有向图,这张图就是整个网络拓扑结构。这时候所有路由器得到的有向图都是一样的
  4. 根据有向图,每台路由器使用SPF算法计算出一颗以自己为根的最短路径树

OSPF路由计算具体方法

  • 计算区域内路由:类型1 LSA和类型2 LSA可以精确地描述整个区域内部地网络拓扑,根据SPF算法,可以计算出每台路由器的最短路径根据类型1 LSA描述地路由器地网段情况,得到各个网段地具体路径
  • 计算区域外路由:对于一个区域的内部来说,相邻区域的路由对应的网段看起来是直接连接在ABR上的,而到ABR的最短路径已经在计算区域内路由中计算完毕,所以直接检查类型3 LSA,就可以很容易地得到这些网段的最短路径。另外,ASBR也可以看作连接在ABR上,所以ASBR的最短路径也可以在该阶段计算出来
  • 计算AS外路由:由于AS外部的路由可以看作直接连接在ASBR上,而到ASBR的最短路径在计算区域外路由中已经计算完毕,因此逐条检查类型5 LSA就可以得到到达各个外部网络的最短径

        OSPF协议将路由分为4类,按照优先级从高到低的顺序为区域内路由区域间路由第一类外部路由第二类外部路由。其中,AS区域内路由和区域间路由描述的是AS内部的网络结构,AS外部路由则描述了应该如何选择到AS以外目的地址的路由;第一类外部路由的可信度较高,并且和OSPF自身路由的开销具有可比性,所以到第一类外部路由的开销等于本路由器到相应的ASBR的开销与ASBR到该路由目的地址的开销之和;第二类外部路由的可信度比较低,所以OSPF协议认为从ASBR到AS之外的开销远远大于从AS之内到达ASBR的开销。

        路由聚合是指ABR或ASBR将具有相同前缀的路由信息聚合起来,只发布一条路由到其他区域。AS被划分成不同的区域后,可以通过路由聚合来减少路由信息的通告,减小路由表的规模,提高路由器的运算速度,降低系统的消耗。需要注意的是,至少存在一条明细路由,路由器才会通告聚合路由,而且聚合路由范围内的明细路由发生变化,不影响通告的聚合路由。路由聚合只能在ABR和ASBR上配置,因此OSPF路由聚合包括ABR路由聚合和ASBR路由聚合两类

  • ABR路由聚合:ABR向其他区域发送路由信息时,以网段为单位生成类型3 LSA。如果该区域中存在一些连续的网段,则可以将这些连续的网段聚合成一个网段。 这样ABR只发送一条聚合后的LSA,所有属于聚合网段范围的LSA将不再被单独发送出去,可减小其他区域中LSDB的规模。执行【abr- summary】命令即可配置ABR路由聚合,可以通过配置参数【generate-null0-route】生成黑洞路由,以防止路由环路。
  • ASBR路由聚合:配置引入路由后,如果本地路由器是ASBR,则将对引入的地址范围内的类型5 LSA进行聚合。执行【asbr- summary】命令即可配置ASBR路由聚合,可以通过配置参数【generate-null0-route】生成黑洞路由,以防止路由环路。

OSPFv2和OSPFv3的区别

比较OSPFv2OSPFv3
网络IPv4网络IPv6网络
运行基于网络基于链路
源地址接口IPv4地址接口IPv6链路本地地址
目的地址

1、邻居接口单播IPv4地址

2、组播地址224.0.0.5或224.0.0.6

1、邻居IPv6链路本地地址

2、组播地址FF02::5或FF02::6

IP单播路由IPv4单播路由,路由器默认启动IPv6单播路由,执行【ipv6】命令启用
同一链路上运行多个实例不支持支持
验证简单口令或MD5IPv6提供安全机制
LSA有选项字段无选项字段,增加LSA(类型8)和区域内前缀LSA(类型9)

OSPF的常用命令

配置OSPF的基本功能

# 启动OSPF进程,配置Router ID
[Huawei]ospf process-id router-id router-id
[Huawei]ospf 1 router-id 1.1.1.1   # 举例# 设置开销的带宽参考值
[Huawei-ospf-1]bandwidth-reference value   # value=1--214783648
[Huawei-ospf-1]bandwidth-reference 1   # 举例# 禁止接口收发OSPF报文
[Huawei-ospf-1]silent-interface  all | interface-type interface-number
[Huawei-ospf-1]silent-interface  GigabitEthernet 0/0/0   # 举例# 创建并进入OSPF视图
[Huawei-ospf-1]area area-id   # area-id=0 ~ 4294967295
[Huawei-ospf-1]area 1  # 举例# 配置使能OSPF的接口范围
[Huawei-ospf-1-area-1.1.1.1]network ip-addreaa wildcard-mask
[Huawei-ospf-1-area-1.1.1.1]network 2.2.2.2 0.0.0.255  # 举例# 在接口上使能OSPF
[Huawei-GigabitEthernet0/0/0]ospf enable [process-id] area area-id
[Huawei-GigabitEthernet0/0/0]ospf enable 1 area 1.1.1.1  # 举例# 配置接口运行OSPF的开销
[Huawei-GigabitEthernet0/0/0]ospf cost cost   # cost=1~65535
[Huawei-GigabitEthernet0/0/0]ospf cost 1  # 举例# 设置OSPF接口的网络类型
[Huawei-GigabitEthernet0/0/0]ospf network-type {broadcast | noma | p2mp | p2p}
[Huawei-GigabitEthernet0/0/0]ospf network p2p  # 举例# 设置接口在选举DR时的优先级
[Huawei-GigabitEthernet0/0/0]ospf dr-priority proiority
[Huawei-GigabitEthernet0/0/0]ospf dr-priority 10   # 举例# 设置接口发送Hello报文的时间间隔
[Huawei-GigabitEthernet0/0/0]ospf timer hello interval    # 单位为秒
[Huawei-GigabitEthernet0/0/0]ospf timer hello 60   # 举例# 设置OSPF的邻居失效时间
[Huawei-GigabitEthernet0/0/0]ospf timer dead interval   # 单位为秒
[Huawei-GigabitEthernet0/0/0]ospf timer dead 10000   # 举例

配置OSPF的安全性

# OSPF的接口验证
# 简单验证方式
[Huawei-GigabitEthernet0/0/0]ospf authentication-mode simple plain
# MD5、HMAC-MD5或HMAC-SHA256验证方式
[Huawei-GigabitEthernet0/0/0]ospf authentication-mode {md5 | hmac-md5 | hmac-sha256} [key-id [cipher] cipher-text]
[Huawei-GigabitEthernet0/0/0]ospf authentication-mode md5 1 cipher 123456    # 举例# 配置OSPF区域验证
# 与接口验证命令大致相同,一个是在接口上配置,一个是在OSPF区域视图下配置
# 所以这个就不用加上前面[ospf],其它一样的命令

 

配置OSPF默认路由注入

[Huawei-ospf-1-area-0.0.0.1]default-route-advertise

配置OSPF的路由聚合

# 配置ABR的路由聚合
[Huawei-ospf-1-area-0.0.0.1]abr-summary ip-address mask   # 还有一些参数啥的就懒得写详细了
[Huawei-ospf-1-area-0.0.0.1]abr-summary 10.1.1.1 255.255.255.0  # 举例# 配置ASBR的路由聚合
[Huawei-ospf-1]asbr-summary ip-address mask    #同上,还有参数没写全
[Huawei-ospf-1]asbr-summary 10.1.1.1 255.255.255.0   # 举例

配置OSPF的特殊区域

# 配置末节区域
# 在ABR中配置命令
[Huawei-ospf-1-area-0.0.0.1]stub# 配置完全末节区域
[Huawei-ospf-1-area-0.0.0.1]stub no-summary # 配置NSSA区域
[Huawei-ospf-1-area-0.0.0.1]nssa [default-route-advertise | no-summary | no-import-route]

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

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

相关文章

ChatGPT实时语音将于本周向免费用户推出:OpenAI DevDay 2024详细解读

大家好,我是木易,一个持续关注AI领域的互联网技术产品经理,国内Top2本科,美国Top10 CS研究生,MBA。我坚信AI是普通人变强的“外挂”,专注于分享AI全维度知识,包括但不限于AI科普,AI工…

Windows 环境搭建 CUDA 和 cuDNN 详细教程

CUDA CUDA(Compute Unified Device Architecture)是由NVIDIA公司推出的一个并行计算平台和编程模型,它允许开发者使用NVIDIA GPU进行通用计算(即GPGPU),从而加速各种计算密集型任务。CUDA提供了一套基于C/C…

深度学习:cGAN和pix2pix图像转换

cGAN和pix2pix的基础概念 cGAN cGAN是条件生成对抗网络(Conditional Generative Adversarial Networks)的简称。 它是一种基于基础GAN(Generative Adversarial Networks)架构的变体,通过给GAN模型引入额外的信息或条…

【零基础入门产品经理】学习准备篇 | 需要学一些什么呢?

前言: 零实习转行产品经理经验分享01-学习准备篇_哔哩哔哩_bilibili 该篇内容主要是对bilibili这个视频的观后笔记~谢谢美丽滴up主友情分享。 全文摘要:如何在0实习且没有任何产品相关经验下,如何上岸产品经理~ 目录 一、想清楚为什么…

uniapp 上了原生的 echarts 图表插件了 兼容性还行

插件地址:echarts - DCloud 插件市场 兼容性这块儿不知道后期会不会支持其他浏览器 H5 的话建议可以用原生的不用这个插件

沐风老师3DMAX快速嵌板修改器插件Panelizer使用方法

3DMAX快速嵌板修改器插件Panelizer,一键快速几何体分布工具,基于3dsMax的拓扑修改器,将几何模型散布并对齐到四边形面上的参数化建模工具。 【系统要求】 3dsMax 2018.1 - 2025 【安装方法】 1.将插件安装文件(.mcg)…

Llama 系列简介与 Llama3 预训练模型推理

1. Llama 系列简介 1.1 Llama1 由 Meta AI 发布,包含 7B、13B、33B 和 65B 四种参数规模的开源基座语言模型 数据集:模型训练数据集使用的都是开源的数据集,总共 1.4T token 模型结构:原始的 Transformer 由编码器&#xff08…

基于元神操作系统实现NTFS文件操作(二)

1. 背景 本文主要介绍MBR的读取和解析,并提供了基于元神操作系统的实现代码。由于解析MBR的目的是定位到NTFS磁盘分区进行文件操作,所以只解析了MBR的分区表部分,至于MBR的其它部分,可以参考相关文档进行理解。 2. 方法 &#…

Python使用matplotlib绘制五星红旗

安装包 pip install matplotlib pip install numpy完整代码 import matplotlib.pyplot as plt import numpy as np# 设置画布尺寸 fig plt.figure(figsize(10, 7)) ax fig.add_subplot(111)# 绘制红色背景 ax.set_facecolor(red)# 五星红旗的尺寸定义 flag_width 30 flag_…

VMware ESXi 8.0U3b macOS Unlocker OEM BIOS 2.7 Dell HPE 定制版 9 月更新发布

VMware ESXi 8.0U3b macOS Unlocker & OEM BIOS 2.7 Dell HPE 定制版 9 月更新发布 VMware ESXi 8.0U3b macOS Unlocker & OEM BIOS 2.7 标准版和厂商定制版 ESXi 8.0U3 标准版,Dell (戴尔)、HPE (慧与)、Lenovo (联想)、IEIT SYSTEMS (浪潮信息)、Cisco …

前端规范工程-2:JS代码规范(Prettier + ESLint)

Prettier 和 ESLint 是两个在现代 JavaScript 开发中广泛使用的工具,它们结合起来可以提供以下作用和优势: 代码格式化和风格统一: Prettier 是一个代码格式化工具,能够自动化地处理代码的缩进、空格、换行等格式问题,…

491. 递增子序列

文章目录 491. 递增子序列思路回溯三部曲总结 491. 递增子序列 491. 递增子序列 给你一个整数数组 nums ,找出并返回所有该数组中不同的递增子序列,递增子序列中 至少有两个元素 。你可以按 任意顺序 返回答案。 数组中可能含有重复元素,如…

Linux中的进程间通信之管道

管道 管道是Unix中最古老的进程间通信的形式。 我们把从一个进程连接到另一个进程的一个数据流称为一个“管道” 匿名管道 #include <unistd.h> 功能:创建一无名管道 原型 int pipe(int fd[2]); 参数 fd&#xff1a;文件描述符数组,其中fd[0]表示读端, fd[1]表示写端 …

解锁PDF阅读器的神奇功能与应用场景

PDF格式的文档因其稳定性、兼容性和安全性&#xff0c;成为了广泛传播和存储信息的重要载体。而PDF阅读器则是我们打开这个数字知识宝库的关键钥匙。接下来&#xff0c;让我们一同走进福昕PDF阅读器和它小伙伴们的世界&#xff0c;去探索它们的神奇之处。 1.福昕阅读器 链接一…

Spring Boot 和 MyBatis-Plus凑一块儿了,这份教程你得看

一、引言 MyBatis-Plus 是 MyBatis 的增强版&#xff0c;提供了 CRUD 接口、分页插件、性能分析插件等特性&#xff0c;简化了开发过程。本文将详细介绍如何在 Spring Boot 项目中集成 MyBatis-Plus。 支持的数据看也越来越多&#xff0c;值得去搞一下&#xff0c;写了一个小例…

Hive数仓操作(八)

一、Hive中的分桶表 1. 分桶表的概念 分桶表是Hive中一种用于提升查询效率的表类型。分桶指的是根据指定列的哈希值将数据划分到不同的文件&#xff08;桶&#xff09;中。 2. 分桶表的原理 哈希分桶&#xff1a;根据分桶列计算哈希值&#xff0c;对哈希值取模&#xff0c;将…

三维激光扫描技术在文保修缮项目中的应用

三维激光扫描技术作为一种新兴的高精度空间数据获取手段&#xff0c;其在文物保护和修缮项目中的应用日益广泛。这项技术通过快速获取物体表面的三维密集点云数据&#xff0c;为文物的数字化存档、保护、修复及再利用提供了强有力的技术支持。 数据采集&#xff1a;高精度与非接…

Python案例--水仙花数的探索之旅

一、引言 水仙花数&#xff0c;也称为阿姆斯特朗数&#xff0c;是一种特殊的三位数&#xff0c;其各位数字的立方和等于其本身。例如&#xff0c;153就是一个水仙花数&#xff0c;因为 135333153135333153。这种数字的发现不仅展示了数字的内在美&#xff0c;也激发了人们对数…

Element-plus安装及其基础组件使用

简而言之&#xff0c;在main.js中导出以下库,仅此&#xff0c;搞多了出错难排查 import ElementPlus from element-plus //导入ElementPlus 模块 import element-plus/dist/index.css //引入样式 app.use(ElementPlus) //注册库就能使用了 Element Plus 是一个基于 Vue 3 的组件…

《Linux从小白到高手》理论篇(十一):Linux的系统环境管理

值此国庆佳节&#xff0c;深宅家中&#xff0c;闲来无事&#xff0c;就多写几篇博文。本篇详细深入介绍Linux的系统环境管理。 环境变量 linux系统下&#xff0c;如果你下载并安装了应用程序&#xff0c;很有可能在键入它的名称时出现“command not found”的提示内容。如果每…