OSPF虚链路

news2024/10/6 4:01:57

原理概述

通常情况下,一个OSPF网络的每个非骨干区域都必须与骨干区域通过ABR路由器直接连接,非骨干区域之间的通信都需要通过骨干区域进行中转。但在现实中,可能会因为各种条件限制,导致非骨干区域和骨干区域无法直接连接,在这种情况下,可以使用OSPF虚链路(Virtual Link)来实现非骨干区域与骨干区域在逻辑上直接相连。

OSPF协议必须要求骨干区域必须是唯一且连续的,然而,由于发生故障等原因,骨干区域有可能出现被分割的情况。此时,同样可以使用虚链路来实现物理上被分割的骨干区域能够逻辑相连。

虚链路在网络中会穿越其它区域,因此可能会带来安全隐患,所以通常都会对虚链路进行认证功能的配置。虚链路认证其实是OSPF接口认证的一种,支持MD5、HMAC-MD5、明文及Keychain等特性。

实验目的

理解OSPF虚链路的应用场景

掌握OSPF虚链路的配置方法

掌握OSPF虚链路认证功能的配置方法

实验内容 

实验拓扑如图所示。本实验模拟了一个企业网络场景,全网运行OSPF,路由器R1、R2为公司总部路由器,R3为新建公司的接入路由器,R4为分公司下面的分支机构的接入路由器。由于网络升级尚未完成,所以目前的区域划分是:R1与R2之间的链路位于区域0,R3与R1,R3与R2之间的链路位于区域1,R3与R4之间的链路位于区域2.网络需求是:使用虚链路技术,使得分支机构所属的区域2能够访问总部网络,且优先使用路径R4-R3-R1,并以R4-R3-R2路径作为备份。同时,总部路由器R1和R2之间的通信需要采用R1-R3-R2路径作为冗余备份。另外,为了提高安全性,对于所使用的虚链路应进行认证功能的配置。

实验拓扑

 1.基本配置

根据拓扑图进行相应的基本配置,并使用ping命令检测R1与R3之间的连通性。

其余直连网段的连通性测试在此省略。

2.搭建OSPF网络

在每台路由器上配置OSPF协议,其中R1与R2之间的链路位于区域0,R3与R1,R3与R2之间的链路位于区域1,R3与R4之间的链路位于区域2。

[r1]ospf 10 router-id 10.0.1.1
[r1-ospf-10]area 0
[r1-ospf-10-area-0.0.0.0]net 10.0.12.0 0.0.0.255
[r1-ospf-10-area-0.0.0.0]net 10.0.1.1 0.0.0.0
[r1-ospf-10-area-0.0.0.0]area 1
[r1-ospf-10-area-0.0.0.1]net 10.0.13.0 0.0.0.255

 

[r2]ospf 10 router-id 10.0.2.2
[r2-ospf-10]area 0
[r2-ospf-10-area-0.0.0.0]net 10.0.12.0 0.0.0.255

[r2-ospf-10-area-0.0.0.0]net 10.0.2.2 0.0.0.0
[r2-ospf-10-area-0.0.0.0]area 1
[r2-ospf-10-area-0.0.0.1]net 10.0.23.0 0.0.0.255

 

[r3]ospf 10 router-id 10.0.3.3
[r3-ospf-10]area 1
[r3-ospf-10-area-0.0.0.1]net 10.0.13.0 0.0.0.255
[r3-ospf-10-area-0.0.0.1]net 10.0.23.0 0.0.0.255

[r3-ospf-10-area-0.0.0.1]net 10.0.3.3 0.0.0.0
[r3-ospf-10-area-0.0.0.1]area 2
[r3-ospf-10-area-0.0.0.2]net 10.0.34.0 0.0.0.255

 

[r4]ospf 10 router-id 10.0.4.4
[r4-ospf-10]area 2
[r4-ospf-10-area-0.0.0.2]net 10.0.34.0 0.0.0.255
[r4-ospf-10-area-0.0.0.2]net 10.0.4.4 0.0.0.0

配置完成后,查看R3的OSPF邻居关系。

可以看到,R3的邻居关系都处于Full状态,表明各路由器之间已经成功建立了邻居关系。

查看R4的LSDB。

可以看到,R4的LSDB中没有区域0中关于10.0.1.1/32和10.0.2.2/32的LSA,也没有任何其他区域的LSA,仅仅只有本区域的Type-1 LSA和Type-2 LSA,这说明区域2中并没有ABR存在,即区域2并未与区域0相连,也无法与其他区域进行正常通信。

3.使用虚链路使区域2与区域0逻辑相连

接下来将使用虚链路使区域2与区域0在逻辑上相互连接起来,此时的区域1将作为区域2与区域0之间的传输区域。虚链路配置操作将在连接区域2与区域1的R3上,以及连接区域1与区域0的ABR路由器R1上进行。

在R3的区域1视图下,使用vlink-peer命令建立与R1的虚链路。

[r3]ospf 10
[r3-ospf-10]area 1
[r3-ospf-10-area-0.0.0.1]vlink-peer 10.0.1.1

 同样,在R1的区域1视图下,使用vlink-peer命令建立与R3的虚链路。

[r1]ospf 10
[r1-ospf-10]area 1
[r1-ospf-10-area-0.0.0.1]vlink-peer 10.0.3.3

配置完成后,在R1上使用命令display ospf vlink查看虚链路信息。

可以看到,R1与R3已经成功建立了虚链路,虚链路的状态为FULL。

查看R4的LSDB。

可以看到,R4的LSDB中出现了由R3通告的,关于区域0和区域1的Type-3 LSA;说明此时R4已经将R3作为连接区域2至区域0的ABR了。

测试R4与R1和R2的连通性。

 可以看到,通信是正常的。

4.修改虚链路的开销值

通过R1与R3之间的虚链路,实现了区域2与区域0的逻辑相连。然而,区域1与区域0之间的ABR除了R1之外,还有R2。同样,也可以在R2与R3之间建立一条虚链路。

[r2]ospf 10
[r2-ospf-10]area 1
[r2-ospf-10-area-0.0.0.1]vlink-peer 10.0.3.3

[r3]ospf 10
[r3-ospf-10]area 1
[r3-ospf-10-area-0.0.0.1]vlink-peer 10.0.2.2

配置完成后,在R3上查看虚链路信息。 

 可以看到,现在在R3与R1之间、R3与R2之间各存在一条虚链路,开销值均为1,那么当R4访问总部网络区域0时,就会出现负载均衡的情形。新的需求是:R4与区域0通信时优先选用经由R1的路径,并以经由R2的路径作为备份,实现方法是修改虚链路的开销值。

由于虚链路实际使用的路径是在传输区域内经过SPF(Short Path First)算法计算出的最优路径,虚链路的开销值其实就是OSPF协议在传输区域内所选用的物理路径的开销值,所以修改虚链路的开销值其实就是修改物理路径的OSPF开销值。

在R3的GE0/0/2接口上修改OSPF协议开销值。

[r3]int g0/0/2
[r3-GigabitEthernet0/0/2]ospf cost 10

在R2的GE0/0/2接口上完成同样的配置。

[r2]int g0/0/2
[r2-GigabitEthernet0/0/2]ospf cost 10

配置完成后,在R3上查看虚链路信息。

可以看到,R3与R2之间的虚链路的开销值变成了10R3与R1之间的虚链路的开销值保持为1。在这样的条件下,R4或R3都将通过经由R1的路径访问区域0,并以经由R2的路径作为备份。

5.使用虚链路作为区域0链路的冗余备份 

目前,R1与R2之间只有单条链路连接,如果出现链路故障,就会导致区域0被分割的问题。为了解决这一问题,增强网络的可靠性,可以以区域1为传输区域,在R1与R2之间建立一条虚链路作为冗余备份。

[r1]ospf 10
[r1-ospf-10]area 1
[r1-ospf-10-area-0.0.0.1]vlink-peer 10.0.2.2

[r2]ospf 10
[r2-ospf-10]area 1
[r2-ospf-10-area-0.0.0.1]vlink-peer 10.0.1.1 

配置完成后,在R1上查看虚链路信息。 

可以看到,R1与R2之间的虚链路的开销为11。在R1上使用tracert命令测试访问10.0.2.2/32的路径。

可以发现,此时R1与R2之间的通信使用的仍是直连链路。关闭R1的GE0/0/0接口,模拟链路出现故障。

[r1]int g0/0/0
[r1-GigabitEthernet0/0/0]shutdown 

然后,再次用tracert命令进行测试。

可以看到,现在R1与R2采用了虚链路进行通信。

为进行后续实验,请重新打开R1的GE0/0/0接口。

[r1]int g0/0/0
[r1-GigabitEthernet0/0/0]undo shutdown

 6.配置虚链路的认证功能

由于虚链路使用了其它传输区域的物理链路,所以通常应配置认证功能来增强安全性。以R1与R2之间的虚链路为例,在R1上区域1的视图下,使用命令vlink-peer 10.0.2.2 hmac-md5 1 plain huawei,其中hmac-md5表示所选用的认证加密方式1key ID,plain huawei表示以明文方式显示口令,口令为huawei。

[r1]ospf 10
[r1-ospf-10]area 1
[r1-ospf-10-area-0.0.0.1]vlink-peer 10.0.2.2 hmac-md5 1 plain huawei

配置完成后,在R1上查看虚链路信息。

可以看到,目前R1与R2之间的虚链路状态为Down,说明虚链路建立失败, 原因是R2还未进行相应的认证功能配置。

在R2上配置认证功能。

[r2]ospf 10
[r2-ospf-10]area 1
[r2-ospf-10-area-0.0.0.1]vlink-peer 10.0.1.1 hmac-md5 1 plain huawei

 配置完成后,重新在R1上观察链路状态信息。

可以看到,R1与R2之间的虚链路已经得到恢复。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1660776.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Mysql的关联查询以及语句

一、mysql的连接查询 1、等值连接 这里是三张表的等值连接 select rp.role_id,rp.permission_id from role_permission rp, role r, permission p where rp.role_idr.id and rp.permission_idp.id 2、内连接: 角色:系统管理员 是否拥有权限&#xf…

【JVM】垃圾回收机制(Garbage Collection)

目录 一、什么是垃圾回收? 二、为什么要有垃圾回收机制(GC)? 三、垃圾回收主要回收的内存区域 四、死亡对象的判断算法 a)引用计数算法 b)可达性分析算法 五、垃圾回收算法 a)标记-清除…

ICode国际青少年编程竞赛- Python-3级训练场-if else语句

ICode国际青少年编程竞赛- Python-3级训练场-if else语句 1、 for i in range(9):if Flyer[i].x < Dev.x:Flyer[i].step(Dev.x - Flyer[i].x)else:Flyer[i].step(Flyer[i].x - Dev.x) Dev.step(Dev.y - Item.y)2、 for i in range(6):if Flyer[i].x < Dev.x:# 满足条…

哪里有高清视频素材软件?哪里有视频素材网站?

在这个视觉内容至关重要的时代&#xff0c;高质量的视频素材不仅能够增强信息传递的效果&#xff0c;还能显著提升观众的观看体验。接下来介绍的这些视频素材网站&#xff0c;将为您的创作提供广泛的选择&#xff0c;从本土到国际&#xff0c;满足您不同的需求和偏好。 1. 蛙学…

【Qt 学习笔记】Qt常用控件 | 多元素控件 | List Widget的说明及介绍

博客主页&#xff1a;Duck Bro 博客主页系列专栏&#xff1a;Qt 专栏关注博主&#xff0c;后期持续更新系列文章如果有错误感谢请大家批评指出&#xff0c;及时修改感谢大家点赞&#x1f44d;收藏⭐评论✍ Qt常用控件 | 多元素控件 | List Widget的说明及介绍 文章编号&#x…

Linux -- 日志

一 日志的重要性 在之前的编程经历中&#xff0c;如果我们的程序运行出现了问题&#xff0c;都是通过 标准输出 或 标准错误 将 错误信息 直接输出到屏幕上&#xff0c;以此来排除程序中的错误。 这在我们以往所写的程序中使用没啥问题&#xff0c;但如果出错的是一个不断在运行…

ICode国际青少年编程竞赛- Python-3级训练场-综合练习3

ICode国际青少年编程竞赛- Python-3级训练场-综合练习3 1、 for i in range(10):if i < 2 or i > 7: Flyer[i].step(1) Dev.step(Dev.y - Item[0].y)2、 for i in range(8):if i < 3 or i > 4:Spaceship.turnRight()else:Spaceship.turnLeft()Spaceship.step(i …

YUV中Y颜色模型的采样

YUV的特点 相对于表示颜色的GUI&#xff0c; YUI将亮度&#xff08;用Y表示&#xff09;与色调&#xff08;用U和V表示&#xff09;分开来表示。又因为人类视网膜上的视网膜杆细胞要多于视网膜锥细 胞&#xff0c;说得通俗一些&#xff0c;视网膜杆细胞的作用就是识别亮度&…

举办《Llama3关键技术深度解析与构建Responsible AI、算法及开发落地实战》线上高级研修讲座

举办《Llama3关键技术深度解析与构建Responsible AI、算法及开发落地实战》线上高级研修讲座

数据库的一些知识点

数据模型的组成要素中&#xff0c;描述数据库的组成对象以及对象之间的联系的是&#xff08; &#xff09;。 A 数据结构 B 数据操作 C 数据的完整性约束条件 D 数据的安全性约束条件 2.单选题 (2分) 若关系中的某一组属性的值能够唯一地标识一个元组&#xff0c;而其子集…

Sarcasm detection论文解析 |基于混合自动编码器的模型对社交媒体平台进行讽刺检

论文地址 论文地址&#xff1a;Electronics | Free Full-Text | Sarcasm Detection over Social Media Platforms Using Hybrid Auto-Encoder-Based Model (mdpi.com) 论文首页 笔记框架 基于混合自动编码器的模型对社交媒体平台进行讽刺检 &#x1f4c5;出版年份:2022 &#x…

Istio中的全局限流方案

Istio中的全局限流方案 在k8s网格&#xff08;istio&#xff09;环境中&#xff0c; 可以通过创建Envfoyfilter的方式来配置限流。 在istio官方文档中&#xff0c;提供了两种限流方式&#xff1a; 本地限流全局限流 本地限流的细节这里不再赘述, 主要讲解全局限流的配置方式…

基础算法,贪心算法,贪心策略,OJ练习

文章目录 一、概念二、OJ练习2.1 区间选点2.2 区间合并2.3 区间2.4 合并果子2.5 排队接水2.6 货仓选址2.7 防晒2.8 畜栏预定2.9 雷达设备2.10 国王游戏2.11 耍杂技的牛2.12 给树染色2.13 任务2.14 能量石 三、总结 一、概念 贪心是一种在每次决策时采取当前意义下最优策略的算…

数字音频的采样和量化

一.PCM&#xff08;Pulse-Code Modulation 脉冲编码调制&#xff09; PCM是一个无损无压缩的&#xff08;相较于有损压缩&#xff0c;如果相对于模拟信号是有损的&#xff09;数字化编码方式&#xff08;PCM不单单应用于音频领域&#xff0c;本文只介绍在音频领域中的应用&…

EmploLeaks:一款针对企业安全的组织员工信息收集OSINT工具

关于EmploLeaks EmploLeaks是一款针对企业安全的组织员工信息收集OSINT工具&#xff0c;在该工具的帮助下&#xff0c;企业内部的安全人员和管理员可以有效地收集组织内员工的各种信息&#xff0c;并以此来判断组织内部的网络安全态势。 工作机制 首先&#xff0c;该工具会在…

暴力法解决最近对问题和凸包问题-实现可视化

目录 最近对问题 凸包问题 最近对问题 顾名思义就是采用蛮力法求出所有点之间的距离&#xff0c;然后进行比较找出第一个最近对&#xff0c;一个一个进行比较。 大概思路就是如图&#xff08;每个圈代表一个数对&#xff09; 第一个和其他四个比较 第二个和其他三个比较 …

vite开发的项目如何打包build不同环境的代码?适配不同环境api接口

vite配置官方文档&#xff1a;环境变量和模式 | Vite 官方中文文档 其实vite打包的时候&#xff0c;主要是根据不同的环境来生成不同的打包文件的&#xff0c;所以不同的环境是怎么区分呢&#xff1f;这个在vite官方已经说明白了&#xff0c;那就是&#xff1a;环境变量和模式…

Linux 操作系统线程1

目录 一、线程 1.1线程的基本概念 1.2 线程相关的API函数 1.2.1 线程的创建 1.2.2 线程退出 1.2.3 线程等待函数 1.2.4 获取线程ID 1.2.5 线程取消 1.2.6 线程的清理函数 一、线程 1.1线程的基本概念 线程是属于进程&#xff1b;一个进程可以有多个线程&#xff…

【机器学习300问】83、深度学习模型在进行学习时梯度下降算法会面临哪些局部最优问题?

梯度下降算法是一种常用的优化方法&#xff0c;用于最小化损失函数以训练模型。然而&#xff0c;在使用梯度下降算法时&#xff0c;可能会面临以下局部最优问题。 &#xff08;一&#xff09;非凸函数的局部极小值 问题描述&#xff1a;在复杂的损失函数中&#xff0c;如果目…

5.2 Java全栈开发前端+后端(全栈工程师进阶之路)-服务端框架-Spring框架-相信我看这一篇足够

1.Spring框架 1.1.Spring框架简介 Spring是一个基于java的轻量级的、一站式框架。 虽然Spring是一个轻量级框架&#xff0c;但并不表示它的功能少。实际上&#xff0c;spring是一个庞然大物&#xff0c;包罗万象。 时至今日&#xff0c;Spring已经成为java世界中事实上的标准…