CN114938374A - Cross-protocol load balancing method and system - Google Patents

Cross-protocol load balancing method and system Download PDF

Info

Publication number
CN114938374A
CN114938374A CN202210504308.4A CN202210504308A CN114938374A CN 114938374 A CN114938374 A CN 114938374A CN 202210504308 A CN202210504308 A CN 202210504308A CN 114938374 A CN114938374 A CN 114938374A
Authority
CN
China
Prior art keywords
protocol
load balancing
node
network
cross
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202210504308.4A
Other languages
Chinese (zh)
Other versions
CN114938374B (en
Inventor
权伟
高德云
张诚睿
张雪
刘明远
刘康
徐子恒
邓君
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Jiaotong University
Original Assignee
Beijing Jiaotong University
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 Beijing Jiaotong University filed Critical Beijing Jiaotong University
Priority to CN202210504308.4A priority Critical patent/CN114938374B/en
Publication of CN114938374A publication Critical patent/CN114938374A/en
Application granted granted Critical
Publication of CN114938374B publication Critical patent/CN114938374B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload

Abstract

The invention provides a cross-protocol load balancing method and a cross-protocol load balancing system, which belong to the technical field of communication equipment, and are used for collecting state information of each node in a network under the condition of not sending an active detection probe; performing reinforcement learning algorithm operation aiming at cross-protocol load balancing on the state information, mapping the obtained result into a load balancing decision, and sending the decision to a network controller; correspondingly sending the load balancing decision to each programmable routing node from the network controller; and the programmable routing node is used as a data plane node to process the load balancing decision and judge whether cross-protocol operation is needed or not. The invention distributes the flow to the same network layer protocol node according to the proportion when the load of the same network layer protocol node is lower, thereby avoiding the operation of cross-protocol balance and reducing the cost of cross-protocol processing; when the load is high, the flow is introduced to the nodes of different network protocols, so that the exchange nodes of each network protocol in the heterogeneous network are fully utilized, and the network operation is more efficient and stable.

Description

Cross-protocol load balancing method and system
Technical Field
The invention relates to the technical field of communication equipment, in particular to a cross-protocol load balancing method and a cross-protocol load balancing system based on a heterogeneous core network.
Background
With the continuous development of network technology, the demands of users on network services become more diverse, and the demands on network traffic become greater and greater. The huge network demand drives the development of network infrastructure, new technologies, new network products, new networking modes are emerging continuously, making network types, service categories and equipment sources more complicated. The disadvantages of coupling network services with hardware devices and static rigidification thereof in the conventional network traffic model are continuously emerging.
Under the background, based on the previous research of 'identification network' and 'intelligent identification network', the next generation internet national engineering laboratory of Beijing university of transportation proposes an 'intelligent identification network' system and a key mechanism thereof. The multi-path cross-protocol intelligent fusion identification network system realizes the effective support of personalized service supply and flexible networking through the intelligent fusion of the whole network multi-space and multi-dimensional resources, provides efficient differentiated and customized communication network service for different industries and users, and is generally suitable for various different application scenarios.
With the continuous emergence of concepts such as current big data, artificial intelligence, cloud computing and the like, data traffic in networks is increased explosively, and the internal communication bandwidth in many networks cannot meet the traffic transmission requirement, so that the networks adopt a fat tree structure with layered multiple network topologies, can provide multiple equivalent paths for the network topologies, and combines an Equal Cost Multi-Path (ECMP) load balancing algorithm to further improve the bandwidth. Similar problems exist in a multi-path cross-protocol intelligent fusion identification network system, but a common load balancing algorithm at present, such as an ECMP algorithm, selects a path in a random hash manner, does not consider the characteristics of the cross-protocol network system, is only applicable to a single-protocol network system, and if the load balancing algorithm is applicable to the cross-protocol network system, the forwarding resources of each switching node in the network cannot be fully utilized, so that the resource waste is caused, and the defects such as hash collision, asymmetry and the like exist.
At present, the continuous evolution and popularization of SDN software defined networks and P4 data plane programmable technologies provide new prospects for this aspect, and the advanced data plane programming language P4 introduced in 2014 follows the main goal of defining the packet processing function of the programmable network device. As the future of SDN networks, P4 is independent of hardware and protocol, and users can write network applications directly using the language, and then configure the underlying devices to fulfill their functional requirements via compilation. P4 allows the packet parsing and forwarding process to be programmed so that the network and devices are truly open to the user from top to bottom. Therefore, the P4 bypasses the limitation of hardware suppliers, realizes defining additional header information and setting new functions In the edge nodes and forwarding nodes In the data plane, and can overcome the defects of traditional network status monitoring to collect network resources In real time, and the currently common technology is an In-band network telemetry (In-band telemetry) based on P4. And the INT overcomes the defects of strong beam-forming property, slow speed and the like of the traditional network monitoring, so that the process of searching network data can be directly completed in actual flow nowadays, and the capability of discovering and searching the network state in real time in a virtual or physical end-to-end network is provided.
The existing method for controlling network data transmission receives a first application data request sent by a client, wherein the first application data request supports a first network protocol; judging whether the server side has application service supporting a first network protocol or not; if not, judging whether the server side has application service supporting a preset second network protocol; if the server side has application service supporting a preset second network protocol, performing protocol conversion on the first application data request to enable the first application data request to support the second network protocol; and establishing load balancing connection between the client and the application service supporting the second network protocol according to the converted first application data request.
However, the above method cannot perform cross-protocol load balancing of the network layer and the link layer, mainly performs load balancing for the application layer, and defaults to a single-protocol scenario in the network layer protocol, and cannot perform cross-protocol operation.
Another method for implementing efficient multilink data transmission in the prior art is to establish a network connection, and then perform failover in the transmission process and load balancing in the transmission process. Although the method can establish a plurality of links and simultaneously support TCP/IP and FC protocols, any one of two connection linked lists of TCP/IP and FC can be used for receiving and sending in the failure switching and load balancing processes in the transmission process, and two continuous sending requests can be received and sent by using cross-protocol transmission. However, this method has the following disadvantages in use:
(1) although a system that is a cross-protocol load balancing function, the protocols refer to the transmission control protocol/internet protocol TCP/IP and the fibre channel FC protocol. Therefore, in a heterogeneous environment where different network layer protocols coexist in a TCP/IP suite, cross-protocol load balancing between the network layer protocols and the IPv4, IPv6, Sinet, and the like cannot be performed.
(2) When load balancing is carried out, two load balancing modes exist, and when the parameter exceeds a threshold value, static load balancing is adopted; and when the threshold value is not exceeded, dynamic load balancing is adopted. Static load balancing means that data is always sent to the first link until the threshold is reached, and then the next link is adopted in sequence. And dynamic load balancing means that each link in a linked list is recycled at the initial stage of data transmission, and when a single link reaches the threshold value, the overall load of the network tends to be saturated. Both load balances are purely switched and do not consider other link conditions. In fact, the bandwidth, delay, reliability, etc. of each path in the network are different, if the real-time state of the link is not considered, polling and switching are performed, the bandwidth cannot be fully utilized, and the load balancing effect is not ideal.
In summary, the existing load balancing scheme only performs local single-protocol load balancing for a single network layer protocol, but does not consider the situation that multiple network layer protocols such as IPv4 and IPv6 coexist in a heterogeneous network, so that traffic can only be balanced to the same network layer protocol device, but cannot be balanced to different network layer protocol devices across protocols, and network devices are not fully utilized.
Disclosure of Invention
The present invention is directed to a method and a system for cross-protocol load balancing based on a heterogeneous core network, so as to solve at least one technical problem in the background art.
In order to achieve the purpose, the invention adopts the following technical scheme:
in one aspect, the present invention provides a cross-protocol load balancing method, including:
collecting state information of each node in the network under the condition of not sending an active detection probe;
performing reinforcement learning algorithm operation aiming at cross-protocol load balancing on the collected state information, mapping a result obtained by the algorithm into a load balancing decision, and sending the decision to a network controller;
correspondingly sending the load balancing decision to each programmable routing node from the network controller; the programmable routing node is used as a data plane node to process a load balancing decision, judge whether cross-protocol operation is needed or not, and correspondingly generate a node forwarding strategy according to the judgment result to finish cross-protocol load balancing.
Optionally, the state information includes a forwarding node label, an egress port label, a node processing delay, a queue length when the node enters a packet, and a queue length when the node exits the packet.
Optionally, the cross-protocol load balancing algorithm based on the time sequence difference reinforcement learning performs convergence and calculation on the forwarding action value matrix, selects one or more candidate balancing paths with the largest value quantity according to the obtained forwarding action value matrix and the value quantity, and generates a load balancing decision by using the candidate paths and the value quantity ratio thereof.
Optionally, selecting an optimal equalization path according to the cost matrix includes:
acquiring protocol stack information and load information of the switching equipment from an INT database;
initializing a value matrix, namely randomly selecting the position of a switch where a data packet is located, and randomly selecting the position of the next hop for packet sending;
calling a time sequence difference reinforcement learning algorithm at regular intervals, comparing whether a protocol stack of the forwarding equipment is compatible with a data packet network protocol, and updating a reward matrix according to a reward function by combining the INT node state; randomly selecting the position of a data packet in a time sequence difference reinforcement learning algorithm, performing off-line learning for multiple times, and perfecting a value matrix;
according to the value matrix and a Noisy-Greedy strategy, selecting a plurality of optimal forwarding paths for polling and packet sending, updating the reward matrix according to the real-time load value on the way of reaching the target terminal, and updating the value matrix until the value matrix is converged, namely selecting the optimal balance path according to the value matrix.
Optionally, the reward function is:
Figure BDA0003636817240000051
wherein, a represents the influence degree of the matching degree of the protocol stack of the forwarding equipment and the data packet protocol on the reward function; b represents the influence degree of the protocol stack and the data packet protocol load degree of the forwarding equipment on the reward function; c. C ij The comparison values of the protocol stack of the forwarding equipment and the network layer protocol of the data packet are represented, the same is 0, and the different is 1; t is t i Representing the processing time delay of the node after forwarding; t is t min Node representing human settingsMinimum processing delay; t is t max Representing the maximum value of the artificially set node processing time delay; l i Indicating the queue length of the node after forwarding; l. the min Representing the minimum value of the length of the node queue set by people; l max Representing the maximum value of the length of the node queue set manually; b is a mixture of i Representing the residual bandwidth of the node after forwarding; b min Representing the minimum value of the node residual bandwidth set by people; b is a mixture of max Representing the maximum value of the residual bandwidth of the nodes set by people; alpha, beta and gamma respectively represent the influence proportion of processing time delay, queue depth and residual bandwidth on the reward value, and are set artificially according to requirements;
Figure BDA0003636817240000052
respectively represent t i 、l i 、b i And (4) normalizing.
Optionally, the sending the load balancing decision from the network controller to each programmable routing node correspondingly includes:
the P4 code generates a P4Info and P4 intermediate code file through the front end of a P4 compiler;
writing the flow table decision obtained by the load balancing decision module into a JAVA program to provide support for Pipeconf application;
compiling Pipeconf to be applied to an ONOS controller by utilizing an ONOS application program compiled by JAVA and combining resources such as a P4.json file and topology information collected by the ONOS controller;
the ONOS controller issues a corresponding P4 program and a corresponding flow table to the installed programmable forwarding equipment through Packet _ out according to the Pipeconf application;
the forwarding device performs load-balanced forwarding according to the P4 program and the flow table.
Optionally, in the P4 data plane, if the data packet needs to be forwarded across protocols, the data packet is subjected to a cross-protocol operation in a tunnel or protocol conversion manner, and is sent to forwarding devices of different protocol stacks.
In a second aspect, the present invention provides a cross-protocol load balancing system, including:
the network state collection module is used for collecting the state information of each node in the network under the condition of not sending an active detection probe;
the load balancing decision module is used for carrying out reinforcement learning algorithm operation aiming at cross-protocol load balancing on the collected state information, mapping a result obtained by the algorithm into a load balancing decision and sending the load balancing decision to the network controller;
the flow table decision issuing module is used for correspondingly sending the load balancing decision to each programmable routing node from the network controller; the programmable routing node is used as a data plane node to process a load balancing decision, judge whether cross-protocol operation is needed or not, and correspondingly generate a node forwarding strategy according to the judgment result to finish cross-protocol load balancing.
In a third aspect, the present invention provides a computer device comprising a memory and a processor, the processor and the memory being in communication with each other, the memory storing program instructions executable by the processor, the processor invoking the program instructions to perform a cross-protocol load balancing method as described above.
In a fourth aspect, the present invention provides an electronic device, comprising a memory and a processor, the processor and the memory being in communication with each other, the memory storing program instructions executable by the processor, the processor invoking the program instructions to perform the cross-protocol load balancing method as described above.
In a fifth aspect, the present invention provides a computer readable storage medium storing a computer program which, when executed by a processor, implements a cross-protocol load balancing method as described above.
Interpretation of terms:
software defined networking: software Defined Network (SDN) is a novel Network innovation architecture proposed by Clean-tile research group of stanford university in the united states, and is an implementation mode of Network virtualization. The core technology OpenFlow separates the control plane and the data plane of the network equipment, thereby realizing the flexible control of network flow, enabling the network to be more intelligent as a pipeline, and providing a good platform for the innovation of a core network and application.
P4 programmable data plane (programmable routing node using this language is P4 switching node): a mapping Protocol-independent Packet Processors (P4) is a domain specific language for network devices, and specifies how data plane devices (switches, NICs, routers, filters, etc.) handle packets.
ONOS open network operating system (the network controller using this system is the ONOS network controller): the OpenNetwork Operating System, ONOS, provides a control plane for a Software Defined Network (SDN), manages network components such as switches and links, and runs software programs or modules to provide communication services to end hosts and neighboring networks.
Intelligent identification network: the network system is a novel network system architecture and is proposed by Zhang hong Kochia of Beijing university of transportation, and the predecessor of the network system is an identification network and an intelligent identification network.
The invention has the beneficial effects that: when the load of the same network layer protocol node is low, the flow is proportionally distributed to the same network layer protocol node, so that the operation of cross-protocol balance is avoided, and the cost of cross-protocol processing is reduced; when the load of the nodes of the same network layer protocol is high, the flow can be introduced to the nodes of different network protocols, so that the exchange nodes of each network protocol in the heterogeneous network are fully utilized, the network operation is more efficient and stable, and the network performance is improved.
Additional aspects and advantages of the invention will be set forth in part in the description which follows, and in part will be obvious from the description, or may be learned by practice of the invention.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings needed to be used in the description of the embodiments are briefly introduced below, and it is obvious that the drawings in the following description are only some embodiments of the present invention, and it is obvious for those skilled in the art to obtain other drawings based on these drawings without creative efforts.
Fig. 1 is a schematic flowchart of a cross-protocol load balancing method according to an embodiment of the present invention.
Fig. 2 is a functional schematic block diagram of a cross-protocol load balancing system according to an embodiment of the present invention.
Fig. 3 is a functional schematic block diagram of a network status collection module according to an embodiment of the present invention.
Fig. 4 is a diagram illustrating an INT network telemetry packet format according to an embodiment of the present invention.
Fig. 5 is a flowchart of the network status collection module according to the embodiment of the present invention.
Fig. 6 is a schematic diagram illustrating a principle of a cross-protocol load balancing decision algorithm according to an embodiment of the present invention.
Fig. 7 is a flow chart diagram illustrating a flow table policy issuing module according to an embodiment of the present invention.
Detailed Description
Reference will now be made in detail to embodiments of the present invention, examples of which are illustrated in the accompanying drawings, wherein like reference numerals refer to the same or similar elements or elements having the same or similar functions throughout. The embodiments described below by way of the drawings are illustrative only and are not to be construed as limiting the invention.
It will be understood by those skilled in the art that, unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs.
It will be further understood that terms, such as those defined in commonly used dictionaries, should be interpreted as having a meaning that is consistent with their meaning in the context of the prior art and will not be interpreted in an idealized or overly formal sense unless expressly so defined herein.
As used herein, the singular forms "a", "an", "the" and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. 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.
In the description herein, references to the description of the term "one embodiment," "some embodiments," "an example," "a specific example," or "some examples," etc., mean that a particular feature, structure, material, or characteristic described in connection with the embodiment or example is included in at least one embodiment or example of the invention. Furthermore, the particular features, structures, materials, or characteristics described may be combined in any suitable manner in any one or more embodiments or examples. Furthermore, various embodiments or examples and features of different embodiments or examples described in this specification can be combined and combined by one skilled in the art without contradiction.
For the purpose of facilitating an understanding of the present invention, the present invention will be further explained by way of specific embodiments with reference to the accompanying drawings, which are not intended to limit the present invention.
It should be understood by those skilled in the art that the drawings are merely schematic representations of embodiments and that the elements shown in the drawings are not necessarily required to practice the invention.
Example 1
This embodiment 1 provides a cross-protocol load balancing system, which includes:
the network state collection module is used for collecting the state information of each node in the network under the condition of not sending an active detection probe;
the load balancing decision module is used for carrying out reinforcement learning algorithm operation aiming at cross-protocol load balancing on the collected state information, mapping a result obtained by the algorithm into a load balancing decision and sending the load balancing decision to the network controller;
the flow table decision issuing module is used for correspondingly sending the load balancing decision to each programmable routing node from the network controller; the programmable routing node is used as a data plane node to process a load balancing decision, judge whether cross-protocol operation is needed or not, and correspondingly generate a node forwarding strategy according to the judgment result to finish cross-protocol load balancing.
In this embodiment 1, the cross-protocol load balancing method is implemented by using the cross-protocol load balancing system, and includes:
the method comprises the steps that a network state collection module is used for collecting state information of each node in a network under the condition that an active detection probe is not sent; the state information includes a forwarding node label, an egress port label, a node processing delay, a queue length when the node enters a packet, a queue length when the node exits the packet, and the like.
Performing reinforcement learning algorithm operation aiming at cross-protocol load balancing on the collected state information by using a load balancing decision module, mapping a result obtained by the algorithm into a load balancing decision, and sending the load balancing decision to a network controller;
a flow table decision issuing module is used for sending the load balancing decision from the network controller to each programmable routing node correspondingly; the programmable routing node is used as a data plane node to process a load balancing decision, judge whether cross-protocol operation is needed or not, and correspondingly generate a node forwarding strategy according to the judgment result to finish cross-protocol load balancing.
In a load balancing decision module, a cross-protocol load balancing algorithm based on time sequence difference reinforcement learning is used for converging and calculating a forwarding action value matrix, one or more candidate balancing paths with the largest value quantity are selected according to the obtained forwarding action value matrix and the value quantity, and a load balancing decision is generated by the candidate paths and the value quantity proportion thereof.
Selecting an optimal balance path according to the value matrix, wherein the optimal balance path comprises the following steps:
acquiring protocol stack information and load information of the switching equipment from an INT database;
initializing a value matrix, namely randomly selecting the position of a switch where a data packet is located, and randomly selecting the position of the next hop for packet sending;
calling a time sequence difference reinforcement learning algorithm at regular intervals, comparing whether a protocol stack of the forwarding equipment is compatible with a data packet network protocol, and updating a reward matrix according to a reward function by combining the INT node state; randomly selecting the position of a data packet in a time sequence difference reinforcement learning algorithm, performing off-line learning for multiple times, and perfecting a value matrix;
according to the value matrix and a Noisy-Greedy strategy, selecting a plurality of optimal forwarding paths for polling and packet sending, updating the reward matrix according to the real-time load value on the way of reaching the target terminal, and updating the value matrix until the value matrix is converged, namely selecting the optimal balance path according to the value matrix.
The reward function is:
Figure BDA0003636817240000111
wherein, a represents the influence degree of the matching degree of the protocol stack of the forwarding equipment and the data packet protocol on the reward function; b represents the influence degree of the protocol stack and the data packet protocol load degree of the forwarding equipment on the reward function; c. C ij The comparison values of the protocol stack of the forwarding equipment and the network layer protocol of the data packet are represented, the same values are 0, and the different values are 1; t is t i Representing the processing time delay of the node after forwarding; t is t min Representing the minimum value of the artificially set node processing time delay; t is t max Representing the maximum value of the artificially set node processing time delay; l i Indicating the queue length of the node after forwarding; l min Representing the minimum value of the length of the node queue set by people; l max Representing the maximum value of the length of the node queue set by people; b i Representing the residual bandwidth of the node after forwarding; b min Representing the minimum value of the node residual bandwidth set by people; b max Representing the maximum value of the residual bandwidth of the nodes set by people; alpha, beta and gamma respectively represent the influence proportion of processing time delay, queue depth and residual bandwidth on the reward value, and are set artificially according to requirements;
Figure BDA0003636817240000112
respectively represent t i 、l i 、b i Normalization of (2).
Correspondingly sending the load balancing decision from the network controller to each programmable routing node, including:
the P4 code generates P4Info and P4 intermediate code files through the front end of the P4 compiler;
writing the flow table decision obtained by the load balancing decision module into a JAVA program to provide support for Pipeconf application;
compiling Pipeconf to be applied to an ONOS controller by utilizing an ONOS application program compiled by JAVA and combining resources such as a P4.json file and topology information collected by the ONOS controller;
the ONOS controller issues a corresponding P4 program and a corresponding flow table to be installed on the programmable forwarding equipment through Packet _ out according to the Pipeconf application;
the forwarding device performs load-balanced forwarding according to the P4 program and the flow table.
In the P4 data plane programming, if a data packet needs to be forwarded across protocols, the data packet is subjected to a protocol-spanning operation in a tunnel or protocol conversion manner, and is sent to forwarding devices of different protocol stacks.
In summary, the system and method for load balancing across protocols provided in this embodiment 1 implement load balancing of differentiated protocols or across protocols in a heterogeneous network scenario. Based on an SDN framework, the real-time states of links and nodes in a network are considered, the real-time states of the links are collected through P4-based INT, the load balance of a cross-network layer protocol is realized by utilizing a model-free reinforcement learning algorithm, so that when the load is low, flow is distributed to the nodes of the same network layer protocol according to the value proportion generated by reinforcement learning, the operation of cross-protocol balance is avoided, and the cost brought by cross-protocol processing is reduced; when the load of the nodes of the same network layer protocol is high, cross-protocol operation can be carried out to introduce flow into the nodes of different network protocols, so that the exchange nodes of each network protocol in a heterogeneous network are fully utilized, the network operation is more efficient and stable, and the network performance is improved.
Example 2
In this embodiment 2, aiming at the situation that the current load balancing scheme only performs local single-protocol load balancing for a single network layer protocol, but does not consider the coexistence situation of multiple network layer protocols under the heterogeneous network, such as IPv4 and IPv6, and the identified network, so that the traffic can only be balanced on the same network layer protocol device, but cannot be balanced on different network layer protocol devices, and the problem that the network devices in the network are not fully utilized is solved, a cross-protocol load balancing system and method are provided to implement load balancing of protocol differentiation when the load is low, distribute the traffic to the same network layer protocol nodes according to the value ratio generated by reinforcement learning, avoid cross-protocol operation, reduce cross-protocol overhead, and when the load of the same network layer protocol nodes is high, introduce the traffic to the nodes of different network protocols, so as to fully utilize the switching nodes of each network protocol under the heterogeneous network, the network operation is more efficient and stable.
As shown in fig. 1, in this embodiment 2, a load balancing method adopts a new SDN network architecture, which is different from a traditional network architecture, and the new SDN network architecture decouples a data plane and a control plane that are traditionally coupled, opens a control plane programming capability for a user, replans a network with a program in a central control manner, and provides a new scheme for controlling network traffic.
In this embodiment 2, the data plane is programmed by using the P4 language to further open the data plane programming capability, liberate the data forwarding plane of the forwarding device, and allow the flows of parsing and forwarding packets in the network to be controlled by programming, so that all devices in the network are truly programmable and completely open to the user.
The mapping Protocol-independent Packet Processors (P4) is a domain-specific language for network devices, and specifies how data plane devices (switches, NICs, routers, filters, etc.) handle packets. The control plane adopts an ONOS control plane controller to carry out flexible configuration and real-time control on the data plane.
As shown in fig. 2, in this embodiment 2, the load balancing system is mainly divided into three sub-modules, which are respectively a network state collecting module, a load balancing decision module, and a flow table decision issuing module.
After the load balancing decision is calculated, the decision result is sent to a flow table decision issuing module on the controller layer, and the flow table decision issuing module issues the flow table to forwarding equipment of the data plane.
The functions of the modules are as follows:
the network state collection module has the main functions of collecting state information of each node in the network with minimum overhead under the condition of not sending an active detection probe, wherein the state information comprises a forwarding node label, an output port label, node processing time delay, a queue length when a node enters a packet, a queue length when the node exits the packet and the like, and data support is provided for load balancing decision through the collection of the module information.
And secondly, the load balancing decision module processes the data collected by the network state collection module, takes the processed data as a raw material to perform reinforcement learning algorithm operation aiming at cross-protocol load balancing, maps the result obtained by the algorithm into a load balancing decision and sends the decision to the network controller.
And thirdly, the flow table decision issuing module is responsible for sending the optimal decision obtained by the load balancing decision module to each programmable routing node from the network controller correspondingly.
And the programmable routing node is used as a data plane node to further process the decision to judge whether cross-protocol operation is needed or not, and a node forwarding strategy is correspondingly generated according to the judgment result to finish the load balance of the cross-protocol.
As shown in fig. 3, the network state collection module is used to collect network state information of a forwarding node in a heterogeneous core network, where the network state information includes fixed node information such as a forwarding node label and a forwarding node protocol stack identifier, and also includes forwarding node load information such as a data packet egress port number, a packet processing delay, a number of bytes flowing through the forwarding node, and forwarding node queue information.
After the information is collected, the state information is sent to the load balancing decision module through the INT monitoring server in the form of data packets so as to support the subsequent cross-protocol load balancing decision.
The module utilizes an INT technology idea based on P4, wherein INT means In-band Network telemeasurement, namely In-band Telemetry, the technology monitors a data plane and collects the state of each node through the idea that a control plane does not need to participate, and the communication overhead of data and control is reduced because the control plane does not need to participate, so that the technology is very efficient.
In this embodiment 2, after the INT Header and the INT Data are encapsulated into the IPv4 Header in the original message in the form of a message Header, and on the basis of the conventional INT, the structures of the INT Header and the INT Data are optimized, so that the network transmission overhead of INT state Data collection in the process of packet transmission is further reduced, as specifically shown in table 1 below:
TABLE 1
Figure BDA0003636817240000151
The data structure of the INT header is shown in fig. 4, and as shown in fig. 5, the workflow of the network status collection module is as follows:
during source exchange node (SRC), mirroring is carried out on data packets which are originally to be sent, INT headers are inserted into the packets, INT telemetering information is encapsulated into MetaData (MD) according to specific telemetering requirements, for example, INT Port ID, OUTPUT Port ID, INPUT Port time, OUTPUT Port time and DEVICE ID of equipment are encapsulated into MetaData, and the MetaData are inserted into the INT headers.
Secondly, when the message is forwarded to a middle switching node (TRANS), matching is carried out according to INT head information in the message, and if matching is successful, state information of the switching node is encapsulated to the next INT data.
And thirdly, when the data packet is transmitted to the last transmitting node (SINK), the equipment matches the INT head, and if the matching is successful, the INT metadata of the node is inserted. And a layer of IP head is encapsulated outside the re-message, and the address of the IP layer is the address of the server which is responsible for monitoring and processing the INT data, so that the INT information in the message can be taken out and sent to the INT data server.
And fourthly, the server can perform on-demand processing according to the INT data.
In this embodiment 2, the cross-protocol load balancing decision module is mainly responsible for processing the node load information collected by the node network state collection module, performing convergence and calculation on a forwarding action value matrix through a cross-protocol load balancing algorithm based on time sequence difference reinforcement learning, selecting one or more candidate balancing paths with the largest value quantity according to the obtained forwarding action value matrix and the value quantity, generating a cross-protocol load balancing decision by using the candidate paths and the value quantity ratio thereof, and performing multi-port polling and forwarding according to the ratio, thereby finally realizing the cross-protocol load balancing.
The design enables the load balance of the distinguishing protocol to be carried out when the load is low, the cross-protocol operation is avoided, the cost of the cross-protocol operation is reduced, and when the load of the nodes of the same network layer protocol is high, the cross-protocol operation can be carried out to introduce the flow into the nodes of different network protocols, so that the exchange nodes of each network protocol in the heterogeneous network are fully utilized, the network operation is more efficient and stable, and the network performance is improved.
As shown in fig. 6, in this embodiment 2, a cross-protocol load balancing problem in a heterogeneous scene is abstracted into an MDP problem in a load balancing decision module, and a model-free reinforcement learning method is used to solve the MDP problem, that is, an ONOS controller issues a decision for packet forwarding, the action decision affects a current network environment, the network environment feeds back the quality of the action decision to the ONOS controller and updates a state in the environment, and the above process is circulated, so that the ONOS knows the network environment well and can make an optimal forwarding decision according to the environment. And parameters and indexes in formulas such as reward functions and the like are optimized on the basis of reinforcement learning. The concrete abstract process and the module concrete flow are as follows:
abstracting a forwarding problem:
in an SDN architecture, a controller may obtain state information from network nodes in a data plane and provide it in the form of flow tables to, for example, programmable switch forwarding nodes in the data plane. According to the above scenario, the cross-protocol load balancing problem in the heterogeneous scenario is abstracted as an mdp (markov decision process) problem in this embodiment. The MDP problem is mainly based on the assumption that the future depends only on the current assumption, i.e. that future changes will have no relation to the past, only to the pre-ocular state. As shown in the formula:
P(S t+1 |S t )=P(S t+1 |S t ,S t-1 ,...,S 1 ,S 0 ) (ii) a Wherein P (-) represents a probability; s t Indicating that the state the agent was in before is S t
Abstracting the node position of the data packet in the problem into S (state) in the MDP; abstracting the process that the SDN controller can predict and guide the subsequent forwarding action after collecting enough network states into A (action) in MDP; the node state after receiving the data packet, including the switch queue depth, processing delay and the like, is abstracted as R (reward), and the state is sent to a load balancing decision unit for evaluating the forwarding action, for example, if the switch queue depth and processing delay are low, R is high, which means that the forwarding action is ideal.
The ONOS controller is used as a load decision unit and plays the role of an Agent in reinforcement learning, and is used for deciding which A (action) is used, receiving feedback generated by action and calculating reward R (forward), and calculating an optimal decision according to the reward feedback and the highest action value in a new state. The abstract results of the problem are shown in table 2 below:
TABLE 2
Figure BDA0003636817240000171
Figure BDA0003636817240000181
In this embodiment 2, an SDN controller (Agent) issues a forwarding policy of a random forwarding packet for a data plane, and obtains feedback on whether an action is good or bad through this action. If the forwarded node and link network layer protocol are not matched with the network layer protocol of the data itself, or the forwarded node has a high load, the reward of the action issued by the SDN controller (Agent) is low, otherwise, the reward value is high. By perfecting the reward system in the above way, the value of each forwarding node is converged, and the data packet is polled and forwarded to a plurality of optimal paths in proportion by combining the rewards obtained by the intelligent agent in real time.
Concrete flow of load balancing decision module
According to the abstraction of the load balancing forwarding problem, in this embodiment 2, the SDN controller is abstracted as an Agent (Agent), and the determined forwarding Action is abstracted as an Action (Action). The overall network Environment and its nodes are abstracted into an Environment (Environment). And when the intelligent agent carries out one action, the state can be updated, the environment can give feedback to the intelligent agent so as to calculate the reward, the value of each action in each state is calculated according to the reward and the highest action value in the new state, a value table is formed, then forwarding operation is continuously carried out, and the value table is updated until convergence. It should be noted that if the protocol stack of the forwarding device does not match the network layer protocol of the data packet during the convergence process, the data packet needs to be forwarded by performing a cross-protocol operation.
Wherein the setting of the reward function is:
Figure BDA0003636817240000191
wherein, c ij A comparison value representing the protocol stack of the forwarding device and the packet network layer protocol,the same is 0, and the different is 1; t is t i Representing the processing time delay of the node after forwarding; t is t min Representing the minimum value of the artificially set node processing time delay; t is t max Representing the maximum value of the artificially set node processing time delay; l i Indicating the queue length of the node after forwarding; l min Representing the minimum value of the length of the node queue set by people; l. the max Representing the maximum value of the length of the node queue set by people; b i Representing the residual bandwidth of the node after forwarding; b min Representing the minimum value of the node residual bandwidth set by people; b max Representing the maximum value of the residual bandwidth of the nodes set by people; alpha, beta and gamma respectively represent the influence proportion of processing time delay, queue depth and residual bandwidth on the reward value, and are set artificially according to requirements;
Figure BDA0003636817240000192
respectively represent t i 、l i 、b i Normalization of (2).
a represents the influence degree of the matching degree of the protocol stack of the forwarding equipment and the data packet protocol on the reward function; b represents the influence degree of the protocol stack and the data packet protocol load degree of the forwarding equipment on the reward function. The relationship is derived as follows:
assuming a processing delay to a forwarding device matching the packet protocol of
Figure BDA0003636817240000193
Queue length of
Figure BDA0003636817240000194
The remaining bandwidth is
Figure BDA0003636817240000195
The processing delay of the forwarding device which is not matched with the data packet protocol is phi t The queue length is phi l The residual bandwidth is phi b
When the temperature is higher than the set temperature
Figure BDA0003636817240000196
Is at critical stateState, i.e. value of reward forwarded to a forwarding node matching the packet protocol
Figure BDA0003636817240000197
And a reward value rewarded for forwarding to a forwarding node that does not match the packet protocol φ The same is true. Wherein x is t 、x l 、x b The difference between the processing delay, the queue length and the residual bandwidth under two forwarding conditions is respectively. If the difference is further increased, then
Figure BDA0003636817240000198
Cross-protocol forwarding is possible. The following formula can be obtained by the above description:
Figure BDA0003636817240000199
by simplification, it can be derived that:
Figure BDA0003636817240000201
the right side of the equation is an artificially set constant parameter, and the specific values of a and b can be determined by changing the values of a and a.
After the value matrix is calculated, the value quantity V needs to be calculated to determine the value quantity of the state s at a certain time t under the condition of taking the action a, and the value quantity is used as a decision-making measure. The value quantity update function is:
V m (s t |a)=V a (s i |a)+α[reward t+1 +δmax a V a (s t+1 |a)-V a (s t |a)]
wherein, V a (S t | a) is at S t The value obtained by the action a is carried out; reward t+1 Is S t To S t+1 Converting the obtained prize value; delta is the learning rate; max of a V a (S t+1 | a) indicates at S t+1 Obtained whenThe highest action value amount. The above formula is based on the time-series difference formula TD (0) in reinforcement learning, and the purpose is to update V a (S t And | a) value, namely the value quantity of the forwarding action of the estimated a, and the nodes still have other actions at the moment, and the nodes also need to be updated, then the highest value quantity is found out from the updated value quantity to represent the value quantity of the nodes, and then the forwarding is carried out according to the value quantity of the nodes.
The flow of the load balancing decision module in this embodiment 2 is as follows:
a. and acquiring protocol stack information and load information of the switching equipment from the INT database.
b. And initializing the value matrix, namely randomly selecting the position of the switch where the data packet is located, and randomly selecting the position of the next hop for packet sending.
c. And calling an algorithm every second, comparing whether the protocol stack of the forwarding equipment is compatible with the data packet network protocol, and updating the reward matrix according to the reward function by combining the real-time INT node state.
d. And (c) randomly selecting the position of the data packet in the algorithm on the basis of the c, and performing offline learning for dozens of times to improve the value matrix.
e. And selecting a plurality of optimal forwarding paths for polling and packet sending according to the value matrix at the moment and a Noisy-Greedy strategy, and updating the reward matrix and the value matrix according to the real-time load value on the way of reaching the destination terminal.
f. The c to e process is repeated until the cost matrix converges. And then selecting the optimal equalization path according to the value matrix to carry out subsequent equalization operation.
As shown in fig. 7, in this embodiment 2, the load balancing decision issuing module is mainly responsible for issuing the load balancing decision, including the forwarding exit port of the data packet, whether to perform cross-protocol operation, and other information, to the forwarding node of the data plane in a flow table manner.
Since the SDN architecture is selected in this embodiment 2, the control plane adopts an ONOS controller, and the data plane adopts a P4 data plane programming language for configuration. The flow table decision issuing module comprises the following specific steps:
the P4 code generates a P4Info and P4 intermediate file through the front end of the P4 compiler. The P4Info works with the P4 intermediate file on the P4 compiler back-end. A p4.json or bin file is generated. Wherein the json profile primarily functions with BMv2 programmable forwarding nodes. The Bin profile primarily acts on the Tofino programmable forwarding node.
And secondly, writing the flow table decision obtained by the load balancing decision module into a JAVA program to provide support for Pipeconf application.
Thirdly, compiling Pipeconf to be applied to the ONOS controller by utilizing an ONOS application program compiled by JAVA and combining resources such as a P4.json file and topology information collected by the ONOS controller.
And fourthly, the controller issues the corresponding P4 program and the corresponding flow table to be installed on the programmable forwarding equipment through Packet _ out according to the Pipeconf application.
The forwarding device performs load balancing forwarding according to the P4 program and the flow table. And adding cross-protocol logic in the P4 data plane, if the data packet needs to be transmitted in a cross-protocol mode, performing cross-protocol operation on the data packet in a tunnel or protocol conversion mode, and transmitting the data packet to the transmitting equipment of different protocol stacks.
Example 3
An embodiment 3 of the present invention provides an electronic device, including a memory and a processor, where the processor and the memory are in communication with each other, the memory stores a program instruction executable by the processor, and the processor calls the program instruction to execute a cross-protocol load balancing method, where the method includes the following steps:
collecting state information of each node in the network under the condition of not sending an active detection probe;
performing reinforcement learning algorithm operation aiming at cross-protocol load balancing on the collected state information, mapping a result obtained by the algorithm into a load balancing decision, and sending the decision to a network controller;
correspondingly sending the load balancing decision to each programmable routing node from the network controller; the programmable routing node is used as a data plane node to process a load balancing decision, judge whether cross-protocol operation is needed or not, and correspondingly generate a node forwarding strategy according to the judgment result to finish cross-protocol load balancing.
Example 4
An embodiment 4 of the present invention provides a computer-readable storage medium, in which a computer program is stored, where the computer program, when executed by a processor, implements a cross-protocol load balancing method, and the method includes the following steps:
collecting state information of each node in the network under the condition of not sending an active detection probe;
performing reinforcement learning algorithm operation aiming at cross-protocol load balancing on the collected state information, mapping a result obtained by the algorithm into a load balancing decision, and sending the decision to a network controller;
correspondingly sending the load balancing decision to each programmable routing node from the network controller; the programmable routing node is used as a data plane node to process a load balancing decision, judge whether cross-protocol operation is needed or not, and correspondingly generate a node forwarding strategy according to the judgment result to finish cross-protocol load balancing.
Example 5
Embodiment 5 of the present invention provides a computer device, including a memory and a processor, where the processor and the memory are in communication with each other, the memory stores a program instruction executable by the processor, and the processor calls the program instruction to execute a cross-protocol load balancing method, where the method includes the following steps:
collecting state information of each node in the network under the condition of not sending an active detection probe;
performing reinforcement learning algorithm operation aiming at cross-protocol load balancing on the collected state information, mapping a result obtained by the algorithm into a load balancing decision, and sending the decision to a network controller;
correspondingly sending the load balancing decision to each programmable routing node from the network controller; the programmable routing node is used as a data plane node to process a load balancing decision, judge whether cross-protocol operation is needed or not, and correspondingly generate a node forwarding strategy according to the judgment result to finish cross-protocol load balancing.
In summary, the systems of the cross-protocol load balancing method based on the heterogeneous core network according to the embodiments of the present invention can distribute network traffic to forwarding nodes matched with a packet protocol in a balanced manner when the load is low, without converting the packet protocol, thereby saving the cross-protocol processing overhead. When the load is high, a decision can be made to balance the network traffic to the forwarding nodes which are not matched with the packet protocol, so that the forwarding resources of each node are fully utilized. The switching node has a cross-protocol function, and can convert and forward the protocol of the data packet under the decision deployment of cross-protocol load balancing. When the function of the forwarding device needs to be updated, the function can be updated quickly and at low cost through programming and can be deployed again successfully. Node states in the network can be collected in the form of an accompanying packet and sent to the control and application plane in the SDN. In addition, in the information acquisition process, the participation of a control plane is not needed, and the acquisition overhead is reduced to the maximum extent.
Wherein, the data plane forwarding node is configured with P4 data plane programmable language, and can define the data packet processing logic according to the requirement. The data plane forwarding node is provided with a P4 data plane programmable language and an INT function, and can collect the network state of the node along with the forwarding process of the data packet. The data plane forwarding node is configured with a P4 data plane programming language and a protocol conversion function, and can convert its own network layer protocol into other network layer protocol and forward it by means of tunneling and the like.
A cross-protocol load balancing application in an SDN application layer is provided with a model-free reinforcement learning algorithm, and the best forwarding paths can be calculated according to INT network states collected by a data plane. The cross-protocol load balancing application in the SDN application layer has the function of connecting the MySQL database and can write the decision into the database at regular time. To record cross-protocol load balancing decisions. A cross-protocol load balancing application in the SDN application layer has the function of writing decisions to a network controller configuration file. The SDN network controller has a function of reading configuration information in the configuration file. The SDN network controller may generate a corresponding flow table according to the cross-protocol load balancing, and issue the flow table to the programmable switching node of the data plane.
Through the load balancing method provided by the embodiment of the invention, under the scene of a heterogeneous network, such as the scene of coexistence of multiple network layer protocols, such as an identification network, IPv4, IPv6 and the like, the data exchange node can carry out cross-protocol operation on the basis of the traditional load balancing scheme. For example, when a network layer protocol data packet is accessed to the entry forwarding node of the method of the present invention, the node of the method of the present invention sends the data packet to the switching node of the network layer protocol a as much as possible, and if the loads of all the switching nodes of the network layer protocol a are very high, the node of the method of the present invention performs a cross-protocol operation on the data packet to adapt to the network layer protocol B, so that the data packet can be forwarded from the switching node of the network layer protocol B. When the load of the same network layer protocol node is low, the operation of cross-protocol balance is avoided, useless expenditure is reduced, and when the load of the same network layer protocol node is high, the flow can be introduced into the nodes of different network protocols, so that the exchange node of each network protocol in a heterogeneous network is fully utilized, and the network operation is more efficient and stable. And because the switching node is configured by using the P4 language, the method has the characteristics of repeated configurability, platform independence and protocol independence. Repeatable configurability: the user can define the flexible heap data plane processing behavior without hardware replacement. Changes to the P4 code can be made by the user's different forwarding requirements for the data plane nodes without having to change the equipment and wait for new equipment to develop. Namely, the method supports the processing mode of dynamically modifying the message after the forwarding logic code is compiled and deployed on a specific platform. Protocol independence: it is meant that the P4 code is not tied to certain specific network protocols. The network protocol can be used by the switching node as required, and the utilization rate of the equipment resources is fully utilized. Platform independence: developers can write data message processing logic independent of the particular underlying operating platform. The code can be quickly transplanted among different platforms such as a hardware switch, an FPGA, a SmartNIC, a software switch and the like through a back-end compiler related to the equipment, the burden of developers is lightened, and the development efficiency is improved.
As will be appreciated by one skilled in the art, embodiments of the present invention may be provided as a method, system, or computer program product. Accordingly, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present invention 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 invention is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. 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.
Although the embodiments of the present invention have been described with reference to the accompanying drawings, it is not intended to limit the scope of the invention, and it should be understood by those skilled in the art that various modifications and variations can be made without inventive changes in the embodiments of the present invention.

Claims (10)

1. A method for cross-protocol load balancing, comprising:
collecting state information of each node in the network under the condition of not sending an active detection probe;
performing reinforcement learning algorithm operation aiming at cross-protocol load balancing on the collected state information, mapping a result obtained by the algorithm into a load balancing decision, and sending the decision to a network controller;
correspondingly sending the load balancing decision to each programmable routing node from the network controller; the programmable routing node is used as a data plane node to process a load balancing decision, judge whether cross-protocol operation is needed or not, and generate a node forwarding strategy correspondingly according to a judgment result to finish cross-protocol load balancing.
2. The cross-protocol load balancing method according to claim 1, wherein the state information includes a forwarding node label, an egress port label, a node processing delay, a node packet ingress queue length, and a node packet egress queue length.
3. The cross-protocol load balancing method according to claim 1, wherein a cross-protocol load balancing algorithm based on time sequence difference reinforcement learning performs convergence and calculation on a forwarding action value matrix, selects one or more candidate balancing paths with the largest value quantity according to the obtained forwarding action value matrix and the value quantity, and generates a load balancing decision by using the candidate paths and the value quantity ratio thereof.
4. The method of claim 3, wherein selecting the optimal balancing path according to the cost matrix comprises:
acquiring protocol stack information and load information of the switching equipment from an INT database;
initializing a value matrix, namely randomly selecting the position of a switch where a data packet is located, and randomly selecting the position of the next hop for packet sending;
calling a time sequence differential reinforcement learning algorithm at regular intervals, comparing whether a protocol stack of forwarding equipment is compatible with a data packet network protocol, and updating a reward matrix according to a reward function by combining an INT node state; randomly selecting the position of a data packet in a time sequence difference reinforcement learning algorithm, performing off-line learning for multiple times, and perfecting a value matrix;
according to the value matrix and a Noisy-Greedy strategy, selecting a plurality of optimal forwarding paths for polling and packet sending, updating the reward matrix according to the real-time load value on the way of reaching the target terminal, and updating the value matrix until the value matrix is converged, namely selecting the optimal balance path according to the value matrix.
5. The method of claim 4, wherein the reward function is:
Figure FDA0003636817230000021
wherein, a represents the influence degree of the matching degree of the protocol stack of the forwarding equipment and the data packet protocol on the reward function; b represents the influence degree of the protocol stack and the data packet protocol load degree of the forwarding equipment on the reward function; c. C ij The comparison values of the protocol stack of the forwarding equipment and the network layer protocol of the data packet are represented, the same is 0, and the different is 1; t is t i Representing the processing time delay of the node after forwarding; t is t min Representing the minimum value of the artificially set node processing time delay; t is t max Representing the maximum value of the artificially set node processing time delay; l i Indicating the queue length of the node after forwarding; l min Representing the minimum value of the length of the node queue set by people; l max Representing the maximum value of the length of the node queue set manually; b i Representing the residual bandwidth of the node after forwarding; b min Representing the minimum value of the node residual bandwidth set by people; b max Representing the maximum value of the residual bandwidth of the nodes set by people; alpha, beta and gamma respectively represent the influence proportion of processing time delay, queue depth and residual bandwidth on the reward value, and are set artificially according to requirements;
Figure FDA0003636817230000022
respectively represent t i 、l i 、b i Normalization of (2).
6. The method of claim 1, wherein sending load balancing decisions from the network controller to each of the programmable routing nodes comprises:
the P4 code generates P4Info and P4 intermediate code files through the front end of the P4 compiler;
writing the flow table decision obtained by the load balancing decision module into a JAVA program to provide support for Pipeconf application;
compiling Pipeconf to be applied to an ONOS controller by utilizing an ONOS application program compiled by JAVA and combining resources such as a P4.json file and topology information collected by the ONOS controller;
the ONOS controller issues a corresponding P4 program and a corresponding flow table to be installed on the programmable forwarding equipment through Packet _ out according to the Pipeconf application;
the forwarding device performs load-balanced forwarding according to the P4 program and the flow table.
7. The cross-protocol load balancing method according to claim 6, wherein in the P4 data plane programming, if the data packet needs to be forwarded in a cross-protocol manner, the data packet is subjected to a cross-protocol operation in a tunneling or protocol conversion manner, and is sent to forwarding devices of different protocol stacks.
8. A cross-protocol load balancing system, comprising:
the network state collection module is used for collecting the state information of each node in the network under the condition of not sending the active detection probe;
the load balancing decision module is used for carrying out reinforcement learning algorithm operation aiming at cross-protocol load balancing on the collected state information, mapping a result obtained by the algorithm into a load balancing decision and sending the load balancing decision to the network controller;
the flow table decision issuing module is used for correspondingly sending the load balancing decision to each programmable routing node from the network controller; the programmable routing node is used as a data plane node to process a load balancing decision, judge whether cross-protocol operation is needed or not, and generate a node forwarding strategy correspondingly according to a judgment result to finish cross-protocol load balancing.
9. A computer device comprising a memory and a processor, the processor and the memory in communication with each other, the memory storing program instructions executable by the processor, the processor invoking the program instructions to perform the cross-protocol load balancing method of any one of claims 1-7.
10. An electronic device comprising a memory and a processor, the processor and the memory in communication with each other, the memory storing program instructions executable by the processor, the processor invoking the program instructions to perform the cross-protocol load balancing method of any one of claims 1-7.
CN202210504308.4A 2022-05-10 2022-05-10 Cross-protocol load balancing method and system Active CN114938374B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210504308.4A CN114938374B (en) 2022-05-10 2022-05-10 Cross-protocol load balancing method and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210504308.4A CN114938374B (en) 2022-05-10 2022-05-10 Cross-protocol load balancing method and system

Publications (2)

Publication Number Publication Date
CN114938374A true CN114938374A (en) 2022-08-23
CN114938374B CN114938374B (en) 2023-05-23

Family

ID=82864185

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210504308.4A Active CN114938374B (en) 2022-05-10 2022-05-10 Cross-protocol load balancing method and system

Country Status (1)

Country Link
CN (1) CN114938374B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116155819A (en) * 2023-04-20 2023-05-23 北京邮电大学 Method and device for balancing load in intelligent network based on programmable data plane

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100157821A1 (en) * 2008-12-18 2010-06-24 Morris Robert P Methods, Systems, And Computer Program Products For Sending Data Units Based On A Measure Of Energy
US20110320252A1 (en) * 2010-06-24 2011-12-29 Mobile Media Solutions, Inc. Apparatus and Method for Redeeming an Incentive on a Wireless Device
CN106576275A (en) * 2014-08-13 2017-04-19 三星电子株式会社 Ambient network sensing and handoff for device optimization in heterogeneous networks
CN109039942A (en) * 2018-08-29 2018-12-18 南京优速网络科技有限公司 A kind of Network Load Balance system and equalization methods based on deeply study
CN110662256A (en) * 2019-09-18 2020-01-07 北京交通大学 Multi-path cross-protocol transmission data packet scheduling method and system
CN112148478A (en) * 2020-09-02 2020-12-29 中国南方电网有限责任公司超高压输电公司 Data security and resource allocation joint optimization method in transformer substation distributed wireless network
CN112866433A (en) * 2021-01-22 2021-05-28 京东数字科技控股股份有限公司 Message load balancing processing method and device and computer equipment
CN114063438A (en) * 2021-11-12 2022-02-18 辽宁石油化工大学 Data-driven PID control protocol self-learning method for multi-agent system
US20220124543A1 (en) * 2021-06-30 2022-04-21 Oner Orhan Graph neural network and reinforcement learning techniques for connection management

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100157821A1 (en) * 2008-12-18 2010-06-24 Morris Robert P Methods, Systems, And Computer Program Products For Sending Data Units Based On A Measure Of Energy
US20110320252A1 (en) * 2010-06-24 2011-12-29 Mobile Media Solutions, Inc. Apparatus and Method for Redeeming an Incentive on a Wireless Device
CN106576275A (en) * 2014-08-13 2017-04-19 三星电子株式会社 Ambient network sensing and handoff for device optimization in heterogeneous networks
CN109039942A (en) * 2018-08-29 2018-12-18 南京优速网络科技有限公司 A kind of Network Load Balance system and equalization methods based on deeply study
CN110662256A (en) * 2019-09-18 2020-01-07 北京交通大学 Multi-path cross-protocol transmission data packet scheduling method and system
CN112148478A (en) * 2020-09-02 2020-12-29 中国南方电网有限责任公司超高压输电公司 Data security and resource allocation joint optimization method in transformer substation distributed wireless network
CN112866433A (en) * 2021-01-22 2021-05-28 京东数字科技控股股份有限公司 Message load balancing processing method and device and computer equipment
US20220124543A1 (en) * 2021-06-30 2022-04-21 Oner Orhan Graph neural network and reinforcement learning techniques for connection management
CN114063438A (en) * 2021-11-12 2022-02-18 辽宁石油化工大学 Data-driven PID control protocol self-learning method for multi-agent system

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
张雪等: "一种优化的基于软件定义车联网的路由方法", 《计算机技术与发展》 *
王龙;伏锋;陈小杰;王靖;武斌;楚天广;谢广明;: "复杂网络上的群体决策", 智能系统学报 *
陆正福等: "有限理性公平数据交换协议的设计与仿真", 《计算机科学》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116155819A (en) * 2023-04-20 2023-05-23 北京邮电大学 Method and device for balancing load in intelligent network based on programmable data plane
CN116155819B (en) * 2023-04-20 2023-07-14 北京邮电大学 Method and device for balancing load in intelligent network based on programmable data plane

Also Published As

Publication number Publication date
CN114938374B (en) 2023-05-23

Similar Documents

Publication Publication Date Title
CA2256223C (en) Traffic route finder in communications network
Yao et al. AI routers & network mind: A hybrid machine learning paradigm for packet routing
CN102714628A (en) Communication system, control apparatus, processing rule setting method, packet transmitting method and program
Lei et al. Congestion control in SDN-based networks via multi-task deep reinforcement learning
CN115277574B (en) Data center network load balancing method under SDN architecture
CN114884895A (en) Intelligent traffic scheduling method based on deep reinforcement learning
Huang et al. Intelligent traffic control for QoS optimization in hybrid SDNs
Zhao et al. PLOFR: An online flow route framework for power saving and load balance in SDN
Paliwal et al. Effective resource management in SDN enabled data center network based on traffic demand
Mai et al. Packet routing with graph attention multi-agent reinforcement learning
CN116599904A (en) Parallel transmission load balancing device and method
CN116233133A (en) Method for balancing network load of digital twin auxiliary data center
CN114938374A (en) Cross-protocol load balancing method and system
Zhang et al. DSOQR: Deep reinforcement learning for online QoS routing in SDN-based networks
CN113114335B (en) Software-defined space-based network networking architecture based on artificial intelligence
Liu et al. BULB: lightweight and automated load balancing for fast datacenter networks
Wu Deep reinforcement learning based multi-layered traffic scheduling scheme in data center networks
Chen et al. Traffic engineering based on deep reinforcement learning in hybrid IP/SR network
CN113453255B (en) Method and device for balancing and optimizing service data transmission load of edge device container
Cucinotta et al. Data centre optimisation enhanced by software defined networking
Li et al. PARS-SR: A scalable flow forwarding scheme based on Segment Routing for massive giant connections in 5G networks
Li et al. DeepMDR: A deep-learning-assisted control plane system for scalable, protocol-independent, and multi-domain network automation
CN112311670B (en) Software defined network machine learning route optimization method
CN116192746B (en) SDN-based routing path selection method, SDN-based routing path selection device and storage medium
CN117596605B (en) Intelligent application-oriented deterministic network architecture and working method thereof

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