本发明属于数据交换结构领域,特别是涉及到一种负载均衡自路由数据交换结构及方法。
背景技术:
在数据通信行业,数据交换芯片的核心内容即交换结构,交换结构的主要功能是完成数据包/数据分组的在不同端口之间的传输,传输过程通常描述为数据交换,实现数据交换功能的单元结构即是交换结构.主流的交换结构有crossbar结构、centralbuffer结构、iqoq结构、cioq结构、noc结构等等。
在上述主流的交换结构中数据转发路径通常是固定的,数据转发路径上会存在数据包阻塞、缓存等增加数据转发时延增加的缺点。同时数据转发路径上的拥塞会造成数据缓存充满后,数据溢出或者丢包,数据转发的实时性进一步造成降低影响。
技术实现要素:
有鉴于此,本发明提出一种基于流分类的、负载均衡的自路由交换结构,该结构可以在不改变最终数据交换目的端口的情况,根据数据转发路径和可达转发路径资源进行路径自由选择,即自路由,从而实现降低数据拥塞概率,丢包概率,增强数据交换实时性能。
为达到上述目的,本发明的技术方案是这样实现的:
一种负载均衡自路由数据交换结构,包括负载均衡自路由处理单元和无阻塞交换单元,所述负载均衡自路由处理单元通过待转发数据包的路由地址信息处理、无阻塞交换单元入口流量监测、负载均衡运算以及待转发数据包分路传输实现入端口的数据包送入无阻塞交换单元的交换入口缓存模块。
进一步的,所述负载均衡自路由处理单元包括:
端口路由及负载均衡处理模块,用于待转发数据包的路由地址信息处理、无阻塞交换单元入口流量监测、负载均衡运算,将数据包自路由交换端口号送至数据包分路传输模块;
数据包分路传输模块,用于根据数据包自路由交换端口号,将数据传输至对应的交换入口缓存模块。
更进一步的,所述端口路由及负载均衡处理模块包括:
数据包路由处理模块,通过对数据包头信息进行提取,查找路由表或者转发控制表,并将表项内容送至数据包目的端口匹配模块;
数据包目的端口匹配模块,根据路由优选规则确定数据包的目的端口;
交换入口流量缓存检测模块,对无阻塞交换单元的交换入口的数据包流入、流出速率、数据缓存使用情况进行统计与分析,并给出入交换入口是否存在流量拥塞、缓存占用是否超标的状态指示,将指示信息送至数据包自路由交换端口匹配模块;
数据包自路由交换端口匹配模块,根据交换入口流量缓存情况及报文源端口匹配得到自路由交换端口,并将端口号送至数据包分路传输模块。
进一步的,所述无阻塞交换单元为带交换入口缓存模块的crossbar结构。
本发明的另一方面,提供了一种负载均衡自路由数据交换方法,进行负载均衡自路由处理,通过待转发数据包的路由地址信息处理、无阻塞交换单元入口流量监测、负载均衡运算以及待转发数据包分路传输,实现入端口的数据包送入无阻塞交换单元。
进一步的,所述负载均衡自路由处理的具体方法包括:
(1)对数据包头信息进行提取,查找路由表或者转发控制表;
(2)根据路由优选规则确定数据包的目的端口;
(3)对无阻塞交换单元的交换入口的数据包流入、流出速率、数据缓存使用情况进行统计与分析,并给出入交换入口是否存在流量拥塞、缓存占用是否超标的状态指示;
(4)根据交换入口流量缓存情况及报文源端口匹配得到自路由交换端口;
(5)数据传输至对应的交换入口缓存模块。
进一步的,所述无阻塞交换单元采用带交换入口缓存模块的crossbar结构,传输来的数据包进入交换入口缓存模块。
本发明提出的一种基于流分类的、负载均衡自路由交换结构与传统主流交换结构相比,具有数据转发路径灵活、转发拥塞度低、缓存占用率低,数据交换时延小的优势,能够在传统交换结构中的数据转发路径产生流量拥塞时进行自路由选择,以便规避数据拥塞节点,减少转发拥塞的发生概率,拥塞时间,节点缓存占用率,进而减少数据转发时延,提升交换吞吐率,优化交换结构整体交换性能与指标。尤其在复杂流量下,效果更佳突出,比如在多个端口速率不均衡环境下,大流量的端口可以使用小流量的端口的数据交换路径资源。
附图说明
图1是本发明的负载均衡自路由数据交换结构示意图;
图2是本发明端口路由及负载均衡处理模块的结构示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本发明的实施例及实施例中的特征可以相互组合。
如图1所示,负载均衡自路由交换结构由2个单元结构组成,一个是负载均衡自路由处理单元,另一个是无阻塞交换单元,本发明以带交叉节点缓存的crossbar结构作为无阻塞交换单元的优选结构。
负载均衡自路由处理单元包括端口路由及负载均衡处理模块和数据包分路传输模块,通过待转发数据包的路由地址信息处理、无阻塞交换单元入口流量监测、负载均衡运算以及待转发数据包分路传输等实现了入端口的数据包送入无阻塞交换单元的交换入口缓存模块。
在负载均衡自路由处理单元中实现了负载均衡自路由过程,如图2所示,端口路由及负载均衡处理模块中,对于从某个特定源端口sp_x去往某个目的端口dp_y的数据包,当sp对应的无阻塞交换单元入口in_sp_x存在流量阻塞,而其他任意in_sp_x1端口未发生流量拥塞时,该数据包将会规避已发生流量拥塞的交换单元入口,进入未发生流量拥塞的交换单元入口;并且在交换单元内部上任意in_sp_x1端口对于目的端口dp_y都是可达的。在选择任意in_sp_x1的选择原则是基于流量均衡的,对于同时存在多个可选的in_sp_x1时,优选缓存占用少,流量均匀的端口。
端口路由及负载均衡处理模块包括:
数据包路由处理模块,主要功能是通过对数据包头信息进行提取,查找路由表或者转发控制表,并将表项内容送至数据包目的端口匹配模块;
数据包目的端口匹配模块,根据路由优选规则确定数据包的目的端口;
交换入口流量缓存检测模块,主要实现对无阻塞交换单元的交换入口的数据包流入、流出速率、数据缓存使用情况进行统计与分析,并给出入交换入口是否存在流量拥塞,缓存占用是否超标的状态指示,并将指示信息送至数据包自路由交换端口匹配模块;
数据包自路由交换端口匹配模块,根据交换入口流量缓存情况及报文源端口匹配得到自路由交换端口,并将端口号in_sp_x1送至数据包分路传输模块。
在本实施例中,数据包分路传输模块根据收到的数据包自路由交换端口号in_sp_x1,将数据传输至对应的交换入口缓存。
以上描述了本发明的基本原理、主要特征和实施方案等信息,但是本发明不受上述实施过程的限制,在不脱离发明精神和范围的前提下,本发明还可以有各种变化和改进。因此,除非这种变化和改进脱离了本发明的范围,它们应该被看作包含在本发明中。