KR101472012B1 - 소프트웨어 기반의 네트워크 시뮬레이터 - Google Patents

소프트웨어 기반의 네트워크 시뮬레이터 Download PDF

Info

Publication number
KR101472012B1
KR101472012B1 KR20130168519A KR20130168519A KR101472012B1 KR 101472012 B1 KR101472012 B1 KR 101472012B1 KR 20130168519 A KR20130168519 A KR 20130168519A KR 20130168519 A KR20130168519 A KR 20130168519A KR 101472012 B1 KR101472012 B1 KR 101472012B1
Authority
KR
South Korea
Prior art keywords
udp
server
tcp
client
test
Prior art date
Application number
KR20130168519A
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 KR20130168519A priority Critical patent/KR101472012B1/ko
Application granted granted Critical
Publication of KR101472012B1 publication Critical patent/KR101472012B1/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/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
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]

Landscapes

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

Abstract

소프트웨어 기반의 네트워크 시뮬레이터를 개시한다.
본 실시예의 일 측면에 의하면, TCP 클라이언트 및 TCP 서버를 통해 TCP의 제1 테스트 메시지 송수신 상태를 테스트하는 TCP 모듈; UDP 클라이언트 및 UDP 서버를 통해 UDP의 제2 테스트 메시지 송수신 상태를 테스트하는 UDP 모듈; 및 TCP 모듈에 제1 테스트 메시지를 제공하고, UDP 모듈에 제2 테스트 메시지를 제공하는 테스트 메시지 모듈을 포함한다.

Description

소프트웨어 기반의 네트워크 시뮬레이터{Network simulator based on software}
본 실시예는 소프트웨어 기반의 네트워크 시뮬레이터에 관한 것이다.
이 부분에 기술된 내용은 단순히 본 실시예에 대한 배경정보를 제공할 뿐 종래기술을 구성하는 것은 아니다.
최근 네트워킹 기술의 발전으로 언제 어디서나 정보를 쉽게 얻을 수 있는 유비쿼터스 환경을 구축하기 위한 기술이 연구되고 있다. 특히, 유비쿼터스 환경에서 정보를 수집하기 위해서는 각 이기종 디바이스에 센서들이 장착되어 USN (Ubiquitous Sensor Network)을 구성하게 되는데, 이때 각 이기종 센서 디바이스간에 신뢰성 있는 네트워킹 기능이 매우 중요하다. 따라서, 신뢰성 있는 USN을 위해서는 이기종 센서 디바이스간의 네트워킹 성능을 측정하고 개선할 수 있는 기술이 매우 중요하다. 네트워크를 이용한 다양한 이기종 디바이스와 이를 지원한 소프트웨어의 신뢰성 있는 성능측정을 위해서는 하드웨어 기반의 스마트 비트 같은 네트워크 성능측정도구를 필요로 한다.
하지만, 스마트 비트를 통한 네트워크 성능평가방법은 신뢰성 있는 성능평가를 거쳐 소프트웨어 및 하드웨어 개선을 위한 정보를 제공하지만, 고가의 전용 하드웨어를 구입해야 하는 단점을 갖기 때문에 개발환경이 열악한 기업에서는 쉽게 도입하지 못하는 한계를 갖는다. 이에 따라, 많은 연구자들은 성능평가의 신뢰성을 보장하면서 다양한 테스트를 수행할 수 있는 효율적인 네트워크 시뮬레이션 방법에 대하여 연구하고 있다. 네트워크 통신을 수행할 때, 송신계층 프로토콜로 TCP (Transmission Control Protocol), UDP(User Datagram Protocol)가 주를 이루고 있으며, 최근 들어 SIP(Session Initiation Protocol)와 같은 다양한 프로토콜들이 SCTP(Stream Control Transmission Protocol)를 필수적으로 요구하고 있다. 하지만, 현업에서 사용되고 있는 대부분의 소프트웨어들이 TCP 및 UDP를 필수적으로 요구하고 있기 때문에 개발하는 프로그램의 간단한 테스트를 위해 별도의 테스터 프로그램을 매번 작성하여 사용하고 있는 실정이다. 이러한 불편함을 해소하고 실무에 바로 적용하여 개발속도를 향상시키고 손쉽게 활용할 수 있는 송신 프로토콜 시뮬레이터의 필요성이 절실하다. 이러한 시뮬레이터는 SIP와 같은 특정 프로토콜에 국한되지 않고, 송신계층의 프로토콜을 이용하는 소프트웨어 개발이 필요한 SNMP 등 다양한 프로토콜에 적용되어 활용을 극대화해야만 한다. 뿐만 아니라, 소프트웨어적으로 데이터를 처리하기 때문에 하드웨어적으로 데이터를 처리하는 스마트 비트 등의 전용 네트워킹 성능 평가장비와 같은 신뢰성이 있는 성능평가결과를 제공하기 위해서는 블록킹(blocking)되지 않도록 할 필요성이 있다.
본 실시예는 횟수에 상관없이 TCP 및 UDP의 송수신이 가능한 소프트웨어 기반의 네트워크 시뮬레이터를 제공하는 데 주된 목적이 있다.
또한, 본 실시예는 송신 횟수만큼 설정간격으로 정의된 메시지를 랜덤하게 송신할 수 있는 소프트웨어 기반의 네트워크 시뮬레이터를 제공하는데 주된 목적이 있다.
본 실시예의 일 측면에 의하면, TCP 클라이언트 및 TCP 서버를 통해 TCP의 제1 테스트 메시지 송수신 상태를 테스트하는 TCP 모듈; UDP 클라이언트 및 UDP 서버를 통해 UDP의 제2 테스트 메시지 송수신 상태를 테스트하는 UDP 모듈; 및 TCP 모듈에 제1 테스트 메시지를 제공하고, UDP 모듈에 제2 테스트 메시지를 제공하는 테스트 메시지 모듈을 포함하는 것을 특징으로 하는 소프트웨어 기반의 네트워크 시뮬레이터를 제공한다.
여기서, TCP 서버는 TCP 클라이언트로부터 제1 테스트 메시지를 수신한 후 제1 테스트 메시지를 복사하여 TCP 클라이언트에 송신하고, UDP 서버는 UDP 클라이언트로부터 제2 테스트 메시지를 수신한 후 제2 테스트 메시지를 복사하여 UDP 클라이언트에 송신한다.
또한, UDP 서버는 UDP 클라이언트로부터 제2 테스트 메시지를 수신하여 쓰레드(thread)로 처리한다.
또한, TCP 서버 및 UDP 서버는 IP(Internet Protocol) 및 포트번호가 설정된다.
또한, UDP 서버는 제2 테스트 메시지의 송수신에 대한 로그를 테이블 형태로 작성하여 관리한다.
또한, UDP 클라이언트는 제2 테스트 메시지를 생성하여 UDP 서버에 송신하거나, 미리 생성된 복수의 제2 테스트 메시지 중 적어도 하나를 선택하여 UDP 서버에 송신한다.
또한, UDP 클라이언트는 복수의 제2 테스트 메시지 중 적어도 하나를 램덤하게 선택한다.
또한, UDP 클라이언트는 복수의 제2 테스트 메시지 중 2개 이상을 선택하여 UDP 서버에 일괄 송신한다.
또한, 복수의 제2 테스트 메시지 중 적어도 하나는 서로 다른 텍스트 또는 서로 다른 길이이다.
또한, UDP 클라이언트는 ms(millisecond) 단위의 간격으로 UDP 클라이언트에 제2 테스트 메시지를 송신한다.
또한, UDP 클라이언트는 제2 테스트 메시지를 송신하는 도중 다른 테스트 메시지의 송신을 차단한다.
또한, UDP 클라이언트가 UDP 서버에 송신할 데이터량은 설정된다.
또한, UDP 서버에 송신할 데이터량은 2n개(n은 자연수)이다.
또한, n은 32의 최대값을 갖는다.
또한, TCP 서버는 TCP 클라이언트의 접속상태정보를 갖는 텍스트를 디스플레이한다.
또한, 접속상태정보는 제1 테스트 메시지 송수신 정보, 접속 중 또는 접속 종료에 관한 정보 중 어느 하나이다.
또한, TCP 서버가 수신 대기 중이 아닌 경우, TCP 클라이언트는 TCP 서버와의 접속에 실패하였다는 텍스트를 디스플레이한다.
또한, TCP 클라이언트가 TCP 서버와의 접속에 성공한 후 TCP 서버가 종료된 경우, TCP 서버에 문제가 있다는 텍스트를 디스플레이한다.
또한, UDP 클라이언트는 UDP 서버가 제2 테스트 메시지를 수신하기 시작하는 시간 및 UDP 서버가 제2 테스트 메시지의 송신을 완료한 시각을 기록한다.
또한, TCP 클라이언트와 TCP 서버의 제1 테스트 메시지 송수신 및 UDP 클라이언트와 UDP 서버의 제2 테스트 메시지 송수신은 이종 플랫폼 간의 송수신이다.
이상에서 설명한 바와 같이 본 실시예에 의하면, 횟수에 상관없이 TCP 및 UDP의 송수신이 가능할 뿐만 아니라, 송신 횟수만큼 설정간격으로 정의된 메시지를 랜덤하게 송신할 수 있으므로 편리하다.
도 1은 본 발명의 일 실시예에 따른 소프트웨어 기반의 네트워크 시뮬레이터의 구성도이다.
도 2는 본 발명의 일 실시예에 따른 소프트웨어 기반의 네트워크 시뮬레이터 설계환경을 나타낸 것이다.
도 3은 본 발명의 일 실시예에 따른 소프트웨어 기반의 네트워크 시뮬레이터 기본설정목록을 나타낸 것이다.
도 4는 본 발명의 일 실시예에 따른 IP 및 포트 유효성 검사를 위한 정규식 표현을 나타낸 것이다.
도 5는 본 발명의 일 실시예에 따른 시뮬레이터 프로그램 화면이다.
도 6은 본 발명의 일 실시예에 따른 UDP 서버의 실행화면이다.
도 7은 본 발명의 일 실시예에 따른 UDP 클라이언트의 동작을 나타낸 화면이다.
도 8은 본 발명의 일 실시예에 따른 UDP 서버의 데이터 수신화면이다.
도 9은 본 발명의 일 실시예에 따른 UDP 서버의 에코 동작을 나타낸 화면이다.
도 10은 본 발명의 일 실시예에 따른 UDP 클라이언트의 실행화면이다.
도 11은 본 발명의 일 실시예에 따른 UDP 클라이언트의 동작을 나타낸 화면이다.
도 12는 본 발명의 일 실시예에 따른 SIP 메시지 송신화면이다.
도 13은 본 발명의 일 실시예에 따른 테스트 메시지 편집화면이다.
도 14는 본 발명의 일 실시예에 따른 송신 메시지를 미리 정의하는 화면이다.
도 15는 본 발명의 일 실시예에 따른 테스트 메시지 버튼을 이용한 송신 메시지 결정 화면이다.
도 16은 본 발명의 일 실시예에 따른 미리 정의된 파일에 의한 대량 송신 화면이다.
도 17은 본 발명의 일 실시예에 따른 UDP 서버 및 UDP 클라이언트의 동작을 나타낸 화면이다.
도 18은 본 발명의 일 실시예에 따른 랜덤 발송할 대상 선택 창의 화면이다.
도 19는 본 발명의 일 실시예에 따른 랜덤 데이터 송신화면이다.
도 20은 본 발명의 일 실시예에 따른 5000ms 간격으로 데이터를 송신하는 화면이다.
도 21은 본 발명의 일 실시예에 따른 5초 간격으로 랜덤하게 데이터를 발생시키는 화면이다.
도 22는 본 발명의 일 실시예에 따른 대량 송신을 위한 스트레스 테스트 화면이다.
도 23은 본 발명의 일 실시예에 따른 TCP 서버의 클라이언트 접속화면이다.
도 24는 본 발명의 일 실시예에 따른 TCP 서버의 데이터 송수신 및 클라이언트 접속종료화면이다.
도 25는 본 발명의 일 실시예에 따른 TCP 연결 오류를 나타낸 화면이다.
도 26은 본 발명의 일 실시예에 따른 TCP 클라이언트의 데이터 송신화면이다.
도 27은 본 발명의 일 실시예에 따른 TCP 서버 오류를 나타낸 화면이다.
도 28은 본 발명의 일 실시예에 따른 이종간 테스트를 위한 시뮬레이터 화면이다.
도 29는 본 발명의 일 실시예에 따른 동일한 UDP 데이터에 대한 데이터 양 및 데이터 처리시간의 관계를 나타낸 그래프이다.
도 30은 본 발명의 일 실시예에 따른 랜덤한 UDP 데이터에 대한 데이터 양 및 데이터 처리시간의 관계를 나타낸 그래프이다.
도 31은 본 발명의 일 실시예에 따른 동일한 UDP 데이터의 송신시간 측정과 관련한 것을 나타낸 것이다.
도 32는 본 발명의 일 실시예에 따른 랜덤한 UDP 데이터의 송신시간 측정과 관련한 것을 나타낸 것이다.
이하, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
또한, 본 발명의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 명세서 전체에서, 어떤 부분이 어떤 구성요소를 '포함', '구비'한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 '…부', '모듈' 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
종래의 시뮬레이터들은 하드웨어 기반의 고가 제품이므로 활용상 제한이 있거나, SIP(Session Initiation Protocol) 및 SNMP(Simple Network Management Protocol)와 같은 특정 프로토콜에 제한적으로 사용되는 한계를 갖는다. 모든 프로토콜들의 통신과정에서는 UDP나 TCP와 같은 송신계층 프로토콜을 사용하기 때문에 송신계층 프로토콜 시뮬레이터만으로 그 활용도를 극대화시킬 수 있다. 이를 위해 시뮬레이터의 설계 및 구현에 관한 사항을 자세히 살펴보면 다음과 같다.
도 1은 본 발명의 일 실시예에 따른 소프트웨어 기반의 네트워크 시뮬레이터의 구성도이다. 도 1을 참조하면, 본 발명의 일 실시예에 따른 소프트웨어 기반의 네트워크 시뮬레이터는 TCP 모듈(110), UDP 모듈(120) 및 테스트 메시지 모듈(130)을 포함한다.
TCP 모듈(110)은 TCP 클라이언트(111) 및 TCP 서버(112)를 통해 TCP의 제1 테스트 메시지 송수신 상태를 테스트한다.
UDP 모듈(210)은 UDP 클라이언트(211) 및 UDP 서버(212)를 통해 UDP의 제2 테스트 메시지 송수신 상태를 테스트한다.
테스트 메시지 모듈(130)은 TCP 모듈(110)에 제1 테스트 메시지를 제공하고, UDP 모듈(120)에 제2 테스트 메시지를 제공한다.
본 발명의 일 실시예와 관련한 송신 프로토콜 시뮬레이터를 위한 기본환경은 다음과 같다. 도 2를 참조하면, 네트워크 시뮬레이터는 성능 테스트 등을 위해 송신량이나 송신 데이터 간격 등을 조정하고, 이를 활용하여 네트워크 소켓 프로그래밍을 하는 경우 개발되는 소프트웨어의 동작을 검증한다.
한편, 네트워크 트래픽 테스트(network traffic test)를 위한 시뮬레이터를 위해 다음과 같은 내용이 반영될 수 있도록 GUI(Graphic User Interface)를 설계한다.
시뮬레이터 설계환경은 도 2에서와 같이 나타낼 수 있는데, 기본설정에는 네트워크에서 주기능을 수행하는 서버 및 클라이언트를 설정하는 것이 포함된다. 이러한 서버 및 클라이언트의 동작을 위해서는 도 3에서와 같이 다양한 기능이 사용자에 의해 설정될 수 있어야 한다. 하나의 소프트웨어를 이용하여 서버 및 클라이언트로 자유롭게 동작함으로써 개발자가 테스트하는 것을 손쉽게 반영할 수 있도록 한다.
서버 기능과 관련하여, 서버는 클라이언트로부터 요청을 받고 이에 맞게 응답하는 네트워크의 구성요소이다. 개발 과정을 통해 초기의 통신설정의 기본이 되는 에코 기능을 기본으로 탑재하여야 한다. 에코 기능은 클라이언트의 메시지를 그대로 메아리처럼 응답하는 기능으로서 송수신이 정상적으로 수행되는지의 검사를 위해 필수적이다. 이에 대한 GUI를 위해 선택 여부만을 판단하기 위해 체크 박스 형태로 설정되어야 한다.
클라이언트 기능과 관련하여, 클라이언트는 서버에 요청 메시지를 송신하는 네트워크 구성 요소이다. 클라이언트는 크게 성능 테스트 등을 위해 데이터 송신기능만을 갖는 형태와 수신기능을 탑재하여 결과값을 표현하는 용도로 구분할 수 있다. 서버 기능에서 에코 기능과 같이 사용자 설정을 위해 체크박스형태로 설정된다.
프로토콜 선택 기능과 관련하여, 송신 프로토콜로 사용되는 UDP, TCP 및 SCTP(Stream Control Transmission Protocol) 중 가장 많이 사용되는 TCP 및 UDP 프로토콜만을 고려하여 설계한다. 2개의 프로토콜이 동시에 선택될 수 없기 때문에 라디오 버튼의 형태로 선택되도록 한다.
IP 및 포트 설정기능과 관련하여, OSI(Open System Interconnection Reference Model) 7계층 중의 제3계층인 네트워크 계층에서 사용되는 IP와 포트는 데이터 통신에서 필수적이다. 이 2가지 설정정보는 가변적이기 때문에 텍스트로 입력받고, 이 설정값이 정해진 형식에 맞지 않는 경우 오류 처리된다. IP와 포트정보는 도 4에서와 같이 정규식(regular expression)을 이용하여 검사되는 경우 다른 알고리즘을 적용하는 것보다 효율적이다.
시작 및 중지 기능과 관련하여, 소켓을 이용하여 프로그래밍하면 포트를 바인딩하게 된다. 한번 점유된 포트는 OS에 의해 자원을 완전히 해제하지 않으면 해당 포트를 일시적으로 사용하지 못하는 상황이 발생한다. 이러한 이유로 기본설정이 완료되면 포트를 바인딩하는 시작과 자원을 해제하기 위한 종료를 자유롭게 할 수 있어야 한다. 시작과 종료를 별도의 버튼으로 하고 필요한 경우 버튼을 비활성화시킬 수 있어야 한다.
데이터 송수신 정보와 관련하여, 시뮬레이터로 사용하기 위해서는 송수신 데이터에 대한 기록을 화면으로 볼 수 있어야 한다. 또한, 송신할 메시지를 편리하게 만들어 테스트할 수 있도록 편의장치를 마련해야 한다.
송수신 로그와 관련하여, 송수신한 결과를 테이블 형태의 데이터 목록을 보이고, 각각 순서, 업/다운 정보, 송수신 IP 및 수신한 메시지 정보 등을 확인 할 수 있어야 한다. 뿐만 아니라, 대량의 데이터 송수신을 위해 자동으로 스크롤할 수 있어야 한다.
송신할 데이터 편집과 관련하여, SIP 프로토콜과 같은 경우 텍스트 기반의 데이터가 페이로드(payload)에 함께 실려 송신된다. 이러한 데이터 영역에 해당되는 메시지를 자유롭게 송신할 수 있는 창이 필요하고, 길이가 긴 데이터를 쉽게 볼 수 있도록 텍스트 영역(text area) 형태로 제공되어야 한다.
송신 메시지의 자동화와 관련하여, 송신할 데이터 영역은 매번 테스트할 때마다 송신할 데이터를 편집해야 한다. 이를 위해, 일정한 개수의 메시지를 미리 만들어 쉽게 테스트할 수 있도록 사용자 인터페이스를 강화해야 한다. 이러한 메시지는 파일로 저장되어 프로그램이 재가동되어도 사용될 수 있도록 한다.
송신 간격 설정과 관련하여, 여러 개의 데이터를 반복적으로 송신하는 경우 최대 속도, 일정 시간간격 송신 등의 유형이 있을 수 있다. 초 단위의 설정을 하여 사용자가 직관적으로 알 수 있도록 하고, 만약 0.1이라면 0.1초 간격으로 데이터를 전송하도록 한다.
송신 회수 설정과 관련하여, 소프트웨어를 개발하는 과정의 마지막에는 스트레스 테스트와 같은 기능을 수행할 수 있어야 한다. 이를 위해 송신할 회수를 입력하여 수 천만 개의 데이터 송신을 테스트할 수 있어야 한다.
랜덤 메시지 발생과 관련하여, 전술한 송신 메시지 자동화에서 여러 가지 메시지를 미리 만들어 놓고 송신할 수 있었다. 만약, 송신할 메시지 데이터의 크기가 작은 경우와 큰 경우에 대한 테스트를 반복적으로 수행해야 하는 경우가 있다. 왜냐하면, 네트워크 장비들은 데이터 크기가 큰 경우에 성능이 높게 나오는 경향이 있으므로, 매우 짧은 데이터의 송신이나, 크고 작은 데이터를 혼합하여 반복적으로 보내는 경우 등에 대한 테스트가 필요하다.
도 5은 지금까지 설계에서 고려해야 하는 사항들에 대한 내용을 기반으로 한 시뮬레이터의 초기화면을 보이고 있다. 서버(server)와 클라이언트(client) 중 하나를 선택할 수 있는 라디오 버튼이 구성되어 있으므로, 사용자는 이들 중 하나를 선택할 수 있다.
시뮬레이터는 크게 UDP 서버, UDP 클라이언트, TCP 서버 및 TCP 클라이언트를 포함한다. 이 중 UDP 서버 및 TCP 서버는 각각 에코 기능을 수행할 수 있고, UDP 클라이언트 및 TCP 클라이언트는 수신 기능을 수행할 수 있다.
UDP 서버에서 프로그램을 실행하면, 전술한 바와 같이 시뮬레이터가 가져야 하는 기능들을 포함하기 위해 도 5에서와 같은 화면을 디스플레이할 수 있다는 것을 알 수 있다. UDP 서버의 실행화면은 도 6에서와 같다.
UDP 서버는 자신의 IP와 포트번호를 설정할 수 있고, 에코 기능 여부를 라디오 버튼으로 결정할 수 있다. 이를 실행하면, 도 7에서와 같이 시작(Start) 버튼이 비활성화되고, 설정된 IP 및 포트번호를 이용하여 데이터를 수신한다. 이는 설정한 값을 이용하여 UDP 서버로 동작하게 됨을 의미한다.
UDP 서버는 자신이 정상적으로 동작하고 있다는 것을 알 수 있어야 하기 때문에, 데이터 송수신에 대한 로그를 화면 중앙에 있는 기록정보에 테이블 형태로 관리하여, 시뮬레이터가 정상적으로 동작함을 사용자에게 알려줄 수 있어야 한다.
도 8은 에코 기능 없이 성능측정 등을 위해 단순히 수신기능만 판단하는 동작화면을 보이고 있다. 로그는 최신 데이터가 가장 위에 보이고, 어디서(IP, 포트) 데이터가 수신되고 페이로드에는 어떤 데이터가 오는지를 화면에 나타내고 있다. 뿐만 아니라, 데이터 송수신 여부를 업/다운(Up/Down)으로 표기함으로써 동일 컴퓨터에서 테스트하는 경우 송신 또는 수신 여부를 화면에 도시하고 있다. 이때, 기록되는 데이터 양이 많아지면, 데이터 송수신 영역에 자동으로 스크롤 바로 표시하였다.
도 9는 도 8에서와는 달리 에코 기능이 선택된 상태에서 실행한 모습을 보이고 있다. 에코 기능은 클라이언트의 송수신 기능을 테스트하기 위해 필수적으로 확인하는 항목 중 하나로, 클라이언트가 보낸 메시지를 그대로 복사해서 클라이언트에게 다시 보내는 메아리 기능을 갖는다. 데이터를 수신하면, 이를 서버의 블록킹 방지를 위해 쓰레드로 처리하므로 일반적으로 순차적으로 처리된다.
지금까지 살펴본 바와 같이, UDP 서버는 최상의 성능으로 수신되는 즉시 처리되기 때문에 슬리프(Sleep)나 카운트(Count) 정보에 대한 별도의 설정이 없이 즉시 처리되는 메커니즘을 갖는다.
UDP 클라이언트는 UDP 서버와는 상반되는 개념으로 데이터 수신을 기다리는 UDP 서버에 메시지를 송신하는 시뮬레이터의 한 가지 기능이다.
도 10은 UDP 클라이언트의 실행화면을 나타내고 있는데, 수신 대기하고 있는 서버의 IP와 포트를 설정하는 설정창을 나타내고 있다. UDP 클라이언트는 도 11에서와 같이 UDP 서버와 유사한 화면으로 구성되었기 때문에 사용자에게 편리한 인터페이스를 제공한다. 하지만, UDP 서버와 달리 우측에 5개의 메시지 선택 버튼이 존재하고,“Test Msg Edit”라는 버튼이 추가적으로 활성화되어 있다. 이는 클라이언트의 특성상 UDP 서버에 송신할 데이터를 만들어 송신해야하기 때문이다. 직접 사용자가 필요한 메시지를 임의적으로 만들어 보낼 수 있는“User defined message”창을 이용해 송신할 수도 있지만, 미리 데이터를 파일로 만들어 놓고 데이터를 편리하게 테스트할 수 있다. SIP 메시지 테스트를 위해 테스트를 하고 싶다면 다음과 같은 절차를 따를 수 있다.
사용자 입력과 관련하여, 사용자가 직접 SIP 메시지를 만들어 데이터를 송신할 때 도 12에서와 같이“User defined message”를 만들어 송신하는 방법을 보이고 있다. 이러한 방법은 짧은 메시지의 송신 테스트를 하는 경우에는 유용하지만, 이러한 테스트를 반복적으로 수행해야 하는 경우에는 비효율적일 수 있다.
이러한 불편한 점을 해결하기 위해 미리 파일에 테스트할 메시지를 만들어 사용한다. 이를 위해“Test Msg Edit”버튼을 클릭하면 도 13에서와 같은 다이얼로그 박스(dialogue box)가 나타난다.
도 14는 도 2의 메시지를 저장하는 과정을 보이고 있다. 정의할 메시지를 텍스트 창에 입력한 후“SAVE”버튼을 클릭하면“Save OK”라는 알림창이 나타난다.
도 15는 도 14의 형태로 정의한 후 송신할 메시지를 선택하는 과정을 제공하는 인터페이스 화면을 보이고 있다. 송신할 데이터를 미리 정의하고 반복적으로 테스트할 수 있는 시뮬레이터로의 기능을 갖추고 있음을 알 수 있다. 이러한 방법은 랜덤 메시지 송신을 이용하여 다량의 데이터 송신시 유용하게 사용될 수 있다.
도 16은 미리 정의한 파일에 의해 15회 발생시키는 예제를 보이고 있으며, 전술한 UDP 서버의 에코 기능과 함께 도시하면 도 17과 같다.
지금까지 설명한 방법은 동일한 데이터를 반복적으로 송신하여 서버가 정상적인지를 테스트할 수 있는 시뮬레이터의 기능을 살펴보았다. 하지만, 실제 테스트를 위해서는 다양한 텍스트와 다양한 길이의 메시지를 송수신함으로써 성능 평가 등에 활용할 수 있다. 이를 위해 다양한 형태의 메시지를 랜덤하게 발생하는 기능은 스마트 비트 등에서도 기본적으로 제공되어야 할 뿐만 아니라, 소프트웨어 개발 과정에서 필수적이라 할 수 있다.
도 18은 랜덤으로 발송할 대상을 선택하는 창을 나타내고 있다. 이는 간단한 시뮬레이션을 위해 선택 메시지를 5개로 제한하였고, 체크 박스를 선택하여 대상을 결정할 수 있다.
도 19는 도 18에서“Send”버튼을 클릭했을 때 데이터가 전송된 후의 화면을 보이고 있다. 100개의 메시지를 선택한 대상 중에서 무작위로 발생시켜 다양한 형태의 데이터 시뮬레이션을 가능하게 한다.
송신속도와 관련하여, 지금까지는 최대 성능으로 송신하는 경우에 대해 살펴보았지만, 시뮬레이터에서는 밀리 세컨드(millisecond, ms) 단위의 간격으로 데이터를 송신할 수 있다.
도 20은 5000ms(5sec) 간격으로 데이터를 송신하는 화면을 나타내고 있다. 데이터를 일정 간격으로 송신하는 동안 다른 송신을 수행할 수 없도록“Send”버튼이 비활성화되고 5초 간격으로 송신하고 있음을 알 수 있다. 이 창은 현재“User defined message”가 송신되는“Send”버튼을 클릭했을 때의 과정이고 랜덤 발송을 위해서는“Random”버튼을 이용하면 된다.
도 21은 도 23에서의 과정을 동일하게 랜덤으로(random) 발생하는 과정을 보이고 있다. 랜덤 발생은“Send”버튼이 아닌“Random”버튼을 클릭하여 송신 가능하다.
송신 데이터량을 이용한 스트레스 테스트와 관련하여, 네트워크 시뮬레이터의 필수 항목 중 하나인 스트레스 테스트를 위해 송신 데이터 량을 설정할 수 있다. 송신 데이터 량은 232개 만큼으로 결정될 수 있는데, 도 22는 1천만 개의 데이터 송신을 하면서 스트레스 테스트를 수행하는 모습을 보이고 있다. 동일한 방법으로 랜덤 데이터 송신을 위한 과정도“Random” 버튼을 클릭하여 결정될 수 있다.
TCP는 연결 지향적인 송신 프로토콜이기 때문에 TCP 서버의 입장에서는 소켓 연결을 대기하는 과정이 필요하고, 소켓 연결이 클라이언트로부터 연결되는 경우나 클라이언트가 종료될 때 소켓을 종료시키는 과정이 포함된다. 이를 위해 클라이언트의 접속상태정보를 표현하는 과정이 필요하다.
도 23은 UDP 서버와 동일하게 TCP 서버가 동작하는 과정에서 클라이언트가 접속한 화면을 나타내고 있고, 도 24는 TCP 서버에 클라이언트 접속 후, 데이터 송신 및 수신, 클라이언트 접속 종료라고 하는 TCP 소켓의 전형적인 과정을 나타내고 있다. TCP 서버의 구현은 UDP 서버의 구현과 GUI 방식에서 동일한 형태를 보여줌으로써 사용자가 직관적으로 이해할 수 있고, TCP/UDP 소켓 여부에 관계없이 사용방법을 동일하게 구성하였다. 도 23 및 도 24에서와 같이 TCP 서버와 UDP 서버의 가장 큰 차이점은 접속정보에 대한 표현을 위해 업/다운(Up/Down) 영역에 상태정보인 노티스(notice) 라는 값으로 달리 표현하고 있다는 점만 다르다.
TCP 클라이언트는 UDP 클라이언트와는 달리 통신을 위해 TCP 서버에 먼저 연결한다. 직관적인 인터페이스를 위해 UDP 클라이언트에서와 동일하게“Start”,“Stop”버튼 만으로 접속 및 종료를 수행한다. 만약, TCP 서버가 수신 대기하지 않아 접속에 문제가 발생한 경우라면 도 25에서와 같이 연결에 실패하였음을 알림창을 통해 직관적으로 알 수 있도록 하였다.
도 26은 TCP 클라이언트가 TCP 서버와의 연결에 문제없이 데이터 송신을 하는 경우를 보이고 있다. 이와는 반대로 접속에는 문제가 없지만, 접속 후 데이터 를 송신하는 과정에서 TCP 서버가 종료되는 상황과 같이 정상적인 송신을 하지 못하는 경우에는 도 30에서와 같이 서버측에 문제가 발생하였음을 알림창을 통해 알 수 있다.
이와 같이 TCP는 연결 지향적인 송신 프로토콜이기 때문에 접속 과정이나, 전송 중에 문제점이 발생할 수 있다는 점을 제외하고 실제 송수신은 UDP와 동일한 형태로 이루어지고 있으며, 인터페이스는 UDP와 최대한 흡사하게 설계되었기 때문에, 일련의 테스트 과정은 UDP 서버 및 UDP 클라이언트와 유사하다.
지금까지 살펴본 내용은 시뮬레이터를 서버 및 클라이언트로 만들고, 편의상 동일한 시스템을 이용하여 시뮬레이터가 동작하는 것을 확인하였다. 하지만, 실제로 시뮬레이터로 동작하기 위해서는 이종 플랫폼 간의 데이터 송신을 테스트함으로써, 실제 개발 과정에서 활용 가능한지의 여부를 확인할 필요가 있다.
이를 위해 UDP 서버를 리눅스에 만들고, 본 발명에서 다루는 시뮬레이터를 이용하여 클라이언트 동작에 의해 동작과정을 검증할 필요가 있다. UDP 및 TCP의 각 송신 프로토콜에 대하여 각각 서버, 클라이언트로 동작하여 하나 하나마다 확인 과정을 거쳤고, 여기서는 편의상 UDP를 이용한 방법만 소개하기로 한다.
UDP 서버를 테스트하기 위해, UDP 클라이언트는 본 발명에서 제시한 시뮬레이터를 이용한다. 도 28은 리눅스-윈도우간의 네트워크 테스트를 위한 과정 중 클라이언트로 사용되는 시뮬레이터를 이용한 데이터 송신과정을 보이고 있다.
한편, 실제 프로그램 개발자는 네트워크의 성능 등을 측정하는 상황이 자주 발생한다. 이러한 경우 데이터 수신이 시작되는 시간을 기록하고, 데이터 송신이 끝났다고 판단되는 위치에 종료 시간을 기록함으로써, 성능을 측정할 수 있다.
도 29는 동일한 데이터를 반복적으로 수행하여 1000번, 10000번, 50000번, 100000번의 데이터 송신을 시뮬레이터로 송신하고, 이를 리눅스 서버에서 처리하는데 걸리는 시간과의 상관관계를 나타내고 있다. 전체적으로 데이터 양과 처리시간의 비율이 선형적이기는 하지만, 그때 그때의 환경조건에 따라 약간의 오차범위를 갖는다. 시간기록방식의 차이로 인해 1초 이내의 오차가 생길 수 있다.
도 30은 위의 실험과 유사하지만 다른 환경을 위해 랜덤 데이터 송신시 처리시간결과를 나타내고 있다.
도 31은 2개의 데이터가 완벽하게 유사한 형태로 보이지만, 성능 측정시 랜덤 데이터의 처리시 성능이 저하될 것이라는 예측을 정확히 판단할 수 없는 상황이다. 이 2개의 데이터에서 성능이 정확히 측정되고 있고 시뮬레이터의 동작이 정상적인지를 검증하기 위하여, 위의 2개의 데이터를 분석할 필요가 있다.
도 31과 도 32는 그래프로 도시한 결과의 정확한 분석을 위해 측정된 동일 데이터와 랜덤 데이터 송신시간 측정결과를 보이고 있다. 도 31 및 도 32에서 보이는 결과는 랜덤 데이터 송신 처리결과가 동일 데이터의 송신측정 결과값에 비해 수 % 정도의 지연이 발생하고 있음을 알 수 있다. 이러한 결과는 네트워크 소프트웨어 개발시, 동일한 데이터를 처리하는 경우나 길이가 일정한 데이터를 반복적으로 처리하는 경우 성능이 우수하다는 내용과 정확히 일치하고 있다. 이는 시뮬레이터에서 발생시키는 데이터 처리 지연시간일 수도 있고, 리눅스 서버에서 처리하는 과정에서 발생하는 시간의 지연일 수도 있지만, 결과적으로 시뮬레이터가 정상적으로 동작하고 있음을 알 수 있다. 추가적인 테스트를 수행한 결과 백 만개 이상의 데이터 등에서도 유사한 결과를 나타내고 있다.
이런 시뮬레이션의 검증을 통해, 개발자가 개발을 하기 위한 도구로 시뮬레이터를 사용했을 때, 보다 편리한 도구로 사용될 수 있음을 알 수 있다.
본 발명에서 제시한 송신계층 시뮬레이터는 TCP 프로토콜 및 UDP 프로토콜을 모두 지원하고, 각 서버와 클라이언트로 동작하고 이를 시험할 수 있다. 뿐만 아니라, 소켓 통신의 가장 기본인 에코 기능 등을 기본으로 탑재함으로써 소켓 통신을 연구하는 초심자로부터 고도화된 소프트웨어를 개발하는 고급 엔지니어에 이르기까지 범용으로 사용할 수 있도록 설계하여 구현하였다.
실제 업무에서 활용되기 위해서는 그 사용법이 쉽고, 인터페이스가 단순화되어 선택한 프로토콜의 여부나 서버 및 클라이언트와 같은 종류에 관계없이 유사성을 갖도록 설계하는데 초점을 두었다. 뿐만 아니라, 소프트웨어 개발의 마지막 단계인 소프트웨어 스트레스 테스트를 위해 최대 약 40억 개의 데이터를 송신할 수 있도록 하였고, 리눅스와 같은 이 종간의 테스트에도 활용할 수 있도록 이를 검증하였다.
최종적으로, 고도화된 소프트웨어 개발에 활용할 목적으로 정확하게 동작하고 있는지 검증하기 위해, 본 발명에서는 오픈 소스로 공개되어 있는 SIPp 네트워크 성능 평가툴과 비교성능평가를 하였고 성능측정 등을 한 결과, 그 결과 이미 검증이 되어 네트워크 성능 테스트 분야에서 사용이 되는 SIPp와 거의 동급의 성능을 나타내어 본 발명에서 제안한 시뮬레이터의 성능 및 신뢰성을 검증하였다.
또한, 본 발명에서 제안한 시뮬레이터는 SIPp와 달리 GUI 기반으로 작성되어 사용하기 편리하다는 장점이 있다. 또한, SIPp와 달리 구현된 시뮬레이터는 사용자가 SIP 메시지를 별도로 정의하여 네트워크 성능 측정을 할 수 있다는 기능적인 장점을 가지고 있다. 특히, SIPp는 SIP 프로토콜밖에 성능 측정을 하지 못한다는 단점을 가지고 있지만, 본 발명의 시뮬레이터는 텍스트 기반의 모든 UDP 프로토콜 및 TCP 프로토콜의 성능을 측정할 수 있다는 장점을 갖는다.
향후에는 SCTP와 같이 다양한 프로토콜을 성능평가 할 수 있는 기능 추가 작업을 필요로 할 수 있다. 또한, 신뢰성 있는 성능측정을 위하여 정확한 스트레스 테스트 등을 위해 랜덤 데이터의 개수를 늘리고, 데이터 크기 별 랜덤 데이터 생성에 관한 연구가 수행되어야 한다.
이상의 설명은 본 실시예의 기술사상을 예시적으로 설명한 것에 불과한 것으로서, 본 실시예가 속하는 기술분야에서 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 실시예들은 본 실시예의 기술사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 실시예의 기술사상의 범위가 한정되는 것은 아니다. 본 실시예의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술사상은 본 실시예의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
110 : TCP 모듈
111 : TCP 클라이언트
112 : TCP 서버
130 : 테스트 메시지 모듈
210 : UDP 모듈
211 : UDP 클라이언트
212 : UDP 서버

Claims (20)

  1. 테스트 대상에 따라 통신프로토콜로서 TCP 및 UDP 중 하나를 선택 받기 위한 프로토콜 선택버튼, 서버 및 클라이언트 중 하나를 선택 받기 위한 서버/클라이언트 IP와 Port를 입력받기 위한 IP 및 Port 입력부, 설정된 테스트 메시지 중 어느 하나를 선택받기 위한 설정메시지 선택부, 및 테스트 수행자로부터 테스트를 위한 임의의 메시지를 입력 받기 위한 사용자메시지 설정부를 포함하는 테스트 설정 GUI;
    상기 프로토콜 선택버튼에 의해 TCP가 선택되는 경우에, TCP 클라이언트 및 TCP 서버를 통해 TCP의 제1 테스트 메시지 송수신 상태를 테스트하되, 상기 서버/클라이언트 선택버튼을 통해 상기 서버가 선택되면 테스트 대상의 TCP 클라이언트에 대해 테스트하고, 상기 클라이언트가 선택되면 테스트 대상의 TCP 서버에 대해 테스트하는 TCP 모듈;
    상기 프로토콜 선택버튼에 의해 UDP가 선택되는 경우에, UDP 클라이언트 및 UDP 서버를 통해 UDP의 제2 테스트 메시지 송수신 상태를 테스트하는 테스트하되, 상기 서버/클라이언트 선택버튼을 통해 상기 서버가 선택되면 테스트 대상의 UDP 클라이언트에 대해 테스트하고, 상기 클라이언트가 선택되면 테스트 대상의 UDP 서버에 대해 테스트하는 UDP 모듈; 및
    상기 설정메시지 선택부로부터 설정된 메시지가 선택되거나 상기 사용자메시지 설정부를 통해 테스트 메시지가 입력됨에 따라, 상기 TCP 모듈에 상기 선택된 설정 메시지 또는 상기 입력된 메시지인 상기 제1 테스트 메시지를 제공하고, 상기 UDP 모듈에 상기 선택된 설정 메시지 또는 상기 입력된 메시지인 제2 테스트 메시지를 제공하는 테스트 메시지 모듈
    을 포함하는 것을 특징으로 하는 소프트웨어 기반의 네트워크 시뮬레이터.
  2. 제1항에 있어서,
    상기 프로토콜 선택버튼에 의해 TCP가 선택되고, 상기 서버/클라이언트 선택버튼을 통해 상기 클라이언트가 선택되면, 상기 테스트 대상의 TCP 서버는 상기 TCP 모듈의 TCP 클라이언트로부터 상기 제1 테스트 메시지를 수신한 후 상기 제1 테스트 메시지를 복사하여 상기 TCP 모듈의 TCP 클라이언트에 송신하고,
    상기 프로토콜 선택버튼에 의해 TCP가 선택되고, 상기 서버/클라이언트 선택버튼을 통해 상기 서버가 선택되면, 상기 테스트 대상의 TCP 클라이언트는 상기 TCP 모듈의 TCP 클라이언트로부터 상기 제1 테스트 메시지를 수신한 후 상기 제1 테스트 메시지를 복사하여 상기 TCP 모듈의 TCP 서버에 송신하고,
    상기 프로토콜 선택버튼에 의해 UDP가 선택되고, 상기 서버/클라이언트 선택버튼을 통해 상기 클라이언트가 선택되면, 상기 테스트 대상의 UDP 서버는 상기 UDP 모듈의 UDP 클라이언트로부터 상기 제2 테스트 메시지를 수신한 후 상기 제2 테스트 메시지를 복사하여 상기 UDP 모듈의 UDP 클라이언트에 송신하고,
    상기 프로토콜 선택버튼에 의해 UDP가 선택되고, 상기 서버/클라이언트 선택버튼을 통해 상기 서버가 선택되면, 상기 테스트 대상의 UDP 클라이언트는 상기 UDP 모듈의 UDP 클라이언트로부터 상기 제2 테스트 메시지를 수신한 후 상기 제2 테스트 메시지를 복사하여 상기 UDP 모듈의 UDP 서버에 송신하는 것을 특징으로 하는 소프트웨어 기반의 네트워크 시뮬레이터.
  3. 삭제
  4. 삭제
  5. 삭제
  6. 제2항에 있어서,
    상기 UDP 모듈의UDP 클라이언트는 상기 제2 테스트 메시지를 생성하여 상기 테스트 대상의 UDP 서버에 송신하거나,
    미리 생성된 복수의 제2 테스트 메시지 중 적어도 하나는 서로 다른 텍스트 또는 서로 다른 길이이며, 적어도 하나를 랜덤하게 선택하고, 2개 이상을 선택하여 상기 테스트 대상의 UDP 서버에 일괄 송신하는 것을 특징으로 하는 소프트웨어 기반의 네트워크 시뮬레이터.
  7. 삭제
  8. 삭제
  9. 삭제
  10. 제2항에 있어서,
    상기 UDP 모듈의 UDP 클라이언트는 밀리 세컨드(millisecond) 단위의 간격으로 상기 테스트 대상의 UDP 서버에 상기 제2 테스트 메시지를 송신하고,
    상기 UDP 모듈의 UDP 클라이언트는 상기 제2 테스트 메시지를 송신하는 도중 다른 테스트 메시지의 송신을 차단하는 것을 특징으로 하는 소프트웨어 기반의 네트워크 시뮬레이터.
  11. 삭제
  12. 제2항에 있어서,
    상기 UDP 모듈의 UDP 클라이언트가 상기 테스트 대상의 UDP 서버에 송신할 데이터량은 설정되며, 상기 테스트 대상의 UDP 서버에 송신할 데이터량은 2n개(n은 자연수)이며,
    상기 n은 32의 최대값을 갖는 것을 특징으로 하는 소프트웨어 기반의 네트워크 시뮬레이터.
  13. 삭제
  14. 삭제
  15. 제2항에 있어서,
    상기 테스트 대상의 TCP 서버는 상기 TCP 모듈의 TCP 클라이언트의 접속상태정보를 갖는 텍스트를 디스플레이하며,
    상기 테스트 대상의 TCP 서버가 수신 대기 중이 아닌 경우, 상기 TCP 모듈의 TCP 클라이언트는 상기 테스트 대상의 TCP 서버와의 접속에 실패하였다는 텍스트를 디스플레이하고,
    상기 TCP 모듈의 TCP 클라이언트가 상기 테스트 대상의 TCP 서버와의 접속에 성공한 후 상기 테스트 대상의 TCP 서버가 종료된 경우, 테스트 대상의 모듈의 TCP 서버에 문제가 있다는 텍스트를 디스플레이하는 것을 특징으로 하는 소프트웨어 기반의 네트워크 시뮬레이터.
  16. 삭제
  17. 삭제
  18. 삭제
  19. 제2항에 있어서,
    상기 UDP 모듈의 UDP 클라이언트는 상기 테스트 대상의 UDP 서버가 상기 제2 테스트 메시지를 수신하기 시작하는 시간 및 상기 테스트 대상의 UDP 서버가 상기 제2 테스트 메시지의 송신을 완료한 시각을 기록하는 것을 특징으로 하는 소프트웨어 기반의 네트워크 시뮬레이터.
  20. 제2항에 있어서,
    상기 TCP 모듈의 TCP 클라이언트와 상기 테스트 대상의 TCP 서버의 상기 제1 테스트 메시지 송수신 및 상기 UDP 모듈의 UDP 클라이언트와 상기 테스트 대상의 UDP 서버의 상기 제2 테스트 메시지 송수신은 이종 플랫폼 간의 송수신인 것을 특징으로 하는 소프트웨어 기반의 네트워크 시뮬레이터.
KR20130168519A 2013-12-31 2013-12-31 소프트웨어 기반의 네트워크 시뮬레이터 KR101472012B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR20130168519A KR101472012B1 (ko) 2013-12-31 2013-12-31 소프트웨어 기반의 네트워크 시뮬레이터

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20130168519A KR101472012B1 (ko) 2013-12-31 2013-12-31 소프트웨어 기반의 네트워크 시뮬레이터

Publications (1)

Publication Number Publication Date
KR101472012B1 true KR101472012B1 (ko) 2014-12-24

Family

ID=52678661

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20130168519A KR101472012B1 (ko) 2013-12-31 2013-12-31 소프트웨어 기반의 네트워크 시뮬레이터

Country Status (1)

Country Link
KR (1) KR101472012B1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101663687B1 (ko) * 2015-06-12 2016-10-07 주식회사 아이엠피티티 다중전송계층을 이용한 ip-ptt 시스템 및 그의 제어방법
KR101944946B1 (ko) 2017-09-28 2019-02-01 김지태 Udp 통신 테스트 장치 및 그 방법
KR102451096B1 (ko) * 2022-04-12 2022-10-06 (주)소울시스템즈 소켓 제어 인터페이스를 통한 네트워크 내 임의구간의 다계층 성능 분석 시스템 및 그 방법
CN115314481A (zh) * 2022-06-29 2022-11-08 国网信息通信产业集团有限公司 基于iec101/iec104的模拟主站通讯方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050059959A (ko) * 2003-12-16 2005-06-21 한국전자통신연구원 비대칭 라우팅 경로에 대한 네트워크 품질 측정방법
JP2009033751A (ja) * 2007-07-30 2009-02-12 Canon Inc トンネルにおけるデータパケットの送信方法、対応するコンピュータプログラム製品、記憶手段及びトンネル終端

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050059959A (ko) * 2003-12-16 2005-06-21 한국전자통신연구원 비대칭 라우팅 경로에 대한 네트워크 품질 측정방법
JP2009033751A (ja) * 2007-07-30 2009-02-12 Canon Inc トンネルにおけるデータパケットの送信方法、対応するコンピュータプログラム製品、記憶手段及びトンネル終端

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101663687B1 (ko) * 2015-06-12 2016-10-07 주식회사 아이엠피티티 다중전송계층을 이용한 ip-ptt 시스템 및 그의 제어방법
KR101944946B1 (ko) 2017-09-28 2019-02-01 김지태 Udp 통신 테스트 장치 및 그 방법
KR102451096B1 (ko) * 2022-04-12 2022-10-06 (주)소울시스템즈 소켓 제어 인터페이스를 통한 네트워크 내 임의구간의 다계층 성능 분석 시스템 및 그 방법
CN115314481A (zh) * 2022-06-29 2022-11-08 国网信息通信产业集团有限公司 基于iec101/iec104的模拟主站通讯方法及系统
CN115314481B (zh) * 2022-06-29 2024-07-30 国网信息通信产业集团有限公司 基于iec101/iec104的模拟主站通讯方法及系统

