KR101243889B1 - 에이전트 기반 lte 시스템용 프로토콜 분석기 및 프로토콜 분석방법 - Google Patents

에이전트 기반 lte 시스템용 프로토콜 분석기 및 프로토콜 분석방법 Download PDF

Info

Publication number
KR101243889B1
KR101243889B1 KR1020110047866A KR20110047866A KR101243889B1 KR 101243889 B1 KR101243889 B1 KR 101243889B1 KR 1020110047866 A KR1020110047866 A KR 1020110047866A KR 20110047866 A KR20110047866 A KR 20110047866A KR 101243889 B1 KR101243889 B1 KR 101243889B1
Authority
KR
South Korea
Prior art keywords
message
protocol analyzer
protocol
lte
agent
Prior art date
Application number
KR1020110047866A
Other languages
English (en)
Other versions
KR20120129540A (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 KR1020110047866A priority Critical patent/KR101243889B1/ko
Publication of KR20120129540A publication Critical patent/KR20120129540A/ko
Application granted granted Critical
Publication of KR101243889B1 publication Critical patent/KR101243889B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements
    • H04W24/02Arrangements for optimising operational condition
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W80/00Wireless network protocols or protocol adaptations to wireless operation
    • H04W80/08Upper layer protocols
    • H04W80/10Upper layer protocols adapted for application session management, e.g. SIP [Session Initiation Protocol]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

본 발명은 LTE 시스템을 개발 및 운용하고자 하는 경우에 활용하기 위해 LTE 시스템 내의 각 시스템 간 연동 메시지를 수집 및 분석하여 연동 메시지의 누수나 연동 메시지의 오류를 파악할 수 있도록 하는 에이전트 기반 LTE 시스템용 프로토콜 분석기 및 프로토콜 분석방법에 관한 것으로,
LTE 시스템(300) 내의 단말 사용자용 UE 시스템(310), 상기 UE 시스템(310)과 무선 통신을 통해 데이터를 주고받는 기지국 기능을 수행하는 eNodeB 시스템(320), 상기 UE 시스템(310)의 세션을 관리하고 단말의 위치 및 이동성을 관리하며, 상기 eNodeB 시스템(320)을 통해 상기 UE 시스템(310)과 데이터를 주고받는 MME 시스템(330), 상기 UE 시스템(310)과 외부 네트워크상의 트래픽 흐름을 지원하고 상기 eNodeB 시스템(320)과 연계하여 상기 UE 시스템(310)의 트래픽을 처리하는 sGW 시스템(340)에 각각 탑재된 각각의 프로토콜 분석기 에이전트(100); 및
상기 각각의 프로토콜 분석기 에이전트(100)에 접속된 프로토콜 분석기 서버(200);
를 구비하는 LTE 프로토콜 분석기(250)로서,
상기 프로토콜 분석기 에이전트(100)는 패킷 캡처 라이브러리(Pcap library)(800)를 통해 LTE 메시지를 캡처링하여 대상 메시지를 추출해서 상기 프로토콜 분석기 서버(200)로 전송하며,
상기 프로토콜 분석기 서버(200)는 상기 프로토콜 분석기 에이전트(100)로부터 전송된 메시지를 분석하여 기설정된 화면상에 표시하되, 상기 전송된 메시지 분석 시 미리 확장성생성언어 메타정보로 정의된 LTE 프로토콜 메시지를 활용하는 것을 특징으로 한다.
이와 같은 본 발명은 LTE 시스템 개발 및 운용 시 각 시스템간의 연동 메시지를 효과적으로 수집 및 분석할 수 있다.

Description

에이전트 기반 LTE 시스템용 프로토콜 분석기 및 프로토콜 분석방법{Agent based protocol analyzer and protocol analyzing method for LTE system}
본 발명은 에이전트(Agent) 기반 LTE 시스템(Long Term Evolution system)용 프로토콜 분석기(PA, Protocol Analyzer) 및 프로토콜 분석방법에 관한 것으로, 특히, LTE 시스템을 개발 및 운용하고자 하는 경우에 활용하기 위해 LTE 시스템 내의 각 시스템 간 연동 메시지를 수집 및 분석하여 연동 메시지의 누수나 연동 메시지의 오류를 파악할 수 있도록 하는 에이전트 기반 LTE 시스템용 프로토콜 분석기 및 프로토콜 분석방법에 관한 것이다.
종래의 프로토콜 분석기는 이더넷(Ethernet)을 비롯한 IP 레벨과 TCP/UDP 등의 프로토콜 레벨을 분석할 뿐이고, LTE의 프로토콜 규격을 포함한 연동 메시지를 분석 및 도시하는 기능은 지원하지 않고 있다.
또한, LTE의 프로토콜 중 S1, X2, RRC(Radio Resource Control) 프로토콜들은 ASN.1 인코딩 룰을 사용하기 때문에, 종래의 프로토콜 분석기를 활용하려고 한다면 이런 디코딩 룰을 포함한 라이브러리를 추가적으로 개발해야 한다.
그리고 LTE의 프로토콜 중 GTP(GPRS Tunneling Protocol), ESM(EPS Session Management), EMM(EPS Mobility Management) 프로토콜들은 바이너리(binary) 인코딩 룰을 사용하기 때문에, 종래의 프로토콜 분석기에서는 이를 추가적으로 개발해야만 가능하다.
만약 LTE 프로토콜 표준이나 시스템간의 연동 규칙이 변경되는 경우 종래의 분석기는 연동 규칙이 변경될 때마다 프로토콜 분석기 자체를 수정해야 하는 번거로움과 추가적인 노력이 필요하다. 따라서 LTE 시스템을 개발하고자 하는 경우 변경된 메시지를 반영하는 부하만으로도 큰 부담이 될 수 있다.
본 발명은 전술한 과제를 해결하기 위하여 안출한 것으로, LTE 시스템을 개발 및 운용하고자 하는 경우에 활용하기 위해 LTE 시스템 내의 각 시스템 간 연동 메시지를 수집 및 분석하여 연동 메시지의 누수나 연동 메시지의 오류를 파악할 수 있도록 하는 에이전트 기반 LTE 시스템용 프로토콜 분석기 및 프로토콜 분석방법을 제공하는 데 그 목적이 있다.
또한, LTE 시스템을 개발하려면 LTE 시스템 내의 UE(User Equipment) 시스템, eNodeB(E-UTRAN Node B) 시스템, MME(Mobility Management Entity) 시스템, sGW(Serving Gateway) 시스템들과 이 각 시스템 내 많은 기능노드들을 개발해야 하며, ESM, EMM, RRC, S1, X2, GTP 등의 각 기능노드들이 수행하는 각 프로토콜을 개발해야 한다. 따라서 LTE 시스템을 개발하는 사람들은 이를 검증하기 위한 검증 시스템이 필요하며, 개발 시스템 연동 시 특히 절실히 요구된다. 본 발명은 시스템 연동 시 메시지의 누수나 메시지 내 각 파라미터의 검증을 수월하게 할 수 있으며, 문제 원인 파악 및 빠른 대책을 강구할 수 있도록 지원하는데 목적이 있다.
또한, LTE 시스템 개발 도중 표준의 변경이나 연동 규칙의 변경으로 인하여 연동 메시지가 변경되는 경우 프로토콜 분석기를 직접 수정하지 않고 확장성생성언어(XML, extensible markup language) 메타정보만 수정하면 즉시 운용 가능하도록 지원하는데 목적이 있다.
또한, LTE 시스템을 개발하고자 하는 사람들에게 있어서 각 프로토콜 개발을 통한 시스템 연동 및 디버깅 시에 효과적으로 사용될 프로토콜 분석기가 제공하며, LTE 시스템을 운용하는 사람들에게 있어서도 현재 운용중인 LTE 시스템에서 문제가 발생할 경우 원인 파악 및 문제 해결을 위한 프로토콜 분석기를 제공하는데 목적이 있다.
이와 같은 목적을 달성하기 위하여,
본 발명의 일 형태에 따르면,
LTE 시스템(300) 내의 단말 사용자용 UE 시스템(310), 상기 UE 시스템(310)과 무선 통신을 통해 데이터를 주고받는 기지국 기능을 수행하는 eNodeB 시스템(320), 상기 UE 시스템(310)의 세션을 관리하고 단말의 위치 및 이동성을 관리하며, 상기 eNodeB 시스템(320)을 통해 상기 UE 시스템(310)과 데이터를 주고받는 MME 시스템(330), 상기 UE 시스템(310)과 외부 네트워크상의 트래픽 흐름을 지원하고 상기 eNodeB 시스템(320)과 연계하여 상기 UE 시스템(310)의 트래픽을 처리하는 sGW 시스템(340)에 각각 탑재된 각각의 프로토콜 분석기 에이전트(100); 및
상기 각각의 프로토콜 분석기 에이전트(100)에 접속된 프로토콜 분석기 서버(200);
를 구비하는 LTE 프로토콜 분석기(250)로서,
상기 프로토콜 분석기 에이전트(100)는 패킷 캡처 라이브러리(Pcap library)(800)를 통해 LTE 메시지를 캡처링하여 대상 메시지를 추출해서 상기 프로토콜 분석기 서버(200)로 전송하며,
상기 프로토콜 분석기 서버(200)는 상기 프로토콜 분석기 에이전트(100)로부터 전송된 메시지를 분석하여 기설정된 화면상에 표시하되, 상기 전송된 메시지 분석 시 미리 LTE 프로토콜 메시지를 확장성생성언어 메타정보로 정의한 정보를 활용하는 것을 특징으로 한다.
상기 프로토콜 분석기 서버(200)는 상기 LTE 프로토콜 중 S1, X2, RRC를 포함하는 ASN.1 인코딩 룰을 사용하는 메시지와 ESM, EMM, GTP 프로토콜들의 바이너리 인코딩 룰을 사용하는 메시지를 각각 분석하기 위한 ASN.1 디코더(208)와 바이너리 디코더(209)를 구비하는 것을 특징으로 한다.
상기 ASN.1 디코더(208)와 바이너리 디코더(209)는 ASN.1 디코더 관리자(207)에 의해 동적으로 선택되는 것을 특징으로 한다.
상기 LTE 프로토콜은 제어 메시지 플레인에서 UE 시스템(310), eNodeB 시스템(320), MME 시스템(330) 간의 연동(400); MME 시스템(330), sGW 시스템(340)간의 연동(500); 사용자 데이터 플레인에서 UE 시스템(310), eNodeB 시스템(320), sGW 시스템(340) 간의 연동(600)으로 구성되며,
제어 메시지 플레인에서 UE 시스템(310), eNodeB 시스템(320), MME 시스템(330)간의 연동(400)은 UE 시스템(310)과 eNodeB 시스템(320) 간의 무선연결구조(401, 402)와 eNodeB 시스템(320), MME 시스템(330) 간의 SCTP/IP 기반의 S1 연결구조(402, 403)로 대표되고,
UE 시스템(310)의 세션 관리와 이동성 관리를 위해 MME 시스템(330)은 ESM, EMM 프로토콜을 사용하며,
제어 메시지 중 MME 시스템(330)과 sGW 시스템(340) 간의 연동(500)은 UDP/IP기반의 GTPv2-C 프로토콜(501, 502)을 사용하고,
사용자 데이터 플레인에서 eNodeB 시스템(320)과 sGW(340)는 UDP/IP 기반의 GTPv2-U 프로토콜을 사용하여 연동(602, 603)하는 것을 특징으로 한다.
상기 프로토콜 분석기 에이전트(100)는,
상기 프로토콜 분석기 에이전트(100)를 운용하기 위한 환경설정파일(101)을 액세스하는 환경설정 관리모듈(102);
상기 환경설정 관리모듈(102)의 제어에 따라 패킷 캡처 라이브러리(Pcap library)(800) 및 NIC 드라이버(Driver)(700)와 연계하여 LTE 패킷을 캡처하는 패킷 수집기(103);
상기 환경설정 관리모듈(102)의 제어에 따라 상기 패킷 수집기(103)에서 수집된 LTE 패킷을 분석하고 상기 프로토콜 분석기 서버(200)로 전송해야하는 데이터인지 여부를 위해 필터링을 수행하는 메시지 필터링 및 분석기(104); 및
상기 환경설정 관리모듈(102)의 제어에 따라 수집된 LTE 패킷이 상기 프로토콜 분석기 서버(200)로 전송해야 하는 패킷인 경우 해당 프로토콜 분석기 메시지를 생성하여 전송관리자(106)를 통해 상기 프로토콜 분석기 서버(200)로 전송하는 프로토콜 분석기 메시지 생성기(105);
를 포함하는 것을 특징으로 한다.
상기 전송 관리자(106)는 상기 환경설정 관리모듈(102)의 제어에 따라 상기 환경설정파일(101)에 기록된 상기 프로토콜 분석기 서버(200)의 IP 주소와 포트 번호를 기반으로 하여 소켓을 생성한 후 해당 메시지를 전송하는 것을 특징으로 한다.
상기 프로토콜 분석기 서버(200)는,
프로토콜 분석기 자체 정보, 상기 LTE 시스템(300) 내의 각 시스템(310, 320, 330, 340) 구조, 각 기능노드들 간의 계층 구조를 저장하고 있는 구성정보파일(201)과 LTE 프로토콜 메시지에 대한 정의를 하고 있는 메시지 정의 확장성생성언어 메타정보파일(202)을 유지하며,
상기 구성정보파일(201)과 상기 메시지 정의 확장성생성언어 메타정보파일(202)을 로딩하고 분석하여 상기 프로토콜 분석기 서버(200)의 초기화와 LTE 프로토콜 메시지 분석 시 사용하는 확장성생성언어 관리자(203);
상기 프로토콜 분석기 에이전트(100)에서 전송한 프로토콜 분석기 메시지를 수신하여 메시지 전처리기(205)로 제공하는 통신 관리자(204);
프로토콜 분석기 메시지의 공통 헤더를 분석하고 어떤 종류의 메시지인지 어떤 기능노드들 간의 메시지인지 파악하여 분석된 메시지를 풀관리기(206)를 통해 메시지 풀에 등록하는 메시지 전처리기(205);
상기 등록된 메시지는 메시지 인코딩 형태에 따라 ASN.1 디코더(208), 바이너리 디코더(209)를 통해 인코딩 이전의 데이터로 복원되며, 어떤 인코딩 룰도 거치지 않은 로(raw) 데이터의 경우는 상기 각 디코더(208, 209)를 통해 복원된 데이터와 함께 메시지 분석기(211)로 제공되며,
확장성생성언어 파서(210)와 함께 연계하여 메시지 정의 확장성생성언어 메타정보 중 상기 메시지 분석기(211)로 들어온 데이터에 맞는 포맷의 확장성생성언어 규칙을 추출하고 해당 규칙에 맞게 분석하는 메시지 분석기(211); 및
상기 메시지 분석기(211)의 분석결과가 메시지 필터(212)를 거친 것을 기설정된 화면으로 출력하는 GUI(213);
를 포함하는 것을 특징으로 한다.
본 발명의 다른 형태에 따르면,
LTE 시스템(300) 내의 단말 사용자용 UE 시스템(310), 기지국 기능을 수행하는 eNodeB 시스템(320), 상기 UE 시스템(310)의 세션을 관리하고 단말의 위치 및 이동성을 관리하는 MME 시스템(330), 상기 eNodeB 시스템(320)과 연계하여 상기 UE 시스템(310)의 트래픽을 처리하는 sGW 시스템(340)에 각각 탑재된 각각의 프로토콜 분석기 에이전트(100); 및
상기 프로토콜 분석기 에이전트(100)로부터 전송된 메시지를 분석하되, 상기 전송된 메시지 분석 시 미리 확장성생성언어 메타정보로 정의된 LTE 프로토콜 메시지를 활용하는 프로토콜 분석기 서버(200);
를 구비하는 LTE 프로토콜 분석기(250)에서 프로토콜을 분석하는 방법으로서,
상기 프로토콜 분석기 서버(200)는 수신 메시지의 타입에 따라 ASN.1 디코더(208)와 바이너리 디코더(209) 중 해당 디코더를 선택하여 상기 수신 메시지를 인코딩 이전의 데이터로 복원하는 것을 특징으로 한다.
상기 인코딩 이전의 데이터로 복원하는 단계는,
상기 수신 메시지가 ASN.1 인코딩된 데이터인 경우 상기 ASN.1 디코더(208)를 사용하여 상기 수신 메시지를 인코딩 이전의 데이터로 복원하는 단계; 및
상기 수신 메시지가 바이너리 인코딩된 데이터인 경우 상기 바이너리 디코더(209)를 사용하여 상기 수신 메시지를 인코딩 이전의 데이터로 복원하는 단계;
로 이루어지는 것을 특징으로 한다.
상기 프로토콜 분석기 서버(200)는 상기 각 UE 시스템(310), eNodeB 시스템(320), MME 시스템(330), sGW 시스템(340) 간의 메시지 연동 규칙이 변경되면 변경된 해당 연동 규칙을 적용하는 단계;
상기 프로토콜 분석기 서버(200)는 변경된 메시지 정의 확장성생성언어 메타정보를 로딩하여 등록하는 단계; 및
상기 프로토콜 분석기 서버(200)는 변경된 ASN.1 인코딩 룰에 대한 디코더를 선택하여 등록하는 단계;
를 더 포함하는 것을 특징으로 한다.
상기 프로토콜 분석기 에이전트(100)가 자신이 사용하는 환경 설정파일을 생성하는 과정은,
자신의 에이전트 ID, 설치 시스템의 IP주소, 포트 번호를 저장하는 단계(S10);
상기 프로토콜 분석기 서버(200)의 IP주소와 포트 번호를 저장하는 단계(S11);
패킷을 캡처링해야 하는 이더넷 카드 번호, 대상 IP주소, 포트 번호, 노드 ID, 노드이름을 설정하는 단계(S12);
1개 이상의 캡처 룰을 적용할 경우 추가 룰이 존재하는지 여부를 판단하여 추가 룰이 존재하면 상기 단계(S12)를 수행하는 단계(S13); 및
상기 단계(S13)의 판단 결과, 추가 룰이 존재하지 않으면 문서를 저장하는 과정을 통해 프로토콜 분석기 에이전트용 환경파일을 생성하는 단계(S14, S15);
를 포함하는 것을 특징으로 한다.
상기 프로토콜 분석기 서버(200)가 자신을 위한 구성파일을 생성하는 과정은,
자신의 IP주소와 수신 포트 번호를 설정하는 단계(S20);
LTE 프로토콜 메시지를 분석할 때 사용되는 메시지 정의 확장성생성언어 메타정보파일의 경로를 저장하는 단계(S21);
메시지 수신 후 최대 보유할 수 있는 메시지의 개수와 이를 고려한 메시지 풀의 사이즈를 설정하는 단계(S22);
메시지 풀의 크기를 벗어나는 경우 자동적으로 파일로 저장하도록 파일의 위치를 설정하는 단계(S23);
상기 LTE 시스템(300)을 구성하는 각 시스템(310, 320, 330, 340)들과 각 시스템(310, 320, 330, 340) 내에서 LTE 프로토콜의 각 기능을 수행하는 기능노드들의 계층 구조를 정의하는 단계(S24); 및
자신을 위한 구성파일로 저장하는 과정을 통해 상기 프로토콜 분석기 서버(200)를 위한 구성파일을 생성하는 단계(S25, S26);
를 포함하는 것을 특징으로 한다.
본 발명은, LTE 시스템 개발 및 운용 시 각 시스템간의 연동 메시지를 효과적으로 수집 및 분석할 수 있다.
또한, 본 발명을 통한 프로토콜 분석기를 활용하여 기본적으로 LTE 시스템(300)을 구성하는 각 시스템 간 혹은 기능 노드들 간의 메시지 누락이나 메시지 오류에 대해 쉽게 파악이 가능하여 LTE 시스템(300)을 개발하거나 운용하는 관리자로 하여금 문제점을 쉽게 파악할 수 있도록 지원한다. 따라서 연동 시 문제의 원인이나 대책을 쉽게 수립할 수 있도록 지원한다.
또한, 본 발명을 통한 LTE 프로토콜 분석기(250)는 확장성생성언어 메타정보로 연동 메시지를 관리하기 때문에 LTE 프로토콜 표준이 변경되거나, 시스템간의 메시지 연동 규격이 변경되더라도 확장성생성언어 메타정보에 이에 대한 사항만 보완한다면 바로 적용 가능하여 프로그램 재사용성이 높다고 할 수 있다. 그리고 본 발명에서는 ASN.1 디코더(208)와 바이너리 디코더(209)를 포함하여 S1, RRC, X2의 ASN.1 인코딩 데이터와, ESM, EMM, GTP등의 바이너리 인코딩된 데이터의 경우에도 수월하게 분석 가능하다. 그리고 표준 변경으로 인하여 ASN.1 인코딩, 디코딩 룰이 변경되는 경우에도 동적으로 라이브러리 반영이 가능하도록 ASN.1 디코더 관리자(207)를 둠으로써 보다 능동적으로 운용될 수 있다.
또한, LTE 프로토콜 분석기(250)는 수집 및 분석된 데이터를 파일로 저장하고, 해당 데이터를 추후 재로딩할 수 있도록 하여, 재분석 및 재활용이 가능하도록 하였다. 이를 통해 LTE 시스템(300) 개발 및 운용 시 기존 정상적으로 운용 시와 문제 발생 시 비교, 검증을 쉽게 하여 문제점을 효과적으로 찾을 수 있으며, 문제 해결 또한 보다 용이하게 접근할 수 있도록 활용 가능하다.
따라서 LTE 시스템(300)을 개발하려는 사람들에게 개발 시간과 디버깅 시간을 단축시키는 효과와, LTE 시스템(300)을 운용하는 사람들에게 있어 문제의 원인과 해결책을 쉽게 파악할 수 있는 효과가 있다.
도 1은 본 발명에 따른 에이전트 기반 LTE 시스템용 프로토콜 분석기를 나타낸 블록도이다.
도 2는 도 1에 도시된 LTE 시스템(300)에서 사용되는 각 프로토콜 규격을 나타낸 도면이다.
도 3은 도 1에 도시된 프로토콜 분석기 에이전트(100)의 일 실시 예를 나타낸 블록도이다.
도 4는 도 1에 도시된 프로토콜 분석기 서버(200)의 일 실시 예를 나타낸 블록도이다.
도 5는 도 1에 도시된 프로토콜 분석기 에이전트(100)에서 사용하는 환경설정파일을 생성하는 과정을 단계별로 나타낸 순서도이다.
도 6은 도 1에 도시된 프로토콜 분석기 서버(200)를 위한 구성파일을 생성하는 과정을 단계별로 나타낸 순서도이다.
도 7은 도 1에 도시된 프로토콜 분석기 서버(200)에서 사용되는 메시지 정의 확장성생성언어 메타파일을 생성하는 과정을 단계별로 나타낸 순서도이다.
도 8은 도 1에 도시된 프로토콜 분석기 에이전트(100)를 구동하는 과정을 단계별로 나타낸 순서도이다.
도 9는 도 1에 도시된 프로토콜 분석기 에이전트(100)가 실제 LTE 프로토콜 메시지를 캡처링한 후 프로토콜 분석기 서버(200)로 전송하는 일련의 과정을 단계별로 나타낸 순서도이다.
도 10은 도 1에 도시된 프로토콜 분석기 서버(200)를 초기화하고 구동하는 과정을 단계별로 나타낸 순서도이다.
도 11은 도 1에 도시된 프로토콜 분석기 서버(200)에서 GUI(그래픽사용자인터페이스, Graphical User Interface)를 통해 트레이스 과정을 단계별로 나타낸 순서도이다.
도 12는 도 1에 도시된 프로토콜 분석기 서버(200)에서 운용자가 도 11을 통해 시작된 트레이스를 종료하는 과정을 단계별로 나타낸 순서도이다.
도 13은 도 1에 도시된 프로토콜 분석기 서버(200)가 특정 메시지에 대한 상세정보를 보고자 하는 경우 수행되는 메시지 상세정보 출력을 단계별로 나타낸 순서도이다.
도 14는 트레이스로 메시지 풀에 수집된 메시지를 메시지 분석파일로 저장하는 과정을 단계별로 나타낸 순서도이다.
도 15는 저장된 메시지 분석파일을 로딩하여 재분석 후 GUI 상에 도시하는 과정을 단계별로 나타낸 순서도이다.
도 16은 프로토콜 스펙의 변경으로 인하여 ASN.1 디코딩 룰이 변경된 경우 수행되는 ASN.1 디코더 선택 과정을 단계별로 나타낸 순서도이다.
도 17은 도 1에 도시된 LTE 시스템(300)의 프로토콜이나 내부 연동 메시지 규격이 변경되어 메시지 정의 확장성생성언어 메타파일에 저장된 새로운 메시지 정의 확장성생성언어 메타정보 로딩 및 프로토콜 분석기 서버(200)에 적용하는 과정을 단계별로 나타낸 순서도이다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 실시 예를 상세히 설명하면 다음과 같다.
도 1은 본 발명에 따른 에이전트 기반 LTE 시스템용 프로토콜 분석기를 나타낸 블록도로, LTE 시스템(300) 내의 UE 시스템(310), eNodeB 시스템(320), MME 시스템(330), sGW 시스템(340)에 각각 탑재된 각각의 프로토콜 분석기 에이전트(100); 및 상기 각각의 프로토콜 분석기 에이전트(100)에 접속된 프로토콜 분석기 서버(200);를 구비하는 LTE 프로토콜 분석기(250)로 구성된다.
이와 같이 구성된 본 발명을 도 2 내지 도 17을 참조하여 보면 다음과 같다.
먼저 UE 시스템(310)은 단말 사용자용 시스템이며, eNodeB 시스템(320)은 기지국 시스템으로 UE 시스템(310)과 무선 통신을 통해 데이터를 주고받는다.
MME 시스템(330)은 UE 시스템(310)의 세션 관리와 단말의 위치 관리를 포함한 이동성 관리를 담당하는 시스템이며, UE 시스템(310)과 MME 시스템(330)은 eNodeB 시스템(320)을 통해 데이터를 주고받게 된다.
sGW 시스템(340)은 UE 시스템(310)과 외부 네트워크상의 트래픽 흐름을 지원하기 위한 시스템으로, eNodeB 시스템(320)과 sGW 시스템(340)이 연계하여 UE 시스템(310)의 트래픽을 처리한다.
프로토콜 분석기 중 프로토콜 분석기 에이전트(100)는 운용자의 판단에 따라 UE 시스템(310), eNodeB 시스템(320), MME 시스템(330), sGW 시스템(340) 모두에 설치 운용될 수 있다.
도 2는 도 1에 도시된 LTE 시스템(300)에서 사용되는 각 프로토콜 규격을 나타낸 도면이다.
먼저 LTE 프로토콜은 크게 제어 메시지 플레인(plane)에서 UE 시스템(310), eNodeB 시스템(320), MME 시스템(330) 간의 연동(400); MME 시스템(330), sGW 시스템(340)간의 연동(500); 사용자 데이터 플레인에서 UE 시스템(310), eNodeB 시스템(320), sGW 시스템(340) 간의 연동(600)으로 구성된다.
제어 메시지 플레인에서 UE 시스템(310), eNodeB 시스템(320), MME 시스템(330)간의 연동(400)은 UE 시스템(310)과 eNodeB 시스템(320) 간의 무선연결구조(401, 402)와 eNodeB 시스템(320), MME 시스템(330) 간의 SCTP/IP 기반의 S1 연결구조(402, 403)로 대표된다.
UE 시스템(310)의 세션 관리와 이동성 관리를 위해 MME 시스템(330)은 ESM, EMM 프로토콜을 사용한다.
제어 메시지 중 MME 시스템(330)과 sGW 시스템(340) 간의 연동(500)은 UDP/IP기반의 GTPv2-C 프로토콜(501, 502)을 사용한다.
사용자 데이터 플레인에서는 eNodeB 시스템(320)과 sGW(340)은 UDP/IP 기반의 GTPv2-U 프로토콜을 사용하여 연동(602, 603)한다.
도 3은 도 1에 도시된 프로토콜 분석기 에이전트(100)의 일 실시 예를 나타낸 블록도로, 환경설정 관리모듈(102), 패킷 수집기(103), 메시지 필터링 및 분석기(104), 프로토콜 분석기 메시지 생성기(105), 전송관리자(106)로 구성된다.
먼저 환경설정 관리모듈(102)은 프로토콜 분석기 에이전트(100)를 운용하기 위한 환경설정파일(101)을 액세스(access)한다. 예로, 환경설정 관리모듈(102)은 환경설정파일(101)을 로딩하여 프로토콜 분석기 서버(200)의 정보와 패킷 캡처 룰을 추출한다.
패킷 수집기(103)는 환경설정 관리모듈(102)의 제어에 따라 패킷 캡처 라이브러리(Pcap library)(800) 및 NIC 드라이버(Driver)(700)와 연계하여 LTE 패킷을 캡처한다.
메시지 필터링 및 분석기(104)는 환경설정 관리모듈(102)의 제어에 따라 패킷 수집기(103)에서 수집된 LTE 패킷을 분석하고 프로토콜 분석기 서버(200)로 전송해야하는 데이터인지 여부를 위해 필터링을 수행한다.
프로토콜 분석기 메시지 생성기(105)는 환경설정 관리모듈(102)의 제어에 따라 수집된 LTE 패킷이 프로토콜 분석기 서버(200)로 전송해야 하는 패킷인 경우 해당 프로토콜 분석기 메시지를 생성하여 전송관리자(106)를 통해 프로토콜 분석기 서버(200)로 전송한다. 이때 전송 관리자(106)는 환경설정 관리모듈(102)의 제어에 따라 환경설정파일(101)에 기록된 프로토콜 분석기 서버(200)의 IP 주소와 포트(Port) 번호를 기반으로 하여 소켓을 생성한 후 해당 메시지를 전송한다.
도 4는 도 1에 도시된 프로토콜 분석기 서버(200)의 일 실시 예를 나타낸 블록도이다.
먼저 프로토콜 분석기 서버(200)는 프로토콜 분석기 에이전트(100)가 전송한 LTE 시스템(300)의 프로토콜 메시지를 수신하여 분석하여 해당 화면에 GUI로 도시해준다. 이때, 프로토콜 분석기 서버(200)는 프로토콜 분석기 자체 정보, LTE 시스템(300) 내의 각 시스템(310, 320, 330, 340) 구조, 각 기능노드들 간의 계층 구조를 저장하고 있는 구성정보파일(201)과 LTE 프로토콜 메시지에 대한 정의를 하고 있는 메시지 정의 확장성생성언어 메타정보파일(202)을 유지한다.
프로토콜 분석기 서버(200) 내의 확장성생성언어 관리자(203)는 구성정보파일(201)과 메시지 정의 확장성생성언어 메타정보파일(202)을 로딩하고 분석하여 프로토콜 분석기 서버(200)의 초기화와 LTE 프로토콜 메시지 분석 시 사용한다.
통신 관리자(204)는 프로토콜 분석기 에이전트(100)에서 전송한 프로토콜 분석기 메시지를 수신하여 메시지 전처리기(205)로 제공한다.
메시지 전처리기(205)는 프로토콜 분석기 메시지의 공통 헤더를 분석하고 어떤 종류의 메시지인지 어떤 기능노드들 간의 메시지인지 파악한다. 분석된 메시지는 풀관리기(206)를 통해 메시지 풀에 등록된다. 등록된 메시지는 메시지 인코딩 형태에 따라 ASN.1 디코더(208), 바이너리 디코더(209)를 통해 인코딩 이전의 데이터로 복원되며, 어떤 인코딩 룰도 거치지 않은 로(raw) 데이터의 경우는 각 디코더(208, 209)를 통해 복원된 데이터와 함께 메시지 분석기(211)로 제공된다.
메시지 분석기(211)는 확장성생성언어 파서(210)와 함께 연계하여 메시지 정의 확장성생성언어 메타정보 중 메시지 분석기(211)로 들어온 데이터에 맞는 포맷의 확장성생성언어 규칙을 추출하고 해당 규칙에 맞게 분석한다.
이를 통해 나온 결과는 메시지 필터(212)를 거쳐 GUI(213)를 통해 도시된다. 메시지 필터(212)는 특정 기능노드들 간의 메시지를 필터링하거나, 특정 메시지들만 필터링할 수 있는 기능을 지원하는 모듈이다.
운용자는 GUI(213)를 통해 프로토콜 분석기 서버(200)을 운용하게 되는데, 운용자가 선택할 수 있는 기능은 트레이스(Trace)의 시작과 종료, 수집된 데이터의 파일저장기능과 재로딩 기능, 그리고 ASN.1 인코딩룰이 변경된 경우 디코더를 새로 선택할 수 있는 기능, 연동 메시지의 규격이 변경된 경우 이를 반영한 메시지 정의 확장성생성언어 메타정보파일을 새로 로딩하여 적용하는 기능들이다. 이를 지원하기 위하여 ASN.1 디코더 관리자(207)는 ASN.1 인코딩룰이 변경된 경우 디코더를 새로 로딩하여 관리할 수 있도록 지원하며, 확장성생성언어 관리자(203)는 새로운 메시지 정의 확장성생성언어 메타정보파일(202)을 로딩할 수 있는 기능을 담당한다.
도 5는 도 1에 도시된 프로토콜 분석기 에이전트(100)에서 사용하는 환경 설정파일을 생성하는 과정을 단계별로 나타낸 순서도이다. 이때 프로토콜 분석기 에이전트(100)에서 필요한 정보는 프로토콜 분석기 에이전트(100)에 대한 정보, 프로토콜 분석기 서버(200)에 대한 정보, 및 패킷을 캡처하기 위한 캡처 필터링 정보이다.
먼저 프로토콜 분석기 에이전트(100)의 에이전트 ID, 설치 시스템의 IP주소, 포트 번호를 저장한다(S10).
프로토콜 분석기 서버(200)의 IP주소와 포트 번호를 저장한다(S11). 이때 프로토콜 분석기 서버(200)의 IP주소와 포트 번호는 캡처된 LTE 프로토콜 메시지를 전송하는데 사용된다.
패킷을 캡처링해야 하는 이더넷 카드 번호, 대상 IP주소, 포트 번호, 노드 ID, 노드이름을 설정한다(S12).
1개 이상의 캡처 룰을 적용할 경우 추가 룰이 존재하는지 여부를 판단하여 추가 룰이 존재하면 단계(S12)를 수행한다(S13).
반면, 단계(S13)의 판단 결과, 추가 룰이 존재하지 않으면 문서를 저장하는 과정을 통해 프로토콜 분석기 에이전트용 환경파일을 생성한다(S14, S15).
도 6은 도 1에 도시된 프로토콜 분석기 서버(200)를 위한 구성파일을 생성하는 과정을 단계별로 나타낸 순서도이다. 이때 프로토콜 분석기 서버(200)을 위해 필요한 설정 정보는 프로토콜 분석기 서버(200)의 설정 정보와 메시지 정의 확장성생성언어 메타정보파일의 경로, 최대 메시지 수를 고려한 메시지 풀의 크기, 및 LTE 시스템(300)의 노드계층정보 등이다.
먼저 프로토콜 분석기 서버(200)의 IP주소와 수신 포트 번호를 설정한다(S20). 이때 프로토콜 분석기 서버(200)의 IP주소와 수신 포트 번호는 프로토콜 분석기 에이전트(100)에서 메시지를 전송할 때 수신하는 연결 포트를 구성하기 위한 정보이다.
LTE 프로토콜 메시지를 분석할 때 사용되는 메시지 정의 확장성생성언어 메타정보파일의 경로를 저장한다(S21).
메시지 수신 후 최대 보유할 수 있는 메시지의 개수와 이를 고려한 메시지 풀의 사이즈를 설정한다(S22).
메시지 풀의 크기를 벗어나는 경우 자동적으로 파일로 저장하도록 파일의 위치를 설정한다(S23).
LTE 시스템(300)을 구성하는 각 시스템(310, 320, 330, 340)들과 각 시스템(310, 320, 330, 340) 내에서 LTE 프로토콜의 각 기능을 수행하는 기능노드들의 계층 구조를 정의한다(S24). 이를 통해 수신된 메시지의 시작 노드(해당 서브시스템, 기능노드)와 종단노드(해당 서브시스템, 기능노드)를 분석하여 운용자에게 제공할 수 있다.
프로토콜 분석기 서버(200)용 구성파일로 저장하는 과정을 통해 프로토콜 분석기 서버(200)를 위한 구성파일을 생성한다(S25, S26).
도 7은 도 1에 도시된 프로토콜 분석기 서버(200)에서 사용되는 메시지 정의 확장성생성언어 메타파일을 생성하는 과정을 단계별로 나타낸 순서도이다.
운용자는 먼저 LTE 프로토콜 스펙을 분석하고 이중 해당 시스템에서 사용되는 메시지를 정의한다(S30).
그리고 해당 시스템에서 시스템 간 또는 기능노드들 간 사용되는 연동 프로토콜 메시지를 분석한다(S31).
기본 LTE 프로토콜 메시지와 기능노드들 간의 자체 정의 연동 프로토콜 메시지 정의 및 분석이 완료되었다면, 프로토콜 분석기용 확장성생성언어 메타정보 정의 룰을 분석하고 이를 기반으로 각 프로토콜 메시지와 노드별 연동 프로토콜 메시지를 확장성생성언어 메타정보로 저장한다(S32, S33).
메시지 정의 확장성생성언어 메타정보파일을 생성한다(S34, S35).
도 8은 도 1에 도시된 프로토콜 분석기 에이전트(100)를 구동하는 과정을 단계별로 나타낸 순서도이다.
먼저 도 5를 통해 생성된 환경파일(S101)을 로딩한다(S100).
프로토콜 분석기 에이전트(100)의 포트 번호와 프로토콜 분석기 서버(200)의 IP주소, 포트 번호를 추출하여 전송 관리자(106)를 초기화한다(S102).
환경파일에서 추출한 캡처 정보를 통해 패킷 캡처 라이브러리(Pcap library)(800)를 초기화하고 구동하는 절차를 수행한다(S103).
운용자가 프로그램을 종료하지 않는 한 LTE 프로토콜 메시지를 캡처할 수 있는 대기 상태를 유지한다(S104, S105).
도 9는 도 1에 도시된 프로토콜 분석기 에이전트(100)가 실제 LTE 프로토콜 메시지를 캡처링한 후 프로토콜 분석기 서버(200)로 전송하는 일련의 과정을 단계별로 나타낸 순서도이다.
프로토콜 분석기 에이전트(100)는 도 8을 통해 메시지를 수집할 수 있는 대기 상태에 있게 되며, 실제 LTE 시스템(300)이 운용되면 LTE 패킷을 캡처하는 단계(S110)를 거쳐 소스노드정보와 대상 노드정보를 추출하는 단계(S111)를 수행한다.
소스노드, 대상 노드정보와 프로토콜 분석기 에이전트(100)용 환경파일에서 정의한 캡처링 룰을 비교하여 LTE 시스템의 각 기능노드들 중 매치되는 기능노드를 검색하는 과정을 통해 캡처 대상 메시지인지 판별하는 단계(S112)를 수행하며, 만약 캡처 대상 메시지가 아닌 경우에는 패킷 캡처 대기 상태로 천이한다.
만약 캡처 대상 메시지라면 캡처링 된 데이터에 LTE 시스템(300)의 시작기능노드정보와 대상기능노드정보를 포함하여 프로토콜 분석기 서버(200)로 전송하기 위한 프로토콜 분석기 전송 메시지를 구성하는 단계(S113)을 수행하고 프로토콜 분석기 서버(200)로 실제 전송하는 단계(S114)를 수행한다. 전송이 완료되면 다시 메시지 캡처링 대기 상태로 천이한다.
도 10은 도 1에 도시된 프로토콜 분석기 서버(200)를 초기화하고 구동하는 과정을 단계별로 나타낸 순서도이다.
도 6을 통해 생성된 구성파일(S201)을 로딩하는 단계(S200)를 수행하고, 추출된 프로토콜 분석기 서버(200)의 수신 포트 번호를 기반으로 통신 관리자를 초기화하는 단계(S202)를 수행한다.
도 7을 통해 생성된 메시지 정의 확장성생성언어 메타정보파일(S204-1)을 로딩하고 파싱하는 단계(S203)를 수행한다. 파싱된 확장성생성언어 메타정보는 이후 LTE 패킷을 분석할 때 사용된다.
ASN.1 디코더 라이브러리를 로딩하는 단계(S204)를 수행하며, GUI를 초기화(S205)하여 화면상에 도시하는 단계(S205)가 완료되면 운용자의 요청에 따라 LTE 패킷을 캡처링 할 수 있는 트레이스 대기 상태(S206)로 천이된다.
도 11은 도 1에 도시된 프로토콜 분석기 서버(200)에서 GUI를 통해 트레이스 과정을 단계별로 나타낸 순서도이다.
운용자는 프로토콜 분석기 서버(200)상의 GUI 화면을 통해 트레이스 시작 요청을 하게 되며(S211), 이때 트레이스의 모드를 선택하는 과정(S212)를 거치게 된다.
만약 캡처링과 동시에 GUI 화면상에 도시할 수 있는 실시간 출력 모드를 선택하게 되면 프로토콜 분석기 에이전트(100)에서 전송한 프로토콜 분석기 메시지를 수신하는 과정(S213)과 수신된 메시지에서 공통 헤더를 분석하는 과정(S214)을 수행한다. 이때 공통 헤더 분석(S214)을 통해 LTE의 어떤 서브시스템 내의 기능노드에서 메시지가 시작이 되어, 어떤 서브시스템의 기능노드로 전송이 되는지 파악이 가능하다.
공통헤더 분석(S214)이 완료되면, 메시지 풀에 저장하는 과정(S215)을 수행한 후 분석된 공통헤더 정보를 GUI 상에 도시하는 과정(S216)을 수행한다. 과정이 완료되면 다음 메시지를 수신하기 위한 대기 상태로 천이된다. 트레이스 모드 선택 과정(S212)에서 캡처링 모드를 선택하게 되면 메시지를 수신만 하고 GUI 상에는 도시하지 않는다.
메시지가 수신되면(S217), 즉시 메시지 풀에 저장되고(S218) 다음 메시지를 수신하기 위한 대기 상태로 천이 된다.
도 12는 도 1에 도시된 프로토콜 분석기 서버(200)에서 운용자가 도 11을 통해 시작된 트레이스를 종료하는 과정을 단계별로 나타낸 순서도이다.
운용자는 GUI를 통해 트레이스 종료를 하기 위한 메뉴를 선택(S221) 한다.
기 시작된 트레이스의 모드가 실시간 출력 모드인지, 캡처링 모드인지 판별하는 과정(S222)을 수행한다. 이때 실시간 출력 모드라면 더 이상의 작업을 수행하지 않고 종료한다.
캡처링 모드일 경우에는 캡처링 된 메시지들을 분석하여 GUI 상에 도시하는 과정을 수행하게 되는데 먼저 메시지 풀에서 메시지를 하나 로딩한다(S223).
만약 풀에서 메시지를 로딩 요청하였으나 메시지가 더 이상 존재하지 않는다면(S224) GUI 상에 도시를 완료하고 트레이스를 종료한다.
메시지가 존재한다면(S224), 메시지를 분석하여 공통 헤더를 추출(S225)하고 GUI 상에 도시하는 과정(S226)을 수행한다. GUI 상에 도시가 되면 메시지 풀에서 메시지를 로딩하기 위한 단계(S223)로 천이된다.
도 13은 도 1에 도시된 프로토콜 분석기 서버(200)가 특정 메시지에 대한 상세정보를 보고자 하는 경우 수행되는 메시지 상세정보 출력을 단계별로 나타낸 순서도이다.
운용자가 특정 메시지를 선택하면(S231), 해당 메시지에서 LTE 시스템(300)의 서브시스템 정보와 기능노드정보를 추출하고, 어떤 메시지인지 메시지 ID를 추출하는 과정(S232)을 수행한다. 이때 추출된 메시지가 ASN.1으로 인코딩 된 메시지인지(S233), 바이너리 인코딩된 메시지인지(S235) 판별하는 과정을 수행한다.
ASN.1으로 인코딩 된 경우는 ASN.1 디코딩(S234)을 통해 인코딩 이전의 데이터 구조로 복원되며, 바이너리 인코딩 된 경우에는 바이너리 디코딩(S236)을 통해 인코딩 이전의 데이터로 복원된다.
ASN.1 디코더(208)를 통해 생성된 데이터와 바이너리 디코더(209)를 통해 생성된 데이터, 그리고 어떤 인코딩 룰도 거치지 않은 데이터는 메시지 정의 확장성생성언어 메타정보(S237)를 통해 GUI 상에 도시할 수 있는 포맷으로 변경하는 과정(S238)을 수행하며, 최종 데이터가 GUI 상에 도시된다(S239).
도 14는 트레이스로 메시지 풀에 수집된 메시지를 메시지 분석파일로 저장하는 과정을 단계별로 나타낸 순서도이다.
운용자는 수집된 데이터를 파일로 저장하기 위해 GUI 상에서 메뉴를 선택하는 과정(S241)을 수행하며, 이중 파일이름과 경로를 추출하는 과정(S242)이 수행된다.
이후 해당 이름으로 빈파일이 생성되며(S243), 메시지 풀에 있는 데이터 모두를 파일에 저장(S244)한다.
모든 데이터가 저장이 완료되면 파일을 종료(S245)한다.
도 15는 저장된 메시지 분석파일을 로딩하여 재분석 후 GUI 상에 도시하는 과정을 단계별로 나타낸 순서도이다.
사용자가 분석파일 로딩을 선택(S251)하면, 파일의 경로와 이름을 추출한다(S252).
해당 파일을 열고 메시지를 로딩한 후 모든 메시지를 메시지 풀에 저장한다(S253).
이후 메시지 풀에서 메시지를 하나 추출(S254)하고, 메시지 추출 요청이 실패(S255)한다면 파일을 닫고 로딩 과정을 종료한다.
메시지가 정상적으로 추출(S255)되었다면 공통 헤더를 분석(S256)하고 GUI 상에 도시하는 과정을 수행한다(S257).
도 16은 프로토콜 스펙의 변경으로 인하여 ASN.1 디코딩 룰이 변경된 경우 수행되는 ASN.1 디코더(208) 선택 과정을 단계별로 나타낸 순서도이다.
사용자가 ASN.1 디코더(208) 선택 메뉴를 선택(S261)하면, GUI를 통해 ASN.1 디코더 라이브러리를 선택하는 과정(S262)을 수행한다.
선택된 ASN.1 디코더(208)의 파일이름과 경로를 추출하는 단계(S263)를 거쳐 실제 라이브러리를 로딩하여 ASN.1 디코더 관리자(207)에 추가 및 변경하는 과정(S264)이 수행된다.
도 17은 도 1에 도시된 LTE 시스템(300)의 프로토콜이나 내부 연동 메시지 규격이 변경되어 메시지 정의 확장성생성언어 메타파일에 저장된 새로운 메시지 정의 확장성생성언어 메타정보 로딩 및 프로토콜 분석기 서버(200)에 적용하는 과정을 단계별로 나타낸 순서도이다.
운용자는 변경된 메시지 정의 확장성생성언어 메타정보파일을 로딩하기 위하여 GUI 상에서 메뉴를 선택한다(S271).
확장성생성언어 관리자는 기존 로딩된 확장성생성언어 메타정보를 파일로 저장하고 버전을 관리한다(S272).
이후 새로운 확장성생성언어 메타정보파일의 이름 및 경로를 추출(S273)하고, 실제 확장성생성언어 메타정보파일을 로딩(S274)한다.
로딩된 데이터를 파싱하여 분석(S275)하고 확장성생성언어 관리자에게 등록(S276)하여 이후 수집된 LTE 패킷을 분석하는데 활용한다.
이와 같은 본 발명은 LTE 시스템 개발 및 운용 시 각 시스템간의 연동 메시지를 효과적으로 수집 및 분석할 수 있다.
또한, 본 발명을 통한 프로토콜 분석기를 활용하여 기본적으로 LTE 시스템(300)을 구성하는 각 시스템 간 혹은 기능 노드들 간의 메시지 누락이나 메시지 오류에 대해 쉽게 파악이 가능하여 LTE 시스템(300)을 개발하거나 운용하는 관리자로 하여금 문제점을 쉽게 파악할 수 있도록 지원한다. 따라서 연동 시 문제의 원인이나 대책을 쉽게 수립할 수 있도록 지원한다.
또한, 본 발명을 통한 LTE 프로토콜 분석기(250)는 확장성생성언어 메타정보로 연동 메시지를 관리하기 때문에 LTE 프로토콜 표준이 변경되거나, 시스템간의 메시지 연동 규격이 변경되더라도 확장성생성언어 메타정보에 이에 대한 사항만 보완한다면 바로 적용 가능하여 프로그램 재사용성이 높다고 할 수 있다. 그리고 본 발명에서는 ASN.1 디코더(208)와 바이너리 디코더(209)를 포함하여 S1, RRC, X2의 ASN.1 인코딩 데이터와, ESM, EMM, GTP등의 바이너리 인코딩된 데이터의 경우에도 수월하게 분석 가능하다. 그리고 표준 변경으로 인하여 ASN.1 인코딩, 디코딩 룰이 변경되는 경우에도 동적으로 라이브러리 반영이 가능하도록 ASN.1 디코더 관리자(207)를 둠으로써 보다 능동적으로 운용될 수 있다.
또한, LTE 프로토콜 분석기(250)는 수집 및 분석된 데이터를 파일로 저장하고, 해당 데이터를 추후 재로딩할 수 있도록 하여, 재분석 및 재활용이 가능하도록 하였다. 이를 통해 LTE 시스템(300) 개발 및 운용 시 기존 정상적으로 운용 시와 문제 발생 시 비교, 검증을 쉽게 하여 문제점을 효과적으로 찾을 수 있으며, 문제 해결 또한 보다 용이하게 접근할 수 있도록 활용 가능하다.
따라서 LTE 시스템(300)을 개발하려는 사람들에게 개발 시간과 디버깅 시간을 단축시키는 효과와, LTE 시스템(300)을 운용하는 사람들에게 있어 문제의 원인과 해결책을 쉽게 파악할 수 있는 효과가 있다.
이상에서 본 발명에 대한 기술사상을 첨부도면과 함께 서술하였지만 이는 본 발명의 바람직한 실시 예를 예시적으로 설명한 것이지 본 발명을 한정하는 것은 아니다. 또한, 이 기술분야의 통상의 지식을 가진 자라면 누구나 본 발명의 기술사상의 범주를 이탈하지 않는 범위 내에서 다양한 변형 및 모방이 가능함은 명백한 사실이다.
100: 프로토콜 분석기 에이전트
200: 프로토콜 분석기 서버
250: LTE 프로토콜 분석기
300: LTE 시스템
310: UE 시스템
320: eNodeB 시스템
330: MME 시스템
340: sGW 시스템

Claims (12)

  1. LTE 시스템(300) 내의 단말 사용자용 UE 시스템(310), 상기 UE 시스템(310)과 무선 통신을 통해 데이터를 주고받는 기지국 기능을 수행하는 eNodeB 시스템(320), 상기 UE 시스템(310)의 세션을 관리하고 단말의 위치 및 이동성을 관리하며, 상기 eNodeB 시스템(320)을 통해 상기 UE 시스템(310)과 데이터를 주고받는 MME 시스템(330), 상기 UE 시스템(310)과 외부 네트워크상의 트래픽 흐름을 지원하고 상기 eNodeB 시스템(320)과 연계하여 상기 UE 시스템(310)의 트래픽을 처리하는 sGW 시스템(340)에 각각 탑재된 각각의 프로토콜 분석기 에이전트(100); 및
    상기 각각의 프로토콜 분석기 에이전트(100)에 접속된 프로토콜 분석기 서버(200);
    를 구비하는 LTE 프로토콜 분석기(250)로서,
    상기 프로토콜 분석기 에이전트(100)는 패킷 캡처 라이브러리(Pcap library)(800)를 통해 LTE 메시지를 캡처링하여 대상 메시지를 추출해서 상기 프로토콜 분석기 서버(200)로 전송하며,
    상기 프로토콜 분석기 서버(200)는 상기 프로토콜 분석기 에이전트(100)로부터 전송된 메시지를 분석하여 기설정된 화면상에 표시하되, 상기 전송된 메시지 분석 시 미리 확장성생성언어 메타정보로 정의된 LTE 프로토콜 메시지를 활용하는 것을 특징으로 하는 에이전트 기반 LTE 시스템용 프로토콜 분석기.
  2. 청구항 1에 있어서,
    상기 프로토콜 분석기 서버(200)는 상기 LTE 프로토콜 중 S1, X2, RRC를 포함하는 ASN.1 인코딩 룰을 사용하는 메시지와 ESM, EMM, GTP 프로토콜들의 바이너리 인코딩 룰을 사용하는 메시지를 각각 분석하기 위한 ASN.1 디코더(208)와 바이너리 디코더(209)를 더 구비하는 것을 특징으로 하는 에이전트 기반 LTE 시스템용 프로토콜 분석기.
  3. 청구항 2에 있어서,
    상기 ASN.1 디코더(208)와 바이너리 디코더(209)는 ASN.1 디코더 관리자(207)에 의해 동적으로 선택되는 것을 특징으로 하는 에이전트 기반 LTE 시스템용 프로토콜 분석기.
  4. 청구항 1에 있어서,
    상기 LTE 프로토콜은 제어 메시지 플레인에서 UE 시스템(310), eNodeB 시스템(320), MME 시스템(330) 간의 연동(400); MME 시스템(330), sGW 시스템(340)간의 연동(500); 사용자 데이터 플레인에서 UE 시스템(310), eNodeB 시스템(320), sGW 시스템(340) 간의 연동(600)으로 구성되며,
    제어 메시지 플레인에서 UE 시스템(310), eNodeB 시스템(320), MME 시스템(330)간의 연동(400)은 UE 시스템(310)과 eNodeB 시스템(320) 간의 무선연결구조(401, 402)와 eNodeB 시스템(320), MME 시스템(330) 간의 SCTP/IP 기반의 S1 연결구조(402, 403)로 대표되고,
    UE 시스템(310)의 세션 관리와 이동성 관리를 위해 MME 시스템(330)은 ESM, EMM 프로토콜을 사용하며,
    제어 메시지 중 MME 시스템(330)과 sGW 시스템(340) 간의 연동(500)은 UDP/IP기반의 GTPv2-C 프로토콜(501, 502)을 사용하고,
    사용자 데이터 플레인에서 eNodeB 시스템(320)과 sGW(340)는 UDP/IP 기반의 GTPv2-U 프로토콜을 사용하여 연동(602, 603)하는 것을 특징으로 하는 에이전트 기반 LTE 시스템용 프로토콜 분석기.
  5. 청구항 1에 있어서,
    상기 프로토콜 분석기 에이전트(100)는,
    상기 프로토콜 분석기 에이전트(100)를 운용하기 위한 환경설정파일(101)을 액세스하는 환경설정 관리모듈(102);
    상기 환경설정 관리모듈(102)의 제어에 따라 패킷 캡처 라이브러리(Pcap library)(800) 및 NIC 드라이버(Driver)(700)와 연계하여 LTE 패킷을 캡처하는 패킷 수집기(103);
    상기 환경설정 관리모듈(102)의 제어에 따라 상기 패킷 수집기(103)에서 수집된 LTE 패킷을 분석하고 상기 프로토콜 분석기 서버(200)로 전송해야하는 데이터인지 여부를 위해 필터링을 수행하는 메시지 필터링 및 분석기(104); 및
    상기 환경설정 관리모듈(102)의 제어에 따라 수집된 LTE 패킷이 상기 프로토콜 분석기 서버(200)로 전송해야 하는 패킷인 경우 해당 프로토콜 분석기 메시지를 생성하여 전송관리자(106)를 통해 상기 프로토콜 분석기 서버(200)로 전송하는 프로토콜 분석기 메시지 생성기(105);
    를 포함하는 것을 특징으로 하는 에이전트 기반 LTE 시스템용 프로토콜 분석기.
  6. 청구항 5에 있어서,
    상기 전송 관리자(106)는 상기 환경설정 관리모듈(102)의 제어에 따라 상기 환경설정파일(101)에 기록된 상기 프로토콜 분석기 서버(200)의 IP 주소와 포트 번호를 기반으로 하여 소켓을 생성한 후 해당 메시지를 전송하는 것을 특징으로 하는 에이전트 기반 LTE 시스템용 프로토콜 분석기.
  7. 청구항 1에 있어서,
    상기 프로토콜 분석기 서버(200)는,
    프로토콜 분석기 자체 정보, 상기 LTE 시스템(300) 내의 각 시스템(310, 320, 330, 340) 구조, 각 기능노드들 간의 계층 구조를 저장하고 있는 구성정보파일(201)과 LTE 프로토콜 메시지에 대한 정의를 하고 있는 메시지 정의 확장성생성언어 메타정보파일(202)을 유지하며,
    상기 구성정보파일(201)과 상기 메시지 정의 확장성생성언어 메타정보파일(202)을 로딩하고 분석하여 상기 프로토콜 분석기 서버(200)의 초기화와 LTE 프로토콜 메시지 분석 시 사용하는 확장성생성언어 관리자(203);
    상기 프로토콜 분석기 에이전트(100)에서 전송한 프로토콜 분석기 메시지를 수신하여 메시지 전처리기(205)로 제공하는 통신 관리자(204);
    프로토콜 분석기 메시지의 공통 헤더를 분석하고 어떤 종류의 메시지인지 어떤 기능노드들 간의 메시지인지 파악하여 분석된 메시지를 풀관리기(206)를 통해 메시지 풀에 등록하는 메시지 전처리기(205);
    상기 등록된 메시지는 메시지 인코딩 형태에 따라 ASN.1 디코더(208), 바이너리 디코더(209)를 통해 인코딩 이전의 데이터로 복원되며, 어떤 인코딩 룰도 거치지 않은 로(raw) 데이터의 경우는 상기 각 디코더(208, 209)를 통해 복원된 데이터와 함께 메시지 분석기(211)로 제공되며,
    확장성생성언어 파서(210)와 함께 연계하여 메시지 정의 확장성생성언어 메타정보 중 상기 메시지 분석기(211)로 들어온 데이터에 맞는 포맷의 확장성생성언어 규칙을 추출하고 해당 규칙에 맞게 분석하는 메시지 분석기(211); 및
    상기 메시지 분석기(211)의 분석결과가 메시지 필터(212)를 거친 것을 기설정된 화면으로 출력하는 GUI(213);
    를 포함하는 것을 특징으로 하는 에이전트 기반 LTE 시스템용 프로토콜 분석기.
  8. LTE 시스템(300) 내의 단말 사용자용 UE 시스템(310), 기지국 기능을 수행하는 eNodeB 시스템(320), 상기 UE 시스템(310)의 세션을 관리하고 단말의 위치 및 이동성을 관리하는 MME 시스템(330), 상기 eNodeB 시스템(320)과 연계하여 상기 UE 시스템(310)의 트래픽을 처리하는 sGW 시스템(340)에 각각 탑재된 각각의 프로토콜 분석기 에이전트(100); 및
    상기 프로토콜 분석기 에이전트(100)로부터 전송된 메시지를 분석하되, 상기 전송된 메시지 분석 시 미리 확장성생성언어 메타정보로 정의된 LTE 프로토콜 메시지를 활용하는 프로토콜 분석기 서버(200);
    를 구비하는 LTE 프로토콜 분석기(250)에서 프로토콜을 분석하는 방법으로서,
    상기 프로토콜 분석기 서버(200)는 수신 메시지의 타입에 따라 ASN.1 디코더(208)와 바이너리 디코더(209) 중 해당 디코더를 선택하여 상기 수신 메시지를 인코딩 이전의 데이터로 복원하는 것을 특징으로 하는 에이전트 기반 LTE 시스템용 프로토콜 분석방법.
  9. 청구항 8에 있어서,
    상기 인코딩 이전의 데이터로 복원하는 단계는,
    상기 수신 메시지가 ASN.1 인코딩된 데이터인 경우 상기 ASN.1 디코더(208)를 사용하여 상기 수신 메시지를 인코딩 이전의 데이터로 복원하는 단계; 및
    상기 수신 메시지가 바이너리 인코딩된 데이터인 경우 상기 바이너리 디코더(209)를 사용하여 상기 수신 메시지를 인코딩 이전의 데이터로 복원하는 단계;
    로 이루어지는 것을 특징으로 하는 에이전트 기반 LTE 시스템용 프로토콜 분석방법.
  10. 청구항 8에 있어서,
    상기 프로토콜 분석기 서버(200)는 상기 각 UE 시스템(310), eNodeB 시스템(320), MME 시스템(330), sGW 시스템(340) 간의 메시지 연동 규칙이 변경되면 변경된 해당 연동 규칙을 적용하는 단계;
    상기 프로토콜 분석기 서버(200)는 변경된 메시지 정의 확장성생성언어 메타정보를 로딩하여 등록하는 단계; 및
    상기 프로토콜 분석기 서버(200)는 변경된 ASN.1 인코딩 룰에 대한 디코더를 선택하여 등록하는 단계;
    를 더 포함하는 것을 특징으로 하는 에이전트 기반 LTE 시스템용 프로토콜 분석방법.
  11. 청구항 8에 있어서,
    상기 프로토콜 분석기 에이전트(100)가 자신이 사용하는 환경 설정파일을 생성하는 과정은,
    자신의 에이전트 ID, 설치 시스템의 IP주소, 포트 번호를 저장하는 단계(S10);
    상기 프로토콜 분석기 서버(200)의 IP주소와 포트 번호를 저장하는 단계(S11);
    패킷을 캡처링해야 하는 이더넷 카드 번호, 대상 IP주소, 포트 번호, 노드 ID, 노드이름을 설정하는 단계(S12);
    1개 이상의 캡처 룰을 적용할 경우 추가 룰이 존재하는지 여부를 판단하여 추가 룰이 존재하면 상기 단계(S12)를 수행하는 단계(S13); 및
    상기 단계(S13)의 판단 결과, 추가 룰이 존재하지 않으면 문서를 저장하는 과정을 통해 프로토콜 분석기 에이전트용 환경파일을 생성하는 단계(S14, S15);
    를 포함하는 것을 특징으로 하는 에이전트 기반 LTE 시스템용 프로토콜 분석방법.
  12. 청구항 8에 있어서,
    상기 프로토콜 분석기 서버(200)가 자신을 위한 구성파일을 생성하는 과정은,
    자신의 IP주소와 수신 포트 번호를 설정하는 단계(S20);
    LTE 프로토콜 메시지를 분석할 때 사용되는 메시지 정의 확장성생성언어 메타정보파일의 경로를 저장하는 단계(S21);
    메시지 수신 후 최대 보유할 수 있는 메시지의 개수와 이를 고려한 메시지 풀의 사이즈를 설정하는 단계(S22);
    메시지 풀의 크기를 벗어나는 경우 자동적으로 파일로 저장하도록 파일의 위치를 설정하는 단계(S23);
    상기 LTE 시스템(300)을 구성하는 각 시스템(310, 320, 330, 340)들과 각 시스템(310, 320, 330, 340) 내에서 LTE 프로토콜의 각 기능을 수행하는 기능노드들의 계층 구조를 정의하는 단계(S24); 및
    자신을 위한 구성파일로 저장하는 과정을 통해 상기 프로토콜 분석기 서버(200)를 위한 구성파일을 생성하는 단계(S25, S26);
    를 포함하는 것을 특징으로 하는 에이전트 기반 LTE 시스템용 프로토콜 분석방법.
KR1020110047866A 2011-05-20 2011-05-20 에이전트 기반 lte 시스템용 프로토콜 분석기 및 프로토콜 분석방법 KR101243889B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110047866A KR101243889B1 (ko) 2011-05-20 2011-05-20 에이전트 기반 lte 시스템용 프로토콜 분석기 및 프로토콜 분석방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110047866A KR101243889B1 (ko) 2011-05-20 2011-05-20 에이전트 기반 lte 시스템용 프로토콜 분석기 및 프로토콜 분석방법

Publications (2)

Publication Number Publication Date
KR20120129540A KR20120129540A (ko) 2012-11-28
KR101243889B1 true KR101243889B1 (ko) 2013-03-20

Family

ID=47514026

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110047866A KR101243889B1 (ko) 2011-05-20 2011-05-20 에이전트 기반 lte 시스템용 프로토콜 분석기 및 프로토콜 분석방법

Country Status (1)

Country Link
KR (1) KR101243889B1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106817272B (zh) * 2015-11-30 2020-04-14 任子行网络技术股份有限公司 一种网络协议自动化分析测试方法和系统
CN106549945A (zh) * 2016-10-17 2017-03-29 汉柏科技有限公司 防火墙二层网络抓包的实现方法及装置
CN113950088B (zh) * 2021-09-07 2024-01-23 浙江三维利普维网络有限公司 基站监测分析方法、装置、系统、电子装置及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006051594A1 (ja) 2004-11-11 2006-05-18 Mitsubishi Denki Kabushiki Kaisha 通信ネットワークにおけるipパケット中継方法およびゲートウエイ装置
KR20090083810A (ko) * 2008-01-30 2009-08-04 (주)소프트뱅크미디어랩 메시징 서비스 시스템 및 그 방법
KR20100065040A (ko) * 2008-12-05 2010-06-15 한국전자통신연구원 무선 센서 네트워크 기반의 프로파일 관리방법 및 그 장치
KR20110061418A (ko) * 2009-12-01 2011-06-09 한국전자통신연구원 게임 테스트를 위한 게임 문법 기반의 패킷 캡쳐 분석 장치 및 그 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006051594A1 (ja) 2004-11-11 2006-05-18 Mitsubishi Denki Kabushiki Kaisha 通信ネットワークにおけるipパケット中継方法およびゲートウエイ装置
KR20090083810A (ko) * 2008-01-30 2009-08-04 (주)소프트뱅크미디어랩 메시징 서비스 시스템 및 그 방법
KR20100065040A (ko) * 2008-12-05 2010-06-15 한국전자통신연구원 무선 센서 네트워크 기반의 프로파일 관리방법 및 그 장치
KR20110061418A (ko) * 2009-12-01 2011-06-09 한국전자통신연구원 게임 테스트를 위한 게임 문법 기반의 패킷 캡쳐 분석 장치 및 그 방법

Also Published As

Publication number Publication date
KR20120129540A (ko) 2012-11-28

Similar Documents

Publication Publication Date Title
US10392823B2 (en) Synthetic client
US11395189B2 (en) State machine handling at a proxy node in an Ethernet-based fronthaul network
US10153957B2 (en) Fault diagnosis method, device, and fault diagnosis system
JP5600756B2 (ja) モバイルサービスの配信を分析するための方法および装置
EP3099011B1 (en) Interface management service entity, functional service entity and network element management method
WO2016202013A1 (zh) 日志获取方法和装置、以及网管服务器
US7974211B2 (en) Methods and apparatus for network configuration baselining and restoration
Mavromatis et al. A software defined device provisioning framework facilitating scalability in Internet of Things
CN113691408B (zh) 电力数据通信网络仿真方法、装置、计算机设备
KR101243889B1 (ko) 에이전트 기반 lte 시스템용 프로토콜 분석기 및 프로토콜 분석방법
CN102164048B (zh) 局域网络中实现多运营商接入的数据流优化装置及方法
CN112217690B (zh) 一种计算节点之间局域网可用的并发测试方法及系统
CN103888289A (zh) 一种网关的管控方法、网关、管控设备与系统
CN1937461A (zh) 基于终端管理业务的终端测试装置
CN115379486A (zh) 5g专网的故障检测方法、装置、电子设备及存储介质
CN104462235A (zh) 一种基于Restful Web Service的物联网通用事件服务机制
KR20220134217A (ko) Nfv/sdn 기반의 5g 통신 시스템에서 네트워크 성능 테스트를 위한 정책 제어기 및 그 방법
Kalbandi Automation of Framework using DevOps Model to deliver DDE Software
US9509586B2 (en) Synthetic client
CN105530141A (zh) 一种链路状态的检测方法和设备
CN103595629A (zh) 一种irdp网络中主机网关快速切换的方法和装置
CN114172813B (zh) 网络拓扑图的绘制方法及装置
JP4411188B2 (ja) オンラインシステム及び通信方法
US20240334169A1 (en) Service management
Al Homsi Network Guard: A Python-Powered Network Monitoring Solution

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee