S9300 ETH-TRUNK对MPLS报文负载不均衡

发布时间:  2014-09-12 浏览次数:  247 下载次数:  0
问题描述
对于在S9300上即配置了MPLS又配置了eth-trunk跑MPLS流量,在eth-trunk默认的配置下会出现对MPLS流量负载分担不均衡问题,所有的流量都通过一条链路发送。
告警信息

处理过程
可以在S9300上配置增强模板,来识别mpls报文并按不同的方式来负载分担,例如根据第一层标签来负载分担:
<Quidway> system-view
[Quidway] load-balance-profile abc
[Quidway-load-balance-profile-abc] mpls field top-label
[Quidway] interface Eth-Trunk 100
[Quidway-Eth-Trunk100] load-balance enhanced profile abc
根因
因为eth-trunk是通过hash算法来分配流量。默认对于ip报文,通过IP地址hash,对于非ip报文,通过mac进行hash。
但是对于mpls报文,因为mpls label是加在IP包头前面,所以默认情况下S9300将无法识别此类报文,而当作非ip报文来处理,通过mac进行hash。
因此对于这些mpls报文,虽然他们的源/目的ip不同,但他们的源/目的mac都相同(源mac为本端三层接口的mac,目的mac为下一跳三层接口的mac)。导致S9300在hash的时候根据mac地址把所有的流量都hash到了一条链路上。
建议与总结

END