CN114979002A - Flow control method and flow control device - Google Patents

Flow control method and flow control device Download PDF

Info

Publication number
CN114979002A
CN114979002A CN202110201018.8A CN202110201018A CN114979002A CN 114979002 A CN114979002 A CN 114979002A CN 202110201018 A CN202110201018 A CN 202110201018A CN 114979002 A CN114979002 A CN 114979002A
Authority
CN
China
Prior art keywords
node
message
source node
packet
service
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.)
Granted
Application number
CN202110201018.8A
Other languages
Chinese (zh)
Other versions
CN114979002B (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 CN202110201018.8A priority Critical patent/CN114979002B/en
Priority claimed from CN202110201018.8A external-priority patent/CN114979002B/en
Publication of CN114979002A publication Critical patent/CN114979002A/en
Application granted granted Critical
Publication of CN114979002B publication Critical patent/CN114979002B/en
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/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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

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

Abstract

The embodiment of the application provides a flow control method, which can be executed by a source node. The source node receives a first message from the congestion node, wherein the first message is an ECN flow control message which compresses explicit congestion notification ECN information of a plurality of data flows sent by the source node. And the source node determines the rate of the source node for sending the service message according to the first message. As can be seen, the source node receives the compressed flow control packet directly and reversely sent by the congested node, so as to instruct the source node to adjust the rate of sending the service packet. By doing so, not only is the fast response of the source node realized, which is beneficial to reducing the time of the ECN flow, but also the bandwidth resource occupied by the flow control message is reduced.

Description

Flow control method and flow control device
Technical Field
The present application relates to the field of communications technologies, and in particular, to a flow control method and a flow control device.
Background
Explicit Congestion Notification (ECN) techniques allow the source of a packet to be notified that the packet is congested without dropping the packet. In one example, the current ECN flow includes: if congestion occurs in a congested node (CP), the CP performs traffic marking on each service flow in a service packet, and sends the marked service packet to a next node until a destination node. And the sink node sends the ECN message to the source node according to the marked service message. After receiving the ECN message, the source node runs a flow control algorithm, and adjusts the speed of sending the service message to eliminate congestion. This implementation may result in an ECN flow that is too long and the source node may not respond in time.
In another example, each CP runs a flow control algorithm, obtains a rate allowed by each service flow at a time specified by the node to send a service packet, and sends the rate allowed by the node to send the service packet to the destination node. The sink node collects the allowed rates of all the forwarding paths, compares and determines the minimum rate, and sends the minimum rate to the source node through the control frame. And the source node adjusts the rate of the source node for sending the service message according to the received minimum rate so as to eliminate congestion. This implementation will result in an ECN message being generated for each traffic flow within a specified time, which will consume a large amount of bandwidth resources.
Disclosure of Invention
The embodiment of the application provides a flow control method and a flow control device, and the flow control method is beneficial to reducing the time of an ECN flow and reducing the bandwidth resources occupied by the ECN flow.
In a first aspect, an embodiment of the present application provides a flow control method, where a source node receives a first packet from a congested node. The first message is a flow control message that compresses ECN information of a plurality of data flows sent by the source node. And the source node determines the rate of the source node for sending the service message according to the first message.
As can be seen, the source node receives the compressed flow control packet directly and reversely sent by the congested node, so as to instruct the source node to perform traffic rate adjustment on multiple data flows. By doing so, not only is the fast response of the source node realized, which is beneficial to reducing the time of the ECN flow, but also the bandwidth resource occupied by the flow control message is reduced.
In one possible design, the source node receives a second packet from the sink node. The second message is a mixed service message carrying ECN information and a service payload sent by the sink node to the source node. And the source node determines the rate of the source node for sending the service message according to the second message. Therefore, the source node receives the flow control information carried in the service flow to indicate the source node to adjust the speed of sending the service message, which is beneficial to reducing the bandwidth resource additionally occupied by the flow control message.
In one possible design, the first packet includes an address of the source node, first identification information, a first rate, and identification information of the plurality of sink nodes. The first identification information is used for indicating that the first message is a flow control message compressing ECN information of a plurality of data flows sent by the source node. The first rate is used for indicating the speed limit rate of the source node sending the service message determined by the congestion node. The identification information of the plurality of sink nodes is used for indicating the sink nodes of the plurality of data streams sent by the source node.
In one possible design, the second packet includes an address of the source node, second identification information, a second rate, and a traffic payload. The second identification information is used for indicating that the second message is a mixed service message carrying ECN information and a service payload which are sent to the source node by the sink node. The second rate is used for indicating the speed limit rate of the service message sent by the source node determined by the sink node. The traffic payload is used to instruct the sink node on the data to send to the source node.
In one possible design, the first identification information is included in a first control field of the first packet. The first rate is included in a first ECN information field of the first message. The second identification information is included in a second control field of the second packet. The second rate is included in a second ECN information field of the second message.
In a possible design, a source node receives multiple first messages sent by multiple congestion nodes respectively, and determines a minimum value of first rates in the multiple first messages as a rate at which the source node sends a service message.
In one possible design, if the source node receives the first packet and the second packet, the source node adjusts the rate at which the source node sends the service packet according to the first rate in the first packet. And the source node adjusts the rate of the service message sent by the source node again according to the second rate in the second message. It can be seen that, if the source node receives both the first packet and the second packet, since the priority of the second packet is higher than that of the first packet, the source node determines that the rate of sending the service packet is the second rate in the second packet.
In a second aspect, an embodiment of the present application provides another flow control method, in which when a congestion node detects that a length of a service queue exceeds a queue threshold, the congestion node generates a first packet. The first message is a flow control message which compresses ECN information of a plurality of data flows sent by the same source node. And the congestion node sends a first message to the source node.
Therefore, when the congestion node detects that the service queue is congested, the compressed flow control message is directly sent to the source node. Therefore, the time of the ECN flow is reduced, and the bandwidth resource occupied by the flow control message is reduced.
In one possible design, when the congestion node detects that the length of the traffic queue exceeds the queue threshold, the congestion node establishes a first flow table that includes a plurality of data flows entering the traffic queue. The congestion node updates the first flow table, the updated first flow table includes one or more groups of same source data flows, and the same source data flows include multiple data flows sent by the same source node. And the congestion node generates one or more groups of first messages respectively corresponding to the same source data streams. As can be seen, multiple data flows sent by one or more source nodes may pass through a congested node, and the congested node compresses ECN information of the multiple data flows sent by the same source node into a first packet.
In one possible design, the congested node sends corresponding first packets to one or more source nodes respectively corresponding to one or more groups of source data streams.
In one possible design, the first packet includes an address of the source node, first identification information, a first rate, and identification information of the plurality of sink nodes. For a detailed description of the first packet, reference may be made to the detailed description of the first packet in the first aspect, which is not described herein again.
In a third aspect, an embodiment of the present application provides another flow control method. In the method, when the sink node detects the service congestion in a preset time period and the sink node sends a service message to the source node, the sink node generates a second message. The second message is a mixed service message carrying ECN information and a service payload sent by the sink node to the source node. And the sink node sends the second message to the source node.
Therefore, the destination node carries the flow control information when sending the service flow to the source node, which is beneficial to reducing the bandwidth resource additionally occupied by the flow control message.
In one possible design, the sink node combines ECN information and traffic payload sent by the sink node to the source node into a mixed payload. And the sink node adds a mixed header to the mixed payload to generate the second message. And the second identification information in the hybrid header is used for indicating that the second message is a hybrid service message carrying ECN information and a service payload which are sent to the source node by the sink node.
In a fourth aspect, embodiments of the present application provide a flow control device, which may be a device or a chip or a circuit disposed in the device. The flow control device comprises means and/or modules for performing the flow control method provided in the first aspect and/or any one of the possible designs of the first aspect, thereby also achieving the beneficial effects provided by the flow control method provided in the first aspect.
In a fifth aspect, embodiments of the present application provide another flow control device, which may be a device or a chip or circuit disposed in a device. The flow control device comprises means and/or modules for performing the flow control method provided in the second aspect and/or any one of the possible designs of the second aspect, thereby also achieving the beneficial effects of the flow control method provided in the second aspect.
In a sixth aspect, embodiments of the present application provide yet another flow control device. The flow control device may be a device or a chip or circuit disposed in a device. The flow control device comprises means and/or modules for performing the flow control method provided in the third aspect and/or any one of the possible designs of the third aspect. Therefore, the advantageous effects of the flow control method provided in the third aspect can also be achieved.
In a seventh aspect, an embodiment of the present application provides a flow control system. The flow control system includes the flow control device provided in the fourth aspect, the flow control device provided in the fifth aspect, and the flow control device provided in the sixth aspect.
In an eighth aspect, embodiments of the present application provide a computer-readable storage medium including a program or instructions. The program or instructions, when executed on a computer, cause the computer to perform the method of the first, second, third aspect or any of the possible implementations of the third aspect.
In a ninth aspect, embodiments of the present application provide a chip or a chip system. The chip or chip system comprises at least one processor and an interface, wherein the interface and the at least one processor are interconnected through a line. The at least one processor is configured to execute a computer program or instructions to perform the method described in any one of the first, second, third or any possible implementation of the first aspect.
Drawings
Fig. 1 is a schematic flow chart of a flow control method according to an embodiment of the present application;
fig. 2a is a schematic diagram of a scenario in which a congested node generates and sends a first packet according to an embodiment of the present application;
fig. 2b is a schematic diagram of a scenario in which multiple congestion nodes generate and send multiple first messages according to an embodiment of the present application;
fig. 3a is a schematic diagram of a scenario in which a sink node generates and sends a second packet according to an embodiment of the present application;
fig. 3b is a schematic diagram of a scenario in which a congestion node generates and sends a first packet and a sink node generates and sends a second packet according to an embodiment of the present application;
fig. 4 is a schematic flow chart of another flow control method according to an embodiment of the present disclosure;
fig. 5 is a schematic view of an application scenario of a flow control method according to an embodiment of the present application;
fig. 6 is a schematic diagram of a format of a first packet according to an embodiment of the present application;
fig. 7 is a schematic flow chart of another flow control method according to an embodiment of the present application;
fig. 8 is a schematic diagram of a format of a second packet according to an embodiment of the present application;
fig. 9 is a schematic diagram of the application of the flow control method provided in the embodiment of the present application to an OSU system;
fig. 10a is a schematic diagram of a format of a first message in an OSU system according to an embodiment of the present application;
fig. 10b is a schematic diagram of a format of a second message in an OSU system according to an embodiment of the present application;
fig. 11a is a schematic diagram of slicing a second packet and performing differential encapsulation according to an embodiment of the present application;
fig. 11b is a schematic diagram of parsing and recombining a second packet according to an embodiment of the present application;
FIG. 12 is a schematic view of a flow control device provided in accordance with an embodiment of the present application;
FIG. 13 is a schematic view of another flow control device provided in accordance with an embodiment of the present application;
FIG. 14 is a schematic view of yet another flow control device provided by an embodiment of the present application;
fig. 15 is a schematic view of another flow control device according to an embodiment of the present application.
Detailed Description
In the embodiments of the present application, words such as "exemplary" or "for example" are used to mean serving as an example, instance, or illustration. Any embodiment or design described herein as "exemplary" or "e.g.," is not necessarily to be construed as preferred or advantageous over other embodiments or designs. Rather, use of the word "exemplary" or "such as" is intended to present concepts related in a concrete fashion.
In the embodiments of the present application, the terms "second", "first" are used for descriptive purposes only and are not to be construed as indicating or implying relative importance or implicitly indicating the number of technical features indicated. Thus, a feature defined as "second" or "first" may explicitly or implicitly include one or more of that feature. In the description of the present application, "a plurality" means two or more unless otherwise specified. For example, a plurality of messages refers to two or more messages.
It is to be understood that the terminology used in the description of the various described examples herein is for the purpose of describing particular examples only and is not intended to be limiting. As used in the description of the various described examples and the appended claims, the singular forms "a," "an," and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise.
It should also be understood that the term "and/or" as used herein refers to and encompasses any and all possible combinations of one or more of the associated listed items. The term "and/or" is an associative relationship that describes an associated object, meaning that three relationships may exist, e.g., a and/or B, may mean: a exists alone, A and B exist simultaneously, and B exists alone. In addition, the character "/" in the present application generally indicates that the preceding and following related objects are in an "or" relationship.
It should also be understood that, in the embodiments of the present application, the size of the serial number of each process does not mean the execution sequence, and the execution sequence of each process should be determined by its function and inherent logic, and should not constitute any limitation to the implementation process of the embodiments of the present application.
It should be understood that determining B from a does not mean determining B from a alone, but may also be determined from a and/or other information.
It will be further understood that the terms "comprises," "comprising," "includes," and/or "including," when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
The technical solutions in the embodiments of the present application will be described below with reference to the drawings in the embodiments of the present application.
Explicit Congestion Notification (ECN) techniques allow the source end of a packet to be notified that the packet is congested without dropping the packet. In one example, the current ECN flow includes: if congestion occurs in a congested node (CP), the CP performs traffic marking on each service flow in a service packet, and sends the marked service packet to a next node until a destination node. And the sink node sends the ECN message to the source node according to the marked service message. After receiving the ECN message, the source node operates a flow control algorithm and adjusts the speed of sending the service message to eliminate congestion. This implementation may result in an ECN flow that is too long and the source node may not respond in time. In another example, each CP runs a flow control algorithm, obtains a rate allowed by each service flow at a time specified by the node to send a service packet, and sends the rate allowed by the node to send the service packet to the destination node. The sink node collects the allowed rates of all the forwarding paths, compares and determines the minimum rate, and sends the minimum rate to the source node through the control frame. And after receiving the minimum rate, the source node adjusts the rate of sending the service message by the source node according to the minimum rate to eliminate congestion. This implementation will result in an ECN message being generated for each traffic flow within a specified time, which will consume a large amount of bandwidth resources.
In order to solve the above problem, an embodiment of the present application provides a flow control method. On one hand, the flow control method is beneficial to accelerating the sending of the ECN message and reducing the time of the ECN flow; on the other hand, the flow control method is beneficial to reducing the bandwidth resource consumed by the ECN message.
The following describes in detail a flow control method provided in an embodiment of the present application.
Fig. 1 is a flow control method according to an embodiment of the present disclosure. The method is performed by a source node in a network. The source node in this embodiment may be, for example, a sending device in an Optical Transport Network (OTN); also for example, the Optical Service Unit (OSU) may be a Transparent OTN (TOTN) device in an OSU network scenario; but also for example a routing device in an IP network. Correspondingly, the address of the source node may be an OTN label (label), a ton label, or an IP address, which is not limited in this embodiment. The flow control method specifically comprises the following steps:
101, a source node receives a first message from a congestion node, wherein the first message is a flow control message which compresses ECN information of a plurality of data flows sent by the source node;
and 102, the source node determines the rate of the source node for sending the service message according to the first message.
When the congestion node detects that the service queue is congested, the congestion node directly sends a first message to the source node. For example, at a certain time, the congestion node detects that the length of the service queue exceeds a preset queue threshold value, and the congestion node determines that the service queue is congested and directly sends a first message to the source node. Therefore, under the condition, the congestion node directly sends the first message in the reverse direction, the flow that the congestion node transmits the first message to the host node and then the host node sends the first message in the reverse direction is avoided, and the whole ECN flow is accelerated.
In one implementation, a source node receives a first packet sent by a congested node, where the first packet is a flow control packet that compresses ECN information of multiple data flows sent by the source node. That is, when detecting that the traffic queue is congested, the congested node does not send multiple ECN messages for multiple data flows sent by the same source node. The congestion node compresses a plurality of data streams sent by the same source node into a group of same source data streams, and only generates and sends one first message for the group of same source data streams, thereby being beneficial to reducing the consumption of bandwidth resources by the flow control message.
For example, the network shown in fig. 2a includes one source node (i.e., source node 1), one congestion node (CP), and three sink nodes (i.e., sink node 1, sink node 2, and sink node 3). Wherein, the source node 1 sends three traffic flows (i.e. traffic flow 1, traffic flow 2 and traffic flow 3) to three sink nodes, respectively, and the three traffic flows all pass through the congestion node. It should be noted that fig. 2a only shows one congested node as an example, a traffic flow sent by the source node 1 may be sent to the sink node 1, the sink node 2, or the sink node 3 through multiple relay nodes (or congested nodes if congestion occurs), and the embodiment is not limited. When the congestion node detects that the service queue is congested at a certain time, for three data streams sent by the source node 1, the congestion node classifies the service stream 1, the service stream 2 and the service stream 3 into a group of same source data streams. The congestion node only sends a first message to the source node 1, that is, the congestion node compresses the ECN information of the traffic flow 1, the traffic flow 2, and the traffic flow 3.
For example, when the congestion node does not compress the ECN messages of the traffic flows, that is, the congestion node generates 3 ECN messages for traffic flow 1, traffic flow 2, and traffic flow 3, respectively. The length of each ECN message is made to be a fixed length (e.g., 192 bytes (Byte)). According to the format of the ECN message and the information contained in the ECN message, the number of bytes occupied by the effective information (such as the rate-limiting rate and the traffic flow identifier) in each ECN message is much less than 192 bytes. The congestion node extracts the effective information in the ECN message corresponding to each service flow, and places the effective information in a first message (the length of the first message is also 192 bytes, which is a fixed length). One first message (192Byte) replaces the original three ECN messages (576Byte), which is beneficial to reducing the bandwidth resource occupation of the flow control message.
Optionally, the congestion node generates a first packet and directly sends the first packet to the source node, so that the source node directly implements flow control according to the first packet. The congestion node can not send the ECN message to the host node any more, which is beneficial to reducing the occupation of bandwidth resources by the flow control message.
The first packet in this embodiment includes, but is not limited to, the following information: the address of the source node, the address of the congested node or a preset flow control address, the first identification information, the first rate, the identification information of a plurality of sink nodes, and the like.
The address of the source node refers to an address of a node that sends a service flow, and the address of the source node may be an identifier, an IP address, a MAC address, or a TOTN label of the source node.
The address of the congested node or the preset flow control address refers to an address of a node generating congestion or a preset flow control address of the network (that is, the address of the node in the network may not be, and may be a preset value, which indicates that congestion is generated in the network). For example, the address of the congested node or the preset flow control address may also be an identifier, an IP address, a MAC address, or a TOTN label of the congested node, which is not limited in this embodiment.
The first identification information is used for indicating that the first message is a flow control message compressing ECN information of a plurality of data flows sent by the source node. For example, the first identification information may be included in a Control (CTRL) field of the first message for indicating that the first message is a compressed ECN frame.
The first rate is the rate-limiting rate of the service message sent by the source node determined by the congestion node, namely the rate-limiting rate is the rate-limiting rate calculated by the congestion node. That is to say, after detecting congestion of the service queue, the congestion node runs a flow control algorithm to obtain a target rate at which speed is required to be limited. For example, a congested node may employ a Rate Control Protocol (RCP) algorithm. The algorithm considers the bandwidth of an output port and the depth of the output port, and calculates the target speed of the next period which needs speed limitation. And the congestion node feeds the target rate back to the source node.
The identification information of the plurality of sink nodes is used to indicate the sink nodes of the plurality of data streams sent by the source node, i.e. the identification information of the plurality of sink nodes includes the identifications of the plurality of sink nodes. For example, the identification of sink node 1 is Dst1 and the identification of sink node 2 is Dst 2. Wherein a traffic flow is represented by a source node and a sink node. The same source data stream is a plurality of data streams sent by the same source node. The congestion node carries identification information of a plurality of sink nodes in the first message, that is, the first message carries flow control information of a plurality of data flows.
For example, after receiving the first packet, the source node parses the first packet, and determines that the first packet is a compressed flow control packet according to the first identification information in the first packet. And the source node determines the rate of sending the service message as the first rate according to the first rate in the first message. The source node may restore a flow rate limit table of the same source data stream as shown in table 1 according to the address of the source node, the identification information of the plurality of sink nodes, and the first rate, thereby implementing flow control.
Table 1: flow rate-limiting meter with same source data stream
Identification of traffic flows Address of source node Address of sink node First rate
f1 Src1 Dst1 R(t)
f2 Src1 Dst2 R(t)
f3 Src1 Dst3 R(t)
It can be seen that the first rates in the traffic rate limit table of the same source data stream as shown in table 1 are all the same, i.e. the rates of sending multiple data streams from Src1 are all limited to the same rate.
Optionally, the source node may restore the first packet to ECN packets of the multiple data flows, where each ECN packet includes ECN information of one data flow. For example, traffic flow 1 corresponds to ECN message 1. The ECN packet 1 includes information such as an address of a source node of the traffic flow 1, an address of a sink node of the traffic flow 1, and a first rate of the traffic flow 1. Traffic flow 2 corresponds to ECN message 2. The ECN packet 2 includes information such as an address of a source node of the traffic flow 2, an address of a sink node of the traffic flow 2, and a first rate of the traffic flow 2. And the source node performs flow control according to the ECN message 1 of the service flow 1 and the ECN message 2 of the service flow 2.
Optionally, the first packet may not carry the first rate, that is, the first packet only feeds back the congestion information. For example, the first packet does not include the first rate, and the congested node is indicated only by the first identification information. The source node can restore the service queue of the congestion node through the address of the source node, the identification information of the plurality of sink nodes and the first identification information, so that the rate of sending the service message by the source node is calculated through a flow control algorithm.
Optionally, the source node may further receive a plurality of first messages respectively sent by the plurality of congested nodes. The first message sent by each congestion node carries the rate-limiting rate (i.e., the first rate) of the service message sent by the source node. The source node analyzes the first messages to obtain a plurality of first rates. In order to ensure that no congestion occurs in the process of transmitting the service flow to the destination node through the plurality of congestion nodes, the source node selects the minimum value of the plurality of first rates as the rate for sending the service message.
For example, in the network shown in fig. 2b, the source node 1 receives the first packet sent by the congested node 1 and the first packet sent by the congested node 2. Wherein, the first message sent by the congestion node 1 contains the first rate R determined by the congestion node 1 1 (t) of (d). The first message sent by the congested node 2 contains the first rate R determined by the congested node 2 2 (t) of (d). The source node will R 1 (t) and R 2 (t) comparing, determining the minimum value as the rate of sending service message by the source node。
In one implementation, the source node may also receive a second packet from the sink node. The second message is a mixed service message carrying ECN information and a service payload sent by the sink node to the source node. In the existing ECN process, when a congestion node detects that a traffic queue is congested, the congestion node adds a congestion identifier to a traffic flow. The service flow finally reaches the destination node through one or more congestion nodes, and the congestion identifier carried by the service flow triggers the destination node to send the ECN message to the source node. Compared with the existing ECN process that an ECN packet needs to be sent through a separate out-of-band resource, the second packet in this embodiment is a mixed service packet. The second packet is sent from the sink node to the source node along with the traffic flow.
For example, in the network shown in fig. 3a, a sink node receives a traffic flow. The sink node determines that the traffic flow is tagged with a congestion flag, i.e., that there is congestion in the traffic flow in the network. Because the nodes in the network usually send data in two directions, that is, the sink node can also send a service packet to the source node, and the information carried by the service packet is a service payload. The sink node integrates the ECN information and the service payload to generate a second message (namely, a mixed service message), and sends the second message to the source node.
The second packet in this embodiment includes, but is not limited to, the following information: the address of the source node, the address of the sink node, the second identification information, the second rate, the traffic payload, etc.
The second message is a mixed message sent by a sink node in the network to the source node. The address of the source node in the second message is actually the address of the sink node in the network, and the address of the sink node in the second message is actually the address of the source node in the network.
The second identification information is used for indicating that the second message is a mixed service message carrying ECN information and a service payload which are sent to the source node by the sink node. For example, the second identification information may be included in a Control (CTRL) field of the second packet, which indicates that the second packet is a hybrid frame (i.e., indicates that the second packet simultaneously transmits ECN flow control information and a traffic payload).
The second rate is used for indicating the rate-limiting rate of the service message sent by the source node determined by the sink node. The rate-limiting rate is a rate-limiting rate calculated by the sink node. That is, the sink node may run a flow control algorithm to obtain the target rate of the speed limit.
The traffic payload is used to instruct the sink node on the data to send to the source node. For example, the data sent by the sink node to the source node (without adding a traffic header) is a traffic payload.
For example, after receiving the second packet, the source node parses the second packet. And the source node determines that the second message is a mixed service message according to the second identification information in the second message. The source node separates ECN information from the traffic payload. The ECN information is used for limiting the speed of the service flow, and the service payload is used for restoring the normal service message.
In one implementation, the source node may receive a first packet sent by the congested node and a second packet sent by the sink node, that is, the source node may obtain the first rate and the second rate. And the source node adjusts the rate of sending the service message according to the first rate and the second rate.
For example, fig. 3b is a schematic diagram of a network scenario in which a source node receives a first packet and a second packet according to an embodiment of the present application. As shown in fig. 3b, the source node 1 receives two first packets sent by the congested node 1 and the congested node 2, respectively, and receives three second packets sent by the sink node 1, the sink node 2, and the sink node 3, respectively.
The destination node may summarize congestion situations of the service flows at the plurality of congestion nodes, and generate the second packet according to the summarized congestion situations. The second rate carried in the second packet prevents the traffic flow from causing congestion at the plurality of relay nodes. That is, the second packet has a higher priority than the first packet. And the source node receives and analyzes the first message, acquires a first rate in the first message, and adjusts the rate of the source node for sending the service message according to the first rate. For example, if the first rate is lower than the rate at which the source node currently sends the service packet, the source node decreases the rate at which the service packet is sent (i.e., sets the rate at which the service packet is sent to the first rate). And the source node receives and analyzes the second message, acquires a second rate in the second message, and readjusts the rate of the source node for sending the service message according to the second rate. For example, the second rate is higher than the rate of sending the service packet adjusted by the source node (i.e. the rate of sending the service packet adjusted by the source node according to the first rate). This situation represents a congestion situation relief in the network. In order to improve the utilization rate of the link resource, the source node may increase the rate of sending the service packet (i.e., set the rate of sending the service packet to the second rate).
Therefore, the embodiment of the present application provides a flow control method, which is executed by a source node. And the source node receives the compressed flow control message directly and reversely sent by the congestion node so as to indicate the source node to adjust the speed of sending the service message. The method not only realizes the quick response of the source node, is beneficial to reducing the time of the ECN flow, but also reduces the bandwidth resource occupied by the flow control message.
Fig. 4 is a schematic flow chart of another flow control method according to an embodiment of the present application. Fig. 4 shows a flow of a specific process of interaction between a source node and a congested node in the flow control method shown in the embodiment of fig. 1 to 3 b. Specifically, the flow shown in fig. 4 includes the following steps:
401, when a congestion node detects that the length of a service queue exceeds a queue threshold value, generating a first message;
402, the congestion node sends a first message to the source node; correspondingly, the source node receives a first message from the congestion node;
and 403, the source node adjusts the rate of sending the service packet according to the first packet.
When the service flow is transmitted in the network, the relay node in the network detects the length of the service queue of the node. If the relay node detects that the length of the service queue exceeds a preset threshold value, the relay node detects congestion, and the relay node is a congestion node. The congestion node will record the traffic flow entering the traffic queue and form a first flow table.
For example, the network shown in fig. 5 includes a source node 1, a source node 2, a congestion node, a sink node 1, and a sink node 2. The congestion node detects congestion of the service queue, and records the service flow 1, the service flow 2, the service flow 3 and the service flow 4 which enter the service queue after detecting the congestion of the service queue into a first flow table shown in table 2.
Table 2: first flow table of congested node
Identification of traffic flows Port number and queue number Address of source node Address of sink node
f1 Port 1+ queue 1 Src1 Dst1
f2 Port 1+ queue 1 Src2 Dst2
f3 Port 1+ queue 1 Src2 Dst1
f4 Port 1+ queue 1 Src1 Dst2
Where f1 is the identity of traffic flow 1. Traffic flow 1 is a traffic queue 1 entering the congested node from port 1. The source node of traffic flow 1 is Src1, and the sink node of traffic flow 1 is Dst 1. Similarly, the other rows in table 2 correspond to different traffic flows.
After the congestion node records the first flow table, the first flow table may also be updated. Specifically, the congested node groups the traffic streams of the same source data streams in the first flow table into a group of same source data streams, and the group of same source data streams corresponds to multiple sink nodes. For example, the congestion node updates table 2, and aggregates the traffic flows of the same source node in table 2 into a set of homologous traffic flows. And the congestion node sorts the multiple groups of same-source service flows according to the addresses of the source nodes to form an updated first flow table. The 4 service flows in fig. 5 are grouped and classified according to the address of the source node, and two classes (i.e., two groups of homologous service flows) are obtained. The updated first flow table is shown in table 3.
Table 3: first flow table after congestion node update
Figure BDA0002948906030000081
Figure BDA0002948906030000091
And the updated identifier of the new homologous service flow in the first flow table represents a group of homologous service flows. The group of the same source traffic flows includes the address of one source node and the addresses of a plurality of sink nodes, i.e. the traffic flows which aggregate the same source node are represented.
In one implementation, after the congested node updates the first flow table, the first flow table may be added to the ECN information. That is, the congestion node defines a new flow control packet format, and generates a first packet. Fig. 6 is a schematic diagram of a format of a first packet according to an embodiment of the present application. The first message includes a destination address field, a source address field, a first control field, a first ECN information field, and a first flow table field.
The destination address field, the source address field, the first control field, the first ECN information field and the first flow table field are respectively used for bearing a destination address, a source address, first identification information, first ECN information and a first flow table of the first message. For descriptions of the destination address, the source address, the first identification information, the first ECN information, and the first flow table of the first packet, refer to corresponding descriptions in the embodiment of fig. 1, which are not described herein again.
And the source node receives the first message and adjusts the rate of sending the service message according to the first message. For example, the source node parses the first flow table field and the first ECN information field in the first message, and restores the ECN information of each of the plurality of traffic flows (e.g., the traffic speed limit table of the source data flow shown in table 1). For a specific implementation, reference may be made to corresponding descriptions in the embodiment in fig. 1, which are not described herein again.
It can be seen that this example provides a flow control interaction flow between a source node and a congestion node, where the congestion node directly sends a first packet to the source node, and the first packet is a compressed flow control packet. The method realizes the quick response of the source node and is beneficial to reducing the time of the ECN flow; and reduces the bandwidth resource occupied by the flow control message.
In an example, fig. 7 is a schematic flowchart of another flow control method provided in an embodiment of the present application. Fig. 7 shows a flow of a specific process of interaction between a source node and a sink node in the flow control method shown in the embodiment of fig. 1 to 3b, where the process includes the following steps:
701, when the sink node detects service congestion in a preset time period and the sink node sends a service message to the source node, the sink node generates a second message, wherein the second message is a mixed service message carrying ECN information and a service payload sent by the sink node to the source node;
702, the sink node sends a second message to the source node; correspondingly, the source node receives the second message;
703, the source node analyzes the second message, and acquires the ECN information and the service payload in the second message;
and 704, the source node adjusts the rate of sending the service message according to the ECN information in the second message.
Wherein the data transmission between the source node and the sink node is typically bidirectional. That is, the source node may transmit traffic flows to the sink node, which may also transmit traffic flows (commonly referred to as reverse packets) to the source node. In order to reduce the consumption of bandwidth resources by the flow control packet, in this embodiment, when the sink node detects traffic congestion and the sink node sends the traffic packet to the source node, the sink node may mix ECN information and a traffic payload (i.e., a reverse data packet) sent by the sink node to the source node, so as to generate a mixed traffic packet (i.e., a second packet).
In a possible implementation manner, the sink node sets a timer with time T as a period, and the timer controls the sink node to send the second packet. Specifically, the sink node detects a port transmitting a reverse packet with a period T. If the port is not detected to send the reverse data packet within the time T, no service flow exists in the period T. The host node directly sends the ECN message to the source node by adopting the original mode, and the ECN message occupies out-of-band resources. If the port is detected to send the reverse data packet within the time T, it indicates that there is a traffic flow within the period T. And the sink node mixes the ECN information and the service payload to generate a second message, and transmits the second message through the resource for transmitting the service flow in band.
The method for generating the second message by the sink node through mixing the ECN information and the service payload specifically comprises the following steps: and the sink node acquires a service payload to be transmitted and ECN information, wherein the ECN information comprises a second rate. And the sink node combines the service payload to be transmitted and the ECN information into a mixed payload. And the sink node adds a mixed header to the mixed payload to generate a second message.
For example, fig. 8 is a schematic diagram of a format of a second packet according to an embodiment of the present disclosure. The timer set by the sink node detects the port by taking the time T as a period. And if the sink node sends a reverse data packet to the source node within the period T is detected, the sink node integrates the service payload and the ECN information into a mixed service message, and adds a mixed header. That is, the sink node generates the second packet, and may implement hybrid transmission of the service information and the ECN information, as shown in fig. 8.
The second message comprises a destination address field, a source address field, a second control field, a second ECN information field and a service payload field. The destination address field, the source address field, the second control field, the second ECN information field and the traffic payload field are respectively used for bearing a destination address, a source address, second identification information, second ECN information and a traffic payload of the second message. For the description of the destination address, the source address, the second identification information, the second ECN information, and the service payload of the second packet, reference is made to the corresponding description in the embodiment of fig. 1, and details are not repeated here.
It is to be noted that the destination address field, the source address field and the second control field described above are encapsulated as a hybrid header by the sink node. I.e. the hybrid header in this embodiment comprises a network address and a control field. And when the source node receives the second message, identifying the second message as a mixed service message according to the mixed header. For example, the second identification information in the hybrid header is used to indicate that the second packet is a hybrid service packet carrying ECN information and a service payload sent by the sink node to the source node.
The second ECN information field comprises a second rate, and the second rate is the rate-limiting rate of the source node sending the service message determined by the sink node. For the detailed description of the second rate, reference may be made to the corresponding description in the embodiment of fig. 1, and details are not repeated here.
The traffic payload field includes a traffic payload, which is data transmitted by the sink node to the source node. For example, data in a reverse data packet to be sent from the sink node to the source node is a traffic payload, and the traffic payload does not include a traffic header.
The destination node generates a second message and then sends the second message to the source node; correspondingly, the source node receives the second message. And the source node analyzes the second message and acquires the ECN information and the service payload in the second message. For example, the source node receives the second packet as shown in fig. 8, and recognizes that the second packet is a mixed service packet by parsing the second control field in the mixed header. The sink node separates the second ECN information field from the traffic payload field, obtains the ECN information (e.g., the second rate and/or traffic rate limit table) in the second ECN information field, and obtains the reverse data packet in the traffic payload field. The ECN information is used for limiting the speed of sending the service message by the source node, and the service payload is processed by the service processing unit.
It can be seen that this example provides a flow control interaction flow between a source node and a sink node, where when the sink node sends a service packet to the source node, the sink node integrates ECN information and the service packet into a mixed service packet. The host node sends the mixed service message to the source node through the in-band resource, which is beneficial to reducing the bandwidth resource additionally occupied by the second message.
Based on the above description of the flow control method provided in the embodiments of fig. 1 to fig. 8, the following describes in detail an implementation process of the flow control method in an Optical Service Unit (OSU) system. Fig. 9 is a schematic view of the application of the flow control method provided in the embodiment of the present application to an OSU system. The source node in fig. 9 may be a TOTN source node, and the sink node may be a TOTN sink node. The service flow transmitted in the OSU system shown in fig. 9 is specifically an OSU fragmented data flow.
Fig. 9 shows three transmission scenarios included in the method flows shown in fig. 1, 4 and 7. The first scenario is that the TOTN source node sends a service flow to the TOTN sink node through the CP, and the CP detects congestion and directly sends a first packet to the TOTN source node. The second scenario is a scenario in which the TOTN sink node determines congestion and sends a second packet to the TOTN source node. The third scenario is a scenario in which both the CP and the TOTN sink node send the first packet and the second packet to the TOTN source node. The specific transmission steps are similar to the corresponding steps in fig. 1, fig. 4, and fig. 7, and are not repeated here.
The OSU sliced data stream in fig. 9 may be mapped into an optical data unit k (ODUk). The OSU slice (cell) corresponds to a specific frame format, and a cell header of the OSU cell carries a destination address, a source address and control information.
In one implementation, the format of the first packet sent by the CP in the OSU system to the TOTN source node is as shown in fig. 10 a. The first packet sent by the CP to the TOTN source node is divided into two parts, which are a generic header and an OSU data unit. Where the generic header is a field defined by the existing OSU hard pipe, the relevant information is typically carried by 32 bits (bit). The present embodiment is not related to its specific meaning, and will not be described herein. The data unit of the OSU system comprises a destination label field, a source label field, a control field (comprising a high control field and a low control field), an ECN information data unit, as shown in fig. 10 a.
In order to support address extension, a destination Label (Dst-Label) and a source Label (Src-Label) are added in fig. 10 a. Wherein, Dst-Label is used for searching the destination address of the OSU system (namely the destination address of the first message, namely the address of the TOTN source node), and the Dst-Label supports the OSU addressing based on the dynamic protocol or completes the OSU addressing through static configuration. For example, the Dst-Label in this embodiment may be an OSU unicast Label. The Src-Label is used to identify the data source (i.e. the source address of the first message, i.e. the CP address or the pre-set ECN flow control address) of the different slices. After the OSU system supports statistical multiplexing, the message can be split into a plurality of slices to be transmitted respectively. When the sink node performs message reassembly on multiple slices, the data source of each slice needs to be identified. For example, Src-Label in the present embodiment may be set to the preset ECN flow control address 0x 0000.
The high-order control field includes information bits such as a special control frame identifier (S), an operation code (operation code), and a priority. The special control frame identifier is used to indicate whether the OSU cell is a control cell or a service cell. For example, in this embodiment, the value of the special control frame identifier S is 01b, which indicates that the OSU cell is a control cell. The operation code is used to instruct the operation of the OSU cell. For example, the operation code OP in this embodiment takes a value of 00, which indicates that the OSU cell is an ECN traffic control frame, and is used to implement traffic control. The priority of the OSU cell in this embodiment is set to the highest priority. For example, the priority Pri takes a value of 7.
The ECN information data unit comprises a first rate and labels of the plurality of service flows respectively. For example, the first rate in this embodiment may be represented by 2 bytes, and the label of one traffic flow may be represented by 2 bytes.
It should be noted that the description of the format of the first packet sent by the CP in the OSU system to the TOTN source node in the foregoing implementation is only an example. The method can be implemented in other ways besides the above implementation, but the essence of the processing is that information carried in a control field in a frame format is used to indicate that the first message is a flow control frame, and flow control information is carried in an ECN information data unit.
In an implementation manner, a format of the second packet sent by the TOTN sink node to the TOTN source node in the OSU system is shown in fig. 10 b. The second packet sent by the TOTN sink node to the TOTN source node may also be divided into two parts, which are the common header and the data unit of the OSU system. The generic header is a field defined by the OSU, and typically carries related information through 32 bits. The present embodiment is not related to its specific meaning, and will not be described herein. The data unit of the OSU system includes a destination label field, a source label field, a control field (including a high control field and a low control field), an ECN information field, and a payload (payload) field, as shown in fig. 10 b.
Similar to the first packet shown in FIG. 10a, FIG. 10b also includes a destination Label (Dst-Label) and a source Label (Src-Label). Wherein the Dst-Label is used for searching a destination address of the OSU system (namely, a destination address of the second message, namely, an address of the TOTN source node). The Dst-Label may support dynamic protocol based OSU addressing or accomplish OSU addressing through static configuration. For example, the Dst-Label in this embodiment may be an OSU unicast Label. The Src-Label is used to identify the data source of the different slice (i.e. the source address of the second packet, i.e. the address of the TOTN sink node or the preset ECN flow control address).
Similar to the first message shown in fig. 10a, the high-order control field in the second message shown in fig. 10b also includes information bits such as a special control frame identifier (S), an operation code (operation code), and a priority. For example, the value of the special control frame identifier S is 10b in this embodiment, which indicates that the OSU cell is a hybrid cell.
The operation code is used to instruct the operation of the OSU cell. For example, the value of the operation code OP in this embodiment is 00, which indicates that the OSU cell carries the ECN speed limit rate, that is, the OSU cell carries the speed limit rate of the service packet sent by the source node determined by the sink node. The priority of the OSU cell in this embodiment is set to the highest priority.
The ECN information field includes a second rate, which may be represented by 16 bits in this embodiment, for example. The payload field includes the traffic payload. For example, the traffic payload in this embodiment may be carried by 176 bytes (Byte) at most.
It should be noted that the description of the format of the second packet sent by the TOTN sink node to the TOTN source node in the OSU system in the foregoing implementation manner is only an example. The implementation may be implemented in other ways besides the above-mentioned implementation, but the essence of the processing is that information carried in a control field in a frame format is used to indicate that the second packet is a hybrid frame, and flow control information is carried in the second packet.
In one implementation, a second packet sent by a TOTN sink node to a TOTN source node in an OSU system is divided into a plurality of slices. Since the second message is a hybrid ECN message and a traffic payload, when the host node slices the second message, the ECN message (the number of bytes occupied is less than the total number of bytes of a slice) and a part of the traffic payload are spliced into a hybrid cell, and the rest of the cells are traffic cells, as shown in fig. 11 a. The host node can also perform differentiated encapsulation on the hybrid cell and the service cell. For example, the sink node adds a hybrid cell header to the hybrid cell, the hybrid cell header including a destination tag field, a source tag field, and a control field (including a high control field and a low control field) as in fig. 10 b. The host node adds a service cell header to the service payload, and the service cell header may adopt the format of the existing service cell header, which is not limited in this embodiment.
Optionally, when the sink node slices the second message, the hybrid cell is preferably placed in the first slice, so that the source node identifies the OSU cell as the hybrid cell through the hybrid cell header. Optionally, when the host node slices the second packet, the length of the slice in the OSU is specified to be 192 bytes. That is, the total length of ECN information and traffic payload is 192 bytes, thereby eliminating the problem of cell header exceeding the allowed length of data transfer unit due to ECN insertion.
The source node receives a plurality of slices as shown in fig. 11a, and identifies the first slice as a hybrid cell through a control field (S bit) in the cell header. The source node separates the ECN information from the traffic payload in the hybrid cell according to the predefined hybrid cell format, as shown in fig. 11 b. The separated ECN information (including the second rate) and the Dst-Label and the Src-Label in the hybrid cell header are reconstructed into an ECN message, and the ECN message is used for realizing the flow rate limit of the source node. The separated service payload and the service payloads carried in other service cells are used for service reassembly, that is, a reverse data packet sent by the sink node to the source node is restored, as shown in fig. 11 b. Therefore, the implementation mode realizes the transmission of the mixed service message in the OSU system.
The flow control method according to the embodiment of the present application is described in detail above with reference to fig. 1 to 11b, and the flow control device according to the embodiment of the present application is described in detail below with reference to fig. 12 to 15. It will be appreciated that the flow control devices shown in fig. 12-15 are capable of implementing the steps of one or more of the method flows shown in fig. 1, 4 and 7. To avoid repetition, detailed description is omitted.
Fig. 12 is a schematic view of a flow control device according to an embodiment of the present application. The flow control apparatus shown in fig. 12 is used to implement the method performed by the source node in the embodiment shown in fig. 1, and includes a transceiving unit 1201 and a processing unit 1202. The transceiving unit 1201 is configured to receive a first message from a congested node, where the first message is a flow control message that compresses ECN information of multiple data flows sent by a source node. The processing unit 1202 is configured to determine, according to the first packet, a rate at which the source node sends the service packet.
In an implementation manner, the transceiving unit 1201 is further configured to receive a second packet from the sink node, where the second packet is a mixed service packet carrying ECN information and a service payload sent by the sink node to the source node. The processing unit 1202 is further configured to determine, according to the second packet, a rate at which the source node sends the service packet.
In one implementation manner, the transceiving unit 1201 is further configured to receive a plurality of first messages respectively sent by a plurality of congested nodes. The processing unit 1202 is further configured to determine that a minimum value of the first rates in the plurality of first messages is a rate at which the source node sends the service message.
In an implementation manner, if the transceiving unit 1201 receives the first packet and the second packet, the processing unit 1202 is further configured to adjust a rate at which the source node sends the service packet according to a first rate in the first packet. The processing unit 1202 is further configured to adjust the rate at which the source node sends the service packet again according to the second rate in the second packet.
FIG. 13 is a schematic view of another flow control device provided in accordance with an embodiment of the present application. The flow control apparatus shown in fig. 13 is used to implement the method performed by the congestion node in the embodiment shown in fig. 4, and includes a processing unit 1301 and a transceiving unit 1302. The processing unit 1301 is configured to generate a first packet when the processing unit 1301 detects that the length of the service queue exceeds a queue threshold value. The first message is a flow control message which compresses ECN information of a plurality of data flows sent by the same source node. The transceiving unit 1302 is configured to send a first packet to a source node.
In one implementation, the processing unit 1301 is configured to generate a first packet when the processing unit 1301 detects that the length of the service queue exceeds a queue threshold, where the generating includes:
when the processing unit 1301 detects that the length of the service queue exceeds the queue threshold, a first flow table is established, where the first flow table includes multiple data flows entering the service queue;
updating the first flow table, wherein the updated first flow table comprises one or more groups of same source data streams, and the same source data streams comprise a plurality of data streams sent by the same source node;
and generating one or more groups of first messages respectively corresponding to the source data streams.
In one implementation manner, the transceiving unit 1302 is configured to send a first packet to a source node, and includes:
the transceiving unit 1302 is configured to send corresponding first packets to one or more source nodes corresponding to one or more groups of source data streams, respectively.
FIG. 14 is a schematic view of another flow control device provided in accordance with an embodiment of the present application. The flow control apparatus shown in fig. 14 is used to implement the method performed by the sink node in the embodiment shown in fig. 7, and includes a processing unit 1401 and a transceiver unit 1402. The processing unit 1401 is configured to generate a second packet when the processor detects traffic congestion within a preset time period and the sink node sends a traffic packet to the source node. The second message is a mixed service message carrying ECN information and a service payload sent by the sink node to the source node. The transceiving unit 1402 is configured to send a second packet to the source node.
In one implementation, the processing unit 1401 is configured to generate a second packet when the processing unit 1401 detects traffic congestion within a preset time period and the sink node sends a traffic packet to the source node, and includes:
combining ECN information and service payload sent by a sink node to a source node into a mixed payload;
adding a mixed header to the mixed payload to generate a second message; and the second identification information in the mixed header is used for indicating that the second message is a mixed service message carrying ECN information and a service payload which are sent to the source node by the sink node.
In one example, the related functions implemented by the respective units in fig. 12 to 14 may be implemented by a chip. Fig. 15 is a schematic diagram of another flow control device provided in an embodiment of the present application, which may be a device (e.g., a chip) having a flow control function according to the embodiment shown in fig. 1, 4 and 7. The flow control device includes an interface 1501 and at least one processor 1502. The interface 1501 and the processor 1502 may be connected to each other via one or more communication buses, or may be connected in other ways.
In one implementation, the interface 1501 is used to receive data or transmit data. For example, the interface 1501 is used to transmit and receive a first message or a second message.
In one implementation, the processor 1502 is configured to process data. For example, the processor is adapted to perform optional steps in the previously described method embodiments. The processor 1502 may include one or more processors, for example, the processor 1502 may be one or more Central Processing Units (CPUs), Network Processors (NPs), hardware chips, or any combination thereof. In the case where the processor 1502 is a single CPU, the CPU may be a single-core CPU or a multi-core CPU.
Embodiments of the present application provide a computer-readable storage medium, which stores a program or instructions, and when the program or instructions are run on a computer, the program or instructions cause the computer to execute a flow control method in an embodiment of the present application.
The embodiment of the present application provides a chip or a chip system, where the chip or the chip system includes at least one processor and an interface, the interface and the at least one processor are interconnected through a line, and the at least one processor is used to run a computer program or an instruction to perform the flow control method in the embodiment of the present application. The interface may be an input/output interface, a pin or a circuit, etc.
The system-on-chip in the above aspect may be a system-on-chip (SOC), or a baseband chip, and the like, where the baseband chip may include a processor, a channel encoder, a digital signal processor, a modem, an interface module, and the like.
In the above embodiments, the implementation may be wholly or partially realized by software, hardware, firmware, or any combination thereof. When implemented in software, it may be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When loaded and executed on a computer, cause the processes or functions described in accordance with the embodiments of the application to occur, in whole or in part. The computer may be a general purpose computer, a special purpose computer, a network of computers, or other programmable device. The computer instructions may be stored on a computer readable storage medium or transmitted from one computer readable storage medium to another, for example, from one website, computer, server, or data center to another website, computer, server, or data center via wire (e.g., coaxial cable, fiber optic, Digital Subscriber Line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.). Computer-readable storage media can be any available media that can be accessed by a computer or a data storage device, such as a server, data center, etc., that includes one or more available media. The usable medium may be a magnetic medium (e.g., a floppy disk, a hard disk, a magnetic tape), an optical medium (e.g., a Digital Video Disc (DVD)), or a semiconductor medium (e.g., a Solid State Disk (SSD)), among others.
Those of ordinary skill in the art will appreciate that the elements and algorithm steps of the examples described in connection with the embodiments disclosed herein may be embodied in electronic hardware, computer software, or combinations of both, and that the components and steps of the examples have been described in a functional general in the foregoing description for the purpose of illustrating clearly the interchangeability of hardware and software. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the implementation. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present application.
The above description is only for the specific embodiments of the present application, but the scope of the present application is not limited thereto, and any person skilled in the art can easily conceive of the changes or substitutions within the technical scope of the present application, and shall be covered by the scope of the present application. Therefore, the protection scope of the present application shall be subject to the protection scope of the claims.

Claims (27)

1. A flow control method applied to a source node, the method comprising:
the source node receives a first message from a congestion node, wherein the first message is a flow control message which compresses explicit congestion notification ECN information of a plurality of data flows sent by the source node;
and the source node determines the speed of sending the service message according to the first message.
2. The method of claim 1, further comprising:
the source node receives a second message from a sink node, wherein the second message is a mixed service message carrying ECN information and a service payload which are sent to the source node by the sink node;
and the source node determines the rate of sending the service message according to the second message.
3. The method of claim 1, wherein the first packet comprises:
an address of the source node;
first identification information, configured to indicate that the first packet is a flow control packet that compresses ECN information of multiple data flows sent by the source node;
a first rate, configured to indicate a rate-limiting rate, determined by the congested node, at which the source node sends a service packet;
and the identification information of the plurality of sink nodes is used for indicating the sink nodes corresponding to the plurality of data streams sent by the source node respectively.
4. The method according to claim 2 or 3, wherein the second message comprises:
an address of the source node;
second identification information, configured to indicate that the second packet is a mixed service packet that carries ECN information and a service payload that are sent by the sink node to the source node;
a second rate, configured to indicate the rate-limiting rate, determined by the sink node, at which the source node sends the service packet;
and the service payload is used for indicating the data transmitted to the source node by the sink node.
5. The method of claim 4, wherein the first identification information is included in a first control field of the first packet; the first rate is contained in a first ECN information field of a first message; the second identification information is included in a second control field of the second packet, and the second rate is included in a second ECN information field of the second packet.
6. The method according to any of claims 1 to 3, wherein the source node receiving a first packet from a congested node comprises:
the source node receives a plurality of first messages respectively sent by a plurality of congestion nodes;
the source node determines the rate of sending the service message by the source node according to the first message, and the determining comprises the following steps:
and the source node determines that the minimum value of the first rates in the first messages is the rate of sending the service messages by the source node.
7. The method of claim 6, further comprising:
if the source node receives the first message and the second message, the source node adjusts the rate of sending the service message by the source node according to the first rate in the first message;
and the source node adjusts the rate of sending the service message by the source node again according to the second rate in the second message.
8. A flow control method applied to a congested node, the method comprising:
when the congestion node detects that the length of a service queue exceeds a queue threshold value, the congestion node generates a first message, wherein the first message is a flow control message which compresses ECN information of a plurality of data flows sent by the same source node;
and the congestion node sends the first message to the source node.
9. The method of claim 8, wherein when the congestion node detects that the length of the traffic queue exceeds a queue threshold, the congestion node generates a first packet, comprising:
when the congestion node detects that the length of a service queue exceeds a queue threshold, the congestion node establishes a first flow table, wherein the first flow table comprises a plurality of data flows entering the service queue;
the congestion node updates the first flow table, wherein the updated first flow table comprises one or more groups of same-source data flows, and the same-source data flows comprise a plurality of data flows sent by the same source node;
and the congestion node generates one or more groups of first messages corresponding to the same source data streams respectively.
10. The method of claim 9, wherein sending the first packet to a source node by the congested node comprises:
and the congestion node respectively sends corresponding first messages to one or more source nodes respectively corresponding to the one or more groups of source data streams.
11. The method according to any one of claims 8 to 10, wherein the first packet comprises:
an address of the source node;
the first identification information is used for indicating that the first message is a flow control message compressing ECN information of a plurality of data flows sent by the same source node;
a first rate, configured to indicate a rate-limiting rate, determined by the congested node, at which the source node sends a service packet;
and the identification information of the plurality of sink nodes is used for indicating the sink nodes of the plurality of data streams sent by the same source node.
12. A flow control method applied to a sink node, the method comprising:
when the sink node detects service congestion in a preset time period and the sink node sends a service message to a source node, the sink node generates a second message, wherein the second message is a mixed service message carrying ECN information and a service payload sent by the sink node to the source node;
and the sink node sends the second message to the source node.
13. The method of claim 12, wherein when the sink node detects traffic congestion within a preset time period and the sink node sends a traffic packet to a source node, the sink node generates a second packet, comprising:
the sink node combines the ECN information and the service payload which are sent to the source node by the sink node into a mixed payload;
the sink node adds a mixed header to the mixed payload to generate the second message; and the second identification information in the hybrid header is used for indicating that the second packet is a hybrid service packet carrying ECN information and a service payload sent by the sink node to the source node.
14. A flow control device, comprising:
an interface, configured to receive a first packet from a congestion node, where the first packet is a flow control packet that compresses explicit congestion notification ECN information of multiple data flows sent by the source node;
and the processor is used for determining the speed of sending the service message according to the first message.
15. The apparatus of claim 14,
the interface is further configured to receive a second packet from a sink node, where the second packet is a mixed service packet that carries ECN information and a service payload sent by the sink node to the source node;
the processor is further configured to determine a rate of sending the service packet according to the second packet.
16. The apparatus of claim 14, wherein the first packet comprises:
an address of the source node;
first identification information, configured to indicate that the first packet is a flow control packet that compresses ECN information of multiple data flows sent by the source node;
a first rate, configured to indicate a rate-limiting rate, determined by the congested node, at which the source node sends a service packet;
and the identification information of the plurality of sink nodes is used for indicating the sink nodes of the plurality of data streams sent by the source node respectively.
17. The apparatus according to any one of claims 14 to 16, wherein the second message comprises:
an address of the source node;
second identification information, configured to indicate that the second packet is a mixed service packet that carries ECN information and a service payload that are sent by the sink node to the source node;
a second rate, configured to indicate the rate-limiting rate, determined by the sink node, at which the source node sends the service packet;
and the service payload is used for indicating the data transmitted to the source node by the sink node.
18. The apparatus of claim 17, wherein the first identification information is included in a first control field of the first packet; the first rate is contained in a first ECN information field of a first message; the second identification information is included in a second control field of the second packet, and the second rate is included in a second ECN information field of the second packet.
19. The apparatus according to any of claims 14 to 16, wherein the interface is configured to receive a first packet from a congested node, and comprises:
the interface is used for receiving a plurality of first messages respectively sent by a plurality of congestion nodes;
the processor is configured to determine, according to the first packet, a rate at which a source node sends a service packet, and includes:
the processor is configured to determine that a minimum value of the first rates in the plurality of first messages is a rate at which the source node sends a service message.
20. The apparatus of claim 19,
if the interface receives the first message and the second message, the processor is further configured to adjust a rate at which a source node sends a service message according to a first rate in the first message;
and the processor is further configured to adjust the rate at which the source node sends the service packet again according to the second rate in the second packet.
21. A flow control device, comprising:
the processor is used for generating a first message when the processor detects that the length of a service queue exceeds a queue threshold value, wherein the first message is a flow control message which compresses ECN information of a plurality of data flows sent by the same source node;
and the interface is used for sending the first message to the source node.
22. The apparatus of claim 21, wherein the processor is configured to generate a first packet when the processor detects that the length of the traffic queue exceeds a queue threshold, and wherein the generating comprises:
when the processor detects that the length of a service queue exceeds a queue threshold, establishing a first flow table, wherein the first flow table comprises a plurality of data flows entering the service queue;
updating the first flow table, wherein the updated first flow table comprises one or more groups of same source data streams, and the same source data streams comprise a plurality of data streams sent by the same source node;
and generating one or more groups of first messages respectively corresponding to the same source data streams.
23. The apparatus of claim 22, wherein the interface is configured to send the first packet to a source node, and wherein the interface is configured to:
the interface is configured to send corresponding first packets to one or more source nodes respectively corresponding to the one or more groups of source data streams.
24. The apparatus according to any of claims 21 to 23, wherein the first message comprises:
an address of the source node;
the first identification information is used for indicating that the first message is a flow control message compressing ECN information of a plurality of data flows sent by the same source node;
a first rate, configured to indicate a rate-limiting rate, determined by the congested node, at which the source node sends a service packet;
and the identification information of the plurality of sink nodes is used for indicating the sink nodes of the plurality of data streams sent by the same source node.
25. A flow control device, comprising:
the processor is used for generating a second message when the processor detects that the service is congested in a preset time period and the sink node sends a service message to the source node, wherein the second message is a mixed service message carrying ECN information and a service payload sent by the sink node to the source node;
and the interface is used for sending the second message to the source node.
26. The apparatus of claim 25, wherein the processor is configured to generate the second packet when the processor detects traffic congestion and the sink node sends a traffic packet to the source node within a preset time period, and comprises:
the processor combines ECN information and a traffic payload which are sent to the source node by the sink node into a mixed payload;
the processor adds a mixed header to the mixed payload to generate the second message; and the second identification information in the hybrid header is used for indicating that the second packet is a hybrid service packet carrying ECN information and a service payload sent by the sink node to the source node.
27. A flow control system comprising a flow control device according to any of claims 14 to 20, a flow control device according to any of claims 21 to 24 and a flow control device according to claim 25 and/or 26.
CN202110201018.8A 2021-02-23 Flow control method and flow control device Active CN114979002B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110201018.8A CN114979002B (en) 2021-02-23 Flow control method and flow control device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110201018.8A CN114979002B (en) 2021-02-23 Flow control method and flow control device

Publications (2)

Publication Number Publication Date
CN114979002A true CN114979002A (en) 2022-08-30
CN114979002B CN114979002B (en) 2024-07-30

Family

ID=

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116582492A (en) * 2023-07-14 2023-08-11 珠海星云智联科技有限公司 Congestion control method, system and storage medium for optimizing RDMA reading

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102474452A (en) * 2009-07-02 2012-05-23 高通股份有限公司 Transmission of control information across multiple packets
US20150334024A1 (en) * 2012-04-20 2015-11-19 Jeffrey Clifford Mogul Controlling Data Rates of Data Flows Based on Information Indicating Congestion
CN112352449A (en) * 2018-09-27 2021-02-09 捷开通讯(深圳)有限公司 Congestion management in a wireless communication network

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102474452A (en) * 2009-07-02 2012-05-23 高通股份有限公司 Transmission of control information across multiple packets
US20150334024A1 (en) * 2012-04-20 2015-11-19 Jeffrey Clifford Mogul Controlling Data Rates of Data Flows Based on Information Indicating Congestion
CN112352449A (en) * 2018-09-27 2021-02-09 捷开通讯(深圳)有限公司 Congestion management in a wireless communication network

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116582492A (en) * 2023-07-14 2023-08-11 珠海星云智联科技有限公司 Congestion control method, system and storage medium for optimizing RDMA reading
CN116582492B (en) * 2023-07-14 2023-09-26 珠海星云智联科技有限公司 Congestion control method, system and storage medium for optimizing RDMA reading

Similar Documents

Publication Publication Date Title
CN109412964B (en) Message control method and network device
CN109391560B (en) Network congestion notification method, proxy node and computer equipment
CN110022264B (en) Method for controlling network congestion, access device and computer readable storage medium
CN111769998B (en) Method and device for detecting network delay state
WO2021232568A1 (en) Method, terminal and system for transceiving data over wireless local area network, and network access device
KR100425062B1 (en) Internal communication protocol for data switching equipment
US20070070904A1 (en) Feedback mechanism for flexible load balancing in a flow-based processor affinity scheme
CN104093211A (en) Buffer status reporting apparatus, system, and method
JP2005529545A (en) Application of session service based on packet flow
CN110944358B (en) Data transmission method and device
US10225196B2 (en) Apparatus, system and method for controlling packet data flow
CN110943933A (en) Method, device and system for realizing data transmission
WO2019000866A1 (en) Data processing method and internet of things (iot) gateway
US11252099B2 (en) Data stream sending method and system, and device
CN112003937A (en) Satellite data transmission method, satellite data transmission device, computer equipment and storage medium
CN112039796A (en) Data packet transmission method and device, storage medium and electronic equipment
CN117882431A (en) Selective compression of packet payload data in 5G networks
CN113765812A (en) Method and device for marking message
WO2019165855A1 (en) Message transmission method and device
CN102487330B (en) Method and device for sending operation, administration and maintenance messages
CN114979002A (en) Flow control method and flow control device
CN114979002B (en) Flow control method and flow control device
US8355399B1 (en) Communication method and system for a traffic shaper network
WO2021160158A1 (en) Transmission method and network device
CN110493144B (en) Data processing method and device

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