第三章 OSPF高级

第3章 OSPF高级

一、不规则区域

区域划分

OSPF为了适应中大型网络环境,设计了区域划分的规则:

  1. 区域之间必须存在ABR设备(域间路由器)

  1. 区域划分必须满足星型结构划分

而不规则区域便没有满足星型结构的划分。

非骨干区域

OSPF的不规则区域:不连续骨干,远离骨干的 非骨干区域

解决方法
  1. 物理连接一根线缆让远离骨干的非骨干区域直接连接到骨干区域中。

  1. 通过构建VPN隧道的方式去连接一根虚拟线缆,将区域连接在一起。

配置

首先按照拓扑图进行基础的IP配置。

 # 配置环回接口模拟用户私网,域间路由器ABR不需要配置
 [R1-LoopBack0]ip address 192.168.1.1 255.255.255.0
 [R3-LoopBack0]ip address 192.168.3.1 255.255.255.0
 [R5-LoopBack0]ip address 192.168.5.1 255.255.255.0
 # 启动OSPF进程并进行范围宣告
 [R1-ospf-1-area-0.0.0.0]network 12.0.0.0 0.0.0.255
 [R1-ospf-1-area-0.0.0.0]network 192.168.1.0 0.0.0.255
 [R2-ospf-1-area-0.0.0.0]network 12.0.0.0 0.0.0.255
 [R2-ospf-1-area-0.0.0.1]network 23.0.0.0 0.0.0.255
 [R3-ospf-1-area-0.0.0.1]network 23.0.0.0 0.0.0.255
 [R3-ospf-1-area-0.0.0.1]network 34.0.0.0 0.0.0.255 
 [R3-ospf-1-area-0.0.0.1]network 192.168.3.0 0.0.0.255
 [R4-ospf-1-area-0.0.0.1]network 34.0.0.0 0.0.0.255
 [R4-ospf-1-area-0.0.0.2]network 45.0.0.0 0.0.0.255
 [R5-ospf-1-area-0.0.0.2]network 45.0.0.0 0.0.0.255
 [R5-ospf-1-area-0.0.0.2]network 192.168.5.0 0.0.0.255
 # 检查OSPF路由表和邻居简表
 [R1]display ip routing-table protocol ospf
 [R1]display ospf peer brief

此时我们发现R5一条OSPF信息都没有接收到,因为区域2是非骨干区域,我们在R2和R4之间构建一根VPN虚拟隧道,将区域0和区域2连通。这里我们为了简便,选择GRE协议进行封装。

 # 建立隧道,注意源和目标IP为23和34网段IP
 [R2-Tunnel0/0/0]ip address 24.0.0.1 24
 [R2-Tunnel0/0/0]tunnel-protocol gre 
 [R2-Tunnel0/0/0]source 23.0.0.1
 [R2-Tunnel0/0/0]destination 34.0.0.2
 # R4 同理配置
 [R4-Tunnel0/0/0]ip address 24.0.0.2 24
 [R4-Tunnel0/0/0]tunnel-protocol gre 
 [R4-Tunnel0/0/0]source 34.0.0.2
 [R4-Tunnel0/0/0]destination 23.0.0.1
 # 范围宣告,注意宣告在区域0
 [R2-ospf-1-area-0.0.0.0]network 24.0.0.0 0.0.0.255
 [R4-ospf-1-area-0.0.0.0]network 24.0.0.0 0.0.0.255
 # 查询OSPF路由表检查
 [R2]display ip routing-table protocol ospf
 [R4]display ip routing-table protocol ospf

通过让没有连接骨干区域的路由器,和区域0中的路由器连接隧道,并且将隧道宣告在区域0中,使得ABR设备合法化。那么在这里,R2和R4就是合法的ABR域间路由器。

但是这样做的话又会有新的问题:

  • 问题1:会额外建立邻居关系,导致产生周期性的数据(hello报文),需要通过隧道封装占用额外的资源。

  • 问题2:选路不佳,开销值太大(选择走构建的虚拟链路而非物理链路)。

    • 原因:域内路由>域间路由。隧道接口的开销值为1562,再加上R2到R1之间的开销值1就等于1563。

