KR20140052848A - Method for forwarding packet and apparatus therefor - Google Patents
Method for forwarding packet and apparatus therefor Download PDFInfo
- Publication number
- KR20140052848A KR20140052848A KR1020130125078A KR20130125078A KR20140052848A KR 20140052848 A KR20140052848 A KR 20140052848A KR 1020130125078 A KR1020130125078 A KR 1020130125078A KR 20130125078 A KR20130125078 A KR 20130125078A KR 20140052848 A KR20140052848 A KR 20140052848A
- Authority
- KR
- South Korea
- Prior art keywords
- packet
- network device
- forwarding
- flow information
- network
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
- H04L49/252—Store and forward routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2441—Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2483—Traffic characterised by specific attributes, e.g. priority or QoS involving identification of individual flows
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/33—Flow control; Congestion control using forward notification
Abstract
Description
본 발명은 패킷 포워딩 방법 및 장치에 관한 것으로, 더욱 상세하게는 소프트웨어 정의 네트워킹(software defined networking, SDN)을 지원하는 네트워크에서 패킷 포워딩 방법 및 장치에 관한 것이다.The present invention relates to a packet forwarding method and apparatus, and more particularly, to a packet forwarding method and apparatus in a network supporting software defined networking (SDN).
기존 네트워크(network) 개념에서, 제어 평면(control plane) 기능과 데이터 평면(data plane) 기능은 통합되어 하나의 네트워크 장치로서 동작한다. 이러한 네트워크 장치는 네트워크에 분산되어 위치하며, 패킷(packet)의 포워딩(forwarding)을 위해 각 네트워크 장치의 제어 평면들은 제어 프로토콜(protocol)을 서로 교환한다. 이에 따라, 네트워크 장치의 복잡도는 증가하게 된다.In the existing network concept, the control plane function and the data plane function are integrated and operate as a single network device. These network devices are distributed in the network, and control planes of each network device exchange control protocols for forwarding of packets. As a result, the complexity of the network device increases.
한편, 제조사는 자신의 독자적인 기술을 사용하여 네트워크 장치를 제조하며, 네트워크 장치에 대한 정보 대부분을 공개하지 않는다. 따라서, 제조사의 도움 없이는 네트워크 장치에 새로운 기능을 추가하거나 기능을 개선할 수 없다.On the other hand, the manufacturer manufactures the network device using its own unique technology, and does not disclose most of the information about the network device. Therefore, without the help of the manufacturer, it is not possible to add new functions or improve functions to the network device.
이와 같은 문제들을 해소하기 위해 소프트웨어 정의 네트워킹(software defined networking, SDN) 기술이 개발되었다. SDN 기술은 소프트웨어 프로그래밍을 통해 네트워크 경로 설정 및 복잡한 운용관리를 편리하게 처리할 수 있도록 하는 네트워킹 기술이다. SDN 기술은 네트워크의 제어 평면과 데이터 평면을 분리하고 그 사이에 표준화된 인터페이스(예를 들어, 오픈 플로우(openflow))를 제공한다. 대부분의 지능(intelligence)은 제어 평면에 위치하며, 네트워크 장치(예를 들어, SDN을 지원하는 스위치(switch) 등)는 표준화된 인터페이스를 통해 제어 평면으로부터 플로우 단위로 제공되는 규칙(rule)을 기초로 패킷을 처리한다. To solve these problems, software defined networking (SDN) technology has been developed. SDN technology is a networking technology that facilitates network routing and management of complex operations through software programming. The SDN technique separates the control plane and the data plane of the network and provides a standardized interface therebetween (e.g., openflow). Most of the intelligence is located in the control plane, and network devices (such as switches supporting SDN) are based on rules provided in flow units from the control plane via standardized interfaces. Lt; / RTI >
이러한 SDN 기술을 지원하는 네트워크에 있어서, 네트워크 장치는 입력 패킷을 처리하기 위한 규칙이 플로우 테이블(table)에 존재하지 않는 경우 네트워크 제어기(controller)(즉, SDN을 지원하는 컨트롤러)에 플로우 규칙의 제공을 요청하고, 이에 따라 네트워크 제어기로부터 플로우 규칙을 수신할 수 있다. 네트워크 장치는 수신된 플로우 규칙을 기초로 하여 입력 패킷을 포워딩할 수 있다. 이와 같은 과정은 모든 네트워크 장치에서 반복적으로 수행되어야 하므로, 패킷 포워딩의 효율성이 저하되는 문제점이 있다.In a network supporting such SDN technology, a network device may provide a flow rule to a network controller (i.e., a controller that supports SDN) if rules for processing input packets are not present in the flow table And thus can receive the flow rules from the network controller. The network device may forward the incoming packet based on the received flow rule. Since such a process must be repeatedly performed in all network devices, the efficiency of packet forwarding is reduced.
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은, 새로운 패킷에 대한 플로우 규칙을 설정하는 과정을 간소화함으로써 패킷 포워딩의 효율성을 향상시키기 위한 패킷 포워딩 방법을 제공하는 데 있다.An object of the present invention is to provide a packet forwarding method for improving the efficiency of packet forwarding by simplifying a process of setting a flow rule for a new packet.
상기와 같은 문제점을 해결하기 위한 본 발명의 다른 목적은, 새로운 패킷에 대한 플로우 규칙을 설정하는 과정을 간소화함으로써 패킷 포워딩의 효율성을 향상시키기 위한 패킷 포워딩 장치를 제공하는 데 있다.Another object of the present invention is to provide a packet forwarding apparatus for improving the efficiency of packet forwarding by simplifying a process of setting a flow rule for a new packet.
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 패킷 포워딩 방법은, 패킷을 수신하는 단계, 상기 패킷의 포워딩을 위한 플로우 정보가 존재하지 않는 경우, 상기 패킷을 데이터 평면을 통해 네트워크 제어기에 제공하는 단계 및 상기 네트워크 제어기로부터 상기 패킷에 대한 플로우 정보를 포함한 메시지를 제어 평면을 통해 수신하는 단계를 포함한다.According to another aspect of the present invention, there is provided a packet forwarding method comprising: receiving a packet; when flow information for forwarding the packet does not exist, providing the packet to a network controller through a data plane; And receiving from the network controller a message including a flow information for the packet through a control plane.
여기서, 상기 패킷 포워딩 방법은, 상기 수신된 플로우 정보를 기반으로 상기 패킷을 포워딩하는 단계를 더 포함할 수 있다.Here, the packet forwarding method may further include forwarding the packet based on the received flow information.
여기서, 상기 패킷 포워딩 방법은, 상기 패킷의 포워딩을 위한 플로우 정보가 존재하는 경우, 상기 플로우 정보를 기반으로 상기 패킷을 포워딩하는 단계를 더 포함할 수 있다.Here, the packet forwarding method may further include forwarding the packet based on the flow information when flow information for forwarding the packet exists.
여기서, 상기 네트워크 제어기에 제공하는 단계는, 오픈 플로우 프로토콜을 기반으로 상기 패킷을 상기 네트워크 제어기에 제공할 수 있다.Here, the providing to the network controller may provide the packet to the network controller based on an open flow protocol.
여기서, 상기 제어 평면을 통해 수신하는 단계는, 오픈 플로우 프로토콜을 기반으로 상기 플로우 정보를 포함한 메시지를 수신할 수 있다.Here, the step of receiving through the control plane may receive a message including the flow information based on an open flow protocol.
여기서, 상기 네트워크 장치는, 소프트웨어 정의 네트워킹 기술을 지원하는 스위치일 수 있다.Here, the network device may be a switch supporting software defined networking technology.
여기서, 상기 네트워크 제어기는, 소프트웨어 정의 네트워킹 기술을 지원하는 제어기일 수 있다.Here, the network controller may be a controller supporting software defined networking technology.
여기서, 상기 플로우 정보는, 플로우 규칙, 동작 및 통계 중 적어도 하나를 포함할 수 있다.Here, the flow information may include at least one of a flow rule, an operation, and statistics.
상기 다른 목적을 달성하기 위한 본 발명의 일 실시예에 따른 패킷 포워딩 지원 방법은, 네트워크 장치로부터 패킷을 수신하는 단계, 상기 패킷의 포워딩을 위한 플로우 정보를 생성하는 단계 및 상기 플로우 정보를 상기 네트워크 장치에 전송하는 단계를 포함한다.According to another aspect of the present invention, there is provided a method for supporting packet forwarding, the method comprising: receiving a packet from a network device; generating flow information for forwarding the packet; .
여기서, 상기 패킷 포워딩 지원 방법은, 상기 플로우 정보를 상기 패킷이 경유할 네트워크 장치에 전송하는 단계를 더 포함할 수 있다.The method for supporting packet forwarding may further include transmitting the flow information to a network device via the packet.
여기서, 상기 패킷을 수신하는 단계는, 오픈 플로우 프로토콜을 기반으로 상기 패킷을 수신할 수 있다.Herein, the step of receiving the packet may receive the packet based on an open flow protocol.
여기서, 상기 플로우 정보를 생성하는 단계는, 플로우 규칙, 동작 및 통계 중 적어도 하나를 포함하는 플로우 정보를 생성할 수 있다.Here, the step of generating the flow information may generate flow information including at least one of a flow rule, an operation and a statistic.
여기서, 상기 네트워크 장치에 전송하는 단계는, 오픈 플로우 프로토콜을 기반으로 상기 플로우 정보를 전송할 수 있다.Here, the step of transmitting to the network device may transmit the flow information based on an open flow protocol.
여기서, 상기 네트워크 장치는, 소프트웨어 정의 네트워킹 기술을 지원하는 스위치일 수 있다.Here, the network device may be a switch supporting software defined networking technology.
여기서, 상기 네트워크 제어기는, 소프트웨어 정의 네트워킹 기술을 지원하는 제어기일 수 있다.Here, the network controller may be a controller supporting software defined networking technology.
상기 또 다른 목적을 달성하기 위한 본 발명의 일 실시예에 따른 네트워크 장치는, 패킷을 수신하고, 상기 패킷의 포워딩을 위한 플로우 정보가 존재하지 않는 경우 상기 패킷을 데이터 평면을 통해 네트워크 제어기에 제공하고, 상기 네트워크 제어기로부터 상기 패킷에 대한 플로우 정보를 포함한 메시지를 제어 평면을 통해 수신하는 처리부 및 상기 처리부에서 처리된 정보 및 처리되는 정보를 저장하는 저장부를 포함한다.According to another aspect of the present invention, there is provided a network device for receiving a packet and providing the packet to a network controller via a data plane when flow information for forwarding the packet does not exist A processing unit for receiving a message including the flow information for the packet from the network controller through a control plane, and a storage unit for storing information processed and processed by the processing unit.
여기서, 상기 처리부는, 상기 수신된 플로우 정보를 기반으로 상기 패킷을 포워딩할 수 있다.Here, the processing unit may forward the packet based on the received flow information.
여기서, 상기 처리부는, 오픈 플로우 프로토콜을 기반으로 상기 네트워크 제어기와 네트워크를 형성할 수 있다.Here, the processing unit may form a network with the network controller based on an open flow protocol.
여기서, 상기 네트워크 장치는, 소프트웨어 정의 네트워킹 기술을 지원하는 스위치일 수 있다.Here, the network device may be a switch supporting software defined networking technology.
여기서, 상기 플로우 정보는, 플로우 규칙, 동작 및 통계 중 적어도 하나를 포함할 수 있다.Here, the flow information may include at least one of a flow rule, an operation, and statistics.
본 발명에 의하면, SDN을 지원하는 네트워크에서 새로운 패킷에 대한 플로우 규칙을 설정하는 과정을 간소화함으로써 패킷 포워딩의 효율성을 향상시킬 수 있다.According to the present invention, the efficiency of packet forwarding can be improved by simplifying the process of setting flow rules for new packets in a network supporting SDN.
즉, 새로운 패킷에 대한 플로우 규칙을 획득하기 위해, 네트워크 장치의 데이터 평면은 패킷을 네트워크 제어기에 직접 전송할 수 있다. 이에 따라, 네트워크 장치 내의 데이터 평면과 제어 평면 간의 패킷 교환 절차를 생략할 수 있다.That is, to obtain a flow rule for a new packet, the data plane of the network device may send the packet directly to the network controller. Thus, the packet exchange procedure between the data plane and the control plane in the network device can be omitted.
한편, 네트워크 제어기는 새로운 패킷에 대한 플로우 규칙만을 포함한 메시지를 네트워크 장치에 전송할 수 있으므로, 플로우 규칙 및 패킷을 포함한 메시지를 네트워크 장치에 전송하는 종래 방법에 비해 패킷 포워딩의 효율성을 향상시킬 수 있다.Meanwhile, since the network controller can transmit a message including only the flow rule for the new packet to the network device, the efficiency of the packet forwarding can be improved compared to the conventional method of transmitting the flow rule and the message including the packet to the network device.
또한, 네트워크 제어기는 새로운 패킷에 대한 플로우 규칙을 해당 패킷이 경유할 다른 네트워크 장치에 제공할 수 있으므로, 패킷 포워딩의 효율을 더욱 향상시킬 수 있다.Further, the network controller can provide the flow rule for the new packet to another network device to which the packet passes, thereby further improving the efficiency of packet forwarding.
도 1은 소프트웨어 정의 네트워킹(software defined networking, SDN) 구조를 도시한 개념도이다.
도 2는 SDN을 지원하는 네트워크에서 패킷 경로 제어에 대한 일 실시예를 도시한 개념도이다.
도 3은 패킷 포워딩 방법에 대한 일 실시예를 도시한 개념도이다.
도 4는 플로우 테이블의 구성을 도시한 개념도이다.
도 5는 본 발명의 일 실시예에 따른 패킷 포워딩 방법을 도시한 흐름도이다.
도 6은 본 발명의 일 실시예에 따른 패킷 포워딩 방법을 도시한 개념도이다.
도 7은 본 발명의 일 실시예에 따른 네트워크 장치를 도시한 블록도이다.
도 8은 본 발명의 일 실시예에 따른 네트워크 제어기를 도시한 블록도이다.Figure 1 is a conceptual diagram illustrating a software defined networking (SDN) architecture.
2 is a conceptual diagram showing an embodiment of packet path control in a network supporting SDN.
3 is a conceptual diagram showing an embodiment of a packet forwarding method.
4 is a conceptual diagram showing the configuration of a flow table.
5 is a flowchart illustrating a packet forwarding method according to an embodiment of the present invention.
6 is a conceptual diagram illustrating a packet forwarding method according to an embodiment of the present invention.
7 is a block diagram illustrating a network device according to an embodiment of the present invention.
8 is a block diagram illustrating a network controller according to an 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.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.The terms first, second, etc. 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. 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 should be interpreted as having a meaning consistent with the meaning in the context of the relevant art and are to be interpreted in an ideal or overly formal sense unless explicitly defined in the present application Do not.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. In order to facilitate the understanding of the present invention, the same reference numerals are used for the same constituent elements in the drawings and redundant explanations for the same constituent elements are omitted.
도 1은 소프트웨어 정의 네트워킹(software defined networking, SDN) 구조를 도시한 개념도이다.Figure 1 is a conceptual diagram illustrating a software defined networking (SDN) architecture.
도 1을 참조하면, SDN의 논리적 구조는 기반 계층(infrastructure layer), 제어 계층(control layer) 및 응용 계층(application layer)을 포함한다. 기반 계층은 복수의 네트워크 디바이스(network device)를 포함하고, 제어 데이터 평면 인터페이스(control data plane interface)(예를 들어, 오픈 플로우(openflow))를 통해 제어 계층과 연결된다. 제어 계층은 SDN 제어 소프트웨어를 포함하며, SDN 제어 소프트웨어는 복수의 네트워크 서비스(service)를 지원한다. SDN 제어 소프트웨어는 API(application programming interface)를 통해 응용 계층과 연결된다. 응용 계층은 복수의 비지니스 응용(business application)을 포함한다.Referring to FIG. 1, the logical structure of an SDN includes an infrastructure layer, a control layer, and an application layer. The base layer includes a plurality of network devices and is coupled to the control layer via a control data plane interface (e.g., openflow). The control layer includes SDN control software, and the SDN control software supports a plurality of network services. The SDN control software is connected to the application layer through an application programming interface (API). The application layer includes a plurality of business applications.
도 2는 SDN을 지원하는 네트워크에서 패킷 경로 제어에 대한 일 실시예를 도시한 개념도이다.2 is a conceptual diagram showing an embodiment of packet path control in a network supporting SDN.
도 2를 참조하면, 네트워크 제어기(controller)(20)는 네트워크 장치(예를 들어, 스위치(switch) 등)(10, 11, 12, 13)들을 통해 전송되는 패킷의 경로를 제어할 수 있다. 제1 단말(30)과 제2 단말(40) 간에 패킷을 송수신하는 경우, 네트워크 제어기(20)는 패킷의 포워딩 경로에 대한 정보인 플로우 정보를 오픈 플로우 인터페이스를 통해 각 네트워크 장치(10, 11, 12, 13)에 제공할 수 있다. 각 네트워크 장치(10, 11, 12, 13)는 플로우 정보를 기초로 하여 패킷을 다음 네트워크 장치 또는 단말로 포워딩할 수 있다.
2, a
도 3은 패킷 포워딩 방법에 대한 일 실시예를 도시한 개념도이다.3 is a conceptual diagram showing an embodiment of a packet forwarding method.
도 3을 참조하면, 패킷을 포워딩하는 복수의 네트워크 장치(10, 11, 12)와 복수의 네트워크 장치(10, 11, 12)를 제어하는 네트워크 제어기(20)는 네트워크에 위치할 수 있다. 각각의 네트워크 장치(10, 11, 12)는 SDN 기술을 지원하는 스위치를 의미할 수 있고, 논리적 구성인 데이터 평면, 로컬(local) 제어 평면 및 오픈 플로우 에이전트(agent)를 포함할 수 있다. 네트워크 제어기(20)는 SDN 기술을 지원하는 컨트롤러를 의미할 수 있다.3, a plurality of
제1 네트워크 장치(10)는 다른 네트워크 장치 또는 사용자 단말로부터 패킷을 수신할 수 있다. 이때, 제1 네트워크 장치(10)는 데이터 평면을 통해 패킷을 수신할 수 있다. 제1 네트워크 장치(10)는 수신한 패킷의 포워딩을 위한 플로우 정보가 플로우 테이블(table) 내에 존재하는지 확인할 수 있다. 패킷의 포워딩을 위한 플로우 정보가 플로우 테이블 내에 존재하는 경우, 제1 네트워크 장치(10)는 해당 플로우 정보를 기반으로 패킷을 다른 네트워크 장치(예를 들어, 제2 네트워크 장치(11)) 또는 사용자 단말로 포워딩할 수 있다.The
반면, 패킷의 포워딩을 위한 플로우 정보가 플로우 테이블 내에 존재하지 않는 경우, 제1 네트워크 장치(10)는 로컬 제어 평면을 통해 패킷에 대한 예외 처리를 수행할 수 있다(단계 ①). 그 후, 제1 네트워크 장치(10)는 오픈 플로우 제어 터널(tunnel)을 통해 패킷의 일부 또는 전부를 메시지(message) 형태로 네트워크 제어기(20)에 전송할 수 있다(단계 ②). 오픈 플로우 제어 터널은 제1 네트워크 장치(10)와 네트워크 제어기(20) 간에 형성된 보안 터널(SSL)을 의미할 수 있다.On the other hand, when the flow information for forwarding a packet does not exist in the flow table, the
네트워크 제어기(20)는 제1 네트워크 장치(10)로부터 패킷을 수신한 경우 패킷의 포워딩 방법을 결정하고, 이에 따른 플로우 정보를 생성할 수 있다. 네트워크 제어기(20)는 생성된 플로우 정보와 제1 네트워크 장치(10)로부터 수신한 패킷을 메시지 형태로 제1 네트워크 장치(10)에 제공할 수 있다(단계 ③). 제1 네트워크 장치(10)는 네트워크 제어기(20)로부터 플로우 정보와 패킷을 로컬 제어 평면을 통해 수신할 수 있다. 그 후, 제1 네트워크 장치(10)는 플로우 정보를 기반으로 패킷을 다른 네트워크 장치(예를 들어, 제2 네트워크 장치(11) 또는 제3 네트워크 장치(12))로 포워딩할 수 있다(단계 ④).When the
이와 같은 과정은 각각의 네트워크 장치(10, 11, 12)에서 반복적으로 수행되므로 패킷 포워딩의 효율이 저하되는 문제가 있다.This process is repeatedly performed in each of the
도 4는 플로우 테이블의 구성을 도시한 개념도이다.4 is a conceptual diagram showing the configuration of a flow table.
도 4를 참조하면, 플로우 테이블은 적어도 하나의 플로우 정보를 포함할 수 있으며, 플로우 정보는 플로우 규칙(rule), 동작(action) 및 통계(statistics) 중 적어도 하나를 포함할 수 있다.Referring to FIG. 4, the flow table may include at least one flow information, and the flow information may include at least one of a flow rule, an action, and statistics.
플로우 규칙은 플로우를 정의하는 패킷 헤더(header) 정보를 의미할 수 있고, 플로우 동작은 패킷을 어떻게 처리할지 여부를 표시하는 정보를 의미할 수 있고, 플로우 통계는 각각의 플로우에 대한 통계 정보를 의미할 수 있다.
A flow rule may mean packet header information that defines a flow, a flow action may mean information indicating how to process the packet, and flow statistics may include statistical information for each flow can do.
도 5는 본 발명의 일 실시예에 따른 패킷 포워딩 방법을 도시한 흐름도이다.5 is a flowchart illustrating a packet forwarding method according to an embodiment of the present invention.
도 5를 참조하면, 네트워크 장치(10)는 패킷의 포워딩 기능을 수행할 수 있고, 네트워크 제어기(20)는 네트워크 장치(10)를 제어할 수 있다. 네트워크 장치(10)는 SDN 기술을 지원하는 스위치를 의미할 수 있으며, 논리적인 구성인 데이터 평면 및 제어 평면을 포함할 수 있다. 네트워크 제어기(20)는 SDN 기술을 지원하는 컨트롤러를 의미할 수 있다. 플로우 테이블 및 플로우 정보는 도 4에 도시된 구성을 의미할 수 있으며, 플로우 테이블은 네트워크 장치(10)에 저장될 수 있다.Referring to FIG. 5, the
네트워크 장치(10)는 사용자 단말 또는 다른 네트워크 장치로부터 패킷을 수신할 수 있다(S100). 네트워크 장치(10)는 수신된 패킷의 포워딩을 위한 플로우 정보가 플로우 테이블 내에 존재하는지 판단할 수 있다. 패킷의 포워딩을 위한 플로우 정보가 플로우 테이블 내에 존재하는 경우, 네트워크 장치(10)는 해당 플로우 정보를 기반으로 패킷을 다른 네트워크 장치로 포워딩할 수 있다.The
반면, 패킷의 포워딩을 위한 플로우 정보가 플로우 테이블 내에 존재하지 않는 경우, 네트워크 장치(10)는 데이터 평면을 통해 패킷을 네트워크 제어기(20)에 제공할 수 있다(S110). 이때, 네트워크 장치(10)는 오픈 플로우 프로토콜(protocol)을 기반으로 패킷을 네트워크 제어기(20)에 제공할 수 있다. 즉, 네트워크 장치(10)는 자신의 데이터 평면과 네트워크 제어기(20) 간에 형성된 보안 터널을 통해 패킷을 네트워크 제어기(20)에 제공할 수 있다.On the other hand, if the flow information for forwarding the packet is not present in the flow table, the
네트워크 제어기(20)는 네트워크 장치(10)로부터 패킷을 수신한 경우 해당 패킷의 포워딩을 위한 플로우 정보를 생성할 수 있다(S120). 즉, 네트워크 제어기(20)는 패킷의 포워딩 방법을 결정하고, 이에 따른 플로우 정보를 생성할 수 있다.When the
네트워크 제어기(20)는 플로우 정보가 포함된 메시지를 네트워크 장치(10)에 전송할 수 있다(S130). 여기서, 메시지는 플로우 정보만을 포함할 수 있으며, 네트워크 장치(10)로부터 수신된 패킷을 포함하지 않는다.The
한편, 네트워크 제어기(20)는 플로우 정보가 포함된 메시지를 네트워크 장치(10)뿐만 아니라 다른 네트워크 장치(즉, 네트워크 장치(10)로부터 전송되는 패킷이 경유할 네트워크 장치)에 전송할 수 있다(S140). 또한, 네트워크 제어기(20)는 네트워크 장치(10)로부터 수신한 패킷을 다른 네트워크 장치(즉, 패킷이 최종 목적지까지 전송되기 위해 경유할 네트워크 장치)에 전송할 수 있다.On the other hand, the
네트워크 장치(10)는 네트워크 제어기(20)로부터 패킷에 대한 플로우 정보를 포함한 메시지를 제어 평면을 통해 수신할 수 있다(130). 이때, 네트워크 장치(10)는 오픈 플로우 프로토콜을 기반으로 플로우 정보를 포함한 메시지를 수신할 수 있다. 즉, 네트워크 장치(10)는 자신의 제어 평면과 네트워크 제어기(20) 간에 형성된 보안 터널을 통해 플로우 정보를 포함함 메시지를 네트워크 제어기(20)로부터 수신할 수 있다. 네트워크 장치(10)는 수신된 플로우 정보를 기반으로 패킷을 다른 네트워크 장치 또는 사용자 단말로 포워딩할 수 있다(S150).
The
본 발명에 따른 방법들은 다양한 컴퓨터 수단을 통해 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 컴퓨터 판독 가능 매체에 기록되는 프로그램 명령은 본 발명을 위해 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.The methods according to the present invention can be implemented in the form of program instructions that can be executed through various computer means and recorded on a computer readable medium. The computer readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions recorded on the computer readable medium may be those specially designed and constructed for the present invention or may be available to those skilled in the computer software.
컴퓨터 판독 가능 매체의 예에는 롬(rom), 램(ram), 플래시 메모리(flash memory) 등과 같이 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러(compiler)에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터(interpreter) 등을 사용해서 컴퓨터에 의해 실행될 수 있는 고급 언어 코드를 포함한다. 상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 적어도 하나의 소프트웨어 모듈로 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
Examples of computer readable media include hardware devices that are specially configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include machine language code such as those generated by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like. The hardware devices described above may be configured to operate with at least one software module to perform the operations of the present invention, and vice versa.
도 6은 본 발명의 일 실시예에 따른 패킷 포워딩 방법을 도시한 개념도이다.6 is a conceptual diagram illustrating a packet forwarding method according to an embodiment of the present invention.
도 6을 참조하면, 패킷을 포워딩하는 복수의 네트워크 장치(10, 11, 12)와 복수의 네트워크 장치(10, 11, 12)를 제어하는 네트워크 제어기(20)는 네트워크에 위치할 수 있다. 각각의 네트워크 장치(10, 11, 12)는 SDN 기술을 지원하는 스위치를 의미할 수 있고, 논리적 구성인 데이터 평면, 로컬 제어 평면 및 오픈 플로우 에이전트를 포함할 수 있다. 네트워크 제어기(20)는 SDN 기술을 지원하는 컨트롤러를 의미할 수 있다.Referring to FIG. 6, a plurality of
제1 네트워크 장치(10)는 다른 네트워크 장치 또는 사용자 단말로부터 패킷을 수신할 수 있다. 이때, 제1 네트워크 장치(10)는 데이터 평면을 통해 패킷을 수신할 수 있다. 제1 네트워크 장치(10)는 수신한 패킷의 포워딩을 위한 플로우 정보가 플로우 테이블 내에 존재하는지 확인할 수 있다. 패킷의 포워딩을 위한 플로우 정보가 플로우 테이블 내에 존재하는 경우, 제1 네트워크 장치(10)는 해당 플로우 정보를 기반으로 패킷을 다른 네트워크 장치 또는 사용자 단말로 포워딩할 수 있다.The
반면, 패킷의 포워딩을 위한 플로우 정보가 플로우 테이블 내에 존재하지 않는 경우, 제1 네트워크 장치(10)는 데이터 전용 터널을 통해 패킷을 네트워크 제어기(20)에 전송할 수 있다(단계 ①). 데이터 전용 터널은 제1 네트워크 장치(10)(즉, 데이터 평면)와 네트워크 제어기(20) 간에 형성된 보안 터널을 의미할 수 있다.On the other hand, if the flow information for forwarding a packet does not exist in the flow table, the
네트워크 제어기(20)는 제1 네트워크 장치(10)로부터 패킷을 수신한 경우 패킷의 포워딩 방법을 결정하고, 이에 따른 플로우 정보를 생성할 수 있다. 네트워크 제어기(20)는 생성된 플로우 정보를 포함한 메시지를 오픈 플로우 제어 채널을 통해 제1 네트워크 장치(10)에 전송할 수 있다(단계 ②). 오픈 플로우 제어 채널은 제1 네트워크 장치(10)(즉, 로컬 제어 평면)와 네트워크 제어기(20) 간에 형성된 보안 터널을 의미할 수 있다.When the
제1 네트워크 장치(10)는 네트워크 제어기(20)로부터 플로우 정보가 포함된 메시지를 로컬 제어 평면을 통해 수신할 수 있다. 그 후, 제1 네트워크 장치(10)는 플로우 정보를 기반으로 패킷을 다른 네트워크 장치(예를 들어, 제2 네트워크 장치(11) 또는 제3 네트워크 장치(12))로 포워딩할 수 있다.The
한편, 네트워크 제어기(20)는 플로우 정보를 포함한 메시지를 다른 네트워크 장치(즉, 제1 네트워크 장치(10)로부터 전송되는 패킷이 이후에 경유할 네트워크 장치)에 전송할 수 있다(단계 ③). 즉, 네트워크 제어기(20)는 패킷이 경유할 다음 네트워크 장치(예를 들어, 제2 네트워크 장치(11)) 또는 패킷이 경유할 모든 네트워크 장치(예를 들어, 제2 네트워크 장치(11) 및 제3 네트워크 장치(12))에 플로우 정보를 포함한 메시지를 전송할 수 있다.On the other hand, the
네트워크 제어기(20)는 제1 네트워크 장치(10)로부터 수신한 패킷을 다음에 경유할 네트워크 장치에 전송할 수 있다(단계 ④). 예를 들어, 패킷이 제1 네트워크 장치(10)로부터 제2 네트워크 장치(11)로 전송되는 경우, 네트워크 제어기(20)는 제1 네트워크 장치(10)로부터 수신한 패킷을 제2 네트워크 장치(11)에 전송할 수 있다.
The
도 7은 본 발명의 일 실시예에 따른 네트워크 장치를 도시한 블록도이다.7 is a block diagram illustrating a network device according to an embodiment of the present invention.
도 7을 참조하면, 네트워크 장치(10)는 물리적 구성인 처리부(10a) 및 저장부(10b)를 포함할 수 있다. 네트워크 장치(10)는 SDN 기술을 지원하는 스위치를 의미할 수 있다. 한편, 네트워크 장치(10)는 논리적 구성인 데이터 평면 및 제어 평면을 포함할 수 있다.Referring to FIG. 7, the
처리부(10a)는 다른 네트워크 장치 또는 사용자 단말로부터 패킷을 수신할 수 있고, 수신된 패킷의 포워딩을 위한 플로우 정보가 존재하는지 판단할 수 있다. 패킷의 포워딩을 위한 플로우 정보가 존재하는 경우, 처리부(10a)는 플로우 정보를 기반으로 패킷을 다른 네트워크 장치로 포워딩할 수 있다.The
한편, 패킷의 포워딩을 위한 플로우 정보가 존재하지 않는 경우, 처리부(10a)는 해당 패킷을 데이터 평면을 통해 네트워크 제어기에 전송할 수 있다. 여기서, 네트워크 제어기는 복수의 네트워크 장치를 제어하는 컨트롤러를 의미할 수 있다.On the other hand, when there is no flow information for packet forwarding, the
처리부(10a)는 네트워크 제어기로부터 패킷에 대한 플로우 정보를 포함한 메시지를 수신할 수 있다. 이때, 처리부(10a)는 제어 평면을 통해 플로우 정보를 포함한 메시지를 수신할 수 있다. 처리부(10a)는 플로우 정보를 기반으로 패킷을 다른 네트워크 장치에 포워딩할 수 있다.The
여기서, 처리부(10a)는 프로세서(processor) 및 메모리(memory)를 포함할 수 있다. 프로세서는 범용의 프로세서(예를 들어, CPU(Central Processing Unit) 및/또는 GPU(Graphics Processing Unit) 등) 또는 패킷 포워딩 방법의 수행을 위한 전용의 프로세서를 의미할 수 있다. 메모리에는 패킷 포워딩 방법의 수행을 위한 프로그램 코드(program code)가 저장될 수 있다. 즉, 프로세서는 메모리에 저장된 프로그램 코드를 독출할 수 있고, 독출된 프로그램 코드를 기반으로 패킷 포워딩 방법의 각 단계를 수행할 수 있다.Here, the
저장부(10b)는 처리부(10a)에서 처리되는 정보 및 처리된 정보를 저장할 수 있다. 예를 들어, 저장부(10b)는 패킷, 플로우 정보, 플로우 테이블 등을 저장할 수 있다.
The
도 8은 본 발명의 일 실시예에 따른 네트워크 제어기를 도시한 블록도이다.8 is a block diagram illustrating a network controller according to an embodiment of the present invention.
도 8을 참조하면, 네트워크 제어기(20)는 물리적 구성인 처리부(20a) 및 저장부(20b)를 포함할 수 있으며, 복수의 네트워크 장치를 제어할 수 있다. 네트워크 제어기(20)는 SDN 기술을 지원하는 컨트롤러를 의미할 수 있다.Referring to FIG. 8, the
처리부(20a)는 네트워크 장치로부터 패킷을 수신할 수 있다. 이때, 처리부(20a)는 네트워크 장치의 데이터 평면과 네트워크 제어기(20) 간에 형성된 보안 채널을 통해 패킷을 수신할 수 있다. 처리부(20a)는 수신된 패킷의 포워딩을 위한 플로우 정보를 생성할 수 있다. 즉, 처리부(20a)는 패킷의 포워딩 방법을 결정하고, 이에 따라 플로우 정보를 생성할 수 있다.The
처리부(20a)는 플로우 정보가 포함된 메시지를 네트워크 장치(즉, 패킷을 전송한 네트워크 장치)에 전송할 수 있다. 이때, 처리부(20a)는 네트워크 장치의 제어 평면과 네트워크 제어기(20) 간에 형성된 보안 채널을 통해 메시지를 전송할 수 있다.The
한편, 처리부(20a)는 플로우 정보가 포함된 메시지를 다른 네트워크 장치(즉, 이후에 패킷이 경유할 다음 네트워크 장치 또는 모든 네트워크 장치)에 전송할 수 있다. 또한, 처리부(20a)는 네트워크 장치로부터 수신한 패킷을 다른 네트워크 장치(즉, 이후에 패킷이 경유할 네트워크 장치)에 전송할 수 있다.On the other hand, the
여기서, 처리부(20a)는 프로세서 및 메모리를 포함할 수 있다. 프로세서는 범용의 프로세서(예를 들어, CPU 및/또는 GPU 등) 또는 패킷 포워딩 지원 방법의 수행을 위한 전용의 프로세서를 의미할 수 있다. 메모리에는 패킷 포워딩 지원 방법의 수행을 위한 프로그램 코드가 저장될 수 있다. 즉, 프로세서는 메모리에 저장된 프로그램 코드를 독출할 수 있고, 독출된 프로그램 코드를 기반으로 패킷 포워딩 지원 방법의 각 단계를 수행할 수 있다.Here, the
저장부(20b)는 처리부(20a)에서 처리되는 정보 및 처리된 정보를 저장할 수 있다. 예를 들어, 저장부(20b)는 패킷, 플로우 정보, 플로우 테이블 등을 저장할 수 있다.
The
이상 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.It will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined in the appended claims. It will be possible.
10: 제1 네트워크 장치
11: 제2 네트워크 장치
12: 제3 네트워크 장치
20: 네트워크 제어기10: first network device
11: second network device
12: Third network device
20: Network controller
Claims (20)
패킷을 수신하는 단계;
상기 패킷의 포워딩을 위한 플로우(flow) 정보가 존재하지 않는 경우, 상기 패킷을 데이터 평면(data plane)을 통해 네트워크 제어기(controller)에 제공하는 단계; 및
상기 네트워크 제어기로부터 상기 패킷에 대한 플로우 정보를 포함한 메시지를 제어 평면(control plane)을 통해 수신하는 단계를 포함하는 패킷 포워딩 방법.1. A packet forwarding method performed in a network device,
Receiving a packet;
Providing the packet to a network controller via a data plane if there is no flow information for forwarding the packet; And
And receiving from the network controller a message including flow information for the packet through a control plane.
상기 패킷 포워딩 방법은,
상기 수신된 플로우 정보를 기반으로 상기 패킷을 포워딩하는 단계를 더 포함하는 것을 특징으로 하는 패킷 포워딩 방법.The method according to claim 1,
The packet forwarding method includes:
And forwarding the packet based on the received flow information.
상기 패킷 포워딩 방법은,
상기 패킷의 포워딩을 위한 플로우 정보가 존재하는 경우, 상기 플로우 정보를 기반으로 상기 패킷을 포워딩하는 단계를 더 포함하는 것을 특징으로 하는 패킷 포워딩 방법.The method according to claim 1,
The packet forwarding method includes:
And forwarding the packet based on the flow information when flow information for forwarding the packet exists.
상기 네트워크 제어기에 제공하는 단계는,
오픈 플로우(openflow) 프로토콜(protocol)을 기반으로 상기 패킷을 상기 네트워크 제어기에 제공하는 것을 특징으로 하는 패킷 포워딩 방법.The method according to claim 1,
Wherein the step of providing to the network controller comprises:
And providing the packet to the network controller based on an open flow protocol.
상기 제어 평면을 통해 수신하는 단계는,
오픈 플로우 프로토콜을 기반으로 상기 플로우 정보를 포함한 메시지를 수신하는 것을 특징으로 하는 패킷 포워딩 방법.The method according to claim 1,
Wherein receiving via the control plane comprises:
And receiving a message including the flow information based on an open flow protocol.
상기 네트워크 장치는,
소프트웨어 정의 네트워킹(software defined networking) 기술을 지원하는 스위치(switch)인 것을 특징으로 하는 패킷 포워딩 방법.The method according to claim 1,
The network device comprising:
Wherein the packet is a switch supporting software defined networking technology.
상기 네트워크 제어기는,
소프트웨어 정의 네트워킹 기술을 지원하는 제어기인 것을 특징으로 하는 패킷 포워딩 방법.The method according to claim 1,
The network controller comprising:
Wherein the controller is a controller supporting software defined networking technology.
상기 플로우 정보는,
플로우 규칙(rule), 동작(action) 및 통계(statistics) 중 적어도 하나를 포함하는 것을 특징으로 하는 패킷 포워딩 방법.The method according to claim 1,
The flow information includes:
Wherein the at least one packet includes at least one of a flow rule, an action, and statistics.
네트워크 장치로부터 패킷을 수신하는 단계;
상기 패킷의 포워딩을 위한 플로우 정보를 생성하는 단계; 및
상기 플로우 정보를 상기 네트워크 장치에 전송하는 단계를 포함하는 패킷 포워딩 지원 방법.1. A method for supporting packet forwarding in a network controller for controlling a network device,
Receiving a packet from a network device;
Generating flow information for forwarding the packet; And
And forwarding the flow information to the network device.
상기 패킷 포워딩 지원 방법은,
상기 플로우 정보를 상기 패킷이 경유할 네트워크 장치에 전송하는 단계를 더 포함하는 것을 특징으로 하는 패킷 포워딩 지원 방법.The method of claim 9,
The packet forwarding support method includes:
And transmitting the flow information to a network device via the packet.
상기 패킷을 수신하는 단계는,
오픈 플로우(openflow) 프로토콜(protocol)을 기반으로 상기 패킷을 수신하는 것을 특징으로 하는 패킷 포워딩 지원 방법.The method of claim 9,
Wherein receiving the packet comprises:
Wherein the packet is received based on an open flow protocol.
상기 플로우 정보를 생성하는 단계는,
플로우 규칙(rule), 동작(action) 및 통계(statistics) 중 적어도 하나를 포함하는 플로우 정보를 생성하는 것을 특징으로 하는 패킷 포워딩 지원 방법.The method of claim 9,
Wherein the step of generating the flow information comprises:
Wherein the flow information includes at least one of a flow rule, an action, and statistics.
상기 네트워크 장치에 전송하는 단계는,
오픈 플로우 프로토콜을 기반으로 상기 플로우 정보를 전송하는 것을 특징으로 하는 패킷 포워딩 지원 방법.The method of claim 9,
Wherein the transmitting to the network device comprises:
And the flow information is transmitted based on an open flow protocol.
상기 네트워크 장치는,
소프트웨어 정의 네트워킹(software defined networking) 기술을 지원하는 스위치(switch)인 것을 특징으로 하는 패킷 포워딩 지원 방법.The method of claim 9,
The network device comprising:
Wherein the packet is a switch supporting software defined networking technology.
상기 네트워크 제어기는,
소프트웨어 정의 네트워킹 기술을 지원하는 제어기인 것을 특징으로 하는 패킷 포워딩 지원 방법.The method of claim 9,
The network controller comprising:
Wherein the controller is a controller supporting software defined networking technology.
패킷을 수신하고, 상기 패킷의 포워딩을 위한 플로우(flow) 정보가 존재하지 않는 경우 상기 패킷을 데이터 평면(data plane)을 통해 네트워크 제어기(controller)에 제공하고, 상기 네트워크 제어기로부터 상기 패킷에 대한 플로우 정보를 포함한 메시지를 제어 평면(control plane)을 통해 수신하는 처리부; 및
상기 처리부에서 처리된 정보 및 처리되는 정보를 저장하는 저장부를 포함하는 네트워크 장치.1. A network device for forwarding a packet,
And provides the packet to a network controller via a data plane if there is no flow information for forwarding the packet, and if the flow for the packet is not received from the network controller, A processing unit for receiving a message including information through a control plane; And
And a storage unit for storing information processed and processed by the processing unit.
상기 처리부는,
상기 수신된 플로우 정보를 기반으로 상기 패킷을 포워딩하는 것을 특징으로 하는 네트워크 장치.18. The method of claim 16,
Wherein,
And forwarding the packet based on the received flow information.
상기 처리부는,
오픈 플로우(openflow) 프로토콜(protocol)을 기반으로 상기 네트워크 제어기와 네트워크를 형성하는 것을 특징으로 하는 네트워크 장치.18. The method of claim 16,
Wherein,
And forms a network with the network controller based on an open flow protocol.
상기 네트워크 장치는,
소프트웨어 정의 네트워킹(software defined networking) 기술을 지원하는 스위치(switch)인 것을 특징으로 하는 네트워크 장치.18. The method of claim 16,
The network device comprising:
Characterized in that the network device is a switch supporting software defined networking technology.
상기 플로우 정보는,
플로우 규칙(rule), 동작(action) 및 통계(statistics) 중 적어도 하나를 포함하는 것을 특징으로 하는 네트워크 장치.18. The method of claim 16,
The flow information includes:
A flow rule, an action, and statistics.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/060,473 US20140112142A1 (en) | 2012-10-22 | 2013-10-22 | Method of forwarding packet and apparatus thereof |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20120117217 | 2012-10-22 | ||
KR1020120117217 | 2012-10-22 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20140052848A true KR20140052848A (en) | 2014-05-07 |
Family
ID=50885980
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020130125078A KR20140052848A (en) | 2012-10-22 | 2013-10-21 | Method for forwarding packet and apparatus therefor |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20140052848A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9912581B2 (en) | 2014-08-27 | 2018-03-06 | Electronics And Telecommunications Research Institute | Flow inheritance |
-
2013
- 2013-10-21 KR KR1020130125078A patent/KR20140052848A/en not_active Application Discontinuation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9912581B2 (en) | 2014-08-27 | 2018-03-06 | Electronics And Telecommunications Research Institute | Flow inheritance |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10868767B2 (en) | Data transmission method and apparatus in optoelectronic hybrid network | |
US10642321B2 (en) | Power distribution unit self-identification | |
US9660942B2 (en) | Automatic buffer sizing for optimal network-on-chip design | |
JP6055009B2 (en) | Packet processing method, apparatus and system | |
US9479323B2 (en) | Communication system, forwarding node, control device, communication control method, and program | |
JP4763405B2 (en) | Network-on-chip semi-automatic communication architecture for data flow applications | |
CN109088820B (en) | Cross-device link aggregation method and device, computing device and storage medium | |
WO2011046637A1 (en) | Reliable communications in on-chip networks | |
WO2022032984A1 (en) | Mqtt protocol simulation method and simulation device | |
CN113114706B (en) | Multichannel Ethernet message processing method based on power chip | |
CN106603409B (en) | Data processing system, method and equipment | |
WO2016082456A1 (en) | Board, board management method and system, and storage medium | |
EP2699030B1 (en) | Route switching device, network switching system and route switching method | |
CN104954165A (en) | Link analysis method, device and system | |
RU2602333C2 (en) | Network system, packet processing method and storage medium | |
US20140112142A1 (en) | Method of forwarding packet and apparatus thereof | |
CN105227403A (en) | A kind of OpenStack network flow monitoring method | |
CN109039738B (en) | DCS network equipment configuration and monitoring method, device, maintenance node and terminal | |
CN114466404A (en) | Business flow data transmission method and device, electronic equipment and storage medium | |
CN113542148A (en) | Message aggregation method and device, network card and readable storage medium | |
KR20140052848A (en) | Method for forwarding packet and apparatus therefor | |
JP7048149B2 (en) | Network system, control device, processing rule setting method and program | |
US9590925B2 (en) | Packet processing apparatus, packet processing method, and non-transitory computer-readable storage medium | |
WO2021232920A1 (en) | Data transmission method, electronic device, and storage medium | |
US9819571B2 (en) | Control apparatus and method for supplying switch with entry |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WITN | Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid |