WO2016188032A1 - Data forwarding method and system using flow table - Google Patents

Data forwarding method and system using flow table Download PDF

Info

Publication number
WO2016188032A1
WO2016188032A1 PCT/CN2015/093054 CN2015093054W WO2016188032A1 WO 2016188032 A1 WO2016188032 A1 WO 2016188032A1 CN 2015093054 W CN2015093054 W CN 2015093054W WO 2016188032 A1 WO2016188032 A1 WO 2016188032A1
Authority
WO
WIPO (PCT)
Prior art keywords
flow path
data
flow table
virtual
virtual flow
Prior art date
Application number
PCT/CN2015/093054
Other languages
French (fr)
Chinese (zh)
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 上海斐讯数据通信技术有限公司
Publication of WO2016188032A1 publication Critical patent/WO2016188032A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing

Definitions

  • the present invention relates to a data forwarding technology, and in particular, to a method and system for forwarding data using a flow table.
  • OpenFlow is a new network exchange model proposed by Stanford University in 2007 to support network innovation research.
  • One of OpenFlow's design goals is to separate the control functions of the network device from the forwarding functions, and then concentrate the control functions on the remote controller.
  • the OpenFlow switch is only responsible for simple and high-speed data forwarding locally.
  • the flow table During the operation of an OpenFlow switch, the basis for data forwarding is the flow table.
  • the so-called flow table can be regarded as an abstraction of OpenFlow's data forwarding function for network devices.
  • TCAM ternary content addressable memory
  • FIB FIB
  • MAC MAC
  • MPLS Lable ACL tables
  • the matching fields of each table are of different lengths, they can be designed separately and have a maximum capacity limit in order to achieve the minimum overhead.
  • the FIB, MAC, MPLS Lable table, and the longer ACL table with shorter matching lengths are no longer distinguished, and the flow table entries with the largest length are always used instead.
  • the matching field length of the flow table is up to 252 bits, while the general IPv4RIB TCAM matching field is only 60 to 80 bits long, and its overhead is more than three times.
  • OpenFlow v1.1 designed a multi-level flow table, which is to extract the feature of the flow table, and then break the matching process into multiple steps to form a pipeline processing form, thereby reducing the total number of flow table records.
  • the actual physical implementation of multi-level flow meters over three levels is affected by factors such as chip complexity and cost, and the feasibility is relatively low.
  • the maximum number of stream table levels that have been implemented so far is three.
  • the present invention aims to provide a method and system for forwarding data by using a flow table, which is used to solve the problem that the resources of the OpenFlow switch cannot be utilized efficiently in the prior art.
  • the present invention provides a method for forwarding data using a flow table, including: Presetting a virtual flow path formed by at least one flow table according to the service type of the data; selecting a virtual flow path according to the service type of the received data, and obtaining the flow according to the received data in the selected virtual flow path The value of each flow table is selected, and the next virtual flow path is selected until the attribute of the last flow table in the selected virtual flow path is non-jumpable, according to the value pair of each flow table in the last virtual flow path. The received data is forwarded.
  • the manner of presetting the virtual flow path formed by the at least one flow table according to the service type of the data includes: providing a configuration interface for inputting the service type and the flow table, according to the user in the configuration interface The design operation of the service type and the corresponding virtual flow path generates a virtual flow path.
  • the method further includes: opening a buffer for the received data, and storing the received data into the buffer.
  • the manner of selecting a virtual flow path according to the service type of the received data includes: selecting a virtual flow corresponding to the data in the cache area according to the priority of each preset service type from high to low. path.
  • the virtual flow path includes a port for forwarding data, and correspondingly, when a virtual flow path is selected according to the service type of the received data, and the data is transferred in the selected virtual flow path according to the received data.
  • the value of each flow table obtained is selected, and the next virtual flow path is selected until the attribute of the last flow table in the selected virtual flow path is non-jumpable, according to each flow table in the last virtual flow path.
  • the method further includes: scheduling, according to the preset scheduling policy, different data that needs to use the same flow table and/or port in the respective virtual flow path.
  • the present invention further provides a system for forwarding data by using a flow table, comprising: a preset unit, configured to preset a virtual flow path formed by at least one flow table according to a service type of the data; and a forwarding unit, configured to: Selecting a virtual flow path according to the service type of the received data, and selecting a next virtual flow path according to the value of each flow table obtained when the received data flows in the selected virtual flow path until the selected virtual If the attribute of the last flow table in the flow path is non-jumpable, the received data is forwarded according to the value of each flow table in the last virtual flow path.
  • the preset unit is configured to provide a configuration interface for inputting a service type and a flow table, and generating a virtual according to a service type performed by the user in the configuration interface and a corresponding virtual flow path design operation.
  • the flow path is configured to provide a configuration interface for inputting a service type and a flow table, and generating a virtual according to a service type performed by the user in the configuration interface and a corresponding virtual flow path design operation.
  • the system further includes: a buffering unit, configured to open a buffer area for the received data and store the received data before the forwarding unit selects a virtual flow path according to the service type of the received data.
  • a buffering unit configured to open a buffer area for the received data and store the received data before the forwarding unit selects a virtual flow path according to the service type of the received data.
  • the buffer area is configured to open a buffer area for the received data and store the received data before the forwarding unit selects a virtual flow path according to the service type of the received data.
  • the forwarding unit is further configured to sequentially select a virtual flow path corresponding to the data in the buffer area according to a preset priority of each service type.
  • the virtual flow path includes a port for forwarding data, and correspondingly, in a process in which the forwarding unit performs forwarding processing for multiple data, the system further includes: a scheduling unit, configured to preset according to the preset The scheduling policy will be scheduled in the respective virtual flow path using different data of the same flow table and/or port.
  • a scheduling unit configured to preset according to the preset The scheduling policy will be scheduled in the respective virtual flow path using different data of the same flow table and/or port.
  • the method and system for forwarding data by using the flow table of the present invention have the following beneficial effects: by setting a virtual flow path according to a service type, it is possible to distinguish between data with nested data and non-nested data, and
  • the service type of the data sets the nested virtual flow path of each layer, and determines the virtual flow path corresponding to the next layer of nesting according to the value obtained by matching the data of each flow table in the previous virtual flow path, and directly Go to the corresponding virtual flow path.
  • it can effectively avoid the repeated operation of the existing OpenFlow switch to output data from the physical output port and then return to the physical input port, which improves the efficiency of the physical port.
  • the OpenFlow switch can be used.
  • each virtual flow path can multiplex the flow tables and ports. Therefore, each flow table and port are scheduled to ensure that each virtual flow path can process the data to be forwarded in time, effectively Improve the efficiency of data forwarding; in addition, provide technicians with a design interface for virtual flow paths, It can facilitate the technician to adjust the existing virtual flow path according to actual needs.
  • FIG. 1 is a flow chart showing a method of forwarding data using a flow table of the present invention.
  • FIG. 2 is a schematic diagram showing the flow of data in a plurality of virtual flow paths in the method for forwarding data by using a flow table according to the present invention.
  • FIG. 3 is a schematic diagram showing the structure of a system for forwarding data by using a flow table according to the present invention.
  • the present invention provides a method of forwarding data using a flow table.
  • the forwarding method is mainly performed by a forwarding system.
  • the forwarding system includes software and hardware in a network access device including a flow table.
  • the hardware in the network access device includes: a chip for executing the forwarding method.
  • the network access device includes but is not limited to: a switch, a router, and the like.
  • step S1 the forwarding system presets a virtual flow consisting of at least one flow table according to the service type of the data. path.
  • the forwarding system saves at least one flow table in advance.
  • the flow table can be regarded as an abstraction of OpenFlow's data forwarding function for network devices.
  • the forwarding system forwards the received data to the at least one flow table according to the virtual flow path, and obtains information such as a destination address, a port, and the like for forwarding the data from the corresponding flow table.
  • the forwarding of one data may be implemented by one of the virtual flow paths, or may be implemented by multiple virtual flow paths. If data is forwarded by the plurality of virtual flow paths, the last flow table in the virtual flow path selected by the forwarding system may jump to the first flow table in the next virtual flow path.
  • the service type includes, but is not limited to, a video type, a webpage type, a webpage nesting based type, a video nesting based type, and the like.
  • the forwarding system may fixedly set a corresponding virtual flow path according to an existing service type.
  • each flow table in the virtual flow path has a jumpable/non-jumpable attribute.
  • the flow table whose attribute is non-jumpable is located in the last one of the virtual flow paths.
  • the forwarding system provides a configuration interface for inputting a service type and a flow table, and generates a virtual flow path according to a service type performed by the user in the configuration interface and a corresponding virtual flow path.
  • the forwarding system provides a configuration interface for designing, managing a service type and a virtual flow path. That is, the user can add a flow table to the forwarding system according to the new service type, and design a flow table and a flow table sequence in the corresponding virtual flow path according to the new service class, thereby generating a new virtual flow path.
  • the forwarding system can also allow the user to change or delete the existing service type and the corresponding virtual flow path to meet the application needs of the switch in different occasions.
  • step S2 when the forwarding system receives data, the forwarding system selects a virtual flow path according to the service type of the received data, and obtains the flow according to the received data in the selected virtual flow path.
  • the value of each flow table is selected, and the next virtual flow path is selected until the attribute of the last flow table in the selected virtual flow path is non-jumpable, according to the value of each flow table in the last virtual flow path.
  • the received data is forwarded.
  • the data received by the forwarding system may include one address or multiple addresses. Therefore, when selecting a virtual flow path, the forwarding system needs to select a virtual flow path according to the service type of the data. After the data is sent to the selected virtual flow path, the forwarding system may select whether to further depth the data according to the matching result of each flow table in the virtual flow path and the corresponding protocol in the data. Mining to get the forwarding mechanism and corresponding port optimized for data forwarding.
  • the data received by the forwarding system belongs to a type based on webpage nesting, and the forwarding system selects a first virtual streaming path corresponding to a type based on webpage nesting.
  • the forwarding system matches the data according to the webpage transmission protocol provided by each flow table in the selected first virtual flow path, the nested subdata is obtained.
  • the service type is a video type
  • the jump instruction of the last flow table in the first virtual flow path is set to the number of the second virtual flow path corresponding to the video type, and the data is sent according to the data.
  • the second virtual flow path is a type based on webpage nesting
  • the forwarding system determines, by using the feature matching of each flow table in the second virtual flow path, that the video sub-data in the data has no other nested data in the video sub-data, and then the second The attribute of the last flow table in the virtual flow path is set to be non-jumpable, and the physical output port of the data is determined according to the feature matching result of each flow table in the second virtual flow path and forwarded.
  • the flow process of the first virtual flow path and the second virtual flow path may be referred to FIG. 2 .
  • the forwarding system can perform the flow of the virtual flow path for multiple data at the same time to achieve parallel processing of multiple data. Therefore, before the step of selecting a virtual flow path according to the service type of the received data, the forwarding system further performs: opening a buffer for the received data, and storing the received data into the buffer. step.
  • the forwarding system can open a buffer pool for the received data and store the received data in the buffer pool.
  • the forwarding system acquires a data from the buffer pool according to the current number of virtual flow paths that are processed in parallel, and allocates a corresponding virtual flow path according to the service type of the acquired data.
  • the forwarding system selects a virtual flow path corresponding to the data in the buffer area according to the priority of each preset service type from high to low.
  • the forwarding system designs the priority of the corresponding virtual flow path according to each service type, and preferentially provides the virtual flow path with the higher priority data in the buffer pool according to the service type of the received data.
  • the data in the buffer pool is a web page type and a video type, respectively.
  • the virtual flow path of the preset video type of the forwarding system has a higher priority than the virtual flow path of the web page type, and the virtual flow path is preferentially provided according to the data of the video type.
  • the data of the webpage type is still placed in the buffer pool, and after the data processed by the forwarding system in parallel is forwarded, the data of the webpage type is processed.
  • each flow table can be preset in a different virtual flow path, when the forwarding system processes each data in parallel, the same flow table may be used in conflict in different virtual flow paths; or, the forwarding When the system processes each data in parallel, it finally selects the same port for data forwarding. At this time, the forwarding system cannot use one flow table/port for different data at the same time. Therefore, the forwarding system needs to schedule shared resources. Therefore, while the forwarding system performs the step S2, the forwarding system further performs step S3 (not shown).
  • step S3 the forwarding system schedules different data of the same flow table and/or port in the respective virtual flow path according to the preset scheduling policy.
  • the scheduling policy includes but is not limited to at least one of the following: based on strict priority, load balancing, Based on queue scheduling, etc.
  • the forwarding system monitors that the data type A1 of the webpage type and the data A2 of the video type need to use the flow table B1 in the respective virtual flow path, and according to the strict priority policy, the virtual flow path where the data A2 is located is occupied first.
  • the flow table B1 indicates that the virtual flow path of the data A1 is used to release the flow table B1 when the virtual flow path of the data A2 is released.
  • the present invention provides a system for forwarding data using a flow table.
  • the forwarding system 1 includes software and hardware in a network access device including a flow table.
  • the hardware in the network access device includes: a chip for executing the forwarding method.
  • the network access device includes but is not limited to: a switch, a router, and the like.
  • the forwarding system 1 includes a preset unit 11 and a forwarding unit 12.
  • the preset unit 11 is configured to preset a virtual flow path formed by at least one flow table according to a service type of the data.
  • the preset unit 11 pre-stores at least one flow table.
  • the flow table can be regarded as an abstraction of OpenFlow's data forwarding function for network devices.
  • the preset unit 11 streams the received data to the at least one flow table according to the virtual flow path, and can obtain information such as a destination address, a port, and the like for forwarding the data from the corresponding flow table.
  • the forwarding of one data may be implemented by one of the virtual flow paths, or may be implemented by multiple virtual flow paths. If the data is forwarded by the plurality of virtual flow paths, the last flow table in the virtual flow path selected by the preset unit 11 may jump to the first flow table in the next virtual flow path.
  • the service type includes but is not limited to: a video type, a web page type, and the like.
  • the preset unit 11 can fixedly set a corresponding virtual flow path according to an existing service type.
  • each flow table in the virtual flow path has a jumpable/non-jumpable attribute.
  • the flow table whose attribute is non-jumpable is located in the last one of the virtual flow paths.
  • the preset unit 11 provides a configuration interface for inputting a service type and a flow table, and generates a virtual flow path according to a service type performed by the user in the configuration interface and a corresponding virtual flow path design operation.
  • the preset unit 11 provides a configuration interface for designing, managing a service type and a virtual flow path. That is, the user can add a flow table to the preset unit 11 according to the new service type, and design each flow table and flow table sequence in the corresponding virtual flow path according to the new service class, thereby generating a new virtual flow. path.
  • the preset unit 11 can also allow the user to change or delete the existing service type and the corresponding virtual flow path to meet the application needs of the switch in different occasions.
  • the forwarding unit 12 When the forwarding unit 12 receives data, the forwarding unit 12 is configured to select one virtual flow path according to the service type of the received data, and obtain each of the obtained data in the selected virtual flow path according to the received data. The value of the flow table, select the next virtual flow path until the attribute of the last flow table in the selected virtual flow path is unavailable. If the jump is performed, the received data is forwarded according to the value of each flow table in the last virtual flow path.
  • the data received by the forwarding unit 12 may include one address, and may also include multiple addresses. Therefore, when the virtual flow path is selected, the forwarding unit 12 needs to select a virtual flow path according to the service type of the data. After the data is sent to the selected virtual flow path, the forwarding unit 12 may select whether the data needs to be performed according to the matching result of each flow table in the virtual flow path and the corresponding protocol in the data. Deep mining to get the forwarding mechanism and corresponding port optimized for data forwarding.
  • the data received by the forwarding unit 12 belongs to a type based on webpage nesting, and the forwarding unit 12 selects a first virtual flow path corresponding to the type of webpage nesting.
  • the forwarding unit 12 performs feature matching on the data according to the webpage transmission protocol provided by each flow table in the selected first virtual flow path, and obtains the service type of the nested subdata as a video type, Setting a jump instruction of the last flow table in the first virtual flow path to a number of a second virtual flow path corresponding to the video type, and sending the data to the second virtual flow according to the data In the path.
  • the forwarding unit 12 determines, by using the feature matching of each flow table in the second virtual flow path, that the video sub-data in the data has no other nested data in the video sub-data, and then the second The attribute of the last flow table in the virtual flow path is set to be non-jumpable, and the physical output port of the data is determined according to the feature matching result of each flow table in the second virtual flow path and forwarded.
  • the flow process of the first virtual flow path and the second virtual flow path may be referred to FIG. 2 .
  • the forwarding unit 12 can simultaneously perform the flow of the virtual flow path for a plurality of data to achieve the purpose of parallel processing of multiple data. Therefore, before the step of selecting a virtual flow path according to the service type of the received data, the forwarding unit 12 further performs: opening a buffer for the received data, and storing the received data into the buffer. A step of.
  • the forwarding unit 12 may open a buffer pool for the received data and store the received data in the buffer pool.
  • the forwarding unit 12 acquires a data from the buffer pool according to the current number of virtual flow paths that are processed in parallel, and allocates a corresponding virtual flow path according to the service type of the acquired data.
  • the forwarding unit 12 sequentially selects a virtual flow path corresponding to the data in the buffer area according to the priority of each preset service type.
  • the forwarding unit 12 designs the priority of the corresponding virtual flow path according to each service type, and preferentially provides the virtual flow path with the higher priority data in the buffer pool according to the service type of the received data.
  • the data in the buffer pool is a web page type and a video type, respectively.
  • the forwarding unit 12 presets the virtual flow path of the video type to be higher than the virtual flow path of the webpage type, and preferentially provides a virtual flow path according to the data of the video type. And the data of the webpage type is still placed in the buffer pool, waiting for the forwarding unit 12 to process in parallel After the data is forwarded, the data of the webpage type is processed.
  • each flow table can be preset in a different virtual flow path, when the forwarding system 1 processes each data in parallel, the same flow table may be used in conflict in different virtual flow paths; or When the forwarding system 1 processes each data in parallel, the same port is finally selected for data forwarding. At this time, the forwarding system 1 cannot use one flow table/port for different data at the same time. Therefore, the forwarding system 1 needs to schedule shared resources. Therefore, while the forwarding unit 12 is executing, the forwarding system 1 further includes a scheduling unit (not shown).
  • the scheduling unit is configured to schedule, according to a preset scheduling policy, different data that needs to use the same flow table and/or port in the respective virtual flow path.
  • the scheduling policy includes, but is not limited to, at least one of the following: based on strict priority, load balancing based, queue-based scheduling, and the like.
  • the scheduling unit monitors that the data type A1 of the webpage type and the data A2 of the video type need to use the flow table B1 in the respective virtual flow path, and according to the strict priority policy, the virtual flow path where the data A2 is located is occupied first.
  • the flow table B1 indicates that the virtual flow path of the data A1 is used to release the flow table B1 when the virtual flow path of the data A2 is released.
  • the method and system for forwarding data by using the flow table of the present invention can distinguish between the data with the nested data and the non-nested data by setting the virtual flow path according to the service type, and the service for the nested data.
  • the type sets the nested virtual flow path of each layer, and determines the virtual flow path corresponding to the next layer of nesting according to the value obtained by matching the data of each flow table in the previous virtual flow path, and directly transfers to the corresponding virtual
  • the flow path can effectively avoid the repeated operation of the existing OpenFlow switch to output data from the physical output port and then return to the physical input port, thereby improving the efficiency of using the physical port.
  • the OpenFlow switch can process multiple pieces at the same time.
  • a virtual flow path, and each virtual flow path can multiplex the flow tables and ports. Therefore, each flow table and port are scheduled to ensure that each virtual flow path can process the data to be forwarded in time, thereby effectively improving data forwarding. Efficiency; in addition, providing the technician with a virtual flow path design interface that facilitates the technician root The existing virtual flow path is adjusted according to the actual demand; and the virtual flow path is adopted, and the design difficulty of the chip can be applied to the four-level or even more flow table without increasing the design difficulty of the chip. Therefore, the present invention effectively overcomes various shortcomings in the prior art and has high industrial utilization value.

