CN113676406A - Network flow control method and device - Google Patents

Network flow control method and device Download PDF

Info

Publication number
CN113676406A
CN113676406A CN202010406829.7A CN202010406829A CN113676406A CN 113676406 A CN113676406 A CN 113676406A CN 202010406829 A CN202010406829 A CN 202010406829A CN 113676406 A CN113676406 A CN 113676406A
Authority
CN
China
Prior art keywords
node
characteristic information
routing
flow
routing node
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202010406829.7A
Other languages
Chinese (zh)
Inventor
吴波
肖诗汉
毛海燕
刘文杰
李丰林
孙晓晴
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202010406829.7A priority Critical patent/CN113676406A/en
Publication of CN113676406A publication Critical patent/CN113676406A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/123Evaluation of link metrics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/54Organization of routing tables

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 network flow control method and a network flow control device, which are used for improving the efficiency of message forwarding and achieving the purposes of load balancing and the like. The method comprises the following steps: the routing node receives a first data message of the data stream, wherein the first data message carries stream characteristic information used for representing the transmission characteristics of the data stream. The routing node determines a control decision based on the current local node characteristic information and the current flow characteristic information, wherein the control decision comprises at least one of the following items: control decisions on data flows, control decisions on routing nodes. The current local node characteristic information is obtained by updating the local node characteristic information recorded by the routing node or the local node characteristic information recorded by the routing node according to the flow characteristic information carried by the first data message. The current flow characteristic information is obtained by updating the flow characteristic information carried by the first data message or the flow characteristic information carried by the first data message according to the local node characteristic information recorded by the routing node.

Description

Network flow control method and device
Technical Field
The present application relates to the field of communications technologies, and in particular, to a method and an apparatus for controlling network traffic.
Background
Currently, the internet becomes an important resource for network users to communicate with each other, and network devices, routing protocols, are an important infrastructure of the current internet. Network devices (e.g., routers, switches, etc.) communicate with each other and generate and maintain routing tables based on routing protocols. When receiving the data message, the routing table is inquired according to the destination address of the message head so as to obtain a forwarding port, and the normal forwarding of the data message is realized, so that the normal communication of the network user is realized.
Under a traditional routing protocol, a router generates a forwarding information table (forwarding information base FIB) depending on a routing table, and forwards a data message according to the FIB table. However, this FIB forwarding-based mechanism has two drawbacks: (1) the router needs to store more FIB entries, which may generate a large storage overhead, so that the FIB entries stored outside the routing nodes need to be queried during message forwarding, which seriously affects the forwarding efficiency. (2) The FIB-based message forwarding can achieve the Shortest Path First (SPF) goal, but cannot achieve other goals such as load balancing.
Disclosure of Invention
The embodiment of the application provides a network flow control method and a network flow control device, which are used for improving the efficiency of message forwarding and achieving the purposes of load balancing and the like.
In a first aspect, the method for controlling network traffic provided in the embodiments of the present application may be applied to a routing node, and may also be applied to a chip or a chipset in the routing node. Taking the application to a routing node as an example, the method includes:
the routing node receives a first data message of a data stream, wherein the first data message carries stream characteristic information, and the stream characteristic information is used for representing transmission characteristics of the data stream. The routing node determines a control decision based on the current local node characteristic information and the current flow characteristic information, wherein the control decision comprises at least one of the following items: the method comprises the steps of making a control decision on a data stream and a control decision on a routing node, wherein current local node characteristic information is local node characteristic information recorded by the routing node, or the current local node characteristic information is obtained by updating the local node characteristic information recorded by the routing node according to stream characteristic information carried by a first data message, and the local node characteristic information is used for representing a node state of the routing node; the current flow characteristic information is flow characteristic information carried by the first data message, or the current flow characteristic information is obtained after the flow characteristic information carried by the first data message is updated according to local node characteristic information recorded by the routing node.
Compared with a FIB-based forwarding mechanism, in the embodiment of the application, the routing node performs flow control by combining the flow characteristics and the node characteristics of the data flow, so that the storage overhead can be reduced, the forwarding efficiency of the data message can be improved, and other targets such as load balancing and the like can be realized while the SPF target is realized. In addition, the method provided by the embodiment of the application can realize differentiated control of the data stream, and adjust the forwarding path of the data message based on the stream characteristics of the data stream, so that congestion or failure packet loss can be avoided, low time delay of the data message can be further ensured, and SLA requirements of the data message can be met.
In one possible design, the routing node receives neighboring node characteristic information sent by the neighboring node, and updates local node characteristic information recorded by the routing node based on the neighboring node characteristic information, wherein the neighboring node characteristic information is used for representing a node state of the neighboring node. Through the design, the routing node can consider the node state of the adjacent node when selecting to carry out data flow and node control, thereby improving the rationality of data flow control and node control.
In one possible design, when the routing node updates the local node feature information recorded by the routing node based on the adjacent node feature information, the local node feature information recorded by the routing node and the adjacent node feature information may be input into the first model, and the first model is used to update the local node feature information according to the adjacent node feature information. In the design, the characteristic information of the local node is updated through the neural network model, so that the accuracy can be improved.
In a possible design, the routing node inputs the flow characteristic information carried by the first data packet and the local node characteristic information recorded by the routing node into the second model, and the second model is used for updating the input local node characteristic information according to the input flow characteristic information and updating the input flow characteristic information according to the input local node characteristic information. In the above design, the accuracy of controlling the routing node can be improved by updating the local node characteristic information according to the flow characteristic information, and the data flow control can be improved by updating the flow characteristic information according to the local node characteristic information.
In one possible design, the routing node may also enter the identification of the first data packet into the second model.
In one possible design, when the routing node determines a control decision based on the current local node characteristic information and the current flow characteristic information, the current local node characteristic information and the current flow characteristic information may be input into a third model, and the third model is used to determine the control decision. In the design, the data flow and the routing node are controlled and decided through the neural network model, so that the accuracy can be improved.
In one possible design, the routing node may also enter the identification of the first data packet into the third model.
In one possible design, the control decision for the data flow includes at least one of: a first rate for sending the first data packet, a forwarding port for sending the first data packet, and a first expected rate for the data stream.
In one possible design, the control decision for the routing node includes at least one of: port rate, queue scheduling.
In one possible design, the local node characteristic information includes at least one of the following parameters: queue length, link utilization, queue utilization.
In one possible design, the flow characteristic information carried in the first data packet includes at least one of the following parameters: and the previous hop node of the routing node sends a second rate of the first data message, a second expected rate of the data stream, time delay information, packet loss information and jitter information, wherein the second expected rate is determined by the previous hop node of the routing node.
In a possible design, if the routing node is the first node, the second rate is an expected rate carried by a second data packet of the data stream when the second data packet reaches the destination node, and the second data packet is a previous data packet of the first data packet.
In a second aspect, the present application provides a network traffic control device, which may be a routing node, or a chip or chip set in the routing node. The apparatus may comprise a processing unit and may further comprise a communication unit. When the apparatus is a routing node, the processing unit may be a processor and the communication unit may be a transceiver; the apparatus may further include a storage module, which may be a memory; the storage module is configured to store an instruction, and the processing unit executes the instruction stored in the storage module, so as to enable the routing node to perform the corresponding function in the first aspect. When the apparatus is a chip or chipset within a routing node, the processing unit may be a processor, the communication unit may be an input/output interface, a pin or a circuit, etc.; the processing unit executes the instructions stored by the storage module to cause the routing node to perform the corresponding functions of the first aspect. The memory module may be a memory module (e.g., register, cache, etc.) within the chip or chipset, or may be a memory module (e.g., read-only memory, random access memory, etc.) external to the chip or chipset within the network device.
In a third aspect, a network flow control device is provided, including: a processor, a communication interface, and a memory. The communication interface is used for transmitting information, and/or messages, and/or data between the device and other devices. The memory is used for storing computer executable instructions, and when the device runs, the processor executes the computer executable instructions stored in the memory, so that the device executes the scheduling method designed according to any one of the first aspect.
In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium, which stores program instructions, and when the program instructions are executed on a routing node, the routing node is caused to execute the first aspect and any possible design thereof. By way of example, computer readable storage media may be any available media that can be accessed by a computer. Taking this as an example but not limiting: a computer-readable medium may include a non-transitory computer-readable medium, a random-access memory (RAM), a read-only memory (ROM), an electrically erasable programmable read-only memory (EEPROM), a CD-ROM or other optical disk storage, a magnetic disk storage medium or other magnetic storage device, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer.
In a fifth aspect, embodiments of the present application provide a communication device comprising a processor, wherein when the processor executes a computer program or instructions in a memory, the method according to the first aspect is performed.
In a sixth aspect, embodiments of the present application provide a communications apparatus, which includes a processor and a memory, where the memory is used to store a computer to execute a computer program or instructions; the processor is configured to execute a computer program or instructions stored by the memory to cause the communication device to perform the corresponding method as shown in the first aspect above.
In a seventh aspect, an embodiment of the present application provides a communication apparatus, where the communication apparatus includes a processor, a memory, and a transceiver, where the transceiver is configured to receive a signal or transmit a signal; the memory for storing program code or instructions; the processor is configured to call the program code or instructions from the memory to perform the method according to the first aspect.
In an eighth aspect, embodiments of the present application provide a communication device, which includes a processor and an interface circuit, where the interface circuit is configured to receive computer program codes or instructions and transmit the computer program codes or instructions to the processor; the processor executes the computer program code or instructions to perform the respective method as shown in the first aspect above.
In a ninth aspect, embodiments of the present application provide a computer program product comprising computer program code or instructions, which when executed, causes the method of the first aspect to be implemented. Illustratively, the computer program product may be a computer program product comprising a non-transitory computer readable medium.
In addition, for technical effects brought by the second aspect to the ninth aspect, reference may be made to the description of the first aspect, and details are not described here.
Drawings
Fig. 1 is a schematic architecture diagram of a communication system according to an embodiment of the present application;
fig. 2 is a schematic flowchart of a network traffic control method according to an embodiment of the present application;
fig. 3 is a schematic diagram of feature information of an interactive node according to an embodiment of the present application;
fig. 4 is a schematic diagram of an NN1 according to an embodiment of the present disclosure;
fig. 5 is a schematic diagram of a message transmission provided in an embodiment of the present application;
fig. 6 is a schematic diagram of an NN2 according to an embodiment of the present disclosure;
fig. 7 is a schematic diagram of an NN3 according to an embodiment of the present disclosure;
fig. 8 is a schematic diagram of a routing node performing network traffic control according to an embodiment of the present application;
fig. 9 is a schematic diagram of a routing path according to an embodiment of the present application;
fig. 10 is a schematic structural diagram of a network flow control device according to an embodiment of the present disclosure;
fig. 11 is a schematic structural diagram of a communication device according to an embodiment of the present application.
Detailed Description
Currently, the internet is an important resource for network users to communicate with each other, and network devices (e.g., routers, switches, etc.) communicate with each other and generate and maintain routing tables based on routing protocols. When the routing node receives the data message, the routing table is inquired according to the destination address of the message head so as to obtain a forwarding port, and the normal forwarding of the data message is realized, so that the normal communication of the network user is realized.
Currently, the internet is composed of a plurality of Autonomous Systems (AS), and interconnection and intercommunication between the ases and the interiors of the ases are respectively realized through Border Gateway Protocol (BGP) and Interior Gateway Protocol (IGP), so AS to guarantee reachability of the whole internet. Open Shortest Path First (OSPF) and intermediate system to intermediate system (IS-IS) are two typical IGPs, and are mainly characterized in that adjacent routing nodes mutually advertise link state information, and each routing node generates a corresponding routing table based on the link state information and shortest path target calculation, and forwards a received data packet by querying the routing table.
Under a traditional routing protocol, a routing node generates a forwarding information table (FIB) depending on a routing table, and forwards a data packet according to the FIB table. However, this FIB forwarding-based mechanism has two drawbacks: (1) routing nodes need to store more FIB table items, and larger storage cost is generated, so that the FIB table items stored outside the routing nodes need to be inquired when the message is forwarded, and the forwarding efficiency is seriously influenced; (2) the FIB-based message forwarding can achieve the Shortest Path First (SPF) goal, but cannot achieve other goals such as load balancing.
Based on this, embodiments of the present application provide a method and an apparatus for controlling network traffic, so as to solve the problems in the prior art that the efficiency of a method for forwarding a data packet based on an FIB is low. The method and the device are based on the same inventive concept, and because the principles of solving the problems of the method and the device are similar, the implementation of the device and the method can be mutually referred, and repeated parts are not repeated.
The embodiment of the application can be applied to a communication system, and the communication system can comprise at least one service node and at least one routing node, wherein one routing node can be connected with one or more service nodes. The routing node may be configured to provide service routing, e.g., routing traffic packets sent by the user equipment to the service node. The service node refers to a node providing services for users, and may also be referred to as an edge computing node, and the service node may also have a message routing function, and thus may also serve as a routing node. Fig. 1 is a schematic structural diagram of a communication system, and it should be understood that fig. 1 is only an exemplary illustration and does not specifically limit the number of routing nodes and service nodes included in the communication system.
The communication system of the embodiment of the present application may be in various different types of data communication networks, such as a data center network, a wide area network, a metropolitan area network, a local area network, mobile communication, and the like, and both the router and the switch deployed in the data communication network may forward the packet by using the network traffic control method provided in the embodiment of the present application.
It should be understood that "at least one" in the embodiments of the present application means one or more, "a plurality" means two or more. "and/or" describes the association relationship of the associated objects, meaning that there may be three relationships, e.g., a and/or B, which may mean: a alone, both A and B, and B alone, where A, B may be singular or plural. The character "/" generally indicates that the former and latter associated objects are in an "or" relationship. "at least one of the following" or similar expressions refer to any combination of these items, including any combination of the singular or plural items. For example, at least one (one) of a, b, or c, may represent: a, b, c, a and b, a and c, b and c, or a, b and c, wherein a, b and c can be single or multiple.
In addition, it is to be understood that the terms first, second, etc. in the description of the present application are used for distinguishing between the descriptions and not necessarily for describing a sequential or chronological order.
It should be understood that all devices having a message routing function, such as a routing device, a switch, and the like, may be understood as a routing node in this embodiment of the present application. It is understood that the source node sending the packet may also be understood as a routing node.
In the embodiment of the application, the local node characteristic information is the node characteristic information of the routing node, and the adjacent node characteristic information is the node characteristic information of the adjacent node.
In this embodiment of the application, the expected rate is a maximum rate supported by the data stream, the delay information is a delay generated by the data stream at present, the packet loss information is a maximum packet loss number or a packet loss rate supported by the data stream, and the jitter information is a maximum jitter supported by the data stream.
The embodiments of the present application will be described in detail below with reference to the accompanying drawings.
An embodiment of the present application provides a network traffic control method, which may be as shown in fig. 2, and the method may be applied to the communication system shown in fig. 1, where the method specifically includes:
s201, the routing node receives adjacent node characteristic information sent by the adjacent node, the adjacent node characteristic information is used for representing the node state of the adjacent node, and the routing node updates local node characteristic information recorded by the routing node based on the adjacent node characteristic information. For example, the neighbor node characteristic information may be updated into the local node characteristic information, i.e., the updated local node characteristic information may include relevant information characterizing the neighbor node characteristic information.
Illustratively, the node characteristic information may include, but is not limited to, at least one of the following parameters: queue length, link utilization, queue utilization. The routing node may generate node characteristic information by combining information such as a queue state of the routing node, a state of a link connected to the routing node, and the like, where the queue state of the routing node may be represented by a queue length, a queue utilization rate, and the like. The state of the link to which the routing node is connected may be expressed in terms of link utilization or the like. For example, node _ tv ═ concat (Vec _ queue, Vec _ link).
Wherein, node _ tv is node state information. Vec _ queue is the queue state of the routing node. Vec _ link is the state of the link to which the routing node is connected; concat (x, y) may indicate that x and y are concatenated together, which is a coding scheme.
In the embodiment of the present application, the routing nodes may periodically interact with respective node feature information, for example, as shown in fig. 3. The routing node can also send the node characteristic information of the routing node to other routing nodes when the node characteristic information of the routing node changes, correspondingly, the routing node can periodically receive the adjacent node characteristic information sent by the adjacent node, and also can receive the adjacent node characteristic information sent by the adjacent node when the node characteristic information of the adjacent node changes.
In one possible implementation manner, the routing node may input the local node feature information and the neighboring node feature information recorded by the routing node into the first model, and the first model is configured to update the local node feature information recorded by the routing node according to the neighboring node feature information. For convenience of description, the first model will be referred to as a Neural Network (NN) 1 below.
For example, as shown in fig. 4, the routing node may update the local node characteristic information using the NN1 according to the local node characteristic information and the neighbor node characteristic information. Illustratively, node _ tv is NN1(node _ tv1, node _ adj), where node _ tv is local node feature information recorded after a routing node is updated, node _ tv1 is local node feature information recorded before the routing node is updated, and node _ adj is neighbor node feature information.
S202, the routing node receives a first data message of the data stream, wherein the first data message carries stream characteristic information, and the stream characteristic information is used for representing the transmission characteristics of the data stream.
Illustratively, the flow characteristic information carried by the first data packet may include, but is not limited to, at least one of the following parameters: service-level aggregation (SLA) requirements, a second rate at which a previous hop node of a routing node sends a first data packet, a second expected rate of a data stream, delay information, packet loss information, and jitter information, where the second expected rate is determined by the previous hop node of the routing node. If the first data packet is not the first packet of the data flow, the second rate in the flow characteristic information of the first data packet may be an expected rate carried when the second data packet of the data flow reaches the destination node, and the second data packet is the previous data packet of the first data packet.
In an exemplary illustration, if the routing node is a head node, the routing node may write the flow characteristic information of the first data packet into a header of the first data packet, where if the first data packet is a head packet of a data flow, the routing node may initialize a parameter, other than the SLA requirement, in the flow characteristic information of the first data packet to 0.
S203, the routing node determines a control decision based on the current local node characteristic information and the current flow characteristic information, wherein the control decision comprises at least one of the following items: control decisions on data flows, control decisions on routing nodes. Thus, the routing node adjusts the forwarding behavior of the flow according to the control decision on the data flow and the control decision on the routing node, and can also control the routing node according to the control decision on the routing node.
The current local node feature information may be local node feature information recorded by the routing node, or the current local node feature information may also be obtained by updating the local node feature information recorded by the routing node according to the flow feature information carried in the first data packet, where the local node feature information is used to represent a node state of the routing node. If the current local node feature information may also be obtained after the local node feature information recorded by the routing node is updated according to the flow feature information carried in the first data packet, before step S203, the routing node may update the local node feature information recorded by the routing node according to the flow feature information carried in the first data packet, and use the updated local node feature information as the current local node feature information. For example, the flow characteristic information may be updated into the local node characteristic information, i.e. the updated local node characteristic information may include relevant information characterizing the flow characteristic information.
The current flow characteristic information may be flow characteristic information carried by the first data packet, or the current flow characteristic information may also be obtained by updating the flow characteristic information carried by the first data packet according to local node characteristic information recorded by the routing node. If the current flow characteristic information may also be obtained after the flow characteristic information carried in the first data packet is updated according to the local node characteristic information recorded by the routing node, before step S203, the routing node may update the flow characteristic information carried in the first data packet according to the local node characteristic information recorded by the routing node, and use the updated flow characteristic information as the current flow characteristic information. For example, the routing node may update the desired rate in the flow characteristic information based on queue length, link utilization in the local node characteristic information. For example, if the queue length in the local node characteristic information is high and the link utilization rate is high, the routing node may decrease the expected rate in the flow characteristic information.
For another example, the routing node may update the delay information in the flow characteristic information according to the queue length and the link utilization in the local node characteristic information. For example, if the queue length and the link utilization rate in the local node feature information are high, the routing node may write a large delay information value in the flow feature information.
For another example, the routing node may update the expected rate in the flow characteristic information according to the relevant information in the local node characteristic information for characterizing the characteristic information of the neighboring node. For example, if the queue length and link utilization of the neighboring node are large, the routing node may decrease the expected rate in the flow characteristic information.
In the embodiment of the present application, the updating sequence of the local node characteristic information and the flow characteristic information is not specifically limited, and the flow characteristic information may be updated first, and then the local node characteristic information may be updated. Or, the local node characteristic information may be updated first, and then the flow characteristic information may be updated. Alternatively, the local node characteristic information and the flow characteristic information may be updated simultaneously.
In a possible implementation manner, the routing node may implement updating of local node feature information and flow feature information by using a neural network model, for example, the routing node may input the flow feature information carried in the first data packet and the local node feature information recorded by the routing node into a second model, the second model inputs the updated local node feature information and the updated flow feature information, and the second model is configured to update the input local node feature information according to the input flow feature information and update the input flow feature information according to the input local node feature information.
For example, when receiving the first data packet, the intermediate routing node updates the flow state characteristic information of the first data packet and the local node characteristic information recorded by the routing node based on the NN2, as shown in fig. 5. For convenience of description, the second model will be referred to as NN2 hereinafter.
In addition, when the routing node updates the local node characteristic information and the flow characteristic information by using the NN2, the input data of the NN2 may include an identifier of the first data packet in addition to the flow characteristic information carried in the first data packet and the local node characteristic information recorded by the routing node, that is, the routing node may also input the identifier of the first data packet into the NN 2.
The identifier of the first data packet may be carried in the first data packet, so that the routing node may obtain the identifier of the first data packet from the first data packet. Alternatively, the identifier of the first data packet may be determined by the routing node according to an identifier calculation rule, for example, the routing node may calculate the identifier of the first data packet according to a hash algorithm.
For example, as shown in fig. 6, (flow _ tv, node _ tv) ═ NN2(flow _ tv1, node _ tv1, PacketID), where flow _ tv is updated flow characteristic information, node _ tv is updated local node characteristic information, flow _ tv1 is flow characteristic information carried by the first data packet, node _ tv1 is local node characteristic information recorded by the routing node, and PacketID is an identifier of the first data packet.
It should be noted that step S201 is optional, and step S201 may be executed, or step S201 may not be executed. In addition, step S201 may be executed before the routing node updates the local node feature information recorded by the routing node according to the flow feature information carried in the first data packet, may also be executed after the routing node updates the local node feature information recorded by the routing node according to the flow feature information carried in the first data packet, and may also be executed simultaneously with the routing node updating the local node feature information recorded by the routing node according to the flow feature information carried in the first data packet.
In one implementation, the routing node may determine the control decision using a neural network model, e.g., the routing node may input current local node characteristic information and current flow characteristic information into a third model, which is used to determine the control decision. For convenience of description, the third model will be referred to as NN3 hereinafter.
In addition, when the routing node determines a control decision by using the NN3, the input data of the NN3 may include the identifier of the first data packet in addition to the current local node characteristic information and the current flow characteristic information, that is, the routing node may also input the identifier of the first data packet into the NN 3.
Illustratively, as shown in fig. 7, (Traffic _ control, Node _ control) ═ NN3(Node _ tv, flow _ tv, Pakcet _ ID), where Traffic _ control is a control decision on a data flow, Node _ control is a control decision on a routing Node, Node _ tv is current local Node characteristic information, flow _ tv is current flow characteristic information, and Pakcet _ ID is an identifier of a first data packet.
Illustratively, control decisions on the data flow may include, but are not limited to, at least one of: a first rate for sending the first data packet, a forwarding port for sending the first data packet, and a first expected rate for the data stream.
Illustratively, control decisions for the routing node may include, but are not limited to, at least one of: port rate, queue scheduling.
In an example, the flow characteristic information may include QoS indexes such as delay information, packet loss information, jitter information, and the like, the node characteristic information may include queue length and link utilization rate, and the routing node may perform a control decision on routing of the first data packet according to the flow characteristic information of the first data packet and the node characteristic information of the routing node. Illustratively, the routing node inputs flow characteristic information containing QoS indexes such as { delay information, packet loss information, jitter information } and node characteristic information containing { queue length, link utilization } and an identifier of the first data packet into NN3, and NN3 may output a forwarding port for sending the first data packet.
For example, the routing node may update the stream path selection in the local node feature information according to the delay information, the packet loss information, and the jitter information in the stream feature information. For example, if the delay in the flow characteristic information is large, the routing node may update the flow routing selection in the local node characteristic information, so that the flow is forwarded through a path with a low delay.
For another example, if the packet loss requirement in the flow feature information is high, the routing node may update the flow routing selection in the local node feature information, so that the flow is forwarded through a path with less packet loss. For example, if the jitter requirement in the flow characteristic information is high, the routing node may update the flow routing selection in the local node characteristic information, and forward the flow through a path with low jitter.
In another example, the flow characteristic information carried in the first data packet may include an expected rate, and the source node may make a control decision on the sending rate of the first data packet according to the expected rate. For example, the source node may use the desired rate as the sending rate of the first data packet. For example, the routing node may update the forwarding rate, queue schedule for the data flow in the local node characteristic information according to the desired rate in the flow characteristic information. For example, if the expected rate in the flow characterizing information is low, the routing node may reduce the forwarding rate of the data flow in the local node characterizing information or adjust the queue scheduling policy.
In another example, the flow characteristic information may include an SLA requirement, a second rate at which a previous hop node of the routing node sends the first data packet, a second expected rate of the data flow, delay information, packet loss information, jitter information, and the like, the node characteristic information may include a queue length, a link utilization rate, and a queue utilization rate, and the routing node may perform a control decision on routing of the first data packet according to the flow characteristic information, the local node characteristic information, and the adjacent node characteristic information. For example, the routing node inputs the first local node feature information and the adjacent node feature information recorded by the routing node into the NN1 to obtain second local node feature information, inputs the second local node feature information and the first flow feature information carried in the first data packet into the NN2 to obtain third local node feature information and second flow feature information, and inputs the third local node feature information and the second flow feature information into the NN3 to obtain the port rate and the queue scheduling policy of the routing node, as shown in fig. 8.
In the embodiment of the present application, NN1, NN2, and NN3 may be logically regarded as one neural network model, respectively. Alternatively, NN1 and NN2 may be logically regarded as a neural network model, and NN3 may be logically regarded as a neural network model. Alternatively, NN1 and NN3 may be logically regarded as a neural network model, and NN2 may be logically regarded as a neural network model. Alternatively, NN2 and NN3 may be logically regarded as a neural network model, and NN1 may be logically regarded as a neural network model. Alternatively, NN1, NN2, and NN3 may be logically viewed as a neural network model.
NN1, NN2, and NN3 may be done through centralized training or may be trained separately on each routing node. In the training process, sample data of corresponding flow states and network states can be simulated according to different optimization targets, model training is completed based on supervised learning, and the trained neural network model is deployed into the routing nodes.
In one implementation, the adaptation of NN1, NN2, and NN3 to the network may be enhanced by means of periodic updates.
In some embodiment modes, the destination node may return an Acknowledgement (ACK) message to the source node, where the ACK message may carry flow characteristic information of the first data packet after being updated by each intermediate routing node in the forwarding process. For example, the source node carries initial flow feature information in a first data packet, a first hop routing node updates the initial flow feature information carried in the first data packet to first flow feature information after receiving the first data packet, a second hop routing node updates the first flow feature information carried in the first data packet to second flow feature information after receiving the first data packet, a third hop routing node updates the second flow feature information carried in the first data packet to third flow feature information after receiving the first data packet, and so on, an nth hop routing node updates the n-1 th flow feature information carried in the first data packet to nth flow feature information after receiving the first data packet, and a destination node feeds back an ACK message to the source node after receiving the first data packet, where the ACK message carries the nth flow feature information updated by the nth hop routing node.
Compared with a FIB-based forwarding mechanism, in the embodiment of the application, the routing node performs flow control by combining the flow characteristics and the node characteristics of the data flow, so that the storage overhead can be reduced, the forwarding efficiency of the data message can be improved, and other targets such as load balancing and the like can be realized while the SPF target is realized. In addition, the method provided by the embodiment of the application can realize differentiated control of the data stream, and adjust the forwarding path of the data message based on the stream characteristics of the data stream, so that congestion or failure packet loss can be avoided, low time delay of the data message can be further ensured, and SLA requirements of the data message can be met.
For better understanding of the embodiments of the present application, the network traffic control process is described in detail below with reference to specific scenarios. Taking the communication system shown in fig. 9 as an example, assume that in the communication system example shown in fig. 9, the delay of S → R1 → R2 → R3 → R4 → D is 25ms, the delay of S → R1 → R5 → R2 → R3 → R4 → D is 85ms, the delay of S → R1 → R5 → R3 → R4 → D is 65ms, and the delay of S → R1 → R5 → R4 → D suddenly appears with a congestion phenomenon due to the link < R5, R4> and suddenly appears with a sudden congestion phenomenon that suddenly increases to 205 ms.
Scene one: the routing process of the data message based on the low delay guaranteed by the SLA can be as follows:
and A1, each routing node interacts with the respective node characteristic information and updates the node characteristic information of the routing node based on the node characteristic information of the adjacent nodes.
The source terminal S and the destination terminal D communicate along the paths < R1, R5, R4> in the initial stage, and due to congestion of the links < R5, R4>, the link utilization rate Vec _ link of the links < R5, R4> increases, the queue length Vec _ queue of the ingress queue of R4 increases, and the node characteristic information node _ tv ═ concat (Vec _ link, Vec _ queue), so the node characteristic information node 4_ tv of R4 sends a change.
R4 interacts with neighboring nodes (e.g., R5 and R3) with respective latest node feature information, taking R4 and R5 as an example, R4 sends the latest node 4_ tv to R5, and after R5 receives node 4_ tv from R4, the node feature information node 5_ tv and node feature information node 4_ tv from R4 are input into NN1 of R5, NN1 outputs node feature information node 5_ tv 'updated by R5, and node 5_ tv' may conform to the following formula:
node 5_tv’←NN1(node 5_tv,node 4_tv);
after the R5 completes updating the feature information of its own node, it interacts the feature information of the node with its neighboring nodes (e.g., R1, R2 and R3) in a broadcast manner, and after receiving the node 5_ tv' from R5, the neighboring nodes update their respective node feature information through their respective NN1 models.
A2, data message routing.
When a data packet is sent from the source end S, the first hop routing node R1 embeds stream characteristic information flow _ tv in the packet header when receiving the data packet, where flow _ tv may include SLA delay requirements (e.g., the delay requirement is 50/70/100ms, etc.), may also include a sending rate, etc., where R1 embeds an initial value of the sending rate in the packet header when receiving the data packet, and may be 0.
R1 inputs the latest node characteristic information node 1_ tv of flow _ tv and R1 and the identifier of the data packet into NN2 and NN2 of R1, and outputs updated flow characteristic information flow _ tv1 and updated node characteristic information node 1_ tv ', where flow _ tv1 and node 1_ tv' may conform to the following formulas:
(flow_tv 1,node 1_tv’)=NN2(flow_tv,node 1_tv,PacketID);
after the R1 updates the flow characteristic information and the self node characteristic information based on NN2, R1 inputs PacketID, flow _ tv1, and node 1_ tv' to NN3 of R1, and if the SLA delay requirement corresponding to the data packet is that the delay is not greater than 50ms at this time, the NN3 model may output a forwarding port corresponding to a path (i.e., < R1, R2, R3, R4>) having a delay not greater than 50ms, i.e., R1 → R2. If the SLA delay requirement corresponding to the data packet is not greater than 70ms, the NN3 model outputs a forwarding port corresponding to a path with a delay not greater than 70ms, where if multiple paths with a delay not greater than 70ms exist in the communication system, the NN3 may output the forwarding ports corresponding to the multiple delays, and any one of the R1 may be used as a sending port of the data packet, or the NN3 may also output a forwarding port corresponding to any one of the multiple paths, or the NN3 may also output a forwarding port corresponding to a path with a delay closest to 70ms among the multiple delays, that is, S → R1 → R5 → R3 → R4 → D corresponds to the forwarding port R1 → R5. Alternatively, the NN3 may output the forwarding port corresponding to the path with the smallest delay among the plurality of delays, i.e., S → R1 → R2 → R3 → R4 → D corresponding to the forwarding port R1 → R2. The following description takes, as an example, that the SLA delay requirement corresponding to the data packet is a delay not greater than 70ms, and the forwarding port output by the NN3 is a forwarding port corresponding to a path with a delay closest to 70ms among the plurality of delays, that is, R1 → R5.
R1 sends the data message to R5. After receiving the data packet, R5 inputs the flow _ tv1 carried by the data packet, the latest node feature information node 5_ tv' of R5 and the identifier of the data packet into NN2 of R5, and NN2 outputs updated flow _ tv 2 and updated node 5_ tv ", that is, flow _ tv 2 and node 5_ tv" may satisfy the following formulas:
(flow_tv 2,node 5_tv)=NN2(flow_tv 1,node 5_tv’,PacketID);
after the R5 updates the stream characteristic information and the own node characteristic information based on NN2, R5 inputs flow _ tv 2, node 5_ tv ", and PacketID into NN3 of R5, and NN3 outputs all forwarding ports corresponding to paths with a delay not greater than 70ms and a delay closest to 70ms, that is, S → R1 → R5 → R3 → R4 → D corresponds to forwarding ports R5 → R3.
R5 sends the data message to R3. After receiving the data packet, R3 inputs the flow _ tv 2 carried by the data packet, the latest node characteristic information node 3_ tv of R3, and the identifier of the data packet into NN2 of R3, and NN2 outputs updated flow _ tv 3 and updated node 3_ tv ', that is, flow _ tv 3 and node 3_ tv' may satisfy the following formulas:
(flow_tv 3,node 3_tv’)=NN2(flow_tv 2,node 3_tv,PacketID);
after the R3 updates the flow characteristic information and the own node characteristic information based on NN2, R3 inputs flow _ tv 3, node 3_ tv', and PacketID into NN3 of R3, and NN3 outputs all forwarding ports corresponding to paths with a delay not greater than 70ms and a delay closest to 70ms, that is, S → R1 → R5 → R3 → R4 → D corresponds to forwarding ports R3 → R4.
The R3 sends the data packet to the R4, and the R4 forwards the data packet to the destination D after receiving the data packet.
It can be understood that, in the first scenario, only the SLA requirement including the delay requirement is taken as an example for description, in a specific embodiment, the SLA requirement may further include other requirements, such as a rate requirement, a maximum packet loss number, a maximum packet loss rate, a maximum jitter, and the like, when the SLA requirement includes other factors, the process of routing the data packet is similar, the difference is that the SLA requirement satisfied by the NN3 when performing the control decision is different, and repeated parts are not repeated.
Scene two: taking S → R1 → R5 → R3 → R4 → D path shown in fig. 9 as an example, the process of the data communication network performing active congestion control can be as follows:
b1, each routing node in the data communication network interacts with respective node feature information, and each routing node updates its own node feature information based on the node feature information of the neighboring node, and the specific process may refer to the related description in a1 in scenario one, which is not repeated here.
B2, data packet routing.
When a data packet is sent from the source end S, the first hop routing node R1 embeds stream characteristic information flow _ tv in the packet header when receiving the data packet, where flow _ tv may include the sending rate, expected rate, etc. of the data packet, and where the initial value of the sending rate embedded in the packet header by R1 may be 0. If the data packet is a header of a data stream, the expected rate embedded by R1 in the header of the data packet may be a preset initial value, such as 0. If the data packet is not the data flow header packet, the expected rate embedded in the packet header of R1 during the data packet may be the expected rate after the last data packet of the data flow is updated by each routing node.
Assuming that the data packet is not the header of the data flow, R1 sends the data packet at the expected rate after the last data packet of the data flow is updated by each routing node.
R1 inputs the latest node characteristic information node 1_ tv of flow _ tv and R1 and the identifier of the data packet into NN2 and NN2 of R1, and outputs updated flow characteristic information flow _ tv1 and updated node characteristic information node 1_ tv ', where flow _ tv1 and node 1_ tv' may conform to the following formulas:
(flow_tv 1,node 1_tv’)=NN2(flow_tv,node 1_tv,PacketID);
the expected rate in flow _ tv1 may be updated according to node 1_ tv in flow _ tv, for example, if the link utilization rate of the link connected to R1 is high and the queue length of the ingress queue is high, the expected rate in flow _ tv1 may be lower than the expected rate in flow _ tv.
R1 after updating the stream characteristic information and the own node characteristic information based on NN2, R1 inputs PacketID, flow _ tv1 and node 1_ tv' to NN3 of R1, and NN3 may output a port rate of R1 and a queue scheduling policy. The output of the NN3 may also include the sending rate of the data message. R1 controls R1 according to the port rate output by NN3 and the queue scheduling policy.
And the R1 sends the data message to the R5 at the sending rate output by the NN 3. After receiving the data packet, R5 inputs the flow _ tv1 carried by the data packet, the latest node feature information node 5_ tv' of R5 and the identifier of the data packet into NN2 of R5, and NN2 outputs updated flow _ tv 2 and updated node 5_ tv ", that is, flow _ tv 2 and node 5_ tv" may satisfy the following formulas:
(flow_tv 2,node 5_tv)=NN2(flow_tv 1,node 5_tv’,PacketID);
the expected rate in flow _ tv 2 may be updated according to node 5_ tv' in flow _ tv1, for example, if the link utilization rate of the link connected by R5 is high and the queue length of the ingress queue is high, the expected rate in flow _ tv 2 may be lower than the expected rate in flow _ tv 1.
R5 updates stream characteristic information and self node characteristic information based on NN2, and R5 inputs flow _ tv 2, node 5_ tv "and PacketID to NN3 of R5, and NN3 outputs port rate of R5 and queue scheduling policy. The output of the NN3 may also include the sending rate of the data message. R5 controls R5 according to the port rate output by NN3 and the queue scheduling policy.
And the R5 sends the data message to the R3 at the sending rate output by the NN 3. After receiving the data packet, R3 inputs the flow _ tv 2 carried by the data packet, the latest node characteristic information node 3_ tv of R3, and the identifier of the data packet into NN2 of R3, and NN2 outputs updated flow _ tv 3 and updated node 3_ tv ', that is, flow _ tv 3 and node 3_ tv' may satisfy the following formulas:
(flow_tv 3,node 3_tv’)=NN2(flow_tv 2,node 3_tv,PacketID);
the expected rate in flow _ tv 3 may be updated according to node 3_ tv in flow _ tv 2, for example, if the link utilization rate of the link connected to R3 is high and the queue length of the ingress queue is high, the expected rate in flow _ tv 3 may be lower than the expected rate in flow _ tv 2.
R3 after updating the stream characteristic information and the own node characteristic information based on NN2, R3 inputs PacketID, flow _ tv 3 and node 3_ tv' to NN3 of R3, and NN3 may output a port rate of R3 and a queue scheduling policy. The output of the NN3 may also include the sending rate of the data message. R3 controls R3 according to the port rate output by NN3 and the queue scheduling policy.
And the R3 sends the data message to the R4 at the sending rate output by the NN 3. After receiving the data packet, R4 inputs flow _ tv 3 carried by the data packet, the latest node characteristic information node 4_ tv of R4 and the identifier of the data packet into NN2 of R4, and NN2 outputs updated flow characteristic information flow _ tv 4 and updated node characteristic information node 4_ tv ', that is, flow _ tv 4 and node 4_ tv' may satisfy the following formulas:
(flow_tv 4,node 4_tv’)=NN2(flow_tv 3,node 4_tv,PacketID);
the expected rate in flow _ tv 4 may be updated according to node 4_ tv in flow _ tv 3, for example, if the link utilization rate of the link connected to R4 is high and the queue length of the ingress queue is high, the expected rate in flow _ tv 4 may be lower than the expected rate in flow _ tv 3.
R4 after updating the stream characteristic information and the own node characteristic information based on NN2, R4 inputs PacketID, flow _ tv 4 and node 4_ tv' to NN3 of R4, and NN3 may output a port rate of R4 and a queue scheduling policy. R4 controls R4 according to the port rate output by NN3 and the queue scheduling policy.
R4 sends the data message to destination D.
The destination terminal D sends an ACK message carrying flow _ tv 4 to the source terminal S.
And the source end S adjusts the sending rate of the next data message of the data flow based on the expected rate carried by the flow _ tv 4.
It is understood that the methods described in scenario one and scenario two may be implemented as one embodiment, or may be implemented as one embodiment, which is specifically limited herein.
In order to implement the functions in the method provided by the embodiments of the present application, the routing node may include a hardware structure and/or a software module, and implement the functions in the form of a hardware structure, a software module, or a hardware structure and a software module. Whether any of the above-described functions is implemented as a hardware structure, a software module, or a hardware structure plus a software module depends upon the particular application and design constraints imposed on the technical solution.
As shown in fig. 10, based on the same technical concept, the embodiment of the present application further provides a network traffic control apparatus 100, where the apparatus 100 may be a routing node, or may be an apparatus in the routing node (for example, a chip or a system of chips or a chipset or a part of a chip for performing a function of a related method), or may be an apparatus capable of being used in cooperation with the routing node. In one design, the apparatus 100 may include a module corresponding to one to perform the method/operation/step/action performed by the routing node in the foregoing method embodiment, where the module may be a hardware circuit, or may be software, or may be implemented by combining a hardware circuit and software. In one design, the apparatus may include a processing unit 101 and a communication unit 102.
The communication unit 102 is configured to receive a first data packet of a data stream, where the first data packet carries stream feature information, and the stream feature information is used to represent transmission features of the data stream. A processing unit 101, configured to determine a control decision based on the current local node feature information and the current flow feature information, where the control decision includes at least one of the following: the method comprises the steps of making a control decision on a data stream and a control decision on a routing node, wherein current local node characteristic information is local node characteristic information recorded by the routing node, or the current local node characteristic information is obtained by updating the local node characteristic information recorded by the routing node according to stream characteristic information carried by a first data message, and the local node characteristic information is used for representing a node state of the routing node; the current flow characteristic information is flow characteristic information carried by the first data message, or the current flow characteristic information is obtained after the flow characteristic information carried by the first data message is updated according to local node characteristic information recorded by the routing node.
Optionally, the communication unit 102 is further configured to: and receiving adjacent node characteristic information sent by the adjacent node, wherein the adjacent node characteristic information is used for representing the node state of the adjacent node. A processing unit 101, further configured to: and updating the local node characteristic information recorded by the routing node based on the adjacent node characteristic information.
In one implementation, when updating the local node feature information recorded by the routing node based on the neighboring node feature information, the processing unit 101 is specifically configured to: and inputting the local node characteristic information and the adjacent node characteristic information recorded by the routing node into a first model, wherein the first model is used for updating the local node characteristic information according to the adjacent node characteristic information.
Optionally, the processing unit 101 is further configured to: and inputting the stream characteristic information carried by the first data message and the local node characteristic information recorded by the routing node into a second model, wherein the second model is used for updating the input local node characteristic information according to the input stream characteristic information and updating the input stream characteristic information according to the input local node characteristic information.
In some embodiments, when determining the control decision based on the current local node characteristic information and the current flow characteristic information, the processing unit 101 is specifically configured to: and inputting the current local node characteristic information and the current flow characteristic information into a third model, wherein the third model is used for determining a control decision.
Furthermore, the processing unit 101 is further configured to: the identity of the first data message is entered into the third model.
Illustratively, the control decision on the data flow includes at least one of: a first rate for sending the first data packet, a forwarding port for sending the first data packet, and a first expected rate for the data stream.
Illustratively, the control decision for the routing node includes at least one of: port rate, queue scheduling.
Illustratively, the local node characteristic information includes at least one of the following parameters: queue length, link utilization, queue utilization.
Illustratively, the flow characteristic information carried by the first data packet includes at least one of the following parameters: and the previous hop node of the routing node sends a second rate of the first data message, a second expected rate of the data stream, time delay information, packet loss information and jitter information, wherein the second expected rate is determined by the previous hop node of the routing node.
If the routing node is the head node, the second rate may be an expected rate carried by a second data packet of the data stream when reaching the destination node, and the second data packet is a previous data packet of the first data packet.
The division of the modules in the embodiments of the present application is schematic, and only one logical function division is provided, and in actual implementation, there may be another division manner, and in addition, each functional module in each embodiment of the present application may be integrated in one processor, may also exist alone physically, or may also be integrated in one module by two or more modules. The integrated module can be realized in a hardware mode, and can also be realized in a software functional module mode.
When the integrated module can be implemented in the form of hardware, the communication device may be as shown in fig. 11, and the processing unit 101 may be a processor 1102. The processor 1102 may be a Central Processing Unit (CPU), a digital processing module, or the like. The communication unit 102 may be a communication interface 1101, and the communication interface 1101 may be a transceiver, an interface circuit such as a transceiver circuit, or the like, or a transceiver chip, or the like. The device also includes: a memory 1103 for storing programs executed by the processor 1101. The memory 1103 may be a nonvolatile memory, such as a Hard Disk Drive (HDD) or a solid-state drive (SSD), and may also be a volatile memory (RAM), such as a random-access memory (RAM). The memory 1103 is any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer, but is not limited to such.
The processor 1102 is configured to execute the program code stored in the memory 1103, and is specifically configured to execute the actions of the processing unit 101, which is not described herein again.
The communication interface 1101 is specifically configured to perform the actions of the communication unit 102, and is not described herein again.
In the embodiment of the present application, a specific connection medium between the communication interface 1101, the processor 1102, and the memory 1103 is not limited. In the embodiment of the present application, the memory 1103, the processor 1102, and the communication interface 1101 are connected by a bus 1104 in fig. 11, the bus is indicated by a thick line in fig. 11, and the connection manner between other components is merely illustrative and not limited thereto. The bus may be divided into an address bus, a data bus, a control bus, etc. For ease of illustration, only one thick line is shown in FIG. 11, but this is not intended to represent only one bus or type of bus.
As will be appreciated by one skilled in the art, embodiments of the present application may be provided as a method, system, or computer program product. Accordingly, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present application may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
The present application is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to the application. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
It will be apparent to those skilled in the art that various changes and modifications may be made in the present application without departing from the spirit and scope of the application. Thus, if such modifications and variations of the present application fall within the scope of the claims of the present application and their equivalents, the present application is intended to include such modifications and variations as well.

Claims (24)

1. A method for controlling network traffic, the method comprising:
a routing node receives a first data message of a data stream, wherein the first data message carries stream characteristic information, and the stream characteristic information is used for representing the transmission characteristic of the data stream;
the routing node determines a control decision based on current local node characteristic information and current flow characteristic information, the control decision comprising at least one of: a control decision for the data flow and a control decision for the routing node, where the current local node feature information is local node feature information recorded by the routing node, or the current local node feature information is obtained by updating the local node feature information recorded by the routing node according to flow feature information carried by the first data packet, and the local node feature information is used to represent a node state of the routing node; the current flow characteristic information is flow characteristic information carried by the first data message, or is obtained by updating the flow characteristic information carried by the first data message according to local node characteristic information recorded by the routing node.
2. The method of claim 1, wherein the method further comprises:
the routing node receives adjacent node characteristic information sent by an adjacent node, wherein the adjacent node characteristic information is used for representing the node state of the adjacent node;
and the routing node updates the local node characteristic information recorded by the routing node based on the adjacent node characteristic information.
3. The method of claim 2, wherein the routing node updating the local node characteristic information of the routing node record based on the neighbor node characteristic information comprises:
and the routing node inputs the local node characteristic information recorded by the routing node and the adjacent node characteristic information into a first model, and the first model is used for updating the local node characteristic information according to the adjacent node characteristic information.
4. The method of any one of claims 1-3, further comprising:
and the routing node inputs the stream characteristic information carried by the first data message and the local node characteristic information recorded by the routing node into a second model, wherein the second model is used for updating the input local node characteristic information according to the input stream characteristic information and updating the input stream characteristic information according to the input local node characteristic information.
5. The method of any of claims 1-4, wherein the routing node determines a control decision based on current local node characteristic information and current flow characteristic information, comprising:
the routing node inputs the current local node characteristic information and the current flow characteristic information into a third model, which is used to determine the control decision.
6. The method of claim 5, wherein the method further comprises:
and the routing node inputs the identifier of the first data message into the third model.
7. The method of any of claims 1-6, wherein the control decision for the data flow comprises at least one of: a first rate for sending the first data packet, a forwarding port for sending the first data packet, and a first expected rate for the data stream.
8. The method according to any of claims 1-7, wherein said control decision for said routing node comprises at least one of: port rate, queue scheduling.
9. The method according to any of claims 1-8, wherein the local node characteristic information comprises at least one of the following parameters: queue length, link utilization, queue utilization.
10. The method according to any of claims 1-9, wherein the flow characteristic information carried by the first data packet includes at least one of the following parameters: and the previous hop node of the routing node sends a second rate of the first data message, a second expected rate of the data stream, time delay information, packet loss information and jitter information, wherein the second expected rate is determined by the previous hop node of the routing node.
11. The method of claim 10, wherein if the routing node is a head node, the second rate is an expected rate carried by a second data packet of the data flow when reaching a destination node, and the second data packet is a previous data packet of the first data packet.
12. A network flow control apparatus, comprising a communication unit and a processing unit, wherein:
the communication unit is configured to receive a first data packet of a data stream, where the first data packet carries stream feature information, and the stream feature information is used to represent transmission features of the data stream;
the processing unit is configured to determine a control decision based on current local node feature information and current flow feature information, where the control decision includes at least one of: a control decision on the data stream and a control decision on a routing node, wherein the current local node characteristic information is local node characteristic information recorded by the routing node, or the current local node characteristic information is obtained by updating the local node characteristic information recorded by the routing node according to stream characteristic information carried by the first data packet, and the local node characteristic information is used for representing a node state of the routing node; the current flow characteristic information is flow characteristic information carried by the first data message, or is obtained by updating the flow characteristic information carried by the first data message according to local node characteristic information recorded by the routing node.
13. The apparatus of claim 12, wherein the communication unit is further configured to: receiving adjacent node characteristic information sent by an adjacent node, wherein the adjacent node characteristic information is used for representing the node state of the adjacent node;
the processing unit is further configured to: and updating the local node characteristic information recorded by the routing node based on the adjacent node characteristic information.
14. The apparatus as claimed in claim 13, wherein the processing unit, when updating the local node feature information recorded by the routing node based on the neighboring node feature information, is specifically configured to:
and inputting the local node characteristic information recorded by the routing node and the adjacent node characteristic information into a first model, wherein the first model is used for updating the local node characteristic information according to the adjacent node characteristic information.
15. The apparatus of any of claims 12-14, wherein the processing unit is further to:
and inputting the stream characteristic information carried by the first data message and the local node characteristic information recorded by the routing node into a second model, wherein the second model is used for updating the input local node characteristic information according to the input stream characteristic information and updating the input stream characteristic information according to the input local node characteristic information.
16. The apparatus according to any of claims 12-15, wherein the processing unit, when determining the control decision based on the current local node characteristic information and the current flow characteristic information, is specifically configured to:
inputting the current local node characteristic information and the current flow characteristic information into a third model, the third model being used to determine the control decision.
17. The apparatus as recited in claim 16, said processing unit to further:
and inputting the identifier of the first data message into the third model.
18. The apparatus of any of claims 12-17, wherein the control decision for the data flow comprises at least one of: a first rate for sending the first data packet, a forwarding port for sending the first data packet, and a first expected rate for the data stream.
19. The apparatus according to any of claims 12-18, wherein the control decision for the routing node comprises at least one of: port rate, queue scheduling.
20. The apparatus according to any of claims 12-19, wherein the local node characteristic information comprises at least one of the following parameters: queue length, link utilization, queue utilization.
21. The apparatus according to any of claims 12-20, wherein the flow characteristic information carried by the first datagram includes at least one of the following parameters: and the previous hop node of the routing node sends a second rate of the first data message, a second expected rate of the data stream, time delay information, packet loss information and jitter information, wherein the second expected rate is determined by the previous hop node of the routing node.
22. The apparatus of claim 21, wherein if the routing node is a head node, the second rate is an expected rate carried by a second data packet of the data flow when reaching a destination node, and the second data packet is a previous data packet of the first data packet.
23. A computer readable storage medium, in which a program or instructions are stored, which when read and executed by one or more processors, implement the method of any one of claims 1 to 11.
24. A communication device comprising a processor which, when executing computer programs or instructions in a memory, performs the method of any of claims 1 to 11, wherein the communication device is connected to the memory or wherein the communication device comprises the memory.
CN202010406829.7A 2020-05-14 2020-05-14 Network flow control method and device Pending CN113676406A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010406829.7A CN113676406A (en) 2020-05-14 2020-05-14 Network flow control method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010406829.7A CN113676406A (en) 2020-05-14 2020-05-14 Network flow control method and device

