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.mzph.cn/news/751053.shtml

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

相关文章

算法-归并排序-788. 逆序对的数量

题目 给定一个长度为 n 的整数数列&#xff0c;请你计算数列中的逆序对的数量。 逆序对的定义如下&#xff1a;对于数列的第 i 个和第 j个元素&#xff0c;如果满足 i<j且 a[i]>a[j]&#xff0c;则其为一个逆序对&#xff1b;否则不是。 输入格式 第一行包含整数 n&a…

【渗透测试】redis漏洞利用

redis安装及配置 wget http://download.redis.io/releases/redis-3.2.0.tar.gz tar xzf redis-3.2.0.tar.gz cd redis-3.2.0 make cp /root/redis-6.2.6/redis.conf /usr/local/redis/bin/ cd /usr/local/redis/bin/ vi redis.conf #修改内容如下&#xff1a; #protected-mode …

C语言基础知识笔记

总体上必须清楚的: 1)程序结构是三种: 顺序结构 , 循环结构(三个循环结构), 选择结构(if 和 switch) 2)读程序都要从main()入口, 然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择)。 3)计算机的数据在电脑中保存是以 二进制的形式. 数据存放的位置就是 他的地址. 4)bit是…

【图像分割】使用Otsu 算法及迭代计算最佳全局阈值估计并实现图像分割(代码实现与分析)

本实验要求理解全局阈值分割的概念&#xff0c;并实现文本图像分割。需要大家深入理解Ostu 算法的实现过程及其迭代原理&#xff0c;同时通过学习使用Otsu 算法及其迭代&#xff0c;实践图像分割技术在文本图像处理中的应用。 以下将从实验原理、实验实现、实验结果分析三部分对…

(黑马出品_高级篇_01)SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式

&#xff08;黑马出品_高级篇_01&#xff09;SpringCloudRabbitMQDockerRedis搜索分布式 微服务技术——保护 今日目标1.初识Sentinel1.1.雪崩问题及解决方案1.2.服务保护技术对比1.3.Sentinel介绍和安装1.3.1.初识Sentinel1.3.2.安装Sentinel 1.…

Mock.js了解(Mock就是模拟一个后端,Postman模拟前端)

Mock.js 基于 数据模板 生成模拟数据。基于 HTML模板 生成模拟数据。拦截并模拟 ajax 请求。 基本语法 DTD&#xff08;数据模板定义规范&#xff09; 数据模板的每个属性由3部分构成&#xff1a;属性名、生成规则、属性值&#xff08;‘name|rule’: value&#xff09; 属性名…

Elasticsearch:调整搜索速度

在我之前的文章 “Elasticsearch&#xff1a;如何提高查询性能” 及 “Elasticsearch&#xff1a;提升 Elasticsearch 性能” 里&#xff0c;我详细描述了如何提高搜索的性能。在今天的文章里&#xff0c;我从另外一个视角来描述如何调整搜索的速度。希望对大家有所帮助&#x…

基于springboot+vue的早餐店点餐系统(源码+论文)

作者主页&#xff1a;Java程序员老张 主要内容&#xff1a;SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app等设计与开发。 收藏点赞不迷路 关注作者有好处 文末获取源码 技术选型 【后端】&#xff1a;Java 【框架】&#xff1a;…

Python基础综合案例-数据可视化

一、数据可视化 - 折线图可视化 1.1、json数据格式 """ 演示JSON数据和Python字典的相互转换 """ import json # 准备列表&#xff0c;列表内每一个元素都是字典&#xff0c;将其转换为JSON data [{"name": "张大山", &quo…

dp入门:从暴力dfs 到 dp

本篇为小金鱼大佬视频的学习笔记&#xff0c;原视频链接&#xff1a;https://www.bilibili.com/video/BV1r84y1379W?vd_source726e10ea5b787a300ceada715f64b4bf 基础概念 暴力dfs很多时候仅能过部分测试点&#xff0c;要想将其优化&#xff0c;一般以 dfs -> 记忆化搜索 …

JavaEE—— HTTP协议(上篇)

文章目录 一、认识什么是 HTTP 协议二、HTTP 抓包工具1.了解使用哪种工具2.了解抓包工具抓包的原理3.简单使用抓包工具 三、解释 HTTP 中的报文格式1.认识 URL2. 认识 HTTP 请求解释首行 "方法"解释 请求头(header)空行body 3、总结 一、认识什么是 HTTP 协议 HTTP …

PS学习 - 抠图-通道-主题颜色和背景颜色不能相近

抠出蝴蝶 1.通道抠图 套索工具 这里需要圈住你要的&#xff0c;注意尽量小点 ctrl j 复制 然后去掉背景 点击通道 找到明暗对比最大的通道&#xff0c;这里我理解为颜色反差最大的那个&#xff0c;突出你要抠的东西 搜了下说是一般为蓝色 复制通道 ctrll调出色阶 通过移…

Rust 枚举与模式匹配:探索类型安全与表达力的完美结合

Rust 是一种系统编程语言&#xff0c;旨在提供内存安全、并发性和性能。在 Rust 中&#xff0c;枚举&#xff08;Enum&#xff09;和模式匹配&#xff08;Pattern Matching&#xff09;是两个核心概念&#xff0c;它们共同构建了 Rust 强大的类型系统和表达力。本文将深入探讨 …

一文总结python的异常数据处理示例

AI应用开发相关目录 本专栏包括AI应用开发相关内容分享&#xff0c;包括不限于AI算法部署实施细节、AI应用后端分析服务相关概念及开发技巧、AI应用后端应用服务相关概念及开发技巧、AI应用前端实现路径及开发技巧 适用于具备一定算法及Python使用基础的人群 AI应用开发流程概…

理解java特性:抽象类和接口

抽象类 抽象类的意义何在&#xff1f; 表面上看抽象类就是其中的抽象方法 不写方法体 只写一个方法声明&#xff1a; public abstract void eat(); 这个eat方法 在基类中是一个抽象概念 不知道动物要吃什么 动物是一个总体概念 所以继承它的子类必须实现这个方法 把抽象变为…

springboot278基于JavaWeb的鲜牛奶订购系统的设计与实现

鲜牛奶订购系统的设计与实现 摘 要 如今社会上各行各业&#xff0c;都喜欢用自己行业的专属软件工作&#xff0c;互联网发展到这个时候&#xff0c;人们已经发现离不开了互联网。新技术的产生&#xff0c;往往能解决一些老技术的弊端问题。因为传统鲜牛奶订购信息管理难度大&…

VMwareWorkstation16与Ubuntu 22.04.6 LTS下载与安装

一、准备工作 VMware Workstation Pro 16官网下载&#xff1a; https://customerconnect.vmware.com/cn/downloads/info/slug/desktop_end_user_computing/vmware_workstation_pro/16_0。下载需要账号登录。 二、安装 双击exe文件稍等一会会弹出安装程序&#xff0c;如图 这…

FUTR3D论文实验环境配置及运行

项目地址&#xff1a;https://github.com/Tsinghua-MARS-Lab/futr3d 论文地址&#xff1a;https://arxiv.org/abs/2203.10642 环境&#xff1a;Linux、cuda 11.1、python 3.8 1.创建虚拟环境futr conda create -n futr python3.8 -y conda activate futr2.安装pytorch的GPU版本…

Vue中nextTick一文详解

什么是 nextTick&#xff1f; 在 Vue 中&#xff0c;当我们修改数据时&#xff0c;Vue 会自动更新视图。但是&#xff0c;由于 JavaScript 的事件循环机制&#xff0c;我们无法立即得知视图更新完成的时机。这时候&#xff0c;我们就需要使用 nextTick 来获取视图更新完成后的…

Spring Boot(六十八):SpringBoot 整合Apache tika 实现文档内容解析

1 Apache Tika 介绍 Apache Tika 是一个开源的内容检测和分析框架,由Apache软件基金会开发和维护的顶级项目。它可以从各种格式的文件中提取元数据和文本内容。Tika非常适合处理全文搜索、内容分析、翻译、内容提取等需要大量处理和分析文档内容的任务。Apache Tika提供了多种…