KR101554477B1 - Method, appratus, system and computer-readable recording medium for adjusting flow against overload - Google Patents

Method, appratus, system and computer-readable recording medium for adjusting flow against overload Download PDF

Info

Publication number
KR101554477B1
KR101554477B1 KR1020150012395A KR20150012395A KR101554477B1 KR 101554477 B1 KR101554477 B1 KR 101554477B1 KR 1020150012395 A KR1020150012395 A KR 1020150012395A KR 20150012395 A KR20150012395 A KR 20150012395A KR 101554477 B1 KR101554477 B1 KR 101554477B1
Authority
KR
South Korea
Prior art keywords
network switch
packet
network
switch
overload
Prior art date
Application number
KR1020150012395A
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 KR1020150012395A priority Critical patent/KR101554477B1/en
Application granted granted Critical
Publication of KR101554477B1 publication Critical patent/KR101554477B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/50Overload detection or protection within a single switching element
    • H04L49/501Overload detection

Landscapes

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

Abstract

An embodiment of the present invention relates to a packet processing method for a network switch. The packet processing method includes the following steps: (a) the network switch detects whether the network switch is overloaded or not; and (b) the network switch bypasses a packet to a neighbor network switch adjacent to the network switch when the network switch cannot confirm the route of the predetermined packet transmitted to the network switch alone while the network switch is detected to be overloaded. The present invention bypasses the packet required to be processed to be influenced by the overload of the network switch to the neighbor network switch adjacent to the network switch, thereby preventing problems due to the overload of the network switch.

Description

과부하에 대응하여 패킷을 처리하기 위한 방법, 장치, 시스템 및 컴퓨터 판독 가능한 기록 매체{METHOD, APPRATUS, SYSTEM AND COMPUTER-READABLE RECORDING MEDIUM FOR ADJUSTING FLOW AGAINST OVERLOAD}METHOD, APPARATUS, SYSTEM AND COMPUTER READABLE RECORDING MEDIUM FOR ADJUSTING FLOW AGAINST OVERLOAD BACKGROUND OF THE INVENTION Field of the Invention [0001]

본 발명은 과부하에 대응하여 패킷을 처리하기 위한 방법, 장치, 시스템 및 컴퓨터 판독 가능한 기록 매체에 관한 것으로, 보다 상세하게는, 네트워크 스위치의 과부하가 감지되고, 네트워크 스위치로 전송된 패킷에 대해서 네트워크 스위치의 단독으로는 경로가 확정되지 못하는 패킷을 네트워크 스위치에 인접한 이웃 네트워크 스위치로 바이패스하는 방법, 장치, 시스템 및 컴퓨터 판독 가능한 기록 매체에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a method, an apparatus, a system and a computer-readable recording medium for processing a packet in response to an overload. More particularly, To a method, apparatus, system, and computer-readable recording medium for bypassing a packet whose path can not be determined by itself to a neighboring network switch adjacent to the network switch.

일반적으로 네트워크 장치의 인터페이스는 네트워크 장치의 제조자에 의해 결정된다. 다양한 제조자들의 네트워크 스위치들은 서로 다른 어플리케이션 프로그래밍 인터페이스(API: Application Programming Interface, 이하 "API"라고 함)를 제공할 수 있다. 동일하거나 유사한 기능을 제공하는 다양한 네트워크 장치들이 제조사 또는 버전 별로 서로 다른 인터페이스를 제공하기 때문에, 네트워크의 운영자는 네트워크의 환경에 맞추어 기능을 추가, 개발 또는 구성함에 있어서 어려움을 겪을 수 있다. 따라서, 네트워크 장치에 대한 통일된 인터페이스, 예를 들면 표준 API 또는 개방된(Open) 인터페이스 등이 요구된다.In general, the interface of the network device is determined by the manufacturer of the network device. The network switches of various manufacturers can provide different application programming interfaces (APIs). Since various network devices providing the same or similar functions provide different interfaces according to the manufacturer or version, the operator of the network may have difficulties in adding, developing or configuring functions according to the environment of the network. Thus, a unified interface to the network device, for example a standard API or an open interface, is required.

소프트웨어 정의된 네트워킹(SDN: Software-Defined Networking, 이하 "SDN"이라고 함)은 오픈 네트워크 파운데이션(ONF: Open Network Foundation, 이하 "ONF"라고 함)에 의해 표준화가 추진되는 기술이다. SDN에서는 소프트웨어 프로그래밍에 의해 네트워크 경로 설정, 네트워크 제어 및 기타 네트워크 운용이 처리된다.Software-Defined Networking (SDN) is a technology that is standardized by the Open Network Foundation (ONF). In SDN, network routing, network control, and other network operations are handled by software programming.

SDN은 네트워크의 제어 기능이 물리적 네트워크와 분리되어 있는 네트워크 구조를 의미한다. 말하자면, SDN에서는 네트워크의 데이터 평면(Data plane) 및 제어 평면(Control plane)으로 분리되어 있으며, 양 평면들의 사이에서의 표준화된 인터페이스가 제공된다. 예를 들면, 네트워크의 운영자는 제어 평면에 대한 프로그래밍을 통해 SDN에 의해 제공되는 인터페이스를 사용할 수 있고, SDN에 의해 제공되는 인터페이스를 통해 네트워크의 상황에 맞춰 데이터 평면에서 이루어지는 통신 기능을 제어할 수 있다.SDN means a network structure in which the control functions of the network are separated from the physical network. That is to say, the SDN is divided into a data plane and a control plane of the network, and a standardized interface between both planes is provided. For example, an operator of a network can use the interface provided by the SDN via programming on the control plane, and control the communication function on the data plane according to the context of the network via the interface provided by the SDN .

SDN에 의해 제공되는 기능들 중 대표적인 기능들로서, 소프트웨어 정의 포워딩(Software defined forwarding)이 있다. 기존의 네트워크에서 패킷 포워딩은 스위치 또는 라우터의 하드웨어에 의해 처리된다. 소프트웨어 정의 포워딩은 이러한 패킷 포워딩이 개방형 인터페이스 및 소프트웨어에 의해 제어되는 것을 의미한다. 소프트웨어 정의 포워딩을 위한 표준 인터페이스로서 오픈플로우(OpenFlow)가 널리 사용된다. 오픈플로우는 스위치 및 라우터의 기능에 대한 프로그래밍을 지원하기 위해 정의된 오픈 소스(Source) API로서, SDN을 위한 흐름 제어, 보안 및 가상화 등을 제공한다.Among the functions provided by the SDN, there are software defined forwarding. In an existing network, packet forwarding is handled by the hardware of the switch or router. Software defined forwarding means that such packet forwarding is controlled by open interfaces and software. OpenFlow is widely used as a standard interface for software-defined forwarding. Openflow is an open source API defined to support programming of switch and router functions, providing flow control, security, and virtualization for SDN.

SDN을 구성하는 요소로서, SDN 제어기 및 SDN 스위치들이 있다. SDN 제어기는 OpenFlow 프로토콜과 같은 프로토콜을 사용하여 SDN 스위치를 제어한다. 예를 들면, SDN 제어기는 네트워크 토폴로지(Topology)에 따라 패킷의 포워딩 방법을 설정할 수 있고, 설정된 포워딩 방법을 SDN 스위치로 전송할 수 있다.As elements constituting the SDN, there are the SDN controller and the SDN switches. The SDN controller uses the same protocol as the OpenFlow protocol to control the SDN switch. For example, the SDN controller may set the forwarding method of the packet according to the network topology, and may transmit the set forwarding method to the SDN switch.

SDN 스위치는 SDN 제어기의 제어에 따라 패킷을 처리할 수 있다. SDN 스위치는 패킷을 처리하기 위해 플로우 테이블을 사용할 수 있다. 예를 들면, 플로우 테이블의 각 플로우 엔트리는 조건(Match fields), 통계(Counters) 및 액션(Action)을 포함할 수 있으며, 소정의 조건을 충족시키는 패킷을 어떻게 처리할 것인가를 정의할 수 있다. 예를 들면, 플로우 엔트리에 아웃포트 액션이 명시된 경우, 패킷은 아웃포트로 포워드될 수 있다.The SDN switch can process packets under the control of the SDN controller. The SDN switch can use a flow table to process packets. For example, each flow entry in the flow table may include Match fields, Counters, and Action, and may define how to process packets that meet certain conditions. For example, if an outport action is specified in a flow entry, the packet may be forwarded to the outport.

경우에 따라, 특정한 패킷은 플로우 테이블에 의해서는 어떻게 처리되어야 할지 정의되지 않을 수 있다. 말하자면, 특정한 패킷은 플로우 테이블의 어떤 엔트리에도 매치되지 않을 수 있다. SDN 스위치은 이러한 패킷에 대한 플로우 셋업을 위해 SDN 제어기에게 업콜(Upcall)을 전송한다. SDN 제어기는 네트워크의 토폴로지 등을 고려하여 패킷에 매치되는 플로우 엔트리를 생성하고, 업콜에 대한 응답으로서 생성된 플로우 엔트리의 정보를 SDN 스위치로 전송한다. SDN 스위치는 패킷에 대하여 새로 제공된 플로우 엔트리를 사용하여 패킷을 처리한다.In some cases, a particular packet may not be defined by the flow table. That is to say, a particular packet may not match any entry in the flow table. The SDN switch sends an upcall to the SDN controller for flow setup for this packet. The SDN controller generates a flow entry matched with the packet in consideration of the topology of the network and sends the information of the flow entry generated as a response to the up-call to the SDN switch. The SDN switch processes the packet using the newly provided flow entry for the packet.

전술된 것과 같이 SDN 스위치는 소프트웨어를 사용하여 패킷을 처리한다. 따라서, SDN 스위치는 하드웨어로 패킷을 처리하는 스위치에 비해 패킷의 처리에 있어서 많은 자원을 사용한다는 문제점을 가질 수 있다. 특히, SDN 스위치가 과부하(Overload)된 경우 전술된 SDN의 원리에 따른 동작은 SDN 스위치의 성능에 큰 영향을 미칠 수 있다. 예를 들면, 과부하된 SDN 스위치에 전송된 패킷이 플로우 테이블의 플로우 엔트리들에 매치되지 않을 경우, SDN 스위치가 업콜 및 업콜에 대한 응답의 처리를 하기 위해서는 많은 자원이 요구되고, 패킷의 처리의 성능이 저하된다는 문제점이 있다.As described above, the SDN switch processes packets using software. Therefore, the SDN switch may have a problem in that it uses a lot of resources in the processing of a packet as compared with a switch that processes packets by hardware. In particular, when the SDN switch is overloaded, the operation according to the above-described SDN principle can greatly affect the performance of the SDN switch. For example, if a packet sent to an overloaded SDN switch does not match the flow entries in the flow table, then many resources are required for the SDN switch to process the response to the upcall and upcall, Is lowered.

이에 본 발명자는, 네트워크 스위치의 과부하를 감지하고, 과부하에 의해 영향을 받는 처리를 요구하는 패킷을 네트워크 스위치에 인접한 이웃 네트워크 스위치로 바이패스함으로써 네트워크 스위치의 부하를 경감시키는 것을 가능하게 하는 기술을 개발하기에 이르렀다.The present inventors have developed a technique that enables a load of a network switch to be reduced by detecting an overload of the network switch and bypassing a packet requiring processing that is affected by the overload to a neighboring network switch adjacent to the network switch It came to the following.

본 발명은 상술한 문제점을 모두 해결하는 것을 그 목적으로 한다.It is an object of the present invention to solve all the problems described above.

또한, 본 발명은 네트워크 스위치의 과부하를 감지하고, 과부하에 의해 영향을 받는 처리를 요구하는 패킷을 네트워크 스위치에 인접한 이웃 네트워크 스위치로 바이패스함으로써 네트워크 스위치의 과부하의 감소가 이루어질 수 있도록 하는 것을 다른 목적으로 한다.The invention also pertains to detecting overload of a network switch and allowing a reduction in the overload of the network switch by bypassing a packet requiring processing that is affected by the overload to a neighboring network switch adjacent to the network switch, .

또한, 본 발명은 과부하된 네트워크 스위치로부터 과부하되지 않은 네트워크 스위치로 패킷을 바이패스함으로써 패킷에 대한 서비스 품질(QoS: Quality of Service, 이하 "QoS"라고 함)의 충족이 이루어질 수 있도록 하는 것을 다른 목적으로 한다.The present invention also provides a method and apparatus for enabling the fulfillment of a Quality of Service (QoS) for a packet by bypassing a packet from an overloaded network switch to a network switch that is not overloaded, .

상기 목적을 달성하기 위한 본 발명의 대표적인 구성은 다음과 같다.In order to accomplish the above object, a representative structure of the present invention is as follows.

본 발명의 일 태양에 따르면, 네트워크 스위치의 패킷 처리 방법으로서, (a) 상기 네트워크 스위치가, 상기 네트워크 스위치의 과부하 여부를 감지하는 단계; 및 (b) 상기 네트워크 스위치가 과부하인 것으로 감지된 상태에서, 상기 네트워크 스위치가 상기 네트워크 스위치에 전송된 소정의 패킷의 경로를 단독으로 확정하지 못하는 상태이면, 상기 패킷을 상기 네트워크 스위치에 인접한 이웃 네트워크 스위치로 바이패스하는 단계를 포함하는 패킷 처리 방법이 제공된다.According to an aspect of the present invention, there is provided a method of processing a packet of a network switch, comprising the steps of: (a) detecting whether the network switch is overloaded; And (b) if the network switch is in a state where it is detected that the network switch is overloaded, if the network switch is unable to determine the path of a predetermined packet transmitted to the network switch alone, And a step of bypassing the packet with a switch.

본 발명의 다른 태양에 따르면, 네트워크 스위치에 있어서, 상기 네트워크 스위치의 과부하를 감지하는 과부하 검출부; 및 상기 네트워크 스위치가 과부하인 것으로 감지된 상태에서, 상기 네트워크 스위치가 상기 네트워크 스위치에 전송된 소정의 패킷의 경로를 단독으로 확정하지 못하는 상태이면, 상기 패킷을 상기 네트워크 스위치에 인접한 이웃 네트워크 스위치로 바이패스하는 패킷 처리부를 포함하는 네트워크 스위치가 제공된다.According to another aspect of the present invention, there is provided a network switch comprising: an overload detection unit for detecting an overload of the network switch; And if the network switch is in a state in which it is detected that the network switch is overloaded, the network switch can not determine the path of a predetermined packet transmitted to the network switch alone, There is provided a network switch including a packet processing unit for passing packets.

본 발명의 또 다른 태양에 따르면, 복수의 네트워크 스위치들을 포함하고, 상기 복수의 네트워크 스위치 중 제1 네트워크 스위치는 상기 제1 네트워크 스위치의 과부하 여부를 감지하고, 상기 제1 네트워크 스위치가 과부하인 것으로 감지된 상태에서, 상기 제1 네트워크 스위치가 상기 제1 네트워크 스위치에 전송된 소정의 패킷의 경로를 단독으로 확정하지 못하는 상태이면 상기 패킷을 상기 제2 네트워크 스위치로 바이패스하고, 상기 제2 네트위크 스위치는 상기 복수의 네트워크 스위치들 중 상기 제1 네트워크 스위치에 이웃한 네트워크 스위치인 것을 특징으로 하는 시스템이 제공된다.According to still another aspect of the present invention, there is provided a method for controlling a network switch, comprising a plurality of network switches, wherein a first network switch of the plurality of network switches detects whether the first network switch is overloaded, The first network switch bypasses the packet to the second network switch when the first network switch is in a state where the first network switch can not determine the path of the predetermined packet transmitted to the first network switch alone, Wherein the first network switch is a network switch neighboring the first network switch among the plurality of network switches.

이 외에도, 본 발명을 구현하기 위한 다른 방법, 장치, 시스템 및 상기 방법을 실행하기 위한 컴퓨터 프로그램을 기록하기 위한 컴퓨터 판독 가능한 기록 매체가 더 제공된다.In addition, there is further provided another method, apparatus, system for implementing the invention and a computer readable recording medium for recording a computer program for executing the method.

본 발명에 의하면, 네트워크 스위치의 과부하에 의해 영향을 받는 처리가 요구되는 패킷을 네트워크 스위치에 인접한 이웃 네트워크 스위치로 바이패스함으로써 네트워크 스위치의 과부하로 인한 문제점을 방지할 수 있게 되는 효과가 달성된다.According to the present invention, it is possible to prevent a problem caused by an overload of a network switch by bypassing a packet requiring processing that is affected by an overload of the network switch to a neighboring network switch adjacent to the network switch.

또한, 본 발명에 의하면, 과부하된 네트워크 스위치로부터 과부하되지 않은 네트워크 스위치로 패킷을 바이패스함에 따라 패킷에 대한 QoS가 충족될 수 있다는 효과가 달성된다.Further, according to the present invention, the effect that the QoS for the packet can be satisfied by bypassing the packet from the overloaded network switch to the overloaded network switch is achieved.

도 1은 본 발명에 따른 네트워크 시스템의 구성을 개략적으로 나타내는 도면이다.
도 2는 본 발명의 일 실시예에 따른 네트워크 스위치의 구성을 나타내는 도면이다.
도 3은 본 발명의 일 실시예에 따른 네트워크 스위치의 과부하의 감지 및 과부하의 감지 후의 패킷의 처리를 설명하는 흐름도이다.
1 is a diagram schematically showing a configuration of a network system according to the present invention.
2 is a diagram illustrating a configuration of a network switch according to an embodiment of the present invention.
FIG. 3 is a flowchart for explaining overload detection of a network switch and packet processing after detection of an overload according to an embodiment of the present invention.

후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.The following detailed description of the invention refers to the accompanying drawings, which illustrate, by way of illustration, specific embodiments in which the invention may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention. It should be understood that the various embodiments of the present invention are different, but need not be mutually exclusive. For example, certain features, structures, and characteristics described herein may be implemented in other embodiments without departing from the spirit and scope of the invention in connection with an embodiment. It is also to be understood that the position or arrangement of the individual components within each disclosed embodiment may be varied without departing from the spirit and scope of the invention. The following detailed description is, therefore, not to be taken in a limiting sense, and the scope of the present invention is to be limited only by the appended claims, along with the full scope of equivalents to which such claims are entitled, if properly explained. In the drawings, like reference numerals refer to the same or similar functions throughout the several views.

이하에서는, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 바람직한 실시예들에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings, so that those skilled in the art can easily carry out the present invention.

전체 시스템의 구성Configuration of the entire system

도 1은 본 발명에 따른 네트워크 시스템의 구성을 개략적으로 나타내는 도면이다.1 is a diagram schematically showing a configuration of a network system according to the present invention.

도 1에 도시되어 있는 바와 같이, 본 발명의 전체 시스템은 네트워크 제어기(Network Controller)(110) 및 복수의 네트워크 스위치(Switch)들을 포함할 수 있다. 네트워크 제어기(110)는 SDN 제어기일 수 있고, 복수의 네트워크 스위치들의 각 네트워크 스위치는 SDN 스위치일 수 있다.As shown in FIG. 1, the entire system of the present invention may include a network controller 110 and a plurality of network switches. The network controller 110 may be an SDN controller, and each network switch of the plurality of network switches may be an SDN switch.

도 1 에서는 복수의 네트워크 스위치들로서, 제1 네트워크 스위치(121), 제2 네트워크 스위치(122), 제3 네트워크 스위치(123) 및 제4 네트워크 스위치(124)가 도시되었다. 네트워크에서, 제어 경로는 점선으로 도시되었고, 데이터 경로는 실선으로 도시되었다.In FIG. 1, a first network switch 121, a second network switch 122, a third network switch 123 and a fourth network switch 124 are shown as a plurality of network switches. In the network, the control path is shown in dashed lines and the data path is shown in solid lines.

본 발명의 일 실시예에 따르면, 복수의 네트워크 스위치들의 각 네트워크 스위치는 하나 이상의 포트를 포함할 수 있다. 도 1에서, 각 포트는 편의상 작은 사각형으로 도시되었다. 네트워크 스위치의 각 포트는 다른 네트워크 스위치로부터 패킷을 수신하거나, 다른 네트워크 스위치로 패킷을 전송할 수 있다. 또한, 네트워크 스위치의 각 포트는 외부의 네트워크 또는 외부의 장치로부터 패킷을 수신하거나 외부의 네트워크 또는 외부의 장치로 패킷을 전송할 수 있다. 네트워크 스위치에 의해 처리되는 패킷에 있어서, 인바운드(Inbound) 포트는 네트워크 스위치의 적어도 하나의 포트 중 패킷을 수신한 포트를 의미할 수 있고, 아웃바운드(Outbound) 포트는 네트워크 스위치의 적어도 하나의 포트 중 패킷을 전송한 포트일 수 있다.According to one embodiment of the present invention, each network switch of the plurality of network switches may comprise one or more ports. In Figure 1, each port is shown as a small rectangle for convenience. Each port of the network switch can receive packets from another network switch or transmit packets to another network switch. In addition, each port of the network switch may receive packets from an external network or an external device, or may transmit packets to an external network or an external device. In a packet processed by a network switch, the inbound port may refer to a port of the at least one port of the network switch that has received the packet, and the outbound port may be a port of at least one of the network switches It may be the port that sent the packet.

네트워크 스위치의 구성Network switch configuration

도 2는 본 발명의 일 실시예에 따른 네트워크 스위치의 구성을 나타내는 도면이다.2 is a diagram illustrating a configuration of a network switch according to an embodiment of the present invention.

본 발명의 일 실시예에 따르면, 네트워크 스위치(200)는 과부하 검출부(210), 패킷 처리부(220), 저장부(230) 및 적어도 하나의 포트(240)를 포함할 수 있다. 본 발명의 일 실시예에 따르면, 과부하 검출부(210), 패킷 처리부(220) 및 저장부(230)의 적어도 일부는 외부 시스템과 통신하는 프로그램 모듈들일 수 있다. 이러한 프로그램 모듈들은 운영 시스템, 응용 프로그램 모듈 및 기타 프로그램 모듈의 형태로 네트워크 스위치(200)에 포함될 수 있으며, 물리적으로는 여러 가지 공지의 기억 장치 상에 저장될 수 있다. 또한, 이러한 프로그램 모듈 중 적어도 일부는 네트워크 스위치(200)와 통신 가능한 원격 기억 장치에 저장될 수도 있다. 한편, 이러한 프로그램 모듈들은 본 발명에 따라 후술할 특정 업무를 수행하거나 특정 추상 데이터 유형을 실행하는 루틴(Routine), 서브루틴(Subroutine), 프로그램(Program), 오브젝트(Object), 컴포넌트(Component) 및 데이터 구조(Data Structure) 등을 포괄하지만, 이에 제한되지는 않는다.According to an embodiment of the present invention, the network switch 200 may include an overload detection unit 210, a packet processing unit 220, a storage unit 230, and at least one port 240. According to an embodiment of the present invention, at least some of the overload detection unit 210, the packet processing unit 220, and the storage unit 230 may be program modules communicating with an external system. Such program modules may be included in the network switch 200 in the form of an operating system, application program modules, and other program modules, and may be physically stored on various known memory devices. Also, at least some of these program modules may be stored in a remote storage device capable of communicating with the network switch 200. Such program modules may include routines, subroutines, programs, objects, components, and / or components that perform particular tasks or perform particular abstract data types, Data structures, and the like, but are not limited thereto.

본 발명의 일 실시예에 따르면, 도 1을 참조하여 전술된 복수의 네트워크 스위치들의 각 네트워크 스위치는 도 2의 네트워크 스위치(200)에 대응할 수 있다. 복수의 네트워크 스위치들의 각 네트워크 스위치는 과부하 검출부, 패킷 처리부 및 적어도 하나의 포트를 포함할 수 있다. 또한, 각 네트워크 스위치의 과부하 검출부, 패킷 처리부, 저장부 및 적어도 하나의 포트는 도 2에서 도시된 과부하 검출부(210), 패킷 처리부(220), 저장부(230) 및 적어도 하나의 포트(240)에 각각 대응할 수 있다.According to one embodiment of the present invention, each network switch of the plurality of network switches described above with reference to FIG. 1 may correspond to the network switch 200 of FIG. Each network switch of the plurality of network switches may include an overload detection unit, a packet processing unit, and at least one port. The overload detection unit, the packet processing unit, the storage unit, and the at least one port of each network switch are connected to the overload detection unit 210, the packet processing unit 220, the storage unit 230 and the at least one port 240, Respectively.

본 발명의 일 실시예에 따르면, 과부하 검출부(210)는 네트워크 스위치(200)의 과부하를 감지할 수 있으며, 과부하가 감지된 후에는 과부하 상태의 해제를 감지할 수도 있다.According to an embodiment of the present invention, the overload detection unit 210 may sense an overload of the network switch 200, and may detect an overload state after the overload is detected.

본 발명의 일 실시예에 따르면, 패킷 처리부(220)는 패킷에 대한 처리를 수행할 수 있다. 패킷 처리부(220)는 적어도 하나의 포트를 통해 패킷을 수신할 수 있으며, 적어도 하나의 포트를 통해 패킷을 전송할 수 있다. 또한, 패킷 처리부(220)는 패킷의 처리를 위해 네트워크 제어기(110)로 업콜을 전송할 수 있으며, 네트워크 제어기(110)로부터 업콜에 대한 응답을 수신할 수 있다.According to an embodiment of the present invention, the packet processing unit 220 may perform processing on a packet. The packet processing unit 220 can receive a packet through at least one port and can transmit a packet through at least one port. In addition, the packet processing unit 220 may transmit the upcall to the network controller 110 for processing the packet, and may receive a response to the upcall from the network controller 110.

본 발명의 일 실시예에 따르면, 저장부(230)는 네트워크 스위치(200)의 동작에 요구되는 데이터를 저장할 수 있다. 예를 들면, 저장부(230)는 네트워크 스위치(200)의 플로우 테이블 및 바이패스 정보 등을 저장할 수 있다.According to an embodiment of the present invention, the storage unit 230 may store data required for operation of the network switch 200. [ For example, the storage unit 230 may store a flow table of the network switch 200, bypass information, and the like.

본 발명의 일 실시예에 따르면, 네트워크 스위치(200)의 적어도 하나의 포트(240) 중 일부는 네트워크 시스템의 내부의 다른 장치와 연결될 수 있다. 네트워크 시스템의 내부의 다른 장치는 네트워크 제어기(110) 및 다른 네트워크 스위치를 포함할 수 있다. 또한, 적어도 하나의 포트(240) 중 다른 일부는 네트워크 시스템의 외부의 장치와 연결될 수 있다.In accordance with one embodiment of the present invention, at least one port 240 of the network switch 200 may be coupled to another device within the network system. Other devices within the network system may include a network controller 110 and other network switches. Also, another portion of the at least one port 240 may be coupled to a device external to the network system.

과부하의 감지 및 과부하의 감지 후의 패킷의 처리Overload detection and processing of packets after overload detection

도 3은 본 발명의 일 실시예에 따른 네트워크 스위치의 과부하의 감지 및 과부하의 감지 후의 패킷의 처리를 설명하는 흐름도이다.FIG. 3 is a flowchart for explaining overload detection and packet processing after detection of an overload in a network switch according to an embodiment of the present invention.

이하에서는, 도 1을 참조하여 전술된 네트워크 시스템에서, 복수의 네트워크 스위치들 중 제1 네트워크 스위치(121)가 과부하가 된 네트워크 스위치로서 설명되고, 제2 네트워크 스위치(122)가 패킷이 바이패스될 네트워크 스위치로서 설명된다.Hereinafter, in the network system described above with reference to FIG. 1, a first one of a plurality of network switches 121 is described as an overloaded network switch, and a second one of the network switches 122 Is described as a network switch.

(i) 먼저, 본 발명의 일 실시예에 따르면, 제1 네트워크 스위치(121)의 과부하 검출부(210)는 제1 네트워크 스위치(121)의 과부하를 감지할 수 있다(S310). 제1 네트워크 스위치(121)의 과부하 검출부(210)는 제1 네트워크 스위치(121)의 부하(Load)가 소정의 임계치(Threshold) 이상인 경우 제1 네트워크 스위치(121)가 과부화된 것으로 판단할 수 있다.(i) First, according to an embodiment of the present invention, the overload detection unit 210 of the first network switch 121 may sense the overload of the first network switch 121 (S310). The overload detection unit 210 of the first network switch 121 may determine that the first network switch 121 is overloaded when the load of the first network switch 121 is equal to or greater than a predetermined threshold .

본 발명의 일 실시예에 따르면, 제1 네트워크 스위치(121)의 과부하는 제1 네트워크 스위치(121)의 제어 경로인 스위치-제어기 간 티씨피(TCP) 또는 에스에스엘(SSL) 세션(Switch-to-Controller Session)에 있어서의 과부하일 수 있다. 말하자면, 제1 네트워크 스위치(121)의 과부하는 제1 네트워크 스위치(121) 및 네트워크 제어기(110) 간의 세션 또는 상기 세션에 관련된 처리에 있어서의 과부하를 의미할 수 있다.According to one embodiment of the present invention, the overload of the first network switch 121 may be controlled by a switch-controller tcp (TCP) or a switch-to-controller (SSL) session which is the control path of the first network switch 121 - Controller Session). That is to say, the overload of the first network switch 121 may mean a session between the first network switch 121 and the network controller 110 or an overload in the processing related to the session.

본 발명의 일 실시예에 따르면, 네트워크 스위치의 과부하의 감지를 위해, 네트워크 스위치의 중앙처리장치(CPU: Central Processing Unit, 이하 "CPU"라고 함)의 사용량(Usage), 네트워크 스위치와 네트워크 제어기 간의 혼잡(Congestion) 및 네트워크 스위치의 플로우 테이블 내의 플로우 엔트리의 개수 또는 비율 등이 참조로 될 수 있다. 제1 네트워크 스위치(121)의 과부하 검출부(210)는 제1 네트워크 스위치(121)의 CPU의 사용량, 제1 네트워크 스위치(121)와 네트워크 제어기(110) 간의 혼잡 및 제1 네트워크 스위치(121)의 플로우 테이블 내의 플로우 엔트리의 개수 또는 비율 중 적어도 하나에 기반하여 제1 네트워크 스위치(121)의 과부하를 감지할 수 있다. 예를 들면, 제1 네트워크 스위치(121)의 과부하 검출부(210)는 제1 네트워크 스위치(121)의 CPU의 사용량이 소정의 값 이상인 경우 제1 네트워크 스위치(121)가 과부하된 것으로 판단할 수 있다. 또는, 제1 네트워크 스위치(121)의 과부하 검출부(210)는 제1 네트워크 스위치(121)와 네트워크 제어기(110) 간의 혼잡이 소정의 정도 이상인 경우 제1 네트워크 스위치(121)가 과부하된 것으로 판단할 수 있다. 또는, 제1 네트워크 스위치(121)의 과부하 검출부(210)는 제1 네트워크 스위치(121)의 플로우 테이블 내의 플로우 엔트리의 개수 또는 비율이 소정의 값 이상인 경우 제1 네트워크 스위치(121)가 과부하된 것으로 판단할 수 있다.According to an embodiment of the present invention, in order to detect an overload of a network switch, a usage amount of a central processing unit (CPU) (hereinafter referred to as "CPU") of the network switch, Congestion, and the number or rate of flow entries in the flow table of the network switch. The overload detection unit 210 of the first network switch 121 detects the usage amount of the CPU of the first network switch 121 and the usage amount of the CPU of the first network switch 121, Overload of the first network switch 121 based on at least one of the number or rate of flow entries in the flow table. For example, the overload detection unit 210 of the first network switch 121 may determine that the first network switch 121 is overloaded when the usage amount of the CPU of the first network switch 121 is greater than a predetermined value . Alternatively, the overload detection unit 210 of the first network switch 121 may determine that the first network switch 121 is overloaded when congestion between the first network switch 121 and the network controller 110 is greater than a predetermined level . Alternatively, the overload detection unit 210 of the first network switch 121 may determine that the first network switch 121 is overloaded when the number or ratio of the flow entries in the flow table of the first network switch 121 is equal to or greater than a predetermined value It can be judged.

본 발명의 일 실시예에 따르면, 네트워크 스위치와 네트워크 제어기 간의 혼잡은 네트워크 스위치 내에서 대기 중인 업콜 플로우 엔트리의 개수 또는 비율에 의해 판단될 수 있다. 예를 들면, 네트워크 스위치와 네트워크 제어기 간의 혼잡은 네트워크 스위치 내에서 대기 중인 업콜 플로우 엔트리의 개수 또는 비율에 비례할 수 있다. 참고로, 본 발명의 명세서에서는 패킷의 포워딩을 위해 사용되는 테이블의 엔트리인 플로우 엔트리와 업콜을 위해 대기하는 테이블의 엔트리인 업콜 플로우 엔트리라는 용어를 구분하여 사용하였다.According to one embodiment of the present invention, congestion between a network switch and a network controller may be determined by the number or ratio of pending upcall flow entries in the network switch. For example, congestion between a network switch and a network controller may be proportional to the number or proportion of pending upcall flow entries in the network switch. For reference, in the specification of the present invention, a flow entry, which is an entry of a table used for packet forwarding, and an upflow flow entry, which is an entry of a table waiting for uplink, are used separately.

(ii) 다음으로, 본 발명의 일 실시예에 따르면, 제1 네트워크 스위치(121)의 과부하가 감지되면 제1 네트워크 스위치(121)의 패킷 처리부(220)는 제1 네트워크 스위치(121)의 과부하를 네트워크 제어기(110)에게 통지할 수 있다(S320).(ii) Next, in accordance with an embodiment of the present invention, when an overload of the first network switch 121 is detected, the packet processing unit 220 of the first network switch 121 performs overloading of the first network switch 121 To the network controller 110 (S320).

(iii) 다음으로, 본 발명의 일 실시예에 따르면, 제1 네트워크 스위치(121)의 과부하가 통지되면 네트워크 제어기(110)는 제1 네트워크 스위치(121)에 인접한 복수의 네트워크 스위치들 중 패킷이 바이패스(Bypass)될 이웃 네트워크 스위치를 선택할 수 있다(S325). 여기에서, 제1 네트워크 스위치(121)에 인접한 네트워크 스위치란 네트워크 토폴로지에서 가령 1 홉(Hop)으로 제1 네트워크 스위치(121)에 도달할 수 있는 적어도 하나의 네트워크 스위치를 의미할 수 있다. 도 1에서 도시된 것과 같이 제1 네트워크 스위치(121)에 인접한 네트워크 스위치들은 제2 네트워크 스위치(122), 제3 네트워크 스위치(123) 및 제4 네트워크 스위치(124)이고, 이하에서는 설명의 편의상 제2 네트워크 스위치(122)가 패킷이 바이패스될 이웃 네트워크 스위치로서 결정된 경우를 상정하여 설명한다.(iii) Next, in accordance with an embodiment of the present invention, when an overload of the first network switch 121 is notified, the network controller 110 determines whether a packet among the plurality of network switches adjacent to the first network switch 121 The neighboring network switch to be bypassed can be selected (S325). Herein, a network switch adjacent to the first network switch 121 may mean at least one network switch capable of reaching the first network switch 121 in, for example, one hop (Hop) in the network topology. As shown in FIG. 1, the network switches adjacent to the first network switch 121 are the second network switch 122, the third network switch 123 and the fourth network switch 124, 2 network switch 122 is determined as a neighboring network switch to which the packet will be bypassed.

본 발명의 일 실시예에 따르면, 네트워크 제어기(110)는 제1 네트워크 스위치(121)에 인접한 복수의 네트워크 스위치들의 각 네트워크 스위치의 트래픽 통계 값, CPU의 사용량 및 플로우 테이블 내의 플로우 엔트리의 개수 또는 비율 중 적어도 하나에 기반하여 제1 네트워크 스위치(121)에 인접한 복수의 네트워크 스위치들 중 패킷이 바이패스될 이웃 네트워크 스위치를 선택할 수 있다. 예를 들면, 네트워크 제어기(110)는 제1 네트워크 스위치(121)에 인접한 복수의 네트워크 스위치들 중 트래픽 통계 값이 가장 작은 네트워크 스위치를 패킷이 바이패스될 이웃 네트워크 스위치로 선택할 수도 있다. 또는, 네트워크 제어기(110)는 제1 네트워크 스위치(121)에 인접한 복수의 네트워크 스위치들 중 CPU의 사용량이 가장 낮은 네트워크 스위치를 패킷이 바이패스될 이웃 네트워크 스위치로 선택할 수도 있다. 또는, 네트워크 제어기(110)는 제1 네트워크 스위치(121)에 인접한 복수의 네트워크 스위치들 중 플로우 테이블 내의 플로우 엔트리의 개수 또는 비율이 가장 작은 네트워크 스위치를 패킷이 바이패스될 이웃 네트워크 스위치로 선택할 수도 있다.According to one embodiment of the present invention, the network controller 110 is configured to determine the traffic statistics of each network switch of a plurality of network switches adjacent to the first network switch 121, the amount of CPU usage and the number or percentage of flow entries in the flow table Based on at least one of the plurality of network switches adjacent to the first network switch 121, the neighboring network switch to which the packet will be bypassed. For example, the network controller 110 may select a network switch having the smallest traffic statistics among a plurality of network switches adjacent to the first network switch 121 as a neighboring network switch to which the packet will be bypassed. Alternatively, the network controller 110 may select a network switch having the lowest CPU usage among a plurality of network switches adjacent to the first network switch 121 as a neighboring network switch to which the packet will be bypassed. Alternatively, the network controller 110 may select a network switch having the smallest number or percentage of flow entries in the flow table among the plurality of network switches adjacent to the first network switch 121 as a neighboring network switch to which the packet will be bypassed .

