浅析ECMP等价路由

本文转自:https://blog.csdn.net/mary19920410/article/details/73499630

本人总结:

过了一段时间了,回头再看看等价多路径,发现之前的想法还是有错误。
首先,这个“等价”指的到底是什么?
其实顾名思义是对的,这里的等价就是从某个路由器到目标地址存在多个相同最低代价的路径,这里的“相同最低代价”指的就是跳数,不涉及带宽之类的因素。

上图中,路由器A到服务器F有三条路径,其中A->B->E->F和A->C->E->F代价相同,但是它们都不是最短路径!!!
所以A向F传数据只会选择A->D->F这条路!!!不会为了多路径选择从B和C走,因为不符合最低代价原则!!!

上图中,A到F同样是三条路径,但是最短路径有两条:A->C->F和A->D->F,这就可以用ECMP了。即使这里的A->C的带宽是100M,A->D的带宽是2M,它们在路由器A看来也是等价的。


其次,“等价”虽然指的是路径代价相同,但是在传输数据的时候其实也有所体现,以上图为例,由于有两条等价最短路径了,所以可以做ECMP,数据从A出去,可以走C也可以走D。
如果使用ECMP,倘若A收到两个数据流,目标地址都是F,源地址不同,若两个数据流流量大小差不多,那倘若使用基于数据流做负载分担的方法,两条路径上传输的来自A的数据流量也是差不多大小的。
当然了,倘若两个数据流流量大小差异很大,使用基于数据流做负载分担的方法,就不能够有效利用带宽了。

1、ECMP简介

Equal-CostMultipathRouting,等价多路径。即存在多条到达同一个目的地址的相同开销的路径。当设备支持等价路由时,发往该目的 IP 或者目的网段的三层转发流量就可以通过不同的路径分担,实现网络的负载均衡,并在其中某些路径出现故障时,由其它路径代替完成转发处理,实现路由冗余备份功能。

2、与传统路由技术比较

如果使用传统的路由技术,发往该目的地址的数据包只能利用其中的一条链路,其它链路处于备份状态或无效状态,并且在动态路由环境下相互的切换需要一定的时间,而等价多路径路由协议可以在该网络环境下同时使用多条链路,不仅增加了传输带宽,并且可以无时延无丢包地备份失效链路的数据传输。

3、分配包的基本方式

1)基于数据流的负载分担

目的地址和源地址相同的报文属于一个数据流。基于数据流的负载分担的方式就是,假定有10个数据流,有2条路径可选择,一边各走5个。

2)基于数据报文的负载分担

假定有10个数据报文,有2个路径可选择,一边各走5个。

4、优点

提高链路利用率;路径冗余备份。

5、缺点

实际上,网络中各条路径的带宽、时延和可靠性等不一样,把Cost认可成一样,不能很好地利用带宽,尤其在路径间差异大时,效果会非常不理想,逐包转发可能导致报文乱序。例如,路由器两个出口,两路径,一个带宽是100M,一个是2M,如果部署是ECMP,则网络总带宽只能达到4M的利用率。

注解:“把cost认可成一样”这句话的意思是说倘若有两条链路可向目的地址发数据,那么在发送端会把流量平均分成两份分别发往两个链路。

发送端不针对链路的真实带宽作特别安排,而是均衡发送。

这样其实不合理,分给大带宽的流量会和分给小带宽的流量一样,不能充分利用带宽。

6、ECMP改进方向

ECMP算法的核心是均衡使用所有等代价的路径。

当前网络的负载状态会影响最短路径的选取。比如,两点之间的最短路如果使用越来越多直至拥塞,最短路就会发生变化。因此,最短路是随着当前网络的负载而发生变化的。最短路径的计算是由链路权重确定的,链路权重确定了之后最短路也就确定了。所以,如何根据当前网络负载状况对链路权重进行赋值是ECMP路由算法的一个重要的问题。
 

  • 13
    点赞
  • 63
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值