M-LAG和E-trunk都是用来实现跨设备链路聚合,解决单点故障的,其大部分特性相同,工作模式M-LAG更胜一筹,支持双活,而且其原理感觉像是vrrp+mstp的升级版,是往增加网络可靠性去发展的;而E-trunk是基于LACP扩展实现,感觉主要就是为了实现跨设备链路聚合而创造的链路聚合拓展协议,然后再进行扩展得到的,个人感觉M-LAG更灵活便捷
M-LAG
M-LAG跨设备链路聚合是一种靠可用技术,其相较于堆叠有更高的灵活性

DRCP
Distributed Relay Control Protocol,分布式聚合控制协议
该协议跑在peer-link上,其目的是为完成M-LAG组成员间的信息交互,当本端接口超时时仍未收到对端的DRCP报文,则认为peer-link为down状态
DRCP超时时间可选短超时(3s),此时发送周期1s,也可选长超时(90s),此时发送周期30s
M-LAG接口
即M-LAG的下行接口,一般有单归接入和双归接入
单归接入,即一台设备接入单台M-LAG系统设备,也叫单挂,单挂的设备在M-LAG系统中,其Mac地址表,ARP表等都会进行备份,依次给其留下备份路径提高可靠性

双归接入,一台设备接入两台设备,上联的这两台设备可实现负载分担,故障可快速回切

keepalive
用于检测keepalive-link的活动状态,周期性发送keepalive报文,收到对端认为keepalive-link为up,反之为down
peer-link
此链路为UP,表明M-LAG正常工作,如果此时keepalive-link为down,系统正常工作,但会打印日志通知管理员检测
此链路为Down,则使用keepalive-link收到的报文进行选举主设备,保障系统能正常转发数据
当peer-link为Down时,认为对端设备挂了,启动keepalive timeout计时器,计时器超时后有以下情况:
设备为主设备,有M-LAG接口为UP,设备为主,否则为None
设备为从设备,升主,之后有M-LAG接口为UP,设备保持为主,否则切为None
设备为None,设备不能收发keepalive报文,keepalive-link处于down状态
角色计算

说了这么多,其实就这一张图,和堆叠类似
- 比较M-LAG接口状态,有可工作的优先
- 先前状态
- 不在MAD Down状态的优先
- 设备健康值,越小越优
- 比较优先级,越大越优先,
- 比较MAC,越小越优先
防环机制
设备A为非M-LAG接口,怎么走?
假如主设备为E,A发包给D,D发给E,丢包???

本地转发优先
接收流量的设备存在表项,只在此设备上发送不经peer-link转发
下图,设备B链路负载分担,怎么走?
好根据上述原则,假设D有,DE是负载分担,那我有一半流量要绕peer-link,这就是缺陷


环路???
单向转发避免
从peer-link收到的消息不向M-LAG接口发送
MAD检测
为防止设备peer-link链路故障后设备间重新选举将流量误导,配置MAD Down之后,当故障发生时会关闭从设备除了管理员指定的所有接口,设备进入MAD Down状态
此时如果keepalive-link故障,则从设备晋升为主,网络中存在两台主设备,可能引发二次故障,可以开启MAD Down保持状态进行干预
一致性检测
为确保两端设备匹配,不影响相关报文转发对相关数据进行一致性检验,目前一般两种:
Type 1类型配置:影响M-LAG系统转发的配置,如果Type 1类型配置不匹配,则将从设备上M-LAG接口置为down状态,比如vl

最低0.47元/天 解锁文章
6728





