一种报文传输链路的分配方法和装置的制作方法

文档序号:7706536阅读:135来源:国知局

专利名称::一种报文传输链路的分配方法和装置的制作方法
技术领域
:本发明涉及通信
技术领域
,尤其涉及一种报文传输链路的分配方法和装置。
背景技术
:伴随着网络流量的增长,通过单一的链路连接的两台网络设备已经不能担负日益暴涨的流量规模,于是在两台设备间提供多条并行链路。第一是有效增加两台设备之间的传送带宽。第二是增强了运营的可靠性,提高了转发效率。当其中的某条链路出现故障时,流量可以转发到其他正常工作的链路上。因而将报文分发到多条并行的链路上得到了广泛的应用。为了实现对并行链路的带宽的最大利用,通过逐流或者逐包的方式,可以将流量均衡的分布到每条并行链路上。逐流负载分担是指根据报文的源MAC地址、目地MAC地址、源IP地址、目的IP地址、源TCP/UDP端口或目的TCP/UDP端口区别数据流,使属于同一数据流的报文从同一个的成员链路上通过。逐流负载分担能保证包的顺序,但不能保证带宽利用率。逐包负载分担是指不区分数据流,而是以报文为单位,将流量分担到不同的成员链路上进行传输。逐包负载分担能保证带宽利用率,但不能保证包的顺序。一般可以通过将上述报文中的输入域段(MAC、IP等)通过Hash(例如CRC(CyclicRedundancyCheck,循环冗余校验)或者异或)之后得到一个收敛的信息,用其与并行链路数量求余,余数用于选取并行链路中的最终的出口。对某条流量来说,其IP或者MAC地址在转发过程中是固定不变化的,因此收敛后的信息不会变化,若出口数量不变化,则选择的出口路径也不会变。在图1示出的典型组网结构中,流量自左向右转发。在R1到R15每个网络设备之间以二叉方式连接,每个网络设备的出口都是2个,流量在每个网络设备上都要求被均衡分布到出口。在实现本发明过程中,发明人发现现有技术中至少存在如下问题若网络设备都配置为逐流负载分担且每一级采用同样的计算方式,这样会导致流量在流经第二级时发生失衡。如图1所示,流量可在R1上被均匀的分布在两个出口Rl.O(以R1.0表示R1到R2的输出报文数量,其他表示方式类同)禾口R1.1上。在R2上采用同样的算法,每条流量中的IP或者MAC又不变的情况下,求出的余数还是0,流量在R2上完全偏往R2.0。同样在R3上流量完全偏向R3.1。这样流量在第二级开始失衡,不能实现负载分担。
发明内容本发明实施例提供一种报文传输链路的分配方法和装置,以实现并行链路连接的多级网络设备上的网络流量均衡负担。根据本发明的一方面,提供一种报文传输链路的分配方法,包括从网络设备接收到的报文中获得第一特征信息集合中的报文特征信息,根据所述报文特征信息生成第一序列;将所述第一序列输入哈希函数生成第二序列;将所述第二序列输入单向收敛函数或者单向散列函数生成第三序列,或者按照第一设定规则选取部分或者全部所述第二序列中的值生成第三序列;将所述第三序列的值与所述网络设备的出口数量求余,将得到的余数对应的所述网络设备的出口所对应的传输链路分配给所述报文。根据本发明的一方面,还提供一种报文传输链路的分配装置,包括第一序列生成模块,用于从网络设备接收到的报文中获得第一特征信息集合中的报文特征信息,根据所述报文特征信息生成第一序列;第二序列生成模块,用于将所述第一序列输入CRC函数生成第二序列;第三序列生成模块,用于将所述第二序列输入单向收敛函数或者单向散列函数生成第三序列,或者按照第一设定规则选取部分或者全部所述第二序列中的值生成第三序列;分配模块,用于将所述第三序列的值与所述网络设备的出口数量求余,将得到的余数对应的所述网络设备的出口所对应的传输链路分配给所述报文。相对于现有技术来说,本发明实施例提供的技术方案中增加了将第二序列生成第三序列的步骤,并且生成第三序列的方法可以为将第二序列输入单向收敛函数或者单向散列函数生成第三序列,或者按照第一设定规则选取部分或者全部第二序列中的值生成第三序列,可见,报文在并行传输链路中的分配可以更加均衡,更能保证带宽的利用率,可以在逐流负载分担的情况下,实现并行链路连接的多级网络设备上的网络流量均衡负担。为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为一种每个网络设备之间以二叉方式连接的典型组网结构;图2为本发明实施例中报文传输链路的分配方法的流程图;图3为实施例一中报文传输链路的分配方法的流程图;图4为实施例一中按照第一设定规则选取部分或者全部第二序列中的值生成第三序列的示意图5为实施例二中报文传输链路的分配方法的流程图;图6为实施例三中的一种报文传输链路的分配装置框图;图7为实施例三中的第一个优选实例中的分配装置框图8为实施例三中的第二个优选实例中的分配装置框图9为实施例三中的第二个优选实例中的分配装置的第一个优化框图10为实施例三中的第二个优选实例中的分配装置的第二个优化框图。具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本发明实施例中报文传输链路的分配方法,如图2所示,包括步骤101,从网络设备接收到的报文中获得第一特征信息集合中的报文特征信息;步骤102,根据获得的报文特征信息生成第一序列;步骤103,将第一序列输入哈希函数生成第二序列。在本实施例中,哈希函数可以为CRC、折叠异或运算(XORFolding)、校验和(checksum)。为使更好的理解本发明,以CRC作为例子进行说明,不管采用CRC、折叠异或运算(XORFolding)、校验和(checksum)中的哪一个函数,其目的只为将第一序列获得另一个序列。步骤104,将第二序列输入单向收敛函数或者单向散列函数生成第三序列,或者按照第一设定规则选取部分或者全部第二序列中的值生成第三序列;步骤105,将第三序列的值与网络设备的出口数量求余,将得到的余数对应的网络设备的出口所对应的传输链路分配给报文。在上述流程中,报文特征信息可以包括SIP(SourceIP,源IP(InternetProtocol,互联网协议))地址、DIP(DestinationIP,目的IP)地址、源TCP(TransmissionControlProtocol,传输控帝lj助、议)/UDP(userdatagramprotocol,用户数据报协议)端口、目的TCP/UDP端口、源MAC(MediaAccessControl,介质访问控制)地址、目的MAC地址等对报文起标识作用的信息。步骤101中的第一特征信息集合中至少包括一组标识出数据流的源网络设备标识与目的网络设备标识的报文特征信息,例如包括SIP地址和DIP地址。在本步骤102中,可以根据预设的报文特征信息的排序方式生成第一序列;也可以根据预设的报文特征信息的排序方式生成第四序列,并对第四序列进行加扰处理生成第一序列。该加扰处理可以是对第一特征信息集合中的报文特征信息本身进行处理,也可以是利用其他信息对第一特征信息集合中的报文特征信息进行处理达到加扰得效果,其具体处理方式参见后续实施例。该加扰处理是对第一特征信息集合中的报文特征信息本身进行处理时,具体方法可以为按照第二设定规则将第四序列中的部分或者全部比特位上的值进行置换生成第一序列;或者按照第三设定规则选取部分或者全部第四序列中的值生成第一序列。由于第一序列可能是一个很长的序列,其具体长度根据用户配置的第一特征信息集合确定,因此,选取部分或者全部第四序列中的值生成第一序列的逻辑实现相对比较复杂,在需要高速短周期完成的情况下存在一定困难。在步骤104中,上述单向收敛函数可以是MD5(Message-digestAlgorithm5(信息-摘要算法))等。利用单向散列函数生成第三序列时,具体可以将第二序列做不同的左右循环移位,或者从第二序列中随机抽取若干bit,或者从第二序列中选取连续的若干比特序列,但截取的起始比特位对于各个网络设备来说是独立的。也就是说,各个网络设备的截取的起始比特位可以不同。在步骤104中,按照第一设定规则选取部分或者全部第二序列中的值生成第三序列的方法可以与上述按照第三设定规则选取部分或者全部第四序列中的值生成第一序列的方法一样,但在具体实现时,第一设定规则和第三设定规则也可以不同,具体请参见后续实施例。相对于现有技术来说,本发明实施例提供的技术方案中增加了将第二序列生成第三序列的步骤,并且生成第三序列的方法可以为将第二序列输入单向收敛函数或者单向散列函数生成第三序列,或者按照第一设定规则选取部分或者全部第二序列中的值生成第三序列,可见,对于网络设备来说,报文传输链路的分配的可配置的计算方式增加了,对于网络来说,每一级网络设备采用相同计算方式的概率降低了,网络中报文传输链路的分配可以更加均衡,更能保证带宽的利用率。下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行详细描述。实施例一本实施例中报文传输链路的分配方法,如图3所示,包括步骤201,从网络设备接收到的报文中获得第一特征信息集合中的报文特征信息;在本实施例中,第一特征信息集合中的报文特征信息为SIP地址和DIP地址,具体第一特征信息集合中的报文特征信息还可以由用户配置。步骤202,根据预设的报文特征信息的排序方式生成第一序列;该预设的报文特征信息的排序方式可以是"SIP地址+DIP地址"或者"DIP地址+SIP地址"。步骤203,将第一序列输入CRC函数(例如CRC-x函数)生成第二序列;步骤204,按照第一设定规则选取部分或者全部第二序列中的值生成第三序列;在本步骤中,也可以将第二序列输入单向收敛函数或者单向散列函数生成第三序列。在一个实例中,第二序列是一个X比特(bit)的序列,第一设定规则指示从该X比特的序列中选取Y比特的数据,并生成Y比特的第三序列,YSX,具体可如图4所示,在进行选择时,第二序列的每个比特位最多能被使用一次。这样新产生的Y比特的第三序列可以有^种排列,在每一级设备上使用的相同的计算方式进行报文链路分配的概率被降低了。步骤205,将第三序列的值与网络设备的出口数量求余,将得到的余数对应的网络设备的出口所对应的传输链路分配给报文。在上述实例中,在按照第一设定规则选取部分第二序列中的值生成第三序列(即Y<X)时,根据网络设备的出口数量确定第三序列的比特位的数量,例如,本实例中网络设备的出口数量为N-9,则Y应该不小于4,这是由于,当Y为3是,其值最大为7,则将第三序列的值与网络设备的出口数量求余时,得到的余数可能为0至7,只有8个数值,不能分别标识网络设备的9个出口,则其中一个出口一直无法分配到报文,造成分配失衡。为了更好地保证分配的平衡,通常情况下,Y比特对应的最大数值应该远远大于网络设备的出口数量。实施例二本实施例中报文传输链路的分配方法,如图5所示,包括步骤301,从网络设备接收到的报文中获得第一特征信息集合中的报文特征信息,SIP地址和DIP地址;步骤302,根据预设的报文特征信息的排序方式生成第四序列;步骤303,从网络设备接收到的报文中获得第二特征信息集合中的报文特征信息,源MAC地址和目的MAC地址;步骤304,根据源MAC地址和目的MAC地址收敛得到第五序列;步骤305,将第五序列与一个特定值相加,忽略最高进位得到第六序列;该特定值可以为一个预设数值,也可以是以第五序列作为索引从预设数值集合中获得的值。在该特定值为一个预设数值时,该特定值可以由用户设置,也可以根据网络设备所处的环境的温度等信息来生成,对于网络设备来说,该特定值是一个常数,但对于整个网络来说,每个网络设备上的该特定值都不相同,这样能够更好地保证每个网络设备为报文进行链路分配的均衡性。在该特定值为是以第五序列作为索引从预设数值集合中获得的值时,用户可以预先设置一个数值集合,则在步骤304获得第五序列后,可以以第五序列作为索引査询该数值集合,获得该特定值。这样做,对于同一个数据流来说,由于其报文特征信息相同,则获得的第五序列也相同,可以得到一个相同的特定值,则经过后续步骤后,同一个数据流的不同报文选择的将选择同一个出口;而对于不同数据流来说,由于其报文特征信息不同,则获得的第五序列也可能不同,可能得到不同的特定值,从而让第六序列的值更加随机,从而令后续的出口分配更加均衡。在本实施例中,步骤302与后续的步骤303至305没有一定的先后关系。步骤306,将第六序列插入第四序列的设定位置生成第一序列;在具体实现时,可以不包括步骤305,并在本步骤中,将第五序列插入第四序列的设定位置生成第一序列。在具体实现中,可以将第六序列插入第四序列的任意位置,例如将第六序列附在第四序列之后。步骤307,将第一序列输入CRC函数生成第二序列;步骤308,将第二序列输入单向收敛函数或者单向散列函数生成第三序列;在本步骤中,可以采用随机交换、随机移位(包含循环移位)、随机连续截取等方式。这里所谓的随机是相对而言的,一旦一个网络设备确定了一种将第二序列生成第三序列的方式,除非用户更改配置,否则该生成方式不会发生变化。步骤309,将第三序列的值与网络设备的出口数量求余,将得到的余数对应的网络设备的出口所对应的传输链路分配给报文。在一个实例中,以图1的形式组网,分为4级负载分担。步骤307中采用选择CRC-10函数,输入的第一序列为SIP、DIP、源MAC地址+目的MAC地址+Data[i],其中,SIP、DIP为第四序列,源MAC地址+目的MAC地址屮Data[i]为第六序列,i表示图中的每一台路由器(即上述网络设备),Data[i]即上述与第五序列相加的预定值,每个路由器的出口都是2个。下面给出一个实际的模型测试分析结果SIP为24位掩码,从202.128.129.0202.128.255随机变化;DIP为24位掩码,从202.100.101.103202.100.10U18递增变化,总共有4096条数据流,共输入100000个报文。下面以R1.0表示R1到R2的输出报文数量,其他表示方式类同。在本实例中,Rl的输出为<table>tableseeoriginaldocumentpage14</column></row><table>可以看出,Rl的输出较为均衡。R2R3的输出为<table>tableseeoriginaldocumentpage14</column></row><table>可以看出,R2R3的输出较为均衡。R8R15的输出中只列举出R8,R9,RIO,R13,R14,R15的输出,具体为:<table>tableseeoriginaldocumentpage14</column></row><table>可以看出,第四级网络设备的输出也较为均衡'由上述模型测试分析结果可以看出,采用本实施例的技术方案,能够在采用逐流负载分担的情况下,实现并行链路连接的多级网络设备的网络流量均衡负担,大大减少多级组网负载分担时不均衡的几率。实施例三本实施例中的一种报文传输链路的分配装置,如图6所示,包括-第一序列生成模块601,用于从网络设备接收到的报文中获得第一特征信息集合中的报文特征信息,根据报文特征信息生成第一序列;第二序列生成模块602,用于将第一序列输入CRC函数生成第二序列;第三序列生成模块603,用于将第二序列输入单向收敛函数或者单向散列函数生成第三序列,或者按照第一设定规则选取部分或者全部第二序列中的值生成第三序列;分配模块604,用于将第三序列的值与网络设备的出口数量求余,将得到的余数对应的网络设备的出口所对应的传输链路分配给报文。该分配装置可以是网络设备本身,也可以是对其进行控制的其他装置。在本实施例的第一个优选实例中,如图7所示,该分配装置还可以包括第五序列生成模块605,用于从网络设备接收到的报文中获得第二特征信息集合中的报文特征信息,根据获得的第二特征信息集合中的报文特征信息收敛得到第五序列并输出;在该分配装置包括第五序列生成模块605的情况下,第一序列生成模块601,用于从网络设备接收到的报文中获得第一特征信息集合中的报文特征信息,根据预设的报文特征信息的排序方式生成第四序列,并将第五序列插入第四序列的设定位置生成第一序列。在本实施例的第二个优选实例中,如图8所示,该分配装置还可以包括第六序列生成模块606,用于从网络设备接收到的报文中获得第二特征信息集合中的报文特征信息,根据获得的第二特征信息集合中的报文特征信息收敛得到第五序列,将第五序列与一特定值相加,忽略最高进位得到第六序列并输出;在该分配装置包括第六序列生成模块606的情况下,第一序列生成模块601,用于从网络设备接收到的报文中获得第一特征信息集合中的报文特征信息,根据预设的报文特征信息的排序方式生成第四序列,并将第六序列插入第四序列的设定位置生成第一序列。在本实施例的第二个优选实例中,进一步地,可以对图8所示的分配装置进行优化,本实施例的第二个优选实例中的的第一个优化框图如图9所示,包括第一存储模块607,用于保存该特定值并提供给第六序列生成模块606。本实施例的第二个优选实例中的的第二个优化框图如图IO所示,包括第二存储模块608和特定值获得模块609,其中,第二存储模块608用于保存预设数值集合;特定值获得模块609用于以该第五序列作为索引从该预设数值集合中获得该特定值并提供给第六序列生成模块606。由于在本实施例提供的分配装置中包括第三序列生成模块603,将第二序列输入单向收敛函数或者单向散列函数生成第三序列,或者按照第一设定规则选取部分或者全部第二序列中的值生成第三序列,对于网络设备来说,报文传输链路的分配的可配置的计算方式增加了,对于网络来说,每一级网络设备采用相同计算方式的概率降低了,网络中报文传输链路的分配可以更加均衡,更能保证带宽的利用率。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)或随禾几存储i己十乙体(RandomAccessMemory,RAM)等。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。权利要求1、一种报文传输链路的分配方法,其特征在于,包括从网络设备接收到的报文中获得第一特征信息集合中的报文特征信息,根据所述报文特征信息生成第一序列;将所述第一序列输入哈希函数生成第二序列;将所述第二序列输入单向收敛函数或者单向散列函数生成第三序列,或者按照第一设定规则选取部分或者全部所述第二序列中的值生成第三序列;将所述第三序列的值与所述网络设备的出口数量求余,将得到的余数对应的所述网络设备的出口所对应的传输链路分配给所述报文。2、根据权利要求1所述的方法,其特征在于,所述根据所述报文特征信息生成第一序列的步骤包括根据预设的所述报文特征信息的排序方式生成所述第一序列。3、根据权利要求1所述的方法,其特征在于,所述根据所述报文特征信息生成第一序列的步骤包括根据预设的所述报文特征信息的排序方式生成第四序列,并对所述第四序列进行加扰处理生成所述第一序列。4、根据权利要求3所述的方法,其特征在于,还包括从所述网络设备接收到的报文中获得第二特征信息集合中的报文特征信息,根据获得的所述第二特征信息集合中的报文特征信息收敛得到第五序列;所述对所述第四序列进行加扰处理生成所述第一序列的步骤包括.-将所述第五序列插入所述第四序列的设定位置生成所述第一序列。5、根据权利要求3所述的方法,其特征在于,所述对所述第四序列进行加扰处理生成所述第一序列的步骤包括按照第二设定规则将所述第四序列中的部分或者全部比特位上的值进行置换生成所述第一序列。6、根据权利要求3所述的方法,其特征在于,所述对所述第四序列进行加扰处理生成所述第一序列的步骤包括按照第三设定规则选取部分或者全部所述第四序列中的值生成第一序列。7、根据权利要求3所述的方法,其特征在于,还包括从所述网络设备接收到的报文中获得第二特征信息集合中的报文特征信息,根据获得的所述第二特征信息集合中的报文特征信息收敛得到第五序列,将所述第五序列与一个特定值相加,忽略最高进位得到第六序列;所述对所述第四序列进行加扰处理生成所述第一序列的方法为将所述第六序列插入所述第四序列的设定位置生成所述第一序列。8、根据权利要求7所述的方法,其特征在于,所述特定值为一个预设数值;或者所述特定值为以所述第五序列作为索引从预设数值集合中获得的值。9、根据权利要求1所述的方法,其特征在于,所述按照第一设定规则选取部分所述第二序列中的值生成第三序列的步骤包括根据所述网络设备的出口数量确定所述第三序列的比特位的数量。10、根据权利要求1至9中任一权利要求所述的方法,其特征在于,所述报文特征信息包括源互联网协议IP地址、目的IP地址、源传输控制协议TCP/用户数据报协议UDP端口、目的TCP/UDP端口、源介质访问控制MAC地址、目的MAC地址;所述特征信息集合中至少包括一组标识出数据流的源网络设备标识与目的网络设备标识的报文特征信息。11、一种报文传输链路的分配装置,其特征在于,包括第一序列生成模块,用于从网络设备接收到的报文中获得第一特征信息集合中的报文特征信息,根据所述报文特征信息生成第一序列;第二序列生成模块,用于将所述第一序列输入哈希函数生成第二序列;第三序列生成模块,用于将所述第二序列输入单向收敛函数或者单向散列函数生成第三序列,或者按照第一设定规则选取部分或者全部所述第二序列中的值生成第三序列;分配模块,用于将所述第三序列的值与所述网络设备的出口数量求余,将得到的余数对应的所述网络设备的出口所对应的传输链路分配给所述报文。12、根据权利要求11所述的装置,其特征在于,还包括第五序列生成模块,用于从网络设备接收到的报文中获得第二特征信息集合中的报文特征信息,根据获得的所述第二特征信息集合中的报文特征信息收敛得到第五序列并输出;所述第一序列生成模块,用于从网络设备接收到的报文中获得第一特征信息集合中的报文特征信息,根据预设的所述报文特征信息的排序方式生成第四序列,并将所述第五序列插入所述第四序列的设定位置生成所述第一序列。13、根据权利要求11所述的装置,其特征在于,还包括第六序列生成模块,用于从网络设备接收到的报文中获得第二特征信息集合中的报文特征信息,根据获得的所述第二特征信息集合中的报文特征信息收敛得到第五序列,将所述第五序列与一个特定值相加,忽略最高进位得到第六序列并输出;所述第一序列生成模块,用于从网络设备接收到的报文中获得第一特征信息集合中的报文特征信息,根据预设的所述报文特征信息的排序方式生成第四序列,并将所述第六序列插入所述第四序列的设定位置生成所述第一序列。14、根据权利要求13所述的装置,其特征在于,包括第一存储模块,用于保存所述特定值并提供给所述第六序列生成模块。15、根据权利要求13所述的装置,其特征在于,包括第二存储模块,用于保存预设数值集合;特定值获得模块,用于以所述第五序列作为索引从所述预设数值集合中获得所述特定值并提供给所述第六序列生成模块。全文摘要本发明公开一种报文传输链路的分配方法和装置,该方法包括从网络设备接收到的报文中获得第一特征信息集合中的报文特征信息,根据报文特征信息生成第一序列;将第一序列输入哈希函数生成第二序列;将第二序列输入单向收敛函数或者单向散列函数生成第三序列,或者按照第一设定规则选取部分或者全部第二序列中的值生成第三序列;将第三序列的值与网络设备的出口数量求余,将得到的余数对应的网络设备的出口所对应的传输链路分配给报文。采用本发明技术方案,可以在逐流负载分担的情况下,实现并行链路连接的多级网络设备上的网络流量均衡负担。文档编号H04L12/56GK101527685SQ200910130460公开日2009年9月9日申请日期2009年4月17日优先权日2009年4月17日发明者彭晓澎,雄杨,董细金,锐谭申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1