多区域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.mfbz.cn/a/886712.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【社保通-注册安全分析报告-滑动验证加载不正常导致安全隐患】

前言 由于网站注册入口容易被黑客攻击,存在如下安全问题: 暴力破解密码,造成用户信息泄露短信盗刷的安全问题,影响业务及导致用户投诉带来经济损失,尤其是后付费客户,风险巨大,造成亏损无底洞…

新手教学系列——爬虫异步并发注意事项

引言 爬虫是网络数据采集中不可或缺的工具,很多程序员在入门时会遇到这样的问题:为什么我的爬虫这么慢?尤其在面对大量数据时,单线程爬虫的速度可能让人捶胸顿足。随着爬虫规模的增大,异步并发成为了提高爬取效率的关键。然而,异步并发并不像表面看起来那么简单,如果没…

初识Linux · 进程替换

目录 前言: 1 直接看代码和现象 2 解释原理 3 将代码改成多进程版本 4 认识所有函数并使用 前言: 由前面的章节学习,我们已经了解了进程状态,进程终止以及进程等待,今天,我们学习进程替换。进程替换我…

Python:import语句的使用(详细解析)(一)

相关阅读 Pythonhttps://blog.csdn.net/weixin_45791458/category_12403403.html?spm1001.2014.3001.5482 import语句是Python中一个很重要的机制,允许在一个文件中访问另一个文件的函数、类、变量等,本文就将进行详细介绍。 在具体谈论import语句前&a…

hbuilderx+uniapp+Android宠物用品商城领养服务系统的设计与实现 微信小程序沙箱支付

目录 项目介绍支持以下技术栈:具体实现截图HBuilderXuniappmysql数据库与主流编程语言java类核心代码部分展示登录的业务流程的顺序是:数据库设计性能分析操作可行性技术可行性系统安全性数据完整性软件测试详细视频演示源码获取方式 项目介绍 顾客 领养…

设计模式、系统设计 record part02

软件设计模式: 1.应对重复发生的问题 2.解决方案 3.可以反复使用 1.本质是面向对象 2.优点很多 1.创建型-创建和使用分离 2.结构型-组合 3.行为型-协作 571123种模式 UML-统一建模语言-Unified Modeling Language 1.可视化,图形化 2.各种图(9…

PostgreSQL 任意命令执行漏洞(CVE-2019-9193)

记一次授权攻击通过PostgreSql弱口令拿到服务器权限的事件。 使用靶机复现攻击过程。 过程 在信息收集过程中,获取到在公网服务器上开启了5432端口,尝试进行暴破,获取到数据库名为默认postgres,密码为1 随后连接进PostgreSql …

【CSS in Depth 2 精译_043】6.5 CSS 中的粘性定位技术 + 本章小结

当前内容所在位置(可进入专栏查看其他译好的章节内容) 第一章 层叠、优先级与继承(已完结)第二章 相对单位(已完结)第三章 文档流与盒模型(已完结)第四章 Flexbox 布局(已…

项目定位与服务器(SERVER)模块划分

目录 定位 HTTP协议以及HTTP服务器 高并发服务器 单Reactor单线程 单Reactor多线程 多Reactor多线程 模块划分 SERVER模块划分 Buffer 模块 Socket模块 Channel 模块 Connection模块 Acceptor模块 TimerQueue模块 Poller模块 EventLoop模块 TcpServer模块 SE…

HTML5+CSS+JavaScript剪子石头布游戏

HTML5CSSJavaScript剪子石头布游戏 用HTML5CSSJavaScript剪子石头布游戏实现剪子石头布游戏,游戏有成绩计数,人、机输赢情况,及平局情况。 ✂代表剪刀,▉代表石头,▓ 代表布,给出人机双方的出拳情况 游戏…

【LeetCode每日一题】——17.电话号码的字母组合

文章目录 一【题目类别】二【题目难度】三【题目编号】四【题目描述】五【题目示例】六【题目提示】七【解题思路】八【时间频度】九【代码实现】十【提交结果】 一【题目类别】 回溯 二【题目难度】 中等 三【题目编号】 17.电话号码的字母组合 四【题目描述】 给定一个…

看480p、720p、1080p、2k、4k、视频一般需要多大带宽呢?

看视频都喜欢看高清,那么一般来说看电影不卡顿需要多大带宽呢? 以4K为例,这里引用一位网友的回答:“视频分辨率4092*2160,每个像素用红蓝绿三个256色(8bit)的数据表示,视频帧数为60fps,那么一秒…

向日葵软件安装失败

一开始点击普通下载,下载完毕后,安装了好几次也没安装成功。 查找解决方法后 在控制面板-程序和功能,寻找已安装 的向日葵 手动卸载已安装但是又没成功的向日葵 重新点击普通下载,下载完安装还是失败。 于是改为安全下载&…

k8s的学习和使用

为什么用k8s,不用docker? k8s更适合复杂的微服务架构和大规模的容器应用。 Pods(Pod) Pod是k8s最小可部署单元,他包含一个或多个相关容器。这些容器共享网络命名空间和存储卷,他们通常协同工作来构成一个应用程序。 Serv…

C(十)for循环 --- 黑神话情景

前言: "踏过三界宝刹,阅过四洲繁华。笑过五蕴痴缠,舍过六根牵挂。怕什么欲念不休,怕什么浪迹天涯。步履不停,便是得救之法。" 国际惯例,开篇先喝碗鸡汤。 今天,杰哥写的 for 循环相…

CSS 实现楼梯与小球动画

CSS 实现楼梯与小球动画 效果展示 CSS 知识点 CSS动画使用transform属性使用 页面整体布局 <div class"window"><div class"stair"><span style"--i: 1"></span><span style"--i: 2"></span>…

android 全面屏最底部栏沉浸式

Activity的onCreate方法中添加 this.getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION); Android 系统 Bar 沉浸式完美兼容方案自 Android 5.0 版本&#xff0c;Android 带来了沉浸式系统 ba - 掘金 (juejin.cn)https://juejin.cn/post/7075578…

宝塔部署若依前端出现502解决方法

一、前言 ‌若依系统是一个基于Java语言的开源项目&#xff0c;旨在帮助开发者减少开发时间&#xff0c;特别适用于需要快速开发出一套具有用户管理、菜单管理、权限管理、定时任务、日志管理等功能的简单系统。‌ 系统分为前后端分离、分布式等架构 部署教程如下&#xff1a…

DC00024基于ssm实验室预约管理系统java web项目web教师预约jsp预约管理系统

1、项目功能演示 DC00024基于web实验室预约管理系统ssm教室预约实验室预约管理系统java web项目MySQL 2、项目功能描述 基于ssm实验室预约管理系统分为用户和系统管理员两个角色。 2.1 系统管理员 1、系统登录 2、用户管理&#xff1a;修改个人信息、修改个人密码、教师管理…