Abstract

Provided in the invention are a data forwarding method and system using a flow table. The method comprises: presetting, according to a service type of data and by the forwarding system, a virtual flow path comprising at least one flow table; then selecting a virtual flow path according to the service type of received data, selecting a next virtual flow path according to values of each flow table obtained during the flow of the received data in the selected virtual flow path until an attribute of the last flow table in the selected virtual flow path does not allow a goto action; and forwarding the received data according to the values of each flow table in the last virtual flow path. The present invention can effectively prevent an existing OpenFlow switch from performing repeated operations due to the need thereof to output data from a physical output port and then return to a physical input port for several times, thus improving utilization efficiency of a physical port.

Description

利用流表转发数据的方法及系统Method and system for forwarding data by using flow table 技术领域Technical field
本发明涉及一种数据转发技术,特别是涉及一种利用流表转发数据的方法及系统。The present invention relates to a data forwarding technology, and in particular, to a method and system for forwarding data using a flow table.
背景技术Background technique
OpenFlow是美国斯坦福大学于2007年提出的一种支持网络创新研究的新型网络交换模型,。OpenFlow的设计目标之一就是将网络设备的控制功能与转发功能进行分离,进而将控制功能全部集中到远程的控制器上完成。而OpenFlow交换机只负责在本地做简单高速的数据转发。在OpenFlow交换机的运行过程中,其数据转发的依据就是流表(flow table)。所谓流表,其实可被视作是OpenFlow对网络设备的数据转发功能的一种抽象。OpenFlow is a new network exchange model proposed by Stanford University in 2007 to support network innovation research. One of OpenFlow's design goals is to separate the control functions of the network device from the forwarding functions, and then concentrate the control functions on the remote controller. The OpenFlow switch is only responsible for simple and high-speed data forwarding locally. During the operation of an OpenFlow switch, the basis for data forwarding is the flow table. The so-called flow table can be regarded as an abstraction of OpenFlow's data forwarding function for network devices.
在传统网络设备中,TCAM(ternary content addressable memory三态内容寻址存储器)主要用于FIB、MAC、MPLS Lable和ACL表。由于每个表的匹配字段长度不一,所以可以分别设计,并且具有最大容量限制以期达到最小的开销。而在OpenFlow交换中,不再区分匹配长度较短的FIB、MAC、MPLS Lable表以及较长的ACL表,而一律采用具有最大长度的流表项记录代替。对OpenFlow v1.0而言,流表的匹配字段长度长达252位,而一般的IPv4RIB TCAM匹配字段长度只有60至80位,其开销增加了三倍以上。In traditional network equipment, TCAM (ternary content addressable memory) is mainly used for FIB, MAC, MPLS Lable and ACL tables. Since the matching fields of each table are of different lengths, they can be designed separately and have a maximum capacity limit in order to achieve the minimum overhead. In the OpenFlow exchange, the FIB, MAC, MPLS Lable table, and the longer ACL table with shorter matching lengths are no longer distinguished, and the flow table entries with the largest length are always used instead. For OpenFlow v1.0, the matching field length of the flow table is up to 252 bits, while the general IPv4RIB TCAM matching field is only 60 to 80 bits long, and its overhead is more than three times.
为了减少流表开销,OpenFlow v1.1设计了多级流表,即将流表进行特征提取,进而将匹配过程分解成多个步骤,形成流水线的处理形式,从而降低总的流表记录条数。但超过三级的多级流表的实际物理实现,受芯片复杂度,成本等因素的影响,可行性比较低。目前已经实现的最多流表级数是三级。In order to reduce the flow table overhead, OpenFlow v1.1 designed a multi-level flow table, which is to extract the feature of the flow table, and then break the matching process into multiple steps to form a pipeline processing form, thereby reducing the total number of flow table records. However, the actual physical implementation of multi-level flow meters over three levels is affected by factors such as chip complexity and cost, and the feasibility is relatively low. The maximum number of stream table levels that have been implemented so far is three.
随着网络中传输的数据复杂度的增加,OpenFlow交换机在解析带有嵌套的数据(如QinQ数据)时,每解析一层嵌套就必须将下一层子数据从所述OpenFlow交换机的物理输出端口再返回该OpenFlow交换机的物理输入端口,以实现下一层嵌套的解析。冗余的输入输出,导致OpenFlow交换机的物理端口的资源变得紧张。为了解决上述问题,需要对现有技术进行改进。As the complexity of data transmitted in the network increases, when an OpenFlow switch parses data with nested data (such as QinQ data), each layer of parsing must have the next layer of sub-data from the physics of the OpenFlow switch. The output port is then returned to the physical input port of the OpenFlow switch to implement the next layer of nested parsing. Redundant inputs and outputs cause the resources of the physical ports of the OpenFlow switch to become tight. In order to solve the above problems, it is necessary to improve the prior art.
发明内容Summary of the invention
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种利用流表转发数据的方法及系统,用于解决现有技术中无法高效的利用OpenFlow交换机的资源的问题。In view of the above-mentioned shortcomings of the prior art, the present invention aims to provide a method and system for forwarding data by using a flow table, which is used to solve the problem that the resources of the OpenFlow switch cannot be utilized efficiently in the prior art.
为实现上述目的及其他相关目的,本发明提供一种利用流表转发数据的方法,包括:根 据数据的业务类型预设由至少一个流表所构成的虚拟流转路径;根据所接收数据的业务类型选择一个虚拟流转路径,并根据所接收的数据在所选择的虚拟流转路径中流转时所得到的各流表的值,选择下一虚拟流转路径,直至所选择的虚拟流转路径中的最后一个流表的属性为不可跳转,则根据所述最后一个虚拟流转路径中各流表的值对所接收的数据予以转发。To achieve the above and other related objects, the present invention provides a method for forwarding data using a flow table, including: Presetting a virtual flow path formed by at least one flow table according to the service type of the data; selecting a virtual flow path according to the service type of the received data, and obtaining the flow according to the received data in the selected virtual flow path The value of each flow table is selected, and the next virtual flow path is selected until the attribute of the last flow table in the selected virtual flow path is non-jumpable, according to the value pair of each flow table in the last virtual flow path. The received data is forwarded.
优选地,所述根据数据的业务类型预设由至少一个流表所构成的虚拟流转路径的方式包括:提供一用于输入业务类型和流表的配置界面,根据用户在所述配置界面中进行的业务类型和所对应的虚拟流转路径的设计操作,生成一虚拟流转路径。Preferably, the manner of presetting the virtual flow path formed by the at least one flow table according to the service type of the data includes: providing a configuration interface for inputting the service type and the flow table, according to the user in the configuration interface The design operation of the service type and the corresponding virtual flow path generates a virtual flow path.
优选地,在所述根据所接收数据的业务类型选择一个虚拟流转路径的步骤之前,还包括:为所接收的数据开辟一缓存区,将所接收的数据存入所述缓存区。Preferably, before the step of selecting a virtual flow path according to the service type of the received data, the method further includes: opening a buffer for the received data, and storing the received data into the buffer.
优选地,所述根据所接收数据的业务类型选择一个虚拟流转路径的方式包括:按照预设的各业务类型的优先级由高到低,依次将所述缓存区中的数据对应选择一个虚拟流转路径。Preferably, the manner of selecting a virtual flow path according to the service type of the received data includes: selecting a virtual flow corresponding to the data in the cache area according to the priority of each preset service type from high to low. path.
优选地,所述虚拟流转路径中包含用于转发数据的端口,对应的,在根据所接收数据的业务类型选择一个虚拟流转路径,并根据所接收的数据在所选择的虚拟流转路径中流转时所得到的各流表的值,选择下一虚拟流转路径,直至所选择的虚拟流转路径中的最后一个流表的属性为不可跳转,则根据所述最后一个虚拟流转路径中各流表的值对所接收的数据进行转发的过程中,所述方法还包括:根据预设的调度策略,将在各自虚拟流转路径中需要使用同一个流表、和/或端口的不同数据进行调度。Preferably, the virtual flow path includes a port for forwarding data, and correspondingly, when a virtual flow path is selected according to the service type of the received data, and the data is transferred in the selected virtual flow path according to the received data. The value of each flow table obtained is selected, and the next virtual flow path is selected until the attribute of the last flow table in the selected virtual flow path is non-jumpable, according to each flow table in the last virtual flow path. In the process of forwarding the received data, the method further includes: scheduling, according to the preset scheduling policy, different data that needs to use the same flow table and/or port in the respective virtual flow path.
基于上述目的,本发明还提供一种利用流表转发数据的系统,包括:预设单元,用于根据数据的业务类型预设由至少一个流表所构成的虚拟流转路径;转发单元,用于根据所接收数据的业务类型选择一个虚拟流转路径,并根据所接收的数据在所选择的虚拟流转路径中流转时所得到的各流表的值,选择下一虚拟流转路径,直至所选择的虚拟流转路径中的最后一个流表的属性为不可跳转,则根据所述最后一个虚拟流转路径中各流表的值对所接收的数据予以转发。Based on the above object, the present invention further provides a system for forwarding data by using a flow table, comprising: a preset unit, configured to preset a virtual flow path formed by at least one flow table according to a service type of the data; and a forwarding unit, configured to: Selecting a virtual flow path according to the service type of the received data, and selecting a next virtual flow path according to the value of each flow table obtained when the received data flows in the selected virtual flow path until the selected virtual If the attribute of the last flow table in the flow path is non-jumpable, the received data is forwarded according to the value of each flow table in the last virtual flow path.
优选地,所述预设单元用于提供一用于输入业务类型和流表的配置界面,根据用户在所述配置界面中进行的业务类型和所对应的虚拟流转路径的设计操作,生成一虚拟流转路径。Preferably, the preset unit is configured to provide a configuration interface for inputting a service type and a flow table, and generating a virtual according to a service type performed by the user in the configuration interface and a corresponding virtual flow path design operation. The flow path.
优选地,所述系统还包括:缓存单元,用于在所述转发单元根据所接收数据的业务类型选择一个虚拟流转路径之前,为所接收的数据开辟一缓存区,将所接收的数据存入所述缓存区。Preferably, the system further includes: a buffering unit, configured to open a buffer area for the received data and store the received data before the forwarding unit selects a virtual flow path according to the service type of the received data. The buffer area.
优选地,所述转发单元还用于按照预设的各业务类型的优先级由高到低,依次将所述缓存区中的数据对应选择一个虚拟流转路径。 Preferably, the forwarding unit is further configured to sequentially select a virtual flow path corresponding to the data in the buffer area according to a preset priority of each service type.
优选地,所述虚拟流转路径中包含用于转发数据的端口,对应的,在所述转发单元为多个数据进行转发处理的过程中,所述系统还包括:调度单元,用于根据预设的调度策略,将在各自虚拟流转路径中需要使用同一个流表、和/或端口的不同数据进行调度。Preferably, the virtual flow path includes a port for forwarding data, and correspondingly, in a process in which the forwarding unit performs forwarding processing for multiple data, the system further includes: a scheduling unit, configured to preset according to the preset The scheduling policy will be scheduled in the respective virtual flow path using different data of the same flow table and/or port.
如上所述,本发明的利用流表转发数据的方法及系统,具有以下有益效果:通过根据业务类型设置虚拟流转路径,能将带有嵌套的数据和非嵌套数据加以区分,并针对嵌套数据的业务类型设置每一层嵌套的虚拟流转路径,并根据对前一虚拟流转路径中各流表匹配数据所得到的值来确定下一层嵌套所对应的虚拟流转路径,并直接转至相应虚拟流转路径,如此,能够有效避免现有的OpenFlow交换机需要多次将数据从物理输出端口输出再返回物理输入端口的重复操作,提高了物理端口的使用效率;另外,由于OpenFlow交换机可同时处理多条虚拟流转路径,而各虚拟流转路径可复用各流表和端口,因此,对各流表和端口进行调度,以保证每条虚拟流转路径都能及时处理待转发的数据,有效提高了数据转发的效率;此外,为技术人员提供虚拟流转路径的设计界面,能够便于技术人员根据实际需求来调整现有的虚拟流转路径。As described above, the method and system for forwarding data by using the flow table of the present invention have the following beneficial effects: by setting a virtual flow path according to a service type, it is possible to distinguish between data with nested data and non-nested data, and The service type of the data sets the nested virtual flow path of each layer, and determines the virtual flow path corresponding to the next layer of nesting according to the value obtained by matching the data of each flow table in the previous virtual flow path, and directly Go to the corresponding virtual flow path. In this way, it can effectively avoid the repeated operation of the existing OpenFlow switch to output data from the physical output port and then return to the physical input port, which improves the efficiency of the physical port. In addition, the OpenFlow switch can be used. Simultaneously processing multiple virtual flow paths, and each virtual flow path can multiplex the flow tables and ports. Therefore, each flow table and port are scheduled to ensure that each virtual flow path can process the data to be forwarded in time, effectively Improve the efficiency of data forwarding; in addition, provide technicians with a design interface for virtual flow paths, It can facilitate the technician to adjust the existing virtual flow path according to actual needs.
附图说明DRAWINGS
图1显示为本发明的利用流表转发数据的方法的流程图。1 is a flow chart showing a method of forwarding data using a flow table of the present invention.
图2显示为本发明的利用流表转发数据的方法中数据在多条虚拟流转路径中流转的示意图。FIG. 2 is a schematic diagram showing the flow of data in a plurality of virtual flow paths in the method for forwarding data by using a flow table according to the present invention.
图3显示为本发明的利用流表转发数据的系统结构示意图。FIG. 3 is a schematic diagram showing the structure of a system for forwarding data by using a flow table according to the present invention.
具体实施方式detailed description
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。The embodiments of the present invention are described below by way of specific examples, and those skilled in the art can readily understand other advantages and effects of the present invention from the disclosure of the present disclosure. The present invention may be embodied or applied in various other specific embodiments, and various modifications and changes can be made without departing from the spirit and scope of the invention.
如图1所示,本发明提供一种利用流表转发数据的方法。所述转发方法主要由转发系统来执行。所述转发系统包括:包含流表的网络接入设备中的软件和硬件。其中,所述网络接入设备中的硬件包括:用于执行所述转发方法的芯片。所述网络接入设备包括但不限于:交换机、路由器等。As shown in FIG. 1, the present invention provides a method of forwarding data using a flow table. The forwarding method is mainly performed by a forwarding system. The forwarding system includes software and hardware in a network access device including a flow table. The hardware in the network access device includes: a chip for executing the forwarding method. The network access device includes but is not limited to: a switch, a router, and the like.
在步骤S1中,所述转发系统根据数据的业务类型预设由至少一个流表所构成的虚拟流转 路径。In step S1, the forwarding system presets a virtual flow consisting of at least one flow table according to the service type of the data. path.
具体地,所述转发系统预先保存有至少一个流表。所述流表可被视作是OpenFlow对网络设备的数据转发功能的一种抽象。所述转发系统将所接收的数据按照所述虚拟流转路径流转于至少一个流表中,能够从相应的流表中获得用于转发所述数据的目的地址、端口等信息。其中,一个数据的转发可以由一条所述虚拟流转路径来实现,也可以由多条所述虚拟流转路径来实现。若由多条所述虚拟流转路径来转发数据时,所述转发系统所选择的虚拟流转路径中的最后一个流表可以跳转至下一个虚拟流转路径中的第一个流表。Specifically, the forwarding system saves at least one flow table in advance. The flow table can be regarded as an abstraction of OpenFlow's data forwarding function for network devices. The forwarding system forwards the received data to the at least one flow table according to the virtual flow path, and obtains information such as a destination address, a port, and the like for forwarding the data from the corresponding flow table. The forwarding of one data may be implemented by one of the virtual flow paths, or may be implemented by multiple virtual flow paths. If data is forwarded by the plurality of virtual flow paths, the last flow table in the virtual flow path selected by the forwarding system may jump to the first flow table in the next virtual flow path.
在此,所述业务类型包括但不限于:视频类型、网页类型、基于网页嵌套的类型、基于视频嵌套的类型等。所述转发系统可根据现有的业务类型固定设置相应的虚拟流转路径。Here, the service type includes, but is not limited to, a video type, a webpage type, a webpage nesting based type, a video nesting based type, and the like. The forwarding system may fixedly set a corresponding virtual flow path according to an existing service type.
在此,在所述虚拟流转路径中的各流表具有可跳转/不可跳转的属性。其中,属性为不可跳转的流表位于所在虚拟流转路径中的最后一个。Here, each flow table in the virtual flow path has a jumpable/non-jumpable attribute. The flow table whose attribute is non-jumpable is located in the last one of the virtual flow paths.
优选地,所述转发系统提供一用于输入业务类型和流表的配置界面,根据用户在所述配置界面中进行的业务类型和对应虚拟流转路径的设计操作,生成一虚拟流转路径。Preferably, the forwarding system provides a configuration interface for inputting a service type and a flow table, and generates a virtual flow path according to a service type performed by the user in the configuration interface and a corresponding virtual flow path.
具体地,所述转发系统提供用于设计、管理业务类型和虚拟流转路径的配置界面。即用户可以根据新的业务类型向所述转发系统中增加流表,并根据新的业务类设计对应的虚拟流转路径中的各流表及流表顺序,由此生成一新的虚拟流转路径。Specifically, the forwarding system provides a configuration interface for designing, managing a service type and a virtual flow path. That is, the user can add a flow table to the forwarding system according to the new service type, and design a flow table and a flow table sequence in the corresponding virtual flow path according to the new service class, thereby generating a new virtual flow path.
所述转发系统还可以让用户更改、或删除现有的业务类型及所对应的虚拟流转路径,以满足交换机在不同场合的应用需要。The forwarding system can also allow the user to change or delete the existing service type and the corresponding virtual flow path to meet the application needs of the switch in different occasions.
在步骤S2中,当所述转发系统接收数据时,所述转发系统根据所接收数据的业务类型选择一个虚拟流转路径,并根据所接收的数据在所选择的虚拟流转路径中流转时所得到的各流表的值,选择下一虚拟流转路径,直至所选择的虚拟流转路径中的最后一个流表的属性为不可跳转,则根据所述最后一个虚拟流转路径中各流表的值对所接收的数据予以转发。In step S2, when the forwarding system receives data, the forwarding system selects a virtual flow path according to the service type of the received data, and obtains the flow according to the received data in the selected virtual flow path. The value of each flow table is selected, and the next virtual flow path is selected until the attribute of the last flow table in the selected virtual flow path is non-jumpable, according to the value of each flow table in the last virtual flow path. The received data is forwarded.
具体地,所述转发系统所接收的数据中可能包含一个地址,也可能包含多个地址。因此,在选择虚拟流转路径时,所述转发系统需要根据所述数据的业务类型选择一条虚拟流转路径。在将所述数据送入所选择的虚拟流转路径后,所述转发系统可根据该虚拟流转路径中的各流表与所述数据中的相应协议的匹配结果,来选择是否还需要对数据进行深度挖掘,以便得到对数据转发最优化的转发机制及相应端口。Specifically, the data received by the forwarding system may include one address or multiple addresses. Therefore, when selecting a virtual flow path, the forwarding system needs to select a virtual flow path according to the service type of the data. After the data is sent to the selected virtual flow path, the forwarding system may select whether to further depth the data according to the matching result of each flow table in the virtual flow path and the corresponding protocol in the data. Mining to get the forwarding mechanism and corresponding port optimized for data forwarding.
例如,所述转发系统所接收的数据属于基于网页嵌套的类型,则所述转发系统选择对应基于网页嵌套的类型的第一条虚拟流转路径。当所述转发系统按照所选择的第一条虚拟流转路径中各流表所提供的网页传输协议将所述数据进行特征匹配时,得到所嵌套的子数据的业 务类型为视频类型,则将所述第一条虚拟流转路径中的最后一个流表的跳转指令设置为对应视频类型的第二条虚拟流转路径的编号,并据此将所述数据送入所述第二条虚拟流转路径中。所述转发系统将所述数据中的视频子数据通过所述第二条虚拟流转路径中各流表的特征匹配确定所述视频子数据中并无其他嵌套数据,则将所述第二条虚拟流转路径中最后一个流表的属性设置为不可跳转,并根据所述第二条虚拟流转路径中各流表的特征匹配结果确定所述数据的物理输出端口并予以转发。其中,所述第一条虚拟流转路径和第二条虚拟流转路径的流转过程可参考图2所示。For example, the data received by the forwarding system belongs to a type based on webpage nesting, and the forwarding system selects a first virtual streaming path corresponding to a type based on webpage nesting. When the forwarding system matches the data according to the webpage transmission protocol provided by each flow table in the selected first virtual flow path, the nested subdata is obtained. The service type is a video type, and the jump instruction of the last flow table in the first virtual flow path is set to the number of the second virtual flow path corresponding to the video type, and the data is sent according to the data. The second virtual flow path. The forwarding system determines, by using the feature matching of each flow table in the second virtual flow path, that the video sub-data in the data has no other nested data in the video sub-data, and then the second The attribute of the last flow table in the virtual flow path is set to be non-jumpable, and the physical output port of the data is determined according to the feature matching result of each flow table in the second virtual flow path and forwarded. The flow process of the first virtual flow path and the second virtual flow path may be referred to FIG. 2 .
优选地,所述转发系统可以同时为多个数据进行虚拟流转路径的流转,以达到对多数据的并行处理的目的。因此,所述转发系统在所述根据所接收数据的业务类型选择一个虚拟流转路径的步骤之前,还执行:为所接收的数据开辟一缓存区,将所接收的数据存入所述缓存区的步骤。Preferably, the forwarding system can perform the flow of the virtual flow path for multiple data at the same time to achieve parallel processing of multiple data. Therefore, before the step of selecting a virtual flow path according to the service type of the received data, the forwarding system further performs: opening a buffer for the received data, and storing the received data into the buffer. step.
例如,所述转发系统可以为所接收的数据开辟一缓冲池,并将所接收的数据存入所述缓冲池中。所述转发系统根据当前并行处理的虚拟流转路径的数量不满足预设数量阈值时,从所述缓冲池中获取一数据,并根据所获取的数据的业务类型分配相应的虚拟流转路径。For example, the forwarding system can open a buffer pool for the received data and store the received data in the buffer pool. The forwarding system acquires a data from the buffer pool according to the current number of virtual flow paths that are processed in parallel, and allocates a corresponding virtual flow path according to the service type of the acquired data.
更为优选地,所述转发系统按照预设的各业务类型的优先级由高到低,依次将所述缓存区中的数据对应选择一个虚拟流转路径。More preferably, the forwarding system selects a virtual flow path corresponding to the data in the buffer area according to the priority of each preset service type from high to low.
具体地,所述转发系统按照各业务类型设计相应虚拟流转路径的优先级,并根据所接收的数据的业务类型,将所述缓冲池中优先级高的数据优先提供虚拟流转路径。Specifically, the forwarding system designs the priority of the corresponding virtual flow path according to each service type, and preferentially provides the virtual flow path with the higher priority data in the buffer pool according to the service type of the received data.
例如,所述缓冲池中的数据分别为网页类型和视频类型。则所述转发系统预设视频类型的虚拟流转路径优先级高于网页类型的虚拟流转路径,并根据视频类型的数据优先提供一虚拟流转路径。而将网页类型的数据仍旧放在所述缓冲池中,等待所述转发系统并行处理的数据被转发完成后,再处理所述网页类型的数据。For example, the data in the buffer pool is a web page type and a video type, respectively. The virtual flow path of the preset video type of the forwarding system has a higher priority than the virtual flow path of the web page type, and the virtual flow path is preferentially provided according to the data of the video type. The data of the webpage type is still placed in the buffer pool, and after the data processed by the forwarding system in parallel is forwarded, the data of the webpage type is processed.
由于每个流表可以被预设在不同的虚拟流转路径中,因此,在所述转发系统并行处理各数据时,可能在不同的虚拟流转路径中冲突的使用同一流表;或者,所述转发系统并行处理各数据时,最终选择同一端口进行数据转发。此时,所述转发系统无法同时面向不同数据而使用一个流表/端口。因此,所述转发系统需要对共享资源进行调度。因此,在所述转发系统执行所述步骤S2的同时,所述转发系统还执行步骤S3(未予图示)。Since each flow table can be preset in a different virtual flow path, when the forwarding system processes each data in parallel, the same flow table may be used in conflict in different virtual flow paths; or, the forwarding When the system processes each data in parallel, it finally selects the same port for data forwarding. At this time, the forwarding system cannot use one flow table/port for different data at the same time. Therefore, the forwarding system needs to schedule shared resources. Therefore, while the forwarding system performs the step S2, the forwarding system further performs step S3 (not shown).
在步骤S3中,所述转发系统根据预设的调度策略,将在各自虚拟流转路径中需要使用同一个流表、和/或端口的不同数据进行调度。In step S3, the forwarding system schedules different data of the same flow table and/or port in the respective virtual flow path according to the preset scheduling policy.
在此,所述调度策略包括但不限于以下至少一种:基于严格的优先级、基于负载平衡、 基于队列调度等。Here, the scheduling policy includes but is not limited to at least one of the following: based on strict priority, load balancing, Based on queue scheduling, etc.
例如,所述转发系统监测到网页类型的数据A1和视频类型的数据A2在各自的虚拟流转路径中均需要使用流表B1,则按照严格的优先级策略,指示数据A2所在虚拟流转路径先占用流表B1,在数据A2所在虚拟流转路径释放对流表B1的使用权限时,再指示数据A1所在虚拟流转路径占用流表B1。For example, the forwarding system monitors that the data type A1 of the webpage type and the data A2 of the video type need to use the flow table B1 in the respective virtual flow path, and according to the strict priority policy, the virtual flow path where the data A2 is located is occupied first. The flow table B1 indicates that the virtual flow path of the data A1 is used to release the flow table B1 when the virtual flow path of the data A2 is released.
如图3所示,本发明提供一种利用流表转发数据的系统。所述转发系统1包括:包含流表的网络接入设备中的软件和硬件。其中,所述网络接入设备中的硬件包括:用于执行所述转发方法的芯片。所述网络接入设备包括但不限于:交换机、路由器等。As shown in FIG. 3, the present invention provides a system for forwarding data using a flow table. The forwarding system 1 includes software and hardware in a network access device including a flow table. The hardware in the network access device includes: a chip for executing the forwarding method. The network access device includes but is not limited to: a switch, a router, and the like.
所述转发系统1包括:预设单元11、转发单元12。The forwarding system 1 includes a preset unit 11 and a forwarding unit 12.
所述预设单元11用于根据数据的业务类型预设由至少一个流表所构成的虚拟流转路径。The preset unit 11 is configured to preset a virtual flow path formed by at least one flow table according to a service type of the data.
具体地,所述预设单元11预先保存有至少一个流表。所述流表可被视作是OpenFlow对网络设备的数据转发功能的一种抽象。所述预设单元11将所接收的数据按照所述虚拟流转路径流转于至少一个流表中,能够从相应的流表中获得用于转发所述数据的目的地址、端口等信息。其中,一个数据的转发可以由一条所述虚拟流转路径来实现,也可以由多条所述虚拟流转路径来实现。若由多条所述虚拟流转路径来转发数据时,所述预设单元11所选择的虚拟流转路径中的最后一个流表可以跳转至下一个虚拟流转路径中的第一个流表。Specifically, the preset unit 11 pre-stores at least one flow table. The flow table can be regarded as an abstraction of OpenFlow's data forwarding function for network devices. The preset unit 11 streams the received data to the at least one flow table according to the virtual flow path, and can obtain information such as a destination address, a port, and the like for forwarding the data from the corresponding flow table. The forwarding of one data may be implemented by one of the virtual flow paths, or may be implemented by multiple virtual flow paths. If the data is forwarded by the plurality of virtual flow paths, the last flow table in the virtual flow path selected by the preset unit 11 may jump to the first flow table in the next virtual flow path.
在此,所述业务类型包括但不限于:视频类型、网页类型等。所述预设单元11可根据现有的业务类型固定设置相应的虚拟流转路径。Here, the service type includes but is not limited to: a video type, a web page type, and the like. The preset unit 11 can fixedly set a corresponding virtual flow path according to an existing service type.
在此,在所述虚拟流转路径中的各流表具有可跳转/不可跳转的属性。其中,属性为不可跳转的流表位于所在虚拟流转路径中的最后一个。Here, each flow table in the virtual flow path has a jumpable/non-jumpable attribute. The flow table whose attribute is non-jumpable is located in the last one of the virtual flow paths.
优选地,所述预设单元11提供一用于输入业务类型和流表的配置界面,根据用户在所述配置界面中进行的业务类型和对应虚拟流转路径的设计操作,生成一虚拟流转路径。Preferably, the preset unit 11 provides a configuration interface for inputting a service type and a flow table, and generates a virtual flow path according to a service type performed by the user in the configuration interface and a corresponding virtual flow path design operation.
具体地,所述预设单元11提供用于设计、管理业务类型和虚拟流转路径的配置界面。即用户可以根据新的业务类型向所述预设单元11中增加流表,并根据新的业务类设计对应的虚拟流转路径中的各流表及流表顺序,由此生成一新的虚拟流转路径。Specifically, the preset unit 11 provides a configuration interface for designing, managing a service type and a virtual flow path. That is, the user can add a flow table to the preset unit 11 according to the new service type, and design each flow table and flow table sequence in the corresponding virtual flow path according to the new service class, thereby generating a new virtual flow. path.
所述预设单元11还可以让用户更改、或删除现有的业务类型及所对应的虚拟流转路径,以满足交换机在不同场合的应用需要。The preset unit 11 can also allow the user to change or delete the existing service type and the corresponding virtual flow path to meet the application needs of the switch in different occasions.
当所述转发单元12接收数据时,所述转发单元12用于根据所接收数据的业务类型选择一个虚拟流转路径,并根据所接收的数据在所选择的虚拟流转路径中流转时所得到的各流表的值,选择下一虚拟流转路径,直至所选择的虚拟流转路径中的最后一个流表的属性为不可 跳转,则根据所述最后一个虚拟流转路径中各流表的值对所接收的数据予以转发。When the forwarding unit 12 receives data, the forwarding unit 12 is configured to select one virtual flow path according to the service type of the received data, and obtain each of the obtained data in the selected virtual flow path according to the received data. The value of the flow table, select the next virtual flow path until the attribute of the last flow table in the selected virtual flow path is unavailable. If the jump is performed, the received data is forwarded according to the value of each flow table in the last virtual flow path.
具体地,所述转发单元12所接收的数据中可能包含一个地址,也可能包含多个地址。因此,在选择虚拟流转路径时,所述转发单元12需要根据所述数据的业务类型选择一条虚拟流转路径。在将所述数据送入所选择的虚拟流转路径后,所述转发单元12可根据该虚拟流转路径中的各流表与所述数据中的相应协议的匹配结果,来选择是否还需要对数据进行深度挖掘,以便得到对数据转发最优化的转发机制及相应端口。Specifically, the data received by the forwarding unit 12 may include one address, and may also include multiple addresses. Therefore, when the virtual flow path is selected, the forwarding unit 12 needs to select a virtual flow path according to the service type of the data. After the data is sent to the selected virtual flow path, the forwarding unit 12 may select whether the data needs to be performed according to the matching result of each flow table in the virtual flow path and the corresponding protocol in the data. Deep mining to get the forwarding mechanism and corresponding port optimized for data forwarding.
例如,所述转发单元12所接收的数据属于基于网页嵌套的类型,则所述转发单元12选择对应基于网页嵌套的类型的第一条虚拟流转路径。当所述转发单元12按照所选择的第一条虚拟流转路径中各流表所提供的网页传输协议将所述数据进行特征匹配时,得到所嵌套的子数据的业务类型为视频类型,则将所述第一条虚拟流转路径中的最后一个流表的跳转指令设置为对应视频类型的第二条虚拟流转路径的编号,并据此将所述数据送入所述第二条虚拟流转路径中。所述转发单元12将所述数据中的视频子数据通过所述第二条虚拟流转路径中各流表的特征匹配确定所述视频子数据中并无其他嵌套数据,则将所述第二条虚拟流转路径中最后一个流表的属性设置为不可跳转,并根据所述第二条虚拟流转路径中各流表的特征匹配结果确定所述数据的物理输出端口并予以转发。其中,所述第一条虚拟流转路径和第二条虚拟流转路径的流转过程可参考图2所示。For example, the data received by the forwarding unit 12 belongs to a type based on webpage nesting, and the forwarding unit 12 selects a first virtual flow path corresponding to the type of webpage nesting. When the forwarding unit 12 performs feature matching on the data according to the webpage transmission protocol provided by each flow table in the selected first virtual flow path, and obtains the service type of the nested subdata as a video type, Setting a jump instruction of the last flow table in the first virtual flow path to a number of a second virtual flow path corresponding to the video type, and sending the data to the second virtual flow according to the data In the path. The forwarding unit 12 determines, by using the feature matching of each flow table in the second virtual flow path, that the video sub-data in the data has no other nested data in the video sub-data, and then the second The attribute of the last flow table in the virtual flow path is set to be non-jumpable, and the physical output port of the data is determined according to the feature matching result of each flow table in the second virtual flow path and forwarded. The flow process of the first virtual flow path and the second virtual flow path may be referred to FIG. 2 .
优选地,所述转发单元12可以同时为多个数据进行虚拟流转路径的流转,以达到对多数据的并行处理的目的。因此,所述转发单元12在所述根据所接收数据的业务类型选择一个虚拟流转路径的步骤之前,还执行:为所接收的数据开辟一缓存区,将所接收的数据存入所述缓存区的步骤。Preferably, the forwarding unit 12 can simultaneously perform the flow of the virtual flow path for a plurality of data to achieve the purpose of parallel processing of multiple data. Therefore, before the step of selecting a virtual flow path according to the service type of the received data, the forwarding unit 12 further performs: opening a buffer for the received data, and storing the received data into the buffer. A step of.
例如,所述转发单元12可以为所接收的数据开辟一缓冲池,并将所接收的数据存入所述缓冲池中。所述转发单元12根据当前并行处理的虚拟流转路径的数量不满足预设数量阈值时,从所述缓冲池中获取一数据,并根据所获取的数据的业务类型分配相应的虚拟流转路径。For example, the forwarding unit 12 may open a buffer pool for the received data and store the received data in the buffer pool. The forwarding unit 12 acquires a data from the buffer pool according to the current number of virtual flow paths that are processed in parallel, and allocates a corresponding virtual flow path according to the service type of the acquired data.
更为优选地,所述转发单元12按照预设的各业务类型的优先级由高到低,依次将所述缓存区中的数据对应选择一个虚拟流转路径。More preferably, the forwarding unit 12 sequentially selects a virtual flow path corresponding to the data in the buffer area according to the priority of each preset service type.
具体地,所述转发单元12按照各业务类型设计相应虚拟流转路径的优先级,并根据所接收的数据的业务类型,将所述缓冲池中优先级高的数据优先提供虚拟流转路径。Specifically, the forwarding unit 12 designs the priority of the corresponding virtual flow path according to each service type, and preferentially provides the virtual flow path with the higher priority data in the buffer pool according to the service type of the received data.
例如,所述缓冲池中的数据分别为网页类型和视频类型。则所述转发单元12预设视频类型的虚拟流转路径优先级高于网页类型的虚拟流转路径,并根据视频类型的数据优先提供一虚拟流转路径。而将网页类型的数据仍旧放在所述缓冲池中,等待所述转发单元12并行处理 的数据被转发完成后,再处理所述网页类型的数据。For example, the data in the buffer pool is a web page type and a video type, respectively. The forwarding unit 12 presets the virtual flow path of the video type to be higher than the virtual flow path of the webpage type, and preferentially provides a virtual flow path according to the data of the video type. And the data of the webpage type is still placed in the buffer pool, waiting for the forwarding unit 12 to process in parallel After the data is forwarded, the data of the webpage type is processed.
由于每个流表可以被预设在不同的虚拟流转路径中,因此,在所述转发系统1并行处理各数据时,可能在不同的虚拟流转路径中冲突的使用同一流表;或者,所述转发系统1并行处理各数据时,最终选择同一端口进行数据转发。此时,所述转发系统1无法同时面向不同数据而使用一个流表/端口。因此,所述转发系统1需要对共享资源进行调度。因此,在所述转发单元12执行的同时,所述转发系统1还包括:调度单元(未予图示)。Since each flow table can be preset in a different virtual flow path, when the forwarding system 1 processes each data in parallel, the same flow table may be used in conflict in different virtual flow paths; or When the forwarding system 1 processes each data in parallel, the same port is finally selected for data forwarding. At this time, the forwarding system 1 cannot use one flow table/port for different data at the same time. Therefore, the forwarding system 1 needs to schedule shared resources. Therefore, while the forwarding unit 12 is executing, the forwarding system 1 further includes a scheduling unit (not shown).
所述调度单元用于根据预设的调度策略,将在各自虚拟流转路径中需要使用同一个流表、和/或端口的不同数据进行调度。The scheduling unit is configured to schedule, according to a preset scheduling policy, different data that needs to use the same flow table and/or port in the respective virtual flow path.
在此,所述调度策略包括但不限于以下至少一种:基于严格的优先级、基于负载平衡、基于队列调度等。Here, the scheduling policy includes, but is not limited to, at least one of the following: based on strict priority, load balancing based, queue-based scheduling, and the like.
例如,所述调度单元监测到网页类型的数据A1和视频类型的数据A2在各自的虚拟流转路径中均需要使用流表B1,则按照严格的优先级策略,指示数据A2所在虚拟流转路径先占用流表B1,在数据A2所在虚拟流转路径释放对流表B1的使用权限时,再指示数据A1所在虚拟流转路径占用流表B1。For example, the scheduling unit monitors that the data type A1 of the webpage type and the data A2 of the video type need to use the flow table B1 in the respective virtual flow path, and according to the strict priority policy, the virtual flow path where the data A2 is located is occupied first. The flow table B1 indicates that the virtual flow path of the data A1 is used to release the flow table B1 when the virtual flow path of the data A2 is released.
综上所述,本发明的利用流表转发数据的方法及系统,通过根据业务类型设置虚拟流转路径,能将带有嵌套的数据和非嵌套数据加以区分,并针对嵌套数据的业务类型设置每一层嵌套的虚拟流转路径,并根据对前一虚拟流转路径中各流表匹配数据所得到的值来确定下一层嵌套所对应的虚拟流转路径,并直接转至相应虚拟流转路径,如此,能够有效避免现有的OpenFlow交换机需要多次将数据从物理输出端口输出再返回物理输入端口的重复操作,提高了物理端口的使用效率;另外,由于OpenFlow交换机可同时处理多条虚拟流转路径,而各虚拟流转路径可复用各流表和端口,因此,对各流表和端口进行调度,以保证每条虚拟流转路径都能及时处理待转发的数据,有效提高了数据转发的效率;此外,为技术人员提供虚拟流转路径的设计界面,能够便于技术人员根据实际需求来调整现有的虚拟流转路径;还有,采用虚拟流转路径的方式,无需增加芯片的设计难度,即能适用于四级甚至更多级流表。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。In summary, the method and system for forwarding data by using the flow table of the present invention can distinguish between the data with the nested data and the non-nested data by setting the virtual flow path according to the service type, and the service for the nested data. The type sets the nested virtual flow path of each layer, and determines the virtual flow path corresponding to the next layer of nesting according to the value obtained by matching the data of each flow table in the previous virtual flow path, and directly transfers to the corresponding virtual The flow path can effectively avoid the repeated operation of the existing OpenFlow switch to output data from the physical output port and then return to the physical input port, thereby improving the efficiency of using the physical port. In addition, the OpenFlow switch can process multiple pieces at the same time. A virtual flow path, and each virtual flow path can multiplex the flow tables and ports. Therefore, each flow table and port are scheduled to ensure that each virtual flow path can process the data to be forwarded in time, thereby effectively improving data forwarding. Efficiency; in addition, providing the technician with a virtual flow path design interface that facilitates the technician root The existing virtual flow path is adjusted according to the actual demand; and the virtual flow path is adopted, and the design difficulty of the chip can be applied to the four-level or even more flow table without increasing the design difficulty of the chip. Therefore, the present invention effectively overcomes various shortcomings in the prior art and has high industrial utilization value.
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。 The above-described embodiments are merely illustrative of the principles of the invention and its effects, and are not intended to limit the invention. Modifications or variations of the above-described embodiments may be made by those skilled in the art without departing from the spirit and scope of the invention. Therefore, all equivalent modifications or changes made by those skilled in the art without departing from the spirit and scope of the invention will be covered by the appended claims.

Claims (10)

  1. 一种利用流表转发数据的方法,其特征在于,包括:A method for forwarding data by using a flow table, comprising:
    根据数据的业务类型预设由至少一个流表所构成的虚拟流转路径;Presetting a virtual flow path formed by at least one flow table according to a service type of the data;
    根据所接收数据的业务类型选择一个虚拟流转路径,并根据所接收的数据在所选择的虚拟流转路径中流转时所得到的各流表的值,选择下一虚拟流转路径,直至所选择的虚拟流转路径中的最后一个流表的属性为不可跳转,则根据所述最后一个虚拟流转路径中各流表的值对所接收的数据予以转发。Selecting a virtual flow path according to the service type of the received data, and selecting a next virtual flow path according to the value of each flow table obtained when the received data flows in the selected virtual flow path until the selected virtual If the attribute of the last flow table in the flow path is non-jumpable, the received data is forwarded according to the value of each flow table in the last virtual flow path.
  2. 根据权利要求1所述的利用流表转发数据的方法,其特征在于,所述根据数据的业务类型预设由至少一个流表所构成的虚拟流转路径的方式包括:The method for forwarding data by using a flow table according to claim 1, wherein the manner of presetting a virtual flow path formed by at least one flow table according to a service type of the data includes:
    提供一用于输入业务类型和流表的配置界面,根据用户在所述配置界面中进行的业务类型和所对应的虚拟流转路径的设计操作,生成一虚拟流转路径。A configuration interface for inputting a service type and a flow table is provided, and a virtual flow path is generated according to a service type performed by the user in the configuration interface and a corresponding virtual flow path.
  3. 根据权利要求1所述的利用流表转发数据的方法,其特征在于,在所述根据所接收数据的业务类型选择一个虚拟流转路径的步骤之前,还包括:为所接收的数据开辟一缓存区,将所接收的数据存入所述缓存区。The method for forwarding data by using a flow table according to claim 1, wherein before the step of selecting a virtual flow path according to the service type of the received data, the method further comprises: opening a buffer for the received data. And storing the received data into the buffer area.
  4. 根据权利要求3所述的利用流表转发数据的方法,其特征在于,所述根据所接收数据的业务类型选择一个虚拟流转路径的方式包括:The method for forwarding data by using a flow table according to claim 3, wherein the manner of selecting a virtual flow path according to the service type of the received data comprises:
    按照预设的各业务类型的优先级由高到低,依次将所述缓存区中的数据对应选择一个虚拟流转路径。According to the preset priority of each service type, the data in the buffer area is sequentially selected to be a virtual flow path.
  5. 根据权利要求1所述的利用流表转发数据的方法,其特征在于,所述虚拟流转路径中包含用于转发数据的端口,对应的,在根据所接收数据的业务类型选择一个虚拟流转路径,并根据所接收的数据在所选择的虚拟流转路径中流转时所得到的各流表的值,选择下一虚拟流转路径,直至所选择的虚拟流转路径中的最后一个流表的属性为不可跳转,则根据所述最后一个虚拟流转路径中各流表的值对所接收的数据进行转发的过程中,所述方法还包括:The method for forwarding data by using a flow table according to claim 1, wherein the virtual flow path includes a port for forwarding data, and correspondingly, selecting a virtual flow path according to a service type of the received data, And selecting, according to the value of each flow table obtained when the received data flows in the selected virtual flow path, selecting a next virtual flow path until the attribute of the last flow table in the selected virtual flow path is non-hopping In the process of forwarding the received data according to the value of each flow table in the last virtual flow path, the method further includes:
    根据预设的调度策略,将在各自虚拟流转路径中需要使用同一个流表、和/或端口的不同数据进行调度。 According to the preset scheduling policy, different data of the same flow table and/or port need to be scheduled in the respective virtual flow path.
  6. 一种利用流表转发数据的系统,其特征在于,包括:A system for forwarding data by using a flow table, comprising:
    预设单元,用于根据数据的业务类型预设由至少一个流表所构成的虚拟流转路径;a preset unit, configured to preset a virtual flow path formed by the at least one flow table according to the service type of the data;
    转发单元,用于根据所接收数据的业务类型选择一个虚拟流转路径,并根据所接收的数据在所选择的虚拟流转路径中流转时所得到的各流表的值,选择下一虚拟流转路径,直至所选择的虚拟流转路径中的最后一个流表的属性为不可跳转,则根据所述最后一个虚拟流转路径中各流表的值对所接收的数据予以转发。a forwarding unit, configured to select a virtual flow path according to the service type of the received data, and select a next virtual flow path according to the value of each flow table obtained when the received data flows in the selected virtual flow path, Until the attribute of the last flow table in the selected virtual flow path is non-jumpable, the received data is forwarded according to the value of each flow table in the last virtual flow path.
  7. 根据权利要求6所述的利用流表转发数据的系统,其特征在于,所述预设单元用于提供一用于输入业务类型和流表的配置界面,根据用户在所述配置界面中进行的业务类型和所对应的虚拟流转路径的设计操作,生成一虚拟流转路径。The system for forwarding data by using a flow table according to claim 6, wherein the preset unit is configured to provide a configuration interface for inputting a service type and a flow table, according to a user in the configuration interface. The design operation of the service type and the corresponding virtual flow path generates a virtual flow path.
  8. 根据权利要求6所述的利用流表转发数据的系统,其特征在于,还包括:缓存单元,用于在所述转发单元根据所接收数据的业务类型选择一个虚拟流转路径之前,为所接收的数据开辟一缓存区,将所接收的数据存入所述缓存区。The system for forwarding data by using a flow table according to claim 6, further comprising: a buffering unit, configured to receive the virtual flow path before the forwarding unit selects a virtual flow path according to the service type of the received data. The data opens up a buffer area and stores the received data into the buffer area.
  9. 根据权利要求8所述的利用流表转发数据的系统,其特征在于,所述转发单元还用于按照预设的各业务类型的优先级由高到低,依次将所述缓存区中的数据对应选择一个虚拟流转路径。The system for forwarding data by using a flow table according to claim 8, wherein the forwarding unit is further configured to sequentially perform data in the buffer area according to a preset priority of each service type from high to low. Corresponding to select a virtual flow path.
  10. 根据权利要求6所述的利用流表转发数据的系统,其特征在于,所述虚拟流转路径中包含用于转发数据的端口,对应的,在所述转发单元为多个数据进行转发处理的过程中,所述系统还包括:调度单元,用于根据预设的调度策略,将在各自虚拟流转路径中需要使用同一个流表、和/或端口的不同数据进行调度。 The system for forwarding data by using a flow table according to claim 6, wherein the virtual flow path includes a port for forwarding data, and correspondingly, the forwarding unit performs forwarding processing for multiple data. The system further includes: a scheduling unit, configured to schedule, according to a preset scheduling policy, different data that needs to use the same flow table and/or port in the respective virtual flow path.
PCT/CN2015/093054 2015-05-26 2015-10-28 Data forwarding method and system using flow table WO2016188032A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201510274691.9A CN104954261B (en) 2015-05-26 2015-05-26 Utilize the method and system of flow table forwarding data
CN201510274691.9 2015-05-26

Publications (1)

Publication Number Publication Date
WO2016188032A1 true WO2016188032A1 (en) 2016-12-01

Family

ID=54168626

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2015/093054 WO2016188032A1 (en) 2015-05-26 2015-10-28 Data forwarding method and system using flow table

Country Status (2)

Country Link
CN (1) CN104954261B (en)
WO (1) WO2016188032A1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104954261B (en) * 2015-05-26 2018-01-16 上海斐讯数据通信技术有限公司 Utilize the method and system of flow table forwarding data
CN110391982B (en) * 2018-04-20 2022-03-11 伊姆西Ip控股有限责任公司 Method, apparatus and computer program product for transmitting data
CN111988828B (en) * 2018-11-23 2021-08-10 腾讯科技(深圳)有限公司 Method, device and equipment for acquiring routing strategy

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104486103A (en) * 2014-12-03 2015-04-01 杭州华三通信技术有限公司 Message transmission method and equipment
US20150092605A1 (en) * 2009-11-04 2015-04-02 Juniper Networks, Inc. Methods and apparatus for configuring a virtual network switch
CN104601432A (en) * 2014-12-31 2015-05-06 杭州华三通信技术有限公司 Method and device for transmitting message
CN104954261A (en) * 2015-05-26 2015-09-30 上海斐讯数据通信技术有限公司 Method and system for forwarding data by flow tables

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101127691A (en) * 2006-08-17 2008-02-20 王玉鹏 A method for implementing stream-based policy routing on network processor
US9609086B2 (en) * 2013-03-15 2017-03-28 International Business Machines Corporation Virtual machine mobility using OpenFlow
CN104079492B (en) * 2013-03-28 2017-10-10 华为技术有限公司 The methods, devices and systems that flow table is configured in a kind of OpenFlow networks
CN104426813A (en) * 2013-09-02 2015-03-18 中兴通讯股份有限公司 Method, device and controller for controlling flow table updating
CN104468357B (en) * 2013-09-16 2019-07-12 中兴通讯股份有限公司 Multipolarity method, the multilevel flow table processing method and processing device of flow table

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150092605A1 (en) * 2009-11-04 2015-04-02 Juniper Networks, Inc. Methods and apparatus for configuring a virtual network switch
CN104486103A (en) * 2014-12-03 2015-04-01 杭州华三通信技术有限公司 Message transmission method and equipment
CN104601432A (en) * 2014-12-31 2015-05-06 杭州华三通信技术有限公司 Method and device for transmitting message
CN104954261A (en) * 2015-05-26 2015-09-30 上海斐讯数据通信技术有限公司 Method and system for forwarding data by flow tables

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MCKEOWN, N. ET AL.: "OpenFlow: Enabling Innovation in Campus Networks", 3 March 2008 (2008-03-03), XP055091294, Retrieved from the Internet <URL:http://archive.openflow.org/documents/open03.wp.flow0108.pdf> *

