WO2015030503A1 - 패킷 출력 제어 방법 및 이를 이용한 네트워크 장치 - Google Patents

패킷 출력 제어 방법 및 이를 이용한 네트워크 장치 Download PDF

Info

Publication number
WO2015030503A1
WO2015030503A1 PCT/KR2014/008030 KR2014008030W WO2015030503A1 WO 2015030503 A1 WO2015030503 A1 WO 2015030503A1 KR 2014008030 W KR2014008030 W KR 2014008030W WO 2015030503 A1 WO2015030503 A1 WO 2015030503A1
Authority
WO
WIPO (PCT)
Prior art keywords
output
flow
packet
processing
output port
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/KR2014/008030
Other languages
English (en)
French (fr)
Inventor
이세희
이정욱
안태진
한경아
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
KT Corp
Original Assignee
KT Corp
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
Priority claimed from KR1020130162390A external-priority patent/KR101569588B1/ko
Application filed by KT Corp filed Critical KT Corp
Priority to CN201480047512.1A priority Critical patent/CN105493029B/zh
Priority to US14/914,696 priority patent/US10103987B2/en
Publication of WO2015030503A1 publication Critical patent/WO2015030503A1/ko
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0895Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements

Definitions

  • the present invention relates to a Software Defined Networking (SDN) technology, and more particularly, to a pipeline processing technology of a flow table for processing packet forwarding in a network device. It relates to a method and a network device using the same.
  • SDN Software Defined Networking
  • SDN Software defined network refers to a user-oriented network in which a user has control authority regardless of basic network equipment such as a router or a switch, and a separate software controller controls traffic flow.
  • OpenFlow is one of the standard standards for SDN technology. It defines the interface between hardware (switch) and controller (network OS) and controls the control of how data packets are delivered through the network. Protocol to separate data from physical network and interact with data plane.
  • the flow table is composed of a plurality of tables, which are connected to each other by pipelines to provide flexible parallel processing, providing efficiency and flexibility to OpenFlow switches.
  • each table When packets are processed through the pipeline, the action fields formed in each table are stored in an action list in the form of a list, consisting of an action set at the end of the pipeline. In this case, messages are delivered by providing metadata between each table.
  • match fields and action sets are updated by flow-specific instructions.
  • Actions for each flow can be executed immediately by directives or can be accumulated in a set of actions, which are last executed after passing through all flow tables.
  • the output port command executed in the pipeline processing is an action of finally forwarding a packet. Once the output port command is executed, no other command can be executed for the flow. In other words, there is no way to connect to other actions by using output port information.
  • the group table is used for multicasting a plurality of ports and the like, and is terminated by finally forwarding a packet through an output port command action. That is, there is no way to link to other actions by using the execution result of the group table.
  • An object of the present invention for solving the above problems is to provide a flow processing method that can control the flow based on the output port.
  • Another object of the present invention for solving the above problems is to provide a network apparatus for performing a flow processing method to control the flow based on the output port.
  • the present invention provides a flow processing method in a plurality of flow tables (N; N is a natural number of two or more) connected by a pipeline, wherein packets flowed in the flow table are selected from among the plurality of tables. Passing through table N-1 to table N-1, and after the packet passes through the N-1 th table, an output-only N th table indicated by the N-1 th table for the packet. performing a processing of a table) and outputting the packet after processing of the N-th table.
  • N is a natural number of two or more
  • the flow processing method may be performed in a network device that supports software defined networking.
  • an output port of a corresponding flow is indicated, and an operation to be processed in the N-th table may be determined by the indicated output port.
  • the processing of the output-only N-th table may include attaching a virtual local area network (VLAN) tag to a packet of a flow to be output to the indicated output port.
  • VLAN virtual local area network
  • the processing of the output-only N-th table may include counting for the flow to be output to the indicated output port, and if the counting for the flow is equal to or exceeds a predetermined threshold, the change of the output port is Can be performed.
  • the processing of the output-only N-th table compares the packet size of the flow to be output to the indicated output port with a predetermined threshold value, and if the packet size is equal to or exceeds the predetermined threshold value, It may be configured to perform fragmentation.
  • a packet input unit for receiving a packet of flows from the outside, a flow table storage unit for storing a plurality of flow tables (N; N is a natural number of two or more), and input from the packet input unit.
  • N is a natural number of two or more
  • the output-only N-th table indicated by the N-th table after passing through the N-th table from the first table among the plurality of tables stored in the flow table storage unit ( Provided is a network device including a flow table processing unit for performing an operation of an egress table and a packet output unit for outputting packets of the flow to the outside after the processing of the output-only N-th table by the flow table processing unit.
  • the network device may be a network device supporting software defined networking.
  • an output port of the corresponding packet is indicated, and an operation to be processed in the N-th table may be determined by the indicated output port.
  • the processing of the output-only N-th table may include attaching a Virtual Local Area Network (VLAN) tag to a packet to be output to the indicated output port.
  • VLAN Virtual Local Area Network
  • the processing of the output-only N-th table may include counting for the flow to be output to the indicated output port, and if the counting for the flow is equal to or exceeds a predetermined threshold, the change of the output port is Can be performed.
  • the processing of the output-only N-th table compares the packet size of the flow to be output to the indicated output port with a predetermined threshold value, and if the packet size is equal to or exceeds the predetermined threshold value, It may be configured to perform fragmentation.
  • an output port determined using an output table dedicated to output Can be performed in the processing of the pipeline using the flow table. Therefore, the final output can be flexibly controlled through various operations using the output port information.
  • 1 and 2 are conceptual diagrams for explaining a processing method of a pipelined flow table.
  • FIG. 3 is a conceptual diagram illustrating a flow processing method according to the present invention.
  • FIG. 4 is a conceptual diagram illustrating an embodiment of tagging a VLAN ID using a flow processing method according to the present invention.
  • FIG. 5 is another conceptual diagram for explaining an embodiment of tagging a VLAN ID using the flow processing method according to the present invention.
  • FIG. 6 is a conceptual diagram illustrating an embodiment of an output port change through flow counting using the flow processing method according to the present invention.
  • FIG. 7 is a conceptual diagram illustrating an embodiment of packet fragmentation using a flow processing method according to the present invention.
  • FIG. 8 is a conceptual diagram illustrating a field configuration of an output table according to the present invention.
  • FIG. 9 is a conceptual diagram illustrating a match field structure of an output table.
  • FIG. 10 illustrates an example of using a match field using a wild card in an output table according to the present invention.
  • FIG. 11 illustrates an example of using a match field for size comparison in an output table according to the present invention.
  • FIG. 12 illustrates an example of using a match field for flow counting in an output table according to the present invention.
  • FIG. 13 is a block diagram for explaining an embodiment of a network apparatus for performing a flow processing method according to the present invention.
  • first, second, A, and B may be used to describe various components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another.
  • the first component may be referred to as the second component, and similarly, the second component may also be referred to as the first component.
  • the method of processing a flow table in a pipelined manner in a network device includes a method of immediately executing an operation by a flow-specific instruction of each table while passing through each table constituting the flow table, and using a flow-specific directive as an operation set. There is a way to accumulate and execute the accumulated action set after passing through all the flow tables.
  • 1 and 2 are conceptual diagrams for explaining a processing method of a pipelined flow table.
  • FIG. 1 illustrates an output action 102 for a specific flow in the last nth table 101-n of a flow table composed of n tables 101-1, ..., 101-n. The case where the group output action 103 is executed is illustrated.
  • FIG. 2 illustrates instructions accumulated in the operation set 104 after passing through the last n th table 101-n of a flow table composed of n tables 101-1,..., 101-n. The case where the output operation 105 or the group output operation 106 is performed is illustrated. Even within an operation set, the output operation or group output operation is executed last in priority.
  • an output port is specified by an output operation or a group output operation, the packet is forwarded to the designated output port.
  • an output port is specified, no other commands can be executed for that flow. In other words, there is no way to connect to other actions by using output port information.
  • the flow processing method in order to solve the above-mentioned problem, in the flow processing method in the flow table consisting of a plurality of tables (n; n is a natural number of two or more) connected by a pipeline, the last table An egress table is introduced as (nth table).
  • FIG. 3 is a conceptual diagram illustrating a flow processing method according to the present invention.
  • the switch according to the present invention includes n-1 flow tables 301-1, 301-2,... And an output table 302 all connected by pipelines.
  • the packet flowing into the switch passes from the first table 301-1 to the (n-1) th table 301- (n-1), and then processes the accumulated operation set 302, and then operates.
  • the group output 303 or output operation 304 is executed last, and then via an egress table 305 before the final output.
  • the output table may be reached by immediately executing the output operation or the group output operation as described above with reference to FIG. 1 without going through the operation set.
  • the packet is finally output.
  • VLAN ID tagging embodiment is first described as the most representative embodiment using an output-only table.
  • FIG. 4 is a conceptual diagram illustrating an embodiment of tagging a VLAN ID using a flow processing method according to the present invention, and is an example of a method of processing an output table after an output operation of a flow table.
  • the packet entering the switch 400 passes through the first flow table 410 and the second flow table 420, and finds a corresponding flow in a match field of each table to perform a corresponding action. Done.
  • the switch after performing an output port action in the second flow table 420, the switch does not exit and passes through the output table 430.
  • a corresponding 'push VLAN' operation is additionally performed according to the output port indicated in the second flow table, and then the packet is output. That is, 'Push VLAN1' operation is performed in the output table for packets designated to output port1, and 'Push VLAN2' operation is performed in the output table for packets designated to output port2. do.
  • FIG. 5 is another conceptual diagram illustrating an embodiment of tagging a VLAN ID using a flow processing method according to the present invention, and is an example of a method of processing an output table after a group output operation of a group table.
  • the packet entering the switch 500 passes through the first flow table 510 and the second flow table 520, and finds a corresponding flow in a match field of each table to perform a corresponding action.
  • the second flow table 520 After performing a plurality of output port operations (ie, multicasting) defined in the group table 530 by the group command, the second flow table 520 passes through the output table 540.
  • the port is additionally executed by the Push VLAN command, after which the packet is output from the switch 500.
  • FIG. 6 is a conceptual diagram illustrating an embodiment of an output port change through flow counting using the flow processing method according to the present invention.
  • the output port 1 operation is executed as it is and is transmitted to the output queues 630 without changing the output port (S640). ). However, if the counting for the flow exceeds a predetermined threshold, the output port for the packet is changed to the output port 2 (Output port 2) and transferred to the output queue 630 (S650).
  • FIG. 7 is a conceptual diagram illustrating an embodiment of packet fragmentation using a flow processing method according to the present invention.
  • the operation of the output port 1 is performed as it is and transferred to the output queue 730 without changing the packet size (S740). However, if the packet is larger than the MTU size, the packet is delivered to the output queue 730 after packet fragmentation (S750).
  • FIG. 8 is a conceptual diagram illustrating a field configuration of an output table according to the present invention
  • FIG. 9 is a conceptual diagram illustrating a match field structure of an output table.
  • the output table may include match fields, priorities, counters, instructions, timeouts, and cookies. .
  • the match field of the output table is configured in a format of repeated type-length-value (TLV) format.
  • the type field includes a class (oxm_class), a field (oxm_field), and masking. It consists of whether (oxm_hasmask), the Length field is composed of the length (oxm_length), the Value field is composed of the actual matching value of the match field.
  • the class (oxm_class) of the Type field is distinguished from the general match field classification by a separate division value, and accordingly, the operator (oxm_operator) is used in addition to simple matching by assigning an operator division (oxm_operator) to the Value field.
  • the size comparison is possible.
  • the size comparison method using the operator may be used in the flow counting embodiment illustrated in FIG. 6 or the packet segmentation embodiment illustrated in FIG. 7.
  • FIG. 10 illustrates an example of using a match field using a wild card in an output table according to the present invention.
  • 11 is an example for explaining an example of using a match field for size comparison in an output table according to the present invention.
  • a comparison operator 'greater than (>)' is used to compare '1400> MTU size' to compare the packet size with the MTU size of output port 1. This is an example of using an expression. Instead of using oxm_bitmask, set oxm_operator to '>' and set the comparison value to oxm_value.
  • flow counting in an output table may be enabled by defining and managing a counter 1210 for an egress table and a counter 1220 for an egress flow entry.
  • FIG. 13 is a block diagram for explaining an embodiment of a network apparatus for performing a flow processing method according to the present invention.
  • a network apparatus for performing a flow processing method may include a packet input unit 1310, a flow table storage unit 1320, a flow table processing unit 1330, and a packet output unit 1340. It can be configured to include.
  • the packet input unit 1310 is a component that receives a packet of a flow from the outside.
  • the flow table storage unit 1320 is a component that stores a plurality of (N; N is two or more natural numbers) flow tables.
  • the last flow table of the plurality of flow tables necessarily includes an egress table described so far.
  • the flow table storage unit 1320 may be implemented using various nonvolatile memory devices.
  • the flow table processing unit 1330 is a component that performs processing based on the flow table stored in the flow table storage unit 1320 with respect to the packet introduced through the packet input unit 1310. At this time, the flow table processing unit 1330 outputs the N-only table indicated by the N-th table after passing through the N-th table from the first table to the packet input from the packet input unit 1310. The operation of the egress table is performed.
  • an operation to be processed in the N th output dedicated table may be determined by the indicated output port.
  • the packet output unit 1340 is a component for outputting the packet output from the flow table processing unit 1330 to the outside of the switch 1300.

