KR20150095090A - Openflow based Communication environment test case generating apparatus and method therefor - Google Patents

Openflow based Communication environment test case generating apparatus and method therefor Download PDF

Info

Publication number
KR20150095090A
KR20150095090A KR1020140016181A KR20140016181A KR20150095090A KR 20150095090 A KR20150095090 A KR 20150095090A KR 1020140016181 A KR1020140016181 A KR 1020140016181A KR 20140016181 A KR20140016181 A KR 20140016181A KR 20150095090 A KR20150095090 A KR 20150095090A
Authority
KR
South Korea
Prior art keywords
test
test case
case
flow table
rule
Prior art date
Application number
KR1020140016181A
Other languages
Korean (ko)
Inventor
이종국
정연서
남기동
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to KR1020140016181A priority Critical patent/KR20150095090A/en
Publication of KR20150095090A publication Critical patent/KR20150095090A/en

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/14Network analysis or design
    • H04L41/145Network analysis or design involving simulating, designing, planning or modelling of a network
    • 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

Landscapes

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

Abstract

The present invention relates to generating apparatus and method for an OpenFlow-based communications environment test case capable of testing the relevance and performance in a communications environment by generating a test case automatically through a flow table about an OpenFlow-based communications environment. The generating apparatus for an OpenFlow-based communications environment test case includes an information collection unit, a case collection unit, and a case verification unit; and has a purpose to generate a test case automatically which is fitted with a device under a test and a flow table rule through a script or a language capable of controlling the flow table of an OpenFlow controller or a network measuring device for an automatic test and to provide a result to a tester by verifying the test case.

Description

오픈플로우 기반의 통신환경 테스트 사례 생성장치 및 그 방법 {Openflow based Communication environment test case generating apparatus and method therefor}[0001] The present invention relates to an apparatus and method for generating a communication environment test case based on an open flow,

본 발명은 통신환경 테스트 사례 생성장치 및 그 방법에 관한 것으로, 보다 구체적으로는 오픈플로우 기반의 통신환경에 대하여 플로우 테이블을 통해 테스트 사례를 자동으로 생성하여 통신환경의 적합성 및 성능을 테스트할 수 있는 오픈플로우 기반의 통신환경 테스트 사례 생성장치 및 그 방법에 관한 것이다.The present invention relates to an apparatus and method for generating a communication environment test case, and more particularly, to an apparatus and method for generating a communication environment test case by automatically generating a test case through a flow table for an open- An open-flow-based communication environment test case generation apparatus and method thereof.

최근 오픈플로우(OpenFlow) 기반의 통신환경에 대한 발전이 눈부시게 이루어지고 있다. 오픈플로우는 네트워크의 정상적인 서비스를 간섭하지 않으면서 새로운 네트워크 기술을 실험할 수 있도록 도와주는 미래 인터넷 연구를 위한 프로토콜을 의미한다.Recently, development of communication environment based on OpenFlow has been remarkable. Open-flow is a protocol for future Internet research that helps to experiment with new network technologies without interfering with the normal service of the network.

기존의 오픈플로우 환경에 대한 시험은 시험표준에 맞추어서 그것이 맞는지 시험하거나, 플로우 테이블을 시험자가 보고 시험항목을 결정한 뒤에, 시험항목에 따라 시험자가 직접 수행을 하여 결과값을 보여주고, 해당 시험항목의 통과/불가의 기준은 시험자의 판단에 따라 이루어졌다. Existing open-flow environment tests are performed according to the test standard, and the flow table is tested by the tester. After the test items are determined, the test results are displayed by the tester according to the test items. The criteria for pass / fail were made at the discretion of the tester.

그러나, 이런 방식으로는 플로우 테이블의 항목이 많을 때 테스트 사례들을 하나 하나 모두 만드는 것에 많은 시간과 노력이 소요되었다.However, in this way, it took a lot of time and effort to create test cases one by one when there were many items in the flow table.

그리고 여러 대의 네트워크 장비에 설정된 플로우 테이블들이 상호 영향을 주어서 어떠한 영향을 미치는지 시험하기 어렵고, 해당 시험항목의 제작이 시험자 개인에 달려 있으므로 테스트 케이스의 양이나 질은 시험자의 역량에 따라 달라지게 된다.It is difficult to test how the flow tables set up in multiple network devices affect each other and how it affects them. Since the production of the test items depends on the individual, the quantity and quality of the test cases depend on the competence of the tester.

본 발명은 오픈플로우 기반의 플로우 테이블을 분석하여 테스트 사례를 자동으로 생성할 수 있는 장치 및 그 방법에 관한 것으로. 이를 위해, 시험대상장비(DUT: Device under Test)인 네트워크 장비의 사양정보와 오픈플로우 컨트롤러의 플로우 테이블을 입력 받아 이에 맞는 테스트 사례를 생성하고, 이를 검증해서 그 결과를 시험자에게 제공하는 데 그 목적이 있다.The present invention relates to an apparatus and method for automatically generating a test case by analyzing an open flow based flow table. To this end, the specification information of the network equipment (DUT: Device under Test) and the flow table of the open flow controller are input, and a test case corresponding to this is generated, and it is verified and the result is provided to the tester .

본 발명의 실시 예에 따르면 시험대상장비 세부사양정보 및 네트워크 환경의 세부사양정보를 수집하며 테스트 사례의 범위를 지정하고, 상기 시험대상장비로부터 플로우 테이블을 수신하는 정보 수집부; 상기 지정된 테스트 사례의 범위와 일치하는 테스트 사례와 연계된 다른 시험대상장치의 플로우 테이블을 수신하고, 상기 시험대상장비 및 상기 다른 시험대상장비로부터 수신 받은 전체 플로우 테이블에 포함된 규칙을 통하여 테스트 사례를 생성하는 사례 구현부; 및 상기 사례 구현부에서 전송된 패킷을 분석하며 상기 전체 플로우 테이블에 포함된 규칙에 대해 테스트 사례의 범위에 맞는 모든 시험을 수행하였다면 다른 규칙이 존재하는지를 탐색하고, 상기 분석을 통해 상기 테스트 사례를 평가하는 사례 검증부를 포함하는 것을 특징할 수 있다.According to an embodiment of the present invention, an information collecting unit collects detailed specification information of a test target equipment and detailed specification information of a network environment, designates a range of a test case, and receives a flow table from the test target equipment; Receiving a flow table of another test target device associated with a test case that matches the scope of the specified test case and transmitting the test case through the rule included in the entire flow table received from the test target device and the other test target device Generating Case Implementation; And analyzing the packet transmitted from the case implementation unit and searching for whether there is another rule if all the tests corresponding to the range of the test case are performed for the rules included in the entire flow table, And a case verifying unit for verifying the verification result.

일 실시 예에 따르면 상기 정보 수집부는, 상기 시험대상장비 및 네트워크 환경에 대한 세부사양정보를 수집하는 사양 수집부; 테스트 사례의 4단계의 범위 중 하나가 선택되어 상기 생성될 테스트 사례의 범위를 지정하는 사례범위 지정부; 및 상기 시험대상장치로부터 각각의 오픈플로우의 버전에 맞는 플로우 테이블을 수신하는 플로우 테이블 수신부를 더 포함하는 것을 특징으로 할 수 있다.According to an embodiment, the information collecting unit may include a specification collecting unit collecting detailed specification information about the test target equipment and the network environment; A case scope specifying unit that selects one of the four ranges of the test case and specifies a range of the test case to be created; And a flow table receiving unit for receiving a flow table corresponding to a version of each open flow from the test target apparatus.

일 실시 예에 따르면 제 1 항에 있어서 상기 사례 구현부는, 상기 지정된 테스트 사례의 범위와 다른 시험대상장비의 플로우 테이블과 연계된 테스트 사례의 범위를 비교하여 만약 일치하는 경우 상기 다른 시험대상장치의 플로우 테이블을 수신하는 범위 판단부; 상기 전체 플로우 테이블에 포함된 규칙항목의 정보를 기준으로 삼아 테스트 사례를 생성하는 사례 제작부; 및 상기 생성된 테스트 사례를 상기 시험대상장비 및 네트워크 환경의 세부사양정보에 맞게 설정하고, 이러한 설정에 맞게 패킷을 전송하는 패킷 전송부를 더 포함하는 것을 특징으로 할 수 있다.According to one embodiment, the case implementation unit compares a range of the test case associated with the flow test table of the test target equipment with the range of the designated test case, A range determining unit for receiving a table; A case maker for generating a test case based on information of a rule item included in the entire flow table; And a packet transmission unit for setting the generated test case according to detailed specification information of the test target equipment and the network environment, and for transmitting a packet according to the setting.

