CN105337883A - 一种支持多业务的网络交换装置及其实现方法 - Google Patents
一种支持多业务的网络交换装置及其实现方法 Download PDFInfo
- Publication number
- CN105337883A CN105337883A CN201510514292.5A CN201510514292A CN105337883A CN 105337883 A CN105337883 A CN 105337883A CN 201510514292 A CN201510514292 A CN 201510514292A CN 105337883 A CN105337883 A CN 105337883A
- Authority
- CN
- China
- Prior art keywords
- cell
- packet
- output
- sequence number
- bag
- 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.)
- Granted
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种支持多业务的基于输出单元包重组与排序的网络交换装置及其实现方法。该交换装置采用多级CLOS交换架构,输入单元、输出单元和交换单元均带有缓存。该交换装置能够处理多业务流量,根据业务特性来进行交换;在拥塞场景下能够通过输出单元产生快速流控作用到输入端减小输出端拥塞压力,使得中间级的拥塞程度小;在链路故障场景下能够通过负载均衡方案减小故障平面的输入流量,缓解交换单元的拥塞情况;采用输出单元包排序的方法,减小交换单元的设计复杂度,通过输入端单元的数据包内信元负载均衡方法使得信元之间的时间差小,从而减小了数据包的时延以及输出端排序与重组的缓存大小。
Description
技术领域
本发明属于网络交换装置领域,具体涉及一种网络中的流量控制和流量调度、包内流量均衡以及包重组与排序的方法。
背景技术
随着网络业务量的爆炸式增长,对交换系统的转发能力和规模的需求也在急剧增长,从而带动现代交换技术的迅猛发展,优良的交换架构要求更高的性能、高扩展性、高可靠性以及良好的经济实用性。
目前采用多级交换网络拓扑结构可以满足交换结构在性能及其可扩展性上的要求,并通过采用多平面高速并行处理的方式来增加有效带宽从而满足较高的数据处理速率。最常用的三级CLOS交换系统的组成包括:输入单元、中间交换单元和输出单元。
输入单元采用输入级缓存,针对交换网络的不同输出端口构建不同的虚拟输出队列,既可以保证到达不同输出端口和不同优先级的分组能够公平利用交换资源,又可以暂存当前时隙无法传送到其目的输出端口的分组,完成业务信元缓存、流量整形、避免拥塞等功能。
中间交换单元的交换能力很大程度上决定着交换系统的整体性能,如吞吐量、交换时延、抖动和分组丢失率等。交换单元为多个输入数据流提供缓存和链路带宽等共享资源,以降低独占资源成本并提高拓展性。但是多个输入流为竞争资源会形成冲突。共享的资源需要调度和流控机制协调各个输入流,使得交换单元尽量满足不同业务的要求,并充分利用缓存资源。
输出单元模块主要完成流量调度和包重组与排序功能。流量调度通过授权控制接收到的流量大小。需要包的排序和重组,是因为同一个业务流的信元通过不同平面不同路径到达目的节点,信元可能会因为经过不同的路径引入不同的延时,这在接收端将引起信元乱序和包乱序。信元乱序和包乱序将影响提供的服务质量。为了避免这种现象,需要对乱序的信元和包进行重排序。交换网络中的信元重排序模块的加入对于交换网络性能会有影响。重排序模块的资源消耗也成了一个需要权衡的因素。信元重排有两种方式:输出端排序和中间排序。
BroadcomCorporation一款芯片中就采用了中间排序方案。在输入端给信元打上时间戳,在中间交换单元中根据时间戳排序使得平面内的信元是保序的,在输出端模块中根据时间戳使得从接收FIFO中选出的信元是保序的。这种方案的优点是减小输出端的缓存大小和降低输出端重组复杂度。缺点是增加了中间单元的缓存大小和复杂度,且每个输入端节点之间的时间戳同步要求实现难度大。
发明内容
针对上述存在问题或不足,本发明提供了一种支持多业务的网络交换装置及其实现方法,通过设计输出单元流量均衡、输入单元包内流量均衡以及中间交换单元流量调度方法使得在满足吞吐量和时延要求的情况下只需要很小的中间交换单元级的缓存和适中的输出端缓存,无需不同输入端时间戳同步,具有较低的实现成本、可拓展性。
本发明的网络交换装置采用典型的三级CLOS架构,包括输入单元、中间交换单元和输出单元。三级对称CLOS网络C(n,m,r)的输入单元共有r个n*m交换模块,中间交换单元有m个r*r交换模块,输出单元有r个m*n输出模块。网络共有N=n*r个输入和输出端口,每个中间交换模块与每个输入和输出模块至少有1条链路连接。各个输入模块和各个输出模块之间不存在直接连接。输入模块实现数据包流量的申请、数据包的切割以及路由和包内负载均衡。交换模块实现路由、链路级负载均衡和信元调度的功能。输出模块实现流量控制、信元的排序与数据包的重组。每个中间级交换单元看作一个交换平面,它可以扩展成三级交换结构,由第一级交换单元,第二级交换单元和第三级交换单元构成。
该网络交换装置的实现方法,包括以下具体步骤:
步骤①:输入单元数据包流量的申请。
输入单元的每个输入模块缓存针对交换网络的不同输出端口构建不同的虚拟输出队列,为每个队列发送一个队列状态信元到输出端口申请流量。申请流量的大小采用更新机制。队列状态信元的产生分周期性和非周期性。当新增的数据包流量超过两个最大包长发送非周期性队列状态信元;周期的设定是根据交换架构的规模动态变化,当周期性时钟定时器触发时,产生周期性队列状态信元。
步骤②:输出单元的流量控制。
当多个输入模块发送流量申请到同一个输出模块时,输出模块需要根据申请流量的大小做好负载均衡。当接收数据信元的存储缓存超过最大允许接收缓存的0.75倍时,输出模块将产生快速流控通过控制信元直接作用到所有输入模块,输入模块对应的虚拟队列则不会再将数据包进行切割和发送。。
步骤③:数据包的切割。
接收到输出模块的授权之后将得到授权的数据包切割成信元。
步骤④:路由和包内负载均衡。
一个数据包可以切割成多个数据信元,接收端重组采用与期望包序号(期望包序号是指输出模块期望重组的来自输入模块数据包的包序号)比较的方式,并尽量保证发送到交换单元的数据包的包序号是连续的。根据路由结果和数据包切割状态来决定是否需要更新数据包的包序号。路由成功且数据包切割的所有信元都已经得到发送时,更新该业务数据包对应的包序号。数据包的第一个信元路由成功,其他信元路由失败时,更新对应的包序号。数据包的所有信元都路由失败时,则不更新该包序号。
步骤⑤:中间交换单元的路由和负载均衡。从链路接收到数据信元后查询路由表,采用基于链路的负载均衡通过轮询每个链路来选择最终的输出链路,将流量平摊到各个输出链路中去。
步骤⑥:中间交换单元的信元调度。将信元描述符根据信元类型放入相应描述符队列中,并根据业务的优先级顺序调度信元。信元调度模块由K*K个VOQ(virtualoutputqueue虚拟输出队列)描述符队列、2K个组播packet描述符队列、K个组播OTN(opticaltransportnetwork光传送网)描述符队列、一个OTN组播仲裁器、一个组播packet仲裁器、K个输入端仲裁器、K个输出端仲裁器和1个输出控制模块组成组成。调度模块的具体执行过程如下:
(1)业务类分,将从输入缓存中传来的描述符根据业务类型发送对应的描述队列中。组播OTN放入OTN组播描述符VIQ(virtualinputqueue虚拟输入队列)中,单播packet和单播OTN放入单播描述符队列中。组播packet根据自身优先级放入组播VIQ队列中。业务的优先级划分主要依据业务对时延的要求,OTN业务对时延要求最高,优先级最高,其次是单播packet,最后是组播packet业务。
(2)组播OTN的调度,通过OTN仲裁器选出一个输入请求,并将请求结果发送到输出控制模块和K个输出仲裁器。由于OTN组播的优先级最高,所以采用一次扇出的方式。具体来说,当OTN组播的输出端口中有几个暂时处于忙状态时,会采取如下几个过程:等待所有目的端口空闲;目的端口中,暂时空闲的端口不再参与调度;停止其他OTN组播的调度。
(3)单播输出端调度,K输出端仲裁器根据当前的端口忙闲情况,各自调度,将输入请求发送到输入端仲裁器。
(4)单播输入端调度,K输入端口仲裁器根据当前的端口忙闲情况,各自调度,将授权结果发到输出模块。
(5)组播packet调度,根据组播高低优先级仲裁器,选择一个组播请求,并将请求结果发送到输出控制。
由于packet组播的优先级最低,很难同时保证多个输出端口都空闲,所以采用了多次扇出的方式。具体来说,当packet组播的输出端口中有几个端口处于忙状态。会做如下处理:根据当前空闲的链路情况生成授权;等待剩余目的端口空闲。停止其他packet组播的调度。
(6)将调度结果发送到ram模块。
步骤⑦:中间交换单元的响应授权。根据信元调度结果,从ram中找到对应的信元,之后通过crossbar将信元发送到输出ram中。
步骤⑧:包重组与排序。FOP的重组:设置期望包序号,完整接收的数据包包序号大于期望值时,继续等待,反之丢弃。当与期望值相等时进行重组。包重组与排序具体过程如下:
(1)FOP接收来自网络的数据信元,提取该信元的源端口,包优先级和包序号等字段。
(2)根据源端口号,包优先级和包序号查询已有的描述符信息,如果查询到该描述符信息,就更新描述符信息,如果不存在,且包序号小于期望包序号,就丢弃该信元,如果不存在描述符且包序号大于包期望值,则创建新的描述符信息。
(3)创建好描述符信息后,设置等待包内所有信元到达输出模块时,最小信元时延与最大信元时延的最大时间间隔MAX_CELL_DELAY,如果在这段时间内数据包没有完整接收,就认为信元丢弃,丢弃该包。
(4)如果在MAX_CELL_DELAY时间内,信元已经完整接收,检查该数据包的包序号是否与希望的包序号相同,如果相同进行packet重组。如果不同,则设置等待重组的最大时延MAX_CELL_DELAY。
(5)如果在这段时间内,该描述符的包序号与期望包序号相等,则重组该数据包,并更新期望包序号。如果超过时间门限,该描述符对应的包序号小于期望包序号,就丢弃该信元,如果描述符对应的包序号大于期望包序号,就重组该数据包,同时更新期望包序号。
本发明的交换装置,中间交换单元的拥塞程度越小交换网络的性能就越好,因此输出单元在授权时需要使流量错开,从而减小中间交换单元的冲突和竞争,使得输出单元只需要较小的缓存就能够满足需求。另外本装置使用了快速流控机制,能快速缓解输出模块的压力,同时不会影响通过中间交换单元发往其他输出模块的信元,节点与节点之间的独立性好。
综上所述,本发明的有益效果是:节点与节点之间的独立性很强,没有对时间戳同步的要求,中间交换单元缓存小、复杂度低、位宽小以及实现代价小,中间交换单元拥塞程度小。
附图说明
图1是整体交换架构图;
图2是输入单元处理流程图;
图3是中间交换单元处理流程图;
图4是信元调度模块处理流程图;
图5是输出单元模块说明图;
图6是信元重组处理流程图;
图7是本发明实施例中三级CLOS的结构示意图;
图8是本发明实施例中五级CLOS的结构示意图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明进一步详细说明。
图7所示为本发明实施例的三级CLOS的结构示意图,该交换系统有128个输入模块(FIP)、36个中间交换模块(FM)和128个输出模块(FOP)构成。中间交换模块包含128个输入端口和128个输出端口,即为128*128的交换结构。需要进一步指出的是,上述交换结构仅是本发明的一种优选实施例,在实际应用中,输入模块、中间交换模块和输出模块的数量均可以根据实际情况进行变化,这样的变化同样属于本发明的保护范围。
下面结合实施例中的附图,对本发明实施例中的技术方案详细描述。
步骤①:输入单元数据包流量的申请。输入单元的每个输入模块缓存针对交换网络的不同输出端口构建不同的虚拟输出队列,为每个队列发送一个队列状态信元到输出端口申请流量。申请流量的大小采用更新机制。队列状态信元的产生分周期性和非周期性。当新增的数据包流量超过两个最大包长(当前网络中,最大包长一般为9600Byte)发送非周期性队列状态信元;当周期性时钟定时器触发时,产生周期性队列状态信元。
步骤②:输出单元的流量控制。在交换网络中,中间交换单元的拥塞程度越小交换网络的性能就越好,因此输出单元在授权时需要使流量错开,从而减小中间交换单元的冲突和竞争,使得中间交换单元只需要较小的缓存就能够满足需求。当多个输入模块发送流量申请到同一个输出模块时,输出模块需要根据申请流量的大小做好负载均衡。当接收信元后数据包缓存大小超过最大允许接收缓存的0.75倍(最大接收缓存为20Mb)时,输出模块还会产生快速流控通过控制信元直接作用到所有输入模块,输入模块对应的虚拟队列则不会再将数据包进行切割和发送,能快速缓解输出模块的压力,同时通过中间交换单元发往其他输出模块的信元不会造成影响,节点与节点之间的独立性很强。
步骤③:数据包的切割。接收到输出模块的授权之后将得到授权的数据包切割成信元。
步骤④:路由和包内负载均衡。一个数据包可以切割成多个数据信元,根据路由结果和数据包切割状态来决定是否需要更新数据包的包序号。如果路由成功且数据包切割的所有信元都已经得到发送,则更新该业务数据包对应的包序号。如果数据包的第一个信元路由成功,其他信元路由失败,也更新对应的包序号。如数据包的所有信元都路由失败,就不更新该包序号。
步骤⑤:中间交换单元的路由和负载均衡。从链路接收到数据信元后查询路由表,采用基于链路的负载均衡通过轮询每个链路来选择最终的输出链路,将流量平摊到各个输出链路中去。
步骤⑥:中间交换单元的信元调度。将信元描述符根据信元类型放入相应描述符队列中。根据业务的优先级顺序调度信元。信元调度模块由128*128个VOQ描述符队列、256个组播packet描述符队列、128个组播OTN(描述符队列、一个OTN组播仲裁器、一个组播packet仲裁器、128个输入端仲裁器、128个输出端仲裁器和1个输出控制模块组成组成。调度模块的具体执行过程如图4所示:
(1)业务类分,将从输入缓存中传来的描述符根据业务类型发送对应的描述队列中。组播OTN放入OTN组播描述符VIQ中,单播packet和单播OTN放入单播描述符队列中。组播packet根据自身优先级放入组播VIQ队列中。
(2)组播OTN的调度,通过OTN仲裁器选出一个输入请求。并将请求结果发送到输出控制模块和128个输出仲裁器。由于OTN组播的优先级最高,所以采用一次扇出的方式。具体来说,当OTN组播的输出端口中有几个暂时处于忙状态时,会采取如下几个过程:等待所有目的端口空闲;目的端口中,暂时空闲的端口不再参与调度;停止其他OTN组播的调度。
(3)单播输出端调度,128输出端仲裁器根据当前的端口忙闲情况,各自调度,将输入请求发送到输入端仲裁器。
(4)单播输入端调度,128输入端口仲裁器根据当前的端口忙闲情况,各自调度,将授权结果发到输出模块。
(5)组播packet调度,根据组播高低优先级仲裁器,选择一个组播请求,并将请求结果发送到输出控制。
由于packet组播的优先级最低,很难同时保证多个输出端口都空闲,所以采用了多次扇出的方式。具体来说,当packet组播的输出端口中有几个端口处于忙状态。会做如下处理:根据当前空闲的链路情况生成授权;等待剩余目的端口空闲。停止其他packet组播的调度。
(6)将调度结果发送到ram模块。
步骤⑦:中间交换单元的响应授权。根据信元调度结果,从ram中找到对应的信元,之后通过crossbar将信元发送到输出ram中。
步骤⑧:包重组与排序。FOP重组的核心思路:设置期望包序号,如果完整接收的数据包包序号大于期望值,就会继续等待,如果小于期望值就会被丢弃。只有与期望值相等是才能进行重组。包重组与排序具体过程如图7下:
(1)FOP接收来自网络的数据信元,提取该信元的源端口,包优先级和包序号等字段。
(2)根据源端口号,包优先级和包序号查询已有的描述符信息,如果查询到该描述符信息,就更新描述符信息,如果不存在,且包序号小于期望包序号,就丢弃该信元,如果不存在描述符且包序号大于包期望值,则创建新的描述符信息。
(3)创建好描述符信息后,设置等待包内所有信元到达输出模块时,最小信元时延与最大信元时延的最大时间间隔MAX_CELL_DELAY,将MAX_CELL_DEALY设定为10us,当然这个值是可变的,如果在这段时间内数据包没有完整接收,就认为信元丢弃,丢弃该包。
(4)如果在MAX_CELL_DELAY时间内,信元已经完整接收,检查该数据包的包序号是否与希望的包序号相同,如果相同进行packet重组。如果不同,则设置等待重组的最大时延MAX_CELL_DELAY。
(5)如果在这段时间内,该描述符的包序号与期望包序号相等,则重组该数据包,并更新期望包序号。如果超过时间门限,该描述符对应的包序号小于期望包序号,就丢弃该信元,如果描述符对应的包序号大于期望包序号,就重组该数据包,同时更新期望包序号。
图8所示为本发明实施例的五级CLOS的结构示意图,该交换系统有2048个输入模块(FIP)、36个交换平面组成和2048个输出模块(FOP)构成。每个交换平面也可以看成是一个三级交换结构。它由以下三个部分组成:第一级交换模块FM1,第二级交换模块FM2以及第三级交换模块FM3。该交换系统中第一级交换模块FM1的数目为1152个,第二级交换模块FM2的数目为576个,第三级交换模块的数目为1152个。三种交换模块的内部结构相似,只是端口数目不同,第一级交换模块和第三级交换模块包含了64个输入端口和64是个输出端口,即为64*64交换结构,而第二级交换模块包含128个输入端口和128个输出端口,即为128*128的交换结构。需要进一步指出的是,上述交换结构仅是本发明的一种优选实施例,在实际应用中,输入模块、中间交换模块和输出模块的数量均可以根据实际情况进行变化,这样的变化同样属于本发明的保护范围。
下面结合实施例中的附图,对本发明实施例中的技术方案详细描述。
步骤①:输入单元数据包流量的申请。输入单元的每个输入模块缓存针对交换网络的不同输出端口构建不同的虚拟输出队列,为每个队列发送一个队列状态信元到输出端口申请流量。申请流量的大小采用更新机制。队列状态信元的产生分周期性和非周期性。当新增的数据包流量超过两个最大包长(当前网络中,最大包长一般为9600Byte)发送非周期性队列状态信元;当周期性时钟定时器触发时,产生周期性队列状态信元。
步骤②:输出单元的流量控制。在交换网络中,中间交换单元的拥塞程度越小交换网络的性能就越好,因此输出单元在授权时需要使流量错开,从而减小中间交换单元的冲突和竞争,使得中间交换单元只需要较小的缓存就能够满足需求。当多个输入模块发送流量申请到同一个输出模块时,输出模块需要根据申请流量的大小做好负载均衡。当接收信元后数据包缓存大小超过最大允许接收缓存的0.75倍(最大接收缓存为20Mb)时,输出模块还会产生快速流控通过控制信元直接作用到所有输入模块,输入模块对应的虚拟队列则不会再将数据包进行切割和发送,能快速缓解输出模块的压力,同时通过中间交换单元发往其他输出模块的信元不会造成影响,节点与节点之间的独立性很强。
步骤③:数据包的切割。接收到输出模块的授权之后将得到授权的数据包切割成信元。
步骤④:路由和包内负载均衡。一个数据包可以切割成多个数据信元,根据路由结果和数据包切割状态来决定是否需要更新数据包的包序号。如果路由成功且数据包切割的所有信元都已经得到发送,则更新该业务数据包对应的包序号。如果数据包的第一个信元路由成功,其他信元路由失败,也更新对应的包序号。如数据包的所有信元都路由失败,就不更新该包序号。
步骤⑤:中间交换单元的路由和负载均衡。从链路接收到数据信元后查询路由表,采用基于链路的负载均衡通过轮询每个链路来选择最终的输出链路,将流量平摊到各个输出链路中去。
步骤⑥:中间交换单元的信元调度。将信元描述符根据信元类型放入相应描述符队列中。根据业务的优先级顺序调度信元。第一级和第三级交换模块的信元调度模块由64*64个VOQ描述符队列、128个组播packet描述符队列、64个组播OTN描述符队列、一个OTN组播仲裁器、一个组播packet仲裁器、64个输入端仲裁器、64个输出端仲裁器和1个输出控制模块组成组成。第二级交换模块的信元调度模块128*128个VOQ描述符队列、256个组播packet描述符队列、128个组播OTN描述符队列、一个OTN组播仲裁器、一个组播packet仲裁器128个输入端仲裁器、128个输出端仲裁器和1个输出控制模块组成组成。中间交换模块的调度模块的具体执行过程如图4所示:
(1)业务类分,将从输入缓存中传来的描述符根据业务类型发送对应的描述队列中。组播OTN放入OTN组播描述符VIQ中,单播packet和单播OTN放入单播描述符队列中。组播packet根据自身优先级放入组播VIQ队列中。
(2)组播OTN的调度,通过OTN仲裁器选出一个输入请求。并将请求结果发送到输出控制模块和所有的输出仲裁器。由于OTN组播的优先级最高,所以采用一次扇出的方式。具体来说,当OTN组播的输出端口中有几个暂时处于忙状态时,会采取如下几个过程:等待所有目的端口空闲;目的端口中,暂时空闲的端口不再参与调度;停止其他OTN组播的调度。
(3)单播输出端调度,各个输出端仲裁器根据当前的端口忙闲情况,各自调度,将输入请求发送到输入端仲裁器。
(4)单播输入端调度,各个输入端口仲裁器根据当前的端口忙闲情况,各自调度,将授权结果发到输出模块。
(5)组播packet调度,根据组播高低优先级仲裁器,选择一个组播请求,并将请求结果发送到输出控制。
由于packet组播的优先级最低,很难同时保证多个输出端口都空闲,所以采用了多次扇出的方式。具体来说,当packet组播的输出端口中有几个端口处于忙状态。会做如下处理:根据当前空闲的链路情况生成授权;等待剩余目的端口空闲。停止其他packet组播的调度。
(6)将调度结果发送到ram模块。
步骤⑦:中间交换单元的响应授权。根据信元调度结果,从ram中找到对应的信元,之后通过crossbar将信元发送到输出ram中。
步骤⑧:包重组与排序。FOP重组的核心思路:设置期望包序号,如果完整接收的数据包包序号大于期望值,就会继续等待,如果小于期望值就会被丢弃。只有与期望值相等是才能进行重组。包重组与排序具体过程如图7下:
(1)FOP接收来自网络的数据信元,提取该信元的源端口,包优先级和包序号等字段。
(2)根据源端口号,包优先级和包序号查询已有的描述符信息,如果查询到该描述符信息,就更新描述符信息,如果不存在,且包序号小于期望包序号,就丢弃该信元,如果不存在描述符且包序号大于包期望值,则创建新的描述符信息。
(3)创建好描述符信息后,设置等待包内所有信元到达输出模块时,最小信元时延与最大信元时延的最大时间间隔MAX_CELL_DELAY,将MAX_CELL_DEALY设定为10us,当然这个值是可变的,如果在这段时间内数据包没有完整接收,就认为信元丢弃,丢弃该包。
(4)如果在MAX_CELL_DELAY时间内,信元已经完整接收,检查该数据包的包序号是否与希望的包序号相同,如果相同进行packet重组。如果不同,则设置等待重组的最大时延MAX_CELL_DELAY。
(5)如果在这段时间内,该描述符的包序号与期望包序号相等,则重组该数据包,并更新期望包序号。如果超过时间门限,该描述符对应的包序号小于期望包序号,就丢弃该信元,如果描述符对应的包序号大于期望包序号,就重组该数据包,同时更新期望包序号。
Claims (4)
1.一种支持多业务的网络交换装置,采用典型的三级CLOS架构,包括输入单元、中间交换单元和输出单元,其特征在于:三级对称CLOS网络C(n,m,r)的输入单元共有r个n*m交换模块,中间交换单元有m个r*r交换模块,输出单元有r个m*n输出模块;网络共有N=n*r个输入和输出端口,每个中间交换模块与每个输入和输出模块至少有1条链路连接;各个输入模块和各个输出模块之间不存在直接连接;输入模块实现数据包流量的申请、数据包的切割以及路由和包内负载均衡;交换模块实现路由、链路级负载均衡和信元调度的功能;输出模块实现流量控制、信元的排序与数据包的重组;每个中间级交换单元看作一个交换平面,它可以扩展成三级交换结构,由第一级交换单元,第二级交换单元和第三级交换单元构成。
2.如权利要求1所述支持多业务的网络交换装置实现方法,包括以下步骤:
步骤①、输入单元数据包流量的申请:
输入单元的每个输入模块缓存针对交换网络的不同输出端口构建不同的虚拟输出队列,为每个队列发送一个队列状态信元到输出端口申请流量;申请流量的大小采用更新机制;队列状态信元的产生分周期性和非周期性;当新增的数据包流量超过两个最大包长发送非周期性队列状态信元;周期的设定是根据交换架构的规模动态变化,当周期性时钟定时器触发时,产生周期性队列状态信元;
步骤②、输出单元的流量控制:
当多个输入模块发送流量申请到同一个输出模块时,输出模块需要根据申请流量的大小做好负载均衡;当接收数据信元的存储缓存超过最大允许接收缓存的0.75倍时,输出模块将产生快速流控通过控制信元直接作用到所有输入模块,输入模块对应的虚拟队列则不会再将数据包进行切割和发送;
步骤③、数据包的切割:
接收到输出模块的授权之后将得到授权的数据包切割成信元;
步骤④、路由和包内负载均衡:
一个数据包可切割成多个数据信元,接收端重组采用与期望包序号比较的方式,并尽量保证发送到交换单元的数据包的包序号是连续的,期望包序号是指输出模块期望重组的来自输入模块数据包的包序号;根据路由结果和数据包切割状态来决定是否需要更新数据包的包序号;路由成功且数据包切割的所有信元都已经得到发送时,更新该业务数据包对应的包序号;数据包的第一个信元路由成功,其他信元路由失败时,更新对应的包序号;数据包的所有信元都路由失败时,则不更新该包序号;
步骤⑤、中间交换单元的路由和负载均衡:
从链路接收到数据信元后查询路由表,采用基于链路的负载均衡通过轮询每个链路来选择最终的输出链路,将流量平摊到各个输出链路中去:
步骤⑥、中间交换单元的信元调度:
将信元描述符根据信元类型放入相应描述符队列中,并根据业务的优先级顺序调度信元;信元调度模块由K*K个VOQ虚拟输出队列描述符队列、2K个组播packet描述符队列、K个组播OTN光传送网描述符队列、一个OTN组播仲裁器、一个组播packet仲裁器、K个输入端仲裁器、K个输出端仲裁器和1个输出控制模块组成组成;
步骤⑦、中间交换单元的响应授权:
根据信元调度结果,从ram中找到对应的信元,之后通过crossbar将信元发送到输出ram中;
步骤⑧、包重组与排序:
FOP的重组:设置期望包序号,完整接收的数据包包序号大于期望值时,继续等待,反之丢弃;当与期望值相等时进行重组。
3.如权利要求2所述支持多业务的网络交换装置实现方法,其特征在于:所述步骤⑥中调度模块的具体执行过程如下:
(1)业务类分,将从输入缓存中传来的描述符根据业务类型发送对应的描述队列中;组播OTN放入OTN组播描述符VIQ虚拟输入队列中,单播packet和单播OTN放入单播描述符队列中;组播packet根据自身优先级放入组播VIQ队列中;业务的优先级划分主要依据业务对时延的要求,OTN业务对时延要求最高,优先级最高,其次是单播packet,最后是组播packet业务;
(2)组播OTN的调度,通过OTN仲裁器选出一个输入请求,并将请求结果发送到输出控制模块和K个输出仲裁器;由于OTN组播的优先级最高,所以采用一次扇出的方式;具体来说,当OTN组播的输出端口中有几个暂时处于忙状态时,会采取如下几个过程:等待所有目的端口空闲;目的端口中,暂时空闲的端口不再参与调度;停止其他OTN组播的调度;
(3)单播输出端调度,K输出端仲裁器根据当前的端口忙闲情况,各自调度,将输入请求发送到输入端仲裁器;
(4)单播输入端调度,K输入端口仲裁器根据当前的端口忙闲情况,各自调度,将授权结果发到输出模块;
(5)组播packet调度,根据组播高低优先级仲裁器,选择一个组播请求,并将请求结果发送到输出控制;
由于packet组播的优先级最低,很难同时保证多个输出端口都空闲,所以采用了多次扇出的方式;具体来说,当packet组播的输出端口中有几个端口处于忙状态;会做如下处理:根据当前空闲的链路情况生成授权;等待剩余目的端口空闲;停止其他packet组播的调度;
(6)将调度结果发送到ram模块。
4.如权利要求2所述支持多业务的网络交换装置实现方法,其特征在于:所述步骤⑧中包重组与排序具体过程如下:
(1)FOP接收来自网络的数据信元,提取该信元的源端口,包优先级和包序号等字段;
(2)根据源端口号,包优先级和包序号查询已有的描述符信息,如果查询到该描述符信息,就更新描述符信息,如果不存在,且包序号小于期望包序号,就丢弃该信元,如果不存在描述符且包序号大于包期望值,则创建新的描述符信息;
(3)创建好描述符信息后,设置等待包内所有信元到达输出模块时,最小信元时延与最大信元时延的最大时间间隔MAX_CELL_DELAY,如果在这段时间内数据包没有完整接收,就认为信元丢弃,丢弃该包;
(4)如果在MAX_CELL_DELAY时间内,信元已经完整接收,检查该数据包的包序号是否与希望的包序号相同,如果相同进行packet重组;如果不同,则设置等待重组的最大时延MAX_CELL_DELAY;
(5)如果在这段时间内,该描述符的包序号与期望包序号相等,则重组该数据包,并更新期望包序号;如果超过时间门限,该描述符对应的包序号小于期望包序号,就丢弃该信元,如果描述符对应的包序号大于期望包序号,就重组该数据包,同时更新期望包序号。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510514292.5A CN105337883B (zh) | 2015-08-20 | 2015-08-20 | 一种支持多业务的网络交换装置及其实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510514292.5A CN105337883B (zh) | 2015-08-20 | 2015-08-20 | 一种支持多业务的网络交换装置及其实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105337883A true CN105337883A (zh) | 2016-02-17 |
CN105337883B CN105337883B (zh) | 2018-12-18 |
Family
ID=55288183
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510514292.5A Expired - Fee Related CN105337883B (zh) | 2015-08-20 | 2015-08-20 | 一种支持多业务的网络交换装置及其实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105337883B (zh) |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105763469A (zh) * | 2016-04-07 | 2016-07-13 | 烽火通信科技股份有限公司 | 三级Clos网络架构中链路拥塞检测及带宽控制的方法与系统 |
CN105812290A (zh) * | 2016-03-10 | 2016-07-27 | 中国电子科技集团公司第五十四研究所 | 一种基于多交换平面的数据交换方法 |
CN105827544A (zh) * | 2016-03-14 | 2016-08-03 | 烽火通信科技股份有限公司 | 一种用于多级clos系统的拥塞控制方法及装置 |
CN105827538A (zh) * | 2016-03-10 | 2016-08-03 | 烽火通信科技股份有限公司 | 基于单级clos结构的流量均衡方法及系统 |
WO2017157116A1 (zh) * | 2016-03-14 | 2017-09-21 | 深圳市中兴微电子技术有限公司 | 一种流量拥塞控制方法、装置及存储介质 |
CN107241156A (zh) * | 2017-05-09 | 2017-10-10 | 烽火通信科技股份有限公司 | 一种信元保序方法及装置 |
CN107276908A (zh) * | 2016-04-07 | 2017-10-20 | 深圳市中兴微电子技术有限公司 | 一种路由信息处理方法及分组交换设备 |
CN107770083A (zh) * | 2016-08-16 | 2018-03-06 | 华为技术有限公司 | 一种交换网络、控制器及负载均衡方法 |
CN107911295A (zh) * | 2017-11-02 | 2018-04-13 | 北京紫光恒越网络科技有限公司 | Clos多级多平面交换架构的路径实现方法及装置 |
CN108199977A (zh) * | 2017-12-29 | 2018-06-22 | 国网湖南省电力有限公司 | 一种双活数据中心的多跳路由和调度方法 |
CN108243113A (zh) * | 2016-12-26 | 2018-07-03 | 深圳市中兴微电子技术有限公司 | 随机负载均衡的方法及装置 |
WO2018166482A1 (zh) * | 2017-03-14 | 2018-09-20 | 深圳市中兴微电子技术有限公司 | 交换网络的拥塞管理方法及装置、计算机存储介质 |
CN109219944A (zh) * | 2016-06-24 | 2019-01-15 | 华为技术有限公司 | 用于减小分组网络中mtu大小的系统和方法 |
WO2019201026A1 (zh) * | 2018-04-18 | 2019-10-24 | 中兴通讯股份有限公司 | 数据传输方法及装置、系统、存储介质、电子装置 |
CN111817973A (zh) * | 2020-06-28 | 2020-10-23 | 电子科技大学 | 一种数据中心网络负载的均衡方法 |
CN112019365A (zh) * | 2019-05-31 | 2020-12-01 | 华为技术有限公司 | 确定端口属性的方法和装置 |
CN113110943A (zh) * | 2021-03-31 | 2021-07-13 | 中国人民解放军战略支援部队信息工程大学 | 软件定义交换结构及基于该结构的数据交换方法 |
CN115086185A (zh) * | 2022-06-10 | 2022-09-20 | 清华大学深圳国际研究生院 | 一种数据中心网络系统及数据中心传输方法 |
CN116980366A (zh) * | 2023-09-25 | 2023-10-31 | 苏州元脑智能科技有限公司 | 多级交换网络及输入输出端口匹配方法 |
CN117176648A (zh) * | 2023-10-25 | 2023-12-05 | 苏州元脑智能科技有限公司 | 一种分布式路由的实现方法、系统、设备及介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1643972A (zh) * | 2002-03-23 | 2005-07-20 | 马科尼通讯股份有限公司 | 包含其中单级矩阵具有一级克洛斯网络的多级克洛斯网络的光交叉连接 |
CN101304374A (zh) * | 2008-03-28 | 2008-11-12 | 武汉烽火网络有限责任公司 | 一种基于Clos网络交换结构的贯序匹配调度算法 |
US20110026532A1 (en) * | 2009-07-29 | 2011-02-03 | Roberto Rojas-Cessa | Forwarding Data Through a Three-Stage Clos-Network Packet Switch with Memory at each Stage |
CN102111334A (zh) * | 2011-02-21 | 2011-06-29 | 华为技术有限公司 | 一种交换网中信元的处理方法、源线卡和网卡 |
CN102577258A (zh) * | 2009-06-16 | 2012-07-11 | 新泽西理工学院 | 配置三级clos网络分组交换机 |
CN104486237A (zh) * | 2014-12-18 | 2015-04-01 | 西安电子科技大学 | clos网络中无乱序分组路由及调度方法 |
-
2015
- 2015-08-20 CN CN201510514292.5A patent/CN105337883B/zh not_active Expired - Fee Related
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1643972A (zh) * | 2002-03-23 | 2005-07-20 | 马科尼通讯股份有限公司 | 包含其中单级矩阵具有一级克洛斯网络的多级克洛斯网络的光交叉连接 |
CN101304374A (zh) * | 2008-03-28 | 2008-11-12 | 武汉烽火网络有限责任公司 | 一种基于Clos网络交换结构的贯序匹配调度算法 |
CN102577258A (zh) * | 2009-06-16 | 2012-07-11 | 新泽西理工学院 | 配置三级clos网络分组交换机 |
US20110026532A1 (en) * | 2009-07-29 | 2011-02-03 | Roberto Rojas-Cessa | Forwarding Data Through a Three-Stage Clos-Network Packet Switch with Memory at each Stage |
CN102474460A (zh) * | 2009-07-29 | 2012-05-23 | 新泽西理工学院 | 通过每级具有缓存的三级Clos网络分组交换机来转发数据 |
CN102111334A (zh) * | 2011-02-21 | 2011-06-29 | 华为技术有限公司 | 一种交换网中信元的处理方法、源线卡和网卡 |
CN104486237A (zh) * | 2014-12-18 | 2015-04-01 | 西安电子科技大学 | clos网络中无乱序分组路由及调度方法 |
Non-Patent Citations (3)
Title |
---|
周玉: ""CLOS网络的可重排算法研究"", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
徐莉莉: ""应用于MDF的多级Clos网络优化设计与路由算法研究"", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
谢勇: ""基于令牌的交换结构调度算法研究"", 《万方学术论文》 * |
Cited By (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105812290B (zh) * | 2016-03-10 | 2018-12-07 | 中国电子科技集团公司第五十四研究所 | 一种基于多交换平面的数据交换方法 |
CN105812290A (zh) * | 2016-03-10 | 2016-07-27 | 中国电子科技集团公司第五十四研究所 | 一种基于多交换平面的数据交换方法 |
CN105827538A (zh) * | 2016-03-10 | 2016-08-03 | 烽火通信科技股份有限公司 | 基于单级clos结构的流量均衡方法及系统 |
CN105827538B (zh) * | 2016-03-10 | 2019-02-05 | 烽火通信科技股份有限公司 | 基于单级clos结构的流量均衡方法及系统 |
CN105827544A (zh) * | 2016-03-14 | 2016-08-03 | 烽火通信科技股份有限公司 | 一种用于多级clos系统的拥塞控制方法及装置 |
WO2017157116A1 (zh) * | 2016-03-14 | 2017-09-21 | 深圳市中兴微电子技术有限公司 | 一种流量拥塞控制方法、装置及存储介质 |
CN107276908A (zh) * | 2016-04-07 | 2017-10-20 | 深圳市中兴微电子技术有限公司 | 一种路由信息处理方法及分组交换设备 |
CN105763469A (zh) * | 2016-04-07 | 2016-07-13 | 烽火通信科技股份有限公司 | 三级Clos网络架构中链路拥塞检测及带宽控制的方法与系统 |
CN107276908B (zh) * | 2016-04-07 | 2021-06-11 | 深圳市中兴微电子技术有限公司 | 一种路由信息处理方法及分组交换设备 |
CN105763469B (zh) * | 2016-04-07 | 2019-03-22 | 烽火通信科技股份有限公司 | 三级Clos网络架构中链路拥塞检测及带宽控制的方法与系统 |
CN109219944B (zh) * | 2016-06-24 | 2020-08-14 | 华为技术有限公司 | 用于减小分组网络中mtu大小的系统和方法 |
CN109219944A (zh) * | 2016-06-24 | 2019-01-15 | 华为技术有限公司 | 用于减小分组网络中mtu大小的系统和方法 |
CN107770083A (zh) * | 2016-08-16 | 2018-03-06 | 华为技术有限公司 | 一种交换网络、控制器及负载均衡方法 |
CN107770083B (zh) * | 2016-08-16 | 2021-04-20 | 华为技术有限公司 | 一种交换网络、控制器及负载均衡方法 |
CN108243113A (zh) * | 2016-12-26 | 2018-07-03 | 深圳市中兴微电子技术有限公司 | 随机负载均衡的方法及装置 |
WO2018120814A1 (zh) * | 2016-12-26 | 2018-07-05 | 深圳市中兴微电子技术有限公司 | 随机负载均衡的方法及装置、计算机存储介质 |
CN108243113B (zh) * | 2016-12-26 | 2020-06-16 | 深圳市中兴微电子技术有限公司 | 随机负载均衡的方法及装置 |
CN108574642A (zh) * | 2017-03-14 | 2018-09-25 | 深圳市中兴微电子技术有限公司 | 一种交换网络的拥塞管理方法及装置 |
WO2018166482A1 (zh) * | 2017-03-14 | 2018-09-20 | 深圳市中兴微电子技术有限公司 | 交换网络的拥塞管理方法及装置、计算机存储介质 |
CN108574642B (zh) * | 2017-03-14 | 2020-03-31 | 深圳市中兴微电子技术有限公司 | 一种交换网络的拥塞管理方法及装置 |
CN107241156B (zh) * | 2017-05-09 | 2019-03-22 | 烽火通信科技股份有限公司 | 一种信元保序方法及装置 |
CN107241156A (zh) * | 2017-05-09 | 2017-10-10 | 烽火通信科技股份有限公司 | 一种信元保序方法及装置 |
CN107911295A (zh) * | 2017-11-02 | 2018-04-13 | 北京紫光恒越网络科技有限公司 | Clos多级多平面交换架构的路径实现方法及装置 |
CN107911295B (zh) * | 2017-11-02 | 2020-07-28 | 北京紫光恒越网络科技有限公司 | Clos多级多平面交换架构的路径实现方法及装置 |
CN108199977A (zh) * | 2017-12-29 | 2018-06-22 | 国网湖南省电力有限公司 | 一种双活数据中心的多跳路由和调度方法 |
WO2019201026A1 (zh) * | 2018-04-18 | 2019-10-24 | 中兴通讯股份有限公司 | 数据传输方法及装置、系统、存储介质、电子装置 |
CN112019365A (zh) * | 2019-05-31 | 2020-12-01 | 华为技术有限公司 | 确定端口属性的方法和装置 |
CN111817973A (zh) * | 2020-06-28 | 2020-10-23 | 电子科技大学 | 一种数据中心网络负载的均衡方法 |
CN111817973B (zh) * | 2020-06-28 | 2022-03-25 | 电子科技大学 | 一种数据中心网络负载的均衡方法 |
CN113110943A (zh) * | 2021-03-31 | 2021-07-13 | 中国人民解放军战略支援部队信息工程大学 | 软件定义交换结构及基于该结构的数据交换方法 |
CN115086185A (zh) * | 2022-06-10 | 2022-09-20 | 清华大学深圳国际研究生院 | 一种数据中心网络系统及数据中心传输方法 |
CN115086185B (zh) * | 2022-06-10 | 2024-04-02 | 清华大学深圳国际研究生院 | 一种数据中心网络系统及数据中心传输方法 |
CN116980366A (zh) * | 2023-09-25 | 2023-10-31 | 苏州元脑智能科技有限公司 | 多级交换网络及输入输出端口匹配方法 |
CN117176648A (zh) * | 2023-10-25 | 2023-12-05 | 苏州元脑智能科技有限公司 | 一种分布式路由的实现方法、系统、设备及介质 |
CN117176648B (zh) * | 2023-10-25 | 2024-02-02 | 苏州元脑智能科技有限公司 | 一种分布式路由的实现方法、系统、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN105337883B (zh) | 2018-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105337883A (zh) | 一种支持多业务的网络交换装置及其实现方法 | |
Cidon et al. | Real-time packet switching: A performance analysis | |
US8971317B2 (en) | Method for controlling data stream switch and relevant equipment | |
US8687483B2 (en) | Parallel traffic generator with priority flow control | |
US6345040B1 (en) | Scalable scheduled cell switch and method for switching | |
GB2414625A (en) | Network crosspoint switching architecture. | |
US20020131412A1 (en) | Switch fabric with efficient spatial multicast | |
CN103607343B (zh) | 一种适用于星载处理转发器的混合交换结构 | |
US6865154B1 (en) | Method and apparatus for providing bandwidth and delay guarantees in combined input-output buffered crossbar switches that implement work-conserving arbitration algorithms | |
CN100421420C (zh) | 一种调度纵横式交换矩阵中变长数据包队列的方法 | |
CN101478486B (zh) | 一种交换网数据调度方法、设备和系统 | |
US11646978B2 (en) | Data communication method and apparatus | |
CN101931585B (zh) | 一种信元保序的方法及装置 | |
CN100425035C (zh) | 基于变长包的交换系统及交换方法 | |
CN110430146A (zh) | 基于CrossBar交换的信元重组方法及交换结构 | |
Zheng et al. | Architecture design and performance analysis of a novel memory system for high-bandwidth onboard switching fabric | |
US7123611B2 (en) | Packet switching | |
Li et al. | Ethernet-based avionic databus and time-space partition switch design | |
Chrysos | Design issues of variable-packet-size, multiple-priority buffered crossbars | |
CN108199977A (zh) | 一种双活数据中心的多跳路由和调度方法 | |
Chrysos et al. | Crossbars with minimally-sized crosspoint buffers | |
Yoshigoe | Rate-based Flow-control for the CICQ Switch | |
CN103155587B (zh) | 用于在网络中传送数据分组的方法和系统 | |
WO2022267030A1 (zh) | 一种交换芯片及供电方法 | |
Wang et al. | A shared-memory design for crosspoint buffered switches under mixed uni-and multicast traffic |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20181218 Termination date: 20190820 |
|
CF01 | Termination of patent right due to non-payment of annual fee |