计算机网络技术——OSPF 多区域通信

发布时间 2023-07-09 16:33:51作者: YuanKx

OSPF 多区域通信

如果一个区域规模很大,即设备数量很多,链路很多,会存在哪些问题
  • 树的规模很大,SPF算法会消耗更多的CPU资源
  • 任何链路发生改变,产生的一类二类LSA需要在整个区域内泛洪
  • 很难保证稳定性
通过多区域的划分来解决以上问题
  • 将网络划分成2层的区域结构
  • 一层为骨干区域,area 0
  • 一层为非骨干区域 非 area 0
在多区域中路由器的角色
  • ABR区域边界路由器
    • 连接了多个区域,且至少有一个活动接口属于area 0 的路由器
    • 配置了vlink 的路由器
  • IR 区域内部路由器
    • 所有接口都属于一个区域的路由器
  • ASBR 自治系统边界路由器
    • 执行import-route 的路由器
    • NASS 区域做七类转五类的ABR
区域间路由的传递
  • ABR将自身直连区域的区域内路由转换为其它直连区域的三类LSA,完成区域间路由的传递
  • ABR将area 0 中的三类转换为非骨干区域的三类
三类LSA参数

Type Sum-Net 3类LSA,用于描述区域间的路由,ABR产生
Ls id 1.1.1.1 网络号,目的网段地址
Adv rtr 4.4.4.4 产生该3类LSA的ABR的router id
Net mask 255.255.255.255 子网掩码
metric: 149 ABR到该路由的开销

当出现不规范的OSPF区域划分,可以用虚链路解决
  • 虚链路永远属于area 0的链路
  • 只要创建了虚链路的路由器都是ABR
  • 虚链路只能在非骨干区域创建,并且只能跨越一个非骨干区域
  • 特殊区域不能创建虚链路
  • 用于修复不连续的骨干区域,或者用作骨干区域的备份路径
  • 用于将非骨干区域与骨干区域相连
  • 能不用尽量不用,一般临时救急使用
OSPF如何避免区域间的环路
  • area 0 有且只有一个,且连续
  • 非骨干区域必须和骨干区域直接相连
  • 区域间的水平分割,从该区域传递到其它区域的路由,不允许再次传回本区域
OSPF路由引入
  • 引入的路由必须是路由表中存在的路由,即 active 活跃路由
  • 默认路由不会被引入,有其它生成默认路由的方法
五类LSA、四类LSA
  • 每引入一条外部路由,就会由ASBR 生成一条五类LSA
  • 五类LSA和三类LSA基本类似,但五类LSA会在整个AS内泛洪
  • 当路由器与ASBR不在一个同一个区域时此时计算路由需要借助四类LSA
  • 四类LSA由和ASBR同一个区域的ABR产生,用于描述自身到ASBR的开销
引入外部路由时默认开销类型为类型二,默认开销为 1

cost-type 2:路由表中仅显示引入外部路由时的开销,忽略AS内部开销 (管理意义上的选路方式)

cost-type 1:路由表中始终显示引入时的开销和内部开销之和 (路由意义上的选路方式)

路由选路计算开销cost-type 1 和cost-type 2 区别
  • 外部路由五类、七类 cost-type 1 永远优于cost-type 2
  • 当引入的外部路由类型都是cost-type 1 时,cost越小越优先,相同负载均衡
  • 当引入的外部路由类型都是cost-type 2 时,外部路由时的cost越小越优先,当外部路由的cost相同时,比较内部cost越小越优先,内部外部都相同,则负载分担
OSPF特殊区域
  • 特殊区域的用途
    • 保证网络通信前提下减少特殊区域内LSA的数量和路由表规模
  • 特殊区域的一些问题
    • 会产生次优路径
    • 不能建立虚链路
    • area 0 不能是特殊区域
  • 特殊区域的分类
    • 末节区域
      • 不允许五类LSA在该区域泛洪,不产生四类LSA
      • 由末节区域的ABR产生一条三类的缺省路由
      • 默认产生的缺省路由开销为 1,修改该开销的命令 区域视图 default-cost
    • 完全末节区域
      • 不允许五类LSA在该区域泛洪,不产生三类、四类LSA
      • 由末节区域的ABR产生一条三类的缺省路由
      • 默认产生的缺省路由开销为 1,修改该开销的命令 区域视图 default-cost
      • 该区域的ABR配置为完全末节区域
    • NSSA区域
      • 允许本区域的ASBR引入外部路由,以七类的方式引入
      • 七类LSA只存在于NSSA区域
      • NSSA区域的ABR将七类LSA转换成五类LSA泛洪到其它区域 ,如果有多个ABR,则router id大的进行转换
      • 不允许其它区域的ASBR产生的五类LSA泛洪,不产生四类LSA
      • 由NSSA区域的ABR产生一条七类的缺省路由,用于访问外部路由
    • 完全NSSA区域
      • 允许本区域的ASBR引入外部路由,以七类的方式引入
      • 七类LSA只存在于NSSA区域
      • NSSA区域的ABR将七类LSA转换成五类LSA泛洪到其它区域 ,如果有多个ABR,则router id大的进行转换
      • 不允许其它区域的ASBR产生的五类LSA泛洪,不产生三类LSA、四类LSA
      • 由NSSA区域的ABR产生一条七类的缺省路由,用于访问外部路由
      • 由NSSA区域的ABR产生一条三类的缺省路由,用于访问区域间路由
      • 优先用三类的缺省路由
      • 该区域的ABR配置为完全NSSA区域
OSPF 路由汇总
  • 区域间路由汇总
    • 只能在ABR上做
    • 只能对直连区域内的路由做汇总,即哪个区域产生就在哪个区域进行汇总
    • 汇总的默认路由开销继承明细路由中开销最大的
    • 只有当明细路由全部失效时,汇总路由才会失效
    • 如果需要汇总的区域存在多个ABR,那么所有的ABR都要执行汇总,否则汇总无效果
  • 外部路由汇总
    • 只能在ASBR上做
    • 汇总路由的开销类型继承明细路由的开销类型,如果明细路由开销类型不一致,则开销类型为type 2
    • NSSA区域的外部路由汇总可以在ASBR上执行,也可以在NSSA区域的ABR上执行