017D-OSPF之一类,二类,三类LSA

常用的五种LSA

LSR : LS Type , Link State ID ,ADV
LSU
LSack

LS Type , Link State ID ,ADV三个字段可以唯一的标示一条LSA

序号是一个32 位符号整数。用于判定旧的或相同的LSA。序号空间是线形的,较大的序
号(按32位符号整数比较)表示较新的LSA。为了更精确的描述序号,下面定义N为常数2**31。

序号 -N(0x80000000)被保留未用。而-N+1(0x80000001)表示最小(也就是最旧)的序号,这一序号被定义为常数InitialSequenceNumber。路由器在第一次生成任何LSA 的时候使用InitialSequenceNumber。然后,当每次路由器生成新的LSA 实例时,将LSA 的序号加一。

当试图增加最大序号N-1(0x7fffffff,也被定义为MaxSequenceNumber)时,必须先将当前LSA从路由域中废止。这通过将LSA 提早老化(见第14.1 节)并重新洪泛而实现。当从所有邻接的邻居收到确认后,生成以InitialSequenceNumber 为序号的新实例。

当在洪泛过程中收到意外的LSA新实例时,路由器可能会强制提高其LSA 序号。

LSA会更新
1、正常情况下 1800秒会更新一次
2、触发更新(接口信息有变化,就会更新,增加接口,修改接口,删除接口,调整开销)

LSA的新旧比较
1、先比较LSA的序列号,序列号越大越优
2、如果LSA序列号相等,比较校验值(Checksum值)越大越优
3、如果Checksum值也相等,会比较LSA的Age时间是否等于Max_age时间,如果等于max_age,最优
4 、如果LSA的age时间不等Max_age时间会比较他们之间的差值,如果大于15分钟(900秒),越小越优
5、如果LSA的Age时间不等Max_age时间会比较他们之间的差值,如果小于15分钟(900秒),认为是同一条LSA,会忽略掉其中一条

OSPF设备不会删除非自己产生的LSA


一类LSA:Router LSA

每个路由器都会产生,描述的是链路状态和开销,一类LSA只在所属区域内泛洪

[AR1]dis ospf lsdb router 1.1.1.1

         OSPF Process 10 with Router ID 1.1.1.1
                         Area: 0.0.0.0
                 Link State Database 


  Type      : Router
  Ls id     : 1.1.1.1            # 产生此LSA的Router ID
  Adv rtr   : 1.1.1.1            #发布此LSA的Router ID
  Ls age    : 73 
  Len       : 72 
  Options   :  E           #E(Option中的E位)位置1,表明该支持5类LSA Flag位:V:虚连接  B ABR  E:ASBR
  seq#      : 80000017 
  chksum    : 0x865b
  Link count: 4
   * Link ID: 4.4.4.4      
     Data   : 14.1.1.1     
     Link Type: P-2-P        
     Metric : 48
   * Link ID: 14.1.1.0     
     Data   : 255.255.255.0 
     Link Type: StubNet      
     Metric : 48 
     Priority : Low
   * Link ID: 1.1.1.1      
     Data   : 255.255.255.255 
     Link Type: StubNet      
     Metric : 0 
     Priority : Medium
   * Link ID: 172.16.10.1                 
     Data   : 172.16.10.1  
     Link Type: TransNet     
     Metric : 1
Link TypeLink IDData
Point-to-point邻居的Router ID该网段上本地接口的IP地址
TransNetDR的接口IP地址该网段上本地接口的IP地址
StubNet该Stub网段的IP网络地址该Stub网段的网络掩码
Virtual虚连接邻居的Router ID去往该虚连接邻居的本地接口的IP地址

Metric值
OSPF依据Metric值来进行选路
Metric值参考值10^8/带宽=100M/接口带宽
修改OSPF的参考带宽
bandwidth-reference 1000 /要在整个OSPF所有设备上都进行配置

Router LSA类型:
Stub网段:表示该网段只有数据入口

每台OSPF路由器只使用一条Router-LSA描述属于一个区域的本地活动链接状态,一条Router-LSA可以描述多条链接,每条链接由Link ID,Data,Type和Metric描述。

  1. Type:链接类型(并非OSPF所支持的网络类型),Router-LSA描述的链接类型共有四种:
    Point-to-Point:描述一个从本路由器到邻居路由器之间的点到点链接。
    TransNet:描述一个从本路由器到一个Transit网段(例如广播型网段或者NBMA网段)的链接。
    StubNet:描述一个从本路由器到一个Stub网段(例如Loopback接口)的链接。
    Virtual:表示这是一个从本路由器到虚连接对端ABR的链接。

  2. Link ID:此链接的对端标识,不同链接类型的Link ID表示的意义也不同。

  3. Data:用于描述此链接的附加信息,不同的链接类型所描述的信息也不同。

广播类型的接口,链路类型是transnet
环回口 链路类型是stub
点到点链会生成两种类型: P2P ,Stub

