KR101839499B1 - 오픈플로우 컨트롤러 및 오픈플로우 컨트롤러의 플로우 모니터링 방법 - Google Patents

오픈플로우 컨트롤러 및 오픈플로우 컨트롤러의 플로우 모니터링 방법 Download PDF

Info

Publication number
KR101839499B1
KR101839499B1 KR1020160012798A KR20160012798A KR101839499B1 KR 101839499 B1 KR101839499 B1 KR 101839499B1 KR 1020160012798 A KR1020160012798 A KR 1020160012798A KR 20160012798 A KR20160012798 A KR 20160012798A KR 101839499 B1 KR101839499 B1 KR 101839499B1
Authority
KR
South Korea
Prior art keywords
switch
flow
open flow
monitoring
open
Prior art date
Application number
KR1020160012798A
Other languages
English (en)
Other versions
KR20170091916A (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 KR1020160012798A priority Critical patent/KR101839499B1/ko
Publication of KR20170091916A publication Critical patent/KR20170091916A/ko
Application granted granted Critical
Publication of KR101839499B1 publication Critical patent/KR101839499B1/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/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • H04L43/0829Packet loss
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0894Packet rate
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/55Prevention, detection or correction of errors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/70Virtual switches

Landscapes

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

Abstract

본 발명은 통신 모듈, 모니터링 프로그램이 저장된 메모리 및 프로그램을 실행하는 프로세서를 포함하고, 프로세서는 플로우에 대응하는 경로에 포함된 복수의 오픈플로우 스위치 중 모니터링 스위치를 선택하고, 선택된 모니터링 스위치에 대한 모니터링을 수행한다. 이때, 모니터링 스위치는 복수의 오픈플로우 스위치에 대한 정확도에 기초하여 선택된다.

Description

오픈플로우 컨트롤러 및 오픈플로우 컨트롤러의 플로우 모니터링 방법{OPENFLOW CONTROLLER AND METHOD FOR FLOW MONITERING}
본 발명은 오픈플로우 컨트롤러 및 오픈플로우 컨트롤러의 플로우 모니터링 방법에 관한 것이다.
오픈플로우(openflow)는 소프트웨어 정의 네트워크(software definition network; SDN)의 인터페이스 표준 기술이다. 이때, 오픈플로우 기반 네트워크는 오픈플로우 컨트롤러(openflow controller)와 오픈플로우 스위치를 포함하며, 오픈플로우 프로토콜(openflow protocol)을 이용하여 내부 통신을 수행한다.
오픈플로우 기반 네트워크는 하드웨어 방식으로 고정되어 있고 폐쇄적이던 기존의 네트워크 구조를 프로그래밍이 가능한 개방형 구조로 바꾼 것이다. 오픈플로우 기반 네트워크의 핵심적인 특징은 기존 네트워크 장비에서 제어 및 관리 기능을 담당하는 컨트롤 플레인(control plane)을 소프트웨어로 분리하는 것이다. 그러므로 오픈플로우 기반 네트워크는 제조 업체가 제공하는 방식이 아닌, 사용자들이 주도해 원하는 네트워크를 구축 및 운영할 수 있는 장점이 있다.
오픈플로우 기반 네트워크는 오픈플로우 컨트롤러 및 복수의 오픈플로우 스위치(openflow switch)를 포함한다. 오픈플로우 컨트롤러는 수신된 패킷(packet)을 처리하기 위한 플로우(flow) 정보를 제공할 수 있다. 그리고 오픈플로우 스위치는 오픈플로우 컨트롤러가 전송한 플로우 정보에 따라 패킷을 처리한다.
이때, 오픈플로우 기반 네트워크는 플로우에 대응하는 통계 데이터에 기초하여, 오픈플로우 스위치에 대한 모니터링이 가능하다.
이와 관련되어, 한국 등록특허공보 제10-1472695호(발명의 명칭: " 스위치 시스템, 모니터링 집중 관리 방법")는 오픈플로우 기술에 기초한 송신기의 제어 프로토콜을 사용하여 스위치 시스템의 모니터링 기능을 제어하여, 네트워크 전체의 모니터링을 수행하는 방법을 개시하고 있다.
본 발명은 전술한 종래 기술의 문제점을 해결하기 위한 것으로서, 오픈플로우 기반 네트워크에서 오픈플로우 스위치를 이용하여, 플로우에 대한 모니터링을 수행하는 오픈플로우 컨트롤러 및 오픈플로우 컨트롤러의 모니터링 방법을 제공한다.
다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 제 1 측면에 따른 플로우에 대한 모니터링을 위한 오픈플로우 컨트롤러는 통신 모듈, 모니터링 프로그램이 저장된 메모리 및 프로그램을 실행하는 프로세서를 포함하고, 프로세서는 플로우에 대응하는 경로에 포함된 복수의 오픈플로우 스위치 중 모니터링 스위치를 선택하고, 선택된 모니터링 스위치에 대한 모니터링을 수행한다. 이때, 모니터링 스위치는 복수의 오픈플로우 스위치에 대한 정확도에 기초하여 선택된다.
또한, 본 발명의 제 2 측면에 따른 오픈플로우 컨트롤러의 모니터링 방법은 플로우에 대응하는 경로에 포함된 복수의 오픈플로우 스위치 중 모니터링 스위치를 선택하는 단계; 및 선택된 모니터링 스위치에 대한 모니터링을 수행하는 단계를 포함한다. 이때, 모니터링 스위치는 복수의 오픈플로우 스위치에 대한 정확도에 기초하여 선택된다.
본 발명은 인-밴드 네트워크 환경에서, 복수의 오픈플로우 스위치의 홉 수 및 정확도에 기초하여, 플로우에 대응하는 모니터링 스위치를 선정할 수 있다. 그러므로 본 발명은 오픈플로우 스위치의 높은 수준의 정확도를 보장하며, 네트워크의 부하를 분산시킬 수 있다.
도 1은 오픈플로우 기반 네트워크를 설명하기 위한 개념도이다.
도 2는 본 발명의 일 실시예에 따른 오픈플로우기반 네트워크의 블록도이다.
도 3은 본 발명의 일 실시예에 따른 오픈플로우 컨트롤러의 블록도이다.
도 4는 본 발명의 일 실시예에 따른 오픈플로우 스위치 정보 테이블의 예시도이다.
도 5는 본 발명의 일 실시예에 따른 오픈플로우 컨트롤러의 모니터링 방법의 순서도이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
도 1을 참조하여 일반적인 오픈플로우 기반 네트워크(100)를 설명한다.
도 1은 오픈플로우 기반 네트워크(100)를 설명하기 위한 개념도이다.
오픈플로우 기반 네트워크(100)는 오픈플로우 컨트롤러(200) 및 오픈플로우 스위치(120)를 포함한다. 그리고 오픈플로우 기반 네트워크(100)는 오픈플로우 프로토콜을 이용하여 내부 통신을 수행한다.
이때, 오픈플로우 기반 스위치는 하드웨어(hardware)로 구현되는 데이터 플레인(data plane)과 소프트웨어(software)로 구현되는 컨트롤 플레인(control plane)으로 나누어져 있다. 오픈플로우 스위치(120)는 데이터 플레인을 통하여, 중앙집중식 제어가 가능하다. 그러므로 오픈플로우 네트워크에서의 관리자는 이를 통해 좀 더 효과적이고 유연하게 네트워크를 관리할 수 있다.
또한, 오픈플로우 스위치(120)는 오픈플로우 컨트롤러(200)의 명령에 따라, 노드(130)로 전송되는 플로우의 처리 방법, 전송 방식 및 전송 경로를 정한다. 그리고 오픈플로우 스위치(120)는 노드(130)로 플로우를 전달한다. 이때, 데이터 패킷의 처리 방법, 전달 경로 및 전달 방식은 오픈플로우 스위치(120)에 포함된 메모리의 플로우 테이블(flow table)에 저장될 수 있다.
다음은 도 2 내지 도 4를 참조하여, 본 발명의 일 실시예에 따른 오픈플로우 컨트롤러(200)를 설명한다.
도 2는 본 발명의 일 실시예에 따른 오픈플로우기반 네트워크의 블록도이다.
본 발명의 일 실시예에 따른 오픈플로우 기반 네트워크는 오픈플로우 컨트롤러(200), 복수의 오픈플로우 스위치(210, 220, 230, 240, 250) 및 복수의 호스트(260, 270, 270)를 포함한다.
이때, 오픈플로우 기반 네트워크는 인-밴드(in-band) 네트워크일 수 있다. 인-밴드 네트워크는 하나의 오픈플로우 컨트롤러에 복수의 오픈플로우 스위치가 직접 연결되어 데이터 통신을 수행하는 아웃-밴드(out-band) 네트워크와 대비되는 개념이다.
즉, 인-밴드 네트워크는 도 2와 같이, 오픈플로우 컨트롤러(200)에 복수의 오픈플로우 스위치가 계층적으로 연결되는 것을 의미한다.
예를 들어, 인-밴드 네트워크에서 오픈플로우 컨트롤러(200)는 제 1 스위치(210)와 직접 연결될 수 있다. 또한, 오픈플로우 컨트롤러(200)는 제 1 스위치(210)를 통하여, 제 2 스위치(200)와 연결될 수 있다. 그러므로 오픈플로우 컨트롤러(200)는 제 1 스위치(210)와 직접적으로 연결이 가능하며, 나머지 스위치(210, 220, 230, 240)와는 간접적으로 연결될 수 있다.
호스트(260, 270, 280)는 다른 호스트로 플로우를 전달하고, 다른 호스트로부터 플로우를 수신하는 단말(terminal)일 수 있다.
도 3은 본 발명의 일 실시예에 따른 오픈플로우 컨트롤러(200)의 블록도이다.
오픈플로우 컨트롤러(200)는 호스트 사이에 교환하는 플로우에 대응하여, 오픈플로우 스위치의 모니터링을 수행한다. 이때, 오픈플로우 컨트롤러(200)는 통신 모듈(300), 메모리(310) 및 프로세서(320)를 포함한다.
이때, 통신 모듈(300)은 직간접적으로 연결된 오픈플로우 스위치와 데이터 통신을 수행한다.
또한, 메모리(310)는 모니터링 프로그램이 저장된다. 이때, 메모리(310)는 전원이 공급되지 않아도 저장된 정보를 계속 유지하는 비휘발성 저장장치 및 저장된 정보를 유지하기 위하여 전력이 필요한 휘발성 저장장치를 통칭하는 것이다.
프로세서(320)는 플로우에 대응하는 경로에 포함된 복수의 오픈플로우 스위치 중 모니터링 스위치를 선택한다. 이때, 프로세서(320)는 복수의 오픈플로우 스위치에 대한 정확도에 기초하여, 모니터링 스위치를 선택한다. 프로세서(320)는 복수의 오픈플로우 스위치에서 플로우에 대응하여 수신한 패킷의 손실 비율에 기초하여 정확도를 산출한다.
또한, 프로세서(320)는 모니터링 스위치가 선택된 이후 모니터링 스위치에 대한 모니터링을 수행한다.
다시 도 2를 참조하면, 제 1 호스트(260)가 제 3 호스트(280)로 제 1 플로우를 전송하는 경우, 프로세서(320)는 제 1 플로우의 경로에 포함된 제 2 스위치(220), 제 3 스위치(230) 제 4 스위치(240) 및 제 5 스위치(250) 중 하나를 모니터링 스위치로 선택할 수 있다.
프로세서(320)는 도 4와 같이, 메모리(310)에 기저장된 각 오픈플로우 스위치에 대한 오픈플로우 스위치 정보 테이블에 기초하여, 모니터링 스위치를 선택할 수 있다.
도 4는 본 발명의 일 실시예에 따른 오픈플로우 스위치 정보 테이블의 예시도이다.
오픈플로우 스위치 정보 테이블은 오픈플로우 컨트롤러(200)의 메모리(310)에 저장될 수 있다. 이때, 스위치 정보 테이블은 플로우에 대응하는 오픈플로우 스위치의 목록, 각 오픈플로우 스위치의 정확도를 포함할 수 있다.
이때, 정확도는 각각의 오픈플로우 스위치에서의 플로우에 대응하는 패킷의 손실 비율에 기초하여, 산출할 수 있다.
구체적으로 오픈플로우 스위치에 대한 정확도는 해당 오픈플로우 스위치에서 플로우에 대응하여 수신한 패킷의 수와 목적지 호스트와 가장 가까운 오픈플로우 스위치에서 수신한 패킷의 수에 차이를 통하여, 산출된 패킷 손실 비율에 기초하여 산출될 수 있다.
예를 들어, 프로세서(320)는 제 1 플로우에 대응하는 경로 중 목적지 호스트인 제 3 호스트(280)와 가장 가까운 오픈플로우 스위치로 제 5 스위치(250)를 선택할 수 있다. 그리고 프로세서(320)는 선택된 제 5 스위치(250)에서의 수신한 패킷과 제 1 플로우에 대응하는 경로 상의 다른 오픈 플로우 스위치에서 수신한 패킷과의 패킷 손실 비율에 기초하여 정확도를 산출할 수 있다.
도 4를 참조하면, 제 1 플로우에 대응하여, 제 2 스위치(220)에서는 106개의 패킷을 수신할 수 있다. 그리고 제 1 플로우에 대응하여, 목적지 호스트인 제 3 호스트(280)와 가장 가까운 제 5 스위치(250)는 100개의 패킷을 수신할 수 있다. 그러므로 프로세서(320)는 제 2 스위치(220)에 비하여, 제 5 스위치(250)에서 총 6개의 패킷이 손실되었다고 볼 수 있다. 즉, 프로세서(320)는 제 2 스위치(220)의 정확도를 6%로 산출할 수 있다.
프로세서(320)는 오픈플로우 스위치 정보 테이블에 포함된 정확도에 기초하여, 모니터링 스위치를 선택할 수 있다.
이때, 프로세서(320)는 종래의 모니터링 방법에서 목적지 호스트와 가장 인접한 오픈플로우 스위치를 선택하여 모니터링을 수행하는 것과 유사하게, 목적지 호스트와 인접한 오픈플로우 스위치와 정확도가 유사한 오픈플로우 스위치를 선택하여, 모니터링을 수행할 수 있다.
즉, 프로세서(320)는 제 1 플로우에 대응하는 경로 중 제 5 스위치(250)와의 정확도인 0%와 가장 유사한 오픈플로우 스위치를 모니터링 스위치로 선택할 수 있다.
그러나 목적지 호스트와 인접한 오픈플로우 스위치의 경우에는 네트워크 부하가 많이 발생할 수 있다. 그러므로 프로세서(320)는 오픈플로우 기반 네트워크의 부하를 줄이기 위하여, 정확도와 함께, 홉 수(hop count)를 고려할 수 있다.
이때, 홉 수는 오픈플로우 컨트롤러와 오픈플로우 스위치 사이의 거리에 의해 산출될 수 있다. 예를 들어, 제 1 스위치는 홉 수가 1이 된다. 그리고 제 2 스위치는 2, 제 3 스위치는 3, 제 4 스위치는 4이며, 제 5 스위치는 5가 된다.
본 발명의 일 실시예에 따른 프로세서(320)는 정확도 및 산출된 홉 개수에 기초하여, 모니터링 스위치를 선택할 수 있다.
구체적으로, 프로세서(320)는 플로우에 대응하는 복수의 오픈플로우 스위치의 정확도에 기초하여, 모니터링 후보 스위치를 선택할 수 있다. 즉, 프로세서(320)는 정확도가 목적지 호스트와 인접한 오픈플로우 스위치와 유사한 하나 이상의 오픈플로우 스위치를 모니터링 후보 스위치로 선택할 수 있다. 그리고 프로세서(320)는 선택된 하나 이상의 모니터링 후보 스위치에 대한 홉 개수에 기초하여, 최종적으로 모니터링 스위치를 결정할 수 있다.
다시, 도 2를 참조하면, 프로세서(320)는 제 1 플로우의 경로에 포함된 제 2 스위치(220), 제 3 스위치(230) 제 4 스위치(240) 및 제 5 스위치(250) 중 제 5 스위치(250)의 정확도와 차이가 적은 제 5 스위치(250) 및 제 4 스위치(240)를 모니터링 후보 스위치로 선택할 수 있다. 그리고 프로세서(320)는 모니터링 후보 스위치 중 홉 수가 가장 작은 제 4 스위치(240)를 모니터링 스위치로 선택할 수 있다.
또는, 프로세서(320)는 플로우에 대응하는 복수의 오픈플로우 스위치 중 정확도가 미리 정해진 값 이하인 하나 이상의 오픈플로우 스위치를 모니터링 후보 스위치로 선택할 수 있다. 그리고 프로세서(320)는 선택된 하나 이상의 모니터링 후보 스위치에 대한 홉 개수에 기초하여, 최종적인 모니터링 스위치를 결정할 수 있다.
도 2를 참조하면, 프로세서(320)는 제 1 플로우의 경로에 포함된 제 2 스위치(220), 제 3 스위치(230), 제 4 스위치(240), 및 제 5 스위치(250) 중 정확도 값이 미리 정해진 값인 3% 이하인 제 5 스위치(250) 및 제 4 스위치(240)를 모니터링 후보 스위치로 선택할 수 있다. 그리고 프로세서(320)는 모니터링 후보 스위치 중 홉 수가 가장 작은 제 4 스위치(240)를 모니터링 스위치로 선택할 수 있다.
한편, 제 1 플로우가 종료되면, 프로세서(320)는 통신 모듈(300)을 통하여, 제 1 플로우에 대응하는 경로에 포함된 복수의 오픈플로우 스위치로부터 플로우 종료 메시지(flow expire message)를 수신할 수 있다.
프로세서(320)는 제 1 플로우에 대응하는 플로우 종료 메시지를 수신한 이후, 플로우 종료 메시지에 포함된 패킷 수에 기초하여, 오픈 플로우 스위치에 대한 정확도를 갱신할 수 있다. 이때, 패킷 수는 앞에서 설명한 바와 같이, 플로우에 대응하여, 해당 오픈플로우 스위치에 도달한 패킷의 수를 의미한다.
다시 도 4를 참조하면, 오픈플로우 컨트롤러(200)의 프로세서(320)는 통신 모듈(310)을 통하여, 제 1 플로우의 경로에 포함된 제 2 스위치(220), 제 3 스위치(230) 제 4 스위치(240) 및 제 5 스위치(250)로부터 플로우 종료 메시지를 수신할 수 있다. 그리고 프로세서(320)는 제 2 스위치(220), 제 3 스위치(230) 제 4 스위치(240) 및 제 5 스위치(250)의 플로우 종료 메시지에 포함된 패킷 수에 기초하여, 각각의 정확도를 재산출 할 수 있다.
예를 들어, 임의의 i 번째 스위치의 정확도는 [수학식 1]에 기초하여 산출할 수 있다. 이때, n번째 스위치는 목적지 호스트와 가장 인접한 오픈플로우 스위치가 될 수 있다. i번째 스위치에서의 패킷 수는 X i , n번째 스위치에서의 패킷 수는 X n 이 될 수 있다.
Figure 112016011105919-pat00001
오픈플로우 컨트롤러(200)의 프로세서(320)는 제 1 플로우와 상이한 제 2 플로우가 발생하면, 기산출된 정확도에 기초하여, 제 2 플로우에 대응하는 경로부터 제 2 플로우에 대응하는 모니터링 스위치를 선택할 수 있다.
예를 들어, 제 2 호스트(270)로부터 제 3 호스트(280)로 전달하는 제 2 플로우가 발생하면, 프로세서(320)는 제 2 플로우에 대응하는 경로에 포함된 오픈플로우 스위치 중 어느 하나를 모니터링 스위치로 선택할 수 있다.
이때, 제 2 플로우에 대응하는 경로는 제 3 스위치(230), 제 4 스위치(240) 및 제 5 스위치(250)를 포함할 수 있다. 프로세서(320)는 정확도 및 홉 수에 기초하여 제 2 플로우에 포함된 오픈플로우 스위치 중 제 3 스위치(230)를 모니터링 스위치를 선택할 수 있다.
다음은 도 5를 참조하여, 본 발명의 일 실시예에 따른 오픈플로우 컨트롤러(200)의 모니터링 방법을 설명한다.
도 5는 본 발명의 일 실시예에 따른 오픈플로우 컨트롤러(200)의 모니터링 방법의 순서도이다.
오픈플로우 컨트롤러(200)는 플로우에 대응하는 경로에 포함된 복수의 오픈플로우 스위치 중 모니터링 스위치를 선택한다(S500). 이때, 오픈플로우 컨트롤러(200)는 복수의 오픈플로우 스위치 각각에 대한 정확도에 기초하여 모니터링 스위치를 선택할 수 있다. 오픈플로우 스위치의 정확도는 오픈플로우 스위치에서 플로우에 대응하여 수신한 패킷의 손실 비율에 기초하여 산출된다.
그리고 오픈플로우 컨트롤러(200)는 선택된 모니터링 스위치에 대한 모니터링을 수행한다(S510).
이때, 오픈플로우 컨트롤러(200)는 복수의 오픈플로우 스위치 각각에 대한 정확도 홉 수에 기초하여, 모니터링 스위치를 선택할 수 있다.
구체적으로 오픈플로우 컨트롤러(200)는 정확도에 기초하여, 플로우에 대응하는 경로 상의 복수의 오픈플로우 스위치 중 하나 이상의 모니터링 후보 스위치를 선택할 수 있다. 그리고 오픈플로우 컨트롤러(200)는 홉 수에 기초하여, 선택된 하나 이상의 모니터링 후보 스위치 중 모니터링 스위치를 선택할 수 있다.
또한, 오픈플로우 컨트롤러는 복수의 오픈플로우 스위치의 정확도 및 복수의 오픈플로우 스위치 중 플로우에 대응하는 목적지 호스트와 가장 가까운 오픈플로우 스위치의 플로우에 대응하는 패킷 수에 기초하여, 복수의 오픈플로우 스위치에 대한 정확도를 산출할 수 있다. 그리고 오픈플로우 컨트롤러(200)는 산출된 정확도에 기초하여, 모니터링 스위치를 선택할 수 있다.
한편, 오픈플로우 컨트롤러(200)는 모니터링을 수행하던 중 복수의 오픈플로우 스위치로부터 플로우에 대응하는 종료 메시지를 수신할 수 있다. 그리고 오픈플로우 컨트롤러(200)는 종료 메시지에 기초하여, 종료 메시지를 전송한 오픈플로우 스위치의 정확도를 산출할 수 있다.
본 발명의 일 실시예에 따른 플로우 모니터링을 위한 오픈플로우 컨트롤러(200) 및 오픈플로우 컨트롤러(200)의 플로우 모니터링 방법은 인-밴드 네트워크 환경에서, 복수의 오픈플로우 스위치의 홉 수 및 정확도에 기초하여, 플로우에 대응하는 모니터링 스위치를 선정할 수 있다. 그러므로 플로우 모니터링을 위한 오픈플로우 컨트롤러(200) 및 오픈플로우 컨트롤러(200)의 플로우 모니터링 방법은 오픈플로우 스위치에 대한 높은 수준의 정확도를 보장하며, 네트워크의 부하를 분산시킬 수 있다.
본 발명의 일 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체를 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다.
본 발명의 방법 및 시스템은 특정 실시예와 관련하여 설명되었지만, 그것들의 구성 요소 또는 동작의 일부 또는 전부는 범용 하드웨어 아키텍쳐를 갖는 컴퓨터 시스템을 사용하여 구현될 수 있다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
200: 오픈를로우 컨트롤러
210: 제 1 오픈플로우 스위치
220: 제 2 오픈플로우 스위치
230: 제 3 오픈플로우 스위치
240: 제 4 오픈플로우 스위치
250: 제 5 오픈플로우 스위치
260: 제 1 호스트
270: 제 2 호스트
280: 제 3 호스트
300: 통신 모듈
310: 메모리
320: 프로세서

Claims (14)

  1. 플로우에 대한 모니터링을 위한 오픈플로우 컨트롤러에 있어서,
    통신 모듈,
    모니터링 프로그램이 저장된 메모리 및
    상기 프로그램을 실행하는 프로세서를 포함하고,
    상기 프로세서는 인-밴드 네트워크 환경에서, 상기 플로우에 대응하는 경로에 포함된 복수의 오픈플로우 스위치 중에서 각 오픈플로우 스위치의 정확도에 기초하여 모니터링 스위치를 선택하고,
    상기 선택된 모니터링 스위치에 대한 모니터링을 수행하되,
    상기 오픈플로우 스위치의 정확도는 상기 오픈플로우 스위치에서 상기 플로우에 대응하여 수신한 패킷의 손실 비율에 기초하여 산출되는 것인, 오픈플로우 컨트롤러.
  2. 제 1 항에 있어서,
    상기 프로세서는 상기 각 오픈플로우 스위치에 대한 홉 수를 더 고려하여 상기 모니터링 스위치를 선택하는 것인, 오픈플로우 컨트롤러.
  3. 제 2 항에 있어서,
    상기 프로세서는 상기 정확도에 기초하여, 상기 복수의 오픈플로우 스위치 중 하나 이상의 모니터링 후보 스위치를 선택하고,
    상기 홉 수에 기초하여, 상기 하나 이상의 모니터링 후보 스위치 중 상기 모니터링 스위치를 선택하는 것인, 오픈플로우 컨트롤러.
  4. 제 1 항에 있어서,
    상기 프로세서는 상기 복수의 오픈플로우 스위치 중 상기 플로우에 대응하는 목적지 호스트와 가장 가까운 오픈플로우 스위치에서 상기 플로우에 대응하여 수신한 패킷의 수 및
    상기 복수의 오픈플로우 스위치에서 상기 플로우에 대응하여 수신한 패킷의 수에 기초하여 상기 정확도를 산출하는, 오픈플로우 컨트롤러.
  5. 제 1 항에 있어서,
    상기 프로세서는 오픈플로우 스위치로부터 상기 플로우에 대응하는 종료 메시지를 수신하면,
    상기 종료 메시지에 기초하여 상기 종료 메시지를 전송한 오픈플로우 스위치의 정확도를 산출하는, 오픈플로우 컨트롤러.
  6. 제 5 항에 있어서,
    상기 프로세서는 상기 종료 메시지에 포함된 패킷 수에 기초하여, 상기 종료 메시지를 전송한 오픈플로우 스위치의 정확도를 산출하는 것인, 오픈플로우 컨트롤러.
  7. 삭제
  8. 오픈플로우 컨트롤러의 모니터링 방법에 있어서,
    인-밴드 네트워크 환경에서, 플로우에 대응하는 경로에 포함된 복수의 오픈플로우 스위치 중에서 각 오픈플로우 스위치의 정확도에 기초하여 모니터링 스위치를 선택하는 단계; 및
    상기 선택된 모니터링 스위치에 대한 모니터링을 수행하는 단계를 포함하되,
    상기 오픈플로우 스위치의 정확도는 상기 오픈플로우 스위치에서 상기 플로우에 대응하여 수신한 패킷의 손실 비율에 기초하여 산출되는 것인, 오픈플로우 컨트롤러의 모니터링 방법.
  9. 제 8 항에 있어서,
    상기 모니터링 스위치를 선택하는 단계는,
    상기 각 오픈플로우 스위치에 대한 홉 수를 더 고려하여 상기 모니터링 스위치를 선택하는 것인, 오픈플로우 컨트롤러의 모니터링 방법.
  10. 제 9 항에 있어서,
    상기 모니터링 스위치를 선택하는 단계는,
    상기 정확도에 기초하여, 상기 복수의 오픈플로우 스위치 중 하나 이상의 모니터링 후보 스위치를 선택하는 단계; 및
    상기 홉 수에 기초하여, 상기 선택된 하나 이상의 모니터링 후보 스위치 중 상기 모니터링 스위치를 선택하는 단계를 포함하는, 오픈플로우 컨트롤러의 모니터링 방법.
  11. 제 8 항에 있어서,
    상기 모니터링 스위치를 선택하는 단계는,
    상기 복수의 오픈플로우 스위치 중 상기 플로우에 대응하는 목적지 호스트와 가장 가까운 오픈플로우 스위치에서 상기 플로우에 대응하여 수신한 패킷의 수 및
    상기 복수의 오픈플로우 스위치에서 상기 플로우에 대응하여 수신한 패킷의 수에 기초하여, 상기 정확도를 산출하는, 오픈플로우 컨트롤러의 모니터링 방법.
  12. 제 8 항에 있어서,
    상기 모니터링을 수행하는 단계 이후에,
    오픈플로우 스위치로부터 상기 플로우에 대응하는 종료 메시지를 수신하는 단계; 및
    상기 종료 메시지에 기초하여, 상기 종료 메시지를 전송한 오픈플로우 스위치의 정확도를 산출하는 단계를 더 포함하는, 오픈플로우 컨트롤러의 모니터링 방법.
  13. 제 8 항 내지 제 12 항 중 어느 한 항에 기재된 방법을 컴퓨터 상에서 수행하기 위한 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체.
  14. 제 1 항에 있어서,
    상기 각 오픈플로우 스위치의 정확도는 오픈플로우 스위치 정보 테이블에 미리 산출되어 저장된 것인 오픈플로우 컨트롤러.
KR1020160012798A 2016-02-02 2016-02-02 오픈플로우 컨트롤러 및 오픈플로우 컨트롤러의 플로우 모니터링 방법 KR101839499B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160012798A KR101839499B1 (ko) 2016-02-02 2016-02-02 오픈플로우 컨트롤러 및 오픈플로우 컨트롤러의 플로우 모니터링 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160012798A KR101839499B1 (ko) 2016-02-02 2016-02-02 오픈플로우 컨트롤러 및 오픈플로우 컨트롤러의 플로우 모니터링 방법

Publications (2)

Publication Number Publication Date
KR20170091916A KR20170091916A (ko) 2017-08-10
KR101839499B1 true KR101839499B1 (ko) 2018-03-16

Family

ID=59652396

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160012798A KR101839499B1 (ko) 2016-02-02 2016-02-02 오픈플로우 컨트롤러 및 오픈플로우 컨트롤러의 플로우 모니터링 방법

Country Status (1)

Country Link
KR (1) KR101839499B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015040624A1 (en) * 2013-09-18 2015-03-26 Hewlett-Packard Development Company, L.P. Monitoring network performance characteristics

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015040624A1 (en) * 2013-09-18 2015-03-26 Hewlett-Packard Development Company, L.P. Monitoring network performance characteristics

Also Published As

Publication number Publication date
KR20170091916A (ko) 2017-08-10

Similar Documents

Publication Publication Date Title
US11134012B2 (en) Communication system, communication device, controller, and method and program for controlling forwarding path of packet flow
US10356011B2 (en) Partial software defined network switch replacement in IP networks
US8817798B2 (en) Constraining topology size and recursively calculating routes in large networks
US10812372B2 (en) Method for determining forwarding path and control device
US10498607B2 (en) SDN network system, controller, and controlling method
KR101668426B1 (ko) Sdn 상에서 최적 경로 계산 시스템 및 방법
US9838336B2 (en) Communication system, control apparatus, forwarding node, control method and program
US11012442B2 (en) Address resolution protocol response handling
US20140241349A1 (en) Openflow switch and packet processing method thereof
EP3142303A1 (en) Network control method and apparatus
US9906437B2 (en) Communication system, control apparatus, control method and program
CN113132225B (zh) 路径选择方法、装置、计算机设备和计算机可读介质
CN108134707B (zh) 一种路由检测的方法、系统及网络设备
WO2014054281A1 (en) Control apparatus, control method thereof, and program
CN106487558A (zh) 一种实现接入设备扩缩容的方法和装置
EP2879336B1 (en) Transfer apparatus, server, and route changing method
KR101658824B1 (ko) 소프트웨어 정의 네트워크에서 플로우 룰을 변경하는 방법, 장치 및 컴퓨터 프로그램
CN105743687B (zh) 节点故障的判断方法及装置
US20150236867A1 (en) Network, network node, distribution method and network node program
US20150003291A1 (en) Control apparatus, communication system, communication method, and program
US8792503B2 (en) Path selection method, information processor, network system, and path selection program
EP3270542B1 (en) Management apparatus, network management method, and storage medium storing program
US20150381775A1 (en) Communication system, communication method, control apparatus, control apparatus control method, and program
KR101839499B1 (ko) 오픈플로우 컨트롤러 및 오픈플로우 컨트롤러의 플로우 모니터링 방법
EP3471351B1 (en) Method and device for acquiring path information about data packet

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant