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报文与业务报文隔离
5.png

设备角色

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系统建立

  1. 通过IPL定期发送DRCP报文,判断这两台设备是否可以组成DR系统。
    • DR设备的系统MAC地址(system-mac)必须相同
    • DR设备的系统编号(system-number)必须不同
    • DR设备的系统优先级(system-priority)必须相同(默认32768)
  2. 配对成功后,两端设备会确定出主从状态。先比较DR设备角色优先级(Role priority,默认32768),值越小优先级越高,优先级高的为主设备。如果优先级相同,则比较两台设备的桥MAC(Bridge MAC)地址,桥MAC地址较小的为主设备。
  3. 两端设备通过Keepalive链路周期性地发送Keepalive报文检测邻居状态。
  4. DR系统开始工作后,两端设备之间会实时同步对端的信息,例如MAC地址表项、ARP表项,这样任意一台设备故障都不会影响流量的转发,保证正常的业务不会中断。
6.png

如果系统已经建立:

  • 修改影响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是不会同步的

防环机制

广播流量

  1. 从IPL口来的广播流量仅向单挂转发,不向DR转发
  2. 无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技术公告


DRNI(M-LAG)
https://www.intx.work/posts/3f888595.html
发布于
2022年10月13日
更新于
2025年6月29日
许可协议