일 실시 예에 따르면 상기 사례 구현부는, 상기 시험대상장치가 제어할 수 있는 스크립트 언어 라이브러리를 제공하면 상기 테스트 사례의 생성에 맞추어 상기 시험대상장비가 패킷을 전송할 수 있도록 스크립트 프로그램을 생성하는 스크립트 생성부를 더 포함하는 것을 특징으로 할 수 있다.According to an embodiment, the case implementation unit may include a script generation unit that generates a script program so that the test target device can transmit a packet according to generation of the test case, when the script language library that the test target device can control is provided And further comprising

일 실시 예에 따르면 상기 사례 검증부는, 상기 전송한 패킷의 전송결과에 대한 정보를 분석하는 패킷 분석부; 상기 수신한 전체 플로우 테이블에 포함된 규칙에 대하여 테스트 사례의 범위에 맞는 시험을 모두 수행하였는지를 판단하고, 모두 수행하였다면 상기 전체 플로우 테이블에 포함된 또 다른 규칙이 존재하는지를 탐색하여 다른 규칙이 존재한다면 그 규칙에 대하여 테스트 사례의 범위에 맞는 시험을 모두 수행하게 하며, 존재하지 않는다면 시험을 종료하는 규칙 탐색부; 상기 패킷 분석부에서 각 규칙마다 분석한 결과를 통해 테스트 사례의 적합성 및 성능에 대한 평가를 도출하는 사례 평가부를 더 포함하는 것을 특징으로 할 수 있다.According to an embodiment, the case verification unit may include: a packet analyzer for analyzing information on a transmission result of the transmitted packet; If all of the rules included in the overall flow table have been performed, it is determined whether all the tests corresponding to the range of the test case have been performed for the rules included in the received overall flow table. If all the rules are included, A rule search unit for causing the rule to perform all tests according to the range of the test case, and terminating the test if it does not exist; And a case evaluating unit for deriving an evaluation of suitability and performance of the test case through the analysis result of each rule in the packet analyzing unit.

일 실시 예에 따르면 상기 사례 평가부는, 각 규칙에 대해 미리 설정한 가중치를 바탕으로 각 규칙에 대한 분석 결과 값에 가중치를 두어 이를 합산한 결과값을 통해 평가를 도출하는 것을 특징으로 할 수 있다.According to an embodiment, the case evaluating unit may derive an evaluation based on a result obtained by adding weights to the analysis result values of the respective rules based on the weights previously set for the respective rules, and summing the weights.

본 발명의 실시 예에 따르면 오픈플로우 기반의 통신환경 테스트 사례 생성방법은 시험대상장비 및 네트워크 환경의 세부사양정보 수집하는 단계; 테스트 사례의 범위를 지정 받는 단계; 상기 시험대상장비로부터 플로우 테이블을 수신하는 단계; 상기 지정된 테스트 사례의 범위와 일치하는 테스트 사례의 범위를 가진 다른 시험대상장비의 플로우 테이블을 수신하는 단계; 상기 시험대상장비 및 상기 다른 시험대상장비로부터 수신한 전체 플로우 테이블의 규칙에 따라 테스트 사례를 생성하는 단계; 상기 생성된 테스트 사례로부터 전송된 패킷의 전송결과를 분석하는 단계; 상기 규칙에 대한 테스트 사례의 범위에 맞는 시험을 모두 수행하였으면 상기 전체 플로우 테이블 내의 또 다른 규칙의 존재를 탐색하여 다른 규칙이 존재하는 경우 상기 존재하는 규칙에 대한 테스트 사례의 범위에 맞는 시험을 모두 수행하고, 다른 규칙이 존재하지 않는 경우 시험을 종료하는 단계; 상기 규칙에 따른 전송결과로부터 상기 테스트 사례에 대한 평가를 도출하는 단계를 포함하는 것을 특징으로 할 수 있다.According to an embodiment of the present invention, an open flow based communication environment test case generation method includes: collecting detailed specification information of a test target device and a network environment; Receiving a range of test cases; Receiving a flow table from the device under test; Receiving a flow table of another test target equipment having a range of test cases matching the scope of the specified test case; Generating a test case according to a rule of an entire flow table received from the test target equipment and the other test target equipment; Analyzing a transmission result of the packet transmitted from the generated test case; If all the tests conforming to the scope of the test case for the rule have been performed, the existence of another rule in the entire flow table is searched for, and if there is another rule, the test corresponding to the range of the test case for the existing rule is performed And terminating the test if no other rules exist; And deriving an evaluation of the test case from the transmission result according to the rule.

일 실시 예에 따르면 상기 테스트 사례를 생성하는 단계는, 상기 시험대상장치가 스크립트 언어 라이브러리를 제공하면 상기 테스트 사례의 생성에 맞추어 상기 시험대상장비가 패킷을 전송할 수 있도록 스크립트 프로그램을 생성하는 단계를 포함하는 것을 특징으로 할 수 있다.According to an embodiment, the step of generating a test case includes a step of generating a script program so that the test target device can transmit a packet according to generation of the test case, when the test target device provides a script language library .

일 실시 예에 따르면 상기 평가를 도출하는 단계는, 상기 각 규칙에 대해 미리 설정한 가중치를 바탕으로 각 규칙에 대한 분석 결과 값에 가중치를 두어 이를 합산한 결과값을 통해 평가를 도출하는 단계를 포함하는 것을 특징으로 할 수 있다.According to an embodiment, the step of deriving the evaluation may include deriving an evaluation based on a result obtained by adding weights to the analysis result values of the respective rules based on the weights previously set for the respective rules, .

도 1은 본 발명의 실시 예에 따른 테스트 사례 범위의 구조를 도시한 도면이다.
도 2a는 오픈플로우 1.0.0을 적용하는 실시 예에 따른 플로우 테이블의 구조를 도시한 도면이다.
도 2b는 오픈플로우 1.3.2를 적용하는 실시 예에 따른 플로우 테이블의 구조를 도시한 도면이다.
도 3은 본 발명의 실시 예에 따른 테스트 사례 생성장치의 구성도이다.
도 4는 도 3에 도시된 정보 수집부의 세부 구성도이다.
도 5는 도 3에 도시된 사례 생성부의 세부 구성도이다.
도 6는 도 3에 도시된 사례 검증부의 세부 구성도이다.
도 7은 본 발명의 실시 예에 따른 테스트 사례 생성장치의 동작을 설명하기 위한 도면이다.
도 8은 본 발명의 실시 예에 따른 테스트 사례 생성 방법을 나타낸 흐름도이다.
1 is a diagram showing a structure of a test case scope according to an embodiment of the present invention.
2A is a diagram showing the structure of a flow table according to an embodiment to which an open flow 1.0.0 is applied.
FIG. 2B is a diagram showing the structure of a flow table according to the embodiment to which the open flow 1.3.2 is applied.
3 is a configuration diagram of a test case generating apparatus according to an embodiment of the present invention.
4 is a detailed configuration diagram of the information collecting unit shown in FIG.
5 is a detailed configuration diagram of the case generating unit shown in FIG.
6 is a detailed configuration diagram of the case verification unit shown in FIG.
7 is a view for explaining the operation of the test case generating apparatus according to the embodiment of the present invention.
8 is a flowchart illustrating a test case generation method according to an embodiment of the present invention.

아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시 예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art can easily carry out the present invention. The present invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. In order to clearly illustrate the present invention, parts not related to the description are omitted, and similar parts are denoted by like reference characters throughout the specification.

명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성 요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.Throughout the specification, when an element is referred to as "comprising ", it means that it can include other elements as well, without excluding other elements unless specifically stated otherwise.

이하, 도면을 참조하여 본 발명의 실시 예에 따른 오픈플로우 기반의 통신환경 테스트 사례 생성장치 및 그 방법에 대하여 설명한다.Hereinafter, an apparatus and method for generating a communication environment test case based on an open flow according to an embodiment of the present invention will be described with reference to the drawings.

도 1은 본 발명의 실시 예에 따른 테스트 사례 범위의 구조를 도시한 도면이다.1 is a diagram showing a structure of a test case scope according to an embodiment of the present invention.

본 발명에 있어서 테스트 사례란 테스트용 또는 검사용 입력 데이터의 샘플을 사용해 정확성이나 완전성을 검증하는 것과 같은 특정 목적을 위해 개발된 테스트 데이터와 그에 관련된 프로시저들의 집합으로 시험을 수행하기 위해 기본이 되는, 문서화된 항목, 시험할 구체적인 내용을 문서화한 것으로 직접 시험을 수행하는 근간이 되고, 시험을 수행했다는 증거가 되며, 시험이 포함하는 범위를 표현하기도 한다. In the present invention, a test case is a set of test data and related procedures developed for a specific purpose, such as verifying the accuracy or completeness of a test or inspection input data, , Documented items, and the specific details to be tested. It is the basis for conducting the test directly, providing evidence that the test has been performed, and expressing the scope of the test.

테스트 사례를 사용하는 상황에 따라 사용하는 업체, 시험원, 프로젝트 등에 따라 의미가 변경되어 사용되기도 한다. 일반적으로 테스트 사례는 측정 가능한 상태에 대한 정보, 상황(condition), 이벤트(event), 입출력 값을 포함하는 데이터로 구성되어 있다.Depending on the situation of using the test case, the meaning may be changed depending on the company, test center, and project used. Typically, a test case consists of data that includes measurable state information, conditions, events, and input / output values.

본 발명의 테스트 사례는 도 1에 도시된 것과 같이 4단계로 정의 될 수 있다.The test case of the present invention can be defined in four steps as shown in Fig.

제1 단계는 플로우 테이블이 포함하고 있는 규칙이 규정하는 조건으로 테스트 사례를 지정하는 것으로써, 규칙에 의해서 생성된 테스트 사례가 시험대상장비를 대상으로 시험을 수행할 수 있는지에 대한 적합성을 판정할 수 있다.The first step is to determine the suitability of the test case created by the rule to test the equipment under test by specifying the test case under the conditions specified by the rule included in the flow table .

제2 단계는 플로우 테이블에 포함된 규칙의 범위 것을 False 조건으로 하여, 이러한 조건을 테스트 사례에 포함하는 것으로써, 제1 단계에 추가로 포함하여 규칙에 의하여 생성된 테스트 사례가 얼마나 잘 적용되는지 판단할 수 있다.In the second step, the scope of the rule included in the flow table is set as a false condition. By including these conditions in the test case, it is further included in the first step to judge how well the test case generated by the rule is applied can do.

제 3단계는 플로우 테이블의 다른 규칙에 연계된 테스트 사례와 복합적으로 적용될 수 있도록 지정하는 것으로써, 다른 규칙들과 동시 다발적으로 적용되었을 때에 시험대상장비를 대상으로 규칙에 의하여 생성된 테스트 사례가 얼마나 잘 적용되는지 판단할 수 있다.The third step is to specify that the test cases can be applied in combination with the test cases linked to other rules of the flow table so that the test cases generated by the rule for the test target equipment when applied simultaneously with other rules You can judge how well it is applied.

제4 단계는 다른 장비의 플로우 테이블에서 생성되는 테스트 사례들과 복합적으로 적용될 수 있도록 지정하는 것으로써, 다른 장비의 플로우 테이블과 시험대상장비의 플로우 테이블이 그에 포함된 여러 규칙을 적용하는 시험을 수행할 때 플로우 테이블끼리 일으킬 수 있는 루프 백(loop back)이나 여러 가지 문제들을 파악할 수 있다.The fourth step is to specify that the flow table of the other equipment and the flow table of the equipment to be tested can be applied in combination with the test cases generated from the flow table of the other equipment. You can identify loopbacks and other problems that can cause the flow tables to fall apart.

본 발명에서 테스트 사례의 범위는 상술한 것처럼 4단계로 정의될 수 있으나 이것에 한정되지 아니하고 오픈플로우 기반의 네트워크 환경을 테스트할 수 있는 테스트 사례의 범위라면 적용이 가능하다.In the present invention, the scope of the test case can be defined in four stages as described above, but the present invention is not limited thereto, but can be applied to a test case that can test an open flow based network environment.

도 2a는 오픈플로우 1.0.0을 적용하는 실시 예에 따른 플로우 테이블의 구조를 도시한 도면이다.2A is a diagram showing the structure of a flow table according to an embodiment to which an open flow 1.0.0 is applied.

오픈플로우 1.0.0을 적용하는 실시 예에 따르면 플로우 테이블은 Rule(규칙), Action, Stats의 항목에 대한 정보를 포함할 수 있다According to the embodiment applying the open flow 1.0.0, the flow table may include information on items of Rule (Action), Stats

Rule(규칙)에는 switch port, VLAN ID, MAC src, MAC dst, Eth type, IP src, IP dst, TCP sport, TCP dport등을 포함할 수 있으며, 차후 테스트 사례의 범위를 지정하여 자동으로 생성하기 위한 가이드라인(Guideline) 또는 기준으로 사용될 수 있다.Rule can include switch port, VLAN ID, MAC src, MAC dst, Eth type, IP src, IP dst, TCP sport, TCP dport, etc. And may be used as a guideline or reference.

Action에는 포트로 패킷 포워딩(Packet forwarding)하고, 컨트롤러로 포워딩및 캡슐화하며, 패킷을 드롭(Drop)하고, 일반 프로세싱 파이프라인(normal processing pipeline)으로 전송하고, 필드를 수정하는 동작을 하도록 하는 정보를 포함할 수 있다.Actions include information that allows packet forwarding to the port, forwarding and encapsulating to the controller, dropping the packet, sending it to the normal processing pipeline, and modifying the fields .

마지막으로 Stats은 패킷과 바이트(byte)의 카운터(Counter)를 포함할 수 있고, 용량에 대한 정보를 포함하며, Stats을 포함한 플로우 테이블의 전달로서 용량에 대한 정보를 제공할 수 있다.Finally, Stats can include packets and counters of bytes, contain information about capacity, and can provide information about capacity as a delivery of a flow table containing Stats.

도 2b는 오픈플로우 1.3.2를 적용하는 실시 예에 따른 플로우 테이블의 구조를 도시한 도면이다.FIG. 2B is a diagram showing the structure of a flow table according to the embodiment to which the open flow 1.3.2 is applied.

도 2b를 참조하면 플로우 테이블은 match table, priority, counters, instructions, timeouts, cookies등을 포함할 수 있다.Referring to FIG. 2B, the flow table may include a match table, priority, counters, instructions, timeouts, cookies, and the like.

여기서는 오픈플로우 1.0.0에서의 플로우 테이블에서 규칙에 테스트 사례를 생성하는 데 필요한 가이드라인 또는 기준에 대한 정보를 포함하고 있었던 것에 반하여 match table에 그러한 정보를 포함하고 있으며, 주로 IPv4를 기반으로 하는 오픈플로우 1.0.0에서의 플로우 테이블과 다르게 IPv6도 지원할 수 있다.The flow table in Openflow 1.0.0 contains information about guidelines or criteria for creating test cases in rules, whereas the match table contains such information. It is mainly used for IPv4-based open Unlike the flow table in Flow 1.0.0, IPv6 can also be supported.

도 3은 본 발명의 실시 예에 따른 테스트 사례 생성장치(1000)의 구성도이다.3 is a configuration diagram of a test case generation apparatus 1000 according to an embodiment of the present invention.

도 3을 참조하면 테스트 사례 생성장치(1000)는 정보 수집부(100), 사례 구현부(200), 사례 검증부(300)를 포함할 수 있으며 정보 수집부(100)에서 수집한 정보를 바탕으로 테스트 사례를 생성하여, 생성된 테스트 사례의 시험대상장비를 대상으로 적합성 및 그 성능을 검증할 수 있다.Referring to FIG. 3, the test case generating apparatus 1000 may include an information collecting unit 100, a case implementing unit 200, and a case verifying unit 300, To test the suitability and the performance of the test target equipment of the generated test case.

