CN115150324A - Method and system for realizing variable rerouting threshold based on programmable data plane - Google Patents

Method and system for realizing variable rerouting threshold based on programmable data plane Download PDF

Info

Publication number
CN115150324A
CN115150324A CN202210648265.7A CN202210648265A CN115150324A CN 115150324 A CN115150324 A CN 115150324A CN 202210648265 A CN202210648265 A CN 202210648265A CN 115150324 A CN115150324 A CN 115150324A
Authority
CN
China
Prior art keywords
rerouting
executing
threshold
data packet
threshold value
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
CN202210648265.7A
Other languages
Chinese (zh)
Other versions
CN115150324B (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.)
Nanjing University of Posts and Telecommunications
Original Assignee
Nanjing University of Posts and Telecommunications
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 Nanjing University of Posts and Telecommunications filed Critical Nanjing University of Posts and Telecommunications
Priority to CN202210648265.7A priority Critical patent/CN115150324B/en
Priority claimed from CN202210648265.7A external-priority patent/CN115150324B/en
Publication of CN115150324A publication Critical patent/CN115150324A/en
Application granted granted Critical
Publication of CN115150324B publication Critical patent/CN115150324B/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
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/302Route determination based on requested QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/30Routing of multiclass traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/70Routing based on monitoring results
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2425Traffic characterised by specific attributes, e.g. priority or QoS for supporting services specification, e.g. SLA
    • H04L47/2433Allocation of priorities to traffic types

Abstract

The application provides a method and a system for realizing variable rerouting threshold based on a programmable data plane. The method is implemented on a programmable data plane by using P4 language, and a feedback self-regulation mechanism is designed, so that a rerouting threshold value is automatically changed by recording the rerouting conditions of the previous data packets, and the next data packet can be rerouted according to the new threshold value. The method realizes the automatic adjustment of the threshold value according to the network change condition. Compared with the traditional network, the method is executed on the forwarding equipment, and the adjustment of the data packet is finer; and a control plane is not needed to maintain the global view, and the occupation of resources is small. Compared with the fixed threshold scheme, the method has the advantages that the time delay and jitter performance are obviously improved under the conditions of severe network fluctuation and large data flow.

Description

Method and system for realizing variable rerouting threshold based on programmable data plane
Technical Field
The invention designs a method and a system for realizing variable threshold rerouting based on a programmable data plane, and belongs to the field of communication and information safety.
Background
In a conventional network, a rerouting scheme is used to ensure low delay, and if a delay threshold is to be dynamically changed, each switch is required to maintain a global view, which may cause a large overhead. Meanwhile, the traditional network takes data flow as a regulation unit, fine regulation and control cannot be performed on each data packet, and the fixed threshold method has the defect that severe network fluctuation conditions cannot be processed, and is lack of flexibility.
Disclosure of Invention
The invention aims to overcome the defects in the prior art, provides a method for realizing a variable threshold rerouting threshold based on a programmable data plane, can program the data plane by means of a P4 language and has the characteristic of separation of a SDN network control plane and the data plane, and designs a feedback self-adjusting mechanism, so that a delay threshold can be automatically adjusted on the data plane along with the change of a network, and the delay and jitter performance is improved.
In order to achieve the purpose, the invention adopts the following technical scheme:
in a first aspect, the present invention provides a method for implementing a variable rerouting threshold based on a programmable data plane, including the following steps:
acquiring a current time delay threshold value and the current time delay of a data packet; the delay threshold represents the maximum amount of delay that is acceptable;
comparing the current time delay threshold value with the current time delay of the data packet to determine whether a rerouting scheme is implemented;
recording the condition that the first data packets execute rerouting under the current time delay threshold value and automatically modifying the time delay threshold value according to the recorded condition.
Further, obtaining the current delay threshold and the current delay of the data packet includes:
the network starts to operate, a match table is executed, and the switch receives various flow tables, rerouting thresholds and threshold variable quantities; the rerouting threshold is a threshold for judging whether to execute rerouting;
the current rerouting threshold is greater than the current time delay of the data packet, and the data packet is directly forwarded;
if the current rerouting threshold is smaller than the current time delay of the data packet, executing rerouting and forwarding the data packet;
the threshold change amount, i.e., the change amount of the rerouting threshold, is the amount by which the rerouting threshold is increased or decreased.
Further, comparing the current delay threshold with the current delay of the data packet to determine whether to implement the rerouting scheme includes:
the current time delay threshold value is larger than the current time delay of the data packet, and the data packet is directly forwarded;
and when the current time delay threshold value is smaller than the current time delay of the data packet, executing rerouting and forwarding the data packet.
Further, recording the rerouting condition of the previous data packets under the current delay threshold and automatically modifying the delay threshold according to the recorded condition, including:
step A: the network starts to operate, and the switch receives various flow tables and threshold values;
and B: when the first data packet containing valid data comes, the received threshold value is firstly written into the threshold value register, and the counter and the state register are cleared.
Step C: the threshold is read from the threshold register and the time or queue delay that has currently been spent is compared. If the threshold is larger, step D is executed, otherwise step I is executed.
Step D: it is determined whether the status register is 0. If yes, executing step E; if the value is 1, executing the step F.
Step E: the counter is incremented by 1. And D, judging whether the counter is 0, if so, executing the step G, otherwise, executing the step H.
Step F: and setting the state register to be 0, clearing the counter and executing the step H.
Step G: the threshold is reduced and written back into the register.
Step H: and forwarding the data packet according to the originally set forwarding port. And C, receiving the next data packet and executing the step C.
Step I: it is determined whether the status register is 1. If the value is 1, executing the step J; if yes, go to step K.
Step J: the counter is incremented by 1. And judging whether the counter is 0, if so, executing the step L, otherwise, executing the step M.
Step K: and setting the state register to be 1, clearing the counter and executing the step H.
Step L: the threshold is incremented and written back into the register.
Step M: and resetting a forwarding port and a destination mac address according to the data given by the rerouting flow table and forwarding the data packet. And C, receiving the next data packet and executing the step C.
In a second aspect, the present invention provides a system for implementing a variable rerouting threshold based on a programmable data plane, the system comprising a control plane and a data plane that divide a network based on a software defined network architecture;
the control plane is used for issuing a flow table at the beginning of the network;
the data plane comprises a host and a switch and is used for executing the forwarding rule of the data packet, the scheduling of the priority and the control of the rerouting threshold;
the switch acquires a current time delay threshold value and the current time delay of a data packet; the delay threshold represents the maximum amount of delay that is acceptable;
the switch compares the current time delay threshold value with the current time delay of the data packet to decide whether to implement the rerouting scheme, records the rerouting condition of the previous data packets under the current time delay threshold value and automatically modifies the time delay threshold value according to the recorded condition.
Further, a threshold value register, a state register and a counter are arranged in the switch.
Further, the threshold register stores a rerouting threshold using a 48-bit register;
the state register uses a 1-bit register to store the condition that the previous data packet carries out rerouting, wherein 0 represents that the previous data packet is not rerouted, and 1 represents that the previous data packet carries out rerouting;
the counter uses a 3-bit counter to record the number of packets executing the same state.
Further, the switch uses a feedback mechanism to read the rerouting conditions of the first few data packets to determine the change of the threshold value; in the whole network operation phase, the switch executes the following steps:
step A: and the network starts to operate, the switch executes the match table, and acquires various flow tables, rerouting thresholds and threshold variable quantities from the control plane.
And B: when the first data packet containing valid data comes, the switch writes the received threshold value into the threshold value register, and clears the counter and the state register.
Step C: the threshold is read from the threshold register and the time or queue delay that has currently been spent is compared. If the threshold is larger, step D is executed, otherwise step I is executed.
Step D: it is determined whether the status register is 0. If the value is 0, executing the step E; if the value is 1, executing the step F.
And E, step E: the counter is incremented by 1. And D, judging whether the counter is 0, if so, executing the step G, otherwise, executing the step H.
Step F: and setting the state register to be 0, clearing the counter and executing the step H.
Step G: the threshold is reduced and written back into the register.
Step H: and forwarding the data packet according to the originally set forwarding port. And C, receiving the next data packet and executing the step C.
Step I: it is determined whether the status register is 1. If the value is 1, executing the step J; if yes, go to step K.
Step J: the counter is incremented by 1. And judging whether the counter is 0, if so, executing the step L, otherwise, executing the step M.
Step K: and setting the state register to be 1, clearing the counter and executing the step H.
Step L: the threshold is incremented and written back to the register.
Step M: and resetting the forwarding port and the destination mac address according to the data given by the rerouting flow table and forwarding the data packet. And C, receiving the next data packet and executing the step C.
Furthermore, the switches on the data plane comprise an inlet switch, an intermediate switch, a node switch and an outlet switch;
the inlet switch is a first switch which arrives after the data packet is sent from the host; besides the basic forwarding rule, the control plane also issues a user-defined QoS packet header flow table for the ingress switch to provide service; the QoS packet header flow table adds a self-defined QoS packet header for the data packet by matching a source ip address, a destination ip address and a protocol number, wherein the packet header comprises the protocol number and time delay information and is used for realizing a priority scheduling function of other switches;
the node switch is a switch capable of executing rerouting operation; except for basic forwarding rules, the control plane issues a rerouting flow table for the node switch. The rerouting flow table is used for executing rerouting and threshold changing actions.
The exit switch is the last switch before the data packet reaches the destination host; except for basic forwarding rules, the control plane issues a self-defined QoS packet header flow table opposite to an inlet switch for the outlet switch; the flow table of the custom QoS packet header deletes the custom QoS packet header for the data packet by matching whether the custom QoS packet header exists or not, and restores the data packet to a state of just entering a network;
the intermediate switch is all other switches except the switch; except for basic forwarding rules, the control plane does not issue an additional flow table for the intermediate switch, and has no other special functions.
Compared with the prior art, the invention has the following beneficial effects:
1. the invention designs a forwarding rule on a programmable data plane by using a P4 language, and can independently regulate and control each data packet; nor does it require a switch or controller to maintain a global view, the threshold will change automatically during network operation. The invention judges whether to execute the rerouting by using the variable threshold, solves the defect that the fixed threshold method cannot process the severe network fluctuation condition, and has excellent applicability.
2. Aiming at the problems in the prior art, the invention provides a set of variable threshold rerouting scheme on the premise of the existing priority scheduling and fixed threshold rerouting scheme by utilizing the characteristics of separation of an SDN network data plane and a control plane and independence of a P4 language protocol. In order to realize the flexibility and the variability of the threshold value, the scheme designs a feedback self-adjusting mechanism, the mechanism can record the situation that the first data packets carry out rerouting under the current threshold value, when the data packets leave, the P4 program can automatically modify the threshold value according to the recorded situation, and implement the rerouting mechanism according to the updated threshold value in the next data packet. This mechanism has two advantages: on one hand, the threshold value can change along with the change of the network condition, so that the rerouting mechanism has the effects of load balancing and low time delay guarantee under any condition of the network; on the other hand, the design is completed on a programmable data plane without interaction with a control plane, so that the rerouting mechanism is simpler and faster to realize.
3. The invention provides a real-time transmission scheme using P4 language on an SDN (software defined network) aiming at the flexible regulation and control problem of services and the requirement of ensuring low time delay. The scheme compares the delay threshold with the current delay of the data packet to decide whether to implement the rerouting scheme. Where the delay threshold represents the maximum amount of delay that can be accepted. In order to realize the flexible and variable threshold value, the scheme designs a set of feedback self-adjusting mechanism, a program can record the situation that the previous data packets execute rerouting under the current threshold value and automatically modify the threshold value according to the recorded situation, so that the threshold value can change along with the change of the network situation, and the rerouting has the effects of load balancing and low time delay guarantee under any situation of the network. Because this scheme is implemented on a programmable data plane, its processing latency and computational overhead are lower than those of a scheme in which the threshold is adjusted by the control plane.
Drawings
FIG. 1 is a flow chart of a variable threshold mechanism designed by the present invention;
FIG. 2 is a flow chart of a control plane of the present invention.
Detailed Description
The invention is further described below with reference to the accompanying drawings. The following examples are only for illustrating the technical solutions of the present invention more clearly, and the protection scope of the present invention is not limited thereby.
The invention can be realized by using mininet and bmv2 virtual switches on a Ubuntu system, and can also be operated on a programmable switch supporting P4. The invention can deal with the condition of huge data flow or severe time delay fluctuation. The invention is realized on a programmable data plane, and designs a rerouting method which realizes a variable threshold by a feedback mechanism aiming at the problem that a rerouting method adopting a fixed threshold faces the failure of data streams with severe fluctuation. And judging how the rerouting threshold of the next data packet changes by recording the rerouting of the first data packets. The threshold mentioned in the present invention refers to a rerouting threshold, that is, a threshold for judging whether to execute rerouting, and when the judgment amount is greater than the threshold, rerouting is executed, otherwise, rerouting is not executed.
The first embodiment is as follows:
the embodiment provides a method for realizing variable rerouting threshold based on a programmable data plane, which comprises the following steps:
acquiring a current time delay threshold value and the current time delay of a data packet; the delay threshold represents the maximum amount of delay that can be accepted;
comparing the current time delay threshold value with the current time delay of the data packet to determine whether a rerouting scheme is implemented;
recording the condition that the first data packets execute rerouting under the current time delay threshold value and automatically modifying the time delay threshold value according to the recorded condition.
As shown in fig. 1, the variable threshold mechanism flow chart designed by the present invention shows a specific flow of the implementation of the mechanism. The threshold register stores a rerouting threshold using a 48-bit register; the status register uses a 1-bit register to store the condition that the previous data packet is rerouted, wherein 0 represents that the previous data packet is not rerouted, and 1 represents that the previous data packet is rerouted; the 3-bit counter is used to record the number of packets that perform the same state.
Step A: the network starts to operate, the match table is executed, and the switch receives various flow tables, rerouting threshold values and threshold value variable quantities.
And B: when the first data packet containing valid data comes, the received threshold value is firstly written into the threshold value register, and the counter and the state register are cleared.
And C: the threshold is read from the threshold register and the time or queue delay that has currently been spent is compared. If the threshold is larger, step D is executed, otherwise step I is executed.
Step D: it is determined whether the status register is 0. If the value is 0, executing the step E; if the value is 1, executing the step F.
Step E: the counter is incremented by 1. And D, judging whether the counter is 0, if so, executing the step G, otherwise, executing the step H.
Step F: and setting the state register to be 0, clearing the counter and executing the step H.
Step G: the threshold is reduced and written back into the register.
Step H: and forwarding the data packet according to the originally set forwarding port. And C, receiving the next data packet and executing the step C.
Step I: it is determined whether the status register is 1. If the value is 1, executing the step J; if 0, go to step K.
Step J: the counter is incremented by 1. And D, judging whether the counter is 0, if so, executing the step L, otherwise, executing the step M.
Step K: and setting the state register to be 1, clearing the counter and executing the step H.
Step L: the threshold is incremented and written back to the register.
Step M: and resetting the forwarding port and the destination mac address according to the data given by the rerouting flow table and forwarding the data packet. And C, receiving the next data packet and executing the step C.
Example two:
the embodiment provides a system for realizing variable rerouting threshold based on a programmable data plane, which comprises a control plane and a data plane, wherein the control plane and the data plane divide a network based on a software-defined network architecture;
the control plane is used for issuing a flow table at the beginning of the network;
the data plane comprises a host and a switch and is used for executing the forwarding rule of the data packet, the scheduling of the priority and the control of the rerouting threshold;
the switch acquires a current time delay threshold value and the current time delay of the data packet; the delay threshold represents the maximum amount of delay that can be accepted;
the switch compares the current time delay threshold value with the current time delay of the data packet to decide whether to implement the rerouting scheme, records the rerouting condition of the previous data packets under the current time delay threshold value and automatically modifies the time delay threshold value according to the recorded condition.
The switch is provided with a threshold register, a state register and a counter. The threshold register uses a 48-bit register to store the rerouting threshold; the state register uses a 1-bit register to store the condition that the previous data packet carries out rerouting, wherein 0 represents that the previous data packet is not rerouted, and 1 represents that the previous data packet carries out rerouting; the counter uses a 3-bit counter to record the number of packets that execute the same state.
Specifically, the switch uses a feedback mechanism to read the rerouting conditions of the first several data packets to determine the change of the threshold; in the whole network operation stage, the switch executes the following steps:
step A: and the network starts to operate, the switch executes the match table, and acquires various flow tables, rerouting thresholds and threshold variable quantities from the control plane.
And B: when the first data packet containing valid data comes, the switch writes the received threshold value into the threshold value register, and clears the counter and the state register.
And C: the threshold is read from the threshold register and the time or queue delay that has currently been spent is compared. If the threshold is larger, step D is executed, otherwise step I is executed.
Step D: it is determined whether the status register is 0. If the value is 0, executing the step E; if the value is 1, executing the step F.
Step E: the counter is incremented by 1. And D, judging whether the counter is 0, if so, executing the step G, otherwise, executing the step H.
Step F: and setting the state register to be 0, clearing the counter and executing the step H.
G: the threshold is reduced and written back into the register.
Step H: and forwarding the data packet according to the originally set forwarding port. And C, receiving the next data packet and executing the step C.
Step I: it is determined whether the status register is 1. If the value is 1, executing the step J; if 0, go to step K.
Step J: the counter is incremented by 1. And D, judging whether the counter is 0, if so, executing the step L, otherwise, executing the step M.
Step K: and setting the state register to be 1, clearing the counter and executing the step H.
Step L: the threshold is incremented and written back into the register.
Step M: and resetting the forwarding port and the destination mac address according to the data given by the rerouting flow table and forwarding the data packet. And C, receiving the next data packet and executing the step C.
As shown in fig. 2, the control plane of the present invention is only responsible for issuing flow tables at the start of the network, and the variation of the threshold is handled entirely by the data plane. The control plane issues an additional flow table for a special switch besides issuing a basic ipv4 forwarding flow table and an arp address resolution flow table for all switches:
an ingress switch: and the control plane issues a custom QoS header flow table for the entrance switch. The QoS flow table adds a self-defined QoS packet header to the data packet by matching the source ip address, the destination ip address and the protocol number, wherein the packet header comprises information such as the protocol number, time delay and the like and is used for realizing a priority scheduling function of other switches.
The node switch: and the control plane issues a rerouting flow table for the node switch. The rerouting flow table is used for executing actions such as rerouting and threshold value change.
An egress switch: the control plane issues a custom QoS header flow table opposite to the ingress switch for the egress switch. The flow table deletes the custom QoS packet header for the data packet by matching whether the custom QoS packet header exists or not, and restores the data packet to a state of just entering a network.
Aiming at the problems in the prior art, the embodiment provides a set of variable threshold rerouting scheme on the premise of the existing priority scheduling and fixed threshold rerouting scheme by utilizing the characteristics of separation of an SDN network data plane and a control plane and independence of a P4 language protocol. In order to realize the flexibility and the variability of the threshold value, the scheme designs a feedback self-adjusting mechanism, the mechanism can record the situation that the first data packets carry out rerouting under the current threshold value, when the data packets leave, the P4 program can automatically modify the threshold value according to the recorded situation, and implement the rerouting mechanism according to the updated threshold value in the next data packet. This mechanism has two advantages: on one hand, the threshold value can change along with the change of the network condition, so that the rerouting mechanism has the effects of load balancing and low time delay guarantee under any condition of the network; on the other hand, the design is completed on a programmable data plane without interaction with a control plane, so that the rerouting mechanism is simpler and faster to realize.
The invention provides a real-time transmission scheme using P4 language on an SDN (software defined network) aiming at the flexible regulation and control problem of service and the requirement of ensuring low time delay. The scheme compares the delay threshold with the current delay of the data packet to decide whether to implement the rerouting scheme. Where the delay threshold represents the maximum amount of delay that can be accepted. In order to realize the flexible and variable threshold value, the scheme designs a set of feedback self-adjusting mechanism, a program can record the situation that the previous data packets execute rerouting under the current threshold value and automatically modify the threshold value according to the recorded situation, so that the threshold value can change along with the change of the network situation, and the rerouting has the effects of load balancing and low time delay guarantee under any situation of the network. Because this scheme is implemented on a programmable data plane, its processing latency and computational overhead are lower than those of a scheme in which the threshold is adjusted by the control plane.
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 embodiments of 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.
The above description is only a preferred embodiment of the present invention, and it should be noted that, for those skilled in the art, it is possible to make various improvements and modifications without departing from the technical principle of the present invention, and those improvements and modifications should be considered as the protection scope of the present invention.

Claims (8)

1. A method for implementing a variable reroute threshold based on a programmable data plane, comprising the steps of:
acquiring a current time delay threshold value and the current time delay of a data packet; the delay threshold represents the maximum amount of delay that is acceptable;
comparing the current time delay threshold value with the current time delay of the data packet to determine whether a rerouting scheme is implemented;
recording the condition that the first data packets execute rerouting under the current time delay threshold value and automatically modifying the time delay threshold value according to the recorded condition.
2. The method of claim 1, wherein obtaining the current delay threshold and the current delay of the packet comprises:
the network starts to operate, a match table is executed, and the switch receives various flow tables, a rerouting threshold value and a threshold value variable quantity; the rerouting threshold is a delay threshold for judging whether rerouting is executed or not; the current rerouting threshold is greater than the current time delay of the data packet, and the data packet is directly forwarded; if the current rerouting threshold is smaller than the current time delay of the data packet, executing rerouting and forwarding the data packet; the threshold change amount, i.e., the change amount of the rerouting threshold, is the amount by which the rerouting threshold is increased or decreased.
3. The method of claim 1, wherein the recording of rerouting of the first packets at the current delay threshold and automatically modifying the delay threshold according to the recorded conditions comprises:
step A: the network starts to operate, and the switch receives various flow tables and threshold values;
and B: when a first data packet containing valid data arrives, firstly writing a received threshold value into a threshold value register, and resetting a counter and a state register;
step C: reading a threshold value from a threshold value register, and comparing the currently spent time or queue delay; if the threshold value is larger, executing the step D, otherwise executing the step I;
step D: judging whether the status register is 0 or not; if yes, executing step E; if the value is 1, executing the step F;
and E, step E: adding 1 to the counter; judging whether the counter is 0, if so, executing the step G, otherwise, executing the step H;
step F: setting the state register to be 0, resetting the counter and executing the step H;
step G: reducing the threshold value and writing back into the register;
step H: forwarding the data packet according to the originally set forwarding port; c, receiving the next data packet and executing the step C;
step I: judging whether the status register is 1 or not; if the value is 1, executing the step J; if yes, executing the step K;
step J: adding 1 to the counter; judging whether the counter is 0, if so, executing the step L, otherwise, executing the step M;
step K: setting the state register to be 1, resetting the counter and executing the step H;
step L: increasing the threshold value and writing back to the register;
step M: resetting a forwarding port and a destination mac address according to the data given by the rerouting flow table and forwarding a data packet; and C, receiving the next data packet and executing the step C.
4. A system for implementing variable rerouting thresholds based on a programmable data plane, the system comprising a network divided into a control plane and a data plane based on a software defined network architecture;
the control plane is used for issuing a flow table at the beginning of the network;
the data plane comprises a host and a switch and is used for executing the forwarding rule of the data packet, the scheduling of the priority and the control of the rerouting threshold;
the switch acquires a current time delay threshold value and the current time delay of a data packet; the delay threshold represents the maximum amount of delay that is acceptable;
the switch compares the current time delay threshold value with the current time delay of the data packet to decide whether to implement the rerouting scheme, records the rerouting condition of the previous data packets under the current time delay threshold value and automatically modifies the time delay threshold value according to the recorded condition.
5. The system for implementing variable rerouting thresholds according to claim 4, in which threshold registers, status registers and counters are provided in said switches.
6. The system for implementing variable rerouting thresholds based on the programmable data plane according to claim 5, wherein said threshold register stores the rerouting threshold using a 48-bit register;
the state register uses a 1-bit register to store the condition that the previous data packet carries out rerouting, wherein 0 represents that the previous data packet is not rerouted, and 1 represents that the previous data packet carries out rerouting;
the counter uses a 3-bit counter to record the number of packets that execute the same state.
7. The system of claim 4, wherein the switch uses a feedback mechanism to read the rerouting of the first few packets to determine the change in threshold; in the whole network operation stage, the switch executes the following steps:
step A: the network starts to operate, the switch executes the match table, and acquires various flow tables, rerouting thresholds and threshold variable quantities from the control plane;
and B: when the first data packet containing valid data comes, the switch writes the received threshold value into the threshold value register, and clears the counter and the state register;
and C: reading a threshold value from a threshold value register, and comparing the currently spent time or queue delay; if the threshold value is larger, executing the step D, otherwise executing the step I;
step D: judging whether the status register is 0 or not; if the value is 0, executing the step E; if the value is 1, executing the step F;
and E, step E: adding 1 to the counter; judging whether the counter is 0, if so, executing the step G, otherwise, executing the step H;
step F: setting a state register to be 0, resetting a counter and executing the step H;
step G: reducing the threshold value and writing back to the register;
step H: forwarding the data packet according to the originally set forwarding port; c, receiving the next data packet and executing the step C;
step I: judging whether the status register is 1 or not; if the value is 1, executing the step J; if yes, executing the step K;
step J: adding 1 to the counter; judging whether the counter is 0, if so, executing the step L, otherwise, executing the step M;
step K: setting the state register to be 1, resetting the counter and executing the step H;
step L: increasing the threshold value and writing the threshold value back to the register;
step M: resetting a forwarding port and a destination mac address according to data given by the rerouting flow table and forwarding a data packet; and C, receiving the next data packet and executing the step C.
8. The system for implementing variable rerouting thresholds based on a programmable data plane as claimed in claim 5, wherein the switches on the data plane include ingress switches, intermediate switches, node switches and egress switches;
the inlet switch is a first switch which arrives after the data packet is sent from the host; besides the basic forwarding rule, the control plane also issues a custom QoS packet header flow table for the ingress switch to provide service; the QoS packet header flow table adds a self-defined QoS packet header for the data packet by matching a source ip address, a destination ip address and a protocol number, wherein the packet header comprises the protocol number and time delay information and is used for realizing a priority scheduling function of other switches;
the node switch is a switch capable of executing rerouting operation; except for basic forwarding rules, the control plane issues a rerouting flow table for the node switch; the rerouting flow table is used for executing rerouting and threshold value changing actions;
the exit switch is the last switch before the data packet reaches the destination host; except the basic forwarding rule, the control plane is that the outlet switch issues a user-defined QoS packet head flow table opposite to the inlet switch; the flow table of the custom QoS packet header deletes the custom QoS packet header for the data packet by matching whether the custom QoS packet header exists or not, and restores the data packet to a state of just entering a network;
the intermediate switch is all other switches except the switch; except for basic forwarding rules, the control plane does not issue an additional flow table for the intermediate switch, and has no other special functions.
CN202210648265.7A 2022-06-09 Method and system for realizing variable rerouting threshold based on programmable data plane Active CN115150324B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210648265.7A CN115150324B (en) 2022-06-09 Method and system for realizing variable rerouting threshold based on programmable data plane

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210648265.7A CN115150324B (en) 2022-06-09 Method and system for realizing variable rerouting threshold based on programmable data plane