OPSF是先计算P2P ,Transnet

在这里插入图片描述例如
在这里插入图片描述Metric值,P2P链路计算为100M/2.048=48.828125‬ 取整数部分为48。

如上图,10.1.1.1/24 到20.1.1./24的ospf路由开销值为96。如果RTB的ip地址为10.1.1.2/24,则RTA和RTB处于同一网段,ospf路由开销值为48(此场景可以理解为N1和N2合并为一个网络),路由开销值为0,因为直连路由覆盖了ospf开销值48
在这里插入图片描述

[AR1]dis current-configuration | in ospf
ospf 10 router-id 1.1.1.1
[AR1-ospf-10]display this 
[V200R003C00]
#
ospf 10 router-id 1.1.1.1 
 area 0.0.0.0 
  network 11.11.11.11 0.0.0.0 
  network 12.1.1.1 0.0.0.0 
#
return
[AR1]display ospf lsdb router 1.1.1.1

	 OSPF Process 10 with Router ID 1.1.1.1
		         Area: 0.0.0.0
		 Link State Database 


  Type      : Router
  Ls id     : 1.1.1.1
  Adv rtr   : 1.1.1.1  
  Ls age    : 187 
  Len       : 60 
  Options   :  E  
  seq#      : 80000007 
  chksum    : 0xf97b
  Link count: 3
   * Link ID: 2.2.2.2      
     Data   : 12.1.1.1     
     Link Type: P-2-P        
     Metric : 48
   * Link ID: 12.1.1.0     
     Data   : 255.255.255.0 
     Link Type: StubNet      
     Metric : 48 
     Priority : Low
   * Link ID: 11.11.11.11  
     Data   : 255.255.255.255 
     Link Type: StubNet      
     Metric : 0 
     Priority : Medium
[AR1]dis ip routing-table protocol ospf 
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Public routing table : OSPF
         Destinations : 2        Routes : 2        

OSPF routing table status : <Active>
         Destinations : 2        Routes : 2

Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface

       21.1.1.0/24  OSPF    10   96          D   21.1.1.2        Serial1/0/0
    22.22.22.22/32  OSPF    10   48          D   21.1.1.2        Serial1/0/0

OSPF routing table status : <Inactive>
         Destinations : 0        Routes : 0
[AR1]dis ip routing-table 
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Public
         Destinations : 11       Routes : 11       

Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface

    11.11.11.11/32  Direct  0    0           D   127.0.0.1       LoopBack0
       12.1.1.0/24  Direct  0    0           D   12.1.1.1        Serial1/0/0
       12.1.1.1/32  Direct  0    0           D   127.0.0.1       Serial1/0/0
     12.1.1.255/32  Direct  0    0           D   127.0.0.1       Serial1/0/0
       21.1.1.0/24  OSPF    10   96          D   21.1.1.2        Serial1/0/0
       21.1.1.2/32  Direct  0    0           D   21.1.1.2        Serial1/0/0
    22.22.22.22/32  OSPF    10   48          D   21.1.1.2        Serial1/0/0
      127.0.0.0/8   Direct  0    0           D   127.0.0.1       InLoopBack0
      127.0.0.1/32  Direct  0    0           D   127.0.0.1       InLoopBack0
127.255.255.255/32  Direct  0    0           D   127.0.0.1       InLoopBack0
255.255.255.255/32  Direct  0    0           D   127.0.0.1       InLoopBack0


#修改R2的s1/0/0ip为12.1.1.2/24
[AR1]dis ip routing-table protocol ospf 
[AR1]dis ip routing-table 
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Public
         Destinations : 9        Routes : 9        

Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface

    11.11.11.11/32  Direct  0    0           D   127.0.0.1       LoopBack0
       12.1.1.0/24  Direct  0    0           D   12.1.1.1        Serial1/0/0
       12.1.1.1/32  Direct  0    0           D   127.0.0.1       Serial1/0/0
       12.1.1.2/32  Direct  0    0           D   12.1.1.2        Serial1/0/0
     12.1.1.255/32  Direct  0    0           D   127.0.0.1       Serial1/0/0
      127.0.0.0/8   Direct  0    0           D   127.0.0.1       InLoopBack0
      127.0.0.1/32  Direct  0    0           D   127.0.0.1       InLoopBack0
127.255.255.255/32  Direct  0    0           D   127.0.0.1       InLoopBack0
255.255.255.255/32  Direct  0    0           D   127.0.0.1       InLoopBack0
二类LSA:Network LSA

二类LSA只在广播类型的网络和NBMA网络存在,由DR生成,包含所有该链路上的设备的Router ID,和该网络中的掩码。一类和二类LSA只能在本区域传输

