1 前言
在《OSPF LSA详解(一)》中已对OSPF LSA的基本概念、通用报头信息和分类进行了简单讲解。为了进一步了解各类LSA的差别和作用场景,本文将对在区域内传播的OSPF LSA类型和作用进行详细讲解,包括Router-LSA(Type 1 LSA)和Network-LSA(Type 2 LSA)。
2 Router-LSA(Type 1 LSA)
2.1 报文详解
Router-LSA描述了路由器的链路状态和开销信息,所有开启OSPF功能的路由器均会生成此类LSA,因此在所有区域中均会存在此类LSA。但该LSA生成后,仅在本区域内传播。对Router-LSA报文的详细介绍如下所示:
图2-1 Router-LSA报文格式
● Link State ID
链路状态ID,为产生该LSA的路由器的ID。
● Advertising Router
通告路由器,为产生该LSA的路由器的ID。
● V/E/B
若产生该LSA的路由器是虚链路的端点,V为1;否则,V为0。
若产生该LSA的路由器是ASBR,E为1;否则,E为0。
若产生该LSA的路由器是ABR,B为1;否则,B为0。
● Number of Link
表示该LSA所描述的链路数量。
一条Router-LSA可以描述多条链路的状态信息,每条链路状态信息通过Link ID、Link Data和Link Type唯一标识。
● Link ID/Link Data/Link Type
Link ID用于标识该链路所连接的对象;Link Data用于标识连接的数据;Link Type用于标识链路的类型,是对该路由器连接情况的基本描述。Link ID和Link Data的取值均取决于Link Type。三者之间的关系与取值如下表所示:
表2-1 Link Type、Link ID和Link Data取值说明
Link Type | 说明 | Link ID | Link Data |
1 (P2P) |
描述本路由器到邻居路由器的点到点链路,属于拓扑信息 | 邻居路由器的ID | 本路由器上连接P2P链路的接口IP地址 |
2 (TransNet) |
描述本路由器到一个Transit网络(MA网络或NBMA网络)的链路,属于拓扑信息 | DR的接口IP地址 | 本路由器上连接Transit网络的接口IP地址 |
3 (StubNet) |
描述本路由器到一个Stub网络(点到点连接的网络、Loopback接口或连接了PC的末梢网络)的链路,属于路由信息 | Stub网络的网络地址/子网号 | Stub网络的子网掩码 |
4 (Virutal) |
描述本路由器到邻居路由器的虚链接,属于拓扑信息 | 虚链路中对端路由器的ID | 本路由器上连接邻居接口的IP地址 |
● Number of ToS
连接不同的ToS(Type of Service,服务类型)的数量,通常为0。
● Metric
链路的开销值。
● ToS
ToS用于QoS路由,针对不同的ToS值,链路可以配置不同开销,从而实现对目的地址相同但ToS值不同的报文进行路由区分。但在RFC 2328中取消了基于ToS路由的应用,只支持ToS 0,因此该字段取值通常为0。
● ToS Metric
指定ToS的开销值。
2.2 应用实例
对Router-LSA而言,其重要作用就是描绘本设备直连的拓扑信息,是OSPF网络中所有设备获取LSDB的基础。其中根据不同的链路类型,在报文中通过Link Type、Link ID和Link Data来区分描述。以下将通过具体的实例,在锐捷设备上通过show ip ospf database router命令查看Router-LSA信息,来展现Router-LSA对不同类型链路的描述方式。
2.2.1 Router-LSA描述P2P网络
图2-2 P2P网络中的OSPF应用示意图
如上图所示,Device B作为骨干区域Area 0和常规区域Area 1的边界设备,分别与Device A和Device C建立邻居关系,相连接口的网络类型为P2P类型。此时,在Device A上通过命令show ip ospf database router self-originate查看由Device A自身产生的Router-LSA信息,显示信息如下:
Device A# show ip ospf database router self-originate
OSPF Router with ID (1.1.1.1) (Process ID 1)
Router Link States (Area 0.0.0.0)
LS age: 1164
Options: 0x2 (-|-|-|-|-|-|E|-)
Flags: 0x0
LS Type: router-LSA // 表示LSA类型为Router-LSA
Link State ID: 1.1.1.1 // 链路状态ID在Router-LSA中取值为产生该LSA的Router ID
Advertising Router: 1.1.1.1 // 表示通告该LSA的路由器为Device A
LS Seq Number: 80000007
Checksum: 0xb55e
Length: 48
Number of Links: 2 // 本条LSA中包含两条链路的描述信息
Link connected to: another Router (point-to-point) // 第一条链路描述信息,类型为P2P网络
(Link ID) Neighboring Router ID: 2.2.2.2 // Link ID为邻居Device B的Router ID
(Link Data) Router Interface address: 10.1.1.1 // Link Data为连接Device B的接口地址
Number of TOS metrics: 0
TOS 0 Metric: 1 // 度量值,默认为1
Link connected to: Stub Network // 第二条链路描述信息,类型为Stub网络
(Link ID) Network/subnet number: 10.1.1.0 // Link ID为Stub网络的网络地址
(Link Data) Network Mask: 255.255.255.0 // Link Data为Stub网络的子网掩码
Number of TOS metrics: 0
TOS 0 Metric: 1
|
通过上述回显信息可以看到,在P2P网络中,开启OSPF功能的Device A会通告一条Router-LSA,其中包含两条链路状态信息,分别描述了连接到邻居路由器Device B的拓扑信息(通过什么接口,连接到什么设备)和该接口所在末梢网络的路由信息(所在网络的网络号和子网掩码)。
若使用show ip ospf database router查看Device A的LSDB中所有的Router-LSA信息,还能够看到来自Device B通告的路由信息,其内容和前述的Device A通告信息类似,但描述的是以Device B视角看到的链路情况。这些信息通过设备间OSPF报文的交互进行传递,从而实现Device A和Device B上链路状态信息的同步。Device A能够通过和Device B的信息交互,获取其未知的链路状态信息。但是在回显中将会看到,Device B未将与Device C连接的链路信息传递给Device A,这是由于二者不在同一个Area内。由此,可以确认Router-LSA仅在区域内传播。
2.2.2 Router-LSA描述MA网络
图2-3 MA网络中的OSPF应用示意图
如上图所示,Device A、Device B和Device C处于OSPF的同一个区域内,三台设备间通过以太链路互联,接口封装以太网协议,OSPF网络类型默认为广播类型,因而该网络为多路访问(MA)网络。Device A和Device C的G0/1接口分别作为MA网络中的BDR和DR,将与MA网络中的所有设备建立邻接关系。
在Device A上通过show ip ospf database router self-originate可以查看由Device A产生的Router-LSA信息,显示如下:
Device A# show ip ospf database router self-originate
OSPF Router with ID (1.1.1.1) (Process ID 1)
Router Link States (Area 0.0.0.0)
LS age: 1055
Options: 0x2 (-|-|-|-|-|-|E|-)
Flags: 0x0
LS Type: router-LSA // 表示LSA类型为Router-LSA
Link State ID: 1.1.1.1 // 链路状态ID在Router-LSA中取值为产生该LSA的Router ID
Advertising Router: 1.1.1.1 // 表示通告该LSA的路由器为Device A
LS Seq Number: 80000030
Checksum: 0xeffb
Length: 48
Number of Links: 1
Link connected to: a Transit Network // 链路描述信息,类型为Transit网络
(Link ID) Designated Router address: 10.1.1.3 // Link ID为DR(Device C G0/1)的IP地址
(Link Data) Router Interface address: 10.1.1.1 // Link Data为本设备上接入Transit网络的
接口地址
Number of TOS metrics: 0
TOS 0 Metric: 1 // 度量值,默认为1
|
通过上述回显信息可以看到,在MA网络中,开启OSPF功能的Device A会通告一条Router-LSA,其中包含一条链路状态信息,描述了从本设备到DR的拓扑信息(DR的地址是什么,通过什么接口与其连接)。
2.2.3 Router-LSA描述虚链路
图2-4 OSPF虚链路应用示意图
如上图所示,当骨干区域Area 0和常规区域Area 2在物理上无法直接相连时,会在Device B和Device C间建立虚链路,将Area 0延伸至Device C,则可以实现Area 0与Area 2两区域在Device C上直接相连。此时,在Device C上通过show ip ospf database router self-originate可以查看由其产生的Router-LSA信息,以下显示与虚链路相关的部分回显信息:
Device C# show ip ospf database router self-originate
OSPF Router with ID (3.3.3.3) (Process ID 1)
Router Link States (Area 0.0.0.0)
LS age: 31
Options: 0x2 (-|-|-|-|-|-|E|-)
Flags: 0x1 : ABR
LS Type: router-LSA // 表示LSA类型为Router-LSA
Link State ID: 3.3.3.3 // 链路状态ID在Router-LSA中取值为产生该LSA的Router ID
Advertising Router: 3.3.3.3 // 表示通告该LSA的路由器为Device A
LS Seq Number: 80000002
Checksum: 0xd2d8
Length: 36
Number of Links: 1
Link connected to: a Virtual Link // 链路描述信息,类型为虚链路
(Link ID) Neighboring Router ID: 2.2.2.2 // Link ID为虚链路中对端路由器的Router ID
(Link Data) Router Interface address: 192.168.23.3 // Link Data为本设备上连接该邻居的接口的
IP地址
Number of TOS metrics: 0
TOS 0 Metric: 1 // 度量值,默认为1
|
若查看完整的回显信息则可以看到,在Device C上建立虚链接时,Device C将通告三条Router-LSA,分别描述到虚链路邻居设备的拓扑信息(通过什么接口,虚连接到什么设备),以及通过物理连接的两个网络的链路状态信息。其中包含一条链路状态信息,描述了到MA或NBMA网络中DR的拓扑信息(DR的地址是什么,通过什么接口与其连接)。
3 Network-LSA(Type 2 LSA)
3.1 报文详解
通过2.2.2 Router-LSA描述MA网络中的讲解可知,在MA网络中,所有设备均会产生一个Router-LSA。但仅通过Router-LSA,无法准确描述MA网络拓扑。这是由于在描述MA网络时,Router-LSA仅描述了DR的地址以及去往DR的本地接口信息。而未描述与该接口相连网段的网络号与掩码等网络信息,以及链路上其他路由器的信息,因此对于网络的描述不完整。若要像描述P2P网络一般,既要描述去往邻居的接口信息,又要描述网段信息,则会产生大量的LSA,影响传输效率,因此出现了Network-LSA。
Network-LSA由每个MA网络中的DR产生,仅在DR所在的区域内泛洪,有几个DR就会产生几个Network-LSA。在此类LSA中列出了接入该网络的所有路由器ID,并且携带有DR接口的IP地址和掩码,从而补充了Router-LSA对于网段信息描述的缺失。只需要用一条LSA即可描述整个MA网络的网络信息,有效缩小了LSDB的体积。
对Network-LSA报文的详细介绍如下所示:
图3-1 Network-LSA报文格式
● Link State ID
链路状态ID,DR的接口IP地址。
● Advertising Router
通告路由器,为DR所在的路由器的Router ID。
● Network Mask
该广播或NBMA类型网络的地址掩码。
● Attached Router
连接在该网络上所有路由器(包括DR)的Router ID。
3.2 应用实例
图3-2 MA网络中的OSPF应用示意图
在锐捷设备上通过show ip ospf database network命令能够查看Network-LSA信息。此处在Device C上查看,显示如下:
Device C# show ip ospf database network
OSPF Router with ID (3.3.3.3) (Process ID 1)
Network Link States (Area 0.0.0.0)
LS age: 296
Options: 0x2 (-|-|-|-|-|-|E|-)
LS Type: network-LSA // 表示LSA类型为Network-LSA
Link State ID: 10.1.1.3 (address of Designated Router) // 链路状态ID为DR的IP地址
Advertising Router: 3.3.3.3 // DR的Router ID
LS Seq Number: 8000001a
Checksum: 0x62a7
Length: 36
Network Mask: /24 // 表示该网络地址的掩码长度为24位
Attached Router: 3.3.3.3 // 网络中所有路由器的Router ID
Attached Router: 1.1.1.1
Attached Router: 2.2.2.2
|
通过上述回显信息可以看到,Link State ID告知了DR的IP地址,Network Mask又获取了掩码长度,通过将二者进行与运算,即可得到MA网络中的网络信息,在上述举例中即为10.1.1.0/24。继而通过Attached Router中显示的路由器信息,方可描绘出这个网络的情况。
4 结语
本文通过分析报文与网络实例对两种在区域内传播的OSPF LSA类型和作用进行了详细讲解。其中,OSPF通过Router-LSA描述了每个路由器的链路状态和开销信息,并且根据不同的链路类型在LSA的报文中通过不同的Link ID和Link Data来体现该链路的信息。每个设备都会产生Router-LSA,并在本区域内泛洪,设备间通过交换Router-LSA,即可描绘出一个区域内的拓扑信息。
而在多路访问网络中,为了能够完善对网段信息的描述,同时减少需要传递的LSA数量,因此通过Network-LSA来实现。Network-LSA由网络中的DR通告,有几个DR便会产生几个二类LSA,并且仅在DR所在区域内泛洪,通过Network-LSA即可描述MA网络的网络信息。
上述两类OSPF LSA的传播范围都仅限于本区域内,但由于OSPF具有多区域的特点,如何使得各区域间的链路状态信息互通便成为了需要考虑的问题。因此,能在区域间传播的Network-Summary-LSA以及ASBR-Summary-LSA便应运而生,关于二者的详细介绍,请听下回分解。
更多技术博文
-
全调度以太网(GSE),中国智算网络新标准
GSE网络作为一种全调度以太网技术,专为大规模AI训练集群设计,通过按需调度实现无损性能,提供灵活快速的部署方案,构建开放生态,显著提升智算效率和运维体验。
-
#知识百科
-
-
以太和PON,谁能更好地支撑办公室横向流量业务?
了解以太彩光与PON的区别,解析办公资源共享难题,锐捷极简以太彩光方案助您高效适配办公网,共享打印无压力!
-
#交换机
-
-
场景无线 驱动高效办公!锐捷新一代企业无线办公解决方案全新发布!
面对企业数智化转型中的无线办公网络挑战,锐捷新一代企业无线办公解决方案通过全场景AP、智能调度与云端智能运维等技术,实现网络性能、用户体验与运维效率的全面提升。
-
#无线网
-
#办公网
-
-
以太彩光和PON,运维管理谁技高一筹?
锐捷网络提供极简以太全光方案,简化配置流程,降低学习成本,让全光网络升级更平滑。
-
#交换机
-