CN117176662A - 报文传输方法及装置 - Google Patents
报文传输方法及装置 Download PDFInfo
- Publication number
- CN117176662A CN117176662A CN202210595089.5A CN202210595089A CN117176662A CN 117176662 A CN117176662 A CN 117176662A CN 202210595089 A CN202210595089 A CN 202210595089A CN 117176662 A CN117176662 A CN 117176662A
- Authority
- CN
- China
- Prior art keywords
- message
- flow
- sla
- statistical
- network device
- 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.)
- Pending
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 63
- 238000000034 method Methods 0.000 title claims abstract description 55
- 238000013145 classification model Methods 0.000 claims description 50
- 230000015654 memory Effects 0.000 claims description 29
- 238000012545 processing Methods 0.000 claims description 25
- 230000008859 change Effects 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 13
- 238000007637 random forest analysis Methods 0.000 claims description 5
- 238000012549 training Methods 0.000 claims description 5
- 230000035945 sensitivity Effects 0.000 abstract description 19
- 230000000875 corresponding effect Effects 0.000 description 100
- 238000013507 mapping Methods 0.000 description 21
- 230000003993 interaction Effects 0.000 description 14
- 238000012216 screening Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 9
- 238000007726 management method Methods 0.000 description 8
- 230000002457 bidirectional effect Effects 0.000 description 6
- 230000032683 aging Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 230000001934 delay Effects 0.000 description 5
- 238000003062 neural network model Methods 0.000 description 5
- 238000013527 convolutional neural network Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000002441 reversible effect Effects 0.000 description 4
- 238000010801 machine learning Methods 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000002596 correlated effect Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000007619 statistical method Methods 0.000 description 2
- 238000013475 authorization Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- HRULVFRXEOZUMJ-UHFFFAOYSA-K potassium;disodium;2-(4-chloro-2-methylphenoxy)propanoate;methyl-dioxido-oxo-$l^{5}-arsane Chemical compound [Na+].[Na+].[K+].C[As]([O-])([O-])=O.[O-]C(=O)C(C)OC1=CC=C(Cl)C=C1C HRULVFRXEOZUMJ-UHFFFAOYSA-K 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种报文传输方法及装置,属于网络技术领域。网络设备确定接收到的第一报文属于统计流表中的第一流。该统计流表记录有一条或多条流对应的SLA等级。网络设备采用第一队列转发第一报文。第一队列的转发优先级与统计流表记录的第一流对应的第一SLA等级相匹配。由于统计流表中记录的一条或多条流对应的SLA等级是基于这些流的流特征得到的,而时延敏感度不同的业务的流特征不同,因此网络设备在统计流表中为时延敏感度不同的流设置了不同的SLA等级,进而使得网络设备对时延敏感度不同业务的报文的转发优先级不同,实现优先转发时延敏感业务的报文,从而保障了时延敏感业务的传输可靠性。
Description
技术领域
本申请涉及网络技术领域,特别涉及一种报文传输方法及装置。
背景技术
随着网络规模的不断扩大,网络中承载的业务种类也在逐渐增加,使得网络中的流量数据爆发式增长。不同业务的时延要求存在较大差别。网络设备在转发报文时,如何实现对不同业务进行差异化传输,以提高时延敏感业务的传输可靠性,是目前亟需解决的问题。
发明内容
本申请提供了一种报文传输方法及装置,可以提高时延敏感业务的传输可靠性。
第一方面,提供了一种报文传输方法。网络设备接收第一报文,并确定第一报文属于统计流表中的第一流。该统计流表记录有一条或多条流对应的服务等级协议(servicelevel agreement,SLA)等级。该一条或多条流对应的SLA等级基于该一条或多条流的流特征得到。网络设备采用第一队列转发第一报文。第一队列的转发优先级与统计流表记录的第一流对应的第一SLA等级相匹配。
本申请中,由于统计流表中记录的流对应的SLA等级是基于流特征得到的,而时延敏感度不同的业务的流特征不同,因此可以在统计流表中为时延敏感度不同的流设置不同的SLA等级,进而使得网络设备对时延敏感度不同业务的报文的转发优先级不同,实现优先转发时延敏感业务的报文,从而保障了时延敏感业务的传输可靠性。
可选地,网络设备获取统计流表所记录的所有流中传输速率最大的N条流,N为正整数。针对该N条流中的任一流,网络设备根据该任一流的流特征,确定该任一流对应的SLA等级,以得到更新后的统计流表。
由于传输速率最大的N条流的传输数据量也是最大的,即这N条流是经过网络设备的最大流。根据流特征对这N条流进行SLA等级的细分,可以实现对大流的精细化调度,实现对不同大流的差异化传输。另外,本申请中,网络设备可以将统计流表中除该N条流以外的其它流对应的SLA等级设置为统计流表中设置的最高SLA等级。
可选地,网络设备根据任一流的流特征,确定该任一流对应的SLA等级的实现方式,包括:网络设备向分类模型输入该流的流特征,以获取分类模型输出的该流对应的SLA等级。分类模型基于多条样本流的流特征训练得到。每条样本流标注有SLA等级标签。该多条样本流包括标注有不同SLA等级标签的多类样本流。
本申请以分类模型为机器学习模型为例进行说明。实际上分类模型还可以通过数据统计分析技术得到或者根据专家经验配置参数得到。
一种实现方式,分类模型为二叉树模型或随机森林模型。分类模型所使用的分类规则包括流特征的特征阈值与SLA等级的对应关系。
可选地,网络设备还可以接收规则变更指令。该规则变更指令用于指示变更分类规则中的流特征和/或变更分类规则中的SLA等级对应的流特征的特征阈值。网络设备基于该规则变更指令调整分类规则,以得到更新后的分类模型。
本申请中,网络设备获取到分类模型之后,可以输出分类模型所使用的分类规则。例如,网络设备可以显示分类规则,或者网络设备可以向具有显示功能的其它设备发送分类规则,以供该设备显示。这样可以提供人机交互界面以供运维人员直观地查看和调整分类规则。
另一种实现方式,分类模型为神经网络模型。例如分类模型可以是卷积神经网络模型、长短时记忆网络模型或深度神经网络模型等。
可选地,流特征包括传输速率、流双向性、最大突发度、最大报文间隔、最大报文连续时间、平均报文长度或报文长度方差中的一个或多个。
可选地,网络设备接收第二报文,并确定第二报文不属于统计流表中的任一流。网络设备在统计流表中添加第二报文所属的第二流与第二SLA等级的对应关系,并采用第二队列转发第二报文。第二SLA等级为统计流表中设置的最高SLA等级。第二队列的转发优先级与第二SLA等级相匹配。
本申请中,网络设备接收到不属于统计流表中的流的报文之后,在统计流表中添加该报文所属的流与SLA等级的对应关系,并且将新添加的流对应的SLA等级设置为统计流表中设置的最高SLA等级,以实现对经过网络设备的流的精细调度。
可选地,网络设备在统计流表中添加第二报文所属的第二流对应的SLA等级的一种实现方式,包括:当第二报文的字节数大于或等于字节阈值时,网络设备在统计流表中添加第二流与第二SLA等级的对应关系。
由于小流中单个报文的字节数通常较少,通过对未知报文进行基于字节数的初步筛选,当该报文的字节数大于或等于字节阈值时,网络设备确定该报文所属的流有可能是大流,此时网络设备在统计流表中添加该报文所属的流与SLA等级的对应关系。而当该报文的字节数小于字节阈值时,网络设备判定该报文可能属于小流,此时网络设备不在统计流表中记录该报文所属的流与SLA等级的对应关系,以减少统计流表所占用的内存。另外,通常小流为时延敏感流,因此网络设备可以直接采用高转发优先级的队列转发属于小流的报文,无需再辨别小流对应的SLA等级。这样使得统计流表主要用于记录大流对应的SLA等级。一方面可以减少统计流表所需记录的流的数量,进而减少统计流表占用的内存,节约网络设备的存储资源。另一方面由于无需判断小流对应的SLA等级,节约了网络设备的处理资源。这里的未知报文指的是不属于统计流表中的流的报文。实际网络场景中,有些大流的前几个报文的字节数可能较少,那么网络设备在接收到属于该流的前几个报文时,不会在统计流表中添加该流与SLA等级的对应关系。而当网络设备接收到属于该流的字节数较多的报文后,网络设备又会在统计流表中添加该流与SLA等级的对应关系,这样可以尽量避免对大流的漏识别。
可选地,当第二报文的字节数小于字节阈值时,网络设备采用第三队列转发第二报文。第三队列的转发优先级高于或等于第二队列的转发优先级。
可选地,对于统计流表中的任一流,当网络设备未接收到属于该流的报文的持续时长达到时长阈值时,网络设备删除统计流表所记录的该流与SLA等级的对应关系。
本申请通过设置统计流表的老化机制,可以及时清理长时间不经过网络设备传输的流在统计流表中占用的存储空间,从而提高网络设备的存储资源的有效利用率。
可选地,网络设备输出路由流量统计信息、统计流表所记录的流的流特征、统计流表所记录的流的路由信息以及网络设备的出端口的队列的转发优先级与SLA等级的映射关系中的一个或多个。
可选地,网络设备在第一报文中添加第一指示,并采用第一队列发送携带有第一指示的第一报文。第一指示用于指示第一报文对应第一SLA等级。
本申请中,网络设备通过在报文中携带对SLA等级的指示,使得后续接收到该报文的网络设备可以直接选择转发优先级与该报文指示的SLA等级匹配的队列转发该报文,可以提高报文转发效率。
可选地,网络设备接收第三报文。第三报文携带有第二指示。第二指示用于指示第三报文对应第三SLA等级。网络设备采用第四队列转发第三报文。第四队列的转发优先级与第三SLA等级相匹配。
本申请中,网络设备基于接收到的报文携带的对SLA等级的指示,直接选择转发优先级与该SLA等级匹配的队列转发该报文,可以提高报文转发效率。
可选地,网络设备接收第三报文之后,在统计流表中添加第三报文所属的第三流与第三SLA等级的对应关系。
本申请中,网络设备接收到携带有对SLA等级的指示的报文后,提取并存储该报文所属的流与SLA等级的对应关系,以便转发属于该流的后续报文。这样,网络设备无需统计该流的流特征,而可以根据接收到属于该流的报文携带的对SLA等级的指示维护统计流表中的对应表项,可以降低网络设备的计算开销。
第二方面,提供了一种网络设备。所述网络设备包括多个功能模块,所述多个功能模块相互作用,实现上述第一方面及其各实施方式中的方法。所述多个功能模块可以基于软件、硬件或软件和硬件的结合实现,且所述多个功能模块可以基于具体实现进行任意组合或分割。
第三方面,提供了一种网络设备,包括:处理器和存储器;
所述存储器,用于存储计算机程序,所述计算机程序包括程序指令;
所述处理器,用于调用所述计算机程序,实现上述第一方面及其各实施方式中的方法。
第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,当所述指令被处理器执行时,实现上述第一方面及其各实施方式中的方法。
第五方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时,实现上述第一方面及其各实施方式中的方法。
第六方面,提供了一种芯片,芯片包括可编程逻辑电路和/或程序指令,当芯片运行时,实现上述第一方面及其各实施方式中的方法。
附图说明
图1是本申请实施例提供的一种报文传输方法涉及的应用场景示意图;
图2是本申请实施例提供的一种二叉树模型的结构示意图;
图3是本申请实施例提供的一种网络设备的功能模块示意图;
图4是本申请实施例提供的一种报文传输方法的流程示意图;
图5是本申请实施例提供的另一种报文传输方法的流程示意图;
图6是本申请实施例提供的一种网络设备的结构示意图;
图7是本申请实施例提供的另一种网络设备的结构示意图;
图8是本申请实施例提供的一种网络设备的硬件结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
随着网络规模的不断扩大,网络中承载的业务种类也在逐渐增加,使得网络中的流量数据爆发式增长。对于数据中心网络(data center network,DCN)、工业网络、广域网络或园区网络等各种网络场景,每种网络场景下都会同时承载很多种业务,不同业务对时延、抖动和丢包等SLA指标的需求(以下简称SLA需求)存在很大差别。
例如在广域网络或园区网络中,承载的业务类型主要包括视频点播(video ondemand,VOD)、网页访问、游戏、下载、视频会议、语音、虚拟现实(virtual reality,VR)、增强现实(augmented reality,AR)、社交媒体和邮件等。这些业务对时延和丢包的要求差别很大。有些业务对时延和丢包要求比较高。比如视频会议和游戏要求网络端到端时延在50至100毫秒,VR和AR要求网络端到端时延在10毫秒以内,同时这些业务对丢包的要求在10e-6以下。而有些业务对时延和丢包要求比较低。比如下载、视频点播和邮件等业务可以容忍300毫秒甚至更高的时延。
又例如在工业网络中,智能制造要求时延在10毫秒以下,虚拟到虚拟(virtual tovirtual,V2V)通信要求时延在5毫秒以下,同时这些业务均要求0丢包。
又例如在DCN中,存在大数据业务、高性能计算业务和分布式存储业务等,不同的业务数据流对时延敏感度不同。比如在分布式存储业务中,包括联机事务处理(onlinetransaction processing,OLTP)数据流和联机分析处理(online analyticalprocessing,OLAP)数据流。OLTP负责执行快速的数据查询和处理,网络时延对OLTP性能影响很大,因此OLTP数据流对时延敏感。OLAP负责读取大量数据并进行分析处理,OLAP数据量大,但网络时延对吞吐性能影响较小,因此OLAP数据流对时延不敏感。
无论工业网络、广域网络、园区网络还是DCN,网络在高峰期都会出现比较严重的拥塞情况,这种拥塞虽然是瞬时的,但是其带来的拥塞排队时间往往也在数毫秒到百毫秒之间。另外,网络绕路也可能带来额外不必要的时延。这些原因导致的大时延都会严重影响时延敏感业务的性能。
为了保障网络传输的性能以及提高用户的业务体验,需要对网络中传输的业务流量进行分析,明确网络中传输的业务的SLA需求,并根据业务的SLA需求对业务流量进行调度。通过对业务流量的分析和调度,为网络中不同SLA需求的业务提供差异化服务质量(quality of service,QoS)传输服务。例如使得时延敏感的业务流量被优先转发,而降低时延不敏感的业务流量的转发优先级。
为了保障时延敏感业务的传输可靠性,本申请提供了一种技术方案。在该技术方案中,在网络设备中配置统计流表,该统计流表用于记录经过该网络设备的流对应的SLA等级。其中,统计流表中记录的流对应的SLA等级基于经过该网络设备的流的流特征得到。当网络设备接收到的报文属于统计流表中的已知流时,网络设备采用转发优先级与统计流表记录的该流对应的SLA等级相匹配的队列转发该报文。由于统计流表中记录的流对应的SLA等级是基于流特征得到的,而时延敏感度不同的业务的流特征不同,因此可以在统计流表中为时延敏感度不同的流设置不同的SLA等级,进而使得网络设备对时延敏感度不同的业务的报文的转发优先级不同,实现优先转发时延敏感业务的报文,从而保障了时延敏感业务的传输可靠性。
其中,一条流通常包括五元组相同的多个报文。五元组包括源互联网协议(Internet Protocol,IP)地址、目的IP地址、源端口、目的端口和传输层协议。
下面从应用场景、方法流程、软件装置、硬件装置等多个角度,对本申请的技术方案进行详细介绍。
本申请实施例提供的报文传输方法可以应用在DCN、工业网络、广域网络、园区网络或无线局域网(wireless local area network,WLAN)等多种网络场景中的网络设备上。本申请实施例对应用场景不做限定。
可选地,网络设备包括但不限于路由器、交换机、防火墙和无线接入设备(例如接入点(access point,AP))。例如,本申请实施例提供的报文传输方法可以应用在城域网络或广域网络中的路由器上,园区网络或DCN中的交换机上,WLAN中的无线接入设备上,等等。
例如,图1是本申请实施例提供的一种报文传输方法涉及的应用场景示意图。如图1所示,该应用场景包括多个网络设备101A-101C(统称为网络设备101)。该应用场景中网络设备的数量仅用作示例性说明,不作为对本申请实施例涉及的应用场景的限制。
网络设备101的出端口设置有多个队列,不同队列的转发优先级不同。对于网络设备101的某一出端口而言,通过该出端口转发报文时,采用的队列的转发优先级越高,那么该报文会越优先从该出端口被转发出去。
本申请实施例中,网络设备101中设置有出端口的队列的转发优先级与SLA等级的映射关系。SLA等级用于量化业务流的SLA需求。业务流对时延越敏感,则该业务流对应的SLA等级越高。例如,网络设备101的出端口的队列被划分为8个转发优先级0-7,其中转发优先级0为最高转发优先级,转发优先级7为最低转发优先级。业务流的SLA需求被量化为4个SLA等级0-3,其中SLA等级0为最高SLA等级,SLA等级3为最低SLA等级。表1示出了网络设备的出端口的队列的转发优先级与SLA等级的映射关系。
表1
出端口的队列的转发优先级 | SLA等级 |
0-1 | 0 |
2-3 | 1 |
4-5 | 2 |
6-7 | 3 |
参见表1可知,SLA等级为0的业务流可以采用转发优先级为0或1的出端口的队列转发。SLA等级为1的业务流可以采用转发优先级为2或3的出端口的队列转发。SLA等级为2的业务流可以采用转发优先级为4或5的出端口的队列转发。SLA等级为3的业务流可以采用转发优先级为6或7的出端口的队列转发。本申请实施例中对队列的转发优先级进行编号是为了便于描述。实际应用中,队列的转发优先级可以采用其它表达方式。比如基于差分服务代码点(differentiated services code point,DSCP)分类得到的8个转发优先级由高至低依次包括类选择(class selector,CS)7、CS6、加速转发(expedited forwarding,EF)、确保转发(assured forwarding,AF)4、AF3、AF2、AF1和尽力而为(best effort,BE)。
可选地,网络设备101的出端口的队列的转发优先级与SLA等级的映射关系可由人工设置或修改。例如,网络设备101可以显示出端口的队列的转发优先级与SLA等级的映射关系。或者,网络设备101可以向具有显示功能的设备发送出端口的队列的转发优先级与SLA等级的映射关系,以供该设备显示,进而提供人机交互界面以便人工设置或修改该映射关系。
本申请实施例中,网络设备101中设置有统计流表。统计流表用于记录经过该网络设备101的流对应的SLA等级。例如,统计流表可以记录流标识(identifier,ID)与SLA等级的对应关系。其中,流标识可以采用五元组来表示。例如,表2示出了一种统计流表。
表2
流标识 | SLA等级 |
流ID1 | 1 |
流ID2 | 2 |
流ID3 | 3 |
… | … |
结合表1和表2,网络设备101接收到属于统计流表中的流的报文之后,能够根据该报文所属的流对应的SLA等级将该报文映射到相应转发优先级的出端口的队列,进而采用转发优先级与该报文所属的流对应的SLA等级相匹配的队列转发该报文。这样既可以满足业务的SLA需求,又能实现较高的报文转发效率。
可选地,网络设备101负责维护统计流表,具体包括创建、更新和老化(aging)统计流表。网络设备101上电后,可以在运行初始阶段创建一个空的统计流表。
以下对网络设备101更新统计流表的实现方式进行说明。
当网络设备101接收到不属于统计流表中的流的报文时,网络设备101可以在该统计流表中添加一个表项,以记录该报文所属的流与SLA等级的对应关系。该新添加的表项中的SLA等级为统计流表中设置的最高SLA等级。也即是,网络设备101将第一次添加在统计流表中的新流对应的SLA等级设置成该统计流表中设置的最高SLA等级。统计流表中设置的最高SLA等级可以是对业务流的SLA需求量化的最高SLA等级,或者也可以低于对业务流的SLA需求量化的最高SLA等级,例如是对业务流的SLA需求量化的次高SLA等级。举例来说,业务流的SLA需求被量化为4个SLA等级0-3,其中SLA等级0为最高SLA等级,则统计流表中设置的最高SLA等级可以是SLA等级0,或者也可以是SLA等级1,甚至还可以是SLA等级2,本申请实施例对此不做限定,至少保证统计流表中可设置的SLA等级的数量不少于2即可。
可选地,本申请实施例中的统计流表用于记录大流对应的SLA等级。通常小流为时延敏感流,因此网络设备可以直接采用高转发优先级的队列转发属于小流的报文,无需再辨别小流对应的SLA等级。这样,一方面可以减少统计流表所需记录的流的数量,进而减少统计流表占用的内存,节约网络设备的存储资源。另一方面由于无需判断小流对应的SLA等级,节约了网络设备的处理资源。本申请实施例中描述的小流与大流是相对而言的,小流的流量少于大流的流量。例如游戏和语音的业务流属于小流。视频点播和文件的业务流属于大流。
在一种实现方式中,网络设备101接收到不属于统计流表中的流的报文后,可以先获取该报文的字节数。当该报文的字节数大于或等于字节阈值时,网络设备101再在统计流表中添加该报文所属的流与SLA等级的对应关系。由于小流中单个报文的字节数通常较少,通过对未知报文进行基于字节数的初步筛选,当该报文的字节数大于或等于字节阈值时,网络设备101确定该报文所属的流有可能是大流,此时网络设备101在统计流表中添加该报文所属的流与SLA等级的对应关系。而当该报文的字节数小于字节阈值时,网络设备101判定该报文可能属于小流,此时网络设备101不在统计流表中记录该报文所属的流与SLA等级的对应关系,以减少统计流表所占用的内存。这里的未知报文指的是不属于统计流表中的流的报文。实际网络场景中,有些大流的前几个报文的字节数可能较少,那么网络设备在接收到属于该流的前几个报文时,不会在统计流表中添加该流与SLA等级的对应关系。而当网络设备接收到属于该流的字节数较多的报文后,网络设备又会在统计流表中添加该流与SLA等级的对应关系,这样可以尽量避免对大流的漏识别。
在本实现方式下,当网络设备101接收到的报文的字节数小于字节阈值时,网络设备101可以直接采用高转发优先级的队列转发该报文。其中,该高转发优先级的队列的转发优先级高于或等于统计流表可使用的最高转发优先级。例如,统计流表中设置的最高SLA等级低于对业务流的SLA需求量化的最高SLA等级,相应地,统计流表可使用的最高转发优先级低于网络设备101的出端口的队列的最高转发优先级。例如,统计流表可使用的最高转发优先级为AF4。
本申请实施例中,网络设备101中的统计流表可以周期性更新。或者,网络设备101中的统计流表也可以由人为触发更新。例如,当网络设备101接收到统计流表更新指令时,网络设备101更新存储的统计流表。该统计流表更新指令可以是用户在其它设备上执行触发操作后由该设备生成并发送给网络设备101的。或者当网络设备101检测到预设的触发操作时,网络设备101确定接收到统计流表更新指令。本申请以下实施例以网络设备101周期性更新统计流表为例进行说明。
可选地,网络设备101根据统计流表中记录的流的流特征,对统计流表进行更新。可选地,流特征包括传输速率、流双向性、最大突发度、最大报文间隔、最大报文连续时间、平均报文长度或报文长度方差中的一个或多个。
在网络设备101统计的流特征中,一条流的传输速率可以是该流在当前统计周期内的传输速率,或者也可以基于该流在多个统计周期内的传输速率得到。例如,一条流在当前统计周期内的传输速率为v1,该流在上个统计周期结束后统计的流特征中的传输速率为v2,则该流在当前统计周期结束后统计的流特征中的传输速率v可以为:v=v1,或者,v=a*v1+b*v2。其中,a和b均为常数。传输速率可以是指单位时长内的报文数或字节数。
流双向性用于反映一条流是否存在反向流。若一条流存在反向流,则表示该流具有双向性。若一条流不存在反向流,则表示该流不具有双向性。一条流与该流的反向流之间满足:源IP地址和目的IP地址相反、源端口和目的端口相反、传输层协议相同。
对于一条流的一组连续报文,任意相邻两个报文之间的时间间隔均小于一个时间间隔阈值,则这组连续报文视为该流的一个突发,这组连续报文的数据量即为该流的一个突发度。当一条流中的相邻两个报文之间的时间间隔大于或等于该时间间隔阈值时,判定该相邻两个报文不属于一个突发。之后,再以该相邻两个报文中的后一个报文为起始报文继续统计该流的突发度。当新统计得到的突发度大于已记录的最大突发度时,使用该新统计得到的最大突发度更新已记录的最大突发度。该时间间隔阈值的取值对突发度的测量结果影响很大,可以根据实际网络场景和需求进行设置。比如广域网中,该时间间隔阈值的取值范围可以为10毫秒至50毫秒。DCN中,该时间间隔阈值的取值范围可以为500微秒至2毫秒。
最大报文间隔是指一条流中相邻两个报文的最大时间间隔。
最大报文连续时间是指一条流中连续报文的最大持续时长。一条流中相邻两个报文之间的时间间隔小于一个时间间隔阈值,视该相邻两个报文为连续报文。当一条流中的相邻两个报文之间的时间间隔大于或等于该时间间隔阈值时,判定该相邻两个报文中的后一个报文与前一个报文不连续。之后,再以该相邻两个报文中的后一个报文为起始报文继续统计该流中的连续报文的最大持续时长。当新统计得到的最大持续时长大于已记录的最大持续时长时,使用该新统计得到的最大持续时长更新已记录的最大持续时长。该时间间隔阈值的取值可以根据实际网络场景和需求进行设置。比如该时间间隔阈值可以取值为0.1秒。
可选地,网络设备101还可以输出统计流表所记录的流的流特征。例如,网络设备101可以显示流特征,或者网络设备101可以向具有显示功能的其它设备发送流特征,以供该设备显示。这样可以提供人机交互界面以供运维人员直观地查看经过网络设备101的多条流的流特征。网络设备101统计的流特征也可以存储在统计流表中。
网络设备101对统计流表的一次更新过程如下:网络设备101获取统计流表所记录的所有流中传输速率最大的N条流,N为正整数;针对该N条流中的任一流,网络设备101根据该任一流的流特征,确定该任一流对应的SLA等级,以得到更新后的统计流表。例如在更新后的统计流表中,该N条流中的流1对应SLA等级1,流2对应SLA等级3,流3对应SLA等级2,等等。
由于传输速率最大的N条流的传输数据量也是最大的,即这N条流是经过网络设备101的最大流。通过对这N条流进行SLA等级的细分,可以实现对大流的精细化调度,实现对不同大流的差异化传输。
可选地,一条流对应的SLA等级与该流的流特征满足如下定性关系:一条流对应的SLA等级与该流的传输速率负相关,即一条流的传输速率越大,该流对应的SLA等级可能越低。具有双向性的流对应的SLA等级更有可能高于不具有双向性的流对应的SLA等级。一条流对应的SLA等级与该流的最大突发度负相关,即一条流的最大突发度越高,该流对应的SLA等级可能越低。一条流对应的SLA等级与该流的最大报文间隔负相关,即一条流的最大报文间隔越大,该流对应的SLA等级可能越低。一条流对应的SLA等级与该流的最大报文连续时间正相关,即一条流的最大报文连续时间越长,该流对应的SLA等级可能越高。一条流对应的SLA等级与该流的平均报文长度负相关,即一条流的平均报文长度越大,该流对应的SLA等级可能越低。一条流对应的SLA等级与该流的报文长度方差正相关,即一条流的报文长度方差越大,该流对应的SLA等级可能越高。这里定义的流对应的SLA等级与流特征的定性关系并非是绝对的,仅表示这是大概率的可能情况。实际应用中,一些流特征对SLA等级的影响可能会受另一些流特征的影响,SLA等级与各个流特征的定性关系也可根据网络中实际承载的业务类型进行调整,本申请实施例对该定性关系不做严格的限定。
可选地,在更新后的统计流表中,除传输速率最大的N条流以外的其它流对应的SLA等级均为统计流表中设置的最高SLA等级。也即是,本申请实施例中,网络设备101可以将统计流表中除传输速率最大的N条流以外的其它流对应的SLA等级均设置为统计流表中设置的最高SLA等级。
值得说明的是,这里更新后的统计流表指的是记录有最新确定的每条流对应的SLA等级的统计流表。更新后的统计流表与更新前的统计流表可能相同,也可能不同。
可选地,网络设备101根据N条流中每条流的流特征,分别确定每条流对应的SLA等级的一种实现方式,包括:对于N条流中的每条流,网络设备101向分类模型输入该流的流特征,以获取分类模型输出的该流对应的SLA等级。该分类模型基于多条样本流的流特征训练得到。每条样本流标注有SLA等级标签。多条样本流包括标注有不同SLA等级标签的多类样本流。例如可以选用语音流、视频会议流、VR游戏流、VOD流和文件流等作为样本流。其中语音流标注有SLA等级0的标签,视频会议流和VR游戏流标注有SLA等级1的标签,VOD流标注有SLA等级2的标签,文件流标注有SLA等级3的标签。
可选地,分类模型为机器学习模型。分类模型可以由网络设备101自行训练得到。或者也可以由其它设备训练好之后发送给网络设备101。分类模型的训练过程包括:向创建的分类模型输入样本流的流特征,以获取分类模型输出的SLA等级,然后比较分类模型的输出结果与该样本流标注的SLA等级标签是否一致。通过不断调整模型参数并重复训练过程,使得分类模型的输出结果的正确率达到预设阈值,则停止训练,得到最终的分类模型。
本申请实施例中选用的流特征可以是根据专家经验设置的,或者也可以是通过机器学习模型自动学习得到的。例如在广域网络或园区网络场景下,可以选用传输速率、流双向性、最大突发度和最大报文间隔作为流特征。又例如在DCN中,可以选用最大突发度作为流特征。
一种可能实现方式,上述分类模型为二叉树模型或随机森林模型。该分类模型所使用的分类规则包括流特征的特征阈值与SLA等级的对应关系。
例如,图2是本申请实施例提供的一种二叉树模型的结构示意图。如图2所示,该二叉树模型使用的流特征包括传输速率、报文长度方差、平均报文长度、最大报文间隔和最大突发度。其中,V1~V4为传输速率的特征阈值。S1~S5为报文长度方差的特征阈值。L1~L4为平均报文长度的特征阈值。I1~I5为最大报文间隔的特征阈值。B为最大突发度的特征阈值。“Y”表示“是”。“N”表示“否”。基于图2中虚线箭头经过的路径可知,该二叉树模型使用的一条分类规则为:“若一条流的传输速率大于V1,平均报文长度小于或等于L3,且报文长度方差大于S4,则该流对应的SLA等级为3。”
在本实现方式下,网络设备101还可以接收规则变更指令。该规则变更指令用于指示变更分类规则中的流特征和/或变更分类规则中的SLA等级对应的流特征的特征阈值。网络设备101基于规则变更指令调整分类规则,以得到更新后的分类模型。
本申请中,网络设备获取到分类模型之后,可以输出分类模型所使用的分类规则。例如,网络设备101可以显示分类规则,或者网络设备101可以向具有显示功能的其它设备发送分类规则,以供该设备显示。这样可以提供人机交互界面以供运维人员直观地查看和调整分类规则。
另一种可能实现方式,上述分类模型为神经网络模型。该神经网络模型可以是通过有监督学习算法训练得到的。例如分类模型可以是卷积神经网络(convolutionalneural network,CNN)模型、长短时记忆网络(long short term memory network,LSTM)模型或深度神经网络模型等。
可选地,本申请实施例中的分类模型也可以通过数据统计分析技术得到或者根据专家经验配置参数设置。例如,表3示出了应用在广域网络或园区网络中的一种分类规则,表4示出了应用在DCN中的一种分类规则。
表3
表4
其中,流双向性取值为“1”,表示流具有双向性。流双向性取值为“0”,表示流不具有双向性。“*”表示不考虑取值,例如,在表3中,当一条流的最大报文间隔大于400ms,且该流具备流双向性时,无论该流的传输速率和最大突发度的值的大小,该流的SLA等级均为2。“ms”表示毫秒。“s”表示秒。“KB”表示千字节。“Mbps”表示兆比特每秒。“Inf”表示向上取无穷大。
以下对网络设备101老化统计流表的实现方式进行说明。
对于统计流表中的任一流,当网络设备101未接收到属于该流的报文的持续时长达到时长阈值时,网络设备101删除统计流表所记录的该流与SLA等级的对应关系。
本申请实施例通过设置统计流表的老化机制,可以及时清理长时间不经过网络设备101传输的流在统计流表中占用的存储空间,从而提高网络设备101的存储资源的有效利用率。
可选地,网络设备101通过数据面和控制面的交互实现本申请技术方案。数据面的功能可以由转发芯片实现。控制面的功能可以由处理器实现。例如,图3是本申请实施例提供的一种网络设备的功能模块示意图。如图3所示,网络设备101的控制面包括流分类模块、端口优先级映射模块和人机交互管理模块。网络设备101的数据面包括流筛选及流特征统计模块和转发模块。
流筛选及流特征统计模块负责维护统计流表。该统计流表的表项字段可以包括流标识、流特征和SLA等级。当网络设备101接收到报文时,流筛选及流特征统计模块可以检测该报文是否属于统计流表中的流。若属于,则根据统计流表确定该报文对应的SLA等级。若不属于,则可以确定该报文对应的SLA等级为统计流表中设置的最高SLA等级,进一步可以在统计流表中添加该报文所属的流与SLA等级的对应关系。流筛选及流特征统计模块还可以根据接收到的报文更新统计流表中流的流特征,并向流分类模块周期性上报统计流表中记录的多条流的流特征。流筛选及流特征统计模块还可以与人机交互管理模块交互更新统计流表。
转发模块可以根据流筛选及流特征统计模块确定的报文对应的SLA等级,根据出端口的队列的转发优先级与SLA等级的映射关系,选择相应的出端口的队列转发该报文。
流分类模块负责根据流筛选及流特征统计模块提供的多条流的流特征,确定该多条流对应的SLA等级。流分类模块可以向流筛选及流特征统计模块和端口优先级映射模块分别提供多条流对应的SLA等级。流分类模块还可以与人机交互管理模块交互更新分类规则。
端口优先级映射模块负责根据流分类模块提供的多条流对应的SLA等级,查询相应的转发表以确定每条流对应的下一跳的出端口。例如针对高SLA等级的流查询低时延的转发表。端口优先级映射模块还可以与人机交互管理模块交互更新出端口的队列的转发优先级与SLA等级的映射关系,并向转发模块提供最新的出端口的队列的转发优先级与SLA等级的映射关系。图3中将出端口的队列的转发优先级与SLA等级的映射关系简称为映射关系。端口优先级映射模块还可以向人机交互管理模块发送统计流表所记录的流的路由信息。
人机交互管理模块负责配置出端口的队列的转发优先级与SLA等级的映射关系。人机交互管理模块还可以输出流分类模块所使用的分类规则,并接收对分类规则的更改指令,以更新流分类模块所使用的分类规则。人机交互管理模块还可以输出路由流量统计信息、统计流表所记录的流的流特征、统计流表所记录的流的路由信息以及出端口的队列的转发优先级与SLA等级的映射关系中的一个或多个,以供运维人员查看或调整相关内容。其中,路由流量统计信息例如包括经过网络设备的各个SLA等级的流的数量或占比等。路由信息例如包括下一跳或转发经过的出端口等。
本申请以下两个实施例分别对网络设备接收到的报文(第一报文)属于统计流表中的流的传输流程(参见图4),以及网络设备接收到的报文(第二报文)不属于统计流表中的流的传输流程进行说明(参见图5)。
图4是本申请实施例提供的一种报文传输方法的流程示意图。该方法可以应用于如图1所示的应用场景中的网络设备101或如图3所示的网络设备101。如图4所示,该方法包括:
步骤401、网络设备接收第一报文。
步骤402、网络设备确定第一报文属于统计流表中的第一流。
统计流表记录有一条或多条流对应的SLA等级。该一条或多条流对应的SLA等级基于该一条或多条流的流特征得到。可选地,每条流对应的SLA等级可以基于该流的流特征得到。一条流对应的SLA等级可能还会受其它流的流特征的影响。例如网络设备仅对统计流表中传输速率最大的N条流进行SLA等级的细分,而将统计流表中除该N条流以外的其它流对应的SLA等级均设置为统计流表中设置的最高SLA等级,那么这N条流以外的其它流对应的SLA等级实际上还受这N条流的传输速率的影响。
可选地,统计流表中以五元组作为流标识。网络设备接收到第一报文之后,提取第一报文的五元组,并根据第一报文的五元组确定第一报文属于统计流表中的第一流。
步骤403、网络设备采用第一队列转发第一报文,第一队列的转发优先级与统计流表记录的第一流对应的第一SLA等级相匹配。
第一队列为网络设备的一个出端口的一个队列。
本申请实施例中,由于统计流表中记录的流对应的SLA等级是基于流特征得到的,而时延敏感度不同的业务的流特征不同,因此可以在统计流表中为时延敏感度不同的流设置不同的SLA等级,进而使得网络设备对时延敏感度不同业务的报文的转发优先级不同,实现优先转发时延敏感业务的报文,从而保障了时延敏感业务的传输可靠性。
可选地,网络设备采用第一队列转发第一报文的一种实现方式,包括:网络设备在第一报文中添加第一指示,并采用第一队列发送携带有第一指示的第一报文。第一指示用于指示第一报文对应第一SLA等级。
本申请实施例中,网络设备通过在报文中携带对SLA等级的指示,使得后续接收到该报文的网络设备可以直接选择转发优先级与该报文指示的SLA等级相匹配的队列转发该报文,可以提高报文转发效率。
可选地,网络设备接收第三报文。第三报文携带有第二指示。第二指示用于指示第三报文对应第三SLA等级。网络设备采用第四队列转发第三报文。第四队列的转发优先级与第三SLA等级相匹配。可选地,网络设备接收第三报文之后,还可以在统计流表中添加第三报文所属的第三流与第三SLA等级的对应关系。
可选地,若网络设备为边缘节点,网络设备可以在报文中添加对SLA等级的指示。当然,中间节点也可以在报文中添加对SLA等级的指示。可选地,网络设备可以将对SLA等级的指示添加在报文头中。例如应用在第四版互联网协议(Internet Protocol version 4,IPv4)中,网络设备可以将对SLA等级的指示添加在IPv4报文头的服务类型(type ofservice,ToS)字段中。又例如应用在第六版互联网协议(Internet Protocol version 6,IPv6)中,网络设备可以将对SLA等级的指示添加在IPv6报文头的流量类别(trafficclass,TC)字段中。其中,边缘节点可以为通信网络的接入侧设备,用于将终端和服务器等工作站接入通信网络。边缘节点包括但不限于路由器、交换机、防火墙和AP。
一种可能实现方式,边缘节点在发送的每个报文中都添加对SLA等级的指示。这样后面的网络设备都无需设置统计流表,只需设置出端口的队列的转发优先级与SLA等级的映射关系即可。后面的网络设备可以直接选择转发优先级与报文中指示的SLA等级匹配的队列转发该报文,既可以提高报文转发效率,又节约了存储空间。
另一种可能实现方式,边缘节点仅在接收到的一条流的第一个报文或者一条流对应的SLA等级发生变更后接收到的属于该流的第一个报文中添加对SLA等级的指示。后面的网络设备接收到携带有对SLA等级的指示的报文后,提取并存储该报文所属的流与SLA等级的对应关系,以便转发属于该流的后续报文。这样,后面的网络设备无需统计经过自身的流的流特征,而可以根据接收到的报文携带的对SLA等级的指示维护自身存储的统计流表,可以降低计算开销。
图5是本申请实施例提供的另一种报文传输方法的流程示意图。该方法可以应用于如图1所示的应用场景中的网络设备101或如图3所示的网络设备101。如图5所示,该方法包括:
步骤501、网络设备接收第二报文。
步骤502、网络设备确定第二报文不属于统计流表中的任一流。
统计流表记录有一条或多条流对应的SLA等级。该一条或多条流对应的SLA等级基于该一条或多条流的流特征得到。
可选地,统计流表中以五元组作为流标识。网络设备接收到第二报文之后,提取第二报文的五元组,并根据第二报文的五元组确定统计流表中未记录有第二报文所属的流。
步骤503、网络设备在统计流表中添加第二报文所属的第二流与第二SLA等级的对应关系,第二SLA等级为统计流表中设置的最高SLA等级。
可选地,当第二报文的字节数大于或等于字节阈值时,网络设备在统计流表中添加第二流与第二SLA等级的对应关系。或者,当第二报文的字节数小于字节阈值时,网络设备采用第三队列转发第二报文,此时无需再执行步骤504。第三队列的转发优先级高于或等于第二队列的转发优先级。
由于小流中单个报文的字节数通常较少,通过对未知报文进行基于字节数的初步筛选,当该报文的字节数大于或等于字节阈值时,网络设备确定该报文所属的流有可能是大流,此时网络设备在统计流表中添加该报文所属的流与SLA等级的对应关系。而当该报文的字节数小于字节阈值时,网络设备判定该报文可能属于小流,此时网络设备不在统计流表中记录该报文所属的流与SLA等级的对应关系,以减少统计流表所占用的内存。另外,通常小流为时延敏感流,因此网络设备可以直接采用高转发优先级的队列转发属于小流的报文,无需再辨别小流对应的SLA等级。这样使得统计流表主要用于记录大流对应的SLA等级。一方面可以减少统计流表所需记录的流的数量,进而减少统计流表占用的内存,节约网络设备的存储资源。另一方面由于无需判断小流对应的SLA等级,节约了网络设备的处理资源。
步骤504、网络设备采用第二队列转发第二报文,第二队列的转发优先级与第二SLA等级相匹配。
第二队列为网络设备的一个出端口的一个队列。此步骤504的实现方式可参考上述步骤403的实现方式,本申请实施例在此不再赘述。
本申请实施例中,网络设备接收到不属于统计流表中的流的报文之后,在统计流表中添加该报文所属的流与SLA等级的对应关系,并且将新添加的流对应SLA等级设置为统计流表中设置的最高SLA等级,后续再对统计流表中记录的流对应的SLA等级进行更新,实现对经过网络设备的流的精细调度。
本申请实施例提供的上述报文传输方法的步骤先后顺序可以进行适当调整,步骤也可以根据情况进行相应增减。任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化的方法,都应涵盖在本申请的保护范围之内。
图6是本申请实施例提供的一种网络设备的结构示意图。该网络设备可以如图1所示的应用场景中的网络设备101或如图3所示的网络设备101。如图6所示,网络设备600包括:第一接收模块601、处理模块602和发送模块603。
第一接收模块601,用于接收第一报文。
处理模块602,用于确定第一报文属于统计流表中的第一流。统计流表记录有一条或多条流对应的服务等级协议SLA等级。一条或多条流对应的SLA等级基于一条或多条流的流特征得到。
发送模块603,用于采用第一队列转发第一报文。第一队列的转发优先级与统计流表记录的第一流对应的第一SLA等级相匹配。
可选地,处理模块602,还用于:获取统计流表所记录的所有流中传输速率最大的N条流,N为正整数。针对该N条流中的任一流,根据该任一流的流特征,确定该任一流对应的SLA等级,以得到更新后的统计流表。
可选地,处理模块602,用于:向分类模型输入任一流的流特征,以获取分类模型输出的该任一流对应的SLA等级。分类模型基于多条样本流的流特征训练得到,每条样本流标注有SLA等级标签,多条样本流包括标注有不同SLA等级标签的多类样本流。
可选地,分类模型为二叉树模型或随机森林模型。分类模型所使用的分类规则包括流特征的特征阈值与SLA等级的对应关系。
可选地,如图7所示,网络设备600还包括第二接收模块604。第二接收模块604,用于接收规则变更指令。规则变更指令用于指示变更分类规则中的流特征和/或变更分类规则中的SLA等级对应的流特征的特征阈值。处理模块605,还用于基于规则变更指令调整分类规则,以得到更新后的分类模型。
可选地,流特征包括传输速率、流双向性、最大突发度、最大报文间隔、最大报文连续时间、平均报文长度或报文长度方差中的一个或多个。
可选地,第一接收模块601,还用于接收第二报文。处理模块602,还用于确定第二报文不属于统计流表中的任一流。处理模块602,还用于在统计流表中添加第二报文所属的第二流与第二SLA等级的对应关系,第二SLA等级为统计流表中设置的最高SLA等级。发送模块603,还用于采用第二队列转发第二报文,第二队列的转发优先级与第二SLA等级相匹配。
可选地,处理模块602,用于:当第二报文的字节数大于或等于字节阈值时,在统计流表中添加第二流与第二SLA等级的对应关系。
可选地,发送模块603,还用于:当第二报文的字节数小于字节阈值时,网络设备采用第三队列转发第二报文。第三队列的转发优先级高于或等于第二队列的转发优先级。
可选地,发送模块603,用于:在第一报文中添加第一指示,并采用第一队列发送携带有第一指示的第一报文,第一指示用于指示第一报文对应第一SLA等级。
可选地,第一接收模块601,还用于接收第三报文。第三报文携带有第二指示。第二指示用于指示第三报文对应第三SLA等级。发送模块603,还用于采用第四队列转发第三报文,第四队列的转发优先级与第三SLA等级相匹配。
可选地,处理模块602,还用于在统计流表中添加第三报文所属的第三流与第三SLA等级的对应关系。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图8是本申请实施例提供的一种网络设备的硬件结构示意图。如图8所示,网络设备800包括处理器801和存储器802,处理器801与存储器802通过总线803连接。图8以处理器801和存储器802相互独立说明。可选地,处理器801和存储器802集成在一起。
其中,存储器802用于存储计算机程序,计算机程序包括操作系统和程序代码。存储器802是各种类型的存储介质,例如只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、电可擦可编程只读存储器(electrically erasableprogrammable read-only memory,EEPROM)、只读光盘(compact disc read-only memory,CD-ROM)、闪存、光存储器、寄存器、光盘存储、光碟存储、磁盘或者其它磁存储设备。
其中,处理器801是通用处理器或专用处理器。处理器801可能是单核处理器或多核处理器。处理器801包括至少一个电路,以执行本申请实施例提供的上述方法实施例中网络设备执行的动作。
可选地,网络设备800还包括网络接口804,网络接口804通过总线803与处理器801和存储器802连接。网络接口804能够实现网络设备800与其它网络设备通信。处理器801能够通过网络接口804接收报文或向其它网络设备发送报文等。
可选地,网络设备800还包括输入/输出(input/output,I/O)接口805,I/O接口805通过总线803与处理器801和存储器802连接。处理器801能够通过I/O接口805接收输入的命令或数据等。I/O接口805用于网络设备800连接输入设备,这些输入设备例如是键盘、鼠标等。可选地,在一些可能的场景中,上述网络接口804和I/O接口805被统称为通信接口。
可选地,网络设备800还包括显示器806,显示器806通过总线803与处理器801和存储器802连接。显示器806能够用于显示处理器801执行上述方法产生的中间结果和/或最终结果等,例如显示分类模型使用的分类规则、网络设备800统计的流特征等。在一种可能的实现方式中,显示器806是触控显示屏,以提供人机交互接口。
其中,总线803是任何类型的,用于实现网络设备800的内部器件互连的通信总线。例如系统总线。本申请实施例以网络设备800内部的上述器件通过总线803互连为例说明,可选地,网络设备800内部的上述器件采用除了总线803之外的其他连接方式彼此通信连接,例如网络设备800内部的上述器件通过网络设备800内部的逻辑接口互连。
上述器件可以分别设置在彼此独立的芯片上,也可以至少部分的或者全部的设置在同一块芯片上。将各个器件独立设置在不同的芯片上,还是整合设置在一个或者多个芯片上,往往取决于产品设计的需要。本申请实施例对上述器件的具体实现形式不做限定。
图8所示的网络设备800仅仅是示例性的,在实现过程中,网络设备800包括其他组件,本文不再一一列举。图8所示的网络设备800可以通过执行上述实施例提供的方法的全部或部分步骤来实现数据传输。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,数字多功能光盘(digital versatile disc,DVD))、或者半导体介质(例如,固态硬盘(solid statedisk,SSD))等。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本申请实施例中,术语“第一”、“第二”和“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
本申请中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
需要说明的是,本申请所涉及的信息(包括但不限于用户设备信息、用户个人信息等)、数据(包括但不限于用于分析的数据、存储的数据、展示的数据等)以及信号,均为经用户授权或者经过各方充分授权的,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。例如,本申请中涉及到的报文和流的流特征等都是在充分授权的情况下获取的。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的构思和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (27)
1.一种报文传输方法,其特征在于,所述方法包括:
网络设备接收第一报文;
所述网络设备确定所述第一报文属于统计流表中的第一流,所述统计流表记录有一条或多条流对应的服务等级协议SLA等级,所述一条或多条流对应的SLA等级基于所述一条或多条流的流特征得到;
所述网络设备采用第一队列转发所述第一报文,所述第一队列的转发优先级与所述统计流表记录的所述第一流对应的第一SLA等级相匹配。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述网络设备获取所述统计流表所记录的所有流中传输速率最大的N条流,N为正整数;
针对所述N条流中的任一流,所述网络设备根据所述任一流的流特征,确定所述任一流对应的SLA等级,以得到更新后的统计流表。
3.根据权利要求2所述的方法,其特征在于,所述网络设备根据所述任一流的流特征,确定所述任一流对应的SLA等级,包括:
所述网络设备向分类模型输入所述任一流的流特征,以获取所述分类模型输出的所述任一流对应的SLA等级,所述分类模型基于多条样本流的流特征训练得到,每条样本流标注有SLA等级标签,所述多条样本流包括标注有不同SLA等级标签的多类样本流。
4.根据权利要求3所述的方法,其特征在于,所述分类模型为二叉树模型或随机森林模型,所述分类模型所使用的分类规则包括流特征的特征阈值与SLA等级的对应关系。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
所述网络设备接收规则变更指令,所述规则变更指令用于指示变更所述分类规则中的流特征和/或变更所述分类规则中的SLA等级对应的流特征的特征阈值;
所述网络设备基于所述规则变更指令调整所述分类规则,以得到更新后的分类模型。
6.根据权利要求1至5任一所述的方法,其特征在于,所述流特征包括传输速率、流双向性、最大突发度、最大报文间隔、最大报文连续时间、平均报文长度或报文长度方差中的一个或多个。
7.根据权利要求1至6任一所述的方法,其特征在于,所述方法还包括:
所述网络设备接收第二报文;
所述网络设备确定所述第二报文不属于所述统计流表中的任一流;
所述网络设备在所述统计流表中添加所述第二报文所属的第二流与第二SLA等级的对应关系,所述第二SLA等级为所述统计流表中设置的最高SLA等级;
所述网络设备采用第二队列转发所述第二报文,所述第二队列的转发优先级与所述第二SLA等级相匹配。
8.根据权利要求7所述的方法,其特征在于,所述网络设备在所述统计流表中添加所述第二报文所属的第二流对应的SLA等级,包括:
当所述第二报文的字节数大于或等于字节阈值时,所述网络设备在所述统计流表中添加所述第二流与所述第二SLA等级的对应关系。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
当所述第二报文的字节数小于所述字节阈值时,所述网络设备采用第三队列转发所述第二报文,所述第三队列的转发优先级高于或等于所述第二队列的转发优先级。
10.根据权利要求1至9任一所述的方法,其特征在于,所述网络设备采用第一队列转发所述第一报文,包括:
所述网络设备在所述第一报文中添加第一指示,并采用所述第一队列发送携带有所述第一指示的第一报文,所述第一指示用于指示所述第一报文对应所述第一SLA等级。
11.根据权利要求1至10任一所述的方法,其特征在于,所述方法还包括:
所述网络设备接收第三报文,所述第三报文携带有第二指示,所述第二指示用于指示所述第三报文对应第三SLA等级;
所述网络设备采用第四队列转发所述第三报文,所述第四队列的转发优先级与所述第三SLA等级相匹配。
12.根据权利要求11所述的方法,其特征在于,所述网络设备接收第三报文之后,所述方法还包括:
所述网络设备在所述统计流表中添加所述第三报文所属的第三流与所述第三SLA等级的对应关系。
13.一种网络设备,其特征在于,所述网络设备包括:
第一接收模块,用于接收第一报文;
处理模块,用于确定所述第一报文属于统计流表中的第一流,所述统计流表记录有一条或多条流对应的服务等级协议SLA等级,所述一条或多条流对应的SLA等级基于所述一条或多条流的流特征得到;
发送模块,用于采用第一队列转发所述第一报文,所述第一队列的转发优先级与所述统计流表记录的所述第一流对应的第一SLA等级相匹配。
14.根据权利要求13所述的网络设备,其特征在于,所述处理模块,还用于:
获取所述统计流表所记录的所有流中传输速率最大的N条流,N为正整数;
针对所述N条流中的任一流,根据所述任一流的流特征,确定所述任一流对应的SLA等级,以得到更新后的统计流表。
15.根据权利要求14所述的网络设备,其特征在于,所述处理模块,用于:
向分类模型输入所述任一流的流特征,以获取所述分类模型输出的所述任一流对应的SLA等级,所述分类模型基于多条样本流的流特征训练得到,每条样本流标注有SLA等级标签,所述多条样本流包括标注有不同SLA等级标签的多类样本流。
16.根据权利要求15所述的网络设备,其特征在于,所述分类模型为二叉树模型或随机森林模型,所述分类模型所使用的分类规则包括流特征的特征阈值与SLA等级的对应关系。
17.根据权利要求16所述的网络设备,其特征在于,所述网络设备还包括第二接收模块;
所述第二接收模块,用于接收规则变更指令,所述规则变更指令用于指示变更所述分类规则中的流特征和/或变更所述分类规则中的SLA等级对应的流特征的特征阈值;
所述处理模块,还用于基于所述规则变更指令调整所述分类规则,以得到更新后的分类模型。
18.根据权利要求13至17任一所述的网络设备,其特征在于,所述流特征包括传输速率、流双向性、最大突发度、最大报文间隔、最大报文连续时间、平均报文长度或报文长度方差中的一个或多个。
19.根据权利要求13至18任一所述的网络设备,其特征在于,
所述第一接收模块,还用于接收第二报文;
所述处理模块,还用于确定所述第二报文不属于所述统计流表中的任一流;
所述处理模块,还用于在所述统计流表中添加所述第二报文所属的第二流与第二SLA等级的对应关系,所述第二SLA等级为所述统计流表中设置的最高SLA等级;
所述发送模块,还用于采用第二队列转发所述第二报文,所述第二队列的转发优先级与所述第二SLA等级相匹配。
20.根据权利要求19所述的网络设备,其特征在于,所述处理模块,用于:
当所述第二报文的字节数大于或等于字节阈值时,在所述统计流表中添加所述第二流与所述第二SLA等级的对应关系。
21.根据权利要求20所述的网络设备,其特征在于,所述发送模块,还用于:
当所述第二报文的字节数小于所述字节阈值时,采用第三队列转发所述第二报文,所述第三队列的转发优先级高于或等于所述第二队列的转发优先级。
22.根据权利要求13至21任一所述的网络设备,其特征在于,所述发送模块,用于:
在所述第一报文中添加第一指示,并采用所述第一队列发送携带有所述第一指示的第一报文,所述第一指示用于指示所述第一报文对应所述第一SLA等级。
23.根据权利要求13至22任一所述的网络设备,其特征在于,
所述第一接收模块,还用于接收第三报文,所述第三报文携带有第二指示,所述第二指示用于指示所述第三报文对应第三SLA等级;
所述发送模块,还用于采用第四队列转发所述第三报文,所述第四队列的转发优先级与所述第三SLA等级相匹配。
24.根据权利要求23所述的网络设备,其特征在于,
所述处理模块,还用于在所述统计流表中添加所述第三报文所属的第三流与所述第三SLA等级的对应关系。
25.一种网络设备,其特征在于,包括:处理器和存储器;
所述存储器,用于存储计算机程序,所述计算机程序包括程序指令;
所述处理器,用于调用所述计算机程序,实现如权利要求1至12任一所述的报文传输方法。
26.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有指令,当所述指令被处理器执行时,实现如权利要求1至12任一所述的报文传输方法。
27.一种计算机程序产品,其特征在于,包括计算机程序,所述计算机程序被处理器执行时,实现如权利要求1至12任一所述的报文传输方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210595089.5A CN117176662A (zh) | 2022-05-28 | 2022-05-28 | 报文传输方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210595089.5A CN117176662A (zh) | 2022-05-28 | 2022-05-28 | 报文传输方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117176662A true CN117176662A (zh) | 2023-12-05 |
Family
ID=88945608
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210595089.5A Pending CN117176662A (zh) | 2022-05-28 | 2022-05-28 | 报文传输方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117176662A (zh) |
-
2022
- 2022-05-28 CN CN202210595089.5A patent/CN117176662A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220103477A1 (en) | Packet processing method for implementing qos guarantee, device, and system | |
CN103765839B (zh) | 用于网络设备内的分组处理的基于变量的转发路径结构 | |
US8619793B2 (en) | Dynamic assignment of traffic classes to a priority queue in a packet forwarding device | |
KR100608904B1 (ko) | 서비스 품질 보장을 위한 시스템 및 방법 | |
US8797869B2 (en) | Flow-based rate limiting | |
US8151339B2 (en) | Method and apparatus for implementing filter rules in a network element | |
CN1359218A (zh) | 实现多协议标签交换系统业务工程的数据结构及存储介质 | |
JP2006254134A (ja) | 通信統計収集装置 | |
US11165716B2 (en) | Data flow processing method and device | |
CN101547159A (zh) | 一种避免网络拥塞的方法和设备 | |
US11653251B2 (en) | Packet forwarding method and apparatus | |
JP2006506845A (ja) | ルータにおけるパケットに対し論理リンクを選択する方法 | |
US20210306267A1 (en) | Optimized network latency using in-band telemetry | |
CN116582493A (zh) | 数据中心网络链路的选取方法、装置、电子设备 | |
CN115242892B (zh) | 一种流标识获取方法、装置、设备及介质 | |
US20230155947A1 (en) | Method for identifying flow, and apparatus | |
CN116192761A (zh) | 报文转发方法、转发层设备、系统、电子设备及存储介质 | |
CN114745322B (zh) | Sdn环境下基于遗传算法的视频流路由方法 | |
CN117176662A (zh) | 报文传输方法及装置 | |
CN113422699B (zh) | 数据流处理方法、装置、计算机可读存储介质及电子设备 | |
CN115996201A (zh) | 流表处理方法、Openflow交换机和计算设备 | |
CN112492643B (zh) | 基于多链路的数据转发方法、装置及终端设备 | |
US20210360050A1 (en) | Poor-qoe assessment method and related device | |
JP4871775B2 (ja) | 統計情報収集装置 | |
CN112822107A (zh) | 一种基于人工智能的广域网优化方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |