一种数据报文转发的方法及装置与流程

文档序号:13888468阅读:236来源:国知局

本发明涉及数据处理领域,尤其涉及一种数据报文转发的方法及装置。



背景技术:

当前数据中心网络多数采样树状网络拓扑结构,这种网络拓扑结构可为网络终端提供多个等开销的路径。为了实现负载均衡,网络拓扑结构中的交换机转发数据报文时一般采样等开销多路径(英文:equalcostmulti-path,ecmp)路由协议,将数据报文随机转发到等开销的输出端口。虽然ecmp路由协议具有容易实现的优点,然而ecmp路由协议也具有显而易见的缺点,就是路由冲突。路由冲突是多个数据流的数据报文转发到同一个路径上,导致网络拥塞的发生,严重影响网络的吞吐量,容易造成小流量的数据流的转发延迟等问题。

现有技术采用了流胞(英文:flowcell)和小流(英文:flowlet)的概念,将一个数据流切成多个流胞或者小流,对每一个流胞或者小流进行路径选取、转发。现有技术采用轮询负载均衡(英文:roundrobinloadbalancing)的方法查询网络中所有有效路径的拥塞程序,将流胞或者小流依次分配到有效的路径上进行转发。虽然在某些场景下能够取得负载均衡的效果,但是依然无法避免将多个流胞或者小流转发到同一条有效路径上而造成网络拥塞,适用性低,可扩展性差。



技术实现要素:

本申请提供一种数据报文转发的方法及装置,可提高数据报文转发的适用性,提高网络拥塞感知的可扩展性。

第一方面提供了一种数据报文转发的方法,其可包括:

源交换机按照预设采样周期采集其到目的交换机的n条路径中的d条采样路径的拥塞程度,并存储采集得到的每条采样路径的拥塞程度指示信息,所述d小于n;

所述源交换机转发数据流的第一数据报文时,根据所述拥塞程度指示信息从所述d条采样路径中选择第一时间上拥塞程度最小的第一目标采样路径,通过所述第一目标采样路径转发所述第一数据报文,并存储所述第一数据报文所属的第一数据流胞的标识;

所述源交换机转发所述数据流的第二数据报文时,判断所述第二数据报文所属的第二数据流胞的标识是否与所述第一数据流胞的标识相同;

若所述第二数据流胞的标识与所述第一数据流胞的标识相同,则通过所述第一目标采样路径转发所述第二数据报文;

若所述第二数据流胞的标识与所述第一数据流胞的标识不同,则根据所述拥塞程度指示信息从所述d条采样路径中选择第二时间上拥塞程度最小的第二目标采样路径,并通过所述第二目标采样路径转发所述第二数据报文。

本申请源交换机向目的交换机转发数据流之前,可预先选择源交换机到目的交换机的所有路径中的若干采样路径,按照预设采样周期采集采样路径的拥塞程序,并在源交换机的本地存储中存储每条采样路径的拥塞程序指示信息,提高了网络拥塞感知的可扩展性。源交换机转发数据流时以数据流胞为单位进行数据转发,每个数据流胞包含一个或者多个数据报文,属于一个数据流胞的每个数据报文在相同的采样路径上转发。源交换机转发每个数据流胞的第一个数据报文时,可根据该数据报文转发的当前时间从本地存储中查找当前时间上网络拥塞程序最小的目标采样路径,通过目标采样路径转发该数据报文。若同一条采样路径在多个预设采样周期内均为拥塞程度最小的路径,则不同的数据流胞可在同一条采样路径上转发,即每个数据流胞的第一个数据报文转发时都选择当前时间上拥塞程度最小的路径转发。若不同的预设采样周期采集到的网络拥塞程度最小的路径不相同,并且数据流胞的转发时长大于采样周期的长度,则将使得不同的数据流胞在不同的采样路径上转发,可提高数据报文转发的适用性,更好地实现了网络负载均衡。

结合第一方面,在第一种可能的实现方式中,所述源交换机按照预设采样周期采集其到目的交换机的n条路径中的d条采样路径的拥塞程度,包括:

源交换机按照预设采样周期从其到目的交换机的n条路径中随机选择d条采样路径,并向所述目的交换机发送所述d条采样路径一一对应的d个采样探针;

接收所述目的交换机反馈的所述d个采样探针中每个采样探针的反馈探针,并获取每个采样探针的反馈探针中携带的每条采样路径的拥塞程度指示信息。

本申请可使用局部路径采样的方式感知网络的拥塞程度,可降低网络拥塞感知的复杂度,减少额外开销。通过采样探针探测采样路径的拥塞程度,可提高网络拥塞程度的感知的准确性,提高网络负载均衡的可控性。

结合第一方面第一种可能的实现方式,在第二种可能的实现方式中,所述源交换机按照预设采样周期从其到目的交换机的n条路径中随机选择d条采样路径包括:

若n小于第一预设阈值,所述源交换机则按照预设采样周期从所述n条路径中随机选择d1条采样路径;

若n大于或者等于第一预设阈值,所述源交换机则按照预设采样周期从所述n条路径中随机选择d2条采样路径;

其中,d1小于d2,d2小于n。

本申请对源交换机和目的交换机之间的路径进行采样时,可根据网络规模的大小确定采样路径的数量,提高了采样路径的操作灵活性,提高了网络拥塞感知的准确性,增强了网络负载均衡的适用性。

结合第一方面第二种可能的实现方式,在第三种可能的实现方式中,所述采样探针或者所述采样探针的反馈探针为具有指定格式的数据报文;

其中,所述指定格式的数据报文中包含探针报头;

所述探针报头中包含的第一数目的比特用于标识采样路径编号,所述探针报头中的包含的第二数目的比特用于标识采样路径的拥塞程度指示信息。

本申请可自定义计采样探针及其对应的反馈探针的数据报文格式,可通过采样探针及其对应的反馈探针确定采样路径及其对应的拥塞程度,设计灵活,增强了网络拥塞感知的准确性和趣味性,增强终端的用户体验。

结合第一方面第三种可能的实现方式,在第四种可能的实现方式中,所述d条采样路径的拥塞程度指示信息包括所述d条采样路径中每条采样路径的拥塞程度等级;

其中,所述每条采样路径的拥塞程度等级由每条采样路径上的中间交换机的队列长度之和确定;

所述中间交换机为采样路径上的除了源交换机和目的交换机之外的交换机。

本申请采用交换机的队列长度作为网络路径的拥塞程度的指示信息,适用了数据流中数据流胞对交换机的队列长度更加敏感的特点,提高了采样路径的拥塞程度感知的准确性,进而提高了数据转发的网络负载均衡的控制准确性。

结合第一方面至第一方面第四种可能的实现方式中任一种,在第五种可能的实现方式中,所述源交换机转发数据流的第一数据报文之前,所述方法还包括:

所述源交换机按照时序将所述数据流切分为预设数据大小的至少一个数据流胞,所述至少一个数据流胞中每个数据流胞包含至少一个数据报文;

添加所述至少一个数据流胞中每个数据流胞的标识,并为每个数据流胞包含的每个数据报文添加其所属数据流胞的标识。

本申请将数据流的转发转换为数据流胞的转发,通过数据流胞的标识建立数据流胞包含的数据报文与数据流胞的所属关系,进而可通过为数据报文选择路由路径实现为数据流胞选择路由路径,增强了数据路由的网络负载均衡的可控性。

结合第一方面第五种可能的实现方式,在第六种可能的实现方式中,所述每个数据流胞的标识包括:所述数据流的标识信息,以及每个数据流胞在所述数据流中的编号中的至少一种;

其中,所述数据流的标识信息包括:源端ip、源端端口、目的端ip、目的端端口以及协议号中的至少一种。

本申请可通过多种形式的标识信息标记数据流中包含的各个数据流胞,操作灵活,适用性高。

结合第一方面第六种可能的实现方式,在第七种可能的实现方式中,所述存储所述第一数据报文所属的第一数据流胞的标识之后,所述方法还包括:

存储所述第一目标采样路径的编号,并建立所述第一数据流胞的标识与所述第一目标采样路径的编号的对应关系;

若所述第二数据流胞的标识与所述第一数据流胞的标识相同,则通过所述第一目标采样路径转发所述第二数据报文包括:

若所述第二数据流胞的标识与所述第一数据流胞的标识相同,则根据所述第二数据流胞的标识和所述对应关系确定第一目标采样路径,并通过所述第一目标采样路径转发所述第二数据报文。

本申请可在转发数据报文之后在本地存储空间中存储数据流胞的标识和数据流胞包含的数据报文的转发路径的对应关系,进而可在同一个数据流胞包含的其他数据报文发送数据路由请求时,从本地存储中查找目标采样路径对数据报文进行转发,可提高数据报文转发的效率,降低功耗。

结合第一方面第一种可能的实现方式,在第八种可能的实现方式中,所述预设采样周期大于20微妙并且小于60微秒。

本申请可采用20μs~60μs之间的任意数值作为预设采样周期,通过设定一个适中的预设采样周期,可提高网络性能,增强局部路径采样的适用性。

结合第一方面第五种可能的实现方式,在第九种可能的实现方式中,所述预设数据大小小于或者等于64kb。

本申请采用64kb作为数据切分的大小上限,可更好地实现数据的转发,提高数据转发的效率,增强网络负载均衡的可控性。

第二方面提供了一种数据报文转发的装置,其可包括:

采样模块,用于按照预设采样周期采集源交换机到目的交换机的n条路径中的d条采样路径的拥塞程度,并存储采集得到的每条采样路径的拥塞程度指示信息,所述d小于n;

转发模块,用于在转发数据流的第一数据报文时,根据所述采样模块采集到的所述拥塞程度指示信息从所述d条采样路径中选择第一时间上拥塞程度最小的第一目标采样路径,通过所述第一目标采样路径转发所述第一数据报文;

存储模块,用于存储所述转发模块转发的所述第一数据报文所属的第一数据流胞的标识;

判断模块,用于在所述转发模块转发所述数据流的第二数据报文之前,判断所述第二数据报文所属的第二数据流胞的标识是否与所述存储模块中存储的所述第一数据流胞的标识相同;

所述转发模块,还用于在所述判断模块判断结果为是时,通过所述第一目标采样路径转发所述第二数据报文;

所述转发模块,还用于在所述判断模块判断结果为否时,根据所述采样模块采集的所述拥塞程度指示信息从所述d条采样路径中选择第二时间上拥塞程度最小的第二目标采样路径,并通过所述第二目标采样路径转发所述第二数据报文。

结合第二方面,在第一种可能的实现方式中,所述采样模块具体用于:

按照预设采样周期从源交换机到目的交换机的n条路径中随机选择d条采样路径,并向所述目的交换机发送所述d条采样路径一一对应的d个采样探针;

接收所述目的交换机反馈的所述d个采样探针中每个采样探针的反馈探针,并获取每个采样探针的反馈探针中携带的每条采样路径的拥塞程度指示信息。

结合第二方面第一种可能的实现方式,在第二种可能的实现方式中,所述采样模块具体用于:

在n小于第一预设阈值时,按照预设采样周期从所述n条路径中随机选择d1条采样路径;

在n大于或者等于第一预设阈值,按照预设采样周期从所述n条路径中随机选择d2条采样路径;

其中,d1小于d2,d2小于n。

结合第二方面第二种可能的实现方式,在第三种可能的实现方式中,所述采样探针或者所述采样探针的反馈探针为具有指定格式的数据报文;

其中,所述指定格式的数据报文中包含探针报头;

所述探针报头中包含的第一数目的比特用于标识采样路径编号,所述探针报头中的包含的第二数目的比特用于标识采样路径的拥塞程度指示信息。

结合第二方面第三种可能的实现方式,在第四种可能的实现方式中,所述d条采样路径的拥塞程度指示信息包括所述d条采样路径中每条采样路径的拥塞程度等级;

其中,所述每条采样路径的拥塞程度等级由每条采样路径上的中间交换机的队列长度之和确定;

所述中间交换机为采样路径上的除了源交换机和目的交换机之外的交换机。

结合第二方面至第二方面第四种可能的实现方式中任一种,在第五种可能的实现方式中,所述装置还包括:

数据切分模块,用于在所述转发模块转发数据流的第一数据报文之前,按照时序将所述数据流切分为预设数据大小的至少一个数据流胞,所述至少一个数据流胞中每个数据流胞包含至少一个数据报文;

所述数据切分模块,还用于添加所述至少一个数据流胞中每个数据流胞的标识,并为每个数据流胞包含的每个数据报文添加其所属数据流胞的标识。

结合第二方面第五种可能的实现方式,在第六种可能的实现方式中,所述每个数据流胞的标识包括:所述数据流的标识信息,以及每个数据流胞在所述数据流中的编号中的至少一种;

其中,所述数据流的标识信息包括:源端ip、源端端口、目的端ip、目的端端口以及协议号中的至少一种。

结合第二方面第六种可能的实现方式,在第七种可能的实现方式中,所述存储模块还用于:

存储所述第一目标采样路径的编号,并建立所述第一数据流胞的标识与所述第一目标采样路径的编号的对应关系;

所述转发模块具体用于:

在所述第二数据流胞的标识与所述第一数据流胞的标识相同时,根据所述第二数据流胞的标识和所述存储模块存储的所述对应关系确定第一目标采样路径,并通过所述第一目标采样路径转发所述第二数据报文。

第三方面提供了一种交换机,其可包括:存储器和处理器;

所述存储器用于存储一组程序代码;

所述处理器用于调用所述存储器中存储的程序代码执行如下操作:

按照预设采样周期采集其到目的交换机的n条路径中的d条采样路径的拥塞程度,并通过所述存储器存储采集得到的每条采样路径的拥塞程度指示信息,所述d小于n;

转发数据流的第一数据报文时,根据所述拥塞程度指示信息从所述d条采样路径中选择第一时间上拥塞程度最小的第一目标采样路径,通过所述第一目标采样路径转发所述第一数据报文,并通过所述存储器存储所述第一数据报文所属的第一数据流胞的标识;

转发所述数据流的第二数据报文时,判断所述第二数据报文所属的第二数据流胞的标识是否与所述第一数据流胞的标识相同;

若所述第二数据流胞的标识与所述第一数据流胞的标识相同,则通过所述第一目标采样路径转发所述第二数据报文;

若所述第二数据流胞的标识与所述第一数据流胞的标识不同,则根据所述拥塞程度指示信息从所述d条采样路径中选择第二时间上拥塞程度最小的第二目标采样路径,并通过所述第二目标采样路径转发所述第二数据报文。

结合第三方面,在第一种可能的实现方式中,所述处理器具体用于:

按照预设采样周期从其到目的交换机的n条路径中随机选择d条采样路径,并向所述目的交换机发送所述d条采样路径一一对应的d个采样探针;

接收所述目的交换机反馈的所述d个采样探针中每个采样探针的反馈探针,并获取每个采样探针的反馈探针中携带的每条采样路径的拥塞程度指示信息。

结合第三方面第一种可能的实现方式,在第二种可能的实现方式中,所述处理器具体用于:

若n小于第一预设阈值,则按照预设采样周期从所述n条路径中随机选择d1条采样路径;

若n大于或者等于第一预设阈值,则按照预设采样周期从所述n条路径中随机选择d2条采样路径;

其中,d1小于d2,d2小于n。

结合第三方面第二种可能的实现方式,在第三种可能的实现方式中,所述采样探针或者所述采样探针的反馈探针为具有指定格式的数据报文;

其中,所述指定格式的数据报文中包含探针报头;

所述探针报头中包含的第一数目的比特用于标识采样路径编号,所述探针报头中的包含的第二数目的比特用于标识采样路径的拥塞程度指示信息。

结合第三方面第三种可能的实现方式,在第四种可能的实现方式中,所述d条采样路径的拥塞程度指示信息包括所述d条采样路径中每条采样路径的拥塞程度等级;

其中,所述每条采样路径的拥塞程度等级由每条采样路径上的中间交换机的队列长度之和确定;

所述中间交换机为采样路径上的除了源交换机和目的交换机之外的交换机。

结合第三方面至第三方面第一种可能的实现方式任一种,在第五种可能的实现方式中,所述处理器具体用于:

按照时序将所述数据流切分为预设数据大小的至少一个数据流胞,所述至少一个数据流胞中每个数据流胞包含至少一个数据报文;

添加所述至少一个数据流胞中每个数据流胞的标识,并为每个数据流胞包含的每个数据报文添加其所属数据流胞的标识。

结合第三方面第五种可能的实现方式,在第六种可能的实现方式中,所述每个数据流胞的标识包括:所述数据流的标识信息,以及每个数据流胞在所述数据流中的编号中的至少一种;

其中,所述数据流的标识信息包括:源端ip、源端端口、目的端ip、目的端端口以及协议号中的至少一种。

结合第三方面第六种可能的实现方式,在第七种可能的实现方式中,所述处理器具体用于:

通过所述存储器存储所述第一目标采样路径的编号,并建立所述第一数据流胞的标识与所述第一目标采样路径的编号的对应关系;

若所述第二数据流胞的标识与所述第一数据流胞的标识相同,则根据所述第二数据流胞的标识和所述对应关系确定第一目标采样路径,并通过所述第一目标采样路径转发所述第二数据报文。

本申请源交换机向目的交换机转发数据流之前,可预先选择源交换机到目的交换机的所有路径中的若干采样路径,按照预设采样周期采集采样路径的拥塞程序,并在源交换机的本地存储中存储每条采样路径的拥塞程序指示信息,提高了网络拥塞感知的可扩展性。源交换机转发数据流时以数据流胞为单位进行数据转发,每个数据流胞包含一个或者多个数据报文,属于一个数据流胞的每个数据报文在相同的采样路径上转发。源交换机转发每个数据流胞的第一个数据报文时,可根据该数据报文转发的当前时间从本地存储中查找当前时间上网络拥塞程序最小的目标采样路径,通过目标采样路径转发该数据报文。若同一条采样路径在多个预设采样周期内均为拥塞程度最小的路径,则不同的数据流胞可在同一条采样路径上转发,即每个数据流胞的第一个数据报文转发时都选择当前时间上拥塞程度最小的路径转发。若不同的预设采样周期采集到的网络拥塞程度最小的路径不相同,并且数据流胞的转发时长大于采样周期的长度,则将使得不同的数据流胞在不同的采样路径上转发,可提高数据报文转发的适用性,更好地实现了网络负载均衡。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的数据流路由的路径示意图;

图2是本发明实施例提供的数据报文转发的方法的流程示意图;

图3是源交换机向目的交换机发送采样探针的示意图;

图4是本发明实施例提供的数据报文转发的一效果示意图;

图5是本发明实施例提供的数据报文转发的另一效果示意图;

图6是本发明实施例提供的数据报文转发的装置的一结构示意图;

图7是本发明实施例提供的数据报文转发的装置的另一结构示意图;

图8是本发明实施例提供的交换机的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

具体实现中,本发明实施例提供的交换机,包括源端交换机(简称源交换机)、目的端交换机(简称目的交换机)和中间交换机,具体可为服务器机柜接入交换机,即柜顶(英文:topofrack,tor)交换机。其中,上述中间交换机为数据流路由的路径上包含的所有交换机中除了源交换机和目的交换机之外的其他交换机。如图1,图1是本发明实施例提供的数据流路由的路径示意图。边缘交换机a1(源交换机)到边缘交换机a2的路径为a1->b1->c1->b2->a2,其中,聚合开关交换机b1、b2和核心开关交换机c1为中间交换机。

本发明实施例是基于数据面的数据路由控制,数据路由的控制动作发生在交换机层面,所要解决的问题是如何在数据中心网络中实现负载均衡。具体的,本发明实施例可在接收到数据流的路由请求时,将数据流的转发转换为数据流胞的转发,还可在转发各个数据流胞时,根据数据中心网络中数据流路由的源端交换机(简称源交换机)和目的端交换机(简称目的交换机)的所有路径中各条路径的负载状态选择目标路径对数据流胞进行转发。同一个数据流的不同数据流胞可在不同的路径上进行转发,具体可根据各个数据流胞转发时各条路径的拥塞程度确定目标路径,不同的路径的拥塞程度由路径上的交换机的负载状态确定,进而可实现数据中心网络的负载均衡。这里的流胞(或者小流)指的是由若干个数据报文组成的一个数据报文序列,数据报文序列的总字节数一般远小于一个数据流的总字节数。下面将结合图2至图8对本发明实施例提供的数据报文转发的方法及装置进行具体描述。

参见图2,是本发明实施例提供的数据报文转发的方法的流程示意图。本发明实施例提供的方法,包括步骤:

s101,源交换机按照预设采样周期采集其到目的交换机的n条路径中的d条采样路径的拥塞程度,并存储采集得到的每条采样路径的拥塞程度指示信息。

在一些可行的实施方式中,数据网络中的交换机转发数据到其他交换机之前,可周期性地探测本机到其他任一交换机之间端到端的路径的拥塞程度,并在本机的本地存储中维持一个路径拥塞程度的记录表格,用于记录两个交换机之间端到端的路径的拥塞程度。进而可在数据流的路由过程中,根据每个数据流胞的路由时间从路径拥塞程度的记录表格中选择当前时间拥塞程度最小的路径进行数据流胞的转发。在本发明实施例中,交换机可按照预设采样周期对路径进行采样,从整个网络的路径中选择一部分路径进行路径检测,并非对整个网络的所有路径进行采样,降低路径采样的复杂度,节省开销,通过路径采样实现网络负载均衡的方法扩展到大规模网络的可行性高。

在一些可行的实施方式中,假设数据网络中的任一交换机(设为源交换机)到网络中的任一其他交换机(设为目的交换机)之间端到端的路径为n条,其中n为大于或者等于2的整数,源交换机可按照预设采样周期从n条路径中随机选择d条采样路径进行路径拥塞程度检测。其中,d为小于n的整数。具体实现中,若源交换机和目的交换机之间的可用路径的数量(即n)小于第一预设阈值,则在采样周期到来时,可在n条可用路径中随机选择d1条采样路径进行路径拥塞程度检测。若源交换机和目的交换机之间的可用路径的数量(即n)大于或者等于第一预设阈值,则在采样周期到来时,可在n条可用路径中随机选择d2条采样路径进行路径拥塞程度检测。其中,d1小于d2,d1和d2均小于n。需要说明的是,源交换机按照预设采样周期进行采样路径选择时,每个采样周期均可随机选择d条采样路径,不同的采样周期随机选择的d条采样路径可为相同的路径,也可为不同的路径,具体可根据随机采样的结果确定,在此不做限制。例如,若数据网络为小规模的网络,即网络中源交换机和目的交换机之间可用的路径的数量(即n)小于200(即第一预设阈值),则可从上述n条路径中选择2条采样路径,即此时d为2(假设为d1)。若数据网络为大规模的网络,即网络中源交换机和目的交换机之间可用的路径的数量(即n)大于或者等于200(即第一预设阈值),则可从上述n条路径中选择3条采样路径,即此时d为3(假设为d2)。需要说明的是,若数据网络为大规模的网络,则选取的采样路径的数目也可为4或者5,即,具体可为大于或者等于2,并且小于或者等于5的任意数值。即,本发明实施例可根据数据网络的规模确定采样路径的数量,操作灵活,适用性更高。

在一些可行的实施方式中,源交换机随机选定了d条采样路径之后,则可向目的交换机发送d个采样探针。其中,每条采样路径对应一个采样探针,即上述d个采样探针中每个采样探针用于探测一条采样路径的拥塞程度。具体的,上述采样探针是一个具有指定格式的数据报文。采样探针的长度为38字节,其中,包含14个字节的以太网报头,4个字节的探针报文和20个字节的ip报头。上述以太网报头和ip报头与其他普通数据报文中包含的以太网报头和ip报头一致,上述探针报头为区别与其他普通数据报文的字段。上述探针报头的4个字节中24个比特用于标识路径(包括采样路径)编号,探针报头的4个字节中的8个比特用于标识路径(包括采样路径)的拥塞程度指示信息。其中,用于标识路径编号的24个比特确定了连接源交换机和目的交换机的所有路径中需要进行采样的采样路径。24个比特可以用于编号的数量高达一千六百万之多(2的24次方),即24个比特编号之后可以用于标识的路径总数高达一千六百万之多,可满足大规模的网络场景,适用性高。本发明实施例提供采样路径的拥塞程度指示信息具体可为采样路径的拥塞程度等级,即可将采样路径的拥塞程度指示信息量化为多个拥塞程度级别(即拥塞程度等级),每个拥拥塞程度级别用一个标识符指示。例如,拥塞程度级别最低的可用标识符0指示,拥塞程度级别最高的可用最大的标识符指示。上述用于标识路径的拥塞程度指示信息的8个比特编码得到的标识符可达256个(2的8次方)。其中,标识符0用于标识最低拥塞程度级别(即拥塞程度等级0),标识符255用于标识最高拥塞程度级别(即拥塞程度级别255)。

在一些可行的实施方式中,源交换机向目的交换机发送采样路径对应的采样探针,例如采样路径1对应的采样探针1,采样探针1经过采样路径1上的每一个中间交换机时,每个中间交换机均把自己的队列长度通过映射加入到采样探针1的qcm字段中(即用于标识拥塞程度指示信息的8个比特对应的字段)。本发明实施例采用对交换机的队列长度进行量化的方式表示采样路径的拥塞程度等级。例如,若采样路径1上的中间交换机的队列长度之和为0到10中的任意数值,即交换机的队列中存储了0个到10个中的任意多个数据报文(例如10个数据报文),则可将交换机的队列长度量化为第一个长度级别,用于标识拥塞程度等级0。即,拥塞程度等级0表示采样路径上的中间交换机的队列长度之和为小于或者等于10个数据报文。若采样路径1上的中间交换机的队列长度之和为11到20中的任意数值,即交换机的队列中存储了11个到20个中的任意多个数据报文(例如15个数据报文),则可将交换机的队列长度量化为第二个长度级别,用于标识拥塞程度等级1。即,拥塞程度等级1表示采样路径1上的中间交换机的队列长度之和大于或者等于11个数据报文,并且小于或者等于20个数据报文。依次类推,可设定每个拥塞程度等级表示的采样路径上的中间交换机的队列长度之和的大小范围,具体可根据实际应用需求设定,在此不做限制。

在一些可行的实施方式中,当采样探针到达目的交换机时,目的交换机生成采样探针的反馈探针。具体的,上述反馈探针可为ack探针,下面将以ack探针为例进行说明。其中,ack(英文:acknowledgement)为确认字符,在数据通信中,接收端(如目标交换机)发给发送端(如源交换机)的一种传输类控制字符。ack表示发送端发来的数据已确认接收无误。其中,采样探针的ack探针的报文内容与采样探针的报文内容相同,采样探针的ack探针只需要把探针报文中的源ip地址和目的ip地址调转即可。例如,如图3,图3是源交换机向目的交换机发送采样探针的示意图。源交换机a与目的交换机b之间的路径有n条,源交换机a从中选择d条采样路径,并向目的交换机b发送d个采样探针。其中,采样路径1上发送的采样探针设定可为采样探针1。采样探针1的报文中的源ip地址为源交换机a的ip地址(如ip1),目的ip地址为目的交换机b的ip地址(如ip2),采样探针1的ack探针1的报文中的源ip地址为目的交换机b的ip地址(即ip2),ack探针1的报文中的目的ip地址为源交换机a的ip地址(即ip1)。若目的交换机接收到的采样探针(如采样探针1)的报文中包含的qcm字段指示的拥塞程度等级为3,则目的交换机向源交换机反馈的采样探针1的ack探针1的报文中包含的qcm字段指示的拥塞程度等级也为3。

需要说明的是,本发明实施例采用交换机的队列长度作为网络路径的拥塞程度的指示信息,适用了数据流中数据流胞对交换机的队列长度更加敏感的特点,提高了采样路径的拥塞程度感知的准确性,进而提高了数据转发的网络负载均衡的控制准确性。

具体实现中,源交换机接收到目的交换机反馈的每个采样探针的ack探针之后,可从每个采样探针的ack探针中获取每条采样路径的路径编号等路径标识和采样路径的拥塞程度指示信息。其中。每条采样路径的拥塞程度指示信息即每个ack探针中qcm字段指示的拥塞程度等级。进一步的,源交换机获取得到每条采样路径的拥塞程度指示信息之后,可将采样路径及其对应的拥塞程度等级记录到源交换机的本地存储空间中。具体的,源交换机可在其本地存储空间中存储采样路径的状态表,如下表1,并可设定每条采样路径的拥塞程度等级的存储有效期。当上述采样路径的拥塞程度等级的存储时间超过预设的存储有效期,则可重新进行路径采样以及采样路径的拥塞程度检测。其中,上述采样路径的拥塞程度等级的存储有效期长度即为源交换机采集路径的拥塞程度的预设采样周期的单个周期长度。源交换机按照预设采样周期进行路径采样和采样路径的拥塞程度检测,可及时更新本地存储空间中存储的表1中存储采样路径的拥塞程度,可保持采样路径的状态检测的准确性,提高数据转发的准确性。

表1

其中,上述目的交换机标识具体可为目的交换机的ip地址等标识,上述路径标识可为路径编号等标识,上述qcm字段可为采样路径上的中间交换机的队列长度的量化级别。其中,k大于0并且小于255。

在一些可行的实施方式中,上述预设采样周期可为20微秒(μs)至60微秒中的任意数值。例如,当采样周期选择40微秒时,在不同的网络负荷和网络拓扑中,可以取得较好的网络性能指标,则可将预设采样周期确定为40微秒。其中,上述网络性能指标可为数流完成时间(flowcompletiontime,fct),即数据流传输完成的时间。具体实现中,上述预设采样周期的确定可采用基于探索的自适应方法来计算预设采样周期。具体的,可预先选择一个较小的测量值作为采样周期,若在该采样周期获取得到的网络性能指标与实时获取到的网络性能指标的效果相近,则可增大测量值进行再次测试。若增大之后的测量值获取得到的网络性能效果依然接近实时获取到的网络性能指标效果,则可继续增大测量值。若增大之后的测量值获取的倒数的网络性能下降幅度超过警戒值,则不再增大测量值,并将增大之前的测量值确定为采样周期。根据上述基于探索的自适应方法,通过多次试验测试即可确定采样周期,以通过上述采样周期进行采样路径采样,获取更好的网络性能,提高采样方法的适用性。

s102,源交换机转发数据流的第一数据报文时,根据所述拥塞程度指示信息从所述d条采样路径中选择第一时间上拥塞程度最小的第一目标采样路径,通过所述第一目标采样路径转发所述第一数据报文,并存储所述第一数据报文所属的第一数据流胞的标识。

在一些可行的实施方式中,源交换机接收到数据流的路由请求时,可首先将数据流切分为一个或者多个数据流胞,每个数据流胞中包含一个或者多个数据报文。具体实现中,数据流中的每个数据报文都有其路由转发时序,源交换机可按照每个数据报文的大小和路径转发时序,按照时序将数据流中的一个数据报文切分为一个数据流胞,或者将数据流中时序相邻的多个数据报文切分为一个数据流胞。其中,每个数据流胞中包含的数据报文的大小总和小于或者等于64kb。

进一步的,源交换机还可为数据流切分得到的每个数据流胞添加数据流胞的标识,还可为每个数据流胞中的每个数据报文添加其所属数据流胞的标识。其中,上述数据流胞的标识包括:数据流的标识信息,以及每个数据流胞在数据流中按照时序排序的编号等信息。其中,上述数据流的标识信息包括:源端ip、源端端口、目的端ip、目的端端口以及协议号等,在此不做限制。