정보 수집부(100)는 시험대상장비의 세부적인 사양과 시험대상장비들로 구성된 네트워크 환경의 설정 값 등의 세부적인 사양 정보를 수집하고, 테스트 사례의 범위를 4단계중 하나로 지정하고, 시험대상장비로부터 플로우 테이블을 수신할 수 있다.The information collecting unit 100 collects detailed specification information such as the detailed specifications of the equipment to be tested and the set values of the network environment composed of the equipment to be tested, specifies the scope of the test case as one of the four levels, A flow table can be received from the equipment.

여기서 시험대상 장비의 세부사양 정보는 시험대상장비인 네트워크 장비들의 출력, 사용 주파수, 사용전력 등 하드웨어 적인 세부 항목 별 정보를 의미한다.Here, the detail specification information of the test target equipment means hardware specific information such as the output, the frequency of use, and the power used by the network devices to be tested.

또한 네트워크 환경에 대한 세부사양 정보는 네트워크 환경을 이루기 위해 구성된 시험대상 장비들이 하나의 네트워크 환경을 이루기 위해 설정된 설정 값의 정보를 의미한다.In addition, the detailed specification information about the network environment means information of a set value set for the test target apparatuses constituting a network environment to establish a network environment.

정보 수집부(100)는 도 4를 참조하여 더 자세하게 설명하도록 하겠다.The information collecting unit 100 will be described in detail with reference to FIG.

사례 구현부(200)는 지정된 테스트 사례의 범위와 일치하는 테스트 사례와 연계된 다른 시험대상장치의 플로우 테이블을 수신하고, 시험대상장치에서 수신한 플로우 테이블과 다른 시험대상장치에서 수신한 플로우 테이블에 포함된 규칙을 통하여 테스트 사례를 생성하여, 테스트 사례에 따라 패킷을 전송할 수 있다.The case implementation unit 200 receives a flow table of another test target device associated with a test case that matches the scope of the specified test case, and stores the flow table received from the test target device in a flow table received from another test target device You can create a test case through the included rules and send the packet according to the test case.

이때 자동으로 제어할 수 있는 스크립트 언어 라이브러리가 제공되는 경우에는 패킷을 전송할 수 있는 스크립트 프로그램을 자동으로 제작하여 패킷을 전송할 수 있다.At this time, if a script language library that can be automatically controlled is provided, a script program capable of transmitting a packet can be automatically created and the packet can be transmitted.

사례 구현부(200)는 도 5를 참조하여 더 자세하게 설명하도록 하겠다.The case implementation unit 200 will be described in more detail with reference to FIG.

사례 검증부(300)는 사례 구현부(200)에서 생성한 테스트 사례에서 전송한 패킷의 전송결과를 분석하고 플로우 테이블의 해당 규칙에 대해 테스트 사례의 범위에 맞는 모든 시험을 수행하였다면 다른 규칙이 존재하는지를 탐색한 후, 존재한다면 다른 규칙에 대한 테스트 사례의 범위에 맞는 모든 시험을 수행하고, 그렇지 않은 경우 시험을 종료하고 그 결과를 출력한다.The case verification unit 300 analyzes the transmission result of the packet transmitted from the test case generated by the case implementation unit 200 and performs all tests corresponding to the range of the test case for the corresponding rule of the flow table. And if so, performs all tests that meet the range of the test case for the other rule, otherwise, the test is terminated and the result is output.

사례 검증부(300)는 도 6을 참조하여 더 자세하게 설명하도록 하겠다.The case verification unit 300 will be described in detail with reference to FIG.

도 4는 도 3에 도시된 정보 수집부(100)의 세부 구성도이다.4 is a detailed configuration diagram of the information collecting unit 100 shown in FIG.

도 4를 참조하면 정보 수집부(100)는 사양 수집부(110), 사례범위 지정부(120), 플로우 테이블 수신부(130)를 포함할 수 있다.Referring to FIG. 4, the information collecting unit 100 may include a specification collecting unit 110, a case area designating unit 120, and a flow table receiving unit 130.

사양 수집부(110)은 시험에 사용될 네트워크 장비, 즉 시험대상장비의 세부 사양에 대한 정보 및 이러한 시험대상장비를 포함하고 각각의 시험대상장비가 시험에 맞게 설정되어 이루어진 네트워크 환경에 대한 세부정보를 수집할 수 있다.The specification collecting unit 110 collects information about the network equipment to be used for the test, that is, detailed specifications of the test target equipment, and detailed information about the network environment including the test target equipment and each test target equipment is set according to the test Can be collected.

이러한 정보를 수집하는 이유는 테스트 사례를 생성하여 네트워크 환경에 적합한지 여부를 판단하기 위해서는 각 시험대상장비 및 네트워크 환경에 대한 세부정보를 통해 실제와 동일한 변수를 대입하여 이 변수를 토대로 하여 시험을 진행할 수록 더 정확한 시험이 될 수 있기 때문이다.The reason for collecting this information is to generate a test case and determine whether it is suitable for the network environment by substituting the actual variables with detailed information about each test target device and network environment, This is because more tests can be made.

사례범위 지정부(120)는 전술한 도 1에서 살펴본 테스트 사례의 범위 4단계중 하나를 선택하여 범위를 지정할 수 있다. The case scope specification unit 120 can specify a range by selecting one of the four ranges of the test case shown in FIG. 1 described above.

이때 각 단계는 그전 단계의 범위를 포함한다. 예를 들어 2단계를 선택하면 1단계의 범위에 1단계의 추가적인 내용을 더하여 테스트 사례의 범위가 지정되고, 4단계를 선택하면 3단계의 범위에 4단계의 추가적인 내용을 더하여 테스트 사례의 범위가 지정될 수 있다.Each step includes a range of previous steps. For example, if Step 2 is selected, the scope of Step 1 is added to the scope of Step 1 to add the scope of the test case, and if Step 4 is selected, the scope of Step 3 is added to the scope of Step 4, Can be specified.

플로우 테이블 수신부(130)는 시험대상장치로부터 플로우 테이블을 수신하여 플로우 테이블에 포함된 정보를 입력 받을 수 있다.The flow table receiving unit 130 receives the flow table from the test target apparatus and receives the information included in the flow table.

이때 수신하는 플로우 테이블은 도 2a, 2b에서 도시된 것과 같이 오픈플로우의 버전(1.0.0 또는 1.3.2)에 맞는 각각의 구조를 지닌 플로우 테이블을 수신할 수 있다.The receiving flow table may receive a flow table having a structure corresponding to the version (1.0.0 or 1.3.2) of the open flow as shown in Figs. 2A and 2B.

도 5는 도 3에 도시된 사례 구현부(200)의 세부 구성도이다.5 is a detailed configuration diagram of the case implementation unit 200 shown in FIG.

도 5를 참조하면 사례 구현부(200)은 범위 판단부(210), 사례 제작부(220), 스크립트 생성부(230), 패킷 전송부(240)을 포함할 수 있다.5, the case implementation unit 200 may include a range determination unit 210, a case production unit 220, a script generation unit 230, and a packet transmission unit 240.

범위 판단부(210)는 지정된 테스트 사례의 범위와 다른 시험대상장비의 플로우 테이블과 연계된 테스트 사례의 범위가 일치하는지를 판단하여, 일치하는 경우 다른 시험대상장치의 플로우 테이블을 수신 할 수 있다.The range determination unit 210 may determine whether the range of the designated test case matches the range of the test case associated with the flow table of the other device to be tested and if so, the flow table of another test target device.

사례 제작부(220)는 수신한 플로우 테이블에 포함된 규칙항목의 정보에 따라, 이를 기준으로 삼아 테스트 사례를 생성할 수 있다.The case maker 220 can generate a test case based on the information of the rule items included in the received flow table.

도 2a, 2b에서 도시된 것과 같이 오픈플로우 1.0.0의 플로우 테이블에서는 규칙항목에, 오픈플로우 1.3.2의 플로우 테이블에서는 match table항목에 테스트 사례를 제작하는 데 있어 가이드라인이나 기준으로 삼아, 시험자의 개별적인 설정 및 제작 없이 테스트 사례를 생성할 수 있다.As shown in FIG. 2A and FIG. 2B, in the flow table of the open flow 1.0.0, the test item is created in the rule item and in the match table in the flow table of the open flow 1.3.2, A test case can be created without individual setting and production of the test case.

스크립트 생성부(230)는 시험대상장치가 Tcl/Tk와 같이 제어할 수 있는 스크립트 언어 라이브러리를 제공한다면 테스트 사례의 생성과 더불어 그에 맞추어 시험대상장비가 패킷을 전송할 수 있도록 스크립트 프로그램을 생성할 수 있다.If the test target device provides a script language library that can be controlled as Tcl / Tk, the script generating unit 230 can generate a script program so that the test target device can transmit the packet along with the generation of the test case .

여기서 스크립트 언어는 Tcl/Tk등이 사용될 수 있으나, 이는 특정한 언어에 한정되지 않고 제어할 수 있는 스크립트 프로그램을 생성할 수 있으면 제한 없이 사용 가능하다.The script language can be Tcl / Tk, but it is not limited to a specific language and can be used without restriction as long as a controllable script program can be generated.

패킷 전송부(240)는 생성된 테스트 사례를 시험대상장비 및 시험대상장비 포함하는 네트워크 환경의 세부사양정보를 변수로 두어 이러한 변수에 맞게 설정하여 이에 따라 패킷을 전송할 수 있다.The packet transmitting unit 240 can transmit the generated test case according to the parameter set in the detailed specification information of the network environment including the test target equipment and the test target equipment.

도 6는 도 3에 도시된 사례 검증부(300)의 세부 구성도이다.6 is a detailed configuration diagram of the case verification unit 300 shown in FIG.

도 6을 참조하면 사례 검증부(300)는 패킷 분석부(310), 규칙 탐색부(320), 사례 평가부(330)을 포함할 수 있다.Referring to FIG. 6, the case verification unit 300 may include a packet analysis unit 310, a rule search unit 320, and a case evaluation unit 330.

패킷 분석부(310)는 패킷 전송부(240)에서 전송한 패킷의 전송결과를 분석 할 수 있다. The packet analyzer 310 can analyze the transmission result of the packet transmitted from the packet transmitter 240.

패킷의 전송결과에 대한 정보를 수집하고, 수집한 정보를 바탕으로 결과를 분석하여 테스트 사례의 성능 및 적합성을 검증할 수 있다.The performance and suitability of the test case can be verified by collecting information about the packet transmission result and analyzing the result based on the collected information.

여기서 패킷의 전송결과는 테스트 사례에서 전송된 패킷이 전송된 양 또는 질에 대한 정보로써, 전송된 양에 대한 정보는 전송한 패킷 대비 수신한 패킷의 양에 대한 정보일 수 있고 전송된 양에 대한 정보는 수신된 패킷의 불량률에 대한 정보일 수 있으나, 이에 한정되지 않는다.Here, the transmission result of the packet is information on the amount or quality of the transmitted packet in the test case, the information on the transmitted amount may be information on the amount of received packets with respect to the transmitted packet, The information may be information on the rate of failure of the received packet, but is not limited thereto.

규칙 탐색부(320)는 플로우 테이블에 포함된 규칙에 대하여 테스트 사례의 범위에 맞는 시험을 모두 실시하였다면 플로우 테이블에 포함된 또 다른 규칙이 존재하는지를 탐색할 수 있다.The rule search unit 320 can search whether there is another rule included in the flow table if all the tests corresponding to the range of the test case are performed for the rules included in the flow table.

이때 다른 규칙이 존재한다면 그 규칙에 대하여 테스트 사례의 범위에 맞는 시험을 모두 수행하게 할 수 있으며, 존재하지 않는다면 시험을 종료한다.At this time, if there are other rules, it is possible to perform all the tests according to the scope of the test case for the rule, and if not, the test is terminated.

사례 평가부(330)는 각 규칙마다 패킷 분석부(310)에서 분석한 결과를 테스트 사례에 포함된 전체 규칙에 대한 정보로 종합하여, 이를 통해 테스트 사례의 적합성 및 성능에 대한 평가를 도출할 수 있고, 이러한 평가를 통해 해당 테스트 사례를 사용자에게 제안할 수 있다.The case evaluating unit 330 may integrate the results analyzed by the packet analyzing unit 310 for each rule into information on the entire rule included in the test case, thereby deriving an evaluation of suitability and performance of the test case And the test case can be suggested to the user through the evaluation.

여기서 테스트 사례의 적합성 및 성능에 대한 평가를 도출하는 것은 사용자가 미리 설정한 각 규칙에 따른 가중치를 바탕으로 각 규칙에 대한 분석 결과 값에 가중치를 두어 이를 합산한 결과 값을 통해 평가를 도출하는 방법을 사용할 수 있다.The evaluation of fitness and performance of a test case is derived by deriving an evaluation based on the result obtained by adding weights to the analysis result values of each rule based on the weights according to each rule set in advance by the user Can be used.

그러나 이러한 방법에 한정되지 아니하고 각 규칙마다 분석된 결과값을 가지고 테스트 사례의 적합성 및 성능에 대한 평가를 도출할 수 있는 방법이라면 제한 없이 사용될 수 있다.However, the present invention is not limited to this method, and any method can be used without limitation as long as it can obtain an evaluation result on the suitability and performance of the test case with the analyzed result for each rule.

또한, 이러한 평가를 통해 사용자가 미리 설정한 일정한 평가수준의 이상이면 해당 테스트 사례를 사용자에게 추천할 수 있다.In addition, through the evaluation, the test case can be recommended to the user if the user has a predetermined evaluation level or more.

도 7은 본 발명의 실시 예에 따른 테스트 사례 생성장치의 동작을 설명하기 위한 도면이다.7 is a view for explaining the operation of the test case generating apparatus according to the embodiment of the present invention.

도 7을 참조하면 오픈플로우 1.0.0에서의 시험대상장비에서 수신한 플로우 테이블에 제1 규칙은 MAC dst ?? 00:1F:3F:2A:6E:34:12:01이고, 제2 규칙은 Switch Port ?? Port3, MAC src ?? 00:20.., MAC dst ?? 00:1F.., Eth type ?? 0800, VLAN ID ?? vlan1, IP src ?? 1.2.3.4, IP Dst - 5.6.7.8, IP Prot ?? 4, TCP sport ?? 17264, TCP dport ?? 80, Action ?? Port5이라는 규칙이 있다고 가정하면 테스트 사례 생성장치는 다음과 같이 동작 할 수 있다.Referring to FIG. 7, the first rule in the flow table received at the test target equipment in the open flow 1.0.0 is MAC dst ?? 00: 1F: 3F: 2A: 6E: 34: 12: 01, and the second rule is Switch Port ?? Port3, MAC src ?? 00:20 .., MAC dst ?? 00: 1F .., Eth type ?? 0800, VLAN ID ?? vlan1, IP src ?? 1.2.3.4, IP Dst - 5.6.7.8, IP Prot ?? 4, TCP sport ?? 17264, TCP dport ?? 80, Action ?? Assuming that there is a rule called Port5, the test case generator can operate as follows.

제1 규칙은 MAC dst ?? 00:1F:3F:2A:6E:34:12:01이고, 제2 규칙은 Switch Port ?? Port3, MAC src ?? 00:20.., MAC dst ?? 00:1F.., Eth type ?? 0800, VLAN ID ?? vlan1, IP src ?? 1.2.3.4, IP Dst - 5.6.7.8, IP Prot ?? 4, TCP sport ?? 17264, TCP dport ?? 80, Action ?? Port5이라고 가정하고 이에 따른 동작을 설명한다.The first rule is MAC dst ?? 00: 1F: 3F: 2A: 6E: 34: 12: 01, and the second rule is Switch Port ?? Port3, MAC src ?? 00:20 .., MAC dst ?? 00: 1F .., Eth type ?? 0800, VLAN ID ?? vlan1, IP src ?? 1.2.3.4, IP Dst - 5.6.7.8, IP Prot ?? 4, TCP sport ?? 17264, TCP dport ?? 80, Action ?? Port5 and the operation according to this will be explained.

제1규칙에 대한 테스트 사례의 범위를 제1 단계로 설정했을 때 시험대상장비는 MAC dst를 00:1F:3F:2A:6E:34:12:01로 설정하여 보내는 것을 테스트 사례로 지정할 수 있다. When the scope of the test case for the first rule is set as the first step, the test target equipment can designate that the MAC dst is set as 00: 1F: 3F: 2A: 6E: 34: 12: 01, .

