CN109660463A - 一种拥塞流识别方法及网络设备 - Google Patents

一种拥塞流识别方法及网络设备 Download PDF

Info

Publication number
CN109660463A
CN109660463A CN201710944894.3A CN201710944894A CN109660463A CN 109660463 A CN109660463 A CN 109660463A CN 201710944894 A CN201710944894 A CN 201710944894A CN 109660463 A CN109660463 A CN 109660463A
Authority
CN
China
Prior art keywords
network equipment
stream
congestion
data packet
queue
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
CN201710944894.3A
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 CN201710944894.3A priority Critical patent/CN109660463A/zh
Priority to PCT/CN2018/106164 priority patent/WO2019072072A1/zh
Priority to EP18866966.7A priority patent/EP3687125A4/en
Publication of CN109660463A publication Critical patent/CN109660463A/zh
Priority to US16/844,624 priority patent/US11146489B2/en
Pending legal-status Critical Current

Links

Classifications

    • 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/11Identifying congestion
    • 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/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2441Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
    • 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/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2483Traffic characterised by specific attributes, e.g. priority or QoS involving identification of individual flows
    • 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/36Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/6205Arrangements for avoiding head of line blocking
    • 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/266Stopping or restarting the source, e.g. X-on or X-off
    • 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/30Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请实施例公开了一种拥塞流识别的方法及网络设备,用于提高拥塞流识别的准确性。本申请实施例方法包括:网络设备获取非拥塞流队列的队列长度,所述非拥塞流队列包括数据包或所述数据包的描述信息,当所述非拥塞流队列的长度大于或等于第一阈值时,所述网络设备确定目标数据包的目标输出端口,所述目标数据包为等待进入非拥塞流队列的数据包或下一个等待从所述非拥塞流队列输出的数据包,当所述目标输出端口的利用率大于或等于第二阈值时,所述网络设备确定与所述目标数据包对应的流为拥塞流。本申请实施例还提供了一种网络设备,用于提高拥塞流识别的准确性。

Description

