技术概述
IRF(Intelligent Resilient Framework),即智能弹性架构,是H3C公司推出的创新性建设网络核心的新技术。它将帮助用户设计和实施高可用性、高可扩展性的千兆以太网核心和汇聚主干。
运用IRF技术,可以将多台千兆三层交换机互联在一起,形成分布式交换架构,并作为一个逻辑交换实体运行。从管理和配置的角度看,一个分布式交换架构看起来就像一台交换设备;从性能的角度看,分布式交换架构中的每台交换机都能针对其端口上的第二层/第三层流量通信业务制定本地转发决策,它向用户提供一种新型的堆叠技术。
支持IRF的多台交换设备可以互相连接起来形成一个“联合设备”,我们将这台“联合设备”称为一个fabric,而将组成fabric的每个设备称为一个unit。多个unit组成fabric后,无论在管理还是在使用上,就成为了一个整体。也就是说,用户可以将这多台设备看成单一设备进行管理和使用。这样既可以通过增加设备来扩展端口数量和交换能力,同时也通过多个unit之间的相互备份增加了整个fabric的可靠性。

IRF交换机
和传统的堆叠技术相比,IRF是一种更为增强的堆叠技术,在多方面进行了创新或增强,除了可以做到扩展端口、统一管理之外,IRF在高可靠性、冗余备份方面比照传统堆叠有了很大的提高。IRF技术可以容许全局范围内的跨设备链路聚合,提供了全面的链路级保护。同时IRF技术实现了跨设备的三层路由冗余,可以支持多种单播路由协议、组播路由协议的分布式处理,真正实现了多种路由协议的热备份技术,这些方面都是传统堆叠技术难以做到的。尤其是单播路由协议和组播路由协议的热备份技术,在业界一直都是一个难题,IRF技术的出现对高可靠性提出了全新的解决方案。此外,IRF技术实现了二层协议在fabric内的分布式运行,提高了堆叠内unit的利用率和可靠性,减少了设备间的协议的依赖关系。
具体来说,IRF主要包括3个技术方面:DDM、DRR和DLA。
DDM(分布式设备管理):在外界看来,整个fabric是一台整体设备。用户可以通过CONSOLE、SNMP、TELNET、WEB等多种方式来管理整个fabric。
DRR(分布式冗余路由):fabric的多个设备在外界看来是一台单独的三层交换机。整个fabric将作为一台设备进行路由功能和二三层转发功能。单播路由协议和组播路由协议分布式运行并完全支持热备份,在某一个设备发生故障时,路由协议和数据转发都不会中断。
DLA(分布式链路聚合):支持跨设备的链路聚合,可以在设备之间进行链路的负载分担和互为备份。
随着网络规模的不断发展和应用范围的日益广泛,网络设备的可靠性变得越来越重要,IRF技术的出现将给高可靠性以全新的阐释。
一个IRF设备,是由多个支持IRF特性的单机设备堆叠而成的。由于支持分布式设备管理(DDM)、分布式弹性路由(DRR)、分布式链路聚合(DLA)等功能,使得一个IRF设备内部的任何一个单机设备的故障,都不会影响到整个IRF设备的功能。IRF技术本身就避免了单点故障的发生,不需要在组网设计上再使用其它的设备作冗余备份,从而实现了使用更低的成本和更简化的组网设计得到更可靠的网络。
冗余备份
IRF技术实现了1:N的冗余备份。
所谓1:N的冗余备份,就是在fabric内一台设备出现故障的时候,其它设备可以照常运行并迅速接管故障设备的功能。此时,域内路由协议不会随之出现中断;通过跨越设备的聚合,通信链路也得到了完善的保护;转发流量和大部分业务都不会出现中断。
fabric内的任何unit都可以作为fabric的主设备,完成fabric的转发表的下刷、配置命令的下发等工作。当fabric内被选举的主设备发生故障,就会在fabric内剩余的unit中重新选举一台unit作为新的主设备运行,继续承担fabric的工作。
路由的热备份
相对于传统的设备组网,IRF提供了真正的单播路由协议和组播路由协议的热备份。并且用户不需要花一半的投资专门用在备份设备上面,IRF中所有的设备都实际参与业务运行。IRF是在提供业务的同时进行备份。
DRR实现了路由协议热备份的技术,做到了同一个fabric中各个unit上路由信息的严格同步,并且在其中一个或多个unit出现故障的时候,其它unit可以照常运行并迅速接管故障unit的功能,此时,域内路由协议不会随之出现中断,二/三层转发流量和业务也不会出现中断,从而实现了真正意义上的不中断路由协议、不中断业务的故障保护和设备切换功能。