Publications (2)

Publication Number Publication Date
CN115150324A true CN115150324A (en) 2022-10-04
CN115150324B CN115150324B (en) 2024-05-10

Family

ID=

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110267952A1 (en) * 2010-04-30 2011-11-03 Brocade Communications Systems, Inc. Dynamic latency-based rerouting
US20120075999A1 (en) * 2010-09-28 2012-03-29 Brocade Communications Systems, Inc. Dynamic latency-based rerouting
US20140068106A1 (en) * 2012-09-06 2014-03-06 Verizon Patent And Licensing Inc. Method and system for providing latency detection based on automated latency measurements of communication network paths
US20150281126A1 (en) * 2014-03-31 2015-10-01 Plx Technology, Inc. METHODS AND APPARATUS FOR A HIGH PERFORMANCE MESSAGING ENGINE INTEGRATED WITHIN A PCIe SWITCH
WO2016058261A1 (en) * 2014-12-16 2016-04-21 北京大学深圳研究生院 Network-based flat routing method
CN107196854A (en) * 2017-06-20 2017-09-22 西安交通大学 Datum plane abnormality eliminating method in a kind of software defined network
CN108886497A (en) * 2016-02-08 2018-11-23 瑞典爱立信有限公司 For managing the method and interchanger of the business in transmission network
CN109547340A (en) * 2018-12-28 2019-03-29 西安电子科技大学 SDN data center network jamming control method based on heavy-route
CN109586785A (en) * 2019-01-07 2019-04-05 南京邮电大学 Low-track satellite network routing policy based on K shortest path first
US20200358692A1 (en) * 2017-11-28 2020-11-12 Institute Of Acoustics, Chinese Academy Of Sciences Routing and forwarding method for multi-homed network based on programmable network technology
CN112350948A (en) * 2020-10-28 2021-02-09 武汉大学 SDN-based distributed network tracing system and method
CN112350949A (en) * 2020-10-23 2021-02-09 重庆邮电大学 Rerouting congestion control method and system based on flow scheduling in software defined network
CN112383482A (en) * 2020-11-16 2021-02-19 北京邮电大学 Dynamic Q value route calculation method and device based on data plane
WO2021135746A1 (en) * 2019-12-30 2021-07-08 中兴通讯股份有限公司 Route calculation method and data transmission method

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110267952A1 (en) * 2010-04-30 2011-11-03 Brocade Communications Systems, Inc. Dynamic latency-based rerouting
US20120075999A1 (en) * 2010-09-28 2012-03-29 Brocade Communications Systems, Inc. Dynamic latency-based rerouting
US20140068106A1 (en) * 2012-09-06 2014-03-06 Verizon Patent And Licensing Inc. Method and system for providing latency detection based on automated latency measurements of communication network paths
US20150281126A1 (en) * 2014-03-31 2015-10-01 Plx Technology, Inc. METHODS AND APPARATUS FOR A HIGH PERFORMANCE MESSAGING ENGINE INTEGRATED WITHIN A PCIe SWITCH
WO2016058261A1 (en) * 2014-12-16 2016-04-21 北京大学深圳研究生院 Network-based flat routing method
CN108886497A (en) * 2016-02-08 2018-11-23 瑞典爱立信有限公司 For managing the method and interchanger of the business in transmission network
CN107196854A (en) * 2017-06-20 2017-09-22 西安交通大学 Datum plane abnormality eliminating method in a kind of software defined network
US20200358692A1 (en) * 2017-11-28 2020-11-12 Institute Of Acoustics, Chinese Academy Of Sciences Routing and forwarding method for multi-homed network based on programmable network technology
CN109547340A (en) * 2018-12-28 2019-03-29 西安电子科技大学 SDN data center network jamming control method based on heavy-route
CN109586785A (en) * 2019-01-07 2019-04-05 南京邮电大学 Low-track satellite network routing policy based on K shortest path first
WO2021135746A1 (en) * 2019-12-30 2021-07-08 中兴通讯股份有限公司 Route calculation method and data transmission method
CN112350949A (en) * 2020-10-23 2021-02-09 重庆邮电大学 Rerouting congestion control method and system based on flow scheduling in software defined network
CN112350948A (en) * 2020-10-28 2021-02-09 武汉大学 SDN-based distributed network tracing system and method
CN112383482A (en) * 2020-11-16 2021-02-19 北京邮电大学 Dynamic Q value route calculation method and device based on data plane

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
左志斌;常朝稳;祝现威;: "一种基于数据平面可编程的软件定义网络报文转发验证机制", 电子与信息学报, no. 05 *

