CN108306757B - Programmable data plane virtual layer construction method and storage medium - Google Patents

Programmable data plane virtual layer construction method and storage medium Download PDF

Info

Publication number
CN108306757B
CN108306757B CN201711416899.5A CN201711416899A CN108306757B CN 108306757 B CN108306757 B CN 108306757B CN 201711416899 A CN201711416899 A CN 201711416899A CN 108306757 B CN108306757 B CN 108306757B
Authority
CN
China
Prior art keywords
virtualization
programmable data
data packet
matching action
data plane
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
CN201711416899.5A
Other languages
Chinese (zh)
Other versions
CN108306757A (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.)
Tsinghua University
Original Assignee
Tsinghua University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tsinghua University filed Critical Tsinghua University
Priority to CN201711416899.5A priority Critical patent/CN108306757B/en
Publication of CN108306757A publication Critical patent/CN108306757A/en
Application granted granted Critical
Publication of CN108306757B publication Critical patent/CN108306757B/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
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The invention discloses a programmable data plane virtual layer construction method and a programmable data layer, wherein the programmable data plane virtual layer construction method comprises the steps of constructing a plane virtual layer comprising a plurality of virtualization matching action tables and a plurality of virtualization control logics; the virtualization control logic and the virtualization matching action table can be configured into a plurality of network functions according to a first preset mode, and the plurality of network functions can be configured into a plurality of virtualization programmable data planes according to a second preset mode. The invention realizes that a plurality of programs are simultaneously operated under the existing hardware resources, the dynamic update of the network function and the modification of the processing sequence of the network function can be realized without reprogramming and importing processes, the flexibility and the resource utilization rate of the programmable data plane are improved, and the increasingly complex environmental requirements of network data packet processing are better met.

Description