본 발명의 일 실시예에 따르면, 네트워크 제어기(110)는 패킷이 바이패스될 이웃 네트워크 스위치를 선택함에 따라 바이패스 정보를 생성할 수 있다. 바이패스 정보는 패킷을 바이패스할 이웃 네트워크 스위치를 나타내는 정보일 수 있다. 바이패스 정보는 선택된 이웃 네트워크 스위치(말하자면, 제2 네트워크 스위치(122)를 나타낼 수 있으며, 또는 제1 네트워크 스위치(121)의 적어도 하나의 포트 중 선택된 이웃 네트워크 스위치와 연결된 포트를 나타낼 수도 있다.According to one embodiment of the present invention, the network controller 110 may generate bypass information by selecting a neighboring network switch to which the packet will be bypassed. The bypass information may be information indicating a neighboring network switch to bypass the packet. The bypass information may indicate a selected neighboring network switch (that is, a second network switch 122, or a port connected to a selected one of the at least one port of the first network switch 121).

(iv) 다음으로, 본 발명의 일 실시예에 따르면, 네트워크 제어기(110)는 바이패스 정보를 제1 네트워크 스위치(121)로 전송할 수 있다(S330). 제1 네트워크 스위치(121)의 패킷 처리부(220)는 네트워크 제어기(110)로부터 바이패스 정보를 수신할 수 있다.(iv) Next, according to an embodiment of the present invention, the network controller 110 may transmit the bypass information to the first network switch 121 (S330). The packet processing unit 220 of the first network switch 121 may receive the bypass information from the network controller 110. [

(v) 다음으로, 본 발명의 일 실시예에 따르면, 바이패스 정보가 전송되면 제1 네트워크 스위치(121)의 데이터 경로(Data path)에 대하여 바이패스 정보가 세트될 수 있다(S335). 가령, 제1 네트워크 스위치(121)의 과부하 검출부(210)는 제1 네트워크 스위치(121)의 데이터 경로에 대하여 바이패스 정보를 세트할 수 있다. 또는, 제1 네트워크 스위치(121)의 패킷 처리부(220)에 의해서도 바이패스 정보의 세트가 수행될 수 있다. 또한, 바이패스 정보의 세트는 제1 네트워크 스위치(121)가 과부하되었다는 것을 나타낼 수 있다. 또한, 바이패스 정보는 제1 네트워크 스위치(121)의 적어도 하나의 포트 중 소정의 조건을 충족시키는 패킷을 바이패스하기 위한 포트를 나타낼 수 있다. 포트로의 바이패스를 통해 패킷의 처리가 다른 네트워크 스위치로 넘겨질 수 있다. 이하에서, 제1 네트워크 스위치(121)의 패킷 처리부(220)는 바이패스 정보를 사용하여 패킷이 바이패스될 포트 및 이웃 네트워크 스위치를 식별할 수 있다.(v) Next, according to an embodiment of the present invention, bypass information may be set for the data path of the first network switch 121 when the bypass information is transmitted (S335). For example, the overload detection unit 210 of the first network switch 121 may set the bypass information for the data path of the first network switch 121. Alternatively, the packet processing unit 220 of the first network switch 121 may also perform a set of bypass information. In addition, the set of bypass information may indicate that the first network switch 121 is overloaded. In addition, the bypass information may indicate a port for bypassing a packet that satisfies a predetermined condition among at least one port of the first network switch 121. [ Bypass to the port allows the processing of packets to be passed on to other network switches. Hereinafter, the packet processing unit 220 of the first network switch 121 may use the bypass information to identify the port to which the packet is to be bypassed and the neighboring network switch.

(vi) 다음으로, 본 발명의 일 실시예에 따르면, 제1 네트워크 스위치(121)의 패킷 처리부(220)는 패킷을 수신할 수 있다(S340).(vi) Next, according to an embodiment of the present invention, the packet processing unit 220 of the first network switch 121 may receive the packet (S340).

(vii) 다음으로, 본 발명의 일 실시예에 따르면, 제1 네트워크 스위치(121)의 패킷 처리부(220)는 과부하가 감지된 후 제1 네트워크 스위치(121)로 전송된 패킷이 소정의 조건에 부합하면 전송된 패킷을 네트워크 스위치에 인접한 이웃 네트워크 스위치인 제2 네트워크 스위치(122)로 바이패스할 수 있다(S350).(vii) Next, in accordance with an embodiment of the present invention, the packet processing unit 220 of the first network switch 121 determines whether a packet transmitted to the first network switch 121 after an overload is detected, If so, the transmitted packet can be bypassed to the second network switch 122, which is a neighboring network switch adjacent to the network switch (S350).

본 발명의 일 실시예에 따르면, 제1 네트워크 스위치(121)의 패킷 처리부(220)는, 바이패스 정보가 세트되었고 제1 네트워크 스위치(121)로 전송된 패킷이 소정의 조건에 부합하면, 전송된 패킷을 네트워크 스위치에 인접한 이웃 네트워크 스위치인 제2 네트워크 스위치(122)로 바이패스할 수 있다.According to an embodiment of the present invention, when the packet information is set in the packet processing unit 220 of the first network switch 121 and the packet transmitted to the first network switch 121 meets a predetermined condition, Lt; / RTI > to the second network switch 122, which is a neighboring network switch adjacent to the network switch.

본 발명의 일 실시예에 따르면, 전술된 소정의 조건은 제1 네트워크 스위치(121)가 자체적으로 패킷의 경로를 확정하지 못하는 상태를 의미할 수 있다. 제1 네트워크 스위치(121)의 패킷 처리부(220)는 과부하가 감지된 후 제1 네트워크 스위치(121)로 전송된 패킷에 대해서 제1 네트워크 스위치(121)가 단독으로 패킷의 경로를 확정하지 못하는 상태이면 패킷을 제1 네트워크 스위치(121)에 인접한 이웃 네트워크 스위치인 제2 네트워크 스위치(122)로 바이패스할 수 있다.According to one embodiment of the present invention, the predetermined condition described above may mean a state in which the first network switch 121 can not determine the path of the packet itself. The packet processing unit 220 of the first network switch 121 determines that the first network switch 121 can not determine the path of the packet solely for the packet transmitted to the first network switch 121 after the overload is detected , The packet may be bypassed to the second network switch 122, which is a neighboring network switch adjacent to the first network switch 121.

본 발명의 일 실시예에 따르면, 패킷의 경로를 확정하기 위해서는, 제1 네트워크 스위치(121) 외의 다른 장치와의 상호작용(interaction)이 요구될 수 있다. 예를 들면, 패킷의 경로의 확정은 제1 네트워크 스위치(121)를 제어하는 네트워크 제어기(110)로의 업콜을 요구할 수 있다. 예를 들면, 제1 네트워크 스위치(121)의 패킷 처리부(220)는 제1 네트워크 스위치(121)의 플로우 테이블에 전송된 패킷에 매치되는 플로우 엔트리가 존재하지 않는 경우 전송된 패킷을 이웃 네트워크 스위치로 바이패스할 수 있다. 제1 네트워크 스위치(121)의 플로우 테이블에 전송된 패킷에 매치되는 플로우 엔트리가 존재하지 않으면 제1 네트워크 스위치(121)의 패킷 처리부(220)는 제1 네트워크 스위치(121)의 적어도 하나의 포트 중 패킷을 전송할 포트를 자체적으로 결정하지 못할 수 있다. 패킷을 전송할 포트의 결정을 위해서는 네트워크 제어기(110)로의 업콜이 요구되나, 전술된 것과 같이 제1 네트워크 스위치(121)는 과부하되었기 때문에 제1 네트워크 스위치(121)의 패킷 처리부(220)가 네트워크 제어기(110)로의 업콜 및 네트워크 제어기(110)로부터의 업콜에 대한 응답을 처리할 경우 패킷의 처리 또는 도달이 지연될 수 있고, 경우에 따라서는 패킷이 손상될 수도 있다. 따라서, 제1 네트워크 스위치(121)의 패킷 처리부(220)는 전송된 패킷을 바로 이웃 네트워크 스위치로 바이패스함으로써 제1 네트워크 스위치(121)의 과부하가 패킷의 처리에 미치는 영향을 감소시킬 수 있다.In accordance with one embodiment of the present invention, interaction with other devices other than the first network switch 121 may be required to determine the path of the packet. For example, the determination of the path of the packet may require an upcall to the network controller 110 that controls the first network switch 121. [ For example, the packet processing unit 220 of the first network switch 121 transmits the transmitted packet to the neighboring network switch when there is no flow entry matching the packet transmitted to the flow table of the first network switch 121 You can bypass. If there is no flow entry matched to the packet transmitted to the flow table of the first network switch 121, the packet processing unit 220 of the first network switch 121 transmits the packet to the first network switch 121, It may not be able to determine the port to which the packet is to be transmitted. The packet processing unit 220 of the first network switch 121 is connected to the network controller 110 because the first network switch 121 is overloaded as described above, The processing or arrival of the packet may be delayed, and in some cases, the packet may be corrupted when the upcall to the network controller 110 and the response to the upcall from the network controller 110 are processed. Accordingly, the packet processing unit 220 of the first network switch 121 can reduce the influence of the overload of the first network switch 121 on the processing of the packet by bypassing the transmitted packet directly to the neighboring network switch.

본 발명의 일 실시예에 따르면, 바이패스되는 패킷의 데이터는 제1 네트워크 스위치(121)로 전송된 패킷의 데이터와 동일할 수 있다. 또한, 제1 네트워크 스위치(121)의 패킷 처리부(220)는 제2 네트위크 스위치(122)로 패킷을 바이패스함에 있어서 패킷의 인바운드 포트의 정보를 포함시킬 수도 있다. 이웃 네트워크 스위치로 바이패스되는 패킷은 패킷의 인바운드 포트의 정보를 포함할 수도 있다. 인바운드 포트의 정보를 통해 패킷이 전송된 외부의 네트위크 또는 외부의 장치가 다른 네트워크 스위치에서도 식별될 수 있다. 말하자면, 패킷의 바이패스에 있어서, 제1 네트워크 스위치(121)의 패킷 처리부(220)는 패킷의 데이터를 동일하게 유지시킬 수 있으며, 패킷을 제어하기 위한 정보로서 인바운드 포트의 정보를 추가할 수 있다. 예를 들면, 제1 네트워크 스위치(121)의 패킷 처리부(220)에 의해 패킷의 헤더에 인바운드 포트를 나타내는 데이터가 추가될 수도 있다.According to an embodiment of the present invention, the data of the packet to be bypassed may be the same as the data of the packet transmitted to the first network switch 121. In addition, the packet processing unit 220 of the first network switch 121 may include the information of the inbound port of the packet in bypassing the packet to the second network switch 122. A packet that is bypassed to a neighboring network switch may include information of the inbound port of the packet. The information of the inbound port can be used to identify an external network or an external device to which the packet is transmitted from another network switch. In other words, in the bypass of the packet, the packet processing unit 220 of the first network switch 121 can keep the data of the packet the same and can add information of the inbound port as information for controlling the packet . For example, data indicating the inbound port may be added to the header of the packet by the packet processing unit 220 of the first network switch 121. [

(viii) 다음으로, 본 발명의 일 실시예에 따르면, 패킷이 바이패스되면 제2 네트워크 스위치(122)의 패킷 처리부(220)는 패킷의 처리를 수행할 수 있다(S355). 패킷의 처리는 패킷의 포워딩을 포함할 수 있으며, 필요한 경우 패킷의 처리를 위한 네트워크 제어기(110)로의 업콜 및 네트워크 제어기(110)로부터의 업콜에 대한 응답을 포함할 수 있다.(viii) Next, according to an embodiment of the present invention, when the packet is bypassed, the packet processing unit 220 of the second network switch 122 may perform processing of the packet (S355). The processing of the packet may include forwarding of the packet and may include an upcall to the network controller 110 for processing of the packet if necessary and a response to the upcall from the network controller 110.

본 발명의 일 실시예에 따르면, 제2 네트워크 스위치(122)의 패킷 처리부(220)는 패킷을 처리함에 있어서 패킷에 포함된 인바운드 포트의 정보를 사용할 수도 있다. 예를 들면, 제2 네트워크 스위치(122)의 패킷 처리부(220)는 인바운드 포트의 정보를 사용하여 패킷의 전송에 있어서의 루프(Loop)를 방지할 수도 있다. 제2 네트워크 스위치(122)는 제2 네트워크 스위치(122)의 플로우 테이블에 따른 패킷의 경로가 패킷에 포함된 인바운드 포트를 포함할 경우, 제1 네트워크 스위치(121)의 인바운드 포트로의 루프를 피하는 새로운 경로를 설정하기 위해 패킷의 전송의 설정에 대한 업콜을 네트워크 제어기(110)로 전송할 수도 있다. 네트워크 제어기(110)는 제1 네트워크 스위치(121)에서의 바이패스를 반영하여 패킷의 전송을 위한 설정 정보를 생성할 수 있다. 설정 정보는 플로우 테이블의 플로우 엔트리일 수 있다. 네트워크 제어기(110)는 패킷의 바이패스 등을 고려하여 패킷의 경로를 생성할 수 있고, 패킷의 경로를 생성함에 있어서 패킷의 인바운드 포트의 정보를 참조할 수도 있다. 또한, 네트워크 제어기(110)는 생성된 경로에 따른 플로우 엔트리를 생성할 수 있다. 플로우 엔트리는 생성된 경로에 따라 패킷을 포워딩하기 위한 정보를 포함할 수 있다. 네트워크 제어기(110)는 업콜에 대한 응답으로서 설정 정보를 제2 네트워크 스위치(122)로 전송할 수 있다.According to an embodiment of the present invention, the packet processing unit 220 of the second network switch 122 may use the information of the inbound port included in the packet in processing the packet. For example, the packet processing unit 220 of the second network switch 122 may use the information of the inbound port to prevent a loop in transmission of the packet. The second network switch 122 is configured to avoid a loop to the inbound port of the first network switch 121 when the path of the packet according to the flow table of the second network switch 122 includes the inbound port included in the packet And may transmit an upcall for the setting of the transmission of the packet to the network controller 110 in order to establish a new path. The network controller 110 may generate configuration information for transmission of the packet by reflecting the bypass in the first network switch 121. [ The setting information may be a flow entry of the flow table. The network controller 110 may generate a packet path in consideration of bypass of a packet or the like and may refer to information of an inbound port of the packet in generating a packet path. In addition, the network controller 110 may generate a flow entry according to the generated route. The flow entry may include information for forwarding the packet according to the generated path. The network controller 110 may send configuration information to the second network switch 122 in response to the upcall.

본 발명의 일 실시예에 따르면, 제2 네트워크 스위치(122)는 제1 네트워크 스위치(121)에 인접한 네트워크 스위치들 중 가장 낮은 부하를 갖는 네트워크 스위치일 수 있고, 과부화되지 않았다고 가정될 수 있다. 따라서, 바이패스를 통해, 패킷의 처리가 제2 네트워크 스위치(122)에서 수행됨에 따라 패킷의 지연 또는 손실이 방지될 수 있으며 나아가 패킷에 대한 QoS가 보장될 수 있다.According to one embodiment of the present invention, the second network switch 122 may be a network switch having the lowest load among the network switches adjacent to the first network switch 121, and may be assumed not to be overloaded. Thus, through the bypass, the processing of the packet is performed in the second network switch 122, so that the delay or loss of the packet can be prevented, and further QoS for the packet can be guaranteed.

본 발명의 일 실시예에 따르면, 전술된 단계들(S340 및 S350)은 제1 네트워크 스위치(121)의 과부하가 감지되고, 패킷이 제1 네트워크 스위치(121)로 전송됨에 따라 반복해서 수행될 수 있다. 말하자면, 전술된 단계들(S340 및 S350)의 반복을 통해 제1 네트워크 스위치(121)로의 플로우(또는, 트래픽(Traffic))들 중 업콜의 대상인 플로우는 이웃 네트워크 스위치인 제2 네트워크 스위치(122)로 바이패스될 수 있고, 제2 네트워크 스위치(122)가 바이패스된 플로우에 대한 처리를 수행할 수 있다.According to an embodiment of the present invention, the above-described steps S340 and S350 can be repeatedly performed as an overload of the first network switch 121 is detected and the packet is transmitted to the first network switch 121 have. That is to say, the flow of the flow (or traffic) to the first network switch 121 through the repetition of the above-described steps S340 and S350 is the flow of the uplink to the second network switch 122, which is the neighboring network switch, And the second network switch 122 can perform processing for the bypassed flow.

본 발명의 일 실시예에 따르면, 제1 네트워크 스위치(121)의 과부하 상태가 해제되면 아래에서 설명될 단계들이 수행될 수 있다.According to an embodiment of the present invention, when the overload state of the first network switch 121 is released, the steps described below can be performed.

(ix) 다음으로, 본 발명의 일 실시예에 따르면, 제1 네트워크 스위치(121)의 과부하 검출부(210)는 제1 네트워크 스위치(121)의 과부하 상태의 해제를 감지할 수 있다(S360). 제1 네트워크 스위치(121)의 과부하 검출부(210)는 제1 네트워크 스위치(121)의 부하(Load)가 임계치(Threshold)의 아래로 떨어진 경우 제1 네트워크 스위치(121)의 과부화 상태가 해제된 것으로 판단할 수 있다.(ix) Next, according to an embodiment of the present invention, the overload detection unit 210 of the first network switch 121 may sense the release of the overload state of the first network switch 121 (S360). When the load of the first network switch 121 falls below the threshold value, the overload detecting unit 210 of the first network switch 121 determines that the overload state of the first network switch 121 is released It can be judged.

본 발명의 일 실시예에 따르면, 네트워크 스위치의 과부하 상태의 해제의 감지를 위해, 네트워크 스위치의 CPU의 사용량, 네트워크 스위치와 네트워크 제어기 간의 혼잡 및 네트워크 스위치의 플로우 테이블 내의 플로우 엔트리의 개수 또는 비율 등이 참조될 수 있다. 제1 네트워크 스위치(121)의 과부하 검출부(210)는 제1 네트워크 스위치(121)의 CPU의 사용량, 제1 네트워크 스위치(121)와 네트워크 제어기(110) 간의 혼잡 및 제1 네트워크 스위치(121)의 플로우 테이블 내의 플로우 엔트리의 개수 또는 비율 중 적어도 하나에 기반하여 제1 네트워크 스위치(121)의 과부하 상태의 해제를 감지할 수 있다. 예를 들면, 제1 네트워크 스위치(121)의 과부하 검출부(210)는 제1 네트워크 스위치(121)의 CPU의 사용량이 소정의 값 이하인 경우 제1 네트워크 스위치(121)의 과부하 상태가 해제된 것으로 판단할 수 있다. 또한, 제1 네트워크 스위치(121)의 과부하 검출부(210)는 제1 네트워크 스위치(121)와 네트워크 제어기(110) 간의 혼잡이 소정의 정도 이하인 경우 제1 네트워크 스위치(121)의 과부하 상태가 해제된 것으로 판단할 수 있다. 또한, 제1 네트워크 스위치(121)의 과부하 검출부(210)는 제1 네트워크 스위치(121)의 플로우 테이블 내의 플로우 엔트리의 개수 또는 비율이 소정의 값 이하인 경우 제1 네트워크 스위치(121)의 과부하 상태가 해제된 것으로 판단할 수 있다.In accordance with one embodiment of the present invention, the amount of CPU usage of the network switch, the congestion between the network switch and the network controller, and the number or ratio of flow entries in the flow table of the network switch, etc., Can be referenced. The overload detection unit 210 of the first network switch 121 detects the usage amount of the CPU of the first network switch 121 and the usage amount of the CPU of the first network switch 121, Based on at least one of the number or the ratio of the flow entries in the flow table, the release of the overload state of the first network switch 121 can be detected. For example, the overload detection unit 210 of the first network switch 121 determines that the overload state of the first network switch 121 is released when the usage amount of the CPU of the first network switch 121 is less than a predetermined value can do. If the overload state of the first network switch 121 is released when the congestion between the first network switch 121 and the network controller 110 is below a predetermined level, the overload detection unit 210 of the first network switch 121 . The overload detection unit 210 of the first network switch 121 may determine that the overload state of the first network switch 121 is abnormal when the number or ratio of the flow entries in the flow table of the first network switch 121 is less than a predetermined value It can be judged that it has been released.

(x) 다음으로, 본 발명의 일 실시예에 따르면, 과부하 상태의 해제가 감지되면 제1 네트워크 스위치(121)의 데이터 경로에 대하여 바이패스 정보가 삭제될 수 있다. 가령, 제1 네트워크 스위치(121)의 과부하 검출부(210)는 제1 네트워크 스위치(121)의 데이터 경로에 대하여 바이패스 정보를 삭제할 수 있다(S365). 또는, 제1 네트워크 스위치(121)의 패킷 처리부(220)에 의해서도 바이패스 정보의 세트가 수행될 수 있다. 바이패스 정보의 삭제는 제1 네트워크 스위치(121)의 과부하 상태가 해제되었고, 제1 네트워크 스위치(121)가 과부하되지 않았다는 것을 나타낼 수 있다. 바이패스 정보의 삭제로 인해 제1 네트워크 스위치(121)는 패킷의 처리에 있어서의 일반적인 동작을 수행할 수 있다.(x) Next, according to an embodiment of the present invention, when the release of the overload state is detected, the bypass information for the data path of the first network switch 121 can be deleted. For example, the overload detection unit 210 of the first network switch 121 may delete the bypass information for the data path of the first network switch 121 (S365). Alternatively, the packet processing unit 220 of the first network switch 121 may also perform a set of bypass information. Deletion of the bypass information may indicate that the overload state of the first network switch 121 has been released and that the first network switch 121 has not been overloaded. Due to the deletion of the bypass information, the first network switch 121 can perform the general operation in the processing of the packet.

(xi) 다음으로, 본 발명의 일 실시예에 따르면, 제1 네트워크 스위치(121)의 패킷 처리부(220)는 패킷을 수신할 수 있다(S370). 단계(S340)에서 수신된 패킷은 단계(S340)에서 수신된 패킷과 동일한 플로우의 패킷일 수 있다. 예를 들면, 단계(S340)에서 수신된 패킷 및 단계(S340)에서 수신된 패킷은 발신지(Source) 및 목적지(Destination)가 동일한 장치 또는 동일한 네트워크인 패킷들일 수 있고, 또는 목적지가 동일한 장치 또는 동일한 네트워크인 패킷들일 수 있다.(xi) Next, according to an embodiment of the present invention, the packet processing unit 220 of the first network switch 121 may receive the packet (S370). The packet received in step S340 may be a packet of the same flow as the packet received in step S340. For example, the packet received in step S340 and the packet received in step S340 may be packets in which the source and destination are the same device or the same network, or the destination is the same device or the same device Network. ≪ / RTI >

(xii) 다음으로, 본 발명의 일 실시예에 따르면, 제1 네트워크 스위치(121)의 패킷 처리부(220)는 과부하 상태의 해제가 감지되고, 전송된 패킷이 소정의 조건에 부합하면 패킷의 전송의 설정에 대한 업콜을 제1 네트워크 스위치(121)를 제어하는 네트워크 제어기(110)로 전송할 수 있다(S380). 여기에서, 패킷의 전송의 설정이란, 패킷이 해당하는 플로우의 셋업일 수 있으며, 패킷에 매치되는 플로우 엔트리를 추가하는 것일 수 있다.(xii) Next, according to an embodiment of the present invention, the packet processing unit 220 of the first network switch 121 detects the release of the overload state, and if the transmitted packet meets a predetermined condition, To the network controller 110 that controls the first network switch 121 (S380). Here, the setting of transmission of a packet may be that the packet is a setup of the corresponding flow, and adding a flow entry matching the packet.

본 발명의 일 실시예에 따르면, 전술된 소정의 조건은 제1 네트워크 스위치(121)가 단독으로 패킷의 경로를 확정하지 못하는 상태를 의미할 수 있다. 예를 들면, 전술된 소정의 조건은 전송된 패킷을 위해 제1 네트워크 스위치(121)를 제어하는 네트워크 제어기(110)로의 업콜이 요구되는 조건을 포함할 수 있다. 예를 들면, 제1 네트워크 스위치(121)의 패킷 처리부(220)는 제1 네트워크 스위치(121)의 플로우 테이블에 전송된 패킷에 매치되는 플로우 엔트리가 존재하지 않는 경우 패킷의 전송의 설정에 대한 업콜을 네트워크 제어기(110)로 전송할 수 있다.According to one embodiment of the present invention, the predetermined condition described above may mean a state in which the first network switch 121 can not determine the path of the packet alone. For example, the predetermined condition described above may include a condition requiring an upcall to the network controller 110 to control the first network switch 121 for the transmitted packet. For example, the packet processing unit 220 of the first network switch 121 determines whether or not there is a flow entry matched with the packet transmitted to the flow table of the first network switch 121, To the network controller (110).

(xiii) 다음으로, 본 발명의 일 실시예에 따르면, 네트워크 제어기(110)는 패킷의 전송을 위한 설정 정보를 생성할 수 있다(S385). 설정 정보는 플로우 테이블의 플로우 엔트리일 수 있다. 네트워크 제어기(110)는 네트워크 토폴로지 등을 고려하여 패킷의 최적 경로를 생성할 수 있고, 패킷의 최적 경로를 생성함에 있어서 패킷의 인바운드 포트의 정보를 참조할 수도 있다. 또한, 네트워크 제어기(110)는 생성된 최적 경로에 따른 플로우 엔트리를 생성할 수 있다. 플로우 엔트리는 생성된 최적 경로에 따라 패킷을 포워딩하기 위한 정보를 포함할 수 있다. 생성된 최적 경로는 과부하 상태가 해제된 제1 네트워크 스위치(121)를 포함할 수 있다.(xiii) Next, according to an embodiment of the present invention, the network controller 110 may generate setting information for transmission of a packet (S385). The setting information may be a flow entry of the flow table. The network controller 110 may generate an optimal path of a packet in consideration of a network topology or the like, and may refer to information of an inbound port of a packet in generating an optimal path of the packet. In addition, the network controller 110 may generate a flow entry according to the generated optimal route. The flow entry may include information for forwarding the packet according to the generated optimal path. The generated optimal path may include the first network switch 121 in which the overload state is released.

(xiv) 다음으로, 본 발명의 일 실시예에 따르면, 네트워크 제어기(110)는 패킷의 전송의 설정에 대한 설정 정보를 제1 네트워크 스위치(121)로 전송할 수 있다(S390).(xiv) Next, according to an embodiment of the present invention, the network controller 110 may transmit setting information on the setting of transmission of the packet to the first network switch 121 (S390).

본 발명의 일 실시예에 따르면, 제1 네트워크 스위치(121)의 과부하 상태의 해제에 따라 생성된 최적 경로는 이전에 패킷에 대해 정의되었던 경로와는 다를 수도 있다. 또한, 제1 네트워크 스위치(121) 외의 다른 네트워크 스위치들은 패킷에 대해 현재의 최적 경로와는 다른 경로의 플로우 엔트리를 가지고 있을 수 있다. 따라서, 네트워크 제어기(110)는 생성된 설정 정보가 패킷에 대한 이전의 경로 또는 플로우 엔트리와 상이할 경우, 생성된 설정 정보를 제2 네트워크 스위치(122)와 같은 복수의 네트워크 스위치들로 전송할 수도 있다.According to one embodiment of the present invention, the optimal path generated in accordance with the release of the overload state of the first network switch 121 may be different from the path previously defined for the packet. In addition, other network switches other than the first network switch 121 may have a flow entry for the packet that is different from the current optimal path. Thus, the network controller 110 may transmit the generated configuration information to a plurality of network switches, such as the second network switch 122, if the generated configuration information differs from the previous path or flow entry for the packet .

(xv) 다음으로, 본 발명의 일 실시예에 따르면, 제1 네트워크 스위치(121)의 패킷 처리부(220)는 설정 정보를 사용하여 패킷의 처리를 수행할 수 있다(S395).(xv) Next, according to an embodiment of the present invention, the packet processing unit 220 of the first network switch 121 may perform the processing of the packet using the setting information (S395).

본 발명의 일 실시예에 따르면, 설정 정보는 패킷에 대한 플로우 엔트리를 포함할 수 있다. 말하자면, 전송된 플로우 엔트리는 패킷에 매치될 수 있고, 제1 네트워크 스위치(121)의 패킷 처리부(220)는 플로우 엔트리의 액션에 따라 패킷 포워딩과 같은 패킷의 처리를 수행할 수 있다.According to one embodiment of the invention, the configuration information may comprise a flow entry for the packet. That is to say, the transmitted flow entry can be matched to the packet, and the packet processing unit 220 of the first network switch 121 can perform the processing of the packet, such as packet forwarding, according to the action of the flow entry.

이상 설명된 본 발명에 따른 실시예들은 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The embodiments of the present invention described above can be implemented in the form of program instructions that can be executed through various computer components and recorded on a computer-readable recording medium. The computer-readable recording medium may include program commands, data files, data structures, and the like, alone or in combination. The program instructions recorded on the computer-readable recording medium may be those specially designed and constructed for the present invention or may be those known to those skilled in the art of computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks and magnetic tape, optical recording media such as CD-ROMs and DVDs, magneto-optical media such as floptical disks, media, and hardware devices specifically 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 device may be configured to operate as one or more software modules for performing the processing according to the present invention, and vice versa.

이상에서 본 발명이 구체적인 구성요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명이 상기 실시예들에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형을 꾀할 수 있다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments, but, on the contrary, Those skilled in the art will appreciate that various modifications, additions and substitutions are possible, without departing from the scope and spirit of the invention as disclosed in the accompanying claims.

따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등하게 또는 등가적으로 변형된 모든 것들은 본 발명의 사상의 범주에 속한다고 할 것이다.Therefore, the spirit of the present invention should not be construed as being limited to the above-described embodiments, and all of the equivalents or equivalents of the claims, as well as the following claims, I will say.

110: 네트워크 제어기
121: 제1 네트워크 스위치
122: 제2 네트워크 스위치
123: 제3 네트워크 스위치
124: 제4 네트워크 스위치
200: 네트워크 스위치
210: 과부하 검출부
220: 패킷 처리부
230: 저장부
110: Network controller
121: first network switch
122: second network switch
123: third network switch
124: fourth network switch
200: Network switch
210: Overload detection unit
220:
230:

Claims (20)

네트워크 스위치의 패킷 처리 방법으로서,
(a) 상기 네트워크 스위치가, 상기 네트워크 스위치의 과부하 여부를 감지하는 단계; 및
(b) 상기 네트워크 스위치가 과부하인 것으로 감지된 상태에서, 상기 네트워크 스위치가 상기 네트워크 스위치에 전송된 소정의 패킷의 경로를 단독으로 확정하지 못하는 상태이면, 상기 패킷을 상기 네트워크 스위치에 인접한 이웃 네트워크 스위치로 바이패스하는 단계
를 포함하고,
상기 (b) 단계는,
상기 네트워크 스위치가 과부하인 것으로 감지된 상태에서, 상기 네트워크 스위치의 플로우 테이블에 상기 전송된 소정의 패킷에 매치되는 플로우 엔트리가 존재하지 않는 경우, 상기 네트워크 스위치는 상기 네트워크 스위치를 제어하는 네트워크 제어기에 업콜을 요구하지 않고 상기 이웃 네트워크 스위치로 상기 전송된 소정의 패킷을 바이패스하여, 상기 이웃 네트워크 스위치가 상기 네트워크 제어기로 직접 업콜을 요구하여 상기 네트워크 제어기로부터 상기 경로를 확정받아 상기 확정된 경로를 통해 상기 패킷을 전송하도록 지원하는 것을 특징으로 하는 패킷 처리 방법.
A packet processing method of a network switch,
(a) detecting whether the network switch is overloaded; And
(b) if the network switch is detected as overloaded and the network switch is unable to determine solely the path of a predetermined packet transmitted to the network switch, the packet is transmitted to a neighboring network switch By-
Lt; / RTI >
The step (b)
When there is no flow entry matched with the transmitted predetermined packet in the flow table of the network switch in a state where the network switch is detected as being overloaded, the network switch transmits, to the network controller controlling the network switch, Bypassing the transmitted predetermined packet to the neighboring network switch, the neighboring network switch requests the uplink directly to the network controller, confirms the path from the network controller, And the packet is transmitted to the destination.
삭제delete 삭제delete 제1항에 있어서,
상기 (a) 단계에서,
상기 네트워크 스위치는 상기 네트워크 스위치의 중앙처리장치의 사용량, 상기 네트워크 스위치와 네트워크 제어기 간의 혼잡 및 상기 네트워크 스위치의 플로우 테이블 내의 플로우 엔트리의 개수 또는 비율 중 적어도 하나에 기반하여 상기 과부하를 감지하는 것을 특징으로 하는 패킷 처리 방법.
The method according to claim 1,
In the step (a)
Wherein the network switch detects the overload based on at least one of a usage amount of the central processing unit of the network switch, a congestion between the network switch and a network controller, and a number or ratio of flow entries in the flow table of the network switch. Lt; / RTI >
삭제delete 제1항에 있어서,
상기 이웃 네트워크 스위치는 상기 복수의 네트워크 스위치들의 각 네트워크 스위치의 트래픽 통계 값, 중앙처리장치의 사용량 및 플로우 테이블 내의 플로우 엔트리의 개수 또는 비율 중 적어도 하나에 기반하여 선택되는 것을 특징으로 하는 방법.
The method according to claim 1,
Wherein the neighboring network switch is selected based on at least one of a traffic statistic value of each network switch of the plurality of network switches, a usage amount of the central processing unit, and a number or ratio of flow entries in the flow table.
제1항에 있어서,
상기 (b) 단계에서,
상기 이웃 네트워크 스위치로 바이패스되는 패킷은 상기 패킷의 인바운드 포트의 정보를 포함하는 것을 특징으로 하는 방법.
The method according to claim 1,
In the step (b)
Wherein a packet bypassed to the neighboring network switch includes information of an inbound port of the packet.
제1항에 있어서,
상기 (b) 단계 이후에,
(c) 상기 네트워크 스위치가, 상기 과부하 상태의 해제를 감지하는 단계;
(d) 상기 네트워크 스위치가, 상기 과부하 상태의 해제를 감지한 후 패킷의 경로의 설정에 대한 업콜을 상기 네트워크 스위치를 제어하는 네트워크 제어기로 전송하는 단계; 및
(e) 상기 네트워크 스위치가, 상기 네트워크 제어기로부터 상기 패킷의 경로의 설정에 대한 정보를 수신하는 단계
를 포함하는 것을 특징으로 하는 방법.
The method according to claim 1,
After the step (b)
(c) the network switch detecting a release of the overload state;
(d) after the network switch detects the release of the overload state, transmitting an upcall for setting a path of a packet to a network controller controlling the network switch; And
(e) receiving, by the network switch, information on the setting of the path of the packet from the network controller
≪ / RTI >
제1항, 제4항, 제6항 내지 제8항 중 어느 한 항에 따른 방법을 실행하기 위한 컴퓨터 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체.A computer-readable recording medium having recorded thereon a computer program for executing the method according to any one of claims 1, 4, 6 to 8. 네트워크 스위치에 있어서,
상기 네트워크 스위치의 과부하를 감지하는 과부하 검출부; 및
상기 네트워크 스위치가 과부하인 것으로 감지된 상태에서, 상기 네트워크 스위치가 상기 네트워크 스위치에 전송된 소정의 패킷의 경로를 단독으로 확정하지 못하는 상태이면, 상기 패킷을 상기 네트워크 스위치에 인접한 이웃 네트워크 스위치로 바이패스하는 패킷 처리부
를 포함하고,
상기 네트워크 스위치가 과부하인 것으로 감지된 상태에서, 상기 네트워크 스위치의 플로우 테이블에 상기 전송된 소정의 패킷에 매치되는 플로우 엔트리가 존재하지 않는 경우,
상기 패킷 처리부는,
상기 네트워크 스위치를 제어하는 네트워크 제어기에 업콜을 요구하지 않고 상기 이웃 네트워크 스위치로 상기 전송된 소정의 패킷을 바이패스하여, 상기 이웃 네트워크 스위치가 상기 네트워크 제어기로 직접 업콜을 요구하여 상기 네트워크 제어기로부터 상기 경로를 확정받아 상기 확정된 경로를 통해 상기 패킷을 전송하도록 지원하는 것을 특징으로 하는 네트워크 스위치.
A network switch comprising:
An overload detector for detecting an overload of the network switch; And
If it is determined that the network switch is overloaded and the network switch is unable to independently determine a path of a predetermined packet transmitted to the network switch, the packet is bypassed to a neighboring network switch adjacent to the network switch, a packet processing unit for
Lt; / RTI >
When there is no flow entry matched with the transmitted predetermined packet in the flow table of the network switch while the network switch is detected as being overloaded,
The packet processing unit,
Bypassing the transmitted predetermined packet to the neighboring network switch without requiring an upcall to the network controller controlling the network switch so that the neighboring network switch requests the network controller to upcall directly, And to transmit the packet through the determined path.
삭제delete 삭제delete 제10항에 있어서,
상기 과부하 검출부는,
상기 네트워크 스위치의 중앙처리장치의 사용량, 상기 네트워크 스위치와 네트워크 제어기 간의 혼잡 및 상기 네트워크 스위치의 플로우 테이블 내의 플로우 엔트리의 개수 또는 비율 중 적어도 하나에 기반하여 상기 과부하를 감지하는 것을 특징으로 하는 네트워크 스위치.
11. The method of claim 10,
The overload detection unit includes:
Wherein the network switch detects the overload based on at least one of a usage amount of the central processing unit of the network switch, a congestion between the network switch and a network controller, and a number or ratio of flow entries in the flow table of the network switch.
삭제delete 제10항에 있어서,
상기 이웃 네트워크 스위치는,
상기 복수의 네트워크 스위치들의 각 네트워크 스위치의 트래픽 통계 값, 중앙처리장치의 사용량 및 플로우 테이블 내의 플로우 엔트리의 개수 또는 비율 중 적어도 하나에 기반하여 선택되는 것을 특징으로 하는 네트워크 스위치.
11. The method of claim 10,
Wherein the neighboring network switch comprises:
Wherein the network switch is selected based on at least one of a traffic statistic value of each network switch of the plurality of network switches, a usage amount of the central processing unit, and a number or ratio of flow entries in the flow table.
제10항에 있어서,
상기 이웃 네트워크 스위치로 바이패스되는 패킷은 상기 패킷의 인바운드 포트의 정보를 포함하는 것을 특징으로 하는 네트워크 스위치.
11. The method of claim 10,
Wherein a packet bypassed to the neighboring network switch includes information of an inbound port of the packet.
제10항에 있어서,
상기 과부하 검출부는,
상기 과부하 상태의 해제를 감지하고,
상기 패킷 처리부는,
상기 과부하 상태의 해제를 감지한 후 패킷의 경로의 설정에 대한 업콜을 상기 네트워크 스위치를 제어하는 네트워크 제어기로 전송하고, 상기 네트워크 제어기로부터 상기 패킷의 경로의 설정에 대한 정보를 수신하는 것을 특징으로 하는 네트워크 스위치.
11. The method of claim 10,
The overload detection unit includes:
Detects the release of the overload state,
The packet processing unit,
Wherein the controller detects an overload state and transmits an upcall for setting a path of a packet to a network controller that controls the network switch and receives information on a path setting of the packet from the network controller, Network switch.
복수의 네트워크 스위치들, 및
네트워크 제어기
를 포함하고,
상기 복수의 네트워크 스위치들 중 제1 네트워크 스위치는 상기 제1 네트워크 스위치의 과부하 여부를 감지하고, 상기 제1 네트워크 스위치가 과부하인 것으로 감지된 상태에서, 상기 제1 네트워크 스위치의 플로우 테이블에 상기 제1 네트워크 스위치에 전송된 소정의 패킷에 매치되는 플로우 엔트리가 존재하지 않는 경우, 상기 제1 네트워크 스위치는 상기 제1 네트워크 스위치를 제어하는 상기 네트워크 제어기에 업콜을 요구하지 않고 상기 전송된 소정의 패킷을 제2 네트워크 스위치로 바이패스하여, 상기 제2 네트워크 스위치가 상기 네트워크 제어기로 직접 업콜을 요구하여 상기 네트워크 제어기로부터 상기 경로를 확정받아 상기 확정된 경로를 통해 상기 패킷을 전송하도록 지원하는 것을 특징으로 하는 시스템.
A plurality of network switches, and
Network controller
Lt; / RTI >
Wherein the first network switch of the plurality of network switches senses whether the first network switch is overloaded and, in a state where the first network switch is detected as being overloaded, When there is no flow entry matched with a predetermined packet transmitted to the network switch, the first network switch does not request the network controller that controls the first network switch, 2 network switch to allow the second network switch to directly request the uplink to the network controller to confirm the path from the network controller and to transmit the packet over the determined path. .
삭제delete 제18항에 있어서,
상기 제1 네트워크 스위치가 상기 과부하 상태의 해제를 감지한 경우, 상기 제1 네트워크 스위치는, 상기 패킷의 경로의 설정에 대한 업콜을 상기 네트워크 제어기로 전송하고, 상기 네트워크 제어기로부터 상기 패킷의 경로의 설정에 대한 정보를 수신하는 것을 특징으로 하는 시스템.
19. The method of claim 18,
When the first network switch detects the release of the overload state, the first network switch transmits to the network controller an upcall for the setting of the path of the packet, and sets the path of the packet from the network controller Lt; RTI ID = 0.0 > 1, < / RTI >
KR1020150012395A 2015-01-26 2015-01-26 Method, appratus, system and computer-readable recording medium for adjusting flow against overload KR101554477B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150012395A KR101554477B1 (en) 2015-01-26 2015-01-26 Method, appratus, system and computer-readable recording medium for adjusting flow against overload

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150012395A KR101554477B1 (en) 2015-01-26 2015-01-26 Method, appratus, system and computer-readable recording medium for adjusting flow against overload

Publications (1)

Publication Number Publication Date
KR101554477B1 true KR101554477B1 (en) 2015-09-21

Family

ID=54248737

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150012395A KR101554477B1 (en) 2015-01-26 2015-01-26 Method, appratus, system and computer-readable recording medium for adjusting flow against overload

Country Status (1)

Country Link
KR (1) KR101554477B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013075874A1 (en) * 2011-11-25 2013-05-30 Alcatel Lucent Method of promoting a quick data flow of data packets in a communication network, communication network and data processing unit

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013075874A1 (en) * 2011-11-25 2013-05-30 Alcatel Lucent Method of promoting a quick data flow of data packets in a communication network, communication network and data processing unit

Similar Documents

Publication Publication Date Title
EP2974138B1 (en) Method, computer program product and physical network node, with a management engine and an asic
JP5233504B2 (en) Route control apparatus and packet discarding method
EP2817928B1 (en) Controller placement for fast failover in the split architecture
US8832272B2 (en) Network system, control method for the same, and controller, using targeted relay processing devices
US8588072B2 (en) Switch network system, controller, and control method
US9391903B2 (en) Methods and apparatuses for distributed packet flow control
US9083657B2 (en) Flow communication system
US8953499B2 (en) Method and apparatus for establishing spanning trees
EP3588865B1 (en) Event ingestion management
KR101477012B1 (en) Method, apparatus, system and computer-readable recording medium for sdn switching
CN110557342B (en) Apparatus for analyzing and mitigating dropped packets
US10536379B2 (en) System and method for control traffic reduction between SDN controller and switch
US9608922B2 (en) Traffic control on an on-chip network
EP2822234A1 (en) Relay device, relay device control method, and network system
US10178017B2 (en) Method and control node for handling data packets
US10313238B2 (en) Communication system, communication method, and non-transitiory computer readable medium storing program
KR20160019651A (en) Apparatus and method for controlling transmission of data traffic
US9185038B2 (en) Technique for controlling a load state of a physical link carrying a plurality of virtual links
US8675669B2 (en) Policy homomorphic network extension
US10778568B2 (en) Switch-enhanced short loop congestion notification for TCP
KR20180058594A (en) Software Defined Network/Test Access Port Application
JP2020031363A (en) Communication control system, network controller and computer program
KR101554477B1 (en) Method, appratus, system and computer-readable recording medium for adjusting flow against overload
KR20160063158A (en) Network system based on sdn capable traffice distribution
KR20160139591A (en) Method and apparatus for routing

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20180903

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190916

Year of fee payment: 5