ospf笔记

OSPF协议

IGP动态路由协议的评判

收敛速度

选路

占用资源

希望的协议是收敛快、选路佳、占用资源少。

核心特点

  1. 无类路由协议,支持 VLSM、CIDR、路由汇总。
  2. 收敛快,拓扑变化仅泛洪对应 LSA,不会整网重计算。
  3. 支持区域划分,大型网络分区域部署,减小 LSDB 规模、降低设备压力。
  4. 可靠传输,通过 5 类报文保证 LSA 交互可靠。
  5. 支持认证,明文 / MD5/HMAC-SHA,提升安全性。
  6. 开销(Cost) 作为选路依据,开销 = 10⁸/ 接口带宽,带宽越大开销越小。
  7. 支持等价路由、分层路由架构。

优点

  • 架构分层,适合大型网络;收敛快、路由无环、安全性高、扩展性强。

缺点

  • 配置、原理复杂,对设备性能有一定要求;小型网络使用偏繁琐。

OSPF复习 --- 开放式最短路径优先协议

典型的链路状态型协议(传递的是TOPO信息),由IETF提出。

使用范围是IGP(AS内部);使用的算法是SPF算法。

OSPF版本:OSPFv2/OSPFv3

OSPF是跨层封装协议,没有传输层内容;OSPF没有周期更新,仅存在触发更新机制。

OSPF虽然没有周期更新,但是存在周期链路刷新机制(30min发送一次本地的LSA信息)。

  • 一台路由器可同时属于多个区域(ABR 区域边界路由器)。
  • 一个接口只能属于一个 OSPF 区域,不能跨区域。
  • ABR:同时连接 Area 0 和其他区域的路由器,负责传递区域间路由。

OSPFv2与RIPv2对比

相同点: 1、两者都是无类别路由协议

2、两者都采用组播方式进行数据报文发送

RIPv2:224.0.0.9

OSPFv2:224.0.0.5/224.0.0.6

3、两者都支持等开销负载均衡(等价路由)

不同点: RIP应用于小型网络,OSPF应用于中大型网络

结构化部署 --- 区域划分

区域内部传递的是拓扑信息,而区域之间传递的是路由信息。--- OSPF的区域划分是基于设备接口进 行的。

区域ID(Area-ID);是由32位二进制组成,以IP地址格式书写;一般配置使用十进制方式。 其中区域0被称为骨干区域。

存在区域划分原则:

  1. OSPF要求域中所有的非骨干区域,都必须与骨干区域直接相连。

  2. 骨干区域不能被分割。--- Area0有且只有一个。

区域划分原则的必要性

OSPF定义了一个概念,ABR(区域边界路由器)来确保所有人遵循第一条划分原则。

成为ABR条件: 1、至少连接两个区域 2、连接的区域中至少有一个区域是骨干区域 3、在区域0中至少存在一个活跃的邻居

引申:非骨干区域之间不允许直接相互发布路由信息。

OSPF规定:从非骨干区域接收的 路由信息 ,ABR设备可以接收,但不会使用这条路由信息 --- OSPF 的区域水平分割。---引申:从某个区域传出的路由,不会在传回该区域。

ASBR --- 自治系统边界路由器;只有处于OSPF工作域边界的设备,且负责将其他路由引入到OSPF 工作域中的设备,被称为ASBR。说明:ABR发送路由信息是本质,而ASBR不会主动传递路由,需要管 理员操作。

1. 内部路由器(IR,Internal Router)

所有接口都属于同一个 OSPF 区域,仅维护本区域 LSA。

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

同时连接Area 0 骨干区域非骨干区域,可连接多个区域;负责区域间路由传递、路由汇总。

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

连接OSPF 域其他路由协议域 (RIP、静态、BGP 等),引入外部路由,产生 Type-5/Type-7 外部 LSA。 注:ASBR 可以在任意区域,不一定是 ABR。

4. 骨干路由器(Backbone Router)

至少有一个接口属于Area 0。ABR、纯骨干内路由器都属于骨干路由器。


补充组合身份

  • 一台设备可同时为 ABR+ASBR
  • 末梢区域、NSSA 区域内不能存在 ASBR(NSSA 例外,允许本地 ASBR)

OSPF工作过程

OSPF数据包

hello报文

用来发现、建立、周期保活OSPF邻居关系的报文,通过组播224.0.0.5发送。

hello报文每10秒发送一次。

hello-time hold-time:死亡时间,是hello-time的4倍,即40秒。

RID---路由器标识符Router-ID

要求全网唯一,使用IP地址格式表示。

配置方式:1.手工配置;2.自动配置(选取最大环回IP>选取最大物理IP)

DD报文 --- 数据库描述报文

里面携带的是路径信息摘要;

DD报文存在的意义:减少资源消耗(避免重复更新和减少更新量)。

LSR --- 链路状态请求报文

目的:根据DD报文,选择自己感兴趣的信息,通过LSR去正式申请。

作用 :向邻居请求缺失的完整 LSA

LSU --- 链路状态更新报文

注意:LSU报文中,包含的不是拓扑或路由,而是一个个LSA。

在OSPF中,所有的拓扑和路由,都会被包含在LSA中进行传递。

LSAck --- 链路状态确认报文作用:对 LSU 做确认,保证 LSA 可靠传输

