CN113630337A - 数据流接纳方法、装置及系统、计算机可读存储介质 - Google Patents

数据流接纳方法、装置及系统、计算机可读存储介质 Download PDF

Info

Publication number
CN113630337A
CN113630337A CN202010374563.2A CN202010374563A CN113630337A CN 113630337 A CN113630337 A CN 113630337A CN 202010374563 A CN202010374563 A CN 202010374563A CN 113630337 A CN113630337 A CN 113630337A
Authority
CN
China
Prior art keywords
queue
network
egress port
port queue
data flow
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
Application number
CN202010374563.2A
Other languages
English (en)
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202010374563.2A priority Critical patent/CN113630337A/zh
Publication of CN113630337A publication Critical patent/CN113630337A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/25Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/26Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
    • H04L47/263Rate modification at the source after receiving feedback
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/27Evaluation or update of window size, e.g. using information derived from acknowledged [ACK] packets

Abstract

本申请公开了一种数据流接纳方法、装置及系统、计算机可读存储介质,属于网络技术领域。控制设备获取该控制设备所管理的网络中的网络设备的设备状态信息,该设备状态信息中包括网络设备中的第一出端口队列的队列状态信息。控制设备根据第一出端口队列的队列状态信息,确定是否接纳目标数据流进入网络。其中,网络设备位于目标数据流在该网络中的转发路径上,该第一出端口队列用于转发该目标数据流。本申请中,控制设备根据网络设备中出端口队列的队列状态信息确定是否接纳新的数据流进入网络,无需预测新的数据流的需求带宽以及检测网络剩余带宽,节约了控制设备的计算开销,保证了控制设备对数据流进行接纳控制的可靠性。

Description

数据流接纳方法、装置及系统、计算机可读存储介质
技术领域
本申请涉及网络技术领域,特别涉及一种数据流接纳方法、装置及系统、计算机可读存储介质。
背景技术
接纳控制(admission control,AC)是无线资源管理(radio resourcemanagement,RRM)的重要组成部分,是一种通过限制进入网络的业务量来减少网络拥塞、保证服务质量和网络资源利用率的重要机制。在接纳控制系统中,通常由接纳控制器负责对用户设备(user equipment,UE)的接入请求进行判决,决定是否接纳UE请求接入的数据流(以下简称:待接入数据流)进入网络。
目前,接纳控制器在接收到UE发送的接入请求后,首先基于该接入请求确定待接入数据流的需求带宽,然后通过比较待接入数据流的需求带宽以及网络剩余带宽,确定是否接纳该待接入数据流进入网络。
但是,由于待接入数据流的需求带宽的获取难度以及网络剩余带宽的实时检测难度均较高,接纳控制器无法保证获取的待接入数据流的需求带宽以及网络剩余带宽的可靠性,因此目前接纳控制器对数据流进行接纳控制的可靠性较低。另外,由于接纳控制器通常需要采用深度包检测(deep packet inspection,DPI)算法等复杂度较高的算法确定待接入数据流的需求带宽,因此接纳控制器的计算开销较大。
发明内容
本申请提供了一种数据流接纳方法、装置及系统、计算机可读存储介质,可以解决目前接纳控制器对数据流进行接纳控制的可靠性较低以及计算开销较大的问题。
第一方面,提供了一种数据流接纳方法。该方法包括:控制设备获取该控制设备所管理的网络中的网络设备的设备状态信息,该设备状态信息中包括网络设备中的第一出端口队列的队列状态信息。控制设备根据第一出端口队列的队列状态信息,确定是否接纳目标数据流进入网络。其中,网络设备位于目标数据流在该网络中的转发路径上,该第一出端口队列用于转发该目标数据流。
本申请中,控制设备根据网络设备中出端口队列的队列状态信息确定是否接纳新的数据流进入网络,无需预测新的数据流的需求带宽以及检测网络剩余带宽,节约了控制设备的计算开销,同时可以保证控制设备对数据流进行接纳控制的可靠性。
可选地,第一出端口队列的队列状态信息用于指示第一出端口队列是否满载。
本申请中,控制设备可以根据队列状态信息确定该出端口队列是否满载,进而确定是否接纳该新的数据流。当位于转发路径上的网络设备中用于转发该新的数据流的出端口队列满载时,控制设备确定不接纳该新的数据流,当位于转发路径上的网络设备中用于转发该新的数据流的出端口队列不满载时,控制设备确定接纳该新的数据流,进而可以准确地实现对数据流的接纳控制。
可选地,第一出端口队列的队列状态信息基于该第一出端口队列对应的ECN阈值以及该第一出端口队列的队列深度信息确定,该ECN阈值为网络设备为第一出端口队列中的数据包设置ECN标记的门限值。
本申请中,由于出端口队列的队列状态信息基于对应的ECN水线确定,即网络设备支持ECN机制,网络中能够自行调整发送端的发包速率,因此控制设备无需检测各个网络设备的剩余带宽,当网络中接入新的数据流时,该新的数据流的发送端可以在有限的剩余带宽下逐步地非丢包的试探带宽,如果不能满足其需求带宽,该发送端的发送窗口也会被压制到剩余带宽的允许范围内,而无需控制设备调整新的数据流的发包速率,进一步节约了控制设备的处理资源。
可选地,控制设备根据第一出端口队列的队列状态信息,确定是否接纳目标数据流进入网络的实现过程,包括:当第一出端口队列满载时,控制设备确定不接纳目标数据流进入网络。也即是,当位于目标数据流的转发路径上的任一网络设备中用于转发该目标数据流的出端口队列满载时,控制设备确定不接纳该目标数据流进入网络。
可选地,控制设备根据第一出端口队列的队列状态信息,确定是否接纳目标数据流进入网络的实现过程,包括:当第一出端口队列不满载时,控制设备确定接纳目标数据流进入网络;或者,当第一出端口队列不满载,且位于转发路径上其他网络设备中的第二出端口队列不满载时,控制设备确定接纳目标数据流进入网络,第二出端口队列用于转发目标数据流,也即是,当位于目标数据流的转发路径上的所有网络设备中用于转发该目标数据流的出端口队列均不满载时,控制设备确定接纳该目标数据流进入网络。
可选地,第一出端口队列的优先级与目标数据流的优先级相匹配。
第一种实现方式中,控制设备获取控制设备所管理的网络中的网络设备的设备状态信息的实现过程,包括:控制设备周期性地接收网络设备发送的设备状态信息。
在本实现方式中,控制设备可以周期性地接收到该控制设备所管理的网络中的网络设备发送的设备状态信息,当有新的数据流欲接入网络时,控制设备在确定该新的数据流的转发路径后,可以根据自身存储的各个网络设备的设备状态信息,及时确定是否接纳该新的数据流进入网络,控制设备判断是否接纳数据流进入网络的效率和实时性较高。
第二种实现方式中,控制设备在确定网络设备位于转发路径上之后,向网络设备发送设备状态信息获取指令;则控制设备获取控制设备所管理的网络中的网络设备的设备状态信息的实现过程,包括:控制设备接收网络设备基于设备状态信息获取指令发送的设备状态信息。
在本实现方式中,控制设备先获取目标数据流在网络中的转发路径,然后向位于该转发路径上的网络设备发送设备信息获取指令,以获取位于该转发路径上的网络设备的设备状态信息。由于网络设备无需周期性地主动向控制设备发送设备状态信息,而是在接收到控制设备发送的设备状态信息获取指令后再向控制设备发送设备状态信息,可以节约网络设备与控制设备之间的传输资源。
第二方面,提供了一种数据流接纳方法。该方法包括:网络设备向管理该网络设备所在网络的控制设备发送设备状态信息,该设备状态信息中包括网络设备中的第一出端口队列的队列状态信息,该第一出端口队列的队列状态信息用于控制设备确定是否接纳目标数据流进入网络。其中,网络设备位于目标数据流在网络中的转发路径上,第一出端口队列用于转发目标数据流。
可选地,第一出端口队列的队列状态信息用于指示第一出端口队列是否满载。
可选地,网络设备还可以获取第一出端口队列对应的ECN阈值以及第一出端口队列的队列深度信息,该ECN阈值为网络设备为第一出端口队列中的数据包设置ECN标记的门限值。网络设备根据ECN阈值以及第一出端口队列的队列深度信息,确定第一出端口队列是否满载。
可选地,网络设备获取第一出端口队列对应的ECN阈值以及第一出端口队列的队列深度信息的实现过程,包括:网络设备获取第一出端口队列在目标时间段内对应的ECN阈值,以及第一出端口队列在目标时间段内不同时刻的多个队列深度值。则网络设备根据ECN阈值以及第一出端口队列的队列深度信息,确定第一出端口队列是否满载的实现过程,包括:当第一出端口队列在目标时间段内不同时刻的多个队列深度值与第一出端口队列在目标时间段内对应的ECN阈值满足目标满载条件时,网络设备确定第一出端口队列在目标时间段内满载。
可选地,目标时间段的时长等于目标数据流在所述网络中的N个RTT,N为大于1的整数。
可选地,目标满载条件包括以下一个或多个:多个队列深度值中每个队列深度值与ECN阈值的绝对差值小于第一阈值;多个队列深度值与ECN阈值的绝对差值的平均值小于第二阈值;多个队列深度值中每个队列深度值与ECN阈值的方差值小于第三阈值;多个队列深度值与ECN阈值的方差值的平均值小于第四阈值。也即是,当出端口队列在目标时间段内的队列深度在ECN阈值附近振荡时,说明该出端口队列在目标时间段内满载。
第三方面,提供了一种数据流接纳装置,用于控制设备。所述装置包括多个功能模块,所述多个功能模块相互作用,实现上述第一方面及其各实施方式中的方法。所述多个功能模块可以基于软件、硬件或软件和硬件的结合实现,且所述多个功能模块可以基于具体实现进行任意组合或分割。
第四方面,提供了一种数据流接纳装置,用于网络设备。所述装置包括多个功能模块,所述多个功能模块相互作用,实现上述第二方面及其各实施方式中的方法。所述多个功能模块可以基于软件、硬件或软件和硬件的结合实现,且所述多个功能模块可以基于具体实现进行任意组合或分割。
第五方面,提供了一种控制设备,包括:处理器和存储器;
所述存储器,用于存储计算机程序,所述计算机程序包括程序指令;
所述处理器,用于调用所述计算机程序,实现如第一方面任一所述的数据流接纳方法。
第六方面,提供了一种网络设备,包括:处理器和存储器;
所述存储器,用于存储计算机程序,所述计算机程序包括程序指令;
所述处理器,用于调用所述计算机程序,实现如第二方面任一所述的数据流接纳方法。
第七方面,提供了一种数据流接纳系统,包括:控制设备和网络设备,所述控制设备包括如第三方面所述的数据流接纳装置或为如第五方面所述的控制设备,所述网络设备包括如第四方面所述的数据流接纳装置或为如第六方面所述的网络设备。
第八方面,提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,当所述指令被计算机设备的处理器执行时,实现如第一方面及其各实施方式或第二方面及其各实施方式任一所述的数据流接纳方法。
第九方面,提供了一种芯片,芯片包括可编程逻辑电路和/或程序指令,当芯片运行时,实现如第一方面及其各实施方式或第二方面及其各实施方式任一所述的数据流接纳方法。
本申请提供的技术方案带来的有益效果至少包括:
本申请中,控制设备根据网络设备中出端口队列的队列状态信息确定是否接纳新的数据流进入网络,无需预测新的数据流的需求带宽以及检测网络剩余带宽,节约了控制设备的计算开销,同时可以保证控制设备对数据流进行接纳控制的可靠性。另外,控制设备可以根据队列状态信息确定该出端口队列是否满载,进而确定是否接纳该新的数据流。当位于转发路径上的网络设备中用于转发该新的数据流的出端口队列满载时,控制设备确定不接纳该新的数据流,当位于转发路径上的网络设备中用于转发该新的数据流的出端口队列不满载时,控制设备确定接纳该新的数据流,进而可以准确地实现对数据流的接纳控制。由于出端口队列的队列状态信息基于对应的ECN水线确定,即网络设备支持ECN机制,网络中能够自行调整发送端的发包速率,因此控制设备无需检测各个网络设备的剩余带宽,当网络中接入新的数据流时,该新的数据流的发送端可以在有限的剩余带宽下逐步地非丢包的试探带宽,如果不能满足其需求带宽,该发送端的发送窗口也会被压制到剩余带宽的允许范围内,而无需控制设备调整新的数据流的发包速率,进一步节约了控制设备的处理资源。
附图说明
图1是本申请实施例提供的一种数据流接纳系统的结构示意图;
图2是本申请实施例提供的一种网络设备的结构示意图;
图3是本申请实施例提供的一种数据流接纳方法的流程示意图;
图4是本申请实施例提供的出端口队列的队列深度在多个周期内的变化示意图;
图5是本申请实施例提供的一种用于承载设备状态信息的报文格式示意图;
图6是本申请实施例提供的一种数据流接纳装置的结构示意图;
图7是本申请实施例提供的另一种数据流接纳装置的结构示意图;
图8是本申请实施例提供的又一种数据流接纳装置的结构示意图;
图9是本申请实施例提供的再一种数据流接纳装置的结构示意图;
图10是本申请实施例提供的一种数据流接纳装置的框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
图1是本申请实施例提供的一种数据流接纳系统的结构示意图。如图1所示,该系统包括:控制设备101以及控制设备101所管理的网络中的网络设备102A-102C(统称为网络设备102)。控制设备101所管理的网络即通信网络。图1中网络设备的数量仅用作示意,不作为对本申请实施例提供的通信网络的限制。该通信网络可以是数据中心网络(data centernetwork,DCN)、城域网络、广域网络、软件定义广域网(software defined wide areanetwork,SD-WAN)、园区网络、虚拟局域网(virtual local area network,VLAN)或虚拟扩展局域网(virtual extensible local area network,VXLAN)等,本申请实施例对通信网络的类型不做限定。
控制设备101与网络设备102之间通过有线网络或无线网络连接。控制设备101用于管理和控制网络设备102。例如在本申请实施例中,控制设备101用于管理网络设备102上转发的数据流。控制设备101可以是网络控制器,网络管理设备,网关或其它具有控制能力的设备。控制设备101可以是一台或多台设备。例如,控制设备101可以是一台服务器,或者由若干台服务器组成的服务器集群,或者是一个云计算服务中心。网络设备102可以是交换机或路由器等。通信网络中的发送端和接收端之间通过网络设备102转发数据包实现通信。网络设备102中包括一个或多个出端口队列,该出端口队列用于缓存通信网络中的发送端向接收端发送的数据包。
本申请实施例提供的通信网络基于显式拥塞通知(explicit congestionnotification,ECN)机制进行拥塞控制。在本申请实施例提供的通信网络中,发送端和接收端之间支持采用传输控制协议(transmission control protocol,TCP)机制进行数据传输,网络设备支持ECN标记机制。可选地,图2是本申请实施例提供的一种网络设备的结构示意图。如图2所示,该网络设备包括:网络处理器(network processor,NP)、数据包编辑器(packet editor,PE)、出端口队列(output buffer,OB)和流量管理器(traffic manager,TM)。网络处理器用于向数据包编辑器发送使能ECN的指令;从流量管理器的寄存器中读取队列缓存信息和队列出包速率;计算出端口队列的ECN阈值,该ECN阈值为网络设备为出端口队列中的数据包设置ECN标记的门限值,该ECN阈值也可称为ECN水线;和/或,修改出数据包的字段,等等。数据包编辑器用于向流量管理器发送使能ECN的指令。出端口队列用于缓存数据包。流量管理器用于从出端口队列获取并存储队列缓存信息和队列出包速率;根据网络处理器计算得到的ECN阈值,修改寄存器中的ECN阈值;和/或,根据ECN阈值和队列缓存信息修改数据包的互联网协议(Internet Protocol,IP)头部的ECN字段。其中,图2中网络设备的各个部件之间的连线的箭头指向表示信息可传递方向。
可选地,通信网络基于ECN机制进行拥塞控制的过程包括以下步骤a-f:
在步骤a中,发送端向网络设备发送数据包。
在请求评论(request for comments,RFC)3168中描述,数据包的IP头部的服务类型(type of service,TOS)字段中的第7和8比特的保留位被定义为ECN字段,ECN字段具有4个取值。ECN字段取值为00,表示该数据包不支持ECN功能;ECN字段取值为01或10,表示该数据包支持ECN功能;ECN字段取值为11,表示该数据包在传输过程中发生拥塞。对于IP头部中ECN字段的不同取值的含义和解释具体可参考RFC3168,本申请实施例在此不再赘述。
可选地,发送端使能数据中心TCP(data center TCP,DCTCP)功能。则发送端发送的数据包的IP头部中的ECN字段的值置为01或10。或者,发送端也可以不使能DCTCP功能,则发送端发送的数据包的IP头部中的ECN字段的值置为00。网络设备在接收到该数据包后,由网络设备中的网络处理器将该数据包的IP头部中的ECN字段的值修改为01或10。本申请实施例以发送端使能DCTCP功能为例进行说明。
网络设备接收到数据包后,根据用于转发该数据包的出端口队列的队列长度进行主动队列管理(active queue management,AQM),具体实现方式参考下述步骤b至步骤c:
在步骤b中,网络设备检测第一出端口队列的队列深度是否超出对应的ECN阈值。
该第一出端口队列为网络设备中用于转发接收到的数据包的出端口队列。出端口队列的队列深度用于表示该出端口队列中缓存的数据包的总字节数。出端口队列的队列深度越大,表示出端口队列被占用的内存越大。数据包的传输时延与出端口队列的队列深度正相关,也即是,出端口队列的队列深度越大,数据包的传输时延越长。
可选地,网络设备中的每个出端口队列均配置有ECN阈值。不同出端口队列对应的ECN阈值可以相同,也可以不同。
本申请实施例中,网络设备中的出端口队列对应的ECN阈值可以是静态配置的。或者,网络设备中的出端口队列对应的ECN阈值也可以动态调整。例如,出端口队列对应的ECN阈值可以周期性地调整,该出端口队列在下一周期对应的ECN阈值,由该出端口队列在上一周期内的队列深度变化信息、队列出包速率、端口带宽和/或ECN包占比等确定。本申请实施例对动态调整出端口队列对应的ECN阈值的方式不做限定。
在步骤c中,当第一出端口队列的队列深度超出对应的ECN阈值时,网络设备为数据包设置ECN标记,并将设置有ECN标记的数据包缓存至第一出端口队列中。
网络设备为数据包设置ECN标记,即网络设备将数据包的IP头部中的ECN字段的值置为11。
可选地,当第一出端口队列的队列深度未超出对应的ECN阈值时,网络设备将接收到的数据包缓存至第一出端口队列中,即网络设备不改变数据包的IP头部中的ECN字段的值。
在步骤d中,网络设备向接收端发送第一出端口队列中的数据包。
在步骤e中,当接收端接收到设置有ECN标记的数据包时,接收端向发送端反馈拥塞信息。
该拥塞信息用于通知发送端该数据包在传输过程中发生了拥塞。该拥塞信息可以承载于TCP报文中。例如,当TCP报文的TCP头部中的ECN响应(ECN-Echo,ECE)字段置为1时,表示该TCP报文中携带有拥塞信息。可选地,接收端可以采用确认字符(acknowledgecharacter,ACK)报文向发送端反馈拥塞信息。当接收端接收到IP头部中的ECN字段的值为11的数据包时,可以将该数据包对应的ACK报文的TCP头部中的ECE字段置为1,然后向发送端发送该ACK报文。
在步骤f中,发送端根据接收端反馈的拥塞信息,调整后续数据包的发送速率。
发送端发送数据包的速率(简称:发包速率)由发送窗口的大小决定,该发包速率与发送窗口的大小正相关。其中,发送窗口也可称为拥塞窗口(congestion window,CWND)。
可选地,当发送端使能DCTCP功能,发送端可以根据接收端反馈的拥塞信息,周期性地调节发送窗口的大小。发送端可以在数据包对应的每个往返时间(round trip time,RTT)内,根据上个RTT内的数据包的拥塞程度,调节下个RTT的发送窗口的大小。例如,网络设备在第n+1个RTT内的发送窗口的大小cwnd[n+1]与在第n个RTT内的发送窗口的大小cwnd[n]可以满足以下公式:
cwnd[n+1]=cwnd[n]*(1-a[n+1]/2),n为正整数。
其中,a为调窗参数,a[n+1]=(1-g)*a[n]+g*F[n]。F[n]表示网络设备在第n个RTT内接收到TCP头部中的ECE字段置为1的ACK报文占接收到的总的ACK报文的数量比例。g为加权平均因子,用于评估拥塞概率,g的取值范围可以为[0,1],通常取值为1/16。
可选地,当发送端不使能DCTCP功能,可以由位于发送端和网络设备之间的接入点(access point,AP)劫持接收端发送的ACK报文,并根据接收到的ACK报文的数量以及ECE字段置为1的ACK报文的占比等信息,周期性地调节发送端的发送窗口的大小,并将调节后的发送窗口的大小发送给发送端,供发送端使用。AP调节发送端的发送窗口的大小的方式可参考上述发送端调节发送窗口的大小的方式,本申请实施例在此不再赘述。
发送端根据接收端反馈的拥塞信息对发送窗口的大小进行调整之后,再向接收端发送数据包时,可以将数据包的TCP头部中的拥塞窗口减小(congestion window reduced,CWR)字段的值置为1,以通知接收端发送窗口已减小。
图3是本申请实施例提供的一种数据流接纳方法的流程示意图。该方法可以应用于如图1所示的数据流接纳系统中。如图3所示,该方法包括:
步骤301、控制设备获取该控制设备所管理的网络中的网络设备的设备状态信息,该设备状态信息中包括该网络设备中的第一出端口队列的队列状态信息。
其中,该网络设备位于目标数据流在该控制设备所管理的网络中的转发路径上。可选地,该网络设备可以是该转发路径上的任一网络设备。第一出端口队列用于转发该目标数据流,即第一出端口队列为该网络设备中用于转发该目标数据流的出端口队列。目标数据流为待接入网络的数据流。
可选地,第一出端口队列的优先级与目标数据流的优先级相匹配。本申请实施例中,控制设备可以先获取目标数据流在该控制设备所管理的网络中的转发路径,再获取位于该转发路径上的网络设备的设备状态信息,并确定该网络设备中优先级与目标数据流的优先级相匹配的第一出端口队列。以下对控制设备获取目标数据流在网络中的转发路径、控制设备确定优先级与目标数据流的优先级相匹配的出端口队列以及控制设备获取位于转发路径上的网络设备的设备状态信息的实现过程分别进行说明。
第一,控制设备获取目标数据流在网络中的转发路径。
可选地,控制设备接收针对目标数据流的接入请求,该接入请求中包括目标数据流的标识。然后控制设备根据该目标数据流的标识确定该目标数据流在网络中的转发路径。目标数据流的标识可以是该目标数据流的五元组信息,具体包括目标数据流的源IP地址、目的IP地址、源端口、目的端口和传输层协议。本申请实施例提供的网络采用的传输层协议为TCP。
目标数据流在网络中的转发路径上包括一个或多个网络设备。控制设备根据目标数据流的标识可以确定该目标数据流的转发路径以及该目标数据流在位于该转发路径上的各个网络设备上的出端口。目标数据流在网络设备上的出端口,即网络设备中用于发送该目标数据流的端口,该出端口可以是上行端口或下行端口。
示例地,目标数据流在网络中的转发路径为:网络设备A→网络设备B→网络设备C。
第二,控制设备确定优先级与目标数据流的优先级相匹配的出端口队列。
网络设备具有一个或多个端口,每个端口对应一条传输链路。一条传输链路上通常能够创建8个虚拟通道,每个虚拟通道对应一个优先级,任意一个虚拟通道都允许被单独暂停或重启,同时不影响其它虚拟通道传输数据流。相应地,网络设备的一个端口可以对应8个优先级的出端口队列,该8个优先级的出端口队列与该端口对应的8个虚拟通道一一对应,每个出端口队列用于在对应的虚拟通道上转发对应优先级的数据流。
可选地,控制设备接收到的针对目标数据流的接入请求中还包括目标数据流的优先级信息,该优先级信息可以是目标数据流对应的差分服务代码点(differentiatedservices code point,DSCP)的编码值或VLAN优先级;控制设备根据目标数据流的优先级信息确定该目标数据流对应的出端口队列的优先级。
示例地,网络设备中与目标数据流的优先级相匹配的出端口队列的优先级为i,目标数据流在网络设备A上的出端口为R1,在网络设备B上的出端口为R2,在网络设备C上的出端口为R3,则目标数据流在网络中依次经过网络设备A中出端口R1上的第i个出端口队列,网络设备B中出端口R2上的第i个出端口队列,网络设备C中出端口R3上的第i个出端口队列。该目标数据流在网络中经过的出端口队列路径可以表示为:(网络设备A,R1-i)→(网络设备B,R2-i)→(网络设备C,R3-i)。
第三,控制设备获取位于转发路径上的网络设备的设备状态信息。可选地,本申请实施例提供了以下两种实现方式。
在第一种实现方式中,控制设备周期性地接收该控制设备所管理的网络中的网络设备发送的设备状态信息。也即是,网络设备周期性地向控制设备发送该网络设备的设备状态信息。可选地,网络设备的设备状态信息包括该网络设备中各个出端口队列的队列状态信息。
对网络设备中的每个出端口队列,网络设备可以获取该出端口队列对应的ECN阈值以及该出端口队列的队列深度信息,然后根据该对应的ECN阈值以及该出端口队列的队列深度信息,确定该出端口队列是否满载。可选地,具体实现方式如下:
网络设备获取出端口队列在目标时间段内对应的ECN阈值,以及该出端口队列在目标时间段内不同时刻的多个队列深度值。当该出端口队列在目标时间段内不同时刻的多个队列深度值与该出端口队列在目标时间段内对应的ECN阈值满足目标满载条件时,网络设备确定该出端口队列在目标时间段内满载;反之,网络设备确定该出端口队列在目标时间段内不满载。进一步网络设备可以得到用于指示该出端口队列是否满载的队列状态信息。
可选地,目标满载条件包括以下一个或多个:出端口队列在目标时间段内的每个队列深度值与ECN阈值的绝对差值小于第一阈值;出端口队列在目标时间段内的多个队列深度值与ECN阈值的绝对差值的平均值小于第二阈值;出端口队列在目标时间段内的每个队列深度值与ECN阈值的方差值小于第三阈值;出端口队列在目标时间段内的多个队列深度值与ECN阈值的方差值的平均值小于第四阈值。也即是,当出端口队列在目标时间段内的队列深度在ECN阈值附近振荡时,说明该出端口队列在目标时间段内满载。具体可以采用3sigma等方式判断出端口队列在目标时间段内的队列深度是否在ECN阈值附近振荡。
示例地,出端口队列对应的ECN阈值是静态配置的。该ECN阈值的大小可以为:C*RTT*λ。其中,C是该出端口队列对应的虚拟通道的传输带宽,RTT是预估在该出端口队列转发的数据流在网络中的RTT,λ可以取值为1/7。
可选地,目标时间段的时长等于目标数据流在网络中的N个RTT,N为大于1的整数。
网络设备周期性地向控制设备发送该网络设备的设备状态信息。一个周期的时长可以等于目标时间段的时长。示例地,图4是本申请实施例提供的出端口队列的队列深度在多个周期内的变化示意图。其中,横坐标表示时间,纵坐标表示出端口队列的队列深度。如图4所示,该出端口队列在第一个周期内的队列深度不在ECN阈值附近振荡,表示该出端口队列在第一个周期内不满载;该出端口队列在第二个周期和第三个周期内的队列深度在ECN阈值附近振荡,表示该出端口队列在第二个周期和第三个周期内均满载。
示例地,图5是本申请实施例提供的一种用于承载设备状态信息的报文格式示意图。如图5所示,该报文中包括设备标识、队列标识和队列状态信息。设备标识可以是网络设备的媒体访问控制(Media Access Control,MAC)地址;队列标识包括出端口队列所在端口的端口号以及队列优先级;队列状态信息可以采用数字、字符或字母等表示,例如队列状态信息可以用0和1表示,0表示该出端口队列不满载,1表示该出端口队列满载。
可选地,网络设备在每个发送周期内,可以向控制设备发送各个出端口队列的队列状态信息,或者,也可以仅向控制设备发送满载状态发生变化的出端口队列的队列状态信息,本申请实施例对此不做限定。
在本实现方式中,控制设备可以周期性地接收到该控制设备所管理的网络中的网络设备发送的设备状态信息,当有新的数据流欲接入网络时,控制设备在确定该新的数据流的转发路径后,可以根据自身存储的各个网络设备的设备状态信息,及时确定是否接纳该新的数据流进入网络,控制设备判断是否接纳数据流进入网络的效率和实时性较高。
在第二种实现方式中,控制设备向该网络设备发送设备状态信息获取指令。控制设备接收该网络设备基于该设备状态信息获取指令发送的设备状态信息。
可选地,网络设备获取自身设备状态信息的过程可参考上述第一种实现方式,本申请实施例在此不再赘述。在本实现方式中,控制设备先获取目标数据流在网络中的转发路径,然后向位于该转发路径上的网络设备发送设备信息获取指令,以获取位于该转发路径上的网络设备的设备状态信息。由于网络设备无需周期性地主动向控制设备发送设备状态信息,而是在接收到控制设备发送的设备状态信息获取指令后再向控制设备发送设备状态信息,可以节约网络设备与控制设备之间的传输资源。
本申请实施例中,网络设备根据出端口队列在目标时间段内的队列深度值与ECN阈值的大小关系,可以较为准确地确定该出端口队列在目标时间段内是否满载,进而保证控制设备对判断是否接纳数据流进入网络的准确性。
步骤302、控制设备根据该第一出端口队列的队列状态信息,确定是否接纳目标数据流进入网络。
可选地,当第一出端口队列满载时,控制设备确定不接纳目标数据流进入网络。也即是,当位于目标数据流的转发路径上的任一网络设备中用于转发该目标数据流的出端口队列满载时,控制设备确定不接纳该目标数据流进入网络。
可选地,当第一出端口队列不满载时,控制设备确定接纳目标数据流进入网络。或者,当第一出端口队列不满载,且位于转发路径上其他网络设备中的第二出端口队列不满载时,控制设备确定接纳目标数据流进入网络,该第二出端口队列用于转发目标数据流。也即是,当位于目标数据流的转发路径上的所有网络设备中用于转发该目标数据流的出端口队列均不满载时,控制设备确定接纳该目标数据流进入网络。
综上所述,在本申请实施例提供的数据流接纳方法中,当有新的数据流欲接入网络时,控制设备可以获取位于该新的数据流的转发路径上网络设备的设备状态信息,由于设备状态信息中包括网络设备中用于转发该新的数据流的出端口队列的队列状态信息,控制设备可以根据队列状态信息确定该出端口队列是否满载,进而确定是否接纳该新的数据流。当位于转发路径上的网络设备中用于转发该新的数据流的出端口队列满载时,控制设备确定不接纳该新的数据流,当位于转发路径上的网络设备中用于转发该新的数据流的出端口队列不满载时,控制设备确定接纳该新的数据流,进而可以实现对数据流的接纳控制。由于出端口队列的队列状态信息基于对应的ECN水线确定,即网络设备支持ECN机制,网络中能够自行调整发送端的发包速率,因此控制设备无需预测新的数据流的需求带宽,节约了控制设备的计算开销,同时可以保证控制设备对数据流进行接纳控制的可靠性。另外,由于本申请实施例提供的网络采用ECN机制进行拥塞控制,因此控制设备也无需检测各个网络设备的剩余带宽,当网络中接入新的数据流时,该新的数据流的发送端可以在有限的剩余带宽下逐步地非丢包的试探带宽,如果不能满足其需求带宽,该发送端的发送窗口也会被压制到剩余带宽的允许范围内,而无需控制设备调整新的数据流的发包速率,进一步节约了控制设备的处理资源。
图6是本申请实施例提供的一种数据流接纳装置的结构示意图。该装置可以用于如图1所示的数据流接纳系统中的控制设备101。如图6所示,该装置60包括:
获取模块601,用于获取控制设备所管理的网络中的网络设备的设备状态信息,该设备状态信息中包括网络设备中的第一出端口队列的队列状态信息。
确定模块602,用于根据第一出端口队列的队列状态信息,确定是否接纳目标数据流进入网络。
其中,网络设备位于目标数据流在网络中的转发路径上,第一出端口队列用于转发目标数据流。
综上所述,在本申请实施例提供的数据流接纳装置中,通过确定模块根据网络设备中出端口队列的队列状态信息确定是否接纳新的数据流进入网络,无需预测新的数据流的需求带宽以及检测网络剩余带宽,节约了控制设备的计算开销,同时可以保证控制设备对数据流进行接纳控制的可靠性。
可选地,第一出端口队列的队列状态信息用于指示第一出端口队列是否满载。
可选地,第一出端口队列的队列状态信息基于第一出端口队列对应的ECN阈值以及第一出端口队列的队列深度信息确定,ECN阈值为网络设备为第一出端口队列中的数据包设置ECN标记的门限值。
可选地,确定模块602,用于:当第一出端口队列满载时,控制设备确定不接纳目标数据流进入网络。
可选地,确定模块602,用于:当第一出端口队列不满载时,控制设备确定接纳目标数据流进入网络;或者,当第一出端口队列不满载,且位于转发路径上其他网络设备中的第二出端口队列不满载时,控制设备确定接纳目标数据流进入网络,第二出端口队列用于转发目标数据流。
可选地,第一出端口队列的优先级与目标数据流的优先级相匹配。
可选地,获取模块601,用于:周期性地接收网络设备发送的设备状态信息。
可选地,如图7所示,装置60还包括发送模块603。该发送模块603,用于:在确定网络设备位于转发路径上之后,向网络设备发送设备状态信息获取指令;获取模块601,用于接收网络设备基于设备状态信息获取指令发送的设备状态信息。
综上所述,在本申请实施例提供的数据流接纳装置中,控制设备通过确定模块根据网络设备中出端口队列的队列状态信息确定是否接纳新的数据流进入网络,无需预测新的数据流的需求带宽以及检测网络剩余带宽,节约了控制设备的计算开销,同时可以保证控制设备对数据流进行接纳控制的可靠性。另外,控制设备可以根据队列状态信息确定该出端口队列是否满载,进而确定是否接纳该新的数据流。当位于转发路径上的网络设备中用于转发该新的数据流的出端口队列满载时,控制设备确定不接纳该新的数据流,当位于转发路径上的网络设备中用于转发该新的数据流的出端口队列不满载时,控制设备确定接纳该新的数据流,进而可以准确地实现对数据流的接纳控制。由于出端口队列的队列状态信息基于对应的ECN水线确定,即网络设备支持ECN机制,网络中能够自行调整发送端的发包速率,因此控制设备无需检测各个网络设备的剩余带宽,当网络中接入新的数据流时,该新的数据流的发送端可以在有限的剩余带宽下逐步地非丢包的试探带宽,如果不能满足其需求带宽,该发送端的发送窗口也会被压制到剩余带宽的允许范围内,而无需控制设备调整新的数据流的发包速率,进一步节约了控制设备的处理资源。
图8是本申请实施例提供的又一种数据流接纳装置的结构示意图。该装置可以用于如图1所示的数据流接纳系统中的网络设备102。如图8所示,该装置80包括:
发送模块801,用于向管理网络设备所在网络的控制设备发送设备状态信息,该设备状态信息中包括网络设备中的第一出端口队列的队列状态信息,该第一出端口队列的队列状态信息用于控制设备确定是否接纳目标数据流进入网络。
其中,网络设备位于目标数据流在网络中的转发路径上,第一出端口队列用于转发目标数据流。
可选地,第一出端口队列的队列状态信息用于指示第一出端口队列是否满载。
可选地,如图9所示,装置80还包括:
获取模块802,用于获取第一出端口队列对应的ECN阈值以及第一出端口队列的队列深度信息,ECN阈值为网络设备为第一出端口队列中的数据包设置ECN标记的门限值;确定模块803,用于根据ECN阈值以及第一出端口队列的队列深度信息,确定第一出端口队列是否满载。
可选地,获取模块802,用于:获取第一出端口队列在目标时间段内对应的ECN阈值,以及第一出端口队列在目标时间段内不同时刻的多个队列深度值;确定模块803,用于:当第一出端口队列在目标时间段内不同时刻的多个队列深度值与第一出端口队列在目标时间段内对应的ECN阈值满足目标满载条件时,确定第一出端口队列在目标时间段内满载。
可选地,目标时间段的时长等于目标数据流在网络中的N个RTT,N为大于1的整数。
可选地,目标满载条件包括以下一个或多个:
多个队列深度值中每个队列深度值与ECN阈值的绝对差值小于第一阈值;多个队列深度值与ECN阈值的绝对差值的平均值小于第二阈值;多个队列深度值中每个队列深度值与ECN阈值的方差值小于第三阈值;多个队列深度值与ECN阈值的方差值的平均值小于第四阈值。
综上所述,在本申请实施例提供的数据流接纳装置中,控制设备根据网络设备中出端口队列的队列状态信息确定是否接纳新的数据流进入网络,无需预测新的数据流的需求带宽以及检测网络剩余带宽,节约了控制设备的计算开销,同时可以保证控制设备对数据流进行接纳控制的可靠性。另外,控制设备可以根据队列状态信息确定该出端口队列是否满载,进而确定是否接纳该新的数据流。当位于转发路径上的网络设备中用于转发该新的数据流的出端口队列满载时,控制设备确定不接纳该新的数据流,当位于转发路径上的网络设备中用于转发该新的数据流的出端口队列不满载时,控制设备确定接纳该新的数据流,进而可以准确地实现对数据流的接纳控制。由于出端口队列的队列状态信息基于对应的ECN水线确定,即网络设备支持ECN机制,网络中能够自行调整发送端的发包速率,因此控制设备无需检测各个网络设备的剩余带宽,当网络中接入新的数据流时,该新的数据流的发送端可以在有限的剩余带宽下逐步地非丢包的试探带宽,如果不能满足其需求带宽,该发送端的发送窗口也会被压制到剩余带宽的允许范围内,而无需控制设备调整新的数据流的发包速率,进一步节约了控制设备的处理资源。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本申请实施例提供了一种控制设备,包括:处理器和存储器;
所述存储器,用于存储计算机程序,所述计算机程序包括程序指令;
所述处理器,用于调用所述计算机程序,实现上述方法实施例中控制设备执行的动作。
本申请实施例提供了一种网络设备,包括:处理器和存储器;
所述存储器,用于存储计算机程序,所述计算机程序包括程序指令;
所述处理器,用于调用所述计算机程序,实现上述方法实施例中网络设备执行的动作。
示例地,图10是本申请实施例提供的一种数据流接纳装置的框图。该数据流接纳装置可以是控制设备或网络设备。如图10所示,数据流接纳装置100包括:处理器1001和存储器1002。
存储器1002,用于存储计算机程序,所述计算机程序包括程序指令;
处理器1001,用于调用所述计算机程序,实现上述方法实施例中控制设备或网络设备执行的动作。
可选地,该数据流接纳装置100还包括通信总线1003和通信接口1004。
其中,处理器1001包括一个或者一个以上处理核心,处理器1001通过运行计算机程序,执行各种功能应用以及数据处理。
存储器1002可用于存储计算机程序。可选地,存储器可存储操作系统和至少一个功能所需的应用程序单元。操作系统可以是实时操作系统(Real Time eXecutive,RTX)、LINUX、UNIX、WINDOWS或OS X之类的操作系统。
通信接口1004可以为多个,通信接口1004用于与其它设备进行通信。例如在本申请实施例中,当该数据流接纳装置100为网络设备时,通信接口1004可以用于向控制设备发送设备状态信息。
存储器1002与通信接口1004分别通过通信总线1003与处理器1001连接。
本申请实施例还提供了一种数据流接纳系统,包括:控制设备和网络设备,所述控制设备包括如图6、图7或图10所示的数据流接纳装置,所述网络设备包括如图8、图9或图10所示的数据流接纳装置。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,当所述指令被计算机设备的处理器执行时,实现上述方法实施例中控制设备或网络设备执行的动作。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本申请实施例中,术语“第一”、“第二”和“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
本申请中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的构思和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (32)

1.一种数据流接纳方法,其特征在于,所述方法包括:
控制设备获取所述控制设备所管理的网络中的网络设备的设备状态信息,所述设备状态信息中包括所述网络设备中的第一出端口队列的队列状态信息;
所述控制设备根据所述第一出端口队列的队列状态信息,确定是否接纳目标数据流进入所述网络;
其中,所述网络设备位于所述目标数据流在所述网络中的转发路径上,所述第一出端口队列用于转发所述目标数据流。
2.根据权利要求1所述的方法,其特征在于,所述第一出端口队列的队列状态信息用于指示所述第一出端口队列是否满载。
3.根据权利要求1或2所述的方法,其特征在于,所述第一出端口队列的队列状态信息基于所述第一出端口队列对应的显式拥塞通知ECN阈值以及所述第一出端口队列的队列深度信息确定,所述ECN阈值为所述网络设备为所述第一出端口队列中的数据包设置ECN标记的门限值。
4.根据权利要求1至3任一所述的方法,其特征在于,所述控制设备根据所述第一出端口队列的队列状态信息,确定是否接纳目标数据流进入所述网络,包括:
当所述第一出端口队列满载时,所述控制设备确定不接纳所述目标数据流进入所述网络。
5.根据权利要求1至4任一所述的方法,其特征在于,所述控制设备根据所述第一出端口队列的队列状态信息,确定是否接纳目标数据流进入所述网络,包括:
当所述第一出端口队列不满载时,所述控制设备确定接纳所述目标数据流进入所述网络;
或者,当所述第一出端口队列不满载,且位于所述转发路径上其他网络设备中的第二出端口队列不满载时,所述控制设备确定接纳所述目标数据流进入所述网络,所述第二出端口队列用于转发所述目标数据流。
6.根据权利要求1至5任一所述的方法,其特征在于,所述第一出端口队列的优先级与所述目标数据流的优先级相匹配。
7.根据权利要求1至6任一所述的方法,其特征在于,所述控制设备获取所述控制设备所管理的网络中的网络设备的设备状态信息,包括:
所述控制设备周期性地接收所述网络设备发送的设备状态信息。
8.根据权利要求1至6任一所述的方法,其特征在于,所述方法还包括:
所述控制设备在确定所述网络设备位于所述转发路径上之后,向所述网络设备发送设备状态信息获取指令;
所述控制设备获取所述控制设备所管理的网络中的网络设备的设备状态信息,包括:
所述控制设备接收所述网络设备基于所述设备状态信息获取指令发送的设备状态信息。
9.一种数据流接纳方法,其特征在于,所述方法包括:
网络设备向管理所述网络设备所在网络的控制设备发送设备状态信息,所述设备状态信息中包括所述网络设备中的第一出端口队列的队列状态信息,所述第一出端口队列的队列状态信息用于所述控制设备确定是否接纳目标数据流进入所述网络;
其中,所述网络设备位于所述目标数据流在所述网络中的转发路径上,所述第一出端口队列用于转发所述目标数据流。
10.根据权利要求9所述的方法,其特征在于,所述第一出端口队列的队列状态信息用于指示所述第一出端口队列是否满载。
11.根据权利要求10所述的方法,其特征在于,所述方法还包括:
所述网络设备获取所述第一出端口队列对应的显式拥塞通知ECN阈值以及所述第一出端口队列的队列深度信息,所述ECN阈值为所述网络设备为所述第一出端口队列中的数据包设置ECN标记的门限值;
所述网络设备根据所述ECN阈值以及所述第一出端口队列的队列深度信息,确定所述第一出端口队列是否满载。
12.根据权利要求11所述的方法,其特征在于,所述网络设备获取所述第一出端口队列对应的ECN阈值以及所述第一出端口队列的队列深度信息,包括:
所述网络设备获取所述第一出端口队列在目标时间段内对应的ECN阈值,以及所述第一出端口队列在所述目标时间段内不同时刻的多个队列深度值;
所述网络设备根据所述ECN阈值以及所述第一出端口队列的队列深度信息,确定所述第一出端口队列是否满载,包括:
当所述第一出端口队列在所述目标时间段内不同时刻的多个队列深度值与所述第一出端口队列在所述目标时间段内对应的ECN阈值满足目标满载条件时,所述网络设备确定所述第一出端口队列在所述目标时间段内满载。
13.根据权利要求12所述的方法,其特征在于,所述目标时间段的时长等于所述目标数据流在所述网络中的N个往返时长RTT,N为大于1的整数。
14.根据权利要求12或13所述的方法,其特征在于,所述目标满载条件包括以下一个或多个:
所述多个队列深度值中每个所述队列深度值与所述ECN阈值的绝对差值小于第一阈值;
所述多个队列深度值与所述ECN阈值的绝对差值的平均值小于第二阈值;
所述多个队列深度值中每个所述队列深度值与所述ECN阈值的方差值小于第三阈值;
所述多个队列深度值与所述ECN阈值的方差值的平均值小于第四阈值。
15.一种数据流接纳装置,其特征在于,用于控制设备,所述装置包括:
获取模块,用于获取所述控制设备所管理的网络中的网络设备的设备状态信息,所述设备状态信息中包括所述网络设备中的第一出端口队列的队列状态信息;
确定模块,用于根据所述第一出端口队列的队列状态信息,确定是否接纳目标数据流进入所述网络;
其中,所述网络设备位于所述目标数据流在所述网络中的转发路径上,所述第一出端口队列用于转发所述目标数据流。
16.根据权利要求15所述的装置,其特征在于,所述第一出端口队列的队列状态信息用于指示所述第一出端口队列是否满载。
17.根据权利要求15或16所述的装置,其特征在于,所述第一出端口队列的队列状态信息基于所述第一出端口队列对应的显式拥塞通知ECN阈值以及所述第一出端口队列的队列深度信息确定,所述ECN阈值为所述网络设备为所述第一出端口队列中的数据包设置ECN标记的门限值。
18.根据权利要求15至17任一所述的装置,其特征在于,所述确定模块,用于:
当所述第一出端口队列满载时,所述控制设备确定不接纳所述目标数据流进入所述网络。
19.根据权利要求15至18任一所述的装置,其特征在于,所述确定模块,用于:
当所述第一出端口队列不满载时,所述控制设备确定接纳所述目标数据流进入所述网络;
或者,当所述第一出端口队列不满载,且位于所述转发路径上其他网络设备中的第二出端口队列不满载时,所述控制设备确定接纳所述目标数据流进入所述网络,所述第二出端口队列用于转发所述目标数据流。
20.根据权利要求15至19任一所述的装置,其特征在于,所述第一出端口队列的优先级与所述目标数据流的优先级相匹配。
21.根据权利要求15至20任一所述的装置,其特征在于,所述获取模块,用于:
周期性地接收所述网络设备发送的设备状态信息。
22.根据权利要求15至20任一所述的装置,其特征在于,所述装置还包括发送模块;
所述发送模块,用于在确定所述网络设备位于所述转发路径上之后,向所述网络设备发送设备状态信息获取指令;
所述获取模块,用于接收所述网络设备基于所述设备状态信息获取指令发送的设备状态信息。
23.一种数据流接纳装置,其特征在于,用于网络设备,所述装置包括:
发送模块,用于向管理所述网络设备所在网络的控制设备发送设备状态信息,所述设备状态信息中包括所述网络设备中的第一出端口队列的队列状态信息,所述第一出端口队列的队列状态信息用于所述控制设备确定是否接纳目标数据流进入所述网络;
其中,所述网络设备位于所述目标数据流在所述网络中的转发路径上,所述第一出端口队列用于转发所述目标数据流。
24.根据权利要求23所述的装置,其特征在于,所述第一出端口队列的队列状态信息用于指示所述第一出端口队列是否满载。
25.根据权利要求24所述的装置,其特征在于,所述装置还包括:
获取模块,用于获取所述第一出端口队列对应的显式拥塞通知ECN阈值以及所述第一出端口队列的队列深度信息,所述ECN阈值为所述网络设备为所述第一出端口队列中的数据包设置ECN标记的门限值;
确定模块,用于根据所述ECN阈值以及所述第一出端口队列的队列深度信息,确定所述第一出端口队列是否满载。
26.根据权利要求25所述的装置,其特征在于,所述获取模块,用于:
获取所述第一出端口队列在目标时间段内对应的ECN阈值,以及所述第一出端口队列在所述目标时间段内不同时刻的多个队列深度值;
所述确定模块,用于:
当所述第一出端口队列在所述目标时间段内不同时刻的多个队列深度值与所述第一出端口队列在所述目标时间段内对应的ECN阈值满足目标满载条件时,确定所述第一出端口队列在所述目标时间段内满载。
27.根据权利要求26所述的装置,其特征在于,所述目标时间段的时长等于所述目标数据流在所述网络中的N个往返时长RTT,N为大于1的整数。
28.根据权利要求26或27所述的装置,其特征在于,所述目标满载条件包括以下一个或多个:
所述多个队列深度值中每个所述队列深度值与所述ECN阈值的绝对差值小于第一阈值;
所述多个队列深度值与所述ECN阈值的绝对差值的平均值小于第二阈值;
所述多个队列深度值中每个所述队列深度值与所述ECN阈值的方差值小于第三阈值;
所述多个队列深度值与所述ECN阈值的方差值的平均值小于第四阈值。
29.一种控制设备,其特征在于,包括:处理器和存储器;
所述存储器,用于存储计算机程序,所述计算机程序包括程序指令;
所述处理器,用于调用所述计算机程序,实现如权利要求1至8任一所述的数据流接纳方法。
30.一种网络设备,其特征在于,包括:处理器和存储器;
所述存储器,用于存储计算机程序,所述计算机程序包括程序指令;
所述处理器,用于调用所述计算机程序,实现如权利要求9至14任一所述的数据流接纳方法。
31.一种数据流接纳系统,其特征在于,包括:控制设备和网络设备,所述控制设备包括如权利要求15至22任一所述的数据流接纳装置或为如权利要求29所述的控制设备,所述网络设备包括如权利要求23至28任一所述的数据流接纳装置或为如权利要求30所述的网络设备。
32.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有指令,当所述指令被计算机设备的处理器执行时,实现如权利要求1至14任一所述的数据流接纳方法。
CN202010374563.2A 2020-05-06 2020-05-06 数据流接纳方法、装置及系统、计算机可读存储介质 Pending CN113630337A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010374563.2A CN113630337A (zh) 2020-05-06 2020-05-06 数据流接纳方法、装置及系统、计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010374563.2A CN113630337A (zh) 2020-05-06 2020-05-06 数据流接纳方法、装置及系统、计算机可读存储介质

