[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

CN115914115B - 网络拥塞控制方法、装置及通信系统 - Google Patents

网络拥塞控制方法、装置及通信系统 Download PDF

Info

Publication number
CN115914115B
CN115914115B CN202211617208.9A CN202211617208A CN115914115B CN 115914115 B CN115914115 B CN 115914115B CN 202211617208 A CN202211617208 A CN 202211617208A CN 115914115 B CN115914115 B CN 115914115B
Authority
CN
China
Prior art keywords
congestion
data packet
server
information
network
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
Application number
CN202211617208.9A
Other languages
English (en)
Other versions
CN115914115A (zh
Inventor
徐于晋
廖伟傑
赖羿廷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202211617208.9A priority Critical patent/CN115914115B/zh
Publication of CN115914115A publication Critical patent/CN115914115A/zh
Application granted granted Critical
Publication of CN115914115B publication Critical patent/CN115914115B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供一种网络拥塞控制方法、装置及通信系统,该方法包括:对目标服务器发送的第一数据包进行流量采样,得到表征信息;基于所述表征信息,确定目标服务器的分类结果;在确定所述分类结果为拥塞服务器的情况下,对第二数据包设置拥塞标记信息后,得到第三数据包;将所述第三数据包反馈至所述目标服务器,以供所述目标服务器根据所述第三数据包携带的所述拥塞标记信息调整网络速率。本发明提供的网络拥塞控制方法、装置及通信系统,能实现提早告知服务器进行速率调节,提升网络能效,优化网络拥塞的控制效果,很大程度上避免了拥塞发生点掉包的情况,提升用户体验。

Description

网络拥塞控制方法、装置及通信系统
技术领域
本发明涉及通信技术领域,尤其涉及一种网络拥塞控制方法、装置及通信系统。
背景技术
在网络通信过程中,当网络的负荷较小时,网络的吞吐量会随负荷的增加而线性增加。当网络的负荷达到一定程度时,网络吞吐量可能会出现下降的现象,该现象可称为拥塞现象。当网络拥塞严重时,可能会导致通信业务陷入停顿。
目前,常用的拥塞控制方案在服务器端使用支持远程直接数据存取(RemoteDirect Memory Access,RDMA)的网卡,并且在网卡间用RoCEv2作为传输沟通的协议,选择了基于优先级的流量控制(Priority-based Flow Control,PFC)、显式拥塞通知(ExplicitCongestion Notification,ECN)和数据中心量化拥塞通知(Data Center QuantizedCongestion Notification,DCQCN)的架构下,服务器发送端利用ECN标记来判断拥塞风险,发送方只有在队列建立之后才开始降低流量,这些构建的队列可以显着增加网络延迟,可能会导致发送端太晚降速,而拥塞发生点队列满了就会有掉包的情况发生,故网络拥塞的控制效果较差,大大降低用户体验。
发明内容
本发明提供一种网络拥塞控制方法、装置及通信系统,用以解决现有技术中发送方只有在队列建立之后才开始降低流量,无法避免的数据包排队的缺陷。
本发明提供一种网络拥塞控制方法,包括:
对目标服务器发送的第一数据包进行流量采样,得到表征信息;
基于所述表征信息,确定目标服务器的分类结果;
在确定所述分类结果为拥塞服务器的情况下,对第二数据包设置拥塞标记信息后,得到第三数据包;
将所述第三数据包反馈至所述目标服务器,以供所述目标服务器根据所述第三数据包携带的所述拥塞标记信息调整网络速率;
其中,所述第二数据包是对所述第一数据包进行复制得到的。
根据本发明提供的一种网络拥塞控制方法,所述对目标服务器发送的第一数据包进行流量采样,得到表征信息,包括:
对sFlow网络协议设置扩充字段;
利用更新后的sFlow网络协议对所述第一数据包进行流量采样,得到所述表征信息;
其中,所述扩充字段包括端口号、端口速率、队列号、队列使用率和掉包数量中的至少一种。
根据本发明提供的一种网络拥塞控制方法,所述基于所述表征信息,确定目标服务器的分类结果,包括:
将所述表征信息输入至分类模型,得到所述分类模型输出的所述分类结果;
其中,所述分类模型是基于样本表征信息,以及所述样本表征信息对应标注的拥塞情况信息训练得到的深度数据包检测DPI模型。
根据本发明提供的一种网络拥塞控制方法,所述分类模型包括特征提取层、排队预测层和拥塞判断层;
将所述表征信息输入至所述特征提取层,得到所述特征提取层输出的队列特征信息;
将所述队列特征信息输入至所述排队预测层,得到所述排队预测层输出的排队预测结果;
将所述排队预测结果输入至所述拥塞判断层,得到所述拥塞预测层输出的所述分类结果。
根据本发明提供的一种网络拥塞控制方法,在所述得到表征信息之后,还包括:
在确定所述表征信息中携带的掉包数量大于或者等于预设阈值的情况下,将所述目标服务器的分类结果设置为拥塞服务器。
本发明还提供一种网络拥塞控制装置,包括:
流量采样模块,用于对目标服务器发送的第一数据包进行流量采样,得到表征信息;
服务器分类模块,用于基于所述表征信息,确定目标服务器的分类结果;
拥塞决策模块,用于在确定所述分类结果为拥塞服务器的情况下,对第二数据包设置拥塞标记信息后,得到第三数据包;
拥塞通知模块,用于将所述第三数据包反馈至所述目标服务器,以供所述目标服务器根据所述第三数据包携带的所述拥塞标记信息调整速率;
其中,所述第二数据包是对所述第一数据包进行复制得到的。
本发明还提供一种通信系统,包括第一服务器和第二服务器,还包括一个或多个交换机,所述交换机用于执行如上所述的网络拥塞控制方法;
所述第一服务器,用于将所述第二服务器作为目的端口,发送第一数据包;
所述交换机,用于在确定所述第一服务器的分类结果为拥塞服务器的情况下,将携带拥塞标记信息的第三数据包反馈至所述第一服务器进行网络速率的调整;
所述交换机,还用于在确定所述第一服务器的分类结果为非拥塞服务器的情况下,将所述第一数据包顺次转发至所述第二服务器;
其中,所述第三数据包是对第二数据包设置拥塞标记信息得到的;所述第二数据包是对所述第一数据包进行复制得到的。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述网络拥塞控制方法。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述网络拥塞控制方法。
本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述网络拥塞控制方法。
本发明提供的网络拥塞控制方法、装置及通信系统,基于对接收到的第一数据包进行流量采样,利用采样出来的表征信息对不同的服务器进行分类,在目标服务器发生拥塞时决策对第一数据包进行复制后注入拥塞标记信息,将所得到的第三数据包回送至目标服务器。能实现提早告知服务器进行速率调节,提升网络能效,优化网络拥塞的控制效果,很大程度上避免了拥塞发生点掉包的情况,提升用户体验。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的网络拥塞控制方法的流程示意图;
图2是本发明提供的网络拥塞控制装置的结构示意图;
图3是本发明提供的通信系统的结构示意图;
图4是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。
应当理解,在本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
图1是本发明提供的网络拥塞控制方法的流程示意图。如图1所示,本发明实施例提供的网络拥塞控制方法的控制方法,包括:步骤101、对目标服务器发送的第一数据包进行流量采样,得到表征信息。
需要说明的是,本发明实施例提供的网络拥塞控制方法的执行主体是网络拥塞控制装置。
本申请实施例提供的网络拥塞控制方法适用于交换机针对不同队列使用率和CPU使用率进行采样,当上述采样得到的信息超出一定比例的阈值时,会将原先的报文复制一份并加上CNP标记,转送回服务器,提早让服务器得知快要有拥塞的情况发生,可以提早做升降速的机制。
需要说明的是,在步骤101之前,目标服务器作为发送端,在确定好目的端口后,向目的端口所对应的接收端服务器发送第一数据包。
其中,服务器发送端与接收端中间可以相连一个或者多个交换机。交换机的输入端口对接收到的第一数据包后进行相应的统计,以决策是否将第一数据包转发至下一交换机或者接收端。
具体地,在步骤101中,网络拥塞控制装置所依托运行的交换机中的不同队列使用率和CPU使用率进行统计采样,得到相关的表征信息。
本发明实施例对第一数据包的统计方式不作具体限定。
示例性地,可以利用sFlow网络协议对接收到的第一数据包后进行相应的统计。
网络拥塞控制装置作为sFlow代理,对网络拥塞控制装置所依托运行的交换机中的不同队列使用率和CPU使用率进行统计采样,将在对应端口所接收到的第一数据包进行网络流量的采样和推送,并将所得到的表征信息整合成一个sFlow数据报。
其中,本发明实施例中sFlow代理对数据流进行采样的方式可以包括固定采样方式和随机采样方式。
固定采样方式,是指在网络拥塞控制装置所依托运行的交换机上启用一个计数器,采样比为1/N时,初时计数器值为N,接口每处理一个报文计数,记数器计数减一,当计数器减到0时,采样当前的报文,重置计数器的计数为N,重复前面的处理。
随机采样方式,是指利用指针对每一个接口处理的报文给一个随机值(假定随机数的取值范围为0~N),设置一个阈值n(n∈[0,N]),当报文的随机值小于这个阈值时,将该报文作为第一数据包进行统计分析,这样实际的采样比为n/(N+1)。
可以理解的是,网络拥塞控制装置还可以通过网络把表征信息转发到sFlow采集器,由sFlow采集器接收多个sFlow代理转发的数据,进行统一的统计分析。
步骤102、基于所述表征信息,确定目标服务器的分类结果。
具体地,在步骤102中,网络拥塞控制装置将步骤101采样得到的表征信息作为服务器分类的依据,结合对应的预设条件进行对比分析,得到目标服务器的分类结果。
其中,预设条件是基于表征信息对应的服务器是否会发生拥塞而设定的,本发明实施例对预设条件不作具体限定。
示例性地,预设条件可以为表征信息所指示的队列使用率和CPU使用率大于或者等于一定的比例阈值,其中:
若表征信息所指示的队列使用率和CPU使用率超出一定的比例阈值时,即说明第一数据包对应的目标服务器会发生拥塞,则将目标服务器判定为拥塞服务器。
若表征信息所指示的队列使用率和CPU使用率未超出一定的比例阈值时,即说明第一数据包对应的目标服务器不会发生拥塞,则将目标服务器判定为非拥塞服务器。
步骤103、在确定所述分类结果为拥塞服务器的情况下,对第二数据包设置拥塞标记信息后,得到第三数据包。
其中,所述第二数据包是对所述第一数据包进行复制得到的。
具体地,在步骤103中,网络拥塞控制装置若确定目标服务器的分类结果为拥塞服务器时,则将原先的第一数据包复制一份,并对复制得到的第二数据包添加上拥塞标记信息,得到第三数据包。
网络拥塞控制装置若确定目标服务器的分类结果为非拥塞服务器时,则直接将原先的第一数据包转发至下一跳IP地址,即下一交换机或者接收方服务器。
其中,拥塞标记信息可以为拥塞通知数据包(Congestion Notification Packet,CNP)的标记内容,以利用第三数据包进行TCP/IP网络上两个端点之间的端到端拥塞通知。
步骤104、将所述第三数据包反馈至所述目标服务器,以供所述目标服务器根据所述第三数据包携带的所述拥塞标记信息调整网络速率。
具体地,在步骤104中,网络拥塞控制装置将第三数据包转送回目标服务器。
目标服务器在接收到第三数据包之后,对其进行报文解析,依照读取到第三数据包所携带的拥塞标记信息(即CNP标记),对目标服务器自身的网络速率进行相应的调整。
现有技术中,服务器发送端与接收端中间相连较多交换机,若其中一台交换机的端口队列发生拥塞时,CNP标记需传送到接收端服务器,才会告知发送端进行一次的降速,此时可能会导致发送端太晚降速,而拥塞发生点的队列却因为早已饱和而发生掉包的情况。
相较于现有技术,本申请则是在交换机确定其自身为拥塞发生点后,直接复制所接收到的第一数据包,并对复制得到的第二数据包注入CNP标记生成第三数据包,将第三数据包转送至对应的服务器发送端,以在发生拥塞时立即通知服务器发送端降速。
而若其中三台交换机的端口队列都发生拥塞时,现有技术中多个交换机注入的CNP标记需全部传送到接收端服务器后,才会向服务器发送端发送一个拥塞通知,也只会进行一次的降速。但是相对于一台交换机发生拥塞的情况,此时的拥塞情况是更紧急且需要更大幅度的降速调整的,相对于现有技术的一次普通降速根本无法缓解拥塞情况,故而本申请则中的每一个交换机确定其自身为拥塞发生点后,均会按照上述流程,根据接收报文的时刻依次将三个交换机所产生的第三数据包转送至对应的服务器发送端,使得服务器发送端能够相应地降速三次,有效缓解拥塞情况。
本发明实施例基于对接收到的第一数据包进行流量采样,利用采样出来的表征信息对不同的服务器进行分类,在目标服务器发生拥塞时决策对第一数据包进行复制后注入拥塞标记信息,将所得到的第三数据包回送至目标服务器。能实现提早告知服务器进行速率调节,提升网络能效,优化网络拥塞的控制效果,很大程度上避免了拥塞发生点掉包的情况,提升用户体验。
在上述任一实施例的基础上,对目标服务器发送的第一数据包进行流量采样,得到表征信息,包括:对所述sFlow网络协议设置扩充字段。
其中,所述扩充字段包括端口号、端口速率、队列号、队列使用率和掉包数量中的至少一种。
具体地,在步骤101中,网络拥塞控制装置接收用户终端所设置的扩充字段,在sFlow采样得到的表征信息的报文头格式中Expanded Counter Sample新增接收到的扩充字段,以更新sFlow网络协议。
本发明实施例对扩充字段不作具体限定。
可选地,扩充字段可以为端口号,端口号用于表示一台服务器中的特定进程所提供的服务。
可选地,扩充字段可以为端口速率,端口速率是指计算机串口到调制解调器的传输速率,用于表征数据吞吐量。
可选地,扩充字段可以为队列号,队列号用于表示一台服务器内由各端口构成的队列序号。
可选地,扩充字段可以为队列使用率,队列使用率是指一个时间段内某一端口队列使用状况的统计,通过这个指标可以看出在某一个时间段内各端口的占用情况,如果端口被占用的比例较大,那么服务器可能已经处于拥塞状态,因此必须将队列使用率控制在一定的比例下,以保证网络通畅。
可选地,扩充字段可以为掉包数量,掉包数量是指发送数据包的过程中所丢失的数据包数量。掉包数量在发送数据包的占比(即丢包率)较高,则说明网络传输效率较差。
利用更新后的sFlow网络协议对所述第一数据包进行流量采样,得到所述表征信息。
具体地,网络拥塞控制装置利用扩充字段后的sFlow网络协议,对第一数据包进行流量采样,在获取到默认字段对应的表征信息以外,还会获取到扩充字段对应的表征信息。
其中,报文头格式中Expanded Counter Sample的默认字段如表1所示。
表1 Expanded Counter Sample的默认字段表(format=1001)
int 5s CPU percentage(5秒CPU使用率)
int 1m CPU percentage(1分钟CPU使用率)
int 5m CPU percentage(5分钟CPU使用率)
hyper total memeory(总记忆体)
hyper free memeory(剩余记忆体)
相应地,默认字段对应的表征信息包括但不限于对于第一数据包的5秒CPU使用率的采样值(数据类型为int型)、1分钟CPU使用率的采样值(数据类型为int型)、5分钟CPU使用率的采样值(数据类型为int型)、总记忆体的采样值(数据类型为hyper型)和剩余记忆体的采样值(数据类型为hyper型)。
此外,报文头格式中Expanded Counter Sample的扩充字段如表2所示。
表2 Expanded Counter Sample的扩充字段表(format=1002)
int ifIndex(端口号)
hyper ifSpeed(端口速率)
int queueNumber(队列号)
int queueCounterUtil(队列使用率)
int dropCounter(掉包数量)
相应地,扩充字段对应的表征信息包括但不限于对于第一数据包的端口号的采样值(数据类型为int型)、端口速率的采样值(数据类型为hyper型)、队列号的采样值(数据类型为int型)、队列使用率的采样值(数据类型为int型)和掉包数量的采样值(数据类型为int型)。
本发明实施例基于各个队列使用情况和CPU使用情况,对接收到的第一数据包进行流量采样,进而,利用采样出来的表征信息对不同的服务器进行分类,在目标服务器发生拥塞时决策对第一数据包进行复制后注入拥塞标记信息,将所得到的第三数据包回送至目标服务器。能极大地降低了采样包转发至采集器过程中所占用的网络资源,又极大地降低了采集器对数据进行分析时的负载,以实现提早告知服务器进行速率调节,提升网络能效,优化网络拥塞的控制效果,很大程度上避免了拥塞发生点掉包的情况,提升用户体验。
在上述任一实施例的基础上,基于所述表征信息,确定目标服务器的分类结果,包括:将所述表征信息输入至分类模型,得到所述分类模型输出的所述分类结果。
其中,所述分类模型是基于样本表征信息,以及所述样本表征信息对应标注的拥塞情况信息训练得到的深度数据包检测DPI模型。
需要说明的是,分类模型可以是一种基于神经网络构建的DPI模型,神经网络的结构和参数包括但不限于神经网络的输入层,隐含层和输出层的层数,以及每一层的权重参数等。本发明实施例对神经网络的种类和结构不作具体限定。
其中,DPI模型,是一种利用计算器网络数据包过滤技术,用来检查通过检测点之数据包的数据部分,在开放系统互连(OSI)参考模型的应用层中起作用。使用DPI检测技术可以发现、识别、分类、重新路由或阻止具有特殊数据或代码有效载荷的数据包,而传统的包过滤只能检测数据包包头,不能发现这些数据包。
例如,分类模型可以是一种神经网络模型,由输入层、隐藏层和输出层组成,其中:
输入层在整个网络的最前端部分,直接接收采样得到的表征信息。
隐藏层可以有一层或多层,通过自身的神经元对输入向量以加权求和的方式来进行运算。
输出层是最后一层,用来对加权求和后得到的向量进行解码,输出分类结果,并根据不同的需求输出分类结果的类型,这个值可以是一个类别向量值,也可以是一个类似线性回归那样产生的连续的值,还可以是别的复杂类型的值或者向量,本发明实施例对此不作具体限定。
激励函数是在人工神经网络的神经元上运行的函数,负责将神经元的输入映射到输出端,采用激活函数进行逻辑回归处理,即将隐藏层输出的权重加和值转换为非线性的分类结果,本发明实施例对激活函数的种类不作具体限定。
优选地,采用Softmax函数进行逻辑回归处理,将多个神经元的输出,映射到(0,1)区间内,可以看成概率来理解,从而来进行多分类。
需要说明的是,用于训练模型的样本数据包含与样本数据包对应的样本表征信息,以及对样本表征信息标注的拥塞情况信息。将样本数据按照一定比例,划分为训练集和测试集。
其中,拥塞情况信息包括但不限于拥塞程度数据、拥塞持续时长数据等,以全面的刻画样本数据包在传输过程中对应的拥塞情况。
示例性地,训练集和测试集在样本数据中的占比包括但不限于9:1、8:2等,本发明实施例对此不作具体限定。
具体地,在步骤102中,网络拥塞控制装置对构建好的分类模型各层间的权值系数初始化,再将训练集中的一组样本数据和样本数据的标注内容输入到当前权值系数下的神经网络,依次计算输入层、隐藏层和输出层的各节点的输出。输出层最后的输出结果与其实际连接位置状态类型之间的累积误差,根据梯度下降法,修正输入层与隐藏层各节点间的权值系数。依照上述过程,直至遍历训练集中的所有样本数据,可以得到输入层与隐藏层的权值系数。
网络拥塞控制装置根据神经网络输入层与隐藏层的权值系数,还原分类模型,并将实时接收到的每一组本次控制数据输入到训练好的分类模型,可以预判出在目标服务器对应的分类结果。
分类结果可以是一个概率值或者标签结果,本发明实施例对行为分类结果的形式不作具体限定。
若分类结果可以是一个概率值,则可以通过概率值说明目标服务器在发出第一数据包后发生拥塞的概率。
若分类结果可以是一个标签结果,则可以通过模型获取一个中间数值结果,将数值结果符合预先设置的目标条件,则为该数值结果对应的目标服务器分配对应的类别标签。
本发明实施例基于将表征信息作为分类模型的输入,输出的结果为对应目标服务器所对应的类别,通过多层的神经网络对采样得到的数据进行自动的深度数据包检测,能提数据包识别的精度和效率。
在上述任一实施例的基础上,分类模型包括特征提取层、排队预测层和拥塞判断层。
将所述表征信息输入至所述特征提取层,得到所述特征提取层输出的队列特征信息。
将所述队列特征信息输入至所述排队预测层,得到所述排队预测层输出的排队预测结果。
将所述排队预测结果输入至所述拥塞判断层,得到所述拥塞预测层输出的所述分类结果。
具体地,在步骤102中,网络拥塞控制装置中内置的分类模型由输入层、隐藏层和输出层组成。隐藏层的作用是通过自身的神经元,对输入的表征信息进行特征提取和识别。
本发明实施例对隐藏层的结构不作具体限定。
优选地,隐藏层至少包含三层,分别是特征提取层、排队预测层和拥塞判断层。其中:
特征提取层的作用是从表征信息中选取出至少两方面指标,即一方面为与队列使用情况相关,另一方面为与CPU使用情况相关,并将上述两方面指标的采样值进行特征提取和融合,得到队列特征信息。
排队预测层的作用是通过预设条件,对各神经元传输的队列特征信息进行加权运算,得预判未来发生壅塞导致排队或掉包的排队预测结果。
其中,排队预测结果包括但不限于拥塞程度的预测值,以及拥塞持续时长的预测值等。
类别识别层的作用是将排队预测结果采用全连接处理和Softmax处理将其映射成二维向量,并根据这个二维向量进行分类处理,得到分类结果,即可获知目标服务器是否为拥塞服务器。
本发明实施例对分类模型的应用过程不作具体限定。
示例性地,以从表征信息取出队列使用率和CPU使用率作为队列特征信息进行分析训练作为示例,分类模型可以将队列使用率超过阈值的80%且五秒CPU使用率超过80%的情况,预判为未来可能会发生拥塞,即将目标服务器的分类结果设置为拥塞服务器,则转发报文时先复制一份原始数据包并带上CNP标记发送回目标服务器,以使得目标服务器端接收到携带有CNP标记的报文提早降速。
可以理解的是,分类模型使用的分析标准可根据自身产品的需求做改变,即可以从表1和表2中选取一个或者多个字段,将表征信息中属于选中字段的信息作为队列特征信息,进行分析和识别。
本发明实施例基于特征提取层对表征信息进行特征提取,通过排队预测层对特征提取层输出的队列特征信息进行分类识别后,再经由拥塞判断层将排队预测结果映射成分类结果。能够可以充分挖掘流量采样得到的数据中的逻辑性和关联性,降低了计算复杂度以及开发难度,在提高数据包识别精度的同时,提高了模型的效率。
在上述任一实施例的基础上,在所述得到表征信息之后,还包括:在确定所述表征信息中携带的掉包数量大于或者等于预设阈值的情况下,将所述目标服务器的分类结果设置为拥塞服务器。
具体地,在步骤101之后,网络拥塞控制在根据sFlow网络协议对第一数据包进行流量采样得到表征信息之后,若从表征信息中所携带的掉包数量大于或者等于预设阈值,则直接将第一数据包的发送方(即目标服务器)的分类结果判定为拥塞服务器。同时,在转发报文时,将第一数据包先复制得到的第二数据包设置CNP标记后,将标记后的第三数据包发送回目标服务器。
若从表征信息中所携带的掉包数量小于预设阈值,则直接将第一数据包的发送方(即目标服务器)的分类结果判定为非拥塞服务器,同时,将第一数据直接转发至下一跳地址。
本发明实施例基于表征信息中携带的掉包数量,在掉包数量大于或者等于预设阈值时,直接决策将目标服务器的分类结果判定为拥塞服务器,进而,在目标服务器发生拥塞时决策对第一数据包进行复制后注入拥塞标记信息,将所得到的第三数据包回送至目标服务器。能实现提早告知服务器进行速率调节,提升网络能效,优化网络拥塞的控制效果,很大程度上避免了拥塞发生点掉包的情况,提升用户体验。
图2是本发明提供的网络拥塞控制装置的结构示意图。如图2所示,在上述任一实施例的基础上,该装置包括:流量采样模块210、服务器分类模块220、拥塞决策模块230和拥塞通知模块240,其中:
流量采样模块210,用于对目标服务器发送的第一数据包进行流量采样,得到表征信息。
服务器分类模块220,用于基于所述表征信息,确定目标服务器的分类结果。
拥塞决策模块230,用于在确定所述分类结果为拥塞服务器的情况下,对第二数据包设置拥塞标记信息后,得到第三数据包。
拥塞通知模块240,用于将所述第三数据包反馈至所述目标服务器,以供所述目标服务器根据所述第三数据包携带的所述拥塞标记信息调整速率。
其中,所述第二数据包是对所述第一数据包进行复制得到的。
具体地,流量采样模块210、服务器分类模块220、拥塞决策模块230和拥塞通知模块240顺次电连接。
流量采样模块210对其所依托运行的交换机中的不同队列使用率和CPU使用率进行统计采样,得到相关的表征信息。
服务器分类模块220将流量采样模块210采样得到的表征信息作为服务器分类的依据,结合对应的预设条件进行对比分析,得到目标服务器的分类结果。
拥塞决策模块230若确定目标服务器的分类结果为拥塞服务器时,则将原先的第一数据包复制一份,并对复制得到的第二数据包添加上拥塞标记信息,得到第三数据包。
拥塞通知模块240将第三数据包转送回目标服务器。
目标服务器在接收到第三数据包之后,对其进行报文解析,依照读取到第三数据包所携带的拥塞标记信息(即CNP标记),对目标服务器自身的网络速率进行相应的调整。
可选地,流量采样模块210包括扩充字段设置单元和流量采样单元,其中:
扩充字段设置单元,用于对所述sFlow网络协议设置扩充字段。
流量采样单元,用于利用更新后的sFlow网络协议对所述第一数据包进行流量采样,得到所述表征信息。
其中,所述扩充字段包括端口号、端口速率、队列号、队列使用率和掉包数量中的至少一种。
可选地,服务器分类模块220,具体用于将所述表征信息输入至分类模型,得到所述分类模型输出的所述分类结果。
其中,所述分类模型是基于样本表征信息,以及所述样本表征信息对应标注的拥塞情况信息训练得到的深度数据包检测DPI模型。
可选地,分类模型包括特征提取层、排队预测层和拥塞判断层。
相应地,服务器分类模块220包括特征提取单元、排队预测单元和拥塞判断单元,其中:
特征提取单元,用于将所述表征信息输入至所述特征提取层,得到所述特征提取层输出的队列特征信息。
排队预测单元,用于将所述队列特征信息输入至所述排队预测层,得到所述排队预测层输出的排队预测结果。
拥塞判断单元,用于将所述排队预测结果输入至所述拥塞判断层,得到所述拥塞预测层输出的所述分类结果。
可选地,该装置还包括掉包数量决策模块,其中:
掉包数量决策模块,用于在确定所述表征信息中携带的掉包数量大于或者等于预设阈值的情况下,将所述目标服务器的分类结果设置为拥塞服务器。
本发明实施例提供的网络拥塞控制装置,用于执行本发明上述网络拥塞控制方法,其实施方式与本发明提供的网络拥塞控制方法的实施方式一致,且可以达到相同的有益效果,此处不再赘述。
本发明实施例基于对接收到的第一数据包进行流量采样,利用采样出来的表征信息对不同的服务器进行分类,在目标服务器发生拥塞时决策对第一数据包进行复制后注入拥塞标记信息,将所得到的第三数据包回送至目标服务器。能实现提早告知服务器进行速率调节,提升网络能效,优化网络拥塞的控制效果,很大程度上避免了拥塞发生点掉包的情况,提升用户体验。
图3是本发明提供的通信系统的结构示意图。如图3所示,在上述任一实施例的基础上,通信系统包括:第一服务器310和第二服务器320,还包括一个或多个交换机330,所述交换机330用于执行上述的网络拥塞控制方法。
所述第一服务器310,用于将所述第二服务器320作为目的端口,发送第一数据包。
所述交换机330,用于在确定所述第一服务器310的分类结果为拥塞服务器的情况下,将携带拥塞标记信息的第三数据包反馈至所述第一服务器310进行网络速率的调整。
所述交换机330,还用于在确定所述第一服务器310的分类结果为非拥塞服务器的情况下,将所述第一数据包顺次转发至所述第二服务器320。
其中,所述第三数据包是对第二数据包设置拥塞标记信息得到的;所述第二数据包是对所述第一数据包进行复制得到的。
具体地,通信系统是由第一服务器310和第二服务器320分别作为数据包的发送端和接收端,并在发送段与接收端中间相连一个或者多个交换机330构成的。
其中,第一服务器310和第二服务器320均可以采用支持RDMA的网卡,且可以解析RoCEv2报文,以根据接收到CNP标记进行对应的速率调整行为。
交换机330可以对RoCEv2报文进行转发,且支持PFC和ECN功能。
优选地,交换机330支持sFlow流量采样协议,并且能将需要的信息从sFlowExpanded Counter Sample夹带后(也可以发送至sFlow收集器进行采样分析),利用分类模型中的深度数据包检测DPI技术分析队列使用率和CPU使用率的结果。当DPI判断第一服务器的分类结果为拥塞服务器时,提早先将第一数据包复制成第二数据包,并对其并打上CNP标记,将标记得到的第三数据包转送回第一服务器310,提早让第一服务器310得知拥塞发生,提早做升降速。
当DPI判断第一服务器的分类结果为非拥塞服务器时,直接将第一数据包进行报文转发,经由在多个交换机的多次跳转下,发送至第二服务器320。
可以理解的是,本发明实施例提供的通信系统可以建立在SONiC架构下,以扩大应用在其他网络操作系统。
本发明实施例基于对接收到的第一数据包进行流量采样,利用采样出来的表征信息对不同的服务器进行分类,在目标服务器发生拥塞时决策对第一数据包进行复制后注入拥塞标记信息,将所得到的第三数据包回送至目标服务器。能实现提早告知服务器进行速率调节,提升网络能效,优化网络拥塞的控制效果,很大程度上避免了拥塞发生点掉包的情况,提升用户体验。
图4示例了一种电子设备的实体结构示意图,如图4所示,该电子设备可以包括:处理器(processor)410、通信接口(Communications Interface)420、存储器(memory)430和通信总线440,其中,处理器410,通信接口420,存储器430通过通信总线440完成相互间的通信。处理器410可以调用存储器430中的逻辑指令,以执行网络拥塞控制方法,该方法包括:对目标服务器发送的第一数据包进行流量采样,得到表征信息;基于所述表征信息,确定目标服务器的分类结果;在确定所述分类结果为拥塞服务器的情况下,对第二数据包设置拥塞标记信息后,得到第三数据包;将所述第三数据包反馈至所述目标服务器,以供所述目标服务器根据所述第三数据包携带的所述拥塞标记信息调整网络速率;其中,所述第二数据包是对所述第一数据包进行复制得到的。
此外,上述的存储器430中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的网络拥塞控制方法,该方法包括:对目标服务器发送的第一数据包进行流量采样,得到表征信息;基于所述表征信息,确定目标服务器的分类结果;在确定所述分类结果为拥塞服务器的情况下,对第二数据包设置拥塞标记信息后,得到第三数据包;将所述第三数据包反馈至所述目标服务器,以供所述目标服务器根据所述第三数据包携带的所述拥塞标记信息调整网络速率;其中,所述第二数据包是对所述第一数据包进行复制得到的。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的网络拥塞控制方法,该方法包括:对目标服务器发送的第一数据包进行流量采样,得到表征信息;基于所述表征信息,确定目标服务器的分类结果;在确定所述分类结果为拥塞服务器的情况下,对第二数据包设置拥塞标记信息后,得到第三数据包;将所述第三数据包反馈至所述目标服务器,以供所述目标服务器根据所述第三数据包携带的所述拥塞标记信息调整网络速率;其中,所述第二数据包是对所述第一数据包进行复制得到的。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (8)

1.一种网络拥塞控制方法,其特征在于,包括:
对目标服务器发送的第一数据包进行流量采样,得到表征信息;
基于所述表征信息,确定目标服务器的分类结果;所述基于所述表征信息,确定目标服务器的分类结果,包括:将所述表征信息输入至分类模型,得到所述分类模型输出的所述分类结果;其中,所述分类模型是基于样本表征信息,以及所述样本表征信息对应标注的拥塞情况信息训练得到的深度数据包检测DPI模型;所述分类模型包括特征提取层、排队预测层和拥塞判断层;将所述表征信息输入至所述特征提取层,得到所述特征提取层输出的队列特征信息;将所述队列特征信息输入至所述排队预测层,得到所述排队预测层输出的排队预测结果;将所述排队预测结果输入至所述拥塞判断层,得到所述拥塞预测层输出的所述分类结果;
在确定所述分类结果为拥塞服务器的情况下,对第二数据包设置拥塞标记信息后,得到第三数据包;所述拥塞标记信息为拥塞通知数据包CNP的标记内容;
将所述第三数据包反馈至所述目标服务器,以供所述目标服务器根据所述第三数据包携带的所述拥塞标记信息调整网络速率;
其中,所述第二数据包是对所述第一数据包进行复制得到的。
2.根据权利要求1所述的网络拥塞控制方法,其特征在于,所述对目标服务器发送的第一数据包进行流量采样,得到表征信息,包括:
对sFlow网络协议设置扩充字段;
利用更新后的sFlow网络协议对所述第一数据包进行流量采样,得到所述表征信息;
其中,所述扩充字段包括端口号、端口速率、队列号、队列使用率和掉包数量中的至少一种。
3.根据权利要求1-2任一所述的网络拥塞控制方法,其特征在于,在所述得到表征信息之后,还包括:
在确定所述表征信息中携带的掉包数量大于或者等于预设阈值的情况下,将所述目标服务器的分类结果设置为拥塞服务器。
4.一种网络拥塞控制装置,其特征在于,包括:
流量采样模块,用于对目标服务器发送的第一数据包进行流量采样,得到表征信息;
服务器分类模块,用于基于所述表征信息,确定目标服务器的分类结果;所述基于所述表征信息,确定目标服务器的分类结果,包括:将所述表征信息输入至分类模型,得到所述分类模型输出的所述分类结果;其中,所述分类模型是基于样本表征信息,以及所述样本表征信息对应标注的拥塞情况信息训练得到的深度数据包检测DPI模型;所述分类模型包括特征提取层、排队预测层和拥塞判断层;将所述表征信息输入至所述特征提取层,得到所述特征提取层输出的队列特征信息;将所述队列特征信息输入至所述排队预测层,得到所述排队预测层输出的排队预测结果;将所述排队预测结果输入至所述拥塞判断层,得到所述拥塞预测层输出的所述分类结果;
拥塞决策模块,用于在确定所述分类结果为拥塞服务器的情况下,对第二数据包设置拥塞标记信息后,得到第三数据包;述拥塞标记信息为拥塞通知数据包CNP的标记内容;
拥塞通知模块,用于将所述第三数据包反馈至所述目标服务器,以供所述目标服务器根据所述第三数据包携带的所述拥塞标记信息调整速率;
其中,所述第二数据包是对所述第一数据包进行复制得到的。
5.一种通信系统,包括第一服务器和第二服务器,其特征在于,还包括一个或多个交换机,所述交换机用于执行权利要求1至3任一项所述的网络拥塞控制方法;
所述第一服务器,用于将所述第二服务器作为目的端口,发送第一数据包;
所述交换机,用于在确定所述第一服务器的分类结果为拥塞服务器的情况下,将携带拥塞标记信息的第三数据包反馈至所述第一服务器进行网络速率的调整;
所述交换机,还用于在确定所述第一服务器的分类结果为非拥塞服务器的情况下,将所述第一数据包顺次转发至所述第二服务器;
其中,所述第三数据包是对第二数据包设置拥塞标记信息得到的;所述第二数据包是对所述第一数据包进行复制得到的。
6.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至3任一项所述网络拥塞控制方法。
7.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至3任一项所述网络拥塞控制方法。
8.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至3任一项所述网络拥塞控制方法。
CN202211617208.9A 2022-12-15 2022-12-15 网络拥塞控制方法、装置及通信系统 Active CN115914115B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211617208.9A CN115914115B (zh) 2022-12-15 2022-12-15 网络拥塞控制方法、装置及通信系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211617208.9A CN115914115B (zh) 2022-12-15 2022-12-15 网络拥塞控制方法、装置及通信系统

Publications (2)

Publication Number Publication Date
CN115914115A CN115914115A (zh) 2023-04-04
CN115914115B true CN115914115B (zh) 2024-10-18

Family

ID=86485529

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211617208.9A Active CN115914115B (zh) 2022-12-15 2022-12-15 网络拥塞控制方法、装置及通信系统

Country Status (1)

Country Link
CN (1) CN115914115B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116915706B (zh) * 2023-09-13 2023-12-26 合肥综合性国家科学中心人工智能研究院(安徽省人工智能实验室) 数据中心网络拥塞控制方法、装置、设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102594676A (zh) * 2012-02-13 2012-07-18 福建星网锐捷网络有限公司 桥端口扩展网络及其拥塞控制方法、端口扩展器和控制桥
CN113746744A (zh) * 2020-05-30 2021-12-03 华为技术有限公司 网络拥塞的控制方法、装置、设备、系统及存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9407560B2 (en) * 2013-03-15 2016-08-02 International Business Machines Corporation Software defined network-based load balancing for physical and virtual networks
CN107493238A (zh) * 2016-06-13 2017-12-19 华为技术有限公司 一种网络拥塞控制方法、设备及系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102594676A (zh) * 2012-02-13 2012-07-18 福建星网锐捷网络有限公司 桥端口扩展网络及其拥塞控制方法、端口扩展器和控制桥
CN113746744A (zh) * 2020-05-30 2021-12-03 华为技术有限公司 网络拥塞的控制方法、装置、设备、系统及存储介质

Also Published As

Publication number Publication date
CN115914115A (zh) 2023-04-04

Similar Documents

Publication Publication Date Title
Jay et al. A deep reinforcement learning perspective on internet congestion control
CN111919423B (zh) 网络通信中的拥塞控制
Jay et al. Internet congestion control via deep reinforcement learning
US7385986B2 (en) Packet transfer method and apparatus
US9674102B2 (en) Methods and network device for oversubscription handling
EP1805524B1 (en) Active queue management method and device
CN113179172B (zh) 故障检测模型的训练方法、装置及系统
CN102592171A (zh) 基于bp神经网络的认知网络性能预测方法及装置
CN113572758A (zh) 一种用于处理通信网络中的分组的网络设备和方法
CN115914115B (zh) 网络拥塞控制方法、装置及通信系统
CN110061924B (zh) 一种报文转发方法、装置及相关产品
Razmara et al. A Hybrid Neural Network Approach for Congestion Control in TCP/IP Networks
Bohacek et al. Signal processing challenges in active queue management
CN113572655B (zh) 无丢失网络的拥塞探测方法及系统
CN111385218B (zh) 消息队列过载的丢包、流量控制方法、存储介质及设备
CN113179171B (zh) 故障检测方法、装置及系统
CN112583818B (zh) 针对移动Web服务的自适应传输协议选择方法和装置
CN116192766A (zh) 用于调整数据发送速率和训练拥塞控制模型的方法及装置
CN112019443A (zh) 多路径数据传输方法及装置
CN114679393B (zh) 基于流量分析的卫星互联网带宽控制方法、系统及装置
CN116032852B (zh) 基于会话的流量控制方法、装置、系统、设备及存储介质
JP2001111556A (ja) Redによる輻輳回避装置及びその方法
CN114095364B (zh) 网络拥塞控制方法及装置
Zala Improve Performance of TCP Congestion Control Using Queue Modification over Wireless Network Ph. D. Synopsis
Weerawardane et al. A Markovian model for HSDPA TNL congestion control performance analysis

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant