CN113630323B - Software definition-based distributed flow table matching method in multi-identification network system - Google Patents
Software definition-based distributed flow table matching method in multi-identification network system Download PDFInfo
- Publication number
- CN113630323B CN113630323B CN202110963002.0A CN202110963002A CN113630323B CN 113630323 B CN113630323 B CN 113630323B CN 202110963002 A CN202110963002 A CN 202110963002A CN 113630323 B CN113630323 B CN 113630323B
- Authority
- CN
- China
- Prior art keywords
- identifier
- forwarding
- router
- identification
- network packet
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/54—Organization of routing tables
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
The invention provides a distributed flow table matching method based on software definition in a multi-identification network system, which comprises the following steps: step S1, separating the control and the forwarding of the multi-label router to form a three-layer multi-label router framework comprising an application layer, a control layer and a forwarding layer; step S2, unifying the network grouping format by multi-identification network grouping coding mode; step S3, setting a distributed flow table structure, and controlling the flow table jumping direction through table-id allocation and the next table-id field of the table entry; step S4, matching the distribution flow table in the multi-identification router; step S5, when the forwarding layer receives the network packet that can not be processed, the forwarding layer sends the network packet content through packet-in information. The invention can meet the requirement of cross-identification-domain routing addressing in a multi-identification network, is convenient to support automatic deployment and maintenance of complex topology, and has higher routing convergence speed and lower router load.
Description
Technical Field
The invention relates to a flow table matching method, in particular to a distributed flow table matching method based on software definition in a multi-identification network system.
Background
The multi-identification router is used as a forwarding entity of a data plane of a multi-identification network system architecture and is an actual execution entity of a multi-identification routing strategy. The multi-identification router is different from the traditional router in the greatest characteristic that besides the traditional IP identification, the multi-identification router also supports various network identifications, and multiple identification transmission modes are allowed to coexist in parallel in a network topology formed by the multi-identification router so as to meet different demand scenes.
The existing multi-identifier router implementation scheme firstly proposes a unified hierarchical identifier naming rule, and then introduces a multi-identifier Translation table (Inter Translation Base, ITB) into the router to perform artificial division of the identifier domain, thereby realizing the Inter-Translation and Inter-access functions of different identifier domains under a network with coexisting multi-identifiers. Technically, the multi-identification router designs a data structure and an algorithm for multi-identification storage and inter-translation, realizes an efficient extensible routing addressing forwarding algorithm and a data forwarding engine for further improving performance, and ensures the information traceability security of the multi-identification router through a data packet signature mechanism.
The multi-identification inter-translation table (ITB) stores identification inter-translation information, the key of which is the original identifier and the value of which is the destination identifier. The matching process of the network packet in the multi-identification router is realized by the tables including the ITB table together: after receiving a multi-identification network packet, the multi-identification router judges whether the packet is a wide area network IP address or not, and directly performs DNS query; otherwise, the network packet sequentially enters a Content cache Table (CS), an Interest packet Pending request Table (PIT) and a routing Information Table (FIB) for matching, and if matching is successful, processing or forwarding is performed according to the Table Information; if the identifier is not hit in the FIB table, the network packet identifier possibly belongs to other identification spaces, an ITB table is tried to be inquired, and if the inter-translation is successful, a forwarding port for inquiring the inter-translated identifier in the FIB table is returned; if the failure occurs, an error log is generated and the network packet is discarded.
The current multi-identification router design is based on an inter-translation technology, a basic routing forwarding table used for forwarding is statically configured, the basic routing forwarding table needs to be reconfigured once the network topology is changed to a certain extent, and the workload is huge if the topology is changed to a large extent, and an automatic deployment scheme and a programmable management mode are not available.
Disclosure of Invention
The technical problem to be solved by the present invention is to provide a distributed flow table matching method suitable for a multi-identifier network system, which meets the requirement of routing addressing across identifier domains in a multi-identifier network, and is convenient for supporting automatic deployment and maintenance of complex topology, so as to realize faster routing convergence speed and lower router load.
To this end, the invention provides a distributed flow table matching method based on software definition in a multi-identification network system, which comprises the following steps:
step S1, separating the control and forwarding of the multi-label router to form a three-layer multi-label router structure including an application layer, a control layer and a forwarding layer;
step S2, unifying the network grouping format by multi-identification network grouping coding mode;
step S3, setting a distributed flow table structure, and controlling the flow table jumping direction through table-id allocation and the next table-id field of the table entry;
step S4, matching the distribution flow table in the multi-identification router;
step S5, when the forwarding layer receives the network packet which can not be processed, the content of the network packet is sent through the packet-in information.
The further improvement of the present invention is that in step S1, the application layer and the control layer implement communication through a northbound interface, the forwarding layer and the control layer implement communication through a southbound interface, the control layer includes a hyperbolic id controller, a content id controller, a topology controller and an IP id controller, and the hyperbolic id controller, the content id controller and the IP id controller implement communication with the topology controller through an east-west interface respectively.
The invention has the further improvement that the multi-identification network grouping coding mode adopts a TLV format which comprises 5 fields including a source identifier, a destination identifier, an identification type, a transit identifier and network packet original data; before sending out the network packet, the source router packages the network packet according to the TLV format, indicates the identification type in the network packet, and sets the value of the transit identifier as the destination identifier; after the router on the packet forwarding path analyzes each field of the network packet, the type of the network packet is identified through the field of the identification type, flow table matching is carried out by taking the transit identifier as a matching field, and custom operation and addressing forwarding are carried out according to a matching result; and when the destination router receives the network packet, extracting the original content and processing the original content.
The present invention is further improved in that the distributed flow table structure in step S3 includes a recognizable identifier type table, an unrecognizable identifier forwarding table, a multiple identifier flow table, and a recognizable identifier forwarding table; the identifiable type table is a first-level flow table of a distributed flow table structure and is used for recording all identification types supported by a current router and selecting a next-level flow table by using a next table-id field; the unrecognized identification forwarding table is used for recording a forwarding port of an identifier which cannot be identified by the current router; the multi-identification flow table provides processing and forwarding instructions for each identification type of network packet, and replaces the flow table for forwarding with the identifiable identification forwarding table; the identifiable forwarding table is used to record forwarding ports that record identifiers that a router can identify.
The invention has the further improvement that table item scales are preset in all flow tables in the distributed flow table structure, and when the number of the table items of the flow table exceeds the set number of the table item scales, old table items are sequentially updated and replaced through a cache elimination strategy; meanwhile, all the entries of all the flow tables are preset with a first life time attribute and a second life time attribute, the first life time attribute is used for calculating the time inserted into the table, and the first life time attribute is continuously increased according to the time after the entries are generated; the second survival time attribute is used for calculating the time without flow matching, and the second survival time attribute automatically detects the time without flow matching after the table entry is generated and starts to increase; and if any one of the first lifetime attribute and the second lifetime attribute in the flow table exceeds a preset lifetime threshold value of the flow table, automatically deleting the entry.
The invention is further improved in that the flow table is divided into a cluster inner table and a cluster outer table according to whether the identifier of the table entry of the flow table is in the same cluster with the identifier mapped by the router on the identification plane; and setting the scale of the preset table item of the cluster outer surface to be larger than the scale of the preset table item of the cluster inner surface, and setting the preset survival time threshold of the cluster inner surface to be larger than the preset survival time threshold of the cluster outer surface.
A further improvement of the present invention is that the step S4 of matching the distributed flow table in the multi-identity router includes the following steps:
step S401, a network packet flows into a recognizable identifier type table, the network packet flows into a next-stage flow table according to a next table-id field after being matched by taking the identifier type as a matching field, when the network packet is matched with the recognizable identifier type table, the next-stage flow table is a multi-stage flow table inlet of the identifier type, and step S402 is executed; otherwise, judging that the next-level flow table is a default unidentifiable identification forwarding table with the lowest priority, and executing the step S403;
step S402, the network packet flows into a multi-identification flow table corresponding to the hit identification type, the flow table used for forwarding is replaced and called as an identifiable identification forwarding table, and when the network packet is matched, the network packet flows into a cluster inner table and a cluster outer table in sequence;
step S403, the network packet flows into an unidentifiable identifier forwarding table, the matched field is a transit identifier, and the network packet is directly forwarded after being matched; if the table entry of the flow table is not hit, the router jumps to step S5 to send a packet-in message through the southbound interface, where the packet-in message type is defined as an unrecognizable forwarding table miss, and the number is 1;
step S404, the network packet hits in any flow table, the matching process is left, the forwarding module of the router takes over the network packet, and the action in the network packet execution action set is sent to a designated port for forwarding;
step S405, in the running process of the router, when a port link is disconnected or an abnormal condition causes a port of the router to fail, flow table updating operation is triggered, the port link is disconnected or the abnormal condition is reported to a control layer, the type of the packet-in message is defined as the port failure, and the serial number is 0.
In a further improvement of the present invention, in step S402, the process of sequentially flowing network packets into the cluster internal table and the cluster external table is as follows:
step S4021, the table entries of the identifiers of the routers in the cluster are excluded, and the custom operation fields of all the table entries are null; the network packet flows into the cluster inner table, the self-defined operation is executed, whether the destination identifier of the network packet is the same as the identifier of the router is detected, and if the destination identifier of the network packet is the same as the identifier of the router, the network packet reaches the destination router; otherwise, replacing the transit identifier field of the network packet with the destination identifier, and continuing to realize matching with other flow tables in the cluster inner table;
step S4022, the network packet flows into the cluster exterior, the transit identifier field of the network packet is replaced by the effective self-defined operation field in the table entry of the cluster exterior, if the cluster exterior is not hit, the type of the packet-in message sent by the router is defined as the type that can identify the failure of the forwarding table, and the number is 2.
A further improvement of the present invention is that, in step S5, when the forwarding layer receives a network packet that cannot be processed, corresponding processing and flow table updating are implemented according to the type of packet-in message, including the following steps:
step S501, if the packet-in message type is port failure and the serial number is 0, the router sends the message to all connected controllers, and the controllers update internal topology information or identification information;
step S502, if the packet-in message type is the unrecognizable identification forwarding table, the number is 1, the topology controller firstly sends a request to the corresponding identification controller, checks whether the transit identifier field is an edge identification, if so, performs the optimal path planning from a single point to a single point from the current position to the transit identifier position to form a table entry which takes the transit identifier as a matching field and takes the next hop originating port in the optimal path as a forwarding port field, and finally encapsulates the table entry through a table entry southward interface module and issues the table entry to the unrecognizable identification forwarding table of the router; if not, forming an error log;
step S503, if the packet-in message type is identifiable to identify the forwarding table as missing, the number is 2, the identification controller firstly judges whether the identifier of the current router and the transit identifier of the network packet are in the same cluster, and then the table entry is issued according to the judgment result.
A further refinement of the invention is that said step S503 comprises the following sub-steps:
step S5031, if the router identifier is clustered, the optimal path planning is realized from the current router identifier to the network packet transit identifier from single point to single point, the transit identifier is formed as a matching field, the next hop originating port in the optimal path is used as an entry of a forwarding port field, and the entry is issued to a cluster inner table of a router capable of identifying a forwarding table;
step S5032, if the cluster is abnormal, firstly judging whether the transit identifier or the router identifier has an edge identifier, if not, executing a cross-cluster routing strategy to plan an optimal path, and finally forming a path with the transit identifier as a matching field, and a next hop originating port in the optimal path as a table entry of a forwarding port field; if the router identifier is an edge identifier, the transit identifier is replaced by a destination cluster edge identifier on the optimal path, and the table entry is issued to a cluster exterior of the router identifiable forwarding table; if the transit identifier is an edge identifier, the edge identifier is replaced by a source cluster edge identifier on the optimal path, and the table entry is issued to a cluster exterior of the router capable of identifying the forwarding table.
Compared with the prior art, the invention has the beneficial effects that: based on a multi-stage flow table of a software defined network, a distributed flow table structure suitable for a multi-identification network system and a matching method thereof are designed, routes of all identification types in a forwarding layer of the multi-identification network can be managed in a coordinated mode, a router can be guided to forward an identification type network packet which is not supported by the router correctly, and the requirement of addressing across identification domain routes in the multi-identification network is met; on the basis, the separation of control and forwarding is realized by introducing the controller, so that the multi-identifier network can support automatic deployment and maintenance of complex topology, and the invention has higher routing convergence speed and lower router load.
Drawings
FIG. 1 is a schematic workflow diagram of one embodiment of the present invention;
FIG. 2 is a diagram of an example of a topology of a multiple identity network;
FIG. 3 is a schematic representation of an identity plane of a multiple identity network;
FIG. 4 is a schematic diagram of the identification topology on the content identification plane;
FIG. 5 is a schematic diagram of a multi-identity network architecture incorporating a controller according to an embodiment of the present invention;
fig. 6 is a schematic diagram of a distributed flow table matching process in the multi-identity router according to an embodiment of the present invention.
Detailed Description
Preferred embodiments of the present invention will be described in further detail below with reference to the accompanying drawings.
At present, under the huge change of the internet business form, the traditional network taking the IP as the core is gradually in a fatigue state. In order to better meet the requirement of the internet of everything, the basic architecture of the internet needs to be considered, and the innovative internet architecture is adopted to get rid of the existing limitation of the internet. A Software Defined Network (SDN) project originated in the university of stanford clearslate, which is intended to support new applications and provide an innovative service platform for future networks, has emerged. Now, a software defined network architecture has been developed from a laboratory to an industrial world, and hardware manufacturers and software companies actively participate in the standardization process of the related art and the industrial evolution of projects, and a vigorous and competitive competition and mutual cooperation are developed under the new architecture.
The software defined network is not a specific technology, a specific protocol, but a new design idea and a future network framework which are almost reversed compared with the traditional network architecture. As a research hotspot in the field of future networks, software-defined networks are like waves turned over by the new era, which revolutionizes academic research and commercial products and creates a plurality of popular projects.
The novel network architecture constructed by the software defined network idea is fundamentally different from the traditional network. Network equipment in a traditional network is in distributed control, the network equipment needs to be individually deployed and configured one by one, control and forwarding functions are tightly coupled in the same equipment, an administrator can only influence forwarding behaviors in a mode of configuring a network protocol, and the network protocol has a specific mode and cannot be freely changed. The control and forwarding of the software defined network are separated, the software defined network has an open programmable interface and a centralized network control function, network services running on the software defined network can be controlled by an automatic application program, an administrator can directly control the forwarding behavior of the equipment, and any forwarding behavior among network nodes and nodes can be planned through application layer software as desired, so that the control is not influenced by any protocol.
The OpenFlow standard solves the problems of how items required by forwarding layer equipment and used for matching with data streams are issued to a forwarding layer by a control layer, how forwarding strategy intentions are realized, how feedback is realized in actual scenes and the like, and has two main contributions, namely standard formulation of a communication channel interface between a switch southbound interface module and a controller, and realization of a multi-stage flow table structure for really executing a controller issuing strategy in the switch equipment.
The problems of insufficient performance, potential safety hazard, exhaustion of domain name resources, unilateral meaning of network space and the like of the traditional IP network are exactly the cause of the problems, and a plurality of requirements of the future Internet cannot be met. Therefore, the call for constructing the future network architecture is quite high, various future network architectures and novel network identifiers are generated, the defects of the traditional IP identifiers are overcome aiming at different aspects respectively, and the design and implementation differences enable the future network architecture and the novel network identifiers to have different application scenes. Under the differentiation and customization requirements of network scenes, how these new identifiers and traditional IP identifiers coexist in parallel in the same network and receive unified management becomes a current research hotspot in the future network field.
A multi-identification network system born under a multi-identification scene in a future network supports the parallel coexistence of various novel identifications such as identities, services, contents, hyperbolic characteristics and the like and traditional IP identifications, provides unified generation, management and analysis services for the various identifications, and provides a data transmission mode completely different from the traditional IP, solves the problems of semantic overload and IP identification centralized management of the IP network, and is more suitable for the requirements of high reliability and low time delay of the future network and the scene of internet of everything.
The multi-identification network system architecture is divided into a multi-identification system of a management surface and a multi-identification router of a data surface, wherein the former is responsible for the unified management and registration of all identifications of the whole network, and the latter is responsible for the analysis, processing and forwarding of multi-identification network packets. The multi-identification network system aims to construct a future network space with multiple edges, multiple identification addressing, endogenous safety and high-efficiency availability, shares the network space with countries, realizes the common management and control of public network space and the high autonomy and mutual noninterference of private space, and ensures the network space ownership of each country, particularly developing countries.
The data plane topology of a typical multiple identity network architecture is shown in fig. 2, and the multiple identity network architecture has the following characteristics: (1) the network topology has connectivity, meaning that any two routers have at least one link layer reachable path; (2) each router has an identity as a unique identifier of the router, the multi-identification network adopts the hash of the public key of the equipment as the identity, and the global uniqueness of the equipment can be verified during registration; (3) in the data plane, due to the characteristics of the multi-identification network, the identification types to which the source identifiers and the destination identifiers of the network packets forwarded in the data plane belong are the same, and the identification type is set as the identification type of the network packet in the embodiment; besides the identity, if a router supports an identification type, it will possess at least one identifier belonging to the type, and can send out the network packet belonging to the identification type, and when receiving the network packets sent by other routers, it can parse, process and address the network packet belonging to the identification type. In the example multi-identity network in fig. 2, there are 3 identification types in addition to the identity, and the identification type supported by each router is marked after the router number, where H denotes a hyperbolic identifier, IP denotes an IP identifier, and C denotes a CCN content identifier; (5) if the router does not support a certain identification type, when the router encounters a network packet of the identification type, the network packet cannot be analyzed, and because a corresponding routing table does not exist, the router cannot perform addressing routing on the network packet.
All identifiers supported by any router may be divided into different sets according to the type of identification. As shown in fig. 3, this example defines a set of all identifiers belonging to the same identification type as an Identification Plane (IP). For example, a set of all content identifiers may be defined as a content identification plane.
For a concrete identification plane, the identification topology can be abstracted according to the mapping relationship of the identifiers to the router topology, as shown in fig. 4. Since some routers do not support this type of identification, the identification topology in the identification plane may not have connectivity. The present invention defines an Identifier Cluster (IC) as a subset of the Identifier space, and any two identifiers have at least one reachable path in the identification topology of the identification plane. Because the router which does not support the identification type can not analyze and forward the network packet of the type, if two identifiers are in the same identification cluster in the identification plane, the two represented routers can reach the network layer of the identification type; otherwise, if the cluster is different, the route between the two represented routers needs to cross the cluster.
In the identification cluster, the identifiers may be divided into Edge Identifiers (EI) and Inner Identifiers (II) according to the positions of the identifiers. Wherein, the router represented by the edge identifier is not supported by at least one router in a plurality of routers adjacent to the router topology. For example, in FIG. 4, C2 in identification cluster 0 is an edge identifier and C1 is an internal identifier. It can be deduced that in a multi-identity network, a unique or any identity cluster of the identity plane will contain at least one edge identifier as long as there are one or more routers that do not support an identity type.
In the embodiment, the intra-cluster routing and the cross-cluster routing are distinguished by judging whether the source identifier and the destination identifier of the network packet are in the same identification cluster, so that the intra-cluster routing and the cross-cluster routing correspond to the intra-cluster table and the outer cluster table respectively. If the source identifier and the destination identifier of the network packet are in the same cluster, the forwarding of the network packet only needs to pass through routers represented by other identifiers in the same cluster; otherwise, if the cluster is different, the forwarding process of the cluster must cross the cluster and pass through the router which does not support the identification type. The cross-cluster routing process is complex, and takes a network packet with a source identifier of C19 and a destination identifier of C5 in fig. 3 as an example, the cross-cluster routing process has the following 3 steps: step (1), the network packet is sent from a source identifier C19 and forwarded to an edge identifier C16 of a source cluster through an identifier C20 of the same cluster; step (2), forwarding the network packet from the source cluster edge identifier C16 to an edge identifier C9 of the destination cluster through a Router12 which does not support the identification type; and (4) forwarding the packet in the step (3) from the destination cluster edge identifier C9 to the destination identifier C5 to complete the whole routing process. And (3) the routers passed by the step (2) do not support the current identification type, do not have corresponding routing tables, and cannot perform addressing routing on the routers. The present example has fully considered and solved this problem in the design of a multi-identity routing strategy.
Based on the research on the topology in the multi-identifier network and the analysis of the routing process, the multi-identifier routing strategy has the following difficulties to be solved: (1) in a network with multiple identifiers coexisting, different identifier types have routing tables with different forms and analysis processing procedures, and because of the rich diversity of the identifier types in the network with multiple identifiers, the difference among the identifier types needs to be fully considered, and a routing strategy is designed and realized to manage the analysis and forwarding procedures of all network packets in the whole network; (2) the multi-identifier routing has the requirement of crossing identifier domains, namely in a multi-identifier network with an accessible two-node link, a network packet may pass through a router which does not support the identifier type in the forwarding process from a source identifier to a destination identifier, and a routing strategy needs to design a processing and forwarding scheme after the router encounters an unknown identifier type; (3) the deployment and management of routing strategies need to be adapted to large-scale networks, and an automatic and programmable mode is considered.
As a novel future network optional scheme, the multi-identification network system architecture takes the identity identification as a center and supports parallel coexistence of various identifications including a traditional IP identification, a novel content identification, a hyperbolic identification and the like on a data plane and unified management on a management plane. However, in the scenario of coexistence of multiple identifiers, the data plane has complex and diverse routing modes, and has the requirements of routing strategy collaborative management, cross-identifier domain routing, automatic deployment, programmable maintenance and the like.
Therefore, the embodiment innovatively designs a novel distributed flow table structure suitable for a multi-identification network system and a matching method thereof based on a multi-level flow table in a software defined network, and cooperatively manages routing methods of all identification types of a forwarding layer. The forwarding table of the unidentifiable identifier can guide the router to correctly forward the network packet of the identifier type which is not supported by the router, thereby realizing the requirement of routing addressing across the identifier domain. On the basis, the controller is introduced into the multi-identification network system, so that the separation of control and forwarding is realized, and the automatic deployment and the maintenance of complex topology can be supported.
The software defined network is a novel network architecture, and the basic idea is to separate and transfer the control function originally bound with the underlying network router into an upper controller, and abstract the underlying network into a logically programmable whole. Most of the policy and management services run in the controller, and a flow table is issued through a southbound interface, so that the policy and management services are realized in the actual topology of a forwarding layer. The device of the forwarding layer only needs to analyze the received network packet and process and forward the network packet according to the matching result of the multilevel flow tables in the forwarding layer, thereby effectively simplifying the design and management of the network. The embodiment innovatively provides a distributed flow table matching method based on software definition, and aims to utilize the advantages of a multi-identification network system and overcome the defects of the multi-identification network system.
More specifically, as shown in fig. 1, this example provides a distributed flow table matching method based on software definition in a multi-identity network architecture, including:
step S1, separating the control and the forwarding of the multi-label router to form a three-layer multi-label router framework comprising an application layer, a control layer and a forwarding layer;
step S2, unifying the network packet format by the multi-identification network packet coding mode;
step S3, setting a distributed flow table structure, and controlling the flow table jumping direction through table-id allocation and the next table-id field of the table entry;
step S4, matching the distribution flow table in the multi-identification router;
step S5, when the forwarding layer receives the network packet that can not be processed, the forwarding layer sends the network packet content through packet-in information.
Because the identification clusters of different identification planes in the multi-identification network are distributed differently, the positions of edge identifiers are different, and the information according to the routing strategy is various and complex, the controller is introduced in the invention, as shown in fig. 5, in the step S1, the control and forwarding of the multi-identification router are separated, so as to form a three-layer multi-identification routing architecture formed by an application layer, a control layer and a forwarding layer, wherein the application layer and the control layer realize communication through a northbound interface, the forwarding layer and the control layer realize communication through a southward interface, the control layer comprises a hyperbolic identification controller, a content identification controller, a topology controller and an IP identification controller, and the hyperbolic identification controller, the content identification controller and the IP identification controller respectively realize communication with the topology controller through an east-west interface.
The network packet formats for different identification types are different, so the present example first unifies the follow-group formats. In step S2 of this example, the multi-Identifier network packet coding method adopts a TLV (Type-Length-Value) format including 5 fields including a Source Identifier (Source Identifier), a Destination Identifier (Destination Identifier), an Identifier Type (Identifier Type), a Transit Identifier (Transit Identifier), and network packet raw Data (Data). The network packet proposed in this example carries an identification Type (Identifier Type) and a Transit Identifier (Transit Identifier) as additional fields with respect to the original format of the network packet.
Before sending out the network packet, the source router packages the network packet according to the TLV format, indicates the identification type in the network packet, and sets the value of the transit identifier as the destination identifier; after the router on the packet forwarding path analyzes each field of the network packet, the type of the network packet is identified through the field of the identification type, flow table matching is carried out by taking the transit identifier as a matching field, and custom operation and addressing forwarding are carried out according to a matching result; and when receiving the network packet, the destination router extracts the original content and processes the original content.
In this embodiment, the forwarding flow table structure specified by the openflow protocol is not changed, but the flow table hopping direction is controlled by the reasonable allocation of table-id and the next table-id field of the table entry, so as to form an expandable distributed flow table structure. In this example, the distributed Flow Table structure in step S3 includes a Recognizable-identifiable Type Table (RTT), an Unrecognizable-identifiable Forwarding Table (UFT), a Multi-identifiable Flow Table (MFT), and a Recognizable-identifiable Forwarding Table (RFT).
The identifiable type table (RTT) in this example is a first-stage flow table of a distributed flow table structure, and is configured to record all identifier types supported by a current router, where a table-id of the table-id is 0, that is, an entry of the whole flow table structure, and the table is used as the first-stage table, and the identifiable type table (RTT) is similar to a distributor, and selects a next-stage flow table using a next table-id field; table-ID is used to represent the ID number of the current flow table, also called the flow table number, and represents the stage number of the flow table; the next table-id field indicates the sequence number of the next-stage flow table. The unidentifiable identification forwarding table (UFT) is used for recording a forwarding port of an identifier which cannot be identified by the current router, and the table-id of the UFT is 1. The multi-identification flow table (MFT) provides processing and forwarding instructions for each identification type of network packets, and replaces the flow table for forwarding with the identifiable forwarding table, and the table-ids of the multi-identification flow table are uniformly distributed by the controller from 2, wherein the flow table dedicated for forwarding is replaced with the following identifiable forwarding table (RFT), for example, the CCN-MFT used by the content identifier is a three-level flow table, and each level of flow table respectively replaces the functions of a CS table, a PIT table and a FIB table, wherein the flow table of the replacement routing information table FIB used for addressing and forwarding of the interest packet is replaced, and the flow table replacing the PIT of the pending request table of the interest packet is automatically generated in a router on the forwarding path of the interest packet under the mechanism of CCN pull communication without excessive intervention of the controller, so that replacement is not needed. The identifiable identification forwarding table (RFT) is used for recording a forwarding port of an identifier which can be identified by the router, and is divided into an intra-cluster table and an outer-cluster table according to whether the identifier of the table entry is clustered with the identifier mapped by the router on the identification plane.
If the port link is disconnected or other abnormal conditions cause the port of the router to fail, the flow table updating operation is triggered, and the condition is reported to the control layer through packet-in information, so that the accuracy of the table entry is ensured. On the basis, the embodiment also effectively improves the real-time performance and the accuracy of the table entry by setting the flow table scale/the table entry scale and the table entry survival time, and further improves the hit rate and the matching rate of the flow table.
Specifically, in the distributed flow table structure of this embodiment, table entry scales are preset for all flow tables, where the preset table entry scales refer to table entry scales of preset flow tables, and can be set and adjusted by user according to actual needs, and are also called as flow table scales/table entry scales, and when the number of table entries of a flow table exceeds the set number of the table entry scales, old table entries are sequentially updated and replaced by a cache elimination strategy; meanwhile, all the entries of all the flow tables are preset with a first life time attribute and a second life time attribute, the first life time attribute is used for calculating the time inserted into the table, and the first life time attribute is continuously increased according to the time after the entries are generated; the second survival time attribute is used for calculating the time without flow matching, and the second survival time attribute automatically detects the time without flow matching after the table entry is generated and starts to increase; and if any one of the first lifetime attribute and the second lifetime attribute in the flow table exceeds a preset lifetime threshold value of the flow table, automatically deleting the table entry, wherein the preset lifetime threshold value of the flow table refers to a preset lifetime threshold value of the flow table, and the threshold value can be customized and adjusted for the first lifetime attribute and the second lifetime attribute.
It should be noted that, in this example, the flow table is divided into a cluster inner table and a cluster outer table according to whether the identifier of the entry of the flow table and the identifier mapped by the router on the identification plane are clustered; the method is characterized in that the preset table item scale of the cluster outer surface is set to be larger than that of the cluster inner surface, and the preset survival time threshold of the cluster inner surface is larger than that of the cluster outer surface.
When the router encounters a network packet that does not support the identifier type, the router also forwards the packet according to a matching result of the Unidentifiable Forwarding Table (UFT). The unidentifiable identification forwarding table (UFT) can guide the router to correctly forward an identification type network packet which is not supported by the router, and cross-cluster routing in a multi-identification network is realized. Meanwhile, the matching process of the four types of flow tables which are designed specifically in the embodiment is used as a forwarding layer cooperative management and routing strategy, and the diversity of the identification types is fully considered.
The matching sequence of the distributed flow table in the multi-identity router of this embodiment is as shown in fig. 6, and the process of matching the distributed flow table in the multi-identity router in step S4 includes the following steps:
step S401, a network packet flows into a recognizable identifier type table (RTT), the identifier type is used as a matching field, the network packet is not forwarded after matching, the network packet flows into a next-stage flow table according to a next table-id field, when the network packet is matched with one recognizable identifier type table (RTT), the next-stage flow table is a multi-stage flow table inlet of the identifier type, and step S402 is executed; otherwise, the next-level flow table is determined to be a default unidentifiable identification forwarding table (UFT) with the lowest priority, and step S403 is executed;
step S402, the network packet flows into a multiple identification flow table (MFT) corresponding to the hit identification type, the flow table used for forwarding is replaced and called as an identifiable identification forwarding table (RFT), and when the network packet is matched, the network packet flows into a cluster inner table and a cluster outer table in sequence;
step S403, the network packet flows into an unidentifiable identification forwarding table (UFT), the matching field is a transit identifier, and the network packet is directly forwarded after being matched; if the table entry of the flow table is not hit, the router jumps to step S5 to send a packet-in message through the southbound interface, where the packet-in message type is defined as Unidentifiable Forwarding Table (UFT) miss, and the number is 1;
step S404, the network packet hits in any flow table, the matching process is left, the forwarding module of the router takes over the network packet, and the action in the network packet execution action set is sent to a designated port for forwarding;
step S405, in the running process of the router, when a port link is disconnected or an abnormal condition causes a port of the router to fail, flow table updating operation is triggered, the port link is disconnected or the abnormal condition is reported to a control layer, the type of the packet-in message is defined as the port failure, and the serial number is 0.
In this example, steps S401 to S405 are not sequential steps, for example, steps S404 and S405 belong to steps that can implement off-matching or exception triggering update in the matching process.
In step S402 in this example, the process of sequentially flowing network packets into the cluster internal table and the cluster external table is as follows:
step S4021, in the cluster internal table, the identifier field is the highest priority of the table entry of the identifier of the router itself, and the self-defined operation fields of all the table entries are empty except the table entries of the identifier of the router itself; the network packet flows into the cluster inner table, the self-defining operation is immediately executed after matching, whether the destination identifier of the network packet is the same as the identifier of the router is detected, if so, the packet is received, namely the network packet reaches the destination router; otherwise, replacing the transit identifier field of the network packet with the destination identifier, and continuing to realize matching with other flow tables in the cluster inner table;
step S4022, network packet flows into cluster exterior, the transit identifier field of network packet is replaced by effective self-defined operation field in table item of cluster exterior, if the cluster exterior is not hit, the type of packet-in message sent on router is defined as identifiable forwarding table (RFT) miss, and the serial number is 2.
In the OpenFlow protocol standard, when a forwarding layer device encounters a network packet which cannot be processed, packet-in information can be used for forwarding the network packet content, a controller reads the network packet information including a source identifier, a destination identifier and a transit identifier and acquires a router identity identifier of the forwarded information, the identifier controller also acquires an identifier of a router in an identifier plane, a flow table item is generated after strategy formulation and issued, and a corresponding flow table in the router is updated
In step S5 in this example, when the forwarding layer receives a network packet that cannot be processed, implementing corresponding processing and flow table updating according to the packet-in message type includes the following steps:
step S501, if the packet-in message type is port failure (port failure), the number is 0, which is usually caused by network information update delay, in this example, the message is sent to all connected controllers through a router, and the controllers update internal topology information or identification information, so as to provide a real-time routing decision for a forwarding layer;
step S502, if the packet-in message type is unidentified forwarding table miss (unidentified UFT), and the number is 1, a router that does not support the identification type of the network packet may have the situation that the unidentified forwarding table miss, and sends the packet-in message to the topology controller for processing. The field value of the transit identifier of the network packet with the error is usually the edge identifier of the destination cluster of the network packet, in this example, a request is sent to a corresponding identifier controller through a topology controller, whether the field of the transit identifier is the edge identifier is checked, if so, the optimal path planning from a single point to the single point is carried out from the current position to the position of the transit identifier, the transit identifier is used as a matching field, a next hop originating port in the optimal path is used as an entry of a forwarding port field, and the entry is finally encapsulated through an entry southbound interface module and is issued to an unidentifiable identifier forwarding table of a router; if not, forming an error log;
step S503, if the packet-in message type is identifiable forwarding table miss (unidentifying RFT) and the number is 2, a router supporting the identification type of the network packet may have such a situation, and the packet-in message is sent to a corresponding identification controller for processing, where the field value of the transit identifier of the network packet in which such an error occurs may be an edge identifier or a destination identifier of a source cluster, and the identification controller needs to execute a multi-identifier routing policy based on a clustering result, so that the identification controller of this example first determines whether the identifier of the current router and the transit identifier of the network packet are in the same cluster, and then sends the table entry according to the determination result.
Likewise, steps S501 to S503 are not sequential steps, but are parallel selection steps for performing different processes according to different packet-in message types.
More specifically, step S503 in this embodiment includes the following sub-steps:
step S5031, if the router identifier is clustered, the optimal path planning is realized from the current router identifier to the network packet transit identifier from single point to single point, the transit identifier is formed as a matching field, the next hop originating port in the optimal path is used as an entry of a forwarding port field, and the entry is issued to a cluster inner table of a router capable of identifying a forwarding table;
step S5032, if the cluster is different, firstly judging whether the transit identifier or the router identifier has an edge identifier, if not, executing a cross-cluster routing strategy to plan an optimal path, and finally forming a path with the transit identifier as a matching field, and a next hop originating port in the optimal path as an entry of a forwarding port field; if the router identifier is an edge identifier, the transit identifier is replaced by a destination cluster edge identifier on the optimal path, and the table entry is issued to a cluster exterior of the router identifiable forwarding table; if the transit identifier is an edge identifier, the edge identifier is replaced by a source cluster edge identifier on the optimal path, and the table entry is issued to a cluster exterior of the router capable of identifying the forwarding table.
In summary, in this example, based on a multi-stage flow table of a software-defined network, a distributed flow table structure and a matching method thereof are designed for a multi-identifier network system, which can cooperatively manage all identifier-type routes in a forwarding layer of the multi-identifier network, and can also guide a router to correctly forward an identifier-type network packet that is not supported by the router through an unidentifiable identifier forwarding table, thereby meeting the requirement of routing addressing across identifier domains in the multi-identifier network; on the basis, the separation of control and forwarding is realized by introducing the controller, so that the multi-identifier network can support automatic deployment and maintenance of complex topology, and the embodiment has higher routing convergence speed and lower router load.
The foregoing is a more detailed description of the invention in connection with specific preferred embodiments and it is not intended that the invention be limited to these specific details. For those skilled in the art to which the invention pertains, numerous simple deductions or substitutions may be made without departing from the spirit of the invention, which shall be deemed to belong to the scope of the invention.
Claims (8)
1. A distributed flow table matching method based on software definition in a multi-identification network system is characterized by comprising the following steps:
step S1, separating the control and forwarding of the multi-label router to form a three-layer multi-label router structure including an application layer, a control layer and a forwarding layer;
step S2, unifying the network packet format by the multi-identification network packet coding mode;
step S3, setting a distributed flow table structure, and controlling the flow table jumping direction through table-id allocation and the next table-id field of the table entry;
step S4, matching the distribution flow table in the multi-identification router;
step S5, when the forwarding layer receives the network packet which can not be processed, the forwarding layer sends the network packet content through packet-in information;
the multi-identification network grouping encoding mode adopts a TLV format which comprises 5 fields including a source identifier, a destination identifier, an identification type, a transit identifier and network packet original data; before sending out a network packet, the source router packages the network packet according to the TLV format, indicates the identification type in the network packet, and sets the value of the transit identifier as a destination identifier; after the router on the packet forwarding path analyzes each field of the network packet, the type of the network packet is identified through the field of the identification type, flow table matching is carried out by taking the transit identifier as a matching field, and self-defining operation and addressing forwarding are carried out according to a matching result; when the destination router receives the network packet, the original content is extracted for processing;
the distributed flow table structure in step S3 includes a recognizable identifier type table, an unrecognizable identifier forwarding table, a multiple identifier flow table, and a recognizable identifier forwarding table; the identifiable type table is a first-level flow table of a distributed flow table structure and is used for recording all identification types supported by a current router and selecting a next-level flow table by using a next table-id field; the unidentifiable identification forwarding table is used for recording a forwarding port of an identifier which cannot be identified by the current router; the multi-identification flow table provides processing and forwarding instructions for each identification type of network packet, and replaces the flow table for forwarding with the identifiable identification forwarding table; the identifiable forwarding table is used for forwarding ports that record identifiers that can be identified by routers.
2. The method according to claim 1, wherein in step S1, the application layer and the control layer communicate with each other through a northbound interface, the forwarding layer and the control layer communicate with each other through a southbound interface, the control layer includes a hyperbolic id controller, a content id controller, a topology controller, and an IP id controller, and the hyperbolic id controller, the content id controller, and the IP id controller communicate with the topology controller through an east-west interface respectively.
3. The distributed flow table matching method based on software definition in the multi-identification network system according to claim 2, wherein table entry scales are preset for all flow tables in the distributed flow table structure, and when the number of table entries of a flow table exceeds the set number of the table entry scales, old table entries are sequentially updated and replaced through a cache elimination strategy; meanwhile, all the entries of all the flow tables are preset with a first life time attribute and a second life time attribute, the first life time attribute is used for calculating the time inserted into the table, and the first life time attribute is continuously increased according to the time after the entries are generated; the second lifetime attribute is used for calculating the time without flow matching, and the second lifetime attribute automatically detects the time without flow matching after the list item is generated and starts to increase; and if any one of the first lifetime attribute and the second lifetime attribute in the flow table exceeds a preset lifetime threshold value of the flow table, automatically deleting the entry.
4. The distributed flow table matching method based on software definition in the multi-identification network architecture according to claim 3, wherein the flow table is divided into a cluster inner table and a cluster outer table according to whether the identifier of the flow table entry is in the same cluster as the identifier mapped by the router on the identification plane; and setting the scale of the preset table item of the cluster outer surface to be larger than the scale of the preset table item of the cluster inner surface, and setting the preset survival time threshold of the cluster inner surface to be larger than the preset survival time threshold of the cluster outer surface.
5. The distributed flow table matching method based on software definition in the multi-identity network architecture according to claim 1 or 2, wherein the step S4 is to match the distributed flow tables in the multi-identity router, and comprises the following steps:
step S401, a network packet flows into a recognizable identifier type table, the network packet flows into a next-stage flow table according to a next table-id field after being matched by taking the identifier type as a matching field, when the network packet is matched with the recognizable identifier type table, the next-stage flow table is a multi-stage flow table inlet of the identifier type, and step S402 is executed; otherwise, judging that the next-level flow table is the default unidentifiable identification forwarding table with the lowest priority, and executing the step S403;
step S402, the network packet flows into a multi-identification flow table corresponding to the hit identification type, the flow table used for forwarding is replaced and called as an identifiable identification forwarding table, and when the network packet is matched, the network packet flows into a cluster inner table and a cluster outer table in sequence;
step S403, the network packet flows into an unidentifiable identifier forwarding table, the matching field is a forwarding identifier, and the network packet is directly forwarded after being matched; if the table entry of the flow table is not hit, the router jumps to step S5 to send a packet-in message through the southbound interface, where the packet-in message type is defined as an unrecognizable forwarding table miss, and the number is 1;
step S404, the network packet hits in any flow table, the matching process is left, the forwarding module of the router takes over the network packet, and the action in the network packet execution action set is sent to a designated port for forwarding;
step S405, in the running process of the router, when the port link is disconnected or the abnormal condition causes the port of the router to fail, the operation of updating the flow table is triggered, and the disconnection or abnormal condition of the port link is reported to the control layer, wherein the type of the packet-in message is defined as the port failure, and the serial number is 0.
6. The method according to claim 5, wherein in step S402, the process of sequentially flowing network packets into the cluster internal table and the cluster external table is as follows:
step S4021, the table entries of the identifiers of the routers in the cluster are excluded, and the custom operation fields of all the table entries are null; the network packet flows into the cluster inner table, the self-defined operation is executed, whether the destination identifier of the network packet is the same as the identifier of the router is detected, and if the destination identifier of the network packet is the same as the identifier of the router, the network packet reaches the destination router; otherwise, replacing the transit identifier field of the network packet with the destination identifier, and continuing to realize matching with other flow tables in the cluster;
step S4022, the network packet flows into the cluster exterior, the transit identifier field of the network packet is replaced by the effective self-defined operation field in the table entry of the cluster exterior, if the cluster exterior is not hit, the type of the packet-in message sent by the router is defined as the forwarding table which can be identified to miss, and the serial number is 2.
7. The distributed flow table matching method based on software definition in a multi-identity network architecture according to claim 6, wherein in step S5, when a forwarding layer receives a network packet that cannot be processed, corresponding processing and flow table updating are implemented according to a packet-in message type, including the following steps:
step S501, if the packet-in message type is port failure and the serial number is 0, the router sends the message to all connected controllers, and the controllers update internal topology information or identification information;
step S502, if the packet-in message type is unidentifiable identifier forwarding table, the serial number is 1, the topology controller firstly sends a request to the corresponding identifier controller, checks whether the transit identifier field is an edge identifier, if yes, the optimal path planning from a single point to the transit identifier position is carried out from the current position, the transit identifier is used as a matching field, the next skip originating port in the optimal path is used as an item of a forwarding port field, and the item is finally encapsulated and issued to the unidentifiable identifier forwarding table of the router through an item southward interface module; if not, forming an error log;
step S503, if the packet-in message type is identifiable to identify the forwarding table as missing, the number is 2, the identification controller firstly judges whether the identifier of the current router and the transit identifier of the network packet are in the same cluster, and then the table entry is issued according to the judgment result.
8. The method for matching a software-defined-based distributed flow table in a multi-identity network architecture according to claim 7, wherein the step S503 comprises the following sub-steps:
step S5031, if the router identifiers are clustered, the optimal path planning is realized from the current router identifier to the network packet transit identifier from single point to single point, the transit identifier is formed as a matching field, the next hop originating port in the optimal path is used as an entry of a forwarding port field, and the entry is issued to a cluster inner table of a router capable of identifying and identifying a forwarding table;
step S5032, if the cluster is different, firstly judging whether the transit identifier or the router identifier has an edge identifier, if not, executing a cross-cluster routing strategy to plan an optimal path, and finally forming a path with the transit identifier as a matching field, and a next hop originating port in the optimal path as an entry of a forwarding port field; if the router identifier is an edge identifier, the transit identifier is replaced by a destination cluster edge identifier on the optimal path, and the table entry is issued to a cluster exterior of the router identifiable forwarding table; if the transit identifier is an edge identifier, the edge identifier is replaced by a source cluster edge identifier on the optimal path, and the table entry is issued to a cluster exterior which can identify the forwarding table of the router.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110963002.0A CN113630323B (en) | 2021-08-20 | 2021-08-20 | Software definition-based distributed flow table matching method in multi-identification network system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110963002.0A CN113630323B (en) | 2021-08-20 | 2021-08-20 | Software definition-based distributed flow table matching method in multi-identification network system |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113630323A CN113630323A (en) | 2021-11-09 |
CN113630323B true CN113630323B (en) | 2022-07-15 |
Family
ID=78387023
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110963002.0A Active CN113630323B (en) | 2021-08-20 | 2021-08-20 | Software definition-based distributed flow table matching method in multi-identification network system |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113630323B (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114222007B (en) * | 2022-02-22 | 2022-07-01 | 北京凌云创想科技有限公司 | Hybrid cloud communication method and system |
CN116600352B (en) * | 2023-07-19 | 2023-09-15 | 北京最终前沿深空科技有限公司 | Space-earth integrated QoS consistency processing method, qoS convergent and QoS orchestrator |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9590898B2 (en) * | 2015-02-17 | 2017-03-07 | Telefonaktiebolaget L M Ericsson (Publ) | Method and system to optimize packet exchange between the control and data plane in a software defined network |
CN112291295A (en) * | 2020-08-11 | 2021-01-29 | 佛山赛思禅科技有限公司 | High-safety mobile office network based on multi-identification network system |
CN112804152B (en) * | 2020-12-30 | 2022-06-17 | 佛山赛思禅科技有限公司 | Method and system for supporting continuous evolution of packet communication network addressing route identification |
-
2021
- 2021-08-20 CN CN202110963002.0A patent/CN113630323B/en active Active
Also Published As
Publication number | Publication date |
---|---|
CN113630323A (en) | 2021-11-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6395882B2 (en) | Network operating system for managing and securing a network | |
Huang et al. | A survey of deployment solutions and optimization strategies for hybrid SDN networks | |
Tuncer et al. | Adaptive resource management and control in software defined networks | |
CN113630323B (en) | Software definition-based distributed flow table matching method in multi-identification network system | |
US9203743B2 (en) | Packet forwarding system, control device, forwarding device and method and program for preparing processing rules | |
CN105871718B (en) | A kind of SDN inter-domain routing implementation method | |
US20160065471A1 (en) | Communication system, communication device, controller, and method and program for controlling forwarding path of packet flow | |
CN110545194B (en) | Network topology generation method and device | |
CN109495391A (en) | A kind of security service catenary system and data packet matched retransmission method based on SDN | |
CN105391635A (en) | Network virtualization method based on software defined network (SDN) | |
US10069648B2 (en) | Communication system, control apparatus, communication control method and program | |
CN110120923B (en) | Hash-Trie-based flow rule conflict detection method | |
CN103957157B (en) | Route method for network interface to define forwarding rule | |
US20170063732A1 (en) | Divided hierarchical network system based on software-defined networks | |
CN114401516B (en) | 5G slice network anomaly detection method based on virtual network traffic analysis | |
CN105794156A (en) | Communication system, communication method, network information combination apparatus, and network information combination program | |
CN105637806A (en) | Method and apparatus for determining network topology, and centralized network state information storage device | |
Chaudhary et al. | A comprehensive survey on software‐defined networking for smart communities | |
US20200044960A1 (en) | Network automatic link backup method and network system thereof | |
CN104767681A (en) | Data center network routing method capable of tolerating error connection | |
CN104995879A (en) | Communication system, communication method, control device, and control device control method and program | |
US20150098474A1 (en) | System and method for managing vlan associations with network ports | |
Leqing | How to realize the smooth transition from traditional network architecture to SDN | |
CN104168129A (en) | A network element of a software-defined network | |
CN114189468A (en) | Multi-identification network system routing method based on identification clustering |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |