KR102322454B1 - 프로그래밍 가능한 네트워크 가상화에서의 모니터링 방법 및 시스템 - Google Patents

프로그래밍 가능한 네트워크 가상화에서의 모니터링 방법 및 시스템 Download PDF

Info

Publication number
KR102322454B1
KR102322454B1 KR1020200051783A KR20200051783A KR102322454B1 KR 102322454 B1 KR102322454 B1 KR 102322454B1 KR 1020200051783 A KR1020200051783 A KR 1020200051783A KR 20200051783 A KR20200051783 A KR 20200051783A KR 102322454 B1 KR102322454 B1 KR 102322454B1
Authority
KR
South Korea
Prior art keywords
statistics
physical
virtual
network
flow entry
Prior art date
Application number
KR1020200051783A
Other languages
English (en)
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 KR1020200051783A priority Critical patent/KR102322454B1/ko
Priority to US17/128,353 priority patent/US11563655B2/en
Application granted granted Critical
Publication of KR102322454B1 publication Critical patent/KR102322454B1/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/12Network monitoring probes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/06Generation of reports
    • H04L43/062Generation of reports related to network traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • H04L12/4675Dynamic sharing of VLAN information amongst network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/142Network analysis or design using statistical or mathematical methods
    • 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/04Processing captured monitoring data, e.g. for logfile generation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/06Generation of reports
    • H04L43/065Generation of reports related to network devices
    • 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/0852Delays
    • 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/0888Throughput
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/14Arrangements for monitoring or testing data switching networks using software, i.e. software packages
    • 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
    • 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
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/70Virtual switches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/56Routing software
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/82Miscellaneous aspects
    • H04L47/829Topology based

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Pure & Applied Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Environmental & Geological Engineering (AREA)

Abstract

SDN(software defined network) 기반 네트워크 가상화를 구현하는 네트워크 하이퍼바이저(network hypervisor)가 구현된 컴퓨팅 장치가 개시된다. 상기 컴퓨팅 장치는 생성된 복수의 가상 네트워크들로 각각 개별적 통계를 제공하는 통계 가상화 모듈, 복수의 물리 스위치들에 대한 주기적인 모니터링을 수행하고 수집된 상기 물리 스위치들의 통계를 저장하는 물리 통계 캐시(physical statistics cache)를 포함하는 전송 분리 모듈, 및 하나의 모니터링 요청 시 상기 복수의 물리 스위치들의 통계를 담아 응답하는 물리 통계 물리 통계 모듈을 포함한다.

Description

프로그래밍 가능한 네트워크 가상화에서의 모니터링 방법 및 시스템{NETWORK MONITORING APPARATUS AND METHOD THEREOF IN PROGRAMMABLE NETWORK VIRTUALIZATION}
본 발명은 프로그래밍 가능한 SDN(Software Defined Network) 기반 네트워크 가상화 기술에서의 효율적인 모니터링 방법 및 시스템에 관한 것으로, 보다 상세하게는 SDN 가상 네트워크 컨트롤러에서 모니터링 수행시, 가상화된 네트워크를 고려하여 정확한 모니터링 수행을 가능하게 하는 방법에 관한 것이다.
SDN(Software Defined Networking)은 네트워킹 장비의 전송평면과 제어평면을 분리하고, 제어평면을 중앙 집중화하여 전체 네트워크에 대한 단일한 방식의 제어가 가능한 네트워킹 구조로서, 기존 제조사 종속적이고 새로운 연구의 적용이 어려운 네트워크에 유연성과 프로그래밍가능성(programmability)을 부여할 수 있다.
SDN 기반의 네트워크 가상화 기술은 다수의 네트워크 사용자가 자신의 가상 네트워크를 임의로 생성 및 제어하여 최적화된 가상 네트워크를 구성할 수 있는 기술이다. 다수의 사용자들이 존재할 때, 각 사용자는 각자의 가상 네트워크를 가지고 있으며 각자의 가상 네트워크 컨트롤러를 통해 SDN 형태로 가상 네트워크를 제어할 수 있다.
네트워크 하이퍼바이저(Network hypervisor)는 이와 같은 SDN 기반의 네트워크 가상화 기술을 제공하기 위한 네트워크 제어 요소이다. 네트워크 하이퍼바이저는 물리 네트워크 전체를 감시하고 제어하는 역할을 할 뿐만 아니라 스위치, 포트, 링크와 같은 물리 네트워크 자원을 가상 네트워크 자원으로 추상화하여 각 가상 네트워크 컨트롤러에게 제공한다. 각 사용자들은 가상 네트워크 컨트롤러를 통하여 제공받은 가상 네트워크들을 제어할 수 있다. 이러한 가상화 기법을 통해, 물리 네트워크를 여러 사용자에게 독립적인 형태로 나눠줄 수 있고, 각 가상 네트워크는 각 사용자의 서비스에 특화된 네트워크를 구성할 수 있다는 장점이 있다.
이러한 네트워크의 관리, 운용, 장애 극복, 최적화 등을 위해서는 네트워크 모니터링이 필수적인 요소이다. 네트워크의 스위치, 포트 별 상태 및 플로우 별 통계값을 수집해 관측하는 작업을 네트워크 모니터링이라 한다. 그러나 여러 사용자가 하나의 물리 네트워크에 각각 자신의 네트워크를 생성해 관리하는 네트워크 가상화 환경에서는 이러한 모니터링 방식에 한계가 있다.
국내공개특허 제10-2019-0063231에는, SDN 기반 데이터 센터 관리 시스템 및 방법에 관한 발명으로, SDN 컨트롤러와 네트워크 하이퍼바이저 매니저를 구비하고, 자원 감시 모듈은 네트워크 트래픽을 모니터링하는 것을 제안하고 있다. 그러나, 다양한 모니터링 방식의 한계를 극복하기 어려운 실정이다.
대한민국 공개특허 제2019-0063231호 (2019.06.07. 공개)
본원 발명이 해결하고자 하는 과제는 가상 네트워크 별 모니터링 결과를 사용자한테 제공하며, 모니터링 작업을 작은 지연으로 수행하며, 총 컨트롤 채널의 사용량을 줄이는 특성을 갖는 SDN 기반 네트워크 가상화를 구현하는 네트워크 하이퍼바이저가 구현된 컴퓨팅 장치를 제공하는 것이다.
해결하고자 하는 과제를 달성하기 위하여 본 발명의 실시 예들에 따른 네트워크 하이퍼바이저가 구현된 컴퓨팅 장치는 생성된 복수의 가상 네트워크들로 각각 개별적 통계를 제공하는 통계 가상화 모듈을 포함하되, 상기 통계 가상화 모듈은 가상 플로우 엔트리(virtual flow entry)를 대상으로 하는 제1 알고리즘을 이용하여 가상 플로우 엔트리 통계를 제공하며, 가상 포트(virtual port)를 대상으로 하는 제2 알고리즘을 이용하여 가상 포트 통계를 제공한다.
다른 실시예에 따른 네트워크 하이퍼바이저가 구현된 컴퓨팅 장치는, 복수의 물리 스위치들에 대한 주기적인 모니터링을 수행하고 수집된 상기 물리 스위치들의 통계를 저장하는 물리 통계 캐시(physical statistics cache)를 포함하는 전송 분리 모듈을 포함하되, 상기 전송 분리 모듈은 상기 물리 통계 캐시에 있는 상기 물리 통계를 기반으로 가상 통계를 계산한다.
또 다른 실시예에 따른 네트워크 하이퍼바이저가 구현된 컴퓨팅 장치는 하나의 모니터링 요청 시 복수의 스위치들의 통계를 담아 응답하는 물리 통계 물리 통계 집적 모듈을 포함하되, 상기 물리 통계 집적 모듈은 물리통계 필터(pCollector filter) 작업 및 물리통계 튜너(pCollector tuner) 작업을 수행한다.
또 다른 실시예에 따른 네트워크 하이퍼바이저가 구현된 컴퓨팅 장치는 생성된 복수의 가상 네트워크들로 각각 개별적 통계를 제공하는 통계 가상화 모듈, 복수의 물리 스위치들에 대한 주기적인 모니터링을 수행하고 수집된 상기 물리 스위치들의 통계를 저장하는 물리 통계 캐시(physical statistics cache)를 포함하는 전송 분리 모듈, 및 하나의 모니터링 요청 시 상기 복수의 물리 스위치들의 통계를 담아 응답하는 물리 통계 집적 모듈을 포함한다.
본 발명의 실시 예들에 따른 네트워크 하이퍼바이저는 가상 네트워크 별 모니터링 결과를 사용자한테 제공하며, 모니터링 작업을 작은 지연으로 수행하며, 총 컨트롤 채널의 사용량을 줄일 수 있다.
도 1은 본 발명의 일 실시예에 따른 SDN 기반 네트워크 가상화 구조를 설명하기 위한 도면이다.
도 2는 본 발명의 일 실시예에 따른 네트워크 하이퍼바이저를 설명하기 위한 도면이다.
도 3은 본 발명의 일 실시예에 따른 네트워크 하이퍼바이저를 사용할 경우 가상 네트워크로 개별적 통계를 제공하는 예시를 설명하는 도면이다.
도 4는 일반적인 SDN 기반 네트워크 가상화 구조를 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시예에 따른 SDN 기반 네트워크 가상화 구조를 설명하기 위한 도면이다.
도 6은 본 발명의 일 실시예에 따른 전송 분리 모듈을 이용한 경우 전송 지연을 설명하는 도면이다.
도 7은 본 발명의 일 실시예에 따른 요청 간격 추정을 설명하기 위한 순서도이다.
도 8은 본 발명의 일 실시예에 따른 네트워크 하이퍼바이저를 설명하기 위한 도면이다.
도 9는 두 가지 유형의 물리 통계(pCollector)를 설명하는 도면이다.
도 10은 물리 통계 집적 모듈을 설명하기 위한 순서도이다.
도 11a 내지 도 11d는 본 발명의 일 실시예에 따른 집적된(aggregated) pCollector 및 작은 pCollector의 시작 지연을 설명하기 위한 도면들이다.
도 12a는 선형 토폴로지를 도시한 도면이고 도 12b는 4-ary 팻-트리(fat-tree) 토폴로지를 도시한 도면이다.
도 13a 내지 도 13d는 실험예 1, 비교예 1, 및 비교예 2 각각에 대한 평균 통계 전송 지연을 나타내는 그래프이다.
도 14a 및 도 14b는 두 토폴로지에서 실험예 1, 비교예 1, 및 비교예 2의 제어 채널 소비를 보여주는 도면들이다.
도 15a 내지 도 15d는 선형 및 팻-트리 토폴로지의 네트워크 연결 수에 대한 시간 차이를 평균 및 95 % 신뢰 구간으로 표시한 도면들이다.
본 발명의 구성 및 효과를 충분히 이해하기 위하여, 첨부한 도면을 참조하여 본 발명의 바람직한 실시 예들을 설명한다. 그러나 본 발명은, 이하에서 개시되는 실시 예들에 한정되는 것이 아니라, 여러 가지 형태로 구현될 수 있고 다양한 변경을 가할 수 있다.
또한, 본 발명의 실시 예들에서 사용되는 용어들은 다르게 정의되지 않는 한, 해당 기술 분야에서 통상의 지식을 가진 자에게 통상적으로 알려진 의미로 해석될 수 있다.
이하, 첨부된 도면을 참조하여, 본 발명의 실시예들에 따른 SDN(software defined network) 기반 네트워크 가상화를 구현하는 네트워크 하이퍼바이저(network hypervisor)를 설명하기로 한다.
구체적인 본 발명의 특징들을 설명하기 전에, 간략한 용어 설명을 하기로 한다.
SDN(software defined networking)은 네트워킹 장비의 전송평면과 제어평면을 분리하고, 제어평면을 중앙 집중화하여 전체 네트워크에 대한 단일한 방식의 제어가 가능한 네트워킹 구조로서, 기존 제조사 종속적이고 새로운 연구의 적용이 어려운 네트워크에 유연성과 프로그래밍가능성(programmability)을 부여할 수 있다. 중앙 집중화된 스위치의 제어평면은 SDN 컨트롤러라고 불리며, 스위치와 링크와 같은 네트워크 자원으로 구성된 전송평면을 제어할 수 있다.
네트워크 컨트롤러는 각 사용자의 가상 네트워크를 제어하기 위해 사용하는 요소이다. 특히, SDN 기반의 가상 네트워크에서 사용자의 중앙 집중화된 가상 네트워크 컨트롤러는 제어평면 역할을 하며, 가상 스위치와 OpenFlow 등의 프로토콜을 통해 데이터 전송에 필요한 규칙(또는 규약)을 내려 보내는 등의 통신을 수행한다.
네트워크 가상화(network virtualization)는 하나의 물리 네트워크를 여러 개의 가상 네트워크들로 분리하여 제공하는 기술이다. 네트워크 가상화를 통해, 특화된 가상 네트워크를 만들어 네트워크를 사용하는 서비스의 효율성을 높일 수 있으며, 전체 물리 네트워크의 활용률 또한 극대화할 수 있다. SDN 기반의 네트워크 가상화에서는 네트워크 하이퍼바이저를 사용하여 제공될 수 있다.
네트워크 하이퍼바이저는, 서로 다른 SDN 컨트롤러를 사용하는 다수의 사용자가 존재하고 이 사용자들이 하나의 공유된 물리 네트워크를 사용할 때, 각 사용자들에게 분리된 가상 네트워크를 제공하는 요소이다. 가상 네트워크 자원과 물리 네트워크 자원의 맵핑 정보를 관리하고 가상 네트워크 컨트롤러부터 내려온 OpenFlow 등의 컨트롤 메시지를 물리 네트워크에 맞는 형태로 변경해주는 역할을 수행한다. 네트워크 하이퍼바이저는 적어도 프로세서 및/또는 메모리를 포함하는 컴퓨팅 장치, 예컨대 서버 등으로 구현될 수 있다. 또한, 본 명세서 상에서 네트워크 하이퍼바이저는 하이퍼바이저가 구현된 컴퓨팅 장치를 의미하는 용어로 사용될 수도 있다.
SDN 가상 네트워크 모니터링은 네트워크의 스위치, 포트 별 상태 및 플로우 별 통계값을 수집해 관측하는 작업이며, 네트워크 관리 및 최적화에 필수적이다. SDN 네트워크 모니터링의 경우 물리 네트워크에서 토폴로지 상태, 스위치별 플로우 통계 및 포트 상태 등의 통계를 취합하고 SDN 컨트롤러로 전송되는 방식으로 이뤄진다. SDN 네트워크 가상화를 실현하는 대표적인 네트워크 하이퍼바이저인 OpenVirteX 또한 이러한 방식으로 네트워크 모니터링을 수행한다.
그러나 여러 사용자가 하나의 물리 네트워크에 각각 자신의 네트워크를 생성해 관리하는 네트워크 가상화 환경에서는 모니터링 방식에 한계가 있다. 먼저 해결하고자 하는 한계를 세가지로 특정한다.
첫째, 정확한 가상 네트워크별 모니터링이 불가능하다. 네트워크 가상화 환경에서는 물리 자원이 여러 가상 네트워크 간에 공유된다. 따라서 물리 네트워크 기반 모니터링 방식은 가상 네트워크 별로 통계를 제공할 수 없다는 한계를 지닌다. 예를 들어, 하나의 물리 자원에 세 명의 사용자가 각각 가상 네트워크를 생성해 사용할 경우, 네트워크 모니터링은 사용자 별 네트워크 사용량 등의 정보를 제공할 수 없다.
둘째, 사용자가 높은 모니터링 지연을 겪는다. 네트워크 모니터링은 네트워크 상태를 관리하기 위해 주기적으로 측정된다. 네트워크 가상화 환경에서는 이 주기적인 모니터링이 매번 가상화를 거쳐서 수행되고, 이로 인해 네트워크 모니터링 요청부터 응답까지의 지연이 높아지게 된다. 높은 지연으로 인해 사용자는 실시간 네트워크 모니터링이 어려워지고 상대적으로 오래되고 부정확한 모니터링 결과를 얻게 된다.
셋째, 컨트롤 채널 과다하게 사용하는 문제가 있다. 컨트롤 채널은 모니터링 등 통계 수집에 사용되며, 그 외에도 스위치 커넥션 핸드쉐이킹, 플로우 룰 설치, 토폴로지 디스커버리, arp 처리 등에 사용된다. 모니터링으로 인한 컨트롤 채널의 사용량이 증가할 경우 플로우 룰 설치 등 다른 기능들이 높은 지연을 겪게 되는 문제가 있고, 이러한 기능들은 네트워크 성능에 직접적인 영향을 미치기 때문에 컨트롤 채널의 사용량은 최소한으로 유지되어야 한다. 그러나 네트워크 가상화 환경에서는 여러 사용자가 모니터링을 수행하고 이와 관련된 최적화가 되어 않기 때문에, 사용자가 늘어남에 따라 모니터링으로 인한 컨트롤 채널의 사용량이 증가하는 문제가 있다.
이하, 상기에서 설명된 세 가지의 문제를 해결하기 위하여, 사용자에게 적은 컨트롤 채널을 소모하며 빠르고 정확하게 네트워크 통계를 전달하기 위한 네트워크 하이퍼바이저를 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 SDN 기반 네트워크 가상화 구조를 설명하기 위한 도면이다.
도 1을 참조하면, SDN 기반 네트워크 가상화 구조는 물리 네트워크를 여러 사용자에게 각각 가상 네트워크를 제공하는데, 물리 네트워크를 가상 네트워크로 가상화하기 위하여 네트워크 하이퍼바이저(또는 네트워크 하이퍼바이저가 구현된 컴퓨팅 장치)가 필요하다.
도 2는 본 발명의 일 실시예에 따른 네트워크 하이퍼바이저를 설명하기 위한 도면이다.
도 2를 참조하면, 네트워크 하이퍼바이저는 생성된 복수의 가상 네트워크들로 각각 개별적 통계를 제공하는 통계 가상화 모듈을 포함한다.
통계 가상화 모듈은 가상 플로우 엔트리(virtual flow entry)를 대상으로 하는 제1 알고리즘을 이용하여 가상 플로우 엔트리 통계를 제공하며, 가상 포트(virtual port)를 대상으로 하는 제2 알고리즘을 이용하여 가상 포트 통계를 제공할 수 있다.
우선, 가상 플로우 엔트리 통계에 대하여 설명하기로 한다. 가상 플로우 엔트리 통계는 패킷 카운트(packet count), 바이트 카운트(byte count), 및 플로우 엔트리 설치 시간(duration of the installed entry) 중 적어도 하나를 포함할 수 있다. 한편, 네트워크 하이퍼바이저는 개별적 통계를 위해, 가상 플로우(virtual flow entry, vf)와 물리 플로우(physical flow entry, pf) 사이 맵핑을 확인하기 위한 가상 맵 모듈을 더 포함할 수 있다. 제1 알고리즘은 아래와 같다.
Figure 112020044060257-pat00001
제1 알고리즘을 참조하면, 물리 플로우(pf)가 가상 네트워크와 공유되지 않을 경우(즉, |V(pf)|=1), 물리 플로우(pf)의 통계는 가상 플로우(vf)의 통계가 된다. 물리 플로우(pf)가 가상 네트워크 사이에서 공유되는 경우(즉, |V(pf)|>1), 물리 플로우(pf)에 매핑된 가상 플로우(vf)의 모든 통계를 집계하므로 물리 플로우(pf) 통계를 가상 네트워크 컨트롤러에 직접 응답하지 않는다. 특히, 다수의 가상 플로우(vf)가 하나의 물리 플로우(pf)에 매핑될 때, 엣지 스위치(edge switch, 전달 경로의 첫 번째 및/또는 마지막 스위치)에 대한 복수의 가상 플로우(vf)는 매핑 케이스 |V(pf)|=1와 같이 각 가상 네트워크 각각에 설치된다. 이는 엣지 스위치에서, 패킷이 가상 네트워크에서 분리(isolation)를 보장하기 위해 가상 네트워크마다 개별적으로 처리되기 때문이다. 즉, 엣지에서 물리 플로우(pf)는 가상 네트워크마다 할당되므로 엣지의 패킷이 호스트(또는 가상 머신)에 전달된다. 따라서, 엣지 스위치의 물리 통계를 요청된 가상 통계로 응답할 수 있다.
이어서, 가상 포트 통계를 설명하기로 한다. 가상 포트 통계는 수신(RX) 및/또는 송신(TX) 패킷 양을 포함할 수 있다. 제2 알고리즘은 아래와 같다.
Figure 112020044060257-pat00002
제2 알고리즘을 참조하면, 플로우 엔트리와 유사하게, 물리 포트(pp)는 하나 이상의 가상 네트워크에 의해 공유될 수 있다. 단일 가상 네트워크가 물리 포트를 이용하는 경우, 물리 포트(pp)의 통계는 가상 포트(vp)의 통계가 된다. 한편, 물리 포트(pp)가 복수의 가상 포트(vp)에 매핑되는 경우, 복수의 가상 네트워크의 트래픽을 수신 및 전송한다. 이 경우, 알고리즘 1에서 획득한 가상 플로우 통계를 사용하는데, 가상 플로우(vf)는 스위치의 가상 포트(vp)와 주고 받는 패킷을 처리하기 때문이다. 수신(RX)의 경우, 가상 포트(vp)를 입력 포트로 사용하는 가상 플로우(vf)의 가상 통계를 누적하며, 전송(TX)을 계산하기 위해 패킷을 가상 포트(vp)로 보내는 가상 플로우(vf)의 가상 통계를 합산한다.
이와 같이, 통계 가상화 모듈을 사용하면, 복수의 가상 네트워크들로 각각 개별적(isolated) 통계를 제공할 수 있다. 도 3은 본 발명의 일 실시예에 따른 네트워크 하이퍼바이저를 사용할 경우 가상 네트워크로 개별적 통계를 제공하는 예시를 설명하는 도면이다. 도 3을 참조하면, 물리 포트의 트래픽 통계량이 60이라면, 기존에는 모든 가상 네트워크가 모니터링 결과로 60의 통계량을 얻는다. 그러나, 본 발명의 일 실시예에 따른 통계 가상화 모듈을 사용할 경우, 가상 네트워크가 각각 자신의 통계량, 예를 들면 제1 가상 네트워크는 10의 통계량, 제2 가상 네트워크는 20의 통계량, 및 제3 가상 네트워크는 30의 통계량을 각각(isolated) 획득할 수 있다.
전술한 문제점 중 두 번째 문제 즉, 모니터링의 지연에 대하여 보다 상세하게 설명하기로 한다.
도 4는 일반적인 SDN 기반 네트워크 가상화 구조를 설명하기 위한 도면이다.
도 4를 참조하면, 가상 통계의 전송 지연은 (1) 가상 네트워크 컨트롤러와 네트워크 하이퍼바이저 간의 가상 통계 요청 및 응답 메시지 전송 시간(dv), (2) 네트워크 하이퍼바이저와 물리 스위치 간의 물리 통계 요청 및 응답 메시지 전송 시간 (가상 통계의 요청에 따라 여러 번 발생 가능), 및 (3) 통계계산을 위한 네트워크 하이퍼바이저에서 처리 시간(dNH)을 포함한다. 가상 통계에 필요한 물리 통계의 수가 n이면, 총 전송 지연은 dv+ndp+dNH로 공식화된다. 지연을 감소시키기 위해서는 물리 통계 전송 시간, ndp를 감소하는 데 있다. 따라서, ndp를 줄이기 위하여 전송 분리(transmission disaggregation) 모듈을 이용하여 물리 통계 캐시(cache) 및 요청 간격 추정(request interval estimation)을 도입한다.
도 5는 본 발명의 일 실시예에 따른 SDN 기반 네트워크 가상화 구조를 설명하기 위한 도면이다.
도 5를 참조하면, 네트워크 하이퍼바이저는 전송 분리 모듈을 포함할 수 있다. 이 경우, 네트워크 하이퍼바이저는 도 1에 도시된 통계 가상화 모듈을 더 포함할 수 있다. 통계 가상화 모듈은 도 1 내지 도 3에서 설명한 것과 동일하여 그 상세한 설명을 생략하기로 한다.
이하에서는 전송 분리 모듈에 대하여 상세하게 설명하기로 한다. 전술한 바와 같이, 전송 분리 모듈은 물리 통계 캐시 및 요청 간격 추정을 도입한다.
우선, 물리 통계 캐시는 물리 통계가 저장된 시간과 가상 네트워크 당 물리 통계가 이미 사용되었는지 여부를 추적한다. 물리 통계 캐시에 요청 가상 네트워크에 사용되지 않은 물리 통계가 포함된 경우(hit 경우), 물리적 스위치에서 물리 통계를 검색하지 않고 물리 통계를 직접 응답할 수 있다. 반면, 물리 통계가 물리 통계 캐시에 없거나(miss 경우) 이전에 가상 네트워크 요청에 사용 되었기 때문에 오래된 경우(old 경우), 캐시는 물리적 스위치에서 물리 통계를 검색한다. 도 6은 본 발명의 일 실시예에 따른 전송 분리 모듈을 이용한 경우 전송 지연을 설명하기는 도면이다. 도 6을 참조하면, 가상 통계에 필요한 물리 통계의 수가 n이고 물리 통계의 k가 캐시에 있는 경우(hit 경우, 즉 물리 통계 캐시에 대한 n-k 액세스가 누락되었거나 오래되었음을 의미), 가상 통계에 대해 n-k 번의 물리적 전송이 수행된다. 그러면 전체 전송 지연을 (1 + n-k) dp + dNH로 줄일 수 있다. 따라서, k를 증가시키는 것은 전송 지연을 개선하기 위해 중요하다.
물리 통계 캐시는 수집한 물리 통계(pCollector)로 채워질 수 있다. 수집한 물리 통계(pCollector)는 물리 플로우(pf)마다 존재한다. 즉, 수집한 물리 통계(pCollector)는 물리적 스위치의 물리 플로우(pf)에 대한 물리 통계를 검색하기 위해 실행된다. 명확하게, 가상 네트워크 컨트롤러에서 물리 플로우(pf)에 대한 두 개의 연속 요청 사이의 시간에 ‘간격(interval)’이라는 용어를 사용하고 수집한 물리 통계(pCollector)의 두 번의 연속 실행 간의 시간 차이에 대해서는 "주기(period)"를 사용한다.
각 수집한 물리 통계(pCollector)마다 실행 주기(period)를 결정해야 한다. 수집한 물리 통계(pCollector)의 주기(period)가 요청 간격(interval)보다 훨씬 짧은 경우 수집한 물리 통계(pCollector)가 hit 전에 여러 번 실행되어 CPU 및 제어 채널 자원을 낭비한다. 반대로, 수집한 물리 통계(pCollector)가 가상 통계 요청보다 덜 자주 실행되면 물리 통계가 오래되어 전송 지연을 줄일 수 없다. 따라서, 실행주기(execution period)를 결정하는 것이 매우 중요하며, 이것이 요청 간격 추정이다.
요청 간격 추정은 가상 네트워크 컨트롤러의 요청 간격을 특징짓는 물리 플로우(pf) 당 평균(μ) 및 분산(σ)을 계산한다. pfi의 경우, VNj의 요청은 pfi,j로 표시되고 그 분포는 (μi,j, σi,j)이다. 물리 통계 캐시에는 pf 식별자(pfi) 및 VN 식별자(j)를 포함한다. Pfi,j에 대한 k 번째 간격은 pfk i,j로 표시된다.
도 7은 본 발명의 일 실시예에 따른 요청 간격 추정을 설명하기 위한 순서도이다. 도 7을 참조하면, 요청 간격 추정은 물리 플로우 식별자(pfi) 및 가상 네트워크 식별자(j)가 수신될 때마다 실행된다. 이 프로세스는 물리 플로우 식별자(pfi) 및 가상 네트워크 식별자(j)가 각 가상 통계 요청이 수신될 때마다 실행된다. 먼저, 요청 간격 추정은 연속 요청들 사이의 간격을 기록한다(S10). 충분한 간격이 누적되면(S20), 요청 간격 추정은 (μi,j, σi,j)을 계산한다(S30). 계산에 사용된 구간의 수는 '간격 윈도우(ω)'로 표시될 수 있다. (ω+1) 번째 요청이 올 때 Pfi,ji,j, σi,j)의 분포는 Pf1 i,j 에서 Pfk i,j 을 기반으로 계산된다. 이어서, 여러 가상 네트워크의 분포 중에서 최소 μ값을 갖는 구간 분포를 선택한다(S50). 다시 말해, 여기서 (μi, σi) = (μi,l, σi,l)이며, 이때, l=arg minjμi,j이다. (μi, σi)를 기반으로 pfi에 대한 수집된 물리 통계(pCollector)를 적시에 해당되는 요청에 대한 pfi의 통계를 저장하기 때문에, 선택된 pfi보다 큰 μ를 갖는 요청은 히트(hit)일 것이다. 선택된 분포는 트리플(pfi, μi, σi)로 수집된 물리 통계(pCollector)는 물리 통계(pCollector) 모듈로 전달될 수 있다. w의 수량의 간격이 누적된 후 수집된 물리 통계(pCollector)가 생성된다. 간격 윈도우 전에 물리 통계 캐시는 pfi의 요구된 물리 통계에 대해 'miss'를 생성하여 각 요청에 대해 물리 네트워크에서 물리 통계를 수집한다.
각 가상 네트워크 컨트롤러의 요청 간격이 변경될 수 있다. 요청 추정 간격은 새로운 간격 분포를 전송한 후 과거 간격의 w 수 (pf1 i , j 내지 pfw i , j)를 제거하고(flush, S70) 1부터 w까지의 간격을 다시 누적한다. 따라서, w 수의 기록된 간격(S20)에 대해, (μi , j, σi , j)가 업데이트된다(S30). pfi에 대한 물리 통계(pCollector)가 이미 생성된 경우(S40), 요청 간격 추정은 새로 업데이트된 μi,j가 이전 값에서 얼마나 변경되었는지 확인한다(S80). 변경된 양이 많으면(예컨대, 25%), 이 함수는 pfi에 대한 새 분포를 선택하고(S50) 물리 통계(pCollector)에 새로운 트리플(pfi, μi, σi)을 전달한다(S60).
도 8은 본 발명의 일 실시예에 따른 네트워크 하이퍼바이저를 설명하기 위한 도면이다.
도 8을 참조하면, 네트워크 하이퍼바이저는 물리 통계(pCollector) 집적 모듈을 더 포함할 수 있다. 이 경우, 네트워크 하이퍼바이저는 도 1에 도시된 통계 가상화 모듈 및 도 5에 도시된 전송 분리 모듈을 더 포함할 수 있다. 통계 가상화 모듈은 도 1 내지 도 3에서 설명한 것과 동일하며, 전송 분리 모듈은 도 5 내지 도 7에서 설명한 것과 동일하여, 그 상세한 설명을 생략하기로 한다.
수집된 물리 통계(pCollector)에 대하여 물리 통계(pCollector) 집적 모듈은 '물리 통계(pCollector) 필터(filter)' 작업 및 ‘물리 통계(pCollector) 튜너(tuner)’작업을 수행할 수 있다.
물리 통계 필터 작업은 각 물리 통계(pCollector)의 실행 주기를 결정하고 특정 물리적 스위치에 대해 물리 통계(pCollector)를 하나의 물리 통계(pCollector)로 병합할 수 있는지 확인한다. ‘물리 통계(pCollector) 튜너’는 정확도 향상을 위해 물리 통계(pCollector)의 시작 지연을 결정한다.
물리 통계(pCollector) 집적의 목적은 물리 통계(pCollector)를 실행하고 병합하는 것이다. 전송 분리 모듈에서 트리플(pfi, μi, σi)이 주어지면, pfi에 대한 물리 통계(pCollector)가 생성된다. 물리 통계(pCollector)는 주기적으로 스위치에서 pfi 통계를 검색한다. 그러나 물리 통계(pCollector)의 수가 증가하면 물리 통계(pCollector)는 너무 많은 제어 채널을 소비할 수밖에 없다. 도 9는 두 가지 유형의 물리 통계(pCollector)를 설명하는 도면이다. 도 9의 위쪽에서, 세 개의 물리 통계(pCollector)가 자체 pf에서 통계를 검색한다. 도 9의 하단에는 한 번에 여러 통계를 수집하는 하나의 물리 통계(pCollector)가 표시된다. 전자의 경우 요청 메시지에는 일치 필드 및 pf 조치가 포함되어야 한다. 반대로, 후자의 경우 요청 메시지에는 요청으로 "all"이 포함된다. 분명히, 후자의 물리 통계(pCollector)는 전자보다 더 적은 제어 채널을 소비한다. 단일 pf에 대하여, 전자의 물리 통계(pCollector)를 '작은 물리 통계(tiny pCollector)'로, 후자의 물리 통계(pCollector)를 '집적된 물리 통계(aggregated pCollector)'라고 명명하기로 한다. 작은 물리 통계(pCollector)가 스위치에서 pf에 대해 비슷한 주기를 따를 때 집적된 물리 통계(pCollector)가 형성된다.
물리 통계(pCollector) 집적 모듈은 작은(또는 소규모) 및 집적된 물리 통계(pCollector)의 실행 주기를 결정하는 물리 통계(pCollector) 필터 및 물리 통계(pCollector)의 결과를 사용하여 가상 통계의 정확성을 개선하기 위한 물리 통계(pCollector) 튜너(tuner)의 두 가지 작업을 수행한다.
(pfi, μi, σi)에서 물리 통계(pCollector) 필터는 pfi에 대한 물리 통계(pCollector)의 주기를 결정한다. 작은 물리 통계(pCollector)의 경우 이것은 간단하다. 그러나 집적된 물리 통계(pCollector)의 경우 가상 네트워크 컨트롤러가 비슷한 간격으로 통계 요청을 발생하더라도 분포가 w 샘플을 기반으로 추정되므로 pfi의 각 μi는 약간 다를 수 있다(예컨대, 4.7 초, 4.9 초, 및 5.1 초). 따라서 집적된 물리 통계(pCollector)의 주기를 결정하기가 어렵다. 이 문제를 해결하기 위해 물리 통계(pCollector) 필터는 비슷한 주기를 갖는 작은 물리 통계(pCollector)로 시작한다.
도 10은 물리 통계 집적 모듈을 설명하기 위한 순서도이다. 도 10을 참조하면, μi 및 σi에 의해 도출된 누적된 확률 분포 함수로부터, 물리 통계 필터는 90% 내지 95%와 같이 특정 적중률(hit rate)을 만족하는 주기 범위를 찾는다(S110). 물리 통계(pCollector)의 주기보다 긴 간격을 가진 요청은 히트(hit)일 것이고, 이 작업은 μi 및 σi를 사용하여 주기 범위를 확률적으로 도출할 수 있다. 이후, 범위 내의 모든 가능한 주기 값에 대해 물리 통계 필터는 값에 대한 주기가 있는 작은 물리 통계(tiny pCollector)의 수를 계산하고(S120) 작은 물리 통계 수가 가장 많은 주기 값이 선택된다(S130). 주기가 선택되면 물리 통계 필터는 스위치의 기존 pf 수와 유사한 주기를 따르는 작은 물리 통계 수의 비율을 계산한다(S140). 비율이 낮으면 집적된 물리 통계(aggregated pCollector)가 작은 물리 통계(tiny pCollector)보다 더 많은 제어 트래픽을 소비한다. 따라서, 비율이 높은 경우(예컨대, 70%, S150) 물리 통계 튜너는 기존의 작은 물리 통계(pCollector)를 집적된 물리 통계(pCollector)로 병합한다.
물리 통계 튜너(pCollector tuner) 역할은 가상 통계의 정확성을 향상시키기 위해 각 물리 통계(pCollector)의 첫 실행을 추가 지연시킨다. 도 11a 내지 도 11d는 본 발명의 일 실시예에 따른 집적된 물리 통계(aggregated pCollector) 및 작은 물리 통계(tiny pCollector)의 시작 지연을 설명하기 위한 도면들이다. 도 11a 내지 도 11d에서, 빨간색 박스는 가상 네트워크로부터 가상 통계 요청을 나타내고, 파란색 박스는 작은 물리 통계(tiny pCollector)에 의한 pStatistics 응답을 나타내며, 보라색 박스는 집적된 물리 통계(aggregated pCollector)에 의한 pStatistics 응답을 나타내며, 빨간색 화살표는 가상 통계 요청과 물리 통계 응답 사이의 시간 차이를 나타낸다.
도 11a를 참조하면, 가상 통계 요청이 도착한 시간과 pStatistics가 pCollector를 통해 수집되는 시간 사이에는 시차가 존재한다. 이 시간 차이는 pCollector가 처음 실행되는 시간에 따라 다르다. 가상 통계 요청 조금 전에 pCollector를 실행하면 그림 11b와 같이 시간 차이가 작으면, 이는 캐시된 pStatistics가 최신 상태이라는 것을 의미한다. 시차가 커질수록 가상 통계의 정확도가 떨어진다. 따라서 pCollector의 첫 번째 실행에 지연을 추가하기 위해 '시작 지연'을 도입한다. 작은 물리 통계(tiny pCollector)의 경우, 가상 통계 요청 직전에 (간격 윈도우 다음에 오는) 작은 물리 통계(tiny pCollector)를 실행하려면 시작 지연을 설정한다. 또한, 그림 11a와 같이 가상 통계 요청 후 pCollector가 실행되지 않도록 시작 지연 시간이 너무 크지 않아야 한다. 시작 지연을 pCollector 기간의 95%로 설정한다(도 10의 S160).
한편, 집적된 물리 통계(aggregated pCollector)의 경우 작은 물리 통계(tiny pCollector)의 시작 지연을 설정하는 방법이 정확도를 떨어뜨린다. 이는 집적된 물리 통계(aggregated pCollector)가 처리하는 여러 요청이 pCollector 기간과 관련하여 다른 시간에 존재하기 때문이다. 도 11c에서 다른 가상 네트워크 (VN2 다음에 VN1)의 두 가상 통계 요청이 있는 경우를 도시한다. 시작 지연이 집적된 물리 통계(aggregated pCollector)의 95%로 설정된 경우 집적된 물리 통계(aggregated pCollector)의 실행 시간은 VN2 이후 및 VN1 이전일 수 있다. 도 11c에서 볼 수 있듯이 VN2의 요청 직후 집적된 물리 통계(aggregated pCollector)가 실행되므로 VN2에 오랜 지연이 발생한다.
따라서, pCollector 튜너는 집적된 물리 통계(aggregated pCollector)의 시작 지연을 다음과 같이 설정한다. 먼저 pCollector 튜너는 각 가상 네트워크에 대한 가상 통계 요청 시간을 저장하는 요청 간격 추정을 확인하며(도 10의 S170), 각 가상 네트워크에 대한 가상 통계 요청 시간을 저장한다. 도 11d을 참조하면, 그런 다음 집적된 물리 통계(aggregated pCollector)가 병합한 가상 네트워크 요청 중 첫 번째 가상 통계 요청 직전에 시작 지연이 설정된다(도 10의 S180). 이러한 방식으로, 집적된 물리 통계(aggregated pCollector)가 실행된 시간부터 각 가상 통계 요청이 도착한 시간까지의 시간 차이의 합이 최소화된다. 마지막으로 pCollector 튜너는 시작 지연과 함께 pCollector를 주기적으로 실행한다(도 10의 S190).
이하, 본 발명의 일 실시예에 따른 네트워크 하이퍼바이저를 포함한 SDN 네트워크에 대한 실험예를 설명하기로 한다.
본 실험예에서는 전송 지연, 제어 채널 소비 및 정확도 오버 헤드를 측정하며, 40개 이상의 측정 결과에 대해 각 실험을 반복한다.
실험예 1은 본 실시예에서 설명된 네트워크 하이퍼바이저를 포함한 가상화된 SDN이며, 비교예 1은 본 실시예에서 설명된 네트워크 하이퍼바이저의 특징이 없는 네트워크 하이퍼바이저를 이용한 가상화된 SDN이며, 비교예 2는 가상화되지 않은 네이티브 네트워크(native network)이다.
도 12a은 선형 토폴로지를 도시한 도면이고 도 12b은 4-ary 팻-트리(fat-tree) 토폴로지를 도시한 도면이다. 실험예 1, 비교예 1, 및 비교예 2 각각을 도 12a 및 도 12b에 도시된 토폴로지에 따라 실험을 수행한다.
또한, 실험예 1, 비교예 1, 및 비교예 2 각각을 iperf3로 생성하는 tcp 연결의 수를 변경하고, 각 테넌트는 ONOS 컨트롤러로 모니터링 요청을 발생시킨다.
평가
1. 전송 지연: 가상 통계 요청과 가상 네트워크 컨트롤러 간의 응답 메시지 간 평균 간격을 측정하여 평가한다.
도 13a 내지 도 13d는 실험예 1, 비교예 1, 및 비교예 2 각각에 대한 평균 통계 전송 지연을 나타내는 그래프이다.
도 13a 내지 도 13d에서 비교예 1의 전송 지연이 TCP 연결 수 (2 초 이상)에 비례하여 크게 증가함을 보여준다. 그러나, 실험예 1에서 pStatistics 전송 루틴을 vStatistics 가상화에서 분리하여 이 지연을 감소시킨다. 도 13a 및 도 13b의 선형 토폴로지에서 실험예 1은 흐름 입력 및 포트 통계 전송에 각각 평균 9.35ms 및 4.68ms를 소비한다. 실험예 1의 지연은 비교예 1에 비해 46 배 (플로우 엔트리 통계, 6개 연결) 및 454 배(포트 통계, 30개 연결)로 향상된다. 도 13c 및 도 13d의 팻-트리 토폴로지의 경우 실험예 1은 각각 유량 입력 및 포트에 대해 9.75ms 및 7.29ms의 전송 지연이 필요하다. 실험예 1의 지연은 14배 (포트 통계, 2개 연결)에서 269배 (포트 통계, 32개 연결)로 향상된다. 구체적으로, 연결 수가 증가함에 따라 vStatistics에 필요한 pStatistics의 수가 증가하므로 가상 네트워크의 전송 지연은 TCP 연결 수에 비례하여 증가한다. 그런 다음 해당 pStatistics가 수집된 후에만 vStatistics가 가상 네트워크 컨트롤러로 반환된다. 반대로, 실험예 1은 pStatistics 전송 루틴을 vStatistics 가상화에서 분리하여 이 지연을 감소시킬 수 있다.
실험예 1과 비교예 2 간의 전송 지연을 비교하여 가상화 오버 헤드(overhead)를 확인할 수 있다. 도 13a 및 도 13b의 선형 토폴로지에서 비교예 2는 흐름 입력 및 포트 통계 전송 지연에 각각 2.8ms 및 1.5ms를 사용한다. 실험예 1의 지연 시간은 평균보다 3.4배 높다. 또한, 도 13c 및 도 13d의 팻 트리 토폴로지의 경우 비교예 2는 흐름 입력 및 포트 통계 전송에 대해 각각 4.6ms 및 2.37ms 지연을 나타낸다. 실험예 1의 결과는 비교예 2보다 1.09배 (플로우 엔트리 통계, 2개의 연결)에서 6.69 배 (포트 통계, 2개의 연결) 더 높다. 실험예 1의 지연은 비교예 2의 지연보다 높지만 모든 값은 20ms보다 낮다. ONOS, Floodlight 및 OpenDayLight의 기본 모니터링 간격은 각각 5 초, 10 초 및 15 초이므로 실험예 1의 전송 지연 (최대 19.36ms)이 허용될 수 있다.
2. 제어 채널 소비: 네트워크 하이퍼바이저와 물리적 스위치 사이의 물리 플로우 엔트리(pf) 통계를 얻기 위한 제어 채널 트래픽의 초당 평균 바이트를 측정하여 평가한다.
도 14a 및 도 14b는 두 토폴로지에서 실험예 1, 비교예 1, 및 비교예 2의 제어 채널 소비를 보여주는 도면들이다. 도 14a 및 도 14b를 참조하면, 연결 수에 따라 pf 모니터링이 증가하기 때문에 연결 수에 비례하여 소비가 증가한다. 도 14a의 선형 토폴로지에서 실험예 1은 제어 채널 소비를 평균 약 1.9 배 향상시킨다. 도 14b의 팻-트리 토폴로지에서 실험예 1의 평균 소비량은 비교예 1보다 1.44 배 적다. 이러한 개선은 다중 패킷 헤더 (multiple packet headers)를 병합하는 집적된 pCollector의 이점 때문이다.
실험예 1과 비교예 1을 비교하면, 실험예 1은 선형 및 팻-트리 토폴로지에서 각각 107 % 및 93 %의 제어 채널 트래픽을 소비하므로 실험예 1의 소비량은 비교예 2의 소비량과 상당히 유사합니다. 또한, 네트워크 연결이 거의 없는 팻-트리 토폴로지에서 실험예 1은 비교예 2보다 훨씬 우수하다. 그 이유는 실험예 1이 vStatistics에 필요한 pStatistics가 있는 스위치만 모니터링하기 때문이다. 도 12b에서 팻-트리 토폴로지에는 20 개의 스위치가 있으며 각 호스트 쌍간에 여러 경로를 사용할 수 있다. 이 토폴로지에서는 연결 수가 적은 경우 모든 스위치가 패킷 전달에 사용되는 것은 아니며 vStatistics에는 사용되지 않는다. 그러나 비교예 2에서는 가상 네트워크 컨트롤러가 물리 네트워크의 모든 스위치를 모니터링한다. 따라서, 요청 및 회신 메시지는 정기적으로 분리되어 필요한 물리 플로우 엔트리를 향한 pCollector 생성을 제어한다. 따라서, pCollector는 필요한 물리 플로우 엔트리에 대해서만 작성되므로 사용하지 않는 스위치에 대해서는 통계 요청/응답 메시지가 작성되지 않는다.
3. 정확도 오버헤드(accuracy overhead): pCollectors의 vStatistics 요청 시간과 pStatistics 수집 시간의 시간 차이, 특히 95 % 신뢰 구간을 갖는 평균 값을 측정하여 평가한다.
실험예 1은 전송 지연 및 제어 채널 소비를 성공적으로 개선한다. 분리된 전송 및 pCollector 집적은 vStatistics 요청이 오는 시점과 pCollector가 pStatistics를 사용할 수 있는 시점 사이에 시간 차이가 발생하기 때문에 정확도 오버 헤드가 향상된다. 도 15a 내지 도 15d는 선형 및 팻-트리 토폴로지의 네트워크 연결 수에 대한 시간 차이를 평균 및 95 % 신뢰 구간으로 표시한 도면들이다. 결과는 모두의 평균 시간 차이를 나타낸다. 네트워크 연결의 경우 두 토폴로지에서 2,500ms 이하이다. 이는 실험예 1이 가상 네트워크 컨트롤러의 요청 간격의 절반인 2.5 초 내에 가상 네트워크 컨트롤러에 응답함을 의미한다. 따라서, 가상 네트워크 컨트롤러는 적어도 이전 통계 요청으로부터 통계를 수신하지 않으므로 정확도 오버 헤드가 vStatistics 자체의 정확도를 위태롭게 하지 않을 수 있다.
이상, 첨부된 도면을 참조하여 본 발명의 실시 예를 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시 예에는 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.

Claims (8)

  1. SDN(software defined network) 기반 네트워크 가상화를 구현하는 네트워크 하이퍼바이저(network hypervisor)가 구현된 컴퓨팅 장치에 있어서,
    상기 컴퓨팅 장치는 복수의 가상 네트워크들로 각각 개별적 통계를 제공하는 통계 가상화 모듈을 포함하되,
    상기 통계 가상화 모듈은 가상 플로우 엔트리(virtual flow entry)를 대상으로 하는 제1 알고리즘을 이용하여 가상 플로우 엔트리 통계를 제공하며, 가상 포트(virtual port)를 대상으로 하는 제2 알고리즘을 이용하여 가상 포트 통계를 제공하고,
    하나의 물리 플로우 엔트리에 여러 개의 가상 플로우 엔트리가 매핑되는 경우, 상기 가상 플로우 엔트리 통계는 대응하는 물리 스위치 대신 엣지 스위치의 플로우 엔트리 통계로 획득되고,
    하나의 물리 포트에 여러 개의 가상 포트가 매핑되는 경우, 상기 가상 포트 통계는 상기 가상 플로우 엔트리 통계를 이용하여 상기 가상 플로우 엔트리를 통해 처리된 패킷이 대응하는 가상 포트를 통해 전송될 때 상기 가상 포트 별 패킷 송/수신량을 합산하여 획득되는,
    네트워크 하이퍼바이저가 구현된 컴퓨팅 장치.
  2. 제1항에 있어서,
    상기 가상 플로우 엔트리 통계는 패킷 카운트, 바이트 카운트, 및 플로우 엔트리 설치 시간을 포함하고,
    상기 가상 포트 통계는 총 송/수신 패킷 양을 포함하는,
    네트워크 하이퍼바이저가 구현된 컴퓨팅 장치.
  3. 제1항에 있어서,
    하나의 물리 플로우 엔트리에 단일의 가상 플로우 엔트리가 매핑되는 경우, 상기 가상 플로우 엔트리 통계는 대응하는 물리 스위치의 플로우 엔트리 통계로 획득되며,
    하나의 물리 포트에 단일의 가상 포트가 매핑되는 경우, 상기 가상 포트 통계는 대응하는 물리 스위치의 포트 통계로 획득되는,
    네트워크 하이퍼바이저가 구현된 컴퓨팅 장치.
  4. 제1항에 있어서,
    상기 컴퓨팅 장치는 복수의 물리 스위치들에 대한 주기적인 모니터링을 수행하고 수집된 상기 물리 스위치들의 통계를 저장하는 물리 통계 캐시(physical statistics cache)를 포함하는 전송 분리 모듈을 포함하되,
    상기 전송 분리 모듈은 상기 물리 통계 캐시에 있는 상기 물리 통계를 기반으로 가상 통계를 계산하는,
    네트워크 하이퍼바이저가 구현된 컴퓨팅 장치.
  5. 제4항에 있어서,
    상기 전송 분리 모듈은 가상 네트워크 컨트롤러의 요청 간격을 물리 플로우 당 평균값 및 분산값을 이용하여 계산하는 요청 간격 추정(request interval estimation)을 수행하는,
    네트워크 하이퍼바이저가 구현된 컴퓨팅 장치.
  6. 제1항에 있어서,
    상기 컴퓨팅 장치는 하나의 모니터링 요청 시 복수의 스위치들의 통계를 담아 응답하는 물리 통계 집적 모듈을 포함하되,
    상기 물리 통계 집적 모듈은 물리통계 필터(pCollector filter) 작업 및 물리통계 튜너(pCollector tuner) 작업을 수행하는,
    네트워크 하이퍼바이저가 구현된 컴퓨팅 장치.
  7. 제6항에 있어서,
    상기 물리통계 필터 작업은 각 물리 통계의 실행 주기를 결정하고, 특정 물리적 스위치에 대해 물리 통계를 하나의 물리통계로 병합할 수 있는지를 확인하고,
    상기 물리통계 튜너는 상기 물리 통계의 시작 지연(starting delay)을 결정하는,
    네트워크 하이퍼바이저가 구현된 컴퓨팅 장치.
  8. SDN(software defined network) 기반 네트워크 가상화를 구현하는 네트워크 하이퍼바이저(network hypervisor)가 구현된 컴퓨팅 장치에 있어서, 상기 컴퓨팅 장치는,
    복수의 가상 네트워크들로 각각 개별적 통계를 제공하는 통계 가상화 모듈;
    복수의 물리 스위치들에 대한 주기적인 모니터링을 수행하고 수집된 상기 물리 스위치들의 통계를 저장하는 물리 통계 캐시(physical statistics cache)를 포함하는 전송 분리 모듈; 및
    하나의 모니터링 요청 시 상기 복수의 물리 스위치들의 통계를 담아 응답하는 물리 통계 집적 모듈을 포함하고,
    상기 개별적 통계는 가상 플로우 엔트리 통계와 가상 포트 통계를 포함하고,
    하나의 물리 플로우 엔트리가 여러 개의 가상 플로우 엔트리에 의해 공유되는 경우, 상기 가상 플로우 엔트리 통계는 엣지 스위치의 플로우 엔트리 통계이고,
    하나의 물리 포트가 여려 개의 가상 포트에 의해 공유되는 경우, 상기 가상 포트 통계는 상기 가상 플로우 엔트리 통계를 이용하여 상기 가상 플로우 엔트리를 통해 처리된 패킷이 대응하는 가상 포트를 통해 전송될 때 상기 가상 포트 별 패킷 송 또는 수신량을 합산하여 획득되고,
    네트워크 하이퍼바이저가 구현된 컴퓨팅 장치.
KR1020200051783A 2020-04-28 2020-04-28 프로그래밍 가능한 네트워크 가상화에서의 모니터링 방법 및 시스템 KR102322454B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020200051783A KR102322454B1 (ko) 2020-04-28 2020-04-28 프로그래밍 가능한 네트워크 가상화에서의 모니터링 방법 및 시스템
US17/128,353 US11563655B2 (en) 2020-04-28 2020-12-21 Network monitoring apparatus and method thereof in programmable network virtualization

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200051783A KR102322454B1 (ko) 2020-04-28 2020-04-28 프로그래밍 가능한 네트워크 가상화에서의 모니터링 방법 및 시스템

Publications (1)

Publication Number Publication Date
KR102322454B1 true KR102322454B1 (ko) 2021-11-05

Family

ID=78223135

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200051783A KR102322454B1 (ko) 2020-04-28 2020-04-28 프로그래밍 가능한 네트워크 가상화에서의 모니터링 방법 및 시스템

Country Status (2)

Country Link
US (1) US11563655B2 (ko)
KR (1) KR102322454B1 (ko)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100019807A (ko) * 2008-08-11 2010-02-19 포스데이타 주식회사 무선 통신 시스템에서 데이터 재전송을 위한 대역폭 할당 시스템 및 그 방법
KR20140051776A (ko) * 2012-10-23 2014-05-02 한국전자통신연구원 플로우 기반의 네트워크 모니터링을 위한 장치 및 네트워크 모니터링 시스템
KR101545704B1 (ko) * 2014-03-28 2015-08-19 (주) 시스메이트 가상 지연 시간을 이용한 트래픽 쉐이핑 장치 및 방법
US20150365325A1 (en) * 2014-06-11 2015-12-17 Jae Hyun Hwang Software defined networking based congestion control
KR20160041631A (ko) * 2014-10-08 2016-04-18 한국전자통신연구원 서비스 품질 인지 라우팅 제어 장치 및 라우팅 제어 방법
KR20160062688A (ko) * 2014-11-25 2016-06-02 한국전자통신연구원 오버레이 네트워크 기반에서의 오리지널 패킷 플로우 매핑 장치 및 그 방법
KR20160107920A (ko) * 2015-03-06 2016-09-19 성균관대학교산학협력단 소프트웨어 정의 네트워크 기반의 네트워크 자율제어 방법
KR20170033179A (ko) * 2015-09-16 2017-03-24 한국전자통신연구원 소프트웨어 정의 네트워크 기반 가상 네트워크 사용 대역폭 관리 방법 및 가상 네트워크 관리장치
KR20190063231A (ko) 2017-11-29 2019-06-07 주식회사 알티스트 Sdn 기반 데이터 센터 관리 시스템 및 방법

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IL167059A (en) * 2005-02-23 2010-11-30 Tejas Israel Ltd Network edge device and telecommunications network
KR101485161B1 (ko) 2013-12-27 2015-01-22 주식회사 케이티 실시간 스트리밍 서비스를 제공하기 위한 시스템 및 방법
US9935854B2 (en) * 2014-09-23 2018-04-03 Uila Networks, Inc. Infrastructure performance monitoring
KR101676570B1 (ko) 2015-06-18 2016-11-15 주식회사 케이티 가상 데이터 센터를 제공하는 방법 및 시스템
US10291497B2 (en) * 2017-03-31 2019-05-14 Juniper Networks, Inc. Session-based traffic statistics logging for virtual routers
KR102011021B1 (ko) 2017-05-02 2019-08-16 고려대학교 산학협력단 Sdn 기반 네트워크 가상화 플랫폼의 네트워크 하이퍼바이저에서 트래픽 엔지니어링 방법 및 프레임워크

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100019807A (ko) * 2008-08-11 2010-02-19 포스데이타 주식회사 무선 통신 시스템에서 데이터 재전송을 위한 대역폭 할당 시스템 및 그 방법
KR20140051776A (ko) * 2012-10-23 2014-05-02 한국전자통신연구원 플로우 기반의 네트워크 모니터링을 위한 장치 및 네트워크 모니터링 시스템
KR101545704B1 (ko) * 2014-03-28 2015-08-19 (주) 시스메이트 가상 지연 시간을 이용한 트래픽 쉐이핑 장치 및 방법
US20150365325A1 (en) * 2014-06-11 2015-12-17 Jae Hyun Hwang Software defined networking based congestion control
KR20160041631A (ko) * 2014-10-08 2016-04-18 한국전자통신연구원 서비스 품질 인지 라우팅 제어 장치 및 라우팅 제어 방법
KR20160062688A (ko) * 2014-11-25 2016-06-02 한국전자통신연구원 오버레이 네트워크 기반에서의 오리지널 패킷 플로우 매핑 장치 및 그 방법
KR20160107920A (ko) * 2015-03-06 2016-09-19 성균관대학교산학협력단 소프트웨어 정의 네트워크 기반의 네트워크 자율제어 방법
KR20170033179A (ko) * 2015-09-16 2017-03-24 한국전자통신연구원 소프트웨어 정의 네트워크 기반 가상 네트워크 사용 대역폭 관리 방법 및 가상 네트워크 관리장치
KR20190063231A (ko) 2017-11-29 2019-06-07 주식회사 알티스트 Sdn 기반 데이터 센터 관리 시스템 및 방법

