FAQ-为什么Eth-trunk链路会出现流量分布不均衡的现象及如何解决?

发布时间:  2011-11-21 浏览次数:  146 下载次数:  0
问题描述
Q:为什么eth-trunk链路会出现流量分布不均衡的现象以及出现此现象后如何解决?

处理过程
N/A
根因
N/A
解决方案
A:eth-trunk中不同接口的流量是根据hash算法决定的,通常是根据报文中的ip地址、mac地址、label等元素,按照一定的hash算法得到分担的结果。因此具有相同hash元素的流量会分配到相同的接口上,若通过eth-trunk链路的流量大部分拥有相同的元素,就会导致流量分担不均的问题。还要注意到,不同设备hash算法是有所差异的,因此不同设备的负载分担效果也会有所差异。由于hash算法固定,负载分担的效果取决于参与hash的元素,如mac地址,ip地址等,在设备支持的情况下,可以直接修改hash模式,如基于mac地址hash改为基于ip地址hash。若设备本身不支持,则可考虑更改封包的内容,如将每vpn每标签改为每路由每标签,以增大标签的离散度。若仍达不到要求,可咨询研发从设备硬件角度想办法。要注意的是,无论用哪种方法,都不能做到绝对的负载均匀,如果只有少量的负载分担偏差,无需进行调整。
             此外,目前CX600、NE40E、NE5000等高端设备上支持基于逐包的流量负载方式,但是要注意的是这种方式无法保证包的顺序。S9300上支持的hash算法类型更多,包括源IP、目的IP、源MAC、目的MAC、源IP和目的IP、源MAC和目的MAC以及增强模式。
 NE40E、CX600、NE5000E路由器上更改eth-trunk 负载分担Hash算法的命令如下:
interface eth-trunk   trunk-id
load-balance  {  mac  |  packet-all  |  ip  }

S9300上的相应命令是:
interface eth-trunk trunk-id下
load-balance { dst-ip | dst-mac | src-ip | src-mac | src-dst-ip | src-dst-mac | enhanced profile profile-name}


      

建议与总结
N/A

END