当前位置: 首页 > news >正文

OSPF路由计算

关于OSPF路由的基础概述可以看看这篇博客

动态路由---OSPF协议基础icon-default.png?t=O83Ahttps://blog.csdn.net/ZZZCY2003/article/details/141335261

区域内路由计算

LSA概述

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

 重要字段解析

  • LS Age(链路状态老化时间):表示LSA已经生存的时间,单位为秒。LSA被始发时,该字段为0,随着LSA在网络中被泛洪,该时间逐渐累加,当到达MaxAge (缺省值为3600s)时,LSA不再用于路由计算
  • Options(可选项):每一个bit都对应了OSPF所支持的某种特性
  • LS Type(链路状态类型):指示本LSA的类型
  • Link Start ID(链路状态ID):不同的LSA,该字段定义不同
  • Advertising Router(通告路由器):产生该LSA的路由器的Router ID
  • LS Sequence Number(链路状态序列号):当LSA每次有新的实例产生时,序列号就会增加
  • LS Checksum(校验和):用于保证数据的完整性和准确性
  • Length:是一个包含LSA头部在内的LSA的总长度值

注:链路状态类型、链路状态ID、通告路由器三元组唯一标识一个LSA。老化时间、序列号、校验和用于判断LSA的新旧

链路状态类型 

 其中类型2、网络LSA是由DR生成,描述网络上所有路由器的连接状态

Router-LSA

报文格式

  • V (Virtual Link) :如果产生此LSA的路由器是虚连接的端点,则置为1
  • E (External) :如果产生此LSA的路由器是ASBR ,则置为1
  • B (Border ) :如果产生此LSA的路由器是ABR ,则置为1
  • links:LSA中的Link (链路)数量。Router LSA使用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网络的网络掩码

Router LSA描述P2P网络

<Huawei>display ospf lsdb router self-originate

Network-LSA

报文格式

  • Link State ID:DR的接口IP地址
  • Network Mask:MA网络的子网掩码
  • Attached Router:连接到该MA网络的路由器的Router-ID (与该DR建立了邻接关系的邻居的Router-ID,以及DR自己的Router-ID),如果有多台路由器接入该MA网络,则使用多个字段描述

SPF计算过程

其实这个候选列表可能不太看习惯,可以理解为原来的邻居列表,更看重的是开销值,从根节点开始,一个等级的子结点开始对比开销值,开销低就移到最短路径树上。就是重复这个操作,若是有两个相同的结点但开销不同,则选择开销低的路径

一直这样重复操作,最终得到最短路径树,后面就要计算最短路由

区域间路由计算

        OSPF要求网络内的路由器同步LSDB,但是当网络规模达到一定程度时,LSDB会非常臃肿,设备根据LSDB进行计算也变得复杂。所以这时候就需要划分多区域

划分区域后,路由器主要分为两种角色:

区域内部路由器IR:所有接口同属于一个OSPF区域,如R1、R4、R5

区域边界路由器ABR:设备接口分别连接两个及两个以上不同区域,如R4、R5

区域间路由信息传递 

  • R2依据Area 1内所泛洪的Router LSA及Network LSA计算得出192.168.1.0/24路由(区域内路由),并将该路由通过Network Summary LSA通告到Area 0。R3根据Area 0中的该L SA可计算出到达192.168.1.0/24的区域间路由。
  • R3重新生成一份Network Summary LSA通告到Area 2中,至此所有OSPF区域都能学习到去往192.168.1.0/24的路由。

Network Summary LSA

报文格式

  • LS Type:取值3,代表Network Summary LSA
  • Link State ID:路由的目的网络地址
  • Advertising Router:生成LSA的Router ID
  • Network Mask:路由的网络掩码
  • metric:到目的地址的路由开销

区域间的防环机制

        在多域间路由中,并没有使用SPF树算法,而是使用了星型拓扑,中心为Area 0。每个区域都需要和Area 0进行相连。其它区域之间不直接相连

区域内则是使用SPF树算法,在区域外则使用星型拓扑进行防环机制

注:ABR不会将描述到达某个区域内网段路由的3类LSA在注入回该区域

因为3类LSA不会重新回到所处区域,所以上图中R1和R3都无法和10.0.2.2/32通信

相关文章:

  • golang rpc
  • 若依从redis中获取用户列表
  • Java使用Redis的详细教程
  • AIGC: 10 AI转文服务器的搭建过程记录
  • CTMO时代下的营销新力量:2+1链动模式AI智能名片商城小程序
  • 【React】react项目中的redux使用
  • git初级使用学习(图文)
  • Java零工市场小程序如何改变自由职业者生活
  • android.bp cc_test
  • 【MySQL内置数据库】 mysql
  • HTTP 1.0 2.0 3.0详解
  • GO语言环境搭建和字符说明
  • Android studio配置AVD虚拟机
  • Unity实战案例全解析:RTS游戏的框选和阵型功能 总结
  • 关于Elastic Search与MySQL之间的数据同步
  • JS中 map, filter, some, every, forEach, for in, for of 用法总结
  • [译]Python中的类属性与实例属性的区别
  • Angular js 常用指令ng-if、ng-class、ng-option、ng-value、ng-click是如何使用的?
  • axios 和 cookie 的那些事
  • HTTP中GET与POST的区别 99%的错误认识
  • JavaScript 无符号位移运算符 三个大于号 的使用方法
  • vue总结
  • 包装类对象
  • 解决jsp引用其他项目时出现的 cannot be resolved to a type错误
  • 聚簇索引和非聚簇索引
  • 微信如何实现自动跳转到用其他浏览器打开指定页面下载APP
  • 微信小程序实战练习(仿五洲到家微信版)
  • 问题之ssh中Host key verification failed的解决
  • 最近的计划
  • ionic异常记录
  • Java性能优化之JVM GC(垃圾回收机制)
  • 进程与线程(三)——进程/线程间通信
  • ​MySQL主从复制一致性检测
  • ​低代码平台的核心价值与优势
  • #QT(TCP网络编程-服务端)
  • (2022 CVPR) Unbiased Teacher v2
  • (52)只出现一次的数字III
  • (超详细)语音信号处理之特征提取
  • (附源码)springboot“微印象”在线打印预约系统 毕业设计 061642
  • (附源码)ssm高校实验室 毕业设计 800008
  • (回溯) LeetCode 131. 分割回文串
  • (六)软件测试分工
  • (牛客腾讯思维编程题)编码编码分组打印下标(java 版本+ C版本)
  • (七)微服务分布式云架构spring cloud - common-service 项目构建过程
  • (三)模仿学习-Action数据的模仿
  • (循环依赖问题)学习spring的第九天
  • (转)Linux整合apache和tomcat构建Web服务器
  • (转)shell中括号的特殊用法 linux if多条件判断
  • (转)可以带来幸福的一本书
  • (转)总结使用Unity 3D优化游戏运行性能的经验
  • (轉貼)《OOD启思录》:61条面向对象设计的经验原则 (OO)
  • .NET 8 中引入新的 IHostedLifecycleService 接口 实现定时任务
  • .net core webapi 大文件上传到wwwroot文件夹
  • .net 反编译_.net反编译的相关问题
  • .NET/C# 判断某个类是否是泛型类型或泛型接口的子类型