CN111294280B - Message duplicate checking method and device, and data forwarding method, device and system - Google Patents

Message duplicate checking method and device, and data forwarding method, device and system Download PDF

Info

Publication number
CN111294280B
CN111294280B CN201811490559.1A CN201811490559A CN111294280B CN 111294280 B CN111294280 B CN 111294280B CN 201811490559 A CN201811490559 A CN 201811490559A CN 111294280 B CN111294280 B CN 111294280B
Authority
CN
China
Prior art keywords
flow table
message
request message
duplication
checking
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201811490559.1A
Other languages
Chinese (zh)
Other versions
CN111294280A (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.)
China Telecom Corp Ltd
Original Assignee
China Telecom Corp Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China Telecom Corp Ltd filed Critical China Telecom Corp Ltd
Priority to CN201811490559.1A priority Critical patent/CN111294280B/en
Publication of CN111294280A publication Critical patent/CN111294280A/en
Application granted granted Critical
Publication of CN111294280B publication Critical patent/CN111294280B/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/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/54Organization of routing tables

Abstract

The invention discloses a message duplicate checking method and device, a data forwarding method, equipment and a system. The message duplicate checking method comprises the following steps: determining whether duplication checking is needed or not according to the flow table updating request message; and under the condition that the flow table updating request message needs to be checked for duplication, comparing the flow table updating request message with the device flow table, and checking and removing the duplication for the flow table updating request message. The invention eliminates the repeated report of the message from the equipment to the controller by adding a duplicate checking mechanism before the Packet _ in report.

Description

Message duplicate checking method and device, and data forwarding method, device and system
Technical Field
The invention relates to the field of software defined networks, in particular to a message duplicate checking method and device, a data forwarding method, equipment and a system.
Background
In an SDN (Software Defined Network), OpenFlow is an important southbound protocol in the SDN, and is used to control an on-Network switch or router, and a basic idea is that a device maintains a FlowTable and forwards the FlowTable only according to the FlowTable, and generation, maintenance, and delivery of the FlowTable are completely implemented by an external controller.
Disclosure of Invention
The applicant found that: after receiving a data Packet, the device searches for the FlowTable, and if the FlowTable does not have a matching entry, the exchanger will pack the data Packet in a Packet _ in message and send the data Packet to the controller for processing; however, if the controller cannot update the FlowTable in the device in time due to congestion of the control link or insufficient performance of the controller, Packet _ in is repeatedly sent, which further aggravates the link and controller stress.
In view of at least one of the above technical problems, the present invention provides a message duplicate checking method and apparatus, a data forwarding method, device and system, which can eliminate repeated reporting of messages from a device to a controller.
According to one aspect of the invention, a message duplicate checking method is provided, which comprises the following steps:
determining whether duplication checking is needed or not according to the flow table updating request message;
and under the condition that the flow table updating request message needs to be checked for duplication, comparing the flow table updating request message with the device flow table, and checking and removing the duplication for the flow table updating request message.
In some embodiments of the present invention, the determining whether a duplicate check is required according to the flow table update request message includes:
judging whether duplication checking is needed or not according to a request reason field in the flow table updating request message;
judging that the flow table updating request message needs to be checked for duplication under the condition that the request reason field does not match the flow table;
in the case where the action list whose request cause field is the device flow table contains an action to be forwarded to the controller, it is determined that the flow table update request message does not need to be checked for duplication.
In some embodiments of the present invention, said comparing the flow table update request message with the device flow table, wherein the performing duplicate checking and duplicate removal on the flow table update request message includes:
and comparing the flow table updating request message with the device flow table by adopting a preset filter, and checking and removing the duplicate of the flow table updating request message.
In some embodiments of the present invention, the comparing the flow table update request message with the device flow table, and the performing duplicate checking and duplicate removal on the flow table update request message further includes:
and updating the preset filter at preset time intervals, and recovering the flow table updating request message which is wrongly judged as the repeated message before as a non-repeated message.
In some embodiments of the invention, the predetermined filter is a bloom filter.
In some embodiments of the present invention, said comparing the flow table update request message with the device flow table, wherein the performing duplicate checking and duplicate removal on the flow table update request message includes:
taking twelve tuples in the device stream table as duplication checking key values;
filling a flow table updating request message into the request twelve-tuple;
judging whether the message key value of the request twelve-tuple is completely contained in the duplicate checking key value;
and under the condition that the message key value of the request twelve-tuple is completely contained in the duplication checking key value, judging that the flow table updating request message is a repeated message, and removing duplication from the flow table updating request message.
In some embodiments of the present invention, the comparing the flow table update request message with the device flow table, and the performing duplicate checking and duplicate removal on the flow table update request message further includes:
and under the condition that the message key value of the request twelve-tuple is not completely contained in the duplication checking key value, judging that the flow table updating request message is a non-duplication message.
In some embodiments of the present invention, the comparing the flow table update request message with the device flow table, and the performing duplicate checking and duplicate removal on the flow table update request message further includes:
and updating the check key value at preset time intervals, and recovering the flow table updating request message which is judged to be the repeated message by mistake as a non-repeated message.
According to another aspect of the present invention, there is provided a data forwarding method, including:
under the condition of receiving a data message, detecting whether a flow table corresponding to the data message exists or not;
generating a flow table updating request message under the condition that a flow table corresponding to the data message does not exist;
performing duplicate checking and duplicate removal processing on the flow table updating request message;
transmitting a flow table update request message to the controller so that the controller updates the flow table;
and finishing data message forwarding according to the device flow table.
In some embodiments of the present invention, the performing duplicate checking and duplicate removing processing on the flow table update request message includes: a method for message duplication checking as in any preceding embodiment.
According to another aspect of the present invention, there is provided a message duplication checking apparatus, comprising:
the judging module is used for determining whether duplication checking is needed or not according to the flow table updating request message;
and the duplication checking module is used for comparing the flow table updating request message with the device flow table and checking and eliminating duplication of the flow table updating request message under the condition that the judging module judges that the flow table updating request message needs to be subjected to duplication checking.
In some embodiments of the present invention, the message duplication checking apparatus is configured to perform operations for implementing the message duplication checking method according to any of the above embodiments.
According to another aspect of the present invention, there is provided a message duplication checking apparatus, including:
the duplicate checking memory is used for storing instructions;
and the duplication checking processor is used for executing the instructions to enable the message duplication checking device to execute the operation of realizing the message duplication checking method according to any one of the above embodiments.
According to another aspect of the present invention, there is provided a data forwarding apparatus including:
the flow table detection device is used for detecting whether a flow table corresponding to the data message exists or not under the condition of receiving the data message;
a message generating device for generating a flow table update request message in the case that there is no flow table corresponding to the data packet;
the message duplicate checking device is used for carrying out duplicate checking and duplicate removal processing on the flow table updating request message;
a message transmitting means that transmits a flow table update request message to the controller so that the controller updates the flow table;
and the data forwarding device is used for finishing data message forwarding according to the equipment flow table.
In some embodiments of the present invention, the message duplication checking device is the message duplication checking device as described in any of the above embodiments.
According to another aspect of the present invention, there is provided a data forwarding apparatus including:
a device memory to store instructions;
a device processor, configured to execute the instructions, so that the data forwarding device performs operations to implement the data forwarding method according to any of the above embodiments.
According to another aspect of the present invention, there is provided a data forwarding system comprising a controller and a data forwarding device as described in any of the above embodiments.
According to another aspect of the present invention, there is provided a computer-readable storage medium storing computer instructions which, when executed by a processor, implement the message duplication checking method according to any one of the above embodiments, or the data forwarding method according to any one of the above embodiments.
The invention eliminates the repeated report of the message from the equipment to the controller by adding a duplicate checking mechanism before the Packet _ in report.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings used in the description of the embodiments or the prior art will be briefly described below, it is obvious that the drawings in the following description are only some embodiments of the present invention, and for those skilled in the art, other drawings can be obtained according to the drawings without creative efforts.
Fig. 1 is a schematic diagram of some embodiments of a data forwarding method of the present invention.
Fig. 2 is a schematic diagram of one flow instance in an OpenFlow flow table in some embodiments of the invention.
Fig. 3 is a schematic diagram of some embodiments of a message duplication checking method according to the present invention.
Fig. 4 is a schematic diagram of a flow table update request message structure in some embodiments of the present invention.
FIG. 5 is a diagram of a key value data structure for duplication in accordance with an embodiment of the present invention.
Fig. 6 is a schematic diagram of another embodiment of a message duplication checking method according to the present invention.
Fig. 7 is a schematic diagram of another embodiment of a data forwarding method according to the present invention.
Fig. 8 is a schematic diagram of some embodiments of a message duplication checking apparatus according to the present invention.
Fig. 9 is a schematic diagram of another embodiment of the message duplication checking apparatus of the present invention.
Fig. 10 is a schematic diagram of some embodiments of data forwarding devices of the present invention.
Fig. 11 is a schematic diagram of another embodiment of a data forwarding device of the present invention.
Fig. 12 is a schematic diagram of another embodiment of a data forwarding device of the present invention.
Detailed Description
The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. The following description of at least one exemplary embodiment is merely illustrative in nature and is in no way intended to limit the invention, its application, or uses. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
The relative arrangement of the components and steps, the numerical expressions and numerical values set forth in these embodiments do not limit the scope of the present invention unless specifically stated otherwise.
Meanwhile, it should be understood that the sizes of the respective portions shown in the drawings are not drawn in an actual proportional relationship for the convenience of description.
Techniques, methods, and apparatus known to those of ordinary skill in the relevant art may not be discussed in detail but are intended to be part of the specification where appropriate.
In all examples shown and discussed herein, any particular value should be construed as merely illustrative, and not limiting. Thus, other examples of the exemplary embodiments may have different values.
It should be noted that: like reference numbers and letters refer to like items in the following figures, and thus, once an item is defined in one figure, further discussion thereof is not required in subsequent figures.
Fig. 1 is a schematic diagram of some embodiments of a data forwarding method of the present invention. Preferably, this embodiment may be performed by a data forwarding apparatus. The method comprises the following steps:
step 11, the data forwarding device detects whether a flow table (FlowTable) corresponding to the data packet exists or not when receiving the data packet. If there is no flow table corresponding to the data packet, executing step 12; otherwise, if there is a flow table corresponding to the data packet, step 14 is executed.
Fig. 2 is a schematic diagram of one flow instance in an OpenFlow flow table in some embodiments of the invention.
In some embodiments of the invention, the data forwarding device may be a router or a switch.
Step 12, the data forwarding device generates a flow table update request message (Packet _ in message) in the case that there is no flow table corresponding to the data Packet.
And step 13, the data forwarding equipment performs duplicate checking and duplicate removal processing on the flow table updating request message.
Step 14, the data forwarding device sends a flow table update request message to the controller so that the controller updates the flow table.
And step 15, the data forwarding equipment completes data message forwarding according to the equipment flow table.
Based on the data forwarding method provided by the above embodiment of the present invention, the communication overhead between the controller and the switch and the performance pressure of the controller can be reduced by eliminating Packet _ in repeated reporting.
Fig. 3 is a schematic diagram of some embodiments of a message duplication checking method according to the present invention. Preferably, the present embodiment may be performed by a message duplication checking apparatus. As shown in fig. 3, the message duplication checking method (e.g., step 13 in the embodiment of fig. 1) of the present invention may include the following steps:
and step 31, determining whether the duplication check is needed or not according to the flow table updating request message.
In some embodiments of the present invention, step 31 may comprise:
and step 311, judging whether the duplication check is needed or not according to the request reason field in the flow table updating request message.
In step 312, in case that the request reason field does not match the flow table, it is determined that the flow table update request message needs to be checked for duplication.
In step 313, in the case where the request cause field is that the action list of the device flow table contains an action to be forwarded to the controller, it is determined that the flow table update request message does not need to be checked for duplication.
In some embodiments of the present invention, step 31 may comprise:
and step 31a, judging whether duplication checking is needed or not according to a reset field in the Packet _ in message.
Fig. 4 is a schematic diagram of a flow table update request message structure in some embodiments of the present invention. As shown in fig. 4, the Packet _ in message structure is specifically shown. In some embodiments of the present invention, the reset field is used to record the reason for generating Packet _ in.
At step 31b, the reason for recording in the reset field is "OFPR _ NO _ MATCH: and under the condition that no corresponding matching flow table exists, judging that the flow table updating request message Packet _ in of the type needs to be subjected to duplicate checking.
In step 31c, the reason for recording in the reset field is "OFPR _ ACTION: when the action list indicated by the switch flow table includes the action to be transferred to the controller, "it is determined that this type of flow table update request message Packet _ in does not need to be subjected to the duplication check.
And step 32, comparing the flow table updating request message with the device flow table under the condition that the flow table updating request message needs to be checked for duplication, and checking and removing duplication for the flow table updating request message.
In some embodiments of the present invention, step 32 may comprise:
in step 321, comparing the flow table update request message with the device flow table by using a predetermined filter, and performing duplicate checking and duplicate removal on the flow table update request message.
In some embodiments of the invention, the predetermined filter may be a bloom filter that consumes less memory.
Step 322, updating the predetermined filter at predetermined time intervals, and recovering the flow table update request message which is wrongly judged as the repeat message before as the non-repeat message.
In some embodiments of the present invention, step 32 may comprise:
and step 32a, taking the twelve tuples in the device flow table as a weight key (key) value set.
For example: FIG. 5 is a diagram of a key value data structure for duplication in accordance with an embodiment of the present invention.
Fig. 6 is a schematic diagram of another embodiment of a message duplication checking method according to the present invention. As shown in fig. 6, step 32a of the embodiment of fig. 3 may include: determining a key value corresponding to a flow table update request message Packet _ in1 stored in the device flow table to be a1, and a binary value corresponding to a1 to be 00110010; determining a key value corresponding to a flow table update request message Packet _ in2 stored in the device flow table to be a2, and a binary value corresponding to a2 to be 10100100; combining the two may result in a set of duplication key values 10110110.
And step 32b, filling the data header in the Packet _ in of the flow table updating request message to be checked into the twelve-tuple of the request, and supplementing 0 with the nonexistent bit.
In the embodiment of fig. 6 of the present invention, step 32b of the embodiment of fig. 3 may include: and determining a key value corresponding to the flow table updating request message to be checked as b, and determining a binary value corresponding to b as a request twelve-tuple 00100100100110.
And step 32c, judging whether the message key value of the request twelve-tuple is completely contained in the duplication key value set through a bloom filter with low memory consumption.
And step 32d, under the condition that the message key value of the request twelve-tuple is completely contained in the duplication key value set, judging that the flow table updating request message is a repeated message, and performing duplication removal on the flow table updating request message.
And step 32e, under the condition that the message key value of the request twelve-tuple is not completely contained in the duplication key value set, determining that the flow table update request message is a non-duplication message.
In some embodiments of the present invention, in the case that it is determined that the message key value is not in the duplicate key value set, there is a certain probability that the message key value is not in the set.
Thus, in some embodiments of the present invention, step 32 may further comprise:
and step 32f, updating the duplicate checking key value at preset time intervals, and recovering the flow table updating request message which is judged to be the duplicate message by mistake before as a non-duplicate message.
For example: in the fig. 6 embodiment of the present invention, step 32d of the fig. 3 embodiment may include: the request twelve-tuple 00100100100110 is completely included in the lookup key value set 10110110, and the flow table update request message is determined to be a duplicate message according to step 32d, so that the flow table update request message is deduplicated.
However, in practice, only the duplication key values 00110010 and 10100100 will be present in the device stream table, and the request twelve-tuple 00100100110 will not be present. Therefore, the bloom filter needs to be updated at predetermined time intervals, for example: the duplication key value set is updated to 00000000 at predetermined time intervals in order to restore the flow table update request message that was previously erroneously judged to be a duplicate message to be a non-duplicate message.
Based on the message duplicate checking method provided by the embodiment of the invention, the method is a method for eliminating repeated reporting of Packet _ in, and a duplicate checking mechanism is added before the Packet _ in is reported. The specific method of the above embodiment of the present invention may include: firstly, judging whether the Packet _ in needs to be subjected to duplicate checking and constructing a duplicate checking key value; then, duplicate removal is carried out through a bloom filter with small memory consumption; and then the influence of the misjudgment of the bloom filter is eliminated by regularly refreshing the array of the bloom filter. The embodiment of the invention fits the OpenFlow protocol to eliminate the repeated reporting of Packet _ in with less memory cost; the embodiment of the invention has strong implementability and has the value of application and popularization of the existing network.
Compared with the related technical implementation scheme, the embodiment of the invention adds the duplicate checking mechanism before the Packet _ in is reported, and optimizes the duplicate checking mechanism based on the goals of low memory consumption and accuracy; therefore, the device is eliminated from repeatedly reporting to the controller.
Fig. 7 is a schematic diagram of another embodiment of a data forwarding method according to the present invention. Preferably, this embodiment may be performed by a data forwarding apparatus or a data forwarding system. The method comprises the following steps:
step 71, the data message enters the data forwarding device.
In some embodiments of the invention, the data forwarding device may be a router or a switch.
Step 72. Under the condition of receiving the data message, the data forwarding equipment detects whether a flow table (FlowTable) corresponding to the data message exists or not. If a flow table corresponding to the data packet exists, executing step 79; otherwise, if a flow table corresponding to the data packet exists, step 73 is executed.
Step 73, the data forwarding device generates a flow table update request message (Packet _ in message) in the absence of a flow table corresponding to the data Packet.
And step 74, judging whether the Packet _ in message needs to be checked for duplication or not according to a reset field in the Packet _ in message. If the duplicate checking is needed, executing step 75; otherwise, if the duplicate checking is not required, step 77 is executed.
And 75, constructing a duplicate key (key) value according to the twelve tuples in the equipment flow table.
And step 76, checking and removing the duplicate of the flow table updating request message according to the bloom filter.
In some embodiments of the present invention, as shown in fig. 7, step 76 may further comprise: and updating the preset filter at preset time intervals, and recovering the flow table updating request message which is wrongly judged as the repeated message before as a non-repeated message.
And step 77, the data forwarding device sends the flow table update request message Packet _ in after the duplication checking and deduplication processing to the controller.
In step 78, the controller updates the device flow table FlowTable.
And 79, the data forwarding equipment completes data message forwarding according to the equipment flow table.
Compared with the control flow of the related art, the above embodiment of the present invention adds three steps before the device sends Packet _ in: firstly, judging whether duplication is removed or not; secondly, constructing a deduplication key value; and thirdly, carrying out duplicate removal on the regularly updated bloom filter. Therefore, the embodiment of the invention can eliminate the repeated report of the message sent by the equipment to the controller.
Compared with the related art, the embodiment of the invention has the advantages that:
first, low memory consumption. 1. In the above embodiment of the present invention, the 12-tuple in the flow table is selected as the duplication key value, instead of the entire Packet _ in Packet, and can be directly used as the entry parameter of the bloom filter. 2. The embodiment of the invention adopts the bloom filter with low memory consumption as the duplication checking tool.
Second, a misjudgment elimination mechanism. The embodiment of the invention removes the Packet _ in which is misjudged before by updating the bloom filter at regular time. The tour guide words can avoid the situation that some messages can never be issued by the controller due to misjudgment of the bloom filter.
The embodiment of the invention provides a method for eliminating repeated reporting of equipment to a controller message aiming at an application scene of a transfer control separation trend of SDN network development, improves network configuration and operation and maintenance efficiency in the SDN scene, and has the practicability of current network deployment application.
Fig. 8 is a schematic diagram of some embodiments of a message duplication checking apparatus according to the present invention. As shown in fig. 8, the message duplication checking apparatus of the present invention may include a determining module 81 and a duplication checking module 82, wherein:
and the judging module 81 is configured to determine whether a duplicate checking is required according to the flow table update request message.
In some embodiments of the present invention, the determining module 81 may be configured to determine whether duplicate checking is needed according to a request reason field in the flow table update request message; judging that the flow table updating request message needs to be checked for duplication under the condition that the request reason field does not match the flow table; in the case where the action list whose request cause field is the device flow table contains an action to be forwarded to the controller, it is determined that the flow table update request message does not need to be checked for duplication.
In some embodiments of the present invention, the determining module 81 may be configured to determine whether duplicate checking is needed according to a reset field in the Packet _ in message; the reason for recording in the reset field is "OFPR _ NO _ MATCH: under the condition that no corresponding matching flow table exists, judging that the flow table updating request message Packet _ in of the type needs to be subjected to duplicate checking; the reason for recording in the reset field is "OFPR _ ACTION: when the action list indicated by the switch flow table includes the action to be transferred to the controller, "it is determined that this type of flow table update request message Packet _ in does not need to be subjected to the duplication check.
And the duplication checking module 82 is configured to, when the determining module determines that the flow table update request message needs to be duplicated, compare the flow table update request message with the device flow table, and perform duplication checking and duplication removal on the flow table update request message.
In some embodiments of the present invention, the duplication checking module 82 may be configured to check and deduplicate the flow table update request message by comparing the flow table update request message with the device flow table using a predetermined filter; and updating the preset filter at preset time intervals, and recovering the flow table updating request message which is wrongly judged as the repeated message before as a non-repeated message.
In some embodiments of the invention, the predetermined filter may be a bloom filter that consumes less memory.
In some embodiments of the invention, the duplication checking module 82 may be configured to use twelve tuples in the device stream table as a set of duplication checking key (key) values; filling a data message header in a flow table updating request message Packet _ in to be checked into a request twelve-tuple, wherein no bit is complemented by 0; judging whether the message key values of the request twelve-tuple are completely contained in the duplicate key value set or not through a bloom filter with low memory consumption; under the condition that the message key value of the request twelve-tuple is completely contained in the duplication key value set, judging that the flow table updating request message is a repeated message, and removing duplication from the flow table updating request message; under the condition that the message key value of the request twelve-tuple is not completely contained in the duplication key value set, judging that the flow table updating request message is a non-duplication message; and updating the check key value at preset time intervals, and recovering the flow table updating request message which is judged to be the repeated message by mistake as a non-repeated message.
In some embodiments of the present invention, the message duplication checking apparatus is configured to perform operations for implementing the message duplication checking method according to any of the above embodiments (e.g., the embodiment of fig. 3 or fig. 6).
Based on the message duplicate checking device provided by the embodiment of the invention, the communication overhead between the controller and the switch and the performance pressure of the controller can be reduced by eliminating Packet _ in repeated reporting.
The optimal message duplication checking device of the embodiment of the invention has the advantage of low memory consumption. 1. In the above embodiment of the present invention, the 12-tuple in the flow table is selected as the duplication key value, instead of the entire Packet _ in Packet, and can be directly used as the entry parameter of the bloom filter. 2. The embodiment of the invention adopts the bloom filter with low memory consumption as the duplication checking tool.
The optimal message duplication checking device of the embodiment of the invention has a misjudgment elimination mechanism. The embodiment of the invention removes the Packet _ in which is misjudged before by updating the bloom filter at regular time. The tour guide words can avoid the situation that some messages can never be issued by the controller due to misjudgment of the bloom filter.
Fig. 9 is a schematic diagram of another embodiment of the message duplication checking apparatus of the present invention. As shown in fig. 8, the message duplication checking apparatus of the present invention may include a duplication checking memory 91 and a duplication checking processor 92, wherein:
and the duplicate checking memory 91 is used for storing instructions.
A duplicate checking processor 92, configured to execute the instructions, so that the message duplicate checking apparatus performs operations implementing the message duplicate checking method according to any of the above embodiments.
The embodiment of the invention provides a device for eliminating repeated reporting of equipment to a controller message aiming at an application scene of a transfer control separation trend of SDN network development, thereby improving network configuration and operation and maintenance efficiency in the SDN scene and having the practicability of existing network deployment application.
Fig. 10 is a schematic diagram of some embodiments of data forwarding devices of the present invention. As shown in fig. 10, the data forwarding apparatus may include a flow table detecting device 101, a message generating device 102, a message duplication checking device 103, a message sending device 104, and a data forwarding device 105, wherein:
the flow table detecting device 101 is configured to detect whether a flow table corresponding to a data packet exists or not when the data packet is received.
And a message generation device 102 configured to generate a flow table update request message when there is no flow table corresponding to the data packet.
And a message duplicate checking device 103, configured to perform duplicate checking and duplicate removal processing on the flow table update request message.
In some embodiments of the present invention, the message duplication checking device 103 may be a message duplication checking device as described in any of the above embodiments (e.g., the embodiment of fig. 8 or fig. 9).
The message transmission device 104 transmits a flow table update request message to the controller so that the controller updates the flow table.
And the data forwarding device 105 is configured to complete data packet forwarding according to the device flow table.
Based on the data forwarding device provided by the above embodiment of the present invention, the communication overhead between the controller and the switch and the performance pressure of the controller can be reduced by eliminating Packet _ in repeated reporting.
The embodiment of the invention adds the duplicate checking mechanism before the Packet _ in is reported, and optimizes the duplicate checking mechanism based on the goals of low memory consumption and accuracy. Repeated reporting of messages by the device to the controller can be eliminated.
Fig. 11 is a schematic diagram of another embodiment of a data forwarding device of the present invention. As shown in fig. 11, the data forwarding device may include a device memory 111 and a device processor 112, wherein:
a device memory 111 for storing instructions.
A device processor 112, configured to execute the instructions, so that the data forwarding device performs operations of implementing the data forwarding method according to any of the above embodiments (for example, any of fig. 1 or fig. 7).
The embodiment of the invention fits the OpenFlow protocol to eliminate the repeated reporting of Packet _ in with less memory cost; the embodiment of the invention has strong implementability and has the value of application and popularization of the existing network.
Fig. 12 is a schematic diagram of another embodiment of a data forwarding device of the present invention. As shown in fig. 12, the data forwarding system may include a controller 121 and at least one data forwarding device 122, wherein:
and a controller 121 for updating the flow table of the data forwarding apparatus.
The data forwarding device 122 is configured to detect whether a flow table corresponding to a data packet exists or not when the data packet is received; generating a flow table update request message (Packet _ in message) in the absence of a flow table corresponding to the data Packet; performing duplicate checking and duplicate removal processing on the flow table updating request message; transmitting a flow table update request message to the controller so that the controller updates the flow table; and finishing data message forwarding according to the device flow table.
In some embodiments of the present invention, the data forwarding device 122 may be a data forwarding device as described in any of the above embodiments (e.g., the embodiments of fig. 10 or fig. 11).
In some embodiments of the present invention, the data forwarding device 122 may be a router or a switch.
The data forwarding system may implement the data forwarding method according to any of the above embodiments of the present invention (e.g., any of the embodiments of fig. 1 or fig. 7).
Based on the data forwarding system provided by the above embodiment of the present invention, a duplicate checking mechanism is added before Packet _ in is reported. The embodiment of the invention can reduce the communication overhead between the controller and the switch and the performance pressure of the controller by eliminating repeated reporting of Packet _ in.
The embodiment of the invention adds the duplicate checking mechanism before the Packet _ in is reported, and optimizes the duplicate checking mechanism based on the goals of low memory consumption and accuracy. Repeated reporting of messages by the device to the controller can be eliminated.
According to another aspect of the present invention, a computer-readable storage medium is provided, which stores computer instructions, and the instructions when executed by a processor implement a message repetition checking method according to any of the above-mentioned embodiments of the present invention (for example, any of fig. 3 or fig. 6) or a data forwarding method according to any of the above-mentioned embodiments of the present invention (for example, any of fig. 1 or fig. 7).
Based on the computer-readable storage medium provided by the above embodiment of the present invention, a duplicate checking mechanism is added before Packet _ in is reported. The embodiment of the invention firstly judges whether the Packet _ in needs to be checked for duplication and constructs a duplication checking key value; then, duplicate removal is carried out through a bloom filter with small memory consumption; and then the influence of the misjudgment of the bloom filter is eliminated by regularly refreshing the array of the bloom filter.
The embodiment of the invention fits the OpenFlow protocol to eliminate the repeated reporting of Packet _ in with less memory cost; the embodiment of the invention has strong implementability and has the value of application and popularization of the existing network.
The data forwarding devices, controllers and message repetition means described above may be implemented as a general purpose processor, a Programmable Logic Controller (PLC), a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components or any suitable combination thereof designed to perform the functions described herein.
Thus far, the present invention has been described in detail. Some details well known in the art have not been described in order to avoid obscuring the concepts of the present invention. It will be fully apparent to those skilled in the art from the foregoing description how to practice the presently disclosed embodiments.
It will be understood by those skilled in the art that all or part of the steps for implementing the above embodiments may be implemented by hardware, or may be implemented by a program instructing relevant hardware, where the program may be stored in a computer-readable storage medium, and the above-mentioned storage medium may be a read-only memory, a magnetic disk or an optical disk, etc.
The description of the present invention has been presented for purposes of illustration and description, and is not intended to be exhaustive or limited to the invention in the form disclosed. Many modifications and variations will be apparent to practitioners skilled in this art. The embodiment was chosen and described in order to best explain the principles of the invention and the practical application, and to enable others of ordinary skill in the art to understand the invention for various embodiments with various modifications as are suited to the particular use contemplated.

