与大多数内部路由协议不同的是, 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. JSONObject转换为map

    http://cloudyxuq.iteye.com/blog/1618213 private static HashMap<String, String> toHashMap(Objec ...

  2. 自定义spring-boot-starter

    需求背景: Springboot是Spring旗下优秀的子项目之一,其核心理念之一:约定优于配置.通过自动化的配置极大的提升了我们的开发效率,目前已集成诸多组件的starter起步依赖,帮助我们更加快 ...

  3. 公众号使用微信sdk的正确姿势

    当我们做微信登录授权,微信公众号的分享,微信的h5支付等等等等的时候难免会用到微信sdk,当我们用react或vue做的spa应用,直接引入后会发现,在按安卓上可以正常调试,而ios上一直报签名错误( ...

  4. SSM——[/WEB-INF/applicationContext.xml] is invalid; nested exception is org.xml.sax.SAXParseException; cvc-elt.1: 找不到元素 'beans' 的声明。

    报错文件:/SSM_Integration/WebContent/WEB-INF/applicationContext.xml <beans xmlns="http://www.spr ...

  5. UPD链接实现稳健传输案例

    使用的类    DatagramSocket  用于发送数据和接收数据    此类的构造方法:        DatagramSocket();        DatagramSocket(端口号); ...

  6. spring的各种注入

    java package cn.ioc.student; import java.util.List; import java.util.Map; import java.util.Set; publ ...

  7. 公有继承中派生类Student对基类Person成员的访问 代码参考

    #include <iostream> #include <cstring> using namespace std; class Person { private: char ...

  8. Rocket - diplomacy - LazyModuleImpLike

    https://mp.weixin.qq.com/s/gDbUto1qd7uWbpnxovr5pg   介绍LazyModuleImpLike类的实现.     1. wrapper   LazyMo ...

  9. Chisel3 - util - Queue

    https://mp.weixin.qq.com/s/vlyOIsQxR6bCqDDMtRQLLg   实现队列模块,先入先出(FIFO).   参考链接: https://github.com/fr ...

  10. Shell脚本 (二) 变量与运算符

    个人博客网:https://wushaopei.github.io/    (你想要这里多有) 四.Shell 中的变量 1.系统变量 1.1 常用系统变量 $HOME. $PWD. $SHELL . ...