KR20170048824A - Method and apparatus of flow eviction for efficient resource management in openflow switch - Google Patents

Method and apparatus of flow eviction for efficient resource management in openflow switch Download PDF

Info

Publication number
KR20170048824A
KR20170048824A KR1020150149393A KR20150149393A KR20170048824A KR 20170048824 A KR20170048824 A KR 20170048824A KR 1020150149393 A KR1020150149393 A KR 1020150149393A KR 20150149393 A KR20150149393 A KR 20150149393A KR 20170048824 A KR20170048824 A KR 20170048824A
Authority
KR
South Korea
Prior art keywords
flow
importance
value
switch
resource management
Prior art date
Application number
KR1020150149393A
Other languages
Korean (ko)
Inventor
한영태
김성수
Original Assignee
주식회사 케이티
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 케이티 filed Critical 주식회사 케이티
Priority to KR1020150149393A priority Critical patent/KR20170048824A/en
Publication of KR20170048824A publication Critical patent/KR20170048824A/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9005Buffering arrangements using dynamic buffer space allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/70Virtual switches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9084Reactions to storage capacity overflow

Landscapes

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

Abstract

A flow eviction method and apparatus for efficient resource management of an OpenFlow switch are disclosed. Accordingly, it is possible not only to provide high availability of the open flow switch through efficient flow management in the open flow switch flow entry table, but also to provide differentiated customer service.

Description

[0001] METHOD AND APPARATUS FOR FLOW EVIGATION FOR EFFICIENT RESOURCE MANAGEMENT IN OPENFLOW SWITCH [0002]

BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to software defined networking, and more particularly, to a flow extraction method and apparatus for managing resources of a switch.

An OpenFlow switch is a device that receives flow information from a controller and stores flow information received from the flow entry table in the flow entry table to process traffic.

Since the flow entry table for storing flow information is stored in a finite memory, the number of flows that can be stored in the open flow switch is also finite. Since the flow storage space is finite, new flow information flowing into the open flow switch in the absence of free space in the memory is immediately discarded upon receipt by the switch regardless of its priority.

There is a need for a technique for solving a flow overflow problem such as a case where a specific table can no longer add a flow entry due to flow entries activated in an open flow switch in a flow table having a finite size.

SUMMARY OF THE INVENTION It is an object of the present invention to provide a method for providing a more stable service by efficiently excluding a flow entry of an open flow switch for resource management of an efficient open flow.

Another object of the present invention is to provide an apparatus for providing a more stable service by effectively excluding a flow entry of an open flow switch for resource management of an efficient open flow.

In order to accomplish the above object, the present invention provides a flow eviction method for efficient resource management of an OpenFlow switch.

According to another aspect of the present invention, there is provided an apparatus for exposing a flow for efficient resource management of an OpenFlow switch.

According to the present invention as described above, it is possible to provide high availability of the open flow switch through efficient flow management in the open flow switch flow entry table, as well as to provide differentiated customer service.

FIG. 1 is an exemplary diagram for explaining a flag for setting whether to extract a flow in a table setting attribute.
2 is an exemplary diagram illustrating an example of setting an Importance to a FLOW_MOD message at the time of setting a flow.
3 is an exemplary diagram for explaining a cue concept according to an embodiment of the present invention.
4 is an exemplary diagram illustrating an annular queue according to an embodiment of the present invention.
FIG. 5 is a diagram illustrating an importance-based environment queue according to an exemplary embodiment of the present invention. Referring to FIG.
FIG. 6 is a flow chart for explaining the importance rebalancing procedure according to the embodiment of the present invention.

While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that the invention is not intended to be limited to the particular embodiments, but includes all modifications, equivalents, and alternatives falling within the spirit and scope of the invention. Like reference numerals are used for like elements in describing each drawing.

The terms first, second, A, B, etc. may be used to describe various elements, but the elements should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, the first component may be referred to as a second component, and similarly, the second component may also be referred to as a first component. And / or < / RTI > includes any combination of a plurality of related listed items or any of a plurality of related listed items.