Landscapes

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

Abstract

패킷 출력 제어 방법 및 이를 이용한 네트워크 장치가 개시된다. 본 발명에 따른 패킷 출력 제어 방법은 파이프라인으로 연결된 복수 개(N개; N은 2이상의 자연수)의 플로우 테이블에서 플로우 처리 방법에 있어서, 플로우의 유입된 패킷이 복수 개의 테이블 중, 제1 테이블부터 제N-1번 테이블을 경유하는 단계, 패킷이 N-1번째 테이블을 경유한 이후에, 패킷에 대해 N-1번째 테이블에 의해 지시되는 출력 전용 N번째 테이블(egress table)의 처리를 수행하는 단계 및 N번째 테이블의 처리 이후에 상기 패킷을 출력하는 단계를 포함하여 구성될 수 있다. 따라서, 출력 포트 정보를 이용한 다양한 동작을 통해 최종 출력을 유연한 제어가 가능하다.

Description

패킷 출력 제어 방법 및 이를 이용한 네트워크 장치
본 발명은 소프트웨어 정의 네트워킹(SDN; Software Defined Networking) 기술에 관한 것으로, 더욱 상세하게는 네트워크 장치에서 패킷 포워딩을 처리하기 위한 플로우 테이블의 파이프라인(pipeline) 처리 기술에 관한 것으로, 패킷의 출력을 제어하기 위한 방법 및 이를 이용한 네트워크 장치에 관한 것이다.
SDN(Software Defined Network)은 라우터나 스위치 등의 기본 네트워크 장비에 관계없이 사용자가 통제 권한을 가지며, 별도의 소프트웨어 컨트롤러가 트래픽 흐름을 제어하는 사용자 중심의 네트워크를 의미한다.
오픈플로우(OpenFlow)는 SDN 기술의 대표적 표준의 하나로, 하드웨어(스위치)와 컨트롤러(network OS) 사이를 연결하는 인터페이스를 정의하며, 네트워크를 통해 데이터 패킷을 어떻게 전달할 것인지 제어하기 위한 기능(control plane)을 물리적 네트워크와 분리하여 데이터 전달 기능(data plane)과 상호작용 하기 위한 프로토콜이다.
플로우 테이블(flow table)은 복수개의 테이블로 구성되어 있으며, 테이블간에 파이프라인(pipeline)으로 연결되어 유연한 병렬 프로세싱이 가능해짐으로써 OpenFlow 스위치에 효율성과 유연성을 제공한다.
파이프라인(pipeline)을 통해 패킷들이 프로세싱 될 때, 각 테이블에서 형성된 동작(action) 필드는 리스트의 형태로 동작 리스트(action list)에 저장이 되어 파이프라인 마지막에 동작 집합(action set)으로 이루어지고, 각 테이블 간에는 메타데이터(metadata) 제공으로 메시지를 전달한다.
스위치에 패킷이 유입되어 파이프라인의 각 플로우 테이블을 통과할 때, 플로우 별 지시어(instruction)에 의해 매치 필드(match fields)와 동작 집합이 업데이트 된다.
각 플로우에 대한 동작은 지시어에 의해 즉시 실행 되거나, 동작 집합에 누적이 될 수 있는데, 누적된 동작 집합은 최종적으로 모든 플로우 테이블을 통과 후 마지막에 실행된다.
파이프라인 처리 과정에서 실행되는 출력포트(output port) 명령어는 패킷을 최종 포워딩하는 액션으로서, 일단 출력포트 명령어가 수행이 되면 해당 플로우에 대하여 더 이상 다른 명령어를 수행할 수 없다. 즉, 출력포트 정보를 활용하여 다른 액션에 연결할 수 있는 방법이 없다.
또한, 그룹 테이블(group table)은 다수 개의 포트에 대한 멀티 캐스트 등에 활용되는데, 출력포트 명령어 액션을 통해 최종적으로 패킷을 포워딩함으로써 종료된다. 즉, 그룹 테이블의 실행결과를 이용하여 다른 액션에 연결할 수 있는 방법이 없다.
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은, 출력포트에 기초하여 플로우를 제어할 수 있도록 하는 플로우 처리 방법을 제공하는데 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 다른 목적은, 출력포트에 기초하여 플로우를 제어할 수 있도록 하는 플로우 처리 방법을 수행하는 네트워크 장치를 제공하는데 있다.
상기 목적을 달성하기 위한 본 발명은, 파이프라인으로 연결된 복수 개(N개; N은 2이상의 자연수)의 플로우 테이블에서 플로우 처리 방법에 있어서, 상기 플로우의 유입된 패킷이 상기 복수 개의 테이블 중, 제1 테이블부터 제N-1번 테이블을 경유하는 단계, 상기 패킷이 상기 N-1번째 테이블을 경유한 이후에, 상기 패킷에 대해 상기 N-1번째 테이블에 의해 지시되는 출력 전용 N번째 테이블(egress table)의 처리를 수행하는 단계 및 상기 N번째 테이블의 처리 이후에 상기 패킷을 출력하는 단계를 포함한, 플로우 처리 방법을 제공한다.
여기에서, 상기 플로우 처리 방법은 소프트웨어 정의 네트워킹(Software Defined Networking)을 지원하는 네트워크 장비에서 수행될 수 있다.
여기에서, 상기 N-1번째 테이블을 경유한 이후에, 해당 플로우의 출력 포트(output port)가 지시되며, 상기 지시된 출력 포트에 의해서 상기 N번째 테이블에서 처리될 동작이 결정될 수 있다.
이때, 상기 출력 전용 N번째 테이블의 처리는 지시된 출력 포트로 출력될 플로우의 패킷에 대한 가상 로컬 에어리어 네트워크(VLAN; Virtual LAN) 태그(tag)의 부착을 포함할 수 있다.
이때, 상기 출력 전용 N번째 테이블의 처리는 지시된 출력 포트로 출력될 플로우에 대한 카운팅을 포함할 수 있고, 상기 플로우에 대한 카운팅이 소정의 임계값과 동일하거나 초과하는 경우, 출력 포트의 변경이 수행될 수 있다.
이때, 상기 출력 전용 N번째 테이블의 처리는 지시된 출력 포트로 출력될 플로우의 패킷 사이즈를 소정의 임계값과 비교하여, 상기 패킷 사이즈가 소정의 임계값과 동일하거나 초과하는 경우, 상기 패킷에 대한 분할(fragmentation)을 수행하도록 구성될 수 있다.
상기 다른 목적을 달성하기 위한 본 발명은, 외부로부터 플로우의 패킷을 입력받는 패킷 입력부, 복수 개(N개; N은 2이상의 자연수)의 플로우 테이블을 저장하는 플로우 테이블 저장부, 상기 패킷 입력부로부터 입력된 패킷에 대하여, 상기 플로우 테이블 저장부에 저장된 상기 복수 개의 테이블 중, 제1 테이블부터 제N-1번 테이블을 경유한 이후에, 상기 N-1번째 테이블에 의해 지시되는 출력 전용 N번째 테이블(egress table)의 동작을 수행하는 플로우 테이블 처리부 및 상기 플로우 테이블 처리부에서 상기 출력 전용 N번째 테이블의 처리를 완료한 이후에 상기 플로우의 패킷을 외부로 출력하는 패킷 출력부를 포함한 네트워크 장치를 제공한다.
여기에서, 상기 네트워크 장치는 소프트웨어 정의 네트워킹(Software Defined Networking)을 지원하는 네트워크 장치일 수 있다.
여기에서, 상기 N-1번째 테이블을 경유한 이후에, 해당 패킷의 출력 포트(output port)가 지시되며, 상기 지시된 출력 포트에 의해서 상기 N번째 테이블에서 처리될 동작이 결정될 수 있다.
이때, 상기 출력 전용 N번째 테이블의 처리는 지시된 출력 포트로 출력될 패킷에 대한 가상 로컬 에어리어 네트워크(VLAN; Virtual LAN) 태그(tag)의 부착을 포함할 수 있다.
이때, 상기 출력 전용 N번째 테이블의 처리는 지시된 출력 포트로 출력될 플로우에 대한 카운팅을 포함할 수 있고, 상기 플로우에 대한 카운팅이 소정의 임계값과 동일하거나 초과하는 경우, 출력 포트의 변경이 수행될 수 있다.
이때, 상기 출력 전용 N번째 테이블의 처리는 지시된 출력 포트로 출력될 플로우의 패킷 사이즈를 소정의 임계값과 비교하여, 상기 패킷 사이즈가 소정의 임계값과 동일하거나 초과하는 경우, 상기 패킷에 대한 분할(fragmentation)을 수행하도록 구성될 수 있다.
본 발명에 따른 플로우 처리 방법과, 플로우 처리 방법을 수행하는 네트워크 장치를 이용하면, 플로우 테이블을 이용한 파이프라인의 처리에 있어서, 출력 전용의 출력 테이블(egress table)을 이용하여 결정된 출력 포트(output port)에 매칭되는 동작을 수행 가능하다. 따라서, 출력 포트 정보를 이용한 다양한 동작을 통해 최종 출력을 유연하게 제어할 수 있게 된다.
도 1과 도 2는 파이프라인 방식 플로우 테이블의 처리 방법을 설명하기 위한 개념도들이다.
도 3은 본 발명에 따른 플로우 처리 방법을 설명하기 위한 개념도이다.
도 4는 본 발명에 따른 플로우 처리 방법을 이용하여 VLAN ID를 태깅하는 실시예를 설명하기 위한 개념도이다.
도 5는 본 발명에 따른 플로우 처리 방법을 이용하여 VLAN ID를 태깅하는 실시예를 설명하기 위한 다른 개념도이다.
도 6은 본 발명에 따른 플로우 처리 방법을 이용한 플로우 카운팅을 통한 출력 포트 변경 실시예를 설명하기 위한 개념도이다.
도 7은 본 발명에 따른 플로우 처리 방법을 이용한 패킷 분할(fragmentation) 실시예를 설명하기 위한 개념도이다.
도 8은 본 발명에 따른 출력 테이블의 필드 구성을 보여주는 개념도이다.
도 9는 출력 테이블의 매치 필드 구조를 보여주는 개념도이다.
도 10은 본 발명에 따른 출력 테이블에서 와일드 카드를 이용한 매치 필드의 활용 예를 설명하기 위한 예시이다.
도 11은 본 발명에 따른 출력 테이블에서 크기 비교를 위한 매치 필드의 활용 예를 설명하기 위한 예시이다.
도 12는 본 발명에 따른 출력 테이블에서 플로우 카운팅을 위한 매치 필드의 활용 예를 설명하기 위한 예시이다.
도 13은 본 발명에 따른 플로우 처리 방법을 수행하기 위한 네트워크 장치의 일 실시예를 설명하기 위한 블록도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
네트워크 장치에서 파이프라인 방식으로 플로우 테이블을 처리하는 방법은, 플로우 테이블을 구성하는 각 테이블을 통과하면서 각 테이블의 플로우 별 지시어(instruction)에 의한 동작을 즉시 실행하는 방법과, 플로우 별 지시어를 동작 집합에 누적시키고 누적된 동작 집합을 모든 플로우 테이블을 통과 후에 실행하는 방법이 있다.
도 1과 도 2는 파이프라인 방식 플로우 테이블의 처리 방법을 설명하기 위한 개념도들이다.
먼저, 도 1은 n개의 테이블들(101-1, ..., 101-n)로 구성된 플로우 테이블의 마지막 n번째 테이블(101-n)에서 특정 플로우에 대해서 출력 동작(102; output action)이나 그룹 출력 동작(103; group output action)이 실행되는 경우를 예시하고 있다.
반면, 도 2는 n개의 테이블들(101-1, ..., 101-n)로 구성된 플로우 테이블의 마지막 n번째 테이블(101-n)를 거친 이후에 동작집합(104)에 누적된 명령어들 중 출력 동작(105) 또는 그룹 출력 동작(106)이 실행되는 경우를 예시하고 있다. 동작집합 내에서도, 출력 동작 또는 그룹 출력 동작은 우선순위에 있어서 제일 마지막에 실행된다.
어느 경우이든, 출력 동작 또는 그룹 출력 동작에 의해서 출력 포트(output port)가 지정되면, 지정된 출력 포트로 패킷이 포워딩된다. 그리고, 일단 출력포트 가 지정이 되면 해당 플로우에 대하여 더 이상 다른 명령어를 수행할 수 없다. 즉, 출력포트 정보를 활용하여 다른 액션에 연결할 수 있는 방법이 없다.
또한, 플로우 테이블 간 흐름은 파이프라인 처리방식으로 연결되는데, Goto Table 지시어를 이용해서 다른 플로우 테이블로 이동시 순차적인 전진방향으로만 이동할 수 있으며, 따라서 마지막 플로우 테이블에서는 Goto 지시어를 사용할 수 없다.
본 발명에 따른 플로우 처리 방법
본 발명에 따른 플로우 처리 방법에서는, 상술된 문제점을 해결하기 위해서, 파이프라인으로 연결된 복수 개(n개; n은 2이상의 자연수)의 테이블로 구성된 플로우 테이블에서의 플로우 처리 방법에 있어서, 가장 마지막 테이블(n번째 테이블)로서 출력 테이블(egress table)을 도입하는 것을 특징으로 한다.
도 3은 본 발명에 따른 플로우 처리 방법을 설명하기 위한 개념도이다.
도 3을 참조하면, 본 발명에 따른 스위치는 모두 파이프라인으로 연결된 n-1개의 플로우 테이블(301-1,301-2, ...)과 출력 테이블(302)을 포함한다.
스위치에 유입된 패킷은 제1 테이블(301-1) 부터 제(n-1) 테이블(301-(n-1))까지 통과한 후, 누적된 동작 집합(302)을 처리하게 되며, 동작 집합(302)에 정의된 액션 중, 맨 마지막에 그룹 출력(303) 또는 출력 동작(304)을 실행한 후, 최종 출력 전에 출력 테이블(Egress Table; 305)을 경유한다. 또는, 동작 집합을 거치지 않고, 앞서 도 1을 통하여 설명된 바와 같이, 출력 동작이나 그룹 출력 동작의 즉시 실행에 의해서 출력 테이블에 도달할 수도 있다.
출력 테이블(305)에서는, 그룹 출력(303) 또는 출력 동작(304)에 의하여 지시된 출력 포트(output port)에 대해 정해진 동작을 수행한 후, 최종적으로 패킷이 출력된다.
이하에서는, 상술된 본 발명에 따른 플로우 처리 방법을 보다 더 자세히 설명하기 위해서, 출력전용 테이블을 이용하는 가장 대표적인 실시예로서 VLAN ID 태깅(tagging) 실시예를 먼저 설명한다.
도 4는 본 발명에 따른 플로우 처리 방법을 이용하여 VLAN ID를 태킹하는 실시예를 설명하기 위한 개념도로서, 플로우 테이블의 출력 동작 이후의 출력 테이블의 처리 방법에 대한 예시이다.
스위치(400)에 들어온 패킷은 제1 플로우 테이블(410)과 제2 플로우 테이블(420)를 거치게 되며, 각 테이블의 매치 필드(match field)에서 해당하는 플로우를 찾아 대응된 동작(action)을 수행하게 된다.
도 4에 예시된 본 발명에 따른 실시예에서는, 제2 플로우 테이블(420)에서 출력 포트 동작(output port action)을 수행 후, 스위치를 빠져나가지 않고, 출력 테이블(430)을 경유한다. 출력 테이블(430)에서는, 앞서 제2 플로우 테이블에서 지시된 출력 포트에 따라 대응되는 'Push VLAN' 동작이 추가적으로 실행되며, 이후에 패킷은 출력된다. 즉, 출력 포트1(output port1)이 지정된 패킷들에 대해서는 출력 테이블에서 'Push VLAN1' 동작이 수행되며, 출력 포트2(output port2)가 지정된 패킷들에 대해서는 출력 테이블에서 'Push VLAN2' 동작이 수행된다.
상술된 예시에서, 만약 출력 테이블이 사용되지 않는 다면, 제2 플로우 테이블에서 출력 포트1로 출력되는 모든 플로우 항목에 대해서 출력포트1로 출력하는 동작("Output port1") 이전에 "Push VLAN1"을 동작집합에 일일이 추가해야 하므로, 제2 플로우 테이블에 플로우 항목이 많아지면 비효율성이 증가한다.
도 5는 본 발명에 따른 플로우 처리 방법을 이용하여 VLAN ID를 태깅하는 실시예를 설명하기 위한 다른 개념도로서, 그룹 테이블의 그룹 출력 동작 이후의 출력 테이블의 처리 방법에 대한 예시이다.
스위치(500)에 들어온 패킷은 제1 플로우 테이블(510)과 제2 플로우 테이블(520)을 거치게 되며, 각 테이블의 매치 필드(match field)에서 해당하는 플로우를 찾아 대응된 동작(action)을 수행하게 된다
제2 플로우 테이블(520)에서, 그룹 명령어에 의해서 그룹 테이블(530)에 정의된 다수의 출력 포트 동작(즉, 멀티 캐스팅)을 수행 후, 출력 테이블(540)을 경유하게 된다.
출력 테이블(540)에서는 그룹 테이블에 의해 지시된 출력 포트에 따라, 포트별로 Push VLAN 명령어로 추가 실행되며, 이후에 패킷은 스위치(500)로부터 출력된다.
따라서, 출력 테이블을 사용하여 출력 포트 필드를 매칭하고 포트별 Push VLAN 동작에 대한 지정을 통해, 해당 출력 포트로 출력되는 모든 플로우 항목에 대한 제어가 가능하다. 이를 통하여, 파이프라인 처리에서 플로우 테이블 간 독립성 및 병렬처리의 특성을 최대한 활용 가능하다.
이하에서는, 상술된 본 발명에 따른 플로우 처리 방법을 보다 더 자세히 설명하기 위해서, 출력전용 테이블을 이용하는 추가 실시예들로서 플로우 카운팅(flow counting)을 이용한 출력 포트 변경과, 패킷 분할(packet fragmentation) 실시예들을 설명한다.
도 6은 본 발명에 따른 플로우 처리 방법을 이용한 플로우 카운팅을 통한 출력 포트 변경 실시예를 설명하기 위한 개념도이다.
스위치(600)에 유입된 패킷은 마지막 플로우 테이블(610)에 도달하면, 이에 따라 출력 포트1을 지정하는 동작이 실행되고(S610), 이 패킷은 출력 테이블(620)을 경유한다(S620). 스위치에서는 출력 포트1에 대응된 출력 테이블의 동작으로서 출력 포트1에 해당되는 플로우들에 대한 카운팅을 수행하여, 소정의 임계값을 초과하였는지 여부를 체크한다(S630).
임계값 초과 여부를 체크한 결과, 플로우에 대한 카운팅이 임계값을 초과하지 않았다면 출력 포트1(output port 1) 동작을 그대로 실행하여 출력 포트 변경없이 출력 큐(Output Queues; 630)에 전달한다(S640). 하지만, 플로우에 대한 카운팅이 소정의 임계값을 초과하는 경우, 패킷에 대한 출력 포트를 출력 포트2(Output port 2)로 변경하여 출력 큐(630)에 전달한다(S650).
도 7은 본 발명에 따른 플로우 처리 방법을 이용한 패킷 분할(fragmentation) 실시예를 설명하기 위한 개념도이다.
스위치(700)에 유입된 패킷은 마지막 플로우 테이블(710)에 도달하면, 이에 따라 출력 포트 1을 지정하는 동작이 실행되고(S710), 이 패킷이 출력 테이블(720)을 경유한다(S720). 스위치에서는 출력 포트1을 통하여 패킷을 출력 큐(730)로 내보내기 전에, 해당 출력포트(즉, 출력 포트1)의 MTU(Maximum Transmission Unit) 크기와 현재 유입된 패킷의 크기를 비교한다(S730).
패킷이 MTU 사이즈보다 크지 않은 경우, 출력 포트1의 동작을 그대로 실행하여 패킷 크기의 변경 없이 출력 큐(730)에 전달한다(S740). 하지만, 패킷이 MTU 사이즈보다 큰 경우, 패킷 분할(fragmentation)을 수행한 후 출력 큐(730)에 전달한다(S750).
출력 테이블의 필드 구성 및 매치 필드 구성
도 8은 본 발명에 따른 출력 테이블의 필드 구성을 보여주는 개념도이며, 도 9는 출력 테이블의 매치 필드 구조를 보여주는 개념도이다.
먼저, 도 8을 참조하면, 출력 테이블은 매치 필드(Match Fields), 우선순위(Priority), 카운터(Counters), 지시어(Instructions), 타임아웃(Timeouts), 및 쿠키(Cookie)로 구성될 수 있다.
또한, 도 9를 참조하면, 출력 테이블의 매치 필드는 TLV(Type-Length-Value) 포맷이 반복된 형태로 구성되는데, 보다 상세하게는, Type 필드는 클래스(oxm_class), 필드(oxm_field), 마스킹여부(oxm_hasmask)로 구성되며, Length 필드는 길이(oxm_length)로 구성되고, Value 필드는 매치필드의 실제 매칭값으로 구성된다.
 이러한 구성에서, Type 필드의 클래스(oxm_class)를 별도의 구분값으로 일반 매치필드의 분류와 구별하고, 이에 따라 Value 필드를 연산자 구분(oxm_operator)를 지정하여, 단순 매칭 외에 연산자(oxm_operator)를 활용하여 크기 비교가 가능한 것이 특징이다.
연산자를 이용한 크기 비교 방법은 도 6에서 예시된 플로우 카운팅 실시예나, 도 7에서 예시된 패킷 분할 실시예의 경우에서 활용될 수 있다.
도 10은 본 발명에 따른 출력 테이블에서 와일드 카드를 이용한 매치 필드의 활용 예를 설명하기 위한 예시이다.
도 10을 참조하면, DST_IP에 대하여 10.1.1.1~10.1.1.255를 매칭하기 위해 bitmask 인 255.255.255.0 을 사용하여 매칭하는 경우가 예시된다.
또한, 도 11은 본 발명에 따른 출력 테이블에서 크기 비교를 위한 매치 필드의 활용 예를 설명하기 위한 예시이다.
도 11을 참조하면, 앞서 설명된 도 7의 실시예에서 출력 포트1의 MTU 사이즈와 패킷 사이즈를 비교하기 위해 비교연산자인 '~보다 크다 (>)'를 사용하여 '1400 > MTU size'에 대한 표현식을 이용하는 예시이다. oxm_bitmask를 사용하지 않고, oxm_operator를 '>'로 지정하며, oxm_value에 비교값을 세팅한다.
또한, 도 12는 본 발명에 따른 출력 테이블에서 플로우 카운팅을 위한 매치 필드의 활용 예를 설명하기 위한 예시이다.
도 12를 참조하면, Egress Table를 위한 카운터(1210)와 Egress Flow Entry를 위한 카운터(1220)를 정의하고 관리함으로써 출력 테이블에서의 플로우 카운팅이 가능해질 수 있다.
본 발명에 따른 네트워크 장치
도 13은 본 발명에 따른 플로우 처리 방법을 수행하기 위한 네트워크 장치의 일 실시예를 설명하기 위한 블록도이다.
도 13을 참조하면, 본 발명에 따른 플로우 처리 방법을 수행하기 위한 네트워크 장치는, 패킷 입력부(1310), 플로우 테이블 저장부(1320), 플로우 테이블 처리부(1330), 및 패킷 출력부(1340)를 포함하여 구성될 수 있다.
먼저, 패킷 입력부(1310)는 외부로부터 플로우의 패킷을 입력받는 구성요소이다.
다음으로, 플로우 테이블 저장부(1320)는 복수 개(N개; N은 2이상의 자연수)의 플로우 테이블을 저장하는 구성요소이다. 이때, 복수개의 플로우 테이블 중에서 가장 마지막 플로우 테이블은 반드시 지금까지 설명된 출력 테이블(egress table)을 포함하게 된다. 플로우 테이블 저장부(1320)는 다양한 비휘발성 메모리 장치를 이용하여 구현될 수 있다.
다음으로, 플로우 테이블 처리부(1330)는 패킷 입력부(1310)를 통하여 유입된 패킷에 대하여, 상기 플로우 테이블 저장부(1320)에 저장된 플로우 테이블에 기초한 처리를 수행하는 구성요소이다. 이때, 플로우 테이블 처리부(1330)는 패킷 입력부(1310)로부터 입력된 패킷에 대하여, 제1 테이블부터 제N-1번 테이블을 경유한 이후에, 상기 N-1번째 테이블에 의해 지시되는 출력 전용 N번째 테이블(egress table)의 동작을 수행하게 된다.
즉, 상기 N-1번째 테이블을 경유한 이후에, 해당 패킷의 출력 포트(output port)가 지시되면, 상기 지시된 출력 포트에 의해서 상기 N번째 출력 전용 테이블에서 처리될 동작이 결정될 수 있다.
마지막으로, 상기 패킷 출력부(1340)는 플로우 테이블 처리부(1330)로부터 출력된 패킷을 스위치(1300) 외부로 출력하기 위한 구성요소이다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.

Claims (14)

  1. 파이프라인으로 연결된 복수 개(N개; N은 2이상의 자연수)의 플로우 테이블에서 플로우 처리 방법에 있어서,
    상기 플로우의 유입된 패킷이 상기 복수 개의 테이블 중, 제1 테이블부터 제N-1번 테이블을 경유하는 단계;
    상기 패킷이 상기 N-1번째 테이블을 경유한 이후에, 상기 패킷에 대해 상기 N-1번째 테이블에 의해 지시되는 출력 전용 N번째 테이블(egress table)의 처리를 수행하는 단계; 및
    상기 N번째 테이블의 처리 이후에 상기 패킷을 출력하는 단계를 포함한, 플로우 처리 방법.
  2. 청구항 1에 있어서,
    상기 플로우 처리 방법은 소프트웨어 정의 네트워킹(Software Defined Networking)을 지원하는 네트워크 장비에서 수행되는 것을 특징으로 하는, 플로우 처리 방법.
  3. 청구항 1에 있어서,
    상기 N-1번째 테이블을 경유한 이후에, 해당 플로우의 출력 포트(output port)가 지시되며, 상기 지시된 출력 포트에 의해서 상기 N번째 테이블에서 처리될 동작이 결정되는 것을 특징으로 하는, 플로우 처리 방법.
  4. 청구항 3에 있어서,
    상기 출력 전용 N번째 테이블의 처리는 지시된 출력 포트로 출력될 플로우의 패킷에 대한 가상 로컬 에어리어 네트워크(VLAN; Virtual LAN) 태그(tag)의 부착을 포함하는 것을 특징으로 하는, 플로우 처리 방법.
  5. 청구항 3에 있어서,
    상기 출력 전용 N번째 테이블의 처리는 지시된 출력 포트로 출력될 플로우에 대한 카운팅을 포함하는 것을 특징으로 하는, 플로우 처리 방법.
  6. 청구항 5에 있어서,
    상기 플로우에 대한 카운팅이 소정의 임계값과 동일하거나 초과하는 경우, 출력 포트의 변경을 수행하는 것을 특징으로 하는, 플로우 처리 방법.
  7. 청구항 3에 있어서,
    상기 출력 전용 N번째 테이블의 처리는 지시된 출력 포트로 출력될 플로우의 패킷 사이즈를 소정의 임계값과 비교하여, 상기 패킷 사이즈가 소정의 임계값과 동일하거나 초과하는 경우, 상기 패킷에 대한 분할(fragmentation)을 수행하는 것을 특징으로 하는, 플로우 처리 방법.
  8. 외부로부터 플로우의 패킷을 입력받는 패킷 입력부;
    복수 개(N개; N은 2이상의 자연수)의 플로우 테이블을 저장하는 플로우 테이블 저장부;
    상기 패킷 입력부로부터 입력된 패킷에 대하여, 상기 플로우 테이블 저장부에 저장된 상기 복수 개의 테이블 중, 제1 테이블부터 제N-1번 테이블을 경유한 이후에, 상기 N-1번째 테이블에 의해 지시되는 출력 전용 N번째 테이블(egress table)의 동작을 수행하는 플로우 테이블 처리부; 및
    상기 플로우 테이블 처리부에서 상기 출력 전용 N번째 테이블의 처리를 완료한 이후에 상기 플로우의 패킷을 외부로 출력하는 패킷 출력부를 포함한 네트워크 장치.
  9. 청구항 8에 있어서,
    상기 네트워크 장치는 소프트웨어 정의 네트워킹(Software Defined Networking)을 지원하는 네트워크 장치인, 네트워크 장치.
  10. 청구항 8에 있어서,
    상기 N-1번째 테이블을 경유한 이후에, 해당 패킷의 출력 포트(output port)가 지시되며, 상기 지시된 출력 포트에 의해서 상기 N번째 테이블에서 처리될 동작이 결정되는, 네트워크 장치.
  11. 청구항 10에 있어서,
    상기 출력 전용 N번째 테이블의 처리는 지시된 출력 포트로 출력될 패킷에 대한 가상 로컬 에어리어 네트워크(VLAN; Virtual LAN) 태그(tag)의 부착을 포함하는, 네트워크 장치.
  12. 청구항 10에 있어서,
    상기 출력 전용 N번째 테이블의 처리는 지시된 출력 포트로 출력될 플로우에 대한 카운팅을 포함하는, 네트워크 장치.
  13. 청구항 12에 있어서,
    상기 플로우에 대한 카운팅이 소정의 임계값과 동일하거나 초과하는 경우, 출력 포트의 변경을 수행하는 것을 특징으로 하는, 네트워크 장치.
  14. 청구항 10에 있어서,
    상기 출력 전용 N번째 테이블의 처리는 지시된 출력 포트로 출력될 플로우의 패킷 사이즈를 소정의 임계값과 비교하여, 상기 패킷 사이즈가 소정의 임계값과 동일하거나 초과하는 경우, 상기 패킷에 대한 분할(fragmentation)을 수행하는 것을 특징으로 하는, 네트워크 장치.
