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 ID :DR 接口 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 ID :ASBR 的 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. 开销一致,负载分担
相关推荐
果壳science1 小时前
张祥前实验如何获取正电荷
笔记·科技·嵌入式硬件·硬件工程·制造
IMPYLH1 小时前
Linux 系统备份与镜像
linux·服务器·网络
淘气包海鸟2 小时前
水声网络框架
网络·ns3·水
大叔学Linux3 小时前
FreeRTOS任务切换笔记
arm开发·笔记
国科安芯3 小时前
星间激光通信终端CANFD控制网络的时延确定性与辐射可靠性
网络·嵌入式硬件·信息与通信·canfd·低轨卫星·商业航天·抗辐射
中屹指纹浏览器svip4 小时前
网络抖动会标记账号异常?分清两种波动
网络
承渊政道4 小时前
Linux网络学习【传输层协议UDP】
linux·网络·网络协议·学习·ubuntu·udp
小此方4 小时前
Linux网络(三十三):告别O(n)噩梦:从select/poll的挣扎到epoll红黑树+回调的降维打击,一文打通IO多路复用
linux·网络·驱动开发
2301_777998344 小时前
Linux 网络:数据链路层
linux·服务器·网络
国科安芯5 小时前
空间锂离子电池组管理系统CANFD通信网络的辐射可靠性设计
网络·信息与通信·canfd·电池·低轨卫星·抗辐射