Claims (16)

1. A message duplication checking method is characterized by comprising the following steps:
determining whether duplication checking is needed or not according to the flow table updating request message;
under the condition that the flow table updating request message needs to be checked for duplication, comparing the flow table updating request message with the equipment flow table, and checking and removing duplication from the flow table updating request message;
wherein the determining whether the duplication check is required according to the flow table update request message includes:
judging whether duplication checking is needed or not according to a request reason field in the flow table updating request message;
judging that the flow table updating request message needs to be checked for duplication under the condition that the request reason field does not match the flow table;
judging that the flow table update request message does not need to be checked for duplication under the condition that the action list of the device flow table with the request reason field contains the action forwarded to the controller;
wherein, comparing the flow table update request message with the device flow table, and checking and removing the duplicate of the flow table update request message comprises:
taking twelve tuples in the device stream table as duplication checking key values;
filling a flow table updating request message into the request twelve-tuple;
judging whether the message key value of the request twelve-tuple is completely contained in the duplicate checking key value;
and under the condition that the message key value of the request twelve-tuple is completely contained in the duplication checking key value, judging that the flow table updating request message is a repeated message, and removing duplication from the flow table updating request message.
2. The message duplication checking method of claim 1, wherein the comparing the flow table update request message with the device flow table, and the checking and de-duplicating the flow table update request message comprises:
and comparing the flow table updating request message with the device flow table by adopting a preset filter, and checking and removing the duplicate of the flow table updating request message.
3. The message duplication checking method of claim 2, wherein the comparing the flow table update request message with the device flow table further comprises:
and updating the preset filter at preset time intervals, and recovering the flow table updating request message which is wrongly judged as the repeated message before as a non-repeated message.
4. The message repetition method according to claim 2 or 3, wherein the predetermined filter is a bloom filter.
5. The message duplication checking method of any one of claims 1-3, wherein the checking and de-duplicating the flow table update request message by comparing the flow table update request message with the device flow table further comprises:
and under the condition that the message key value of the request twelve-tuple is not completely contained in the duplication checking key value, judging that the flow table updating request message is a non-duplication message.
6. The message duplication checking method of any one of claims 1-3, wherein the checking and de-duplicating the flow table update request message by comparing the flow table update request message with the device flow table further comprises:
and updating the check key value at preset time intervals, and recovering the flow table updating request message which is judged to be the repeated message by mistake as a non-repeated message.
7. A method for forwarding data, comprising:
under the condition of receiving a data message, detecting whether a flow table corresponding to the data message exists or not;
generating a flow table updating request message under the condition that a flow table corresponding to the data message does not exist;
performing duplicate checking and duplicate removal processing on the flow table updating request message;
transmitting a flow table update request message to the controller so that the controller updates the flow table;
and finishing data message forwarding according to the device flow table.
8. The data forwarding method of claim 7, wherein the performing duplicate checking and duplicate removal processing on the flow table update request message comprises: the message repetition method according to any one of claims 1-6.
9. A message duplication checking apparatus, comprising:
the judging module is used for determining whether duplication checking is needed or not according to the flow table updating request message;
the device comprises a judging module, a duplication checking module and a duplication removing module, wherein the judging module is used for judging whether the flow table updating request message needs to be duplicated or not;
the judging module is used for judging whether duplication checking is needed or not according to a request reason field in the flow table updating request message; judging that the flow table updating request message needs to be checked for duplication under the condition that the request reason field does not match the flow table; judging that the flow table update request message does not need to be checked for duplication under the condition that the action list of the device flow table with the request reason field contains the action forwarded to the controller;
the duplication checking module is used for taking twelve tuples in the equipment flow table as duplication checking key values; filling a flow table updating request message into the request twelve-tuple; judging whether the message key value of the request twelve-tuple is completely contained in the duplicate checking key value; and under the condition that the message key value of the request twelve-tuple is completely contained in the duplication checking key value, judging that the flow table updating request message is a repeated message, and removing duplication from the flow table updating request message.
10. The message repetition device according to claim 9, characterized in that the message repetition device is configured to perform operations for implementing the message repetition method according to any one of claims 1 to 6.
11. A message duplication checking apparatus, comprising:
the duplicate checking memory is used for storing instructions;
a duplication checking processor for executing the instructions to cause the message duplication checking apparatus to perform operations for implementing the message duplication checking method according to any one of claims 1 to 6.
12. A data forwarding device, comprising:
the flow table detection device is used for detecting whether a flow table corresponding to the data message exists or not under the condition of receiving the data message;
a message generating device for generating a flow table update request message in the case that there is no flow table corresponding to the data packet;
the message duplicate checking device is used for carrying out duplicate checking and duplicate removal processing on the flow table updating request message;
a message transmitting means that transmits a flow table update request message to the controller so that the controller updates the flow table;
and the data forwarding device is used for finishing data message forwarding according to the equipment flow table.
13. The data forwarding device of claim 12 wherein the message duplication checking means is the message duplication checking means of any one of claims 9-11.
14. A data forwarding device, comprising:
a device memory to store instructions;
a device processor for executing the instructions to cause the data forwarding device to perform operations to implement the data forwarding method of claim 7 or 8.
15. A data forwarding system comprising a controller and a data forwarding device according to any one of claims 12 to 14.
16. A computer-readable storage medium, wherein the computer-readable storage medium stores computer instructions which, when executed by a processor, implement the message repetition checking method according to any one of claims 1 to 6, or the data forwarding method according to claim 7 or 8.
CN201811490559.1A 2018-12-07 2018-12-07 Message duplicate checking method and device, and data forwarding method, device and system Active CN111294280B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811490559.1A CN111294280B (en) 2018-12-07 2018-12-07 Message duplicate checking method and device, and data forwarding method, device and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811490559.1A CN111294280B (en) 2018-12-07 2018-12-07 Message duplicate checking method and device, and data forwarding method, device and system

