CN104243323B - 交换网多播路由方法及系统 - Google Patents

交换网多播路由方法及系统 Download PDF

Info

Publication number
CN104243323B
CN104243323B CN201310223512.XA CN201310223512A CN104243323B CN 104243323 B CN104243323 B CN 104243323B CN 201310223512 A CN201310223512 A CN 201310223512A CN 104243323 B CN104243323 B CN 104243323B
Authority
CN
China
Prior art keywords
line card
cell
link
multicast
qos routing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201310223512.XA
Other languages
English (en)
Other versions
CN104243323A (zh
Inventor
吴涛
仲建锋
缪众林
刘衡祁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sanechips Technology Co Ltd
Original Assignee
ZTE Corp
Shenzhen ZTE Microelectronics Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ZTE Corp, Shenzhen ZTE Microelectronics Technology Co Ltd filed Critical ZTE Corp
Priority to CN201310223512.XA priority Critical patent/CN104243323B/zh
Publication of CN104243323A publication Critical patent/CN104243323A/zh
Application granted granted Critical
Publication of CN104243323B publication Critical patent/CN104243323B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及一种交换网多播路由方法及系统,其方法包括:目的线卡经交换网向源线卡逐级传递可抵达信元,在交换网的各级网元芯片中建立多播路由信息;各级网元芯片根据建立的多播路由信息,逐级选择可达链路将来自源线卡的多播信元转发至目的线卡。本发明通过从目的线卡至源线卡逐级传递可抵达信元获取多播路由信息,最终在交换网的各级网元芯片中,识别哪些链路可以到达所有可能的最终接入线卡,多播转发时仅在这些链路中进行,与现有技术相比,可以及时感知交换网中的链路故障并迅速响应,避免丢失信元,大幅提高交换网对于多播信元转发的稳定性与可靠性,提高了交换网的鲁棒性,同时无需占用额外的缓存资源。

Description

交换网多播路由方法及系统
技术领域
本发明涉及大容量高端路由器中的网络交换技术领域,尤其涉及一种交换网多播路由方法及系统。
背景技术
交换网是指在路由器或交换机等设备中完成信元交换的网络,最终通过信元交换实现通信报文的交换。在大容量的高端路由器中,为满足交换容量的要求,一般使用多级交换网络,三级CLOS(Charles Clos)交换网络是最常见也是被研究最多的一种多级互联交换网络。
如图1所示,图1为三级CLOS网络的示例,线卡接收外部输入的数据报文,完成数据报文的分类、流量管理及信元切片等工作,最终将信元发送给交换网,交换网由各个网元芯片组成,网元芯片依据其所处层次分为三个级别,简称为SF1、SF2、SF3。三级网络的SF1和SF2之间,SF2和SF3之间,都使用冗余连接保证交换网的带宽和稳定性。信元最终从交换网输出到目的线卡,在目的线卡处将信元重组为通信报文后输出。
在物理实现上,CLOS网络中线卡和SF1/SF3网元芯片组成各个分组,一个分组以一个机架的方式实现,一个机架上存在多个线卡和多个SF1/SF3,每个机架之间物理隔绝,每个交换系统最少有一个机架。作为SF1和SF3的网元芯片和线卡分组相连,也就是说,每一分组中,有N个线卡和M个SF1/SF3处于全连接状态,即每一分组中每个线卡和每个SF1/SF3都有连接,这N个线卡与其他分组的SF1/SF3没有连接,同时这M个SF1/SF3也和其他分组的线卡没有连接。
通常CLOS网络的路由选择方法有两种:一种是集中式,一种是分布式。集中式是指将CLOS网络中所有交换单元当作一个整体来控制,由一个全局控制中心来维护交换网中的网络信息,并根据此信息为输入的信元选择一条路由途径,各个网元芯片据此完成信元转发。但是,这种方法的算法复杂度很高,对运算能力要求很高,同时难以扩展,随着网络规模的扩大越来越难以满足新的需求。
分布式是指各个网元芯片都维护一个本地的路由表,每一个网元芯片接收到信元输入后,都根据本地路由表的状态对输入信元进行转发,整个交换网的路由信息分布式存储。这种方法易于扩展,同时不需要全局的控制中心,也不需要维护一套复杂的算法即可完成高可靠性的信元转发。
但是,分布式的路由选择方法有一个缺点,即每个网元芯片可以感知和自身相连芯片的链路连接状态,但是无法感知其他芯片之间的链路连接状态,当进行多播信元转发时,则有可能将信元转发到一块无法抵达最终目的线卡的网元芯片,造成信元丢失。
如图2所示,图2是一个SF2中多播路由选择的例子,在0#SF2中,一个多播信元将转发给全部的四个目的线卡,0#和1#SF3与0#和1#线卡组成一个机架,多播信元在SF2进行转发时将只会往每个机架中复制一份,之后SF3再在机架内向所有的线卡进行复制。在进行选择的过程中,如果0#SF3到1#线卡的链路出现了故障,那么假如这个多播信元在SF2中选择发送给0#SF3,将会出现信元无法最终到达1#线卡的情况,最终造成信元丢失。
如图3所示,图3则是一个SF1中多播路由选择的例子,在0#SF1中,一个多播信元将转发给全部的四个目的线卡,多播信元在SF1中为节省缓存资源将不进行复制,由SF2完成对机架的复制,SF3完成对线卡的复制。在进行选择的过程中,如果0#SF2到0#线卡和1#线卡所属的机架链路出现了故障,那么假如这个多播信元在SF1中选择发送给0#SF2,将会出现信元无法最终到达0#和1#线卡的情况,造成信元丢失。
上述问题在多播信元转发中比较明显,原因在于对于单播转发,可以给每一个线卡维护一个条目,即每个网元芯片都知道自己哪些链路可以到达最终目的线卡,但是这在多播中难以做到,多播复制过程中复制的目的线卡是可以任意组合,如果采用单播的方法这些条目数量将会非常巨大,如系统中一共存在N个线卡,单播为每个线卡维护可达链路信息只需要N个条目,但是多播则需要2N个条目,这几乎不可能做到。
传统解决该问题的方法,或多或少都使用了集中式的管理方式,要么完全为集中式路由处理,全局控制中心为多播信元选择路由,要么是在分布式系统中通过软件实时检测当前的链路状态,当下游出现链路故障时通知上游关闭对应的链路以避免信元丢弃,如图2中的例子,当发现0#SF3和1#线卡链路出现故障时,关闭0#SF2和0#SF3的链路以避免信元进入0#SF3。但是这种软件检测的方法非常占用处理器资源。
发明内容
本发明的主要目的在于提供一种交换网多播路由方法及系统,旨在提高多播信元转发的可靠性,减少处理器资源占用。
为了达到上述目的,本发明提出一种交换网多播路由方法,包括:
目的线卡经交换网向源线卡逐级传递可抵达信元,在交换网的各级网元芯片中建立多播路由信息;
所述各级网元芯片根据建立的多播路由信息,逐级选择可达链路将来自所述源线卡的多播信元转发至所述目的线卡。
优选地,所述交换网包括SF1、SF2和SF3三级网元芯片,所述目的线卡经交换网向源线卡逐级传递可抵达信元,在交换网的各级网元芯片中建立多播路由信息的步骤包括:
所述目的线卡向与SF3相连的所有可用链路发送可抵达信元,所述SF3在接收到所述目的线卡发送的可抵达信元后,在本地建立SF3多播路由表;
所述SF3遍历SF3多播路由表,获取本芯片可到达所在机架的线卡总数,与所在机架中当前存在的线卡数量进行比较,获知本芯片是否可到达所在机架所有的线卡,若是,则SF3向与SF2相连的所有可用链路发送可抵达信元;
所述SF2接收到SF3发送的可抵达信元后,获知到达相连机架所有线卡的链路,在本地建立SF2多播路由表;
所述SF2遍历SF2多播路由表,获取本芯片可到达机架总数,与所述交换网中当前存在的机架数量进行比较,获知本芯片是否可到达所有机架的所有线卡,若是,则SF2向与SF1相连的所有可用链路发送可抵达信元;
SF1接收到SF2发送的可抵达信元后,获知到达所有线卡的链路,建立SF1多播路由表,并向与所述源线卡相连的可用链路发送可抵达信元。
优选地,所述各级网元芯片根据建立的多播路由信息,逐级选择可达链路将来自所述源线卡的多播信元转发至所述目的线卡的步骤包括:
所述源线卡在获取到多播信元后,在接收到SF1可抵达信元的链路中选择当前可用链路发送该多播信元至SF1;
所述SF1依据所述SF1多播路由表,选择一条当前可用链路发送该多播信元至SF2;
所述SF2获取所述多播信元需到达的各机架编号,并依据所述SF2多播路由表,选择当前可用链路发送所述多播信元的副本至SF3;
所述SF3查询获取所述多播信元需到达的各线卡编号,并依据所述SF3多播路由表,选择当前可用链路发送所述多播信元的副本至目的线卡。
优选地,所述源线卡获取多播信元的步骤包括:
所述源线卡在接收到多播报文后,将所述多播报文按照预定规则切片为多播信元。
优选地,所述SF3多播路由表的索引为线卡编号,其数据位宽为SF3和线卡最大可能相连链路数,内容为当前可达线卡的链路的比特位映射;所述SF2多播路由表的索引为机架编号,其数据位宽为SF2和SF3间最大可能相连链路数,内容为当前可达机架的链路的比特位映射。
本发明还提出一种交换网多播路由系统,包括:源线卡、目的线卡以及连接在源线卡和目的线卡之间具有多级网元芯片的交换网;其中:
所述目的线卡,用于经交换网向源线卡逐级传递可抵达信元,在交换网的各级网元芯片中建立多播路由信息;
源线卡,用于获取多播信元;
所述各级网元芯片,用于根据建立的多播路由信息,逐级选择可达链路将来自所述源线卡的多播信元转发至所述目的线卡。
优选地,所述交换网包括SF1、SF2和SF3三级网元芯片,其中:
所述目的线卡,还用于向与SF3相连的所有可用链路发送可抵达信元;
所述SF3,用于在接收到所述目的线卡发送的可抵达信元后,在本地建立SF3多播路由表;遍历SF3多播路由表,获取本芯片可到达所在机架的线卡总数,与所在机架中当前存在的线卡数量进行比较,获知本芯片是否可到达所在机架所有的线卡,若是,则向与SF2相连的所有可用链路发送可抵达信元;
所述SF2,用于接收到SF3发送的可抵达信元后,获知到达相连机架的所有线卡的链路,在本地建立SF2多播路由表;遍历SF2多播路由表,获取本芯片可到达机架总数,与所述交换网中当前存在的机架数量进行比较,获知本芯片是否可到达所有机架的所有线卡,若是,则向与SF1相连的所有可用链路发送可抵达信元;
SF1,用于接收到SF2发送的可抵达信元后,获知到达所有线卡的链路,建立SF1多播路由表,并向与所述源线卡相连的可用链路发送可抵达信元。
优选地,所述源线卡,还用于在获取到多播信元后,在接收到SF1可抵达信元的链路中选择当前可用链路发送该多播信元至SF1;
所述SF1,还用于依据所述SF1多播路由表,选择一条当前可用链路发送该多播信元至SF2;
所述SF2,还用于获取所述多播信元需到达的各机架编号,并依据所述SF2多播路由表,选择当前可用链路发送所述多播信元的副本至SF3;
所述SF3,还用于查询获取所述多播信元需到达的各线卡编号,并依据所述SF3多播路由表,选择当前可用链路发送所述多播信元的副本至目的线卡。
优选地,所述源线卡,还用于在接收到多播报文后,将所述多播报文按照预定规则切片为多播信元。
优选地,所述SF3多播路由表的索引为线卡编号,其数据位宽为SF3和线卡最大可能相连链路数,内容为当前可达线卡的链路的比特位映射;所述SF2多播路由表的索引为机架编号,其数据位宽为SF2和SF3间最大可能相连链路数,内容为当前可达机架的链路的比特位映射。
本发明提出的一种交换网多播路由方法及系统,通过从目的线卡至源线卡逐级传递可抵达信元获取多播路由信息,最终在交换网的各级网元芯片中,识别哪些链路可以到达所有可能的最终接入线卡,即在SF1中获知哪些链路可以到达所有的线卡,在SF2中获知哪些链路可以到达这些链路相连机架的所有线卡,多播转发时仅在这些链路中进行,与现有技术相比,可以及时感知交换网中的链路故障并迅速响应,避免丢失信元,大幅提高交换网对于多播信元转发的稳定性与可靠性,提高了交换网的鲁棒性,同时无需占用额外的缓存资源。
附图说明
图1是现有的三级CLOS交换网络架构示意图;
图2 是现有的SF2中多播路由选择的一种实例示意图;
图3是现有的SF1中多播路由选择的一种实例示意图;
图4是本发明交换网多播路由方法一实施例的流程示意图;
图5是本发明交换网多播路由方法实施例所涉及的交互网络架构示意图;
图6是本发明实施例中SF3多播路由表的结构示意图;
图7是本发明实施例中SF2多播路由表的结构示意图;
图8是本发明交换网多播路由方法一实施例中通过逐级发送可抵达信元获取交换网各级网元芯片的多播路由信息的具体流程示意图;
图9是本发明交换网多播路由方法一实施例中多播信元发送过程的具体流程示意图。
为了使本发明的技术方案更加清楚、明了,下面将结合附图作进一步详述。
具体实施方式
本发明实施例的解决方案主要是:从目的线卡至源线卡逐级传递可抵达信元获取多播路由信息,最终在交换网的各级网元芯片中,识别哪些链路可以到达所有可能的最终接入线卡,多播转发时仅在这些链路中进行,可及时感知交换网中的链路故障并迅速响应,避免丢失信元,以提高交换网对于多播信元转发的稳定性与可靠性,同时无需占用额外的缓存资源。
如图4所示,本发明一实施例提出一种交换网多播路由方法,包括:
步骤S101,目的线卡经交换网向源线卡逐级传递可抵达信元,在交换网的各级网元芯片中建立多播路由信息;
其中,交换网由各个网元芯片组成,网元芯片依据其所处层次分为多个级别,如果运用在CLOS网络中,则包括SF1、SF2、SF3三级网元芯片,如果运用在其他多级交换网络中,可能为两级网元或者多级网元芯片,本实施例以三级CLOS网络举例说明。
如图5所示,本实施例中组成交换网的网元芯片依据其所处层次分为三个级别,简称为SF1、SF2、SF3。三级网络的SF1和SF2之间,SF2和SF3之间都使用冗余连接保证交换网的带宽和稳定性。
为了提高多播信元转发的可靠性,减少处理器资源占用,本实施例三级CLOS网络下,使用目的线卡-SF3-SF2-SF1-源线卡的方式建立,即以和多播信元数据流相反的方向,逐级向上传递携带路由信息的控制信元以建立交换网各级网元芯片的多播路由信息,并称这些控制信元为可抵达信元。
其中,对于SF3多播路由的建立,目的线卡向其所有可用链路发送可抵达信元,这样SF3收到可抵达信元后可以获知哪些链路对应可以到达哪些线卡,以此建立多播路由。
对于SF2多播路由的建立,SF2的多播路由需要知道链路是否可以到达相连机架的所有线卡,即目的线卡。各级SF3芯片,需要获知本芯片是否可以到达本机架所有的线卡,当本芯片可以到达时,往和SF2相连链路中的所有可用链路发送可抵达信元,通知SF2通过这些链路可以到达本机架所有线卡。
SF2收到这些可抵达信元后,获知哪些链路可以到达相连机架的所有线卡,这些链路表示可以用于转发多播的链路,以此建立多播路由,如果某条链路可以到达相连机架的所有线卡,则认为该链路是多播可达链路,否则认为该链路是不可达链路。
对于SF1多播路由的建立,SF1的多播路由需要知道链路是否可以到达所有的线卡。各级SF2芯片,需要获知本芯片是否可以到达所有的机架的所有线卡,当可以时,往和SF1相连链路中所有可用链路发送可抵达信元,通知SF1通过这些链路可以到达所有的线卡。
SF1收到这些可抵达信元后,获知哪些链路可以到达所有的线卡,以此建立多播路由。如果某条链路可以到达所有线卡,则认为该链路可达链路,否则认为该链路是不可达链路。
具体地,通过逐级发送可抵达信元获取交换网各级网元芯片的多播路由信息的具体过程如下:
目的线卡向所有可用链路发送可抵达信元,通知SF3通过这些链路可以到达本线卡,最终SF3在本地建立起SF3多播路由表,SF3多播路由表的结构如图6所示,其索引为线卡编号,其数据位宽为SF3和线卡最大可能相连链路数,内容为当前可达线卡的链路的比特位映射。
之后,SF3依据SF3多播路由表,产生可抵达信元,首先通过处理器配置,通知SF3所在机架中当前存在的线卡数量;SF3遍历其多播路由表,将SF3多播路由表中每个表项与当前可用链路做按位与,如果其结果不为全0,则认为该条目所指线卡是可达的,遍历SF3多播路由表后可以得到本芯片可达线卡的总数,如果和配置值一样,则往和SF2相连链路发送可抵达信元,这些可抵达信元还需要携带机架编号,通知SF2通过本芯片可以到达本机架的所有线卡。
SF2接收到SF3的可抵达信元,即可以获知接收该可抵达信元的链路可以到达该链路相连机架的所有线卡,最终在SF2建立起SF2多播路由表,该SF2多播路由表结构如图7所示,其索引为机架编号,其数据位宽为SF2和SF3间最大可能相连链路数,内容为当前可达机架的链路的比特位映射。
SF2依据SF2多播路由表,产生可抵达信元,首先通过处理器配置,通知SF2本交换网中当前存在的机架数量;SF2遍历其路由表,将每个表项与当前可用链路做按位与,如果其结果不为全0,则认为该条目所指机架是可达的,遍历SF2多播路由表后可以得到本芯片可达机架的总数,如果和配置值一样,则往和SF1相连链路发送可抵达信元,这些可抵达信元,通知SF1通过本芯片可以到达所有机架。
SF1接收到SF2的可抵达信元,即可以获知接收该可抵达信元的链路可以到达所有机架,也可以到达系统中的所有线卡,最终在SF1可以获知哪些链路是可达链路,并可以此建立SF1多播路由表。
SF1依据该SF1的可达链路数量,向源线卡发送可抵达信元,当SF1有至少一条链路是可达链路且该链路当前可用,则认为通过本SF1可以发送多播信元给系统中所有线卡,即向和源线卡相连的可用链路发送可抵达信元。
最终可以在交换网络的各级建立起多播路由信息,具体流程如图8所示。
步骤S102,所述各级网元芯片根据建立的多播路由信息,逐级选择可达链路将来自所述源线卡的多播信元转发至所述目的线卡。
源线卡接收到外部输入的多播报文后,完成多播报文报文的分类、流量管理及信元切片等工作,得到多播信元,最终将多播信元发送给交换网。
交换网中各级网元芯片根据建立的多播路由信息,逐级选择可达链路将来自所述源线卡的多播信元转发至所述目的线卡。
对于SF3多播路由的建立,当SF3收到多播信元后,依据其目的线卡进行复制,最终将复制的副本依据其目的线卡发往不同的链路到达对应的目的线卡。
对于SF2多播路由的建立,当SF2收到多播信元且该多播信元需要发往对应机架时,则在往该机架的可达链路中选择一条发送。
对于SF1多播路由的建立,当SF1收到多播信元后,在这些可达链路中选择一条发送。
具体地,整个多播信元发送过程如下:
当存在多播报文时,源线卡接收到多播报文后,依据其规则将其切片为多播信元,在接收到SF1可抵达信元的链路中选择当前可用链路发送该多播信元。
多播信元到达SF1后,在所有可达链路中选择一条当前可用链路,将多播信元从该链路发送至SF2,多播信元在SF1不进行复制。
多播信元到达SF2后,SF2查询配置表或其他方式获得该多播信元需要发送到的各个机架编号,之后查询SF2多播路由表找到可以通往这些机架的可达链路,在这些可达链路中选择当前可用链路发送该多播信元。多播信元在SF2中将进行复制,复制的份数取决于需要发往的机架数量。
多播信元到达SF3后,查询配置表或其他方式获得该多播信元需要发送到的各个线卡编号,之后查询SF3路由表找到可以通往这些线卡的可达链路,在这些可达链路中选择当前可用链路发送该多播信元。多播信元在SF3中将进行复制,复制的份数取决于需要发往的线卡数量。
整个多播信元发送过程的流程如图9所示。
多播信元最终从交换网输出到目的线卡,在目的线卡处将信元重组为通信报文后输出。
如图8所示,以所述交换网包括SF1、SF2和SF3三级网元芯片为例,上述步骤S101包括:
步骤S1011,所述目的线卡向与SF3相连的所有可用链路发送可抵达信元,所述SF3在接收到所述目的线卡发送的可抵达信元后,在本地建立SF3多播路由表;
步骤S1012,所述SF3遍历SF3多播路由表,获取本芯片可到达所在机架的线卡总数,与所在机架中当前存在的线卡数量进行比较,获知本芯片是否可到达所在机架所有的线卡,若是,则SF3向与SF2相连的所有可用链路发送可抵达信元;
步骤S1013,所述SF2接收到SF3发送的可抵达信元后,获知到达相连机架的所有线卡的链路,在本地建立SF2多播路由表;
步骤S1014,所述SF2遍历SF2多播路由表,获取本芯片可到达机架总数,与所述交换网中当前存在的机架数量进行比较,获知本芯片是否可到达所有机架的所有线卡,若是,则SF2向与SF1相连的所有可用链路发送可抵达信元;
步骤S1015,SF1接收到SF2发送的可抵达信元后,获知到达所有线卡的链路,建立SF1多播路由表,并向与所述源线卡相连的可用链路发送可抵达信元。
如图9所示,上述步骤S102包括:
步骤S1021,所述源线卡在获取到多播信元后,在接收到SF1可抵达信元的链路中选择当前可用链路发送该多播信元至SF1;
步骤S1022,所述SF1依据所述SF1多播路由表,选择一条当前可用链路发送该多播信元至SF2;
步骤S1023,所述SF2获取所述多播信元需到达的各机架编号,并依据所述SF2多播路由表,选择当前可用链路发送所述多播信元的副本至SF3;
步骤S1024,所述SF3查询获取所述多播信元需到达的各线卡编号,并依据所述SF3多播路由表,选择当前可用链路发送所述多播信元的副本至目的线卡。
本实施例通过上述方案,从目的线卡至源线卡逐级传递可抵达信元获取多播路由信息,最终在交换网的各级网元芯片中,识别哪些链路可以到达所有可能的最终接入线卡,即在SF1中获知哪些链路可以到达所有的线卡,在SF2中获知哪些链路可以到达这些链路相连机架的所有线卡,多播转发时仅在这些链路中进行,与现有技术相比,可以及时感知交换网中的链路故障并迅速响应,避免丢失信元,大幅提高交换网对于多播信元转发的稳定性与可靠性,提高了交换网的鲁棒性,同时无需占用额外的缓存资源。
此外,本发明一实施例还提出一种交换网多播路由系统,包括:源线卡、目的线卡以及连接在源线卡和目的线卡之间具有多级网元芯片的交换网;其中:
所述目的线卡,用于经交换网向源线卡逐级传递可抵达信元,在交换网的各级网元芯片中建立多播路由信息;
源线卡,用于获取多播信元;
所述各级网元芯片,用于根据建立的多播路由信息,逐级选择可达链路将来自所述源线卡的多播信元转发至所述目的线卡。
其中,组成交换网的各个网元芯片依据其所处层次分为多个级别,如果运用在CLOS网络中,则包括SF1、SF2、SF3三级网元芯片,如果运用在其他多级交换网络中,可能为两级网元或者多级网元芯片,本实施例以三级CLOS网络举例说明。
如图5所示,本实施例中组成交换网的网元芯片依据其所处层次分为三个级别,简称为SF1、SF2、SF3。三级网络的SF1和SF2之间,SF2和SF3之间都使用冗余连接保证交换网的带宽和稳定性。
为了提高多播信元转发的可靠性,减少处理器资源占用,本实施例三级CLOS网络下,使用目的线卡-SF3-SF2-SF1-源线卡的方式建立,即以和多播信元数据流相反的方向,逐级向上传递携带路由信息的控制信元以建立交换网各级网元芯片的多播路由信息,并称这些控制信元为可抵达信元。
其中,对于SF3多播路由的建立,目的线卡向其所有可用链路发送可抵达信元,这样SF3收到可抵达信元后可以获知哪些链路对应可以到达哪些线卡,以此建立多播路由。
对于SF2多播路由的建立,SF2的多播路由需要知道链路是否可以到达相连机架的所有线卡。各级SF3芯片,需要获知本芯片是否可以到达本机架所有的线卡,当本芯片可以到达时,往和SF2相连链路中的所有可用链路发送可抵达信元,通知SF2通过这些链路可以到达本机架所有线卡。
SF2收到这些可抵达信元后,获知哪些链路可以到达相连机架的所有线卡,这些链路表示可以用于转发多播的链路,以此建立多播路由,如果某条链路可以到达相连机架的所有线卡,则认为该链路是多播可达链路,否则认为该链路是不可达链路。
对于SF1多播路由的建立,SF1的多播路由需要知道链路是否可以到达所有的线卡。各级SF2芯片,需要获知本芯片是否可以到达所有的机架的所有线卡,当可以时,往和SF1相连链路中所有可用链路发送可抵达信元,通知SF1通过这些链路可以到达所有的线卡。
SF1收到这些可抵达信元后,获知哪些链路可以到达所有的线卡,以此建立多播路由。如果某条链路可以到达所有线卡,则认为该链路可达链路,否则认为该链路是不可达链路。
具体地,通过逐级发送可抵达信元获取交换网各级网元芯片的多播路由信息的具体过程如下:
目的线卡向所有可用链路发送可抵达信元,通知SF3通过这些链路可以到达本线卡,最终SF3在本地建立起SF3多播路由表,SF3多播路由表的结构如图6所示,其索引为线卡编号,其数据位宽为SF3和线卡最大可能相连链路数,内容为当前可达线卡的链路的比特位映射。
之后,SF3依据SF3多播路由表,产生可抵达信元,首先通过处理器配置,通知SF3所在机架中当前存在的线卡数量;SF3遍历其多播路由表,将SF3多播路由表中每个表项与当前可用链路做按位与,如果其结果不为全0,则认为该条目所指线卡是可达的,遍历SF3多播路由表后可以得到本芯片可达线卡的总数,如果和配置值一样,则往和SF2相连链路发送可抵达信元,这些可抵达信元还需要携带机架编号,通知SF2通过本芯片可以到达本机架的所有线卡。
SF2接收到SF3的可抵达信元,即可以获知接收该可抵达信元的链路可以到达该链路相连机架的所有线卡,最终在SF2建立起SF2多播路由表,该SF2多播路由表结构如图7所示,其索引为机架编号,其数据位宽为SF2和SF3间最大可能相连链路数,内容为当前可达机架的链路的比特位映射。
SF2依据SF2多播路由表,产生可抵达信元,首先通过处理器配置,通知SF2本交换网中当前存在的机架数量;SF2遍历其路由表,将每个表项与当前可用链路做按位与,如果其结果不为全0,则认为该条目所指机架是可达的,遍历SF2多播路由表后可以得到本芯片可达机架的总数,如果和配置值一样,则往和SF1相连链路发送可抵达信元,这些可抵达信元,通知SF1通过本芯片可以到达所有机架。
SF1接收到SF2的可抵达信元,即可以获知接收该可抵达信元的链路可以到达所有机架,也可以到达系统中的所有线卡,最终在SF1可以获知哪些链路是可达链路,并可以此建立SF1多播路由表。
SF1依据该SF1的可达链路数量,向源线卡发送可抵达信元,当SF1有至少一条链路是可达链路且该链路当前可用,则认为通过本SF1可以发送多播信元给系统中所有线卡,即向和源线卡相连的可用链路发送可抵达信元。
源线卡接收到外部输入的多播报文后,完成多播报文报文的分类、流量管理及信元切片等工作,得到多播信元,最终将多播信元发送给交换网。
交换网中各级网元芯片根据建立的多播路由信息,逐级选择可达链路将来自所述源线卡的多播信元转发至所述目的线卡。
对于SF3多播路由的建立,当SF3收到多播信元后,依据其目的线卡进行复制,最终将复制的副本依据其目的线卡发往不同的链路到达对应的目的线卡。
对于SF2多播路由的建立,当SF2收到多播信元且该多播信元需要发往对应机架时,则在往该机架的可达链路中选择一条发送。
对于SF1多播路由的建立,当SF1收到多播信元后,在这些可达链路中选择一条发送。
具体地,整个多播信元发送过程如下:
当存在多播报文时,源线卡接收到多播报文后,依据其规则将其切片为多播信元,在接收到SF1可抵达信元的链路中选择当前可用链路发送该多播信元。
多播信元到达SF1后,在所有可达链路中选择一条当前可用链路,将多播信元从该链路发送至SF2,多播信元在SF1不进行复制。
多播信元到达SF2后,SF2查询配置表或其他方式获得该多播信元需要发送到的各个机架编号,之后查询SF2多播路由表找到可以通往这些机架的可达链路,在这些可达链路中选择当前可用链路发送该多播信元。多播信元在SF2中将进行复制,复制的份数取决于需要发往的机架数量。
多播信元到达SF3后,查询配置表或其他方式获得该多播信元需要发送到的各个线卡编号,之后查询SF3路由表找到可以通往这些线卡的可达链路,在这些可达链路中选择当前可用链路发送该多播信元。多播信元在SF3中将进行复制,复制的份数取决于需要发往的线卡数量。
本发明实施例交换网多播路由方法及系统,通过从目的线卡至源线卡逐级传递可抵达信元获取多播路由信息,最终在交换网的各级网元芯片中,识别哪些链路可以到达所有可能的最终接入线卡,即在SF1中获知哪些链路可以到达所有的线卡,在SF2中获知哪些链路可以到达这些链路相连机架的所有线卡,多播转发时仅在这些链路中进行,与现有技术相比,可以及时感知交换网中的链路故障并迅速响应,避免丢失信元,大幅提高交换网对于多播信元转发的稳定性与可靠性,提高了交换网的鲁棒性,同时无需占用额外的缓存资源。
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (8)

1.一种交换网多播路由方法,其特征在于,包括:
目的线卡经交换网向源线卡逐级传递可抵达信元,在交换网的各级网元芯片中建立多播路由信息;
所述各级网元芯片根据建立的多播路由信息,逐级选择可达链路将来自所述源线卡的多播信元转发至所述目的线卡;
其中,所述交换网包括SF1、SF2和SF3三级网元芯片,所述目的线卡经交换网向源线卡逐级传递可抵达信元,在交换网的各级网元芯片中建立多播路由信息的步骤包括:
所述目的线卡向与SF3相连的所有可用链路发送可抵达信元,所述SF3在接收到所述目的线卡发送的可抵达信元后,在本地建立SF3多播路由表;
所述SF3遍历SF3多播路由表,获取本芯片可到达所在机架的线卡总数,与所在机架中当前存在的线卡数量进行比较,获知本芯片是否可到达所在机架所有的线卡,若是,则SF3向与SF2相连的所有可用链路发送可抵达信元;
所述SF2接收到SF3发送的可抵达信元后,获知到达相连机架所有线卡的链路,在本地建立SF2多播路由表;
所述SF2遍历SF2多播路由表,获取本芯片可到达机架总数,与所述交换网中当前存在的机架数量进行比较,获知本芯片是否可到达所有机架的所有线卡,若是,则SF2向与SF1相连的所有可用链路发送可抵达信元;
SF1接收到SF2发送的可抵达信元后,获知到达所有线卡的链路,建立SF1多播路由表,并向与所述源线卡相连的可用链路发送可抵达信元。
2.根据权利要求1所述的方法,其特征在于,所述各级网元芯片根据建立的多播路由信息,逐级选择可达链路将来自所述源线卡的多播信元转发至所述目的线卡的步骤包括:
所述源线卡在获取到多播信元后,在接收到SF1可抵达信元的链路中选择当前可用链路发送该多播信元至SF1;
所述SF1依据所述SF1多播路由表,选择一条当前可用链路发送该多播信元至SF2;
所述SF2获取所述多播信元需到达的各机架编号,并依据所述SF2多播路由表,选择当前可用链路发送所述多播信元的副本至SF3;
所述SF3查询获取所述多播信元需到达的各线卡编号,并依据所述SF3多播路由表,选择当前可用链路发送所述多播信元的副本至目的线卡。
3.根据权利要求2所述的方法,其特征在于,所述源线卡获取多播信元的步骤包括:
所述源线卡在接收到多播报文后,将所述多播报文按照预定规则切片为多播信元。
4.根据权利要求1、2或3所述的方法,其特征在于,所述SF3多播路由表的索引为线卡编号,其数据位宽为SF3和线卡最大可能相连链路数,内容为当前可达线卡的链路的比特位映射;所述SF2多播路由表的索引为机架编号,其数据位宽为SF2和SF3间最大可能相连链路数,内容为当前可达机架的链路的比特位映射。
5.一种交换网多播路由系统,其特征在于,包括:源线卡、目的线卡以及连接在源线卡和目的线卡之间具有多级网元芯片的交换网;其中:
所述目的线卡,用于经交换网向源线卡逐级传递可抵达信元,在交换网的各级网元芯片中建立多播路由信息;
源线卡,用于获取多播信元;
所述各级网元芯片,用于根据建立的多播路由信息,逐级选择可达链路将来自所述源线卡的多播信元转发至所述目的线卡;
其中,所述交换网包括SF1、SF2和SF3三级网元芯片,
所述目的线卡,还用于向与SF3相连的所有可用链路发送可抵达信元;
所述SF3,用于在接收到所述目的线卡发送的可抵达信元后,在本地建立SF3多播路由表;遍历SF3多播路由表,获取本芯片可到达所在机架的线卡总数,与所在机架中当前存在的线卡数量进行比较,获知本芯片是否可到达所在机架所有的线卡,若是,则向与SF2相连的所有可用链路发送可抵达信元;
所述SF2,用于接收到SF3发送的可抵达信元后,获知到达相连机架所有线卡的链路,在本地建立SF2多播路由表;遍历SF2多播路由表,获取本芯片可到达机架总数,与所述交换网中当前存在的机架数量进行比较,获知本芯片是否可到达所有机架的所有线卡,若是,则向与SF1相连的所有可用链路发送可抵达信元;
SF1,用于接收到SF2发送的可抵达信元后,获知到达所有线卡的链路,建立SF1多播路由表,并向与所述源线卡相连的可用链路发送可抵达信元。
6.根据权利要求5所述的系统,其特征在于,
所述源线卡,还用于在获取到多播信元后,在接收到SF1可抵达信元的链路中选择当前可用链路发送该多播信元至SF1;
所述SF1,还用于依据所述SF1多播路由表,选择一条当前可用链路发送该多播信元至SF2;
所述SF2,还用于获取所述多播信元需到达的各机架编号,并依据所述SF2多播路由表,选择当前可用链路发送所述多播信元的副本至SF3;
所述SF3,还用于查询获取所述多播信元需到达的各线卡编号,并依据所述SF3多播路由表,选择当前可用链路发送所述多播信元的副本至目的线卡。
7.根据权利要求6所述的系统,其特征在于,
所述源线卡,还用于在接收到多播报文后,将所述多播报文按照预定规则切片为多播信元。
8.根据权利要求5、6或7所述的系统,其特征在于,所述SF3多播路由表的索引为线卡编号,其数据位宽为SF3和线卡最大可能相连链路数,内容为当前可达线卡的链路的比特位映射;所述SF2多播路由表的索引为机架编号,其数据位宽为SF2和SF3间最大可能相连链路数,内容为当前可达机架的链路的比特位映射。
CN201310223512.XA 2013-06-06 2013-06-06 交换网多播路由方法及系统 Active CN104243323B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310223512.XA CN104243323B (zh) 2013-06-06 2013-06-06 交换网多播路由方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310223512.XA CN104243323B (zh) 2013-06-06 2013-06-06 交换网多播路由方法及系统

Publications (2)

Publication Number Publication Date
CN104243323A CN104243323A (zh) 2014-12-24
CN104243323B true CN104243323B (zh) 2019-07-09

Family

ID=52230705

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310223512.XA Active CN104243323B (zh) 2013-06-06 2013-06-06 交换网多播路由方法及系统

Country Status (1)

Country Link
CN (1) CN104243323B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106302232A (zh) * 2015-05-25 2017-01-04 深圳市中兴微电子技术有限公司 一种缓存管理方法及本端设备
CN106470161A (zh) * 2015-08-18 2017-03-01 深圳市中兴微电子技术有限公司 一种交换网组播路由的实现方法和装置
CN109120539B (zh) * 2017-06-22 2022-05-13 深圳市中兴微电子技术有限公司 一种实现数据传输处理的方法及装置
US10873473B2 (en) 2017-07-17 2020-12-22 Nicira, Inc. Distributed multicast logical router
EP3656099B1 (en) * 2017-07-17 2022-12-28 Nicira Inc. Distributed multicast logical router
US11895010B2 (en) 2021-06-29 2024-02-06 VMware LLC Active-active support of multicast streams in virtualized environment
US11595296B2 (en) 2021-06-29 2023-02-28 Vmware, Inc. Active-active support of multicast streams in virtualized environment
CN113595937B (zh) * 2021-09-27 2021-12-31 新华三技术有限公司 一种报文发送方法、装置及交换网芯片
US11784926B2 (en) 2021-11-22 2023-10-10 Vmware, Inc. Optimized processing of multicast data messages in a host

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5450074A (en) * 1991-02-27 1995-09-12 Nec Corporation Method for setting branch routes in a three-stage cross-connect switch system
US5276425A (en) * 1991-11-19 1994-01-04 At&T Bell Laboratories Method for broadcasting in Clos switching networks by limiting the number of point-to-multipoint connections
US7596135B1 (en) * 2003-05-23 2009-09-29 Cisco Technology, Inc. Method and apparatus for mixed-cast routing through a Clos-like network
CN101119503B (zh) * 2007-09-10 2010-05-19 华为技术有限公司 一种clos交换网中选择路由的方法及路由选择装置
CN101179453B (zh) * 2007-12-06 2010-09-29 华为技术有限公司 一种链路状态检测方法和系统
CN101815028B (zh) * 2009-02-19 2012-11-21 华为技术有限公司 组播路由跟踪的方法、系统和路由设备
CN101707556B (zh) * 2009-11-20 2011-12-07 华为技术有限公司 一种交换网中的数据调度方法、设备和系统
CN102111327B (zh) * 2009-12-29 2014-11-05 中兴通讯股份有限公司 信元调度方法和系统
CN105099959A (zh) * 2010-01-29 2015-11-25 华为技术有限公司 一种多播包的转发方法、设备和系统
CN102238072B (zh) * 2010-05-06 2015-03-25 中兴通讯股份有限公司 一种动态选择路由的方法及clos交换网系统
CN101924701B (zh) * 2010-08-26 2013-04-17 北京星网锐捷网络技术有限公司 组播转发路径的建立方法及路由设备
CN102271065B (zh) * 2011-08-10 2013-11-06 华为技术有限公司 二层网络中组播转发路径的检测方法及交换设备

Also Published As

Publication number Publication date
CN104243323A (zh) 2014-12-24

Similar Documents

Publication Publication Date Title
CN104243323B (zh) 交换网多播路由方法及系统
CN102282810B (zh) 负载平衡
Chen et al. Survey on routing in data centers: insights and future directions
CN105610710B (zh) 交换结构系统上部署的标准协议验证机制的方法和装置
EP3496346B1 (en) Data message forwarding method and apparatus
CN104429038B (zh) 路由转发方法、装置及系统
US9058433B2 (en) Advanced extensible interface bus and corresponding data transmission method
CN103703455A (zh) 具有链路束的逆向路径转发查找
CN104869081B (zh) 报文交换处理方法、业务板及网络交换系统
CN105991445A (zh) 链路聚合组的设置方法和装置
CN102238072A (zh) 一种动态选择路由的方法及clos交换网系统
CN105284150B (zh) 业务分流方法、控制网元、网关路由器及用户面实体
CN104683242B (zh) 一种二维片上网络的拓扑结构以及路由方法
CN106899503A (zh) 一种数据中心网络的路由选择方法及网络管理器
CN103222236A (zh) 网络中继系统和网络中继装置
CN104521188B (zh) 一种建立光旁路的方法、装置和系统
CN105915467A (zh) 一种面向软件定义的数据中心网络流量均衡方法及装置
CN108234310A (zh) 多层次互连网络、自适应路由方法及路由设备
CN108964745A (zh) 数据处理方法、网络架构、电子设备及可读存储介质
CN102111327A (zh) 信元调度方法和系统
CN103609063B (zh) 协议无关组播最后一跳路由器发现的方法及设备
CN102594650B (zh) 处理多播报文的方法和交换接入装置
CN103457855B (zh) 无类域间路由表建立、以及报文转发的方法和装置
CN117097661B (zh) 数据包的转发方法及装置、存储介质、电子设备
CN102123080A (zh) 数据转发装置和线卡板以及数据转发方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150930

Address after: 518057 Nanshan District Guangdong high tech Industrial Park, South Road, science and technology, ZTE building, Ministry of Justice

Applicant after: ZTE Corp.

Applicant after: SANECHIPS TECHNOLOGY Co.,Ltd.

Address before: 518057 Nanshan District Guangdong high tech Industrial Park, South Road, science and technology, ZTE building, Ministry of Justice

Applicant before: ZTE Corp.

C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20221209

Address after: 518055 Zhongxing Industrial Park, Liuxian Avenue, Xili street, Nanshan District, Shenzhen City, Guangdong Province

Patentee after: SANECHIPS TECHNOLOGY Co.,Ltd.

Address before: 518057 Ministry of justice, Zhongxing building, South Science and technology road, Nanshan District hi tech Industrial Park, Shenzhen, Guangdong

Patentee before: ZTE Corp.

Patentee before: SANECHIPS TECHNOLOGY Co.,Ltd.

TR01 Transfer of patent right