이때 시험대상장비 의 port 6로 보내는 것을 확인하면 시험은 끝난다.At this time, if you confirm that you are sending to the port 6 of the equipment under test, the test is over.

제1 규칙에 대한 테스트 사례의 범위를 제2 단계로 설정했을 때 시험대상장비는 MAC dst를 00:1F:3F:2A:6E:34:12:01로 설정하여 보내어서 시험대상장비의 port 6로 보내는 것을 확인하는 것을 테스트 사례로 정할 수 있고, 시험대상장비는 MAC dst를 11:1F:3F:2A:6E:34:12:01로 설정하는 것과 같이 다른 MAC dst로 보내어서 시험대상장비의 port 6로 전송하지 않는 것을 확인하는 것(False조건)을 테스트 사례로 정할 수 있다.When the scope of the test case for the first rule is set as the second step, the test target equipment sets the MAC dst to 00: 1F: 3F: 2A: 6E: 34: 12: 01, And the test target equipment sends the MAC dst to another MAC dst such that the MAC dst is set to 11: 1F: 3F: 2A: 6E: 34: 12: 01, Checking that it is not sent to port 6 (False condition) can be set as a test case.

제1 규칙에 대한 테스트 사례의 범위를 제3 단계로 설정했을 때 시험장비는 앞 단계의 테스트 사례뿐만 아니라, 제2 규칙에 대한 packet(MAC src ?? 00:20.., MAC dst ?? 00:1F.., Eth type ?? 0800, VLAN ID ?? vlan1, IP src ?? 1.2.3.4, IP Dst - 5.6.7.8, IP Prot ?? 4, TCP sport ?? 17264, TCP dport ?? 80)을 시험대상장비의 Port3으로 전송하여, 해당 패킷이 시험대상장비의 Port 5로 나오는 것을 테스트 사례로 정할 수 있다.When the scope of the test case for the first rule is set as the third step, the test equipment not only receives the test case of the previous stage but also the packet (MAC src ?? 00:20 .., MAC dst ?? 00 : 1F .., Eth type ?? 0800, VLAN ID ?? vlan1, IP src ?? 1.2.3.4, IP Dst- 5.6.7.8, IP protocol ??, TCP sport 17264, TCP port ?? 80) To port 3 of the equipment under test, and the test packet is sent to Port 5 of the equipment under test.

도 8은 본 발명의 실시 예에 따른 테스트 사례 생성 방법을 나타낸 흐름도이다.8 is a flowchart illustrating a test case generation method according to an embodiment of the present invention.

시험대상장비 및 네트워크 환경에 대한 세부사양에 대한 정보를 수집한다(S10).And collects detailed information about the equipment under test and the network environment (S10).

이러한 정보를 수집하는 것은 테스트 사례를 생성하여 네트워크 환경에 적합한지 여부를 판단하기 위해서는 각 시험대상장비 및 네트워크 환경에 대한 세부정보를 통해 실제와 동일한 변수를 대입할 수록 더 정확한 시험이 될 수 있기 때문이다.In order to collect this information, it is necessary to test cases and to determine whether they are suitable for the network environment. The more accurate the test variables are, the more accurate the test will be to be.

이어서 테스트 사례의 범위를 상술한 도 1에서 살펴본 테스트 사례의 범위 4단계 중 하나를 선택하여 결정한다(S20).Next, the scope of the test case is determined by selecting one of the four ranges of the test case illustrated in FIG. 1 (S20).

이 때 각 단계는 그 전 단계의 범위를 포함한다. 예를 들어 2단계를 선택하면 1단계의 범위에 1단계의 추가적인 내용을 더하여 테스트 사례의 범위가 지정되고, 4단계를 선택하면 3단계의 범위에 4단계의 추가적인 내용을 더하여 테스트 사례의 범위가 지정될 수 있다.In this case, each step includes the range of the previous step. For example, if Step 2 is selected, the scope of Step 1 is added to the scope of Step 1 to add the scope of the test case, and if Step 4 is selected, the scope of Step 3 is added to the scope of Step 4, Can be specified.

시험대상장비로부터 플로우 테이블을 수신하여 플로우 테이블에 포함된 정보를 수신한다(S30).Receives the flow table from the device under test and receives the information included in the flow table (S30).

이때 수신하는 플로우 테이블은 도 2a, 2b에서 도시된 것과 같이 오픈플로우의 버전(1.0.0 또는 1.3.2)에 맞는 각각의 구조를 지닌 플로우 테이블을 수신할 수 있다.The receiving flow table may receive a flow table having a structure corresponding to the version (1.0.0 or 1.3.2) of the open flow as shown in Figs. 2A and 2B.

지정된 테스트 사례의 범위와 다른 시험대상장비의 플로우 테이블과 연계된 테스트 사례의 범위가 일치하는지를 판단하여(S40), 만약 일치하는 범위가 존재하는 경우 연계된 다른 시험대상장치의 플로우 테이블을 획득한다(S45).It is determined whether the range of the designated test case coincides with the range of the test case associated with the flow table of another test target device (S40), and if there is a matching range, the flow table of the other test target device connected is acquired S45).

시험대상장비 및 다른 시험대상장비로부터 수신한 플로우 테이블에 포함된 규칙항목의 정보를 기준으로 삼아 자동으로 테스트 사례를 생성한다(S50).A test case is automatically created based on the information of the rule items included in the flow table received from the test target equipment and other test target equipment (S50).

도 2a, 2b에서 도시된 것과 같이 오픈플로우 1.0.0의 플로우 테이블에서는 규칙항목에, 오픈플로우 1.3.2의 플로우 테이블에서는 match table항목에 테스트 사례를 제작하는 데 있어 가이드라인이나 기준으로 삼아, 시험자의 개별적인 설정 및 제작 없이 자동으로 테스트 사례를 생성한다.As shown in FIG. 2A and FIG. 2B, in the flow table of the open flow 1.0.0, the test item is created in the rule item and in the match table in the flow table of the open flow 1.3.2, And automatically generates a test case without individual setting and production of the test case.

시험대상장치가 Tcl/Tk와 같은 제어할 수 있는 스크립트 언어 라이브러리를 제공하는지 여부를 판단하여(S60), 제어할 수 있는 스크립트 언어 라이브러리를 제공한다면 테스트 사례의 생성과 더불어 그에 맞추어 시험대상장비가 패킷을 전송할 수 있도록 스크립트 프로그램을 생성한다(S65).It is determined whether the test target device provides a controllable script language library such as Tcl / Tk (S60). If the test target device is provided with a controllable script language library, (Step S65).

여기서 스크립트 언어는 Tcl/Tk등이 사용될 수 있으나, 이는 특정한 언어에 한정되지 않고 제어할 수 있는 스크립트 프로그램을 생성할 수 있으면 제한 없이 사용 가능하다Here, the script language can be Tcl / Tk, but it is not limited to a specific language and can be used without restriction as long as a controllable script program can be generated

생성된 테스트 사례를 통하여 각 시험대상장비 및 네트워크 환경에 대한 세부정보를 변수로 하여 설정하고, 이에 따라 패킷을 전송한다(S70).In step S70, detailed information on each test target device and network environment is set as a variable through the generated test case, and the packet is transmitted accordingly.

패킷의 전송결과에 대한 정보를 수집하고, 수집한 정보를 바탕으로 결과를 분석하여 테스트 사례의 성능 및 적합성을 검증할 수 있다(S80).The performance and suitability of the test case can be verified by collecting information on the transmission result of the packet and analyzing the result based on the collected information (S80).

여기서 패킷의 전송결과는 테스트 사례에서 전송된 패킷이 전송된 양 또는 질에 대한 정보로써, 전송된 양에 대한 정보는 전송한 패킷 대비 수신한 패킷의 양에 대한 정보일 수 있고 전송된 양에 대한 정보는 수신된 패킷의 불량률에 대한 정보일 수 있으나, 이에 한정되지 않는다.Here, the transmission result of the packet is information on the amount or quality of the transmitted packet in the test case, the information on the transmitted amount may be information on the amount of received packets with respect to the transmitted packet, The information may be information on the rate of failure of the received packet, but is not limited thereto.

플로우 테이블에 포함된 규칙에 대하여 테스트 사례의 범위에 맞는 시험을 모두 수행하였다면 플로우 테이블에 포함된 또 다른 규칙이 존재하는지를 탐색하고(S90), 다른 규칙이 존재한다면 그 규칙에 대하여 테스트 사례의 범위에 맞는 시험을 모두 수행하게 할 수 있으며, 존재하지 않는다면 시험을 종료한다.If all the tests corresponding to the range of the test case are performed for the rules included in the flow table, it is checked whether there is another rule included in the flow table (S90). If there are other rules, You can have all the tests that you want done, and if not, end the tests.

각 규칙마다 분석한 결과를 테스트 사례에 포함된 전체 규칙에 대한 정보로 종합하여, 이를 통해 테스트 사례의 적합성 및 성능에 대한 평가를 도출할 수 있고, 이러한 평가를 통해 해당 테스트 사례를 사용자에게 제안할 수 있다(S100).The result of analyzing each rule is integrated into the information about the entire rule included in the test case. Through this, it is possible to derive an evaluation of suitability and performance of the test case, and the test case is suggested to the user through the evaluation (S100).

여기서 테스트 사례의 적합성 및 성능에 대한 평가를 도출하는 것은 사용자가 미리 설정한 각 규칙에 따른 가중치를 바탕으로 각 규칙에 대한 분석 결과 값에 가중치를 두어 이를 합산한 결과값을 통해 평가를 도출하는 방법을 사용할 수 있다.The evaluation of fitness and performance of a test case is derived by deriving an evaluation based on the result obtained by adding weights to the analysis result values of each rule based on the weights according to each rule set in advance by the user Can be used.

그러나 이러한 방법에 한정되지 아니하고 각 규칙마다 분석된 결과값을 가지고 테스트 사례의 적합성 및 성능에 대한 평가를 도출할 수 있는 방법이라면 제한 없이 사용될 수 있다.However, the present invention is not limited to this method, and any method can be used without limitation as long as it can obtain an evaluation result on the suitability and performance of the test case with the analyzed result for each rule.

또한 이러한 평가를 통해 사용자가 미리 설정한 일정한 평가수준의 이상이면 해당 테스트 사례를 사용자에게 추천할 수 있다.In addition, through the evaluation, the test case can be recommended to the user if the user has a predetermined evaluation level or more.

본 발명의 실시 예는 이상에서 설명한 장치 및/또는 방법을 통해서만 구현이 되는 것은 아니며, 이상에서 본 발명의 실시 예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments, but, on the contrary, Various modifications and improvements of those skilled in the art using the basic concept of the present invention are also within the scope of the present invention.

100 : 정보 수집부 110 : 사양 수집부
120 : 사례범위 지정부 130 : 플로우 테이블 수신부
200 : 사례 구현부 210 : 범위 판단부
220 : 사례 제작부 230 : 스크립트 생성부
240 : 패킷 송신부 300 : 사례 검증부
310 : 패킷 분석부 320 : 규칙 탐색부
330 : 사례 평가부
100: information collection unit 110: specification collection unit
120: case scope specification unit 130: flow table reception unit
200: case implementation unit 210: range determination unit
220: case production unit 230: script production unit
240: Packet transmission unit 300: Case verification unit
310: Packet analysis unit 320:
330: Case evaluation section

Claims (9)

시험대상장비 세부사양정보 및 네트워크 환경의 세부사양정보를 수집하며 테스트 사례의 범위를 지정하고, 상기 시험대상장비로부터 플로우 테이블을 수신하는 정보 수집부;
상기 지정된 테스트 사례의 범위와 일치하는 테스트 사례와 연계된 다른 시험대상장치의 플로우 테이블을 수신하고, 상기 시험대상장비 및 상기 다른 시험대상장비로부터 수신 받은 전체 플로우 테이블에 포함된 규칙을 통하여 테스트 사례를 생성하는 사례 구현부; 및
상기 사례 구현부에서 전송된 패킷을 분석하며 상기 전체 플로우 테이블에 포함된 규칙에 대해 테스트 사례의 범위에 맞는 모든 시험을 수행하였다면 다른 규칙이 존재하는지를 탐색하고, 상기 분석을 통해 상기 테스트 사례를 평가하는 사례 검증부를 포함하는 것을 특징으로 하는 오픈플로우 기반의 통신환경 테스트 사례 생성장치.
An information collecting unit collecting detailed specification information of the test target equipment and detailed specification information of the network environment, designating a range of test cases, and receiving a flow table from the test target equipment;
Receiving a flow table of another test target device associated with a test case that matches the scope of the specified test case and transmitting the test case through the rule included in the entire flow table received from the test target device and the other test target device Generating Case Implementation; And
If the packet transmitted in the case implementation unit is analyzed and all tests conforming to the range of the test case are performed for the rules included in the entire flow table, it is searched whether there is another rule, and the test case is evaluated through the analysis And a case verifying unit. The apparatus for generating a communication environment test case based on an open flow.
제 1 항에 있어서 상기 정보 수집부는,
상기 시험대상장비 및 네트워크 환경에 대한 세부사양정보를 수집하는 사양 수집부;
테스트 사례의 4단계의 범위 중 하나가 선택되어 상기 생성될 테스트 사례의 범위를 지정하는 사례범위 지정부; 및
상기 시험대상장치로부터 각각의 오픈플로우의 버전에 맞는 플로우 테이블을 수신하는 플로우 테이블 수신부를 더 포함하는 것을 특징으로 하는 오픈플로우 기반의 통신환경 테스트 사례 생성장치.
The information processing apparatus according to claim 1,
A specification collection unit for collecting detailed specification information on the test target equipment and the network environment;
A case scope specifying unit that selects one of the four ranges of the test case and specifies a range of the test case to be created; And
Further comprising a flow table receiving unit for receiving a flow table corresponding to a version of each open flow from the test target apparatus.
제 1 항에 있어서 상기 사례 구현부는,
상기 지정된 테스트 사례의 범위와 다른 시험대상장비의 플로우 테이블과 연계된 테스트 사례의 범위를 비교하여 만약 일치하는 경우 상기 다른 시험대상장치의 플로우 테이블을 수신하는 범위 판단부;
상기 전체 플로우 테이블에 포함된 규칙항목의 정보를 기준으로 삼아 테스트 사례를 생성하는 사례 제작부; 및
상기 생성된 테스트 사례를 상기 시험대상장비 및 네트워크 환경의 세부사양정보에 맞게 설정하고, 이러한 설정에 맞게 패킷을 전송하는 패킷 전송부를 더 포함하는 것을 특징으로 하는 오픈플로우 기반의 통신환경 테스트 사례 생성장치
The method of claim 1,
A range judging unit for comparing the range of the designated test case with the range of the test case associated with the flow table of the test target equipment and receiving the flow table of the other test target device if the test case matches;
A case maker for generating a test case based on information of a rule item included in the entire flow table; And
Further comprising a packet transmission unit configured to set the generated test case according to detailed specification information of the test target equipment and the network environment and to transmit a packet according to the setting,
제 1 항에 있어서 상기 사례 구현부는,
상기 시험대상장치가 제어할 수 있는 스크립트 언어 라이브러리를 제공하면 상기 테스트 사례의 생성에 맞추어 상기 시험대상장비가 패킷을 전송할 수 있도록 스크립트 프로그램을 생성하는 스크립트 생성부를 더 포함하는 것을 특징으로 하는 오픈플로우 기반의 통신환경 테스트 사례 생성장치.
The method of claim 1,
Further comprising a script generating unit for generating a script program so that the test target device can transmit a packet in accordance with the generation of the test case, when the script language library capable of being controlled by the test target apparatus is provided, Communication environment test case generation device.
제 1 항에 있어서 상기 사례 검증부는,
상기 전송한 패킷의 전송결과에 대한 정보를 분석하는 패킷 분석부;
상기 수신한 전체 플로우 테이블에 포함된 규칙에 대하여 테스트 사례의 범위에 맞는 시험을 모두 수행하였는지를 판단하고, 모두 수행하였다면 상기 전체 플로우 테이블에 포함된 또 다른 규칙이 존재하는지를 탐색하여 다른 규칙이 존재한다면 그 규칙에 대하여 테스트 사례의 범위에 맞는 시험을 모두 수행하게 하며, 존재하지 않는다면 시험을 종료하는 규칙 탐색부;
상기 패킷 분석부에서 각 규칙마다 분석한 결과를 통해 테스트 사례의 적합성 및 성능에 대한 평가를 도출하는 사례 평가부를 더 포함하는 것을 특징으로 하는 오픈플로우 기반의 통신환경 테스트 사례 생성장치
The system of claim 1,
A packet analyzer for analyzing information on a transmission result of the transmitted packet;
If all of the rules included in the overall flow table have been performed, it is determined whether all the tests corresponding to the range of the test case have been performed for the rules included in the received overall flow table. If all the rules are included, A rule search unit for causing the rule to perform all tests according to the range of the test case, and terminating the test if it does not exist;
Further comprising a case evaluating unit for deriving an evaluation of suitability and performance of the test case through the analysis result of each rule in the packet analyzing unit.
제 5 항에 있어서 상기 사례 평가부는,
각 규칙에 대해 미리 설정한 가중치를 바탕으로 각 규칙에 대한 분석 결과 값에 가중치를 두어 이를 합산한 결과값을 통해 평가를 도출하는 것을 특징으로 하는 오픈플로우 기반의 통신환경 테스트 사례 생성장치.
6. The system of claim 5,
Wherein an evaluation is derived from a result obtained by adding weights to analysis result values for each rule based on weight values preset for each rule, and summing the results.
시험대상장비 및 네트워크 환경의 세부사양정보 수집하는 단계;
테스트 사례의 범위를 지정 받는 단계;
상기 시험대상장비로부터 플로우 테이블을 수신하는 단계;
상기 지정된 테스트 사례의 범위와 일치하는 테스트 사례의 범위를 가진 다른 시험대상장비의 플로우 테이블을 수신하는 단계;
상기 시험대상장비 및 상기 다른 시험대상장비로부터 수신한 전체 플로우 테이블의 규칙에 따라 테스트 사례를 생성하는 단계;
상기 생성된 테스트 사례로부터 전송된 패킷의 전송결과를 분석하는 단계;
상기 규칙에 대한 테스트 사례의 범위에 맞는 시험을 모두 수행하였으면 상기 전체 플로우 테이블 내의 또 다른 규칙의 존재를 탐색하여 다른 규칙이 존재하는 경우 상기 존재하는 규칙에 대한 테스트 사례의 범위에 맞는 시험을 모두 수행하고, 다른 규칙이 존재하지 않는 경우 시험을 종료하는 단계;
상기 규칙에 따른 전송결과로부터 상기 테스트 사례에 대한 평가를 도출하는 단계를 포함하는 것을 특징으로 하는 오픈플로우 기반의 통신환경 테스트 사례 생성방법.
Collecting detailed specification information of the test target equipment and network environment;
Receiving a range of test cases;
Receiving a flow table from the device under test;
Receiving a flow table of another test target equipment having a range of test cases matching the scope of the specified test case;
Generating a test case according to a rule of an entire flow table received from the test target equipment and the other test target equipment;
Analyzing a transmission result of the packet transmitted from the generated test case;
If all the tests conforming to the scope of the test case for the rule have been performed, the existence of another rule in the entire flow table is searched for, and if there is another rule, the test corresponding to the range of the test case for the existing rule is performed And terminating the test if no other rules exist;
And deriving an evaluation for the test case from the transmission result according to the rule.
제 7 항에 있어서 상기 테스트 사례를 생성하는 단계는,
상기 시험대상장치가 스크립트 언어 라이브러리를 제공하면 상기 테스트 사례의 생성에 맞추어 상기 시험대상장비가 패킷을 전송할 수 있도록 스크립트 프로그램을 생성하는 단계를 포함하는 것을 특징으로 하는 오픈플로우 기반의 통신환경 테스트 사례 생성방법.
8. The method of claim 7, wherein generating the test case comprises:
And generating a script program so that the test target device can transmit a packet according to generation of the test case when the test target device provides a script language library. Way.
제 7 항에 있어서 상기 평가를 도출하는 단계는,
상기 각 규칙에 대해 미리 설정한 가중치를 바탕으로 각 규칙에 대한 분석 결과 값에 가중치를 두어 이를 합산한 결과값을 통해 평가를 도출하는 단계를 포함하는 것을 특징으로 하는 오픈플로우 기반의 통신환경 테스트 사례 생성방법.
8. The method of claim 7,
And deriving an evaluation based on a result obtained by adding weights to the analysis result values of the respective rules based on the weights previously set for the respective rules and summing the weights. Generation method.
KR1020140016181A 2014-02-12 2014-02-12 Openflow based Communication environment test case generating apparatus and method therefor KR20150095090A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140016181A KR20150095090A (en) 2014-02-12 2014-02-12 Openflow based Communication environment test case generating apparatus and method therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140016181A KR20150095090A (en) 2014-02-12 2014-02-12 Openflow based Communication environment test case generating apparatus and method therefor

