ECMP 等价多路径 1
ECMP等价多路径是IP层的带宽扩展方法,LAG工作在二层,ECMP通过路由协议通告多条等价的路径,可以实现对不同的地址前缀选择不同的路径来实现负载分担。
doc/ecmp目录下面有两篇文档:
sonic-ecmp-acceleration.docx和fine_grained_next_hop_hld.md
前者介绍了数据中心应用中交换机之间存在多条等价的路径的情况,当多路径中的一条路径发生故障或者Admin Down的情况下,BGP遍历一遍所有的前缀,重新计算每个前缀的最佳路径,在BGP完成计算并下发到RIB之前,交换机按旧的RIB转发数据,这样在BGP Converge之间存在路由黑洞。
为了尽量减少路径状态变化照成的路由黑洞的时间,SONiC修改了事件触发的接口状态变化的后续行为,通过遍历不同的nexthops,找到受失效路径影响的nexthops,通过调用remove_next_hop_group_member SAI API 在ECMP组中移除失效的端口。