Publications (2)

Publication Number Publication Date
CN111294280A CN111294280A (en) 2020-06-16
CN111294280B true CN111294280B (en) 2022-03-15

Family

ID=71024792

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811490559.1A Active CN111294280B (en) 2018-12-07 2018-12-07 Message duplicate checking method and device, and data forwarding method, device and system

Country Status (1)

Country Link
CN (1) CN111294280B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114244781B (en) * 2021-12-20 2023-12-22 苏州盛科通信股份有限公司 Message de-duplication processing method and device based on DPDK

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103354522A (en) * 2013-06-28 2013-10-16 华为技术有限公司 Method and device for searching multistage flow table
CN104821923A (en) * 2015-05-15 2015-08-05 杭州华三通信技术有限公司 Method and device for transmitting upper-supply controller protocol message in SDN network
CN105099920A (en) * 2014-04-30 2015-11-25 杭州华三通信技术有限公司 Method and device for setting SDN flow entry
CN105379228A (en) * 2014-01-23 2016-03-02 华为技术有限公司 Method, switch, and controller for implementing ARP
CN106302182A (en) * 2015-06-08 2017-01-04 上海宽带技术及应用工程研究中心 Detecting host method and system based on SDN
CN106357450A (en) * 2016-09-29 2017-01-25 全球能源互联网研究院 Method for mapping asynchronous information of OpenFlow protocol
CN106878178A (en) * 2015-12-11 2017-06-20 中国电信股份有限公司 Flow table issuance method, system and controller
WO2018042230A1 (en) * 2016-09-01 2018-03-08 Telefonaktiebolaget Lm Ericsson (Publ) Configurable selective packet-in mechanism for openflow switches

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9832269B2 (en) * 2014-10-16 2017-11-28 Netapp, Inc. Methods for migrating data between heterogeneous storage platforms and devices thereof
US9900238B2 (en) * 2014-11-25 2018-02-20 Electronics And Telecommunications Research Institute Overlay network-based original packet flow mapping apparatus and method therefor

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103354522A (en) * 2013-06-28 2013-10-16 华为技术有限公司 Method and device for searching multistage flow table
CN105379228A (en) * 2014-01-23 2016-03-02 华为技术有限公司 Method, switch, and controller for implementing ARP
CN105099920A (en) * 2014-04-30 2015-11-25 杭州华三通信技术有限公司 Method and device for setting SDN flow entry
CN104821923A (en) * 2015-05-15 2015-08-05 杭州华三通信技术有限公司 Method and device for transmitting upper-supply controller protocol message in SDN network
CN106302182A (en) * 2015-06-08 2017-01-04 上海宽带技术及应用工程研究中心 Detecting host method and system based on SDN
CN106878178A (en) * 2015-12-11 2017-06-20 中国电信股份有限公司 Flow table issuance method, system and controller
WO2018042230A1 (en) * 2016-09-01 2018-03-08 Telefonaktiebolaget Lm Ericsson (Publ) Configurable selective packet-in mechanism for openflow switches
CN106357450A (en) * 2016-09-29 2017-01-25 全球能源互联网研究院 Method for mapping asynchronous information of OpenFlow protocol

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Hao Li ; Kaiyue Chen ; Tian Pan ; Yadong Zhou ; Kun Qian ; Kai Zheng ; Bin L.CORA: Conflict Razor for Policies in SDN.《IEEE INFOCOM 2018 - IEEE Conference on Computer Communications》.2018, *
基于SDN的重复数据删除方法研究;冯周;《CNKI》;20160529;全文 *
软件定义网络在大规模网络中的应用研究;汪刚;《CNKI》;20150121;全文 *

Also Published As

Publication number Publication date
CN111294280A (en) 2020-06-16

Similar Documents

Publication Publication Date Title
CN112702383A (en) Collecting error grouping information for network policy enforcement
US11178114B2 (en) Data processing method, device, and system
US9608900B2 (en) Techniques for flooding optimization for link state protocols in a network topology
CN108306835B (en) Input caching and data forwarding method of Ethernet switch
RU2014124009A (en) METHOD AND SYSTEM OF STREAMING DATA TRANSFER FOR PROCESSING NETWORK METADATA
WO2017152681A1 (en) Method, apparatus and device for detecting forwarding table
CN108270699B (en) Message processing method, shunt switch and aggregation network
CN113259143B (en) Information processing method, device, system and storage medium
CN109347705B (en) Loop detection method and device
CN109492049B (en) Data processing, block generation and synchronization method for block chain network
US10880119B2 (en) Method for removing data frame redundancy in network environment, and device and computer program for carrying out same
CN111294280B (en) Message duplicate checking method and device, and data forwarding method, device and system
US20230177013A1 (en) System and method for error-resilient data reduction
CN110768856B (en) Network flow measuring method, network measuring equipment and control plane equipment
JP2011529213A (en) Surveillance method used for communication system images or multimedia video images
JP5889218B2 (en) Data transfer apparatus and data transfer method
CN108965336B (en) Attack detection method and device
RU2019142997A (en) METHOD AND DEVICE FOR DETECTING INFRASTRUCTURE ANOMALIES
CN111669320B (en) Method for processing message and network equipment
CN114095265B (en) ICMP hidden tunnel detection method and device and computer equipment
CN111143088B (en) Message disorder problem processing method, device, equipment and storage medium
JP2019029921A (en) Transmitter, receiver, and communication method
CN112272184A (en) Industrial flow detection method, device, equipment and medium
WO2017118430A1 (en) Method and device for packet error detection
US20150180775A1 (en) Communication System, Control Apparatus, Communication Method, and Program

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