Also Published As

Publication number Publication date
CN104954261A (en) 2015-09-30
CN104954261B (en) 2018-01-16

Similar Documents

Publication Publication Date Title
JP5932020B2 (en) Packet scheduling method and apparatus
US7924860B1 (en) Maintaining data unit order in a network switching device
US8831025B2 (en) Parallel processing using multi-core processor
CN104579962B (en) A kind of method and device of qos policy that distinguishing different messages
EP3684018B1 (en) Method and network device for handling packets in a network by means of forwarding tables
CN101242360B (en) A network address conversion method and system based on priority queue
CN103888313B (en) Method for forecasting optimal timeout of flow table item
US20090316714A1 (en) Packet relay apparatus
US8233390B2 (en) Priority and source aware packet memory reservation and flow control in forwarding planes
US10044614B2 (en) System and method for dynamic and configurable L2/L3 data—plane in FPGA
US20120263462A1 (en) Network Processor for Supporting Residential Gateway Applications
WO2016188032A1 (en) Data forwarding method and system using flow table
US9164771B2 (en) Method for thread reduction in a multi-thread packet processor
WO2015027924A1 (en) Method, apparatus, and controller for controlling flow table update
US9755983B1 (en) Minipacket flow control
US8804507B2 (en) Method and apparatus for temporal-based flow distribution across multiple packet processors
CN106330772B (en) Flow table sending method and OpenFlow controller in SDN
US10594631B1 (en) Methods and apparatus for memory resource management in a network device
US9485195B2 (en) Instantaneous random early detection packet dropping with drop precedence
US9166902B1 (en) Per-port multicast processing
US9705811B2 (en) Simultaneous queue random early detection dropping and global random early detection dropping system
WO2019095942A1 (en) Data transmission method and communication device
US9922000B2 (en) Packet buffer with dynamic bypass
JP2010157782A (en) Packet scheduling method and apparatus
CN102833162B (en) The method of adjustment of number of buffer and device

Legal Events

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

Ref document number: 15893108

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: 15893108

Country of ref document: EP

Kind code of ref document: A1