A network forwarding device and method with flow table intelligent self-learning capability

By realizing the self-study ability of flow tables in network hardware and directly generating flow table entries, the problem of CPU resource and bandwidth occupation during the generation and issuance of flow table entries is solved, and the processing efficiency of network equipment is improved.

CN115514813BActive Publication Date: 2024-12-20YISIXIN TECH SHANGHAI CO LTD
View PDF 10 Cites 0 Cited by

Patent Information

Application Number
CN202110625188.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-06-04
Publication Date
2024-12-20
Estimated Expiration
2041-06-04

AI Technical Summary

Technical Problem

In network forwarding equipment, the generation and issuance of flow table entries occupy a large amount of CPU resources and communication bandwidth, which becomes a performance bottleneck. Especially when matching flow table entries cannot be queried, the software needs to generate new messages and flow table entries. This results in increased processing time and bandwidth usage.

Method used

By realizing the ability to self-learning flow tables in network hardware, using software forwarding control commands to generate flow table entries that match the data flow to which the service message belongs, reducing the interaction between the software and the hardware, and directly generating flow table entries in the hardware.

Benefits of technology

It improves the speed of flow table entry generation, reduces bandwidth usage between software and hardware, and improves the processing efficiency and performance of network equipment.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115514813B_ABST
    Figure CN115514813B_ABST
Patent Text Reader

Abstract

The present disclosure relates to a network forwarding device and method with intelligent self-learning capability of flow tables, including network hardware and a software forwarding controller. A first service message is received through the network hardware, and the first service message contains data to be forwarded; when the network hardware fails to find a matching flow table entry for the first service message, the first service message is input into the software forwarding controller; the software forwarding controller generates a software forwarding control command according to the first service message, and inputs the software forwarding control command into the network hardware, wherein the software forwarding control command contains forwarding control information of the data to be forwarded; the network hardware generates a flow table entry matching the data flow to which the first service message belongs according to the software forwarding control command. The network forwarding device of the embodiment of the present disclosure can increase the speed of generating flow table entries and reduce the bandwidth occupied between software and hardware.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of computer technology, and in particular to a network forwarding device and method with flow table intelligent self-learning capability. Background Art

[0002] When using network forwarding equipment to forward messages, the first message of a general data flow will be sent to the software for processing when no matching flow table entry can be found. The software will generate a new message and a flow table entry that matches the first message. Then, the software will send the new message back to the hardware and forward the new message. At the same time, the software will send the newly generated flow table entry down to the flow table in the hardware so that other messages of the same data flow can be directly matched and forwarded at high speed through the hardware.

[0003] Usually, flow table entries contain a lot of information, such as protocol matching mode, forwarding rules, flow status, etc. Using software to generate these flow table information will take up a lot of CPU resources and a lot of processing time. In addition, the delivery configuration of flow table entries also requires a lot of communication bandwidth between software and hardware. Therefore, the generation and delivery process of flow table entries is one of the performance bottlenecks of network forwarding devices. Summary of the invention

[0004] In view of this, the present disclosure proposes a network forwarding device with flow table intelligent self-learning capability.

[0005] According to one aspect of the present disclosure, a network forwarding device having a flow table intelligent self-learning capability is provided, comprising:

[0006] The network hardware receives a first service message, wherein the first service message includes data to be forwarded;

[0007] When the network hardware fails to find a matching flow table entry for the first service message, the network hardware inputs the first service message into the software forwarding controller;

[0008] The software forwarding controller generates a software forwarding control command according to the first service message, and inputs the software forwarding control command into the network hardware, wherein the software forwarding control command includes forwarding control information of the data to be forwarded;

[0009] The network hardware generates a flow table entry matching the data flow to which the first service message belongs according to the software forwarding control command.

[0010] In a possible implementation, the network hardware specifically includes: a flow table module, a post-processing module, an output scheduling module, and a control message output port;

[0011] The step of inputting the first service message into the software forwarding controller includes:

[0012] The flow table module generates a unique identifier for identifying the data flow to which the data to be forwarded belongs according to the first service message;

[0013] The post-processing module encapsulates the first service message and the unique identifier into a first control message, and inputs the first control message into the output scheduling module;

[0014] The output scheduling module inputs the first control message into the software forwarding controller through the control message output port.

[0015] In a possible implementation, the network hardware includes: a control message input port, an input scheduling module, and a protocol parsing module;

[0016] The software forwarding controller generates a software forwarding control command according to the first service message, and inputs the software forwarding control command into the network hardware, including: the software forwarding controller generates a second service message and the software forwarding control command according to the first control message; and encapsulates the second service message, the software forwarding control command and the unique identifier into a second control message; and inputs the second control message into the input scheduling module through the control message input port;

[0017] The input scheduling module inputs the second control message into the protocol parsing module;

[0018] The protocol parsing module parses the control message into the second service message, the software forwarding control command and the unique identifier.

[0019] In a possible implementation, the network hardware includes: a flow table self-learning module;

[0020] The protocol parsing module inputs the second service message, the software forwarding control command and the unique identifier into the flow table self-learning module;

[0021] The network hardware generates a flow table entry matching the data flow to which the first service message belongs according to the software forwarding control command, including: the flow table self-learning module parses the information of the software forwarding control command and the header information of the second service message; generates a flow table entry matching the data flow to which the first service message belongs according to the information of the software forwarding control command and the header information of the second service message;

[0022] The information of the software forwarding control command includes at least one of the following: physical port number, queue number, priority; the header information of the second service message includes at least one of the following: target network card address, target Internet protocol address, lifetime value;

[0023] The flow table self-learning module inputs the flow table entry into the flow table module for storage.

[0024] In a possible implementation manner, generating, according to information of the software forwarding control command and header information of the second service message, a flow table entry matching the data flow to which the first service message belongs, includes:

[0025] comparing the first service message with the second service message;

[0026] In the case where the first service message is identical to the second service message, generating the flow table entry according to information of the software forwarding control command;

[0027] In the case that the first service message is different from the second service message, the flow table entry is generated according to information of the software forwarding control command and header information of the second service message.

[0028] In a possible implementation, the network hardware further includes: a service message output port;

[0029] When the network hardware finds a matching flow table entry for the first service message, it outputs the first service message to the device pointed to by the target address in the flow table entry through the service message output port.

[0030] In a possible implementation, the network hardware further includes: a service message input port;

[0031] In the case where the network hardware receives the first service message, the network hardware receives a third service message through the service message input port, and the third service message and the first service message belong to the same data flow;

[0032] The network hardware outputs the third service message to the hardware pointed to by the target address in the flow table entry according to the flow table entry.

[0033] According to another aspect of the present disclosure, a network forwarding method with flow table intelligent self-learning capability is provided, the network forwarding method comprising:

[0034] Receiving a first service message, wherein the first service message includes data to be forwarded;

[0035] If no matching flow table entry for the first service message is found, inputting the first service message into a software forwarding controller;

[0036] receiving a forwarding control command returned by the software forwarding controller, wherein the software forwarding control command includes forwarding control information of the data to be forwarded;

[0037] According to the software forwarding control command, a flow table entry matching the data flow to which the first service message belongs is generated.

[0038] In a possible implementation manner, inputting the first service message into the software forwarding controller includes:

[0039] Generate a unique identifier for identifying a data flow to which the data to be forwarded belongs according to the first service message;

[0040] The first service message and the unique identifier are encapsulated into a first control message, and the first control message is input into the software forwarding controller.

[0041] In a possible implementation manner, generating, according to the software forwarding control command, a flow table entry matching the data flow to which the first service message belongs, includes:

[0042] Parsing information of the software forwarding control command and header information of the second service message;

[0043] Generate a flow table entry matching the data flow to which the first service message belongs according to the information of the software forwarding control command and the header information of the second service message;

[0044] The information of the software forwarding control command includes at least one of the following: physical port number, queue number, priority; the header information of the second service message includes at least one of the following: target network card address, target Internet Protocol address, lifetime value.

[0045] In a possible implementation manner, receiving a forwarding control command returned by the software forwarding controller, wherein the software forwarding control command includes forwarding control information of the data to be forwarded, including:

[0046] Receive a second control message returned by the software forwarding controller, the second control message including: the software forwarding control command, the unique identifier, and a second service message generated by the software forwarding controller

[0047] The control message is parsed into the second service message, the software forwarding control command and the unique identifier.

[0048] In a possible implementation manner, generating, according to information of the software forwarding control command and header information of the second service message, a flow table entry matching the data flow to which the first service message belongs, includes:

[0049] comparing the first service message with the second service message;

[0050] In the case where the first service message is identical to the second service message, generating the flow table entry according to information of the software forwarding control command;

[0051] In the case that the first service message is different from the second service message, the flow table entry is generated according to information of the software forwarding control command and header information of the second service message.

[0052] In a possible implementation, when a matching flow entry for the first service packet is found, the first service packet is output to a device pointed to by a target address in the flow entry.

[0053] In a possible implementation, when receiving the first service message, a third service message belonging to the same data flow as the first service message is received; and the third service message is output to the hardware pointed to by the target address in the flow table entry.

[0054] Through the above-mentioned network forwarding method, when no matching flow table entry is found for an externally input service message, the network hardware interacts with the software, a software forwarding control command for forwarding the service message is generated in the software, the flow table self-learning is completed in the hardware according to the software forwarding control command, and a flow table entry matching the data flow to which the service message belongs is generated, thereby improving the flow table entry generation speed and reducing the bandwidth usage between the software and hardware.

[0055] Further features and aspects of the present disclosure will become apparent from the following detailed description of exemplary embodiments with reference to the attached drawings. BRIEF DESCRIPTION OF THE DRAWINGS

[0056] The accompanying drawings, which are incorporated in and constitute a part of the specification, illustrate exemplary embodiments, features, and aspects of the disclosure and, together with the description, serve to explain the principles of the disclosure.

[0057] Figure 1 A schematic diagram of a network forwarding device according to an embodiment of the present disclosure is shown.

[0058] Figure 2 A schematic diagram of a network forwarding device according to an embodiment of the present disclosure is shown.

[0059] Figure 3 A flow chart of a network forwarding method according to an embodiment of the present disclosure is shown.

[0060] Figure 4 A block diagram of an electronic device according to an embodiment of the present disclosure is shown.

[0061] Figure 5A block diagram of an electronic device according to an embodiment of the present disclosure is shown. DETAILED DESCRIPTION

[0062] Various exemplary embodiments, features and aspects of the present disclosure will be described in detail below with reference to the accompanying drawings. The same reference numerals in the accompanying drawings represent elements with the same or similar functions. Although various aspects of the embodiments are shown in the accompanying drawings, the drawings are not necessarily drawn to scale unless otherwise specified.

[0063] The word “exemplary” is used exclusively herein to mean “serving as an example, example, or illustration.” Any embodiment described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other embodiments.

[0064] In addition, in order to better illustrate the present disclosure, numerous specific details are given in the following specific embodiments. It should be understood by those skilled in the art that the present disclosure can also be implemented without certain specific details. In some examples, methods, means, components and circuits well known to those skilled in the art are not described in detail in order to highlight the subject matter of the present disclosure.

[0065] As the Internet continues to develop, people's work and life are inseparable from the Internet. As more and more fields are integrated with the Internet, the processing capabilities of network devices are becoming increasingly demanding. In particular, the processing speed of network devices directly affects the user experience and has become an important indicator of network device processing capabilities.

[0066] In the process of network equipment processing messages (packets), increasing the speed of forwarding messages can effectively improve the processing speed of network equipment.

[0067] When using network forwarding equipment to forward packets, the first packet of a general data flow will be sent to the software for processing if no matching flow table entry can be found. The software will generate a flow table entry that matches the first packet and send the flow table entry to the hardware flow table so that other packets of the same data flow can be matched and forwarded directly through the hardware at high speed.

[0068] Usually, flow table entries contain a lot of information, such as protocol matching mode, forwarding rules, flow status, etc. Using software to generate these flow table information will take up a lot of CPU resources and a lot of processing time. In addition, the delivery configuration of flow table entries also requires a lot of communication bandwidth between software and hardware. Therefore, the generation and delivery process of flow table entries is one of the performance bottlenecks of network forwarding devices.

[0069] Therefore, the embodiment of the present disclosure proposes a network forwarding device that can complete flow table self-learning and generate flow table entries in hardware, improve the flow table entry generation speed, reduce the bandwidth occupied between software and hardware, and has wide applicability.

[0070] Figure 1 FIG. 1 is a schematic diagram of a network forwarding device 100 according to an embodiment of the present disclosure. Figure 1 As shown, the network forwarding device 100 includes: network hardware 110 and a software forwarding controller 120 .

[0071] The network hardware 110 receives a first service message, wherein the first service message includes data to be forwarded;

[0072] When no matching flow table entry for the first service message is found, the network hardware 110 inputs the first service message to the software forwarding controller 120;

[0073] The software forwarding controller 120 generates a software forwarding control command according to the first service message, and inputs the software forwarding control command into the network hardware 110, wherein the software forwarding control command includes forwarding control information of the data to be forwarded;

[0074] The network hardware 110 generates a flow table entry matching the data flow to which the first service message belongs according to the software forwarding control command.

[0075] The network hardware 110 receives a first service message including data to be forwarded, wherein the first service message includes the data to be forwarded and a header, wherein the header at least includes information such as the source network protocol, the target network protocol, and the service message lifetime when the data to be forwarded is sent.

[0076] The network hardware 110 in the network forwarding device 100 is an integrated circuit designed and manufactured according to user requirements and electronic system needs.

[0077] In a possible implementation, the network hardware 110 may be an application specific integrated circuit (ASIC) or a system on chip (SoC), etc. The embodiment of the present disclosure does not limit the specific type of the network hardware 110 .

[0078] The network hardware 110 uses the keyword in the header of the first service message to search for a flow table entry matching the first service message in the flow table stored in the network hardware 110. For example, a hash address may be generated based on the keyword in the header of the first service message, and then the query may be performed based on the hash address.

[0079] When no matching flow entry is found, the first service packet is sent to the software forwarding controller 120. The software forwarding controller 120 is software.

[0080] In a possible implementation, the software forwarding controller 120 may be implemented by programming languages ​​such as C language, C++ language, VC language, etc. The embodiment of the present disclosure does not limit the implementation language of the software forwarding controller 120 .

[0081] Using the header information of the first service message, the software forwarding controller 120 generates a software forwarding control command. The software forwarding control command includes forwarding control information of the data to be forwarded. The forwarding control information here may include, for example, information such as the forwarding priority of the data to be forwarded, the queue number of the data to be forwarded when waiting for processing in other modules in the network hardware 110, and information for instructing the network hardware 110 to ignore the flow table query and perform flow table self-learning.

[0082] After the aforementioned software forwarding control command is input into the network hardware 110, the network hardware 110 generates a flow table entry matching the first service message according to the forwarding control information, and completes the flow table self-learning. Other service messages belonging to the same data flow as the first service message can be forwarded according to the flow table entry. The flow table entry contains forwarding control information for forwarding service messages in the same data flow.

[0083] When no matching flow table entry is found for an externally input service message, the network forwarding device interacts with the software through network hardware, generates a software forwarding control command for forwarding the service message in the software, completes flow table self-learning in the hardware according to the software forwarding control command, and generates a flow table entry that matches the data flow to which the service message belongs, thereby improving the flow table entry generation speed and reducing the bandwidth occupied between the software and hardware.

[0084] In a possible implementation, the network hardware specifically includes: a flow table module, a post-processing module, an output scheduling module, and a control message output port; the inputting of the first service message into the software forwarding controller includes: the flow table module generates a unique identifier for identifying the data flow where the data to be forwarded is located according to the first service message; the post-processing module encapsulates the first service message and the unique identifier into a first control message, and inputs the first control message into the output scheduling module; the output scheduling module inputs the first control message into the software forwarding controller through the control message output port. The flow table module in the network hardware is used to store flow tables, generate a unique identifier for identifying the data flow where the data to be forwarded is located, complete the matching query of service messages in the flow table, and send a notification of completion of flow table self-learning to the post-processing module after self-learning is completed.

[0085] The flow table module is used to store the flow table, generate a unique identifier for identifying the data flow where the data to be forwarded is located, complete the matching query of the service message in the flow table, and send a notification of the completion of the flow table self-learning to the post-processing module after the network hardware is completed.

[0086] After the service message is input into the flow table module, the flow table module searches the flow table for a flow table entry that matches the service message. If there is no matching flow table entry, a unique identifier of the data flow where the data to be forwarded in the service message is located is generated.

[0087] In one achievable manner, after the first service message enters the flow table module, the flow table module establishes a temporary flow table entry corresponding to the first service message according to the header information of the first service message, and stores the source network card address, source Internet Protocol address, target network card address, target Internet Protocol address, unique identifier and other information of the first service message in the corresponding position of the temporary flow table entry. The information of the temporary flow table entry is incomplete and inaccurate, and cannot be directly used for message forwarding.

[0088] In a possible implementation, the unique identifier can be generated based on the field of the data to be forwarded. For example, a unique identifier that can identify the data flow table is generated based on the hash address of the fields of multiple data in the same data flow. The embodiment of the present disclosure does not limit the method for generating the unique identifier.

[0089] In a possible implementation, the notification sent to the post-processing module includes a unique identifier of the service message that has completed the flow table self-learning.

[0090] In a possible implementation manner, the unique identifier is stored in a frame header of the first control message.

[0091] The post-processing module is used to encapsulate the first service message and the unique identifier into a first control message, and input and output the first control message to the scheduling module; and can also remove the frame header of the control message that has completed the flow table self-learning.

[0092] In a possible implementation, after the message (business message or control message) enters the post-processing module, it is temporarily stored in the post-processing module in the form of a queue. There may be multiple queue arrangement rules, for example, arranging according to output port numbers.

[0093] The control message is output to the software forwarding controller through the control message output port.

[0094] In a possible implementation, the control message output port may be a physical port, and the network hardware in the embodiment of the present disclosure includes at least one service message output port.

[0095] The output scheduling module is used to input the first control message into the software forwarding controller; and is used to output the service message with matching flow table entry to the network hardware.

[0096] Since the network hardware may have multiple output ports, such as multiple control message output ports or multiple service message output ports, the output scheduling module will output the messages to the network hardware according to the message type or the order of arrangement of the queues in the post-processing module. The disclosed embodiment does not limit the rules for the output scheduling module to output messages.

[0097] By generating a unique identifier for the data flow to which the business message belongs, each data flow can be identified, so that when the message (business message and control message) flows between hardware and software and between hardware modules, the business message, control message and flow table entries containing the same data flow data can match each other, which is conducive to the subsequent efficient generation of flow table entries.

[0098] In one possible implementation, the network hardware includes: a control message input port, an input scheduling module, and a protocol parsing module; the software forwarding controller generates a software forwarding control command based on the first business message, and inputs the software forwarding control command into the network hardware, including: the software forwarding controller generates a second business message and the software forwarding control command based on the first control message; and encapsulates the second business message, the software forwarding control command and the unique identifier into a second control message; and inputs the second control message into the input scheduling module through the control message input port; the input scheduling module inputs the second control message into the protocol parsing module; the protocol parsing module parses the control message into the second business message, the software forwarding control command and the unique identifier.

[0099] In a possible implementation, the software forwarding controller can parse out the target network card address of the first business message, where the target network card can be the network card of the device (target device) to which the first business message is forwarded; or the target network card address of the first business message can be obtained by sending a broadcast according to the header information of the first business message. The target network card address is the network card address of the target device to which the first business message will be forwarded. A second business message can be generated according to the network card address of the target device. The data to be forwarded in the second business message is the same as that in the first business message, and the header information of the second business message can be the same or different from the header information of the first business message. Therefore, the first business message and the second message can be the same or different, which needs to be determined according to the actual application scenario.

[0100] In a possible implementation, the software forwarding controller encapsulates the second service message, the unique identifier, and the software forwarding control command into a second control message. The unique identifier and the software forwarding control command are stored in a frame header of the second control message.

[0101] The control message generated by the software forwarding controller is input into the network hardware through the control message input port.

[0102] In a possible implementation, the control message input port may be a physical port, and the network hardware in the embodiment of the present disclosure includes at least one service message input port.

[0103] The input scheduling module is used to input the message input to the network hardware into the protocol parsing module.

[0104] Since the network hardware may have multiple input ports, such as multiple control message input ports or multiple service message input ports, the input scheduling module will select which input port's message to input into the protocol parsing module according to certain rules. The rules mentioned here can be order rules, such as sorting by the time when the message enters the network hardware; or priority rules, such as giving priority to control messages, etc. The disclosed embodiments do not limit the rules for the input scheduling module to select messages.

[0105] The protocol parsing module is used to determine the type of message input to the network hardware. If the message type is a business message, the message will be input to the flow table module; if the message type is a control message, the control message will be parsed into: a unique identifier, a second business message, a software forwarding control command, and the second control message will be sent to the flow table self-learning module.

[0106] In a possible implementation, the network hardware includes: a flow table self-learning module;

[0107] The protocol parsing module inputs the second business message, the software forwarding control command and the unique identifier into the flow table self-learning module; the network hardware generates a flow table entry that matches the data flow to which the first business message belongs according to the software forwarding control command, including: the flow table self-learning module parses the information of the software forwarding control command and the header information of the second business message; generates a flow table entry that matches the data flow to which the first business message belongs according to the information of the software forwarding control command and the header information of the second business message; the information of the software forwarding control command includes at least one of the following: physical port number, queue number, priority; the header information of the second business message includes at least one of the following: target network card address, target Internet Protocol address, lifetime value; the flow table self-learning module inputs the flow table entry into the flow table module for storage.

[0108] The flow table self-learning module is used to parse the information of the software forwarding control command and the header information of the second business message; based on the parsed information of the software forwarding control command and the header information of the second business message, generate a flow table entry that matches the first business message (to which it belongs); and input the flow table entry into the flow table module for storage.

[0109] The information contained in the software forwarding control command is explained as follows:

[0110] Physical port number, the number of the port connected to the physical device, used to distinguish different physical devices.

[0111] Queue number: the queue number where the message is waiting to be processed in the post-processing module.

[0112] Priority: The priority level of message forwarding. Messages with higher priority are forwarded first, and messages with lower priority are forwarded later.

[0113] The header information of the second service message is explained in detail as follows.

[0114] Target network card address, the network card address of the target device, that is, the MAC (Media Access Control Address) address of the target device.

[0115] Target Internet Protocol address, the network protocol address of the target device, that is, the IP (Internet Protocol) address of the target device.

[0116] The lifetime value indicates how long the message should exist in the network. If the time exceeds this value, it should be discarded.

[0117] After the flow table self-learning module generates a flow table entry that matches the data flow to which the first service message belongs, it stores the flow table entry at the location of the temporary flow table entry generated according to the first service message, and updates the temporary flow table entry.

[0118] Because the network hardware is an integrated circuit, it is different from the software execution command calling CPU, cache and other processes, and the speed is faster. Therefore, the flow table self-learning module in the network hardware generates flow table entries faster than in software, and avoids occupying bandwidth when the flow table is sent down.

[0119] In a possible implementation, the flow table entry matching the data flow to which the first business message belongs is generated according to the information of the software forwarding control command and the header information of the second business message, including: comparing the first business message and the second business message; when the first business message and the second business message are the same, generating the flow table entry according to the information of the software forwarding control command; when the first business message and the second business message are different, generating the flow table entry according to the information of the software forwarding control command and the header information of the second business message.

[0120] As mentioned above, depending on the usage scenario, the second service message generated by the software forwarding controller can be the same as or different from the first service message. This will enable the flow table self-learning module to use different information to generate flow table entries in different scenarios. This is described in detail below.

[0121] Exemplarily, the first service message is forwarded in a different network segment.

[0122] When the first service message is encapsulated into the first control message and enters the software forwarding controller, the software forwarding controller parses the first control message into the first service message and the unique identifier. Since the sending device of the first control message is not in the same network segment as the target device. Therefore, when the first service message is sent, the first service message header contains a temporary target network card address, and this temporary target network card address is the network card address of the network forwarding device. The software forwarding controller obtains the actual target network card address, that is, the network card address of the target device, according to the target Internet Protocol address in the first service message. And readjust the lifetime value of the first service message. Then, generate the second service message. The target network card address and the lifetime value are stored in the header of the second service message. At this time, compared with the first service message, the second service message has the same data to be forwarded, but the target network card address and the lifetime value in the header are different, so the first service message is different from the second service message.

[0123] The software forwarding controller encapsulates the second service message, the unique identifier, and the software forwarding control command into a second control message, wherein the unique identifier and the software forwarding control command are stored in a frame header of the second control message. The software forwarding controller transmits the second control message to an input scheduling module of the network hardware through a control message input port.

[0124] The input scheduling module inputs the second control message into the protocol parsing module.

[0125] After parsing the second control message, the protocol parsing module inputs the second control message (second service message, software forwarding control command, unique identifier) ​​into the flow table self-learning module.

[0126] The flow table self-learning module can obtain a temporary flow table entry in the flow table module based on the unique identifier, and compare the information in the temporary flow table entry (the header information from the first business message) with the second business message, and the comparison result is that there is a difference. Therefore, a flow table entry corresponding to the first business message is generated according to the forwarding control information in the software forwarding control command and the information in the header of the second business message, and the flow table entry is stored in the flow table module. At this time, the flow table entry may include: protocol matching mode, forwarding rules, flow status, physical port number, queue number, priority, target network card address, target Internet Protocol address, source network card address, source target Internet Protocol address, lifetime value and other information. The flow table entry can be used to forward the first business message, as well as other business messages of the same data flow as the first business message.

[0127] Exemplarily, the first service message is forwarded in the same network segment.

[0128] The software forwarding controller parses the first control message into a first service message and a unique identifier. The software forwarding controller generates a second service message based on the first service message. The data to be forwarded of the second service message comes from the first service message, and the header of the second service message contains information such as the target network card address, the target Internet Protocol address, and the lifetime value. Since the first service message is forwarded in the same network segment, the target network card address is the network card address of the target device. Therefore, the information in the header of the second service message is the same as the header information of the first service message. In summary, the second service message is the same as the first service message.

[0129] The forwarding software controller generates a second control message and transmits the second control message to the network hardware. This process will not be described in detail.

[0130] The flow table module can obtain a temporary flow table entry in the flow table module according to the unique identifier, and compare the information in the temporary flow table entry (the header information from the first service message) with the second service message, and there is no difference in the comparison result. Therefore, the flow table self-learning module generates a flow table entry corresponding to the first service message according to the forwarding control information in the software forwarding control command, and stores the entry in the flow table module for forwarding the service message in the data flow to which the first service message belongs.

[0131] When the flow table self-learning module performs flow table self-learning, it first compares the first service message with the second service message to determine the information for generating the flow table entry, and then generates the entry, thereby improving the efficiency of generating the flow table.

[0132] In one possible implementation, the network hardware further includes: a service message output port; when the network hardware finds a matching flow table entry for the first service message, the network hardware outputs the first service message through the service message output port to the device pointed to by the target address in the flow table entry.

[0133] In a possible implementation, the service message output port may be a physical port, and the network hardware in the embodiment of the present disclosure includes at least one service message output port. The service message is output from the network hardware through the service message input port.

[0134] In one possible implementation, the network hardware further includes: a service message input port; when the network hardware receives a first service message, the network hardware receives a third service message through the service message input port, and the third service message and the first service message belong to the same data stream; the network hardware outputs the third service message to the hardware pointed to by the target address in the flow table entry according to the flow table entry.

[0135] The service message is input into the network device through the service message input port.

[0136] In a possible implementation, the service message input port may be a physical port, and the network hardware in the embodiment of the present disclosure includes at least one service message input port.

[0137] The forwarding process of the third service message is described in detail below.

[0138] Due to space limitations, the process of the third service message entering the flow table module is not described in detail.

[0139] In a possible implementation, since the flow table self-learning module has not completed the flow table self-learning for the first service message, after the third service message is input into the network hardware, no matching flow table entry is found in the flow table module. The third service message enters the post-processing module to wait.

[0140] After the flow table entry generated by the flow table self-learning module is stored in the flow table module, a notification is sent to the post-processing module, the content of which includes that the flow table self-learning module generates the flow table entry and stores it in the flow table module, so as to instruct the post-processing module to perform subsequent operations. The notification includes a unique identifier.

[0141] The post-processing module transmits the third service message to the input scheduling module according to the unique identifier in the notification.

[0142] At this point, the third service message enters the input scheduling module for the second time. The input scheduling module inputs the third service message into the protocol parsing module. Since the protocol parsing module determines that the message type of the third service message is a service message, the third service message is sent to the flow table module for matching query. At this time, the flow table entry generated by the flow table self-learning module can be found in the flow table. The third service message enters the output scheduling module via the post-processing module; and the output scheduling module outputs the network hardware to the target device.

[0143] In one possible implementation, since the flow table self-learning module has not completed the flow table self-learning for the first business message, after the third business message is input into the network hardware, no matching flow table entry is found in the flow table module. The third business message repeats the process of generating a flow table entry for the first business message to generate a flow table entry.

[0144] Figure 2 A schematic diagram of a network forwarding device according to an embodiment of the present disclosure is shown. Figure 2 The flow table self-learning process of the network hardware 110 is described.

[0145] The first service message enters the input scheduling module 203 through the service message input port 201 .

[0146] The input scheduling module 203 inputs the first service message into the protocol parsing module 204 according to a preset rule.

[0147] After determining that the type of the first service message is a service message, the protocol analysis module 204 inputs the first service message into the flow table module 205 .

[0148] The flow table module 205 searches the flow table for a flow table entry that matches the first service message (i.e., matches the data flow where the first service message is located). If no matching flow table entry is found, a unique identifier for the first service message is generated, and a temporary flow table entry for the first service message is generated in the flow table; then, the first service message and the unique identifier are output to the post-processing module 207.

[0149] The post-processing module 207 encapsulates the first service message and the unique identifier into a first control message, and inputs the first control message to the output scheduling module 208. The output scheduling module 208 transmits the second control message to the software forwarding controller 120 through the control message output port 210.

[0150] The software forwarding controller 120 parses the first control message into a first service message and a unique identifier; generates a second service message and a software forwarding control command according to the first service message; and then encapsulates the second control message, the software forwarding control command, and the unique identifier into a second control message. Next, the software forwarding controller 120 inputs the second control message into the input scheduling module 203 through the control message input port 202.

[0151] The input scheduling module 203 inputs the second control message to the protocol parsing module 204. The protocol parsing module 204 determines that the type of the second control message is a control message, and therefore parses the second control message into a second service message, a unique identifier, and a software forwarding control command; and according to the software forwarding control command, the second control message is input to the flow table self-learning module 206.

[0152] The flow table self-learning module 206 generates a table flow entry that matches the first business message (i.e., matches the data flow where the first business message is located) based on the difference between the first business message and the second business message, and the software forwarding control command, and saves the flow table entry to the flow table of the flow table module 205.

[0153] The flow table self-learning module 206 inputs the second control message to the post-processing module 207 .

[0154] The post-processing module 207 removes the frame header used to store the unique identifier and the software forwarding control command, and inputs the second service message into the output scheduling module 208 .

[0155] The output scheduling module 208 outputs the second service message to the network forwarding device through the service message output port 209 .

[0156] When the flow table self-learning module 206 has not generated a flow table entry matching the first service message (ie matching the data flow where the first service message is located), the third service message belonging to the same data flow as the first service message enters the network hardware 110. The third service message is temporarily stored in the post-processing module 207.

[0157] After the flow table self-learning module 206 generates a flow table entry that matches the first service message (ie, matches the data flow where the first service message is located), the flow table module 205 sends a notification to the post-processing module 207 .

[0158] After receiving the notification, the post-processing module 207 transmits the third service message to the input scheduling module 203. After the protocol analysis module 204, the third service message enters the flow table module 205, and finds the matching flow table entry in the flow table module 205 (generated by the flow table self-learning module 206).

[0159] The third service message is output to the network hardware 110 .

[0160] Through the above-mentioned flow table self-learning process of the network hardware, the bandwidth occupied between the network forwarding device software and hardware can be reduced, and the flow table generation speed can be increased, thereby improving the forwarding efficiency of the service message. Moreover, the forwarding efficiency of subsequent service messages (other service messages of the same data flow) of the forwarded service message can also be improved.

[0161] Figure 3 A flow chart of a network forwarding method according to an embodiment of the present disclosure is shown as follows: Figure 3 As shown, the network forwarding method includes:

[0162] S11 receives a first service message, where the first service message includes data to be forwarded.

[0163] S12: If no matching flow table entry for the first service message is found, the first service message is input into the software forwarding controller.

[0164] S13 receives a forwarding control command returned by the software forwarding controller, wherein the software forwarding control command includes forwarding control information of the data to be forwarded.

[0165] S14 generates a flow table entry matching the data flow to which the first service message belongs according to the software forwarding control command.

[0166] The network forwarding method proposed in the embodiment of the present disclosure can increase the flow table entry generation speed, thereby improving the forwarding efficiency of service messages and reducing the bandwidth occupied between software and hardware.

[0167] Figure 4 800 is a block diagram of a network forwarding device according to an exemplary embodiment. For example, the device 800 may be a mobile phone, a computer, a digital broadcast terminal, a messaging device, a game console, a tablet device, a medical device, a fitness device, a personal digital assistant, etc.

[0168] Reference Figure 1 , the device 800 may include one or more of the following components: a processing component 802 , a memory 804 , a power component 806 , a multimedia component 808 , an audio component 810 , an input / output (I / O) interface 812 , a sensor component 814 , and a communication component 816 .

[0169] The processing component 802 generally controls the overall operation of the device 800, such as operations associated with display, phone calls, data communications, camera operations, and recording operations. The processing component 802 may include one or more processors 820 to execute instructions to complete all or part of the steps of the above-mentioned method. In addition, the processing component 802 may include one or more modules to facilitate the interaction between the processing component 802 and other components. For example, the processing component 802 may include a multimedia module to facilitate the interaction between the multimedia component 808 and the processing component 802.

[0170] The memory 804 is configured to store various types of data to support operations on the device 800. Examples of such data include instructions for any application or method operating on the device 800, contact data, phone book data, messages, pictures, videos, etc. The memory 804 can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, magnetic disk or optical disk.

[0171] The power supply component 806 provides power to the various components of the device 800. The power supply component 806 may include a power management system, one or more power supplies, and other components associated with generating, managing, and distributing power for the device 800.

[0172] The multimedia component 808 includes a screen that provides an output interface between the device 800 and the user. In some embodiments, the screen may include a liquid crystal display (LCD) and a touch panel (TP). If the screen includes a touch panel, the screen may be implemented as a touch screen to receive input signals from the user. The touch panel includes one or more touch sensors to sense touch, slide, and gestures on the touch panel. The touch sensor may not only sense the boundaries of the touch or slide action, but also detect the duration and pressure associated with the touch or slide operation. In some embodiments, the multimedia component 808 includes a front camera and / or a rear camera. When the device 800 is in an operating mode, such as a shooting mode or a video mode, the front camera and / or the rear camera may receive external multimedia data. Each front camera and rear camera may be a fixed optical lens system or have a focal length and optical zoom capability.

[0173] The audio component 810 is configured to output and / or input audio signals. For example, the audio component 810 includes a microphone (MIC), and when the device 800 is in an operating mode, such as a call mode, a recording mode, and a speech recognition mode, the microphone is configured to receive an external audio signal. The received audio signal can be further stored in the memory 804 or sent via the communication component 816. In some embodiments, the audio component 810 also includes a speaker for outputting audio signals.

[0174] I / O interface 812 provides an interface between processing component 802 and peripheral interface modules, such as keyboards, click wheels, buttons, etc. These buttons may include but are not limited to: home button, volume button, start button, and lock button.

[0175] The sensor assembly 814 includes one or more sensors for providing various aspects of the status assessment of the device 800. For example, the sensor assembly 814 can detect the open / closed state of the device 800, the relative positioning of components, such as the display and keypad of the device 800, and the sensor assembly 814 can also detect the position change of the device 800 or a component of the device 800, the presence or absence of user contact with the device 800, the orientation or acceleration / deceleration of the device 800, and the temperature change of the device 800. The sensor assembly 814 may include a proximity sensor configured to detect the presence of a nearby object without any physical contact. The sensor assembly 814 may also include an optical sensor, such as a CMOS or CCD image sensor, for use in imaging applications. In some embodiments, the sensor assembly 814 may also include an accelerometer, a gyroscope sensor, a magnetic sensor, a pressure sensor, or a temperature sensor.

[0176] The communication component 816 is configured to facilitate wired or wireless communication between the device 800 and other devices. The device 800 can access a wireless network based on a communication standard, such as WiFi, 2G or 3G, or a combination thereof. In an exemplary embodiment, the communication component 816 receives a broadcast signal or broadcast-related information from an external broadcast management system via a broadcast channel. In an exemplary embodiment, the communication component 816 also includes a near field communication (NFC) module to facilitate short-range communication. For example, the NFC module can be implemented based on radio frequency identification (RFID) technology, infrared data association (IrDA) technology, ultra-wideband (UWB) technology, Bluetooth (BT) technology and other technologies.

[0177] In an exemplary embodiment, the apparatus 800 may be implemented by one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), controllers, microcontrollers, microprocessors or other electronic components to perform the above method.

[0178] In an exemplary embodiment, a non-volatile computer-readable storage medium is also provided, such as a memory 804 including computer program instructions, which can be executed by the processor 820 of the device 800 to perform the above method.

[0179] Figure 5 1 is a block diagram of a device 1900 for a network forwarding device according to an exemplary embodiment. For example, the device 1900 may be provided as a server. Figure 1, the apparatus 1900 includes a processing component 1922, which further includes one or more processors, and a memory resource represented by a memory 1932 for storing instructions, such as an application, that can be executed by the processing component 1922. The application stored in the memory 1932 may include one or more modules, each corresponding to a set of instructions. In addition, the processing component 1922 is configured to execute instructions to perform the above method.

[0180] The device 1900 may also include a power supply component 1926 configured to perform power management of the device 1900, a wired or wireless network interface 1950 configured to connect the device 1900 to a network, and an input / output (I / O) interface 1958. The device 1900 may operate based on an operating system stored in the memory 1932, such as Windows Server™, MacOS X™, Unix™, Linux™, FreeBSD™, or the like.

[0181] In an exemplary embodiment, a non-volatile computer-readable storage medium is also provided, such as a memory 1932 including the above-mentioned computer program instructions, and the above-mentioned computer program instructions can be executed by the processing component 1922 of the device 1900 to perform the above-mentioned method.

[0182] The present disclosure may be a system, a method and / or a computer program product. The computer program product may include a computer-readable storage medium carrying computer-readable program instructions for causing a processor to implement various aspects of the present disclosure.

[0183] A computer-readable storage medium may be a tangible device that can hold and store instructions used by an instruction execution device. A computer-readable storage medium may be, for example, but not limited to, an electrical storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. More specific examples of computer-readable storage media (a non-exhaustive list) include: a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a static random access memory (SRAM), a portable compact disk read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanical encoding device, such as a punch card or a raised structure in a groove on which instructions are stored, and any suitable combination of the foregoing. As used herein, a computer-readable storage medium is not to be interpreted as a transient signal per se, such as a radio wave or other freely propagating electromagnetic wave, an electromagnetic wave propagating through a waveguide or other transmission medium (e.g., a light pulse through a fiber optic cable), or an electrical signal transmitted through a wire.

[0184] The computer-readable program instructions described herein can be downloaded from a computer-readable storage medium to each computing / processing device, or downloaded to an external computer or external storage device via a network, such as the Internet, a local area network, a wide area network, and / or a wireless network. The network can include copper transmission cables, optical fiber transmissions, wireless transmissions, routers, firewalls, switches, gateway computers, and / or edge servers. The network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards the computer-readable program instructions for storage in the computer-readable storage medium in each computing / processing device.

[0185] The computer program instructions for performing the operation of the present disclosure may be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-related instructions, microcode, firmware instructions, state setting data, or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages, such as Smalltalk, C++, etc., and conventional procedural programming languages, such as "C" language or similar programming languages. Computer-readable program instructions may be executed completely on a user's computer, partially on a user's computer, as an independent software package, partially on a user's computer, partially on a remote computer, or completely on a remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., using an Internet service provider to connect via the Internet). In some embodiments, an electronic circuit, such as a programmable logic circuit, a field programmable gate array (FPGA), or a programmable logic array (PLA), may be customized by utilizing the state information of the computer-readable program instructions, and the electronic circuit may execute the computer-readable program instructions, thereby realizing various aspects of the present disclosure.

[0186] Various aspects of the present disclosure are described herein with reference to the flowcharts and / or block diagrams of the methods, devices (systems) and computer program products according to the embodiments of the present disclosure. It should be understood that each box in the flowchart and / or block diagram and the combination of each box in the flowchart and / or block diagram can be implemented by computer-readable program instructions.

[0187] These computer-readable program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, thereby producing a machine, so that when these instructions are executed by the processor of the computer or other programmable data processing device, a device that implements the functions / actions specified in one or more boxes in the flowchart and / or block diagram is generated. These computer-readable program instructions can also be stored in a computer-readable storage medium, and these instructions cause the computer, programmable data processing device, and / or other equipment to work in a specific manner, so that the computer-readable medium storing the instructions includes a manufactured product, which includes instructions for implementing various aspects of the functions / actions specified in one or more boxes in the flowchart and / or block diagram.

[0188] Computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device so that a series of operating steps are performed on the computer, other programmable data processing apparatus, or other device to produce a computer-implemented process, thereby causing the instructions executed on the computer, other programmable data processing apparatus, or other device to implement the functions / actions specified in one or more boxes in the flowchart and / or block diagram.

[0189] The flow chart and block diagram in the accompanying drawings show the possible architecture, function and operation of the system, method and computer program product according to multiple embodiments of the present disclosure. In this regard, each square box in the flow chart or block diagram can represent a part of a module, program segment or instruction, and a part of the module, program segment or instruction includes one or more executable instructions for realizing the specified logical function. In some alternative implementations, the function marked in the square box can also occur in a sequence different from that marked in the accompanying drawings. For example, two continuous square boxes can actually be executed substantially in parallel, and they can sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each square box in the block diagram and / or flow chart, and the combination of the square boxes in the block diagram and / or flow chart can be implemented with a dedicated hardware-based system that performs the specified function or action, or can be implemented with a combination of special hardware and computer instructions.

[0190] The embodiments of the present disclosure have been described above, and the above description is exemplary, not exhaustive, and is not limited to the disclosed embodiments. Many modifications and changes will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments. The selection of terms used herein is intended to best explain the principles of the embodiments, practical applications, or technical improvements in the market, or to enable other persons of ordinary skill in the art to understand the embodiments disclosed herein.

Claims

1. A network forwarding device with intelligent self-learning capability of flow table, It is characterized in that Includes network hardware and software forwarding controllers, including: The network hardware receives a first service message, wherein the first service message includes data to be forwarded; When the network hardware fails to find a matching flow table entry for the first service message, the network hardware inputs the first service message into the software forwarding controller; The software forwarding controller generates a software forwarding control command according to the first service message, and inputs the software forwarding control command into the network hardware, wherein the software forwarding control command includes forwarding control information of the data to be forwarded; The network hardware generates a flow table entry matching the data flow to which the first service message belongs according to the software forwarding control command; The software forwarding controller generates a second service message and the software forwarding control command according to a first control message, wherein the first control message is a message obtained by encapsulating the first service message and a unique identifier for identifying a data flow to which the data to be forwarded belongs; The network hardware includes: a flow table self-learning module; The flow table self-learning module parses the information of the software forwarding control command and the header information of the second business message; generates a flow table entry matching the data flow to which the first business message belongs according to the information of the software forwarding control command and the header information of the second business message; The information of the software forwarding control command includes at least one of the following: physical port number, queue number, priority; the header information of the second service message includes at least one of the following: target network card address, target Internet Protocol address, lifetime value.

2. The network forwarding device according to claim 1, It is characterized in that The network hardware specifically includes: a flow table module, a post-processing module, an output scheduling module, and a control message output port; The step of inputting the first service message into the software forwarding controller includes: The flow table module generates a unique identifier for identifying the data flow to which the data to be forwarded belongs according to the first service message; The post-processing module encapsulates the first service message and the unique identifier into a first control message, and inputs the first control message into the output scheduling module; The output scheduling module inputs the first control message into the software forwarding controller through the control message output port.

3. The network forwarding device according to claim 2, It is characterized in that The network hardware includes: a control message input port, an input scheduling module, and a protocol parsing module; The software forwarding controller generates a software forwarding control command according to the first service message, and inputs the software forwarding control command into the network hardware, including: the software forwarding controller encapsulates the second service message, the software forwarding control command and the unique identifier into a second control message; and inputs the second control message into the input scheduling module through the control message input port; The input scheduling module inputs the second control message into the protocol parsing module; The protocol parsing module parses the control message into the second service message, the software forwarding control command and the unique identifier.

4. The network forwarding device according to claim 3, It is characterized in that The protocol parsing module inputs the second service message, the software forwarding control command and the unique identifier into the flow table self-learning module; The flow table self-learning module inputs the flow table entry into the flow table module for storage.

5. The network forwarding device according to claim 4, It is characterized in that The generating, according to the information of the software forwarding control command and the header information of the second service message, a flow table entry matching the data flow to which the first service message belongs, comprises: comparing the first service message with the second service message; In the case where the first service message is identical to the second service message, generating the flow table entry according to information of the software forwarding control command; In the case that the first service message is different from the second service message, the flow table entry is generated according to information of the software forwarding control command and header information of the second service message.

6. The network forwarding device according to any one of claims 1 to 5, It is characterized in that The network hardware further includes: a service message output port; When the network hardware finds a matching flow table entry for the first service message, it outputs the first service message to the device pointed to by the target address in the flow table entry through the service message output port.

7. The network forwarding device according to any one of claims 1 to 5, It is characterized in that The network hardware further includes: a service message input port; In the case where the network hardware receives the first service message, the network hardware receives a third service message through the service message input port, and the third service message and the first service message belong to the same data flow; The network hardware outputs the third service message to the hardware pointed to by the target address in the flow table entry according to the flow table entry.

8. A network forwarding method with intelligent self-learning capability of flow table, It is characterized in that Applied to network hardware, the method comprises: Receiving a first service message, wherein the first service message includes data to be forwarded; If no matching flow table entry for the first service message is found, inputting the first service message into a software forwarding controller; receiving a forwarding control command returned by the software forwarding controller, wherein the software forwarding control command includes forwarding control information of the data to be forwarded; Generate a flow table entry matching the data flow to which the first service message belongs according to the software forwarding control command; Generate a second service message and the software forwarding control command according to the first control message, wherein the first control message is a message obtained by encapsulating the first service message and a unique identifier for identifying a data flow where the data to be forwarded is located; Parsing information of the software forwarding control command and header information of the second service message; Generate a flow table entry matching the data flow to which the first service message belongs according to the information of the software forwarding control command and the header information of the second service message; The information of the software forwarding control command includes at least one of the following: physical port number, queue number, priority; the header information of the second service message includes at least one of the following: target network card address, target Internet Protocol address, lifetime value.

9. The method according to claim 8, It is characterized in that The step of inputting the first service message into the software forwarding controller includes: Generate a unique identifier for identifying a data flow to which the data to be forwarded belongs according to the first service message; The first service message and the unique identifier are encapsulated into a first control message, and the first control message is input into the software forwarding controller.

10. The method according to any one of claims 8 or 9, It is characterized in that Generating, according to the software forwarding control command, a flow table entry matching the data flow to which the first service message belongs, including: Parsing information of the software forwarding control command and header information of the second service message; Generate a flow table entry matching the data flow to which the first service message belongs according to the information of the software forwarding control command and the header information of the second service message; The information of the software forwarding control command includes at least one of the following: physical port number, queue number, priority; the header information of the second service message includes at least one of the following: target network card address, target Internet Protocol address, lifetime value.

Citation Information

Patent Citations

  • Flow table self learning method, message transferring method and switch board

    CN102769576A

  • Method and device for issuing flow tables

    CN104219150A

  • Flow table entry processing method and device

    CN104378299A

  • Message forwarding method and device applied to SDN

    CN105591925A

  • Method and device for improving flow forwarding performance and network equipment

    CN107395510A