Also Published As

Publication number Publication date
US11563655B2 (en) 2023-01-24
US20210336818A1 (en) 2021-10-28

Similar Documents

Publication Publication Date Title
EP3042477B1 (en) Path latency monitoring in software-defined networks
Tammana et al. Distributed network monitoring and debugging with {SwitchPointer}
CN109756421B (zh) 一种基于OpenFlow技术的拥塞控制系统及方法
US8730819B2 (en) Flexible network measurement
US7490144B2 (en) Distributed network management system and method
CN108337179B (zh) 链路流量控制方法及装置
CN112491619A (zh) 一种基于sdn的服务定制网络资源自适应分配技术
EP2869506B1 (en) Congestion avoidance and fairness in data networks with multiple traffic sources
EP3855686B1 (en) Packet forwarding method and apparatus
US11050649B2 (en) Delay measurement method of network node device, apparatus, and network node device
WO2002069580A1 (en) Method and system for bandwidth estimation
CN113328902A (zh) 网络性能检测方法、装置及网络设备
Yang et al. Network monitoring for SDN virtual networks
EP2220568B1 (en) Methods and systems for providing efficient provisioning of data flows
KR102322454B1 (ko) 프로그래밍 가능한 네트워크 가상화에서의 모니터링 방법 및 시스템
Chen et al. A low-latency two-tier measurement and control platform for commodity SDN
US20170118100A1 (en) VM-to-VM Traffic Estimation in Multi-Tenant Data Centers
Hwang et al. Load balancing and routing mechanism based on software defined network in data centers
US11888680B1 (en) Early detection of telemetry data streaming interruptions
Rezende et al. Analysis of monitoring and multipath support on top of OpenFlow specification
Ling et al. FullSight: Towards scalable, high-coverage, and fine-grained network telemetry
CN111800311B (zh) 分散计算状态实时感知方法
JP4871775B2 (ja) 統計情報収集装置
Shahzad et al. IoTm: A Lightweight Framework for Fine-Grained Measurements of IoT Performance Metrics
CN113472670A (zh) 网络装置的路由一致性检查器

Legal Events

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