与大多数内部路由协议不同的是, EIGRP能够将流量负载分到多条非等价路径上,而不仅仅使用去往目的地最近距离的那一条路径。提供这项功能的特性称为非等价负载分担。
 
非等价负载分担的核心概念是可行后继。尽管可行后继并不是去往目的地最短的那条路径,但路由器也可以确保它们是去往目的地无环的路径。 EIGRP正是利用了这一点:将可行后继提供的路径也放人到路由表中,与最优路径一同使用,甚至当路由处于被动状态时也可以这样做。
 
工程师可以使用命令variance multiplier来启用非等价负载分担。在命名模式中,工程师可以在topoIogy base配置部分中设置variance。multiplier参数定义的是可行后继提供的路径比最优路径相比差了多少倍,仍可以被EIGRP用于非等价负载分担。更具体地说,如果工程师将variance设置为V,那么对于每个目的地,路由器都会检查可行后继提供的路径是否满足以下条件(CD指的是计算距离) :
根据后继计算出的CD (根据这个可行后继计算出的CD( Vx根据后继计算出的CD。 如果可行后继满足条件的话,EIGRP会将这个可行后继提供的路径放入路由表中。
这个倍数参数的默认值是1 ,也就是默认不执行非等价负载分担。工程师可以使用命令show ip protocoIs来查看当前的倍数参数。
如果路由器将多条去往某目的地的非等价路径放人了路由表中,它会通过最差的路径转发较少的流量,反之亦然。工程师可以按照下面这个比例,计算出路由器通过每条路径转发的数据量:放人路由表的最大路径度量值/路径度量值
 
举例来说,如果去往某目的地一共有4条路径,分别由后继和可行后继提供,它们的度量值分别是1100、 1100、 2000和4000,那么通过这4条路径发送的数据量应该是4000/1100=3、 4000/1100=3、 4000/2000=2以及4000/4000=1 ,实际的流量共享比例就是3:3:2:1 (IOS路由器执行取整运算)。
还有一点一定要搞明白,要想让EIGRP执行非等价负载分担,必须首先在拓扑表中存在去往目的地的可行后继。对于那些没有满足FC要求的路由器, EIGRP不会将其当作可行后继,因而也不会在执行非等价负载分担时使用这些路由器提供的路径。为了将一些邻居当作可行后继,工程师可能需要合理地调整度量值,使邻居能够通过FC检查。
记住,能够被放人路由表中的非等价路径也是有最大数量限制的,这一点与等价路径相同,工程师可以使用命令maximum-Paths进行设置;要根据具体的网络拓扑和需求,合理地修改这项设置。

EIGRP-16-其他和高级的EIGRP特性-2-非等价负载分担的更多相关文章

  1. EIGRP-15-其他和高级的EIGRP特性-1-路由器ID

    与很多协议一样, EIGRP也使用了路由器ID (RTD)的概念,用一个4字节的编号来标识某个路由器实例.每个地址家族实例拥有自已独立的RID.工程师可以在一台路由器上,为多个EIGRP进程和地址家族 ...

  2. atitit.高级编程语言的特性 and 未来趋势与进化.doc

    atitit.高级编程语言的特性 and 未来趋势与进化.doc 1 编程语言的发展历程 1 1.1 编程语言的进化,起始发现背后的思想 :不论什么两个系统之间的复杂性,都能够通过加入一个抽象层要屏蔽 ...

  3. Tengine是由淘宝网发起的Web服务器项目。它在Nginx的基础上,针对大访问量网站的需求,添加了很多高级功能和特性

    简介 Tengine是由淘宝网发起的Web服务器项目.它在Nginx的基础上,针对大访问量网站的需求,添加了很多高级功能和特性.Tengine的性能和稳定性已经在大型的网站如淘宝网,天猫商城等得到了很 ...

  4. React 16 服务端渲染的新特性

    React 16 服务端渲染的新特性 React 16 中关于服务端渲染的新特性 快速介绍React 16 服务端渲染的新特性,包括数组.性能.流等 React 16 终于来了!

  5. 小D课堂 - 新版本微服务springcloud+Docker教程_4-04 高级篇幅之服务间调用之负载均衡策略调整实战

    笔记 4.高级篇幅之服务间调用之负载均衡策略调整实战     简介:实战调整默认负载均衡策略实战 自定义负载均衡策略:http://cloud.spring.io/spring-cloud-stati ...

  6. iOS开发——高级篇——Objective-C特性:Runtime

    Objective-C是基于C语言加入了面向对象特性和消息转发机制的动态语言,这意味着它不仅需要一个编译器,还需要Runtime系统来动态创建类和对象,进行消息发送和转发.下面通过分析Apple开源的 ...

  7. Redis高级命令及特性(安全性)

    高级命令 ​ keys * : 返回满足的所有键 ,可以模糊匹配 ​ exists :是否存在指定的key,存在返回1,不存在返回0 ​ exprie:设置某个key的过期时间 ​ ttl:查看剩余时 ...

  8. C#高级编程之特性

    特性定义 MSDN的描述:使用特性,可以有效地将元数据或声明性信息与代码(程序集.类型.方法.属性等)相关联. 将特性与程序实体相关联后,可以在运行时使用反射这项技术查询特性. 参考此处作者的解释 h ...

  9. 阶段1 语言基础+高级_1-3-Java语言高级_08-JDK8新特性_第4节 方法引用_7方法引用_数组的构造器引用

    先创建函数式接口 创建测试类 打印长度是10...... 方法引用优化

随机推荐

  1. Django认证系统之自定义认证表

    models.py from django.db import models from django.contrib.auth.models import AbstractUser class Use ...

  2. 测试工程中引入Masonry记录

    测试工程中需要引入Masonry,在进行添加新库时发现了几个问题,记录如下,方便有相同问题的朋友查找解决:   1,podfile中添加 pod ‘Masonry’ 后,pod install --v ...

  3. 花费一周刷完两份面试pdf(含答案)轻松拿下了抖音、头条、京东、小米等大厂的offer,成功度过程序员的寒冬。

    整理出一篇Java进阶架构师之路的核心知识,同时也是面试时面试官必问的知识点,篇章也是包括了很多知识点,其中包括了有基础知识.Java集合.JVM.多线程并发.spring原理.微服务.Netty 与 ...

  4. css不换行解决

    word-wrap: break-word; word-break: break-all; white-space: pre-wrap;

  5. MyBatis通过注解方式批量添加、修改、删除

    唯能极于情,故能极于剑 注: 本文转载于:CodeCow · 程序牛 的个人博客:http://www.codecow.cn/ 一.数据库实体DO public class User implemen ...

  6. [ES6系列-05]字符串相关操作更方便

    [原创] 码路工人 Coder-Power 大家好,这里是码路工人有力量,我是码路工人,你们是力量. github-pages 博客园cnblogs 今天的内容是,关于 ES6 JavaScript ...

  7. 工作中oracle常用操作

    常用数据库操作 启动数据库监听器lsnrctl start 停止数据库监听器lsnrctl stop 登录oraclesqlplus / as sysdba启动oralcestartup;关闭orac ...

  8. [批处理教程之Git]001.Git 常用命令大全

    基本技巧 1.安装后的第一步 安装git后,第一件事你需要设置你的名字和邮箱,因为每次提交都需要这些信息. $ git config --global user.name "Some One ...

  9. 节点流(文件流) FileInputStream & FileOutputStream & FileReader & FileWriter

    节点流(文件流) FileInputStream(字节流)处理视频类的                   FileOutputStream(字节流) FileReader(字符流)处理文本文件    ...

  10. Hadoop 伪分布模式安装

    ( 温馨提示:图片中有id有姓名,不要盗用哦,可参考流程,有问题评论区留言哦 ) 一.任务目标 1.了解Hadoop的3种运行模式 2.熟练掌握Hadoop伪分布模式安装流程 3.培养独立完成Hado ...