在一些可行的实施方式中,源交换机对数据流进行切分之后,则可按照时序对数据流中的各个数据报文进行转发。源交换机转发数据流中的第一数据报文(例如数据流的第一个数据报文)时,可根据上述本地存储空间中存储的采样路径的状态表,从上述状态表中记录的各个采样路径中选择在当前时间节点(第一时间,即第一数据报文的路由转发时间)对应的该采样周期(设为第一采样周期)采样得到的拥塞程度最小的采样路径确定为目标采样路径(设为第一目标采样路径)。其中,上述拥塞程度最小的采样路径具体可为拥塞程度等级最低的采样路径,例如采样路径1。源交换机确定第一目标采样路径之后,则可通过第一目标采样路径转发第一数据报文。进一步的,源交换机在第一目标采样路径转发第一数据报文之后,可建立第一数据报文和第一目标采样路径的对应关系并存储至本地存储空间中。具体的,源交换机可在本地存储中建立交换机流表,并在交换机流表中记录第一目标采样路径的编号及其对应的第一数据报文的标识,以此建立第一数据报文及其转发路径(即第一目标采样路径)的对应关系。其中,上述第一数据报文的标识包括第一数据报文所属的数据流胞以及该数据流胞所属的数据流。其中,上述第一数据报文所属的数据流胞(设定为数据流胞1)可通过数据流胞1的标识标记,上述数据流胞1所属的数据流(假设为数据流1)也可通过数据流1的标识标记,在此不做限制。

具体实现中,上述第一数据报文与第一目标采样路径的对应关系用于确定与第一数据报文同属一个数据流胞的其他数据报文的转发路径,其中,与第一数据报文同属一个数据流胞的其他数据报文的转发路径也为第一目标采样路径。例如,源交换机可为数据流胞1分配一条采样路径,该数据流胞1中的每个数据报文都在该采样路径上转发。源交换机给数据流胞1(如第一数据流胞)分配采样路径,是在转发数据流胞1的第一个数据报文(如上述第一数据报文)时为数据报文分配采样路径,转发数据流胞1的其他数据报文则不再分配采样路径,而是在该采样路径上继续转发。若在其他时刻转发的新的数据报文不是数据流胞1的数据报文,则为新的数据报文分配采样路径,此时新的数据报文属于其他数据流胞(例如数据流胞2),为新的数据报文分配采样路径也等同于为数据流胞2分配采样路径。数据流胞2的其他数据报文也在该采样路径上转发。

s103,源交换机转发上述数据流的第二数据报文时,判断所述第二数据报文所属的第二数据流胞的标识是否与所述第一数据流胞的标识相同,若判断结果为是,执行步骤s104,否则,执行步骤s105。

s104,通过所述第一目标采样路径转发所述第二数据报文。

s105,根据所述拥塞程度指示信息从所述d条采样路径中选择第二时间上拥塞程度最小的第二目标采样路径,并通过所述第二目标采样路径转发所述第二数据报文。

在一些可行的实施方式中,源交换机转发了第一数据报文并记录了第一数据报文所属的数据流胞之后,在下一个数据报文(设定第二数据报文)的转发时间节点来到时,源交换机可首先判断第二数据报文是否属于第一数据报文所属的数据流胞(如数据流胞1)。具体的,源交换机可根据第二数据报文携带的数据流胞(设定第二数据流胞)的标识,判断上述第二数据流胞的标识是否与上述第一数据流胞的标识相同。若上述第二数据流胞的标识和第一数据流胞的标识相同,则可确定上述第二数据流胞即为第一数据流胞,即,上述第二数据报文为第一数据流胞包含的数据报文。源交换机确定了第二数据报文属于第一数据流胞之后,则可查询交换机流表,根据第一数据流胞的标识和第一目标采样路径的编号的对应关系,从交换机流胞中查找第一数据流胞对应的第一目标采样路径的编号,无需在进行网络路径的拥塞状态的查询,既可提高数据报文转发的效率,又节省功耗。源交换机查找得到第一目标采样路径的编号之后,则可在第一目标采样路径上转发第二数据报文。

进一步的,若上述第二数据流胞的标识和第一数据流胞的标识不相同,则可确定上述第二数据流胞不是第一数据流胞,即,上述第二数据报文不属于第一数据流胞。此时,源交换机可确定第二数据报文为另外一个数据流胞的数据报文,进而可根据当前时间节点(第二时间,即第二数据报文的路由转发时间)从本地存储空间存储的采样路径的拥塞程度的状态表中查询当前采样周期检测得到的各个采样路径的拥塞程度,为第二数据报文选择当前采样周期检测得到的拥塞程度最小(即拥塞程度等级最低)的采样路径(设为第二目标采样路径)进行转发。需要说明的是,上述第一采用周期和第二采样周期可为同一个采样周期,也可为不同的采样周期,具体可根据第一数据报文和第二数据报文的转发时间间隔,以及采样周期的时间长度确定,在此不做限制。即第一数据流胞和第二数据流胞可在同一条采样路径上转发,也可在不同的采样路径上转发,具体可根据实际应用场景中各个采样路径的拥塞程度确定,在此不做限制。

进一步的,在一些可行的实施方式中,若第二数据报文不属于第一数据报文所述的数据流,则可随机选取一条路径对第二数据报文进行转发,或者按照新的数据流进行数据切分和转发处理,具体可参见上述实现方式,在此不再赘述。

在一些可行的实施方式中,本发明实施例采用的数据路由方案但不仅限于现有的源路由(英文:sourcerouting)方案。即,源交换机对数据报文进行转发时可将选取的采样路径的路径编号转换成一个标签序列,并将该标签序列中的标签与所选采样路径上的每一个交换机的某一个端口进行关联。源交换机将该标签序列写入数据流报头中。当数据报文到达某一个交换机时,交换机可以简单地根据报头中的标签将数据报文自动地转发到某一个端口,实现数据报文的转发。

在本发明实施例中,源交换机可对网络中的有效路径的拥塞程度进行采样,当有数据流路由请求时,对数据流进行切段成多个数据流胞,对切段得到的数据流胞进行采样路径拥塞感知(英文:congestionaware)路由。本发明实施例采用对有效路径进行采样的方法有效地降低了方案的复杂度和额外开销,可扩展性高,增强了数据转发路由的适用性。

参见图4,是本发明实施例提供的数据报文转发的一效果示意图。如图,本发明实施例使用归一化(英文:normalized)流完成时间(英文:flowcompletiontime,fct)作为数据转发的主要的性能指标。本发明实施例对四种不同的数据转发路由方式的数据转发效果进行了比较,具体的可比较网络中99%的老鼠流(即流量在(0,64kb)区间内的数据流)的normalizedfct。图4显示了在数据挖掘业务中,网络负载为0.2~0.8等情况下,不同的负载均衡方案的数据转发效果。其中,网络负载为0.2~0.8表示网络的流量负荷与满载的比例。例如,网络负载为1表示当前网络的流量负荷为满载,网络负载为0.2表示网络的流量负荷为满载的20%。其中,不同的负载均衡方案包括:罗盘负载均衡方案、局部采样负载均衡方案(即本发明实施例上述实施例描述的数据报文转发方案)、随机路由负载均衡方案和轮询负载均衡方案等。

在图4中,横坐标为负载,纵坐标为normalizedfct。在数据挖掘业务的应用场景中,图示中不同的负载均衡方案,在不同的网络负载下得到的normalizedfct也不同,具体可参见如下表2。表2为各个负载均衡方案在不同的网络负载下处理得到的normalizedfct的数据记录表格。

表2

由上述表2所示的数据可得到:与轮询负载均衡相比,本发明实施例提供的局部采样方案在数据挖掘业务的应用场景上可取得22%~35%的性能提升,与随机策略相比可取得4%~17%的性能提升。本发明实施例采用对有效路径进行采样的方法有效地降低了方案的复杂度和额外开销,可扩展性高,适用性高。

参见图5,是本发明实施例提供的数据报文转发的另一效果示意图。如图,

本发明实施例使用normalizedfct作为数据转发的主要的性能指标。本发明实施例对四种不同的数据转发路由方式的数据转发效果进行了比较,具体的可比较网络中99%的老鼠流的normalizedfct。图5显示了在网络搜索场景中,网络负载为0.2~0.8等情况下,不同的负载均衡方案的数据转发效果。其中,网络负载为0.2~0.8表示网络的流量负荷与满载的比例。例如,网络负载为1表示当前网络的流量负荷为满载,网络负载为0.2表示网络的流量负荷为满载的20%。其中,不同的负载方案包括:罗盘负载均衡方案、局部采样负载均衡方案(即本发明实施例上述实施例描述的数据报文转发方案)、随机路由负载均衡方案和轮询负载均衡方案等。

在图5中,横坐标为负载,纵坐标为normalizedfct。在网络搜索的应用场景中,图示中不同的负载均衡方案,在不同的网络负载下得到的normalizedfct也不同,具体可参见如下表3。表3为各个负载均衡方案在不同的网络负载下处理得到的normalizedfct的数据记录表格。

表3

由上述表3所示的数据可得到:与轮询负载均衡相比,本发明实施例提供的局部采样方案在网络搜索业务上老鼠流完成时间性能上取得26%~45%的提升,与随机策略相比在网络搜索业务上老鼠流完成时间性能上取得11%~31%的提升。本发明实施例采用对有效路径进行采样的方法有效地降低了方案的复杂度和额外开销,可扩展性高,适用性高。

参见图6,是本发明实施例提供的数据报文转发的装置的一结构示意图。本发明实施例提供的装置包括:

采样模块61,用于按照预设采样周期采集源交换机到目的交换机的n条路径中的d条采样路径的拥塞程度,并存储采集得到的每条采样路径的拥塞程度指示信息,所述d小于n。

转发模块62,用于在转发数据流的第一数据报文时,根据所述采样模块61采集到的所述拥塞程度指示信息从所述d条采样路径中选择第一时间上拥塞程度最小的第一目标采样路径,通过所述第一目标采样路径转发所述第一数据报文。

存储模块63,用于存储所述转发模块62转发的所述第一数据报文所属的第一数据流胞的标识。

判断模块64,用于在所述转发模块62转发所述数据流的第二数据报文之前,判断所述第二数据报文所属的第二数据流胞的标识是否与所述存储模块63中存储的所述第一数据流胞的标识相同。

上述转发模块62,还用于在所述判断模块64判断结果为是时,通过所述第一目标采样路径转发所述第二数据报文;

上述转发模块62,还用于在所述判断模块64判断结果为否时,根据所述采样模块采集的所述拥塞程度指示信息从所述d条采样路径中选择第二时间上拥塞程度最小的第二目标采样路径,并通过所述第二目标采样路径转发所述第二数据报文。

在一些可行的实施方式中,上述采样模块61具体用于:

按照预设采样周期从源交换机到目的交换机的n条路径中随机选择d条采样路径,并向所述目的交换机发送所述d条采样路径一一对应的d个采样探针;

接收所述目的交换机反馈的所述d个采样探针中每个采样探针的反馈探针,并获取每个采样探针的反馈探针中携带的每条采样路径的拥塞程度指示信息。

在一些可行的实施方式中,上述采样模块61具体用于:

在n小于第一预设阈值时,按照预设采样周期从所述n条路径中随机选择d1条采样路径;

在n大于或者等于第一预设阈值,按照预设采样周期从所述n条路径中随机选择d2条采样路径;

其中,d1小于d2,d2小于n。

在一些可行的实施方式中,所述采样探针或者所述采样探针的反馈探针为具有指定格式的数据报文;

其中,所述指定格式的数据报文中包含探针报头;

所述探针报头中包含的第一数目的比特用于标识采样路径编号,所述探针报头中的包含的第二数目的比特用于标识采样路径的拥塞程度指示信息。

在一些可行的实施方式中,所述d条采样路径的拥塞程度指示信息包括所述d条采样路径中每条采样路径的拥塞程度等级;

其中,所述每条采样路径的拥塞程度等级由每条采样路径上的中间交换机的队列长度之和确定;

所述中间交换机为采样路径上的除了源交换机和目的交换机之外的交换机。

在一些可行的实施方式中,参见图7,是本发明实施例提供的装置的另一结构示意图,本发明实施例提供的装置还包括:

数据切分模块65,用于在所述转发模块62转发数据流的第一数据报文之前,按照时序将所述数据流切分为预设数据大小的至少一个数据流胞,所述至少一个数据流胞中每个数据流胞包含至少一个数据报文;

上述数据切分模块65,还用于添加所述至少一个数据流胞中每个数据流胞的标识,并为每个数据流胞包含的每个数据报文添加其所属数据流胞的标识。

在一些可行的实施方式中,所述每个数据流胞的标识包括:所述数据流的标识信息,以及每个数据流胞在所述数据流中的编号中的至少一种;

其中,所述数据流的标识信息包括:源端ip、源端端口、目的端ip、目的端端口以及协议号中的至少一种。

在一些可行的实施方式中,上述存储模块63还用于:

存储所述第一目标采样路径的编号,并建立所述第一数据流胞的标识与所述第一目标采样路径的编号的对应关系;

所述转发模块62具体用于:

在所述第二数据流胞的标识与所述第一数据流胞的标识相同时,根据所述第二数据流胞的标识和所述存储模块存储的所述对应关系确定第一目标采样路径,并通过所述第一目标采样路径转发所述第二数据报文。

具体实现中,数据报文转发的装置可通过其内置的各个模块实现本发明实施例提供的数据报文转发的方法中各个步骤描述实现方式,具体可参见上述实施例中各个步骤的描述,在此不再赘述。

本申请源交换机向目的交换机转发数据流之前,可预先选择源交换机到目的交换机的所有路径中的若干采样路径,按照预设采样周期采集采样路径的拥塞程序,并在源交换机的本地存储中存储每条采样路径的拥塞程序指示信息,提高了网络拥塞感知的可扩展性。源交换机转发数据流时以数据流胞为单位进行数据转发,每个数据流胞包含一个或者多个数据报文,属于一个数据流胞的每个数据报文在相同的采样路径上转发。源交换机转发每个数据流胞的第一个数据报文时,可根据该数据报文转发的当前时间从本地存储中查找当前时间上网络拥塞程序最小的目标采样路径,通过目标采样路径转发该数据报文。若同一条采样路径在多个预设采样周期内均为拥塞程度最小的路径,则不同的数据流胞可在同一条采样路径上转发,即每个数据流胞的第一个数据报文转发时都选择当前时间上拥塞程度最小的路径转发。若不同的预设采样周期采集到的网络拥塞程度最小的路径不相同,并且数据流胞的转发时长大于采样周期的长度,则将使得不同的数据流胞在不同的采样路径上转发,可提高数据报文转发的适用性,更好地实现了网络负载均衡。

参见图8,是本发明实施例提供的源交换机的结构示意图。本发明实施例提供的交换机具体可为上述实施例中描述的源交换机,其可包括:存储器801和处理器802。

上述存储器801用于存储一组程序代码;

上述处理器802用于调用所述存储器801中存储的程序代码执行如下操作:

按照预设采样周期采集其到目的交换机的n条路径中的d条采样路径的拥塞程度,并通过所述存储器801存储采集得到的每条采样路径的拥塞程度指示信息,所述d小于n;

转发数据流的第一数据报文时,根据所述拥塞程度指示信息从所述d条采样路径中选择第一时间上拥塞程度最小的第一目标采样路径,通过所述第一目标采样路径转发所述第一数据报文,并通过所述存储器801存储所述第一数据报文所属的第一数据流胞的标识;

转发所述数据流的第二数据报文时,判断所述第二数据报文所属的第二数据流胞的标识是否与所述第一数据流胞的标识相同;

若所述第二数据流胞的标识与所述第一数据流胞的标识相同,则通过所述第一目标采样路径转发所述第二数据报文;

若所述第二数据流胞的标识与所述第一数据流胞的标识不同,则根据所述拥塞程度指示信息从所述d条采样路径中选择第二时间上拥塞程度最小的第二目标采样路径,并通过所述第二目标采样路径转发所述第二数据报文。

在一些可行的实现方式中,上述处理器802具体用于:

按照预设采样周期从其到目的交换机的n条路径中随机选择d条采样路径,并向所述目的交换机发送所述d条采样路径一一对应的d个采样探针;

接收所述目的交换机反馈的所述d个采样探针中每个采样探针的反馈探针,并获取每个采样探针的反馈探针中携带的每条采样路径的拥塞程度指示信息。

在一些可行的实现方式中,上述处理器802具体用于:

若n小于第一预设阈值,则按照预设采样周期从所述n条路径中随机选择d1条采样路径;

若n大于或者等于第一预设阈值,则按照预设采样周期从所述n条路径中随机选择d2条采样路径;

其中,d1小于d2,d2小于n。

在一些可行的实现方式中,所述采样探针或者所述采样探针的反馈探针为具有指定格式的数据报文;

其中,所述指定格式的数据报文中包含探针报头;

所述探针报头中包含的第一数目的比特用于标识采样路径编号,所述探针报头中的包含的第二数目的比特用于标识采样路径的拥塞程度指示信息。

在一些可行的实现方式中,所述d条采样路径的拥塞程度指示信息包括所述d条采样路径中每条采样路径的拥塞程度等级;

其中,所述每条采样路径的拥塞程度等级由每条采样路径上的中间交换机的队列长度之和确定;

所述中间交换机为采样路径上的除了源交换机和目的交换机之外的交换机。

在一些可行的实现方式中,上述处理器802具体用于:

按照时序将所述数据流切分为预设数据大小的至少一个数据流胞,所述至少一个数据流胞中每个数据流胞包含至少一个数据报文;

添加所述至少一个数据流胞中每个数据流胞的标识,并为每个数据流胞包含的每个数据报文添加其所属数据流胞的标识。

在一些可行的实现方式中,所述每个数据流胞的标识包括:所述数据流的标识信息,以及每个数据流胞在所述数据流中的编号中的至少一种;

其中,所述数据流的标识信息包括:源端ip、源端端口、目的端ip、目的端端口以及协议号中的至少一种。

在一些可行的实现方式中,上述处理器802具体用于:

通过所述存储器801存储所述第一目标采样路径的编号,并建立所述第一数据流胞的标识与所述第一目标采样路径的编号的对应关系;

若所述第二数据流胞的标识与所述第一数据流胞的标识相同,则根据所述第二数据流胞的标识和所述对应关系确定第一目标采样路径,并通过所述第一目标采样路径转发所述第二数据报文。

具体实现中,上述交换机具体可为本发明实施例提供的源交换机,源交换机可通过其内置的各个模块实现本发明实施例提供的数据报文转发的方法中各个步骤描述实现方式,具体可参见上述实施例中各个步骤的描述,在此不再赘述。

本申请源交换机向目的交换机转发数据流之前,可预先选择源交换机到目的交换机的所有路径中的若干采样路径,按照预设采样周期采集采样路径的拥塞程序,并在源交换机的本地存储中存储每条采样路径的拥塞程序指示信息,提高了网络拥塞感知的可扩展性。源交换机转发数据流时以数据流胞为单位进行数据转发,每个数据流胞包含一个或者多个数据报文,属于一个数据流胞的每个数据报文在相同的采样路径上转发。源交换机转发每个数据流胞的第一个数据报文时,可根据该数据报文转发的当前时间从本地存储中查找当前时间上网络拥塞程序最小的目标采样路径,通过目标采样路径转发该数据报文。若同一条采样路径在多个预设采样周期内均为拥塞程度最小的路径,则不同的数据流胞可在同一条采样路径上转发,即每个数据流胞的第一个数据报文转发时都选择当前时间上拥塞程度最小的路径转发。若不同的预设采样周期采集到的网络拥塞程度最小的路径不相同,并且数据流胞的转发时长大于采样周期的长度,则将使得不同的数据流胞在不同的采样路径上转发,可提高数据报文转发的适用性,更好地实现了网络负载均衡。

本发明的说明书、权利要求书以及附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或者单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或者单元,或可选地还包括对于这些过程、方法、系统、产品或设备固有的其他步骤或单元。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程度来指令相关的硬件来完成,所述的程度可存储于一计算机可读取存储介质中,该程度在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。

以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1