KR101614223B1 - Sdn 환경에서 플로우를 모니터링하는 방법 - Google Patents

Sdn 환경에서 플로우를 모니터링하는 방법 Download PDF

Info

Publication number
KR101614223B1
KR101614223B1 KR1020140178406A KR20140178406A KR101614223B1 KR 101614223 B1 KR101614223 B1 KR 101614223B1 KR 1020140178406 A KR1020140178406 A KR 1020140178406A KR 20140178406 A KR20140178406 A KR 20140178406A KR 101614223 B1 KR101614223 B1 KR 101614223B1
Authority
KR
South Korea
Prior art keywords
flow monitoring
flow
controller
monitoring
network device
Prior art date
Application number
KR1020140178406A
Other languages
English (en)
Other versions
KR20150068916A (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 주식회사 케이티
Publication of KR20150068916A publication Critical patent/KR20150068916A/ko
Application granted granted Critical
Publication of KR101614223B1 publication Critical patent/KR101614223B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/20Arrangements for monitoring or testing data switching networks the monitoring system or the monitored elements being virtualised, abstracted or software-defined entities, e.g. SDN or NFV
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/026Capturing of monitoring data using flow identification
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/28Timers or timing mechanisms used in protocols

Landscapes

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

Abstract

오픈 플로우 스위치를 이용하여 플로우를 적응적으로 모니터링하는 방법이 개시된다. 플로우 모니터링 방법은, 네트워크 장치를 제어하는 컨트롤러에서 수행되는 플로우 모니터링 방법에 있어서, 컨트롤러가 네트워크 장치로 플로우 모니터링의 수행 시간을 나타내는 타임 아웃 시간을 지정하여 플로우 모니터링을 요청하는 단계와; 컨트롤러가 타임 아웃 시간에 기반하여 네트워크 장치에 의해 수행된 플로우 모니터링 결과를 네트워크 장치로부터 수신하는 단계를 포함한다. 따라서, 플로우를 모니터링할 시간(기간) 및 플로우 모니터링의 방식을 적응적으로 결정함으로써, 플로우를 모니터링하는 스위치의 부하를 경감시킬 수 있다.

Description

SDN 환경에서 플로우를 모니터링하는 방법{METHOD FOR MONITORING FLOW IN SOFTWARE DEFINED NETWORKING ENVIRONMENT}
본 발명은 소프트웨어 정의 네트워킹 기술에 관한 것으로, 더욱 상세하게는 오픈 플로우 스위치를 이용하여 플로우를 적응적으로 모니터링하는 방법에 관한 것이다.
최근 들어, 네트워크 장치의 트래픽 포워딩 기능과 제어 기능을 분리하여 통신 시스템을 효율적으로 운용하는 기술에 대한 표준화가 ONF(Open Networking Foundation), IETF(Internet Engineering Task Force), ETSI ISG NFV(Network Function Virtualization) 및 ITU-T 등을 중심으로 진행되고 있다.
SDN(Software Defined Networking)은 라우터나 스위치 등의 기본 네트워크 장비에 관계없이 사용자가 통제 권한을 가지며, 별도의 소프트웨어 컨트롤러가 트래픽 흐름을 제어하는 사용자 중심의 네트워크를 의미한다. 따라서, SDN에서는 사용자가 컨트롤러를 통해 네트워크를 바라보고 제어하기 때문에 컨트롤러의 역할이 중요하다.
또한, SDN은 네트워크를 통해 데이터 패킷(packet)을 어떻게 전달할 것인지 제어하기 위한 기능(Control Plane)을 물리적 네트워크와 분리하여 데이터 전달 기능(Data Plane)과 상호작용 하기 위한 방법을 제안하고 있다.
한편, 컨트롤러는 데이터 전달 기능을 수행하는 스위치에 플로우에 대한 변화를 모니터링하도록 요청할 수 있고, 스위치는 컨트롤러의 요청에 따라 플로우에 대한 모니터링 상태를 유지하게 된다.
그러나, 이러한 방식은 이벤트 발생 시점이 불규칙하여 예측이 어려운 경우에는 유용하지만, 이벤트 발생 빈도가 낮은 상황에서는 모니터링 상태의 유지로 인해 스위치에 부하가 발생하는 문제점이 있다.
또한, 이벤트 발생 횟수(빈도)에 관계없이 플로우를 모니터링하기 때문에 네트워크 자원 사용이 비효율적인 문제점이 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은, SDN 환경에서 스위치를 통한 플로우 모니터링을 적응적으로 수행할 수 있는 플로우 모니터링 방법을 제공하는데 있다.
상기 목적을 달성하기 위한 본 발명의 실시예에 플로우 모니터링 방법은, 네트워크 장치를 제어하는 컨트롤러에서 수행되는 플로우 모니터링 방법에 있어서, 컨트롤러가 네트워크 장치로 플로우 모니터링의 수행 시간을 나타내는 타임 아웃 시간을 지정하여 플로우 모니터링을 요청하는 단계와; 컨트롤러가 타임 아웃 시간에 기반하여 네트워크 장치에 의해 수행된 플로우 모니터링 결과를 네트워크 장치로부터 수신하는 단계를 포함한다.
여기에서, 상기 플로우 모니터링 방법은, 컨트롤러가 네트워크 장치로부터 타임 아웃 시간의 만료에 따른 응답을 수신하는 단계를 더 포함할 수 있다.
여기에서, 상기 플로우 모니터링 방법은, 컨트롤러가 타임 아웃 시간의 만료에 따른 응답을 수신한 후, 플로우 모니터링을 계속 수행할 것인지 여부를 결정하는 단계와; 플로우 모니터링을 계속 수행하는 것으로 결정한 경우, 네트워크 장치로 플로우 모니터링의 수행 시간을 나타내는 타임 아웃 시간을 지정하여 플로우 모니터링을 재요청하고, 플로우 모니터링을 수행하지 않는 것으로 결정한 경우, 네트워크 장치로 플로우 모니터링을 취소 요청하는 단계를 더 포함할 수 있다.
상기 목적을 달성하기 위한 본 발명의 실시예에 따른 플로우 모니터링 방법은, 네트워크 장치를 제어하는 컨트롤러에서 수행되는 플로우 모니터링 방법에 있어서, 컨트롤러가 모니터링 대상 플로우에 대한 이벤트 발생 횟수에 기반하여 플로우 모니터링을 계속 수행할 것인지 여부를 결정하는 단계와; 컨트롤러가 플로우 모니터링을 수행하지 않는 것으로 결정한 경우, 네트워크 장치로 플로우 모니터링을 취소 요청하는 단계를 포함한다.
여기에서, 상기 플로우 모니터링을 계속 수행할 것인지 여부를 결정하는 단계는, 이벤트 발생 횟수가 제1 임계값 이하인 경우, 플로우 모니터링을 수행하지 않는 것으로 결정하고, 이벤트 발생 횟수가 제1 임계값을 초과한 경우, 플로우 모니터링을 계속 수행하는 것으로 결정할 수 있다.
여기에서, 상기 플로우 모니터링 방법은, 플로우 모니터링을 계속 수행하는 것으로 결정한 경우, 네트워크 장치로 플로우 모니터링의 모드를 지정하여 플로우 모니터링을 재요청하는 단계를 더 포함할 수 있다.
여기에서, 상기 플로우 모니터링의 모드는, 재요청을 받은 즉시 플로우 모니터링 결과를 응답하거나, 미리 설정된 주기로 플로우 모니터링 결과를 일괄하여 응답하도록 설정될 수 있다.
여기에서, 상기 플로우 모니터링 방법은, 플로우 모니터링을 계속 수행하는 것으로 결정한 경우에 있어, 재요청에 따른 플로우 모니터링 요청 횟수에 대한 이벤트 발생 횟수의 비율을 제2 임계값과 비교하는 단계를 더 포함할 수 있다.
여기에서, 상기 플로우 모니터링 방법은, 재요청에 따른 플로우 모니터링 요청 횟수에 대한 이벤트 발생 횟수의 비율이 제2 임계값 이하인 경우, 네트워크 장치로 플로우 모니터링의 모드를 지정하여 플로우 모니터링을 재요청하고, 재요청에 따른 플로우 모니터링 요청 횟수에 대한 이벤트 발생 횟수의 비율이 제2 임계값을 초과한 경우, 네트워크 장치로 플로우 모니터링의 수행 시간을 나타내는 타임 아웃 시간을 지정하여 플로우 모니터링을 재요청하는 단계를 더 포함할 수 있다.
상기 목적을 달성하기 위한 본 발명의 다른 측면에 따른 플로우 모니터링 방법은, 컨트롤러에 의해 제어되는 네트워크 장치에서 수행되는 플로우 모니터링 방법에 있어서, 네트워크 장치가 컨트롤러로부터 플로우 모니터링의 수행 시간을 나타내는 타임 아웃 시간이 지정된 플로우 모니터링 요청을 수신하는 단계와; 네트워크 장치가 타임 아웃 시간에 기반하여 플로우 모니터링한 결과를 컨트롤러로 전송하는 단계를 포함한다.
상기 목적을 달성하기 위한 본 발명의 다른 측면에 따른 플로우 모니터링 방법은, 컨트롤러에 의해 제어되는 네트워크 장치에서 수행되는 플로우 모니터링 방법에 있어서, 네트워크 장치가 컨트롤러에 의해 결정된 플로우 모니터링 진행 여부에 따른 플로우 모니터링에 대한 명령을 수신하는 단계와; 네트워크 장치가 플로우 모니터링에 대한 명령에 따라 플로우 모니터링을 중단하거나 계속 수행하는 단계를 포함한다.
상기와 같은 본 발명에 따른 SDN 환경에서 플로우를 모니터링하는 방법은, 플로우를 모니터링할 시간(기간) 및 플로우 모니터링의 방식을 적응적으로 결정함으로써, 플로우를 모니터링하는 스위치의 부하를 경감시킬 수 있다.
또한, 스위치의 부하를 경감시킴으로써 스위치의 기능을 단순화할 수 있고, 이를 통하여 SDN 기반 네트워크 구축 비용을 절감할 수 있으며, 네트워크 자원을 보다 효율적으로 사용할 수 있다.
도 1은 본 발명의 실시예에 따른 플로우 모니터링 방법을 수행하는 컨트롤러와 스위치를 설명하기 위한 블록도이다.
도 2는 본 발명의 일 실시예에 따른 플로우 모니터링 방법을 설명하기 위한 흐름도이다.
도 3은 본 발명의 다른 실시예에 따른 플로우 모니터링 방법을 설명하기 위한 흐름도이다.
도 4는 본 발명의 또 다른 실시예에 따른 플로우 모니터링 방법을 설명하기 위한 흐름도이다.
도 5는 본 발명의 실시예에 따른 플로우 모니터링 방법을 수행하기 위해 타임 아웃(timeout) 파라미터를 추가한 예를 나타내는 예시도이다.
도 6은 본 발명의 실시예에 따른 플로우 모니터링 방법의 모드를 결정하는 파라미터를 추가한 예를 나타내는 예시도이다.
도 7은 본 발명의 실시예에 따른 플로우 모니터링 방법에 따라 타임 아웃 여부를 알리기 위한 파라미터를 추가한 예를 나타내는 예시도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 본 발명에서 언급되는 ?좟?祈?는 통합 SDN 컨트롤러(Unified SDN controller)로, 트래픽의 흐름을 제어하기 위해 관련 구성 요소(예를 들면, 스위치, 라우터 등)를 제어하는 기능 요소(entity)를 의미할 수 있다.
또한, 컨트롤러는 물리적인 구현 형태나 구현 위치 등에 의해 한정되지 않는다. 예를 들어, 컨트롤러는 ONF(OpenFlow), IETF(Internet Engineering Task Force), ETSI(European Telecommunication Standards Institute) 및/또는 ITU-T(International Telecommunication Union Telecommunication) 등에서 정의하고 있는 컨트롤러 기능 요소(entity)를 의미할 수 있다.
본 발명에서 언급되는 네트워크 장치는 '스위치(switch)' 또는 '라우터(router)'와 같이 트래픽(또는 패킷)을 실질적으로 포워딩하거나 스위칭 또는 라우팅하는 기능 요소를 의미할 수 있다. 따라서, 본 발명에서 네트워크 장치는 스위치 또는 라우터로 명명될 수 있다.
예를 들어, 네트워크 장치는 ONF, IETF, ETSI 및/또는 ITU-T 등에서 정의하고 있는 스위치, 라우터, 스위치 요소(Switching Element), 라우터 요소(Routing Element), 포워딩 요소(Forwarding Element) 등을 의미할 수 있다.
이하, 본 발명의 실시예들에서는 SDN 환경에서 플로우를 모니터링하는 방법을 위한 동작과정에서 정의된 파라미터 및/또는 메시지 형태는 후술하는 특정 메시지에 한정되지 않는다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 발명의 실시예에 따른 플로우 모니터링 방법을 수행하는 컨트롤러와 스위치를 설명하기 위한 블록도이다.
도 1을 참조하면, 컨트롤러(100)는 플로우 모니터링 정책 관리부(110), 플로우 모니터링 제어부(120), 플로우 테이블 관리부(130) 및 스위치 연동 처리부(140)를 포함하고, 스위치(200)는 플로우 모니터링부(210), 컨트롤러 연동 처리부(220) 및 플로우 테이블 관리부(230)를 포함한다.
먼저, 컨트롤러(100)에 대해 설명하면 다음과 같다.
플로우 모니터링 정책 관리부(110)는 컨트롤러(100)가 관리하는 도메인에 대한 플로우 모니터링 정책을 저장하고 관리할 수 있다.
플로우 모니터링 제어부(120)는 스위치를 통한 플로우의 모니터링을 위한 제어 명령을 생성하고, 생성한 제어 명령을 스위치 연동 처리부(140)를 통해 스위치(200)에 전달할 수 있다. 여기서, 제어 명령은 플로우 엔트리(Flow entry)에 대한 추가, 수정 및 삭제 등을 수행하도록 하는 명령일 수 있다.
플로우 테이블 관리부(130)는 컨트롤러(100)가 관리하는 도메인에 포함된 스위치(200)를 위한 플로우 테이블(Flow Table)를 저장하고 관리할 수 있다.
스위치 연동 처리부(140)는 컨트롤러(100)가 스위치(200)와 통신할 수 있도록 프로토콜을 처리할 수 있다.
다음으로, 스위치(200)에 대하여 설명하면 다음과 같다.
플로우 모니터링부(210)는 컨트롤러(100)의 플로우 모니터링 제어부(120)의 제어에 따라 모니터링 대상 플로우를 모니터링할 수 있다.
컨트롤러 연동 처리부(220)는 스위치(200)가 컨트롤러(100)와 통신할 수 있도록 프로토콜을 처리할 수 있다. 예를 들어, 스위치(200)는 컨트롤러 연동 처리부(220)를 통하여 제어 명령을 수신할 수 있고, 제어 명령에 따른 절차를 수행한 결과를 컨트롤러 연동 처리부(220)를 통하여 컨트롤러(100)로 전송할 수 있다.
플로우 테이블 관리부(230)는 해당 스위치(200)를 위한 플로우 테이블을 저장하고 관리할 수 있다.
도 2는 본 발명의 일 실시예에 따른 플로우 모니터링 방법을 설명하기 위한 흐름도이다.
도 2를 참조하면, 본 발명의 실시예에 따른 플로우 모니터링 방법은 컨트롤러가 스위치로 플로우 모니터링을 요청하고, 스위치는 컨트롤러의 요청에 따라 플로우에 대한 모니터링을 수행하여 그 결과를 컨트롤러에 통보할 수 있다.
컨트롤러는 스위치로 플로우 모니터링을 요청할 수 있다(S210). 예를 들어, 컨트롤러는 스위치로 ofp_flow_monitor_command 값을 OFPFMC_ADD 또는 OFPFMC_MODIFY로 해서 플로우 모니터링을 요청할 수 있다.
스위치는 컨트롤러가 모니터링을 요청한 플로우에 대한 변화를 감지하기 위해 플로우 모니터링을 위한 상태를 유지할 수 있다. 여기서, 플로우 모니터링을 위한 상태를 유지하는 시간을 ‘플로우 모니터링 유지 시간’이라고 명명할 수 있으며, 플로우에 대한 변화를 ‘이벤트 발생’이라고 명명할 수 있다.
스위치는 컨트롤러의 플로우 모니터링 요청에 따라 플로우 모니터링을 위한 상태를 유지하면서 대상 플로우에 이벤트가 발생하면, 플로우 모니터링 응답을 수행할 수 있다(S221, S223).
또한, 스위치는 컨트롤러로부터 플로우 모니터링을 취소 요청을 받을 때까지 대상 플로우를 모니터링하여 이벤트의 발생을 모니터링할 수 있다. 예를 들어, 스위치는 컨트롤러로부터 ofp_flow_monitor_command 값이 OFPFMC_DELETE인 플로우 모니터링 취소 요청 메시지를 받을 때까지 요청 플로우에 대한 모니터링을 지속할 수 있다.
따라서, 스위치는 컨트롤러로부터 플로우 모니터링 취소 요청을 수신하면, 대상 플로우에 대한 모니터링을 중단할 수 있다(S230).
한편, 이와 같이 스위치가 컨트롤러로부터 플로우 모니터링 취소 요청을 받을 때까지 대상 플로우에 대한 모니터링을 수행하는 경우, 예측이 불가능한 이벤트 발생에 대한 모니터링의 누락을 줄일 수 있다는 장점을 갖는다.
그러나, 스위치가 플로우 모니터링 취소 요청을 받을 때까지 모니터링에 관련한 정보를 지속적으로 보관해야 하는 등과 같은 부하가 존재하여 네트워크 자원을 효과적으로 사용하지 못하는 상황을 초래할 수 있다.
도 3은 본 발명의 다른 실시예에 따른 플로우 모니터링 방법을 설명하기 위한 흐름도이다.
도 3을 참조하여 컨트롤로와 스위치가 플로우에 대한 모니터링의 수행 시간을 나타내는 타임 아웃 시간에 기반하여 플로우에 대한 모니터링을 수행하는 방법을 설명한다.
먼저, 컨트롤러의 측면에서 설명하면 다음과 같다.
컨트롤러가 스위치로 플로우 모니터링의 수행 시간을 나타내는 타임 아웃 시간을 지정하여 플로우 모니터링을 요청할 수 있다(S310). 예를 들어, 컨트롤러는 ofp_flow_monitor_command 값을 OFPFMC_ADD 또는 OFPFMC_MODIFY로 하고, 타임 아웃(timeout) 시간을 지정하여 플로우 모니터링을 스위치로 요청할 수 있다.
스위치는 타임 아웃 시간을 플로우 모니터링 유지 시간으로 하여 대상 플로우에 대한 모니터링을 수행할 수 있다.
컨트롤러는 타임 아웃 시간에 기반하여 스위치에 의해 수행된 플로우 모니터링 결과를 스위치로부터 수신할 수 있다.
또한, 컨트롤러는 스위치로부터 타임 아웃 시간의 만료에 따른 응답을 수신할 수 있다(S320). 예를 들어, 스위치는 ofp_flow_update_event 값을 OFPFME_TIMEOUT로 하여 플로우 모니터링 응답을 수행할 수 있고, 이를 컨트롤러가 수신할 수 있다.
컨트롤러는 타임 아웃 시간의 만료에 따른 응답을 수신한 후, 플로우 모니터링을 계속 수행할 것인지 여부를 결정할 수 있다(S330).
컨트롤러가 플로우 모니터링을 계속 수행하는 것으로 결정한 경우, 컨트롤러는 스위치로 플로우 모니터링의 수행 시간을 나타내는 타임 아웃 시간을 지정하여 플로우 모니터링을 재요청할 수 있다(S333).
따라서, 스위치는 타임 아웃 시간 동안 플로우 모니터링을 위한 상태를 유지하면서 대상 플로우에 이벤트가 발생하면, 플로우 모니터링 응답을 수행할 수 있다(S340). 즉, 컨트롤러는 스위치로부터 플로우 모니터링 응답을 수신하여 대상 플로우에 발생한 이벤트를 알 수 있다.
또한, 컨트롤러가 플로우 모니터링을 수행하지 않는 것으로 결정한 경우, 컨트롤러는 스위치로 플로우 모니터링을 취소 요청할 수 있다(S331).
다음으로, 스위치의 측면에서 설명하면 다음과 같다.
스위치가 컨트롤러로부터 플로우 모니터링의 수행 시간을 나타내는 타임 아웃 시간이 지정된 플로우 모니터링 요청을 수신할 수 있다(S310).
스위치가 타임 아웃 시간에 기반하여 플로우 모니터링한 결과를 컨트롤러로 전송할 수 있다(S340).
또한, 스위치는 컨트롤러로 타임 아웃 시간의 만료에 따른 응답을 전송할 수 있다(S320).
도 4는 본 발명의 또 다른 실시예에 따른 플로우 모니터링 방법을 설명하기 위한 흐름도이다.
도 4를 참조하여 컨트롤러와 스위치가 플로우에 대한 이벤트 발생 횟수에 기반하여 플로우에 대한 모니터링을 수행하는 방법을 설명한다. 여기서, 이벤트 발생 횟수는 미리 설정된 시간을 기준으로 산출될 수 있다. 예를 들어, 이벤트 발생 횟수는 분당 이벤트의 발생 횟수로 산출될 수 있다.
먼저, 컨트롤러의 측면에서 설명하면 다음과 같다.
컨트롤러가 스위치로 플로우 모니터링을 요청할 수 있다(S410). 예를 들어, 컨트롤러는 ofp_flow_monitor_command 값을 OFPFMC_ADD 또는 OFPFMC_MODIFY로 하여 플로우 모니터링을 요청할 수 있다.
컨트롤러는 모니터링 대상 플로우에 대한 이벤트 발생 횟수에 기반하여 플로우 모니터링을 계속 수행할 것인지 여부를 결정할 수 있다(S420). 예를 들어, 컨트롤러는 이벤트 발생 횟수가 제1임계값(TH1) 이하인 경우, 플로우 모니터링을 수행하지 않는 것으로 결정하고, 이벤트 발생 횟수가 제1 임계값(TH1)을 초과한 경우, 플로우 모니터링을 계속 수행하는 것으로 결정할 수 있다.
컨트롤러는 플로우 모니터링을 수행하지 않는 것으로 결정한 경우, 스위치로 플로우 모니터링을 취소 요청할 수 있다(S421). 예를 들어, 컨트롤러는 ofp_flow_monitor_command 값을 OFPFMC_DELETE로 하여 플로우 모니터링 취소 요청을 스위치에 할 수 있다.
컨트롤러는 플로우 모니터링을 계속 수행하는 것으로 결정한 경우, 스위치로 플로우 모니터링의 모드를 지정하여 플로우 모니터링을 재요청할 수 있다(S430). 여기서, 플로우 모니터링의 모드는, 재요청을 받은 즉시 플로우 모니터링 결과를 응답하거나, 미리 설정된 주기로 플로우 모니터링 결과를 일괄하여 응답하도록 설정될 수 있다. 즉, 컨트롤러는 플로우 모니터링의 모드를 스위치에 설정하고, 설정된 모드에 따른 응답을 스위치로부터 수신할 수 있다(S431).
예를 들어, 플로우 모니터링의 모드를 설정하기 위한 값(ofp_flow_monitor_mode)이 OFPFMM_IMMEDIATE으로 설정되면, 스위치는 대상 플로우에 대한 이벤트 발생 여부에 대한 응답을 즉각적으로 컨트롤러로 전달할 수 있다.
또한, 플로우 모니터링의 모드를 설정하기 위한 값(ofp_flow_monitor_mode)이 OFPFMM_BATCH으로 설정되면, 스위치는 대상 플로우에 대한 이벤트 발생 여부에 대한 응답을 미리 설정된 주기마다 일괄하여 컨트롤러로 전달할 수 있다.
컨트롤러는 플로우 모니터링을 계속 수행하는 것으로 결정한 경우에 있어, 재요청에 따른 플로우 모니터링 요청 횟수에 대한 이벤트 발생 횟수의 비율을 제2임계값(TH2)과 비교할 수 있다(S440).
컨트롤러는 재요청에 따른 플로우 모니터링 요청 횟수에 대한 이벤트 발생 횟수의 비율이 제2임계값(TH2) 이하인 경우, 스위치로 플로우 모니터링의 모드를 지정하여 플로우 모니터링을 재요청할 수 있다(S450). 즉, 컨트롤러는 스위치로 플로우 모니터링의 모드를 지정하여 플로우 모니터링을 재요청할 수 있다(S430).
컨트롤러는 재요청에 따른 플로우 모니터링 요청 횟수에 대한 이벤트 발생 횟수의 비율이 제2임계값(TH2)을 초과한 경우, 스위치로 플로우 모니터링의 수행 시간을 나타내는 타임 아웃 시간을 지정하여 플로우 모니터링을 재요청할 수 있다(S460). 예를 들어, 컨트롤러는 ofp_flow_monitor_command 값을 OFPFMC_ADD 또는 OFPFMC_MODIFY로 하고, 타임 아웃(timeout) 시간을 지정하여 플로우 모니터링을 스위치로 재요청할 수 있다.
즉, 컨트롤러는 이벤트 발생 횟수 또는 플로우 모니터링 요청 횟수와 이벤트 발생 횟수의 비율를 통해 플로우 모니터링 방법을 적응적으로 변경할 수 있다.
예를 들어, 플로우 모니터링 요청에 따른 이벤트 응답 비율이 제2 임계값(TH2)을 넘을 경우, 이후 잦은 이벤트 발생을 보일 것이라는 가정 하에 임의의 시간 또는 주기적인 모니터링 요청 방식보다는 도 3과 같은 타임 아웃 시간에 기반한 플로우 모니터링 방식으로 적용시킬 수 있다.
컨트롤러는 타임 아웃 시간에 기반하여 스위치에 의해 수행된 플로우 모니터링 결과를 스위치로부터 수신할 수 있다(S461).
다음으로, 스위치의 측면에서 설명하면 다음과 같다.
스위치가 컨트롤러에 의해 결정된 플로우 모니터링 진행 여부에 따른 플로우 모니터링에 대한 명령을 수신할 수 있다(S421, S430). 여기서, 플로우 모니터링에 대한 명령은 컨트롤러에 의해 모니터링 대상 플로우에 대한 이벤트 발생 횟수에 기반하여 플로우 모니터링을 계속 수행할 것인지 여부를 결정하여 생성될 수 있다. 예를 들어, 이벤트 발생 횟수가 제1임계값 이하인 경우, 플로우 모니터링을 수행하지 않는 것으로 결정되고, 이벤트 발생 횟수가 제1 임계값을 초과한 경우, 플로우 모니터링을 계속 수행하는 것으로 결정될 수 있다.
스위치는 플로우 모니터링에 대한 명령에 따라 플로우 모니터링을 중단하거나 계속 수행할 수 있다.
예를 들어, 플로우 모니터링을 수행하지 않는 것으로 결정된 경우, 스위치는 플로우 모니터링 취소 요청을 수신하여 플로우에 대한 모니터링을 중단할 수 있다(S421).
또한, 플로우 모니터링을 계속 수행하는 것으로 결정된 경우, 스위치는 플로우 모니터링의 모드를 지정한 플로우 모니터링 재요청을 수신할 수 있고(S430), 이에 따른 모니터링 결과를 컨트롤러로 응답할 수 있다(S431).
더 나아가, 플로우 모니터링을 계속 수행하는 것으로 결정한 경우에 있어, 스위치는 재요청에 따른 플로우 모니터링 요청 횟수에 대한 이벤트 발생 횟수의 비율을 제2임계값(TH2)과 비교하여 컨트롤러에 의해 결정된 방식에 따른 모니터링을 수행할 수 있다.
예를 들어, 스위치는 플로우 모니터링의 모드를 지정한 플로우 모니터링 재요청에 상응하는 모니터링을 수행하여 응답하거나(S431), 플로우 모니터링의 수행 시간을 나타내는 타임 아웃 시간을 지정한 플로우 모니터링 요청에 상응하는 모니터링을 수행하여 응답할 수 있다(S461).
도 5는 본 발명의 실시예에 따른 플로우 모니터링 방법을 수행하기 위해 타임 아웃(timeout) 파라미터를 추가한 예를 나타내는 예시도이다.
도 5를 참조하면, 본 발명의 실시예에 따르면, ONF 표준안에 정의된 ofp_flow_monitor_request에 스위치가 플로우를 모니터링할 시간(기간)을 나타내는 타임 아웃(timeout) 시간과 모니터링 방법을 나타내는 모드(mode)에 대한 파라미터를 추가할 수 있다.
즉, 컨트롤러가 플로우 모니터링을 수행할 시간을 나타내는 타임 아웃 시간을 지정하여 모니터링을 요청하면, 스위치는 타임 아웃 시간 동안만 플로우 모니터링을 수행함으로써, 플로우 모니터링에 따른 부하를 줄일 수 있다.
도 6은 본 발명의 실시예에 따른 플로우 모니터링 방법의 모드를 결정하는 파라미터를 추가한 예를 나타내는 예시도이다.
도 6을 참조하면, ofp_flow_monitor_request에 플로우 모니터링의 모드를 결정하기 위한 파라미터(ofp_flow_monitor_mode)를 추가할 수 있다.
즉, 컨트롤러와 스위치는 플로우 모니터링 방식을 사전에 정의하여 활용할 수 있다.
예를 들어, 플로우 모니터링의 모드를 결정하기 위한 파라미터가 OFPFMM_NORMAL 이면, 스위치는 플로우 모니터링 요청에 대한 정보를 유지하고 있으면서 이벤트 발생에 대한 응답을 컨트롤러로 전달할 수 있다.
플로우 모니터링의 모드를 결정하기 위한 파라미터가 OFPFMM_IMMEDIATE 이면, 스위치는 플로우 모니터링 요청에 대한 정보를 유지하고 있지 않으면서 이벤트 발생 여부에 대한 응답을 즉각적으로 컨트롤러로 전달할 수 있다.
또한, 플로우 모니터링의 모드를 결정하기 위한 파라미터가 OFPFMM_BATCH이면, 스위치는 발생한 이벤트를 일정 기간마다 일괄 처리(batch processing)하는 방식으로 컨트롤러에 전달할 수 있다.
도 7은 본 발명의 실시예에 따른 플로우 모니터링 방법에 따라 타임 아웃 여부를 알리기 위한 파라미터를 추가한 예를 나타내는 예시도이다.
도 7를 참조하면, 타임 아웃이 발생하면, 스위치가 컨트롤러로 타임 아웃 발생 여부를 전달하기 위해 ofp_flow_update_event에 OFPFME_TIMEOUT 파라미터를 추가하여 활용할 수 있다.
컨트롤러는 플로우 모니터링 요청에 대한 타임 아웃이 발생하면 해당 플로우에 대한 모니터링을 계속할지 중지할지 판단할 수 있고, 판단 결과에 따라 스위치로 플로우 모니터링을 재요청하거나 취소 요청할 수 있다.
상술한 본 발명의 실시예에 따른 SDN 환경에서 플로우를 모니터링하는 방법은, 플로우를 모니터링할 시간(기간) 및 플로우 모니터링의 방식을 적응적으로 결정함으로써, 플로우를 모니터링하는 스위치의 부하를 경감시킬 수 있다.
또한, 스위치의 부하를 경감시킴으로써 스위치의 기능을 단순화할 수 있고, 이를 통하여 SDN 기반 네트워크 구축 비용을 절감할 수 있으며, 네트워크 자원을 보다 효율적으로 사용할 수 있다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
100: 컨트롤러 110: 플로우 모니터링 정책 관리부
120: 플로우 모니터링 제어부 130: 플로우 테이블 관리부
140: 스위치 연동 처리부 200: 스위치
210: 플로우 모니터링부 220: 컨트롤러 연동 처리부
230: 플로우 테이블 관리부

Claims (15)

  1. 네트워크 장치를 제어하는 컨트롤러에서 수행되는 플로우 모니터링 방법에 있어서,
    상기 컨트롤러가 상기 네트워크 장치로 플로우 모니터링의 유지 시간을 나타내는 타임 아웃 시간을 지정하여 플로우 모니터링을 요청하는 단계;
    상기 컨트롤러가 상기 타임 아웃 시간에 기반하여 상기 네트워크 장치에 의해 수행된 플로우 모니터링 결과를 상기 네트워크 장치로부터 수신하는 단계;
    상기 컨트롤러가 상기 네트워크 장치로부터 상기 타임 아웃 시간의 만료에 따른 응답을 수신하는 단계; 및
    상기 컨트롤러가 상기 타임 아웃 시간의 만료에 따른 응답을 수신한 후, 플로우 모니터링을 계속 수행할 것인지 여부를 결정하는 단계를 포함하는,
    플로우 모니터링 방법.
  2. 삭제
  3. 청구항 1에 있어서,
    플로우 모니터링을 계속 수행하는 것으로 결정한 경우, 상기 네트워크 장치로 플로우 모니터링의 수행 시간을 나타내는 타임 아웃 시간을 지정하여 플로우 모니터링을 재요청하는 단계; 및
    플로우 모니터링을 수행하지 않는 것으로 결정한 경우, 상기 네트워크 장치로 플로우 모니터링을 취소 요청하는 단계를 더 포함하는,
    플로우 모니터링 방법.
  4. 네트워크 장치를 제어하는 컨트롤러에서 수행되는 플로우 모니터링 방법에 있어서,
    상기 컨트롤러가 모니터링 대상 플로우의 변화에 따라 산출되는 이벤트 발생 횟수를 미리 설정된 임계값과 비교함으로써 플로우 모니터링을 계속 수행할 것인지 여부를 결정하는 단계; 및
    상기 컨트롤러가 플로우 모니터링을 수행하지 않는 것으로 결정한 경우, 상기 네트워크 장치로 플로우 모니터링을 취소 요청하는 단계를 포함하는,
    플로우 모니터링 방법.
  5. 청구항 4에 있어서,
    상기 플로우 모니터링을 계속 수행할 것인지 여부를 결정하는 단계는,
    상기 이벤트 발생 횟수가 제1 임계값 이하인 경우, 플로우 모니터링을 수행하지 않는 것으로 결정하고,
    상기 이벤트 발생 횟수가 상기 제1 임계값을 초과한 경우, 플로우 모니터링을 계속 수행하는 것으로 결정하는 것을 특징으로 하는,
    플로우 모니터링 방법.
  6. 청구항 4에 있어서,
    플로우 모니터링을 계속 수행하는 것으로 결정한 경우, 상기 네트워크 장치로 플로우 모니터링의 모드를 지정하여 플로우 모니터링을 재요청하는 단계를 더 포함하는,
    플로우 모니터링 방법.
  7. 청구항 6에 있어서,
    상기 플로우 모니터링의 모드는,
    상기 재요청을 받은 즉시 플로우 모니터링 결과를 응답하거나, 미리 설정된 주기로 상기 플로우 모니터링 결과를 일괄하여 응답하도록 설정되는 것을 특징으로 하는,
    플로우 모니터링 방법.
  8. 청구항 6에 있어서,
    플로우 모니터링을 계속 수행하는 것으로 결정한 경우에 있어,
    상기 재요청에 따른 플로우 모니터링 요청 횟수에 대한 상기 이벤트 발생 횟수의 비율을 제2 임계값과 비교하는 단계를 더 포함하는,
    플로우 모니터링 방법.
  9. 청구항 8에 있어서,
    상기 재요청에 따른 플로우 모니터링 요청 횟수에 대한 상기 이벤트 발생 횟수의 비율이 상기 제2 임계값 이하인 경우, 상기 네트워크 장치로 플로우 모니터링의 모드를 지정하여 플로우 모니터링을 재요청하고,
    상기 재요청에 따른 플로우 모니터링 요청 횟수에 대한 상기 이벤트 발생 횟수의 비율이 상기 제2 임계값을 초과한 경우, 상기 네트워크 장치로 플로우 모니터링의 수행 시간을 나타내는 타임 아웃 시간을 지정하여 플로우 모니터링을 재요청하는 단계를 더 포함하는,
    플로우 모니터링 방법.
  10. 삭제
  11. 삭제
  12. 컨트롤러에 의해 제어되는 네트워크 장치에서 수행되는 플로우 모니터링 방법에 있어서,
    상기 네트워크 장치가 상기 컨트롤러에 의해 결정된 플로우 모니터링 진행 여부에 따른 플로우 모니터링에 대한 명령을 수신하는 단계;
    상기 네트워크 장치가 상기 플로우 모니터링에 대한 명령에 따라 플로우 모니터링을 중단하거나 계속 수행하는 단계를 포함하되,
    상기 플로우 모니터링에 대한 명령은,
    모니터링 대상 플로우의 변화에 따라 산출되는 이벤트 발생 횟수를 미리 설정된 임계값과 비교하여 플로우 모니터링을 계속 수행할 것인지 여부를 결정함으로써 상기 컨트롤러에 의해 생성된 것을 특징으로 하는,
    플로우 모니터링 방법.
  13. 삭제
  14. 청구항 12에 있어서,
    상기 플로우 모니터링을 계속 수행할 것인지 여부는,
    상기 이벤트 발생 횟수가 제1 임계값 이하인 경우, 플로우 모니터링을 수행하지 않는 것으로 결정되고,
    상기 이벤트 발생 횟수가 상기 제1 임계값을 초과한 경우, 플로우 모니터링을 계속 수행하는 것으로 결정되는 것을 특징으로 하는,
    플로우 모니터링 방법.
  15. 청구항 14에 있어서,
    플로우 모니터링을 계속 수행하는 것으로 결정된 경우에,
    플로우 모니터링 요청 횟수에 대한 상기 이벤트 발생 횟수의 비율이 제2 임계값 이하인 경우, 상기 네트워크 장치는 플로우 모니터링의 모드를 지정한 플로우 모니터링 재요청을 수신하고,
    상기 플로우 모니터링 요청 횟수에 대한 상기 이벤트 발생 횟수의 비율이 상기 제2 임계값을 초과한 경우, 상기 네트워크 장치는 플로우 모니터링의 수행 시간을 나타내는 타임 아웃 시간을 지정한 플로우 모니터링 재요청을 수신하는 단계를 더 포함하는,
    플로우 모니터링 방법.
KR1020140178406A 2013-12-12 2014-12-11 Sdn 환경에서 플로우를 모니터링하는 방법 KR101614223B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20130154906 2013-12-12
KR1020130154906 2013-12-12

Publications (2)

Publication Number Publication Date
KR20150068916A KR20150068916A (ko) 2015-06-22
KR101614223B1 true KR101614223B1 (ko) 2016-04-20

Family

ID=53516230

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140178406A KR101614223B1 (ko) 2013-12-12 2014-12-11 Sdn 환경에서 플로우를 모니터링하는 방법

Country Status (1)

Country Link
KR (1) KR101614223B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10263864B2 (en) 2015-08-13 2019-04-16 Electronics And Telecommunications Research Institute Apparatus and method for collecting adaptive flow statistics data in carrier network

Also Published As

Publication number Publication date
KR20150068916A (ko) 2015-06-22

Similar Documents

Publication Publication Date Title
JP5233504B2 (ja) 経路制御装置およびパケット廃棄方法
WO2013035342A1 (en) Network management service system, control apparatus, method, and program
KR20140106235A (ko) 오픈플로우 스위치 및 그 패킷 처리 방법
CN108028828B (zh) 一种分布式拒绝服务DDoS攻击检测方法及相关设备
TW201820909A (zh) 用於雲端無線存取網路之管理裝置與其管理方法及使用者裝置
JP2007180891A (ja) 通信装置及びそれに用いるパケット送信制御方法並びにそのプログラム
CN111585797A (zh) 以太网链路切换方法、装置、设备及计算机可读存储介质
KR101614223B1 (ko) Sdn 환경에서 플로우를 모니터링하는 방법
CN103731370A (zh) 有效降低域内重构过程中网络丢包率的交换机缓存方法
US20190028551A1 (en) Session monitoring method, apparatus, and system
JP5870995B2 (ja) 通信システム、制御装置、計算機、ノードの制御方法およびプログラム
JP2015111778A (ja) ネットワーク制御装置及びネットワークシステム
CN108616423B (zh) 一种脱网设备监测方法以及装置
US20190222578A1 (en) Communication apparatus and non-transitory computer readable storage medium
US10263915B2 (en) Method for processing event between controller and network device
WO2016160007A1 (en) Method and apparatus for flow control
JP5389591B2 (ja) ネットワーク制御装置及び方法
JP2011146989A (ja) 監視制御システム、被監視制御装置およびサーバ
KR20160029712A (ko) 네트워크 장치의 플로우 모니터링 개시 방법 및 그 장치
KR101589385B1 (ko) 컨트롤러와 네트워크 장치 간 이벤트를 처리하는 방법
KR102328588B1 (ko) 이상의 발생에 따른 son 조정
JP2016057683A (ja) イベント監視コンピュータシステム及びイベント監視方法
JP2009212862A (ja) 輻輳制御システム、輻輳制御方法、および輻輳制御プログラム
JP5603836B2 (ja) 保守管理装置、保守管理方法、および保守管理用プログラム
US9843511B2 (en) Method and apparatus for selecting path from paths between label edge routers

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
FPAY Annual fee payment

Payment date: 20190401

Year of fee payment: 4