OSPF-区域间路由计算

一、概述

前面学习了我们学习了Router-LSA和Network-LSA,它们都只能在区域内进行泛洪,而且我们之前一直主要是单区域学习。OSPF的核心是骨干区域Area 0,其它都为非骨干区域。但是在大型网络中,单区域OSPF会存在一定的问题,所以就有了OSPF多区域。

二、OSPF区域

OSPF区域

OSPF域(Domain):一系列使用相同策略的连续OSPF网络设备所构成的网络。

OSPF路由器在同一个区域(Area)内网络中泛洪LSA。为了确保每台路由器都拥有对网络拓扑的一致认知,LSDB需要在区域内进行同步。

如果OSPF域仅有一个区域,随着网络规模越来越大,OSPF路由器的数量越来越多,这将导致诸多问题:

  • LSDB越来越庞大,同时导致OSPF路由表规模增加。路由器资源消耗多,设备性能下降,影响数据转发。
  • 基于庞大的LSDB进行路由计算变得困难。
  • 当网络拓扑变更时,LSA全域泛洪和全网SPF重计算带来巨大负担。

多区域设计有以下优点:

  • OSPF引入区域(Area)的概念,将一个OSPF域划分成多个区域,可以使OSPF支撑更大规模组网。
  • OSPF多区域的设计减小了LSA泛洪的范围,有效的把拓扑变化的影响控制在区域内,达到网络优化的目的。
  • 在区域边界可以做路由汇总,减小了路由表规模。
  • 多区域提高了网络扩展性,有利于组建大规模的网络。

基于多区域的设置,路由器在不同区域也就有不同的角色了,OSPF路由器根据其位置或功能不同,有这样几种类型:

  • 区域内路由器(Internal Router),所以接口都在一个区域内。
  • 区域边界路由器ABR(Area Border Router),接口属于两个区域以上,但必须有一个连接骨干区域
  • 骨干路由器(Backbone Router),至少有一个接口属于骨干区域。
  • 自治系统边界路由器ASBR(AS Boundary Router),该类路由器与其他AS交换路由信息。只要一台OSPF路由器引入了外部路由的信息,它就成为ASBR。

路由器角色

三、区域间路由传递

Router LSA和Network LSA只在区域内泛洪,因此通过区域划分在一定程度上降低网络设备的内存及CPU的消耗。
区域划分

OSPF区域间路由信息传递是通过ABR产生的Network Summary LSA(3类LSA)实现的。
区域间路由

简单说就是由边界路由器汇总后向骨干路由器进行传递。

3.1 Network Summary LSA详解

Network Summary LSA(3类LSA)由ABR产生,用于向一个区域通告到达另一个区域的路由。
Network Summary LSA

重要字段解释:

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

示例

3.2 路由计算过程

计算过程1 计算过程2 计算过程3

实验拓扑:
示例1 示例1 示例2

配置示例:

复制代码
# AR1,在ospf进程里面配置多个区域,在对应区域下面通告网段
ospf 1 
 area 0.0.0.0 
  network 10.0.0.0 0.0.0.255 
  network 192.168.1.0 0.0.0.255 
 area 0.0.0.1 
  network 14.1.1.0 0.0.0.255

# AR4
ospf 1 
 area 0.0.0.1 
  network 1.1.1.1 0.0.0.0 
  network 14.1.1.0 0.0.0.255 
  
# 检测邻居状态
[AR1]dis ospf peer bri

	 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        
 0.0.0.1          GigabitEthernet0/0/2             14.1.1.4         Full        
 ----------------------------------------------------------------------------

# 查看LSDB数据库,这边看到不同区域的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          1072  48    80000008       1
 Router    10.0.0.1        10.0.0.1          1605  48    80000006       1
 Network   10.0.0.2        10.0.0.2            89  32    80000002       0
 Sum-Net   14.1.1.0        10.0.0.2          1352  28    80000001       1
 Sum-Net   14.1.1.0        10.0.0.1          1166  28    80000001       1
 Sum-Net   1.1.1.1         10.0.0.1          1163  28    80000001       1
 
		         Area: 0.0.0.1
 Type      LinkState ID    AdvRouter          Age  Len   Sequence   Metric
 Router    10.0.0.1        10.0.0.1          1164  36    80000003       1
 Router    14.1.1.4        14.1.1.4          1157  48    80000009       1
 Network   14.1.1.4        14.1.1.4          1157  32    80000002       0
 Sum-Net   172.16.1.0      10.0.0.1          1166  28    80000001       2
 Sum-Net   10.0.0.0        10.0.0.1          1166  28    80000001       1
 Sum-Net   192.168.1.0     10.0.0.1          1166  28    80000001       1

总结:学习了OSPF的区域概念,单区域有其局限性,出现了OSPF多区域。骨干区域Area 0,基于多区域路由器划分了不同的角色如边界路由器,内部路由器等等,区域间的路由通过Network Summary LSA(3类LSA)由ABR产生,用于向一个区域通告到达另一个区域的路由。

本文由mdnice多平台发布

相关推荐
程序员东岸1 天前
C语言入门指南:字符函数和字符串函数
c语言·笔记·学习·程序人生·算法
武子康2 天前
AI-调查研究-76-具身智能 当机器人走进生活:具身智能对就业与社会结构的深远影响
人工智能·程序人生·ai·职场和发展·机器人·生活·具身智能
zyt05022 天前
四、计算机网络与分布式系统(中)
linux·计算机网络·程序人生
郝学胜-神的一滴2 天前
深入探索 Python 元组:从基础到高级应用
运维·服务器·开发语言·python·程序人生
贝塔实验室2 天前
两种常用的抗单粒子翻转动态刷新方法
论文阅读·经验分享·笔记·科技·学习·程序人生·fpga开发
H1003 天前
拉帮结派下的制造麻烦
程序人生
郝学胜-神的一滴3 天前
Linux命令行的核心理念与实用指南
linux·运维·服务器·开发语言·程序人生
孤廖3 天前
【算法磨剑:用 C++ 思考的艺术・Dijkstra 实战】弱化版 vs 标准版模板,洛谷 P3371/P4779 双题精讲
java·开发语言·c++·程序人生·算法·贪心算法·启发式算法
郝学胜-神的一滴4 天前
深入浅出 C++20:新特性与实践
开发语言·c++·程序人生·算法·c++20
孤廖4 天前
从 “模板” 到 “场景”,用 C++ 磨透拓扑排序的实战逻辑
开发语言·c++·程序人生·算法·贪心算法·动态规划·学习方法