一种纵向堆叠系统中防止产生环路的方法和装置的制造方法_3

文档序号:9219697阅读:来源:国知局
合组MDC-1,如将PE-1与CB-1上的聚合组MDC-1绑定,PE-2与CB-2上的聚合组MDC-1绑定,PE-3与CB-3上的聚合组MDC-1绑定。
[0092]通过此步骤,针对支持MDC的CB-PE系统,可使每一个PE与属于同一 MDC环境下的一个聚合组绑定,从而使该聚合组所属的CB作为来自其绑定的PE的所有多播报文的源CB在堆叠系统中继续转发该多播报文。
[0093]本发明中,为便于堆叠系统中的CB上的聚合组接收到多播报文时识别本CB是否与所述多播报文所来源的PE绑定,会在步骤101中进一步将各个PE与CB的绑定关系记录至每一 CB。比如图5b中,CB-1、CB-2、CB-3均会记录PEl绑定的聚合组、PE2绑定的聚合组。
[0094]步骤102,判断多播报文来自于PE侧端口还是堆叠口,如果是PE侧端口,进入步骤104 ;如果为堆叠口,进入步骤103。
[0095]步骤103、判断该接收到的多播报文是被重定向至该CB的多播报文还是其它CB作为源CB发送的多播报文,如果是重定向至该CB的多播报文,则进入步骤104 ;如果是其它CB作为源CB发送的多播报文,则进入步骤107。
[0096]本发明中,PE向堆叠系统中的聚合组发送多播报文时,该多播报文会通过内部头(也称HG头)携带目的端口号、目的芯片号,这里,目的端口号为堆叠系统的下行口对应的代理端口标识,目的芯片号为堆叠系统的下行口对应的代理芯片标识。
[0097]步骤104、识别CB上的聚合组是否与所述多播报文的源PE绑定;如果否,则进入步骤105 ;如果是,则进入步骤106。
[0098]具体而言,识别CB上的聚合组是否与所述多播报文的源PE绑定,包括:位于该CB上的交换芯片通过PE侧端口接收到多播报文时,交换芯片对该多播报文进行查表处理,以识别所述多播报文的源PE与该PE侧端口对应的聚合组是否绑定。
[0099]更进一步地,任一 PE发送多播报文时,会将自身的标识比如名称、IP地址等携带在该多播报文中。如此,当CB侧的交换芯片通过连接PE的PE侧端口收到多播报文时,其会根据该多播报文携带的PE的标识确定该多播报文所来源的PE。
[0100]基于所述记录,则本步骤104中,识别本CB上的聚合组是否与所述多播报文所来源的PE绑定,具体可包括:从本地记录中找到所述多播报文所来源的PE所绑定的聚合组,如果发现该绑定的聚合组正是本聚合组,则确定本聚合组与所述多播报文所来源的PE绑定,反之,确定本聚合组与所述多播报文所来源的PE不绑定。
[0101]步骤105、按照最短路径从该CB上选择一个堆叠口将所述多播报文重定向至与该多播报文的源PE绑定的聚合组所属的CB。
[0102]其中,最短路径为到目的CB的距离最小的路径。
[0103]通过此步骤,将经由该PE发送至各个CB上的属于同一 MDC的聚合组的多播报文均重定向至与该PE绑定的聚合组,从而可以达到可以防止多播报文环路的效果。
[0104]更为详尽地,交换芯片通过PE侧端口或堆叠口接收到多播报文时,对该多播报文进行查表处理,如果多播报文的源PE与该PE侧端口对应的聚合组不绑定,则该交换芯片按照最短路径从该CB上选择一个堆叠口,并经由流量管理TM芯片将多播报文重定向至与该多播报文的源PE绑定的聚合组所属的CB。
[0105]该多播报文的属性信息还包括目的芯片号、目的端口号。重定向时,交换芯片将所述多播报文的目的芯片号、目的端口号分别修改为所述多播报文所来源的PE绑定的聚合组上的指定芯片号、指定端口号,按照最优路径从本CB上选择一堆叠口将完成所述修改的多播报文发送至与所述多播报文的源PE绑定的聚合组所属的CB。
[0106]可见,本发明实施例中的TM芯片,并非现有技术中TM芯片将接收到的多播报文进行流量管理后,再返回至发送该多播报文的交换芯片进行流量的转发。
[0107]可选地,本实施例中,源CB到所述堆叠系统中其它CB的最优路径通过以下步骤确定:
[0108]如果源CB到所述堆叠系统中其它CB仅存在一条路径,则确定该路径为最优路径;
[0109]如果源CB到所述堆叠系统中其它CB存在两条以上不相等的路径,则确定最短路径为最优路径;
[0110]如果源CB到所述堆叠系统中其它CB存在两条以上相等的最短路径,则在不引起环路的前提下指定其中一条为最优路径。
[0111]需要说明的是,不引起环路,也即不会发生端口的报文返回现象,换而言之,对于堆叠系统中的每个CB的单个堆叠口,不会同时接收和发送多播报文。
[0112]步骤106、将多播报文在本CB上进行本地转发,并将该CB作为源CB并通过该CB上的所有堆叠口发送该多播报文。
[0113]可选地,将多播报文在本CB上进行本地转发的过程,具体包括:
[0114]如前所述,多播报文的属性信息包括目的芯片号、目的端口号,当识别到CB上的聚合组与所述多播报文的源PE绑定后,便查找多播报文的目的端口有无本CB上的端口。若有,便直接进行本CB上的转发。
[0115]更为详尽地,若交换芯片通过PE侧端口接收到多播报文时,对该多播报文进行查表处理。如果多播报文的源PE与该PE侧端口对应的聚合组绑定,则无需再进行一次哈希处理,而是直接将多播报文发送至流量管理芯片,然后再经由该CB上的所有堆叠口发出。
[0116]若交换芯片通过堆叠口接收到重定向至本CB的多播报文时,对该多播报文进行查表处理。如果多播报文的源PE与该堆叠口对应的聚合组绑定,则将该多播报文哈希到该聚合组中的任意一个代理口,以指向该任意一个代理口对应的交换芯片,并经由流量管理芯片发送至该交换芯片;然后该交换芯片将目的端口在本CB上的报文进行本地转发,并将目的芯片为其余CB上的交换芯片的多播报文通过该CB上的所有堆叠口发出。
[0117]步骤107、按照预先设置的针对该CB规划的最优路径,通过本CB上处于所述最优路径的堆叠口转发该接收的多播报文,禁止本CB上不处于所述最优路径的堆叠口继续转发该接收的多播报文。
[0118]下面以图6a和图6b所示的纵向堆叠系统为例,对最优路径的建立进行说明。
[0119]以图6a和图6b中所示的CB-1为例,具体描述如何按照不引起多播环路的原则规划出CB-1上的聚合组作为源聚合组时规划出对应的多播报文转发路径:
[0120]为了方便说明,假设PEl属于MDC-1,且CB-1?CB-4上均有支持MDC-1的聚合组。
[0121]I)计算作为源CB的CB-1到图6a所示堆叠系统中其它各个CB即CB-2至CB-4的最优路径。
[0122]从图中可以看出,作为源CB的CB-1到CB-2存在两条路径,分别为:
[0123]路径1,CB-1->CB_2 ;
[0124]路径2,CB-l->CB-4->CB-3->CB-2 ;
[0125]可以看出,CB-1到CB-2存在的两条路径不等,路径I最短,则选择路径I为最优路径。
[0126]同样,从图中可以看出,作为源CB的CB-1到CB-3也存在两条路径,分别为:
[0127]路径1,CB-l->CB-2->CB-3 ;
[0128]路径2,CB-l->CB-4->CB-3 ;
[0129]可以看出,CB-1到CB-3存在的两条路径相等,则在不引起环路的前提下可以指定其中一条路径比如路径I为最优路径。
[0130]同样,从图中可以看出,作为源CB的CB-1到CB-4也存在两条路径,分别为:
[0131 ]路径 I,CB-l->CB-2->CB-3->CB-4 ;
[0132]路径2,CB-1->CB_4 ;
[0133]可以看出,CB-1到CB-4存在的两条路径不等,路径2最短,则可以指定路径2为最优路径。
[0134]2)将计算出的作为源CB的CB-1到堆叠系统中其它各个CB即CB-2至CB-4的最优路径组合成设置有源聚合组的CB-1在所述堆叠系统中的多播转发路径,并记录至堆叠系统中其它各个CB即CB-2至CB-4。
[0135]基于步骤I)中的描述,假如作为源CB的CB-1到CB_2、CB-3, CB-4的最优路径依次为:CB-l->CB-2、CB-l->CB-2->CB-3,CB-1->CB_4,则本步骤 2)中的作为源 CB 的 CB-1 在所述堆叠系统中的多播转发路径就为:CB-l->CB-2->CB-3,CB_1->CB_4,图6b中的虚线示出了 CB-1上的作为源CB时的多播报文的转发路径。堆叠系统中其它CB作为源CB时在所述堆叠系统中的多播转发路径按照类似CB-1的类似确定。
[0136]本发明中,基于通过上述步骤预先规划的多播报文转发路径,是不会在堆叠系统内产生环路的,并且,在本发明中,接收到该多播报文的堆叠口是不会继续反向转发该接收的多播报文。
[0137]仍旧参照图6a和图6b,对图4所示的流程进行实例描述:
[0138]以图示的CB-PE系统为例,则假如PE-1绑定CB-1上的支持MDC-1的聚合组,PE-2绑定CB-2上的支持MDC-2的聚合组,且CB-1?CB-4上均设置有支持MDC-1和MDC-2的交换芯片组成的聚合组。
[0139]以CB-1上的源聚合组为例,且针对CB-1作为源CB规划的多播报文转发路径为:CB-l->CB-2->CB-3, CB-1->CB_4,则当CB-1上的源聚合组通过连接PE-1的PE侧端口
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1