IRF的分布式弹性路由
链路的备份
分布式的聚合技术进一步消除了聚合设备单点失效的问题,提高了聚合链路的可用性。由于聚合成员可以位于系统的不同设备上,这样即使某些成员所在的设备整个出现故障,也不会导致聚合链路完全失效,其它正常工作的unit会继续管理和维护剩下的聚合端口的状态。这对于核心交换系统和要求高质量服务的网络环境意义重大。

分布式链路聚合(DLA)
DLA技术允许IRF网络核心外的其他交换机等设备以多宿主的方式接入IRF网络核心,极大提高了全网的可用性。通过多条聚合链路流向IRF网络核心的流量将均匀分布在聚合链路上,当某一条聚合链路失效时,DLA能够将流量自动重新分布到其余聚合链路以实现链路的弹性备份和提高网络可靠性。
由于IRF设备是由多个支持IRF特性的单机设备堆叠而成的,IRF设备的交换容量和端口数量就是IRF内部所有单机设备交换容量和端口数量的总和。因此,IRF技术能够通过多个单机设备的堆叠,轻易的将设备的核心交换能力、用户端口的密度扩大数倍,从而大幅度提高了设备的性能。
IRF技术最大支持八台设备的堆叠,用户可以按照自身的需要购买IRF交换机。由于业务的需要,如果用户需要扩展网络的容量,只需要堆叠更多的IRF交换机,就可以达到扩容的目的。IRF技术极大的保护了用户以前的投资,提高用户的投资效率。
支持IRF技术的多台设备可以被看成是一台统一的设备来管理。

用户将一个fabric当成一台整体设备进行管理
IRF技术最多可以连接8台设备组成一个fabric,无论是管理特性、还是转发特性,在用户看来,fabric就像是一台设备在运行。组成fabric的每台设备具有相同的桥MAC地址,单一管理IP地址和三层转发地址。用户无论通过何种方式(console口、telnet、snmp)连接到fabric内的一台设备上,对fabric的配置只需要执行一次,fabric内的所有设备都将得到配置。
相对于以前的简单堆叠,对堆叠体内多台单机进行软件升级的操作将要执行多次,而IRF交换机,通过WEB网管,用户只需要执行一次操作,就可以实现fabric内所有unit的软件的自动升级。
组成fabric的设备可以任意的插入和拔出,而不会影响当前fabric的正常运行。
当一台设备通过堆叠线接入到一个正在运行的fabric内,原有的fabric就会检测到新的设备,同时验证新设备是否可以加入到fabric,如果验证通过,新加入的设备将会得到原有的全局配置信息和转发信息,同时将自己设备特有的配置和转发信息散发到fabric内,经过短暂的信息交互后,新加入的设备就可以参与转发了。而这个过程丝毫没有影响原有设备转发过程。当然,这个过程也可以是两个现有的fabric进行合并,现有的转发不会受到影响。
当从fabric断开一台或者多台unit,和该设备相关的配置、转发信息将被从剩余的设备内删除,从而不会造成转发失败。
同时,分离出去的unit可能会自己形成一个新的fabric,由于fabric内所有的配置都是相同的,如果原来配置有三层接口,分离出去的fabric可能会和原来的fabric发生IP地址冲突,即在网络中不同的设备上有相同的IP地址配置。为了避免这种情况发生,IRF使用Resilient Arp技术,探测fabric发生分离的unit之间是否存在IP地址冲突,如果存在,则把其中之一的设备降为二层设备使用,避免冲突而引起网络路由的振荡。
组成IRF的多台交换机就像一台设备在运行,当然这也包括很多协议的运行。
IRF交换机支持的多数协议,例如RSTP、IGMP-SNOOPING、LACP等,这些协议都是分布运行在fabric内的各个设备上,每个设备独立运行协议,与外部协议实体进行交互;同时为了保持IRF作为一个整体运行,unit之间完成必要的信息交互。
在外界看来,组成IRF的各个设备好像是一个协议实体在运行,而在内部,各个协议分布运行在IRF的各个设备上,每个设备都独立承担本设备的协议计算,协议在fabric内负载分担运行,这样不仅提高了设备的利用率,同时,由于是分布式运行,每台设备上只需要保留本unit的信息,任何一台设备上不需要fabric完整的协议状态信息,节省了大量的设备间备份操作。另外,fabric内任何unit发生故障,由于协议分别独立运行,相互之间的依赖关系不强,只需要简单操作,就可以恢复设备的正常运转。

传统堆叠IGMP报文
运行在IRF交换机上的IGMP-snooping,每个unit都只维护本unit上的路由器端口、主机端口,但是并不关心其它unit上的端口号。如果本设备接收到IGMP主机加入报文,表明该设备需要转发多播数据,本unit就向fabric内其它unit发送一份通知消息,告诉fabric内其它unit需要向此unit转发数据,如果该设备以后再次收到相同组播组的主机加入消息,就不会再通知fabric其它unit 了。实现按需转发IGMP报文,在fabric内减少IGMP协议报文的拥塞冲突。

IRF堆叠设备中IGMP报文
fabric内的设备通过堆叠口连接在一起,堆叠的连接方式可以是多种多样的:串行连接、环形连接以及星型连接。
如果采用环形连接,而且报文需要从fabric内其它unit转发出去,那么收到报文的unit一般会有两条路径选择将报文转发到出端口所在的unit上。IRF在进行转发时,会选择一条距离出端口所在unit最近的路径转发。这种最短路径的转发方式,比起单向的转发,不仅效率高,而且可以起到负载分担的作用。
IRF技术完全实现了报文的分布式转发,无论是二层报文交换,还是三层报文的路由,都能够做到分布式转发。分布式的转发最大限度地利用了fabric内unit的带宽。
在fabric内每台unit上,有足够的二层转发表项,指导报文在本地完成交换,而无需再经过第三方的处理。当fabric内一台unit接收到转发报文,通过查找自己的二层转发表,就可以得到转发的出端口,这个端口可以是本地端口,也可以其它unit上的端口。如果出端口是本unit上的端口,则直接交换出去;如果是其它unit上的端口,则通过堆叠口转发到相应的unit上,再交换出去。但是无论端口是在本地,还是在其它unit上,转发过程只需要一次查询二层转发表,就可以被交换出去。
在fabric内任何unit接收到转发报文,都会在本unit上进行源MAC地址学习,就像其它任何交换机所作的一样;但是,无论fabric内有多少台设备,IRF交换机必须表现的像一台交换机在工作一样,那么,在一台unit上学习的二层转发表项,fabric内的其它unit也必须有,否则,报文就会在VLAN内广播。为了实现fabric内二层分布式转发,而且IRF内的交换机表现的象一台设备一样,当一台unit新学习到MAC表项以及用户配置的MAC表项,都需要同步到fabric内的其它设备上。当fabric发生变化,例如加入一台新的unit,新的unit需要获取原fabric的转发表项,同时将自己的转发表项同步到原fabric内。如果有unit离开,则需要把和此unit相关的表项从fabric内删除掉。
同二层转发类似,IRF交换机实现了分布式的三层转发,即fabric上任意一个unit都有完整的三层转发能力,当它收到待转发的三层报文时,可以通过查询本unit的三层转发表得到报文的出接口以及下一跳,然后将报文从正确的出接口送出去,这个出接口可以在本unit上也可以在其它unit上,因为fabric始终是作为一台设备进行工作的,任何一个unit上的接口都是fabric上的接口,将报文从一个unit送到另外一个unit是一个纯内部实现,对外界是完全屏蔽的,即对于三层报文来说,不管它在fabric内部穿过了多少unit,在跳数上只增加1,即表现为只经过了一个网络设备,在fabric内部的报文传递是不会改变报文的三层属性的。因此对于外界设备来说,fabric始终就是一台设备。

分布式三层转发
不管转发出端口是在本地,还是在fabric内其它设备上,通过在本地一次查找路由转发表,报文就可以实现三层转发任务。相对于集中式的转发,减少了对单台设备的依赖,同时减轻设备的转发负载。
组播数据转发是影响网络带宽的祸首,如何合理有效的处理组播数据转发是困扰业界的一个难题。
同传统的堆叠技术和多台单机互联设备相比,使用IRF技术堆叠的设备,可以做到按需转发组播数据报文,减少设备间组播数据流量。
IRF交换机将三层组播转发表和分布式IGMP-snooping有机的结合后,产生了交换上引导组播数据转发的二三层结合的组播数据转发表。该组播转发表只维护本unit上的用户出端口和fabric内其他unit上出端口的unit号,而且只记录出端口所在的unit号,并不关心具体的端口号。这种高效的转发表从根本上解决了组播数据占用带宽的问题,保证了设备间只有一份报文传送。

传统堆叠的组播数据转发

IRF的组播数据转发
IRF技术是一种分布式的网络技术,它使网络的构建者们能够构建具备高可用性和可伸缩性的网络核心,其性能、配置能力和可伸缩性都可以与网络同步增长,从而避免了集中式网络核心设备所需要面对的一次性较大投入以及物理限制等问题。