PCT/KR2014/008030 2013-08-29 2014-08-28 패킷 출력 제어 방법 및 이를 이용한 네트워크 장치 Ceased WO2015030503A1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201480047512.1A CN105493029B (zh) 2013-08-29 2014-08-28 数据包输出控制方法及使用该方法的网络装置
US14/914,696 US10103987B2 (en) 2013-08-29 2014-08-28 Packet output controlling method and network device using same

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR10-2013-0103468 2013-08-29
KR20130103468 2013-08-29
KR1020130162390A KR101569588B1 (ko) 2013-08-29 2013-12-24 패킷 출력 제어 방법 및 이를 이용한 네트워크 장치
KR10-2013-0162390 2013-12-24

Publications (1)

Publication Number Publication Date
WO2015030503A1 true WO2015030503A1 (ko) 2015-03-05

Family

ID=52586961

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2014/008030 Ceased WO2015030503A1 (ko) 2013-08-29 2014-08-28 패킷 출력 제어 방법 및 이를 이용한 네트워크 장치

Country Status (1)

Country Link
WO (1) WO2015030503A1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050063799A (ko) * 2002-10-30 2005-06-28 패킷프론트 스웨덴 에이비 소프트웨어 및 하드웨어 패킷 플로우 포워딩을 위한 방법,라우터 또는 스위치
US20060050690A1 (en) * 2000-02-14 2006-03-09 Epps Garry P Pipelined packet switching and queuing architecture
US20130163427A1 (en) * 2011-12-22 2013-06-27 Ludovic Beliveau System for flexible and extensible flow processing in software-defined networks

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060050690A1 (en) * 2000-02-14 2006-03-09 Epps Garry P Pipelined packet switching and queuing architecture
KR20050063799A (ko) * 2002-10-30 2005-06-28 패킷프론트 스웨덴 에이비 소프트웨어 및 하드웨어 패킷 플로우 포워딩을 위한 방법,라우터 또는 스위치
US20130163427A1 (en) * 2011-12-22 2013-06-27 Ludovic Beliveau System for flexible and extensible flow processing in software-defined networks

Similar Documents

Publication Publication Date Title
CN102349268B (zh) OpenFlow通信系统和OpenFlow通信方法
EP2544409B1 (en) Generic monitoring packet handling mechanism for OpenFlow 1.1
JP5233504B2 (ja) 経路制御装置およびパケット廃棄方法
WO2015152436A1 (ko) Sdn 기반의 서비스 체이닝 시스템
US20210160350A1 (en) Generating programmatically defined fields of metadata for network packets
EP1729462A1 (en) Policy based routing using a fast filter processor
US20110069709A1 (en) Intelligent electronic device with segregated real-time ethernet
EP2963870A1 (en) Control apparatus, communication system, switch control method and program
JP2015156697A (ja) スイッチシステム、スイッチ制御方法、及び記憶媒体
US9729442B1 (en) Method of detecting large flows within a switch fabric of an SDN switch
WO2020130158A1 (ko) 오픈 프론트홀 네트워크 시스템
WO2017122849A1 (ko) 사물 인터넷 네트워크 시스템
EP3110083A1 (en) Communication system, control device, communication control method and program
US20150139235A1 (en) Packet processing apparatus using action command parameterization
WO2020106105A1 (ko) 샘플링 기법을 이용한 네트워크 트래픽 모니터링 시스템 및 방법
WO2013122288A1 (ko) 네트워크 트래픽 감소 방법
WO2015012454A1 (ko) 가상 링크 조정에 의한 네트워크 성능 개선 방법 및 이를 적용한 네트워크 시스템
US20240430026A1 (en) Centralized control of time gates for time sensitive networking (tsn)
US9313141B2 (en) Transmit scaling using multiple queues
US9083563B2 (en) Method for reducing processing latency in a multi-thread packet processor with at least one re-order queue
US20060114900A1 (en) Fast filter processor metering and chaining
WO2015030503A1 (ko) 패킷 출력 제어 방법 및 이를 이용한 네트워크 장치
EP4383672A1 (en) Deadlock prevention of switch memory overflow
TWI788131B (zh) 操作網路交換器之方法、網路交換器及切換結構
KR101569588B1 (ko) 패킷 출력 제어 방법 및 이를 이용한 네트워크 장치

Legal Events

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

Ref document number: 201480047512.1

Country of ref document: CN

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

Ref document number: 14840953

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 14914696

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205N DATED 06/05/2016)

122 Ep: pct application non-entry in european phase

Ref document number: 14840953

Country of ref document: EP

Kind code of ref document: A1