It is to be understood that when an element is referred to as being "connected" or "connected" to another element, it may be directly connected or connected to the other element, . On the other hand, when an element is referred to as being "directly connected" or "directly connected" to another element, it should be understood that there are no other elements in between.

The terminology used in this application is used only to describe a specific embodiment and is not intended to limit the invention. The singular expressions include plural expressions unless the context clearly dictates otherwise. In the present application, the terms "comprises" or "having" and the like are used to specify that there is a feature, a number, a step, an operation, an element, a component or a combination thereof described in the specification, But do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, or combinations thereof.

Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Terms such as those defined in commonly used dictionaries are to be interpreted as having a meaning consistent with the contextual meaning of the related art and are to be interpreted as either ideal or overly formal in the sense of the present application Do not.

Hereinafter, preferred embodiments according to the present invention will be described in detail with reference to the accompanying drawings.

FIG. 1 is an exemplary diagram for explaining a flag for setting whether to extract a flow in a table setting attribute, and FIG. 2 is an exemplary diagram for explaining an example of setting an Importance in a FLOW_MOD message at the time of setting a flow.

Referring to FIG. 1, the OFPTC_EVICTION flag for defining whether to extract a flow is defined in the table setting attribute. If the flag is not set, even if the number of flow entries reaches a limited limit in the table, The flow extraction is not executed. That is, the flow eviction option can be set.

Referring to FIG. 2, it is defined that an Importance can be set to a FLOW_MOD message when a flow is set. When a flow is extracted from the open flow switch, the reason why the flow is evicted is classified into OFPTMPEF_OTHER, OFPTMPEF_IMPORTANCE, and OFPTMPEF_LIFETIME, that is, other reasons, importance, and time. If OFTPMPEF_IMPORTANCE is set, the eviction process uses the Importance field to extract the flow. If OFTPMPEF_IMPORTANCE is set to a single flag, flow extraction is dependent only on IMPORTANCE, and flows with low importance are extracted from the table. However, in the flow extraction proposed in standard 1.4, there is no method for solving this problem when the maximum value is gradually increased from the importance increasing in one direction. Since the flow entry is limited to the extraction according to the physical size, The performance problem of the switch is not taken into consideration.

Example 1

FIG. 3 is a diagram for explaining a concept of a queue according to an embodiment of the present invention, FIG. 4 is an exemplary view for explaining an annular queue according to an embodiment of the present invention, and FIG. FIG. 4 is an exemplary diagram for explaining an importance-based environment queue. FIG.

3 to 5, the Importance is defined as 16 bits in the OFP_FLOW_MOD message. If the importance of a value defined by a 16-bit integer type is increased each time a flow is set, or is increased according to a specific timing, and the importance is set to a different value, the eventually the maximum value 65535 . If the criticality level is reached, if the importance level is not increased any more, or if it can not be changed, then the policy with different importance level will be limited.

In this case, you should provide a way to initialize the importance value or specify a higher priority value. In this embodiment, a method of allocating importance values in the form of a circular queue so that the importance value can be reused when the importance has reached a maximum value is proposed. That is, after the importance reaches the maximum value, the importance value can be designated from the minimum value of 0 again.

In such a case, a flow having a high significance level may have a low importance value. To do this, the lowest value among the currently set importance values is compared with the set maximum value so that the minimum value can be specified only when the value exceeds the specified value (minimum space).

If it is smaller than the minimum space, the next importance value is set to the maximum value that can be set without specifying the minimum value. Always the minimum value specified in the previous cycle and the absolute value of the importance to be set currently maintains the minimum space.

For example, assume that the currently set importance has a minimum of 401 to a maximum of 65535. Since the importance that can be set now reaches the limit value which is the maximum value, it can not set a value which is larger than the set importance value. Here, if the minimum space is set to 400 and the value of the annular queue type can be specified, the importance value can be set to 0 because the next minimum value that can be set is 0 and the minimum value of the currently set importance is larger than the minimum space of 401.

In this case, 0 is assumed to be higher than 65535 but higher than 65535 in importance. If the importance of the next newly added flow is set to 1 in order to set the importance to 1, the importance can not be set to a minimum space of 400 or less.

Example 2

FIG. 6 is a flow chart for explaining the importance rebalancing procedure according to the embodiment of the present invention.

When the flow that can be accommodated in the flow table reaches a limit, when the flow is newly introduced into the open flow switch, the importance of the newly introduced flow set to allow the flow to be evicted from the flow table attribute is compared with the importance of the flow existing in the table, If the importance of the flow is low, the flow is deleted and a new incoming flow is added. If the importance is gradually increased, the lower importance values are deleted and the maximum value of the importance that can be specified is reached.

When the critical value reaches the maximum value, the open flow switch sends a request message to the controller for the readjustment of the importance value. If the controller sends a message to the open flow switch that allows reassessment of the importance value, the switch redirects the minimum value of the current importance value to the minimum value (0) of the assignable significance value and resets all the importance values to the adjusted value Transmit importance adjustment width. When the controller receives the importance adjustment width, it rebalances all importance values to the received value.

For example, if the minimum value of the currently set importance has reached 5000 and the maximum value of 65536 has been reached, the open flow switch sends a request message to the controller for rebalance and the controller passes the message back to the open flow switch containing the allowance for rebalancing , The open flow switch adjusts the minimum value of 5000 to the minimum possible value of 0, and subtracts all the significance of the change of 5,000,000.

When the deduction is complete, the open flow switch sends a message to the effect that the rebalance is complete with 5000, which is the true value width. When the controller receives a message informing that the importance has been re-adjusted, it re-adjusts the importance value stored in the current controller's memory or database to complete synchronization on the importance.

Example 3

The table may limit the number of allowable flow entries. If the number of acceptable flows is adjusted with a flow added to a specific table, if the table size is adjusted to be smaller than the number of flows set in the current table, existing flows must be deleted. If the size of the table is set smaller than the currently set flow, delete the low-importance flows. If the number of currently set flows is 5,000 and the table size is reduced to 3000, the order of importance is sorted in descending order of importance so that the degree of importance that permits 3000 is obtained and flows having importance values lower than the importance are deleted.

For example, suppose that the currently set flow is 5000, and the maximum size of the set importance is 50 when the table size is limited to 3000. If there are 2950 flows from importance 50 to 30 and there are 100 flows with a value of importance 29, the flows having importance from 50 to 30 are accommodated in the newly set table size, Since the number of allowed flows exceeds 3050, the flows of importance 50 to 30 are preserved in the corresponding condition, and flows having less importance are deleted.

Example 4

When the flow that can be accommodated in the flow table reaches a limit, when the flow is newly introduced into the open flow switch, the importance of the newly introduced flow set to allow the flow to be evicted from the flow table attribute is compared with the importance of the flow existing in the table, If the importance of the flow is low, the flow is deleted and a new incoming flow is added.

Otherwise, the newly introduced flow is discarded. If a flow is set in the table attribute so that the flow table can be evicted and the flow table storage space reaches the threshold value and a flow having the same priority as the newly inputted flow exists, the flow with a low complexity is excluded by comparing the flow complexity do.

That is, if there is a complicated matching condition, for example, a match with a single field and a 12 tuple with all matching conditions, find the latter and delete it. The complexity calculation for the matching computes the complexity with the sum of the sizes of the individual OFP_MATCHs set.

Matching complexity =

Figure pat00001

Where N is the number of matching fields, and field size is the size of the bits defined in the standard.

If there is a flow that matches two tuples, VLANs, and IPs in a single flow message, the complexity for that flow is 16 (VLAN) + 32 (IP) because the flow message defines 16 bits for the VLAN and 32 bits for the IP address. = 48.

If there are two flows with the same importance, flow 1 defines only the VLAN matching field, and flow 2 indicates that the VLAN and IP fields are defined as matching fields, then the complexity becomes 16 (flow 1) and 48 (flow 2) Therefore, the flow that is expelled or discarded becomes the second flow.

Example 5

When a flow that can be accommodated in a flow table reaches a limit In a case where a flow is newly introduced into an open flow switch When a flow is set to be expelable in a flow table attribute, the importance of a newly introduced flow is compared with the importance of a flow existing in the table, If the importance of an existing flow is low, the flow is deleted and a new incoming flow is added.

Otherwise, the newly introduced flow is discarded. If the table attribute is set to allow the flow to be evicted and the flow table storage space reaches the threshold value and the importance of the newly inputted flow is equal to the minimum value of the importance of the set flows, the following conditions are compared and the predetermined flow satisfies the condition If the flow is expired or if not, the newly flowing flow is discarded.

- High complexity flows

- Low priority flows

- Flow with zero or no average traffic (bps, pps, etc.)

- Flow settings are out of date

Therefore, according to the embodiment of the present invention, not only high availability of the open flow switch can be provided through efficient flow management in the open flow switch flow entry table, but also differentiated customer service can be provided.

It will be apparent to those skilled in the art that various modifications and variations can be made in the present invention without departing from the spirit or scope of the present invention as defined by the following claims It can be understood that

Claims (1)

A flow eviction method and apparatus for efficient resource management of an OpenFlow switch.
KR1020150149393A 2015-10-27 2015-10-27 Method and apparatus of flow eviction for efficient resource management in openflow switch KR20170048824A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150149393A KR20170048824A (en) 2015-10-27 2015-10-27 Method and apparatus of flow eviction for efficient resource management in openflow switch

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150149393A KR20170048824A (en) 2015-10-27 2015-10-27 Method and apparatus of flow eviction for efficient resource management in openflow switch

Publications (1)

Publication Number Publication Date
KR20170048824A true KR20170048824A (en) 2017-05-10

Family

ID=58744178

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150149393A KR20170048824A (en) 2015-10-27 2015-10-27 Method and apparatus of flow eviction for efficient resource management in openflow switch

Country Status (1)

Country Link
KR (1) KR20170048824A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108924047A (en) * 2018-06-20 2018-11-30 新华三技术有限公司 A kind of flow entry storage method, device, interchanger and computer-readable medium

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108924047A (en) * 2018-06-20 2018-11-30 新华三技术有限公司 A kind of flow entry storage method, device, interchanger and computer-readable medium
CN108924047B (en) * 2018-06-20 2021-10-12 新华三技术有限公司 Flow table entry storage method and device, switch and computer readable medium

Similar Documents

Publication Publication Date Title
US10915822B2 (en) Complex event processing method, apparatus, and system
WO2019100921A1 (en) Information pushing method and device
CN109525500B (en) Information processing method and information processing device capable of automatically adjusting threshold
JP6132973B2 (en) Methods and devices for updating clients
US10142244B2 (en) Modifying a priority for at least one flow class of an application on a software defined networking controller
CN111488135A (en) Current limiting method and device for high-concurrency system, storage medium and equipment
CN112486860A (en) Method, apparatus and computer program product for managing address mapping for a storage system
EP3310093B1 (en) Traffic control method and apparatus
US20180115474A1 (en) Flow entry aging method, switch, and controller
US9886513B2 (en) Publish-subscribe system with reduced data storage and transmission requirements
CN104283643A (en) Message speed limiting method and device
US9225654B2 (en) Method and apparatus for sending packet
CN106155790B (en) Application program management method and device and terminal
EP3361782B1 (en) Routing method, device, nfcc and dh
CN103428185B (en) Packet filtering/method for limiting speed, system and device
KR20170048824A (en) Method and apparatus of flow eviction for efficient resource management in openflow switch
WO2017162045A1 (en) Message transmission method and terminal equipment
CN109413225B (en) MAC table item processing method and equipment
WO2017088528A1 (en) Configuration information management method and apparatus, and operation maintenance centre or base station
CN113765812A (en) Method and device for marking message
CN116015796A (en) Flow table updating method and device, firewall equipment and storage medium
CN111124745A (en) Method, apparatus, and computer-readable storage medium for managing storage system
US20170346753A1 (en) Method and device for forwarding data messages
US11681680B2 (en) Method, device and computer program product for managing index tables
US9531800B2 (en) Throttling group in oracle service bus