一种拥塞流识别方法及网络设备
技术领域
本申请涉及通信领域,尤其涉及一种拥塞流识别方法及网络设备。
背景技术
对于端口具有非拥塞流队列的网络设备(比如:输入排队的交换机和路由器),当前往不同输出端口或同一输出端口的不同虚通道的数据包在同一个非拥塞流队列中时,如果队首的数据包由于某些原因不能转发(比如:目标输出端口繁忙),其后的数据包即使满足转发的条件(比如:目标输出端口空闲),但由于同一队列中的数据包一般要执行先入先出的调度,所以也不能进行转发,即前一个数据包的停顿阻塞了后一个可转发的数据包,这种现象称为队头阻塞(英文全称:head of line blocking,英文简称:HOLB)。
目前,为解决队头阻塞问题常采用一种动态拥塞隔离技术,该技术可以在拥塞发生时,动态识别可能引起队头阻塞的数据包,并将该数据包以及与该数据包特征匹配的其他数据包一同定义为拥塞流,随后将该拥塞流隔离到独立的拥塞流队列中去,从而消除了该拥塞流对其他非拥塞流的阻塞,其中对拥塞流的识别常采用以下方法:
为非拥塞流队列配置一个判断是否发生拥塞的队列长度阈值,当队列排队长度大于或等于阈值时,随机选择一个队列中的数据包,或选择正要入队的数据包,将该数据包所属流识别为拥塞流。
从以上描述中可以看出,这种技术虽然可以通过队列长度阈值判断是否有拥塞发生,但是随机选择数据包并将该数据包所属流识别为拥塞流的方式,导致拥塞流识别的准确性较低。
发明内容
本申请实施例提供了一种拥塞流识别方法及网络设备,用于提高拥塞流识别的准确性。
有鉴于此,本申请实施例第一方面提供了一种拥塞流识别方法,包括:
网络设备获取非拥塞流队列的队列长度,非拥塞流队列包括数据包或数据包的描述信息;
当非拥塞流队列的队列长度大于或等于第一阈值时,网络设备确定目标数据包的目标输出端口,目标数据包为等待进入非拥塞流队列的数据包或下一个等待从非拥塞流队列输出的数据包;
当目标输出端口的利用率大于或等于第二阈值时,网络设备确定与目标数据包对应的流为拥塞流。
需要说明的是,网络设备可以通过查询转发信息库(forward informationdatabase,FIB)中目标数据包与目标输出端口的对应关系来确定目标数据包对应的目标输出端口。
需要说明的是,网络设备确定了拥塞流之后会将拥塞流隔离到拥塞流队列。
网络设备可以获取非拥塞流队列的长度,随后当非拥塞流队列的长度大于或等于第一阈值时,网络设备确定与目标数据包对应的目标输出端口,进而当目标输出端口的利用率大于或等于第二阈值时,网络设备确定与目标数据包对应的流为拥塞流,该方法对目标输出端口的利用率进行监控,当目标输出端口的利用率大于或等于第二阈值时即说明该目标输出端口输出的数据包较多可能引起阻塞,那么需要从该目标输出端口输出的流是拥塞流的可能性就较高,所以该方法提高了拥塞流识别的准确性。
结合本申请实施例第一方面,本申请实施例第一方面的第一种实施方式中,方法还包括:
当目标输出端口的利用率小于第二阈值时,网络设备判断目标输出端口是否受到流控并暂停发送;
若是,则网络设备确定与目标数据包对应的流为拥塞流。
本申请实施例提供了一种当目标输出端口利用率小于第二阈值时,进一步确定拥塞流的方法,扩充的了本申请实施例的实现方式。
结合本申请实施例第一方面,或第一方面的第一种实施方式,本申请实施例第一方面的第二种实施例中,网络设备确定与目标数据包对应的流为拥塞流之后,方法还包括:
网络设备将目标数据包的目标表示信息记录到拥塞流流表。
需要说明的是,该目标表示信息可以是该目标数据包的一元组信息,例如,目标数据包的目的互联网协议(internet protocol,IP)地址,也可以是该目标数据包的多元组信息,例如,目标数据包的五元组信息,又或者可以是目标数据包的一元组或多元组加掩码形式的信息,例如,目标数据包的目的IP地址加掩码形式的信息,具体此处不做限定。
可以理解的是,流是表示信息相同的数据包的集合,那么该目标表示信息也就是目标数据包所属的拥塞流的表示信息。
需要说明的是,网络设备中的每个输入端口都有与之对应的拥塞流流表,除此之外,网络设备中的多个不同的输入端口可以共享同一个拥塞流流表,具体此处不做限定。
结合本申请实施例第一方面的第二种实施方式,本申请实施例第一方面的第三种实施方式中,方法还包括:
网络设备根据拥塞流流表进行入队控制。
需要说明的是,在数据包进入队列之前,网络设备可以通过查找比对拥塞流流表对还未进入队列的数据包分配队列。
结合本申请实施例第一方面的第三种实施方式,本申请实施例第一方面的第四种实施方式中,网络设备根据拥塞流流表进行入队控制包括:
网络设备提取第一数据包的第一表示信息,第一数据包为在目标数据包之后等待进入非拥塞流队列的数据包;
网络设备判断第一表示信息是否与拥塞流流表匹配;
若是,则网络设备分配第一数据包进入拥塞流队列,拥塞流队列包括拥塞流。
可以理解的是,网络设备查找拥塞流流表,并判断拥塞流流表中是否存在已经记录的某一拥塞流的表示信息与该第一表示信息匹配。
需要说明的是,当第一表示信息并未与拥塞流流表匹配时,网络设备可以有两种执行方式,第一种方式,网络设备分配第一数据包进入非拥塞流队列,这种情况即网络设备不在第一数据包入队前对其执行拥塞流识别;第二种方式,网络设备对第一数据包执行拥塞流识别的步骤,网络设备判断第一数据包对应的非拥塞流队列的队列长度是否大于或等于第一阈值,若是,则网络设备判断第一数据包对应的第一输出端口的利用率是否大于或等于第二阈值,若是,则网络设备确定第一数据包对应的流为拥塞流,进而将第一数据包的第一表示信息记录到拥塞流流表。
结合本申请实施例第一方面,或第一方面的第一种实施方式,本申请实施例第一方面的第五种实施方式中,方法还包括:
网络设备根据预置的调度策略进行出队调度。
需要说明的是,网络设备根据预置的调度策略首先可以确定需要调度出队的第二数据包,随后网络设备判断该第二数据包是否属于拥塞流队列,若是,则网络设备调度该第二数据包出队,若否,则说明第二数据包来自非拥塞流队列,网络设备将对第二数据包执行拥塞流识别步骤,网络设备判断第二数据包对应的非拥塞流队列的队列长度是否大于或等于第一阈值,若是,则网络设备判断第二数据包对应的第二输出端口的利用率是否大于或等于第二阈值,若是,则网络设备确定第二数据包对应的流为拥塞流,进而将第二数据包的第二表示信息记录到拥塞流流表。
本申请实施例第二方面提供了一种拥塞流识别的方法,包括:
网络设备获取非拥塞流队列的长度,非拥塞流队列包括数据包或数据包的描述信息;
当非拥塞流队列的队列长度大于或等于第一阈值时,网络设备确定目标数据包的目标输出端口,目标数据包为等待进入非拥塞流队列的数据包或下一个等待从非拥塞流队列输出的数据包;
当目标输出端口受到流控并暂停发送时,网络设备确定与目标数据包对应的流为拥塞流。
需要说明的是,网络设备可以通过查询FIB中目标数据包与目标输出端口的对应关系来确定目标数据包对应的目标输出端口。
需要说明的是,网络设备确定了拥塞流之后会将拥塞流隔离到拥塞流队列。
网络设备可以获取非拥塞流队列的长度,随后当非拥塞流队列的长度大于或等于第一阈值时,网络设备确定与目标数据包对应的目标输出端口,进而当目标输出端口受到流控并暂停发送时,网络设备确定与目标数据包对应的流为拥塞流,目标输出端口的受流控时即说明该目标输出端口当前无法正常转发数据包,那么需要从该目标输出端口输出的流是拥塞流的可能性就较高,所以该方法提高了拥塞流识别的准确性。
结合本申请实施例第二方面,本申请实施例第二方面的第一种实施方式中,方法还包括:
当目标输出端口没有受到流控且可以继续发送时,网络设备判断目标输出端口的利用率是否大于或等于第二阈值;
若是,则网络设备确定与目标数据包对应的流为拥塞流。
本申请实施例提供了一种当目标输出端口没有受到流控时,进一步确定拥塞流的方法,扩充的了本申请实施例的实现方式。
结合本申请实施例第二方面,或第二方面的第一种实施方式,本申请实施例第二方面的第二种实施方式中,网络设备确定与目标数据包对应的流为拥塞流之后,方法还包括:
网络设备将目标数据包的目标表示信息记录到拥塞流流表。
需要说明的是,该目标表示信息可以是该目标数据包的一元组信息,例如,目标数据包的目的IP地址,也可以是该目标数据包的多元组信息,例如,目标数据包的五元组信息,又或者可以是目标数据包的一元组或多元组加掩码形式的信息,例如,目标数据包的目的IP地址加掩码形式的信息,具体此处不做限定。
需要说明的是,网络设备中的每个输入端口都有与之对应的拥塞流流表,除此之外,网络设备中的多个不同的输入端口可以共享同一个拥塞流流表,具体此处不做限定。
结合本申请实施例第二方面的第二种实施方式,本申请实施例第二方面的第三种实施方式中,方法还包括:
网络设备根据拥塞流流表进行入队控制。
需要说明的是,在数据包进入队列之前,网络设备可以通过查找比对拥塞流流表对还未进入队列的数据包分配队列。
结合本申请实施例第二方面的第三种实施方式,本申请实施例第二方面的第四种实施方式中,网络设备根据拥塞流流表进行入队控制包括:
网络设备提取第一数据包的第一表示信息,第一数据包为在目标数据包之后等待进入非拥塞流队列的数据包;
网络设备判断第一表示信息是否与拥塞流流表匹配;
若是,则网络设备分配第一数据包进入拥塞流队列,拥塞流队列包括拥塞流。
需要说明的是,当第一表示信息并未与拥塞流流表匹配时,网络设备可以有两种执行方式,第一种方式,网络设备分配第一数据包进入非拥塞流队列,这种情况即网络设备不在第一数据包入队前对其执行拥塞流识别;第二种方式,网络设备对第一数据包执行拥塞流识别的步骤,网络设备判断第一数据包对应的非拥塞流队列的队列长度是否大于或等于第一阈值,若是,则网络设备判断第一数据包对应的第一输出端口是否受到流控并暂停发送,若是,则网络设备确定第一数据包对应的流为拥塞流,进而将第一数据包的第一表示信息记录到拥塞流流表。
结合本申请实施例第二方面,或第二方面的第一种实施方式,本申请实施例第二方面的第五种实施方式中,方法还包括:
网络设备根据预置的调度策略进行出队调度。
需要说明的是,网络设备根据预置的调度策略首先可以确定需要调度出队的第二数据包,随后网络设备判断该第二数据包是否属于拥塞流队列,若是,则网络设备调度该第二数据包出队,若否,则说明第二数据包来自非拥塞流队列,网络设备将对第二数据包执行拥塞流识别步骤,网络设备判断第二数据包对应的非拥塞流队列的队列长度是否大于或等于第一阈值,若是,则网络设备判断第二数据包对应的第二输出端口是否受到流控并暂停发送,若是,则网络设备确定第二数据包对应的流为拥塞流,进而将第二数据包的第二表示信息记录到拥塞流流表。
本申请实施例第三方面提供了一种网络设备,包括:
获取单元,用于获取非拥塞流队列的队列长度,非拥塞流队列包括数据包或数据包的描述信息;
确定单元,用于当非拥塞流队列的队列长度大于或等于第一阈值时,确定目标数据包的目标输出端口,目标数据包为等待进入非拥塞流队列的数据包或下一个等待从非拥塞流队列输出的数据包;
判断单元,用于判断所述目标输出端口的利用率是否大于或等于第二阈值;
或,
用于判断所述目标输出端口是否受到流控并暂停发送;
识别单元,用于当所述目标输出端口的利用率大于或等于第二阈值或所述目标输出端口受到流控并暂停发送时,确定与所述目标数据包对应的流为拥塞流。
结合本申请实施例第三方面,本申请实施例第三方面的第一种实施方式中,网络设备还包括:
记录单元,用于将目标数据包的目标表示信息记录到拥塞流流表。
结合本申请实施例第三方面的第一种实施方式,本申请实施例第三方面的第二种实施方式中,网络设备还包括:
控制单元,用于根据拥塞流流表进行入队控制。
结合本申请实施例第三方面的第二种实施方式,本申请实施例第三方面的第三种实施方式中,控制单元包括:
提取子单元,用于提取第一数据包的第一表示信息,第一数据包为在目标数据包之后等待进入非拥塞流队列的数据包;
判断子单元,用于判断第一表示信息是否与拥塞流流表匹配;
分配子单元,用于当第一表示信息与拥塞流流表匹配时,分配第一数据包进入拥塞流队列,拥塞流队列包括拥塞流。
结合本申请实施例第三方面,本申请实施例第三方面的第四种实施方式中,网络设备还包括:
调度单元,用于根据预置的调度策略进行出队调度。
本申请实施例第四方面提供了一种网络设备,包括:
处理器、存储器、总线以及输入输出接口;
存储器中存储有程序代码;
处理器调用存储器中的程序代码时执行如下操作:
获取非拥塞流队列的队列长度,非拥塞流队列包括数据包或数据包的描述信息;
当非拥塞流队列的队列长度大于或等于第一阈值时,确定目标数据包的目标输出端口,目标数据包为等待进入非拥塞流队列的数据包或下一个等待从非拥塞流队列输出的数据包;
当目标输出端口受到流控并暂停发送时,确定与目标数据包对应的流为拥塞流。
本申请实施例第五方面提供了一种网络设备,包括:
处理器、存储器、总线以及输入输出接口;
存储器中存储有程序代码;
处理器调用存储器中的程序代码时执行如下操作:
获取非拥塞流队列的长度,非拥塞流队列包括数据包或数据包的描述信息;
当非拥塞流队列的队列长度大于或等于第一阈值时,确定目标数据包的目标输出端口,目标数据包为等待进入非拥塞流队列的数据包或下一个等待从非拥塞流队列输出的数据包;
当目标输出端口受到流控并暂停发送时,确定与目标数据包对应的流为拥塞流。
本申请实施例第六方面提供了一种计算机可读存储介质,计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面或第二方面拥塞流识别方法中的流程。
本申请实施例第七方面提供了一种计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面或第二方面拥塞流识别方法中的流程。
从以上技术方案可以看出,本申请实施例具有以下优点:
本实施例中,网络设备可以获取非拥塞流队列的长度,随后当非拥塞流队列的长度大于或等于第一阈值时,网络设备确定与目标数据包对应的目标输出端口,进而当目标输出端口的利用率大于或等于第二阈值时,网络设备确定与目标数据包对应的流为拥塞流,该方法对目标输出端口的利用率进行监控,当目标输出端口的利用率大于或等于第二阈值时即说明该目标输出端口输出的数据包较多可能引起阻塞,那么需要从该目标输出端口输出的流是拥塞流的可能性就较高,所以该方法提高了拥塞流识别的准确性。
附图说明
图1为网络设备队头阻塞示意图;
图2为网络设备受到流控示意图;
图3为本申请拥塞流识别方法一个实施例示意图;
图4为本申请拥塞流识别方法另一实施例示意图;
图5为本申请拥塞流识别方法另一实施例示意图;
图6为本申请拥塞流识别方法另一实施例示意图;
图7为本申请网络设备一个实施例示意图;
图8为本申请网络设备另一实施例示意图;
图9为本申请网络设备另一实施例示意图;
图10为本申请网络设备另一实施例示意图。
具体实施方式
本申请实施例提供了一种拥塞流识别方法及网络设备,用于提高拥塞流识别的准确性。
本实施例可以应用于局域网、广域网等交换网络中的网络设备,图1所示的是网络设备中出现队头阻塞的场景,其中A、B、C、D为四条不同的流,流可以理解为具有相同表示信息的数据包的集合,每个流都有与之对应的输出端口,如图中的流A、流B及流D对应输出端口1,流C对应输出端口2,流A位于队列1中,流B及流C位于队列2中,流D位于队列3中。此时流A、流B及流D竞争输出端口1,在同一时刻它们中某一个流正在向输出端口1转发数据包时,其他流的数据包需要在队列中等待。因此某一时刻队列1、队列2及队列3中属于流A、流B及流D的数据包可能需要等待而不能正常转发。流C对应的输出端口2是相对空闲的理应正常转发,不过由于此时位于队列2队头流B的数据包无法正常转发,阻挡了队列2中流C的数据包的转发,这样就有可能造成队列2出现拥塞。
另外,队头阻塞在使用链路级流控的网络中表现的更加明显,如图2所示,网络设备1中的队列2出现了拥塞,流C无法正常转发,这时网络设备1会向网络设备2发送流控,抑制网络设备2向网络设备1发送数据包,也就是说网络设备2的输出端口2受到流控无法发送数据包。此时,网络设备2的队列2中属于流C且要发往该设备输出端口2的数据包需要在队列中等待而不能正常转发。由于网络设备2的队列2中的流C阻挡了流E,导致流E也不能正常转发,进一步可能造成网络设备2中的队列2的拥塞。可以看出,在使用链路级流控的网络中,下游设备拥塞时向上游设备发送流控,可能进而造成上游设备也发生拥塞引起连锁反应,即引起拥塞扩散。
可以理解的是,识别出引起队列拥塞的拥塞流并将该拥塞流从队列中隔离出去是解决队列拥塞的必要方式。
为便于理解,下面对本申请实施例中的具体流程进行描述,本申请实施例可以分为两个方案。
方案一:当网络设备中的非拥塞流队列的队列长度大于或等于第一阈值时,网络设备判断与目标数据包对应的目标输出端口的利用率是否大于或等于第一阈值,若是,则确定目标数据包对应的流为拥塞流。
请参阅图3,本申请实施例中拥塞流识别方法的一个实施例包括:
301、网络设备获取非拥塞流队列的队列长度。
本实施例中,网络设备获取非拥塞流队列的队列长度,可以理解的是,该网络设备可以是交换机,除此之外,该网络设备也可以是其他设备,例如:路由器,具体此处不做限定。
需要说明的是,该非拥塞流队列可以包括数据包,除此之外,该非拥塞流队列也可以包括该数据包的描述信息,具体此处不做限定,可以理解的是,网络设备可以通过该描述信息确定数据包对应的输出端口。
需要说明的是,非拥塞流队列中具有相同表示信息的数据包的集合可以定义为流。
可以理解的是,流可以是一元组相同的数据包的集合,例如:目的IP地址相同的数据包的集合,除此之外,流也可以是多元组相同的数据包的集合,例如:五元组相同的数据包的集合,又或者流也可以是一元组或多元组加掩码相同的数据包的集合,例如:目的IP地址以及掩码都相同的数据包的集合,具体此处不做限定。
302、网络设备判断队列长度是否大于或等于第一阈值,若是,则执行步骤303。
本实施例中,网络设备获取到非拥塞流队列的队列长度后,判断该队列长度是否大于或等于第一阈值。
303、网络设备确定目标数据包的目标输出端口。
当非拥塞流队列的队列长度大于或等于第一阈值时,则说明该输出队列发生了拥塞,进而网络设备会确定目标数据包对应的目标输出端口。
需要说明的是,该目标数据包可以是等待进入该非拥塞流队列的数据包,除此之外,该目标数据包也可以是其他数据包,例如:该目标数据包也可以是等待从该非拥塞流队列输出的数据包,具体此处不做限定。
需要说明的是,网络设备中的数据包都有与之对应的输出端口,网络设备可以通过查找FIB确定数据包对应的输出端口,可以理解的是,网络设备可以在数据包进入非拥塞流队列时查找FIB确定其输出端口,除此之外,网络设备也可以在数据包从非拥塞流队列输出时查找FIB确定其输出端口,具体此处不做限定。
304、网络设备判断目标输出端口的利用率是否大于或等于第二阈值,若是,则执行步骤305。
本实施例中,网络设备在确定了目标输出端口之后,判读该目标输出端口的利用率是否大于或等于第二阈值。
需要说明的是,端口利用率=端口发送速率/端口带宽,可以理解的是,端口发送速率可以是当前端口的发送速率,除此之外,也可以是一段时长内端口发送的平均速率,具体此处不做限定。
305、网络设备确定与目标数据包对应的流为拥塞流。
当目标输出端口的利用率大于或等于第二阈值时,则说明该目标输出端口转发的数据包较多,可能出现转发停顿的情况,此时,网络设备可以确定需要从该目标输出端口输出的目标数据包所对应的流为拥塞流。
本实施例中,网络设备可以获取非拥塞流队列的长度,随后当非拥塞流队列的长度大于或等于第一阈值时,网络设备确定与目标数据包对应的目标输出端口,进而当目标输出端口的利用率大于或等于第二阈值时,网络设备确定与目标数据包对应的流为拥塞流,该方法对目标输出端口的利用率进行监控,当目标输出端口的利用率大于或等于第二阈值时即说明该目标输出端口输出的数据包较多可能引起阻塞,那么需要从该目标输出端口输出的流是拥塞流的可能性就较高,所以该方法提高了拥塞流识别的准确性。
方案二:当网络设备中的非拥塞流队列的队列长度大于或等于第一阈值时,网络设备判断与目标数据包对应的目标输出端口是否受到流控,若是,则确定目标数据包对应的流为拥塞流。
请参阅图4,本申请实施例中拥塞流识别方法的另一实施例包括:
401、网络设备获取非拥塞流队列的队列长度。
本实施例中,步骤401与图3所示的实施例中的步骤301类似,此处不再赘述。
402、网络设备判断队列长度是否大于或等于第一阈值,若是,则执行步骤303。
本实施例中,步骤402与图3所示的实施例中的步骤302类似,此处不再赘述。
403、网络设备确定目标数据包的目标输出端口。
本实施例中,步骤403与图3所示的实施例中的步骤303类似,此处不再赘述。
404、网络设备判断目标输出端口是否受到流控,若是,则执行步骤405。
本实施例中,网络设备在确定了目标输出端口之后,判读该目标输出端口是否受到流控,可以理解的是,网络设备中受到流控的输出端口将无法正常转发数据包。
需要说明的是,当网络设备所在的网络支持流控且流控功能开启时,才会判断目标输出端口是否受到流控,若网络不支持流控或未开启流控功能,可以认为网络设备的输出端口都处于不受流控的状态。
405、网络设备确定与目标数据包对应的流为拥塞流。
当目标输出端口受到流控时,则说明该目标输出端口受到抑制无法正常转发数据包,此时,网络设备可以确定需要从该目标输出端口输出的目标数据包所对应的流为拥塞流。
本实施例中,网络设备可以获取非拥塞流队列的长度,随后当非拥塞流队列的长度大于或等于第一阈值时,网络设备确定与目标数据包对应的目标输出端口,进而当目标输出端口受到流控时,网络设备确定与目标数据包对应的流为拥塞流,该方法对目标输出端口是否受到流控进行监控,当目标输出端口受到流控时即说明该目标输出端口无法正常转发数据包,那么需要从该目标输出端口输出的流是拥塞流的可能性就较高,所以该方法提高了拥塞流识别的准确性。
在实际应用中,网络设备识别拥塞流的时机有多种,下面分别进行说明:
1、网络设备选择等待进入队列的目标数据包,进而判断该目标数据包对应的流是否是拥塞流:
本实施例中,网络设备中的目标数据包在进入队列前需要与拥塞流流表进行比对,若该目标数据包与拥塞流流表匹配,则网络设备分配该目标数据包进入拥塞流队列,若并未匹配,那么当该目标数据包对应的队列拥塞时,网络设备判断该目标数据包对应的流是否是拥塞流。
请参阅图5,本申请实施例中拥塞流识别方法的另一实施例包括:
501、网络设备确定目标数据包。
本实施例中,网络设备确定的目标数据包为等待进入队列的数据包,该目标数据包可以是一个也可以是多个,具体此处不做限定。
502、网络设备确定目标数据包的目标输出端口。
本实施例中,网络设备确定了目标数据包之后,进一步可以通过查找FIB确定与该目标数据包对应的目标输出端口。
503、网络设备判断目标数据包的表示信息是否与拥塞流流表匹配,若是,则执行步骤504,若否,则执行步骤505。
本实施例中,网络设备会提取等待进入队列的目标数据包的表示信息,随后网络设备查找拥塞流流表,并判断拥塞流流表中是否存在已经记录的某一拥塞流的表示信息与该目标数据包的表示信息匹配。
需要说明的是,该表示信息可以是该目标数据包的一元组,例如:该目标数据包的目的IP地址,除此此外,该表示信息还可以是该目标数据包的多元组,例如:该目标数据包的五元组,又或者该表示信息也可以是该目标数据包的一元组或多元组加掩码,例如:该目标数据包的目的IP地址以及掩码,具体此处不做限定。
需要说明的是,网络设备中的每个输入端口都有与之对应的拥塞流流表,除此之外,网络设备中的多个不同的输入端口可以共享同一个拥塞流流表,具体此处不做限定。
504、网络设备分配目标数据包进入拥塞流队列。
本实施例中,当目标数据包的表示信息与拥塞流流表匹配时,则说明目标数据包属于网络设备中已经记录的拥塞流,那么网络设备分配该目标数据包进入拥塞流所属的拥塞流队列。
505、网络设备判断非拥塞流队列长度是否大于或等于第一阈值,若是,则执行步骤507,若否,则执行步骤506。
本实施例中,当目标数据包的表示信息并未与拥塞流流表匹配时,则说明目标数据包不属于网络设备中已经记录的拥塞流,进一步网络设备判断目标数据包所对应的非拥塞流队列的队列长度是否大于或等于第一阈值。
506、网络设备分配目标数据包进入非拥塞流队列。
本实施例中,当目标数据包所对应的非拥塞流队列的队列长度低于第一阈值时,则说明该非拥塞流队列处于正常状态,进一步网络设备分配目标数据包进入该非拥塞流队列。
507、网络设备判断目标输出端口的利用率是否大于或等于第二阈值,若是,则执行步骤509,若否,则执行步骤508。
本实施例中,当非拥塞流队列的队列长度大于或等于第一阈值时,则说明该非拥塞流队列发生了拥塞,进而网络设备判断目标输出端口的利用率是否大于或等于第二阈值。
需要说明的是,端口利用率=端口发送速率/端口带宽,可以理解的是,端口发送速率可以是当前端口的发送速率,除此之外,也可以是一段时长内端口发送的平均速率,具体此处不做限定。
508、网络设备判断目标输出端口是否受到流控,若是,则执行步骤509,若否,则执行步骤512。
本实施例中,当目标输出端口的利用率小于第二阈值时,进一步网络设备将判断该目标输出端口是否受到流控,可以理解的是,网络设备中受到流控的输出端口将无法正常转发数据包。
需要说明的是,步骤507与步骤508没有固定的时序关系,除了先执行步骤507再执行步骤508之外,还可以先执行步骤508在执行步骤507,即执行508步骤的判断,若是,则执行步骤509,若否,则执行步骤507,也可以是步骤507与步骤508同时执行,至少有一个判断为是即可执行步骤509,否则执行步骤512,具体此处不做限定。
509、网络设备确定目标数据包对应的流为拥塞流。
本实施例中,当目标输出端口的利用率大于或等于第二阈值时又或者目标输出端口受到流控时,则说明该目标输出端口转发的数据包较多,可能出现转发停顿的情况,此时,网络设备确定目标数据包对应的流为拥塞流。
510、网络设备将目标数据包的表示信息记录到拥塞流流表。
本实施例中,网络设备确定了拥塞流之后,会将目标数据包的表示信息记录到拥塞流流表,可以理解的是,目标数据包的表示信息就是该目标数据包所属的拥塞流的表示信息。
需要说明的是,关于表示信息以及拥塞流流表的描述与步骤503中的描述类似,此处不再赘述。
511、网络设备将拥塞流隔离到拥塞流队列。
本实施例中,网络设备确定了拥塞流之后,会将该拥塞流隔离到拥塞流队列,可以理解的是,该拥塞流队列可以是网络设备中已经存在的拥塞流队列,也可以是新创建的拥塞流队列,具体此处不做限定。
需要说明的是,步骤510与步骤511之间没有固定的时序关系,可以先执行步骤510,也可以先执行步骤511,也可以同时执行步骤510与步骤511,具体此处不做限定。
512、网络设备结束拥塞流识别。
本实施例中,当目标输出端口没有受到流控时,则说明该目标输出端口可以正常转发数据包,相应的目标数据包也不属于拥塞流,那么网络设备将结束对该目标数据包进行的拥塞流识别。
本实施例中,当等待进入队列的目标数据包的表示信息没有与拥塞流流表匹配时,网络设备判断目标数据包所属的非拥塞流队列的队列长度是否大于或等于第一阈值,若是,网络设备将判断目标数据包对应的目标输出端口的利用率是否大于或等于第二阈值,若是,则网络设备确定该目标数据包对应的流为拥塞流,若否,网络设备将进一步判断目标端口是否受到流控,若是,则网络设备可以确定该目标数据包对应的流为拥塞流,该方法提高了拥塞流识别的准确性。
2、网络设备选择等待从队列输出的目标数据包,进而判断该目标数据包对应的流是否是拥塞流:
本实施例中,网络设备根据预置的调度策略进行出队调度,从而可以确定等待从队列输出的目标数据包,进而当该目标数据包属于非拥塞流队列且该非拥塞流队列拥塞时,网络设备判断该目标数据包对应的流是否是拥塞流。
请参阅图6,本申请实施例中拥塞流识别方法的另一实施例包括:
601、网络设备确定目标数据包。
本实施例中,网络设备根据预置的调度策略进行数据包的出队调度,网络设备确定的目标数据包为等待从队列输出的数据包,该目标数据包可以是一个也可以是多个,具体此处不做限定。
602、网络设备确定目标数据包的目标输出端口。
本实施例中,步骤602与图5所示的实施例中的步骤502类似,具体此处不再赘述。
603、网络设备判断目标数据包是否属于拥塞流队列,若是,则执行步骤604,若否,则执行步骤605。
本实施例中,网络设备确立了目标数据包后,将判断该目标数据包是否属于拥塞流队列。
604、网络设备判断非拥塞流队列长度是否大于或等于第一阈值,若是,则执行步骤606,若否则执行步骤605。
本实施例中,当目标数据包不属于拥塞流队列时,则说明该目标数据包属于网络设备中的非拥塞流队列,进一步网络设备判断该非拥塞流队列的长度是否大于或等于第一阈值。
605、网络设备转发目标数据包。
本实施例中,当目标数据包属于网络设备中已经存在的拥塞流队列时或目标数据包属于非拥塞状态的非拥塞流队列时,网络设备转发该目标数据包。
606、网络设备判断目标输出端口的利用率是否大于或等于第二阈值,若是,则执行步骤608,若否,则执行步骤607。
607、网络设备判断目标输出端口是否受到流控,若是,则执行步骤608,若否,则执行步骤611。
608、网络设备确定目标数据包对应的流为拥塞流。
609、网络设备将目标数据包的表示信息记录到拥塞流流表。
610、网络设备将拥塞流隔离到拥塞流队列。
611、网络设备结束拥塞流识别。
本实施例中,步骤606至步骤611与图5所示的实施例中的步骤507至步骤512类似,具体此处不再赘述。
本实施例中,当等待从队列中输出的目标数据包属于非拥塞流队列时,网络设备判断目标数据包所属的非拥塞流队列的队列长度是否大于或等于第一阈值,若是,网络设备将判断目标数据包对应的目标输出端口的利用率是否大于或等于第二阈值,若是,则网络设备确定该目标数据包对应的流为拥塞流,若否,网络设备将进一步判断目标端口是否受到流控,若是,则网络设备可以确定该目标数据包对应的流为拥塞流,该方法提高了拥塞流识别的准确性。
上面对本申请实施例中的拥塞流识别方法进行了描述,下面对本申请实施例中的网络设备进行描述:
请参阅图7,本申请实施例中网络设备的一个实施例包括:非拥塞流队列701以及拥塞流识别模块702。
其中,拥塞流识别模块702进一步包括:
获取单元7021、用于获取非拥塞流队列的队列长度,非拥塞流队列包括数据包或数据包的描述信息;
确定单元7022、用于当非拥塞流队列的队列长度大于或等于第一阈值时,确定目标数据包的目标输出端口,目标数据包为等待进入非拥塞流队列的数据包或下一个等待从非拥塞流队列输出的数据包;
判断单元7023、用于判断目标输出端口的利用率是否大于或等于第二阈值;
或,
用于判断目标输出端口是否受到流控并暂停发送;
识别单元,用于当目标输出端口的利用率大于或等于第二阈值或目标输出端口受到流控并暂停发送时,确定与所述目标数据包对应的流为拥塞流。
本实施例中,获取单元7021可以获取非拥塞流队列的队列长度,当非拥塞流队列的队列长度大于或等于第一阈值时,确定单元7022确定目标数据包对应的目标输出端口,判断单元7023可以判断目标输出端口的利用率是否大于或等于第二阈值或目标输出端口是否受到流控并暂停发送,当目标输出端口的利用率大于或等于第二阈值或目标输出端口受到流控并暂停发送时,识别单元7024确定目标数据包对应的流为拥塞流,当目标输出端口的利用率大于或等于第二阈值或者目标输出端口受到流控并暂停发送时,需要从该目标输出端口输出的流是拥塞流的可能性就较高,所以该方法提高了拥塞流识别的准确性。
为便于理解,下面分别从数据包入队时识别拥塞流以及数据包出队时识别拥塞流两个方面对本申请实施例中的网络设备进行详细描述。
请参阅图8,本申请实施例中网络设备另一实施例包括:
拥塞流流表801、拥塞流识别模块802、入队控制模块803、拥塞流队列804及非拥塞流队列805。
入队控制模块803进一步包括:
提取单元8031、用于提取目标数据包的表示信息;
第一判断单元8032、用于判断目标数据包的表示信息是否与拥塞流流表801匹配;
分配单元8033、用于当目标数据包的表示信息与拥塞流流表匹配801时,分配目标数据包进入拥塞流队列804。
拥塞流识别模块802进一步包括:
获取单元8021、用于当目标数据包的表示信息没有与拥塞流流表801匹配时,获取目标数据包对应的非拥塞流队列的队列长度;
确定单元8022、用于确定目标数据包的目标输出端口;
第二判断单元8023、用于判断目标输出端口的利用率是否大于或等于第二阈值;
或,
用于判断目标输出端口是否受到流控并暂停发送;
识别单元8024、用于当目标输出端口的利用率大于或等于第二阈值或目标输出端口受到流控并暂停发送时,确定与所述目标数据包对应的流为拥塞流;
记录单元8025、用于当目标数据包对应的流为拥塞流时,记录目标数据包的目标表示信息到拥塞流流表801;
隔离单元8026、用于当目标数据包对应的流为拥塞流时,将该拥塞流隔离到拥塞流队列804。
请参阅图9,本申请实施例中网络设备另一实施例包括:
出队调度模块901、拥塞流识别模块902、拥塞流流表903、非拥塞流队列904及拥塞流队列905。
出队调度模块901进一步包括:
第一判断单元9011、用于判断目标数据包是否属于拥塞流队列905;
转发单元9012、用于当目标数据包属于拥塞流队列905时,转发该目标数据包。
拥塞流识别模块902进一步包括:
获取单元9021、用于当目标数据包不属于拥塞流队列905时,获取目标数据包对应的非拥塞流队列的队列长度;
确定单元9022、用于确定目标数据包的目标输出端口;
第二判断单元9023、用于判断目标输出端口的利用率是否大于或等于第二阈值;
或,
用于判断目标输出端口是否受到流控并暂停发送;
识别单元9024、用于当目标输出端口的利用率大于或等于第二阈值或目标输出端口受到流控并暂停发送时,确定与所述目标数据包对应的流为拥塞流;
记录单元9025、用于当目标数据包对应的流为拥塞流时,记录目标数据包的目标表示信息到拥塞流流表903;
隔离单元9026、用于当目标数据包对应的流为拥塞流时,将该拥塞流隔离到拥塞流队列905。
上面从模块化功能实体的角度对本发明实施例中的网络设备进行描述,下面从硬件处理的角度对本发明实施例中的网络设备进行描述:
请参阅图10,本申请中网络设备一个实施例可以包括一个或一个以上中央处理器1001,存储器1002,输入输出接口1003,有线或无线网络接口1004,电源1005。
存储器1002可以是短暂存储或持久存储。更进一步地,中央处理器1001可以配置为与存储器1002通信,在网络设备上执行存储器1002中的一系列指令操作。
本实施例中,中央处理器1001可以执行前述图3至图6所示实施例中网络设备所执行的操作,具体此处不再赘述。
本实施例中,中央处理器1001中的具体功能模块划分可以与前述图7至9中所描述的拥塞流识别模块、入队控制模块、出队调度模块、获取单元、记录单元、隔离单元等单元的功能模块划分方式类似,此处不再赘述。
本申请实施例的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)并不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的方案,例如,包括了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,read-only memory)、随机存取存储器(RAM,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。

Claims (21)

1.一种拥塞流识别的方法,其特征在于,包括:
网络设备获取非拥塞流队列的队列长度,所述非拥塞流队列包括数据包或所述数据包的描述信息;
当所述非拥塞流队列的队列长度大于或等于第一阈值时,所述网络设备确定目标数据包的目标输出端口,所述目标数据包为等待进入所述非拥塞流队列的数据包或下一个等待从所述非拥塞流队列输出的数据包;
当所述目标输出端口的利用率大于或等于第二阈值时,所述网络设备确定与所述目标数据包对应的流为拥塞流。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述目标输出端口的利用率小于所述第二阈值时,所述网络设备判断所述目标输出端口是否受到流控并暂停发送;
若是,则所述网络设备确定与所述目标数据包对应的流为拥塞流。
3.根据权利要求1或2所述的方法,其特征在于,所述网络设备确定与所述目标数据包对应的流为拥塞流之后,所述方法还包括:
所述网络设备将所述目标数据包的目标表示信息记录到拥塞流流表。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
所述网络设备根据所述拥塞流流表进行入队控制。
5.根据权利要求4所述的方法,其特征在于,所述网络设备根据所述拥塞流流表进行入队控制包括:
所述网络设备提取第一数据包的第一表示信息,所述第一数据包为在所述目标数据包之后等待进入所述非拥塞流队列的数据包;
所述网络设备判断所述第一表示信息是否与所述拥塞流流表匹配;
若是,则所述网络设备分配所述第一数据包进入拥塞流队列,所述拥塞流队列包括所述拥塞流。
6.根据权利要求1或2所述的方法,其特征在于,所述网络设备确定与所述目标数据包对应的流为拥塞流之后,所述方法还包括:
所述网络设备根据预置的调度策略进行出队调度。
7.一种拥塞流识别的方法,其特征在于,包括:
网络设备获取非拥塞流队列的长度,所述非拥塞流队列包括数据包或所述数据包的描述信息;
当所述非拥塞流队列的队列长度大于或等于第一阈值时,所述网络设备确定目标数据包的目标输出端口,所述目标数据包为等待进入所述非拥塞流队列的数据包或下一个等待从所述非拥塞流队列输出的数据包;
当所述目标输出端口受到流控并暂停发送时,所述网络设备确定与所述目标数据包对应的流为拥塞流。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
当所述目标输出端口没有受到流控且可以继续发送时,所述网络设备判断所述目标输出端口的利用率是否大于或等于第二阈值;
若是,则所述网络设备确定与所述目标数据包对应的流为拥塞流。
9.根据权利要求7或8所述的方法,其特征在于,所述网络设备确定与所述目标数据包对应的流为拥塞流之后,所述方法还包括:
所述网络设备将所述目标数据包的目标表示信息记录到拥塞流流表。
10.根据权利要求9所述的方法,其特征在于,所述方法还包括:
所述网络设备根据所述拥塞流流表进行入队控制。
11.根据权利要求10所述的方法,其特征在于,所述网络设备根据所述拥塞流流表进行入队控制包括:
所述网络设备提取第一数据包的第一表示信息,所述第一数据包为在所述目标数据包之后等待进入所述非拥塞流队列的数据包;
所述网络设备判断所述第一表示信息是否与所述拥塞流流表匹配;
若是,则所述网络设备分配所述第一数据包进入拥塞流队列,所述拥塞流队列包括所述拥塞流。
12.根据权利要求7或8所述的方法,其特征在于,所述网络设备确定与所述目标数据包对应的流为拥塞流之后,所述方法还包括:
所述网络设备根据预置的调度策略进行出队调度。
13.一种网络设备,其特征在于,包括:
获取单元,用于获取非拥塞流队列的队列长度,所述非拥塞流队列包括数据包或所述数据包的描述信息;
确定单元,用于当所述非拥塞流队列的队列长度大于或等于第一阈值时,确定目标数据包的目标输出端口,所述目标数据包为等待进入所述非拥塞流队列的数据包或下一个等待从所述非拥塞流队列输出的数据包;
判断单元,用于判断所述目标输出端口的利用率是否大于或等于第二阈值;
或,
用于判断所述目标输出端口是否受到流控并暂停发送;
识别单元,用于当所述目标输出端口的利用率大于或等于第二阈值或所述目标输出端口受到流控并暂停发送时,确定与所述目标数据包对应的流为拥塞流。
14.根据权利要求13所述的网络设备,其特征在于,所述网络设备还包括:
记录单元,用于将所述目标数据包的目标表示信息记录到拥塞流流表。
15.根据权利要求14所述的网络设备,其特征在于,所述网络设备还包括:
控制单元,用于根据所述拥塞流流表进行入队控制。
16.根据权利要求15所述的网络设备,其特征在于,所述控制单元包括:
提取子单元,用于提取第一数据包的第一表示信息,所述第一数据包为在所述目标数据包之后等待进入所述非拥塞流队列的数据包;
判断子单元,用于判断所述第一表示信息是否与所述拥塞流流表匹配;
分配子单元,用于当所述第一表示信息与所述拥塞流流表匹配时,分配所述第一数据包进入拥塞流队列,所述拥塞流队列包括所述拥塞流。
17.根据权利要求13所述的网络设备,其特征在于,所述网络设备还包括:
调度单元,用于根据预置的调度策略进行出队调度。
18.一种网络设备,其特征在于,包括:
处理器、存储器、总线以及输入输出接口;
所述存储器中存储有程序代码;
所述处理器调用所述存储器中的程序代码时执行如下操作:
获取非拥塞流队列的队列长度,所述非拥塞流队列包括数据包或所述数据包的描述信息;
当所述非拥塞流队列的队列长度大于或等于第一阈值时,确定目标数据包的目标输出端口,所述目标数据包为等待进入所述非拥塞流队列的数据包或下一个等待从所述非拥塞流队列输出的数据包;
当所述目标输出端口的利用率大于或等于第二阈值时,确定与所述目标数据包对应的流为拥塞流。
19.一种网络设备,其特征在于,包括:
处理器、存储器、总线以及输入输出接口;
所述存储器中存储有程序代码;
所述处理器调用所述存储器中的程序代码时执行如下操作:
获取非拥塞流队列的队列长度,所述非拥塞流队列包括数据包或所述数据包的描述信息;
当所述非拥塞流队列的队列长度大于或等于第一阈值时,确定目标数据包的目标输出端口,所述目标数据包为等待进入所述非拥塞流队列的数据包或下一个等待从所述非拥塞流队列输出的数据包;
当所述目标输出端口受到流控并暂停发送时,确定与所述目标数据包对应的流为拥塞流。
20.一种计算机可读存储介质,包括指令,当所述指令在计算机上运行时,使得计算机执行如权利要求1至12中任意一项所述的方法。
21.一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行如权利要求1至12中任意一项所述的方法。
CN201710944894.3A 2017-10-11 2017-10-11 一种拥塞流识别方法及网络设备 Pending CN109660463A (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201710944894.3A CN109660463A (zh) 2017-10-11 2017-10-11 一种拥塞流识别方法及网络设备
PCT/CN2018/106164 WO2019072072A1 (zh) 2017-10-11 2018-09-18 一种拥塞流识别方法及网络设备
EP18866966.7A EP3687125A4 (en) 2017-10-11 2018-09-18 FLOW IDENTIFICATION PROCESS WITH CONGESTION, AND NETWORK DEVICE
US16/844,624 US11146489B2 (en) 2017-10-11 2020-04-09 Congestion flow identification method and network device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710944894.3A CN109660463A (zh) 2017-10-11 2017-10-11 一种拥塞流识别方法及网络设备

Publications (1)

Publication Number Publication Date
CN109660463A true CN109660463A (zh) 2019-04-19

Family

ID=66101190

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710944894.3A Pending CN109660463A (zh) 2017-10-11 2017-10-11 一种拥塞流识别方法及网络设备

Country Status (4)

Country Link
US (1) US11146489B2 (zh)
EP (1) EP3687125A4 (zh)
CN (1) CN109660463A (zh)
WO (1) WO2019072072A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112054964A (zh) * 2019-06-05 2020-12-08 中兴通讯股份有限公司 队列拥塞控制方法、装置、设备及存储介质
CN113347116A (zh) * 2021-06-16 2021-09-03 杭州迪普科技股份有限公司 QoS调度延迟抖动处理方法及装置
CN113556291A (zh) * 2021-07-08 2021-10-26 北京奇艺世纪科技有限公司 流量跟踪方法、装置、设备及计算机可读介质
WO2023207461A1 (zh) * 2022-04-28 2023-11-02 华为技术有限公司 拥塞流识别方法、装置、设备及计算机可读存储介质

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11171869B2 (en) * 2019-04-10 2021-11-09 At&T Intellectual Property I, L.P. Microburst detection and management
WO2020236275A1 (en) 2019-05-23 2020-11-26 Cray Inc. System and method for facilitating dynamic command management in a network interface controller (nic)
CN115134302B (zh) * 2022-06-27 2024-01-16 长沙理工大学 一种无损网络中避免队头阻塞和拥塞扩散的流量隔离方法
CN115484210B (zh) * 2022-08-16 2023-07-25 北京百度网讯科技有限公司 拥塞窗口的确定方法、装置与系统

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1620040A (zh) * 2003-11-07 2005-05-25 阿尔卡特公司 分组交换网中用内部标记作可升级选择性反压力的方法和设备
US7145873B2 (en) * 2000-09-27 2006-12-05 International Business Machines Corporation Switching arrangement and method with separated output buffers
CN101582854A (zh) * 2009-06-12 2009-11-18 华为技术有限公司 一种数据交换方法、装置和系统
CN102164067A (zh) * 2010-02-20 2011-08-24 华为技术有限公司 交换网流控实现方法、交换设备及系统
CN102223300A (zh) * 2011-06-09 2011-10-19 武汉烽火网络有限责任公司 一种网络设备中多媒体数据的传输控制方法
CN103368861A (zh) * 2013-07-30 2013-10-23 迈普通信技术股份有限公司 一种处理网络拥塞的系统及方法
US20140237118A1 (en) * 2013-02-19 2014-08-21 Broadcom Corporation Application Aware Elephant Flow Management
CN104104617A (zh) * 2014-08-07 2014-10-15 曙光信息产业(北京)有限公司 一种报文仲裁方法及装置
CN104852863A (zh) * 2015-04-15 2015-08-19 清华大学 一种共享缓存交换机中的动态阈值管理方法及装置
CN104854831A (zh) * 2012-12-07 2015-08-19 思科技术公司 基于输入队列的设备的输出队列延迟行为
CN104917703A (zh) * 2015-06-09 2015-09-16 上海斐讯数据通信技术有限公司 基于sdn的防线头阻塞方法及系统
CN105187321A (zh) * 2015-06-08 2015-12-23 中国联合网络通信集团有限公司 控制流量的方法及装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6614756B1 (en) * 1999-08-20 2003-09-02 3Com Corporation Method of detecting and recovering from signaling congestion in an asynchronous transfer mode network
US7027404B2 (en) * 2001-08-20 2006-04-11 Samsung Electronics Co., Ltd. Mechanism for cell routing in a multi-stage fabric with input queuing
JP6897434B2 (ja) * 2017-08-31 2021-06-30 富士通株式会社 情報処理システム、情報処理装置及び情報処理プログラム

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7145873B2 (en) * 2000-09-27 2006-12-05 International Business Machines Corporation Switching arrangement and method with separated output buffers
CN1620040A (zh) * 2003-11-07 2005-05-25 阿尔卡特公司 分组交换网中用内部标记作可升级选择性反压力的方法和设备
CN101582854A (zh) * 2009-06-12 2009-11-18 华为技术有限公司 一种数据交换方法、装置和系统
CN102164067A (zh) * 2010-02-20 2011-08-24 华为技术有限公司 交换网流控实现方法、交换设备及系统
CN102223300A (zh) * 2011-06-09 2011-10-19 武汉烽火网络有限责任公司 一种网络设备中多媒体数据的传输控制方法
CN104854831A (zh) * 2012-12-07 2015-08-19 思科技术公司 基于输入队列的设备的输出队列延迟行为
US20140237118A1 (en) * 2013-02-19 2014-08-21 Broadcom Corporation Application Aware Elephant Flow Management
CN103368861A (zh) * 2013-07-30 2013-10-23 迈普通信技术股份有限公司 一种处理网络拥塞的系统及方法
CN104104617A (zh) * 2014-08-07 2014-10-15 曙光信息产业(北京)有限公司 一种报文仲裁方法及装置
CN104852863A (zh) * 2015-04-15 2015-08-19 清华大学 一种共享缓存交换机中的动态阈值管理方法及装置
CN105187321A (zh) * 2015-06-08 2015-12-23 中国联合网络通信集团有限公司 控制流量的方法及装置
CN104917703A (zh) * 2015-06-09 2015-09-16 上海斐讯数据通信技术有限公司 基于sdn的防线头阻塞方法及系统

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112054964A (zh) * 2019-06-05 2020-12-08 中兴通讯股份有限公司 队列拥塞控制方法、装置、设备及存储介质
CN112054964B (zh) * 2019-06-05 2023-11-28 中兴通讯股份有限公司 队列拥塞控制方法、装置、设备及存储介质
CN113347116A (zh) * 2021-06-16 2021-09-03 杭州迪普科技股份有限公司 QoS调度延迟抖动处理方法及装置
CN113347116B (zh) * 2021-06-16 2022-05-27 杭州迪普科技股份有限公司 QoS调度延迟抖动处理方法及装置
CN113556291A (zh) * 2021-07-08 2021-10-26 北京奇艺世纪科技有限公司 流量跟踪方法、装置、设备及计算机可读介质
CN113556291B (zh) * 2021-07-08 2024-04-30 北京奇艺世纪科技有限公司 流量跟踪方法、装置、设备及计算机可读介质
WO2023207461A1 (zh) * 2022-04-28 2023-11-02 华为技术有限公司 拥塞流识别方法、装置、设备及计算机可读存储介质

Also Published As

Publication number Publication date
US20200236051A1 (en) 2020-07-23
EP3687125A4 (en) 2020-09-02
WO2019072072A1 (zh) 2019-04-18
EP3687125A1 (en) 2020-07-29
US11146489B2 (en) 2021-10-12

Similar Documents

Publication Publication Date Title
CN109660463A (zh) 一种拥塞流识别方法及网络设备
US8149705B2 (en) Packet communications unit
CN106664261B (zh) 一种配置流表项的方法、装置和系统
CN106656801B (zh) 业务流的转发路径的重定向方法、装置和业务流转发系统
US10091090B2 (en) Packet forwarding in software defined networking
US8483222B1 (en) Multi-link routing
CN1875585B (zh) 利用mac限制来控制动态未知l2泛滥的方法和系统
CN104937879B (zh) 用于在网络中放置服务的方法和设备
CN102377640B (zh) 一种报文处理装置和报文处理方法、及预处理器
CN108881028B (zh) 基于深度学习实现应用感知的sdn网络资源调度方法
JP2000036839A (ja) フロ―制御方法、一時停止制御システムおよびノ―ド
CN111294291A (zh) 一种协议报文的处理方法和装置
US8081634B2 (en) Method and apparatus for processing downstream packets of cable modem in hybrid fiber coaxial networks
US8111700B2 (en) Computer-readable recording medium storing packet identification program, packet identification method, and packet identification device
CN115225734A (zh) 一种报文处理方法和网络设备
CN105191212A (zh) 一种数据流统计方法、系统和装置
CN107070851B (zh) 基于网络流的连接指纹生成和垫脚石追溯的系统和方法
US10230647B2 (en) Data packet processing method and device
CN108881064B (zh) 报文信息获取方法和发送方法
CN107483341A (zh) 一种跨防火墙报文快速转发方法及装置
US8797976B2 (en) Node, computer-readable medium storing communication program, and communication method
US20130111061A1 (en) Method and Apparatus for Processing Network Congestion and core network entity
CN109716719A (zh) 数据处理方法及装置、交换设备
US10505834B2 (en) Session aware adaptive packet filtering
CN114079640B (zh) 一种数据处理方法、用户面功能及装置

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20190419