Publications (1)

Publication Number Publication Date
CN113676406A true CN113676406A (en) 2021-11-19

Family

ID=78537214

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010406829.7A Pending CN113676406A (en) 2020-05-14 2020-05-14 Network flow control method and device

Country Status (1)

Country Link
CN (1) CN113676406A (en)

Similar Documents

Publication Publication Date Title
CN113395210B (en) Method for calculating forwarding path and network equipment
EP2911348B1 (en) Control device discovery in networks having separate control and forwarding devices
US9325626B2 (en) Method and apparatus to reduce cumulative effect of dynamic metric advertisement in smart grid/sensor networks
US10116555B2 (en) Switch mode switching method, device, and system
US11522786B2 (en) Packet forwarding path determining method, device, and system
WO2019214561A1 (en) Packet sending method, network node, and system
CN112491707B (en) Method and device for determining forwarding path
US11095553B2 (en) Method, apparatus and system for controlling routing information advertising
US20190273633A1 (en) Link state packet transmission method and routing node
Tang et al. Constructing a DRL decision making scheme for multi-path routing in All-IP access network
CN115914078A (en) Message forwarding method and device and dragonfly network
WO2023082815A1 (en) Method and apparatus for constructing deterministic routing, and storage medium
CN113676406A (en) Network flow control method and device
CN113746734B (en) Traffic forwarding method, device, equipment and medium
Nithin et al. Efficient load balancing for multicast traffic in data center networks using SDN
Djurayev et al. Methods for calculating route metrics in data transmission networks
CN115208829A (en) Message processing method and network equipment
US11240164B2 (en) Method for obtaining path information of data packet and device
WO2018182467A1 (en) Techniques for congestion control in information-centric networks
WO2022073583A1 (en) Distributed traffic engineering at edge devices in a computer network
Motohashi et al. Implementation of p4-based schedulers for multipath communication
CN112714061B (en) Routing method and device
CN111245716A (en) Inter-domain routing method, device and system
CN105591940B (en) TRILL network distribution tree selection method and TRILL network node
Sharma et al. Performance Analysis of IEEE 802.3 using IGRP and EIGRP Routing Protocols

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