CN110708253B - 一种报文控制方法、流表更新方法和节点设备 - Google Patents

一种报文控制方法、流表更新方法和节点设备 Download PDF

Info

Publication number
CN110708253B
CN110708253B CN201810745523.7A CN201810745523A CN110708253B CN 110708253 B CN110708253 B CN 110708253B CN 201810745523 A CN201810745523 A CN 201810745523A CN 110708253 B CN110708253 B CN 110708253B
Authority
CN
China
Prior art keywords
queue
message
flow
data flow
node
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
CN201810745523.7A
Other languages
English (en)
Other versions
CN110708253A (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.)
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 CN201810745523.7A priority Critical patent/CN110708253B/zh
Priority to CN202310485294.0A priority patent/CN116614442A/zh
Priority to EP19833319.7A priority patent/EP3806410A4/en
Priority to PCT/CN2019/094745 priority patent/WO2020011101A1/zh
Publication of CN110708253A publication Critical patent/CN110708253A/zh
Priority to US17/144,816 priority patent/US11516145B2/en
Application granted granted Critical
Publication of CN110708253B publication Critical patent/CN110708253B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/12Avoiding congestion; Recovering from congestion
    • 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/625Queue scheduling characterised by scheduling criteria for service slots or service orders
    • H04L47/6255Queue scheduling characterised by scheduling criteria for service slots or service orders queue load conditions, e.g. longest queue first
    • 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/30Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
    • 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/622Queue service order
    • 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/625Queue scheduling characterised by scheduling criteria for service slots or service orders
    • H04L47/6275Queue scheduling characterised by scheduling criteria for service slots or service orders based on priority
    • 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/6295Queue scheduling characterised by scheduling criteria using multiple queues, one for each individual QoS, connection, flow or priority
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/15Interconnection of switching modules
    • H04L49/1515Non-blocking multistage, e.g. Clos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/15Interconnection of switching modules
    • H04L49/1553Interconnection of ATM switching modules, e.g. ATM switching fabrics
    • H04L49/1569Clos switching fabrics

Landscapes

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

Abstract

一种报文控制方法、流表更新方法和节点设备。所述节点设备包括第一队列和第二队列;所述方法包括:所述节点设备获取第一报文;所述节点设备确定所述第一报文所属的数据流被标记为隔离流;若所述第一队列和/或所述第二队列满足第一预设条件时,所述节点设备控制所述第一报文进入所述第一队列中等待调度;若所述第一队列和/或所述第二队列满足第二预设条件时,所述节点设备控制所述第一报文进入所述第二队列中等待调度。通过这种方式,节点设备可以较为灵活的控制被标记为隔离流的数据流的报文进入哪一队列。

Description

一种报文控制方法、流表更新方法和节点设备
技术领域
本申请涉及数据传输领域,尤其涉及一种报文控制方法、流表更新方法和节点设备。
背景技术
随着网络的普及,信息交流成为人们日常生活中必不可少的一部分。因此,网络设备之 间的信息(比如业务的数据流)传输逐渐增多。目前,网络设备在传输数据流时,可以通过 队列(满足先入先出机制)传输。比如,网络设备将需要发送的数据流的多个报文存储在一 个队列中。当该队列中位于队首的一个报文出队后,即网络设备将所述一个报文发给其它网 络设备。
但是,如果一个队列中的数据流的报文数量较多时,位于该队列中的队尾的报文可能迟 迟无法出队,进而导致队列拥塞。
发明内容
本申请实施例提供一种报文控制方法、流表更新方法和节点设备,用以解决缓解队列拥 塞的技术问题。
第一方面,本申请实施例提供一种报文控制方法,该方法可由节点设备执行,节点设备 例如为数据中心网络中的交换机、服务器等。所述节点设备包括第一队列和第二队列;所述 方法包括:节点设备获取第一报文;所述节点设备确定所述第一报文所属的数据流被标记为 隔离流;若所述第一队列和/或所述第二队列满足第一预设条件时,所述节点设备控制所述第 一报文进入所述第一队列中等待调度;若所述第一队列和/或所述第二队列满足第二预设条件 时,所述节点设备控制所述第一报文进入所述第二队列中以等待调度。
在本申请一些实施例中,若第一报文所属的数据流被标记为隔离流,节点可以根据第一 队列和/或第二队列的不同情况,控制所述第一报文进入第一队列还是第二队列。比如,当第 一队列和/或第二队列满足第一预设条件时,节点控制第一报文进入第一队列。当第一队列和 /或第二队列满足第二预设条件时,节点控制第一报文进入第二队列。通过这种方式,节点可 以较为灵活的控制被标记为隔离流的数据流的报文进入哪一队列。
在一个可能的设计中,所述第一队列和/或所述第二队列满足第一预设条件,包括:所述 第一队列和/或所述第二队列满足如下条件中的一种或多种:所述第一队列中当前存在的等待 调度的报文计数小于等于第一阈值;所述第一队列中当前存在的等待调度的报文计数小于第 一阈值;所述第二队列中当前存在的等待调度的报文计数小于等于第二阈值;所述第二队列 中当前存在的等待调度的报文计数小于第二阈值;所述第二队列和所述第一队列中当前存在 的等待调度的报文计数之和小于等于第三阈值;所述第二队列和所述第一队列中当前存在的 等待调度的报文计数之和小于第三阈值。
在本申请一些实施例中,节点设备可以根据第一队列和/或第二队列的报文计数,确定第 一队列和/或第二队列是否满足第一预设条件。比如,当第一队列中的报文计数较少时,即第 一队列满足第一预设条件,节点设备控制第一报文进入第一队列中。通过这种方式,节点可 以较为灵活的控制被标记为隔离流的数据流的报文进入哪一队列。
在一个可能的设计中,所述第一阈值和/或所述第二阈值和/或所述第三阈值小于所述第 一队列的队列切换阈值;其中,若所述第一队列当前存在的等待调度的报文计数超过所述第 一队列的队列切换阈值时,所述第一队列的后续报文进入所述第二队列中。
在本申请一些实施例中,在本申请实施例中,节点设置第一阈值和/或所述第二阈值和/ 或所述第三阈值的具体取值时,可以参考第一队列的队列切换阈值。比如,第一阈值可以小 于第一队列的队列切换阈值。由于第一阈值小于第一队列的队列切换阈值,所以,当第一队 列当前存储的报文计数小于等于第一阈值时,说明第一队列当前拥塞程度较小,而且该数据 流的后续报文进入第一队列后,超过第一队列切换阈值的可能性较小,即触发再次切换到第 二队列的可能性较小。通过这种方式,有助于提升节点设备设置的第一阈值的准确性。
在一个可能的设计中,所述节点设备确定所述第一报文所属的数据流被标记为隔离流, 包括:所述节点设备在流表中查询是否存在所述数据流的数据流识别信息;若所述流表中存 在所述数据流的数据流识别信息,所述节点设备确定所述数据流被标记为隔离流。
在本申请一些实施例中,节点设备可以通过查询流表来确定第一报文是否被标记为隔离 流。流表中可以只包括数据流识别信息,即,数据流识别信息存在于该流表中的数据流即为 被标记为隔离流的数据流,数据流识别信息不存在于该流表中的数据流即为非隔离流。这种 方式中,流表较为简单,占用的资源(比如存储硬件资源)较少。
在一个可能的设计中,所述节点设备确定所述第一报文所属的数据流被标记为隔离流, 包括:若所述节点设备在流表中查询到所述数据流的隔离标识为第一隔离标识,所述节点设 备确定所述数据流被标记为隔离流。
在本申请一些实施例中,节点设备可以通过查询流表来确定第一报文是否被标记为隔离 流。其中,流表可以包括每个数据流的数据流识别信息以及与所述数据流识别信息对应的隔 离标识,当隔离标识为第一隔离标识时,说明该数据流识别信息对应的数据流被标记为隔离 流。在这种流表中,可以记录每个数据流是隔离流还是非隔离流,清楚明了,方便使用。
在一个可能的设计中,所述流表中还包括所述数据流的报文计数,在所述节点设备控制 所述第一报文进入所述第二队列之后,所述节点设备在所述流表中增加所述报文计数;当所 述第二队列中的所述数据流的一个报文出队后,所述节点设备减少所述报文计数。
在本申请一些实施例中,节点可以实时的更新流表,当一个数据流的报文从第二队列出 队后,减少该数据流的报文计数,当一个数据流的报文从第二队列入队时,增加该数据流的 报文计数。流表的动态更新,有助于实时的统计每个数据流的报文在第二队列中的报文计数, 方便使用。
在一个可能的设计中,所述流表中还包括所述数据流的报文计数,在所述节点设备控制 所述第一报文进入所述第二队列之后,所述节点设备在所述流表中增加所述报文计数;当所 述第二队列中的所述数据流的一个报文出队后,所述节点设备减少所述报文计数。
在本申请一些实施例中,节点可以实时的更新流表,当一个数据流的报文从第二队列出 队后,减少该数据流的报文计数,当一个数据流的报文从第二队列入队时,增加该数据流的 报文计数。流表的动态更新,有助于实时的统计每个数据流的报文在第二队列中的报文计数, 方便使用。
在一个可能的设计中,当所述流表中所述数据流的报文计数减少为零时,所述节点设备 将所述数据流的数据流识别信息从所述流表中清除。
在本申请一些实施例中,流表可以动态更新,当第二队列中的某个数据流的报文全部出 队后,节点可以删除该流表中的所述数据流的信息。通过这种方式,一方面有助于节省硬件 资源,另一方面及时的将所述数据流由隔离流恢复到非隔离流(数据流识别信息不存在与该 流表的数据流未非隔离流)。
在一个可能的设计中,当所述流表中所述数据流的报文计数减少为零时,所述节点设备 将所述数据流的第一隔离标识修改为第二隔离标识,所述第二隔离标识用于指示所述数据流 为非隔离流。
在本申请一些实施例中,流表可以动态更新,当第二队列中的某个数据流的报文全部出 队后,可以将所述数据流的第一隔离标识修改为第二隔离标识。通过这种方式,节点可以及 时的将所述数据流由隔离流恢复到非隔离流。
在一个可能的设计中,所述节点设备确定所述第一报文所属的数据流被标记为非隔离流; 所述节点设备控制所述第一报文进入所述第一队列中等待调度。
在本申请一些实施例中,一个报文所属的数据流被标记为非隔离流,节点将该一个报文 进入第一队列中。当一个报文所属的数据流被标记为隔离流,节点通过第一队列和第二队列 的具体情况,判断该一个报文进入第一队列还是第二队列。通过这种方式,节点可以较为灵 活的控制隔离流或者非隔离流的报文进入哪一队列。
在一个可能的设计中,所述第一队列的优先等级与所述数据流的优先等级相同,所述第 二队列的优先等级小于所述第一队列的优先等级。
在本申请一些实施例中,节点可以建立数据流的优先等级与队列的优先等级之间的映射 关系。比如,优先等级较高的数据流的报文可以进入优先等级较高的第一队列中,优先等级 较低的数据流的报文可以进入优先等级较低的第二队列中。现有技术中,优先等级较高的数 据流的报文进入第一队列中,如果第一队列中当前存在的报文计数超过队列切换阈值时(所 述数据流被标记为隔离流),该数据流的后续报文进入第二队列。那么,对于被标记为隔离 流的数据流的后续报文来说,只能进入优先等级较低的第二队列,即优先等级较高的数据流 的后续报文只能进入优先等级较低的第二队列,即对于该数据流来说,丧失公平性。但是在 本申请实施例中,节点获取第一报文。若该第一报文所属的数据流被标记为隔离流,节点可 以根据第一队列和/或第二队列的不同情况,控制所述第一报文进入第一队列还是第二队列。 也就是说,本申请实施例的方案,可以实现被标记为隔离流的数据流的队列恢复,即被标记 为隔离流的数据流的后续报文进入到第一队列中。
在一个可能的设计中,所述报文计数包括所述数据流在所述第二队列中的所有报文的总 个数或者所有报文所占的总字节数。
在本申请一些实施例中,报文计数还可以是其它的计数方式,本申请实施例对此不作限 定。
第二方面,本申请实施例提供一种流表更新方法,该方法可由节点设备执行,节点设备 例如为数据中心网络中的交换机、服务器等。所述方法包括:节点设备获取第一报文;若所 述第一报文所属的数据流被标记为隔离流,所述节点设备控制所述第一报文进入第一队列中 等待调度;所述节点设备在流表中增加所述数据流的第一报文计数;其中,所述第一报文计 数用于指示在所述第一报文进入所述第一队列之前,存在于所述第一队列中的属于所述数据 流的报文的总量;当所述数据流的一个报文从所述第一队列中出队后,所述节点设备减少所 述第一报文计数。
在本申请一些实施例中,节点可以实时的更新流表,当一个数据流的报文从第一队列出 队后,减少该数据流的报文计数,当一个数据流的报文入队第一队列时,增加该数据流的报 文计数。流表的动态更新,有助于实时的统计每个数据流的报文在第一队列中的报文计数, 方便使用。
在一个可能的设计中,当所述流表中记录的所述第一报文计数减少为零时,所述节点设 备将所述数据流标记为非隔离流。
在本申请一些实施例中,节点可以实时的更新流表,当所述流表中记录的所述第一报文 计数减少为零时,所述节点设备将所述数据流标记为非隔离流。通过这种方式,节点可以及 时的将被标记为隔离流的数据流恢复为非隔离流。
在一个可能的设计中,所述节点设备将所述数据流标记为非隔离流,包括:所述节点设 备将所述流表中与所述数据流对应的第一隔离标识修改为第二隔离标识;其中,所述第一隔 离标识用于指示所述数据流为隔离流,所述第二隔离标识用于指示所述数据流为非隔离流。
在本申请一些实施例中,若流表中包括数据流的隔离标识,那么当所述流表中记录的所 述数据流的第一报文计数减少为零时,节点设备将所述流表中与所述数据流对应的第一隔离 标识修改为第二隔离标识。通过这种方式,节点可以及时的将被标记为隔离流的数据流恢复 为非隔离流。
在一个可能的设计中,所述流表中包括数据流的数据流识别信息以及与所述数据流识别 信息对应的报文计数,所述节点设备在流表中增加所述数据流的第一报文计数,包括:所述 节点设备在所述流表中确定与所述数据流的第一数据流识别信息对应的第一报文计数,所述 节点设备增加所述第一报文计数;在所述节点设备减少所述第一报文计数之后,所述方法还 包括:当所述流表中记录的所述第一报文计数减少为零时,所述节点设备将所述第一报文计 数以及所述第一数据流识别信息从所述流表中删除。
在本申请一些实施例中,当所述流表中记录的所述数据流的第一报文计数减少为零时, 所述节点设备将所述第一报文计数以及所述数据流的第一数据流识别信息从所述流表中删除。 通过这种方式,一方面,可以节省流表所占的硬件资源,另一方面,可以及时的将隔离流恢 复为非隔离流(数据流识别信息不存在于流表中的数据流为非隔离流)。
第三方面,本申请实施例提供一种节点设备,该节点设备具有实现上述方法设计中节点 设备的功能。这些功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件 或软件包括一个或多个与上述功能相对应的单元。
在一个可能的设计中,节点设备的具体结构可包括获取单元和处理单元。获取单元和处 理单元可执行上述第一方面或第一方面的任意一种可能的设计所提供的方法中的相应功能。
第四方面,本申请实施例提供一种节点设备,该节点设备具有实现上述方法设计中节点 设备的功能。这些功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件 或软件包括一个或多个与上述功能相对应的单元。
在一个可能的设计中,节点设备的具体结构可包括获取单元和处理单元。获取单元和处 理单元可执行上述第二方面或第二方面的任意一种可能的设计所提供的方法中的相应功能。
第五方面,提供一种节点设备。该节点设备包括:存储器,用于存储计算机可执行程序 代码;收发器,以及处理器,处理器与存储器、收发器耦合。其中存储器所存储的程序代码 包括指令,当处理器执行所述指令时,所述指令使节点设备执行上述第一方面或第一方面的 任意一种可能的设计中节点设备所执行的方法。
第六方面,提供一种节点设备。该节点设备包括:存储器,用于存储计算机可执行程序 代码;收发器,以及处理器,处理器与存储器、收发器耦合。其中存储器所存储的程序代码 包括指令,当处理器执行所述指令时,所述指令使节点设备执行上述第二方面或第二方面的 任意一种可能的设计中节点设备所执行的方法。
第七方面,本申请实施例中还提供一种计算机可读存储介质,所述计算机可读存储介质 包括计算机程序,当计算机程序在节点设备上运行时,使得所述节点设备执行第一方面或上 述第一方面的任意一种可能的设计的方法。
第八方面,本申请实施例中还提供一种计算机可读存储介质,所述计算机可读存储介质 包括计算机程序,当计算机程序在节点设备上运行时,使得所述节点设备执行第二方面或上 述第二方面的任意一种可能的设计的方法。
第九方面,本申请实施例还提供一种包含计算机程序产品,当所述计算机程序产品在节 点设备上运行时,使得所述节点设备执行第一方面或上述第一方面的任意一种可能的设计的 方法。
第十方面,本申请实施例还提供一种包含计算机程序产品,当所述计算机程序产品在节 点设备上运行时,使得所述节点设备执行第二方面或上述第二方面的任意一种可能的设计的 方法。
附图说明
图1为本申请实施例提供的数据中心网络的示意图;
图2为本申请实施例提供的另一种数据中心网络的示意图;
图3为本申请实施例提供的队列拥塞隔离的示意图;
图4为本申请实施例提供的一种应用场景的示意图;
图5为本申请实施例提供的一种报文控制方法的流程的示意图;
图6为本申请实施例提供的一种流表的示意图;
图7为本申请实施例提供的另一种流表的示意图;
图8为本申请实施例提供的报文进入第一队列或者第二队列的过程的示意图;
图9为本申请实施例提供的一种流表更新方法的流程示意图;
图10为本申请实施例提供的另一种流表的示意图;
图11为本申请实施例提供的又一种流表的示意图;
图12为本申请实施例提供的流表更新过程的示意图;
图13为本申请实施例提供的流表更新过程的示意图;
图14为本申请实施例提供的流表更新过程的示意图;
图15为本申请实施例提供的一种节点设备的结构示意图;
图16为本申请实施例提供的另一种节点设备的结构示意图;
图17为本申请实施例提供的又一种节点设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
以下,对本申请中的部分用语进行解释说明,以便与本领域技术人员理解。
本申请实施例涉及的节点设备,包括能够进行网络通信的设备。比如包括基站(例如, 接入点)、终端设备(也可以称之为用户设备(user equipment,UE))等具有通信功能的设 备,本发明实施例对此不作限定。其中,终端设备包括移动电话(或称为“蜂窝”电话),或者车载的移动装置,智能穿戴式设备、个人数字助理(personal digital assistant,PDA)、智 能手表、智能头盔、智能眼镜、智能手环、等设备。基站可以包括长期演进(Long TermEvolution, LTE)系统或演进的LTE系统(LTE-Advanced,LTE-A)中的演进型基站(NodeB或eNB或e-NodeB, evolutional Node B),或者也可以包括5G系统中的下一代节点B(nextgeneration node B,gNB), 本发明实施例并不限定。
需要说明的是,本申请实施例涉及的节点设备还可以是其它节点设备(为了方便描述, 下文中将设备节点简称为节点)。比如,节点设备还可以包括数据中心网络或其它非数据中 心网络任意的设备。所述设备可以是交换机、路由器、网卡等设备。其中,数据中心网络或 者非数据中心网络的网络架构可以有多种,比如CLOS架构、Mesh架构或Torus架构等网络 架构,本申请实施例对此本申请不做限定。为便于描述,以下仅以CLOS架构的数据中心网络 为例进行说明。
图1示出了一种CLOS架构的数据中心网络的示意图。在图1中,是数据中心网络为二级 CLOS网络为例。如图1所示,数据中心网络可以包括用于提供各类服务的服务器(server)。 除服务器之外,所述还包括TOR交换机和SPINE交换机等多种不同类型的交换机。其中,所 述TOR交换机设置可以在所述服务器与所述SPINE交换机之间的链路上,所述TOR交换机的 上行端口用于连接SPINE交换机,而下行端口则用于连接服务器。每一个所述TOR交换机均 可以通过多个上行端口与多个SPINE交换机相连。而每一个所述服务器则也可以通过至少一 块网卡与至少一个TOR交换机相连。
当所述数据中心规模较大,所包含的服务器及TOR交换机较多时,还可以在所述TOR交 换机与所述SPINE交换机之间的链接上设置AGG交换机(请参见图2所示,图2中,以所述 数据中心网络是三级CLOS网络为例)。所述AGG交换机的下行端口用于连接至少一个TOR交换机,上行端口则用于连接至少一个SPINE交换机。
本申请实施例涉及的数据流,包括至少一个报文。两个节点之间的信息交互通常是两个 节点之间的数据流的传输。比如,发送端节点将数据流的多个报文分别发送给接收端节点。 接收端节点接收到多个报文之后,将多个报文整合成数据流。
本申请实施例涉及的数据流的识别信息,即可以用于确定一条数据流的信息或信息组合, 通过该识别信息,节点可以确定唯一一个与该识别信息对应的数据流。例如,一个数据流可 以包括多个报文,每个报文可以包括源IP、目的IP、协议号、源端口号、目的端口号所构成 的五元组(5-tuple),比如Overlay网络。若多个报文中的每个报文包括的五元组相同,则所 述多个报文属于同一个数据流。当然,每个报文也可以是三元组或其它类型的信息或信息组 合,比如还可以是六元组。以VXLAN为例,每个报文可以包括源IP、目的IP、协议号、源端 口号、目的端口号、VNI所构成的六元组,若多个报文中的每个报文包括的六元组相同,则 所述多个报文属于同一个数据流。本申请实施例中,对每个报文包括几元组,不做限定。
本申请中的多个,是指两个或两个以上。
另外,需要理解的是,在本申请的描述中,“第一”、“第二”等词汇,仅用于区分描述的 目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。
下面介绍与本申请相关的背景技术。
目前,节点在传输数据流时,可以通过队列(满足先入先出机制)调度。比如,节点将 需要发送的数据流的多个报文存储在一个队列中。当该队列中位于队首的一个报文出队后, 即节点将所述一个报文发给其它节点。但是,如果一个队列中的数据流的报文数量较多时, 位于该队列中的队尾的报文可能迟迟无法出队,进而导致队列拥塞。
为了尽量避免队列拥塞,目前,节点可以采用拥塞隔离(congestion isolation,CI)技术。 即,当一个列队中存储的数据流的报文总量超过队列切换阈值时,节点将把该数据流标记为 隔离流。当一个数据流被标记为隔离流时,该数据流的后续报文将都被存入第二队列中。
举例来说,请参见图3,如图3中的(a),一个数据流的报文1-6进入第一队列后,第一队列中的报文计数超过第一队列的队列切换阈值(队列切换阈值为5),该数据流被标记为隔离流。即,该数据流的后续报文(比如报文7-9)进入第二队列中。如果该数据流后续有更多的报文,那么所述更多的报文也进入第二队列中。因此,对于被标记为隔离流的数据流来说,该数据流的后续报文将一直通过第二队列传输,这种方式较为单一,不够灵活。比如,请参见图3中的(b),如果第一队列当前不拥塞(比如第一队列为空)或者拥塞程度较低(比如第一队列当前存在的报文计数较少)时,被标记为隔离流的数据流的后续报文也只能进入 第二队列中,即第一队列空闲,但没有被合理利用。
在本申请实施例中,节点中可以包括第一队列和第二队列,节点获取第一报文。若该第 一报文所属的数据流被标记为隔离流,节点可以根据第一队列和/或第二队列的不同情况,控 制所述第一报文进入第一队列还是第二队列。比如,当第一队列和/或第二队列满足第一预设 条件时,节点控制第一报文进入第一队列。当第一队列和/或第二队列满足第二预设条件时, 节点控制第一报文进入第二队列,而不是所有被标记为隔离流的数据流的报文只能进入第二 队列。通过这种方式,节点可以较为灵活的控制被标记为隔离流的数据流进入哪一队列。
本申请实施例的应用场景可以是图1或图2所示的数据中心网络,也可以是其它数据中 心网络或其它非数据中心网络。为了方便介绍本申请的方案,图4示出了一种简单的应用场 景。该在图4中,以应用场景包括两个节点为例,且以两个节点分别是第一交换机和第二交 换机为例。图4中的第一交换机和第二交换机可以是图1或者图2中的任意两个相邻的交换 机。应理解,图4只是应用场景的一种示例,在实际应用中,节点不限定是交换机。
其中,第一交换机通过发送队列向第二交换机发送数据流的报文,第二交换机通过接收 缓存队列接收第一交换机发送的数据流的报文。其中,第一交换机的发送队列包括两条队列, 即第一队列和第二队列。第一交换机获取到第一报文后,若该第一报文所属的数据流被标记 为隔离流,节点设备可以根据第一队列和/或第二队列的不同情况,控制所述第一报文进入第 一队列还是第二队列。类似的,第二交换机的接收缓存队列包括两条队列,即第三队列和第 四队列。第二交换机接收到第一交换机发送的第一报文后,若该第一报文所属的数据流被标 记为隔离流,第二交换机可以根据第三队列和/或第四队列的不同情况,控制所述第一报文进 入第三队列和第四队列。
下面结合附图介绍本发明实施例提供的技术方案,在下面的介绍过程中,以将本发明提 供的技术方案应用在图4所示的应用场景中为例。
请参见图5,本发明一实施例提供一种报文控制方法,该方法的流程描述如下。
S501:节点获取第一报文,所述节点包括第一队列和第二队列。
在本申请实施例中,节点获取第一报文的方式可以有多种。比如,节点可以自己生成第 一报文(比如,节点是数据流发送的源头时,该节点可以生成第一报文)。再比如,节点可 以接收其它节点发送的第一报文,以节点是图4所示的第二交换机为例,该第二交换机可以 接收来自第一交换机发送的第一报文。
在本申请实施例中,节点具有两个队列,即第一队列和第二队列。节点可以是图2所示 的第一交换机或者第二交换机。若节点是第一交换机,第一队列和第二队列为发送队列,若 节点是第二交换机,第一队列和第二队列为接收缓存队列。即,本申请实施例涉及的第一队 列和第二队列可以是一个节点中的发送队列,也可以是一个节点中的接收缓存队列。在本申 请实施例中,第一队列可以是一个队列,也可以是多个队列,同样的,第二队列可以是一个 队列,也可以是多个队列,本申请实施例对此不作限定。
在本申请实施例中,第一队列和第二队列的优先等级可以不同。以第一队列的优先等级 高于第二队列的优先等级为例。对于优先等级较高的队列中的报文,节点可以优先处理。节 点可以根据业务的紧急程度,为不同的业务的数据流划分不同的优先等级。比如,较为紧急 的业务(比如要求低时延的业务)的数据流的优先等级较高,非紧急业务(比如对时延没有 要求的业务)的数据流的优先等级较低。节点可以建立数据流的优先等级与队列的优先等级 之间的映射关系。比如,优先等级较高的数据流的报文可以进入优先等级较高的第一队列中, 优先等级较低的数据流的报文可以进入优先等级较低的第二队列中。在这种示例中,优先等 级较高的数据流的报文进入第一队列中,如果第一队列中当前存在的报文计数超过队列切换 阈值时,该数据流的后续报文进入第二队列。
现有技术中,优先等级较高的数据流的报文进入第一队列中,如果第一队列中当前存在 的报文计数超过队列切换阈值时,该数据流的后续报文进入第二队列。那么,对于被标记为 隔离流的数据流的后续报文来说,只能进入优先等级较低的第二队列,即优先等级较高的数 据流的后续报文只能进入优先等级较低的第二队列,即对于该数据流来说,丧失公平性。但 是在本申请实施例中,节点获取第一报文。若该第一报文所属的数据流被标记为隔离流,节 点可以根据第一队列和/或第二队列的不同情况,控制所述第一报文进入第一队列还是第二队 列。也就是说,本申请实施例的方案,可以实现被标记为隔离流的数据流的队列恢复,即被 标记为隔离流的数据流的后续报文进入到第一队列中。
在本申请实施例中,第一队列和第二队列的优先等级也可以相同。比如,第一队列作为 主队列,第二队列作为备用队列。一个数据流的报文首先进入第一队列中,当第一队列中当 前存在的报文计数超过队列切换阈值时,该数据流的后续报文进入第二队列。
节点获取第一报文之后,可以根据第一报文所属的数据流是否被标记为隔离流,而控制 第一报文进入第一队列或者第二队列。
S502:节点确定所述第一报文所属的数据流被标记为隔离流。
在本申请实施例中,一个报文所属的数据流被标记为隔离流可能有多种原因。
示例一,一个数据流的报文进入第一队列后,如果该第一队列当前存储的报文计数超过 第一队列的队列切换阈值,那么节点将该数据流标记为隔离流,即该数据流的后续报文进入 第二队列。示例二,一个数据流的报文进入第一队列后,节点可以判断该报文所属数据流所 占的字节数是否大于预设字节数(大象流),如果是,节点可以将该数据流标记为隔离流, 即该数据流的后续报文进入第二队列。示例三,在较短的时间内,一个数据流的多个报文连 续进入第一队列,节点可以将该数据流标记为隔离流。
在本申请实施例中,节点将一个数据流标记为隔离流可以通过流表记录来实现。一种可 能的实现方式为,如前述的示例一,一个数据流的报文进入第一队列后,如果该第一队列当 前存储的报文计数超过第一队列的队列切换阈值,节点在流表中添加该数据流的识别信息, 即该数据流被标记为隔离流。如果另一个数据流的报文进入第一队列后,该第一队列当前存 储的报文计数未超过第一队列的队列切换阈值,节点不在流表中添加该数据流的识别信息。 在这种方式中,流表中只包括隔离流的识别信息,即,数据流识别信息存在于该流表中的数 据流即为被标记为隔离流的数据流,数据流识别信息不存在于该流表中的数据流即为非隔离 流。示例性的,请参考图6,为本申请实施例提供的一种可能的流表的示意图。在图6中, 流表中包括数据流识别信息。
应理解,节点开始时,流表可以为空或者不存在流标,当一个数据流的报文进入第一队 列,且该第一队列当前存储的报文计数超过第一队列的队列切换阈值时,节点设备创建流表, 并在创建的流表中添加该数据流的数据流识别信息;或者节点设备在已存在的空的流表中添 加该数据流的数据流识别信息。
另一种可能的实现方式为,节点将所有数据流中每个数据流的数据流识别信息都存储在 流表中,每个数据流识别信息对应一个隔离标识。所述隔离标识用于指示与所述隔离标识对 应的数据流是隔离流或者非隔离流。比如,当隔离标识为1时,用于指示与所述隔离标识对 应的数据流是隔离流;当隔离标识为0时,用于指示与所述隔离标识对应的数据流是非隔离 流。当然,隔离标识除了1和0之外,还可以有其它标识方式,比如可以用文字“隔离流” 和“非隔离流”来表示,本申请实施例不作限定。如前述的示例一,一个数据流的报文进入 第一队列后,如果该第一队列当前存储的报文计数超过第一队列的队列切换阈值,节点在流 表中将该数据流的隔离标识标记为1。如果另一个数据流的报文进入第一队列后,该第一队 列当前存储的报文计数未超过第一队列的队列切换阈值,节点在流表中将该数据流的隔离标 识标记为0。在这种方式中,流表中包括每个数据流的数据流识别信息以及隔离标识。示例 性的,请参考图5,为本申请实施例提供的另一种可能的流表的示意图。在图7中,流表中 包括每个数据流的数据流识别信息以及隔离标识。
在本申请实施例中,节点获取第一报文后,可以根据报文中携带的信息确定所述第一报 文所属的数据流(比如每个报文中可以携带所述每个报文所属的数据流的数据流识别信息), 然后,节点确定所述第一报文所属的数据流是否被标记为隔离流。
作为一种示例,节点可以根据业务的类型为所述业务的数据流设置数据流识别信息。比 如,网页搜索业务的数据流的数据流识别信息为“数据流识别信息1”,再比如,紧急呼叫 业务的数据流的数据流识别信息为“数据流识别信息2”。这里的“数据流识别信息1”和“数 据流识别信息2”只是举例,在实际应用中,数据流识别信息可以有多种命名方式,比如数 据流识别信息可以是二进制数,一个二进制数对应一种业务类型。通常,数据流中可以包括 多个报文,那么一个数据流中的多个报文中每个报文都携带有该数据流的数据流识别信息。 比如,网页搜索业务的数据流的所有报文中每个报文携带“数据流识别信息1”,紧急呼叫 业务的数据流的所有报文中每个报文携带“数据流识别信息2”。由于数据流的报文可以不 止一个,为了区分不同的报文,每个报文中还可以携带报文标识。比如,网页搜索业务的数 据流共有10个报文,其中,第1个报文中携带数据流识别信息即“数据流识别信息1”以及 该第1个报文的报文标识。
由前述内容可知,节点可以将一个数据流标记为隔离流可以通过流表记录来实现。因此, 节点获取第一报文,根据报文中携带的信息确定所述第一报文所属的数据流后,可以通过查 流表来确定所述数据流被标记为隔离流。
举例来说,请继续参见图6。在图6中,流表中包括数据流的识别信息。节点确定所述 第一报文所属的数据流后,在图6所示的流表中查询是否存在所述第一报文所属的数据流的 识别信息。若存在,则所述第一报文所属的数据流被标记为隔离流。若不存在,则所述第一 报文所属的数据流未被标记为隔离流,即非隔离流。在这种方式中,数据流识别信息存在于 流表中数据流是隔离流,数据流识别信息不存在于流表中数据流是非隔离流,流表较为简单, 占用的资源(比如存储硬件资源)较少。
再例如,请继续参见图7。在图7中,流表中包括数据流识别信息以及隔离标识。节点 确定所述第一报文所属的数据流后,在图5所示的流表中查询与所述第一报文所属的数据流 识别信息对应的隔离标识。若查询到隔离标识为1,即所述第一报文所属的数据流是隔离流; 若查询到隔离标识为0,即所述第一报文所属的数据流是非隔离流。
节点确定第一报文所属的数据流被标记为非隔离流后,节点控制所述第一报文进入第一 队列。节点确定第一报文所属的数据流被标记为隔离流后,节点可以根据第一队列和/或第二 队列的不同情况,控制所述第一报文进入第一队列或者第二队列。
S503:若所述第一队列和/或所述第二队列满足第一预设条件,所述节点控制所述第一队 列进入第一队列中等待调度。
在本申请实施例中,所述第一队列和/或所述第二队列满足第一预设条件可以包括多种情 况,下文将举例说明。
第一种情况,所述第一队列满足第一预设条件。比如,第一队列中当前存在的等待调度 的报文计数较少,即第一队列满足第一预设条件。
在本申请实施例中,节点中可以存储第一阈值。当第一队列中当前存在的报文计数小于 等于第一阈值时,节点确定第一队列满足第一预设条件;或者,当第一队列中当前存在的报 文计数小于第一阈值时,节点确定第一队列满足第一预设条件。在本申请实施例中,第一阈 值可以是节点出厂时设置好的,也可以是用户在使用过程中自定义的。在这种方式中,当第 一队列当前存储的报文计数小于等于第一阈值时,说明第一队列当前拥塞程度较小。节点可 以控制被标记为隔离流的后续报文进入第一队列中。
在本申请实施例中,节点设置第一阈值的具体取值时,可以参考第一队列的队列切换阈 值。比如,第一阈值可以小于第一队列的队列切换阈值(由前述内容可知,当所述第一队列 中当前存在的报文计数超过所述第一队列的队列切换阈值时,所述第一队列的后续报文进入 所述第二队列中)。
举例来说,请参见图8,如图8中的(a),当一个数据流的报文1-5进入第一队列中,由于第一队列的队列切换阈值为5,那么该数据流被标记为隔离流,即该数据流的后续报文(比如报文6)进入第二队列。如图8中的(b),第一队列中的报文逐渐出队,当第一队列 中当前剩余2个报文(报文5-6)时,即当前存在的报文计数小于第一阈值(第一阈值为3)。 此时,被标记为隔离流的数据流的后续报文(比如报文7)可以进入第一队列中。在这种方 式中,由于第一阈值小于第一队列的队列切换阈值,所以,当第一队列当前存储的报文计数 小于等于第一阈值时,说明第一队列当前拥塞程度较小,而且该数据流的后续报文进入第一 队列后,超过第一队列切换阈值的可能性较小,即触发再次切换到第二队列的可能性较小。
第二种情况,第二队列满足第一预设条件。比如,第二队列中当前存在的等待调度的报 文计数较少,即第二队列满足第一预设条件。
在本申请实施例中,节点中可以存储第二阈值,当第二队列中当前存在的报文计数小于 等于第二阈值时,节点确定第二队列满足第一预设条件;或者,当第二队列中当前存在的报 文计数小于第二阈值时,节点确定第二队列满足第一预设条件。在本申请实施例中,第二阈 值可以是出厂时设置好的,也可以是用户在使用过程中自定义的。在这种方式中,当第二队 列当前存储的报文计数小于等于第二阈值时,说明第二队列当前存在的报文计数较少,为了 尽快清空第二队列中的报文,节点可以控制被标记为隔离流的报文进入第一队列中。
这是因为,由图6所示的流表可知,该流表中记录在第二队列中的数据流的识别信息。 如果某个数据流的所有报文能够尽快从第二队列中出队,那么节点可以将该数据流的识别信 息从第二队列中删除,一方面节省硬件资源,另一方面,由于该流表中不存在该数据流的识 别信息,即该数据流由隔离流恢复为非隔离流。因此,通过这种方式,节点可以及时的将被 标记为隔离流的数据流恢复为非隔离流。(关于这部分内容将在另一个实施例中,详细描述)。
在本申请实施例中,节点在设置第二阈值时,可以参考第一队列的队列切换阈值。比如, 第二阈值可以小于第一队列的队列切换阈值。继续以图8为例,第一队列的队列切换阈值为 5,第二阈值是2。当第二队列中当前存在的报文计数小于第二阈值(第二阈值为2)时,节 点控制被标记为隔离流的数据流的报文进入第一队列中。
第三种情况,所述第一队列和所述第二队列满足第一预设条件。比如,所述第二队列和 所述第一队列中当前存在的等待调度的报文计数之和较少时,即所述第一队列和所述第二队 列满足第一预设条件。
在本申请实施例中,节点中可以存储第三阈值。当所述第二队列和所述第一队列中当前 存在的等待调度的报文计数小于等于第三阈值时,节点确定所述第一队列和所述第二队列满 足第一预设条件;或者,当所述第二队列和所述第一队列中当前存在的等待调度的报文计数 小于第三阈值时,节点确定所述第一队列和所述第二队列满足第一预设条件。在本申请实施 例中,第三阈值可以是节点出厂时设置好的,也可以是用户在使用过程中自定义的。在这种 方式中,当第一队列当前存储的报文计数和第二队列当前存储的报文计数之和小于等于第三 阈值时,说明第一队列和第二队列当前拥塞程度较小。节点可以控制被标记为隔离流的报文 进入第一队列中。
在本申请实施例中,节点在设置第三阈值时,可以参考第一队列的队列切换阈值。比如, 第三阈值可以小于第一队列的队列切换阈值。继续以图8中的(b)为例,第一队列的队列切 换阈值为5,第三阈值可以是4。当第一队列和第二队列中当前存在的报文计数之和(即3) 小于第三阈值(第三阈值为4)时,节点控制被标记为隔离流的数据流的报文进入第一队列 中。
S304:若所述第一队列和/或所述第二队列满足第二预设条件,所述节点控制所述第一报 文进入第二队列中等待调度。
在本申请实施例中,所述第一队列和/或所述第二队列第二预设条件可以有多种情况,下 面将分别介绍。
第一种情况,所述第一队列满足第二预设条件,即第一队列中当前存在的等待调度的报 文计数大于第四阈值。其中,所述第四阈值可以大于或者等于第一阈值。
第二种情况,所述第二队列满足第二预设条件,即第二队列中当前存在的等待调度的报 文计数大于第五阈值。其中,所述第五阈值可以大于或者等于第二阈值。
第三种情况,所述第一队列和所述第二队列满足第二预设条件,即所述第二队列和所述 第一队列中当前存在的等待调度的报文计数之和大于第六阈值。其中,所述第六阈值可大于 或者等于第三阈值。
通过以上描述可知,在本申请实施例中,节点中可以包括第一队列和第二队列,节点获 取第一报文。若该第一报文所属的数据流被标记为隔离流,节点可以根据第一队列和/或第二 队列的不同情况,控制所述第一报文进入第一队列还是第二队列。比如,当第一队列和/或第 二队列满足第一预设条件时,节点控制第一报文进入第一队列。当第一队列和/或第二队列满 足第二预设条件时,节点控制第一报文进入第二队列。通过这种方式,节点可以灵活的控制 被标记为隔离流的数据流的报文是进入第一队列还是第二队列。
在图5所示的实施例中,节点通过流表确定第一报文所属的数据流被标记为隔离流或者 非隔离流。下面介绍另一个实施例,在该实施例中,介绍节点如何更新流表。
请参见图9,本发明一实施例提供一种流表更新方法,该方法的流程描述如下。
S901:节点获取第一报文。
S902:若所述第一报文所属的数据流被标记为隔离流,节点控制第一报文进入第一队列 中等待调度。
在该实施例中,若一个报文所属的数据流进入第二队列后,若第二队列当前存在的报文 计数超过第二队列的队列切换阈值,那么该数据流被标记为隔离流,即该数据流的后续报文 进入第一队列中。(应理解,在该实施例中,第一队列即图5所示的实施例中的第二队列, 第二队列即图5所示的实施例中的第一队列)。
S903:节点在流表中增加所述数据流的第一报文计数,其中,第一报文计数用于指示在 第一报文进入第一队列之前,存在于第一队列中的属于数据流的报文的总量。
S904:当所述数据流的一个报文从第一队列中出队后,节点减少第一报文计数。
在本申请实施例中,节点可以统计第一队列或第二队列中当前存在的报文计数。比如, 节点可以在前述的流表(比如图6或图8所示的流表)中增加一项报文计数(比如,每个数 据流在第一队列或者第二队列中的报文计数)。节点可以只统计第一队列中当前存在的报文 计数,也可以只记录第二队列中当前存在的报文计数,还可以分别统计第一队列和第二队列 中当前存在的报文计数。
第一种情况,节点只统计第一队列中当前存在的报文计数,即节点只统计被标记为隔离 流的数据流的报文计数。请参见图10,本申请实施例提供的一种可能的流表的示意图。如图 8所示,流表中包括数据流识别信息和对应的报文计数。
节点在统计第一队列中当前存在的报文计数时,可以在第一队列中有报文入队、出队时 分别统计。比如,当一个数据流的一个报文进入第一队列时,节点可以确定所述一个数据流 的第一数据流识别信息,然后在图8所示的流表中查询与所述第一数据流识别信息对应的第 一报文计数。比如,所述一个数据流的数据流识别信息为“数据流识别信息1”,那么节点 增加与“数据流识别信息1”对应的第一报文计数。再比如,当一个数据流的一个报文从第 一队列出队后,节点确定所述一个数据流的第一数据流识别信息,然后在图10所示的流表中 查询与所述第一数据流识别信息对应的第一报文计数。比如,所述一个数据流的数据流识别 信息为“数据流识别信息1”,那么节点减少与“数据流识别信息1”对应的第一报文计数。
在第一种情况中,由于流表中只记录第一队列中当前存在的报文计数,所以为了节省资 源,该流表中可以无需增加第一队列的队列标识。当然,在实际应用中,在该流表中也可以 增加第一队列的队列标识,本申请实施例对此不作限定。
第二种情况,节点分别统计第一队列和第二队列中当前存在的报文计数。
图11示出了本申请实施例提供的一种可能的流表的示意图。如图11所示,流表中包括 队列标识、数据流识别信息、隔离标识和报文计数。其中,第一队列的队列标识为队列1, 第二队列的队列标识为队列2。第一队列中包括数据流1和数据流2,隔离标识为1指示数据 流1和数据流2为隔离流。
当一个报文进入第一队列时,如果图11所示的流表中存在所述一个报文所属的数据流的 识别信息,节点增加与该数据流识别信息对应的报文计数。如果图11所示的流表中不存在所 述一个报文所属的数据流的识别信息,节点可以增加该数据流的识别信息,并添加与该数据 流识别信息对应的报文计数。当一个报文从第一队列出队时,节点减少所述一个报文所属的 数据流的报文计数。同样的,对于第二队列也是如此。
在本申请实施例中,报文计数可以是报文个数,也可以是报文所占的字节数,还可以是 其它形式,本申请实施例不作限定。以报文计数是报文个数为例,一个报文进入第一队列后, 节点将报文计数加一,一个报文从第一队列出队后,节点将报文计数减一。以报文计数是报 文所占的字节数为例,一个报文进入第一队列后,节点将报文计数增加所述报文所占的字节 数,一个报文从第一队列中出队后,节点将报文计数减少所述报文所占的字节数。
第三种情况,节点只统计第二队列中当前存在的报文计数,即节点只统计非隔离流的数 据流的报文计数。类似于第一种情况,为了说明书简洁,在此不多赘述。
当一个队列中的某个数据流的所有报文全部出队后,即该数据流的报文计数为零,节点 可以在流表中删除该数据流的相关信息。
如果流表为图10中所示的流表,当数据流识别信息为“数据流识别信息1”的报文全部 从第二队列中出队后,即与该数据流识别信息1对应的报文计数为0。节点可以在该流表中 删除该数据流的相关信息,比如删除该流表中的第一行。由前述内容可知,数据流识别信息 存在于图10所示的流表中的数据流即为隔离流,数据流识别信息不存在于图10所示的流表 中的数据流即为非隔离流。因此,当第一队列中某个数据流的报文全部出队后,节点将该数 据流的信息从流表中删除,即该数据流由隔离流变为非隔离流。也就是说,该数据流的后续 报文进入第二队列中,即完成该数据流的状态恢复过程(由隔离流变为非隔离流)。
举一个例子,请参见图12中的(a),数据流2的报文(图中非阴影方格)(报文0-3)进入第二队列后。数据流1的报文(图中阴影方格)(报文0-1)进入第二队列中,当数据流1的报文1进入第二队列后,第二队列当前存在的报文计数超过第二队列的队列切换阈值(队列切换阈值为5)。节点在流表中添加数据流1的识别信息以及报文计数(数据流1被标记 为隔离流)。比如,数据流1的后续报文(比如报文2-3)进入第一队列中。节点在流表中添 加数据流1的报文计数,即流表中数据流识别信息1对应的报文计数为2(报文2+报文3)。
此时,数据流2的报文4进入第二队列中,第二队列中当前存在的报文仍然超过队列切 换阈值。因此,节点在流表中添加数据流2的数据流识别信息2以及报文计数,即数据流2 也被标记为隔离流,数据流2的后续报文进入第一队列中。如图12中的(b),数据流2的后续报文(报文5)进入第一队列中。节点在流表中添加数据流2的报文计数,数值为1(报 文5)。当第一队列中的数据流1的报文2从第一队列中出队后,节点在流表中将数据流识 别信息1对应的报文计数减一。
如图12中的(c),当第一队列中的数据流1的所有报文全部出队后,节点在流表中删 除数据流识别信息1的相关信息,即数据流1由隔离流变为非隔离流。之后,数据流1的后续报文(比如报文4)进入第二队列中。
如图12中的(d),当第一队列中的数据流2的所有报文全部出队后,节点在流表中删 除数据流2的相关信息,即数据流2由隔离流变为非隔离流。之后,数据流2的后续报文(比 如报文6)进入第二队列中。
现有技术中,只有在第一队列中所有报文全部出队,即第一队列为空时,节点才会将流 表中的所有信息删除。即从图12中的(a)-(c)的过程中,即便数据流1的报文(报文2-3) 已经从第一队列中出队,但是因为第一队列中尚存有数据流2的报文5,所以节点不会删除 流表中数据流1的信息,即数据流1仍然被标记为隔离流,那么数据流1的后续报文(比如报文4)仍然进入第一队列中。由此可见,现有技术中,第一队列中所有报文清空所需要的时间可能较长,如果某个数据流的报文早已经从第一队列中出队,但是由于第一队列不为空, 所以流表中一直存在该数据流的信息。现有技术的方式中,由于第一队列中所有报文清空所 需要的时间可能较长,一方面该数据流无法尽早恢复成非隔离流,另一方面,流表中一直存 在该数据流的信息,占用的资源(比如存储硬件资源)较多,浪费资源。
由图12中的(a)-(c)可知,在本申请实施例中,节点实时的更新流表中的每个数据流的报文计数。当第一队列中的某个数据流的报文全部出队后,流表中删除该数据流的相关 信息,即该数据流由隔离流恢复为非隔离流,即该数据流的后续报文进入第二队列中。
在这个例子中,如果流表为图11所示的流表,当数据流识别信息为“识别信息1”的报 文全部从第一队列中出队后,即与该数据流识别信息1对应的报文计数为0。节点可以在将 流表与“识别信息1”对应的隔离标识由1修改为0,即该数据流由隔离流恢复为非隔离流, 即该数据流的后续报文可以进入第二队列中。
以图10所示的流表为例,再举一个例子,请参见图13中的(a),数据流2的报文(图中非阴影方格)(报文0-3)进入第二队列后,数据流1的报文(图中阴影方格)(报文0) 进入第二队列中。当数据流1的报文0进入第二队列后,第二队列当前存在的报文计数等于 第二队列的队列切换阈值(队列切换阈值为5)。则后续进入第二队列的报文所属的数据流 的数据流识别信息以及报文计数将被添加在流表中,即后续进入第二队列的报文所属的数据流为隔离流。比如,数据流1的后续报文(比如报文1-2)进入第一队列,节点在流表中添加数据流1的数据流识别信息1以及对应的报文计数,即流表中数据流识别信息1对应的报文计数为2(报文1+报文2)。再比如,数据流2的后续报文(比如报文4)进入第一队列,节 点在流表中添加数据流2的数据流识别信息和对应的报文计数,即流表中数据流识别信息2 对应的报文计数为1(报文4)。
如图13中的(b),第一队列中的数据流1的报文1出队,节点将流表中数据流识别信息1对应的报文计数修改为1(报文2)。
如图13中的(c),第一队列中的数据流1的报文全部出队,节点将流表中数据流1的相关信息删除,即删除数据流1的数据流识别信息1以及报文计数,即数据流1由隔离流恢复为非隔离流。
如图13中的(d),第一队列中数据流2的报文全部出队,节点将流表中数据流2的相关信息删除,即删除数据流2的数据流识别信息2以及报文计数,即数据流2由隔离流恢复为非隔离流。数据流1的后续报文(比如报文3)进入第二队列,数据流2的后续报文(比 如报文5)进入第二队列。
以图11所示的流表为例,再举一个例子,如图14中的(a)所示,数据流2的报文(图中的非阴影格子)(报文0-3)进入第二队列,之后,数据流1的报文(图中的阴影格子)(报 文0)进入第二队列。此时,第二队列当前存在的报文计数达到队列切换阈值(队列切换阈 值为5),即后续进入第二队列的报文所属的数据流需要被标记为隔离流,所以(a)中的流 表中数据流1和数据流2的隔离标识为1(隔离流),所以数据流1或数据流2的后续报文 进入第一队列中。
如图14中的(b)所示,数据流1的后续报文(报文1-2)进入第一队列,之后,数据流2的后续报文(报文4)进入第一队列。因此,在(b)的流表中,第一队列中,数据流1的 报文计数为2(报文1-2),数据流2的报文计数为1(报文1)。
如图14中的(c)所示,第一队列中数据流1的报文全部出队,所以在(c)的流表中,第一队列中数据流1的报文计数为0,即数据流1由隔离流恢复为非隔离流,所以流表中, 数据流1的隔离标识由1(隔离流)修改为0(非隔离流)。
如图14中的(d)所示,第一队列中数据流2的报文全部出队,所以在(d)的流表中,第一队列中数据流2的报文计数为0,即数据流2由隔离流恢复为非隔离流,所以流表中, 数据流2的隔离标识由1(隔离流)修改为0(非隔离流)。因此,数据流1的后续报文(报 文3)进入第二队列,数据流2的后续报文(报文5)进入第二队列。
通过以上描述可知,在本申请实施例中,节点可以实时的更新流表,当一个数据流的报 文出队后,减少该数据流的报文计数,当一个数据流的报文入队时,增加该数据流的报文计 数。当第一队列中的某个数据流的报文全部出队后,可以删除该流表中的所述数据流的信息, 一方面有助于节省硬件资源,另一方面及时的将所述数据流由隔离流恢复到非隔离流。
本申请的各个实施方式可以任意进行组合,以实现不同的技术效果。
上述本申请提供的实施例中,从节点作为执行主体的角度对本申请实施例提供的方法进 行了介绍。为了实现上述本申请实施例提供的方法中的各功能,节点可以包括硬件结构和/ 或软件模块,以硬件结构、软件模块、或硬件结构加软件模块的形式来实现上述各功能。上 述各功能中的某个功能以硬件结构、软件模块、还是硬件结构加软件模块的方式来执行,取 决于技术方案的特定应用和设计约束条件。
下面结合附图介绍本发明实施例提供的设备。
图15示出了一种节点设备1500的结构示意图。该节点设备1500可以实现上文中涉及的 节点设备的功能。该节点设备1500可以包括获取单元1501和处理单元1502。其中,获取单 元1501可以用于执行图5所示的实施例中的S501,和/或用于支持本文所描述的技术的其它 过程。处理单元1502可以用于执行图5所示的实施例中的S502-S504,和/或用于支持本文 所描述的技术的其它过程。其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引 到对应功能模块的功能描述,在此不再赘述。
图16示出了一种节点设备1600的结构示意图。该节点设备1600可以实现上文中涉及的 节点设备的功能。该节点设备1600可以包括获取单元1601和处理单元1602。其中,获取单 元1601可以用于执行图9所示的实施例中的S901,和/或用于支持本文所描述的技术的其它 过程。处理单元1602可以用于执行图9所示的实施例中的S902-S904,和/或用于支持本文 所描述的技术的其它过程。其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引 到对应功能模块的功能描述,在此不再赘述。
在本发明实施例中,节点设备1500~节点设备1600对应各个功能划分各个功能模块的形 式来呈现,或者,可以采用集成的方式划分各个功能模块的形式来呈现。这里的“模块”或“单 元”可以指特定应用集成电路(application-specific integrated circuit,ASIC),执行一个或多个 软件或固件程序的处理器和存储器,集成逻辑电路,和/或其他可以提供上述功能的器件。
在一个简单的实施例中,本领域的技术人员可以想到,还可以将节点设备1500~节点设 备1600中的任意一个节点设备通过如图17所示的结构实现。
如图17所示,节点设备1700可以包括:存储器1701、处理器1702、系统总线1703以及通信接口1704。其中,处理器1702、存储器1701以及通信接口1704通过系统总线1703 连接。存储器1701用于存储计算机执行指令,当节点设备1700运行时,处理器1702执行存 储器1701存储的计算机执行指令,以使节点设备1700执行图5所示的实施例或图9所示的 实施例提供的方法步骤。具体的方法可参考上文及附图中的相关描述,此处不再赘述。其中,通信接口1704可以是收发器,或者是独立的接收器和发送器。
可选的,节点设备1700可以是现场可编程门阵列(field-programmable gatearray,FPGA), 专用集成芯片(application specific integrated circuit,ASIC),系统芯片(system on chip,SoC), 中央处理器(central processor unit,CPU),网络处理器(network processor,NP),数字信 号处理电路(digital signal processor,DSP),微控制器(micro controller unit,MCU),还可 以采用可编程控制器(programmable logicdevice,PLD)或其他集成芯片。或者,节点设备 1700也可以是单独的网元,例如为网络设备或者终端设备。
本发明实施例还提供一种计算机存储介质,该存储介质可以包括存储器,该存储器可存 储有程序,该程序执行时包括如前的图5所示的方法实施例中记载的节点设备所执行的全部 步骤。
本发明实施例还提供一种计算机存储介质,该存储介质可以包括存储器,该存储器可存 储有程序,该程序执行时包括如前的图9所示的方法实施例中记载的节点设备所执行的全部 步骤。
本发明实施例还提供一种包含计算机程序产品,当所述计算机程序产品在节点设备上运 行时,使得所述节点设备执行包括如前的图5所示的方法实施例中记载的节点设备所执行的全 部步骤。
本发明实施例还提供一种包含计算机程序产品,当所述计算机程序产品在节点设备上运 行时,使得所述节点设备执行包括如前的图9所示的方法实施例中记载的节点设备所执行的全 部步骤。
由于本发明实施例提供的节点设备1500~节点设备1700可用于执行上述的报文控制方法, 因此其所能获得的技术效果可参考上述方法实施例,在此不再赘述。
本领域内的技术人员应明白,本发明实施例可提供为方法、系统、或计算机程序产品。 因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实 施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计 算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程 序产品的形式。
本发明实施例是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流 程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一 流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机 程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以 产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实 现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工 作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制 造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指 定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或 其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编 程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多 个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本申请的精 神和范围。这样,倘若本发明实施例的这些修改和变型属于本申请权利要求及其等同技术的 范围之内,则本申请也意图包含这些改动和变型在内。

Claims (22)

1.一种报文控制方法,其特征在于,所述方法应用于节点设备,所述节点设备包括第一队列和第二队列;所述方法包括:
所述节点设备获取第一报文,所述第一报文属于第一数据流,所述第一报文进入第一队列中等待调度;
所述节点设备获取第二报文,所述第二报文属于第二数据流,所述第二报文进入所述第一队列中等待调度;
其中,当所述第一队列满足第一预设条件时,所述节点设备获取所述第二数据流的第三报文,所述第三报文进入第二队列等待调度;
所述节点设备获取所述第一数据流的第四报文,所述第四报文进入所述第二队列等待调度;
在流表中记录所述第二队列中所述第一数据流和所述第二数据流的报文数量,随着所述第一数据流和所述第二数据流的报文从所述第二队列的移出,所述流表中所述第一数据流和所述第二数据流的报文数量变化;在所述流表中所述第二数据流的报文数量变化为0的情况下,所述节点设备接收到所述第二数据流的第五报文,所述第五报文进入所述第一队列中等待调度;
在所述流表中所述第一数据流的报文数量大于0的情况下,所述节点设备接收到所述第一数据流的第六报文,所述第六报文进入所述第二队列中等待调度。
2.如权利要求1所述的方法,其特征在于,所述第一队列和/或所述第二队列满足第二预设条件,包括:所述第一队列和/或所述第二队列满足如下条件中的一种或多种:
所述第一队列中当前存在的等待调度的报文计数小于等于第一阈值;
所述第一队列中当前存在的等待调度的报文计数小于第一阈值;
所述第二队列中当前存在的等待调度的报文计数小于等于第二阈值;
所述第二队列中当前存在的等待调度的报文计数小于第二阈值;
所述第二队列和所述第一队列中当前存在的等待调度的报文计数之和小于等于第三阈值;
所述第二队列和所述第一队列中当前存在的等待调度的报文计数之和小于第三阈值。
3.如权利要求2所述的方法,其特征在于,所述第一阈值和/或所述第二阈值和/或所述第三阈值小于所述第一队列的队列切换阈值;
其中,若所述第一队列当前存在的等待调度的报文计数超过所述第一队列的队列切换阈值时,所述第一队列的后续报文进入所述第二队列中。
4.如权利要求1-3任一所述的方法,其特征在于,所述节点设备获取所述数据流的第二报文之后,还包括:
所述节点设备在流表中查询是否存在所述数据流的数据流识别信息;
若所述流表中存在所述数据流的数据流识别信息,所述节点设备确定所述数据流被标记为隔离流。
5.如权利要求1-3任一所述的方法,其特征在于,所述节点设备获取所述数据流的第二报文之后,还包括:
若所述节点设备在流表中查询到所述数据流的隔离标识为第一隔离标识,所述节点设备确定所述数据流被标记为隔离流。
6.如权利要求4所述的方法,其特征在于,所述流表中还包括所述数据流的报文计数,在所述节点设备控制所述第二报文进入所述第一队列之后,所述方法还包括:
所述节点设备在所述流表中增加所述报文计数;
当所述第一队列中的所述数据流的一个报文出队后,所述节点设备减少所述报文计数。
7.如权利要求5所述的方法,其特征在于,所述流表中还包括所述数据流的报文计数,在所述节点设备控制所述第二报文进入所述第一队列之后,所述方法还包括:
所述节点设备在所述流表中增加所述报文计数;
当所述第一队列中的所述数据流的一个报文出队后,所述节点设备减少所述报文计数。
8.如权利要求6所述的方法,其特征在于,所述方法还包括:
当所述流表中所述数据流的报文计数减少为零时,所述节点设备将所述数据流的数据流识别信息从所述流表中清除。
9.如权利要求7所述的方法,其特征在于,所述方法还包括:
当所述流表中所述数据流的报文计数减少为零时,所述节点设备将所述数据流的第一隔离标识修改为第二隔离标识,所述第二隔离标识用于指示所述数据流为非隔离流。
10.如权利要求1-9任一所述的方法,其特征在于,所述方法还包括:
所述节点设备确定所述第一报文所属的数据流被标记为非隔离流;
所述节点设备控制所述第一报文进入所述第一队列中等待调度。
11.一种节点设备,其特征在于,所述节点设备包括第一队列和第二队列;所述节点设备包括:
获取单元,用于获取第一报文,所述第一报文属于第一数据流,所述第一报文进入第一队列中等待调度;
所述获取单元还用于,获取第二报文,所述第二报文属于第二数据流,所述第二报文进入所述第一队列中等待调度;
其中,当所述第一队列满足第一预设条件时,所述获取单元,还用于获取所述第二数据流的第三报文,所述第三报文进入第二队列等待调度;
所述获取单元,还用于获取所述第一数据流的第四报文,所述第四报文进入所述第二队列等待调度;
处理单元,还用于在流表中记录所述第二队列中所述第一数据流和所述第二数据流的报文数量,随着所述第一数据流和所述第二数据流的报文从所述第二队列的移出,所述流表中所述第一数据流和所述第二数据流的报文数量变化;
所述获取单元,还用于,在所述流表中所述第二数据流的报文数量变化为0的情况下,接收到所述第二数据流的第五报文,所述第五报文进入所述第一队列中等待调度;在所述流表中所述第一数据流的报文数量大于0的情况下,接收到所述第一数据流的第六报文,所述第六报文进入所述第二队列中等待调度。
12.如权利要求11所述的节点设备,其特征在于,所述第一队列和/或所述第二队列满足第一预设条件,包括:所述第一队列和/或所述第二队列满足如下条件中的一种或多种:
所述第一队列中当前存在的等待调度的报文计数小于等于第一阈值;
所述第一队列中当前存在的等待调度的报文计数小于第一阈值;
所述第二队列中当前存在的等待调度的报文计数小于等于第二阈值;
所述第二队列中当前存在的等待调度的报文计数小于第二阈值;
所述第二队列和所述第一队列中当前存在的等待调度的报文计数之和小于等于第三阈值;
所述第二队列和所述第一队列中当前存在的等待调度的报文计数之和小于第三阈值。
13.如权利要求12所述的节点设备,其特征在于,所述第一阈值和/或所述第二阈值和/或所述第三阈值小于所述第一队列的队列切换阈值;
其中,若所述第一队列当前存在的等待调度的报文计数超过所述第一队列的队列切换阈值时,所述第一队列的后续报文进入所述第二队列中。
14.如权利要求11-13任一所述的节点设备,其特征在于,所述处理单元具体用于:
在流表中查询是否存在所述数据流的数据流识别信息;
若所述流表中存在所述数据流的数据流识别信息,确定所述数据流被标记为隔离流。
15.如权利要求11-13任一所述的节点设备,其特征在于,所述处理单元具体用于:
若所述节点设备在流表中查询到所述数据流的隔离标识为第一隔离标识,确定所述数据流被标记为隔离流。
16.如权利要求14所述的节点设备,其特征在于,所述流表中还包括所述数据流的报文计数,在所述节点设备控制所述第二报文进入所述第一队列之后,所述处理单元还用于:
在所述流表中增加所述报文计数;
当所述第一队列中的所述数据流的一个报文出队后,减少所述报文计数。
17.如权利要求15所述的节点设备,其特征在于,所述流表中还包括所述数据流的报文计数,在所述节点设备控制所述第二报文进入所述第一队列之后,所述处理单元还用于:
在所述流表中增加所述报文计数;
当所述第一队列中的所述数据流的一个报文出队后,减少所述报文计数。
18.如权利要求16所述的节点设备,其特征在于,所述处理单元还用于:
当所述流表中所述数据流的报文计数减少为零时,将所述数据流的数据流识别信息从所述流表中清除。
19.如权利要求17所述的节点设备,其特征在于,所述处理单元还用于:
当所述流表中所述数据流的报文计数减少为零时,将所述数据流的隔离标识修改为第二隔离标识,所述第二隔离标识用于指示所述数据流为非隔离流。
20.如权利要求11-19任一所述的节点设备,其特征在于,所述处理单元还用于:
确定所述第一报文所属的数据流被标记为非隔离流;
控制所述第一报文进入所述第一队列中等待调度。
21.一种节点设备,其特征在于,所述节点设备包括:处理器和存储器;
所述存储器用于存储一个或多个计算机程序;当所述存储器存储的一个或多个计算机程序被所述处理器执行时,使得所述节点设备执行如权利要求1至10任一所述的方法。
22.一种计算机存储介质,其特征在于,所述计算机存储介质包括计算机程序,当计算机程序在节点设备上运行时,使得所述节点设备执行如权利要求1至10任一所述的方法。
CN201810745523.7A 2018-07-09 2018-07-09 一种报文控制方法、流表更新方法和节点设备 Active CN110708253B (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN201810745523.7A CN110708253B (zh) 2018-07-09 2018-07-09 一种报文控制方法、流表更新方法和节点设备
CN202310485294.0A CN116614442A (zh) 2018-07-09 2018-07-09 一种报文控制方法、流表更新方法和节点设备
EP19833319.7A EP3806410A4 (en) 2018-07-09 2019-07-04 MESSAGE CONTROL PROCEDURE, FLUX TABLE UPDATE PROCESS AND NODE DEVICE
PCT/CN2019/094745 WO2020011101A1 (zh) 2018-07-09 2019-07-04 一种报文控制方法、流表更新方法和节点设备
US17/144,816 US11516145B2 (en) 2018-07-09 2021-01-08 Packet control method, flow table update method, and node device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810745523.7A CN110708253B (zh) 2018-07-09 2018-07-09 一种报文控制方法、流表更新方法和节点设备

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202310485294.0A Division CN116614442A (zh) 2018-07-09 2018-07-09 一种报文控制方法、流表更新方法和节点设备

Publications (2)

Publication Number Publication Date
CN110708253A CN110708253A (zh) 2020-01-17
CN110708253B true CN110708253B (zh) 2023-05-12

Family

ID=69142846

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202310485294.0A Pending CN116614442A (zh) 2018-07-09 2018-07-09 一种报文控制方法、流表更新方法和节点设备
CN201810745523.7A Active CN110708253B (zh) 2018-07-09 2018-07-09 一种报文控制方法、流表更新方法和节点设备

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202310485294.0A Pending CN116614442A (zh) 2018-07-09 2018-07-09 一种报文控制方法、流表更新方法和节点设备

Country Status (4)

Country Link
US (1) US11516145B2 (zh)
EP (1) EP3806410A4 (zh)
CN (2) CN116614442A (zh)
WO (1) WO2020011101A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114760237B (zh) * 2022-03-11 2024-04-19 深圳市风云实业有限公司 一种基于tcam表的多级流表构建方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1056245A2 (en) * 1999-05-27 2000-11-29 Newbridge Networks Corporation Buffering system employing per traffic flow accounting congestion control
CN1980189A (zh) * 2005-11-08 2007-06-13 阿尔卡特公司 通信业务隔离及控制
CN103023806A (zh) * 2012-12-18 2013-04-03 武汉烽火网络有限责任公司 共享缓存式以太网交换机的缓存资源控制方法及装置
CN103051560A (zh) * 2013-01-07 2013-04-17 浙江工商大学 一种转发和控制分离系统中拥塞控制的实现方法
EP2884707A1 (en) * 2013-12-16 2015-06-17 Alcatel Lucent Method for controlling buffering of packets in a communcation network

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7292589B2 (en) * 2002-08-13 2007-11-06 Narendra Kumar Dhara Flow based dynamic load balancing for cost effective switching systems
US8392991B2 (en) * 2007-05-25 2013-03-05 New Jersey Institute Of Technology Proactive test-based differentiation method and system to mitigate low rate DoS attacks
CN102377652A (zh) * 2010-08-17 2012-03-14 盛科网络(苏州)有限公司 重要协议报文芯片保护方法
CN102223263B (zh) * 2011-06-09 2016-12-28 中兴通讯股份有限公司 基于fpga的丢包率监测方法及装置
CN103338157B (zh) * 2013-07-01 2016-04-06 杭州华三通信技术有限公司 一种多核系统核间数据报文缓存方法及设备
CN104348750B (zh) * 2013-07-31 2019-07-26 中兴通讯股份有限公司 OpenFlow网络中QoS的实现方法及装置
US9762497B2 (en) * 2013-11-26 2017-09-12 Avago Technologies General Ip (Singapore) Pte. Ltd. System, method and apparatus for network congestion management and network resource isolation
CN104301185A (zh) * 2014-11-06 2015-01-21 盛科网络(苏州)有限公司 报文发送速率检测方法及装置
CN106708607B (zh) * 2015-11-12 2020-12-22 创新先进技术有限公司 消息队列的拥塞控制方法和装置
CN106788911A (zh) * 2015-11-25 2017-05-31 华为技术有限公司 一种报文重传的方法和装置
CN106027416B (zh) * 2016-05-23 2019-03-01 北京邮电大学 一种基于时空结合的数据中心网络流量调度方法及系统
JP2018064239A (ja) * 2016-10-14 2018-04-19 富士通株式会社 通信装置及び宛先要求方法
CN108259383B (zh) * 2016-12-29 2021-10-01 北京华为数字技术有限公司 一种数据的传输方法和网络设备
US10862617B2 (en) * 2017-05-30 2020-12-08 Marvell Asia Pte, Ltd. Flowlet scheduler for multicore network processors
US10855606B2 (en) * 2018-03-07 2020-12-01 Fujitsu Limited Information processing apparatus and information processing system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1056245A2 (en) * 1999-05-27 2000-11-29 Newbridge Networks Corporation Buffering system employing per traffic flow accounting congestion control
CN1980189A (zh) * 2005-11-08 2007-06-13 阿尔卡特公司 通信业务隔离及控制
CN103023806A (zh) * 2012-12-18 2013-04-03 武汉烽火网络有限责任公司 共享缓存式以太网交换机的缓存资源控制方法及装置
CN103051560A (zh) * 2013-01-07 2013-04-17 浙江工商大学 一种转发和控制分离系统中拥塞控制的实现方法
EP2884707A1 (en) * 2013-12-16 2015-06-17 Alcatel Lucent Method for controlling buffering of packets in a communcation network

Also Published As

Publication number Publication date
US11516145B2 (en) 2022-11-29
EP3806410A1 (en) 2021-04-14
US20210135999A1 (en) 2021-05-06
WO2020011101A1 (zh) 2020-01-16
EP3806410A4 (en) 2021-07-28
CN110708253A (zh) 2020-01-17
CN116614442A (zh) 2023-08-18

Similar Documents

Publication Publication Date Title
CN109412964B (zh) 报文控制方法及网络装置
CN109088829B (zh) 一种数据调度方法、装置、存储介质及设备
WO2021036962A1 (zh) 一种业务报文传输的方法及设备
EP3979577B1 (en) Queue congestion control method, device and storage medium
EP4152703A1 (en) Network control method and device
JP7046979B2 (ja) データ伝送方法、装置、システム、およびデバイス
CN110944358A (zh) 数据传输方法和设备
Zukerman et al. A protocol for eraser node implementation within the DQDB framework
CN110708253B (zh) 一种报文控制方法、流表更新方法和节点设备
CN112005528B (zh) 一种数据交换方法、数据交换节点及数据中心网络
CN110868359A (zh) 一种网络拥塞控制方法
CN110177051A (zh) 基于流控技术的数据中心拥塞控制方法
CN111740922B (zh) 数据传输方法、装置、电子设备及介质
US11463370B2 (en) Scalable deterministic services in packet networks
WO2021101640A1 (en) Method and apparatus of packet wash for in-time packet delivery
CN111434079B (zh) 一种数据通信方法及装置
Rodríguez et al. An approach for receiver-side awareness control in vehicular ad hoc networks
CN111756557B (zh) 一种数据传输方法及装置
CN111711994B (zh) 一种多通道LoRaWAN网关下行调度方法
US20030091067A1 (en) Computing system and method to select data packet
CN114221912A (zh) 一种针对非周期时间触发业务流的时间敏感网络接入方法
CN114448903A (zh) 一种报文处理方法、装置和通信设备
CN111245744A (zh) 一种报文传输控制方法及装置
US9071460B1 (en) Methods and apparatus for mapping data packets to a multi-packets cell
CN113810305B (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
GR01 Patent grant
GR01 Patent grant