简单对比一下VRRP和策略路由之间主备切换的差异

news2024/12/23 15:21:12

前面我们介绍的VRRP(),两台设备之间处于主备关系,也就是说,当主设备故障之后,流量才会切换到备设备上。这种使用方式一定程度上讲,不太符合经济适用的原则,我们前面介绍过链路聚合()、负载均衡()和策略路由()等等,都是为了在提高可靠性的同时尽可能的提高转发性能。以上个案例为例,如果我们不使用VRRP,我们仍然可以使用策略路由实现两台设备的主备,但是主备切换做到VRRP这种效果还是有点难度的。

今天,我们来简单对比一下VRRP单备份组和策略路由之间主备切换的差异。

组网需求

1、核心交换机CORESW通过虚拟网关10.1.1.1与VRRP备份组互通;

2、手工配置VRRP1为主设备,VRRP2为备设备。当VRRP1正常工作时,PCA发送到ISP的报文经VRRP1转发;当VRRP1出现故障时,PCA发送给Host B的报文通过VRRP2转发。

3、配置VRRP1工作在VRRP抢占模式,以保证VRRP1故障恢复后,能再次抢占成为Master,即只要VRRP1正常工作,就由VRRP1负责转发流量。为了避免频繁地进行状态切换,配置抢占延迟时间为3000厘秒(30秒);

4、实现PCA可以持续访问ISP的业务地址8.8.8.8。

组网图

VRRP配置组网图:

 

实验环境

Windows 10专业版(1909-18363.1556,16 GB内存)

HCL 3.0.1

MSR 36-20(Version 7.1.064, Release 0821P11)

S5820V2-54QS-GE(Version 7.1.075, Alpha 7571)

配置步骤

上次的实验配置我们保持不变,在CORESW设备上增加策略路由配置如下:

#

acl advanced 3300

 rule 0 permit ip

#

policy-based-route vrrp permit node 10

 if-match acl 3300

 apply loadshare next-hop

 apply next-hop 10.1.1.11

 apply next-hop 10.1.1.22

#

interface Vlan-interface2

 ip address 10.2.1.254 255.255.255.0

ip policy-based-route vrrp

可以看到,我们在PCA的网关下面,应用了策略路由vrrp,策略路由配置为匹配所有转发流量,策略路由的动作配置为负载分担模式,应用的下一跳分别为VRRP1和VRRP2的接口真实IP地址,以此来实现与VRRP现有配置的不冲突。

然后我们在PCA上开始长ping,中间DOWN掉VRRP1的下联口看一下效果。

 

好家伙,直接断掉了,这是为什么呢?原因也简单,现在CORESW和VRRP1、VRRP2之间是通过二层地址通信的,因为本地的互联接口Vlan-interface1没有DOWN,所以策略路由不会切换。简单来说,就是CORESW不知道VRRP1的互联地址已经不通了。那要怎么解决呢?也简单,一般就是使用NQA和Track进行联动。

NQA全称是Network Quality Analyzer,直译为网络质量分析,NQA通过发送探测报文,对链路状态、网络性能、网络提供的服务及服务质量进行分析,并为用户提供标识当前网络性能和服务质量的参数,本案例中,我们就是要NQA来探测互联地址的可达性。

我们创建一个管理员名为vrrpnqa、操作标签为vrrp1的NQA测试组,配置测试类型为ICMP-echo,配置测试的目的地址和下一跳地址均为10.1.1.11,以便通过NQA检测到VRRP1的连通性。

#

nqa entry vrrpnqa vrrp1

 type icmp-echo

  destination ip 10.1.1.11

  next-hop ip 10.1.1.11

配置测试频率为100 ms,并配置联动项1,设置连续失败5次触发联动。

#

nqa entry vrrpnqa vrrp1

 type icmp-echo

  frequency 100

  reaction 1 checked-element probe-fail threshold-type consecutive 5 action-type trigger-only

然后启动NQA探测,配置为立即启动,长期有效。

#

 nqa schedule vrrpnqa vrrp1 start-time now lifetime forever

接下来配置Track项1和NQA测试组的关联。

#

track 1 nqa entry vrrpnqa vrrp1 reaction 1

同理,我们再配置一个到VRRP2连通性的NQA检测。

#

nqa entry vrrpnqa vrrp2

 type icmp-echo

  destination ip 10.1.1.22

  next-hop ip 10.1.1.22

  frequency 100

  reaction 1 checked-element probe-fail threshold-type consecutive 5 action-type trigger-only

#

 nqa schedule vrrpnqa vrrp2 start-time now lifetime forever

#

track 2 nqa entry vrrpnqa vrrp2 reaction 1

查看一下NQA测试的当前结果。

探测成功,未出现失败告警。

还可以查看NQA测试的统计信息。

 

 

通过这些统计数据,我们可以分析当前NQA检测的链路质量信息。

查看一下Track项的状态信息。

状态为Positive,表示状态正常。 

接下来,我们配置策略路由和NQA检测的Track联动。

#

policy-based-route vrrp permit node 10

 if-match acl 3300

 apply next-hop 10.1.1.11 track 1

 apply next-hop 10.1.1.22 track 2

我们从PCA上traceroute看一下转发路径。

 

可以看到有两条转发路径了。

然后,我们再次在PCA上开始长ping,中间分别测试DOWN掉VRRP1和VRRP2的下联口看一下效果。

 

在DOWN掉VRRP1的下联口时,丢包7个,业务中断14秒左右,然后切换到VRRP2上。

 

在DOWN掉VRRP2的下联口时,丢包11个,业务中断22秒左右,然后切换到VRRP1上。

经过观察,发现是NQA的检测结果耗时比较长。

 

现在连续两次探测开始时间的时间间隔我们配置的是100毫秒,已经很快了,但是缺省情况下,探测的超时时间为3000毫秒,比较长,我们将其调整为200毫秒;同时,将连续失败5次触发联动调整为3次。

  reaction 1 checked-element probe-fail threshold-type consecutive 3 action-type trigger-only

调整后的配置如下:

#

nqa entry vrrpnqa vrrp1

 type icmp-echo

  destination ip 10.1.1.11

  frequency 100

  next-hop ip 10.1.1.11

  probe timeout 200

  reaction 1 checked-element probe-fail threshold-type consecutive 3 action-type trigger-only

#

nqa entry vrrpnqa vrrp2

 type icmp-echo

  destination ip 10.1.1.22

  frequency 100

  next-hop ip 10.1.1.22

  probe timeout 200

  reaction 1 checked-element probe-fail threshold-type consecutive 3 action-type trigger-only

然后,我们再次在PCA上开始长ping,中间分别测试DOWN掉VRRP1和VRRP2的下联口看一下效果。

 

我们发现,现在NQA检测的状态变化已经很快了,而且Track状态的变化几乎与NQA检测是同时的,但是转发切换还是要慢一些,初步判断这就是策略路由的问题了。

官方的解释是“策略路由通过查询FIB表中是否存在下一跳或缺省下一跳地址对应的条目,判断设置的报文转发下一跳或缺省下一跳地址是否可用。策略路由周期性检查FIB表,设备到下一跳的路径发生变化时,策略路由无法及时感知,可能会导致通信发生短暂中断。”

好吧,实时证明,策略路由的状态切换确实比VRRP要差很多;使用策略路由时,同时兼顾负载均衡和主备切换的性能要差一些。

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

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

相关文章

Java面试--SpringMVC请求流程

用户发送请求,请求被 SpringMVC 前端控制器(DispatherServlet)捕获;前端控制器(DispatherServlet)对请求 URL 解析获取请求 URI,根据 URI,调用 HandlerMapping;前端控制器…

求最长递增子序列

题目: 给定数组arr,返回arr的最长递增子序列 举例: arr [2,1,5,3,6,4,8,9,7] 返回最长递增子序列为 [1,3,4,8,9] 方法一:复杂度为O(N^2) 1. 生成长度为N的数组 dp,dp[i] 表示以arr[i] 这…

架构师必读 —— 逻辑模型(8)

利用框架整理信息 框架用于明确“整体结构”,也指“通过MECE分析法将整体构成要素进行大分类”。重要的是框架应是MECE分析框架,因为 一旦有遗漏和重复,就会导致混乱。整体构成要素可大致分为 3~7大类。 建议先确认目的后思考框架&#x…

实时单目追踪和稠密建图的算法框架:TANDEM算法

01 概述 最近在研究TANDEM算法,是一个实时单目追踪和稠密建图的算法框架。TANDEM的算法框架可以概括为如下的几个部分: 1、位姿计算----在关键帧实施基于滑窗的像素级集束优化; 2、追踪前端----实施直接稠密图片配准,基于全局模…

如何找回电脑回收站删除的文件, 10种恢复工具方法!

你想取回你的回收站删除的文件吗?无论是图像、视频还是文档,我们的设备都会存储所有内容。您可能不小心删除了数据,或者由于其他原因而消失了。要恢复您的文件,您可以访问技术人员或下载任何最好的文件恢复软件。 如果您选择第二…

怎样把电脑D盘合并到c盘?相邻的分区怎么合并到C盘

因为C盘是重要的系统盘,系统用户设置文件夹,包括各个用户的文档、收藏夹、上网浏览信息、配置文件,不能随意删除。如果C盘空间不足,就会影响到电脑的整体运行速率,会导致电脑卡顿,要想彻底地解决这种情况&a…

HTML期末作业课程设计期末大作业——电影网页制作

HTML实例网页代码, 本实例适合于初学HTML的同学。该实例里面有设置了css的样式设置,有div的样式格局,这个实例比较全面,有助于同学的学习,本文将介绍如何通过从头开始设计个人网站并将其转换为代码的过程来实践设计。 精彩专栏推荐&#x1f4…

PHP序列化和反序列化漏洞学习

目录 PHP基础知识: 类的结构: 序列化 反序列化 魔术方法 字符串逃逸 PHP基础知识: 类的结构: 常见访问权限修饰符: public:公共的,在类的内部、子类中或者类的外部都可以使用,不受限制;p…

【GO】 K8s 管理系统项目[API部分--Daemonset]

K8s 管理系统项目[API部分–Daemonset] 1. 接口实现 service/dataselector.go // daemonCell type daemonSetCell appsv1.DaemonSetfunc(d daemonSetCell) GetCreation() time.Time {return d.CreationTimestamp.Time }func(d daemonSetCell) GetName() string {return d.Na…

高性能的Java IDE——IntelliJ IDEA v2022.3全新发布

IntelliJ IDEA,是java编程语言开发的集成环境。IntelliJ在业界被公认为最好的java开发工具,尤其在智能代码助手、代码自动提示、重构、JavaEE支持、各类版本工具(git、svn等)、JUnit、CVS整合、代码分析、 创新的GUI设计等方面的功能可以说是超常的。 I…

怎样在电脑上录制ppt课件?如何录制课件讲解视频

怎样在电脑上录制ppt课件?在当前的环境下,大部分学生都是在家进行上网课,本文就给大家分享几款非常简单实用的录制教学视频的工具。 一、PPT录屏 在windows系统中有个常用软件就是ppt,ppt也能够录屏,只是我们大家都忽…

postgresql数据库流复制

primary和standby在同一服务器的不同目录下。 primary: /var/postgre/data standby: /var/postgre/data1 1. 加账号 (也可以使用postgres账号) [postgresv-vlxsz-devdb01 data]$ psql psql (14.1) Type "help" for help. postgres# create role replica with r…

自动化制药设备中PLC如何进行远程监控?有何应用场景

随着科学技术水平的不断提高,制药设备也逐步走向自动化。自动化制药设备实现到精确的位置定位,实时的过程监控,快速的网络通讯,在到现场的每个动作的执行,具备高效率的生产特点。PLC作为现在工业设备控制系统的核心&am…

php-fpm 的状态查看和php-fpm 调优随笔

php-fpm status 配置 1. 找到php-fpm的配置文件,将 pm.status_path /status 注释去掉 重启php-fpm 2. 在nginx 中配置一个server块或者配置一个location 3. 最后通过curl 或者 http 请求可以看到php-fpm 的状态 可以带着参数访问,json、xml、html fu…

Android -- 每日一问:在项目中使用AsyncTask会有什么问题吗?

经典回答 那我们考查 AsyncTask 会问些什么呢?得先问问会不会用吧,看看知不知道有 onProgressUpdate 方法。 其次问一下是怎么理解 AsyncTask 的机制,有没有看过它的源代码? 这个问题主要看对方是否对 Android 的东西有好奇心&am…

夜天之书 #69 企业开源该选什么软件许可证?

开源软件和自由软件的概念与其许可证紧密绑定。通常,开源软件被定义为使用 OSI 认可的,即符合开源定义[1]的许可证来分发的软件,而自由软件被定义成使用 GPL 或说 Copyleft 式许可证分发的软件。尽管今天人们最关心的可能是软件的生产过程即如…

通过展开序列ISTA(SISTA)算法创建的递归神经网络(RNN)(Matlab代码实现)

目录 💥1 概述 📚2 运行结果 🎉3 参考文献 👨‍💻4 Matlab代码 💥1 概述 递归神经网络(recursive neural network)是具有树状阶层结构且网络节点按其连接顺序对输入信息进行递归…

element表格去除border边框同时有竖直方向的边框

为什么要去除boder边框,原因是boder的边框与页面的背景色相同,然后显得表格内凹了一个像素 要实现的需求是表格去除border边框同时添加竖直方向的边框 但是如果不添加boder属性,表格则没有竖直方向的边框 这种下无内凹,但是显得…

ICV:上半年全球市场规模达20.4亿美元,超声波雷达仍具有竞争力!

全球前沿科技咨询机构ICV近期发布了全球车载超声波雷达的市场分析报告。ICV在报告中指出,在当前的自动驾驶发展阶段,超声波雷达在一众传感器中仍具有较强竞争力,其中APA类型超声波雷达的渗透率上升空间很大。2022年上半年中国的超声波雷达市场…

kettle - get请求

文章目录前言kettle - get请求前言 如果您觉得有用的话,记得给博主点个赞,评论,收藏一键三连啊,写作不易啊^ _ ^。   而且听说点赞的人每天的运气都不会太差,实在白嫖的话,那欢迎常来啊!!! kettle - get请…