Similar Documents

Publication Publication Date Title
US11811663B2 (en) Network traffic load balancing
US8619793B2 (en) Dynamic assignment of traffic classes to a priority queue in a packet forwarding device
US7177276B1 (en) Pipelined packet switching and queuing architecture
EP1142213B1 (en) Dynamic assignment of traffic classes to a priority queue in a packet forwarding device
US20140237118A1 (en) Application Aware Elephant Flow Management
JP2020532194A (en) Packet control method and network equipment
US20140233421A1 (en) Application Aware Elephant Flow Identification
EP3275140B1 (en) Technique for achieving low latency in data center network environments
US6392996B1 (en) Method and apparatus for frame peeking
US10505851B1 (en) Transmission burst control in a network device
US20040184453A1 (en) Packet communication device
US10104000B2 (en) Reducing control plane overload of a network device
US9379992B2 (en) Method and an apparatus for virtualization of a quality-of-service
US7631096B1 (en) Real-time bandwidth provisioning in a switching device
US11916795B2 (en) Systems and methods for stateful packet processing
CN111669336A (en) Low cost congestion isolation for lossless ethernet
JP3956786B2 (en) Storage device bandwidth control apparatus, method, and program
CN116114233A (en) Automatic flow management
CN115150324A (en) Method and system for realizing variable rerouting threshold based on programmable data plane
CN115150324B (en) Method and system for realizing variable rerouting threshold based on programmable data plane
US11463370B2 (en) Scalable deterministic services in packet networks
CN114531399A (en) Memory blocking balance method and device, electronic equipment and storage medium
US11805080B2 (en) System and method for data loss and data latency management in a network-on-chip with buffered switches
JP2017191977A (en) Frame processing apparatus and frame processing method
US11632331B2 (en) Load distribution system and load distribution method

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