首页 > 其他分享 >OSPF-1类Router LSA学习

OSPF-1类Router LSA学习

时间:2024-03-20 18:01:49浏览次数:21  
标签:10.0 LSA Link Router OSPF 路由器

前面我们又复习了一遍OSPF概述,在OSPF建立关系后有几种交互报文,通过LSU类型报文包含LSA信息实现路由信息传递,常见了1、2、3、4、5、7类LSA,分别对应不同功能使用。这里先看下1类LSA-Router LSA。

一、LSA概述

LSA,全称为Link State Advertisement,即链路状态通告,是OSPF(Open Shortest Path First)路由协议中的一个关键组成部分。

LSA记录了OSPF路由器所了解到的网络拓扑信息,包括连接的网络设备、路由器之间的连接信息、链路状态、度量值等。在OSPF协议中,网络被划分成了不同的区域,每个区域内部的路由器会收集各自所连接的网络的信息,并将这些信息记录在LSA中。当一个OSPF路由器收到其他路由器发送的LSA时,会通过比较这些LSA来计算最短路径,从而确定数据包的传输路径。

LSA类似于一条数据记录或者说原材料,然后路由器将这些LSA存放在LSDB数据库里面,正常情况下区域内的LSDB保持一致,然后路由器根据这些LSA通过SPF算法计算到达各个目的网络的路径,这样子保证区域内无环路。

LSDB
LSDB

LSA是OSPF进行路由计算的关键依据。OSPF的LSU报文可以携带多种不同类型的LSA。各种类型的LSA拥有相同的报文头部。

LSA 相关字段说明:

  1. LS Age(链路状态老化时间):此字段表示LSA已经生存的时间,单位是秒。
  2. Options(可选项):每一个bit都对应了OSPF所支持的某种特性。
  3. LS Type(链路状态类型):指示本LSA的类型。
  4. Link State ID(链路状态ID):不同的LSA,对该字段的定义不同。
  5. Advertising Router(通告路由器):产生该LSA的路由器的Router ID。
  6. LS Sequence Number(链路状态序列号):当LSA每次有新的实例产生时,序列号就会增加。LS Checksum(校验和):用于保证数据的完整性和准确性。判断新旧,越大越新。
  7. Length:是一个包含LSA头部在内的LSA的总长度值。

链路状态类型、链路状态ID、通告路由器三元组唯一地标识了一个LSA。

链路状态老化时间 、链路状态序列号 、校验和用于判断LSA的新旧。

二、Router LSA(1类LSA)详解

2.1 报文结构

Router LSA(1类LSA):每台OSPF路由器都会产生。它描述了该路由器直连接口的信息。Router LSA只能在所属的区域内泛洪。

1类LSA
1类LSA
  • Router LSA使用Link来承载路由器直连接口的信息。
  • 每条Link均包含“链路类型”、“链路ID”、“链路数据”以及“度量值”这几个关键信息。
  • 路由器可能会采用一个或者多个Link来描述某个接口。
Link描述
Link描述
Link TypeLink IDLink Data
Point-to-Point(P2P):描述一个从本路由器到邻居路由器之间的点到点链路,属于拓扑信息邻居路由器的Router ID宣告该Router LSA的路由器接口的IP地址
TransNet:描述一个从本路由器到一个Transit网段(例如MA或者NBMA网段)的连接,属于拓扑信息DR的接口IP地址宣告该Router LSA的路由器接口的IP地址
StubNet:描述一个从本路由器到一个Stub网段(例如Loopback接口)的连接,属于网段信息宣告该Router LSA的路由器接口的网络IP地址该Stub网络的网络掩码

报文抓包:

报文示例
报文示例
区域内LSDB同步
区域内LSDB同步

2.2 LSA描述的链路类型

关系说明:OSPF LSU报文-->LSA(1、2、3、5、7)-->一条LSA可以多条链路的描述-->描述的类型有(P2P、TransNet、StubNet)

Router LSA描述P2P网络: PTP类型 如图所示:这是一条Router LSA,LS id 为10.0.1.1,发布者是10.0.1.1;里面包含两条link描述,第一条的Link Type类型为P2P,因此这里的Link ID是对端的路由器ID,data就是自身的接口IP;第二个link类似为stubnet,描述一个从本路由器到一个Stub网段(例如Loopback接口)的连接,属于网段信息,因此这里link id 是接口的网段,data是掩码,说明这个接口的所属网段为10.0.13.0/24。

Router LSA描述TransNet:

TransNet 描述一个从本路由器到一个Transit网段(例如MA或者NBMA网段)的连接,属于拓扑信息。这里link id 表示DR地址,data表示DR发送接口的IP地址。

正常情况下OSPF描述网络需要拓扑信息和网段信息,能够知道对端是什么地址?DR是谁?连接网段和掩码是多少?

2.3 LSA的产生形成

OSPF是有自己产生LSA进行通告和学习其它邻居发布的LSA组成LSDB,然后进行计算最优路径的。

以下图为例: 图例

# 检查OSPF状态
[AR1]dis ospf peer brief 

	 OSPF Process 1 with Router ID 10.0.0.1
		  Peer Statistic Information
 ----------------------------------------------------------------------------
 Area Id          Interface                        Neighbor id      State    
 0.0.0.0          GigabitEthernet0/0/0             10.0.0.2         Full        
 ----------------------------------------------------------------------------
[AR1]dis ospf peer 

	 OSPF Process 1 with Router ID 10.0.0.1
		 Neighbors 

 Area 0.0.0.0 interface 10.0.0.1(GigabitEthernet0/0/0)'s neighbors
 Router ID: 10.0.0.2         Address: 10.0.0.2        
   State: Full  Mode:Nbr is  Master  Priority: 1
   DR: 10.0.0.1  BDR: 10.0.0.2  MTU: 0    
   Dead timer due in 40  sec 
   Retrans timer interval: 5 
   Neighbor is up for 05:15:57     
   Authentication Sequence: [ 0 ] 

# AR2
[AR2]DIS OSPF PEER brief 

	 OSPF Process 1 with Router ID 10.0.0.2
		  Peer Statistic Information
 ----------------------------------------------------------------------------
 Area Id          Interface                        Neighbor id      State    
 0.0.0.0          GigabitEthernet0/0/0             10.0.0.1         Full        
 ----------------------------------------------------------------------------
[AR2]DIS OSPF PEER 

	 OSPF Process 1 with Router ID 10.0.0.2
		 Neighbors 

 Area 0.0.0.0 interface 10.0.0.2(GigabitEthernet0/0/0)'s neighbors
 Router ID: 10.0.0.1         Address: 10.0.0.1        
   State: Full  Mode:Nbr is  Slave  Priority: 1
   DR: 10.0.0.1  BDR: 10.0.0.2  MTU: 0    
   Dead timer due in 35  sec 
   Retrans timer interval: 5 
   Neighbor is up for 05:17:18     
   Authentication Sequence: [ 0 ] 

# 从上面知道邻居已经建立,DR是10.0.0.1,BDR是10.0.0.2

AR1的LSA信息:

# 查看LSDB数据库
[AR1]dis ospf lsdb 

	 OSPF Process 1 with Router ID 10.0.0.1
		 Link State Database 

		         Area: 0.0.0.0
 Type      LinkState ID    AdvRouter          Age  Len   Sequence   Metric
 Router    10.0.0.2        10.0.0.2          1281  48    8000000E       1
 Router    10.0.0.1        10.0.0.1          1278  48    80000010       1
 Network   10.0.0.1        10.0.0.1          1278  32    8000000C       0

# 先看一类LSA,能够发现有两条一类LSA,然后通告者分别是10.0.0.1和10.0.0.2。
Router LSA信息
Router LSA信息

AR2的LSA信息:

[AR2]dis ospf lsdb router 

	 OSPF Process 1 with Router ID 10.0.0.2
		         Area: 0.0.0.0
		 Link State Database 


  Type      : Router
  Ls id     : 10.0.0.2
  Adv rtr   : 10.0.0.2  
  Ls age    : 1698 
  Len       : 48 
  Options   :  E  
  seq#      : 8000000e 
  chksum    : 0x2920
  Link count: 2
   * Link ID: 10.0.0.1     
     Data   : 10.0.0.2     
     Link Type: TransNet     
     Metric : 1
   * Link ID: 172.16.0.1   
     Data   : 255.255.255.255 
     Link Type: StubNet      
     Metric : 0 
     Priority : Medium

  Type      : Router
  Ls id     : 10.0.0.1
  Adv rtr   : 10.0.0.1  
  Ls age    : 1697 
  Len       : 48 
  Options   :  E  
  seq#      : 80000010 
  chksum    : 0xa5f6
  Link count: 2
   * Link ID: 10.0.0.1     
     Data   : 10.0.0.1     
     Link Type: TransNet     
     Metric : 1
   * Link ID: 192.168.1.1  
     Data   : 255.255.255.255 
     Link Type: StubNet      
     Metric : 0 
     Priority : Medium

从上面信息我们能够知道有AR1和AR2两个路由器,AR1是DR,连接了一个192.168.1.0网段,AR2与AR1相连,角色是BDR,连接了一个172.16.0.0网段,简单说就是transnet和p2p描述了网络拓扑,然后stubnet描述连接的网段信息构成整个完整网络。当然这里我们只学习了Router LSA,只能在区域内Area0内通告泛洪。

总结:OSPF邻接关系完成后通过LSU请求报文和学习路由信息,每个路由器会通告自己的拓扑信息和网段信息保存在区域内的LSDB,一般区域内的LSDB数据库是一致的,然后路由器根据这个LSDB进行路由计算保证区域内无环路,Router LSA头部相同,可以携带多条link链路信息,只能在区域内进行泛洪通告。

本文由 mdnice 多平台发布

标签:10.0,LSA,Link,Router,OSPF,路由器
From: https://blog.csdn.net/weixin_43483442/article/details/136864512

相关文章

  • Pulsar
    PulsarPulsar为什么要学习ApachePulsar什么是云原生DevOps:指的就是开发和运维不再是分开的两个团队,而是你中有我,我中有你的一个团队。微服务:指是应用需要具备低耦合+高内聚。持续交付:指的在不影响用户使用服务的前提下,频繁将新功能发布给用户使用,当然这一点也是云原生中比......
  • [.NET项目实战] Elsa开源工作流组件应用(二):内核解读
    @目录定义变量内存寄存器类寄存器中的存储区块类变量到存储的映射类上下文对象活动上下文(ActivityExecutionContext)工作流执行上下文(WorkflowExecutionContext)表达式执行上下文(ExpressionExecutionContext)构建构建活动构建工作流运行注册注册工作流注册活动填充Invoke活动可观测性......
  • vue router-view 路由跳转时,页面如何滚动到顶部
    在Vue中使用路由进行页面切换后,我们可以通过设置scrollBehavior来控制页面的滚动位置。importVuefrom'vue'importRouterfrom'vue-router'//导入组件importHomePagefrom'./components/HomePage.vue'importAboutPagefrom'./components/AboutPage.vue'......
  • 【计算机网络】网络层——RIP OSPF BGP:路由选择协议
    路由选择协议回顾RIP小,OSPF大网RIP路由信息协议RIP是一种分布式的基于距离向量的路由选择协议,是因特网的协议标准,最大优点是简单。RIP协议要求网络中每一个路由器都维护从它自己到其他每一个目的网络的唯一最佳距离记录(即一组距离)。距离:通常为“跳数”,即从源端口到目......
  • [.NET项目实战] Elsa开源工作流组件应用(一): Elsa工作流简介
    Elsa工作流简介工作流是什么?引用维基百科中对工作流的解释:是对工作流程及其各操作步骤之间业务规则的抽象、概括、描述。工作流建模,即将工作流程中的工作如何前后组织在一起的逻辑和规则在计算机中以恰当的模型进行表示并对其实施计算Elsa是一个功能强大的工作流库,支持在任......
  • 使用 React Router 的 withRouter
    使用ReactRouter的withRouterReactRouter是React应用中常用的路由管理工具,它可以帮助我们管理页面之间的导航和状态。而withRouter则是ReactRouter提供的一个高阶组件,用于将路由相关的属性注入到组件中,使得我们可以在不同的组件中访问路由信息。1.安装Reac......
  • vue中router页面之间参数传递,params失效,建议使用query
    vue中router页面之间参数传递,params失效,建议使用query简介:本文讲解vue中router页面之间参数传递,params失效,建议使用query。在vue中有一个router功能,他可以用来页面之间的参数传递,他有两种方式一种是params方式,一种是query方式,但是params方式特别容易导致参数的丢失问......
  • Vue中怎么使用router进行页面传参
    在响应式编程中,使用VueRouter传递参数通常涉及到以下几个方面:1.动态路由匹配动态路由匹配允许你根据URL中的参数来渲染不同的组件。这在显示用户信息、博客文章等需要根据ID或其他标识符来区分内容的情况下非常有用。例如,如果你想根据用户ID显示不同的用户信息......
  • 第143篇:手写vue-router,实现router-view
    好家伙, 今天来手写我们的老伙计vue-router, 1.替换router新开一个项目,并使用我们手写的router 2.大致结构letVue;//保存vue的构造函数classVueRouter{constructor(options){}}VueRouter.install=(_Vue)=>{Vue=_Vue;//备......
  • ReactRouter 基础
    ReactRouter(路由)目录ReactRouter(路由)1、前端路由2、创建路由开发环境3、快速开始抽象路由模块路由导航1、路由导航2、声明式导航3、编程式导航路由导航传参searchParams传参params传参嵌套路由配置1、嵌套路由2、嵌套路由配置3、默认二级路由4、404路由配置5、2种路由模式1......