Similar Documents

Publication Publication Date Title
CN108141390B (zh) 用于管理关于电缆测试设备操作的消息的基于云的系统和方法
CN102244594B (zh) 在手动和自动测试工具中的网络仿真技术
CN105335293B (zh) 一种基于接口并行的自动化测试系统和方法
US9100300B2 (en) Mitigating network connection problems using supporting devices
KR101520056B1 (ko) 클라우드 기반 모바일/온라인 게임 서버 부하 테스트 자동화 서비스 방법
US10705946B2 (en) Techniques for real time server testing in a production environment
US20130074051A1 (en) Tracking and analysis of usage of a software product
US7730352B2 (en) Testing network applications without communicating over a network layer communication link
US20200012587A1 (en) Application user interface testing system and method
KR101472012B1 (ko) 소프트웨어 기반의 네트워크 시뮬레이터
JP2017506843A (ja) 可視化されたネットワーク運用及び保守のための方法及び装置
US20080244062A1 (en) Scenario based performance testing
CN107562637B (zh) 一种用于软件测试的方法、设备、系统及存储介质
US20170168881A1 (en) Process chain discovery across communication channels
CN111198797B (zh) 操作监控方法及装置、操作分析方法及装置
US11470183B1 (en) Deriving proxy stability without network inspection
CN112311620A (zh) 用于诊断网络的方法、装置、电子设备和可读介质
WO2021120544A1 (zh) 用于调试设备的方法及装置
US20170220218A1 (en) Automatic Generation of Regular Expression Based on Log Line Data
CN112231209B (zh) 参数获取方法、装置、计算机设备和存储介质
US9588874B2 (en) Remote device automation using a device services bridge
US20170126844A1 (en) Server architecture and protocol development
KR20150003651A (ko) 컴퓨팅 시스템 및 컴퓨팅 시스템의 제어방법
KR20150025106A (ko) 애플리케이션 검증결과 모니터링 서비스를 위한 검증장치, 단말장치, 시스템, 방법 및 컴퓨터로 판독 가능한 기록 매체
CN105808422A (zh) 一种基于网络的软件测试方法、客户端及待测试设备

Legal Events

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

Payment date: 20171128

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20181128

Year of fee payment: 5