CN114979002B - Flow control method and flow control device - Google Patents
Flow control method and flow control device Download PDFInfo
- Publication number
- CN114979002B CN114979002B CN202110201018.8A CN202110201018A CN114979002B CN 114979002 B CN114979002 B CN 114979002B CN 202110201018 A CN202110201018 A CN 202110201018A CN 114979002 B CN114979002 B CN 114979002B
- Authority
- CN
- China
- Prior art keywords
- message
- source node
- node
- service
- rate
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 75
- 230000004044 response Effects 0.000 abstract description 4
- 210000004027 cell Anatomy 0.000 description 31
- 238000012545 processing Methods 0.000 description 21
- 238000010586 diagram Methods 0.000 description 19
- 238000013461 design Methods 0.000 description 16
- 239000013256 coordination polymer Substances 0.000 description 14
- 230000009286 beneficial effect Effects 0.000 description 11
- 230000008569 process Effects 0.000 description 11
- 230000003287 optical effect Effects 0.000 description 9
- 210000004754 hybrid cell Anatomy 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 101100058681 Drosophila melanogaster Btk29A gene Proteins 0.000 description 2
- 230000004931 aggregating effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- UPBAOYRENQEPJO-UHFFFAOYSA-N n-[5-[[5-[(3-amino-3-iminopropyl)carbamoyl]-1-methylpyrrol-3-yl]carbamoyl]-1-methylpyrrol-3-yl]-4-formamido-1-methylpyrrole-2-carboxamide Chemical compound CN1C=C(NC=O)C=C1C(=O)NC1=CN(C)C(C(=O)NC2=CN(C)C(C(=O)NCCC(N)=N)=C2)=C1 UPBAOYRENQEPJO-UHFFFAOYSA-N 0.000 description 1
- 230000006798 recombination Effects 0.000 description 1
- 238000005215 recombination Methods 0.000 description 1
- 230000008521 reorganization Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/26—Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
- H04L47/263—Rate modification at the source after receiving feedback
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing 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 compressing explicit congestion notification ECN information of a plurality of data flows sent by the source node. And the source node determines the rate of sending the service message by the source node according to the first message. The source node receives the compressed flow control message which is directly and reversely sent by the congestion node, so as to instruct the source node to adjust the rate of sending the service message. By doing so, the quick response of the source node is realized, the time of the ECN flow is reduced, and the bandwidth resource occupied by the flow control message is reduced.
Description
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 (explicitcongestionnotification, ECN) techniques allow for informing the source of a message that congestion has occurred without dropping the message. In one example, the current ECN flow includes: if congestion occurs at the congestion node (congestionpoint, CP), the CP marks the flow of each service flow in the service message, and sends the marked service message to the next node until the destination node. And the sink node sends the ECN message to the source node according to the marked service message. After receiving ECN message, source node operates flow control algorithm to adjust rate of sending service message so as to eliminate congestion. This implementation may result in an excessively long ECN flow, and the source node may not respond in time.
In another example, each CP runs a flow control algorithm, obtains a rate of sending a service message allowed by each service flow at a specified time of the node, and sends the rate of sending the service message allowed by the node to the sink node. The sink node gathers the rates allowed by all 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 sending the service message by the source node according to the received minimum rate so as to eliminate congestion. Such an implementation would result in one ECN message per traffic flow within a given time, which would consume a significant amount of bandwidth resources.
Disclosure of Invention
The embodiment of the application provides a flow control method and a flow control device, wherein the flow control method is beneficial to reducing the time of an ECN flow and reducing 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 compressing ECN information of a plurality of data flows sent by the source node. And the source node determines the rate of sending the service message by the source node according to the first message.
It can be seen that the source node receives a compressed flow control message that is directly sent in reverse by the congestion node, so as to instruct the source node to perform traffic rate adjustment on multiple data flows. By doing so, the quick response of the source node is realized, the time of the ECN flow is reduced, and the bandwidth resource occupied by the flow control message is reduced.
In one possible design, the source node receives a second message from the sink node. The second message is a mixed service message carrying ECN information and service payload sent by the sink node to the source node. And the source node determines the rate of sending the service message by the source node according to the second message. The source node receives the flow control information carried in the service flow, so as to instruct the source node to adjust the rate of sending the service message, which is beneficial to reducing the bandwidth resources additionally occupied by the flow control message.
In one possible design, the first message includes an address of the source node, first identification information, a first rate, and identification information of a 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 limiting rate of the source node for sending the service message, which is 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 respectively.
In one possible design, the second message 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 service payload sent by the sink node to the source node. The second rate is used for indicating the speed limiting rate of the source node for sending the service message, which is determined by the sink node. The service payload is used to indicate data sent by the sink node to the source node.
In one possible design, the first identification information is included in a first control field of the first message. 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 message. The second rate is included in a second ECN information field of the second message.
In one possible design, the source node receives a plurality of first messages sent by a plurality of congestion nodes, and determines a minimum value of first rates in the plurality of first messages as a rate at which the source node sends service messages.
In one possible design, if the source node receives the first message and the second message, the source node adjusts a rate at which the source node sends the service message 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. As can be seen, if the source node receives both the first message and the second message, the source node determines that the rate of sending the service message is the second rate in the second message because the priority of the second message is higher than that of the first message.
In a second aspect, an embodiment of the present application provides another flow control method, where when a congestion node detects that a length of a service queue exceeds a queue threshold value, the congestion node generates a first packet. The first message is a flow control message compressing ECN information of a plurality of data flows sent by the same source node. The congestion node sends a first message to the source node.
It can be seen that when the congestion node detects that the traffic queue is congested, a compressed flow control message is directly sent to the source node. By doing so, the time of ECN flow is reduced, and bandwidth resources occupied by flow control messages are reduced.
In one possible design, when a congestion node detects that the length of a traffic queue exceeds a queue threshold, the congestion node builds a first flow table comprising a plurality of data flows into the traffic queue. The congestion node updates a first flow table, the updated first flow table comprising one or more groups of homologous data flows, the homologous data flows comprising a plurality of data flows sent by the same source node. The congestion node generates one or more groups of first messages corresponding to the homologous data streams respectively. It can be seen that, at the congestion node, a plurality of data flows may be sent by one or more source nodes, and the congestion node compresses ECN information of a plurality of data flows sent by the same source node into a first message.
In one possible design, the congestion node sends corresponding first messages to one or more source nodes respectively corresponding to one or more sets of homologous data flows.
In one possible design, the first message includes an address of the source node, first identification information, a first rate, and identification information of a plurality of sink nodes. The detailed description of the first message may be referred to the detailed description of the first message in the first aspect, which is not repeated herein.
In a third aspect, an embodiment of the present application provides yet another flow control method. In the method, 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. The second message is a mixed service message carrying ECN information and service payload sent by the sink node to the source node. The sink node sends a second message to the source node.
Therefore, the sink node carries the flow control information when sending the service flow to the source node, which is beneficial to reducing the bandwidth resources additionally occupied by the flow control message.
In one possible design, the sink node combines ECN information and traffic payloads sent by the sink node to the source node into a hybrid payload. And the sink node adds a mixed header to the mixed payload to generate the second message. 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 service payload sent by the sink node to the source node.
In a fourth aspect, embodiments of the present application provide a 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 first aspect and/or any one of the possible designs of the first aspect, and thus achieves the advantages 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, and thus achieves the advantages provided by the flow control method provided in the second aspect.
In a sixth aspect, an embodiment of the present application provides yet another flow control device. The flow control means may be a device or a chip or circuit provided in the device. The flow control device comprises means and/or modules for performing the flow control method provided in any one of the possible designs of the third aspect and/or the third aspect described above. Therefore, the advantageous effects of the flow control method according to the third aspect can be achieved.
In a seventh aspect, embodiments of the present application provide 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 run on a computer, cause the computer to perform the method of the first, second, third or any one 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 includes at least one processor and an interface, the interface and the at least one processor being interconnected by a wire. 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 one of the possible implementations of any one of the first, second, third or third aspects.
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 congestion node generates and sends a first message according to an embodiment of the present application;
Fig. 2b is a schematic diagram of a scenario in which a plurality of congestion nodes generate and send a plurality of 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 message 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 message and a sink node generates and sends a second message according to an embodiment of the present application;
FIG. 4 is a flow chart of another flow control method according to an embodiment of the present application;
fig. 5 is a schematic diagram 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 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 message according to an embodiment of the present application;
Fig. 9 is a schematic diagram of a flow control method applied to an OSU system according to an embodiment of the present application;
fig. 10a is a schematic diagram of a format of a first packet in an OSU system according to an embodiment of the present application;
fig. 10b is a schematic diagram of a format of a second packet in an OSU system according to an embodiment of the present application;
FIG. 11a is a schematic diagram of performing differential encapsulation on a second packet slice according to an embodiment of the present application;
FIG. 11b is a schematic diagram illustrating parsing and reassembling of a second message according to an embodiment of the present application;
FIG. 12 is a schematic diagram of a flow control device according to an embodiment of the present application;
FIG. 13 is a schematic view of another flow control device according to an embodiment of the present application;
FIG. 14 is a schematic view of yet another flow control device according to 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 embodiments of the application, words such as "exemplary" or "such as" are used to mean serving as an example, instance, or illustration. Any embodiment or design described herein as "exemplary" or "e.g." in an embodiment should not be taken as preferred or advantageous over other embodiments or designs. Rather, the use of words such as "exemplary" or "such as" is intended to present related concepts in a concrete fashion.
In embodiments of the 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 defining "a second" or "a first" may explicitly or implicitly include one or more such feature. In the description of the present application, unless otherwise indicated, the meaning of "a plurality" is two or more. 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 examples described 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 in 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 will 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 association relationship describing an associated object, and indicates that there may be three relationships, e.g., a and/or B, and may indicate: a exists alone, A and B exist together, and B exists alone. In the present application, the character "/" generally indicates that the front and rear related objects are an or relationship.
It should also be understood that, in the embodiments of the present application, the sequence number of each process does not mean that the execution sequence of each process should be determined by the function and the internal logic, and should not limit the implementation process of the embodiments of the present application.
It should be appreciated that determining B from a does not mean determining B from a alone, but may also determine B from a and/or other information.
It will be further understood that the terms "comprises" and/or "comprising," 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 accompanying drawings in the embodiments of the present application.
Explicit congestion notification (explicitcongestionnotification, ECN) techniques allow for informing the source of a message that congestion has occurred without dropping the message. In one example, the current ECN flow includes: if congestion occurs at the congestion node (congestionpoint, CP), the CP marks the flow of each service flow in the service message, and sends the marked service message to the next node until the destination node. And the sink node sends the ECN message to the source node according to the marked service message. After receiving ECN message, source node operates flow control algorithm to adjust rate of sending service message so as to eliminate congestion. This implementation may result in an excessively long ECN flow, and the source node may not respond in time. In another example, each CP runs a flow control algorithm, obtains a rate of sending a service message allowed by each service flow at a specified time of the node, and sends the rate of sending the service message allowed by the node to the sink node. The sink node gathers the rates allowed by all 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 so as to eliminate congestion. Such an implementation would result in one ECN message per traffic flow within a given time, which would consume a significant amount of bandwidth resources.
In order to solve the above problems, 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 ECN messages and reducing the time of ECN flow; on the other hand, the flow control method is beneficial to reducing bandwidth resources consumed by ECN messages.
The flow control method provided by the embodiment of the application is described in detail below.
Fig. 1 is a flow control method according to an embodiment of the present application. The method is performed by a source node in the network. The source node in this embodiment may be, for example, a transmitting device in an optical transport network (optical transport network, OTN); and may be, for example, transparent OTN (TOTN) devices in an optical service unit (optical service unit, OSU) network scenario; but also for example routing devices in an IP network. Correspondingly, the address of the source node may be an OTN label (label), or may be a TONT label, or may be 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 compressing ECN information of a plurality of data flows sent by the source node;
102, the source node determines the rate of sending the service message by the source node according to the first message.
And 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 moment, the congestion node detects that the length of the service queue exceeds a preset queue threshold value, determines that the service queue is congested, and directly sends a first message to the source node. Therefore, in this case, the congestion node directly and reversely transmits the first message, so that the process that the congestion node transmits the first message to the sink node and then reversely transmits the first message by the sink node is avoided, and the whole ECN process is facilitated to be accelerated.
In one implementation, a source node receives a first message sent by a congestion node, where the first message is a flow control message that compresses ECN information of a plurality of data flows sent by the source node. That is, when the congestion node detects that the service queue is congested, multiple ECN messages are not sent 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 homologous data streams, and only generates and sends a first message aiming at the group of homologous data streams, thereby being beneficial to reducing the consumption of bandwidth resources by the flow control message.
For example, one source node (i.e., source node 1), one congestion node (congestion point, CP), and three sink nodes (i.e., sink node 1, sink node 2, and sink node 3) are included in the network shown in fig. 2 a. 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 all three traffic flows pass through the congestion node. It should be noted that, in fig. 2a, only one congestion node is shown as an example, and the 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 a plurality of relay nodes (if congestion occurs, the congestion node), which is not limited in this embodiment. At a certain moment, the congestion node detects that the service queue is congested, and for three data flows sent by the source node 1, the congestion node classifies the service flow 1, the service flow 2 and the service flow 3 into a group of homologous data flows. The congestion node sends only one first message to the source node 1, i.e. the congestion node compresses the ECN information for traffic 1, traffic 2 and traffic 3.
For example, when the congestion node does not compress ECN messages of the traffic flow, i.e. the congestion node generates 3 ECN messages for traffic flow 1, traffic flow 2 and traffic flow 3, respectively. Each ECN message is given a fixed length (e.g., 192 bytes). 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 speed limit rate and the identification of the service flow) in each ECN message is far less than 192Byte. The congestion node extracts the effective information in ECN messages corresponding to each service flow, and places the effective information in a first message (the length of the first message is also 192 Byte). One first message (192 Byte) replaces the original three ECN messages (576 Byte), which is beneficial to reducing the occupation of bandwidth resources by the flow control message.
Optionally, the congestion node generates a first message and directly sends the first message to the source node, so that the source node directly realizes flow control according to the first message. The congestion node can not send the ECN message to the destination node any more, which is beneficial to reducing the occupation of bandwidth resources by the flow control message.
The first message in this embodiment includes, but is not limited to, the following information: the address of the source node, the address of the congestion node or a preset flow control address, first identification information, a first rate, identification information of a plurality of sink nodes, and the like.
The address of the source node refers to the address of the node sending out the service flow, and the address of the source node may be the identifier of the source node, the IP address, the MAC address or TOTN label, which is not limited in this embodiment.
The address of the congested node or the preset flow control address refers to a node address where congestion occurs, or a flow control address preset for the network (i.e., may not be a node address in a network, but may be a preset value that is used to indicate that congestion occurs in the network). For example, the address of the congestion node or the preset flow control address may also be the identifier of the congestion node, the IP address, the MAC address, or TOTN label, 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, which indicates that the first message is a compressed ECN frame.
The first rate is the speed limit rate of the source node for sending the service message, which is determined by the congestion node, namely the speed limit rate is the speed limit rate calculated by the congestion node. That is, after the congestion node detects that the service queue is congested, the congestion node operates a flow control algorithm to obtain a target rate that needs to be limited. For example, the congested node may employ a rate control protocol (rate control protocol, RCP) algorithm. The algorithm calculates the target rate of the next period, which needs to be limited, by considering the port bandwidth and the port depth. The congestion node feeds back the target rate to the source 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 respectively, namely the identification information of the plurality of sink nodes comprises the identifications of the plurality of sink nodes. For example, the identifier of the sink node 1 is Dst1, and the identifier of the sink node 2 is Dst2. Wherein a traffic flow is represented by a source node and a sink node. The homologous data stream is a plurality of data streams sent by the same source node. The congestion node carries the identification information of a plurality of sink nodes in the first message, namely, the first message carries the flow control information of a plurality of data flows.
For example, after receiving the first message, the source node parses the first message, and determines that the first message is a compressed flow control message according to first identification information in the first message. And the source node determines the rate of sending the service message to be the first rate according to the first rate in the first message. The source node can restore a flow rate limiting table of a homologous data flow as shown in table 1 according to the address of the source node, the identification information of a plurality of destination nodes and the first rate, thereby realizing flow control.
Table 1: flow rate limiting table of homologous data flow
Identification of traffic flows | Address of source node | Address of sink node | First rate of speed |
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 limiting tables for homologous data streams as shown in table 1 are all the same, i.e. the rates at which multiple data streams are transmitted from Src1 are all defined as the same rate.
Optionally, the source node may restore the first message to ECN messages of a plurality of data flows, where each ECN message 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 service flow 1, an address of a sink node of the service flow 1, and a first rate of the service flow 1. The service flow 2 corresponds to ECN message 2. The ECN message 2 includes information such as an address of a source node of the service flow 2, an address of a destination node of the service flow 2, and a first rate of the service 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.
Alternatively, the first packet may not carry the first rate, that is, the first packet only feeds back congestion information. For example, the first rate is not included in the first packet, and congestion is only indicated by the first identification information to the congested node. The source node can restore the service queue of the congestion node through the address of the source node, the identification information of a plurality of destination 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 sent by the plurality of congestion nodes respectively. The first message sent by each congestion node carries the speed 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 first rates. In order to ensure that congestion is not generated in the process that the service flow is transmitted to the sink node through the plurality of congestion nodes, the source node selects the minimum value in 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 a first message sent by the congestion node 1 and a first message sent by the congestion node 2. The first message sent by the congestion node 1 includes a first rate R 1 (t) determined by the congestion node 1. The first message sent by the congestion node 2 includes a first rate R 2 (t) determined by the congestion node 2. And the source node compares R 1 (t) with R 2 (t), and determines that the minimum value is the rate of sending the service message by the source node.
In one implementation, the source node may also receive a second message from the sink node. The second message is a mixed service message carrying ECN information and service payload sent by the sink node to the source node. In the existing ECN flow, when a congestion node detects that a service queue is congested, the congestion node adds a congestion identifier to a service flow. And finally, the service flow reaches the destination node through one or more congestion nodes, and the congestion identification 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 needs to send the ECN message through a separate out-of-band resource, the second message in this embodiment is a mixed service message. The second message is sent from the sink node to the source node along with the traffic flow.
For example, in the network shown in fig. 3a, the sink node receives traffic. The sink node determines that the traffic flow is added with a congestion flag, i.e. that there is congestion in the traffic flow in the network. Because the nodes in the network generally send data in two directions, that is, the sink node can also send service messages to the source node, and the information carried by the service messages is a service payload. The sink node integrates the ECN information with the service payload, generates a second message (i.e., a mixed service message), and sends the second message to the source node.
The second message in this embodiment includes, but is not limited to, the following information: the address of the source node, the address of the destination node, the second identification information, the second rate, the traffic payload, and the like.
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 destination node in the network, and the address of the destination 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 service payload sent by the sink node to the source 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 has both ECN flow control information and traffic payload transmitted).
The second rate is used for indicating the speed limiting rate of the source node for sending the service message, which is determined by the sink node. The speed limit rate is calculated by the host node. That is, the sink node may run a flow control algorithm to obtain a rate-limiting target rate.
The traffic payload is used to indicate data sent by the sink node to the source node. For example, data (no traffic header added) sent by the sink node to the source node is a traffic payload.
For example, after receiving the second message, the source node parses the second message. And the source node determines the second message to be the mixed service message according to the second identification information in the second message. The source node separates the 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 congestion node and a second packet sent by the sink node, i.e., 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 message and a second message according to an embodiment of the present application. As shown in fig. 3b, the source node 1 receives two first messages respectively sent by the congestion node 1 and the congestion node 2, and receives three second messages respectively sent by the sink node 1, the sink node 2 and the sink node 3.
The sink node can summarize congestion conditions of the service flow at a plurality of congestion nodes, and generate a second message according to the summarized congestion conditions. The second rate carried in the second packet is such that the traffic flow no longer generates congestion at the plurality of relay nodes. That is, the second message has a higher priority than the first message. The source node receives and analyzes the first message, acquires a first rate in the first message, and adjusts the rate of sending the service message by the source node according to the first rate. For example, if the first rate is lower than the rate at which the source node currently transmits the service message, the source node decreases the rate at which the service message is transmitted (i.e., sets the rate at which the service message is transmitted to the first rate). The source node receives and analyzes the second message, acquires a second rate in the second message, and adjusts the rate of sending the service message by the source node again according to the second rate. For example, the second rate is higher than the rate at which the source node sends the service message after adjustment (i.e., the rate at which the source node sends the service message after adjustment according to the first rate). This situation represents a congestion situation relief in the network. In order to increase the link resource utilization, the source node may increase the rate at which the traffic message is sent (i.e., set the rate at which the traffic message is sent to the second rate).
It can be seen that the embodiments of the present application provide a flow control method, which is performed by a source node. The source node receives the compressed flow control message which is directly and reversely sent by the congestion node, so as to instruct the source node to adjust the rate of sending the service message. The method not only realizes the quick response of the source node, and is beneficial to reducing the time of ECN flow, but also reduces the bandwidth resources occupied by the flow control message.
Fig. 4 is a flow chart of another flow control method according to an embodiment of the present application. The flow shown in fig. 4 is a specific process of interaction between a source node and a congestion 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 the 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 a 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 message according to the first message.
Wherein, when transmitting the service flow 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 the preset threshold value, the relay node detects congestion, and the relay node is the congestion node. The congested node will record the traffic flow entering the traffic queue and form a first flow table.
For example, the network as 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 the congestion of the service queue is detected into a first flow table shown in table 2.
Table 2: first flow table of congestion 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 |
Wherein f1 is the identity of traffic flow 1. Traffic flow 1 is traffic queue 1 entering the congested node from port 1. The source node of the service flow 1 is Src1, and the sink node of the service flow 1 is Dst1. Similarly, the other rows in table 2 correspondingly represent different traffic flows.
The congestion node may also update the first flow table after recording the first flow table. In particular, the congestion node groups traffic flows of the same source node in the first flow table into a set of homologous data flows that will correspond to a plurality of sink nodes. For example, the congestion node updates table 2, aggregating 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 homologous service flows according to the addresses of the source nodes to form an updated first flow table. The 4 traffic flows in fig. 5 are aggregated and categorized according to the address of the source node, resulting in two classes (i.e., two sets of homologous traffic flows). The updated first flow table is shown in table 3.
Table 3: first flow table updated by congestion node
And the updated first flow table is newly added with the identification of the homologous service flow, which represents a group of homologous service flows. The set of homologous traffic flows includes the address of a source node and the addresses of a plurality of sink nodes, i.e. the traffic flows aggregating the same source nodes.
In one implementation, the congestion node may add the first flow table to the ECN information after updating the first flow table. That is, the congested node defines a new flow control message format and generates a first message. 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 configured to carry a destination address, a source address, first identification information, first ECN information, and a first flow table of the first packet. For the description 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 the corresponding description in the embodiment of fig. 1, which is not repeated herein.
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 packet, and restores ECN information of each of the plurality of traffic flows (e.g., the traffic rate limit table of the homologous data flow shown in table 1). For specific implementation, reference may be made to the corresponding description in the embodiment of fig. 1, which is not repeated here.
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 message to the source node, and the first message is a compressed flow control message. The method not only realizes the quick response of the source node, but also is beneficial to reducing the time of ECN flow; and bandwidth resources occupied by the flow control message are reduced.
In an example, fig. 7 is a schematic flow chart of yet another flow control method according to an embodiment of the present application. The flow shown in fig. 7 is 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, and 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, and the second message is a mixed service message carrying ECN information and 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 a second message;
703, the source node analyzes the second message to obtain ECN information and 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 data transfer between the source node and the sink node is typically bi-directional. That is, the source node may send traffic to the sink node, which may also send traffic (commonly referred to as reverse packets) to the source node. In order to reduce consumption of bandwidth resources by the flow control message, in this embodiment, when the sink node detects that the service is congested and the sink node sends the service message to the source node, the sink node may mix ECN information sent by the sink node to the source node with a service payload (i.e., a reverse data packet) to generate a mixed service message (i.e., a second message).
In one possible implementation manner, the sink node sets a timer with the time T as a period, and controls the sink node to send the second message through the timer. Specifically, the sink node detects the port transmitting the reverse packet at the period T. If the port is not detected to send the reverse data packet in the time T, no traffic flow is indicated in the period T. The sink node directly sends the ECN message to the source node in the original mode, and the ECN message occupies out-of-band resources. If the port is detected to send the reverse data packet in the time T, the traffic flow is indicated to exist in the period T. And the sink node mixes the ECN information and the service payload to generate a second message, and sends the second message through resources for sending the service flow in-band.
The sink node mixes the ECN information and the service payload to generate a second message, which specifically includes the following steps: the sink node obtains a traffic payload to be sent and ECN information, the ECN information including a second rate. And the sink node combines the service payload to be transmitted and the ECN information into a mixed payload. 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 application. The timer set by the sink node detects the port by taking the time T as a period. If the period T is detected, the sink node sends a reverse data packet to the source node, the sink node integrates the service payload and ECN information into a mixed service message, and a mixed header is added. That is, the sink node generates the second message, and may implement hybrid transmission of service information and ECN information, as shown in fig. 8.
The second message includes 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 service payload field are respectively configured to carry a destination address, a source address, second identification information, second ECN information, and a service payload of the second packet. For descriptions of the destination address, the source address, the second identification information, the second ECN information, and the service payload of the second packet, refer to corresponding descriptions in the embodiment of fig. 1, which are not repeated herein.
It should be noted that the sink node encapsulates the destination address field, the source address field, and the second control field as a hybrid header. I.e. the hybrid header in this embodiment comprises a network address and a control field. When the source node receives the second message, the second message is identified as a mixed service message according to the mixed header. For example, the second identification information in the mixed header is used to indicate that 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 second ECN information field comprises a second rate, and the second rate is the speed limiting rate of the source node sending the service message, which is determined by the sink node. The detailed description of the second rate may refer to the corresponding description in the embodiment of fig. 1, which is not repeated herein.
The service payload field includes a service payload, which is data sent by the sink node to the source node. For example, the data in the reverse data packet to be sent from the sink node to the source node is the service payload, where the service payload does not include the service header.
The sink node generates a second message and then sends the second message to the source node; correspondingly, the source node receives the second message. The source node analyzes the second message and acquires ECN information and service payload in the second message. For example, the source node receives the second message as shown in fig. 8, and recognizes that the second message is a mixed service message by parsing the second control field in the mixed header. And the sink node separates the second ECN information field from the service payload field, acquires ECN information (such as a second rate and/or traffic rate limiting table) in the second ECN information field, and acquires a reverse data packet in the service payload field. The ECN information is used for limiting the rate 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 hybrid service packet. The sink 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 description of the flow control method provided in the embodiments of fig. 1 to 8, the implementation procedure of the flow control method in the optical service unit (optical service unit, OSU) system is described in detail below. Fig. 9 is a schematic diagram of a flow control method applied to an OSU system according to an embodiment of the present application. The source node in fig. 9 may refer to TOTN source nodes, and the sink node may refer to TOTN sink nodes. The traffic flow transmitted in the OSU system shown in fig. 9 is specifically an OSU fragment data flow.
Fig. 9 shows three transmission scenarios included in the method flows shown in fig. 1, fig. 4 and fig. 7. The first scenario is a scenario in which a TOTN source node sends a traffic flow to a TOTN sink node through a CP, and the CP detects congestion and directly sends a first message to a TOTN source node. The second scenario is a scenario in which the TOTN sink node determines congestion and sends a second message to the TOTN source node. The third scenario is a scenario in which the CP and TOTN sink nodes send the first message and the second message to the TOTN source node. The specific transmission steps are similar to the corresponding steps in fig. 1, 4 and 7, and will not be described again.
Wherein the OSU sliced data stream in fig. 9 can be mapped into optical data unit k (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 message sent by the CP in the OSU system to the TOTN source node is shown in fig. 10 a. The first message sent by the CP to the TOTN source node is divided into two parts, namely a general header and an OSU data unit. Where the generic header is a field already defined for the existing OSU hard pipe, the relevant information is typically carried by 32 bits (bits). The specific meaning of the present embodiment is not referred to in this embodiment, and will not be explained here. The data unit of the OSU system includes a destination tag field, a source tag field, a control field (including a high control field and a low control field), and an ECN information data unit, as shown in fig. 10 a.
In order to support address expansion, a destination Label (Dst-Label) and a source Label (Src-Label) are added in FIG. 10 a. Wherein Dst-Label is used to find the destination address of the OSU system (i.e. the destination address of the first message, i.e. the address of TOTN source node), dst-Label supports OSU addressing based on dynamic protocols or accomplishes OSU addressing by 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 slices (i.e. the source address of the first message, i.e. the CP address or a preset ECN flow control address). 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 recombination on a plurality of slices, the data source of each slice needs to be identified. For example, src-Label in this embodiment may be set to a preset ECN flow control address of 0x0000.
The high-order control field includes information bits such as a special control frame identifier (S), an operation code (operation code), and a priority (priority). The special control frame identifier is used for indicating 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 indicate 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 is an ECN flow control frame for implementing flow control. The priority of the OSU cell in the present embodiment is set to the highest priority. For example, the priority Pri has a value of 7.
The ECN information data unit includes a first rate and a plurality of traffic flow respective labels. For example, the first rate in the present embodiment may be represented by 2 bytes, and the tag of one traffic stream may be represented by 2 bytes.
It should be noted that the description of the format of the first message sent by the CP to the TOTN source node in the OSU system in the above implementation is only an example. Other implementations may be implemented besides the above, but the essence of the processing is that the information carried in the control field in the frame format is used to indicate that the first packet is a flow control frame, and the flow control information is carried in the ECN information data unit.
In one implementation, the format of the second message sent by the TOTN sink node in the OSU system to the TOTN source node is shown in fig. 10 b. The second message sent by the TOTN sink node to the TOTN source node may also be divided into two parts, which are a general header and a data unit of the OSU system respectively. Where the generic header is a field defined by the OSU, the relevant information is typically carried by 32 bits. The specific meaning of the present embodiment is not referred to in this embodiment, and will not be explained here. The data unit of the OSU system includes a destination tag field, a source tag 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.
The destination Label (Dst-Label) and the source Label (Src-Label) are also included in fig. 10b, similar to the first message shown in fig. 10 a. Wherein Dst-Label is used to find the destination address of the OSU system (i.e. the destination address of the second message, i.e. the address of TOTN source node). Dst-Label can 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 slices (i.e. the source address of the second message, i.e. the address of TOTN sink nodes or 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 (priority). For example, in this embodiment, the value of the special control frame identifier S is 10b, which indicates that the OSU cell is a hybrid cell.
The operation code is used to indicate 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 rate limiting rate, that is, the OSU cell carries the rate limiting rate of the source node sending the service message determined by the sink node. The priority of the OSU cell in the present embodiment is set to the highest priority.
The ECN information field includes a second rate, which in this embodiment may be represented using 16 bits, for example. The payload field includes a traffic payload. For example, the traffic payload in this embodiment may be carried by 176 bytes (Byte) at maximum.
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 above implementation is only an example. Other implementations may be implemented besides the above, but the essence of the processing is that the information carried in the control field in the frame format is used to indicate that the second packet is a hybrid frame, and the flow control information is carried in the second packet.
In one implementation, a second message sent by a TOTN sink node in an OSU system to a TOTN source node is divided into a plurality of slices. Because the second message is a mixed ECN information and service payload, when the sink node slices the second message, the ECN information (the number of bytes occupied is less than the total number of bytes of one slice) and part of the service payload are spliced into a mixed cell, and the rest cells are service cells, as shown in fig. 11 a. The sink node may also differentially encapsulate 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, a control field (including a high control field and a low control field) as in fig. 10 b. The sink node adds a service cell header for the service payload, and the service cell header may be in 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 mixed cell is preferably placed in the first slice, so that the source node recognizes the OSU cell as the mixed cell through the mixed cell header. Optionally, when the sink node slices the second message, the slice length in the OSU is designated as a fixed length 192Byte. That is, the total length of the ECN information and the service payload is 192 bytes, thereby eliminating the problem that the cell header exceeds the allowed length of the data transfer unit due to the insertion of the ECN.
The source node receives a plurality of slices as shown in fig. 11a, and identifies the first slice as a hybrid cell by a control field (S bits) in the cell header. The source node separates ECN information in the hybrid cell from the traffic payload according to a predefined hybrid cell format, as shown in fig. 11 b. The separated ECN information (including the second rate) and Dst-Label and Src-Label in the mixed cell head are reconstructed into ECN messages, which are used for realizing flow rate limiting of the source node. The separated service payload is used for service reorganization together with the service payloads carried in other service cells, that is, the reverse data packet sent by the sink node to the source node is restored, as shown in fig. 11 b. It can be seen that the implementation manner 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 should be appreciated that the flow control device shown in fig. 12-15 can implement one or more of the steps of the method flows shown in fig. 1, 4, and 7. To avoid repetition, details are not repeated here.
Fig. 12 is a schematic diagram 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 transceiver unit 1201 and a processing unit 1202. The transceiver 1201 is configured to receive a first packet from a congestion node, where the first packet is a flow control packet that compresses ECN information of a plurality of 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 one implementation, the transceiver 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, the transceiver unit 1201 is further configured to receive a plurality of first messages sent by a plurality of congestion nodes respectively. The processing unit 1202 is further configured to determine a minimum value of the first rates in the plurality of first packets as a rate at which the source node sends the service packet.
In one implementation, if the transceiver unit 1201 receives the first message and the second message, the processing unit 1202 is further configured to adjust a rate at which the source node sends the service message according to the first rate in the first message. The processing unit 1202 is further configured to readjust the rate at which the source node sends the service message according to the second rate in the second message.
Fig. 13 is a schematic view of another flow control device according to 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 transceiver unit 1302. The processing unit 1301 is configured to generate a first packet when the processing unit 1301 detects that a length of a service queue exceeds a queue threshold value. The first message is a flow control message compressing ECN information of a plurality of data flows sent by the same source node. The transceiver 1302 is configured to send a first message to a source node.
In one implementation, the processing unit 1301 is configured to generate, when the processing unit 1301 detects that the length of the service queue exceeds the queue threshold value, a first packet, including:
When 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 a plurality of data flows entering the service queue;
Updating a first flow table, wherein the updated first flow table comprises one or more groups of homologous data flows, and the homologous data flows comprise a plurality of data flows sent by the same source node;
And generating a first message corresponding to one or more groups of homologous data streams respectively.
In one implementation, the transceiver unit 1302 is configured to send a first packet to a source node, including:
The transceiver 1302 is configured to send corresponding first messages to one or more source nodes corresponding to one or more groups of homologous data streams, respectively.
Fig. 14 is a schematic view of yet another flow control device according to 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 message when the processor detects traffic congestion in a preset time period and the sink node sends a traffic message to the source node. The second message is a mixed service message carrying ECN information and service payload sent by the sink node to the source node. The transceiver 1402 is configured to send a second message 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 in a preset period of time and the sink node sends a traffic packet to the source node, where the second packet includes:
Combining ECN information and service payloads 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; 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 service payload sent by the sink node to the source node.
In one example, the relevant functions implemented by the respective units in fig. 12 to 14 may be implemented by a chip. Fig. 15 is a schematic diagram of yet another flow control device provided in accordance with an embodiment of the present application, which may be a device (e.g., a chip) having the flow control functions described in connection with the embodiments 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 interconnected by one or more communication buses, or may be connected in other ways.
In one implementation, interface 1501 is used to receive data, or to transmit data. For example, the interface 1501 is used to send and receive the first message or the second message.
In one implementation, the processor 1502 is configured to process data. For example, the processor is configured to perform the optional steps of the foregoing method embodiments. The processor 1502 may include one or more processors, for example the processor 1502 may be one or more central processing units (central processing unit, CPU), network processors (network processor, NP), hardware chips, or any combination thereof. In the case where the processor 1502 is a 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 storing a program or instructions that, when executed on a computer, cause the computer to perform a flow control method in the embodiments of the present application.
The embodiment of the application provides a chip or a chip system, which comprises at least one processor and an interface, wherein the interface and the at least one processor are interconnected through a line, and the at least one processor is used for running a computer program or instructions to perform the flow control method in the embodiment of the application. The interface may be an input/output interface, a pin, a circuit, or the like.
The chip system in the above aspect may be a System On Chip (SOC), a baseband chip, etc., where the baseband chip may include a processor, a channel encoder, a digital signal processor, a modem, an interface module, etc.
In the above embodiments, it may be implemented in whole or in part by software, hardware, firmware, or any combination thereof. When implemented in software, 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 the computer instructions are loaded and executed on a computer, the processes or functions described in accordance with embodiments of the present application are produced in whole or in part. The computer may be a general purpose computer, a special purpose computer, a computer network, or other programmable apparatus. The computer instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another computer-readable storage medium, for example, the computer instructions may be transmitted from one website, computer, server, or data center to another website, computer, server, or data center by a wired (e.g., coaxial cable, fiber optic, digital subscriber line (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 data storage devices, such as servers, data centers, etc., that contain an integration of 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 high-density digital video disc (digital video disc, DVD)), or a semiconductor medium (e.g., a solid-state disk (solid-state drive STATE DISK, SSD)), or the like.
Those of ordinary skill in the art will appreciate that the elements and algorithm steps described in connection with the embodiments disclosed herein may be embodied in electronic hardware, in computer software, or in a combination of the two, and that the elements and steps of the examples have been generally described in terms of function in the foregoing description to clearly illustrate 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 solution. 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 foregoing is merely illustrative of the present application, and the present application is not limited thereto, and any person skilled in the art will readily recognize that variations or substitutions are within 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 (19)
1. A method of flow control, 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 compressing Explicit Congestion Notification (ECN) information of a plurality of data flows sent by the source node;
the source node receives a second message from a sink node, wherein the second message is a mixed service message carrying ECN information and service payload sent by the sink node to the source node;
and the source node determines the rate of sending the service message according to the first message and the second message.
2. The method of claim 1, 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 source node;
the first rate is used for indicating the speed limiting rate of the source node sending the service message, which is determined by the congestion node;
The identification information of the plurality of sink nodes is used for indicating the sink nodes respectively corresponding to the plurality of data streams sent by the source node.
3. The method according to claim 1 or 2, wherein the second message comprises:
An address of the source node;
The second identification information is used for indicating that the second message is a mixed service message carrying ECN information and service payload sent by the sink node to the source node;
the second rate is used for indicating the speed limiting rate of the source node sending the service message, which is determined by the sink node;
and the service payload is used for indicating the data sent by the sink node to the source node.
4. The method of claim 3, wherein the first identification information is included in a first control field of the first message; 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 message and the second rate is included in a second ECN information field of the second message.
5. The method according to claim 1 or 2, wherein the source node receives a first message from a congested node, comprising:
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 method comprises the following steps:
And the source node determines that the minimum value of the first rates in the plurality of first messages is the rate of sending the service message by the source node.
6. The method of claim 5, wherein the source node determining a rate at which to send traffic messages based on the first and second messages comprises:
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.
7. A method of flow control, for use with 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 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 homologous data flows and the identification of homologous service flows corresponding to the one or more groups of homologous data flows respectively; the identification of the homologous service flow is used for indicating a plurality of data flows sent by the same source node;
the congestion node adds the updated first flow table to ECN information to generate a first message;
and the congestion node sends the first message to the source node.
8. The method of claim 7, wherein the congestion node sending the first message to a source node comprises:
And the congestion node respectively sends corresponding first messages to one or more source nodes corresponding to the one or more groups of homologous data streams.
9. The method according to claim 7 or 8, 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;
the first rate is used for indicating the speed limiting rate of the source node sending the service message, which is 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 same source node.
10. A flow control device, comprising:
The interface is used for receiving a first message from the congestion node, wherein the first message is a flow control message compressing Explicit Congestion Notification (ECN) information of a plurality of data flows sent by the source node;
The interface is further configured to receive a second packet from a destination node, where the second packet is a mixed service packet carrying ECN information and a service payload sent by the destination node to the source node;
and the processor is used for determining the rate of sending the service message according to the first message and the second message.
11. The apparatus of claim 10, 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 source node;
the first rate is used for indicating the speed limiting rate of the source node sending the service message, which is determined by the congestion node;
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.
12. The apparatus according to claim 10 or 11, wherein the second message comprises:
An address of the source node;
The second identification information is used for indicating that the second message is a mixed service message carrying ECN information and service payload sent by the sink node to the source node;
the second rate is used for indicating the speed limiting rate of the source node sending the service message, which is determined by the sink node;
and the service payload is used for indicating the data sent by the sink node to the source node.
13. The apparatus of claim 12, wherein the first identification information is included in a first control field of the first message; 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 message and the second rate is included in a second ECN information field of the second message.
14. The apparatus according to claim 10 or 11, wherein the interface is configured to receive a first message from a congested node, comprising:
The interface is used for receiving a plurality of first messages sent by a plurality of congestion nodes respectively;
the processor is configured to determine, according to the first packet, a rate at which the source node sends a service packet, where the determining 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 the service message.
15. The apparatus of claim 14, wherein the device comprises a plurality of sensors,
If the interface receives the first message and the second message, the processor is further configured to adjust a rate of sending a service message by a source node according to a first rate in the first message;
the processor is further configured to readjust a rate at which the source node sends the service message according to the second rate in the second message.
16. A flow control device, comprising:
the processor is used for establishing a first flow table when the processor detects that the length of the service queue exceeds the queue threshold value, wherein the first flow table comprises a plurality of data flows entering the service queue;
The processor is further configured to update the first flow table, where the updated first flow table includes one or more groups of homologous data flows, and identifiers of homologous service flows corresponding to the one or more groups of homologous data flows respectively; the identification of the homologous service flow is used for indicating a plurality of data flows sent by the same source node;
the processor is further configured to add the updated first flow table to ECN information, and generate a first packet;
And the interface is used for sending the first message to the source node.
17. The apparatus of claim 16, wherein the interface configured to send the first message to a source node comprises:
the interface is used for respectively sending corresponding first messages to one or more source nodes corresponding to the one or more groups of homologous data streams.
18. The apparatus according to claim 16 or 17, 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;
the first rate is used for indicating the speed limit rate of the source node sending the service message, which is 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 same source node.
19. A flow control system comprising a flow control device according to any one of claims 10 to 15 and a flow control device according to any one of claims 16 to 18.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110201018.8A CN114979002B (en) | 2021-02-23 | 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 | 2021-02-23 | Flow control method and flow control device |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114979002A CN114979002A (en) | 2022-08-30 |
CN114979002B true CN114979002B (en) | 2024-07-30 |
Family
ID=82954459
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110201018.8A Active CN114979002B (en) | 2021-02-23 | 2021-02-23 | Flow control method and flow control device |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114979002B (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116582492B (en) * | 2023-07-14 | 2023-09-26 | 珠海星云智联科技有限公司 | Congestion control method, system and storage medium for optimizing RDMA reading |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102474452A (en) * | 2009-07-02 | 2012-05-23 | 高通股份有限公司 | Transmission of control information across multiple packets |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013158115A1 (en) * | 2012-04-20 | 2013-10-24 | Hewlett-Packard Development Company, L.P. | Controlling data rates of data flows based on information indicating congestion |
GB2577531A (en) * | 2018-09-27 | 2020-04-01 | Tcl Communication Ltd | Congestion management in a wireless communications network |
-
2021
- 2021-02-23 CN CN202110201018.8A patent/CN114979002B/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102474452A (en) * | 2009-07-02 | 2012-05-23 | 高通股份有限公司 | Transmission of control information across multiple packets |
Also Published As
Publication number | Publication date |
---|---|
CN114979002A (en) | 2022-08-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109391560B (en) | Network congestion notification method, proxy node and computer equipment | |
USRE45570E1 (en) | Data transmission method using packet aggregation | |
WO2021232568A1 (en) | Method, terminal and system for transceiving data over wireless local area network, and network access device | |
CN108965157B (en) | Data transmission method, device, equipment and system | |
CN110943933A (en) | Method, device and system for realizing data transmission | |
US8249107B2 (en) | Method and apparatus for frame relay | |
CN102136959A (en) | Ethernet link management method, device and system | |
KR20220006606A (en) | Message processing method and related device | |
US6434165B1 (en) | Method and system to abort data communication traffic in a communication network | |
CN109691031B (en) | Service message transmission method and node equipment | |
US9036640B2 (en) | Encapsulation of data | |
CN114979002B (en) | Flow control method and flow control device | |
CN102487330B (en) | Method and device for sending operation, administration and maintenance messages | |
CN110943919A (en) | Link aggregation transmission method, device, terminal and storage medium | |
EP2077637B1 (en) | System and method for protecting payload information in radio transmission | |
US20230308788A1 (en) | Communication method and apparatus | |
CN107104813B (en) | Information transmission method, gateway and controller | |
CN111817986A (en) | Message processing method and device and computer readable storage medium | |
WO2021213382A1 (en) | Data transmission method and apparatus | |
CN114079583A (en) | Method for sending multicast message, method and device for obtaining forwarding table item | |
US8693491B2 (en) | Packet transmission device, signal terminating device, communication system, and communication method | |
CN107222299A (en) | A kind of data transmission method, system and electronic equipment | |
JP2020205531A (en) | Network monitoring device, transmission device, and network monitoring method | |
US20040114640A1 (en) | System, method and device for aggregating SONET links | |
CN115190164B (en) | Network communication method, device, computer equipment and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |