设为首页收藏本站language→→ 语言切换

鸿鹄论坛

 找回密码
 论坛注册

QQ登录

先注册再绑定QQ

查看: 1820|回复: 2
收起左侧

[分享] OSPF LSA详解(二)

[复制链接]
 成长值: 62755
发表于 2024-6-2 18:40:54 | 显示全部楼层 |阅读模式
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报文格式
1.png

● 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 IDLink 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应用示意图
2.png

如上图所示,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应用示意图
3.png

如上图所示,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虚链路应用示意图
4.png

如上图所示,当骨干区域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报文格式
5.png

● 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应用示意图
6.png

在锐捷设备上通过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网络的网络信息。

发表于 2024-7-12 15:13:30 | 显示全部楼层
好好学习,天天向上
板凳 2024-7-12 15:13:30 回复 收起回复
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2024-12-21 23:51 , Processed in 0.069318 second(s), 12 queries , Redis On.  

  Powered by Discuz!

  © 2001-2024 HH010.COM

快速回复 返回顶部 返回列表