MAD的技术背景

分裂
在IRF出来之后,所有设备的运行并不是稳定的
如果堆叠链路出现了中断会导致堆叠分裂,会引起IP地址冲突等问题
为了解决这一问题引入了MAD技术

什么是MAD

MAD(Multi-Active Detection)
多Active检测机制
利用以下协议来监测IRF是否存在分裂:

  • LACP(Link Aggregation Control Protoco l -链路聚合控制协议)
  • BFD(Bidirectional Forwarding Detection - 双向转发检测)
  • ARP(Address Resolution Protocol - 地址解析协议)
  • ND(Neighbor Discovery - 邻居发现)

BFD MAD和LACP MAD检测处理方式

比较健康状态

会比较两个IRF的健康状态,健康状态较好的IRF继续工作,其他IRF转变为Recovery状态(禁用)
IRF健康状态查询命令display system health

比较成员设备数量

在健康状态相同的情况下,会检查IRF中成员设备的数量
数量多的IRF继续正常工作,数量少的迁移到Recovery状态

比较主设备成员编号小的

主设备成员编号小的IRF继续正常工作
其余的转入Recovery状态

ARP MAD和ND MAD检测处理方式

比较键控状态

会比较两个IRF的健康状态,健康状态较好的IRF继续工作,其他IRF转变为Recovery状态(禁用)
IRF健康状态查询命令display system health
其实本质还是和前两者的检测机制相仿

比较主设备成员编号小的

主设备成员编号小的IRF继续正常工作
其余的转入Recovery状态

Recovery状态

在IRF迁移到Recovery状态后,会关闭该IRF中所有成员设备除开保留端口以外的所有其他物理端口,保留端口可以通过命令mad exclude interface来配置

MAD故障恢复

故障恢复一

场景一、IRF链路出现故障
IRF链路恢复或者修复正常后,系统会自动重启处于Recovery状态的IRF
重启之后整个系统恢复正常

故障恢复二

场景二、链路修复完成前,正常工作设备故障
此时,在Recovery状态的IRF会被执行mad restore命令
让处于Recovery状态的IRF恢复到正常状态,接替原来设备工作

MAD检测机制

MAD检测机制
各种机制的优缺点,应用场景

LACP MAD检测

LACP MAD
LACP MAD检测,通过LACP协议报文实现
在协议报文的扩展字段定义新的TLV,数据域
用于交互IRF的Domain ID(域编号)和Active ID(主设备成员编号)
开启LACP MAD之后,成员设备通过LACP报文和其他成员设备交互DomainID和Active信息

  • DomainID不同,表示报文来自不同IRF,不需要进行MAD处理
  • DomainID相同,ActiveID相同,表示没有发生多Active冲突
  • DomainID相同,ActiveID不同,表示IRF分裂,检测到多Active冲突不

通过命令display mad verbose可以查看当前IRF是否被

【1】 IRF正常
MAD status:Normal
【2】 IRF分裂
MAD status:Faulty

BFD MAD检测

BFD MAD
BFD检测机制
IRF正常运行时,只有主设备的MAD IP地址生效
如果发生分裂,不同IRF中的MAD IP会生效,此时BFD会话被激活,从而检测到多Active冲突
要使用BFD MAD检测,需要在三层接口下开启BFD MAD检测功能,还需要在该接口上配置MAD IP地址并且,每个设备的MAD IP必须属于一个网段

【1】 IRF正常
BFD Session:Down
BFD链路DOWN,不会冲突
通过命令display bfd session查看BFD会话状态

【2】 IRF分裂
BFD Session:UP
BFD检测链路激活,会检测到多Active冲突
选举ActiveID小的

ARP/ND MAD检测

ARP MAD或者ND MAD检测是通过扩展ARP协议或扩展ND协议把来交互DomainID和ActiveID来实现的
和先前的LACP MAD检测相似

  • DomainID不同,表示报文来自不同IRF,不需要进行MAD处理
  • DomainID相同,ActiveID相同,表示没有发生多Active冲突
  • DomainID相同,ActiveID不同,表示IRF发生分裂,检测到多Active冲突

MAD配置与维护

LACP MAD配置维护

/*进入二层聚合链路*/
[Switch] interface bridge-aggregation [id]
/*进入三层聚合链路*/
[Switch] interface route-aggregation [id]
/*修改聚合链路工作在动态聚合模式下*/
[Switch-Bridge-Aggregation] link-aggregation mode dynamic
/*开启LACP MAD检测功能*/
[Switch-Bridge-Aggregation] mad enable
/*可选配置-设置IRF域编号*/
[Switch] irf domain [id]

BFD MAD配置维护

/*进入VLAN三层接口*/
[Switch] interface vlan-interface [id]
/*开启BFD MAD检测功能*/
[Switch-VLAN-interface] mad bfd enable
/*为指定成员设备配置MAD IP地址*/
[Switch-VLAN-interface] mad ip address [address] member [id]

ARP MAD配置维护

/*进入VLAN三层接口*/
[Switch] interface vlan-interface [id]
/*配置IP地址*/
[Switch-VLAN-interface] ip address [address] [mask]
/*开启ARP MAD检测功能*/
[Switch-VLAN-interface] mad arp enable

ND MAD配置命令

/*进入VLAN三层接口*/
[Switch] interface vlan-interface [id]
/*配置IP地址*/
[Switch-VLAN-interface] ipv6 address [address]
/*开启ND MAD检测功能*/
[Switch-VLAN-interface] mad nd enable

配置实例

配置实例