DRNI(M-LAG)
DRNI(Distributed Resilient Network Interconnect,分布式弹性网络互连)
特点
更高的可靠性
把链路可靠性从单板级提高到了设备级。
简化组网及配置
提供了一个没有环路的二层拓扑,同时实现冗余备份,不再需要繁琐的生成树协议配置,极大地简化了组网及配置。
独立升级
两台设备可以分别进行升级,保证有一台设备正常工作即可,对正在运行的业务几乎没有影响。
模型
DR系统( Distributed Resilient ,分布式弹性系统)
DR接口(Distributed Relay interface,分布式聚合接口)
IPP(Intra-Portal Port,内部控制链路端口)
IPL( Intra-Portal Link,内部控制链路)(Peer Link)
Keepalive链路
链路类型 | 接口类型 | 是否物理链路直连 |
---|---|---|
IPL链路(Peer-link) | 支持聚合口 | 有peer-link二层物理链路 |
支持三层口 | 支持无peer link的overlay转发 | |
Keepalive链路 | 支持三层业务口 | 通过业务网络互通 |
支持管理口 | 通过管理网络互通(推荐) | |
支持vrf | 通过vrf将keep alive报文与业务报文隔离 |

设备角色
DRNI组网中,部分业务功能(例如生成树)需要统一在一台设备上处理,DRNI对DR设备进行了角色划分:
- None:设备启动时的状态,无设备角色。
- Primary设备:主设备,负责处理业务模块报文。
- Secondary设备:从设备,将业务模块报文透传到主设备。
Keepalive机制
DR设备间需要提供一条专有的Keepalive链路,用于检测对端设备是否故障。
Keepalive报文主要用于IPL故障时的双主检测。如果在指定时间内,未收到邻居设备发送的Keepalive报文时:
- 如果IPL链路状态为down,则认为对端DR设备状态为down,此时从设备升级为主设备。
- 如果IPL链路状态为up,则认为Keepalive链路状态为down。此时主从设备正常工作,同时设备打印日志信息,提醒用户检查Keepalive链路,避免无法检测到对端设备故障。
- 缺省情况下,Keepalive报文发送的时间间隔为1000毫秒,超时时间间隔为5秒。
MAD机制
IPL链路故障而Keepalive链路有效的情况下,为了防止从设备继续转发流量,此时将从设备上除DRNI保留接口以外的接口置于DRNI MAD DOWN状态。
DRNI保留接口包括系统保留接口和用户配置的保留接口。系统保留接口包括:
- IPP口
- IPP口所对应的二层聚合接口的成员接口
- DR口(支持情况跟版本相关)
- 管理以太网接口
当IPL故障恢复后,为了防止丢包,从设备需要在延迟恢复时间内完成表项(MAC地址表、ARP表等)同步,其后该设备上处于DRNI MAD DOWN状态的接口将恢复为up状态。
- 建议将Keepalive链路的接口配置为DRNI保留接口,避免该接口的状态变为DRNI MAD DOWN导致Keepalive链路down,从而造成错误检测。同时,如果配置Tunnel接口为IPP口,则必须将隧道出接口配置为保留接口,避免该接口的状态变为DRNI MAD DOWN,导致Tunnel处于down状态,IPL无法收发DRCP协议报文。
- 建议将vlan虚接口也配置为DRNI保留接口,否则Restore delay时间内无法同步表项,故障性能不好。
检测过程
- 感知peer link故障后按照100ms发送10个Keepalive报文,加速检测。
- hold time: IPL链路down后,设备启动本定时器,等待链路上Keepalive报文收发完全,防止因为延迟造成错误检测。设备需要检测IPL链路down的原因,是设备故障即本端DR设备未在定时器超时前收到对端的Keepalive报文,则认为是IPL链路故障,否则认为设备故障。缺省情况下,IPL链路down后等待检测故障原因的时间为3秒收到对端DR设备的Keepalive报文,还是IPL链路故障。
- Keepalive报文新增字段,携带IPP DOWN标记(或其他等效字段)。IPP DOWN的时候使用keepalive报文互通该标记,2个DR都收到该标记即可确认此次IPP DOWN。该方案可以快速确认IPP DOWN,将不再依赖keepalive hold功能,理论上可以将检测性能从秒级提高到毫秒级。
- Keepalive根据角色计算,双主MAD 决策时还会再算一次角色,不会把更优的down掉
- 根据设备健康指数在双活时做MAD down的判断
- 一旦peer link故障恢复,MAD DOWN的端口默认90s恢复up
DR系统建立
- 通过IPL定期发送DRCP报文,判断这两台设备是否可以组成DR系统。
- DR设备的系统MAC地址(system-mac)必须相同
- DR设备的系统编号(system-number)必须不同
- DR设备的系统优先级(system-priority)必须相同(默认32768)
- 配对成功后,两端设备会确定出主从状态。先比较DR设备角色优先级(Role priority,默认32768),值越小优先级越高,优先级高的为主设备。如果优先级相同,则比较两台设备的桥MAC(Bridge MAC)地址,桥MAC地址较小的为主设备。
- 两端设备通过Keepalive链路周期性地发送Keepalive报文检测邻居状态。
- DR系统开始工作后,两端设备之间会实时同步对端的信息,例如MAC地址表项、ARP表项,这样任意一台设备故障都不会影响流量的转发,保证正常的业务不会中断。

