0
点赞
收藏
分享

微信扫一扫

828华为云征文|使用sysbench对Flexus X实例对mysql进行性能测评

江南北 2024-10-03 阅读 17
网络

前言

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

一些相关概念

OSPF路由协议的特点

OSPF协议的报文类型

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

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

Hello报文:

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

DD报文:

        描述本地LSDB摘要信息,用于两台设备进行数据库同步。在邻接关系初始化时,路由器会发送DD报文来告知对方自己的LSDB摘要信息。报文内容包括LSDB中每一条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报文的发送周期为多少等

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将这个数据库发送给其他路由器,以减少链路状态更新的频率。

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协议中,路由器根据其功能和在网络中的位置被划分为多种类型,如:IR、BR、ABR、ASBR。

内部路由器(Internal Router, IR)

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

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

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

OSPF协议的LSA类型

LSA概述

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

Router LSA(类型1)

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

网络LSA(类型2)

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

网络汇总LSA(类型3)

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

ASBR汇总LSA(类型4)

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

AS外部LSA(类型5)

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

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

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

OSPF的特殊区域

末节区域

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

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

完全末节区域

        完全末节区域的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算法,计算过程如下

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

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

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]
举报

相关推荐

0 条评论