Programmable data plane virtual layer construction method and storage medium
Technical Field
The invention belongs to the technical field of networks, and particularly relates to a method for constructing a programmable data plane virtual layer and a storage medium internally storing the programmable data plane virtual layer.
Background
The programmable data plane architecture is a reconfigurable data plane architecture irrelevant to a protocol, and existing network equipment manufacturers and network administrators can program network equipment chips based on the programmable data plane architecture, customize network protocols and data packet processing functions for realizing various functions, and adapt to different network environment requirements.
However, with the continuous development of networks, the network functions implemented by the programming language of the packet processor that is not protocol-dependent are complicated, so that the existing programmable data plane has the following problems:
1. once the program is compiled and loaded into the programmable route switching device, the data packet processing function of the device cannot be dynamically modified, so that the network function of the device cannot be dynamically updated;
2. the program can not dynamically adjust the processing sequence of the network function according to the real-time strategy, and if the processing sequence of the network function needs to be modified, the program needs to be modified again and loaded into the network equipment;
3. the network hardware equipment is limited, and a plurality of programs cannot be operated under the limited hardware resources.
What is needed is a programmable data "plane" that can dynamically update network functions and the order of network functions and can implement multiple programs running on limited network hardware devices.
Disclosure of Invention
The technical problems to be solved by the invention are that the existing programmable data plane can not dynamically update the network functions and the arrangement sequence of the network functions and can not run a plurality of programs on the limited network hardware equipment.
In order to solve the technical problem, the invention provides a method for constructing a virtual layer of a programmable data plane, which comprises the following steps:
constructing a plane virtual layer comprising a plurality of virtualization matching action tables and a plurality of virtualization control logics;
the virtualization control logic and the virtualization matching action table can be configured into a plurality of network functions according to a first preset mode, and the network functions can be configured into a plurality of virtualization programmable data planes according to a second preset mode.
Preferably, the network functions are different or the network functions are arranged in different orders in each virtualized programmable data plane.
Preferably, the method for constructing the virtual layer of the programmable data plane further comprises: and constructing a virtualization fast analyzer in the plane virtual layer to analyze the data packet and transmit the analyzed data packet to the corresponding virtualization programmable data plane.
Preferably, the parsing and sending step of the data packet by the virtualized fast parser comprises:
analyzing the description header information of the data packet to obtain a virtualized programmable data plane serial number and data packet header length information;
and acquiring a data packet header of the data packet according to the length information of the data packet header, and sending the data packet header to a virtualization programmable data plane corresponding to the sequence number of the virtualization programmable data plane.
Preferably, the step of configuring the network function comprises:
acquiring the virtualization control logic and the virtualization matching action table corresponding to the network function to be configured;
and configuring the virtualization control logic and the virtualization matching action table into a network function according to a first preset mode.
Preferably, the step of configuring the virtualization control logic and the virtualization matching action table as a network function according to a first preset manner comprises:
a head end configuration table in a first virtualization control logic of the network function to be configured obtains a virtualization matching action table bitmap and a serial number of the network function to be configured according to a first preset mode;
setting a virtualization matching action table bitmap detection point in front of each virtualization matching action table corresponding to the virtualization matching action table bitmap, so as to detect whether the corresponding virtualization matching action table is executed or not;
setting an end configuration table at the end of the virtualization matching action table bitmap for detecting whether the data packet is executed completely;
and repeating the steps, and sequentially configuring other virtualization control logics of the network function to be configured until the network function configuration is completed.
Preferably, the step of processing the data packet by the virtualization matching action table comprises:
judging whether the data packet header meets the judgment condition or not;
matching the data packet header meeting the judgment condition with a matching domain, and outputting a corresponding matching result and an action bitmap;
and processing the data packet header according to the matching result and the action bitmap.
Preferably, the programmable data plane virtual layer is built on a hardware programmable data plane.
According to another aspect of the present invention, there is provided a storage medium storing a programmable data plane virtual layer, the programmable data plane virtual layer comprising:
the network function configuration device comprises a plurality of matching action tables and a plurality of control logics, wherein the matching action tables and the control logics are used for configuring network functions according to a first preset mode, and the configured network functions can configure a programmable data plane according to a second preset mode;
wherein the virtualized programmable data plane is used to process data packets.
Preferably, the programmable data layer further includes a virtualized fast parser, and the virtualized fast parser is configured to parse the data packet and transmit the parsed data packet to the corresponding virtualized programmable data plane.
Compared with the prior art, one or more embodiments in the above scheme can have the following advantages or beneficial effects:
by applying the method for constructing the programmable data plane virtual layer provided by the embodiment of the invention, the plane virtual layer has multiple network functions by constructing the plane virtual layer comprising a plurality of virtualization matching action tables and a plurality of virtualization control logics, and the network functions are randomly combined and sequenced in the plane virtual layer according to requirements to form a plurality of different functions of virtualizing the programmable data plane, namely the constructed plane virtual layer can comprise a plurality of programmable data planes so as to meet the requirement of simultaneously running a plurality of programs under the existing hardware resources; meanwhile, the network function construction and the virtualization programmable data plane can be configured according to the setting of an administrator, namely, the administrator can configure the network function for processing the data packet and the processing sequence of the network function according to the data type in the data packet to be processed and the processing requirement of the data packet, the dynamic updating of the network function and the modification of the processing sequence of the network function can be realized without reprogramming and importing processes, the flexibility and the resource utilization rate of the programmable data plane are improved, and the increasingly complex environmental requirement for processing the network data packet is better met.
Additional features and advantages of the invention will be set forth in the description which follows, and in part will be obvious from the description, or may be learned by the practice of the invention. The objectives and other advantages of the invention will be realized and attained by the structure particularly pointed out in the written description and claims hereof as well as the appended drawings.
Drawings
The accompanying drawings, which are included to provide a further understanding of the invention and are incorporated in and constitute a part of this specification, illustrate embodiments of the invention and together with the description serve to explain the principles of the invention and not to limit the invention. In the drawings:
FIG. 1 is a flow chart illustrating a method for building a virtual layer of a programmable data plane according to an embodiment of the invention;
FIG. 2 is a schematic diagram illustrating a virtualization express parser sending a data packet header of a data packet to a virtualization programmable data plane;
FIG. 3 illustrates an action bitmap diagram of a virtualized matching action table;
FIG. 4 is a schematic diagram illustrating the processing flow of a data packet by a programmable data plane virtual layer constructed by the present invention;
fig. 5 is a schematic diagram showing the process of processing a data packet by a programmable data plane virtual layer constructed by the invention.
Detailed Description
The following detailed description of the embodiments of the present invention will be provided with reference to the drawings and examples, so that how to apply the technical means to solve the technical problems and achieve the technical effects can be fully understood and implemented. It should be noted that, as long as there is no conflict, the embodiments and the features of the embodiments of the present invention may be combined with each other, and the technical solutions formed are within the scope of the present invention.
The programmable data plane architecture is a reconfigurable data plane architecture irrelevant to a protocol, and is used for programming a network equipment chip to realize network protocols with various functions and a data packet processing function, so that the programmable data plane architecture is suitable for different network environment requirements. However, the existing programmable data plane has the following problems: after the program is compiled and loaded into the programmable route switching equipment, the data packet processing function of the equipment cannot be dynamically modified; the program can not dynamically adjust the processing sequence of the network function according to the real-time strategy, and the program must be modified again and loaded into the network equipment; multiple programs cannot be run with limited hardware resources.
Example one
In order to solve the technical problems in the prior art, an embodiment of the present invention provides a method for constructing a virtual layer of a programmable data plane.
Fig. 1 is a flowchart illustrating a method for constructing a virtual layer of a programmable data plane according to an embodiment of the present invention.
Referring to fig. 1, the method for constructing a programmable data plane virtual layer in this embodiment includes the following steps:
step S101: and constructing a plane virtual layer comprising a plurality of virtualization matching action tables and a plurality of virtualization control logics, wherein the virtualization control logics and the virtualization matching action tables can be configured into a plurality of network functions according to a first preset mode, and the plurality of network functions can be configured into a plurality of virtualization programmable data planes according to a second preset mode.
Specifically, a plane virtual layer is constructed on hardware capable of running a virtualization programmable data plane, and a plurality of virtualization matching action tables and a plurality of virtualization control logics are constructed in the plane virtual layer, so that a configuration basis is provided for configuring network functions and virtualizing the programmable data plane in the programmable data plane virtual layer.
The configuration process of the programmable data plane virtual layer specifically comprises the following steps:
firstly, before a data packet is processed by a virtualization programmable data plane virtual layer, an administrator can configure a constructed virtualization matching action table and virtualization control logic into a plurality of network functions according to a first preset condition; the configuration of multiple network functions can enable the data packet to be processed by various network functions in the constructed plane virtual layer, thereby meeting the gradually complex processing requirements of people on the data packet and enlarging the processing range of the plane virtual layer on the data packet. Specifically, before processing the data packet, the administrator may set a first preset condition according to a processing requirement for the data packet, and configure the partial virtualization matching action table and the virtualization control logic into at least one network function according to the first preset condition. Preferably, the hardware capable of operating the virtualized programmable data plane is a hardware programmable data plane. The specific configuration process of the network function is described in detail below.
Secondly, the configured network function can be configured into a plurality of virtualized programmable data planes according to a second preset condition, so that a plurality of virtualized programmable data planes can be simultaneously operated on hardware capable of operating the virtualized programmable data planes, the problem that the existing programmable data plane architecture cannot operate a plurality of programs under limited hardware resources is solved, and the utilization rate of the hardware resources is improved. It should be noted that the network functions in different virtualized programmable data planes are different in types or in different execution sequences. Specifically, after configuring the virtualization matching action table and the virtualization control logic into the network function according to the first preset condition, the administrator may set a second preset condition according to a requirement of the to-be-configured virtualization programmable data plane, and configure the virtualization programmable data plane according to the second preset condition and the pre-configured network function, so that the configured virtualization programmable data plane may perform processing conforming to the preset on the to-be-processed data packet.
It should be noted that, when the configured virtualized programmable data plane is not processing a data packet, the administrator may control the programmable data plane virtualization layer of the present invention to split the virtualized programmable data plane into a corresponding network function and a plurality of virtualization matching action tables and a plurality of virtualization control logics, so that the split network function, virtualization matching action table and virtualization control logics may be reused.
Step S102, a virtualization fast parser is built in the plane virtual layer, so as to parse the data packet and transmit the parsed data packet to the corresponding virtualization programmable data plane.
Specifically, a virtualized fast parser is built in the plane virtual layer, and the built virtualized fast parser can establish a connection relationship with all configured virtualized programmable data planes, so that the virtualized fast parser can transmit parsed data packets to corresponding virtualized programmable data planes.
Further, the specific parsing process of the virtualized fast parser on the data packet and the specific process of transmitting the parsed data packet to the corresponding virtualized programmable data plane are as follows:
after a data packet to be processed is input to a programmable data plane virtual layer, a virtualization fast analyzer analyzes description header information of the data packet, the description header information of the data packet comprises a virtualization programmable data plane serial number and length information of a data packet header, after the virtualization fast analyzer analyzes the length information of the data packet header in the description header information of the data packet, the data packet header of the data packet is obtained according to the length information of the data packet header, and the data packet header is sent to a virtualization programmable data plane corresponding to the virtualization programmable data plane serial number, so that the virtualization programmable data plane corresponding to the data packet can further process the data packet.
To further explain the process of sending the data packet header to the virtualized programmable data plane by the virtualized fast parser, the following specific examples are given:
FIG. 2 illustrates a schematic diagram of a virtualized fast parser sending a packet header of a packet to a virtualized programmable data plane. Referring to fig. 2, it is assumed that the programmable data plane virtual layer includes 3 virtualized programmable data planes, and sequence numbers of the 3 virtualized programmable data planes are id1, id2, and id3, respectively. After the virtualized fast parser parses the data packet, when the serial number of the virtualized programmable data plane included in the parsed data packet is id1, the corresponding data packet head is sent to the virtualized programmable data plane with the serial number of id1, and similarly, when the serial number of the virtualized programmable data plane included in the parsed data packet is id2, the corresponding data packet head is sent to the virtualized programmable data plane with the serial number of id 2; when the virtualization fast parser parses out the sequence number of the virtualization programmable data plane contained in the data packet to be id3, the corresponding data packet head is sent to the virtualization programmable data plane with the sequence number of id 3.
It should be noted that the virtualized fast parser only sends the packet head of the packet to the corresponding virtualized programmable data plane, and does not send the entire packet to the virtualized programmable data plane.
The specific configuration process of the network function is as follows:
step S1011: and acquiring a virtualization control logic and a virtualization matching action table corresponding to the network function to be configured.
Specifically, the administrator determines the network function to be configured according to the data packet to be processed, that is, determines the network function to be configured according to the processing requirement of the data packet to be processed, and obtains the virtualization control logic and the virtualization matching action table required for configuring the network function according to the network function to be configured.
Step S1012: and configuring the virtualization control logic and the virtualization matching action table as network functions according to a first preset mode.
Firstly, selecting a first virtualization control logic of the network function to be configured according to a first preset mode, and acquiring a corresponding virtualization matching action table bitmap and a serial number of the currently configured network function by a head end configuration table in the first virtualization control logic of the network function to be configured according to the first preset mode. The virtualization matching action table bitmap specifies the virtualization matching action table executed under the virtualization control logic and the execution sequence of the virtualization matching action table, and the sequence number of the network function is used for prompting which network function is the network function for processing the data packet when the data packet is processed. Secondly, a virtualization matching action table bitmap detection point is arranged in front of each virtualization matching action table corresponding to the virtualization matching action table bitmap, and is used for detecting whether the corresponding virtualization matching action table is executed or not. And finally, setting an end configuration table at the end of the virtualization matching action table bitmap for detecting whether the data packet is executed completely. And then repeating the steps to sequentially configure other virtualization control logics of the network function to be configured until the network function is configured.
It should be noted that the end configuration table mainly determines whether the data packet is executed and completed by all network functions on the current virtualized programmable data plane according to the serial number of the virtualized programmable data plane to which the network function to be configured belongs, the serial number of the network function to be configured, and the current virtualized matching action table bitmap of the virtualized control logic. And if the terminal configuration table judges that the data packet is not completely executed, the corresponding network function processes the data packet again.
The processing mode of the data packet by the virtualization matching action table is different from the processing mode of the data packet by the existing matching action table, and the processing mode is as follows:
firstly, whether the data packet head meets the judgment condition is judged.
Specifically, the type of the boolean expression in the judgment condition is determined according to the virtualized programmable data plane serial number, then whether the data packet header meets the judgment condition is judged, if the data packet header meets the judgment condition, the data packet header is executed with other steps of the virtualized matching action table, and if the data packet header does not meet the judgment condition, the data packet header jumps to the next virtualized matching action table according to the virtualized matching action table bitmap. Preferably, the judgment condition is if-else judgment logic. It should be noted that this step does not perform any processing on the data packet, but only determines whether to execute other steps of the virtualized matching action table according to the determination condition.
And secondly, matching the data packet header meeting the judgment condition with the matching domain, and outputting a corresponding matching result and an action bitmap.
Specifically, according to the judgment result of the judgment condition on the data packet, matching the data packet header meeting the judgment condition with a matching action table in the virtualization matching action table, and outputting a corresponding matching result and an action bitmap. Wherein the matching result is used for uniquely representing the matching result of the matching step, and preferably, the matching result can be metadata with a width of 32 bits; the action bitmap is used to specify the actions that need to be performed at the action step and the order in which the actions are performed. The virtualization matching action table provides a uniform matching mode for an original data packet header, standard metadata (including a data packet input port, a data packet output port and the like) and user-defined metadata; in this matching mode, the administrator can dynamically define the information that the matching step of the specified virtualized matching action table needs to match and the matching type. The matching types supported by the invention comprise exact matching, longest prefix matching and mask matching. It should be noted that, this step does not process the data packet, and the purpose is to output the corresponding matching result and the action bitmap.
And finally, processing the data packet header according to the matching result and the action bitmap.
Specifically, whether to execute a certain action on the data packet is judged according to the acquired action bitmap. For example, fig. 3 shows a schematic diagram of an action bitmap of a virtualization matching action table, and referring to fig. 3, it is assumed that bit 0 of the prescribed action bitmap corresponds to a packet header modification function, bit 1 indicates a packet dropping function, and so on. If the bit value corresponding to the packet function in the action bitmap is 1, then the action step requires that the action be performed. That is, if the value of the 0 th bit is 1, the action step will perform the operation of modifying the header of the data packet, otherwise, the action step will not perform the operation of modifying the header of the data packet, and so on. The action performed on the packet is based on the matching result to decide how to process the packet.
The operation principle of the virtualization matching action bitmap is the same as that of the action bitmap, and the operation principle of the virtualization matching action bitmap can be understood by referring to the description of the operation principle of the action bitmap.
FIG. 4 is a schematic diagram illustrating the processing flow of a data packet by a programmable data plane virtual layer constructed by the present invention; FIG. 5 is a schematic diagram illustrating the processing of a data packet by a programmable data plane virtual layer constructed by the present invention; referring to fig. 4 and 5, the processing flow of the programmable data plane virtual layer constructed by the present invention for the data packet is as follows:
step S201, after the data packet is input to the programmable data plane virtual layer, the virtualization fast analyzer analyzes the description header information of the data packet, analyzes the virtualization programmable data plane serial number and the length information of the data packet header, and reads the data packet header according to the length information of the data packet header;
step S202, the virtualization fast parser sends the read data packet header to the virtualization programmable data plane corresponding to the virtualization programmable data plane serial number. In this example, assume the virtualized programmable data plane sequence number of the packet is id 3;
step S203, after the data packet header is sent to the corresponding virtualized programmable data plane, the data packet header is first processed by the head end configuration table of the first virtualized control logic in the first network function, and the network function serial number is configured according to the current network function, which is 1.
Step S204, the data packet head enters a first virtual matching action table bitmap detection point, and if the first bit of the detected virtual matching action table bitmap is 0, the virtual matching action table is not executed; if the first bit of the detected virtual matching action table bitmap is 1, executing the virtual matching action table; sequentially entering other virtual matching action table bitmap detection points in the same way, and correspondingly executing the virtual matching action table;
step S205, the data packet header enters a terminal configuration table, the terminal configuration table judges whether the data packet is executed by the virtualization matching action table corresponding to the current virtualization control logic, if not, the data packet header is redelivered to the head end matching action table and is executed again until the virtualization matching action table corresponding to the first virtualization control logic is executed; if the execution is finished, transmitting the data packet to a head end configuration table of the next virtualization control logic;
and S206, repeating the steps S203-S205, and sequentially enabling the virtualization matching action table corresponding to the virtualization control logic to process the data packet.
Step S207, determining whether the current network function is executed, if yes, executing the subsequent steps, and if not, re-sending the data packet to step S206.
And step S208, repeating the steps S201 to S206, and enabling other network functions to process the data packet in sequence.
Step S209 determines whether the processing of the data packet by the current virtualized programmable data plane is completed, if so, the data packet is output, and if not, the data packet is sent to step S208 again.
By applying the method for constructing the programmable data plane virtual layer provided by the embodiment of the invention, the plane virtual layer has multiple network functions by constructing the plane virtual layer comprising a plurality of virtualization matching action tables and a plurality of virtualization control logics, and the network functions are randomly combined and sequenced in the plane virtual layer according to requirements to form a plurality of different functions of virtualizing the programmable data plane, namely the constructed plane virtual layer can comprise a plurality of programmable data planes so as to meet the requirement of simultaneously running a plurality of programs under the existing hardware resources; meanwhile, the network function construction and the virtualization programmable data plane can be configured according to the setting of an administrator, namely, the administrator can configure the network function for processing the data packet and the processing sequence of the network function according to the data type in the data packet to be processed and the processing requirement of the data packet, the dynamic updating of the network function and the modification of the processing sequence of the network function can be realized without reprogramming and importing processes, the flexibility and the resource utilization rate of the programmable data plane are improved, and the increasingly complex environmental requirement for processing the network data packet is better met.
Example two
In order to solve the above technical problems in the prior art, an embodiment of the present invention further provides a storage medium, in which a programmable data plane virtual layer is stored.
The programmable data plane virtualization layer comprises a quick parser, a plurality of matching action tables and a plurality of virtualization control logics, the matching action tables and the control logics can configure network functions according to a first preset mode, the configured network functions can configure a virtualization programmable data plane according to a second preset mode, and the virtualization programmable data plane is used for processing data packets. The fast analyzer is used for analyzing the data packet and transmitting the data packet head of the analyzed data packet to the corresponding virtualization programmable data plane.
The process of configuring the network function according to the first preset mode and the process of configuring the virtualized programmable data plane according to the second preset mode are the same as the process of configuring the network function according to the first preset mode by the virtualized matching action table and the virtualized control logic and configuring the plurality of virtualized programmable data planes according to the second preset mode by using the configured network function in the first embodiment; the specific parsing process of the data packet by the fast parser and the process of transmitting the parsed data packet to the corresponding virtualized programmable data plane are the same as the specific parsing process of the data packet by the virtualized fast parser and the process of transmitting the parsed data packet to the corresponding virtualized programmable data plane in the first embodiment; meanwhile, the processing mode of the data packet by the matching action table is the same as the processing mode of the data packet by the virtualization matching action table in the first embodiment. Therefore, the above description is not repeated herein.
It should be noted that the processing procedure of the programmable data plane virtual layer on the data packet is also the same as the processing procedure of the programmable data plane virtual layer on the data packet in the first embodiment, and therefore, the specific processing procedure of the programmable data plane virtual layer on the data packet in this embodiment is not described herein again.
By applying the programmable data plane virtual layer provided by the embodiment of the invention, the matching action table and the control logic contained in the programmable data plane virtual layer are configured into a plurality of network functions, and the network functions are combined and sequenced in the virtualized programmable data layer at will according to requirements to form a plurality of different programmable data planes so as to meet the requirements of running a plurality of programs at the same time, and meanwhile, the construction of the network functions and the construction of the virtualized programmable data planes are configured according to the setting of an administrator, namely, the administrator can configure the network functions for processing the data packets and the processing sequence of the network functions according to the data types in the data packets to be processed and the processing requirements of the data packets, the dynamic updating of the network functions and the modification of the processing sequence of the network functions can be realized without reprogramming and importing processes, and the flexibility and the resource utilization rate of the programmable data plane are improved, and better meet the increasingly complex environmental requirements of network data packet processing.
Although the embodiments of the present invention have been described above, the above description is only for the convenience of understanding the present invention, and is not intended to limit the present invention. It will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims.

Claims (8)

1. A method for constructing a virtual layer of a programmable data plane, comprising:
constructing a plane virtual layer comprising a plurality of virtualization matching action tables and a plurality of virtualization control logics;
the virtualization control logic and the virtualization matching action table can be configured into a plurality of network functions according to a first preset mode, and the network functions can be configured into a plurality of virtualization programmable data planes according to a second preset mode;
wherein the step of configuring the network function comprises:
acquiring the virtualization control logic and the virtualization matching action table corresponding to the network function to be configured;
a head end configuration table in a first virtualization control logic of the network function to be configured obtains a virtualization matching action table bitmap and a serial number of the network function to be configured according to a first preset mode;
setting a virtualization matching action table bitmap detection point in front of each virtualization matching action table corresponding to the virtualization matching action table bitmap, so as to detect whether the corresponding virtualization matching action table is executed or not;
setting an end configuration table at the end of the virtualization matching action table bitmap for detecting whether the data packet is executed completely;
and repeating the steps, and sequentially configuring other virtualization control logics of the network function to be configured until the network function configuration is completed.
2. The method of claim 1, wherein the network functions within each of the virtualized programmable data planes are different or the network functions are arranged in a different order.
3. The method of claim 1, further comprising:
and constructing a virtualization fast analyzer in the plane virtual layer to analyze the data packet and transmit the analyzed data packet to the corresponding virtualization programmable data plane.
4. The method of claim 3, wherein the step of parsing and sending the data packet by the virtualized fast parser comprises:
analyzing the description header information of the data packet to obtain a virtualized programmable data plane serial number and data packet header length information;
and acquiring a data packet header of the data packet according to the length information of the data packet header, and sending the data packet header to a virtualization programmable data plane corresponding to the sequence number of the virtualization programmable data plane.
5. The method of claim 4, wherein the step of processing the packet by the virtualization matching action table comprises:
judging whether the data packet header meets the judgment condition or not;
matching the data packet header meeting the judgment condition with a matching domain, and outputting a corresponding matching result and an action bitmap;
and processing the data packet header according to the matching result and the action bitmap.
6. The method of claim 1, wherein the programmable data plane virtual layer is built on a hardware programmable data plane.
7. A computer-readable storage medium having stored thereon a programmable data plane virtual layer, the programmable data plane virtual layer comprising:
the virtualization matching action tables and the virtualization control logics are used for configuring network functions according to a first preset mode, and the configured network functions can configure a virtualization programmable data plane according to a second preset mode;
the virtualized programmable data plane is used for processing data packets;
wherein the step of configuring the network function comprises:
acquiring the virtualization control logic and the virtualization matching action table corresponding to the network function to be configured;
a head end configuration table in a first virtualization control logic of the network function to be configured obtains a virtualization matching action table bitmap and a serial number of the network function to be configured according to a first preset mode;
setting a virtualization matching action table bitmap detection point in front of each virtualization matching action table corresponding to the virtualization matching action table bitmap, so as to detect whether the corresponding virtualization matching action table is executed or not;
setting an end configuration table at the end of the virtualization matching action table bitmap for detecting whether the data packet is executed completely;
and repeating the steps, and sequentially configuring other virtualization control logics of the network function to be configured until the network function configuration is completed.
8. The computer-readable storage medium of claim 7, further comprising a virtualization fast parser, the virtualization fast parser being configured to parse a data packet and to transmit the parsed data packet to a corresponding virtualization programmable data plane.
CN201711416899.5A 2017-12-25 2017-12-25 Programmable data plane virtual layer construction method and storage medium Active CN108306757B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711416899.5A CN108306757B (en) 2017-12-25 2017-12-25 Programmable data plane virtual layer construction method and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711416899.5A CN108306757B (en) 2017-12-25 2017-12-25 Programmable data plane virtual layer construction method and storage medium

Publications (2)

Publication Number Publication Date
CN108306757A CN108306757A (en) 2018-07-20
CN108306757B true CN108306757B (en) 2020-07-17

Family

ID=62870997

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711416899.5A Active CN108306757B (en) 2017-12-25 2017-12-25 Programmable data plane virtual layer construction method and storage medium

Country Status (1)

Country Link
CN (1) CN108306757B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113132236B (en) * 2021-04-21 2022-02-25 鹏城实验室 Service selection method, device and switch based on programmable data plane
CN115174711A (en) * 2022-07-07 2022-10-11 中国人民解放军战略支援部队信息工程大学 Data processing method, device and medium based on full-stack programmable network

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105812179A (en) * 2016-03-09 2016-07-27 中国科学院信息工程研究所 Protocol independent forwarding network event processing method
CN106464522A (en) * 2014-04-11 2017-02-22 瑞典爱立信有限公司 A method and system for network function placement
CN107113195A (en) * 2015-06-01 2017-08-29 华为技术有限公司 System and method for the virtualization in control plane and datum plane

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170048308A1 (en) * 2015-08-13 2017-02-16 Saad Bin Qaisar System and Apparatus for Network Conscious Edge to Cloud Sensing, Analytics, Actuation and Virtualization
US10003660B2 (en) * 2016-02-29 2018-06-19 Cisco Technology, Inc. System and method for data plane signaled packet capture in a service function chaining network

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106464522A (en) * 2014-04-11 2017-02-22 瑞典爱立信有限公司 A method and system for network function placement
CN107113195A (en) * 2015-06-01 2017-08-29 华为技术有限公司 System and method for the virtualization in control plane and datum plane
CN105812179A (en) * 2016-03-09 2016-07-27 中国科学院信息工程研究所 Protocol independent forwarding network event processing method

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"HYPER: A Hybrid High-Performance Framework for Network Function Virtualization";Chen Sun 等;《IEEE Journal on Selected Areas in Communications ( Volume: 35 , Issue: 11 , Nov. 2017 )》;20171006;第2490-2500页 *
Cheng Zhang;Jun Bi 等."HyperV: A High Performance Hypervisor for Virtualization of the Programmable Data Plane".《2017 26th International Conference on Computer Communication and Networks (ICCCN)》.2017, *
Cheng Zhang;Jun Bi 等."P4DB: On-the-fly debugging of the programmable data plane".《2017 IEEE 25th International Conference on Network Protocols (ICNP)》.2017, *

Also Published As

Publication number Publication date
CN108306757A (en) 2018-07-20

Similar Documents

Publication Publication Date Title
CN112291079B (en) Network service configuration method and network management equipment
US20200007445A1 (en) Enhanced service function chain
CN110674027B (en) SDN data plane software consistency test system and method oriented to P4 programming language
CN110471692B (en) Over-the-air upgrading method, device, equipment and storage medium of terminal program
CN111984561B (en) IPMI command processing method, system, device and medium for BMC
US10033619B2 (en) Data processing method and apparatus for OpenFlow network
WO2020164476A1 (en) Data downloading method and related apparatus
CN111865736A (en) Equipment control method and device
CN113114706B (en) Multichannel Ethernet message processing method based on power chip
CN108306757B (en) Programmable data plane virtual layer construction method and storage medium
CN111541688B (en) Embedded system compatible with multiple protocols, data processing method and device
US20120140640A1 (en) Apparatus and method for dynamically processing packets having various characteristics
CN112822199A (en) OTA (over the air) upgrading method and system based on protocol conversion
CN102880471A (en) Command execution method based on command line and command line operating system
CN113168333A (en) Workflow configuration for a coordinated device environment
CN112073488A (en) Method and device for processing request
CN111315026B (en) Channel selection method, device, gateway and computer readable storage medium
CN110909522A (en) Data processing method and device, electronic equipment and medium
Doering et al. Retrofitting SDN to classical in-vehicle networks: SDN4CAN
WO2016065536A1 (en) Switch processing method, controller, switch, and switch processing system
WO2016127422A1 (en) System, device and method for processing data
KR20150088462A (en) Method for linking network device in cloud environment and apparatus therefor
CN116541073A (en) Accelerator based on multi-mirror FPGA, accelerator implementation method, terminal equipment and computer readable storage medium
CN111385110B (en) Network management method and device
CN107147694B (en) Information processing method and device

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