如果系统已经建立:
- 修改影响DR建立的参数(系统优先级、系统编号、系统mac地址),超时时间后生效
- 修改角色优先级的立即生效
配置一致性检查
DR系统建立过程中会进行配置一致性检查,以确保两端DR设备配置一致,不影响DR设备转发报文。DR设备通过交换各自的配置信息,检查配置是否一致。
目前DRNI支持对两种类型的配置一致性检查:
- Type 1类型配置:影响DR系统转发的配置。如果Type 1类型配置不一致,则将从设备上DR接口置为down状态。
- Type 2类型配置:仅影响业务模块的配置。如果Type 2类型配置不一致,从设备上DR接口依然为up状态,不影响DR系统正常工作。由Type 2类型配置对应的业务模块决定是否关闭该业务功能,其他业务模块不受影响。
为了避免设备DR接口震荡,设备会在延迟恢复定时器一半时间之后进行配置一致性检查。
Type 1类型配置
Type 1类型配置一致性检查分为全局配置和DR口配置。
全局Type 1类型配置
配置 一致性检查内容 IPP口链路类型 Access、Hybrid和Trunk IPP口的PVID IPP口的PVID 生成树功能 全局生成树功能是否开启和VLAN内生成树功能是否开启 生成树模式 STP、RSTP、PVST和MSTP MST域相关配置 MST域的域名、MSTP的修订级别和MSTI与VLAN的映射关系 DR口Type 1类型配置
配置 一致性检查内容 聚合组的工作模式 静态聚合组和动态聚合组 接口生成树功能 接口上的生成树功能是否开启 接口的链路类型 Access、Hybrid和Trunk 接口的PVID DR口的PVID
Type 2类型配置
Type 2类型配置一致性检查分为全局配置和DR口配置。Type 2类型配置仅影响对应的业务模块。
全局Type 2类型配置
配置 一致性检查内容 VLAN接口 VLAN接口处于up状态,且IPP口加入该VLAN IPP口实际可以通过的携带Tag的VLAN或实际可以通过PVID IPP口实际可以通过的携带Tag的VLAN或实际可以通过PVID DR口Type 2类型配置
配置 一致性检查内容 DR口实际可以通过的携带Tag的VLAN DR口实际可以通过的携带Tag的VLAN DR口实际可以通过的不携带Tag的VLAN DR口实际可以通过的不携带Tag的VLAN
信息同步
表项同步
- DRNI同步报文中包括MAC表项、ARP表项等,发送M-LAG成员端口的状态,并同步STP、VRRP协议报文
MAC地址同步
- MAC地址同步只同步ac侧的,就是DR系统内的,远端的MAC,就是公网的MAC是不会同步的
防环机制
广播流量
- 从IPL口来的广播流量仅向单挂转发,不向DR转发
- 无peer link组网,网络侧下发的广播流量有三份,两份实IP隧道的,一份group ip隧道,在DR设备上,收到的实IP隧道过来的报文会丢弃,只有group ip的才能继续广播。
防环机制
- 单向隔离:从peer-link口进来的流量不会再从DR口转发出去,所以不会形成环路,这就是DRNI单向隔离机制。若接入设备双活接入DRNI系统,则DRNI两台设备下发对应DR成员口的单向隔离配置,来隔离由peer-link口发往DR成员口的流量。若接入设备单归接入DRNI系统,则DRNI系统不会下发对应DR成员口的单向隔离配置。
- 在设备双活接入DRNI场景下,设备会默认按下列顺序下发全局ACL配置:
- Rule1:允许通过源端口为peer-link接口,目的端口为DR成员口的三层单播报文;
- Rule2:拒绝通过源端口为peer-link接口,目的端口为DR成员口的所有报文.
- 当DRNI设备感知到本端的DR成员口状态为Down时,会通过peer-link发送DRNI同步报文,通知对端设备撤销自动下发的相应的DR成员端口的单向隔离ACL规则组。
- 单边绑定DR口时,我司会DRNI DOWN,
- 单边绑定IPP口时,我司会下发Block,协议DOWN
单播流量
二层流量经过IPL口后不能向tunnel转发,只能向ac转,三层转发的话没有问题
关于H3C交换机产品DRNI切换M-LAG技术公告