Publications (1)

Publication Number Publication Date
KR20150095090A true KR20150095090A (en) 2015-08-20

Family

ID=54058214

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140016181A KR20150095090A (en) 2014-02-12 2014-02-12 Openflow based Communication environment test case generating apparatus and method therefor

Country Status (1)

Country Link
KR (1) KR20150095090A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170127288A (en) * 2016-05-11 2017-11-21 한국전자통신연구원 Apparatus and method for suitability test of virtual network function
US10609055B2 (en) 2016-04-27 2020-03-31 Korea Advanced Institute Of Science And Technology Method for detecting network anomaly in distributed software defined networking environment, apparatus therefor, and computer program therefor
CN115801652A (en) * 2022-11-21 2023-03-14 中国民航信息网络股份有限公司 Aviation system test method, system and related device

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10609055B2 (en) 2016-04-27 2020-03-31 Korea Advanced Institute Of Science And Technology Method for detecting network anomaly in distributed software defined networking environment, apparatus therefor, and computer program therefor
KR20170127288A (en) * 2016-05-11 2017-11-21 한국전자통신연구원 Apparatus and method for suitability test of virtual network function
CN115801652A (en) * 2022-11-21 2023-03-14 中国民航信息网络股份有限公司 Aviation system test method, system and related device
CN115801652B (en) * 2022-11-21 2024-05-03 中国民航信息网络股份有限公司 Aviation system testing method, system and related device

Similar Documents

Publication Publication Date Title
US10880197B2 (en) Methods, systems, and computer readable media for testing a network node using source code for programming a packet forwarding plane of the network node
US11502932B2 (en) Indirect testing using impairment rules
JP6876038B2 (en) Cloud-based systems and methods for managing test configurations of cable test devices
US9210050B2 (en) System and method for a testing vector and associated performance map
JP6932494B2 (en) Systems and methods for applying aggregated cable test results data, as well as cloud-based computer servers
US11283696B2 (en) Diagnostic testing in networks
CN103581185B (en) Resist the cloud checking and killing method of test free to kill, Apparatus and system
CN104683182B (en) IDC network of computer room service quality detection method and device
US10581695B2 (en) Test system and method for benchmark testing a device under test
Megyesi et al. Available bandwidth measurement in software defined networks
US20200401504A1 (en) Methods, systems, and computer readable media for configuring a test system using source code of a device being tested
CN109246159B (en) Method and device for verifying security policy
CN102209010B (en) Network test system and method
KR20150095090A (en) Openflow based Communication environment test case generating apparatus and method therefor
CN110650035A (en) Method and system for generating and managing virtual industrial devices in an industrial network
Svoboda et al. Packet delay measurements in reactive IP networks
JP2007036839A (en) Apparatus, system, and method for dividing quality deterioration in packet exchange network
Łubkowski et al. Test of the multimedia services implementation in information and communication networks
CN108512816A (en) A kind of detection method and device that flow is kidnapped
Nguyen-Ngoc et al. Estimating the flow rule installation time of SDN switches when facing control plane delay
Soós et al. Investigating the network traffic of Industry 4.0 applications–methodology and initial results
CN107222332A (en) Method of testing, device, system and machinable medium
JP6488197B2 (en) Anomaly detection method, anomaly detection apparatus, and network system
Kokkinos et al. Wireless crowdsourced performance monitoring and verification: Wifi performance measurement using end-user mobile device feedback
JP6068540B2 (en) Information providing apparatus, communication apparatus, information providing method, and program

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination