HCIP—OSPF虚链路实验

OSPF虚链路—Vlink

作用:专门解决OSPF不规则区域所诞生的技术,是一种虚拟的,逻辑的链路。实现非骨干区域和骨干区域在逻辑上直接连接。注意虚链路条件:只能穿越一个区域,通常对虚链路进行认证功能的配置。虚链路认证也是OSPF接口认证的一种,支持MD5,明文等特性。

由于虚链路只能配置邻居的RID,但是无法获取其他的RID,无法建立邻居。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路径作为冗余备份。另外,为了提高安全性,对于所使用的虚链路应进行认证功能的配置。

一:对接口进行基础IP配置,保证各个自连网段的连通性。

二:搭建OSPF网络

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

[R1]ospf 1 router-id 10.0.1.1
[R1-ospf-1]a 0  
[R1-ospf-1-area-0.0.0.0]network 10.0.12.0 0.0.0.255
[R1-ospf-1-area-0.0.0.0]network 10.0.1.1 0.0.0.0
[R1-ospf-1-area-0.0.0.0]a 1
[R1-ospf-1-area-0.0.0.1]network 10.0.13.0 0.0.0.255

[R2]ospf 1 router-id 10.0.2.2 
[R2-ospf-1]a 0  
[R2-ospf-1-area-0.0.0.0]network 10.0.12.0 0.0.0.255
[R2-ospf-1-area-0.0.0.0]network 10.0.2.2 0.0.0.0
[R2-ospf-1-area-0.0.0.0]a 1
[R2-ospf-1-area-0.0.0.1]network 10.0.23.0 0.0.0.255

[R3]ospf 1 router-id 10.0.3.3
[R3-ospf-1]a 1
[R3-ospf-1-area-0.0.0.1]network 10.0.13.0 0.0.0.255
[R3-ospf-1-area-0.0.0.1]network 10.0.23.0 0.0.0.255
[R3-ospf-1-area-0.0.0.1]network 10.0.3.3 0.0.0.0
[R3-ospf-1-area-0.0.0.1]a 2
[R3-ospf-1-area-0.0.0.2]network 10.0.34.0 0.0.0.255

[R4]ospf 1 router-id 10.0.4.4 
[R4-ospf-1]a 2
[R4-ospf-1-area-0.0.0.2]network 10.0.34.0 0.0.0.255
[R4-ospf-1-area-0.0.0.2]network 10.0.4.4 0.0.0.0

R3上使用命令查看OSPF邻居关系


 

查看R4LSDB

从中可以看出R4的LSDB中没有区域0中关于10.0.1.1/32和10.0.2.2/32的LSA, 只有本区域的LSA,没有其他区域是LSA。即说明区域2与区域0并没有相连。

三:使用虚链路使区域2与区域0逻辑相连

使用虚链路使区域2与区域0逻辑相连起来,将区域1作为区域2和区域0之间的传输区域。在R3和R1上配置VLINK。

[R3]ospf 1
[R3-ospf-1]a 1 
[R3-ospf-1-area-0.0.0.1]vlink-peer 10.0.1.1#10.0.1.1为对方的RID

[R1]ospf 1
[R1-ospf-1]a 1
[R1-ospf-1-area-0.0.0.1]vlink-peer 10.0.3.3

R1使用命令查看虚链路信息

状态为FULL表示成功建立虚链路

R4查看LSDB

可以看出,区域0 和区域1的LSA已经存在,区域0和区域2已经连通。

R4测试与R1,R2的连通性

通过R1和R3之间的虚链路,实现了区域2和区域0的逻辑相连。还需要配置R2与R3之间的虚链路

[R2]ospf 1
[R2-ospf-1]a 1 
[R2-ospf-1-area-0.0.0.1]vlink-peer 10.0.3.3

[R3]ospf 1
[R3-ospf-1]a 1
[R3-ospf-1-area-0.0.0.1]vlink-peer 10.0.2.2

四:修改虚链路开销值

R3查看虚链路信息

R3与R1(10.0.1.1)之间,R3与R2(10.0.2.2)之间各存在一条虚链路,开销值Cost都为1。R4访问区域0时,出现负载均衡的情况。实验需求是R4与区域0通信时优先选择R1的路(R4→R3→R1),选择R2的路径进行备份(R4→R3→R2)实现实验需求通过更改虚链路的开销值。

虚链路的开销值是OSPF协议在传输区域内所选用的物理路径的开销值。修改虚链路开销值就是修改物理路径接口两端的开销值。

备份选择路径R4→R3→R2,就是修改R3→R2物理路径两端接口的开销值为10

[R3]int g 0/0/2
[R3-GigabitEthernet0/0/2]ospf cost 10
[R3-GigabitEthernet0/0/2]

[R2]int g 0/0/2
[R2-GigabitEthernet0/0/2]ospf cost 10
[R2-GigabitEthernet0/0/2]

R3上查看虚链路信息

可以看出,R3与R2之间虚链路开销值Cost为10,R3和R1之间虚链路开销值Cost为1。,开销值越大则优先级越低。保证了R4和R3访问区域0时,优先选择R1,备份选择R2。

五:使用虚链路作为区域0链路的冗余备份

        由于R1和R2之间只有单条链路连接,如果链路出现故障,就会导致区域0被分割。R1和R2之间属于区域0,区域0为骨干区域不可以被分割。为了保证网络的可靠性,可以将区域1作为传输区域,在R1和R2之间建立一条虚链路作为冗余备份。

[R1]ospf 1
[R1-ospf-1]a 1
[R1-ospf-1-area-0.0.0.1]vlink-peer 10.0.2.2

[R2]ospf 1
[R2-ospf-1]a 1
[R2-ospf-1-area-0.0.0.1]vlink-peer 10.0.1.1

R1查看虚链路信息

可以看出R1到R2的开销值Cost为11,R1使用tracert命令测试访问10.0.2.2/32路径

可以看出10.0.12.2为R2的入接口,即访问路径为直连路径R1→R2。关闭R1的GE 0/0/0接口,模拟R1和R2直连链路出现故障。再次使用tracert命令测试访问10.0.2.2/32路径

[R1]interface GigabitEthernet 0/0/0
[R1-GigabitEthernet0/0/0]shutdown 

[R1]tracert 10.0.2.2

可以看出10.0.13.3为R3的入接口,10.0.23.2 为R2的入接口。即访问路径通过区域1到达区域0,及R1→R3→R2。

然后出重新打开R1的GE0/0/0接口

[R1]int g 0/0/0 
[R1-GigabitEthernet0/0/0]undo shutdown 
 

六:配置虚链路的认证功能

当我们使用虚链路配置信息时,通常配置认证功能来增强安全性。R1和R2之间虚链路为例子,使用命令hmac-md5 1 plain huawei,hmac-md5表示使用的认证加密方式,1为Key ID,plain huawei表示明文方式显示口令。

[R1]ospf 1
[R1-ospf-1]a 1   
[R1-ospf-1-area-0.0.0.1]vlink-peer 10.0.2.2 hmac-md5 1 plain huawei

R1上观察虚链路信息

R1和R2之间的虚链路状态为Down,说明虚链路建立失败。原因在于R2没有进行相应的认证功能

R2上配置认证功能

[R2]ospf 1
[R2-ospf-1]a 1
[R2-ospf-1-area-0.0.0.1]vlink-peer 10.0.1.1 hmac-md5 1 plain huawei

R1再次观察虚链路信息

R1和R2之间的虚链路状态为Full,说明虚链路建立成功。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

部署一个本地的ChatGPT(Ollama)

一 下载Ollama Ollama下载地址:https://ollama.com/download 下载完后 二 安装运行 双击下载好的OllamaSetup.exe开发 安装Ollama: 安装完成后,多了一个Ollama的菜单如下图 : Ollama安装好默认是配置开机运行,如果没有运行可以在…

2684. 矩阵中移动的最大次数

说在前面 🎈不知道大家对于算法的学习是一个怎样的心态呢?为了面试还是因为兴趣?不管是出于什么原因,算法学习需要持续保持。 题目描述 给你一个下标从 0 开始、大小为 m x n 的矩阵 grid ,矩阵由若干 正 整数组成。 …

【More Effective C++】条款24:了解虚函数的成本

每个包含了虚函数的class会包含一个虚函数表,对于C1和C2的虚函数表的结构如下: 非虚函数不会加入到虚函数表中子类中如果对虚函数重写,虚函数表中会覆盖父类的虚函数 C1::~C1()C1::~f1()C1::~f2()C1::~f3() C2::~C2()C2::~f1()C1::~f2()C1:…

QT插件简单使用2

目录 1 总的目录结构 2 主程序 3 插件程序 4 运行结果 相比原来的QT插件简单使用-CSDN博客增加了 QObject *create(const QString &name, const QString &spec) override; 函数的使用和Plugin.json的使用 1 总的目录结构 编译器mingw-64 2 主程序 1 新建一个其他…

onnx 格式模型可视化工具

onnx 格式模型可视化工具 0. 引言1. 可视化工具2. 安装 Netron: Viewer for ONNX models 0. 引言 ONNX 是一种开放格式,用于表示机器学习模型。ONNX 定义了一组通用运算符(机器学习和深度学习模型的构建基块)和通用文件格式,使 A…

Selenium-webdriver_manager判断是否已经下载过驱动(复用缓存驱动)

1,谷歌浏览器默认位置 2,ChromeDriverManager 下载的驱动位置 其中admin为机器的用户名 def installDriver(self):"""判断是否需要下载driver""""""找到本机谷歌浏览器版本""""""C:\P…

Unity触发器的使用

1.首先建立两个静态精灵(并给其中一个物体添加"jj"标签) 2.添加触发器 3.给其中一个物体添加刚体组件(如果这里是静态的碰撞的时候将不会触发效果,如果另一个物体有刚体可以将它移除,或者将它的刚体属性设置…

做一个个人网站分几步?第一步,找个简单的模板借鉴(抄)一下

做一个个人博客第一步该怎么做? 好多零基础的同学们不知道怎么迈出第一步。 那么,就找一个现成的模板学一学呗,毕竟我们是高贵的Ctrl c v 工程师。 但是这样也有个问题,那就是,那些模板都,太!…

Css提高——flex布局及其相关属性

目录: 1、传统布局与flex布局的区别 2、flex的布局原理 3、flex常见的父项属性 3.1、flex-direction :设置主轴的方向 3.2、justify-content 设置主轴上的子元素排列方式 3.3、flex-wrap 设置子元素是否换行 3.4、align-items 设置侧轴上的子元素排…

【周总结】✈️✈️✈️

周总结 完成时区改造的开发 完成已提测功能的问题修改 2024/3/17 阴 不冷不热 Spring is coming soon. Its an uneasy weekend to enjoy by myself,because all things what i wanna do is made by self,(when getting up,what to eat,when to sleep...) There …

SpringBoot异常:类文件具有错误的版本 61.0, 应为 52.0的解决办法

问题: java: 无法访问org.mybatis.spring.annotation.MapperScan 错误的类文件: /D:/Program Files/apache-maven-3.6.0/repository/org/mybatis/mybatis-spring/3.0.3/mybatis-spring-3.0.3.jar!/org/mybatis/spring/annotation/MapperScan.class 类文件具有错误的…

AI预测福彩3D第12弹【2024年3月18日预测--新算法重新开始计算第9次测试】

今天继续对第一套算法进行测试。废话不多说了,直接上分析出的图表,再上结果。 最终,经过研判分析,2024年3月18日福彩3D的七码预测结果如下: 百位:3 2 4 0 1 5 8(6或9换8,重点考虑6) 十位&#x…

【C语言】linux内核软中断

一、什么是软中断? 内核中的软中断(Softirqs)和任务下半部(Tasklets)是Linux内核中用于在中断上下文之外处理中断服务的一种底层机制。这些机制解决了不能在中断服务例程(ISR)中执行耗时操作或…

服务器数据恢复—raid5热备盘上线同步数据失败的如何恢复数据

服务器数据恢复环境&故障&分析: 一台存储上有一组由多块硬盘组建的raid5阵列,该raid5阵列中的一块硬盘掉线,热备盘自动上线同步数据的过程中,raid阵列中又有一块硬盘掉线,热备盘的数据同步被中断,r…

JavaWeb06-MVC和三层架构

目录 一、MVC模式 1.概述 2.好处 二、三层架构 1.概述 三、MVC与三层架构 四、练习 一、MVC模式 1.概述 MVC是一种分层开发的模式,其中 M:Model,业务模型,处理业务 V: View,视图,界面展…

腾讯云优惠券领取的几种方法,助你降低云服务成本

随着云计算技术的广泛应用,越来越多的企业和个人选择使用云服务来降低运营成本、提高运营效率。腾讯云作为国内领先的云服务提供商,凭借其出色的性能、稳定性和安全性,赢得了广大用户的信赖。为了回馈用户,腾讯云经常推出各种优惠…

Python实现BOA蝴蝶优化算法优化循环神经网络分类模型(LSTM分类算法)项目实战

说明:这是一个机器学习实战项目(附带数据代码文档视频讲解),如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 蝴蝶优化算法(butterfly optimization algorithm, BOA)是Arora 等人于2019年提出的一种元启发式智能算…

element el-cascader获取完整数据

<el-table-column prop"createTime" label"编辑店铺分类"><template slot-scope"scope"><el-cascaderref"cascader"v-model"scope.row.shoptypeone":options"commoditylist"placeholder"请选…

RPC 和 序列化

RPC 1 RPC调用流程 1.1 clerk客户端调用远程服务 Clerk::PutAppend() raftServerRpcUtil::PutAppend() raftServerRpcUtil是client与kvserver通信的入口&#xff0c; 包含kvserver功能的一对一映射&#xff1a;Get/PutAppend&#xff0c;通过stub对象——raftKVRpcProctoc:…

爬虫神器!使用Python一键下载网页图片,省时高效!

引言 爬虫技术在当今信息时代中扮演着重要的角色&#xff0c;可以自动化获取互联网上的数据。本教程将围绕你提供的Python爬虫代码展开&#xff0c;旨在实现自动下载图片的功能。通过这个示例&#xff0c;你将学习如何利用爬虫技术批量获取网页中的图片&#xff0c;并将其保存…