在eigrp做不等值路由的负载均衡

在eigrp中如何做到不等值路由的负载均衡

EIGRP Load Balancing

  每个路由协议都支持等值路径的负载均衡.除此之外,IGRP和EIGRP也支持不等值路径的负载均衡,使用variance命令. Variance命令向路由器通告一个n值,n值使用variance命令指定.n值为1-128之间,默认为1。
网络拓扑

Variance

在上图 中,router E有三个路径到网络X
• E-B-A with a metric of 30
• E-C-A with a metric of 20
• E-D-A with a metric of 45

  Router E选择第二个路径,E-C-A的metric为20,20为三个路径的最小值,如果希望EIGRP选择优先E-B-A路径,配置variance值为乘数2
router eigrp 1
network x.x.x.x
variance 2

  这样增加了metric到40(2*20=40)。这样EIGRP包括了所有metric小于40的路由,在上面的配置中,路由器使用了两个路径到达网络X,E-C-A和E-B-A,因为两个路径的metric值都在40以下。因为E-D-A的metric为45,大于40,所以eigrp不选择此路径到达网络X。而且,路由器D报告到达网络X的metric为25,这个值比可行的metric值20要大。这就意味着即使variance设置为3,E-D-A路径也不会被选择为负载均衡的路径,因为router D不是一个可行的后继者。

Traffic Sharing

  Eigrp不仅支持不等值路径的负载均衡,而且也支持智能负载均衡,例如traffic sharing。有多个路由到达同一目的网络有不同cost的情况下,想要控制在不同路由上的traffic,可以使用traffic sharing命令。使用balanced关键字,路由器按照不同路由的metrics比率成比例的分配流量。这是默认设置

router eigrp 1
network x.x.x.x
variance 2
traffic-share balanced

下面是traffic share计算案例
• For path E-C-A: 30/20 = 3/2 = 1
• For path E-B-A: 30/30 = 1

  如果不能整除,我们按照其整数计算(注意:不是四舍五入)。在这个案例中eigrp发送包通过E-C-A和E-B-A的比率为1:1,这样做到了负载均衡的目的。

  现在我们假设在E-B间的metric为25,B-A间的metric为15。这样E-B-A的metric为40,因为40不小于2×20(20是可行的路径metric,2是variance值),这样在E-C-A和E-B-A之间不可以实现负载均衡。如果希望实现负载均衡,我们需要将variance值设置为3。这样两条链路上的traffic share比率为
• For path E-C-A: 40/20 = 2
• For path E-B-A: 40/40 = 1

  这样eigrp在E-C-A和E-B-A的流量比率为2:1。通过这样的方法,eigrp不仅支持了不等值的路由负载均衡,而且也支持了智能负载均衡

  在关键字min使用时,traffic仅仅通过最小cost路径发送,即使在路由表中有多个路由路径
router eigrp 1
network x.x.x.x
variance 3
traffic-share min across-interfaces

这样配置的结果是,eigrp仅仅通过E-C-A的路径发送
此文章同样适用于igrp 文章录入:csh    责任编辑:csh

(0)

相关推荐

  • 在eigrp做不等值路由的负载均衡

    在eigrp中如何做到不等值路由的负载均衡 EIGRP Load Balancing 每个路由协议都支持等值路径的负载均衡.除此之外,IGRP和EIGRP也支持不等值路径的负载均衡,使用variance命令. Variance命令向路由器通告一个n值,n值使用variance命令指定.n值为1-128之间,默认为1. 网络拓扑 Variance 在上图 中,router E有三个路径到网络X • E-B-A with a metric of 30 • E-C-A with a metric of

  • GateWay动态路由与负载均衡详细介绍

    目录 概述 项目实例 1.gateway-server模块 1.1.pom.xml文件 1.2.application.yml文件 1.3.主函数类 2.login-service模块 2.1.pom.xml文件 2.2.application.yml文件 2.3.LoginController文件 2.4.主函数类 3.功能测试 概述 从之前的配置里面我们可以看到我们的 URL 都是写死的,这不符合我们微服务的要求,我们微服务是只要知道服务的名字,根据名字去找,而直接写死就没有负载均衡的效果了

  • springcloud gateway如何实现路由和负载均衡

    简介: gateway主要是做路由 负载,过滤 主要是替代zuul 1.x 性能比zuul好 zuul是基于 Servlet ,gateway是基于spring-webflux 用的netty+reactor yml文件 实现路由 负载 的配置 亲自测试 spring: application: name: xgyx_gateway cloud: discovery: locator: enabled: true gateway: routes: - id: a #随便定义不重复就好 uri:

  • 一文概括6种负载均衡技术的实现方式(小结)

    负载均衡作为目前服务器集群部署的一款常用设备,当一台机器性能无法满足业务的增长需求时,不是去找一款性能更好的机器,而是通过负载均衡,利用集群来满足客户增长的需求. 负载均衡技术的实现,主要分为以下几种: HTTP 重定向负载 DNS 域名解析负载 反向代理负载 IP 负载 (NAT 负载和 IP tunnel 负载) 直接路由 (LVS-DR) IP隧道 (LVS-TUN) 负载均衡不能狭义地理解为分配给所有实际服务器一样多的工作量,因为多台服务器的承载能力各不相同,这可能体现在硬件配置.网络带

  • 详解Nginx 反向代理、负载均衡、页面缓存、URL重写及读写分离详解

    注,操作系统为 CentOS 6.4 x86_64 , Nginx 是版本是最新版的1.4.2,所以实验用到的软件请点击这里下载: CentOS 6.4下载地址:http://www.jb51.net/softs/78243.html Nginx下载地址:http://www.jb51.net/softs/35633.html 一.前言 在前面的几篇博文中我们主要讲解了Nginx作为Web服务器知识点,主要的知识点有nginx的理论详解.nginx作为web服务器的操作讲解.nginx作为LNM

  • apache负载均衡的安装和实现方法

    其实无论是分布式,数据缓存,还是负载均衡,无非就是改善网站的性能瓶颈,在网站源码不做优化的情况下,负载均衡可以说是最直接的手段了。其实抛开这个名词,放开了说,就是希望用户能够分流,也就是说把所有用户的访问压力分散到多台服务器上,也可以分散到多个tomcat里,如果一台服务器装多个tomcat,那么即使是负载均衡,性能也提高不了太多,不过可以提高稳定性,即容错性。当其中一个主tomcat当掉,其他的tomcat也可以补上,因为tomcat之间实现了Session共享。待tomcat服务器修复后再次

  • Nginx服务器做负载均衡反向代理的超级攻略

    nginx 做反向代理时,后端主机有多台,可以使用 upstream 定义一个后端主机池,在反向代理时直接使用主机池的名字.在 upstream 中可以定义负载均衡调度算法,权重,健康状态检测等参数. 例如: upstream backend { server 172.16.0.1:80 weight=1 max-fails=3 fail_timeout=10; server 172.16.0.2:80 weight=1max-fails=3 fail_timeout=10;; } 默认请求下,

  • SpringCloud负载均衡实现定向路由详情

    目录 背景 实现方式 基于ip 基于nacos的元数据 实现原理 Gateway服务 普通服务 使用方法 metadata模式 ip模式 auto模式 总结 背景 随着微服务项目的迭代,可能一个服务会有多个实例,这时候就会涉及到负载均衡.然而我们在开发的时候,肯定希望只启动一个项目.然后调试的时候希望负载均衡把请求分配到我们正在开发测试的服务实例上面. 如图所示,我们希望可以指定调用路径也就是定向路由. 实现方式 基于ip 这个很好理解,就是开发者本地正在运行的服务在nacos上面肯定显示你本机

  • Nginx做NodeJS应用负载均衡配置实例

    负载均衡可以把用户的请求分摊到多个服务器上进行处理,从而实现了对海量用户的访问支持.负载均衡的架构如图所示: 对于复杂的Web应用来说,用Nginx做前端负载均衡是理所当然的事. 下面,我们用Nginx做NodeJS应用的负载均衡. 1.配置Nginx 修改nginx.conf: upstream sample { server 127.0.0.1:3000; server 127.0.0.1:3001; keepalive 64; } server { listen 80; .... serv

  • 使用nginx做负载均衡的模块解读

    使用nginx做负载均衡的两大模块: upstream 定义负载节点池. location 模块 进行URL匹配. proxy模块 发送请求给upstream定义的节点池. upstream模块解读 nginx 的负载均衡功能依赖于 ngx_http_upstream_module模块,所支持的代理方式有 proxy_pass(一般用于反向代理),fastcgi_pass(一般用于和动态程序交互),memcached_pass,proxy_next_upstream,fastcgi_next_p

随机推荐