[AR2]dis ospf lsdb network 172.16.10.1

	 OSPF Process 10 with Router ID 2.2.2.2
		         Area: 0.0.0.0
		 Link State Database 


  Type      : Network
  Ls id     : 172.16.10.1
  Adv rtr   : 1.1.1.1  
  Ls age    : 1307 
  Len       : 36 
  Options   :  E  
  seq#      : 80000004 
  chksum    : 0xb4ba
  Net mask  : 255.255.255.0
  Priority  : Low
     Attached Router    1.1.1.1
     Attached Router    2.2.2.2
     Attached Router    3.3.3.3

每个路由器计算以自己为根的最短路径树。

计算最短路径树的过程分为两个阶段:
第一阶段,计算所有的Transit节点,包括路由器和Transit网段。(Transition,P2P)
第二阶段,计算Stub网段。

区域边界路由器(ABR)上有多个LSDB,ABR为每一个区域维护一个LSDB。
ABR将所连接的非骨干区域内的链路状态信息抽象成路由信息,并发布到骨干区域中,由骨干区域进一步发布到其他非骨干区域中。
ABR也要将骨干区域的链路状态信息抽象成路由信息,并发布到所连接的非骨干区域中。

三类LSA:Summary-LSA

三类LSA由ABR产生,可以跨区域传递,描述的是路由信息,与拓扑无关 ,ABR会将区域内的一类LSA,二类LSA转成三类LSA泛洪到其他区域

[AR2]dis ospf lsdb summary 172.16.10.0

	 OSPF Process 10 with Router ID 2.2.2.2
		         Area: 0.0.0.0
		 Link State Database 


  Type      : Sum-Net
  Ls id     : 172.16.10.0             (通告网络前缀信息)
  Adv rtr   : 2.2.2.2                  通告者的Router ID,应该是ABR
  Ls age    : 1728 
  Len       : 28 
  Options   :  E  
  seq#      : 80000003 
  chksum    : 0x2338
  Net mask  : 255.255.255.0             掩码
  Tos 0  metric: 49                     开销
  Priority  : Low
		         Area: 0.0.0.10
		 Link State Database 

 
[AR2]

三类LSA的防环:
OSPF从非骨干区域收到的一类或二类LSA,转成三类LSA,不会再回到起始区域
为了避免区域间的环路,OSPF规定不允许直接在两个非骨干区域之间发布路由信息,只允许在一个区域内部或者在骨干区域和非骨干区域之间发布路由信息

### OSPF 协议中三类 LSA 的功能与作用 OSPF(Open Shortest Path First)是一种基于链路状态的内部网关协议,其核心在于通过各种类型的 LSA(Link State Advertisement)来传播网络拓扑信息。其中,三类 LSA 是一种重要的 LSA 类型,主要用于描述区域间的路由信息。 #### 1. **三类 LSA 的定义** 三类 LSA 又称为 Network Summary LSA,是由 ABR(Area Border Router)生成并用于在不同的 OSPF 区域之间传递汇总后的路由信息[^3]。这类 LSA 不会在 Stub 或 NSSA 区域之外泛洪。 #### 2. **三类 LSA 的主要作用** 三类 LSA 的主要目的是将一个区域内的路由信息传递到其他区域,从而实现跨区域的路由计算。具体来说: - 它描述了一个特定区域中的某个网络如何被访问。 - 提供了从一个区域到另一个区域的路径摘要信息,而不包含具体的链路详情[^5]。 #### 3. **三类 LSA 的结构与字段** 三类 LSA 中的关键字段包括但不限于以下内容: - **Advertising Router**: 表示生成该 LSA 的 ABR 路由器 ID。 - **Network Mask**: 子网掩码,表示目标网络的子网划分情况。 - **Metric (Cost)**: 描述到达目标网络的成本值,通常基于带宽或其他度量标准计算得出。 #### 4. **三类 LSA 的应用场景** 当一个区域内的某条路由需要通告给其他区域时,ABR 将会创建相应的三类 LSA 并将其发送至相邻区域。这种机制有助于减少不必要的详细拓扑信息交换,提高整个 OSPF 域的效率和可扩展性。 以下是生成三类 LSA 的典型场景: - 当 ABR 接收到本区域内的一类二类 LSA 后,它会对这些信息进行处理,并以三类 LSA 的形式向其他区域广播。 - 如果某些网络地址属于多个区域,则可以通过配置过滤规则控制哪些网络会被转换成三类 LSA 进行分发。 ```python # 示例 Python 代码展示如何模拟简单的 LSA 泛洪过程 class LSAGenerator: def __init__(self, router_id, area_id): self.router_id = router_id self.area_id = area_id def generate_lsa(self, lsa_type, network_mask, metric): return { 'type': lsa_type, 'advertising_router': self.router_id, 'network_mask': network_mask, 'metric': metric } abrouter = LSAGenerator('10.0.0.1', '0.0.0.1') summary_lsa = abrouter.generate_lsa(3, '255.255.255.0', 10) print(summary_lsa) ``` 上述代码片段展示了如何构建一个代表三类 LSA 的字典对象,其中包括广告路由器、网络掩码以及成本等关键属性。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值