OSPF状态机

down --- 关闭状态

一旦启动OSPF协议,本地发送hello报文,进入下一个状态

init --- 初始化

本地收到一个hello报文,并且该hello报文中存在自己的RID。

2-way --- 双向通讯

进入该状态,代表 邻居关系建立,此时处于稳定态。

条件匹配:只有条件匹配成功的设备,才会进入到下一个状态;即准备开始进行LSA交换。

exstart --- 预启动

使用未携带数据的DD报文(空的报文),进行主从关系选举。

选择Router-ID大的设备为主。

exchange --- 准交换

使用携带数据的DD报文,交换摘要信息。

本地接收完所有的摘要信息后,进入下一个状态

loading --- 加载状态

邻居之间使用LSR/LSU/LSAck报文来获取完整未知LSA信息。

full --- 转发状态

LSA交换完成后进入的状态,标志着 邻接关系的建立,也是稳定态。

邻居表、LSDB(链路状态数据库)表、OSPF路由表

补充:状态机还存在一个Attempt状态,该状态处于Down和Init之间,该状态,只有在NBMA网络 中才会存在。因为在NBMA网络中,不存在组播行为,所以OSPF启动后,不能直接进入init状态发送报 文,而是进入Attempt状态等待管理员告知本地邻居IP地址,从而发送单播OSPF报文。

条件匹配

目的:角色选举;减少重复更新。

角色分类:

DR --- 指定路由器

BDR --- 备份指定路由器

DRother --- 其他路由器

在一个广播域中,必须存在一个DR设备,BDR可以不存在。

如果两者的角色都是DRother,则形成的是邻居关系,即双方停留在2-way状态。不会传输LSA信息。

DR设备选举规则:1.比较接口优先级,越大越优,默认为1;0代表放弃选举;2.比较RID,越大越 优。注意点:先比较出DR,然后再比较出BDR;

注意:是非抢占模式,即选择出DR后,不会修改。

结构突变

新增网段

断开网段

无法沟通

r1ospf 1 router-id 1.1.1.1 --- 进程号仅具有本地意义,RID手工规定

r1-ospf-1area 0 --- 进入区域

r1-ospf-1-area-0.0.0.0network 10.1.1.1 0.0.0.0 --- 精准宣告

10.1.1.1--->本地待激活接口IP地址

0.0.0.0--->反掩码

结果:10.1.1.1/32:代表仅宣告IP地址为10.1.1.1的接口

宣告:1.激活接口;2.发布路由。

r1-ospf-1-area-0.0.0.0network 12.1.1.0 0.0.0.255 --- 范围宣告

推荐使用精确宣告。

r1display ospf peer brief --- 查看邻居简表

r1display ospf peer --- 查看邻居表

r1display ospf lsdb --- 查看数据库

r1display ospf routing --- 查看OSPF路由表

OSPF优先级默认为10;

OSPF的路由项开销值 = 路由传递过程中,所有入接口的Cost之和;接口Cost = 参考带宽/实际带 宽,参考带宽默认100Mbps。

OSPF报文格式

OSPF头部信息

大小为24字节;

OSPF的 邻居关系建立的影响因素:区域ID、认证、网络掩码、hello时间、死亡时间、可选项;

两台OSPF路由器如果通过MA网络相连,那么双方的直连接口必须配置相同的网络掩码;华为需要 查询。

dead时间一定是hello时间的四倍。

以华为AR系列路由器为例,缺省时,DD报文中的MTU参数默认为0;即对该参数不进行检查。该参 数是影响OSPF 邻接关系建立的因素,如果MTU检查未通过,则双方停留在exstart状态。

ospf mtu-enable 在接口配置
标志位

I位 --- 代表此时进行主从关系选举

M位 --- 代表后续还存在更多的DD报文

MS位 --- 代表该设备为主设备

隐式确认机制 --- 依靠DD序列号完成,主设备每一次发送DD报文,序列号+1;该参数用于确保DD 报文传输的有序性和可靠性。

DD报文分类:

1、未携带数据的DD报文 --- 主从关系选举

2、携带数据的DD报文 --- 同步LSA摘要

3、未携带数据的DD报文 --- 进行隐式确认机制

链路状态类型、链路状态ID、通告路由器 --- 被称为LSA的三元组信息;用来唯一的标识一条LSA。

OSPF的接口网络类型

所谓的OSFP接口网络类型,可以理解为OSPF的接口,在某种网络类型下的工作方式。

如果要修改网络类型,邻居之间,网络类型必须修改一致。是OSPF邻居关系/邻接关系建立的影响 因素。

|----------------|--------------------------------------------------------------|
| 网络类型 | OSPF接口网络类型---工作方式 |
| BMA(Boradcast) | 1.可以建立多个邻居 2.需要进行DR/BDR选举 3.hello 10S;dead 40S |
| P2P(P2P) | 1.可以建立多个邻居 2.不需要进行DR/BDR选举 3.hello 10S;dead 40S |
| 环回接口(虚拟接口-P2P) | 1.华为定义P2P,思科定义loopback 2.该接口无数据收发 3.默认学习主机路由 |
| 手工修改(P2MP) | 1.可以建立多个邻居 2.不需要进行DR/BDR选举 3.hello 30S;dead 120S 4.学习邻居主机路由 |
| 帧中继(NBMA) | 1.可以建立多个邻居 2.需要进行DR/BDR选举 3.hello 30S;dead 120S 4.无法自动建立邻居关系 |
| (Virtual ) | 1.不需要进行DR/BDR选举 2.hello 10S;dead 40S 3.所有报文都是单播报文 |

1. Broadcast 广播型(默认:以太网、Ethernet

  • 场景:以太网、无线等支持广播 / 组播的多路访问网络
  • 选举 DR/BDR
  • Hello 间隔:10s,死亡时间 40s
  • 邻居发现:自动组播发现,无需手动指定邻居
  • 组播地址:224.0.0.5、224.0.0.6

2. P2P 点到点(默认:串口、PPP/HDLC 链路

  • 场景:两端直连串行链路、PPP 链路
  • 不选举 DR/BDR
  • Hello 间隔:10s,死亡时间 40s
  • 邻居自动发现,仅两点互联

3. NBMA 非广播多路访问(默认:帧中继、ATM

  • 场景:帧中继、ATM 等多路访问,但不支持广播 / 组播
  • 选举 DR/BDR
  • Hello 间隔:30s,死亡时间 120s
  • 必须手动指定邻居,无法自动发现

4. P2MP 点到多点

  • 人为修改类型,常用于帧中继网络
  • 不选举 DR/BDR
  • Hello 间隔:30s
  • 把整个网络看成多个点到点链路,自动发现邻居

5. P2MP-NonBroadcast 点到多点非广播

  • P2MP 的非广播版本
  • 不选举 DR/BDR
  • Hello 间隔:30s
  • 不支持广播,需要手动指定邻居

Poll --- 轮询时间 --- 在NBMA网络中,当邻居失效后,路由器将按照Poll时间来定期发送hello报文

Retransmit --- 重传LSA时间

Transmit Delay --- LSA传输延迟时间

LSA存在一个老化时间,当老化时间超时,则LSA会被删除;

在BMA网络上,OSPF以组播 发送hello、LSU和LSAck报文;以单播发送DD、LSR和LSU报文。

在P2P网络上,OSPF以组播发送所有报文。

在环回接口中,Cost恒定为0

Type字段,在华为中使用P2P填充,在思科中使用Loopback填充。

OSPF规则:通过OSPF学习到的环回接口的路由,掩码全部为32位,即主机路由。

r2-LoopBack0ospf network-type broadcast

OSPF进行条件匹配时,存在一个计时器 Waiting ,该计时器时间=该接口的dead时间。当时间超时 后,未选择出接口角色,则本地成为DR/BDR。

华为将tunnel接口的传输速率设定为64Kbps。

特征:P2MP环境中,会学习邻居的接口IP地址的主机路由。

在P2MP环境中,以组播 发送hello报文,以单播发送其余报文。

在NBMA网络中使用OSPF时,需要配置 peer X.X.X.X 命令,指定邻居的IP地址,否则无法正常建 立邻居关系。在该网络中,所有报文都是以单播形式发送。

注意

  1. 只有 Broadcast、NBMA 才选举 DR/BDR
  2. 凡是非广播类型(NBMA、P2MP-NB)都要手动指定邻居
  3. 以太网默认 Broadcast,串口默认 P2P
  4. 10s Hello:Broadcast、P2P;其余均为 30s

OSPF不规则区域划分

OSPF区域划分规则

  1. 所有的非骨干区域与骨干区域直接相连

  2. 骨干区域不能被分割

引出两条OSPF的防环规则

1、非骨干之间不允许直接传递路由信息

2、OSPF区域水平分割规则

所谓的不规则区域:

  1. 远离骨干的非骨干区域

  2. 不连续骨干区域

主流解决方案

方案 1:虚链路 Virtual-link(临时应急方案,不建议长期商用

方案 2:多实例 OSPF / 重新规划组网(最优永久方案

方案 3:使用 Loopback 接口 + 静态路由 做隧道(替代虚链路)

可以使用VPN将R3和R2的区域0部分建立通道,但是因为水平分割会导致道路选择会选择开销最大的路线,不推荐使用

使用Tunnel隧道

R2和R3建立隧道,将隧道宣告在Area 0,使得R3成为ABR设备。

使用VPN隧道的问题:

  1. 选路不佳

  2. 重复更新

  3. 提高带宽的资源消耗

Virtual-link(vlink) :在两台 ABR 之间,通过一个普通非骨干区域(Transit Area)建立的逻辑链路 ,逻辑上属于 Area 0

r2-ospf-1-area-0.0.0.1vlink-peer 3.3.3.3

r3-ospf-1-area-0.0.0.1vlink-peer 2.2.2.2

vlink-peer:指的是存在一个Vlink邻居,后面X.X.X.X,是邻居的Router-ID

注意:Vlink是一个虚拟的链路,这条链路穿越了非骨干区域,在这个非骨干区域中进行配置。

虚链路只能够穿越一个区域。因为配置时使用的是RID,而RID只能在同一个区域内找到,设备无法 跨区域找到RID所对应的设备。

核心规则

  1. 两端必须都是 ABR
  2. 穿越的区域(中转区域)只能是 普通区域不能是 Stub、Totally Stub、NSSA、Totally NSSA
  3. 只能跨 1 个中转区域。
  4. 虚链路属于 Area 0 ,可以传 Type1/2/3/4 LSA ,一般不传外部 Type5
  5. 配置时用对端的 Router-ID,不是接口 IP。

Vlink在建立连接时,如果Vlink的两端设备之间,存在多条路径,Vlink会优选Cost数值最小的路径 来建立Vlink连接。

Vlink被视为是骨干区域的一段延伸,即Vlink永远属于骨干区域。

多进程双向重发布

一台路由器上,可以同时跑多个 OSPF 进程(进程 1、进程 2、进程 100 等)。

  • 不同 OSPF 进程彼此隔离 ,默认不共享路由

重发布:把一种路由信息,以另外一种路由协议的方式发布出去。

前置条件:重发布是执行在ASBR设备上的。

多进程,可以理解为设备身上运行了两种不同的路由协议。此时,R3就会被称为是 ASBR ;

注意:不是同时运行多个协议的设备就一定是ASBR,ASBR一定是将外部路由重发布到OSPF中的设 备,或者说是执行了重发布操作的设备。

重发布:将某一种路由,通过另一种方式发布。

r3-ospf-1import-route ospf 2

---- 将OSPF 2的路由信息,引入到OSPF 1中

r3-ospf-2import-route ospf 1

引入,不会影响到设备自身;

执行完重发布操作后,全图所有设备都将学习到所有的OSPF路由信息,并且不存在选路不佳的情 况。

O_ASE 代表的是OSPF的域外路由信息;这种路由的优先级默认为150。

OSPF多进程场景

OSPF的LSA信息

距离矢量型路由协议 --- 传递的是路由信息 --- 基于传闻的更新。

链路状态型路由协议 --- 不会直接交互路由信息,而是交互链路状态信息 --- 所有的路由器都会产生 用于描述自己直连接口状况的链路状态信息,并且发布出去。

路由器会将网络中洪泛的所有链路状态信息都收集起来,存放在LSDB中(本地以及收到)。

LSDB是全网路由器拥有的一致信息;每台路由器独立运行SPF算法,计算出以本地为根节点的一颗 无环的最短路径树。

OSPF的LSA种类很多,主要使用的6种。

LSA的头部信息

每一个LSA都包含的内容,总共20字节大小。

链路状态老化时间,指的是某条LSA的存活时间;当某条LSA被始发路由器产生时,该数值会被设定 为0,之后随着该LSA在网络中被洪泛,老化时间逐渐累加

一般而言,任何一条LSA的老化时间,不会超过1800秒。 --- 因为存在30min周期链路刷新。

老化时间的最大数值=3600秒;一旦LSA老化时间到达max age时间,认为该LSA失效,会被路由器 从本地LSDB中删除。

在OSPF网络中,只有始发路由器能够提前使得某条LSA老化,即有意识的清除网络中的某条 LSA信息。

任何一条LSA的修改,都必须由始发路由器来完成。

链路状态ID+链路状态类型+通告路由器 ---> LSA的三元组信息,唯一的标识一条LSA。

通告路由器---发布该LSA的路由器的Router-ID。

链路状态序列号(LS seq)

每台路由器,每发送一个LSA(三元组相同),序列号+1。

该参数用于判断LSA的新旧关系,或是否重复。32bit组成,8位十六进制表示。

序列号初始:0x80000001

序列号截止:0x7FFFFFFF

OSPF的序列号不允许进入循环部分。

OSPF序列号刷新机制:当一条LSA序列号为0x7ffffffe时,来到周期链路刷新时,会向外通告 序列号为0x7fffffff的LSA,该LSA老化时间为3600秒;从而将全网LSA删除,始发路由器在产 生一条序列号为0x80000001的LSA信息,进行LSA更新。

判断LSA的新旧关系

  1. 序列号越大,则LSA越新。

  2. 具有较大校验和的LSA更优

  3. 比较两个LSA的老化时间

  4. 如果某条LSA的老化时间 = 3600S,则无条件选择。

  5. 如果没有某条LSA老化时间 = 3600S,则对比两个LSA老化时间的差值

  6. 如果差值>15分钟,则选择老化时间小的LSA

  7. 如果差值<15分钟,则选择任意一条。

Type-1 LSA

网络中的每台设备,都会发送出该类LSA,不管该设备存在多少接口,都只发送一条1类LSA信息同属于一个区域的接口共用同一个1类LSA信息,而不同区域使用不同的1类LSA信息进行描述。

V --- 代表发送该LSA的设备,是Vlink的一个端点

E --- 代表发送该LSA的设备,是一台ASBR设备

B --- 代表发送该LSA的设备,是一个连接在多个区域的设备

1类LSA使用Link信息来描述接口信息,一个接口信息,可能使用多个Link共同来描述。

Type-2 LSA

在MA网络中,OSPF需要选举DR/BDR,邻居信息是保存在DR身上的;

DR会在MA区域内,洪泛Type-2 LSA,列举出接入该MA网络的所有路由器的Router-ID,以及当 前MA网络的网络掩码信息。

LS ID是DR的IP地址。

Type-3 LSA

三类LSA的通告者是ABR设备,并且,ABR设备会将自己本地所有的OSPF路由都转换为对应的三类 LSA,每条路由对应一条三类LSA

链路状态ID字段的数值是路由信息的目的网络地址

LSA中的度量值 = ABR到达目标网段的总开销

三类LSA传递路由信息的逻辑,类似于距离矢量型协议,通告者就是到达目标网段的下一跳

设备接收到3类LSA后,需要根据1/2类LSA计算的拓扑信息,来寻找三类LSA的通告者;如果找到则 可以使用路由,如果未找到,则该3类LSA通告的路由信息在本地无效

注意:三类LSA实际传播范围是单区域,只不过因为通告者是ABR,所以看起好像是多区域之间的传递。

Type-5 LSA

五类LSA是用来传递域外路由信息 ,且该LSA由ASBR产生,并传播到整个OSPF网络

链路状态ID,是域外路由信息的网络地址。

度量值 ---> 该外部路由的Cost,只不过该Cost数值采用了一个常数来表示,这个常数被称为种子度 量值;在OSPF中,种子度量值 = 1。

r4-ospf-1import-route rip 1 cost 10

将RIP 1引入到OSPF 1中,种子度量值修改为10。

E位 ---> 用于标识外部路由使用的度量值类型

Type-1 --- E = 0

域内所有设备到达域外目标网段的Cost = 本地到达ASBR的COST + 种子度量值。

Type-2 --- E = 1

默认使用;域内所有设备到达该域外路由信息的Cost = 种子度量值

区别点,在于路由器的路由表中的Cost数值的显示上;而OSPF在进行路由选路时,对于域外路由信 息,无论是类型1还是类型2,计算时,都会计算自己本地到达ASBR的Cost。即计算本地到ASBR + ASBR到目标网段总开销。

r4-ospf-1import-route rip 1 cost 10 type 1

将RIP 1引入到OSPF 1中,种子度量值修改为10,开销值类型为Type-1。

转发地址 --- FA;目的是解决某些场景中的次优路径问题

FA = 0.0.0.0

本地到达域外路由信息的流量,会被引导到该LSA的通告者,即ASBR上。

在五类LSA中,一般都是0.0.0.0;

FA ≠ 0.0.0.0

本地到达域外路由信息的流量,会被引导FA地址所在设备上。

外部路由标记(External Route Tag) --- 只有域外路由信息才会存在的一个参数,被用于路由策略; 该参数默认数值 = 1;可以被修改

r4-ospf-1import-route rip 1 tag 100

将域外引入的路由信息的标签修改为100

Type-4 LSA

传递路由信息的LSA都需要通过1/2类LSA进行验算(寻找通告者),5类LSA是全OSPF网络传播,除了 ASBR所在的区域的路由器,可以通过1/2类LSA进行验算,其他区域都无法直接验算到ASBR的位置。所 以,需要引入4类LSA来 辅助寻找ASBR的位置。

四类LSA结构非常简单,重点参数两个:

链路状态ID --- ASBR的RID

度量值 --- 该四类LSA的通告者,到达ASBR的开销值

说明:四类LSA使用的是三类LSA的格式,但是四类LSA通告的不是路由,而是ASBR的位置信息。

Type-7 LSA

也是用来描述域外路由信息的LSA,格式与5类LSA相同;但是该LSA只能在NSSA区域中存在。

O_NSSA 代表该路由来自于7类LSA信息;优先级150。

与5类LSA的不同点

  1. Options字段

  2. 五类LSA,显示E标记位;代表允许洪泛5类LSA。

  3. 七类LSA,显示NP标记位;

  4. N --- 代表允许处理7类LSA,一般在NSSA区域中存在。

  5. P --- 代表允许进行7转5操作。

  6. FA字段

  7. 在5类中一般为0.0.0.0;在7类中不为0.0.0.0。

  8. FA为了解决次优路径或路由环路存在。

在7类LSA中,一般使用通告者(ASBR)设备的环回地址作为FA地址,如果存在多个环回, 则使用最先宣告的环回,如果没有环回,则使用物理地址。

LSA总结

Type 1 路由器 LSA(Router LSA)

  • 产生者:所有 OSPF 路由器
  • 泛洪范围仅本区域内,不能跨区域
  • LS ID本设备 Router-ID
  • 内容:描述路由器直连的所有链路、接口状态、链路开销、链路类型
  • 特点 :每台路由器只产生一条Type1 LSA;所有区域必存在

Type 2 网络 LSA(Network LSA)

  • 产生者DR(仅广播 / NBMA 等多路访问网络产生,P2P/P2MP 无)
  • 泛洪范围仅本区域内
  • LS IDDR 接口 IP 地址
  • 内容:描述广播网段的子网掩码、该网段内所有接入路由器
  • 特点:一个 MA 网络只生成一条 Type2;和 Type1 配合计算本网段路由

Type 3 网络汇总 LSA(Network Summary LSA)

  • 产生者ABR
  • 泛洪范围整个 OSPF AS(除特殊区域),可跨区域
  • LS ID目标网段前缀
  • 内容 :传递区域间路由(其他区域的路由)
  • 特点:骨干与非骨干区域之间互通路由依赖它;末梢区域可过滤

Type 4 ASBR 汇总 LSA(ASBR Summary LSA)

  • 产生者ABR
  • 泛洪范围整个 AS(除特殊区域)
  • LS IDASBR 的 Router-ID
  • 内容 :告知全网 ASBR 的位置、到达 ASBR 的开销
  • 特点 :配合 Type5 外部路由使用;NSSA 区域不会产生 Type4

Type 5 外部 LSA(AS External LSA)

  • 产生者ASBR
  • 泛洪范围整个 OSPF 自治系统(所有普通区域)
  • LS ID外部路由网段
  • 内容 :引入 OSPF 域外路由(静态、RIP、BGP 等),分E1、E2 两类开销
    • E2(默认):只算外部开销,域内开销不计
    • E1:外部 + 域内开销累加
  • 特点
    • Stub、Totally Stub 区域完全过滤 Type5
    • NSSA 区域拒绝 Type5

Type 7 NSSA 外部 LSA(NSSA External LSA)

  • 产生者NSSA 区域内的 ASBR
  • 泛洪范围仅 NSSA 区域内部
  • LS ID外部路由网段
  • 内容:和 Type5 作用一致,承载本区域引入的外部路由
  • 特点
    1. 专为 NSSA / Totally NSSA 区域设计
    2. NSSA 的 ABR 会把 Type7 转换为 Type5 再发往其他普通区域
    3. 支持 E1/E2 开销;NSSA 区域无 Type4、Type5

注意在type2中对目的的开销默认为1

OSPF路由撤销

  1. 1类LSA

本地发送序列号+1,校验和不变,老化时间 = 0S

  1. 2类LSA

本地发送序列号+1,校验和不变,老化时间 = 0S

本地发送序列号不变、校验和不变、老化时间 = 3600S

  1. 3/5/7类LSA

本地发送序列号不变、校验和不变、老化时间 = 3600S

OSPF的优化

OSPF优化的目的:减少LSA的更新量,即减少路由信息数量。

1. 路由汇总 --- 减少骨干区域LSA更新量

2. OSPF特殊区域 --- 减少非骨干区域LSA更新量

路由汇总

  1. 域间路由汇总

实质上,是通过在ABR设备上对区域之间传递的三类LSA进行汇总。

多条明细路由 合并为一条大网段路由发布,减少 LSA 数量、缩小路由表、降低设备负载、抑制部分路由震荡 。 OSPF 汇总不能在普通接口做 ,仅支持在 ABR、ASBR 上配置。

r1-ospf-1-area-0.0.0.2abr-summary 192.168.0.0 255.255.252.0

将路由汇总为192.168.0.0/22

说明:从哪个区域学习到明细路由,进入哪个区域进行汇总。

汇总并不会影响ABR设备自身的路由信息。

注意:域间路由汇总,只能汇总ABR设备,通过1/2类LSA学习到的明细路由。

2. 域外路由汇总

实质上,是通过在ASBR设备上对区域之间传递的五类LSA进行汇总。

r4-ospf-1asbr-summary 172.16.0.0 255.255.252.0

注意:5类LSA汇总之后的种子度量值计算方法:

Type1:汇总网段的种子度量值 = 所有明细路由种子度量值的最大值。

Type2:汇总网段的种子度量值 = 所有明细路由种子度量值的最大值 + 1。

OSPF特殊区域

末梢区域 --- Stub

要求:1.不能是骨干区域;2.不能存在虚链路;3.不能存在ASBR设备

  1. 末梢区域 --- Stub Area

特点

该区域将不再学习4/5类LSA信息 --- ABR不再向该区域通告4/5类LSA信息。

该区域还存在访问域外信息的需求,所以,ABR设备会向该区域通告一条3类描述缺省路 由的LSA信息。

r5-ospf-1-area-0.0.0.2stub

r1-ospf-1-area-0.0.0.2stub

注意:该区域内部所有设别,都需要配置上述命令。

  1. 完全末梢区域 --- Totally Stub Area

点:在末梢区域的基础上,进一步的拒绝3类LSA的传播;仅保留一条3类缺省LSA

r1-ospf-1-area-0.0.0.2stub no-summary

该命令只需要在ABR设备身上配置即可。

  • 过滤:Type-4、Type-5 LSA
  • 保留:Type-1、Type-2、Type-3
  • 补充:ABR 自动下发一条默认路由指向骨干
  • 适用:无外部路由接入的末端区域

非完全末梢区域 --- NSSA

要求:1.不能是骨干区域;2.不能存在虚链路;3.必须存在ASBR设备。

1. 非完全末梢区域 --- NSSA

  1. 特点

拒绝4/5类LSA传播到该区域;

但是因为该区域存在ASBR设备,所以一定有引入的路由信息,这类域外路由信息, 使用7类LSA的形式进行传播;该7类LSA在传出NSSA区域时,会被ABR设备转换为 5类LSA进行传播

由ABR设备下发缺省路由;以7类LSA的形式在表示

r3-ospf-1-area-0.0.0.1nssa

r4-ospf-1-area-0.0.0.1nssa

说明:该区域所有设备都需要配置

  • 过滤:Type-3、Type-4、Type-5 LSA(仅保留本区域 1/2 类)
  • 补充:ABR 下发默认路由,路由表最简
  • 适用:纯末端、不需要其他区域明细路由

2. 完全的非完全末梢区域 --- Totally NSSA

  1. 特点:在NSSA区域的基础上,进一步的拒绝3类LSA的传递。但是,ABR会下发一条3类缺省 LSA信息,并保存NSSA区域下发的7类缺省LSA信息。 --- 保留7类缺省,是华为特有的操作
  1. r3-ospf-1-area-0.0.0.1nssa no-summary

说明:在ABR上配置 补充内容 NSSA区域环路问题

  • 过滤:Type-4、Type-5 LSA
  • 允许:Type-1、2、3、Type-7(本区域引入外部路由)
  • 特点:区域内可存在本地 ASBR;ABR 会把 Type-7 转 Type-5 发往其他区域

补充内容

NSSA区域环路问题

总结

  1. NSSA区域的7类LSA需要ASBR或者ABR下发

  2. 如果多台设备下发缺省的7类LSA,虽然本地会收到多条LSA,但不会加入到自己的路由表,因为自 己下发是最好的

  3. 华为为了解决环路问题,保留了NSSA区域由ABR产生的七类LSA缺省路由

OSPF规则:在NSSA区域中,可能同时存在多个ABR设备,为了防止环路产生,ABR设备之间不计 算对方发布的缺省路由

FA地址解决NSSA次优路径问题

OSPF对于7转5操作有规定:

  1. P标记位置位

  2. FA字段不能为0.0.0.0

  3. 如果存在多个ABR,则选择Router-ID最大的设备进行7转5操作

OSPF扩展信息

OSPF扩展配置

  1. 手工认证 --- 在OSPF邻居之间交互的所有报文中,携带口令;如果口令相同,则身份合法。

  2. 接口认证

r1-Serial1/0/0ospf authentication-mode md5 1 cipher 123456

该命令需要在接入当前广播域中的所有设备的接口上进行配置;

注意:Key ID保持一致。

  1. 区域认证 --- 本质还是接口认证,相当于激活了同一个区域中的所有接口

r2-ospf-1-area-0.0.0.0authentication-mode md5 1 cipher 123456

  1. 虚链路认证

r2-ospf-1-area-0.0.0.1vlink-peer 3.3.3.3 md5 1 cipher 123456

  1. 加快收敛 --- 减少计时器时间

r2-GigabitEthernet0/0/0ospf timer ?

dead --- 死亡时间

hello --- hello时间

poll --- 轮询时间

retransmit --- LSA重传时间

注意:1.修改hello时间,dead随之变化;2.修改dead时间,hello时间不变;3.poll仅在 NBMA网络中有效;4.Waiting time时间不需要修改,dead修改后,随之变化。

r2-GigabitEthernet0/0/0ospf trans-delay ? --- 修改LSA传输延迟时间

INTEGER Second(s)

  1. 静默接口 --- 该接口不发送也不接受OSPF的数据报文

  2. 配置在连接终端设备的接口上;如果不想让两台设备建立OSPF邻居。

  1. r2-ospf-1silent-interface GigabitEthernet 0/0/0
  1. 缺省路由

  2. 3类缺省 --- 只能通过特殊区域的ABR设备自动生成;

  3. 标记为ospf,优先级10。

  4. 5类缺省 --- 只能通过手工配置生成

  5. 标记为O_ASE,优先级150。

  1. r2-ospf-1default-route-advertise --- 非强制性下发

r2-ospf-1default-route-advertise always --- 强制下放

  1. 注意:不携带always参数,则本地全局路由表中必须存在一条缺省路由,否则无法生成 5类缺省LSA信息

  2. 7类缺省 --- 可以通过特殊区域下发,也可以使用命令下发。

  3. 标记为O_NSSA,优先级150。

  1. r1-ospf-1-area-0.0.0.2nssa default-route-advertise
  1. 路由过滤 --- 主要针对3/5/7类LSA进行过滤。
  1. r1-ospf-1-area-0.0.0.2abr-summary 15.0.0.0 255.255.255.0 not-advertise 过滤3类LSA r1-ospf-1asbr-summary 15.0.0.0 255.255.255.0 not-advertise 过滤5/7类LSA
  1. 就是借用了汇总的命令,但是没有去汇总路由,填写的还是明细路由,携带not-advertise参数 即可。

  2. 路由控制 --- 干涉路由器的选路,通过修改路由表中的参数。

  3. 优先级

  1. r1-ospf-1preference 50 --- 修改的是OSPF的默认优先级

仅针对类型为OSPF的路由,干涉1/2/3类LSA
2. r1-ospf-1preference ase 100

仅针对类型为O_ASE或者O_NSSA的路由,干涉5/7类LSA

  1. 注意:上述的修改,仅针对设备本地路由表中的默认优先级修改。

  2. 开销值

  3. 接口Cost = 参考带宽/实际带宽

  1. r1-ospf-1bandwidth-reference 10000 --- 修改参考带宽

注意:修改时,全网都需要修改

r1-GigabitEthernet0/0/0undo negotiation auto --- 关闭接口自动协商

r1-GigabitEthernet0/0/0speed 100 --- 命令,需要重启接口

  1. 上述两种方式都不建议使用

3.r1-GigabitEthernet0/0/0ospf cost 500

1. 注意:某条链路两端接口都需要修改,否则可能会出现来回路径不一致问题

附录E

描述了OSPF在特定环境下出现的路由计算错误的问题。

3/5/7类LSA,传递路由信息,而LS ID都是使用路由网络号来标识,LSA三元组中没有掩码信息。

只要3/5/7类LSA的LS ID、通告路由器、LSA序列号相同。

解决思路:

若网络掩码较短的路由先被发布到网络中,则产生 正常的LSA;而 网络掩码较长的LSA发布时, LS ID采用直接广播地址表示。

若网络掩码较长的LSA先发布,则产生正常的LSA;然后发布网络掩码较短的LSA:

先删除源先的LSA,然后使用序列号+1的LSA发布网络掩码较短的路由

在将网络掩码较长的路由,使用直接广播地址方式发布。

OSPF的选路原则

LSA类型分类:

域内 --- 1/2类LSA

域间 --- 3类LSA

域外 --- 5/7LSA;开销值类型 --- Type-1 Type-2

选路原则

  1. 域内 --- 如果到达相同目标网络存在多条通过1/2类LSA学习到的路由信息,则比较Cost,越小越 优;如果开销值相同,则形成负载均衡(路由表中表现为等价路由)。

  2. 域间 --- 如果到达相同目标网络存在多条通过3类LSA学习到的路由信息,则比较Cost,越小越优; 如果开销值相同,则形成负载均衡(路由表中表现为等价路由)。

  3. 域外

  4. Type-1 --- 域内所有设备到达域外目标网段的开销值 = 本地到达ASBR的Cost + 种子度量值 如果到达相同目标网段存在多条通过5/7类LSA学习到的路由信息,且开销值类型均为 Type-1

  5. 直接比较总开销值,即比较种子度量值 + 本地到达ASBR的度量值

  6. 如果相同,则负载均衡

  7. Type-2 --- 域内所有设备到达域外目标网段的开销值 = 种子度量值

如果到达相同目标网段存在多条通过5/7类LSA学习到的路由信息,且开销值类型均为 Type-2

  1. 则先比较种子度量值,越小越优。

  2. 则比较沿途累加开销值,即比较本地到达ASBR的开销值,越小越优。

  3. 如果都相同,则负载均衡

  4. Type-1永远优于Type-2

  5. 域内永远优于域间,域间永远优于域外

总结

1. 区域内路由(优先级最高)

  • 对应 LSA:Type 1 + Type 2
  • 生成范围:本区域内泛洪
  • 路由属性:OSPF 内部路由,协议优先级 10
  • 选路规则:多条域内路由,比较整条路径累加 Cost,开销小者优先。

2. 区域间路由(次之)

  • 对应 LSA:Type 3(ABR 产生)
  • 生成范围:跨区域泛洪
  • 路由属性:仍属于 OSPF 内部路由,协议优先级 10
  • 选路规则: 同网段下,域内路由 > 域间路由; 多条 Type3 路由,对比总 Cost,开销小优先。

3. 外部路由 E1(第三优先级)

  • 对应 LSA:Type5 / Type7
  • 路由属性:OSPF 外部路由,协议优先级 150
  • 开销计算:外部开销 + 沿途所有域内链路 Cost 累加
  • 场景:多路径时,综合全网链路成本选最优。

4. 外部路由 E2(优先级最低,默认类型)

  • 对应 LSA:Type5 / Type7
  • 开销计算:仅比较路由引入时的外部开销,忽略 OSPF 域内链路开销
  • 选路规则:
    1. 先比外部开销,值小优先;
    2. 外部开销相同时,再比较域内到达 ASBR 的 Cost,开销小优先。

同类型 LSA 路由细化规则

  1. 同 LSA 类型、同网段、总 Cost 相等 形成等价路由,设备执行负载分担。
  2. Type4 LSA 作用 仅用于定位 ASBR 位置,不参与路由选路计算,配合 Type5 使用。
  3. NSSA 区域特殊点 区域内 Type7 LSA 路由,选路规则和 Type5 完全一致(区分 E1/E2); Type7 转 Type5 后,遵循普通外部路由规则。

完整选路流程(结合 LSA)

  1. 最长子网掩码匹配
  2. 路由来源 LSA 判断类型: Type1+Type2(域内) > Type3(域间) > Type5/7(E1) > Type5/7(E2)
  3. 同类型路由,对比总开销 Cost,开销越小越优
  4. 开销一致,负载分担
相关推荐
薛定猫AI1 小时前
【深度解析】Hermes Agent Velocity Release:长期记忆、自进化技能与多智能体任务编排实践
网络·人工智能
Leweslyh1 小时前
基于 Confucius 架构的无人集群网络控制原语解析
开发语言·网络·php
古月方枘Fry1 小时前
OSPF 企业级多区域网络
运维·服务器·网络
Amnesia0_02 小时前
网络层IP
网络·网络协议·tcp/ip
MR.欻2 小时前
ZLMediaKit 源码分析(七):HTTP-FLV 低延迟直播流分析
网络·网络协议·http
想不明白的过度思考者2 小时前
Unity学习笔记——虚拟摇杆实现笔记(事件触发器的使用、UGUI 坐标转换)
笔记·学习·unity
Zzzzmo_2 小时前
【网络原理】TCP/IP协议01
网络·tcp/ip
疯狂打码的少年3 小时前
流水线冒险(结构冒险/数据冒险/控制冒险)
笔记
dxxt_yy3 小时前
鼎讯信通 TY-30H 光纤熔接机:铁路通信施工设备科普
网络