OSPF为了解决不规则区域的问题,专门提出了一个解决方案:V-link虚链路

  • 合法的ABR:同时属于多个区域,并且有接口宣告在区域0。

  • 非法的ABR:同时属于多个区域,没有接口宣告在区域0。

而在上一个拓扑图中,很明显R2是合法的ABR,而R4是非法ABR。V-link永远属于区域 0,在合法和非法ABR之间进行配置。

命令
  • 建立V-LINK链路,在建立V-LINK链路的设备所在的区域中配置。

  • 注意:V-link peer 指定的是对端合法的ABR,同时合法的ABR设备也需要指定自身去认可的非法ABR设备。

    • vlink-peer [邻居设备RID]

  • 查看虚链路V-link的信息

    • display ospf vlink

  • 重定向,引入B协议的路由,使A协议获取到B协议的路由信息。也可以在同一协议的不同进程中进行,注意要进入A协议的进程中。

    • import-route [协议名] [进程号]

配置

这里我们对R2和R4分别进行配置,注意在区域1中配置。

 # 建立V-link链路,指定邻居ABR的RID,让双方之间互相认可
 [R2-ospf-1-area-0.0.0.1]vlink-peer 4.4.4.4
 [R4-ospf-1-area-0.0.0.1]vlink-peer 2.2.2.2
 ​
 # 此时在R5中查看OSPF路由表,发现R5成功获取区域0和区域1的路由信息;而其他区域的设备也同样能够获取到区域2的信息
 [R5]display ip routing-table protocol ospf
 [R1]display ip routing-table protocol ospf
 ​
 # 查看虚链路V-link信息
 [R2]display ospf vlink
局限性
  • 虚链路只能跨越一个区域,本质原因就是V-link指定的对象是一个设备RID(不是IP地址)。

  • 周期性的数据还是存在,因为V-Link也会建立邻居

所以一般情况下,V-Link只作为临时的解决方案。

多进程双向重分布

即启动一个新的协议进程,强制将两个设备的信息进行共享。

ASBR:同时运行了两款协议或者同一款协议但是不同进程的设备。

配置

此时我们删除区域2和R4、R5的相关配置,在R4上启动一个新的OSPF进程,相当于R4成为了ASBR

 ### 启动新的协议进程
 [R4]ospf 2 router-id 4.4.4.4
 # 进入新的进程区域并范围宣告网段
 [R4-ospf-2]area 0
 [R4-ospf-2-area-0.0.0.0]network 45.0.0.0 0.0.0.255
 # R5 同理配置
 [R5]ospf 2 router-id 5.5.5.5
 [R5-ospf-2]area 0
 [R5-ospf-2-area-0.0.0.0]network 45.0.0.0 0.0.0.255
 # 宣告环回网段
 [R5-ospf-2-area-0.0.0.0]network 192.168.5.0 0.0.0.255
 # 但是此时查看OSPF路由表发现R4只能获取R5的环回路由信息,而R5没有信息,因为R4左右两边是不同的协议进程,无法互通
 [R5]display ip routing-table protocol ospf
双向重分布

这里我们在R4(ASBR)的进程1中引入进程2的路由信息,注意要进行双向引入,在不同进程中引入对方的协议路由信息。

 ### 双向重定向
 [R4-ospf-1]import-route ospf 2
 [R4-ospf-2]import-route ospf 1
 ​
 # 此时我们查表R1,成功获取到R5进程2的路由信息
 [R1]display ip routing-table protocol ospf

查看R1的OSPF表可以发现,链路路径的开销值都很小(Cost = 1),只不过是从其他协议学习/引入的路由信息,域外路由信息优先级较高(可靠性较低)。

  • O_ASE:域外路由信息,即从其他协议/进程学习(引入)过来的路由。

  • Pre:优先级,在路径选择中选择优先级值小的路径通过。

    • 域外路由优先级默认是150

    • 因为域外其他协议的情况不清楚,路由可靠性较低

二、LSA通告

LSA的三元组唯一标识一条LSA通告,通过SPF(最短路径优先)算法计算得出路由,并将信息存储在LSDB中。

  • LSA:链路状态通告(拓扑信息)

  • LSDB:链路状态数据库

LSA三元组

  • Type:LSA类型

  • Ls id:链路状态ID

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

璀云霄

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值