toy0011314
助理工程师
帖子
174
精华
10
无忧币 1217
积分 1073
阅读权限 40
|
发表于:2005-9-30 16:17
标题:华为IRF技术白皮书 -IRF之组播应用
<上一帖 |
下一帖>
系统概述
IRF概述
IRF的含义就是智能弹性架构(Intelligent Resilient Framework)。
支持IRF的多台设备可以互相连接起来形成一个“联合设备”,这台“联合设备”称为一个fabric,而将组成fabric的每个设备称为一个unit(如图1所示)。多个unit组成fabric后,无论在管理还是在使用上,就成为了一个整体。它既可以随时通过增加unit来扩展设备的端口数量和交换能力,大大提高了设备的可扩展性;同时也可以通过多台unit之间的互相备份增强设备的可靠性;并且整个fabric作为一台设备进行管理,用户管理起来也非常方便。
简单来说,就是IRF设备通过多个unit的堆叠形成了用户迫切需要的易管理、易扩展以及高可靠的产品特点。是一种不同于业界现有所有设备的全新理念的网络设备。

图1 IRF交换机
IRF技术的三大组成部分
DDM(分布式设备管理):外界可以将整个fabric看成一台整体设备进行管理,用户可以通过CONSOLE、SNMP、TELNET、WEB等多种方式来管理整个fabric。
DRR(分布式弹性路由):fabric的多个设备在外界看来是一台单独的三层交换机。整个fabric将作为一台设备进行路由功能和转发功能。在某一个设备发生故障时,路由协议和数据转发可以不中断。
DLA(分布式链路聚合):支持跨设备的链路聚合,可以在设备之间进行链路的负载分担和互为备份。
分布式弹性组播路由概述
分布式弹性组播路由作为分布弹性路由的一部分,完全具备了分布式弹性路由的特点,fabric系统内的多台设备对外界看来是一台单独的三层交换机,而且fabric内部的每个unit可以互相备份,实现了1:N的备份功能。当某一台设备发生故障时,路由协议无缝切换,数据转发不中断。分布式弹性组播路由除了以上单播路由协议的优点外,还从协议本身出发,从根本上解决了组播数据占用fabric内部带宽的问题。成功开发的分布式IGMP-snooping协议和高效的组播转发表保证了每台设备间只有一份组播数据报文传送,大大节约了设备间的带宽,提高了设备转发性能。
把多个unit堆叠起来组成一个fabric在网络中运行时,将不可避免的遇到一个冲突问题:即所有的unit都会发送路由协议报文,都会分别和外界设备进行路由信息交互,因此外界设备看到的将是多个设备,而不是fabric本身一个设备,而同时由于各个unit上的三层接口以及IP地址是完全一致的,外界设备就会收到来自同一个接口同一个IP地址的多个路由协议报文(分别由各个unit发出),从而不可避免的造成冲突问题。
要解决这个冲突问题,就必须让fabric只发出一份路由协议报文,即让整个fabric作为一台设备运行,采取的办法是从所有unit中选出一个unit来发送路由协议报文,其它unit发送的路由协议报文都将被抑止,因此从外界看来,整个fabric只发出一份路由协议报文来,就像只有一台设备在跑路由协议一样。
下文图2中以PIM协议为例对fabric系统作为一台设备跟外界交互的方案进行了简要说明,图2中Unit1和Unit2组成了一个fabric,这个fabric从Unit1和Unit2分别收到了来自Route1、Route2和Route3的PIM协议报文,并且Unit1和Unit2都向外界发送了PIM协议报文,但是只有Unit1的报文被成功发送出去,而Unit2的PIM协议报文被抑制在fabric设备内部,从而对于外界设备来说,整个fabric只发出一份路由协议报文来。

图2 IRF系统收发组播路由协议报文示意图
分布式弹性组播路由的支撑技术
IRF的分布式弹性组播路由是基于分布式设备管理(DDM)技术上实现的。下面具体介绍分布式弹性组播路由需要的几个技术点:
统一的路由协议配置信息:
要使一个fabric中各个unit上的路由协议各种信息保持一致,一个基本前提就是每个unit关于路由协议的配置是完全一致的。这里的完全一致不仅仅是指配置的命令完全一致,而且包括配置的时间和时序都完全一致,即用户必须同时在fabric中的所有unit上配置完全一致的命令。很显然这个需求靠用户手工在所有unit上分别配置命令是无法实现的,因此IRF设备必须实现把整个fabric作为一台设备进行路由协议各种配置的功能。
这里所说的把整个fabric作为一台设备进行路由协议各种配置的功能是指用户可以借助任何手段(包括CONSOLE、SNMP、TELNET、WEB等多种方式),也可以在fabric中的任意一个unit上,进行路由协议的相关配置,只要fabric中的任意一个unit收到用户配置,就会马上同步给其余所有unit同时执行,从而实现每个unit关于路由协议的配置完全一致的需求。
统一的三层接口信息:
设备上存在UP的三层接口是运行路由协议的基础,也是网络设备能够进行报文三层转发的前提条件。要使一个fabric中各个unit上的路由协议各种信息保持一致,最基本的前提就是每个unit的三层接口必须保持完全一致。在IRF技术体系里,fabric上的三层接口是一个全局的概念,它不属于某一个unit,而是属于整个fabric,一个fabric作为一台设备管理本fabric上所有三层接口,每一个三层接口在fabric是具有唯一性的,对于fabric中任意一个unit来说,它看到的都是由fabric统一维护的全局的三层接口,因此每一个unit看到的结果都是一样的。这也就保证了fabric中每个unit的三层接口必须保持完全一致的要求。
PIM-DM支持IRF特性
PIM-DM组播路由协议是一种密集模式组播路由协议,它周期性的扩散组播数据并周期性的收敛来维护组播分发树。PIM-DM没有复杂的协议状态机,只是根据PIM协议报文来维护组播分发树,因此只要让fabric中的每一台unit处理的PIM协议报文完全一致就可以保证每一台unit上生成的PIM-DM状态信息完全一致。
要实现这个功能,就必须要保证fabric中的每一台unit在相同的时间,以相同的时序收到完全相同的协议报文,并且处理该协议报文的所有前提条件(例如接口状态等)都是完全一致的。采取的办法是在所有unit各种协议状态完全一致的情况下,任意一个unit收到外界传来的PIM协议报文就同步给其它所有unit,让fabric中的所有unit上同时能处理到同样的PIM协议报文,从而保证每个unit生成PIM-DM协议状态的一致性。
PIM-SM支持IRF特性
PIM-SM组播路由协议是一种稀疏模式组播路由协议,该协议把组播信息拉入网络中的接收站点。如果没有接收者,组播数据不会在网络中扩散,只有最优组播分发树上的路由器才会接收组播。它用显示加入机制来维护共享树和最短路径树。PIM-SM没有复杂的协议状态机,只是根据PIM协议报文来维护组播分发树,因此只要让fabric中的每一台unit处理的PIM协议报文完全一致就可以保证每一台unit上生成的PIM-SM状态信息完全一致。
要实现这个功能,就必须要保证fabric中的每一台unit在相同的时间,以相同的时序收到完全相同的协议报文,并且处理该协议报文的所有前提条件(例如接口状态等)都是完全一致的。采取的办法是在所有unit各种协议状态完全一致的情况下,任意一个unit收到外界传来的PIM协议报文就同步给其它所有unit,让fabric中的所有unit上同时能处理到同样的PIM协议报文,从而保证每个unit生成PIM-SM协议状态的一致性。
IGMP支持IRF特性
互联网组管理协议(IGMP)负责所连网络组成员关系的收集与维护。该协议收发通用查询报文、特定组查询报文、主机加入报文和离开报文来维护协议的各种状态信息。因此只要让fabric中的每一台unit处理的IGMP协议报文完全一致就可以保证每一台unit上生成的IGMP状态信息完全一致。
要实现这个功能,就必须要保证fabric中的每一台unit在相同的时间,以相同的时序收到完全相同的协议报文,并且处理该协议报文的所有前提条件(例如接口状态等)都是完全一致的。采取的办法是在所有unit各种协议状态完全一致的情况下,任意一个unit收到外界传来的IGMP协议报文就同步给其它所有unit,让fabric中的所有unit上同时能处理到同样的IGMP协议报文,从而保证每个unit生成IGMP协议状态的一致性。
Multicast traceroutes支持IRF特性
Multicast traceroutes是一种跟踪组播数据流的协议。该协议可以从接收者出发,根据组播分发树逐个跟踪到数据源,确定组播数据流的路径,获得中间路由器的各种组播状态。这种简单协议不需要冗余备份,所以实现起来也容易。IGMP协议支持IRF后,收到的IGMP协议报文都会复制到fabric内所有的unit上去处理。使用IGMP协议号的multicast traceroutes协议报文也会发送到fabric内所有unit。由于fabric内每个unit的组播路由协议状态都一致,所以一台unit处理multicast traceroutes协议报文就可以获得整个fabric信息,同时该unit发送multicast traceroutes协议报文跟外界交互。
IGMP-snooping支持IRF特性
为了使IGMP-snooping协议支持IRF特性,成功开发了纯分布式IGMP-snooping协议。它的实现不像组播路由协议PIM,依靠fabric内广播协议报文和全局的三层接口信息来保证每个unit的协议状态保持一致。分布式IGMP-snooping中,每个unit只维护本unit上的路由器端口和主机端口状态信息,以及其它unit上是否有主机端口或路由器端口的状态信息,不关心其它unit上的端口状态信息,从而不依赖其它模块就实现了分布式IGMP-snooping协议。
分布式IGMP-snooping协议有以下几个技术亮点:
1.维护最少的状态信息。分布式IGMP-snooping协议在每个unit只维护本unit上的用户端口状态信息和其它unit上是否有主机端口和路由器端口的信息,并不关心其它unit上的具体端口状态信息。这样最少的状态信息维护减少unit间交互信息的数量,大大提高fabric系统内部通信效率。
2.按需转发IGMP主机加入报文,减少IGMP协议报文的拥塞冲突。
3.按需转发组播数据报文,减少fabric内组播数据流量。
分布式IGMP-snooping有以下几个技术点组成。
1.路由器端口的智能维护
当某unit从用户端口收到组播路由协议报文或IGMP通用查询报文,认为该端口上有路由器,就把该端口视为路由器端口。如果该路由器端口是vlan内的第一个路由器端口,则通知其它fabric内的所有unit本unit有路由器端口。如果该路由器端口不是本unit上的第一个路由器端口,那只在本地维护的路由器端口列表中增加一个端口,并不向其它unit通知本unit有路由器端口,因为其它unit已经知道本unit有一个路由器端口。
当其它unit收到一个消息通知某unit有一个路由器端口时,当前unit只记录某unit有路由器端口,不记录具体路由器端口状态信息。这样维护最少的状态信息,减少系统内部备份数据的数量,大大提高fabric系统运行性能。
当某unit的路由器端口超时时,就从本地路由器端口列表中删除该端口。如果该unit没有其它的路由器端口就通知其它所有unit,本unit没有路由器端口。
当其它unit收到一个消息通知某unit没有路由器端口时,直接从该路由器端口列表中删除该unit。
2.主机端口的智能维护
当某unit收到IGMP主机加入报文后,认为该端口有直连主机,并把该端口视为主机端口。如果该端口是本unit第一个主机端口,就通知fabric内所有其它unit,本unit有主机端口。如果主机端口不是该unit第一个主机端口,那只在本地维护的主机端口列表中增加一个端口,不向其它unit通知本unit有主机端口。因为其它unit已经知道本unit有主机端口。
当其它unit收到一个消息通知某unit有一个主机端口时,当前unit只记录某unit有主机端口,并不记录具体的主机端口状态信息。虽然系统通过其它的方法可以获得全局端口信息,这里不记录其它unit上的具体端口信息。
当某unit发送一个特定组查询报文后没有收到响应的IGMP主机加入报文,就从本地主机端口列表中删除。如果该unit上没有其它主机端口就通知fabric内其它所有unit,本unit没有主机端口。
当其它unit收到一个消息通知某unit没有主机端口时,直接从该主机端口列表中删除该unit。
3. IGMP主机加入报文的有效抑制
当unit收到某组的第一个主机加入报文时,创建主机端口,并直接透传该报文到fabric内所有其它的unit。当fabric系统发送IGMP查询报文后,并不是把所有响应的主机加入报文透传到其它unit。而是发送查询报文后,把每组中第一个响应的主机加入报文发送到其它unit。其它unit在每个周期内只收到一份主机加入报文就可以保证协议的正常运行。这种抑制机制大大减少了IGMP报文的拥塞冲突,提高了fabric系统性能。
如图3所示,四个unit通过环型连接组成一个传统堆叠系统,主机Host1~4属于同一组。当每一个主机响应路由器Router的IGMP查询报文时,Unit1会从主机Host1和Host2收到IGMP主机加入报文,并把这两份报文在堆叠系统内广播。Unit4也会从主机Host3和Host4收到IGMP主机加入报文,并把这两份报文在堆叠系统内广播。这样堆叠设备内会有多份同一组的IGMP主机加入报文,从Unit2到路由器的链路上也会有多份同组的IGMP主机加入报文。显然这种堆叠方式会增加堆叠设备的负荷,大大降低了系统性能。

图3 传统堆叠设备中的IGMP-snooping协议报文示意图
如图4所示,四个unit通过环型连接组成一个IRF堆叠系统,主机Host1~4属于同一组。当每一个主机响应路由器Router的IGMP查询报文时,Unit1会从主机Host1和Host2收到IGMP主机加入报文,Unit4也会从主机Host3和Host4收到IGMP主机加入报文。可是fabric系统只会把最早响应的IGMP主机加入报文在fabric系统内广播,而且Unit2和路由器之间的链路上只有一份IGMP主机加入报文。其它同组的加入报文被有效的抑制在fabric系统内,确保最少的协议报文来维护IGMP协议状态,大大减少了IGMP主机加入报文的拥塞冲突。

图4 IRF系统中的分布式IGMP-snooping协议报文示意图
4.Unit加入处理
当新unit加入到fabric时,每个unit都把本unit上是否有主机端口或路由器端口的状态发送到新加入的unit上,这样新加入的unit就知道哪些unit有路由器端口和主机端口。同时新加入的unit也向fabric内其它unit通知本unit上是否有路由器端口或主机端口的状态,让fabric系统内的其它unit知道。
5.Unit离开处理
当某unit从fabric内离开时,fabric内的其它unit直接把跟本unit相关的主机端口和路由器端口信息删除。从fabric内离开的unit也把跟fabric内其它unit相关的主机端口和路由器端口信息删除。
分布式组播数据转发
Fabric系统是有多台独立的unit组成,任意一个unit都有完整的三层转发能力。每个 unit 都可以接收报文,且报文的出端口可以在本 unit,也可以在其它 unit。为了减轻unit间通信的压力,如何保证unit间只复制一份报文,fabric内跨越最少的unit成为一个难题。由于成功开发了分布式IGMP-snooping,从协议本身出发,把高可靠性的三层转发表和分布式IGMP-snooping维护的出端口列表有机的结合后,产生了指导组播转发的高效组播转发表。该组播转发表只维护本unit上的用户出端口和fabric内其它unit上出端口所在的unit号,并不关心其它unit上具体的端口号。被这种高效组播转发表指导的组播数据在fabric内转发时,跨越最少的unit,寻找最短的路径,且unit间传递最少报文来转发,实现了分布式三层数据转发。彻底解决了跑组播业务就网络性能降低的难题,给用户带来了高可靠性、高性能的组播业务。
分布式组播转发有两大技术亮点:
1.高可靠性的三层组播转发表
由分布式设备管理提供的全局配置同步和全局统一的三层接口是给高可靠性的组播路由提供了基础。虽然每个unit上的组播路由协议的状态都相同,所生成的组播路由表也相同,但并不是每个unit独立维护各自的组播转发表,而是其中的一台unit统一下发组播转发表,保证了fabric内所有三层组播转发表相同。图2中可以看到,只有Unit1下发组播转发表,unit2的组播路由表没有下发到组播转发表。
当fabric内统一下发组播转发表的unit出现故障或离开fabric系统时,fabric内剩余的unit会选择一台unit统一下发组播转发表。由于分布式弹性组播路由协议已经保证了各个协议的状态相同,组播路由表相同,所以重新下发的组播转发表也相同,保证了组播路由无缝切换,数据不中断,实现了高可靠性。
2.高效的组播转发表
高可靠性的三层组播转发表跟分布式IGMP-snooping有机的结合,产生了交换机上引导组播数据转发的二三层结合的组播转发表。该组播转发表只维护本unit上的用户出端口和fabric内其它unit上出端口所在的unit号,并不关心其它unit上具体的端口号。这种高效组播转发表指导组播数据转发时,使组播数据跨越最少的unit,寻找最短的路径,且unit间传递最少报文来转发,实现了分布式三层数据转发。
图5是环型连接的传统堆叠设备。Server发出的组播数据会从Unit2进入fabric系统,通过fabric系统复制转发,Host1~5主机才能收到组播数据。从图中可以看出,unit2做了集中组播转发,复制了所有的组播数据流。这样Unit2到Unit1的内部链路上会有四份组播数据流,而在Unit1到Unit4的内部链路上也有两份组播数据流。这种传统组播转发增加了fabric系统内链路通信负荷,大大降低了系统系能,没有把组播数据复制交换负担分散在系统的多台unit上。这种传统堆叠方式除了端口数量增加外没有任何优点,还降低了整个网络性能。图中还附了一张Unit2设备的组播转发表。由于Unit2设备维护所有的出端口,理所当然的完成了集中式组播转发。

