CN104618253B - 一种动态变更的传输报文处理方法和装置 - Google Patents
一种动态变更的传输报文处理方法和装置 Download PDFInfo
- Publication number
- CN104618253B CN104618253B CN201510032868.4A CN201510032868A CN104618253B CN 104618253 B CN104618253 B CN 104618253B CN 201510032868 A CN201510032868 A CN 201510032868A CN 104618253 B CN104618253 B CN 104618253B
- Authority
- CN
- China
- Prior art keywords
- message
- packet
- processor
- source
- order preservation
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 38
- 238000012545 processing Methods 0.000 claims abstract description 87
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 69
- 238000009826 distribution Methods 0.000 claims abstract description 50
- 230000006855 networking Effects 0.000 claims abstract description 15
- 238000004321 preservation Methods 0.000 claims description 93
- 230000005540 biological transmission Effects 0.000 claims description 18
- 230000008569 process Effects 0.000 claims description 18
- 238000003672 processing method Methods 0.000 claims description 5
- 238000007635 classification algorithm Methods 0.000 abstract description 11
- 238000010586 diagram Methods 0.000 description 10
- 238000004590 computer program Methods 0.000 description 7
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000012423 maintenance Methods 0.000 description 4
- 238000003860 storage Methods 0.000 description 3
- 230000007547 defect Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种动态变更的传输报文处理方法和装置,以解决现有报文保序采用的特征流分类方式不可动态变更的问题。该方法为,首先接收待处理的报文,然后判断该报文的类型是否为需保序的报文,最后确定该报文为需要保序的报文时,获取该报文的业务流标识,基于***预置的三种特征流算法,在网络拥塞时根据网络拥塞程度选择最优的一种特征流算法生成该报文的业务流分发方式,基于该业务流分发方式进行报文的处理,这样,通过预制多种特征流分类算法,能够根据不同的组网和设备形态可动态更改特征流分类算法,成本小,可操作性强。
Description
技术领域
本发明涉及通信领域,尤其涉及一种动态变更的传输报文处理方法和装置。
背景技术
随着计算机网络的普及,用户对网络带宽的需求不断提高,网络设备的处理能力也越来越高。作为网络设备的核心处理单元,CPU(Central Processing Unit,核心处理器)的性能成为决定一个网络设备处理能力的重要标准。自从多核处理器的出现,使得网络设备的处理能力上了一个新的台阶。多核架构的处理器,能对报文进行并行处理,提高了处理能力,但产生了并行处理中报文乱序的现象,导致报文转发时产生诸如TCP(TransmissionControl Protocol,传输控制协议)报文或UDP(User Datagram Protocol,用户数据报协议)报文乱序等问题,报文的保序需求随之产生。例如,双核CPU按照报文1、2的顺序依次接收到2个报文并分别分发给核C1、核C2进行处理,由于报文内容,CPU处理策略以及每个核的负载情况均存在差异,有可能出现报文2先处理完毕,报文1后处理完毕的情况,此时,若CPU把处理完毕的报文直接发送出去,就出现了发送报文顺序为2、1的乱序现象。
现有技术中进行报文保序设计时采用两种方法,第一种保序方法是在报文进入网络传输设备处理前对报文进行预处理编号,在处理完成后按照编号发送出去,但采用这种方法进行保序的缺点是处理模块复杂,对设备要求高,算法的好坏直接影响设备的整体处理能力。第二种保序方法是根据报文流特性进行分类,分到不同的线程中分类处理,通过保证单独特征流的顺序处理来对整个报文进行保续,但采用这种方法进行保序的缺点是特征流的提取方式直接影响到设备的接入处理能力,而在网络上的数据流类型并非是一成不变的,其特征是根据运营商组网和用户业务类型是不停变化的,目前的特征流分类算法不可动态变更,适用范围单一,不适合灵活组网。
发明内容
本发明的目的是提供一种动态变更的传输报文处理方法和装置,以解决现有报文保序采用的特征流分类方式不可动态变更的问题。
本发明的目的是通过以下技术方案实现的:
一种动态变更的传输报文处理方法,包括:
接收待处理的报文;
判断所述报文的类型是否为需保序的报文;
确定所述报文为需要保序的报文时,获取所述报文的业务流标识,基于***预置的三种特征流算法,随机选择一种特征流算法生成所述报文的业务流分发方式,基于所述业务流分发方式进行所述报文的处理。
这样,通过预制多种特征流分类算法,能够根据不同的组网和设备形态可动态更改特征流分类算法,最大限度减小现有报文业务流保序方式的缺点,而且成本小,可操作性强,进一步提升报文处理性能,此外,在某种特定场合下,通过动态算法选择而不是重新组网,能够简化组网拓扑,减少网络复杂性,同时减少设备维护成本。
可选的,判断所述报文的类型是否为需保序的报文,包括:
获取所述报文的属性信息,若确定所述报文为TCP或UDP类型的报文,则判定所述报文为需保序的报文;若确定所述报文为其他类型的报文,则判定所述报文为无需保序的报文。
可选的,确定所述报文为无需保序的报文之后,进一步包括:
将所述无需保序的报文按照轮叫调度的方式选择对应的处理器,将所述无需保序的报文发送到对应的处理器上进行所述无需保序的报文的处理。
可选的,将所述无需保序的报文发送到对应的处理器上进行所述无需保序的报文的处理,具体包括:
若对应的处理器的性能指标达到预设的阈值时,丢弃发往所述处理器上的所述无需保序的报文;
若对应的处理器的性能指标没有达到预设的阈值时,将所述无需保序的报文发送到所述对应的处理器上进行所述无需保序的报文的处理。
可选的,所述报文的业务流标识为报文的源IP地址、源目的IP地址、三层协议号、源端口号、源目的端口号。
可选的,确定所述报文为需要保序的报文时,获取所述报文的业务流标识,基于***预置的三种特征流算法,随机选择一种特征流算法生成所述报文的业务流分发方式,基于所述业务流分发方式进行所述报文的处理,具体包括:
确定所述报文为需要保序的报文时,获取所述报文的源IP地址和三层协议号,利用哈希算法,进行哈希运算生成一个4比特的主键标识,将所述报文发送到所述主键标识对应的处理器上进行所述报文的处理;或者,
确定所述报文为需要保序的报文时,获取所述报文的源IP地址、三层协议号和源端口号,利用哈希算法,进行哈希运算生成一个4比特的主键标识,将所述报文发送到所述主键标识对应的处理器上进行所述报文的处理;或者,
确定所述报文为需要保序的报文时,获取所述报文的源目的IP地址、三层协议号和源目的端口号,利用哈希算法,进行哈希运算生成一个4比特的主键标识,将所述报文发送到所述主键标识对应的处理器上进行所述报文的处理。
可选的,将所述报文发送到所述主键标识对应的处理器上进行所述报文的处理,具体包括:
若所述主键标识对应的处理器的性能指标达到预设的阈值时,丢弃发往所述主键标识对应的处理器上的所述报文;
若所述主键标识对应的处理器的性能指标没有达到预设的阈值时,将所述报文发送到所述主键标识对应的处理器上进行所述报文的处理。
一种动态变更的传输报文处理装置,包括:
接收单元,用于接收待处理的报文;
判断单元,用于判断所述报文的类型是否为需保序的报文;
分发单元,用于确定所述报文为需要保序的报文时,获取所述报文的业务流标识,基于***预置的三种特征流算法,随机选择一种特征流算法生成所述报文的业务流分发方式,基于所述业务流分发方式进行所述报文的处理。
这样,通过预制多种特征流分类算法,能够根据不同的组网和设备形态可动态更改特征流分类算法,最大限度减小现有报文业务流保序方式的缺点,而且成本小,可操作性强,进一步提升报文处理性能,此外,在某种特定场合下,通过动态算法选择而不是重新组网,能够简化组网拓扑,减少网络复杂性,同时减少设备维护成本。
可选的,判断所述报文的类型是否为需保序的报文时,所述判断单元用于:
获取所述报文的属性信息,若确定所述报文为TCP或UDP类型的报文,则判定所述报文为需保序的报文;若确定所述报文为其他类型的报文,则判定所述报文为无需保序的报文。
可选的,确定所述报文为无需保序的报文之后,所述分发单元进一步用于:
将所述无需保序的报文按照轮叫调度的方式选择对应的处理器,将所述无需保序的报文发送到对应的处理器上进行所述无需保序的报文的处理。
可选的,将所述无需保序的报文发送到对应的处理器上进行所述无需保序的报文的处理时,所述分发单元具体用于:
若对应的处理器的性能指标达到预设的阈值时,丢弃发往所述处理器上的所述无需保序的报文;
若对应的处理器的性能指标没有达到预设的阈值时,将所述无需保序的报文发送到所述对应的处理器上进行所述无需保序的报文的处理。
可选的,所述分发单元获取的所述报文的业务流标识为报文的源IP地址、源目的IP地址、三层协议号、源端口号、源目的端口号。
可选的,确定所述报文为需要保序的报文时,获取所述报文的业务流标识,基于***预置的三种特征流算法,随机选择一种特征流算法生成所述报文的业务流分发方式,基于所述业务流分发方式进行所述报文的处理时,所述分发单元具体用于:
确定所述报文为需要保序的报文时,获取所述报文的源IP地址和三层协议号,利用哈希算法,进行哈希运算生成一个4比特的主键标识,将所述报文发送到所述主键标识对应的处理器上进行所述报文的处理;或者,
确定所述报文为需要保序的报文时,获取所述报文的源IP地址、三层协议号和源端口号,利用哈希算法,进行哈希运算生成一个4比特的主键标识,将所述报文发送到所述主键标识对应的处理器上进行所述报文的处理;或者,
确定所述报文为需要保序的报文时,获取所述报文的源目的IP地址、三层协议号和源目的端口号,利用哈希算法,进行哈希运算生成一个4比特的主键标识,将所述报文发送到所述主键标识对应的处理器上进行所述报文的处理。
可选的,将所述报文发送到所述主键标识对应的处理器上进行所述报文的处理时,所述分发单元具体用于:
若所述主键标识对应的处理器的性能指标达到预设的阈值时,丢弃发往所述主键标识对应的处理器上的所述报文;
若所述主键标识对应的处理器的性能指标没有达到预设的阈值时,将所述报文发送到所述主键标识对应的处理器上进行所述报文的处理。
附图说明
图1为本发明实施例中多核处理器形态下的保序报文的处理示意图;
图2为本发明实施例中动态变更的传输报文处理方法流程示意图;
图3为本发明实施例中动态变更的传输报文处理装置结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,并不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施中描述了一种在多核处理器形态下的保序报文的处理方式,采用特征流分类算法,进行报文的保序处理,具体处理流程可参阅图1所示。
在使用多核处理器时,一般的处理模式为处理器1到处理器N均为流处理核心或者线程,根据不同的算法将TCP或UDP报文业务流的不同特征流提取分给不通的处理核心进行处理,因为处理核心之间存在硬件处理能力差异和特征流路径差异,而处理核心内部是按照现行顺序执行处理的,这就要求只要保证特征流之间没有保序要求,那么只要特征流内部是在一个处理核心上处理,该TCP或UDP数据流的保序特性经过图1的处理之后就不会丢失顺序属性,这样就能达到该TCP或UDP报文业务流保序的目的。
参阅图2所示,本发明实施例中提供一种动态变更的传输报文处理方法,具体流程如下。
步骤200:接收待处理的报文。
步骤201:判断该报文的类型是否为需保序的报文。
具体的,接收到待处理的报文后,获取该报文的属性信息,若确定该报文为TCP或UDP类型的报文,则判定该报文为需保序的报文;若确定该报文为其他类型的报文,则判定该报文为无需保序的报文。
进一步的,确定接收到的报文为无需保序的报文之后,将该无需保序的报文按照轮叫调度的方式选择对应的处理器,将该无需保序的报文发送到对应的处理器上进行报文的处理,其中轮叫调度(Round Robin Scheduling)算法就是以轮叫的方式依次将请求调度不同的处理器。
例如,周期性的接收待处理的报文,假设***设置有16个特征流处理器,编号为1-16,第一次接收到无需保序的报文时,将该报文发送到编号为1的处理器上进行报文的处理,第二次接收到无需保序的报文时,将该报文发送到编号为2的处理器上进行报文的处理,以此类推,直到编号为16的处理器也执行了无需保序的报文的处理之后,再次接收到无需保序的报文时,重新选择编号为1的处理器上进行报文的处理,如此循环。
具体的。将上述无需保序的报文发送到对应的处理器上进行该报文的处理,具体分为两种情形:
第一种情形为:若对应的处理器的性能指标达到预设的阈值时,则丢弃发往改处理器上的该无需保序的报文。
这样,在单个处理器或线程的处理能力达到瓶颈时,丢弃发往该处理处理器或线程的当前报文以保证报文不反压影响分发到其他处理器或线程的报文处理,这样能够提高报文的处理性能。
第二种情形为:若对应的处理器的性能指标没有达到预设的阈值时,将该无需保序的报文发送到对应的处理器上进行该无需保序的报文的处理。
步骤202:确定该报文为需要保序的报文时,获取该报文的业务流标识,基于***预置的三种特征流算法,随机选择一种特征流算法生成该报文的业务流分发方式,基于该业务流分发方式进行该报文的处理。
具体的,报文的业务流标识为报文的源IP地址、源目的IP地址、三层协议号、源端口号、源目的端口号。
本发明实施中根据TCP或UDP报文业务流的特性,不同端口的报文业务流之间的无关性,提取TCP或UDP业务报文的源IP地址、源目的IP地址连接信息、源端口信息、目的端口信息,组合生成不同的多种特征流过滤分发器,通过和驱动适配,可根据不同的组网环境在设备维护侧动态选择不同的特征流分发方式,并动态生效,无需设备初始化重配置。
目前在实现上,***预制了三种特征流分类算法:
算法1:提取TCP或UDP报文的源IP地址和三层协议号进行哈希运算生成一个4bits的分发索引值进行业务报文的分发。
算法2:提取TCP或UDP报文的源IP地址、源端口号(Port)和三层协议号进行哈希运算生成一个4bits的分发索引值进行业务报文的分发。
算法3:提取TCP或UDP报文的源目的IP地址、源目的Port和三层协议号进行哈希运算生成一个4bits的分发索引值进行业务报文的分发。
具体的,确定该报文为需要保序的报文时,获取该报文的业务流标识,基于***预置的三种特征流算法,随机选择一种特征流算法生成该报文的业务流分发方式,基于该业务流分发方式进行该报文的处理,具体包括以下三种方式:
第一种方式为:确定该报文为需要保序的报文时,获取该报文的源IP地址和三层协议号,利用哈希算法,进行哈希运算生成一个4比特的主键标识,将该报文发送到该主键标识对应的处理器上进行该报文的处理。
这种方式的特征流算法适合组网限制某专用网站和用户下载或者限制传输流量的场景,防止单个用户流量过大对传输造成负担,进一步提高报文的传输效率,提升***性能。
第二种方式为:确定该报文为需要保序的报文时,获取该报文的源IP地址、三层协议号和源端口号,利用哈希算法,进行哈希运算生成一个4比特的主键标识,将该报文发送到该主键标识对应的处理器上进行该报文的处理;或者。
这种方式的特征流算法适合组网中限制用户下载的链接数的场景,此算法可对固定TCP端口20和21作一定的限流,防止造成单个用户下载链接过大。
第三种方式为:确定该报文为需要保序的报文时,获取该报文的源目的IP地址、三层协议号和源目的端口号,利用哈希算法,进行哈希运算生成一个4比特的主键标识,将该报文发送到该主键标识对应的处理器上进行该报文的处理。
这种方式的特征流算法适合于无限制最大化使用传输性能的网络。
这样,通过***预置的三种特征流算法,在网络拥塞时根据网络拥塞程度选择最优的一种特征流算法生成该报文的业务流分发方式,例如通过设备内部的报文丢弃频度计数判断网络拥塞程度,选择丢弃程度最小的业务分发方式。
例如,接收到待处理的需保序的报文时,能够基于上述三种业务流分发方式,根据组网环境的不同,选择一种适合的特征流算法,进行哈希运算生成一个4比特的主键标识(即分发索引值),较佳的,一个主键标识对应一个处理器,但不是固定不变的,根据***设置一个主键标识也可以对应多个处理器,假设***中设置有16个处理器,分别编号为1-16,生成的每一个不同主键标识分别对应一个不同的处理器,对应关系如表1所示。
表1
需要说明的是,表1中的主键标识与处理器的对应关系只是一种简单的举例说明,具体的对应关系可以根据实际***的各处理器的运行情况进行实际分析并确定。
具体的,将该报文发送到该主键标识对应的处理器上进行该报文的处理,包括以下两种情形:
第一种情形为:若该主键标识对应的处理器的性能指标达到预设的阈值时,丢弃发往该主键标识对应的处理器上的该报文。
这样,在单个处理器或线程的处理能力达到瓶颈时,丢弃发往该处理处理器或线程的当前报文以保证报文不反压影响分发到其他处理器或线程的报文处理,这样能够提高报文的处理性能。
第二种情形为:若该主键标识对应的处理器的性能指标没有达到预设的阈值时,将该报文发送到该主键标识对应的处理器上进行该报文的处理。
基于上述技术方案,参阅图3所示,本发明实施中提供一种动态变更的传输报文处理装置,包括:接收单元30,判断单元31,分发单元32,其中:
接收单元30,用于接收待处理的报文。
判断单元31,用于判断该报文的类型是否为需保序的报文。
分发单元32,用于确定该报文为需要保序的报文时,获取该报文的业务流标识,基于***预置的三种特征流算法,随机选择一种特征流算法生成该报文的业务流分发方式,基于该业务流分发方式进行该报文的处理。
较佳的,判断该报文的类型是否为需保序的报文时,判断单元31用于:
获取该报文的属性信息,若确定该报文为TCP或UDP类型的报文,则判定该报文为需保序的报文;若确定该报文为其他类型的报文,则判定该报文为无需保序的报文。
较佳的,确定该报文为无需保序的报文之后,分发单元32进一步用于:
将该无需保序的报文按照轮叫调度的方式选择对应的处理器,将该无需保序的报文发送到对应的处理器上进行该无需保序的报文的处理。
较佳的,将该无需保序的报文发送到对应的处理器上进行该无需保序的报文的处理时,分发单元32具体用于:
若对应的处理器的性能指标达到预设的阈值时,丢弃发往该处理器上的该无需保序的报文;
若对应的处理器的性能指标没有达到预设的阈值时,将该无需保序的报文发送到该对应的处理器上进行该无需保序的报文的处理。
较佳的,分发单元32获取到的报文的业务流标识为报文的源IP地址、源目的IP地址、三层协议号、源端口号、源目的端口号。
较佳的,确定该报文为需要保序的报文时,获取该报文的业务流标识,基于***预置的三种特征流算法,随机选择一种特征流算法生成该报文的业务流分发方式,基于该业务流分发方式进行该报文的处理时,分发单元32具体用于:
确定该报文为需要保序的报文时,获取该报文的源IP地址和三层协议号,利用哈希算法,进行哈希运算生成一个4比特的主键标识,将该报文发送到该主键标识对应的处理器上进行该报文的处理;或者,
确定该报文为需要保序的报文时,获取该报文的源IP地址、三层协议号和源端口号,利用哈希算法,进行哈希运算生成一个4比特的主键标识,将该报文发送到该主键标识对应的处理器上进行该报文的处理;或者,
确定该报文为需要保序的报文时,获取该报文的源目的IP地址、三层协议号和源目的端口号,利用哈希算法,进行哈希运算生成一个4比特的主键标识,将该报文发送到该主键标识对应的处理器上进行该报文的处理。
较佳的,将该报文发送到该主键标识对应的处理器上进行该报文的处理时,分发单元32具体用于:
若该主键标识对应的处理器的性能指标达到预设的阈值时,丢弃发往该主键标识对应的处理器上的该报文;
若该主键标识对应的处理器的性能指标没有达到预设的阈值时,将该报文发送到该主键标识对应的处理器上进行该报文的处理。
综上所述,本发明实施中接收待处理的报文,判断该报文的类型是否为需保序的报文,确定该报文为需要保序的报文时,获取该报文的业务流标识,基于***预置的三种特征流算法,在网络拥塞时根据网络拥塞程度,选择最优,的一种特征流算法生成该报文的业务流分发方式,基于该业务流分发方式进行报文的处理,这样,通过预制多种特征流分类算法,能够根据不同的组网和设备形态可动态更改特征流分类算法,最大限度减小现有报文业务流保序方式的缺点,而且成本小,可操作性强,进一步提升报文处理性能,此外,在某种特定场合下,通过动态算法选择而不是重新组网,能够简化组网拓扑,减少网络复杂性,同时减少设备维护成本。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (14)
1.一种动态变更的传输报文处理方法,其特征在于,包括:
接收待处理的报文;
判断所述报文的类型是否为需保序的报文;
确定所述报文为需要保序的报文时,获取所述报文的业务流标识,基于***预置的三种特征流算法,根据不同的组网环境和设备形态,选择一种特征流算法生成所述报文的业务流分发方式,基于所述业务流分发方式进行所述报文的处理;
其中,特征流算法包括算法1:提取报文的源IP地址和三层协议号进行哈希运算;算法2:提取报文的源IP地址、源端口号和三层协议号进行哈希运算;算法3:提取报文的源目的IP地址、源目的Port和三层协议号进行哈希运算。
2.如权利要求1所述的方法,其特征在于,判断所述报文的类型是否为需保序的报文,包括:
获取所述报文的属性信息,若确定所述报文为TCP或UDP类型的报文,则判定所述报文为需保序的报文;若确定所述报文为其他类型的报文,则判定所述报文为无需保序的报文。
3.如权利要求2所述的方法,其特征在于,确定所述报文为无需保序的报文之后,进一步包括:
将所述无需保序的报文按照轮叫调度的方式选择对应的处理器,将所述无需保序的报文发送到对应的处理器上进行所述无需保序的报文的处理。
4.如权利要求3所述的方法,其特征在于,将所述无需保序的报文发送到对应的处理器上进行所述无需保序的报文的处理,具体包括:
若对应的处理器的性能指标达到预设的阈值时,丢弃发往所述处理器上的所述无需保序的报文;
若对应的处理器的性能指标没有达到预设的阈值时,将所述无需保序的报文发送到所述对应的处理器上进行所述无需保序的报文的处理。
5.如权利要求1所述的方法,其特征在于,所述报文的业务流标识为报文的源IP地址、源目的IP地址、三层协议号、源端口号、源目的端口号。
6.如权利要求1-5任一项所述的方法,其特征在于,确定所述报文为需要保序的报文时,获取所述报文的业务流标识,基于***预置的三种特征流算法,随机选择一种特征流算法生成所述报文的业务流分发方式,基于所述业务流分发方式进行所述报文的处理,具体包括:
确定所述报文为需要保序的报文时,获取所述报文的源IP地址和三层协议号,利用哈希算法,进行哈希运算生成一个4比特的主键标识,将所述报文发送到所述主键标识对应的处理器上进行所述报文的处理;或者,
确定所述报文为需要保序的报文时,获取所述报文的源IP地址、三层协议号和源端口号,利用哈希算法,进行哈希运算生成一个4比特的主键标识,将所述报文发送到所述主键标识对应的处理器上进行所述报文的处理;或者,
确定所述报文为需要保序的报文时,获取所述报文的源目的IP地址、三层协议号和源目的端口号,利用哈希算法,进行哈希运算生成一个4比特的主键标识,将所述报文发送到所述主键标识对应的处理器上进行所述报文的处理。
7.如权利要求6所述的方法,其特征在于,将所述报文发送到所述主键标识对应的处理器上进行所述报文的处理,具体包括:
若所述主键标识对应的处理器的性能指标达到预设的阈值时,丢弃发往所述主键标识对应的处理器上的所述报文;
若所述主键标识对应的处理器的性能指标没有达到预设的阈值时,将所述报文发送到所述主键标识对应的处理器上进行所述报文的处理。
8.一种动态变更的传输报文处理装置,其特征在于,包括:
接收单元,用于接收待处理的报文;
判断单元,用于判断所述报文的类型是否为需保序的报文;
分发单元,用于确定所述报文为需要保序的报文时,获取所述报文的业务流标识,基于***预置的三种特征流算法,根据不同的组网环境和设备形态,选择一种特征流算法生成所述报文的业务流分发方式,基于所述业务流分发方式进行所述报文的处理;
其中,特征流算法包括算法1:提取报文的源IP地址和三层协议号进行哈希运算;算法2:提取报文的源IP地址、源端口号和三层协议号进行哈希运算;算法3:提取报文的源目的IP地址、源目的Port和三层协议号进行哈希运算。
9.如权利要求8所述的装置,其特征在于,判断所述报文的类型是否为需保序的报文时,所述判断单元用于:
获取所述报文的属性信息,若确定所述报文为TCP或UDP类型的报文,则判定所述报文为需保序的报文;若确定所述报文为其他类型的报文,则判定所述报文为无需保序的报文。
10.如权利要求9所述的装置,其特征在于,确定所述报文为无需保序的报文之后,所述分发单元进一步用于:
将所述无需保序的报文按照轮叫调度的方式选择对应的处理器,将所述无需保序的报文发送到对应的处理器上进行所述无需保序的报文的处理。
11.如权利要求10所述的装置,其特征在于,将所述无需保序的报文发送到对应的处理器上进行所述无需保序的报文的处理时,所述分发单元具体用于:
若对应的处理器的性能指标达到预设的阈值时,丢弃发往所述处理器上的所述无需保序的报文;
若对应的处理器的性能指标没有达到预设的阈值时,将所述无需保序的报文发送到所述对应的处理器上进行所述无需保序的报文的处理。
12.如权利要求8所述的装置,其特征在于,所述分发单元获取的所述报文的业务流标识为报文的源IP地址、源目的IP地址、三层协议号、源端口号、源目的端口号。
13.如权利要求8-12任一项所述的装置,其特征在于,确定所述报文为需要保序的报文时,获取所述报文的业务流标识,基于***预置的三种特征流算法,随机选择一种特征流算法生成所述报文的业务流分发方式,基于所述业务流分发方式进行所述报文的处理时,所述分发单元具体用于:
确定所述报文为需要保序的报文时,获取所述报文的源IP地址和三层协议号,利用哈希算法,进行哈希运算生成一个4比特的主键标识,将所述报文发送到所述主键标识对应的处理器上进行所述报文的处理;或者,
确定所述报文为需要保序的报文时,获取所述报文的源IP地址、三层协议号和源端口号,利用哈希算法,进行哈希运算生成一个4比特的主键标识,将所述报文发送到所述主键标识对应的处理器上进行所述报文的处理;或者,
确定所述报文为需要保序的报文时,获取所述报文的源目的IP地址、三层协议号和源目的端口号,利用哈希算法,进行哈希运算生成一个4比特的主键标识,将所述报文发送到所述主键标识对应的处理器上进行所述报文的处理。
14.如权利要求13所述的装置,其特征在于,将所述报文发送到所述主键标识对应的处理器上进行所述报文的处理时,所述分发单元具体用于:
若所述主键标识对应的处理器的性能指标达到预设的阈值时,丢弃发往所述主键标识对应的处理器上的所述报文;
若所述主键标识对应的处理器的性能指标没有达到预设的阈值时,将所述报文发送到所述主键标识对应的处理器上进行所述报文的处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510032868.4A CN104618253B (zh) | 2015-01-22 | 2015-01-22 | 一种动态变更的传输报文处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510032868.4A CN104618253B (zh) | 2015-01-22 | 2015-01-22 | 一种动态变更的传输报文处理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104618253A CN104618253A (zh) | 2015-05-13 |
CN104618253B true CN104618253B (zh) | 2018-08-07 |
Family
ID=53152539
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510032868.4A Active CN104618253B (zh) | 2015-01-22 | 2015-01-22 | 一种动态变更的传输报文处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104618253B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108718259B (zh) * | 2018-05-30 | 2020-07-03 | 新华三信息安全技术有限公司 | 一种报文处理方法及多核处理器 |
CN111262792B (zh) * | 2020-01-17 | 2022-04-01 | 新华三信息安全技术有限公司 | 报文转发方法、装置、网络设备及存储介质 |
CN114731334B (zh) * | 2020-02-14 | 2023-10-20 | 华为技术有限公司 | 报文保序方法和装置 |
CN111628941A (zh) * | 2020-05-27 | 2020-09-04 | 广东浪潮大数据研究有限公司 | 一种网络流量的分类处理方法、装置、设备及介质 |
CN112965824B (zh) * | 2021-03-31 | 2024-04-09 | 北京金山云网络技术有限公司 | 报文的转发方法及装置、存储介质、电子设备 |
CN114553774B (zh) * | 2021-12-24 | 2023-06-16 | 锐捷网络股份有限公司 | 一种报文转发方法、装置、设备和介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102664815A (zh) * | 2012-05-21 | 2012-09-12 | 华为技术有限公司 | 报文流量的负荷分担方法、装置和*** |
CN103384221A (zh) * | 2013-06-26 | 2013-11-06 | 汉柏科技有限公司 | 一种业务优先报文快转优化方法 |
CN103457868A (zh) * | 2013-08-15 | 2013-12-18 | 北京华为数字技术有限公司 | 一种负载分担方法及装置 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4919608B2 (ja) * | 2005-03-02 | 2012-04-18 | 株式会社日立製作所 | パケット転送装置 |
US7668107B2 (en) * | 2006-03-22 | 2010-02-23 | Marvell Israel (M.I.S.L.) Ltd. | Hardware implementation of network testing and performance monitoring in a network device |
CN101072176A (zh) * | 2007-04-02 | 2007-11-14 | 华为技术有限公司 | 一种报文处理的方法和*** |
CN102055657B (zh) * | 2009-11-02 | 2013-03-13 | 杭州华三通信技术有限公司 | Fc数据报文的负载分担方法和fc交换机*** |
EP2395710B1 (en) * | 2010-06-08 | 2013-11-06 | Alcatel Lucent | Device and method for data load balancing |
CN101986627B (zh) * | 2010-11-25 | 2012-09-05 | 北京星网锐捷网络技术有限公司 | 一种负载均衡方法、装置及设备 |
CN103731307B (zh) * | 2013-12-30 | 2017-01-04 | 浙江大学 | 一种针对多业务的标准化数据面动态重构方法 |
-
2015
- 2015-01-22 CN CN201510032868.4A patent/CN104618253B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102664815A (zh) * | 2012-05-21 | 2012-09-12 | 华为技术有限公司 | 报文流量的负荷分担方法、装置和*** |
CN103384221A (zh) * | 2013-06-26 | 2013-11-06 | 汉柏科技有限公司 | 一种业务优先报文快转优化方法 |
CN103457868A (zh) * | 2013-08-15 | 2013-12-18 | 北京华为数字技术有限公司 | 一种负载分担方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104618253A (zh) | 2015-05-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104618253B (zh) | 一种动态变更的传输报文处理方法和装置 | |
CN107438994B (zh) | 用于服务器负载均衡的方法、设备和计算机存储介质 | |
US9614739B2 (en) | Defining service chains in terms of service functions | |
CN103986715B (zh) | 一种网络流量控制的方法及装置 | |
US9674080B2 (en) | Proxy for port to service instance mapping | |
US10389627B2 (en) | State-dependent data forwarding | |
US8908522B2 (en) | Transmission rate control | |
WO2016206742A1 (en) | Method and system for managing data traffic in a computing network | |
US20150063349A1 (en) | Programmable switching engine with storage, analytic and processing capabilities | |
CN110798400B (zh) | 报文转发方法及装置 | |
US10243857B1 (en) | Method and apparatus for multipath group updates | |
US10178017B2 (en) | Method and control node for handling data packets | |
CN106534394B (zh) | 用于管理端口的设备、***和方法 | |
US20180198717A1 (en) | A smart flow classification method/system for network and service function chaining | |
US20140122743A1 (en) | Shared interface among multiple compute units | |
CN107846341B (zh) | 调度报文的方法、相关装置和*** | |
US20170048145A1 (en) | Switching device and control method of switching device | |
CN107566293B (zh) | 一种用于报文限速的方法及装置 | |
CN114079638A (zh) | 多协议混合网络的数据传输方法、装置和存储介质 | |
KR101841026B1 (ko) | 최적 경로 설정을 위한 서비스 기능 체이닝 네트워크 시스템 | |
CN111193756A (zh) | 一种vxlan隧道负载均衡方法及相关设备 | |
CN112995036A (zh) | 网络流量的调度方法及装置 | |
US10397127B2 (en) | Prioritized de-queueing | |
CN117459462A (zh) | 网络负载均衡方法和装置 | |
CN106034086B (zh) | 一种实现负荷分担的方法及装置 |
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 |