Publications (1)

Publication Number Publication Date
CN113630337A true CN113630337A (zh) 2021-11-09

Family

ID=78376710

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010374563.2A Pending CN113630337A (zh) 2020-05-06 2020-05-06 数据流接纳方法、装置及系统、计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN113630337A (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020161914A1 (en) * 1999-10-29 2002-10-31 Chalmers Technology Licensing Ab Method and arrangement for congestion control in packet networks
CN101253729A (zh) * 2005-10-11 2008-08-27 思科技术公司 后向拥塞通知的方法和设备
CN106027412A (zh) * 2016-05-30 2016-10-12 南京理工大学 一种基于拥塞队列长度的tcp拥塞控制方法
CN108259383A (zh) * 2016-12-29 2018-07-06 北京华为数字技术有限公司 一种数据的传输方法和网络设备
CN108667739A (zh) * 2017-03-27 2018-10-16 华为技术有限公司 拥塞控制方法、装置及系统
CN110391992A (zh) * 2019-07-11 2019-10-29 清华大学 基于交换机主动队列管理的拥塞控制方法和装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020161914A1 (en) * 1999-10-29 2002-10-31 Chalmers Technology Licensing Ab Method and arrangement for congestion control in packet networks
CN101253729A (zh) * 2005-10-11 2008-08-27 思科技术公司 后向拥塞通知的方法和设备
CN106027412A (zh) * 2016-05-30 2016-10-12 南京理工大学 一种基于拥塞队列长度的tcp拥塞控制方法
CN108259383A (zh) * 2016-12-29 2018-07-06 北京华为数字技术有限公司 一种数据的传输方法和网络设备
CN108667739A (zh) * 2017-03-27 2018-10-16 华为技术有限公司 拥塞控制方法、装置及系统
CN110391992A (zh) * 2019-07-11 2019-10-29 清华大学 基于交换机主动队列管理的拥塞控制方法和装置

Similar Documents

Publication Publication Date Title
WO2018210117A1 (zh) 一种拥塞控制方法、网络设备及其网络接口控制器
US7724750B2 (en) Expedited data transmission in packet based network
US20060203730A1 (en) Method and system for reducing end station latency in response to network congestion
US10135735B2 (en) Method and system for managing flows in a network
KR100757872B1 (ko) 네트워크에서의 혼잡 발생 예고 시스템 및 방법
JP2018507666A (ja) データフローを調整するシステム及び方法
US20190149475A1 (en) Unified streamlining for data traffic
CN107852371B (zh) 数据分组网络
JP2021516012A (ja) ネットワークにおけるフロー管理
US20160192233A1 (en) Congestion control for a multimedia session
US9510354B2 (en) Method and a device for low intrusive fast estimation of the bandwidth available between two IP nodes
WO2021238799A1 (zh) 一种数据报文传输方法及装置
Shukla et al. TCP PLATO: Packet labelling to alleviate time-out
US11381508B2 (en) System and method for accelerating or decelerating a data transport network protocol based on real time transport network congestion conditions
CN107852372B (zh) 数据分组网络
US20070019550A1 (en) Shaper control method, data communication system, network interface apparatus, and network delay apparatus
CN115766605A (zh) 网络拥塞控制方法、装置及系统
US11805071B2 (en) Congestion control processing method, packet forwarding apparatus, and packet receiving apparatus
CN113630337A (zh) 数据流接纳方法、装置及系统、计算机可读存储介质
CN112637898A (zh) 下行数据流会话带宽限制方法、网元、设备及介质
Lu et al. Ts-tcp: Two-stage congestion control algorithm for high concurrency tcps in data center networks
Adesanmi et al. Controlling TCP Incast congestion in data centre networks
WO2022057462A1 (zh) 拥塞控制方法和装置
US20230403233A1 (en) Congestion notification in a multi-queue environment
JP4828555B2 (ja) ノード装置および帯域制御方法

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