WO2015184584A1 - 开放流流表间信息传递的方法、控制器、交换机及系统 - Google Patents

开放流流表间信息传递的方法、控制器、交换机及系统 Download PDF

Info

Publication number
WO2015184584A1
WO2015184584A1 PCT/CN2014/079082 CN2014079082W WO2015184584A1 WO 2015184584 A1 WO2015184584 A1 WO 2015184584A1 CN 2014079082 W CN2014079082 W CN 2014079082W WO 2015184584 A1 WO2015184584 A1 WO 2015184584A1
Authority
WO
WIPO (PCT)
Prior art keywords
information
data source
flow
flow table
delivery
Prior art date
Application number
PCT/CN2014/079082
Other languages
English (en)
French (fr)
Inventor
胡渭琦
Original Assignee
华为技术有限公司
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 华为技术有限公司 filed Critical 华为技术有限公司
Priority to PCT/CN2014/079082 priority Critical patent/WO2015184584A1/zh
Priority to CN201480033902.3A priority patent/CN105340227B/zh
Publication of WO2015184584A1 publication Critical patent/WO2015184584A1/zh

Links

Definitions

  • the present invention relates to the field of wireless communication technologies, and in particular, to a method, a controller, a switch, and a system for information transmission between open flow tables. Background technique
  • embodiments of the present invention provide a method, a controller, a switch, and a system for information transmission between open flow tables.
  • the technical solution is as follows:
  • the first aspect provides a method for transmitting information between the open flow table, the method includes: the open flow controller generates a flow entry, where the flow entry includes indication information, where the indication information is used to indicate acquisition and delivery a method of information; wherein the delivery information is information to be delivered to a lower-level flow table; the open flow controller sends the flow entry to an open flow switch, so that the open flow switch according to the indication information Obtaining the delivery information for the lower level flow table.
  • the indication information includes data source information and data source location information, where the data source information is used to indicate a data source that includes the delivery information, The data source location information is used to indicate a location of the delivery information in the data source, and the indication information is used to indicate a location in the data source according to the delivery information, and obtain the location from the data source. Transmitting information.
  • a generating module configured to generate a flow entry, where the flow entry includes indication information, where the indication information is used to indicate a method for obtaining delivery information, where the delivery information is information that needs to be delivered to a lower-level flow table; And sending, by the generating module, the flow entry to the OpenFlow switch, so that the OpenFlow switch obtains the delivery information for the lower-level flow table according to the indication information.
  • the indication information included in the flow entry generated by the generating module includes data source information and data source operation information, where the data source information is used Instructing a data source including the delivery information, the data source operation information being used to indicate an operation instruction for acquiring the delivery information from the data source, the indication information being used to indicate that the delivery is obtained according to the data source An operation instruction of the information, the transfer information is obtained from the data source.
  • the OpenFlow switch acquires the delivery information for the lower-level flow table according to the indication information.
  • the open flow exchange Obtaining the delivery information for the lower-level flow table according to the indication information includes:
  • the OpenFlow switch delivers the indication information to the lower-level flow table, and acquires the delivery information according to the indication information when processing the lower-level flow table.
  • the indication information includes data source information and data source location information, where the data source information is And a data source for indicating the delivery information, where the data source location information is used to indicate a location of the delivery information in the data source;
  • the obtaining, by the OpenFlow switch, the delivery information according to the indication information includes:
  • the OpenFlow switch obtains the delivery information from the data source based on the location of the delivery information in the data source.
  • the indication information includes data source information and data source operation information, where the data source information is And a data source for indicating the delivery information, where the data source operation information is used to indicate an operation instruction for acquiring the delivery information from the data source;
  • the obtaining, by the OpenFlow switch, the delivery information according to the indication information includes:
  • the OpenFlow switch obtains the delivery information from the data source based on an operation instruction to obtain the delivery information from the data source.
  • the fourth aspect provides an open flow switch, where the open flow switch includes: a receiving module, configured to receive a data packet;
  • a first obtaining module configured to obtain, according to the data packet received by the receiving module, a flow entry that matches the data packet; where the flow entry includes indication information, where the indication information is used to indicate Obtaining a method for transmitting information, where the delivery information is information to be delivered to a lower-level flow table;
  • the second obtaining module is configured to acquire the delivery information for the lower-level flow table according to the indication information in the flow entry obtained by the first obtaining module.
  • the second acquiring module is configured to acquire the delivery information according to the indication information, and deliver the delivery information to the lower-level flow table ;
  • the second acquiring module configured to acquire the delivery information according to the indication information Transmitting the delivery information to the lower level flow table
  • the second obtaining module is configured to: deliver the indication information to the lower-level flow table; and acquire the delivery information according to the indication information when processing the lower-level flow table.
  • the indication information in the flow entry obtained by the first acquiring module includes a data source Information and data source operation information
  • the data source information is used to indicate a data source including the delivery information
  • the data source operation information is used to indicate an operation instruction for acquiring the delivery information from the data source
  • the second obtaining module is configured to obtain the delivery information from the data source according to an operation instruction for acquiring the delivery information from the data source.
  • a fifth aspect provides a system for information flow between open flow tables, where the system includes: an open flow controller and an open flow switch;
  • the OpenFlow controller such as the OpenFlow controller provided in the second aspect above
  • the OpenFlow switch such as the OpenFlow switch provided in the fourth aspect above.
  • the indication information is used to indicate a method for obtaining the delivery information; wherein, the delivery information is information that needs to be delivered to the lower-level flow table; and the flow entry is sent to the open flow switch, so that the open flow switch Obtaining the delivery information for the lower-level flow table according to the indication information, reducing the number of flow entries, thereby reducing resources for storing and processing flow entries, and improving the efficiency of processing data packets. Rate. DRAWINGS
  • FIG. 4 is a flow chart of a method for transmitting information between two types of open flow flow tables according to another embodiment of the present invention.
  • FIG. 1 it is a schematic structural diagram of an implementation environment involved in a method for information transfer between open flow tables according to an embodiment of the present invention.
  • the implementation environment includes an OpenFlow controller 101 and an OpenFlow switch 102.
  • the OpenFlow switch 102 After receiving the data packet, the OpenFlow switch 102 sequentially passes the data packet through the flow tables shown in FIG. 2, and after the data packet enters the OpenFlow switch 102, it is sent to the 0-level flow table for processing. After the processing is completed, the flow is further processed to the next-level flow table n1 level flow table indicated in the processing result of the 0-level flow table, and the n-level flow table may be a level 1 flow table or another level flow table; After the processing of the nl level flow table is completed, the next flow table indicated in the processing result of the nl level flow table is further processed; and so on, until the processed data message is sent to the last stage of processing the data message. The flow table nn-level flow table is processed to output the processed data packet, and the nn-level flow table may be the last-level flow table in the open flow switch 102, or may be another level flow table in the open flow switch 102.
  • the indication information includes data source information and data source location information
  • the data source information is used to indicate a data source including the delivery information
  • the data source location information is used to indicate a bit of the delivery information in the data source.
  • the indication information is used to indicate that the delivery information is obtained from the data source according to the location of the delivery information in the data source.
  • the OpenFlow switch obtains the delivery information for the lower-level flow table according to the indication information, including: the OpenFlow switch acquires the delivery information according to the indication information, and delivers the delivery information to the lower-level flow table; or
  • the open flow controller generates a flow entry.
  • the flow entry includes indication information, and the indication information is used to indicate a method for obtaining the delivery information, and the delivery information is information that needs to be delivered to the lower-level flow table.
  • this embodiment does not limit the specific method for generating a flow entry. Including but not limited to: Determining the source type of the specific content of the information between the flow tables extracted by each flow table, and determining the location attribute of the specific content of the information between the flow tables extracted by each flow table, and the information between the flow tables is at least one, and each flow table is The information corresponds to a specific content; the first binary group corresponding to the flow table information extracted by each flow table is generated according to the source type and the location attribute of the specific content of the flow table information extracted by each flow table, and the first The two-group is used as the indication information.
  • the open flow controller sends the flow entry to the open flow switch.
  • the open flow switch receives the data packet, and obtains a flow entry that matches the data packet according to the data packet.
  • the specific method for obtaining a flow entry matching the data packet according to the data packet is not limited in this embodiment. For example, if the indication information included in the flow entry received by the OpenFlow switch is the first dual group, the OpenFlow switch acquires the first dual group that matches the data packet according to the data packet.
  • the OpenFlow switch obtains the delivery information for the lower-level flow table according to the indication information.
  • This embodiment does not limit the specific method for the OpenFlow switch to obtain the delivery information for the lower-level flow table according to the indication information.
  • the OpenFlow switch obtains the delivery information according to the indication information, and delivers the delivery information to the lower-level flow table.
  • the OpenFlow switch delivers the indication information to the lower-level flow table, and obtains the delivery information according to the indication information when processing the lower-level flow table.
  • the OpenFlow switch obtains the delivery information from the data source according to the location of the information in the data source.
  • the indication information includes data source information and data source operation information
  • the data source information is used to indicate a data source including the delivery information
  • the data source operation information is used to indicate an operation instruction for obtaining the delivery information from the data source
  • the specific implementation method for obtaining the delivery information may be:
  • the OpenFlow switch obtains the delivery information from the data source according to the operation instruction for obtaining the delivery information from the data source.
  • This embodiment does not limit the specific method for the OpenFlow switch to obtain and transmit information according to the indication information.
  • Another embodiment of the present invention further provides a method for transmitting information between open flow flow tables. In combination with the embodiment shown in FIG. 5, the flow table that needs to transmit information between flow tables in the open flow switch is the 0th level flow.
  • the information between the flow tables is at least one, and the information between each flow table corresponds to a specific content.
  • This embodiment does not limit the specific source type of the specific content of the information between the flow tables extracted by each flow table, including but not limited to the following four source types.
  • the third source type database
  • the fourth source type except the header field of the data message, the payload area of the data message, the data area, and the type outside the database.
  • the open flow controller controls various processing logics corresponding to the flow tables of the open flow switch
  • the open flow controller knows in advance which flow tables in the flow table of the open flow switch need to transmit information between the flow tables, and
  • the OpenFlow controller also knows in advance the storage area of the specific content of the information between the flow tables in each flow table in the OpenFlow switch that needs to pass the information between the flow tables. Therefore, the open flow controller may determine the specific information of the flow table extracted by each flow table according to the storage area of the specific content of the information between the flow tables in each of the known flow tables in the open flow switch that needs to transmit the information between the flow tables.
  • the source type of the content This embodiment does not limit the specific method for determining the source type of the specific content of the information between the flow tables extracted by the flow table by the OpenFlow controller.
  • the OpenFlow controller knows in advance that the 0th level flow table in the OpenFlow switch level 2 flow table needs to be transmitted.
  • the information of the flow table between the flow tables is the header of the current data packet
  • the storage area of the information 2 between the flow tables is the memory area
  • the storage area of the information 3 between the flow tables is the cache area.
  • the storage area of the flow table information 4 is a database
  • the storage area of the flow table information 5 is a header field of a non-data message, a payload area of a data message, a data area, and an A area of the database.
  • the OpenFlow controller determines, according to the header field of the data packet of the information flow table 1 of the flow table, the source type of the information between the flow table 1 as the first source type: the header field of the data packet or the payload area of the data packet;
  • the flow controller determines, according to the memory area of the information flow table 2, the source type of the flow table information 2 as the second source type: the data area;
  • the open flow controller determines the flow table according to the cache area of the information flow table 3
  • the source type of information 3 is the second source type: data area;
  • the open flow controller determines the source type of the information between the flow tables 4 according to the database of information 4 between the storage flow tables as the third source type: database;
  • the source type of the information between the flow table 5 is determined according to the header field of the non-data message of the information flow table 5, the payload area of the data message, and the A area of the data area: the fourth source type: except the header of the data message The domain, the payload area of the data message, the data area
  • the storage area of the information between the flow tables may be other areas.
  • the specific storage area of the information between the flow tables is not limited.
  • the open flow controller determines a location attribute of the specific content of the information between the flow tables extracted by each flow table;
  • the embodiment does not limit the specific method for the OpenFlow controller to determine the location attribute corresponding to each source type. For example: If any source type is the header field of the data packet or the data packet The payload area determines the location attribute corresponding to the source type, including: an offset, a continuous value length, and a value mask. For another example, if any source type is a data area, determining the location attribute corresponding to the source type includes: a start address, a continuous value length, and a value mask. Or, determining the location attribute corresponding to the source type includes: a start address, an offset, a continuous value length, and a value mask.
  • any source type is a database
  • it is determined that the location attribute corresponding to any source type includes a value statement and a value mask.
  • any source type is a header field of the data packet, a payload area of the data packet, a data area, and a type other than the database, it is determined that the location attribute corresponding to the source type includes the information value.
  • the embodiment does not limit the specific method in which the OpenFlow controller stores the correspondence between the respective source types and the location attributes.
  • the correspondence between each source type and location attribute is stored in the manner shown in Table 1.
  • the source type of the information 1 between the flow tables is the header field of the data packet or the payload area of the data packet; the source type of the information 2 between the flow tables is the data region; the source type of the information 3 between the flow tables is the data region;
  • the source type of the information 4 is a database; the source type of the information 5 between the flow tables is a header field other than the data packet, a payload area of the data message, and a type other than the data area, and various source types stored in the form shown in Table 1. For example, the correspondence between the location attribute and the location attribute is based on Table 1.
  • the location attribute corresponding to the source type of the information 1 between the flow tables is determined as: offset, continuous value length, and value mask, and the offset, the continuous value length, and the value mask are used as information between the flow tables.
  • the location attribute corresponding to the source type of the information 2 between the flow tables is: the start address, the continuous value length, and the value mask, and the start address, the continuous value length, and the value mask are used as the position of the information between the flow tables 2 Attributes.
  • the location attribute corresponding to the source type of the information 3 between the flow tables is: start address, offset, continuous value length and value mask, and start address, offset, continuous value length and value mask As the location attribute of the information 3 between the flow tables.
  • the location attribute corresponding to the source type of the information between the flow tables is determined as follows: the value statement and the value mask, and the value statement and the value mask are used as the location attribute of the information 4 between the flow tables.
  • the location attribute corresponding to the source type of the information 5 between the flow tables is determined as: the information value, and the information value is used as the location attribute of the information 5 between the flow tables.
  • the location attribute corresponding to the source type of the information between the flow tables 2 may also be a start address, an offset, a continuous value length, and a value mask.
  • the location attribute corresponding to the source type of the information between the flow tables 3 may also be a start.
  • the address, the continuous value, and the value mask are not limited in this embodiment.
  • the specific location attribute corresponding to the source type of the information 2 between the flow table and the specific location attribute corresponding to the source type of the information 3 between the flow tables are not limited.
  • the open flow controller may determine the location attribute of the specific content of the information between the flow tables extracted by each flow table by other methods. In this embodiment, the open flow controller does not determine the flow table extracted by each flow table. The specific method of the location attribute of the specific content of the information is limited.
  • the OpenFlow controller generates, according to the source type and the location attribute of the specific content of the information between the flow tables extracted by each flow table, a first dual group corresponding to the information between the flow tables extracted by each flow table;
  • Each of the first binary groups includes a source type and a location attribute of specific content of the information between the flow tables.
  • the source type of the information 1 between the flow tables is the header field of the data packet or the payload area of the data packet.
  • the location attribute of the information 1 between the flow tables is the offset, the continuous value length, and the value mask.
  • the first binary group 1 corresponding to the information 1 between the flow tables is [Packet, [offset, length, mask]].
  • the Packet represents the source field of the data packet or the payload area of the data packet. Represents the offset, length represents the continuous value length, and mask represents the value mask.
  • the source type of the flow table information 2 is a data area, and the location attribute of the information 2 between the flow tables is a start address, a continuous value length, and a value mask, since the data area of the information 2 between the flow tables is specifically a memory area,
  • the first binary group 2 corresponding to the information 2 generated between the flow tables is [Data_area 1, [start, length, mask]].
  • Data_area l represents the source type as the data area, and is specifically the memory area, and start represents the start address.
  • the source type of the flow table information 3 is a data area, and the location attribute of the flow table information 3 is a start address, an offset, a continuous value length, and a value mask, because the data area of the information 3 between the flow tables is specifically The cache area, therefore, the first binary group 3 corresponding to the information 3 generated between the flow tables is [Data_area 3, [start, offset, length, mask]].
  • Data_area 3 represents the source type as the data area, and is specifically the cache area.
  • the source type of the information between the flow tables 4 is a database, and the location attribute of the information 4 between the flow tables is a value statement and a value mask. Since the data area of the information 4 between the flow tables is specifically a database, the information between the flow tables is generated.
  • the corresponding first binary group 4 is [Data_area 2, [SelectCommand, mask] ]. Among them, Data_area 2 represents the source type as the database, and SelectCommand represents the value statement.
  • the source type of the information between the flow table 5 is a header field of the data packet, a payload area of the data packet, a data area, and a type other than the database.
  • the location attribute of the information 5 between the flow tables is an information value, and the information value is 1.
  • the first binary group 5 corresponding to the information 5 between the flow tables is generated as [Constant, 1 ]. Where Constant represents the source type except the header field of the data message, the payload area of the data message, the data area, and the type of the database.
  • the information value may also be other values. This embodiment does not limit the specific value of the information value.
  • the open flow controller generates, according to the first dual group corresponding to the flow table information extracted by the flow table of each level, a flow entry corresponding to the flow table corresponding to each flow table, and includes the common flow table corresponding to each flow table.
  • the flow entry of the information is sent to the open flow switch;
  • Each flow entry containing general information includes at least one first dual group.
  • the flow entry template containing the information between the flow tables is shown in Table 2.
  • the flow between the flow table information 1 and the flow table information 2 of the 0th flow table is: The data message for the input flow table 0
  • the first binary group 1 corresponding to the information 1 between the flow table and the first binary group 2 corresponding to the information 2 between the flow tables are placed in the matching domain; if the flow table information 3, the flow table
  • the usage scenario of the inter-information information 4 and the inter-flow table information 5 is: when the data packet of the input flow table 0 is matched and used to perform the corresponding operation, the first dual-group 3 and the stream corresponding to the inter-flow table information 3 are used.
  • the first binary group 4 corresponding to the inter-table information 4 is placed in the command field; and a flow entry containing general information corresponding to the 0th-level flow table shown in Table 3 is generated.
  • the OpenFlow controller when performing the method provided in this embodiment, performs the flow table in the OpenFlow switch after performing the steps 601 to 604 in order to better control the OpenFlow switch.
  • the flow table of each level of the information changes, or the specific content of the information between the flow tables extracted by the flow table that needs to transmit the information between the flow tables changes, or steps 601 to 604 can be re-executed every preset time. It is updated by the flow entry containing the general information corresponding to each flow table.
  • the preset time may be any length of time. In this embodiment, the specific value of the preset time is not limited. In this embodiment, the specific conditions for triggering the re-execution of steps 601 to 604 are not limited.
  • the specific method for determining the specific content of the information between the flow tables corresponding to each flow table according to each first dual group included in the flow table entry corresponding to the flow table corresponding to the flow table of each level is not limited. For example: obtaining a source type and a location attribute of specific content of the information between the flow tables in each first dual group included in the flow table entry corresponding to the flow information table corresponding to each flow table; and the general information corresponding to each flow table.
  • the source type and the location attribute of the specific content of the information between the flow tables in each first dual group included in the flow table entry extract the specific content of the information between the flow tables in each first dual group corresponding to each flow table.
  • the embodiment does not extract the flow table of each source type and location attribute of the specific content of the information between the flow tables in each first dual group included in the flow table entry corresponding to the flow table corresponding to each flow table.
  • the specific method for the specific content of the information between the flow tables in the corresponding first dual group is defined, including but not limited to being implemented by one of the following four implementation manners.
  • the content length length is extracted from the header field of the data packet or the address of the payload address of the payload area of the data packet, and the length may be other content.
  • the sub-content obtained according to the mask may also be other content.
  • the specific content of length length and the specific sub-content obtained according to the mask are not limited to be extracted from the address of the header of the data packet or the offset of the top-end address of the payload area of the data packet.
  • the second content may also be The validity is checked. If the verification result of the second content is verified, the step of determining the second content as the specific content of the information between the flow tables in any of the first dual groups corresponding to any flow table is performed. . If the verification result of the verification of the second content is not passed, the step of determining the second content as the specific content of the information between the flow tables in any of the first dual groups corresponding to any flow table is not performed, and performing other steps.
  • the result of the verification of the verification of the second content is that the corresponding operation is not passed. For example: verify whether the second content is legal, or verify whether the second content meets the constraint, or both verify that the second content is legal and verify that the second content meets the constraint.
  • This embodiment does not limit the specific judgment standard of whether the second content is legal. For example: If the second content is unique, the second content is considered legal. This embodiment does not limit the specific judgment criteria of whether the second content meets the constraint condition. For example: If the second content is in a reasonable range space, then the second content is considered to be in compliance with the constraint.
  • the operation corresponding to the verification result is not specifically limited in this embodiment.
  • the operation that can be captured is to abandon the second content, or set the second content to a preset value, or send a calibration to the OpenFlow controller to verify the second content.
  • the test result is a report that fails.
  • the second implementation manner is as follows: the source type of the specific content of the information between the flow tables in any of the first dual groups included in the flow table entry corresponding to the common information in any flow table of each level flow table is the data area. And any flow table in the first dual group included in the flow entry corresponding to the general flow information corresponding to any level flow table If the location attribute of the specific content of the information includes the start address, the continuous value length, and the value mask, the flow table of any first dual group included in the flow entry corresponding to the common flow information corresponding to any level flow table The source type of the specific content of the information, determining the storage area of the specific content of the information between the flow tables in any of the first binary groups by any level flow table; determining any first level flow table according to the start address to extract any first binary The value starting address of the storage area of the specific content of the information between the flow tables in the group, extracting the content whose length is the continuous value length from any level flow table, and using the content of the continuous value length as the first content; Acquiring the second content
  • the table extracts the value of the starting address of the storage area of the specific content of the information between the flow tables in any of the first two groups; if any of the first binary groups included in the flow table entry corresponding to the general information of any flow table
  • the location attribute of the specific content of the inter-table information further includes an offset, and then the address after the offset of the start address offset of the storage area of the specific content of the information between the flow tables in any of the first dual-groups is determined by any flow table.
  • the value starting address of the storage area of the specific content of the information between the flow tables in any of the first two groups is extracted for any flow table.
  • the specific implementation of the step of obtaining the second content in the first content according to the value mask is not limited in this embodiment, including but not limited to: obtaining the sub content from the first content according to the value mask; The shifted content is determined to be the second content.
  • the first binary group 2 included in the flow entry containing the general information corresponding to the 0th-level flow table is [Data_area 1, [start, length, mask]], and the corresponding data according to the 0th-level flow table is included.
  • the source type Data_area 1 of the flow table information 2 in the first binary group 2 included in the flow entry of the information is indeed The 0th level flow table extracts the storage area of the information 2 between the flow tables in the first binary group 2 as a memory area; and determines the start as the 0th level flow table to extract the memory area of the information 2 between the flow tables in the first binary group 2
  • the start address of the value is extracted, and the start of the memory area of the information 2 in the first binary group 2 is extracted from the 0th level flow table to start extracting the content of length length: 10110, and 10110 is used as the first content;
  • the sub-content in the first content 10110 is obtained as 1 of the 2nd bit, 1 of the 3rd bit and 0 of the 4th bit, and 1
  • the first binary group 3 included in the flow entry containing the general information corresponding to the 0th level flow table is [Data_area 3 , [start, offset, length, mask]], and is corresponding to the 0th level flow table.
  • the source type Data_area 3 of the inter-flow table information 3 in the first binary group 3 included in the general flow table entry determining that the storage area of the inter-stream table information 3 in the first binary group 3 is extracted as the cache area by the 0th level flow table; Determining, by the 0th stage flow table, the address of the start offset start of the buffer area of the flow table information 3 in the first binary group 3 as the 0th level flow table, extracting the cache of the flow table information 3 in the first binary set 3
  • the value start address of the region is extracted from the address of the start offset start of the buffer region of the information 3 in the first binary group 3 in the first binary group 3, and the content having the length length is extracted: 10110, and 10110 As the first content; if the sub-content in the first content 10110
  • extracting the start of the memory area of the information 2 between the flow tables in the first binary group 2 from the 0th level flow table, and extracting the length of length from the 0th level flow table may also be other content, and extracting the first binary from the 0th level flow table.
  • the content of the start of the buffer of the information in the group 3 in the group 3 is offset.
  • the content of the length is length.
  • the content of the first binary group 2 is not extracted from the 0th level flow table.
  • the start of the memory area of the inter-information 2 starts to extract the specific content of length length, and the present embodiment does not extract the start offset of the buffer area of the inter-flow table information 3 in the first dual-group 3 from the 0th-level flow table.
  • the latter address begins to extract the specific content of length length to be limited.
  • the second content may also be The validity is checked. If the verification result of the second content is verified, the step of determining the second content as the specific content of the information between the flow tables in any of the first dual groups corresponding to any flow table is performed. . If the verification result of the verification of the second content is not passed, the step of determining the second content as the specific content of the information between the flow tables in any of the first dual groups corresponding to any flow table is not performed, and performing other steps. The result of the verification of the verification of the second content is that the corresponding operation is not passed.
  • the third implementation manner is as follows: the source type of the specific content of the information between the flow tables in any of the first dual groups included in the flow table entry corresponding to the general information in any flow table of each level flow table is a database, And the location attribute of the specific content of the information between the flow tables in any of the first two groups included in the flow table entry corresponding to the general flow information table of any one of the flow tables includes a value statement and a value mask, according to any level.
  • the source type of the specific content of the information between the flow tables in any of the first two groups included in the flow table entry corresponding to the flow table corresponding to the flow table, and determining the flow information between the flow tables in any of the first dual groups The storage area of the specific content; extracting the content corresponding to the value-taking statement from the storage area, and taking the content corresponding to the value-taking statement as the first content; acquiring the second content in the first content according to the value mask, and The second content is determined as the specific content of the information between the flow tables in any of the first dual groups
  • the specific implementation of the step of obtaining the second content in the first content according to the value mask is not limited in this embodiment, including but not limited to: obtaining the sub content from the first content according to the value mask; The shifted content is determined to be the second content.
  • the first binary group 4 included in the flow entry containing the general information corresponding to the 0th-level flow table is [Data_area 2, [SelectCommand, mask]], and the general-purpose corresponding to the 0th-level flow table is included.
  • the source type Data_area 2 of the inter-flow table information 4 in the first binary group 4 included in the flow entry of the information determining that the storage area of the inter-flow table information 4 in the first dual-group 4 is extracted into the database by the 0-th flow table; Extracting the content corresponding to the value-added statement from the database is: 10110, then 10110 is used as the first content; if the sub-content in the first content 10110 is obtained as the second bit according to the mask, the third bit is 1 and 0 bits of 4 bits, and 1 of the 2nd bit, 1 of the 3rd bit, and 0 of the 4th bit are logically shifted to the lowest bit, that is, the 1st bit of the 2nd bit is logically shifted to the 0th bit.
  • the 1st bit of the 3rd bit is logically shifted to the 1st bit
  • the 0th bit of the 4th bit is logically shifted to the 2nd bit
  • the content 110 after the logical shift is obtained, and 110 is determined as the second content
  • the second content 110 is determined as the specific content of the inter-flow table information 4 in the first dual group 4 corresponding to the 0th level flow table.
  • the content corresponding to the value-added statement from the database may be other content.
  • the specific content corresponding to the extraction of the value-based statement from the database is not limited.
  • the second content may also be The validity is checked. If the verification result of the second content is verified, the step of determining the second content as the specific content of the information between the flow tables in any of the first dual groups corresponding to any flow table is performed. . If the verification result of the verification of the second content is not passed, the step of determining the second content as the specific content of the information between the flow tables in any of the first dual groups corresponding to any flow table is not performed, and performing other steps. The result of the verification of the verification of the second content is that the corresponding operation is not passed.
  • the OpenFlow switch delivers information about the specific content of the information between the flow tables corresponding to each flow table to the next-level flow table.
  • the related information for indicating the specific content of any flow table information corresponding to any level flow table is also included.
  • the write mask of the metadata inserts the related information of the specific content of the information between the flow tables corresponding to each flow table into the metadata according to the write mask corresponding to the information between the flow tables.
  • This embodiment does not limit the specific method of putting the related information of the specific content of the flow table information corresponding to each flow table into the metadata according to the write mask corresponding to the information between the flow tables. Including but not limited to, the related information of the specific content of the flow table information corresponding to each flow table is put into the metadata by the following manner.
  • Updated metadata (metadata & ⁇ write mask corresponding to the information between the flow tables) & ( (information between the flow table information related content "m) & the write mask corresponding to the information between the flow tables.
  • is logical non-operation
  • m is the lowest position of the value in the write mask corresponding to the flow table information.
  • the specific method for transmitting the related information of the specific content of the information between the flow tables corresponding to each flow table by the OpenFlow switch to the next-level flow table is as follows: the flow to the next-level flow table is used to determine the flow table corresponding to any flow table.
  • the first binary group of the specific content of the information is placed in the sub-area 1 according to the write mask 1 corresponding to the information 1 between the flow tables.
  • the first binary group 2 for determining the specific content of the inter-flow table information 2 is placed in the sub-area 2 according to the write mask 2 corresponding to the inter-flow table information 2, and the corresponding correspondence is performed according to the inter-flow table information 3.
  • the input mask 3 puts the first binary group 3 for determining the specific content of the inter-flow table information 3 into the sub-area 3, and the write mask 4 corresponding to the inter-flow table information 4 is used to determine the flow table between the flow tables.
  • the first binary group 4 of the specific content of the information 4 is placed in the sub-area 4, and the first binary group for determining the specific content of the inter-flow table information 5 is used according to the write mask 5 corresponding to the inter-flow table information 5. 5 Put in sub-area 5, as shown in Table 4.
  • the specific method of transmitting the relevant information of the specific content of the information between the flow tables corresponding to each flow table by the OpenFlow switch to the next-level flow table is as follows:
  • the specific content of the flow table information corresponding to a flow table is taken as an example.
  • the specific content of the flow table information 1 corresponding to the 0th level flow table is placed in the sub-area 1 according to the write mask 1 corresponding to the flow table information 1
  • the specific content of the inter-flow table information 2 corresponding to the 0th-level flow table is placed in the sub-area 2 according to the write mask 2 corresponding to the inter-flow table information 2, and the write mask 3 corresponding to the inter-flow table information 3
  • the specific content of the inter-flow table information 3 corresponding to the 0th level flow table is placed in the sub-area 3, and the inter-flow table information 4 corresponding to the 0th-level flow table is obtained according to the write mask 4 corresponding to the information between the flow table tables 4.
  • the specific content is placed in the sub-area 4, and
  • a first binary group represents a numerical value, rather than a numerical deformation, such as a shifted value.
  • the information between the flow tables in the first dual group is unique, and the information between the flow tables in any one of the first dual groups included in the flow entry corresponding to the flow information table corresponding to each flow table sent by the open flow controller may also be specific.
  • the source type of the content and the information between the flow tables in any of the first two groups extracted by the location attribute are unique. For example, the information between the flow tables in any of the extracted first two groups is processed by the related statement for the uniqueness in SQL (Structured Query Language) to obtain a unique information between the flow tables.
  • SQL Structured Query Language
  • the OpenFlow switch receives the information about the specific content of the at least one flow table information transmitted by the previous flow table before the processing of the data message through the certain level flow table, if any of the flows are transmitted.
  • the related information of the specific content of the inter-table information is a second binary group used by the upper-level flow table to determine the specific content of the information between the flow tables, and the second-level flow table can obtain the second binary by the following manner.
  • the specific content of the information between the flow tables corresponding to the group determining the specific content of the information between the flow tables described by the related information of the specific content of the information between any flow table according to the second binary group, and the second binary group includes the information between the flow tables The source type and location attribute of the specific content.
  • a specific implementation manner of the specific content of the inter-flow table information that is described by the related information of the specific content of the information of any flow table according to the second binary group is not limited in this embodiment. For example: obtaining the source type and location attribute of the specific content of the information between the flow tables in the second dual group; extracting the information between any description flow table according to the source type and the location attribute of the specific content of the information between the flow tables in the second dual group
  • the content of the content describes the specific content of the information between the flow tables.
  • This embodiment does not have a source type and a bit according to the specific content of the information between the flow tables in the second binary group.
  • the attribute is defined by extracting any specific manner of describing the specific content of the information between the flow tables of the information describing the specific content of the information between the flow tables.
  • the first extraction mode if the source type of the specific content of the information between the flow tables in the second dual group is the header field of the data packet or the payload area of the data packet, and the specific information between the flow tables in the second dual group
  • the location attribute of the content includes an offset, a continuous value length, and a value mask. According to the source type of the specific content of the information between the flow tables in the second dual group, determining the specific information of the flow table in the second binary group is extracted.
  • This embodiment does not limit the specific judgment standard of whether the fourth content is legal. For example: If the fourth content is unique, the fourth content is considered legal. This embodiment also does not determine whether the fourth content conforms to the constraint bar. The specific judgment criteria of the piece are limited. For example: If the fourth content is in a reasonable range space, then the fourth content is considered to be in compliance with the constraint.
  • the operation corresponding to the verification result is not specifically limited in this embodiment.
  • the operation that can be captured is to abandon the fourth content, or set the fourth content as a preset value, or send a calibration to the OpenFlow controller to verify the fourth content.
  • the test result is a report that fails.
  • the first type and the second type of the specific content of the flow table information describing the information describing the specific content of the information between the flow table tables are extracted.
  • the first type and the second type of the specific content of the flow table information describing the information describing the specific content of the information between the flow table tables are extracted.
  • extracting, according to the source type and the location attribute of the specific content of the information between the flow tables in the second dual group extracting the specific content of the information between the flow tables describing the information specific to the information between the flow tables.
  • the extraction method may also be the following fourth extraction method: if the source type of the specific content of the information between the flow tables in the second dual group is the header field of the data packet, the payload area of the data packet, the data area, and the database.
  • the flow entry 1 describes the processing logic that writes 0 to the metadata when the generated 1-bit identifier is 0, and passes the metadata to the lower-level flow table; the flow entry 2 that contains the information between the flow tables describes the generation When the 1-bit flag is 1, the 1 is written to the metadata, and the metadata is passed to the processing logic of the lower-level flow table. If the interaction machine generates a one-bit identifier of one, the flow entry 1 including the flow table information sent from the OpenFlow controller and the flow entry 2 including the flow table information determine the matching flow information between the flow tables.
  • Flow entry 2 and write 1 to the metadata according to the flow entry 2 containing the information between the flow tables, and transfer the metadata to the next flow table; if a 1-bit identifier of 0 is generated, it is opened
  • the flow table entry 1 containing the information between the flow tables sent by the flow controller and the flow entry 1 in the flow entry 2 containing the information between the flow tables are determined to match the flow entry 1 containing the information between the flow tables, and according to the flow containing the information between the flow tables Item 1 writes 1 to the metadata, and passes the metadata to the next-level flow table, so that the specific content can be delivered to the lower-level flow table regardless of the specific content of the specific content generated by the OpenFlow switch. .
  • the generating module 701 is configured to generate a flow entry, where the flow entry includes indication information, where the indication information is used to indicate a method for obtaining delivery information, where the delivery information is information that needs to be delivered to the lower flow table;
  • the indication information included in the flow entry generated by the generating module 701 includes data source information and data source location information, where the data source information is used to indicate a data source that includes the delivery information, and the data source location information is used to indicate that the information is transmitted.
  • the location in the data source the indication information is used to indicate that the delivery information is obtained from the data source according to the location of the delivery information in the data source.
  • the indication information generated by the controller includes data source information and data source location information, the data source information is used to indicate a data source including the delivery information, and the data source location information is used to indicate the location of the delivery information in the data source, and the indication information is used.
  • the indication is obtained from the data source based on the location of the delivery information in the data source.
  • the device by generating a flow entry including the indication information, the indication information is used to indicate the method for obtaining the delivery information; wherein, the delivery information is information that needs to be delivered to the lower-level flow table; and the flow entry is sent to the open flow The switch, so that the OpenFlow switch obtains the delivery for the lower-level flow table according to the indication information.
  • the information reduces the number of flow entries, which reduces the resources for storing and processing flow entries, and improves the efficiency of processing data packets.
  • Another embodiment of the present invention provides an OpenFlow switch, which is used to perform the functions performed by the OpenFlow switch in the method for transmitting information between OpenFlow flow tables provided by the foregoing embodiment shown in FIG. Referring to Figure 8, the OpenFlow switch includes:
  • the first obtaining module 802 is configured to obtain, according to the data packet received by the receiving module 801, a flow entry that matches the data packet, where the flow entry includes indication information, and the indication information is used to indicate a method for obtaining the delivery information.
  • Passing information is information that needs to be passed to the lower level flow table;
  • the second obtaining module 803 is configured to obtain the delivery information according to the indication information, and deliver the delivery information to the lower-level flow table.
  • the second obtaining module 803 is configured to transmit the indication information to the lower-level flow table; and obtain the delivery information according to the indication information when processing the lower-level flow table.
  • the receiver is configured to receive a data packet
  • the processor is configured to obtain, according to the data packet, a flow entry that matches the data packet, where the flow entry includes indication information, where the indication information is used to indicate a method for obtaining the delivery information, and the information is transmitted to the lower level.
  • Flow table information ;
  • the indication information includes data source information and data source operation information, the data source information is used to indicate a data source including the delivery information, and the data source operation information is used to indicate an operation instruction for obtaining the delivery information from the data source; wherein, the processor uses The delivery information is obtained from the data source based on an operation instruction that obtains the delivery information from the data source.
  • the device provided in this embodiment obtains a flow entry that includes the indication information that matches the data packet according to the data packet, where the indication information is used to indicate the method for obtaining the delivery information, and the information is required to be transmitted.
  • the information is transmitted to the lower-level flow table.
  • the information is obtained for the lower-level flow table according to the indication information, which reduces the number of received flow entry items, thereby reducing the resources for storing and processing the flow entry, and improving the processing of the data message. s efficiency.
  • Another embodiment of the present invention provides a system for transmitting information between open flow tables, which is used to perform the method for transmitting information between open flow tables provided by the embodiment shown in FIG. 5 above. Referring to Figure 9, the system includes:

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明实施例提供了一种开放流流表间信息传递的方法、控制器、交换机及系统,涉及无线通信技术领域,所述方法包括:生成流表项,流表项包括指示信息,指示信息用于指示获取传递信息的方法;其中,传递信息为需传递至下级流表的信息;将流表项发送至开放流交换机,以使开放流交换机根据指示信息为下级流表获取传递信息。本发明通过生成包括指示信息的流表项,指示信息用于指示获取传递信息的方法;其中,传递信息为需传递至下级流表的信息;将流表项发送至开放流交换机,以使开放流交换机根据指示信息为下级流表获取传递信息,减少了流表项的数量,进而减少了用于存储和处理流表项的资源,提高了处理数据报文的效率。

Description

说 明 书 开放流流表间信息传递的方法、 控制器、 交换机及系统 技术领域
本发明涉及无线通信技术领域,特别涉及一种开放流流表间信息传递的方 法、 控制器、 交换机及系统。 背景技术
随着无线通信技术的发展, SDN ( Software Defined Networking, 软件定义 网络)由于可定制的网络能力等优势逐渐成为移动网络的发展方向。 SDN处理 数据报文的方式为: 开放流控制器通过开放流交换机中各级流表的各个流表项 控制开放流交换机通过由各级流表组成的流水线处理数据报文。 其中, 任一级 流表的每个流表项均描述了该级流表处理数据报文的一种处理逻辑。数据报文 在通过流表处理时, 若产生传递至下级流表的流表间信息, 开放流控制器会在 该级流表的流表项中包含流表间信息, 以便控制开放流交换机进行将流表项中 包含的流表间信息传递至下级流表的开放流流表间信息传递。 因此, 开放流控 制器如何通过包含流表间信息的流表项控制开放流交换机进行开放流流表间 信息传递, 成为处理数据报文的关键。
目前, 由于流表间信息的具体内容随着处理的数据报文的不同而改变, 因 此, 开放流控制器预先根据需要传递流表间信息的各级流表产生流表间信息的 各种具体内容生成多个包含流表间信息的流表项, 其中每个包含流表间信息的 流表项包含流表间信息的一种具体内容, 并将各个包含流表间信息的流表项发 送给开放流交换机。 开放流交换机获得数据报文后, 使数据报文依次通过各级 流表, 且在通过任一级流表时, 获取开放流控制器发送的该级流表的所有流表 项, 根据各个流表项处理数据报文。 在根据某级流表的各个流表项处理数据报 文时, 若产生流表间信息的一种具体内容, 则从该级流表的多个包含流表间信 息的流表项中确定与产生的具体内容的流表间信息匹配的包含流表间信息的 流表项, 根据匹配的包含流表间信息的流表项将产生的具体内容写入元数据 中, 并将元数据传递至下级流表, 完成开放流流表间信息传递。
由于每个包含流表间信息的流表项包含流表间信息的一种具体内容,使得 开放流控制器发送的包含流表间信息的流表项的数量与流表间信息的具体内 容的数量相同。 例如: 流表间信息为 12比特的虚拟局域网标识, 其具体内容 可以有 212种, 则开放流控制器发送的包含流表间信息的流表项的数量为 212 个。 大数量包含流表间信息的流表项的发送不仅为开放流交换机与开放流控制 器连接的接口带来沉重的信令负担, 而且会消耗开放流交换机中大量的资源存 储和处理包含流表间信息的流表项, 进而降低开放流交换机处理数据报文的效 率。 发明内容
为了解决现有技术的问题, 本发明实施例提供了一种开放流流表间信息传 递的方法、 控制器、 交换机及系统。 所述技术方案如下:
第一方面, 提供了一种开放流流表间信息传递的方法, 所述方法包括: 开放流控制器生成流表项, 所述流表项包括指示信息, 所述指示信息用于 指示获取传递信息的方法; 其中, 所述传递信息为需传递至下级流表的信息; 所述开放流控制器将所述流表项发送至开放流交换机, 以使所述开放流交 换机根据所述指示信息为所述下级流表获取所述传递信息。
结合第一方面, 在第一方面的第一种可能的实现方式中, 所述指示信息包 括数据源信息和数据源位置信息, 所述数据源信息用于指示包括所述传递信息 的数据源, 所述数据源位置信息用于指示所述传递信息在所述数据源中的位 置, 所述指示信息用于指示根据所述传递信息在所述数据源中的位置, 从所述 数据源获取所述传递信息。
结合第一方面, 在第一方面的第二种可能的实现方式中, 所述指示信息包 括数据源信息和数据源操作信息, 所述数据源信息用于指示包括所述传递信息 的数据源, 所述数据源操作信息用于指示从所述数据源获取所述传递信息的操 作指令, 所述指示信息用于指示根据从所述数据源获取所述传递信息的操作指 令, 从所述数据源获取所述传递信息。
第二方面, 提供了一种开放流控制器, 所述开放流控制器包括:
生成模块, 用于生成流表项, 所述流表项包括指示信息, 所述指示信息用 于指示获取传递信息的方法;其中,所述传递信息为需传递至下级流表的信息; 发送模块, 用于将所述生成模块生成的流表项发送至开放流交换机, 以使 所述开放流交换机根据所述指示信息为所述下级流表获取所述传递信息。
结合第二方面, 在第二方面的第一种可能的实现方式中, 所述生成模块生 成的流表项中包括的指示信息包括数据源信息和数据源位置信息, 所述数据源 信息用于指示包括所述传递信息的数据源, 所述数据源位置信息用于指示所述 传递信息在所述数据源中的位置, 所述指示信息用于指示根据所述传递信息在 所述数据源中的位置, 从所述数据源获取所述传递信息。
结合第二方面, 在第二方面的第二种可能的实现方式中, 所述生成模块生 成的流表项中包括的指示信息包括数据源信息和数据源操作信息, 所述数据源 信息用于指示包括所述传递信息的数据源, 所述数据源操作信息用于指示从所 述数据源获取所述传递信息的操作指令, 所述指示信息用于指示根据从所述数 据源获取所述传递信息的操作指令, 从所述数据源获取所述传递信息。
第三方面, 提供了一种开放流流表间信息传递的方法, 所述方法包括: 开放流交换机接收数据报文;
所述开放流交换机根据所述数据报文, 获取与所述数据报文匹配的流表 项; 其中, 所述流表项包括指示信息, 所述指示信息用于指示获取传递信息的 方法, 所述传递信息为需传递至下级流表的信息;
所述开放流交换机根据所述指示信息为所述下级流表获取所述传递信息。 结合第三方面, 在第三方面的第一种可能的实现方式中, 所述开放流交换 机根据所述指示信息为所述下级流表获取所述传递信息包括:
所述开放流交换机根据所述指示信息获取所述传递信息, 并传递所述传递 信息至所述下级流表; 或者,
所述开放流交换机传递所述指示信息至所述下级流表, 并在处理所述下级 流表时根据所述指示信息获取所述传递信息。
结合第三方面或第三方面的第一种可能的实现方式,在第三方面的第二种 可能的实现方式中, 所述指示信息包括数据源信息和数据源位置信息, 所述数 据源信息用于指示包括所述传递信息的数据源, 所述数据源位置信息用于指示 所述传递信息在所述数据源中的位置;
所述开放流交换机根据所述指示信息获取所述传递信息包括:
所述开放流交换机根据所述传递信息在所述数据源中的位置,从所述数据 源获取所述传递信息。
结合第三方面或第三方面的第一种可能的实现方式,在第三方面的第三种 可能的实现方式中, 所述指示信息包括数据源信息和数据源操作信息, 所述数 据源信息用于指示包括所述传递信息的数据源, 所述数据源操作信息用于指示 从所述数据源获取所述传递信息的操作指令;
所述开放流交换机根据所述指示信息获取所述传递信息包括:
所述开放流交换机根据从所述数据源获取所述传递信息的操作指令,从所 述数据源获取所述传递信息。
第四方面, 提供了一种开放流交换机, 所述开放流交换机包括: 接收模块, 用于接收数据报文;
第一获取模块, 用于根据所述接收模块接收到的数据报文, 获取与所述数 据报文匹配的流表项; 其中, 所述流表项包括指示信息, 所述指示信息用于指 示获取传递信息的方法, 所述传递信息为需传递至下级流表的信息;
第二获取模块, 用于根据所述第一获取模块获取到的流表项中的指示信息 为所述下级流表获取所述传递信息。 结合第四方面, 在第四方面的第一种可能的实现方式中, 所述第二获取模 块, 用于根据所述指示信息获取所述传递信息; 传递所述传递信息至所述下级 流表;
或者, 所述第二获取模块, 用于传递所述指示信息至所述下级流表; 在处 理所述下级流表时根据所述指示信息获取所述传递信息。
结合第四方面或第四方面的第一种可能的实现方式,在第四方面的第二种 可能的实现方式中, 所述第二获取模块, 用于根据所述指示信息获取所述传递 信息; 传递所述传递信息至所述下级流表;
或者, 所述第二获取模块, 用于传递所述指示信息至所述下级流表; 在处 理所述下级流表时根据所述指示信息获取所述传递信息。
结合第四方面或第四方面的第一种可能的实现方式,在第四方面的第三种 可能的实现方式中, 所述第一获取模块获取到的流表项中的指示信息包括数据 源信息和数据源操作信息, 所述数据源信息用于指示包括所述传递信息的数据 源, 所述数据源操作信息用于指示从所述数据源获取所述传递信息的操作指 令;
所述第二获取模块, 用于根据从所述数据源获取所述传递信息的操作指 令, 从所述数据源获取所述传递信息。
第五方面, 提供了一种开放流流表间信息传递的系统, 所述系统包括: 开 放流控制器及开放流交换机;
所述开放流控制器, 如上述第二方面提供的开放流控制器; 所述开放流交 换机, 如上述第四方面提供的开放流交换机。
本发明实施例提供的技术方案的有益效果是:
通过生成包括指示信息的流表项, 指示信息用于指示获取传递信息的方 法; 其中, 传递信息为需传递至下级流表的信息; 将流表项发送至开放流交换 机, 以使开放流交换机根据指示信息为下级流表获取传递信息, 减少了流表项 的数量, 进而减少了用于存储和处理流表项的资源, 提高了处理数据报文的效 率。 附图说明
为了更清楚地说明本发明实施例中的技术方案, 下面将对实施例描述中所 需要使用的附图作简单地介绍, 显而易见地, 下面描述中的附图仅仅是本发明 的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下, 还可以根据这些附图获得其它的附图。
图 1是本发明实施例提供的一种开放流流表间信息传递的方法的实施环境 结构示意图;
图 2是本发明实施例提供的一种数据报文依次通过各级流表的示意图; 图 3是本发明另一实施例提供的第一种开放流流表间信息传递的方法流程 图;
图 4是本发明另一实施例提供的第二种开放流流表间信息传递的方法流程 图;
图 5是本发明另一实施例提供的第三种开放流流表间信息传递的方法流程 图;
图 6是本发明另一实施例提供的第四种开放流流表间信息传递的方法流程 图;
图 Ί是本发明另一实施例提供的一种开放流控制器的结构示意图; 图 8是本发明另一实施例提供的一种开放流交换机的结构示意图; 图 9是本发明另一实施例提供的一种开放流流表间信息传递的系统的结构 示意图。 具体实施方式
为使本发明的目的、 技术方案和优点更加清楚, 下面将结合附图对本发明 实施方式作进一步地详细描述。 本发明实施例提供了一种开放流流表间信息传递的方法, 请参考图 1, 其 展示出了本发明实施例提供的开放流流表间信息传递的方法所涉及的实施环 境的结构示意图。 该实施环境包括开放流控制器 101和开放流交换机 102。
其中, 开放流控制器 101如下述实施例所述的开放流控制器, 开放流交换 机 102如下述实施例所述的开放流交换机。
开放流控制器 101生成包括指示信息的流表项,将流表项发送给开放流交 换机 102, 以使开放流交换机 102根据指示信息为下级流表获取传递信息。
开放流交换机 102接收数据报文后,使数据报文依次通过如图 2所示的各 级流表, 其中, 数据报文进入开放流交换机 102后, 会先被送到 0级流表进行 处理, 处理完成后再跳转到 0级流表处理结果中指示的下一级流表 nl级流表 继续进行处理, 该 nl级流表可以是 1级流表, 也可以是其他级流表; nl级流 表处理完成后再跳转到 nl级流表处理结果中指示的下一级流表继续进行处理; 以此类推, 直至处理数据报文被送到处理该数据报文的最后一级流表 nn级流 表进行处理后输出处理后的数据报文, 该 nn级流表可以是开放流交换机 102 中最后一级流表, 也可以是开放流交换机 102中其他级流表。
在通过需要传递开放流流表间信息的任一流表时, 获取与数据报文匹配的 流表项, 根据流表项中包括的指示信息为下级流表获取传递信息。 结合上述实施环境, 本发明一实施例提供了一种开放流流表间信息传递的 方法, 参见图 3, 本实施例提供的方法流程具体如下:
301 : 开放流控制器生成流表项, 流表项包括指示信息, 指示信息用于指 示获取传递信息的方法; 其中, 传递信息为需传递至下级流表的信息;
302: 开放流控制器将流表项发送至开放流交换机, 以使开放流交换机根 据指示信息为下级流表获取传递信息。
可选地, 指示信息包括数据源信息和数据源位置信息, 数据源信息用于指 示包括传递信息的数据源,数据源位置信息用于指示传递信息在数据源中的位 置, 指示信息用于指示根据传递信息在数据源中的位置, 从数据源获取传递信 息。
可选地, 指示信息包括数据源信息和数据源操作信息, 数据源信息用于指 示包括传递信息的数据源,数据源操作信息用于指示从数据源获取传递信息的 操作指令, 指示信息用于指示根据从数据源获取传递信息的操作指令, 从数据 源获取传递信息。
该实施例提供了另一种开放流流表间信息传递的方法, 参见图 4, 本实施 例提供的方法流程具体如下:
401 : 开放流交换机接收数据报文;
402: 开放流交换机根据数据报文, 获取与数据报文匹配的流表项; 其中, 流表项包括指示信息, 指示信息用于指示获取传递信息的方法, 传递信息为需 传递至下级流表的信息;
403: 开放流交换机根据指示信息为下级流表获取传递信息。
可选地, 开放流交换机根据指示信息为下级流表获取传递信息包括: 开放流交换机根据指示信息获取传递信息, 并传递传递信息至下级流表; 或者,
开放流交换机传递指示信息至下级流表, 并在处理下级流表时根据指示信 息获取传递信息。
可选地, 指示信息包括数据源信息和数据源位置信息, 数据源信息用于指 示包括传递信息的数据源,数据源位置信息用于指示传递信息在数据源中的位 置;
开放流交换机根据指示信息获取传递信息包括:
开放流交换机根据传递信息在数据源中的位置, 从数据源获取传递信息。 可选地, 指示信息包括数据源信息和数据源操作信息, 数据源信息用于指 示包括传递信息的数据源,数据源操作信息用于指示从数据源获取传递信息的 操作指令; 开放流交换机根据指示信息获取传递信息包括:
开放流交换机根据从数据源获取传递信息的操作指令,从数据源获取传递 信息。
本发明实施例提供的方法, 通过生成包括指示信息的流表项, 指示信息用 于指示获取传递信息的方法; 其中, 传递信息为需传递至下级流表的信息; 将 流表项发送至开放流交换机, 以使开放流交换机根据指示信息为下级流表获取 传递信息, 减少了流表项的数量, 进而减少了用于存储和处理流表项的资源, 提高了处理数据报文的效率。
为了更加清楚地阐述上述实施例提供的一种开放流流表间信息传递的方 法, 结合上述图 3或图 4所示的实施例及实施背景的内容, 以如下实施例, 对 一种开放流流表间信息传递的方法进行详细说明, 详见如下实施例: 本发明另一实施例还提供了一种开放流流表间信息传递的方法, 结合上述 图 3或图 4所示的实施例及实施背景的内容,对本实施例提供的方法进行说明。 参见图 5, 本实施例提供的方法流程包括:
501: 开放流控制器生成流表项;
其中, 流表项包括指示信息, 指示信息用于指示获取传递信息的方法, 传 递信息为需传递至下级流表的信息。
另外, 指示信息可以包括数据源信息和数据源位置信息, 数据源信息用于 指示包括传递信息的数据源,数据源位置信息用于指示传递信息在数据源中的 位置, 指示信息用于指示根据传递信息在数据源中的位置, 从数据源获取传递 信息。 指示信息还可以包括数据源信息和数据源操作信息, 数据源信息用于指 示包括传递信息的数据源,数据源操作信息用于指示从数据源获取传递信息的 操作指令, 指示信息用于指示根据从数据源获取传递信息的操作指令, 从数据 源获取传递信息。 本实施例不对指示信息包括的具体内容进行限定。
此外, 本实施例不对生成流表项的具体方法进行限定。 包括但不限于: 确 定各级流表提取的流表间信息的具体内容的来源类型, 并确定各级流表提取的 流表间信息的具体内容的位置属性, 流表间信息为至少一个, 每个流表间信息 对应一种具体内容; 根据各级流表提取的流表间信息的具体内容的来源类型及 位置属性生成各级流表提取的流表间信息对应的第一二元组, 并将第一二元组 作为指示信息。
502: 开放流控制器将流表项发送至开放流交换机;
503: 开放流交换机接收数据报文, 根据数据报文获取与数据报文匹配的 流表项;
本实施例不对根据数据报文获取与数据报文匹配的流表项的具体方法进 行限定。 例如: 若开放流交换机接收到的流表项中包括的指示信息为第一二元 组, 则开放流交换机根据数据报文获取与数据报文匹配的第一二元组。
504: 开放流交换机根据指示信息为下级流表获取传递信息。
本实施例不对开放流交换机根据指示信息为下级流表获取传递信息的具 体方法进行限定。 例如: 开放流交换机根据指示信息获取传递信息, 并传递传 递信息至下级流表; 或者, 开放流交换机传递指示信息至下级流表, 并在处理 下级流表时根据指示信息获取传递信息。
其中, 若指示信息包括数据源信息和数据源位置信息, 数据源信息用于指 示包括传递信息的数据源,数据源位置信息用于指示传递信息在数据源中的位 置, 则开放流交换机根据指示信息获取传递信息的具体实施方法可以为: 开放 流交换机根据传递信息在数据源中的位置, 从数据源获取传递信息。 若指示信 息包括数据源信息和数据源操作信息,数据源信息用于指示包括传递信息的数 据源, 数据源操作信息用于指示从数据源获取传递信息的操作指令, 则开放流 交换机根据指示信息获取传递信息的具体实施方法可以为: 开放流交换机根据 从数据源获取传递信息的操作指令, 从数据源获取传递信息。 本实施例不对开 放流交换机根据指示信息获取传递信息的具体方法进行限定。 本发明另一实施例还提供了一种开放流流表间信息传递的方法, 结合上述 图 5所示的实施例, 以开放流交换机中需要传递流表间信息的流表为第 0级流 表, 且第 0级流表需要传递 5个流表间信息, 分别为流表间信息 1、 流表间信 息 2、 流表间信息 3、 流表间信息 4和流表间信息 5为例, 对本实施例提供的 方法进行说明。 参见图 6, 本实施例提供的方法流程包括:
601: 开放流控制器确定各级流表提取的流表间信息的具体内容的来源类 型;
其中, 流表间信息为至少一个, 每个流表间信息对应一种具体内容。 本实施例不对各级流表提取的流表间信息的具体内容的具体来源类型进 行限定, 包括但不限于如下四种来源类型。
第一种来源类型: 数据报文的头域或者数据报文的 payload区域; 第二种来源类型: 数据区域;
其中, 数据区域为内存区域, 或者緩存区域, 或者其他区域, 本实施例不 对代表数据区域的具体区域进行限定。
第三种来源类型: 数据库;
第四种来源类型: 除数据报文的头域、 数据报文的 payload区域、 数据区 域及数据库外的类型。
另外, 由于开放流控制器控制开放流交换机中各级流表对应的各种处理逻 辑, 因此, 开放流控制器预先获知开放流交换机所有流表中哪些级流表需要传 递流表间信息, 同时开放流控制器也预先获知开放流交换机中需要传递流表间 信息的各级流表提取流表间信息的具体内容的存储区域。 因此, 开放流控制器 可根据已知的开放流交换机中需要传递流表间信息的各级流表提取流表间信 息的具体内容的存储区域确定各级流表提取的流表间信息的具体内容的来源 类型。本实施例不对开放流控制器确定各级流表提取的流表间信息的具体内容 的来源类型的具体方法进行限定。
例如, 开放流控制器预先获知开放流交换机 2级流表中第 0级流表需要传 递 5个流表间信息, 且流表间信息 1的存储区域为当前数据报文的头域, 流表 间信息 2的存储区域为内存区域, 流表间信息 3的存储区域为緩存区域, 流表 间信息 4的存储区域为数据库,流表间信息 5的存储区域为非数据报文的头域、 数据报文的 payload区域、 数据区域及数据库的 A区域。 则开放流控制器根据 存储流表间信息 1的数据报文的头域确定流表间信息 1的来源类型为第一种来 源类型: 数据报文的头域或者数据报文的 payload区域; 开放流控制器根据存 储流表间信息 2的内存区域确定流表间信息 2的来源类型为第二种来源类型: 数据区域; 开放流控制器根据存储流表间信息 3的緩存区域确定流表间信息 3 的来源类型为第二种来源类型: 数据区域; 开放流控制器根据存储流表间信息 4的数据库确定流表间信息 4的来源类型为第三种来源类型: 数据库; 开放流 控制器根据存储流表间信息 5的非数据报文的头域、 数据报文的 payload区域 及数据区域的 A区域确定流表间信息 5的来源类型为第四种来源类型:除数据 报文的头域、 数据报文的 payload区域、 数据区域及数据库外的类型。
当然, 各个流表间信息的存储区域还可以为其他区域, 本实施例不对各个 流表间信息的具体存储区域进行限定。
602: 开放流控制器确定各级流表提取的流表间信息的具体内容的位置属 性;
如果开放流控制器预先确定各个来源类型对应的位置属性, 并存储各个来 源类型与位置属性之间的对应关系, 则开放流控制器根确定各级流表提取的流 表间信息的具体内容的位置属性的具体方法包括但不限于: 开放流控制器根据 预先存储的各个来源类型与位置属性之间的对应关系确定各级流表提取的流 表间信息的具体内容的来源类型对应的位置属性, 并将各级流表提取的流表间 信息的具体内容的来源类型对应的位置属性作为各级流表提取的流表间信息 的具体内容的位置属性。
其中, 本实施例不对开放流控制器确定各个来源类型对应的位置属性的具 体方法进行限定。 例如: 若任一来源类型为数据报文的头域或者数据报文的 payload 区域, 则确定该来源类型对应的位置属性包括: 偏移量、 连续取值长 度及取值掩码。 又例如: 若任一来源类型为数据区域, 则确定该来源类型对应 的位置属性包括: 开始地址、 连续取值长度及取值掩码。 或者, 确定该来源类 型对应的位置属性包括: 开始地址、 偏移量、 连续取值长度及取值掩码。 又例 如: 若任一来源类型为数据库, 则确定任一来源类型对应的位置属性包括取值 语句及取值掩码。 再例如: 若任一来源类型为除数据报文的头域、 数据报文的 payload 区域、 数据区域及数据库外的类型, 则确定该来源类型对应的位置属 性包括信息值。
此外, 在确定各个来源类型对应的位置属性后, 本实施例不对开放流控制 器存储各个来源类型与位置属性之间的对应关系的具体方法进行限定。 例如以 表 1所示的方式存储各个来源类型与位置属性之间的对应关系。
表 1
Figure imgf000014_0001
以流表间信息 1的来源类型为数据报文的头域或者数据报文的 payload区 域; 流表间信息 2的来源类型为数据区域; 流表间信息 3的来源类型为数据区 域; 流表间信息 4的来源类型为数据库; 流表间信息 5的来源类型为除数据报 文的头域、 数据报文的 payload区域及数据区域外的类型, 表 1所示的形式存 储的各个来源类型与位置属性之间的对应关系为例, 则开放流控制器根据表 1 确定流表间信息 1的来源类型对应的位置属性为: 偏移量、 连续取值长度及取 值掩码,并将偏移量、连续取值长度及取值掩码作为流表间信息 1的位置属性。 确定流表间信息 2的来源类型对应的位置属性为: 开始地址、 连续取值长度及 取值掩码, 并将开始地址、 连续取值长度及取值掩码作为流表间信息 2的位置 属性。 确定流表间信息 3的来源类型对应的位置属性为: 开始地址、 偏移量、 连续取值长度及取值掩码, 并将开始地址、 偏移量、 连续取值长度及取值掩码 作为流表间信息 3的位置属性。确定流表间信息 4的来源类型对应的位置属性 为: 取值语句及取值掩码, 并将取值语句及取值掩码作为流表间信息 4的位置 属性。 确定流表间信息 5的来源类型对应的位置属性为: 信息值, 并将信息值 作为流表间信息 5的位置属性。
当然, 流表间信息 2的来源类型对应的位置属性还可以为开始地址、 偏移 量、 连续取值长度及取值掩码, 流表间信息 3的来源类型对应的位置属性还可 以为开始地址、 连续取值长度及取值掩码, 本实施例不对流表间信息 2的来源 类型对应的具体位置属性及流表间信息 3的来源类型对应的具体位置属性进行 限定。
除此之外, 开放流控制器还可以通过其他方法确定各级流表提取的流表间 信息的具体内容的位置属性, 本实施例不对开放流控制器确定各级流表提取的 流表间信息的具体内容的位置属性的具体方法进行限定。
603: 开放流控制器根据各级流表提取的流表间信息的具体内容的来源类 型及位置属性生成各级流表提取的流表间信息对应的第一二元组;
其中, 每个第一二元组包括流表间信息的具体内容的来源类型及位置属 性。
例如:流表间信息 1的来源类型为数据报文的头域或者数据报文的 payload 区域, 流表间信息 1的位置属性为偏移量、 连续取值长度及取值掩码, 则生成 流表间信息 1对应的第一二元组 1为 [Packet, [offset, length, mask]]。 其中, Packet代表来源类型为数据报文的头域或者数据报文的 payload 区域, offset 代表偏移量, length代表连续取值长度, mask代表取值掩码。
流表间信息 2的来源类型为数据区域, 流表间信息 2的位置属性为开始地 址、 连续取值长度及取值掩码, 则由于流表间信息 2的数据区域具体为内存区 域,因此,生成流表间信息 2对应的第一二元组 2为 [Data_area 1, [start, length, mask]]。其中, Data_area l代表来源类型为数据区域,且具体为内存区域, start 代表开始地址。
流表间信息 3的来源类型为数据区域, 流表间信息 3的位置属性为开始地 址、 偏移量、 连续取值长度及取值掩码, 则由于流表间信息 3的数据区域具体 为緩存区域,因此,生成流表间信息 3对应的第一二元组 3为 [Data_area 3, [start, offset, length, mask]]。 其中, Data_area 3代表来源类型为数据区域, 且具体 为緩存区域。
流表间信息 4的来源类型为数据库, 流表间信息 4的位置属性为取值语句 及取值掩码, 则由于流表间信息 4的数据区域具体为数据库, 因此, 生成流表 间信息 4对应的第一二元组 4为 [Data_area 2, [SelectCommand, mask] ]。 其中, Data_area 2代表来源类型为数据库, SelectCommand代表取值语句。
流表间信息 5的来源类型为除数据报文的头域、数据报文的 payload区域、 数据区域及数据库外的类型, 流表间信息 5的位置属性为信息值, 且信息值为 1, 则生成流表间信息 5对应的第一二元组 5为 [Constant, 1 ]。 其中, Constant 代表来源类型为除数据报文的头域、 数据报文的 payload区域、 数据区域及数 据库外的类型。
当然,信息值还可以为其他数值,本实施例不对信息值的具体值进行限定。
604: 开放流控制器根据各级流表提取的流表间信息对应的第一二元组生 成与各级流表对应的包含通用信息的流表项, 并将各级流表对应的包含通用信 息的流表项发送给开放流交换机;
其中, 每个包含通用信息的流表项包括至少一个第一二元组。
本实施例不对开放流控制器根据各级流表提取的流表间信息对应的第一 二元组生成与各级流表对应的包含通用信息的流表项的具体方法进行限定, 包 括但不限于依据各个流表间信息使用场景, 将各级流表提取的流表间信息对应 的第一二元组放入包含流表间信息的流表项模板中对应的位置, 生成与各级流 表对应的包含通用信息的流表项。
例如, 包含流表间信息的流表项模板为表 2所示, 若第 0级流表的流表间 信息 1和流表间信息 2的使用场景为: 对输入流表 0的数据报文进行匹配的时 候使用, 则将流表间信息 1对应的第一二元组 1和流表间信息 2对应的第一二 元组 2放入匹配域中; 若流表间信息 3、 流表间信息 4和流表间信息 5的使用 场景为: 对输入流表 0的数据报文进行匹配后执行对应操作的时候使用, 则将 流表间信息 3对应的第一二元组 3和流表间信息 4对应的第一二元组 4放入指 令域中; 生成与如表 3所示第 0级流表对应的包含通用信息的流表项。
表 2
Figure imgf000017_0001
表 3
Figure imgf000017_0002
当然, 流表间信息 1、 流表间信息 2、 流表间信息 3、 流表间信息 4和流表 间信息 5的使用场景还可以为其他使用场景, 本实施例不对流表间信息 1、 流 表间信息 2、 流表间信息 3、 流表间信息 4和流表间信息 5的具体使用场景进 行限定。 包含流表间信息的流表项模板还可以为其他样式, 本实施例不对包含 流表间信息的流表项模板具体样式进行限定。 生成的第 0级流表对应的包含通 用信息的流表项中除包含流表间信息 1、 流表间信息 2、 流表间信息 3、 流表间 信息 4和流表间信息 5对应的第一二元组之外还可以包含其他内容, 本实施例 不对生成的第 0级流表对应的包含通用信息的流表项中包含的具体内容进行限 定。 需要说明的是, 在执行本实施例提供的方法时, 开放流控制器为了更好的 控制开放流交换机, 开放流控制器执行步骤 601至步骤 604之后, 若确定开放 流交换机中需要传递流表间信息的各级流表发生改变, 或者需要传递流表间信 息的各级流表提取的流表间信息的具体内容发生改变, 或者每隔预设时间, 可 以重新执行步骤 601至步骤 604, 以各级流表对应的包含通用信息的流表项进 行更新。 预设时间可以为任意时间长度, 本实施例不对预设时间的具体值进行 限定, 本实施例同样不对触发重新执行步骤 601至步骤 604的具体条件进行限 定。
605: 开放流交换机接收需要传递流表间信息的各级流表对应的包含通用 信息的流表项, 并根据各级流表对应的包含通用信息的流表项中包括的各个第 一二元组确定各级流表对应的各个流表间信息的具体内容;
其中, 每个包含通用信息的流表项包括至少一个第一二元组, 每个第一二 元组包括流表间信息的具体内容的来源类型及位置属性;
本实施例不对根据各级流表对应的包含通用信息的流表项中包括的各个 第一二元组确定各级流表对应的各个流表间信息的具体内容的具体方法进行 限定。 例如: 获取各级流表对应的包含通用信息的流表项中包括的各个第一二 元组中流表间信息的具体内容的来源类型及位置属性; 根据各级流表对应的包 含通用信息的流表项中包括的各个第一二元组中流表间信息的具体内容的来 源类型及位置属性提取各级流表对应的各个第一二元组中流表间信息的具体 内容。
在具体实施时, 本实施例不对根据各级流表对应的包含通用信息的流表项 中包括的各个第一二元组中流表间信息的具体内容的来源类型及位置属性提 取各级流表对应的各个第一二元组中流表间信息的具体内容的具体方法进行 限定, 包括但不限于通过如下四种实现方式中的一种实现。
第一种实现方式: 当各级流表中的任一级流表对应的包含通用信息的流表 项中包括的任一第一二元组中流表间信息的具体内容的来源类型为数据报文 的头域或者数据报文的 payload区域, 且任一级流表对应的包含通用信息的流 表项中包括的任一第一二元组中流表间信息的具体内容的位置属性包括偏移 量、 连续取值长度及取值掩码时, 根据任一级流表对应的包含通用信息的流表 项中包括的任一第一二元组中流表间信息的具体内容的来源类型,确定任一级 流表提取任一第一二元组中流表间信息的具体内容的存储区域; 从任一级流表 提取任一第一二元组中流表间信息的具体内容的存储区域的最前端地址偏移 偏移量后的地址开始提取长度为连续取值长度的内容, 并将连续取值长度的内 容作为第一内容; 根据取值掩码获取第一内容中的第二内容, 并将第二内容确 定为任一级流表对应的任一第一二元组中流表间信息的具体内容。
对于根据取值掩码获取第一内容中的第二内容步骤的具体实现方式本实 施例不进行限定, 包括但不限于: 根据取值掩码从第一内容中获取子内容; 将 子内容逻辑移位后的内容确定为第二内容。
以第 0 级流表对应的包含通用信息的流表项中包括的第一二元组 1 为 [Packet, [offset, length, mask]]为例, 根据第 0级流表对应的包含通用信息的 流表项中包括的第一二元组 1中流表间信息 1的来源类型 Packet, 确定第 0级 流表提取第一二元组 1中流表间信息 1的存储区域为数据报文的头域或者数据 报文的 payload区域; 从数据报文的头域或者数据报文的 payload区域的最前 端地址偏移 offset后的地址开始提取长度为 length的内容: 10110, 其中, 第 0 比特位为 1, 第 1比特位为 0, 第 2比特位为 1, 第 3比特位为 1, 第 4比特位 为 0, 且第 0比特位为最低比特位, 并将 10110作为第一内容; 若根据 mask 获取第一内容 10110中的子内容为第 2比特位的 1, 第 3比特位的 1和第 4比 特位的 0, 并将第 2比特位的 1, 第 3比特位的 1和第 4比特位的 0逻辑移位 至最低比特位, 即将第 2比特位的 1逻辑移位至第 0比特位, 第 3比特位的 1 逻辑移位至第 1比特位, 将第 4比特位的 0逻辑移位至第 2比特位, 得到逻辑 移位后的内容 110, 将 110确定为第二内容, 并将第二内容 110确定为第 0级 流表对应的第一二元组 1中流表间信息 1的具体内容。 当然, 从数据报文的头域或者数据报文的 payload区域的最前端地址偏移 offset后的地址开始提取长度为 length的内容还可以为其他内容,根据 mask获 取的子内容还可以为其他内容, 本实施例不对从数据报文的头域或者数据报文 的 payload区域的最前端地址偏移 offset后的地址开始提取长度为 length的具 体内容以及根据 mask获取的具体子内容进行限定。
需要说明的是, 为了保证根据取值掩码获取第一内容中的第二内容有效, 可选地, 根据取值掩码获取第一内容中的第二内容之后, 还可以对第二内容的 有效性进行校验, 若对第二内容进行校验的校验结果为通过, 则执行将第二内 容确定为任一流表对应的任一第一二元组中流表间信息的具体内容的步骤。 若 对第二内容进行校验的校验结果为不通过, 则不执行将第二内容确定为任一流 表对应的任一第一二元组中流表间信息的具体内容的步骤, 而执行其他与对第 二内容进行校验的校验结果为不通过相对应的操作。 如: 验证第二内容是否合法, 或者验证第二容是否符合约束条件, 或者既验证 第二内容是否合法又验证第二内容是否符合约束条件。
本实施例也不对第二内容是否合法的具体判断标准进行限定。 例如: 若第 二内容唯一, 则认为第二内容合法。 本实施例也不对第二内容是否符合约束条 件的具体判断标准进行限定。 例如: 第二内容位于某个合理的值域空间, 则认 为第二内容符合约束条件。
另外, 对第二内容进行校验的校验结果为不通过时, 本实施例不对该校验 结果对应的操作进行具体限定。 例如: 当校验结果为不通过时, 可以釆取的操 作为放弃第二内容, 或者将第二内容设定为预设值, 或者向开放流控制器发送 对第二内容进行校验的校验结果为不通过的报告。
第二种实现方式: 当各级流表中的任一级流表对应的包含通用信息的流表 项中包括的任一第一二元组中流表间信息的具体内容的来源类型为数据区域, 且任一级流表对应的包含通用信息的流表项中包括的任一第一二元组中流表 间信息的具体内容的位置属性包括开始地址、 连续取值长度及取值掩码时, 根 据任一级流表对应的包含通用信息的流表项中包括的任一第一二元组中流表 间信息的具体内容的来源类型,确定任一级流表提取任一第一二元组中流表间 信息的具体内容的存储区域; 根据开始地址确定任一级流表提取任一第一二元 组中流表间信息的具体内容的存储区域的取值起始地址,从任一级流表提取任 长度为连续取值长度的内容, 并将所述连续取值长度的内容作为第一内容; 根 据取值掩码获取第一内容中的第二内容, 并将第二内容确定为任一级流表对应 的任一第一二元组中流表间信息的具体内容。
根据开始地址确定任一级流表提取任一第一二元组中流表间信息的具体 信息的流表项中包括的任一第一二元组中流表间信息的具体内容的位置属性 是否还包括偏移量而变化。 具体的, 若任一流表对应的包含通用信息的流表项 中包括的任一第一二元组中流表间信息的具体内容的位置属性不包括偏移量, 则将开始地址确定为任一流表提取任一第一二元组中流表间信息的具体内容 的存储区域的取值起始地址; 若任一流表对应的包含通用信息的流表项中包括 的任一第一二元组中流表间信息的具体内容的位置属性还包括偏移量, 则将任 一流表提取任一第一二元组中流表间信息的具体内容的存储区域的开始地址 偏移偏移量后的地址确定为任一流表提取任一第一二元组中流表间信息的具 体内容的存储区域的取值起始地址。
对于根据取值掩码获取第一内容中的第二内容步骤的具体实现方式本实 施例不进行限定, 包括但不限于: 根据取值掩码从第一内容中获取子内容; 将 子内容逻辑移位后的内容确定为第二内容。
以第 0 级流表对应的包含通用信息的流表项中包括的第一二元组 2 为 [Data_area 1, [start, length, mask]]为例, 根据第 0级流表对应的包含通用信 息的流表项中包括的第一二元组 2中流表间信息 2的来源类型 Data_area 1,确 定第 0级流表提取第一二元组 2中流表间信息 2的存储区域为内存区域;将 start 确定为第 0级流表提取第一二元组 2中流表间信息 2的内存区域的取值起始地 址,从第 0级流表提取第一二元组 2中流表间信息 2的内存区域的 start开始提 取长度为 length的内容: 10110, 并将 10110作为第一内容; 若根据 mask获 取第一内容 10110中的子内容为第 2比特位的 1, 第 3比特位的 1和第 4比特 位的 0, 并将第 2比特位的 1, 第 3比特位的 1和第 4比特位的 0逻辑移位至 最低比特位, 即将第 2比特位的 1逻辑移位至第 0比特位, 第 3比特位的 1逻 辑移位至第 1比特位, 将第 4比特位的 0逻辑移位至第 2比特位, 得到逻辑移 位后的内容 110, 将 110确定为第二内容, 并将第二内容 110确定为第 0级流 表对应的第一二元组 2中流表间信息 2的具体内容。
再以第 0级流表对应的包含通用信息的流表项中包括的第一二元组 3 为 [Data_area 3 , [start, offset, length, mask]]为例, 根据第 0级流表对应的通用 流表项中包括的第一二元组 3中流表间信息 3的来源类型 Data_area 3,确定第 0级流表提取第一二元组 3中流表间信息 3的存储区域为緩存区域; 将第 0级 流表提取第一二元组 3中流表间信息 3的緩存区域的 start偏移 start后的地址 确定为第 0级流表提取第一二元组 3中流表间信息 3的緩存区域的取值起始地 址, 从第 0级流表提取第一二元组 3中流表间信息 3的緩存区域的 start偏移 start后的地址开始提取长度为 length的内容: 10110, 并将 10110作为第一内 容; 若根据 mask获取第一内容 10110中的子内容为第 2比特位的 1, 第 3比 特位的 1和第 4比特位的 0, 并将第 2比特位的 1, 第 3比特位的 1和第 4比 特位的 0逻辑移位至最低比特位,即将第 2比特位的 1逻辑移位至第 0比特位, 第 3比特位的 1逻辑移位至第 1比特位, 将第 4比特位的 0逻辑移位至第 2比 特位,得到逻辑移位后的内容 110,将 110确定为第二内容, 并将第二内容 110 确定为第 0级流表对应的第一二元组 3中流表间信息 3的具体内容。
当然, 从第 0级流表提取第一二元组 2中流表间信息 2的内存区域的 start 开始提取长度为 length的内容还可以为其他内容,从第 0级流表提取第一二元 组 3 中流表间信息 3 的緩存区域的 start偏移 start后的地址开始提取长度为 length的内容还可以为其他内容, 本实施例不对从第 0级流表提取第一二元组 2中流表间信息 2的内存区域的 start开始提取长度为 length的具体内容进行限 定, 本实施例也不对从第 0级流表提取第一二元组 3中流表间信息 3的緩存区 域的 start偏移 start后的地址开始提取长度为 length的具体内容进行限定。
需要说明的是, 为了保证根据取值掩码获取第一内容中的第二内容有效, 可选地, 根据取值掩码获取第一内容中的第二内容之后, 还可以对第二内容的 有效性进行校验, 若对第二内容进行校验的校验结果为通过, 则执行将第二内 容确定为任一流表对应的任一第一二元组中流表间信息的具体内容的步骤。 若 对第二内容进行校验的校验结果为不通过, 则不执行将第二内容确定为任一流 表对应的任一第一二元组中流表间信息的具体内容的步骤, 而执行其他与对第 二内容进行校验的校验结果为不通过相对应的操作。
第三种实现方式: 当各级流表中的任一级流表对应的包含通用信息的流表 项中包括的任一第一二元组中流表间信息的具体内容的来源类型为数据库,且 任一级流表对应的包含通用信息的流表项中包括的任一第一二元组中流表间 信息的具体内容的位置属性包括取值语句及取值掩码时,根据任一级流表对应 的包含通用信息的流表项中包括的任一第一二元组中流表间信息的具体内容 的来源类型, 确定任一级流表提取任一第一二元组中流表间信息的具体内容的 存储区域; 从存储区域中提取取值语句对应的内容, 并将取值语句对应的内容 作为第一内容; 根据取值掩码获取第一内容中的第二内容, 并将第二内容确定 为任一级流表对应的任一第一二元组中流表间信息的具体内容。
对于根据取值掩码获取第一内容中的第二内容步骤的具体实现方式本实 施例不进行限定, 包括但不限于: 根据取值掩码从第一内容中获取子内容; 将 子内容逻辑移位后的内容确定为第二内容。
以第 0 级流表对应的包含通用信息的流表项中包括的第一二元组 4 为 [Data_area 2, [SelectCommand, mask]]为例, 根据第 0级流表对应的包含通用 信息的流表项中包括的第一二元组 4中流表间信息 4的来源类型 Data_area 2, 确定第 0级流表提取第一二元组 4中流表间信息 4的存储区域为数据库; 若从 数据库中提取取值语句对应的内容为: 10110, 则将 10110作为第一内容; 若 根据 mask获取第一内容 10110中的子内容为第 2比特位的 1,第 3比特位的 1 和第 4比特位的 0, 并将第 2比特位的 1, 第 3比特位的 1和第 4比特位的 0 逻辑移位至最低比特位, 即将第 2比特位的 1逻辑移位至第 0比特位, 第 3比 特位的 1逻辑移位至第 1比特位, 将第 4比特位的 0逻辑移位至第 2比特位, 得到逻辑移位后的内容 110, 将 110确定为第二内容, 并将第二内容 110确定 为第 0级流表对应的第一二元组 4中流表间信息 4的具体内容。
当然, 从数据库中提取取值语句对应的内容还可以为其他内容, 本实施例 不对从数据库中提取取值语句对应的具体内容进行限定。
需要说明的是, 为了保证根据取值掩码获取第一内容中的第二内容有效, 可选地, 根据取值掩码获取第一内容中的第二内容之后, 还可以对第二内容的 有效性进行校验, 若对第二内容进行校验的校验结果为通过, 则执行将第二内 容确定为任一流表对应的任一第一二元组中流表间信息的具体内容的步骤。 若 对第二内容进行校验的校验结果为不通过, 则不执行将第二内容确定为任一流 表对应的任一第一二元组中流表间信息的具体内容的步骤, 而执行其他与对第 二内容进行校验的校验结果为不通过相对应的操作。
第四种实现方式: 当各级流表中的任一级流表对应的包含通用信息的流表 项中包括的任一第一二元组中流表间信息的具体内容的来源类型为除数据报 文的头域、 数据报文的 payload区域、 数据区域及数据库外的类型, 且任一级 流表对应的包含通用信息的流表项中包括的任一第一二元组中流表间信息的 具体内容的位置属性包括信息值时,提取任一级流表对应的包含通用信息的流 表项中包括的任一第一二元组中流表间信息的具体内容的位置属性包括的信 息值, 并将提取出的信息值确定为任一级流表对应的任一第一二元组中流表间 信息的具体内容。 以第 0 级流表对应的包含通用信息的流表项中包括的第一二元组 5 为 [Constant, 1]为例, 根据第 0级流表对应的通用流表项中包括的第一二元组 5 中流表间信息 5的来源类型 Constant, 确定第 0级流表提取第一二元组 5中流 表间信息 5的存储区域为除数据报文的头域、 数据报文的 payload区域、 数据 区域及数据库外的类型; 提取第 0级流表对应的包含通用信息的流表项中包括 的第一二元组 5中流表间信息 5的位置属性包括的 1, 并将提取出的 1确定为 第 0级流表对应的第一二元组 5中流表间信息 5的具体内容。
需要说明的是, 为了保证提取出的信息值有效, 可选地, 提取任一级流表 对应的包含通用信息的流表项中包括的任一第一二元组中流表间信息的具体 内容的位置属性包括的信息值之后,还可以对提取出的信息值的有效性进行校 验, 若对提取出的信息值进行校验的校验结果为通过, 则执行将提取出的信息 值确定为任一级流表对应的任一第一二元组中流表间信息的具体内容的步骤。 若对提取出的信息值进行校验的校验结果为不通过, 则不执行将提取出的信息 值确定为任一级流表对应的任一第一二元组中流表间信息的具体内容的步骤, 而执行其他与对提取出的信息值进行校验的校验结果为不通过相对应的操作。
606: 开放流交换机向下一级流表传递各个流表对应的流表间信息的具体 内容的相关信息。
本实施例不对开放流交换机向下一级流表传递各个流表对应的流表间信 息的具体内容的相关信息的具体方法进行限定。 包括但不限于, 对于任一个流 表对应的流表间信息的具体内容, 向下一级流表传递任一个流表对应的流表间 信息的具体内容; 或者, 向下一级流表传递用于确定任一个流表对应的流表间 信息的具体内容的第一二元组。
具体的, 将各个流表对应的流表间信息的具体内容的相关信息(对于任一 流表对应的流表间信息的具体内容的相关信息为: 流表间信息的具体内容, 或 者, 用于确定该流表间信息的具体内容的第一二元组)放入元数据中, 通过元 数据向下一级流表传递流表间信息的具体内容的相关信息。 本实施例也不对将各个流表对应的流表间信息的具体内容的相关信息放 入元数据中的具体方法进行限定。 包括但不限于, 如果开放流控制器发送各个 流表对应的包含通用信息的流表项中还包含用于指示如何将任一级流表对应 的任一流表间信息具体内容的相关信息放入元数据的写入掩码, 则根据各个流 表间信息对应的写入掩码将各个流表对应的流表间信息的具体内容的相关信 息放入元数据中。
本实施例不对根据各个流表间信息对应的写入掩码将各个流表对应的流 表间信息的具体内容的相关信息放入元数据中的具体方法进行限定。 包括但不 限于通过如下方式将各个流表对应的流表间信息的具体内容的相关信息放入 元数据中。
更新的元数据 = (元数据&〜流表间信息对应的写入掩码) & ( (流表间信息 具体内容的相关信息《m ) &流表间信息对应的写入掩码。
其中, &为逻辑与操作, 〜为逻辑非操作, 《为逻辑移位操作, m 为流表 间信息对应的写入掩码中数值为 1的最低位置。
以开放流交换机向下一级流表传递各个流表对应的流表间信息的具体内 容的相关信息的具体方法为: 向下一级流表传递用于确定任一个流表对应的流 表间信息的具体内容的第一二元组为例, 根据流表间信息 1对应的写入掩码 1 将用于确定流表间信息 1的具体内容的第一二元组 1放入子区域 1中,根据流 表间信息 2对应的写入掩码 2将用于确定流表间信息 2的具体内容的第一二元 组 2放入子区域 2中,根据流表间信息 3对应的写入掩码 3将用于确定流表间 信息 3的具体内容的第一二元组 3放入子区域 3中,根据流表间信息 4对应的 写入掩码 4将用于确定流表间信息 4的具体内容的第一二元组 4放入子区域 4 中,根据流表间信息 5对应的写入掩码 5将用于确定流表间信息 5的具体内容 的第一二元组 5放入子区域 5中, 详见表 4。
表 4
• . . • . . 子区域 5 子区域 4 子区域 3 子区域 2 子区域 1 弟 ^一一一一 第一二元 第一二元 第一二元 第一二元
0 0
元组 5 组 4 组 3 组 2 组 1 以开放流交换机向下一级流表传递各个流表对应的流表间信息的具体内 容的相关信息的具体方法为: 向下一级流表传递任一个流表对应的流表间信息 的具体内容为例,根据流表间信息 1对应的写入掩码 1将第 0级流表对应的流 表间信息 1的具体内容放入子区域 1中, 根据流表间信息 2对应的写入掩码 2 将第 0级流表对应的流表间信息 2的具体内容放入子区域 2中,根据流表间信 息 3对应的写入掩码 3将第 0级流表对应的流表间信息 3的具体内容放入子区 域 3中,根据流表间信息 4对应的写入掩码 4将第 0级流表对应的流表间信息 4的具体内容放入子区域 4中, 根据流表间信息 5对应的写入掩码 5将第 0级 流表对应的流表间信息 5的具体内容放入子区域 5中, 详见表 5。
表 5
Figure imgf000027_0001
以开放流交换机向下一级流表传递各个流表对应的流表间信息的具体内 容的相关信息的具体方法为: 对于流表间信息 1和流表间信息 2的具体内容, 向下一级流表传递流表间信息 1和流表间信息 2的具体内容; 对于流表间信息 3、 流表间信息 4和流表间信息 5的具体内容, 向下一级流表传递用于确定流 表间信息 3、 流表间信息 4和流表间信息 5的具体内容的第一二元组为例, 根 据流表间信息 1对应的写入掩码 1将第 0级流表对应的流表间信息 1的具体内 容放入子区域 1中,根据流表间信息 2对应的写入掩码 2将第 0级流表对应的 流表间信息 2的具体内容放入子区域 2中,根据流表间信息 3对应的写入掩码 3将用于确定流表间信息 3的具体内容的第一二元组 3放入子区域 3中, 根据 流表间信息 4对应的写入掩码 4将用于确定流表间信息 4的具体内容的第一二 元组 4放入子区域 4中,根据流表间信息 5对应的写入掩码 5将用于确定流表 间信息 5的具体内容的第一二元组 5放入子区域 5中, 详见表 6。 表 6
Figure imgf000028_0001
需要说明的是, 一个第一二元组代表一个数值, 而非数值的变形, 例如移 位后的数值。 为了保证通过开放流控制器发送的各级流表对应的包含通用信息 的流表项中包括的任一个第一二元组中流表间信息的具体内容的来源类型及 位置属性提取出的任一第一二元组中流表间信息唯一,还可以对通过开放流控 制器发送的各级流表对应的包含通用信息的流表项中包括的任一个第一二元 组中流表间信息的具体内容的来源类型及位置属性提取出的任一第一二元组 中流表间信息进行唯一化。 例如, 通过 SQL ( Structured Query Language, 结构 化查询语言)中对于唯一性进行约束的相关语句对提取出的任一第一二元组中 流表间信息进行处理, 得到唯一一个流表间信息。
另外, 开放流交换机在通过某一级流表处理数据报文前, 若接收到上一级 流表执行步骤 606传递的至少一个流表间信息的具体内容的相关信息, 若传递 的任一个流表间信息具体内容的相关信息为上一级流表用于确定该任一个流 表间信息的具体内容的第二二元组, 此时某一级流表可以通过如下方式获取第 二二元组对应的流表间信息的具体内容: 根据第二二元组确定任一流表间信息 的具体内容的相关信息描述的流表间信息的具体内容, 第二二元组包括流表间 信息的具体内容的来源类型及位置属性。
对于根据第二二元组确定任一流表间信息的具体内容的相关信息描述的 流表间信息的具体内容的具体实现方式本实施例不进行限定。 例如: 获取第二 二元组中流表间信息的具体内容的来源类型及位置属性; 根据第二二元组中流 表间信息的具体内容的来源类型及位置属性提取任一描述流表间信息具体内 容的信息描述的流表间信息的具体内容。
本实施例不对根据第二二元组中流表间信息的具体内容的来源类型及位 置属性提取任一描述流表间信息具体内容的信息描述的流表间信息的具体内 容的具体方式进行限定。
例如第一种提取方式: 若第二二元组中流表间信息的具体内容的来源类型 为数据报文的头域或者数据报文的 payload区域, 且第二二元组中流表间信息 的具体内容的位置属性包括偏移量、 连续取值长度及取值掩码, 则根据第二二 元组中流表间信息的具体内容的来源类型,确定提取第二二元组中流表间信息 的具体内容的存储区域; 从提取第二二元组中流表间信息的具体内容的存储区 域的最前端地址偏移偏移量后的地址开始提取长度为连续取值长度的内容, 并 将连续取值长度的内容作为第三内容; 根据取值掩码获取第三内容中的第四内 容, 并将第四内容确定为任一描述流表间信息具体内容的信息描述的流表间信 息的具体内容。
本实施例不对根据取值掩码获取第三内容中的第四内容的方法进行限定, 例如: 根据取值掩码从第三内容中获取子内容; 将子内容逻辑移位后的内容确 定为第四内容。
另外, 为了保证根据取值掩码获取第三内容中的第四内容有效, 可选地, 根据取值掩码获取第三内容中的第四内容之后,还可以对第四内容的有效性进 行校验, 若对第四内容进行校验的校验结果为通过, 则执行将第四内容确定为 任一描述流表间信息具体内容的信息描述的流表间信息的具体内容的步骤。 若 对第四内容进行校验的校验结果为不通过, 则不执行将第四内容确定为任一描 述流表间信息具体内容的信息描述的流表间信息的具体内容的步骤, 而执行其 他与对第四内容进行校验的校验结果为不通过相对应的操作。 如: 验证第四内容是否合法, 或者验证第四容是否符合约束条件, 或者既验证 第四内容是否合法又验证第四内容是否符合约束条件。
本实施例也不对第四内容是否合法的具体判断标准进行限定。 例如: 若第 四内容唯一, 则认为第四内容合法。 本实施例也不对第四内容是否符合约束条 件的具体判断标准进行限定。 例如: 第四内容位于某个合理的值域空间, 则认 为第四内容符合约束条件。
此外, 对第四内容进行校验的校验结果为不通过时, 本实施例不对该校验 结果对应的操作进行具体限定。 例如: 当校验结果为不通过时, 可以釆取的操 作为放弃第四内容, 或者将第四内容设定为预设值, 或者向开放流控制器发送 对第四内容进行校验的校验结果为不通过的报告。
除了上述根据第二二元组中流表间信息的具体内容的来源类型及位置属 性提取任一描述流表间信息具体内容的信息描述的流表间信息的具体内容的 第一种提取方式之外,根据第二二元组中流表间信息的具体内容的来源类型及 位置属性提取任一描述流表间信息具体内容的信息描述的流表间信息的具体 内容的提取方式还可以为下述第二种提取方式: 若第二二元组中流表间信息的 具体内容的来源类型为数据区域, 且第二二元组中流表间信息的具体内容的位 置属性包括开始地址、 连续取值长度及取值掩码, 则根据第二二元组中流表间 信息的具体内容的来源类型,确定提取第二二元组中流表间信息的具体内容的 存储区域; 根据开始地址确定提取第二二元组中流表间信息的具体内容的存储 区域的取值起始地址,从提取第二二元组中流表间信息的具体内容的存储区域 容作为第三内容; 根据取值掩码获取第三内容中的第四内容, 并将第四内容确 定为任一描述流表间信息具体内容的信息描述的流表间信息的具体内容。
对于根据开始地址确定提取第二二元组中流表间信息的具体内容的存储 开始地址确定为提取第二二元组中流表间信息的具体内容的存储区域的取值 起始地址。 或者, 当第二二元组中流表间信息的具体内容的位置属性还包括偏 移量时,将提取第二二元组中流表间信息的具体内容的存储区域的开始地址偏 移偏移量后的地址确定为提取第二二元组中流表间信息的具体内容的存储区 域的取值起始地址。 本实施例不对根据取值掩码获取第三内容中的第四内容的方法进行限定, 例如: 根据取值掩码从第三内容中获取子内容; 将子内容逻辑移位后的内容确 定为第四内容。
另外, 为了保证根据取值掩码获取第三内容中的第四内容有效, 可选地, 根据取值掩码获取第三内容中的第四内容之后,还可以对第四内容的有效性进 行校验, 若对第四内容进行校验的校验结果为通过, 则执行将第四内容确定为 任一描述流表间信息具体内容的信息描述的流表间信息的具体内容的步骤。 若 对第四内容进行校验的校验结果为不通过, 则不执行将第四内容确定为任一描 述流表间信息具体内容的信息描述的流表间信息的具体内容的步骤, 而执行其 他与对第四内容进行校验的校验结果为不通过相对应的操作。
除了上述根据第二二元组中流表间信息的具体内容的来源类型及位置属 性提取任一描述流表间信息具体内容的信息描述的流表间信息的具体内容的 第一种、 第二种提取方式之外, 根据第二二元组中流表间信息的具体内容的来 源类型及位置属性提取任一描述流表间信息具体内容的信息描述的流表间信 息的具体内容的提取方式还可以为下述第三种提取方式: 若第二二元组中流表 间信息的具体内容的来源类型为数据库, 且第二二元组中流表间信息的具体内 容的位置属性包括取值语句及取值掩码, 则根据第二二元组中流表间信息的具 体内容的来源类型, 确定提取第二二元组中流表间信息的具体内容的存储区 域; 从存储区域中提取取值语句对应的内容, 并将取值语句对应的内容作为第 三内容; 根据取值掩码获取第三内容中的第四内容, 并将第四内容确定为任一 描述流表间信息具体内容的信息描述的流表间信息的具体内容。
本实施例不对根据取值掩码获取第三内容中的第四内容的方法进行限定, 例如: 根据取值掩码从第三内容中获取子内容; 将子内容逻辑移位后的内容确 定为第四内容。
另外, 为了保证根据取值掩码获取第三内容中的第四内容有效, 可选地, 根据取值掩码获取第三内容中的第四内容之后,还可以对第四内容的有效性进 行校验, 若对第四内容进行校验的校验结果为通过, 则执行将第四内容确定为 任一描述流表间信息具体内容的信息描述的流表间信息的具体内容的步骤。 若 对第四内容进行校验的校验结果为不通过, 则不执行将第四内容确定为任一描 述流表间信息具体内容的信息描述的流表间信息的具体内容的步骤, 而执行其 他与对第四内容进行校验的校验结果为不通过相对应的操作。
除了上述根据第二二元组中流表间信息的具体内容的来源类型及位置属 性提取任一描述流表间信息具体内容的信息描述的流表间信息的具体内容的 第一种、 第二种、 第三种提取方式之外, 根据第二二元组中流表间信息的具体 内容的来源类型及位置属性提取任一描述流表间信息具体内容的信息描述的 流表间信息的具体内容的提取方式还可以为下述第四种提取方式: 若第二二元 组中流表间信息的具体内容的来源类型为除数据报文的头域、 数据报文的 payload 区域、 数据区域及数据库外的类型, 且第二二元组中流表间信息的具 体内容的位置属性包括信息值, 则提取第二二元组中流表间信息的具体内容的 位置属性包括的信息值, 并将提取出的信息值确定为任一描述流表间信息具体 内容的信息描述的流表间信息的具体内容。
为了保证提取出的信息值有效, 可选地, 提取第二二元组中流表间信息的 具体内容的位置属性包括的信息值之后,还可以对提取出的信息值的有效性进 行校验, 若对提取出的信息值进行校验的校验结果为通过, 则执行将提取出的 信息值确定为任一描述流表间信息具体内容的信息描述的流表间信息的具体 内容的步骤。 若对提取出的信息值进行校验的校验结果为不通过, 则不执行将 提取出的信息值确定为任一描述流表间信息具体内容的信息描述的流表间信 息的具体内容的步骤, 而执行其他与对提取出的信息值进行校验的校验结果为 不通过相对应的操作。
此外, 为了更清晰地体现本实施例提供的方法在减少流表项的数量方面的 优势, 本实施例以需要传递的流表间信息为 1比特的标识为例, 将现有技术与 本实施例提供的方法进行对比。 现有技术中, 由于 1比特的标识的具体内容有两种, 一种为 0, 一种为 1, 开放流控制器针对 1比特的标识的两种具体内容生成包含流表间信息的流表项 1和包含流表间信息的流表项 2, 并将包含流表间信息的流表项 1、 包含流表间 信息的流表项 2发送给开放流交换机, 其中, 包含流表间信息的流表项 1描述了 产生的 1比特的标识为 0时, 将 0写入元数据, 并将元数据传递至下级流表的处 理逻辑; 包含流表间信息的流表项 2描述了产生的 1比特的标识为 1时, 将 1写入 元数据, 并将元数据传递至下级流表的处理逻辑。 交互机若产生为 1的 1比特的 标识后, 从开放流控制器发送的包含流表间信息的流表项 1及包含流表间信息 的流表项 2中确定匹配的包含流表间信息的流表项 2, 并根据包含流表间信息的 流表项 2将 1写入元数据中, 将元数据传递至下一级流表; 若产生为 0的 1比特的 标识后, 从开放流控制器发送的包含流表间信息的流表项 1及包含流表间信息 的流表项 2中确定匹配的包含流表间信息的流表项 1, 并根据包含流表间信息的 流表项 1将 1写入元数据中, 将元数据传递至下一级流表, 从而实现无论开放流 交换机实际产生何种具体内容的 1比特标识, 均能将该具体内容传递至下级流 表。
本实施例提供的方法,根据 1比特的标识的具体内容的存储区域确定 1比 特的标识的具体内容的来源类型, 并根据 1比特的标识的具体内容的来源类型 确定 1比特的标识的具体内容的位置属性; 根据 1比特的标识的具体内容的来 源类型及位置属性生成 1比特的标识对应的第一二元组, 并根据 1比特的标识 对应的第一二元组生成一个包含通用信息的流表项; 将该包含通用信息的流表 项发送给开放流交换机。 开放流交换机产生 1比特的标识的具体内容后, 由于 1比特标识的具体内容存储在存储区域中, 此时根据该包含通用信息的流表项 中包括的第一二元组即可确定 1比特标识的具体内容的存储区域, 并从存储区 域中获取 1比特的标识的具体内容, 向下一级流表传递 1比特的标识具体内容 的相关信息。 若产生为 1的 1比特标识, 根据该包含通用信息的流表项中包括 的第一二元组获取到的具体内容即为 1, 并从存储区域中获取 1, 向下一级流 表传递 1比特的标识具体内容为 1的相关信息; 若产生为 0的 1比特标识, 根 据该包含通用信息的流表项中包括的第一二元组获取到的具体内容即为 0, 并 从存储区域中获取 0, 向下一级流表传递 1比特的标识具体内容为 0的相关信 息, 从而实现无论开放流交换机实际产生何种具体内容的 1比特标识, 均能将 该具体内容传递至下级流表。
由此可见, 本实施例提供的方法通过一个包含通用信息的流表项实现了现 有技术中 2个包含流表间信息的流表项才实现的功能, 减少了包含流表间信息 的流表项的数量。
本发明实施例提供的方法, 通过生成包括指示信息的流表项, 指示信息用 于指示获取传递信息的方法; 其中, 传递信息为需传递至下级流表的信息; 将 流表项发送至开放流交换机, 以使开放流交换机根据指示信息为下级流表获取 传递信息, 减少了流表项的数量, 进而减少了用于存储和处理流表项的资源, 提高了处理数据报文的效率。 本发明另一实施例提供了一种开放流控制器, 该开放流控制器用于执行上 述图 5所示实施例所提供的开放流流表间信息传递的方法中开放流控制器所执 行的功能。 参见图 7, 该开放流控制器包括:
生成模块 701, 用于生成流表项, 流表项包括指示信息, 指示信息用于指 示获取传递信息的方法; 其中, 传递信息为需传递至下级流表的信息;
发送模块 702, 用于将生成模块 701生成的流表项发送至开放流交换机, 以使开放流交换机根据指示信息为下级流表获取传递信息。
可选地, 生成模块 701生成的流表项中包括的指示信息包括数据源信息和 数据源位置信息, 数据源信息用于指示包括传递信息的数据源, 数据源位置信 息用于指示传递信息在数据源中的位置, 指示信息用于指示根据传递信息在数 据源中的位置, 从数据源获取传递信息。
可选地, 生成模块 701生成的流表项中包括的指示信息包括数据源信息和 数据源操作信息, 数据源信息用于指示包括传递信息的数据源, 数据源操作信 息用于指示从数据源获取传递信息的操作指令, 指示信息用于指示根据从数据 源获取传递信息的操作指令, 从数据源获取传递信息。
本实施例提供的开放流控制器, 通过生成包括指示信息的流表项, 指示信 息用于指示获取传递信息的方法;其中,传递信息为需传递至下级流表的信息; 将流表项发送至开放流交换机, 以使开放流交换机根据指示信息为下级流表获 取传递信息,减少了流表项的数量,进而减少了用于存储和处理流表项的资源, 提高了处理数据报文的效率。 本发明另一实施例提供了一种开放流流表间信息传递的设备, 该设备包 括: 处理器和发射器;
其中, 控制器, 用于生成流表项, 流表项包括指示信息, 指示信息用于指 示获取传递信息的方法; 其中, 传递信息为需传递至下级流表的信息;
其中, 发射器用于将流表项发送至开放流交换机, 以使开放流交换机根据 指示信息为下级流表获取传递信息。
其中, 控制器生成的指示信息包括数据源信息和数据源位置信息, 数据源 信息用于指示包括传递信息的数据源,数据源位置信息用于指示传递信息在数 据源中的位置, 指示信息用于指示根据传递信息在数据源中的位置, 从数据源 获取传递信息。
其中, 控制器生成的指示信息包括数据源信息和数据源操作信息, 数据源 信息用于指示包括传递信息的数据源,数据源操作信息用于指示从数据源获取 传递信息的操作指令,指示信息用于指示根据从数据源获取传递信息的操作指 令, 从数据源获取传递信息。
本实施例提供的设备, 通过生成包括指示信息的流表项, 指示信息用于指 示获取传递信息的方法; 其中, 传递信息为需传递至下级流表的信息; 将流表 项发送至开放流交换机, 以使开放流交换机根据指示信息为下级流表获取传递 信息, 减少了流表项的数量, 进而减少了用于存储和处理流表项的资源, 提高 了处理数据报文的效率。 本发明另一实施例提供了一种开放流交换机, 该开放流交换机用于执行上 述图 5所示实施例所提供的开放流流表间信息传递的方法中开放流交换机所执 行的功能。 参见图 8, 该开放流交换机包括:
接收模块 801, 用于接收数据报文;
第一获取模块 802, 用于根据接收模块 801接收到的数据报文, 获取与数 据报文匹配的流表项; 其中, 流表项包括指示信息, 指示信息用于指示获取传 递信息的方法, 传递信息为需传递至下级流表的信息;
第二获取模块 803, 用于根据第一获取模块 802获取到的流表项中的指示 信息为下级流表获取传递信息。
其中, 第二获取模块 803, 用于根据指示信息获取传递信息; 传递传递信 息至下级流表;
或者, 第二获取模块 803, 用于传递指示信息至下级流表; 在处理下级流 表时根据指示信息获取传递信息。
可选地, 第一获取模块 802获取到的流表项中的指示信息包括数据源信息 和数据源位置信息, 数据源信息用于指示包括传递信息的数据源, 数据源位置 信息用于指示传递信息在数据源中的位置;
第二获取模块 803, 用于根据传递信息在数据源中的位置, 从数据源获取 传递信息。
可选地, 第一获取模块 802获取到的流表项中的指示信息包括数据源信息 和数据源操作信息, 数据源信息用于指示包括传递信息的数据源, 数据源操作 信息用于指示从数据源获取传递信息的操作指令;
第二获取模块 803, 用于根据从数据源获取传递信息的操作指令, 从数据 源获取传递信息。 本实施例提供的开放流交换机, 通过根据数据报文, 获取与数据报文匹配 的包括指示信息的流表项; 其中指示信息用于指示获取传递信息的方法, 传递 信息为需传递至下级流表的信息; 根据指示信息为下级流表获取传递信息, 减 少了接收到的流表项的数量, 进而减少了用于存储和处理流表项的资源, 提高 了处理数据报文的效率。 本发明另一实施例提供了一种开放流流表间信息传递的设备, 该设备包 括: 接收器和处理器;
其中, 接收器, 用于接收数据报文;
其中, 处理器, 用于根据数据报文, 获取与数据报文匹配的流表项; 其中, 流表项包括指示信息, 指示信息用于指示获取传递信息的方法, 传递信息为需 传递至下级流表的信息;
其中, 处理器, 用于根据指示信息为下级流表获取传递信息。
其中, 处理器, 用于根据指示信息获取传递信息, 并传递传递信息至下级 流表; 或者, 传递指示信息至下级流表, 并在处理下级流表时根据指示信息获 取传递信息。
其中, 指示信息包括数据源信息和数据源位置信息, 数据源信息用于指示 包括传递信息的数据源, 数据源位置信息用于指示传递信息在数据源中的位 置; 处理器, 用于开放流交换机根据传递信息在数据源中的位置, 从数据源获 取传递信息。
其中, 指示信息包括数据源信息和数据源操作信息, 数据源信息用于指示 包括传递信息的数据源,数据源操作信息用于指示从数据源获取传递信息的操 作指令; 其中, 处理器, 用于根据从数据源获取传递信息的操作指令, 从数据 源获取传递信息。
本实施例提供的设备, 通过根据数据报文, 获取与数据报文匹配的包括指 示信息的流表项; 其中指示信息用于指示获取传递信息的方法, 传递信息为需 传递至下级流表的信息; 根据指示信息为下级流表获取传递信息, 减少了接收 到的流表项的数量, 进而减少了用于存储和处理流表项的资源, 提高了处理数 据报文的效率。 本发明另一实施例提供了一种开放流流表间信息传递的系统, 该系统用于 执行上述图 5所示实施例所提供的开放流流表间信息传递的方法。 参见图 9, 该系统包括:
开放流控制器 901和开放流交换机 902;
其中, 开放流控制器 901如上述图 7所示实施例提供的开放流控制器, 详 见上述实施例;
开放流交换机 902如上述图 8所示实施例提供的开放流交换机, 详见上述 实施例。
综上所述, 本实施例提供的系统, 通过生成包括指示信息的流表项, 指示 信息用于指示获取传递信息的方法; 其中, 传递信息为需传递至下级流表的信 息; 将流表项发送至开放流交换机, 以使开放流交换机根据指示信息为下级流 表获取传递信息, 减少了流表项的数量, 进而减少了用于存储和处理流表项的 资源, 提高了处理数据报文的效率。 需要说明的是, 上述实施例提供的开放流控制器及开放流交换机在开放流 流表间信息传递过程中, 仅以上述各功能模块的划分进行举例说明, 实际应用 中, 可以根据需要而将上述功能分配由不同的功能模块完成, 即将开放流控制 器及开放流交换机的内部结构划分成不同的功能模块, 以完成以上描述的全部 或者部分功能。 另外, 上述实施例提供的开放流控制器及开放流交换机与开放 流流表间信息传递的方法实施例属于同一构思, 其具体实现过程详见方法实施 例, 这里不再赘述。 本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通 过硬件来完成, 也可以通过程序来指令相关的硬件完成, 所述的程序可以存储 于一种计算机可读存储介质中, 上述提到的存储介质可以是只读存储器, 磁盘 或光盘等。
以上所述仅为本发明的较佳实施例, 并不用以限制本发明, 凡在本发明的 精神和原则之内, 所作的任何修改、 等同替换、 改进等, 均应包含在本发明的 保护范围之内。

Claims

权 利 要 求 书
1、 一种开放流流表间信息传递的方法, 其特征在于, 所述方法包括: 开放流控制器生成流表项, 所述流表项包括指示信息, 所述指示信息用于 指示获取传递信息的方法; 其中, 所述传递信息为需传递至下级流表的信息; 所述开放流控制器将所述流表项发送至开放流交换机, 以使所述开放流交 换机根据所述指示信息为所述下级流表获取所述传递信息。
2、 根据权利要求 1所述的方法, 其特征在于, 所述指示信息包括数据源信 息和数据源位置信息, 所述数据源信息用于指示包括所述传递信息的数据源, 所述数据源位置信息用于指示所述传递信息在所述数据源中的位置, 所述指示 信息用于指示根据所述传递信息在所述数据源中的位置, 从所述数据源获取所 述传递信息。
3、 根据权利要求 1所述的方法, 其特征在于, 所述指示信息包括数据源信 息和数据源操作信息, 所述数据源信息用于指示包括所述传递信息的数据源, 所述数据源操作信息用于指示从所述数据源获取所述传递信息的操作指令, 所 述指示信息用于指示根据从所述数据源获取所述传递信息的操作指令, 从所述 数据源获取所述传递信息。
4、 一种开放流控制器, 其特征在于, 所述开放流控制器包括:
生成模块, 用于生成流表项, 所述流表项包括指示信息, 所述指示信息用 于指示获取传递信息的方法; 其中, 所述传递信息为需传递至下级流表的信息; 发送模块, 用于将所述生成模块生成的流表项发送至开放流交换机, 以使 所述开放流交换机根据所述指示信息为所述下级流表获取所述传递信息。
5、 根据权利要求 4所述的开放流控制器, 其特征在于, 所述生成模块生成 的流表项中包括的指示信息包括数据源信息和数据源位置信息, 所述数据源信 息用于指示包括所述传递信息的数据源, 所述数据源位置信息用于指示所述传 递信息在所述数据源中的位置, 所述指示信息用于指示根据所述传递信息在所 述数据源中的位置, 从所述数据源获取所述传递信息。
6、 根据权利要求 4所述的开放流控制器, 其特征在于, 所述生成模块生成 的流表项中包括的指示信息包括数据源信息和数据源操作信息, 所述数据源信 息用于指示包括所述传递信息的数据源, 所述数据源操作信息用于指示从所述 数据源获取所述传递信息的操作指令, 所述指示信息用于指示根据从所述数据 源获取所述传递信息的操作指令, 从所述数据源获取所述传递信息。
7、 一种开放流流表间信息传递的方法, 其特征在于, 所述方法包括: 开放流交换机接收数据报文;
所述开放流交换机根据所述数据报文, 获取与所述数据报文匹配的流表项; 其中, 所述流表项包括指示信息, 所述指示信息用于指示获取传递信息的方法, 所述传递信息为需传递至下级流表的信息;
所述开放流交换机根据所述指示信息为所述下级流表获取所述传递信息。
8、 根据权利要求 7所述的方法, 其特征在于, 所述开放流交换机根据所述 指示信息为所述下级流表获取所述传递信息包括:
所述开放流交换机根据所述指示信息获取所述传递信息, 并传递所述传递 信息至所述下级流表; 或者,
所述开放流交换机传递所述指示信息至所述下级流表, 并在处理所述下级 流表时根据所述指示信息获取所述传递信息。
9、 根据权利要求 7或 8所述的方法, 其特征在于, 所述指示信息包括数据 源信息和数据源位置信息, 所述数据源信息用于指示包括所述传递信息的数据 源, 所述数据源位置信息用于指示所述传递信息在所述数据源中的位置; 所述开放流交换机根据所述指示信息获取所述传递信息包括:
所述开放流交换机根据所述传递信息在所述数据源中的位置, 从所述数据 源获取所述传递信息。
10、 根据权利要求 7或 8所述的方法, 其特征在于, 所述指示信息包括数 据源信息和数据源操作信息, 所述数据源信息用于指示包括所述传递信息的数 据源, 所述数据源操作信息用于指示从所述数据源获取所述传递信息的操作指 令;
所述开放流交换机根据所述指示信息获取所述传递信息包括:
所述开放流交换机根据从所述数据源获取所述传递信息的操作指令, 从所 述数据源获取所述传递信息。
11、 一种开放流交换机, 其特征在于, 所述开放流交换机包括: 接收模块, 用于接收数据报文;
第一获取模块, 用于根据所述接收模块接收到的数据报文, 获取与所述数 据报文匹配的流表项; 其中, 所述流表项包括指示信息, 所述指示信息用于指 示获取传递信息的方法, 所述传递信息为需传递至下级流表的信息;
第二获取模块, 用于根据所述第一获取模块获取到的流表项中的指示信息 为所述下级流表获取所述传递信息。
12、 根据权利要求 11所述的开放流交换机, 其特征在于, 所述第二获取模 块, 用于根据所述指示信息获取所述传递信息; 传递所述传递信息至所述下级 流表;
或者, 所述第二获取模块, 用于传递所述指示信息至所述下级流表; 在处 理所述下级流表时根据所述指示信息获取所述传递信息。
13、 根据权利要求 11或 12所述的开放流交换机, 其特征在于, 所述第一 获取模块获取到的流表项中的指示信息包括数据源信息和数据源位置信息, 所 述数据源信息用于指示包括所述传递信息的数据源, 所述数据源位置信息用于 指示所述传递信息在所述数据源中的位置;
所述第二获取模块, 用于根据所述传递信息在所述数据源中的位置, 从所 述数据源获取所述传递信息。
14、 根据权利要求 11或 12所述的开放流交换机, 其特征在于, 所述第一 获取模块获取到的流表项中的指示信息包括数据源信息和数据源操作信息, 所 述数据源信息用于指示包括所述传递信息的数据源, 所述数据源操作信息用于 指示从所述数据源获取所述传递信息的操作指令;
所述第二获取模块, 用于根据从所述数据源获取所述传递信息的操作指令, 从所述数据源获取所述传递信息。
15、 一种开放流流表间信息传递的系统, 其特征在于, 所述系统包括: 开 放流控制器及开放流交换机;
所述开放流控制器, 如权利要求 4至 6中任一权利要求所述的开放流控制 器;
所述开放流交换机, 如权利要求 11至 14中任一权利要求所述的开放流交 换机。
PCT/CN2014/079082 2014-06-03 2014-06-03 开放流流表间信息传递的方法、控制器、交换机及系统 WO2015184584A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/CN2014/079082 WO2015184584A1 (zh) 2014-06-03 2014-06-03 开放流流表间信息传递的方法、控制器、交换机及系统
CN201480033902.3A CN105340227B (zh) 2014-06-03 2014-06-03 开放流流表间信息传递的方法、控制器、交换机及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2014/079082 WO2015184584A1 (zh) 2014-06-03 2014-06-03 开放流流表间信息传递的方法、控制器、交换机及系统

Publications (1)

Publication Number Publication Date
WO2015184584A1 true WO2015184584A1 (zh) 2015-12-10

Family

ID=54765927

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2014/079082 WO2015184584A1 (zh) 2014-06-03 2014-06-03 开放流流表间信息传递的方法、控制器、交换机及系统

Country Status (2)

Country Link
CN (1) CN105340227B (zh)
WO (1) WO2015184584A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114760249A (zh) * 2021-01-08 2022-07-15 大唐移动通信设备有限公司 一种基于sdn网络的数据处理方法和装置及设备

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109729026B (zh) * 2017-10-27 2020-12-01 迈普通信技术股份有限公司 一种sdn网络的控制方法和sdn控制器
CN112565090B (zh) * 2020-11-09 2022-04-15 烽火通信科技股份有限公司 一种高速转发方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012144203A1 (en) * 2011-04-18 2012-10-26 Nec Corporation Terminal, control device, communication method, communication system, communication module,program, and information processing device
CN103067534A (zh) * 2012-12-26 2013-04-24 中兴通讯股份有限公司 一种NAT实现系统、方法及Openflow交换机
CN103401784A (zh) * 2013-07-31 2013-11-20 华为技术有限公司 一种接收报文的方法及开放流交换机
CN103428094A (zh) * 2013-08-12 2013-12-04 杭州华三通信技术有限公司 开放流OpenFlow系统中的报文转发方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2869509B1 (en) * 2012-08-02 2019-01-02 Huawei Technologies Co., Ltd. Method, apparatus, and system for processing data packet

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012144203A1 (en) * 2011-04-18 2012-10-26 Nec Corporation Terminal, control device, communication method, communication system, communication module,program, and information processing device
CN103067534A (zh) * 2012-12-26 2013-04-24 中兴通讯股份有限公司 一种NAT实现系统、方法及Openflow交换机
CN103401784A (zh) * 2013-07-31 2013-11-20 华为技术有限公司 一种接收报文的方法及开放流交换机
CN103428094A (zh) * 2013-08-12 2013-12-04 杭州华三通信技术有限公司 开放流OpenFlow系统中的报文转发方法及装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114760249A (zh) * 2021-01-08 2022-07-15 大唐移动通信设备有限公司 一种基于sdn网络的数据处理方法和装置及设备
CN114760249B (zh) * 2021-01-08 2023-08-04 大唐移动通信设备有限公司 一种基于sdn网络的数据处理方法和装置及设备

Also Published As

Publication number Publication date
CN105340227B (zh) 2018-11-13
CN105340227A (zh) 2016-02-17

Similar Documents

Publication Publication Date Title
EP3678346A1 (en) Blockchain smart contract verification method and apparatus, and storage medium
CN108153757B (zh) 一种哈希表管理的方法和装置
US9483386B2 (en) Information interaction test device and method based on automatic generation of associated test cases
CN106202028B (zh) 一种地址信息识别方法及装置
CN104144156B (zh) 报文处理方法和装置
CN112817602B (zh) 一种json格式数据发送、接收方法、设备及介质
JPWO2019038839A1 (ja) ブロックチェーン管理装置、ブロックチェーン管理方法及びプログラム
CN107911381A (zh) 应用程序编程接口的访问方法、系统、服务端及客户端
WO2015184584A1 (zh) 开放流流表间信息传递的方法、控制器、交换机及系统
US20070124116A1 (en) System and method for metadata verification during measurement processing
US9973598B2 (en) Communications device supporting dynamic modbus protocol mapping
CN105450712A (zh) 一种数据传输方法及装置
CN109583861A (zh) key-value数据库中的数据压缩方法、访问方法和系统
CN102769677B (zh) 面向真实用户身份信息的IPv6地址设置方法及服务器
JP2014502756A (ja) ツリー構造に基づくマスデータストレージの装置および方法
US10601711B1 (en) Lens table
CN111046106A (zh) 缓存数据同步方法、装置、设备及介质
US20170024154A1 (en) System and method for broadcasting data to multiple hardware forwarding engines
CN104205742B (zh) 报文处理方法和转发设备
JP2014143505A (ja) データ転送装置及びデータ転送方法
CN107147719A (zh) 一种硬件更新方法、主节点、从节点以及服务器集群
CN115016823B (zh) 目标软件升级方法、装置、电子设备、介质和程序产品
US10355994B1 (en) Lens distribution
US10795873B1 (en) Hash output manipulation
US8760941B2 (en) Data transfer circuit and data transfer method

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 201480033902.3

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14894057

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14894057

Country of ref document: EP

Kind code of ref document: A1