1.5)M-LAG 正常工作场景流量转发
M-LAG双活系统建立成功后即进入正常的工作,M-LAG主备设备负载分担共同进行流量的转发,转发行为没有区别。下面介绍M-LAG在正常工作情况下是如何进行流量转发的。
单播流量转发:
M-LAG双活系统在接入设备双归接入场景下的已知单播流量转发:对于南北向单播流量,在M-LAG接入侧,M-LAG的成员设备接收到接入设备通过链路捆绑负载分担发送的流量后,共同进行流量转发。
到达M-LAG主备设备发往网络侧的流量则根据路由表转发流量。对于东西向单播流量,在全部组建M-LAG,没有孤立端口的场景下,二层流量通过MLAG本地优先转发,三层流量通过双活网关转发,
都不经过peer-Link链路,直接由MLAG主备设备转发至对应成员口。
组播流量转发:
● M-LAG接入二层网络
M-LAG上行接入二层网络,那么二层网络必须要保证发往M-LAG的流量只有一份,否则会有成环的风险。如图1-7所示,假设右侧M-LAG上行接口被STP协议阻塞:在ServerB作为组播源、ServerA作为组播组成员时,
M-LAG主备都可以转发组播流量,在网络侧只引流一份流量的情况下,接收到流量的设备直接转发到本地的M-LAG成员口。如果本地M-LAG成员口故障,则组播流量如图1-8所示会从peerlink绕行,
转发至M-LAG系统另一台设备的成员口进行转发。在ServerA作为组播源、ServerB作为组播组成员时,组播源的流量通过负载分担发送至M-LAG主备设备,由于右端M-LAG设备的上行接口被阻塞,那么右端设备的组播出接口指向peer-link链路。
● M-LAG接入三层网络
M-LAG上行接入三层网络,M-LAG系统成员设备需要支持二三层组播混跑。如图1-9所示,M-LAG双活系统在接入设备双归接入场景下的组播流量转发:在ServerB作为组播源、ServerA作为组播组成员时,
M-LAG主备设备都从组播源引流,且按照以下规则由M-LAG主备设备在本地查找组播表后将流量负载分担转发至组播组成员:
– 若组播组地址最后一位为奇数(例如225.1.1.1或FF1E::1、FF1E::B),则由M-LAG成员口状态为主的设备转发至组播组成员;
– 若组播组地址最后一位为偶数(例如225.1.1.2或FF1E::2、FF1E::A),则由M-LAG成员口状态为备的设备转发至组播组成员;
说明:对于V200R003C00之前的版本,仅M-LAG成员口状态为主的设备转发组播流量到接收者,从V200R003C00版本开始,M-LAG成员口状态为主备的设备均可以转发组播流量到接收者,实现负载分担。
当M-LAG系统两台设备版本不一致时,组播流量转发规则以低版本为准。从V200R003C00版本开始,对于CE6870EI、CE6875EI,由单机或堆叠组成的M-LAG均支持IPv6三层组播,其余款型不支持。
在ServerA作为组播源、ServerB作为组播组成员时,组播源发出的流量负载分担到M-LAG系统主备设备,主备设备收到流量后在本地查找组播表将报文发送出去。
区别于单播流量,由组播流量转发示意图可以看出,M-LAG系统在转发组播流量时需要在M-LAG两台设备间配置一条独立三层链路。因为在故障场景下,可能出现网络侧只有单链路上行,
此时M-LAG主备设备间部署一条独立的单独L3链路可以用来传输组播报文。如图1-10所示,在网络侧链路连接M-LAG备设备场景下,由peer-link接口转发的组播报文由于单向隔离无法转发至指定的M-LAG成员口,
组播地址最后一位为奇数的组播报文是无法通过peer-link链路绕行至M-LAG成员口状态为主的设备,只能由独立三层链路转发至该设备。
广播流量转发
● M-LAG接入二层网络
M-LAG上行接入二层网络,那么二层网络必须要保证发往M-LAG的流量只有一份,否则会有成环的风险。此处以M-LAG主设备的转发为例,如图1-11所示,假设右侧M-LAG上行接口被STP协议阻塞,
M-LAG主设备收到广播流量后向各个下一跳转发,当流量到达M-LAG备设备时,由于peer-link与M-LAG成员接口存在单向隔离机制,到达备设备的流量不会向S-1转发。
● M-LAG接入三层网络
此处以M-LAG备设备的转发为例,如图1-12所示,M-LAG备设备收到广播流量后向各个下一跳转发,当流量到达M-LAG主设备时,由于peer-link与M-LAG成员接口存在单向隔离机制,到达主设备的流量不会向S-1转发。
6)M-LAG 故障场景流量转发
M-LAG作为一种跨设备链路聚合的技术,把链路可靠性从单板级提高到了设备级。如果出现故障(不管是链路故障、设备故障还是peer-link故障),M-LAG都能够保证正常的业务不受影响。
● 上行链路故障
双主检测报文一般是通过管理网络传输,所以上行链路故障一般不影响M-LAG主备设备的双主检测,对于双活系统没有影响,M-LAG主备设备仍能够正常转发。如图1-13所示,M-LAG接入普通以太网场景,
由于M-LAG主设备的上行链路故障,通过M-LAG主设备的流量均经过peer-link链路进行转发。如果双主检测链路通过业务网络互通,且故障的上行链路恰好为双主检测链路,此时对于M-LAG正常工作没有影响。
一旦peer-link也发生故障,双主检测无法进行,则会出现丢包现象。
● 下行链路故障
当下行M-LAG成员口故障时,DFS Group主备状态不会变化,但如果故障M-LAG成员口状态为主,则备M-LAG成员口状态由备升主,流量切换到该链路上进行转发。发生故障的M-LAG成员口所在的链路状态变为Down,
双归场景变为单归场景。故障MLAG成员口的MAC地址指向peer-link接口。在故障M-LAG成员口恢复后,M-LAG成员口状态不再回切,由备升主的M-LAG成员口状态仍为主,原主M-LAG成员口在故障恢复后状态为备。
可以执行display dfs-group dfs-group-id node node-id m-lag命令来查看成员接口当前状态。对于组播源在网络侧,组播成员在接入侧的组播流量,当M-LAG主设备的M-LAG成员口故障时,
通过M-LAG同步报文通知对端设备进行组播表项刷新,M-LAG主备设备不再按照组播地址奇偶进行负载分担,而是所有组播流量都由端口状态Up的M-LAG备设备进行转发,反之亦然。
● M-LAG 主设备故障
M-LAG主设备故障,M-LAG备设备将升级为主,其设备侧Eth-Trunk链路状态仍为Up,流量转发状态不变,继续转发流量。M-LAG主设备侧Eth-Trunk链路状态变为Down,双归场景变为单归场景。如果是M-LAG备设备发生故障,
M-LAG的主备状态不会发生变化,M-LAG备设备侧Eth-Trunk链路状态变为Down。M-LAG主设备侧Eth-Trunk链路状态仍为Up,流量转发状态不变,继续转发流量,双归场景变为单归场景。
● peer-link 故障
缺省情况下,M-LAG应用在普通以太网络、VXLAN网络或IP网络的双归接入,peerlink故障但双主检测心跳状态正常时,会触发M-LAG备设备上除逻辑端口、管理网口、peer-link接口和堆叠口以外的其他接口处于Error-Down状态。
M-LAG应用在TRILL网络的双归接入,peer-link故障但双主检测心跳状态正常时,会触发M-LAG备设备上的M-LAG接口处于Error-Down状态。peer-link故障恢复时,处于Error Down状态的M-LAG接口默认将在240s后自动恢复为Up状态,
处于Error Down状态的其它接口将立即自动恢复为Up状态。
通过命令可以配置M-LAG场景下peer-link故障但双主检测心跳状态正常时,触发Error-Down的端口包括逻辑端口。如当M-LAG应用在VXLAN网络或IP网络的双归接入,peer-link故障但双主检测状态正常时,
会触发M-LAG备设备上VLANIF接口、VBDIF接口、LoopBack接口以及M-LAG成员口处于Error-Down状态。
说明:在配置M-LAG场景下peer-link故障但双主检测心跳状态正常时触发端口Error-Down的范围包括逻辑端口后,若M-LAG系统peer-link接口故障恢复,为保证大规格VLANIF接口下的ARP同步正常,
设备将在DFS Group配对成功后延迟6s恢复VLANIF接口、VBDIF接口、LoopBack接口为Up状态。此时,如果在接口下配置了接口三层协议状态延时Up时间,则VLANIF接口、VBDIF接口、LoopBack接口恢复Up状态的延迟时间为两者之和。
通过在端口下配置命令可以灵活配置某个端口在M-LAG场景下peer-link故障但双主检测心跳状态正常时是否将端口Error-Down。配置和设备端口Error-Down对应情况如表1-3所示。