图5 传统堆叠设备中的组播数据转发示意图
图6是环型连接的IRF堆叠设备。Server发出的组播数据会从Unit2进入fabric系统,通过fabric系统复制转发,Host1~5主机才能收到组播数据。从图中可以看出,虽然Unit2 上的转发表有三个目的地址,Unit2只复制两份组播数据,一份是给Host5的组播数据流,另一份是给Unit1的组播数据流。Unit1收到组播数据流后,再把组播数据复制三份分别给两个主机Host1、Host2和Unit4。最终Unit4再复制两份组播数据流,发送给主机Host3和Host4。这种分布式三层转发保证了每一个链路有最有少的组播数据流,把组播数据复制转发这种消耗系统资源的工作分散在fabric系统内的每一个unit上去做,使每个unit分别负担组播转发,大幅提高了组播数据转发性能。图中还附了一张Unit2设备的组播转发表。由于Unit2设备有高效的组播转发表,才实现了分布式组播转发。

图6 IRF系统中的分布式组播数据转发示意图
总结
支持IRF特性的分布式弹性组播路由既可以通过多台unit间的互相备份,大幅提高了网络可靠性,又可以高智能组播数据转发,使每个设备分别负担组播转发,充分利用了每个设备的转发容量,大幅提高了组播数据转发性能。 支持IRF特性的组播网络给用户带来了易管理,易扩展,高可靠性,高性能的网络。
|
 我要努力成为下一代火影~~~ 好东西当然要回帖啊 |
|