转发来源:http://www.h3c.com/cn/d_201810/1115966_30003_0.htm
1.DRNI概述
产生背景:普通聚合的链路只能够在一台设备上,只能提供链路级的保护,当设备故障以后,普通聚合将无法工作,所以需要设备级保护的技术。
DRNI是一种跨设备链路聚合技术,将两台物理设备在聚合层面虚拟成一台设备来实现跨设备链路聚合,从而提供设备级冗余保护和流量负载分担。
- 更高的可靠性:把链路可靠性从单板级提高到了设备级。
- 简化组网及配置:提供了一个没有环路的二层拓扑,同时实现冗余备份,不再需要繁琐的生成树协议配置,极大地简化了组网及配置。
- 独立升级:两台设备可以分别进行升级,保证有一台设备正常工作即可,对正在运行的业务几乎没有影响。

DR设备在DR系统中互为邻居,其中Device A为主设备,Device B为从设备。DRNI为每个DR设备定义了以下几个接口角色:
- DR接口(Distributed Relay interface,分布式聚合接口):与外部设备相连的二层聚合接口。与外部设备上相同聚合组相连的DR接口属于同一DR组(Distributed-Relay group,分布式聚合组)。
如图1所示,Device A上的二层聚合接口1和Device B上的二层聚合接口2属于同一DR组。DR组中的DR接口由多条链路聚合组成,且具有相同的DR组编号。
- IPP(Intra-Portal Port,内部控制链路端口):连接对端DR设备用于内部控制的接口。每台DR设备只有一个IPP口。IPP间的链路为IPL(Intra-Portal Link,内部控制链路),DR设备通过IPL交互协议报文及传输数据流量。
一个DR系统只有一条IPL。
3.drni系统建立和维护
DR设备间通过交互DRCP报文和Keepalive报文建立和维护DR系统。在DR系统正常工作时,DR系统的主从设备负载分担共同进行流量转发。如果DR系统中出现故障(无论是接口故障、链路故障还是设备故障),
DR系统都可以保证正常的业务不受影响。
DR系统建立及工作过程
1)当DR设备完成DR系统参数配置后,两端设备通过IPL链路定期发送DRCP报文。当本端收到对端的DRCP协商报文后,会判断DRCP协商报文中的DR系统配置是否和本端相同。如果两端的DR系统配置相同,则这两台设备组成DR系统。
2)配对成功后,两端设备会确定出主从状态。先比较DR设备角色优先级,值越小优先级越高,优先级高的为主设备。如果优先级相同,则比较两台设备的桥MAC地址,桥MAC地址较小的为主设备。
主从协商后,DR设备间会进行配置一致性检查。
3)两端设备通过Keepalive链路周期性地发送Keepalive报文检测邻居状态。
4)DR系统开始工作后,两端设备之间会实时同步对端的信息,例如MAC地址表项、ARP表项,这样任意一台设备故障都不会影响流量的转发,保证正常的业务不会中断。
4.drni故障处理机制
1)DR接口故障处理机制
某DR接口故障,来自外网侧的流量会通过IPL发送给另外一台设备,所有流量均由另外一台DR设备转发,具体过程如下:
1)Device B的某DR接口故障,外网侧不感知,流量依然会发送给所有DR设备。
2)Device A的相同DR接口正常,则Device B收到外网侧访问Device C的流量后,通过IPL将流量交给Device A后转发给Device C。
3)故障恢复后,Device B的该DR接口up,流量正常转发。
2)IPL故障处理机制
IPL故障但Keepalive链路正常会导致从设备上除DRNI保留接口和IRF保留接口以外的接口处于DRNI MAD DOWN状态。主设备上的DR接口所在聚合链路状态仍为up,从设备上的DR接口所在聚合链路状态变为down,
从而保证所有流量都通过主设备转发。一旦IPL故障恢复,处于DRNI MAD DOWN状态的接口经过延迟恢复时间自动恢复为up状态。
3)设备故障处理机制
Device A为主设备,Device B为从设备。当主设备故障后,主设备上的聚合链路状态变为down,不再转发流量。从设备将升级为主设备,该设备上的聚合链路状态为up,流量转发状态不变,继续转发流量。
主设备故障恢复后,DR系统中由从状态升级为主状态的设备仍保持主状态,故障恢复后的设备成为DR系统的从设备。
如果是从设备发生故障,DR系统的主从状态不会发生变化,从设备上的聚合链路状态变为down。主设备上的聚合链路状态为up,流量转发状态不变,继续转发流量。
4)上行链路故障处理机制
上行链路故障并不会影响DR系统的转发。Device A上行链路虽然故障,但是外网侧的转发相关表项由Device B通过IPL同步给Device A,Device A会将访问外网侧的流量发送给Device B进行转发。
而外网侧发送给Device C的流量由于接口故障,自然也不会发送给Device A处理。
上行链路故障时,如果通过Device A将访问外网侧的流量发送给Device B进行转发,会降低转发效率。此时用户可以配置Monitor Link功能,将DR组成员端口和上行端口关联起来,一旦上行链路故障了,
会联动DR组成员端口状态,将其状态变为donw,提高转发效率。