KR102262395B1 - Nfv 시스템의 상호 운용성을 테스트하기 위한 테스트 장치 - Google Patents

Nfv 시스템의 상호 운용성을 테스트하기 위한 테스트 장치 Download PDF

Info

Publication number
KR102262395B1
KR102262395B1 KR1020190125617A KR20190125617A KR102262395B1 KR 102262395 B1 KR102262395 B1 KR 102262395B1 KR 1020190125617 A KR1020190125617 A KR 1020190125617A KR 20190125617 A KR20190125617 A KR 20190125617A KR 102262395 B1 KR102262395 B1 KR 102262395B1
Authority
KR
South Korea
Prior art keywords
test
vnf
fut
agents
interoperability
Prior art date
Application number
KR1020190125617A
Other languages
English (en)
Other versions
KR20210042713A (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 KR1020190125617A priority Critical patent/KR102262395B1/ko
Publication of KR20210042713A publication Critical patent/KR20210042713A/ko
Application granted granted Critical
Publication of KR102262395B1 publication Critical patent/KR102262395B1/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/50Testing arrangements
    • 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/20Network management software packages

Abstract

NFV 시스템의 상호 운용성을 테스트하기 위한 테스트 장치가 개시된다. 일 실시예에 따르면, 테스트 장치는 일련의 SFC(service function chain)를 구성하는 복수의 VNF(virtual network function) 중 테스트 대상에 해당하는 복수의 VNF FUT(function under test)의 상호 운용성을 테스트하기 위한 테스트 케이스 프로파일을 생성하는 테스트 프로파일러, 복수의 VNF FUT의 각 VNF FUT에 설치되어, 각 VNF FUT에서 메트릭을 수집하고, 각 VNF 내에서 테스트 케이스 프로파일에 기초한 테스트 명령을 실행하는 복수의 테스트 에이전트들, 테스트 케이스 프로파일을 파싱하여 테스트 명령을 생성하고, 복수의 테스트 에이전트들에게 테스트 명령을 제공하고, 복수의 테스트 에이전트들로부터 각 VNF FUT에서 수집된 메트릭을 수신하고, 수신된 메트릭을 분석하여 복수의 VNF FUT의 상호 운용성에 관한 테스트 결과를 생성하는 테스트 컨트롤러를 포함할 수 있다.

Description

NFV 시스템의 상호 운용성을 테스트하기 위한 테스트 장치{TEST APPARATUS TO TEST INTEROPERABILITY OF NFV SYSTEM}
아래 실시예들은 NFV 시스템의 상호 운용성을 테스트하기 위한 테스트 장치에 관한 것이다.
ETSI(European Telecommunications Standards Institute)는 네트워크 기능 가상화(NFV) 개념을 제안하여 하드웨어 지출과 네트워크 운영 복잡성을 줄였다. NFV에서 네트워크 기능은 전용 하드웨어 대신 VNF로 소프트웨어 형태로 구현되며 일반 하드웨어의 다른 가상 머신 또는 컨테이너에서 별도로 실행된다. 통신 요구 사항을 충족시키기 위해 SFC(service function chain)을 형성하기 위해 상이한 VNF가 규정된 순서로 배열된다. ETSI는 테스트 및 QoE(Quality of Experience) 모니터링을 NFV 환경 구현 시 해결해야할 주요 사용 케이스 및 주제 중 하나로 채택했다. 실시예들은 VNF 테스트에 중점을 둔다. 일부 선행기술에는 VNF 테스트와 관련된 일부 관련 작업이 있지만, ETSI 표준을 준수하지 않고 특정 NFV 플랫폼 또는 공급 업체를 대상으로하며, 상호 운용성 테스트가 부족한 등 몇 가지 문제점이 있다.
일 실시예에 따르면, NFV(network function virtualization) 시스템의 상호 운용성을 테스트하기 위한 테스트 장치는 일련의 SFC(service function chain)를 구성하는 복수의 VNF(virtual network function) 중 테스트 대상에 해당하는 복수의 VNF FUT(function under test)의 상호 운용성을 테스트하기 위한 테스트 케이스 프로파일을 생성하는 테스트 프로파일러; 상기 복수의 VNF FUT의 각 VNF FUT에 설치되어, 상기 각 VNF FUT에서 메트릭을 수집하고, 상기 각 VNF 내에서 상기 테스트 케이스 프로파일에 기초한 테스트 명령을 실행하는 복수의 테스트 에이전트들; 및 상기 테스트 케이스 프로파일을 파싱하여 상기 테스트 명령을 생성하고, 상기 복수의 테스트 에이전트들에게 상기 테스트 명령을 제공하고, 상기 복수의 테스트 에이전트들로부터 상기 각 VNF FUT에서 수집된 상기 메트릭을 수신하고, 상기 수신된 상기 메트릭을 분석하여 상기 복수의 VNF FUT의 상기 상호 운용성에 관한 테스트 결과를 생성하는 테스트 컨트롤러를 포함한다.
상기 복수의 테스트 에이전트들은 상기 복수의 VNF FUT를 테스트하기 위해 서로 통신하여 처리량(throughput), 패키지 손실 및 서비스 경로 정확도 중 적어도 하나를 포함하는 테스트 데이터를 교환할 수 있다.
상기 복수의 VNF FUT의 상기 상호 운용성에 관한 테스트는 상기 각 VNF의 수명 주기에 관한 테스트, 상기 각 VNF의 종속성에 관한 테스트, 및 상기 SFC의 오케스트레이션에 관한 테스트 중 적어도 하나를 포함할 수 있다.
상기 테스트 컨트롤러는 상기 테스트 프로파일을 오브젝트 및 테스트 메트릭으로 파싱하는 프로파일 파서(parser), 상기 복수의 테스트 에이전트들과 통신하여 상기 테스트 명령을 제공하거나, 상기 메트릭을 수신하는 VNF 테스트 에이전트 드라이버, 상기 복수의 VNF FUT 중 서로 다른 유형의 NFV 시스템에서 구동되는 VNF FUT를 지원하기 위해 상기 복수의 테스트 에이전트들 각각의 드라이버로 상기 복수의 테스트 에이전트들을 상기 각 VNF FUT에 설치하는 관리 드라이버, 및 상기 테스트 케이스를 위한 테스트 절차를 조율하는 컨트롤러 엔진을 포함할 수 있다.
상기 테스트 컨트롤러는 상기 테스트 케이스 프로파일에 대응하는 결함을 상기 테스트 에이전트들의 적어도 일부를 통해 상기 테스트 에이전트들의 상기 적어도 일부에 대응하는 상기 복수의 VNF FUT의 적어도 일부에 주입할 수 있다.
일 실시예에 따르면, NFV(network function virtualization) 시스템의 상호 운용성을 테스트하기 위한 테스트 장치는 프로세서; 및 상기 프로세서에서 실행가능한 명령어들을 포함하는 메모리를 포함하고, 상기 명령어들이 상기 프로세서에서 실행되면, 상기 프로세서는 일련의 SFC(service function chain)를 구성하는 복수의 VNF(virtual network function) 중 테스트 대상에 해당하는 복수의 VNF FUT(function under test)의 상호 운용성을 테스트하기 위한 테스트 케이스 프로파일을 생성하는 테스트 프로파일러, 상기 복수의 VNF FUT의 각 VNF FUT에 설치되어, 상기 각 VNF FUT에서 메트릭을 수집하고, 상기 각 VNF 내에서 상기 테스트 케이스 프로파일에 기초한 테스트 명령을 실행하는 복수의 테스트 에이전트들, 및 상기 테스트 케이스 프로파일을 파싱하여 상기 테스트 명령을 생성하고, 상기 복수의 테스트 에이전트들에게 상기 테스트 명령을 제공하고, 상기 복수의 테스트 에이전트들로부터 상기 각 VNF FUT에서 수집된 상기 메트릭을 수신하고, 상기 수신된 상기 메트릭을 분석하여 상기 복수의 VNF FUT의 상기 상호 운용성에 관한 테스트 결과를 생성하는 테스트 컨트롤러를 구현한다.
도 1은 일 실시예에 따른 NFV 시스템의 상호 운용성을 테스트하기 위한 테스트 장치의 동작을 나타낸 도면이다.
도 2는 적합성 테스트를 나타낸 도면이고, 도 3은 상호 운용성 테스트를 나타낸 도면이다.
도 4는 일 실시예에 따른 테스트 컨트롤러의 구성을 나타낸 도면이다.
도 5는 일 실시예에 따른 테스트 프로파일러의 구성을 나타낸 도면이다.
도 6은 일 실시예에 따른 VNF FUT들을 포함하는 SFC에 관한 테스트를 나타낸 도면이다.
도 7은 일 실시예에 따른 NFV 시스템의 상호 운용성을 테스트하기 위한 절차를 나타낸 도면이다.
도 8은 일 실시예에 따른 NFV 시스템의 상호 운용성을 테스트하기 위한 테스트 장치를 나타낸 도면이다.
도 9는 일 실시예에 따른 NFV 아키텍처를 나타낸 도면이다.
본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시예들에 대해서 특정한 구조적 또는 기능적 설명들은 단지 본 발명의 개념에 따른 실시예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시예들은 다양한 형태로 실시될 수 있으며 본 명세서에 설명된 실시예들에 한정되지 않는다.
본 발명의 개념에 따른 실시예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시예들을 도면에 예시하고 본 명세서에 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시예들을 특정한 개시형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만, 예를 들어 본 발명의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 “연결되어” 있다거나 “접속되어” 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 “직접 연결되어” 있다거나 “직접 접속되어” 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 표현들, 예를 들어 “~사이에”와 “바로~사이에” 또는 “~에 직접 이웃하는” 등도 마찬가지로 해석되어야 한다.
본 명세서에서 사용한 용어는 단지 특정한 실시예들을 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, “포함하다” 또는 “가지다” 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 특허출원의 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
도 1은 일 실시예에 따른 NFV 시스템의 상호 운용성을 테스트하기 위한 테스트 장치의 동작을 나타낸 도면이다.
NFV(Network Function Virtualization)는 고객에게 네트워크 서비스를 제공하는 새로운 방법이다. 전용 하드웨어와 달리 NFV 네트워크의 네트워크 기능은 일반 서버에서 실행되며 SFC(service function chain)는 VNF(virtual network function)를 연결하여 네트워크 서비스를 형성한다. VNF 및 SFC의 안정성과 품질을 보장하려면 실제 시스템에 VNF 및 SFC를 배포하기 전에 VNF 및 SFC의 성능을 평가해야 한다. 종래의 접근법은 VNF의 상호 운용성에 초점을 맞추지 않았다. 따라서 실시예들에 따라 NFV의 VNF 및 SFC에 대한 상호 운용성 테스트 프레임 워크가 제안된다.
실시예들은 VNF 및 SFC에 대한 테스트 프레임 워크를 연구한다. 프레임 워크의 주요 목표는 VNF 및 SFC에 대한 포괄적인 테스트, 특히 상호 운용성 테스트를 수행하는 것이다.
NFV를 구축할 때의 문제 중 하나는 장애 예방이다. 장애 예방에는 네트워크 서비스의 안정성을 확인하기 위해 VNF를 테스트해야 한다. NFV의 두 가지 일반적인 테스트 방법은 적합성 테스트(기능 및 비기능 인프라 테스트) 및 상호 운용성 테스트(즉, VNF 수명주기 및 SFC의 오케스트레이션 테스트)이다.
기존에는 VNF 기능 테스트(적합성 테스트) 또는 NFV 인프라(VNF 비 기능 테스트)에만 중점을 두고 SFC, VNF 종속성, 수명주기 관리에 대한 상호 운용성 테스트를 제공하지 않는다. 또한, 특정 NFV 플랫폼/공급 업체에서만 확장 가능하거나 다른 플랫폼/공급 업체에서는 작동하지 않는다.
이러한 상황에서, NFV 시스템을 위한 상호 운용성 테스트 시스템이 설계될 필요가 있다. 새로운 테스트 프레임 워크는 인프라가 아닌 VNF의 상호 운용성, 오케스트레이션 및 종속성 테스트에 중점을 둔다. 대상은 SFC 정확성, VNF 상호 운용성 및 VNF 종속성이다. 프레임 워크는 자동화(automation), 확장성(scalability, extensibility), 다중 테넌시(multi tenancy) 및 다중 클라우드도 지원해야 한다(multi cloud).
제안된 테스트 프레임 워크는 VNF의 상호 운용성(예: VNF의 수명 주기, SFC의 오케스트레이션, VNF의 종속성 등)을 다루고 결함 관리 플랫폼과 통합될 수 있으며 ETSI 표준을 준수해야한다. 도 1은 VNF 테스트 에이전트, 테스트 컨트롤러, 테스트 프로파일러, 테스트 결과 데이터베이스(DB), API 엔진 및 그래픽 사용자 인터페이스(GUI)와 같은 주요 기능 블록을 포함하는 제안된 테스트 프레임 워크의 아키텍처를 보여준다. 각 기능 블록의 세부 내용은 다음과 같다.
1) 테스트 에이전트: 테스트 에이전트는 각 VNF FUT(function under test)에 설치된다. SFC는 복수의 VNF들을 포함할 수 있고, 이 중 적어도 일부가 VNF FUT에 해당할 수 있다. SFC의 복수의 VNF들, 혹은 이 중 적어도 일부에 해당하는 VNF FUT들의 시작 및 종료 부분 각각에 서비스 엔드 포인트가 존재할 수 있다.
에이전트는 VNF에서 메트릭을 수집하고 테스트 컨트롤러로 다시 보낼 수 있다. 에이전트는 테스트 컨트롤러의 지시에 따라 VNF FUT 내에서 테스트 명령을 실행한 다음 테스트 컨트롤러의 지침을 실행할 수 있다. 에이전트는 서로 통신하여 SFC 내에서 VNF FUT를 테스트한다. 이 때, 처리량(throughput), 패키지 손실, 서비스 경로 정확성 등에 관한 정보가 교환될 수 있다.
테스트 컨트롤러는 테스트 에이전트에게 테스트 중인 VNF에 결함(로드, 금지된 경로로 이동하는 패키지 등)을 주입하도록 지시할 수 있다. 결함은 테스트 중인 VNF 및 SFC의 성능과 기능을 테스트하도록 설계되어 있을 수 있고, 테스트 케이스에 따라 다르며 테스트 프로필에 정의될 수 있다. 테스트 에이전트는 다른 유형의 NFV(대응하는 VNF, 에이전트 등)을 지원하며, 이를 위해 테스트 컨트롤러에서 해당 에이전트 드라이버가 작성될 수 있다.
2) 테스트 컨트롤러: 테스트 컨트롤러는 모든 테스트 흐름이 조정되는 제안된 VNF 상호 운용성 테스트 시스템의 중심이며, 프로파일 파서(parser), VNF 에이전트 드라이버, 관리 드라이버, 컨트롤러 엔진 및 테스트 결과 DB 드라이버를 포함할 수 있다.
3) 테스트 프로파일러: YAML 언어를 사용하여 대상 플랫폼, 인증, VNF, 테스트 중인 상호 운용성 기능이 포함된 테스트 템플릿을 정의할 수 있다.
4) 테스트 결과 DB(database): 테스트 결과를 저장한다.
5) API 엔진: 외부 소프트웨어에 테스트 프로파일러, 테스트 컨트롤러 및 테스트 결과 DB에 대한 안전한 읽기/쓰기 액세스를 제공할 수 있다. 다른 유형의 클라이언트(웹, 데스크톱 응용 프로그램 등)에서 사용할 수 있다.
6) GUI: 사용자가 테스트 프로필을 입력하고 API 호출을 통해 테스트 케이스를 실행할 수 있는 인터페이스이며 그래픽, 웹 또는 명령 행 인터페이스를 통해 사용자가 테스트 프로필을 입력하거나 테스트 결과를 사용자에게 시각화하는데 이용될 수 있다.
도 2는 적합성 테스트를 나타낸 도면이고, 도 3은 상호 운용성 테스트를 나타낸 도면이다. NFV를 테스트하기 위해 적합성 테스트(conformance testing) 및 상호 운용성 테스트(interoperability testing)와 같은 기법들이 존재한다. 적합성 테스트는 기능 및 비 기능(인프라) 테스트를 수행하기 위한 것으로, 본 테스트에서 SUT(예: FUT)는 하나이다. 상호 운용성 테스트는 적합성 테스트와 구분되는 것으로 복수의 FUT 간의 오케스트레이션을 테스트하기 위한 것이다. 이 때, 복수의 FUT는 다른 공급 업체에서 제공된 서로 다른 유형의 것일 수 있다. 실시예들은 이들 중 상호 운용성 테스트에 관한 것이다.
도 4는 일 실시예에 따른 테스트 컨트롤러의 구성을 나타낸 도면이다.
테스트 컨트롤러는 모든 테스트 흐름이 조정되는 제안된 VNF 상호 운용성 테스트 시스템의 중심이며, 프로파일 파서(parser), VNF 에이전트 드라이버, 관리 드라이버, 컨트롤러 엔진 및 테스트 결과 DB 드라이버를 포함할 수 있다.
프로파일 파서는 테스트 프로파일을 오브젝트 및 테스트 메트릭으로 파싱할 수 있다. VNF 에이전트 드라이버는 VNF 테스트 에이전트 드라이버로 지칭될 수도 있으며, VNF 테스트 에이전트와 통신하여 데이터를 수집하거나 결함을 주입할 수 있고, 수집된 데이터에서 메트릭을 분석한다. VNF 에이전트 드라이버는 다양한 VNF 공급 업체(KVM, VMWare VM, 컨테이너 등)을 지원할 수 있다.
관리 드라이버는 테스트를 조정하고 테스트 에이전트를 해당 NFV 시스템 내부에서 실행되는 VNF에 설치하기 위해 다른 NFV 시스템을 지원하는 할 수 있다. 예를 들어, 관리 드라이버는 다른 NFV 시스템을 지원하여 테스트를 조정하고 VNF 테스트 에이전트를 NFV 시스템에서 실행되는 VNF에 설치할 수 있다.
컨트롤러 엔진은 테스트 절차와 테스트 케이스를 조정할 수 있다. 예를 들어, 컨트롤러 엔진은 프로파일 파서, VNF 에이전트 드라이버, 관리 드라이버 및 테스트 결과 DB 드라이버를 사용하여 테스트 절차 및 테스트 케이스 조정할 수 있고, API 엔진에 함수 인터페이스 노출할 수 있다. 테스트 결과 DB 드라이버는 테스트 결과를 지원 DB에 저장할 수 있고, 다른 테스트 결과 DB를 위한 백엔드를 지원할 수 있다.
도 5는 일 실시예에 따른 테스트 프로파일러의 구성을 나타낸 도면이다.
테스트 프로파일러는 YAML 파서, 프로파일 변환기 및 데이터베이스 드라이버를 포함할 수 있다. 테스트 프로파일러는 이러한 구성을 이용하여 프로필 DB 작업, 테스트 컨트롤러와 통신, API 엔진에 데이터 노출, 테스트 프로파일 검증, 입력 테스트 프로파일 파싱(예: YAML 파서 이용), YAML 데이터를 테스트 메트릭으로 변환(예: 프로파일 변환기 이용)하는 등의 기능을 수행할 수 있다.
도 6은 일 실시예에 따른 VNF FUT들을 포함하는 SFC에 관한 테스트를 나타낸 도면이다.
NFV를 통해 네트워크 운영자는 하나 이상의 SFC를 통해 유연하고 사용자 정의 가능한 다양한 방식으로 고객에게 서비스를 배치할 수 있다. SFC의 신뢰성과 품질을 보장하기 위해 앞서 SFC의 상호 운용성에 중점을 둔 SFC를위한 테스트 서비스가 설명되었다. 실시예들은 상술된 모듈식 아키텍처를 기반으로 구현될 수 있다.
상술된 것처럼, NFV 아키텍처 프레임 워크는 ETSI에서 제안되었다. 이는 네트워크 운영자에게 서비스를 유연하고 사용자 정의할 수 있는 방법을 제공한다. 전용 하드 워드 또는 미들 박스를 네트워크 기능으로 사용하는 대신, 소프트웨어가 VNF를 생성하는데 사용된다. VNF는 네트워크 서비스 요구 사항을 달성하기 위해 서비스 체인을 생성하기 위해 미리 정의된 순서로 정렬될 수 있다.
테스트 및 QoE(Quality of Experience) 시험이 ETSI의 주요 목표 중 하나로 간주되며, 이는 NFV 환경을 구축할 때 해결되어야 한다. 실시예들에서 성능 대신 네트워크 서비스와 SFC의 상호 운용성 테스트 프로세스에 중점을 둔 테스팅 서비스가 제안된다. 제안된 서비스에는 모듈 형 아키텍처가 있어서 구현이 쉬워지고 네트워크 운영자가 NFV 시스템에 적응할 수 있는 더 많은 기회가 열린다. 실시예들은 실행 가능성을 설명하기 위해 예제 테스트 사례와 함께 시행 프로세스에 중점을 둔다.
모듈식 아키텍처에 따라 테스트 서비스를 설계하는 것은 사용자 지정 기능과 확장성을 유지하면서 실시예들의 모듈(구성요소)을 구현, 테스트 및 조정하는 핵심 원칙 중 하나이다. 또한 많은 실제 사용 사례에서 서비스 적응 테스트 가능성을 높이기 위해 다음과 같은 설계 원칙이 제안된다.
테스팅 및 디버깅: 실시예들의 모든 구성요소는 자체 작동하므로 종속성 문제가 최소화될 수 있다. 이를 통해 각 구성 요소가 서로 분리되어 있으므로 쉽고 빠르게 각 구성 요소를 테스트하고 디버깅할 수 있다.
확장성: 실시예들의 모든 구성요소는 추상화 계층에 연결하여 특정 사용 사례를 기반으로 새 기능을 프레임 워크에 추가하는데 도움이 될 수 있다. 그런 다음 해당 추상화 계층에 연결하여 새로운 기능을 테스트 서비스에 연결할 수 있다.
표준화된 통신 메시지 형식: 각 구성 요소의 통신 메시지는 호환성을 위해 표준화될 수 있다. 예를 들어, 실시예들에 따르면 에이전트와 컨트롤러에서 보낸 알림 메시지의 형식은 헤더와 동일하게 설정될 수 있다.
상호 운용성: 실시예들의 모든 구성요소는 자율적이지만 시스템이 몇 가지 일반적인 복원 요구 사항을 충족하도록 설계되었다. 따라서 실시예들에서 구성 요소가 조화롭게 조율될 수 있다.
실시예들은 VNF의 상호 운용성, 오케스트레이션 및 종속성 테스트에 중점을 둔다. 테스트 대상은 SFC 정확성, VNF 상호 운용성 및 VNF 종속성을 포함할 수 있다. 프레임 워크는 자동화, 확장성, 확장성, 다중 테넌시 및 다중 클라우드도 지원할 수 있다.
앞서 논의된 설계 원칙을 바탕으로 테스트 장치가 구현되어, 도 6에 도시된SFC가 테스트될 수 있다.
테스트된 SFC는 하나의 방화벽(VNF1)과 하나의 컨텐츠 필터링(VNF2)을 포함하는 네트워크 서비스일 수 있다. 소스 및 데스티네이션은 HTTP 클라이언트일 수 있다. SFC는 클라이언트에서 서버로 포트 80, 8080으로 가는 트래픽이 VNF1 및 VNF2를 통과하도록 동작할 수 있다. VNF1 및 VNF2의 규칙은 다음과 같을 수 있다.
- 서버의 포트 80으로의 트래픽 허용(VNF1, VNF2)
- 서버의 포트 8080에 대한 트래픽 차단(VNF1)
- http: // <HTTP ServerAddr>/restricted에 대한 액세스 차단(VNF2)
이 때, 아래 표 1에 나열된 구성을 통해 구현에 사용될 수 있다.
Figure 112019103439879-pat00001
이 때, 아래와 같은 전제 조건이 있을 수 있다.
- 모든 VNF, 클라이언트, 서버 및 SFC가 사전에 배포될 것.
- VNF1, VNF2, 클라이언트 및 서버에 실시예에 따른 모듈이 사전 설치되어 있을 것.
- 테스트 컨트롤러가 동일한 Devstack 호스트에서 실행 중일 것.
- 클라이언트, 서버, VNF1, VNF2의 관리 IP 주소가 미리 알려질 것.
이 때, 아래와 같이 도 6의 SFC가 제공한 기준이 대상에 해당할 수 잇다.
- 포트 80 열림. 클라이언트: 서버 포트 80에 요청. VNF1: 패킷 있음. VNF2: 패킷 있음. 서버: 패킷 있음.
- 포트 8080 차단됨. 클라이언트: 서버 포트 8080에 요청. VNF1: 패킷 있음. VNF2: 패킷 없음. 서버: 패킷 없음.
"/resticted" 액세스 거부됨. 클라이언트: 서버에 대한 HTTP 요청. VNF1: 패킷 있음. VNF2: URL 액세스 거부됨. 서버: 패킷 없음.
이 때, 아래 표 2와 같은 결과가 생성될 수 있다.
Figure 112019103439879-pat00002
도 7은 일 실시예에 따른 NFV 시스템의 상호 운용성을 테스트하기 위한 절차를 나타낸 도면이다.
도 7을 참조하면, 단계(710)에서 사용자 인터페이스를 통해 테스트 프로파일의 정의가 수신될 수 있고, 단계(720)에서 테스트 프로파일이 검증 및 저장될 수 있고, 단계(730)에서 테스트 실행 명령이 수신될 수 있고, 단계(740)에서 테스트 프로파일이 파싱된 후, 타겟 플랫폼에 연결될 수 있다. 이 때, 단계(745)에서 대상 NFV에 필요한 관리 드라이버가 이용될 수 있다. 단계(750)에서 테스트 프로파일에 의해 지시되는 테스트가 실행될 수 있다. 이 때, 단계(755)에서 관리 드라이버를 이용하여 VNF FUT에 필요한 에이전트가 VNF FUT에 설치될 수 있다. 이후에, 단계(760)에서 데이터베이스에 테스트 결과가 저장될 수 있고, 단계(770)에서 사용자 인터페이스를 통해 테스트 결과가 출력될 수 있다.
도 8은 일 실시예에 따른 NFV 시스템의 상호 운용성을 테스트하기 위한 테스트 장치를 나타낸 도면이다.
도 8을 참조하면, 테스트 장치(800)는 프로세서(810) 및 메모리(820)를 포함한다.
메모리(820)는 프로세서(810)에 연결되고, 프로세서(810)에 의해 실행가능한 명령어들, 프로세서(810)가 연산할 데이터 또는 프로세서(810)에 의해 처리된 데이터를 저장할 수 있다. 메모리(820)는 비일시적인 컴퓨터 판독가능 매체, 예컨대 고속 랜덤 액세스 메모리 및/또는 비휘발성 컴퓨터 판독가능 저장 매체(예컨대, 하나 이상의 디스크 저장 장치, 플래쉬 메모리 장치, 또는 기타 비휘발성 솔리드 스테이트 메모리 장치)를 포함할 수 있다.
프로세서(810)는 도 1 내지 도 7 및 도 9를 참조하여 설명된 하나 이상의 동작을 실행하기 위한 명령어들을 실행할 수 있다. 예를 들어, 프로세서(810)는 일련의 SFC(service function chain)를 구성하는 복수의 VNF(virtual network function) 중 테스트 대상에 해당하는 복수의 VNF FUT(function under test)의 상호 운용성을 테스트하기 위한 테스트 케이스 프로파일을 생성하는 테스트 프로파일러, 복수의 VNF FUT의 각 VNF FUT에 설치되어, 각 VNF FUT에서 메트릭을 수집하고, 각 VNF 내에서 테스트 케이스 프로파일에 기초한 테스트 명령을 실행하는 복수의 테스트 에이전트들, 테스트 케이스 프로파일을 파싱하여 테스트 명령을 생성하고, 복수의 테스트 에이전트들에게 테스트 명령을 제공하고, 복수의 테스트 에이전트들로부터 각 VNF FUT에서 수집된 메트릭을 수신하고, 수신된 메트릭을 분석하여 복수의 VNF FUT의 상호 운용성에 관한 테스트 결과를 생성하는 테스트 컨트롤러를 구현할 수 있다.
이 때, 복수의 테스트 에이전트들은 복수의 VNF FUT를 테스트하기 위해 서로 통신하여 처리량(throughput), 패키지 손실 및 서비스 경로 정확도 중 적어도 하나를 포함하는 테스트 데이터를 교환할 수 있다. 또한, 복수의 VNF FUT의 상호 운용성에 관한 테스트는 각 VNF의 수명 주기에 관한 테스트, 각 VNF의 종속성에 관한 테스트, 및 SFC의 오케스트레이션에 관한 테스트 중 적어도 하나를 포함할 수 있다.
일 실시예에 따르면, 테스트 컨트롤러는 테스트 프로파일을 오브젝트 및 테스트 메트릭으로 파싱하는 프로파일 파서(parser), 복수의 테스트 에이전트들과 통신하여 테스트 명령을 제공하거나, 메트릭을 수신하는 VNF 테스트 에이전트 드라이버, 복수의 VNF FUT 중 서로 다른 유형의 NFV 시스템에서 구동되는 VNF FUT를 지원하기 위해 복수의 테스트 에이전트들 각각의 드라이버로 복수의 테스트 에이전트들을 각 VNF FUT에 설치하는 관리 드라이버, 및 테스트 케이스를 위한 테스트 절차를 조율하는 컨트롤러 엔진을 포함할 수 있다. 또한, 테스트 컨트롤러는 테스트 케이스 프로파일에 대응하는 결함을 테스트 에이전트들의 적어도 일부를 통해 테스트 에이전트들의 적어도 일부에 대응하는 복수의 VNF FUT의 적어도 일부에 주입할 수 있다.
도 9는 일 실시예에 따른 NFV 아키텍처를 나타낸 도면이다.
NFV(Network Functional Virtualization) 아키텍처는 1) 네트워크 기능의 소프트웨어 구현 버전인 VNF(Virtual Network Function), 2) VNF가 배치되는 하드웨어 및 소프트웨어 구성 요소를 포함하는 NFVI(NFV Infrastructure), 3) NFVO(NFV Orchestrator), VNFM(VNF Manager) 및 VIM(Virtualized Infrastructure Manager)를 포함하고, NFVI 리소스와 VNF의 라이프사이클을 조직 및 관리하는 MANO(NFV Management and Orchestration)를 포함한다.
NFV 아키텍처는 크게 기능 블록과 레퍼런스 포인트로 구분 가능할 수 있다. 먼저 기능 블록은 VNF, EM, NFVI, VIM, NFVO, VNFM, Service, VNF and Infrastructure Description 및 OSS/BSS를 포함하고, 레퍼런스 포인트는 VI-ha, Vn-Nf, Or-Vnfm, Vi-Vnfm, Or-Vi, Nf-Vi, Os-Ma 및 Ve-Vnfm를 포함한다.
EM(Element Management)은 VNF 관련 설정 및 모니터링 기능을 하고 그에 대한 로그를 가지고 있는 엔티티이다. EM을 통해서 VNF의 결함 감지, 보안, 성능 측정, 설정 등이 수행된다. OSS/BSS는 네트워크 사업자의 서비스 운영 및 사업 지원 시스템을 의미한다.
NFVI는 VNF를 배치하는 시점부터 VNF에 대한 관리와 실행을 위한 모든 물리적 논리적 요소를 말한다. 즉 물리적인 요소들을 가지고 가상화 단계를 거쳐 자원을 제공하는 개체를 말하는 것이다. VNF 관점에서는 결국 가상화된 자원을 사용하기 때문에 물리적인 요소와 논리적인 요소를 나눌 필요는 없다.
NFVI를 구성하는 요소는 크게 두가지이다. 첫 번째는 하드웨어 자원이다. 즉 가상화 계층을 통해서 VNF 가 사용하게 될 실제 물리적 자원을 말한다. 두 번째는 가상화 계층이다. 가상화 계층을 통해 물리 자원을 추상화시켜서 제약없이 자원을 유동적으로 사용할 수 있게 하는 역할을 담당한다.
VIM 은 VNF 가 사용하는 물리적 자원인 컴퓨팅, 스토리지, 네트워크 등을 관리하고 제어하는 부분을 의미한다. 물리적 자원을 바탕으로 가상화된 자원들을 배치하고 관리하는 역할을 하며, VIM을 통해 NFVI의 가시화를 통한 관리 기능 및 NFVI로부터의 결함 정보 및 자원 상태 수집을 통한NFVI 오류 감시 및 관리 기능도 수행된다.
VNFM은 VNF의 라이프사이클 관리 및 VNF 간 상호 운용을 위한 관리 및 제어 기능을 수행한다. NFVO는 자원과 서비스에 대한 오케스트레이션 기능을 가진다. NFVO는 자원 측면에서는 VNF 관련 자원 사용 정보 수집 등을 관리하며, 서비스 측면에서는 라이프사이클 및 자동화를 관리하는 역할을 한다.
NFV 레퍼런스 포인트는 앞서 이야기한 구성 요소들 간의 인터페이스를 의미하며 8개의 인터페이스로 구성되어 있다. Vi-Ha는 가상화 계층과 하드웨어 자원 간의 사용되는 인터페이스로 VNF를 위한 자원을 제공하는 역할을 하며, 하드웨어에 대한 상태 정보를 수집하는 역할을 한다. Vn-Nf는 VNF와 NFVI 사이에서 사용되는 인터페이스로 NFVI 가 VNF에게 자원을 제공하기 위한 용도로 사용된다. Or-Vnfm은 NFVO와 VNF 매니저 간의 사용되는 인터페이스로 VNFM이 NFVO에게 자원에 관련된 요청(사용자 인증, 유효성, 예약, 할당)을 할 때 혹은 NFVO가 VNFM에게 설정 정보를 보낼 때 사용된다. 또한 네트워크 서비스 라이프사이클 관리를 위해서 VNF 정보를 수집할 때도 사용된다.
Vi-Vnfm은 VIM과 VNFM간에 사용되는 인터페이스로서, VNFM이 VIM 에게 자원 할당을 요청하거나 가상화된 하드웨어 자원 설정 및 상태 정보 교환 시 사용된다. OR-Vi는 NFVO가 VIM에게 자원 예약을 하거나 자원에 대한 할당을 요청할 때 사용되는 인터페이스이다. 이 인터페이스 역시 가상화된 하드웨어 자원 설정 및 상태 정보를 교환할 때 사용된다. Nf-Vi는 VIM과 NFVI 사이에 연결에 정의된 인터페이스로서 자원 할당 요청에 응답하거나 자원상태 정보를 전달하거나 하드웨어 자원을 설정하는 경우 사용되는 인터페이스이다.
Ve-Vnfm은 VNF/EM과 VNFM 사이에 정의된 인터페이스로서 VNF 라이프사이클 관리에 관련된 요청이 필요하거나, 설정 및 이벤트 관련 정보를 전달하거나, 네트워크 서비스 라이프사이클 관리를 위한 상태 정보를 교환하는 경우에 사용된다. Os-Ma는 OSS/BSS 와 NFVO 사이에 정의된 인터페이스로서 네트워크 서비스 라이프사이클 관리에 관련된 요청이나 VNF 라이프사이클 관리에 관련된 요청, NFV에 관련된 상태 정보 전달, 관리 정책 전달, 데이터 분석 교환, NFV에 관련된 과금 및 사용량 기록 전달, NFVI 기능 및 재고 관련 정보 교환 등에 사용된다.
본 명세서에서의 모듈(module)은 본 명세서에서 설명되는 각 명칭에 따른 기능과 동작을 수행할 수 있는 하드웨어를 의미할 수도 있고, 특정 기능과 동작을 수행할 수 있는 컴퓨터 프로그램 코드를 의미할 수도 있고, 또는 특정 기능과 동작을 수행시킬 수 있는 컴퓨터 프로그램 코드가 탑재된 전자적 기록 매체, 예를 들어 프로세서 또는 마이크로 프로세서를 의미할 수 있다. 다시 말해, 모듈이란 본 발명의 기술적 사상을 수행하기 위한 하드웨어 및/또는 상기 하드웨어를 구동하기 위한 소프트웨어의 기능적 및/또는 구조적 결합을 의미할 수 있다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(Arithmetic Logic Unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(Field Programmable Gate Array), PLU(Programmable Logic Unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (10)

  1. NFV(network function virtualization) 시스템의 상호 운용성을 테스트하기 위한 테스트 장치에 있어서,
    일련의 SFC(service function chain)를 구성하는 복수의 VNF(virtual network function) 중 테스트 대상에 해당하는 복수의 VNF FUT(function under test)의 상호 운용성을 테스트하기 위한 테스트 케이스 프로파일을 생성하는 테스트 프로파일러;
    상기 복수의 VNF FUT의 각 VNF FUT에 설치되어, 상기 각 VNF FUT에서 메트릭을 수집하고, 상기 각 VNF 내에서 상기 테스트 케이스 프로파일에 기초한 테스트 명령을 실행하는 복수의 테스트 에이전트들; 및
    상기 테스트 케이스 프로파일을 파싱하여 상기 테스트 명령을 생성하고, 상기 복수의 테스트 에이전트들에게 상기 테스트 명령을 제공하고, 상기 복수의 테스트 에이전트들로부터 상기 각 VNF FUT에서 수집된 상기 메트릭을 수신하고, 상기 수신된 상기 메트릭을 분석하여 상기 복수의 VNF FUT의 상기 상호 운용성에 관한 테스트 결과를 생성하는 테스트 컨트롤러
    를 포함하고,
    상기 복수의 VNF FUT의 상기 상호 운용성에 관한 테스트는
    상기 각 VNF의 수명 주기에 관한 테스트, 상기 각 VNF의 종속성에 관한 테스트, 및 상기 SFC의 오케스트레이션에 관한 테스트 중 적어도 하나를 포함하고,
    상기 상호 운용성에 관한 테스트를 위해 상기 복수의 테스트 에이전트들의 각 테스트 에이전트는
    상기 각 VNF FUT에 설치되어 각 VNF FUT를 일대일로 담당하고,
    상기 테스트 컨트롤러로부터 상기 테스트 명령을 수신하여 자신이 담당하는 담당 VNF FUT를 실행하고,
    다른 테스트 에이전트와 서로 통신하여 처리량, 패키지 손실 및 서비스 경로 정확도 중 적어도 하나를 포함하는 테스트 데이터를 교환하면서 상기 담당 VNF FUT를 테스트하고,
    상기 담당 VNF FUT에서 메트릭을 수집하여 상기 테스트 컨트롤러에 전달하는,
    테스트 장치.
  2. 삭제
  3. 삭제
  4. 제1항에 있어서,
    상기 테스트 컨트롤러는
    상기 테스트 프로파일을 오브젝트 및 테스트 메트릭으로 파싱하는 프로파일 파서(parser),
    상기 복수의 테스트 에이전트들과 통신하여 상기 테스트 명령을 제공하거나, 상기 메트릭을 수신하는 VNF 테스트 에이전트 드라이버,
    상기 복수의 VNF FUT 중 서로 다른 유형의 NFV 시스템에서 구동되는 VNF FUT를 지원하기 위해 상기 복수의 테스트 에이전트들 각각의 드라이버로 상기 복수의 테스트 에이전트들을 상기 각 VNF FUT에 설치하는 관리 드라이버, 및
    상기 테스트 케이스를 위한 테스트 절차를 조율하는 컨트롤러 엔진을 포함하는,
    테스트 장치.
  5. 제1항에 있어서,
    상기 테스트 컨트롤러는
    상기 테스트 케이스 프로파일에 대응하는 결함을 상기 테스트 에이전트들의 적어도 일부를 통해 상기 테스트 에이전트들의 상기 적어도 일부에 대응하는 상기 복수의 VNF FUT의 적어도 일부에 주입하는,
    테스트 장치.
  6. NFV(network function virtualization) 시스템의 상호 운용성을 테스트하기 위한 테스트 장치에 있어서,
    프로세서; 및
    상기 프로세서에서 실행가능한 명령어들을 포함하는 메모리
    를 포함하고,
    상기 명령어들이 상기 프로세서에서 실행되면, 상기 프로세서는
    일련의 SFC(service function chain)를 구성하는 복수의 VNF(virtual network function) 중 테스트 대상에 해당하는 복수의 VNF FUT(function under test)의 상호 운용성을 테스트하기 위한 테스트 케이스 프로파일을 생성하는 테스트 프로파일러,
    상기 복수의 VNF FUT의 각 VNF FUT에 설치되어, 상기 각 VNF FUT에서 메트릭을 수집하고, 상기 각 VNF 내에서 상기 테스트 케이스 프로파일에 기초한 테스트 명령을 실행하는 복수의 테스트 에이전트들, 및
    상기 테스트 케이스 프로파일을 파싱하여 상기 테스트 명령을 생성하고, 상기 복수의 테스트 에이전트들에게 상기 테스트 명령을 제공하고, 상기 복수의 테스트 에이전트들로부터 상기 각 VNF FUT에서 수집된 상기 메트릭을 수신하고, 상기 수신된 상기 메트릭을 분석하여 상기 복수의 VNF FUT의 상기 상호 운용성에 관한 테스트 결과를 생성하는 테스트 컨트롤러
    를 구현하고,
    상기 복수의 VNF FUT의 상기 상호 운용성에 관한 테스트는
    상기 각 VNF의 수명 주기에 관한 테스트, 상기 각 VNF의 종속성에 관한 테스트, 및 상기 SFC의 오케스트레이션에 관한 테스트 중 적어도 하나를 포함하고,
    상기 상호 운용성에 관한 테스트를 위해 상기 복수의 테스트 에이전트들의 각 테스트 에이전트는
    상기 각 VNF FUT에 설치되어 각 VNF FUT를 일대일로 담당하고,
    상기 테스트 컨트롤러로부터 상기 테스트 명령을 수신하여 자신이 담당하는 담당 VNF FUT를 실행하고,
    다른 테스트 에이전트와 서로 통신하여 처리량, 패키지 손실 및 서비스 경로 정확도 중 적어도 하나를 포함하는 테스트 데이터를 교환하면서 상기 담당 VNF FUT를 테스트하고,
    상기 담당 VNF FUT에서 메트릭을 수집하여 상기 테스트 컨트롤러에 전달하는,
    테스트 장치.
  7. 삭제
  8. 삭제
  9. 제6항에 있어서,
    상기 테스트 컨트롤러는
    상기 테스트 프로파일을 오브젝트 및 테스트 메트릭으로 파싱하는 프로파일 파서(parser),
    상기 복수의 테스트 에이전트들과 통신하여 상기 테스트 명령을 제공하거나, 상기 메트릭을 수신하는 VNF 테스트 에이전트 드라이버,
    상기 복수의 VNF FUT 중 서로 다른 유형의 NFV 시스템에서 구동되는 VNF FUT를 지원하기 위해 상기 복수의 테스트 에이전트들 각각의 드라이버로 상기 복수의 테스트 에이전트들을 상기 각 VNF FUT에 설치하는 관리 드라이버, 및
    상기 테스트 케이스를 위한 테스트 절차를 조율하는 컨트롤러 엔진을 포함하는,
    테스트 장치.
  10. 제6항에 있어서,
    상기 테스트 컨트롤러는
    상기 테스트 케이스 프로파일에 대응하는 결함을 상기 테스트 에이전트들의 적어도 일부를 통해 상기 테스트 에이전트들의 상기 적어도 일부에 대응하는 상기 복수의 VNF FUT의 적어도 일부에 주입하는,
    테스트 장치.
KR1020190125617A 2019-10-10 2019-10-10 Nfv 시스템의 상호 운용성을 테스트하기 위한 테스트 장치 KR102262395B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190125617A KR102262395B1 (ko) 2019-10-10 2019-10-10 Nfv 시스템의 상호 운용성을 테스트하기 위한 테스트 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190125617A KR102262395B1 (ko) 2019-10-10 2019-10-10 Nfv 시스템의 상호 운용성을 테스트하기 위한 테스트 장치

Publications (2)

Publication Number Publication Date
KR20210042713A KR20210042713A (ko) 2021-04-20
KR102262395B1 true KR102262395B1 (ko) 2021-06-08

Family

ID=75743321

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190125617A KR102262395B1 (ko) 2019-10-10 2019-10-10 Nfv 시스템의 상호 운용성을 테스트하기 위한 테스트 장치

Country Status (1)

Country Link
KR (1) KR102262395B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230056167A (ko) 2021-10-20 2023-04-27 숭실대학교산학협력단 컨테이너 기반 네트워크 서비스를 위한 자동화된 테스트 방법 및 장치

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11509704B1 (en) 2021-05-28 2022-11-22 T-Mobile Usa. Inc. Product validation based on simulated enhanced calling or messaging communications services in telecommunications network
US11546243B1 (en) * 2021-05-28 2023-01-03 T-Mobile Usa, Inc. Unified interface and tracing tool for network function virtualization architecture
US11490432B1 (en) 2021-05-28 2022-11-01 T-Mobile Usa, Inc. Unified query tool for network function virtualization architecture

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170133781A (ko) * 2016-05-26 2017-12-06 한국전자통신연구원 가상 인프라 스트럭처의 시험 및 진단 장치 및 방법

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
T. H. Nguyen and M. Yoo, "A VNF descriptor generator for tacker-based NFV management and orchestration", 2018 International Conference on Information and Communication Technology Convergence (ICTC), I
U. Acar et al., "Programming tools for rapid NFV-based media application development in 5G networks", 2018 IEEE Conference on Network Function Virtualization and Software Defined Networks (NFV-SDN), p*

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230056167A (ko) 2021-10-20 2023-04-27 숭실대학교산학협력단 컨테이너 기반 네트워크 서비스를 위한 자동화된 테스트 방법 및 장치

Also Published As

Publication number Publication date
KR20210042713A (ko) 2021-04-20

Similar Documents

Publication Publication Date Title
KR102262395B1 (ko) Nfv 시스템의 상호 운용성을 테스트하기 위한 테스트 장치
US11630646B2 (en) Software defined network controller
Liu et al. Crystalnet: Faithfully emulating large production networks
US6983400B2 (en) Distributed test harness model
US9098364B2 (en) Migration services for systems
CN108369532B (zh) 用于第一和第三方部件部署的封装工具的系统和方法
US8959000B2 (en) Integrated testing systems and methods
US8819638B2 (en) Application protoyping suite
US8913729B2 (en) Automated provisioning
US20140122935A1 (en) Diagnosing a Problem of a Software Product Running in a Cloud Environment
US10824547B2 (en) Automated certification testing for application deployment
CN107241315B (zh) 银行网关接口的接入方法、装置及计算机可读存储介质
GB2504491A (en) Remote debug service in a cloud environment
EP3468144B1 (en) Displaying errors of cloud service components
US10423439B1 (en) Automatic determination of a virtual machine&#39;s dependencies on storage virtualization
US20150156202A1 (en) Privilege Separation
US8826243B2 (en) System, method, and computer program product for error code injection
US7434041B2 (en) Infrastructure for verifying configuration and health of a multi-node computer system
CN112527252A (zh) 小程序管理方法及装置、小程序平台、电子设备、介质
JP2024508473A (ja) コンテナフレームワークのネットワークポリシーを検証するための技術
Osiński et al. DPPx: A P4-based Data Plane Programmability and Exposure framework to enhance NFV services
Schirgi et al. Quality assurance for microservice architectures
Chen et al. MORE: A model-driven operation service for cloud-based IT systems
Shen et al. Network-centric distributed tracing with DeepFlow: Troubleshooting your microservices in zero code
Meirosu et al. DevOps for software-defined telecom infrastructures

Legal Events

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