DRNI基本概念与流量转发
本文摘自新华三服务公众号,用于自己学习。
一、 DRNI产生背景与优势
普通聚合的链路只能够在一台设备上,只能提供链路级的保护,当设备故障以后,普通聚合将无法工作,所以需要设备级保护的技术。DRNI(Distributed Resilient Network Interconnect,分布式弹性网络互连)作为一种跨设备链路聚合的技术,除了具备增加带宽、提高链路可靠性、负载分担的优势外,还具备以下优势:
1. 更高的可靠性
把链路可靠性从单板级提高到了设备级。
2. 简化组网及配置
提供了一个没有环路的二层拓扑,同时实现冗余备份,不再需要繁琐的生成树协议配置,极大地简化了组网及配置。
3. 独立升级
两台设备可以分别进行升级,保证有一台设备正常工作即可,对正在运行的业务几乎没有影响
二、DRNI基本原理
DRNI是基于IEEE P802.1AX协议的跨设备链路聚合技术。DRNI将两台物理设备虚拟成一台设备来实现跨设备链路聚合,从而提供设备级冗余保护和流量负载分担。DRNI主要应用于双归接入组网,将可靠性从链路级提高到设备级。
1、DRNI网络模型
如图所示,Device A与Device B形成负载分担,共同进行流量转发,当其中一台设备发生故障时,流量可以快速切换到另一台设备,保证业务的正常运行。

DR设备在DR系统中互为邻居,其中Device A为主设备,Device B为从设备。DRNI为每个DR设备定义了以下几个接口角色:
1. DR接口(Distributed Relay interface,分布式聚合接口):与外部设备相连的二层聚合接口。与外部设备上相同聚合组相连的DR接口属于同一DR组(Distributed-Relay group,分布式聚合组)。如图1-1所示,Device A上的二层聚合接口1和Device B上的二层聚合接口2属于同一DR组。DR组中的DR接口由多条链路聚合组成,且具有相同的DR组编号。
2. IPP(Intra-Portal Port,内部控制链路端口):连接对端DR邻居设备用于内部控制的接口。每台DR设备只有一个IPP口。IPP间的链路为IPL(Intra-Portal Link,内部控制链路),DR设备通过IPL交互协议报文及传输数据流量。一个DR系统只有一条IPL。
DR设备间通过Keepalive链路检测邻居状态。
如果一台外部设备仅接入DR系统的其中一台DR设备,则该设备称为单挂设备,这种接入方式称为单归接入。
DRNI组网中,部分业务功能(例如生成树)需要统一在一台设备上处理,DRNI对DR设备进行了角色划分:
1. None:设备启动时的状态,无设备角色。
2. Primary设备:主设备,负责处理业务模块报文。
3. Secondary设备:从设备,将业务模块报文透传到主设备。
2、DRCP协议
DRNI通过在IPL上运行DRCP来交互分布式聚合的相关信息,以确定两台设备是否可以组成DR系统。运行该协议的设备之间通过互发DRCPDU(Distributed Relay Control Protocol Data Unit,分布式聚合控制协议数据单元)来交互分布式聚合的相关信息。
两端DR设备通过IPL链路定期交互DRCP报文。当本端DR设备收到对端DR设备的DRCP协商报文后,会判断DRCP协商报文中的DR接口编号及DRNI系统配置是否和本端相同。如果两端的DRNI系统配置均相同,则这两台设备可以组成DR系统。
DRCP超时时间是指IPP口或者DR接口等待接收DRCPDU的超时时间。在DRCP超时时间之前,如果本端IPP口或者DR接口未收到来自对端DR设备的DRCPDU,则认为对端DR设备IPP口或者DR接口已经失效。DRCP超时时间同时也决定了对端DR设备发送DRCPDU的速率。DRCP超时有短超时(3秒)和长超时(90秒)两种:
(1). 若本端DRCP超时时间为短超时,则对端DR设备将快速发送DRCPDU(每1秒发送1个DRCPDU)。
(2). 若本端DRCP超时时间为长超时,则对端DR设备将慢速发送DRCPDU(每30秒发送1个DRCPDU)。
3、Keepalive和MAD机制
DR设备间需要提供一条专有的Keepalive链路,用于检测对端设备是否故障。Keepalive报文主要用于IPL故障时的双主检测。如果在指定时间内,未收到邻居设备发送的Keepalive报文时:
1. 如果IPL链路状态为down,则认为对端DR设备状态为down,此时从设备升级为主设备。
2. 如果IPL链路状态为up,则认为Keepalive链路状态为down。此时主从设备正常工作,同时设备打印日志信息,提醒用户检查Keepalive链路,避免无法检测到对端设备故障。
Keepalive相关日志:

IPL故障后,为了防止从设备继续转发流量,此时将从设备上除DRNI保留接口以外的接口置于DRNI MAD DOWN状态。
DRNI保留接口包括系统保留接口和用户配置的保留接口。系统保留接口包括:
1. IPP口
2. IPP口所对应的二层聚合接口的成员接口
3. DR口(支持情况跟版本相关)
4. 管理以太网接口
当IPL故障恢复后,为了防止丢包,从设备需要在延迟恢复时间内完成表项(MAC地址表、ARP表等)同步,其后该设备上处于DRNI MAD DOWN状态的接口将恢复为up状态。
建议将Keepalive链路的接口配置为DRNI保留接口,避免该接口的状态变为DRNI MAD DOWN导致Keepalive链路down,从而造成错误检测。同时,如果配置Tunnel接口为IPP口,则必须将隧道出接口配置为保留接口,避免该接口的状态变为DRNI MAD DOWN,导致Tunnel处于down状态,IPL无法收发DRCP协议报文
MAD状态查看:

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

如果系统已经建立:
1. 修改影响DR建立的参数(系统优先级、系统编号、系统mac地址),超时时间后生效
2. 修改影响角色选举的立即生效(角色优先级)
5、一致性检查功能
DR系统建立过程中会进行配置一致性检查,以确保两端DR设备配置一致,不影响DR设备转发报文。DR设备通过交换各自的配置信息,检查配置是否一致。
目前DRNI支持对两种类型的配置一致性检查:
1. Type 1类型配置:影响DR系统转发的配置。如果Type 1类型配置不一致,则将从设备上DR接口置为down状态。
2. Type 2类型配置:仅影响业务模块的配置。如果Type 2类型配置不一致,从设备上DR接口依然为up状态,不影响DR系统正常工作。由Type 2类型配置对应的业务模块决定是否关闭该业务功能,其他业务模块不受影响。
查看配置一致性检查结果:

查看接口type1配置一致性信息:

查看全局type1配置一致性检查结果:

以上是DRNI的基本概念,两台设备形成DR系统实现设备级冗余,那DRNI系统是如何进行流量转发的呢?接下来让我们探究一下DRNI对不同流量的转发过程。
DRNI流量转发
1、用户侧广播
非DR广播流量:

如图所示,Device D收到来自Device A的广播流量后,将向相连设备转发。当流量到达Device E时,由于IPP与DR组成员接口存在单向隔离机制,到达Device E的流量不会向Device B转发。单向隔离机制是指从IPL收到的报文不再从DR接口转发。
DR广播流量:

如图所示,Device B发送的广播流量会在Device D、Device E之间采用负载分担方式进行转发,此处以Device D转发为例进行说明。Device D收到流量后将向相连设备转发,当流量到达Device E时,由于IPP与DR成员接口存在单向隔离机制,到达Device E的流量不会向Device B转发。
设备通过广播流程,学习MAC/ARP等表项;DR设备间会实时平滑表项,最终DR设备间转发表项将一致。
根据IPP和DR单向隔离机制,不管是非DR侧设备发起的广播流量还是DR侧设备发起的广播流量,广播到IPL口的流量都不会从对端设备的DR口再次广播出去,可以去单挂口。
2、用户侧单播
非DR单播流量:

如图所示,Device A向Device D发送单播流量,Device D按照本地转发优先原则将其转发。本地转发优先是指当接收流量的DR设备上存在对应的转发表项,则只在该设备上转发流量,不向IPL链路上转发。
DR单播流量:

如图所示,Device D与Device E形成负载分担,共同对来自DR组成员端口的单播流量进行转发。单播流量按本地转发优先原则,避免对IPL链路造成压力。
DR设备对已知单播做本地转发,正常情况下不会跨IPL链路转发,两边会同步DR侧表项。
DR设备按照本地转发优先原则将其转发。本地转发优先是指当接收流量的DR设备上存在对应的转发表项,则只在该设备上转发流量,不向IPL链路上转发。
为了保证L3流量的本地转发,VLAN虚接口MAC和VRRP实MAC都会同步给Peer DR设备。
3、网络侧流量
网络侧广播流量:

Device D会将外网的广播流量发送到每一个用户侧端口,且由于IPP与DR组成员端口存在单向隔离机制,到达Device E的流量不会向Device B转发。
网络侧单播流量:

对于网络侧发往DR组成员端口的单播流量,流量会负载分担到Device D和Device E,然后发送至Device B。
总结
DRNI是一种跨设备链路聚合技术,将两台物理设备在聚合层面虚拟成一台设备来实现跨设备链路聚合,从而提供设备级冗余保护和流量负载分担。

浙公网安备 33010602011771号