KR20190088344A - 네트워크와 연관된 신규 장치 등록 방법 및 장치 - Google Patents

네트워크와 연관된 신규 장치 등록 방법 및 장치 Download PDF

Info

Publication number
KR20190088344A
KR20190088344A KR1020180006769A KR20180006769A KR20190088344A KR 20190088344 A KR20190088344 A KR 20190088344A KR 1020180006769 A KR1020180006769 A KR 1020180006769A KR 20180006769 A KR20180006769 A KR 20180006769A KR 20190088344 A KR20190088344 A KR 20190088344A
Authority
KR
South Korea
Prior art keywords
information
server
time
network
packet
Prior art date
Application number
KR1020180006769A
Other languages
English (en)
Other versions
KR102027759B1 (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 KR1020180006769A priority Critical patent/KR102027759B1/ko
Priority to US16/962,974 priority patent/US11362922B2/en
Priority to PCT/KR2018/016901 priority patent/WO2019143043A1/ko
Publication of KR20190088344A publication Critical patent/KR20190088344A/ko
Application granted granted Critical
Publication of KR102027759B1 publication Critical patent/KR102027759B1/ko
Priority to US17/728,955 priority patent/US11902135B2/en

Links

Images

Classifications

    • 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/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0806Configuration setting for initial configuration or provisioning, e.g. plug-and-play
    • 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/08Configuration management of networks or network elements
    • H04L41/0876Aspects of the degree of configuration automation
    • H04L41/0883Semiautomatic configuration, e.g. proposals from system
    • 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
    • H04L43/045Processing captured monitoring data, e.g. for logfile generation for graphical visualisation of monitoring data

Abstract

본 발명의 일 양태는 네트워크 신규개체 등록 장치에서의 네트워크와 연관된 신규장치 등록 방법을 개시하고 있다. 상기 방법은, 상기 네트워크와 연관된 적어도 하나의 개체들에 대한 IP(Internet Protocol) 정보를 포함하는 네트워크 개체 정보를 보유하는 단계, 제 1 개체와 제 2 개체 간에 송수신되는 적어도 하나의 패킷들에 대한 정보를 획득하는 단계, 상기 획득된 적어도 하나의 패킷들에 대한 정보를 상기 보유된 네트워크 개체 정보 내의 IP 정보와 비교하는 단계 및 상기 비교 결과를 기반으로 상기 네트워크 개체정보에 신규 장치를 등록하는 단계를 포함한다.

Description

네트워크와 연관된 신규 장치 등록 방법 및 장치{NETWORK-RELATED NEW DEVICE REGISTRATION METHOD AND APPARATUS}
본 발명은 네트워크 서비스와 연관된 장치 등록 방법에 관한 것으로, 보다 상세하게는, 신규한 장치를 네트워크와 연관된 리스트에 등록하는 방법에 관한 것이다.
네트워크는 통신 링크 및 통신링크에 접속된 통신능력을 가진 다양한 장치들을 전반적으로 포함한다. 여기서, 네트워크와 관련된 장치들은, 컴퓨터, 주변장치, 라우터, 저장장치, 및 프로세서와 통신 인터페이스를 갖는 여러 전기제품을 포함한다. 여기서, "장치"라는 용어는 전형적으로 논리 장치들 혹은 기능성 및 데이터를 처리 및 교환할 수 있는 능력을 갖는 다른 장치들을 포함하며, 가정용 장치들뿐만 아니라 일반 목적의 컴퓨터들을 포함할 수 있다.
전통적인 네트워크 시스템들은 사용자가 사용하는 클라이언트 장치와 웹 사이트와 연관된 다양한 서버 장치들을 포함한다. 일반적으로 클라이언트 장치는 웹 사이트를 이용하기 위해, 특정 IP 주소를 갖는 서버에 접속요청을 하고, 대기시간을 거쳐 접속한다. 이때, 다수의 사용자에 의해 다수의 클라이언트 장치가 특정 시점에 몰려서 서버에 접속하는 경우, 병목현상(bottleneck)에 의해 서버와 연관된 네트워크 서비스의 성능이 저하될 수 있다. 서비스 성능 또는 품질 문제 발생시 사용자는 지연으로 인해, 기다리는 시간을 늘어서 서비스의 이용률이 떨어지게 되고, 이는 생산성 및 매출의 감소로 이어진다. 또한, IT 운영비용 증가가 발생하고, 서버의 운영자 및/또는 관련 비즈니스의 경영자는 기업의 경쟁력 하락이라는 좋지 않는 결과를 맞게 될 수 있다.
따라서, 성능 저하의 원인을 신속히 파악하고, 이에 대한 대응이 최대한 빠르게 이루어져야 한다. 하지만, 이러한 성능 저하의 원인이 어디에 있는지를 명확히 파악하는 데에는 마땅한 서비스가 없어서 적절한 대응이 이루어지지 못하는 실정이다.
도 1은 종래 네트워크 서비스 관리를 수행하는 과정을 설명하기 위한 개념도이다.
도 1을 참조하면, IT 관리를 위해 IT 팀장은 품질 관리와 관련된 명령을 네트워크 운영 파트, 서버 운영 파트, 데이터베이스 개발 파트 및 어플리케이션 개발 파트 등에 각각 명령한다.
특정 서비스 문제가 일어났을 때, 각각의 파트의 담당자들은 자신이 관리하는 IT 장치의 문제점을 개별적으로 판단하고, 이에 대한 보고를 한다. 즉, "어플리케이션 문제는 아니다", "네트워크 문제는 아니다" 및/또는 "서버에도 이상이 없다" 등 특정 서비스의 문제에 대해 독립적인 접근으로 인해, 문제의 원인을 신속히 식별하지 못하고, 성능 저하의 문제에 적절히 대응하지 못한다. 즉, 성능 개선의 골든 타임(golden time)을 놓치게 되는 문제점이 있다.
상술한 문제점을 해결하기 위한 본 발명의 일 양태에 따른 목적은 네트워크 서비스 관리를 위해, 네트워크와 연관된 신규한 장치를 자동으로 등록할 수 있는 네트워크와 연관된 신규 장치 등록 방법 및 장치를 제공하는 것이다.
상기한 목적을 달성하기 위한 본 발명의 일 양태에 따른 네트워크 신규개체 등록 장치에서의 네트워크와 연관된 신규장치 등록 방법은, 상기 네트워크와 연관된 적어도 하나의 개체들에 대한 IP(Internet Protocol) 정보를 포함하는 네트워크 개체 정보를 보유하는 단계, 제 1 개체와 제 2 개체 간에 송수신되는 적어도 하나의 패킷들에 대한 정보를 획득하는 단계, 상기 획득된 적어도 하나의 패킷들에 대한 정보를 상기 보유된 네트워크 개체 정보 내의 IP 정보와 비교하는 단계 및 상기 비교 결과를 기반으로 상기 네트워크 개체정보에 신규 장치를 등록하는 단계를 포함할 수 있다.
상기 비교 결과를 기반으로 상기 네트워크 개체정보에 신규 장치를 등록하는 단계는, 상기 비교 결과, 상기 보유된 네트워크 개체 정보에 없는 제 1 IP 정보가 존재하는 때, 상기 제 1 IP 정보를 기반으로 상기 제 1 IP 정보와 연관된 장치를 상기 네트워크 개체 정보에 신규 장치로써 등록하는 단계를 포함할 수 있다.
상기 제 1 IP 정보를 기반으로 상기 제 1 IP 정보와 연관된 장치를 상기 네트워크 개체 정보에 신규 장치로써 등록하는 단계는 상기 제 1 IP 정보와 연관된 IP가 상기 네트워크와 연관하여 처리가능한 IP 영역 내에 존재하는지 비교하는 단계 및 상기 처리가능한 IP 영역에 상기 제 1 IP 정보와 연관된 IP가 존재하는 경우, 상기 네트워크 개체 정보에 상기 제 1 IP 정보와 연관된 장치를 신규 장치로써 등록할 수 있다.
상기 획득된 적어도 하나의 패킷들에 대한 정보를 상기 보유된 네트워크 개체 정보 내의 IP 정보와 비교하는 단계는, 상기 획득된 적어도 하나의 패킷들에 대한 정보 내에 포함된 목적지 IP 정보를 상기 보유된 네트워크 개체 정보 내의 IP 정보와 비교하는 단계를 포함할 수 있다.
상기 네트워크 개체 정보는 복수 개의 개체 간의 링크와 연관된 정보를 포함하되, 상기 네트워크와 연관된 장치 등록 방법은, 상기 제 1 IP 정보와 연관된 장치를 목적지 IP로 하는 패킷의 소스 IP(source ip)를 추출하는 단계, 상기 추출된 소스 IP가 상기 네트워크 개체 정보에 존재하는 IP 정보와 비교하는 단계 및 상기 추출된 소스 IP가 상기 네트워크 개체 정보에 존재하지 않는 경우, 상기 제 1 IP 정보와 연관된 장치와 상기 추출된 소스 IP와 연관된 장치의 링크를 상기 네트워크 개체 정보에 신규 링크로써 등록하는 단계를 더 포함할 수 있다.
상기 제 1 IP 정보와 연관된 장치와 상기 추출된 소스 IP와 연관된 장치의 링크를 상기 네트워크 개체 정보에 신규 링크로써 등록하는 단계는 상기 제 1 IP 정보와 연관된 IP 및 상기 추출된 소스 IP가 모두 상기 네트워크와 연관하여 처리가능한 IP 영역 내에 존재하는지 비교하는 단계 및 상기 처리가능한 IP 영역에 상기 제 1 IP 정보와 연관된 IP 및 상기 추출된 소스 IP가 존재하는 경우, 상기 네트워크 개체 정보에 상기 제 1 IP 정보와 연관된 장치와 상기 추출된 소스 IP와 연관된 장치의 링크를 상기 네트워크 개체 정보에 신규 링크로써 등록하는 단계를 포함할 수 있다.
상기 제 1 IP 정보를 기반으로 상기 제 1 IP 정보와 연관된 장치를 상기 네트워크 개체 정보에 신규 링크로써 등록하는 단계는 상기 보유된 네트워크 개체 정보를 기반으로 상기 네트워크의 트래픽(traffic) 흐름을 나타내는 플로우 맵(flow map)에 신규 링크와 연관된 장치를 추가로 시각화하는 단계를 더 포함할 수 있다.
상기 비교 결과를 기반으로 상기 네트워크 개체정보에 신규 장치를 등록하는 단계는, 비교 결과, 상기 보유된 네트워크 개체 정보에 없는 제 1 IP 정보가 존재하는 경우, 상기 제 1 IP 정보를 기반으로 상기 제 1 IP 정보와 연관된 장치를 신규 장치 후보로 등록하는 단계 및 상기 신규 장치 후보로 등록된 상기 제 1 IP 정보와 연관된 장치를 신규 장치로 상기 네트워크 개체 정보에 등록할지 결정하는 단계를 포함할 수 있다.
상기 신규 장치 후보로 등록된 상기 제 1 IP 정보와 연관된 장치를 신규 장치로 상기 네트워크 개체 정보에 등록할지 결정하는 단계는, 상기 제 1 IP 정보와 연관된 장치를 상기 신규 장치 후보로 표시하는 단계, 상기 표시된 신규 장치 후보에 대한 사용자 입력을 입력받는 단계, 상기 사용자 입력을 기반으로 신규 장치 등록 여부를 결정하는 단계 및 신규 장치로 등록할 것으로 결정된 경우, 상기 제 1 IP와 연관된 장치를 신규 장치로 상기 네트워크 개체 정보에 등록하는 단계를 포함할 수 있다.
상기 제 1 IP 정보를 기반으로 상기 제 1 IP 정보와 연관된 장치를 상기 네트워크 개체 정보에 신규 장치 후보로써 등록하는 단계는, 상기 제 1 IP 정보와 연관된 IP가 상기 네트워크와 연관하여 처리가능한 IP 영역 내에 존재하는지 비교하는 단계 및 상기 처리가능한 IP 영역에 상기 제 1 IP 정보와 연관된 IP가 존재하는 경우, 상기 제 1 IP 정보와 연관된 장치를 신규 장치 후보로써 등록할 수 있다.
상기 획득된 적어도 하나의 패킷들에 대한 정보를 상기 보유된 네트워크 개체 정보 내의 IP 정보와 비교하는 단계는, 상기 획득된 적어도 하나의 패킷들에 대한 정보 내에 포함된 목적지 IP 정보를 상기 보유된 네트워크 개체 정보 내의 IP 정보와 비교하는 단계를 포함할 수 있다.
상기 네트워크 개체 정보는 복수 개의 개체 간의 링크와 연관된 정보를 포함하되, 상기 네트워크 장치 등록 방법은 상기 제 1 IP 정보와 연관된 장치를 목적지 IP로 하는 패킷의 소스 IP(source ip)를 추출하는 단계, 상기 추출된 소스 IP가 상기 네트워크 개체 정보에 존재하는 IP 정보와 비교하는 단계 및 상기 추출된 소스 IP가 상기 네트워크 개체 정보에 존재하지 않는 경우, 상기 제 1 IP 정보와 연관된 장치와 상기 추출된 소스 IP와 연관된 장치의 링크를 신규 링크 후보로써 등록하는 단계 및 상기 신규 링크 후보로 등록된 상기 제 1 IP 정보와 연관된 장치 및 상기 추출된 소스 IP와 연관된 장치의 링크를 신규 링크로 상기 네트워크 개체 정보에 등록할지 결정하는 단계를 더 포함할 수 있다.
상기 추출된 소스 IP가 상기 네트워크 개체 정보에 존재하지 않는 경우, 상기 제 1 IP 정보와 연관된 장치와 상기 추출된 소스 IP와 연관된 장치의 링크를 신규 링크 후보로써 등록하는 단계는, 상기 제 1 IP 정보와 연관된 IP 및 상기 추출된 소스 IP가 모두 상기 네트워크와 연관하여 처리가능한 IP 영역 내에 존재하는지 비교하는 단계 및 상기 처리가능한 IP 영역에 상기 제 1 IP 정보와 연관된 IP 및 상기 추출된 소스 IP가 존재하는 경우, 상기 네트워크 개체 정보에 상기 제 1 IP 정보와 연관된 장치와 상기 추출된 소스 IP와 연관된 장치의 링크를 신규 링크 후보로써 등록하는 단계를 포함할 수 있다.
상기 신규 링크 후보로 등록된 상기 제 1 IP 정보와 연관된 장치 및 상기 추출된 소스 IP와 연관된 장치의 링크를 신규 링크로 상기 네트워크 개체 정보에 등록할지 결정하는 단계는 상기 제 1 IP 정보와 연관된 장치 및 상기 추출된 소스 IP와 연관된 장치와의 링크를 상기 신규 링크 후보로 표시하는 단계, 상기 표시된 신규 링크 후보에 대한 사용자 입력을 입력받는 단계, 상기 사용자 입력을 기반으로 신규 링크 등록 여부를 결정하는 단계 및 신규 링크로 등록할 것으로 결정된 경우, 상기 제 1 IP 정보와 연관된 장치 및 상기 추출된 소스 IP와 연관된 장치와의 링크를 신규 링크로 상기 네트워크 개체 정보에 등록하는 단계를 포함할 수 있다.
상기 제 1 IP 정보와 연관된 장치 및 상기 추출된 소스 IP와 연관된 장치와의 링크를 신규 링크로 상기 네트워크 개체 정보에 등록하는 단계는, 상기 보유된 네트워크 개체 정보를 기반으로 상기 네트워크의 트래픽 흐름을 나타내는 플로우 맵에 신규 링크와 연관된 장치를 추가로 시각화하는 단계를 더 포함할 수 있다.
제 1 개체와 제 2 개체 간에 송수신되는 적어도 하나의 패킷들에 대한 정보는 상기 제 1 개체와 상기 제 2 개체 간에 구비되는 스위칭 장치로부터 미러링을 수행하여 획득된 정보일 수 있다.
상기한 목적을 달성하기 위한 본 발명의 다른 양태에 따른 네트워크와 연관된 신규개체 등록 장치는 상기 네트워크와 연관된 적어도 하나의 개체들에 대한 IP(Internet Protocol) 정보를 포함하는 네트워크 개체 정보를 보유하는 데이터베이스, 제 1 개체와 제 2 개체 간에 송수신되는 적어도 하나의 패킷들에 대한 정보를 획득하는 포트(port), 상기 획득된 적어도 하나의 패킷들에 대한 정보를 상기 보유된 네트워크 개체 정보 내의 IP 정보와 비교하는 패킷 분석 모듈 및 상기 비교 결과를 기반으로 상기 네트워크 개체정보에 신규 장치를 등록하는 서비스 모듈을 포함할 수 있다.
본 발명의 네트워크와 연관된 신규 장치 등록 방법에 따르면, 사용자의 번거로운 작업 없이, 용이하게 신규한 장치를 등록시키는 효과가 있다.
도 1은 종래 네트워크 서비스 관리를 수행하는 과정을 설명하기 위한 개념도,
도 2는 본 발명의 일 실시예에 따른 패킷 미러링 장치가 포함된 시스템을 나타낸 개념도,
도 3은 본 발명의 일 실시예에 따른 패킷 미러링 장치와 네트워크의 다른 장치와의 연결 구성을 나타낸 블록도,
도 4는 본 발명의 일 실시예에 따른 패킷 미러링 장치의 각 구간별 동작을 설명하기 위한 개념도,
도 5는 본 발명의 일 실시예에 따른 패킷 미러링 장치를 구체적으로 나타낸 블록도,
도 6은 본 발명의 일 실시예에 따른 패킷 미러링 장치의 네트워크 성능 진단 방법을 개략적으로 나타낸 흐름도,
도 7a 및 도 7b는 본 발명의 일 실시예에 따른 패킷 미러링 장치에서 산출되는 사용자와 서버 간의 네트워크 RTT(Round Trip Time) 지표를 나타낸 개념도,
도 8은 본 발명의 일 실시예에 따른 패킷 미러링 장치에서 산출되는 지연지표를 나타낸 개념도,
도 9는 본 발명의 일 실시예에 따른 패킷 미러링 장치에서 산출되는 서버 응답대기 세션 수 지표를 나타낸 개념도,
도 10은 본 발명의 일 실시예에 따른 패킷 미러링 장치에서 산출되는 CPS/TPS(Connection Per Second/Transaction Per Second) 지표를 나타낸 개념도,
도 11은 본 발명의 일 실시예에 따른 패킷 미러링 장치에서 산출되는 성능 지표를 기반으로 생성되는 플로우 맵(Flow map)을 나타낸 도면,
도 12는 본 발명의 일 실시예에 따른 패킷 미러링 장치에서의 네트워크 성능과 연관된 경고 발생 여부를 판단하는 설정값의 예시를 나타낸 표,
도 13a 및 도 13b는 플로우 맵에 따라 구간별 응답속도 분석의 예시적인 모습을 나타낸 도면,
도 14는 사용자 및 서버 간의 성능지표를 시각화하기 위한 대시보드(dashboard)의 모습을 나타낸 도면,
도 15는 서버, 사용자, URL 및 세션 별 세부 트래픽의 모니터링되는 페이지를 나타낸 도면,
도 16은 세부 세션 정보에 대한 내용 및 애플리케이션의 에러를 식별하기 위한 페이지를 나타낸 도면,
도 17은 드릴-다운(Drill-Down) 방식에 의해 문제 요소와 연관된 상관관계 확인을 하는 페이지를 나타낸 도면,
도 18은 서버별 실시간 서비스 상태 및 경고별 세부 정보를 확인하는 과정을 나타낸 도면,
도 19는 애플리케이션의 상세 로그에 대한 진단 분석 페이지를 나타낸 도면,
도 20은 비정상 접근을 추정하여 사용자를 추적하는 과정을 나타낸 도면,
도 21은 주요 페이지별 사용자의 접속까지의 체감속도를 시각화한 페이지를 나타낸 도면,
도 22는 경고에 따른 주요페이지 대상 사용자의 체감 응답속도를 시각화한 페이지를 나타낸 도면,
도 23은 특정 웹사이트에 대한 응답 지연 분석 화면에 따라 사용자의 체감 속도를 분석한 페이지를 나타낸 도면,
도 24는 웹 페이지별 로딩 시각을 시각화한 화면 및 그에 따른 체감속도의 추이 및 지연 컴포넌트의 분석 페이지를 나타낸 도면,
도 25는 지연 웹 페이지의 세부 내용을 진단 및 분석하는 페이지를 나타낸 도면,
도 26은 HTTP 리퍼러(Referrer) 정보를 이용한 유입경로를 확인하는 페이지를 나타낸 도면,
도 27은 서버 지표와 네트워크 지표를 비교분석하는 페이지를 나타낸 도면,
도 28a는 서버스 지연 및 장애 이벤트 알람을 판단하는 과정을 나타낸 흐름도,
도 28b는 임계치 설정 페이지를 나타낸 도면,
도 29a 및 도 29b는 40X 에러 분석과 관련된 페이지를 나타낸 도면,
도 30은 지리적인 데이터와 연계하여 글로벌 맵에서의 서비스 성능을 시각화한 페이지를 나타낸 도면,
도 31은 지리적인 데이터와 연계하여 로컬 맵에서의 서비스 성능을 시각화한 페이지를 나타낸 도면,
도 32는 서버별 성능을 모니터링하여 분석한 페이지를 나타낸 도면,
도 33은 사용자의 환경별 접속 분포를 도시한 페이지를 나타낸 도면,
도 34a 및 도 34b는 신규 장치 및 링크 등록을 위한 페이지를 나타낸 도면,
도 35는 본 발명의 다른 실시예에 따른 패킷 미러링 장치에서 신규 장치를 자동등록하기 위한 동작을 수행하는 구성을 설명하기 위한 블록도,
도 36a 내지 도 36c는 본 발명의 다른 실시예에 따른 패킷 미러링 장치에서 신규 장치 및 신규 링크를 등록하기 위한 과정을 나타낸 흐름도,
도 37a 내지 도 37c는 본 발명의 다른 실시예에 따른 패킷 미러링 장치에서 선택적으로 신규 장치 및 신규 링크를 등록하기 위한 과정을 나타낸 흐름도,
도 38은 선택적 장치 자동 등록 페이지를 나타낸 도면,
도 39는 자동 장치 등록에 의해 새롭게 생성된 링크 및 장치를 시각화한 플로우 맵을 나타낸 도면,
도 40은 본 발명의 또 다른 실시예에 따른 복수 개의 패킷 미러링 장치의 시스템 연결 관계를 설명하기 위한 도면,
도 41은 본 발명의 또 다른 실시예에 따른 복수 개의 패킷 미러링 장치의 연결관계에 따라 서로 다른 기능을 수행하는 구성을 나타낸 도면,
도 42는 본 발명의 일 실시예에 따른 패킷 미러링 장치 또는 도 5의 서비스 모듈을 구체적으로 나타낸 블록도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다.
그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제 1, 제 2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제 1 구성요소는 제 2 구성요소로 명명될 수 있고, 유사하게 제 2 구성요소도 제 1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
본 명세서에 걸쳐서, 개체(entity)는 네트워크와 연관된 각종 장치들을 포함하고, 이는 클라이언트 단말 및/또는 서버 장치를 포함하는 용어이다.
사용자는 기본적으로 클라이언트 단말의 사용자를 의미한다. 다만, 경우에 따라 본 발명의 일 실시예에 따른 패킷 미러링 장치의 사용자를 의미하기도 한다. 네트워크 운영자 및/또는 네트워크 관리자는 패킷 미러링 장치와 관련된 네트워크를 관리하는 자로, 패킷 미러링 장치의 사용자를 의미할 수 있다.
네트워크 성능과 관련된 성능 관련 지표를 산출하는 네트워크 성능 진단 장치는 패킷 미러링 장치라고 불릴 수 있다. 또한, 네트워크 서비스의 상기 성능 관련 지표를 시각화하는 장치로써 구현될 수 있으므로, 네트워크 성능지표 시각화 장치로 불릴 수 있다. 추가적으로, 네트워크에 새로 연계되는 개체를 등록하는 장치로 구현될 수 있으므로, 네트워크 신규개체 등록 장치로 불릴 수 있다. 이하, 상기 다양한 구현 예에도 불구하고, 패킷 미러링 장치로 부른다.
또한, 네트워크 성능이라는 용어는 서버, 통신망 및 클라이언트에서의 통신 성능과 관련하여, 포괄적으로 사용될 수 있다.
도 2는 본 발명의 일 실시예에 따른 패킷 미러링 장치가 포함된 시스템을 나타낸 개념도이다. 도 2에 도시된 바와 같이, 본 발명의 일 실시예에 따른 패킷 미러링 시스템은 클라이언트 단말(210-1~210-3), 네트워크(220), 서버단(230~250) 및 패킷 미러링 장치(200)를 포함할 수 있다.
도 2를 참조하면, 클라이언트 단말(210-1~210-3)은 네트워크(220)를 통해 특정 웹 사이트 및/또는 웹 애플리케이션에 접속한다. 이때, 접속은 상기 웹 사이트 및/또는 웹 애플리케이션과 연관된 서버단(230~250)에서 수행된다. 클라이언트 단말(210-1~210-3)은 웹 브라우저를 통해 특정 웹 페이지에 접속하여 원하는 페이지 또는 애플리케이션의 실행을 요청한다. 상기 요청은, html 문서와 같은 정적인 콘텐츠뿐만 아니라, 동영상, 오디오와 같은 멀티미디어 콘텐츠, 및/또는 기타 다른 애플리케이션의 실행을 포함할 수 있다.
본 발명의 일 실시예에 따르면, 클라이언트 단말(210~210-3)은 사용자에 의해 동작하고, 통신 기능(인터넷 접속 및 웹 브라우저 실행 기능 포함) 및 데이터 처리 기능을 포함하는 임의의 장치를 포함할 수 있다. 클라이언트 단말(210~210-3)은, 이동국(MS), 사용자 장비(UE; User Equipment), 사용자 터미널(UT; User Terminal), 무선 터미널, 액세스 터미널(AT), 터미널, 고정 또는 이동 가입자 유닛(Subscriber Unit), 가입자 스테이션(SS; Subscriber Station), 셀룰러 전화, 무선 기기(wireless device), 무선 통신 디바이스, 무선송수신유닛(WTRU; Wireless Transmit/Receive Unit), 이동 노드, 모바일, 모바일국, 개인 휴대 정보 단말(personal digital assistant; PDA), 스마트폰, 랩톱, 넷북, 개인용 컴퓨터, 무선 센서, 소비자 전자기기(CE) 또는 다른 용어들로서 지칭될 수 있다. 클라이언트 단말(210-1~210-3)의 다양한 실시예들은 셀룰러 전화기, 무선 통신 기능을 가지는 스마트 폰, 무선 통신 기능을 가지는 개인 휴대용 단말기(PDA), 무선 모뎀, 무선 통신 기능을 가지는 휴대용 컴퓨터, 무선 통신 기능을 가지는 디지털 카메라와 같은 촬영장치, 무선 통신 기능을 가지는 게이밍 장치, 무선 통신 기능을 가지는 음악저장 및 재생 가전제품, 무선 인터넷 접속 및 브라우징이 가능한 인터넷 가전제품뿐만 아니라 그러한 기능들의 조합들을 통합하고 있는 휴대형 유닛 또는 단말기들을 포함할 수 있으나, 이에 한정되는 것은 아니다.
각 클라이언트 단말(210-1~210-3)은 사용자 입력을 수신하기 위한 마우스 및 키보드와 같은 입력 장치들 및 사용자가 네트워킹된 장치들과 상호작용하기 위한 제어 사용자 인터페이스를 제공하기 위한 디스플레이를 포함하는 사용자 통신 인터페이스를 포함할 수 있다. 사용자 인터페이스는 사용자에게 정보를 제공하기 위해 그래픽 사용자 인터페이스(GUI: Graphical User Interface)를 포함할 수 있다.
네트워크(220)는 유선 및/또는 무선 네트워크를 포함한다. 네트워크(220)는 인터넷(internet)을 포함할 수 있다. 네트워크(220)는 다양하게 접속된 클라이언트 단말(210-1~210-3)과 서버단(230~250) 간에 데이터를 송신하고 수신하기 위해 물리층(매체)을 제공하는 시리얼 버스를 포함할 수 있다. 여기서 시리얼 버스는 1394 시리얼 버스를 포함할 수 있다. 이는 시간-다중송신(Time-multiplexed) 오디오/비디오(A/V) 스트림 및 표준 아이피(IP: Internet Protocol) 통신(예컨대, IETF REC 2734)을 양쪽 모두 지원할 수 있고, 다만 반드시 이에 한정되는 것은 아니다. 네트워크(220)는 비-1394 네트워크(예컨대, 이더넷 등)도 포함할 수 있다. 또한, 네트워크(220)는 홈 네트워크를 포함할 수도 있다. 각 클라이언트 단말(210-1~210-3)들은 네트워크(220)에서 하나 이상의 서버 장치들(230~250)과 통신할 수 있다.
서버단(230~250)은 사용자에게 서비스들을 제공하기 위해 네트워크(220) 자원을 이용하여 사용자들의 요청에 응답한다. 이는 정보(데이터)의 리턴(return)을 포함한다. 또한, 기능의 성능(예컨대, 기계적인 기능) 및 상태의 리턴, 데이터 스트림 및 상태의 리턴, 데이터 스트림의 수용 및 상태의 리턴, 또는 각종 행위에 대한 상태의 저장을 포함한다. 서버단(230~250)은 그 자신의 하드웨어의 제어를 구현하기 위해, 주문형, 내장형, 제어 프로그램을 포함할 수 있다.
서버단(230~250)은 특정 웹 사이트 및/또는 웹 애플리케이션과 연관될 수 있고, 각 웹 사이트 및/또는 웹 애플리케이션에서 수행되는 작업과 관련된 연산 및 관리를 수행한다. 서버단(230~250)은 클라이언트 단말들(210-1~210-3) 및 다른 서버들(230~250)과 상호작용할 수 있다. 예시적인 서비스들은 MPEG 소싱/싱킹(sourcing/sinking), 및 디스플레이 서비스를 포함할 수 있다.
서버단(230~250)은 네트워크(220)를 통해 장치의 명령 및 제어를 위한 인터페이스를 제공하는 인터페이스 데이터(예컨대, HTML, XML, 자바, 자바스크립트, GIF, JPEG, MPEG, 그래픽 파열 또는 의도한 목적에 사용되는 임의의 다른 포맷)와 같은 정보를 처리할 수 있다. 특정 실시예에서, 각 서버들(230~250)은 그 장치의 명령 및 제어를 제공하는 하나 이상의 하이퍼텍스트 마크업 언어(HTML: Hypertext Markup Language)와 같은 정보를 처리할 수 있다. 서버단(230~250)은 브라우저 기법을 이용하여 HTML 페이지를 나타내는 인터넷 표준을 사용한다.
본 발명의 실시예에 따르면, 서버단(230~250)은 웹 서버(230), 앱 서버(240: APP server), 및 데이터베이스 서버(250: DB 서버)를 포함할 수 있다. 다만, 반드시 서버단이 3개 서버의 조합으로만 구성되어야 하는 것은 아니다. 웹 서버(230)만 존재하고, 앱 서버(240) 및 데이터베이스 서버(250)는 존재하지 않는 것도 유효하고, 또는 앱 서버(240) 하나만 구성되는 것도 가능하고, 기타 다양한 형태 및 계층의 서버 조합도 가능하다.
웹 서버(230)는 웹 클라이언트(Web Client)에게 요청된 컨텐츠를 제공하는 서버이다. 웹 서버(230)는 정적인 HTML이나 JPEG, GIF같은 이미지를 HTTP 프로토콜을 통해 웹 브라우저에 제공할 수 있다. 경우에 따라, 웹 서버(230)도 내부 애플리케이션을 동작시킬 수 있는 컨테이너를 내장할 수 있다.
앱 서버(240)는 WAS(Web Application Server) 서버라고도 불릴 수 있고, 이는 클라이언트/서버 환경에서 트랜잭션 처리 및 관리와 애플리케이션 실행 환경을 제공하는 미들웨어 소프트웨어 서버를 나타낸다. 전형적으로, 서버단(230~250)은 웹 서버, 애플리케이션 서버, 데이터베이스의 3계층 웹 컴퓨팅 환경으로 구축될 수 있는데, 이때, 앱 서버(240)는 클라이언트/서버 환경의 애플리케이션 서버와 같은 역할을 한다. 앱 서버(240)는 애플리케이션 실행 환경과 데이터베이스 접속 기능을 제공하고, 트랜잭션을 관리하며, 업무를 처리하는 비즈니스 로직을 수행하고, 다른 기종 시스템 간의 애플리케이션 연동 등을 수행한다.
본 발명의 실시예에 따르면, 웹 서버(230)와 WAS(240)의 기능적 분류를 통해 효과적인 분산을 유도할 수 있다. 정적인 데이터는 구조적으로 앞에 존재하는 웹 서버(230)에서 처리하고, 동적인 데이터는 뒷단의 WAS(240)가 처리할 수 있다. 예컨대, 사용자의 요청에 대해서 정적 데이터인 HTML과 자바스크립트 파일, CSS, 이미지 등을 앞단의 웹 서버(230)에 위치시켜 처리함으로써 WAS(240)로 서비스 요청이 넘어가지 않게 한다. 또한, 웹 애플리케이션 서비스를 위치적으로 뒤편에 존재하는 WAS(240)에 넘겨줌으로써 WAS(240)는 웹 애플이케이션의 수행에 집중할 수 있다. 웹 서버(230)에서 처리할 것과 WAS(240)에게 넘겨질 것을 처리하는 방식은 웹 서버(230)의 컨피규어레이션(Configuration)을 통해 처리할 수 있다. 특정 확장자나 디렉토리 업무를 WAS(240)로 넘길지 여부는 웹 서버(230)에서 처리한다.
데이터베이스 서버(250)는 웹 서버(230) 및/또는 앱 서버(240)가 취급하는 각종 데이터가 저장되어 있는 저장소이다. 데이터베이스 서버(250)는 웹 서버(230) 및/또는 앱 서버(240)가 처리하는 작업, 웹 사이트, 웹 애플리케이션의 성격에 따라 그와 연관된 엄청난 양의 데이터가 저장될 수 있다. 이는 개인정보, 기관정보, 각종 콘텐츠(예컨대, 멀티미디어 콘텐츠)와 연관된 데이터 등을 포함할 수 있다.
패킷 미러링 장치(200)는 네트워크(220)와 웹 서버(230) 사이, 웹 서버(230)와 앱 서버(240) 사이 및 앱 서버(240)와 데이터베이스 서버(250) 사이 중 적어도 하나에 배치될 수 있다. 패킷 미러링 장치(200)는 네트워크(220)와 웹 서버(230) 사이, 웹 서버(230)와 앱 서버(240) 사이 및 앱 서버(240)와 데이터베이스 서버(250) 사이 중 적어도 하나에 배치된 스위칭 장치(미도시)와 연결되어 두 개체 간에 송수신되는 패킷을 미러링한 패킷을 기반으로 네트워크 서버스의 성능을 진단한다. 본 발명의 상기 실시예에 따르면, 미러링된 패킷은 실제 송수신되는 패킷(실제 사용되는 사용자 트래픽)을 기반으로 복사에 의해 생성될 수 있으므로, 네트워크 서비스의 성능 진단을 위해 별도의 인위적인 테스트 패킷을 생성할 필요가 없다. 특히, 패킷 미러링 장치(200)는 실시간으로 모든 패킷에 대한 모니터링이 가능하다.
패킷 미러링 장치(200)는 미러링된 패킷에 포함된 각종 정보들(예컨대, 소스 ID(source id), 목적지 ID(destination id) 및 시간 정보(time) 등)을 기반으로 네트워크 서비스의 성능을 나타내는 각종 지표들을 실시간으로 산출한다. 지표의 산출은 트랜잭션(transaction) 단위로 이루어질 수 있다. 산출되는 지표는 120가지를 초과할 수 있고, 이는 이하 도 5를 참조하여 보다 상세히 설명한다. 패킷 미러링 장치(200)는 산출된 지표들을 기반으로, 어떤 구간에 속도 지연, 대기 지연, 트래픽 초과, 에러 발생과 같은 문제가 있는지 여부를 구간별로 판단하고, 판단결과를 운영자 또는 관리자가 확인할 수 있도록 시각화한다. 즉, 에러 구간을 신속하게 파악하고, 이를 기반으로 에러구간에 대한 대응이 신속하게 이루어질 수 있도록 한다. 이러한 네트워크 서비스의 관리가 하나의 포인트에서 이루어짐에 따라, 종래 여러 담당자에게 분담되어 이루어졌던 IT 관리가 효율적으로 진행될 수 있도록 하고, 한눈에 모든 구간의 네트워크 서비스의 상태를 보여줌으로써, 즉각적으로 에러를 확인할 수 있도록 지원하고, 이에 대한 대응이 이루어지도록 한다.
더욱이, 패킷 미러링 장치(200)는 미러링된 패킷을 분석하여 악의적인 사용자로부터의 접근(보안 이슈 관련)을 추적할 수 있고, 이에 대한 대응도 실시간으로 이루어질 수 있도록 한다.
본 발명의 상기 실시예에 따르면, 패킷 미러링 장치(200)는 상기 스위칭 장치에 연결되므로, 서버단(230~250)에 실질적으로 부하를 주는 에이전트(agent) 설치를 요구하지 않을 수 있다. 즉, 서버단(230~250)의 작업속도를 늦추는 등의 부담을 주지 않는다. 다만, 본 발명의 패킷 미러링 장치(200)가 반드시 하드웨어적으로 구성되어야 하는 것은 아니고, 소프트웨어적으로, 스위칭 장치나 기타 다른 장치에 설치되어 동작할 수 있다.
도 3은 본 발명의 일 실시예에 따른 패킷 미러링 장치와 네트워크의 다른 장치와의 연결 구성을 나타낸 블록도이다.
도 3을 참조하면, 인터넷(320)과 같은 네트워크에 라우터(322)가 연결되어 있고, 라우터(322)는 스위치(324)와 연결되어 클라이언트 단말(미도시)의 요청과 관련된 서버들(330-1~330-3)로 상기 요청을 전송하고, 서버들(330-1~330-3)로부터 요청에 대한 응답과 관련된 정보를 클라이언트 단말로 전송한다.
라우터(322) 또는 라우팅 기능을 갖는 공유기(미도시)는 인터넷(320)을 통해 클라이언트 단말로부터 전송된 패킷의 위치 및 수신처를 추출하여, 그 위치에 대한 최적의 경로를 지정하며, 이 경로를 따라 데이터 패킷을 스위치(324)로 전향시킨다. 라우터(322)는 IP 주소를 식별하여 데이터를 스위치(324)로 포워딩한다.
스위치(324)는 각 서버들(330-1~330-3)의 고유한 MAC 주소를 기억하고 있다가, 이 주소를 통해 어떤 패킷이 어디로 전송되어야 하는지 판단하여 라우터(322)로부터 제공받은 패킷을 해당 서버(330-1~330-3)로 전송한다. 스위치(324)는 OSI 2 계층, OSI 3계층, OSI 4계층 및/또는 다른 계층(예컨대, OSI 7계층)의 역할을 하는 스위치를 포함한다. 예컨대, 경로를 설정하는 기능을 수행할 수 있다. 또한, 로드밸런싱이나 포트포워딩, QoS 등의 기능을 수행할 수도 있다. 스위치(324)는 네트워크 스위치, 스위칭 허브, 포트 스위칭 허브 등으로 불릴 수 있다.
패킷 미러링 장치(300)는 스위치(324)와 연결되어 스위치(324)를 통해 서버(330-1~330-3)로 제공되는 거의 모든 패킷을 미러링하여 획득한다. 패킷 미러링은, 즉, 패킷의 복제 또는 캡처(capture)는 스위치(324)에서 수행될 수 있다. 경우에 따라 패킷 미러링 장치(300) 자체에서 이루어질 수도 있다. 스위치(324)는 서버(330-1~330-3)로 제공되는 패킷을 복제한 후, 패킷 미러링 장치(300)와 연결된 포트를 목적지 포트(destination port)로 설정하여 패킷 미러링 장치(300)로 제공할 수 있다. 이때, 해당 포트를 분석용도로 지정하여 제공할 수 있다.
도 4는 본 발명의 일 실시예에 따른 패킷 미러링 장치의 각 구간별 동작을 설명하기 위한 개념도이다.
도 4를 참조하면, 도 2 및 도 3에서 설명한 바와 같이, 클라이언트 단말(410)은 인터넷(420)을 통해 패킷들을 서버단(430, 440, 450)으로 전송하고, 이때, 인터넷(420)과 서버(430) 사이에는 라우터(422) 및 스위치(424)가 존재하며, 스위치(424)에 패킷 미러링 장치(400)가 연결된다.
패킷 미러링 장치(400)는 미러링된 패킷을 분석하여 클라이언트 단말(410)에서의 사용자 체감 지연시간을 확인할 수 있다. 또한, 인터넷(420)을 통해 최초 서버(430)까지의 트래픽과 연관된 정보를 파악할 수 있고, 서버단(430, 440, 450)에서의 응답대기시간(latency)도 확인할 수 있다. 특히 서버단(430, 440, 450)의 응답대기시간은 각 구간별로 판단된다. 웹 서버(430)와 WAS(440) 구간과 WAS(440)와 DB 서버(450) 구간의 응답대기시간은 별도로 산출되고 취급된다. 웹 응답대기시간(Web latency)과 앱 응답대기시간(App latency)은 별도 산출될 수 있다. 여기서, 웹 응답대기시간은 정적 URL(이미지(gif, png, jpg 등), css, js, 텍스트 등)이 웹 서버(430)로부터 데이터를 받을 때까지의 응답지연시간을 나타내고, 앱 응답대기시간은 동적 URL(Dynamic URL)이나 포스트 URL(POST URL)로부터 생성된 페이지의 첫 번째 패킷을 받을 때까지의 응답지연시간을 의미한다. 앱 응답대기시간은 쿼리 파라미터(query parameter)가 포함된 동적인 컨텐츠, HTML, ASP, JSP, PHP 등 동적컨텐츠(page) 및/또는 HTTP POST 메서드(method)를 사용한 호출과 연관될 수 있다. 즉, 이는 WAS 서버(440) 및/또는 DB 서버(450)를 경유하여 리턴되는 작업과 연관된 응답대기시간을 나타낸다.
먼저, 클라이언트 단말(410)에서 사용자의 체감 속도는 페이지 로딩 시간으로 파악된다. 이는 각 주요 웹 페이지에 대한 사용자별 체감속도로써 분석되고 시각화된다. 즉, 특정 웹 페이지에 접속하는 사용자가 다수인 경우, 다수의 사용자의 사용자 환경별, 및/또는 지역별 체감시간을 파악할 수 있다. 사용자 환경은 지역, 클라이언트 단말에 설치된 OS, 웹 브라우저의 종류 및 단말의 종류별로 다르게 파악될 수 있다. 또한, 지역별 접속현황 및 분포 모니터링 환경을 제공할 수 있다. 이때, 지역별 접속현황은 세계지역 전체를 대상으로 하는 글로벌 지역현황과 국내지역을 대상으로 하는 로컬 지역현황으로 구분하여 제공될 수 있다.
서버(430)까지의 사용자 구간(네트워크 구간)에 대한 실제 트래픽 발생 현황은 네트워크 왕복도달시간(RTT: Round Trip Time)으로 표현될 수 있다. 이는 네트워크 소요시간으로도 불릴 수 있다. 여기에, 사용량과 관련하여, 초당 데이터 전송속도를 나타내는 BPS(Bit Per Second) 정보, 초당 연결되는 사용자의 수를 나타내는 UPS(User Per Second) 정보, 초당 연결되는 새로운 세션의 개수를 나타내는 CPS(Connection Per Second) 정보 및 초당 발생하는 트랜잭션의 개수를 나타내는 TPS(Transaction Per Second) 정보의 현황도 파악가능하다. 또한, 사용자 애플리케이션을 모니터링할 수 있고, 사용자에 의한 비정상 행위도 분석 및 추적가능하다. 이러한 성능관련지표들을 통해 네트워크 트래픽을 점유하고 있는 애플리케이션을 인지할 수 있고, 사용자, 애플리케이션 및 네트워크의 상관관계를 모니터링할 수 있다.
추가적으로, 패킷 미러링 장치(400)는 각 서버들(430, 440, 450) 사이의 응답지연시간도 파악가능하다. 즉, 서버 구간별 응답품질지표을 파악할 수 있는데, 여기에는, 서버별 응답 지연시간, 서버별 응답대기 세션수(wait) 및 어플리케이션 URI별 지표 및/또는 DB 서버의 쿼리(DB Query)별 지표를 파악할 수 있다.
도 5는 본 발명의 일 실시예에 따른 패킷 미러링 장치를 구체적으로 나타낸 블록도이다. 도 5에 도시된 바와 같이, 본 발명의 일 실시예에 따른 패킷 미러링 장치(500)는 포트(510), 패킷 분석 모듈(520), 서비스 모듈(530) 및 유저 인터페이스(540)를 포함할 수 있다. 또한, 패킷분석 데이터베이스(522) 및 서비스 데이터베이스(532)를 더 포함할 수 있다.
도 5를 참조하면, 포트(510)는 적어도 하나 이상 구비될 수 있고, 이는 스위치 장치들(524-1, 524-2, ...)과 연결된다. 하나의 포트는 하나의 스위치 장치와 연결될 수 있다. 연결된 포트들은 스위치 장치들(524-1, 524-2, ...)로부터 미러링된 패킷 정보를 수신하여 패킷 분석 모듈(520)로 상기 미러링된 패킷을 전송한다.
패킷 분석 모듈(520)은 미러링된 패킷을 수집하고, 실질적으로 패킷을 분석한다. 이는 분석 엔진(engine)이라 불릴 수 있다. 패킷 분석 모듈(520)은 미러링된 패킷에서 1차적으로 패킷의 헤더를 분석한다. 이를 통해, HTTP 패킷인지, DB와 연관된 패킷인지, TCP와 연관된 패킷인지 구분한다. 즉, 어떤 프로토콜과 연관된 패킷인지 구분한다. 이를 통해 "GET/웹 주소/HTTP/1.1"과 같은 요청 정보를 어떤 서버로 전송했는지 확인할 수 있다. 패킷 분석 모듈(520)은 이러한 패킷 헤더 정보를 파싱하여 구문해석한다. "GET"은 요청 메시지가 되고, "웹 주소"는 요청과 연관된 웹 주소를 나타낸다. 그리고, "HTTP/1.1"은 HTTP 1.1 버전인 것을 의미하며, 이외에 패킷과 연관된 언어 정보(예컨대, ko-kr)도 확인하여 저장할 수 있다. 요청 매소드는 GET 외에도, POST, HEAD, PUT, DELETE 등이 상황에 따라 전송될 수 있고, 패킷 분석 모듈(520)을 이러한 정보를 시간정보, 관련 IP와 함께 저장한다.
패킷 분석 모듈(520)은 각각의 패킷의 인덱스를 부여하고, 부여된 인덱스를 기반으로, 어떤 패킷인지, 해당 패킷인 HTTP 기반의 요청 패킷인지, 그에 대한 응답 패킷인지를 확인한다. 이때, 과거 수신했던 패킷들로부터 획득한 정보와의 비교분석도 수행된다. 즉, 제 1 개체로부터 획득된 요청 패킷이 존재하는 경우, 이후 제 2 개체로부터 그에 대한 응답 패킷이 존재할 수 있고, 이때, 시계열적인 적어도 둘 이상의 패킷, 제 1 개체와 제 2 개체로부터 송수신되는 패킷을 기반으로 하나의 세션확립, 트랜잭션의 흐름들을 분석할 수 있다.
또한, 패킷 분석 모듈(520)은 클라이언트 단말이 어떤 브라우저를 사용했는지, HOST와 연관된 정보, 이전 URL 주소 정보, 브라우저 지원 언어 정보를 파싱할 수 있다. 이때, 헤더가 어떤 종류의 헤더(general header인지, request header인지, entity header인지)인지 분석할 수 있고, 헤더와 페이로드의 경계선을 나타내는 정보를 파싱할 수 있다.
그리고는, 패킷 분석 모듈(520)은 2차적으로, 미러링된 패킷의 URL(Uniform Resource Locator)(또는 URI(uniform resource identifier)), 소스 IP(Source_ip), 목적지 IP(Dest_ip) 및 시간정보를 분석한다. 여기서, URL 값을 확인해 보면, "https://www.google.co.kr/?gws_rd=ssl"와 같이, 어떤 주소로 리디렉트(redirect)시켜주는 패킷인지 확인할 수 있다. 또한, 소스 IP는 클라이언트 단말의 IP 주소를, 목적지 IP는 요청의 최종 목적지 사이트와 연관된 서버의 IP를 나타낼 수 있다. 응답 패킷의 경우 반대의 정보를 나타낼 수 있다. 시간정보는 타임스탬프 형식으로 제공될 수 있다. 이외에 전체 패킷의 길이 정보(length)도 확인할 수 있다.
패킷 분석 모듈(520)은 각각의 프로토콜, 예컨대, HTTP, IP, UDP, TCP, DNS 등 다양한 프로토콜에 대응한 패킷 분석 알고리즘을 포함하고 있고, 각 프로토콜에 맞게 적응적으로 패킷으로부터 URL, 소스 IP, 목적지 IP 및 시간정보를 추출하여 분석에 이용할 수 있다.
이렇게 2차 분석으로 추출된 패킷 관련 정보를 기반으로 1 트랜잭션당 약 120개 요소의 성능지표 정보를 생성할 수 있다. 바람직하게는, 1초에 6000개의 트랜잭션을 분석한다. 그리고는 상기 추출된 패킷 관련 정보 및 트랜잭션당 생성된 120여 개의 성능지표 정보를 데이터베이스(522)에 저장한다. 이하, 미러링된 패킷의 패킷 관련 정보를 기반으로 생성되는 성능관련 지표를 보다 상세히 설명한다.
패킷 분석 모듈(520)은 트랜잭션 단위로, 왕복도달시간 정보(RTT 정보)를 산출한다. 즉, 데이터 신호의 왕복시간 정보를 산출한다. RTT 정보의 산출과 관련된 알고리즘은 이하 도 7을 통해 보다 상세히 설명한다.
그리고, 패킷 분석 모듈(520)은 세션 정보를 생성한다. 이는 초당 확립되어 있는 소켓의 수, 즉, 끊지 않고 연결되어 있는 소켓의 수를 나타낼 수 있다. 또한, 패킷 분석 모듈(520)은 클라이언트가 요청을 보내고, 특정 서버로부터 응답을 받기 전까지 걸린 응답대기시간(Latency) 정보를 산출한다. 이는 데이터베이스를 쿼리하거나 애플리케이션이 수행되거나 기타 작업을 하면서 걸리는 대기시간이라고 볼 수 있다.
패킷 분석 모듈(520)은 초당 전송 또는 수신되는 비트(bit)의 크기를 나타내는 BPS 정보, 초당 전송 또는 수신되는 패킷의 개수 정보를 나타내는 PPS(Packet Per Second) 정보, 초당 연결되는 사용자의 수(IP 기준)를 나타내는 UPS 정보를 산출한다. 이는 1초에 몇 명의 사용자가 연결되고 있는지를 특정 목적지 IP에 연결되는 소스 IP의 수를 기반으로 산출할 수 있다. 이외에, 초당 연결되는 새로운 세션의 수를 나타내는 CPS 정보(1초에 몇 개의 세션이 새롭게 연결되는지를 나타냄), 초당 발생하는 트랜잭션의 개수를 나타내는 TPS 정보(1초에 몇 개의 트랜잭션이 발생하는지를 나타냄)를 산출한다. 그리고, 패킷 분석 모듈(520)은 초당 요청하는 URL의 수를 나타내는 HPS(Hit Per Second) 정보를 산출한다. 이때, 패킷 분석 모듈(520)은 서버 HPS의 경우, 해당 서버에서 초당 몇 개의 URL이 요청되는지를 기반으로 HPS를 산출하고, 클라이언트 HPS의 경우, 해당 클라이언트에서 초당 몇 개의 URL이 요청하고 있는지를 기반으로 HPS를 산출한다. 그리고, 패킷 분석 모듈(520)은 초당 연결되는 서버의 개수 정보인 SPS(Server Per Second) 정보를 산출한다. 이는 클라이언트가 1초에 몇 개의 서버에 연결되어 있는지를 나타낸다.
이외에, 패킷 분석 모듈(520)은 응답 대기 세션 수를 나타내는 wait 정보를 산출한다. 이는 클라이언트가 요청을 보내고 응답을 받지 못한 상태의 세션 수로써, 서버의 실시간 세션이 100개인데 이중 Wait가 10이면 100개 중 10개의 Session은 아직 응답을 받지 못한 상태라는 것을 나타낸다.
더욱이, 패킷 분석 모듈(520)은 client_ip, server_ip, client_port, server_port 정보를 생성한다. 이는 각각 클라이언트의 IP 정보, 서버의 IP 정보, 클라이언트의 포트 정보 및 서버의 포트 정보를 나타낸다. 이때, client_ip 및 server_ip 정보는 스트링(string)을 단위로 사용하고(예컨대, 222.103.141.187), client_port 및 server_port 정보는 넘버(number)를 단위로 사용한다(예컨대, 1254 또는 80).
패킷 분석 모듈(520)은 transaction_number 정보를 산출할 수 있다. transaction_number 정보는 세션이 맺어진 후 생성된 트랜잭션 번호이다. 세션이 맺어진 후 첫 번째 트랜잭션일 경우 1을 나타낸다. 보통, 세션을 한 번 맺은 후 여러 개의 트랜잭션이 발생하는데, 이때마다 1씩 숫자를 늘려가면서 인덱싱한다. 브라우저로 한 페이지를 볼 경우, 페이지 안의 각 컴포넌트들(js, css, image 등)을 요청할 때 한 세션으로 여러 트랜잭션을 처리하는 경우에 트랜잭션당 1씩 증가하면서 인덱싱하여 이를 구분할 수 있다. 예컨대, 8의 transaction_number 정보를 갖는 경우, 세션이 맺어진 후 8번째 Transaction 이었음을 나타낸다.
패킷 분석 모듈(520)은 트랜잭션의 시작과 종료와 관련하여, start_time 정보, start_usec 정보, end_time 정보, end_usec 정보, fin_time 정보 및 fin_usec 정보를 생성한다. 이는, 미러링된 패킷의 소스 ip, 목적지 ip 및 타임 정보를 기반으로 동일한 소스(클라이언트)와 목적지(예컨대, 서버)에서 일정한 시간 구간 내에서 요청 패킷을 주고 그와 관련된 데이터를 모두 수신하였는지에 대한 세부내역을 분석함으로써 획득될 수 있다.
start_time 정보는 트랜잭션 시작 시간(년월일 시분초: 예컨대, 2012-07-18 22:33:06)을, start_usec 정보는 Transaction 시작 시간(백만분의 1초)을 나타낸다. start_usec 정보는 상기 start_time과 합쳐서 완성된 시간이 될 수 있다(예컨대, 2012-07-18 22:33:06.288370).
end_time 정보는 트랜잭션 종료 시간을 나타낸다. 즉, 데이터의 종료(트랜잭션의 마지막 Response Data를 받은 시간)을 나타낸다. 예컨대, 2012-07-18 22:33:12로 표현될 수 있다.
end_usec 정보는 트랜잭션 종료 시간을 백만 분의 1초 단위로 나타낸 것이다.
fin_time 정보는 트랜잭션이 종료된 후, 다음 트랜잭션이 오거나, 트랜잭션이 완료(Fin을 받음)되거나 타임아웃(Timeout)으로 끝나거나 하여 완전히 종료된 시간을 나타낸다. 예컨대, 2012-07-18 22:35:23로 표현될 수 있다.
fin_usec 정보: 트랜잭션 완전종료 시간을 백만 분의 1초 단위로 나타낸 것이다.
패킷 분석 모듈(520)은 트랜잭션 상태를 "state"라는 정보 이름으로 저장한다. 이는 7개의 넘버로써 표현될 수 있으며, 다음과 같다.
트랜잭션 상태 코드(Code)
1 - session_finish : 초기상태
2 - 3whs_syn_sent : 3 handshake 중 클라이언트가 syn을 보낸상태
3 - 3whs_syn_received : 3 handshake 중 클라이언트가 syn/ack를 받은상태
4 - 3whs_ack_received : 3 handshake 중 서버가 ack를 받은상태
5 - session_connected : 세션이 맺어진 상태
6 - session_request : 클라이언트가 Request(요청)을 한 상태
7 - session_response : 서버가 Response(응답)을 한 상태
다음으로, 트랜잭션 결과를 "result"라는 정보 이름으로 저장한다. 이는 11개의 넘버로써 표현될 수 있으며, 다음과 같다.
트랜잭션 결과 코드
1 - trans_finish : 한 트랜잭션이 끝난 상태
2 - client_finish : 세션을 클라이언트가 종료한 상태 (Finish-FIN을 보냄)
3 - server_finish : 세션을 서버가 종료한 상태 (Finish-FIN을 보냄 )
4 - client_reset : 세션을 클라이언트가 종료한 상태 (Reset-RST를 보냄 )
5 - server_reset : 세션을 서버가 종료한 상태 (Reset-RST를 보냄 )
6 - client_timeout : 클라이언트가 요청을 보내는 중 Timeout에 걸려 종료된 상태
7 - server_timeout : 서버가 응답을 보내는 중 Timeout에 결려 종료된 상태
9 - session_error : HTTP 세션 오류
10 - req_parser_error : HTTP Request Header 오류
11 - rsp_parser_error : HTTP Response Header 오류
다음으로, 패킷 분석 모듈(520)은 트랜잭션의 응답 지연과 관련된 시간 정보를 산출한다. 이는 tran_latency, tran_rsp_time, used_time, 및 fin_used_time 정보를 포함한다.
tran_latency 정보는 트랜잭션 응답대기시간을 나타낸다. 이는 클라이언트가 요청을 보낸 후 서버로부터 첫 데이터를 받기까지의 대기 시간을 나타낸다. 이는 백만 분의 1초를 단위로 한다. 예컨대, 76328 값을 가질 수 있다. tran_rsp_time는 트랜잭션 응답 시간으로써, 응답 데이터의 전송 시간을 나타낸다. 즉, 서버가 응답 데이터를 전송한 시간을 나타낸다. 이 역시, 백만 분의 1초를 단위로 사용한다. used_time 정보는 트랜잭션 전체 사용 시간으로, "End Time - Start Time"으로 산출될 수 있다. 이는 클라이언트와 서버간 세션이 맺어지고 클라이언트의 요청과 서버의 응답까지 모두 끝날 때까지 걸린 시간을 나타낸다. fin_used_time 정보는 트랜잭션 완전종료까지의 사용 시간으로, "Fin Time - Start Time"으로 산출된다.
패킷 분석 모듈(520)은 session_req_pkts, session_req_bytes, session_rsp_pkts, session_rsp_bytes, session_bps, sess_max_bps, session_pps, sess_max_pps 정보를 산출한다.
session_req_pkts 정보는 트랜잭션 요청 데이터 패킷의 수를 나타내며, 이는 특정 클라이언트가 요청 데이터로써 보낸 패킷의 수를 기반으로 산출된다. 이는 넘버를 단위로 한다. session_req_bytes 정보는, 트랜잭션의 요청 데이터의 바이트를 나타내며, 특정 클라이언트가 요청 데이터로써 보낸 바이트의 양을 기반으로 산출된다. 단위는 byte이다. session_rsp_pkts 정보는, 트랜잭션 응답 패킷의 수를 나타내며, 특정 서버가 클라이언트로 보낸 응답 데이터의 패킷 수를 기반으로 산출된다. 넘버를 단위로 한다. session_rsp_bytes 정보는 트랜잭션의 응답 데이터의 바이트를 나타내며, 특정 서버가 응답 데이터로써 보낸 바이트의 양을 기반으로 산출된다. 단위는 byte이다. session_bps 정보는 세션의 실시간 BPS를 나타내며, 현재 맺어진 세션의 BPS를 기반으로 산출된다. 단위는 넘버이다. session_pps 정보는 세션의 실시간 PPS를 나타내며, 현재 맺어진 세션의 PPS를 기반으로 산출된다. 단위는 넘버이다. sess_max_pps 정보는 세션의 최대 PPS를 나타내며, 해당 세션이 사용될 기간동안의 최대 PPS를 기반으로 산출된다. 단위는 넘버이다.
다음으로, 패킷 분석 모듈(520)은 domain, url, method, 및 response_code_number 정보를 생성한다.
domain 정보는 클라이언트가 요청한 Url 중 도메인과 연관된 정보를 나타낸다. 이는 스트링을 단위로 한다. 예컨대, "www.lgmobile.co.kr"과 같은 정보를 나타낸다.
url 정보는 클라이언트가 요청한 Url로써, "/jsp/front/search/include/akc.jsp"와 같은 정보를 나타낸다. 단위는 스트링이다.
method 정보는 요청 메소드(POST, GET, HEAD, PUT ...)의 종류로써, 클라이언트가 요청한 요청 메소드의 타입을 나타낸다. 단위는 스트링이다.
response_code_number 정보는 응답 결과로써, HTTP 상태 코드로 나타낸다. 예컨대, 서버가 응답한 Response Status Code로 "200, 304, 404, 500 …" 중 하나의 값으로 표현될 수 있다. 단위는 스트링이다.
패킷 분석 모듈(520)은 특정 url과 관련하여, users, max_users, sessions, max_sessions, wait, max_wait, ups, max_ups, cps, max_cps, tps, max_tps, latency, max_latency, idle 정보를 산출한다.
users 정보는 해당 Url의 실시간 사용자(Client IP기준)의 수를 나타내며, 예컨대, "/jsp/front/search/include/akc.jsp의 실시간 사용자 수"를 나타낼 수 있다. 단위는 넘버이다.
max_users 정보는, Url이 사용되고 있을 시간 동안의 해당 Url의 최대 사용자수로서, 예컨대, "/jsp/front/search/include/akc.jsp의 최대 사용자 수"를 나타낸다. 단위는 넘버이다.
sessions 정보는 해당 Url의 실시간 세션 수를 나타내며, 예컨대, "/jsp/front/search/include/akc.jsp의 실시간 Session 수"를 나타낼 수 있다. 단위는 넘버이다.
max_sessions 정보는, Url이 사용되고 있을 시간 동안의 해당 Url의 최대 세션 수를 나타내며, 예컨대, "/jsp/front/search/include/akc.jsp의 최대 Session 수"를 나타낼 수 있다. 단위는 넘버이다.
wait 정보는 해당 Url의 실시간 Wait 수로써, 예컨대, "jsp/front/search/include/akc.jsp의 실시간 응답대기 세션 수"를 나타낼 수 있다. 단위는 넘버이다.
max_wait 정보는 Url이 사용되고 있을 시간 동안의 해당 Url의 최대 응답대기 세션 수로써, 예컨대, "/jsp/front/search/include/akc.jsp의 최대 응답대기 세션 수"를 나타낼 수 있다. 단위는 넘버이다.
ups 정보는 해당 Url의 실시간 UPS를 나타내며, 예컨대, "/jsp/front/search/include/akc.jsp의 실시간 UPS"를 나타낼 수 있다. 이는 "/jsp/front/search/include/akc.jsp에 초당 연결되는 사용자 수"를 의미한다. 단위는 넘버이다.
max_ups 정보는 해당 Url의 Max UPS를 나타내며, 예컨대, "/jsp/front/search/include/akc.jsp의 최대 UPS"를 나타낼 수 있다. 단위는 넘버이다.
cps 정보는 해당 Url의 실시간 CPS를 나타내며, 예컨대, "/jsp/front/search/include/akc.jsp의 실시간 CPS"를 나타낼 수 있다. 이는 "/jsp/front/search/include/akc.jsp에 초당 연결되는 세션 수"를 의미한다. 단위는 넘버이다.
max_cps 해당 Url의 Max CPS를 나타내며, 예컨대, "/jsp/front/search/include/akc.jsp의 최대 CPS"를 나타낼 수 있다. 단위는 넘버이다.
tps 정보는 해당 Url의 실시간 TPS를 나타내며, 예컨대, "/jsp/front/search/include/akc.jsp의 실시간 TPS"를 나타낼 수 있다. 이는 "/jsp/front/search/include/akc.jsp의 초당 발생하는 트랜잭션 수"를 의미한다. 단위는 넘버이다.
max_tps 정보는 해당 Url의 Max TPS를 나타내며, 예컨대, "/jsp/front/search/include/akc.jsp의 최대 TPS"를 나타낼 수 있다. 단위는 넘버이다.
latency 정보는 해당 Url의 Latency로써, 예컨대, "jsp/front/search/include/akc.jsp의 실시간 Latency(응답대기시간)"를 나타낼 수 있다. 단위는 넘버이다.
max_latency 정보는 해당 Url의 Max Latency를 나타내며, 예컨대, "/jsp/front/search/include/akc.jsp의 최대 Latency(응답대기시간)"을 나타낼 수 있다. 단위는 넘버이다.
idle 정보는 해당 Url의 Idle을 나타내며, 예컨대, "/jsp/front/search/include/akc.jsp의 요청이 없었던 시간"을 나타낼 수 있다. 해당 Url이 많이 쓰이는 Url일 경우 Idle은 짧아지고 반대로 많이 쓰이지 않는 Url일 경우 Idle이 길어진다. 단위는 넘버이다.
패킷 분석 모듈(520)은 클라이언트의 요청 패킷 및 서버로부터의 응답 패킷의 헤더를 분석하여 content_len, mime, referrers, agent, cookie 정보를 생성할 수 있다.
content_len, 정보는 응답 헤더의 콘텐츠 길이를 나타내며, 서버가 보낸 응답 HTTP 헤더 중 포함된 콘텐츠의 길이를 나타낸다. 예컨대, "/jsp/front/search/include/akc.jsp의 byte"를 의미할 수 있다. 단위는 스트링이다.
mime 정보는 응답 헤더 콘텐츠 타입을 나타낸다. 예컨대, text/html 등 중 하나일 수 있다. 이는 서버가 보낸 응답 HTTP 헤더 중 포함된 콘텐츠 타입 정보이다. 단위는 스트링이다.
referrers 정보는 요청 헤더의 리퍼러(Referrer)를 나타내며, 클라이언트가 보낸 요청 HTTP 헤더 중 포함된 리퍼러(Referrer)를 나타낸다. 예컨대, "/jsp/front/search/include/akc.jsp의 리퍼러는 http://www.lgmobile.co.kr/jsp/front/search/include/miniAkc.html임"과 같은 의미로 고려될 수 있다. 단위는 스트링이다.
agent 정보는 요청 헤더의 에이전트(Agent)를 나타내며, 이는 클라이언트가 보낸 요청 HTTP 헤더 중 포함된 에이전트를 나타낸다. 이 정보는 브라우저가 포함시켜서 보내는 경우가 많고, OS 버전, 브라우저 종류, 버전 등의 정보를 포함할 수 있다.
cookie 정보는 요청 헤더의 쿠키(cookie)를 나타내며, 클라이언트가 보낸 요청 HTTP 헤더 중 포함된 쿠키와 연관된 정보를 담고 있다.
패킷 분석 모듈(520)은 특정 서버의 네트워크 서비스와 관련된 정보로써, server_countrys, server_max_countrys, server_error, server_user, server_max_user, server_sessions, server_max_sessions, server_bps, server_max_bps, server_pps, server_max_pps, server_rtt, server_max_rtt, server_ups, server_max_ups, server_cps, server_max_cps, server_tps, server_max_tps, server_hps, server_max_hps, server_wait, server_max_wait, server_idle 정보를 생성할 수 있다.
server_countrys 정보는 해당 서버의 실시간 나라 수를 나타낸다. 예컨대, "203.247.157.199 서버에 연결된 사용자들의 실시간 나라 수"를 의미할 수 있다. 이를 기반으로 203.247.157.199 서버에는 현재 두 개의 나라가 연결되어 있다는 사실을 분석해낼 수 있다.
server_max_countrys 정보는 해당 서버의 Max Country 수를 나타낸다. 즉, 등록된 서버의 경우 Max 기준은 하루를 나타낼 수 있다. 이는 사용자 설정사항으로 변경 가능하다. 예컨대, "203.247.157.199 서버에 연결된 최대 나라 수"를 의미할 수 있다. 이를 통해, 203.247.157.199 서버에는 최대 10개의 나라에서 동시에 연결되었던 적이 있다는 사실을 분석해 낼 수 있다.
server_error 정보는 해당 서버의 실시간 에러(400, 500대 Response Code)의 수를 나타낸다. 예컨대, 203.247.157.199 서버가 응답한 Response Status Code 중 400~599까지의 사용자 에러 및/또는 서버 에러의 수를 나타낼 수 있다.
server_user 정보는 해당 서버의 실시간 사용자 수(Client IP 기준)를 나타낸다. 예컨대, "203.247.157.199 서버의 실시간 사용자 수"를 의미할 수 있다.
server_max_user 정보는 해당 서버의 최대 사용자 수를 나타낸다. 여기서, 등록된 서버의 경우 Max의 기준은 하루일 수 있다. 이는 사용자 설정사항으로 변경 가능하다. 예컨대, 이는 "203.247.157.199 서버의 최대 사용자 수"를 나타낼 수 있다.
server_sessions 해당 서버의 실시간 세션 수를 나타낸다. server_max_sessions 정보는 해당 서버의 Max 세션 수를 나타낸다. server_bps 정보는 해당 서버의 실시간 BPS를 나타낸다. server_max_bps 정보는 해당 서버의 Max BPS를 나타낸다. server_pps 정보는 해당 서버의 실시간 PPS를 나타낸다. server_max_pps 정보는 해당 서버의 Max PPS를 나타낸다.
server_rtt 정보는 해당 서버의 실시간 RTT를 나타낸다. server_max_rtt 정보는 해당 서버의 Max RTT를 나타내며, 예컨대, 이는 "203.247.157.199 서버의 최대 평균 RTT"로 해결될 수 있다. server_rtt 정보 및 server_max_rtt 정보의 단위는 micro sec이다.
server_ups 정보는 해당 서버의 실시간 UPS를 나타낸다. 이는 "203.247.157.199 서버의 실시간 UPS"를 나타낼 수 있고, 이는 203.247.157.199 서버에는 초당 1명 정도의 사용자가 연결되고 있음을 의미한다.
server_max_ups 정보는 해당 서버의 Max UPS를 나타낸다.
server_cps 정보는 해당 서버의 실시간 CPS를 나타내고, 예컨대, "203.247.157.199 서버의 실시간 CPS"를 나타낼 수 있다. 이는 203.247.157.199 서버에는 초당 15개 정도의 세션이 연결되고 있음을 의미한다.
server_max_cps 정보는 해당 서버의 Max CPS를 나타낸다.
server_tps 정보는 해당 서버의 실시간 TPS를 나타내며, 예컨대, "203.247.157.199 서버의 실시간 TPS"를 나타낼 수 있다. 이는 203.247.157.199 서버에는 초당 79개 정도의 트랜잭션이 발생되고 있음을 나타낸다.
server_max_tps 정보는 해당 서버의 Max TPS를 나타낸다.
server_hps 정보는 해당 서버의 실시간 HPS를 나타낸다. 예컨대, "203.247.157.199 서버의 실시간 HPS"를 나타낼 수 있다. 이는 203.247.157.199 서버r에는 초당 79개 정도의 Url이 요청되고 있음을 의미한다.
server_max_hps 정보는 해당 서버의 Max HPS를 나타낸다.
server_wait 정보는 해당 서버의 Wait 수를 나타낸다. 예컨대, "203.247.157.199 서버의 실시간 Wait 수"를 나타낼 수 있다. 이는 203.247.157.199 서버에는 현재 206개의 세션 중 46개의 세션이 응답대기 중임을 타나낼 수 있다.
server_max_wait 정보는 해당 서버의 Max Wait 수를 나타낸다.
server_idle 정보는 해당 서버의 Idle Time을 나타낸다. 예컨대, "203.247.157.199 서버에 요청이 없었던 시간"을 나타낼 수 있다. 해당 서버가 접속자가 많은 경우 Idle은 짧아지고 접속자가 작을 경우 Idle이 길어진다. 단위는 micro sec이다.
본 발명의 실시예에 따르면, server_countrys, server_max_countrys, server_error, server_user, server_max_user, server_sessions, server_max_sessions, server_bps, server_max_bps, server_pps, server_max_pps, server_ups, server_max_ups, server_cps, server_max_cps, server_tps, server_max_tps, server_hps, server_max_hps, server_wait, 및 server_max_wait 정보의 단위는 넘버이다.
패킷 분석 모듈(520)은 특정 클라이언트의 네트워크 서비스와 관련된 정보로써, client_country_code, client_error, client_servers, client_max_servers, client_sessions, client_max_sessions, client_bps, client_max_bps, client_pps, client_max_pps, client_rtt, client_max_rtt, client_sps, client_max_sps, client_cps, client_max_cps, client_tps, client_max_tps, client_hps, client_max_hps, client_wait, client_max_wait 및 client_idle 정보를 생성할 수 있다.
client_country_code 정보는 클라이언트의 나라 코드(KR ..)를 나타낸다. 예컨대, "222.103.141.187 클라이언트의 나라는 KR"을 나타낼 수 있다.
client_error 정보는 클라이언트의 실시간 에러 수를 나타낸다. 예컨대 "222.103.141.187 클라이언트가 요청한 트랜잭션 중 Response Status Code의 400~599까지의 에러 수"를 나타낼 수 있다.
client_servers 정보는 클라이언트의 실시간 서버 접속 수를 나타내고, 이는 현재 패킷 분석 모듈(520)이 모니터링 중인 서버를 기반으로 산출된다. 예컨대, "222.103.141.187 Client가 현재 접속 중인 서버의 수"를 나타낼 수 있다. client_max_servers 정보는 클라이언트의 최대 동시 서버의 수를 나타낸다. client_sessions 정보는 클라이언트의 실시간 세션 수를 나타낸다. client_max_sessions 정보는 클라이언트의 최대 세션 수를 나타낸다.
client_bps 정보는 클라이언트의 실시간 BPS를 나타내고, client_max_bps는 클라이언트의 최대 BPS를 나타내며, client_pps 정보는 클라이언트의 실시간 PPS를 나타내고, client_max_pps 정보는 클라이언트의 최대 PPS를 나타낸다.
client_rtt 정보는 클라이언트의 실시간 RTT를 나타내며, client_max_rtt 정보는 클라이언트의 최대 RTT를 나타낸다. client_rtt 정보 및 client_max_rtt 정보의 단위는 micro sec이다.
client_sps 정보는 클라이언트의 실시간 SPS를 나타내며, 현재 초당 몇 개의 서버에 연결되고 있는지를 나타낸다. client_max_sps 정보는 클라이언트의 최대 SPS를 나타낸다. client_cps 정보는 클라이언트의 실시간 CPS를 나타내고, 이는 초당 몇 개 정도의 세션이 연결되고 있는지를 나타낸다. client_max_cps 정보는 클라이언트의 최대 CPS를 나타낸다. client_tps 정보는 클라이언트의 실시간 TPS를 나타내고, 이는 현재 초당 몇개 정도의 트랜잭션이 발생하고 있는지를 나타낸다. client_max_tps 정보는 클라이언트의 최대 TPS를 나타낸다. client_hps 정보는 클라이언트의 실시간 HPS를 나타내고, client_max_hps 정보는 클라이언트의 최대 HPS를 나타낸다.
client_wait 정보는 클라이언트의 실시간 Wait 수를 나타내며, 현재 특정 클라이언트에서 응답 대기 중인 세션의 수를 나타낸다. client_max_wait 정보는 클라이언트의 최대 Wait 수를 나타내고, client_idle 정보는 클라이언트의 실시간 Idle Time을 나타내며, 이는 특정 클라이언트에서 요청이 없었던 시간을 나타낸다. client_idle 정보의 단위는 micro sec이다.
본 발명의 실시예에 따르면, client_country_code, client_error, client_servers, client_max_servers, client_sessions, client_max_sessions, client_bps, client_max_bps, client_pps, client_max_pps, client_sps, client_max_sps, client_cps, client_max_cps, client_tps, client_max_tps, client_hps, client_max_hps, client_wait, 및 client_max_wait 정보의 단위는 넘버이다.
추가적으로 패킷 분석 모듈(520)은 org, city_id, isp_id, os_id, browser_id, mobile_id, telcom_id 정보를 생성할 수 있다.
org 정보는 IP 기반 클라이언트의 조직을 나타낸다. 예컨대, "222.103.141.187 Client의 조직"은 Korea Telecom임을 나타낼 수 있다.
city_id 정보는 IP 기반 클라이언트의 City Code를 나타낼 수 있다. 예컨대, "222.103.141.187 Client의 City"는 Seoul임을 나타낼 수 있다.
isp_id 정보는 IP 기반 클라이언트의 ISP Code를 나타낸다. 예컨대, "222.103.141.187 Client의 ISP"는 Korea Telecom임을 나타낼 수 있다.
os_id 정보는 클라이언트의 Client의 OS Code를 나타낸다. 이를 통해, 해당 클라이언트가 OS로 Win XP를 사용하는지, iOS를 사용하는지, 안드로이드를 사용하는지에 대한 정보를 확인할 수 있다.
browser_id는 클라이언트의 Browser Code를 나타낸다. 이를 통해, 해당 클라이언트가 웹 브라우저로, explorer를 사용하는지, chrome을 사용하는지, MSIE9를 사용하는지에 대한 정보를 확인할 수 있다.
mobile_id 정보는 클라이언트의 Mobile Code를 나타낸다. 이는 클라이언트의 기기 식별 정보로써, 삼성, 팬택, 애플 기기인지에 대한 정보를 나타낸다.
telcom_id 정보는 클라이언트의 TelCom Code를 나타낸다. 이는 클라이언트의 통신사가 SKT인지 KT인지, LGT인지에 대한 정보를 나타낸다.
상기한 120여 가지의 패킷과 연관된 네트워크 서비스 성능 관련 지표는 실시간으로 생성되어 데이터베이스(522)에 저장된다.
서비스 모듈(530)은 데이터베이스(522)에 저장된 성능 관련 지표를 기반으로 통계를 낸다. 통계는 특정 서버단위로, 특정 사용자 단위로, URL 단위로, 세션 단위로, 특정 지역에 위치한 서버 그룹, 특정 지역에 위치한 클라이언트 그룹 단위로 및/또는 웹페이지 단위로, 이루어질 수 있다. 서비스 모듈(530)은 미리 설정된 다양한 형태의 시각화 툴을 이용하여 사용자가 직관적으로 현재 네트워크에 따른 서비스의 성능을 파악할 수 있도록 상기 성능 관련 지표를 적절히 시각화한다. 시각화는 통계를 기반으로 수행된다. 즉, 특정 매개와 연관된 지표를 취합하여 의미있는 형태의 그래프 또는 테이블을 생성할 수 있다. 예컨대, 특정 클라이언트 또는 서버와 연관하여 특정 시간대에 생성된 세션들의 리스트를 생성한다거나, 그때 발생된 데이터베이스 쿼리에 대한 테이블을 생성하는 등의 작업을 수행한다. 즉, 네트워크 서비스와 연관된 상기 성능 관련 지표들은 해당 패킷의 시간 정보(타임스탬프 정보)와 함께 저장되므로, 특정 시간대의 패킷 흐름을 클라이언트 단말 및 서버단과의 관계 속에서 이해할 수 있도록 플로우 맵(flow map)을 생성할 수도 있다. 다양한 통계 및 그에 따른 시각화 방법은 이하의 도면들을 통해 보다 상세히 설명한다.
서비스 모듈(530)은 사용자로부터의 입력에 대응하여 특정 그래프 또는 특정 테이블/리스트를 생성하기 위해서는, 원하는 시간 또는 원하는 환경(예컨대, 특정 웹 브라우저 타입 또는 특정 사용자 단말 종류(모바일인지, PC인지))과 같은 기준(criteria) 변수를 기반으로 검색 및 조회를 할 수 있다. 서비스 모듈(530)은 선택된 기준변수를 기반으로 원하는 데이터를 분류하여 적절한 형태의 시각화 정보를 생성할 수 있다.
본 발명의 실시예에 따르면, 서비스 모듈(530)은 네트워크 서비스에 있어서, 문제가 되는 부분을 찾아서 표시하는 알람 기능을 수행할 수 있다. 예컨대, wait의 수가 임계값 이상인 경우, 해당 구간의 응답속도에 문제가 있다고 판단하여, 해당구간에 문제가 있음을 시각적으로 표시할 수 있다. 문제발생에 따른 경고 수단은 반드시 시각적으로 다르게 표현하는 것 이외에도, 관련된 담당자에게 기 저장된 연락처로 문자 메시지를 전송하거나 e-mail을 전송하는 형태로 구현될 수 있다. 이는 도 12를 통해, 보다 상세히 설명한다.
서비스 모듈(530)에서 생성된 각종 통계 데이터, 시각화 정보 데이터, 시각화 툴과 관련된 정보 및 사용자에 의해 설정된는 각종 임계값 정보는 서비스 데이터베이스(532)에 저장되고, 유저 인터페이스(540)를 통해 사용자가 임의의 가공된 정보를 요청할 때, 그에 대응되는 정보를 반환할 수 있다.
유저 인터페이스(540)는 운영자로부터 각종 입력을 받고, 서비스 모듈(530)에서 생성한 그래프 또는 테이블과 같은 시각화된 정보를 출력하는 장치를 포함한다. 이는 마우스, 키보드, 터치 패드와 같은 입력수단과 모니터, 터치 스크린과 같은 출력수단을 포함할 수 있다. 사용자는 서버에 대한 정보(예컨대, 서버 이름, 서버 IP, 연관된 URL, 포트, 소트 넘버(sort number), 서버의 위치 정보, 처리가능한 IP 영역 등)와 연관된 데이터베이스, 각종 서버단의 연결 관계(링크)와 연관된 플로우(flow) 데이터베이스 및 사용자에게 출력하기 위한 시각화 툴 및/또는 시각화와 연관된 메타데이터를 포함하는 UX/UI 데이터베이스 정보를 입력할 수 있다. 또한, 문제발생 판단을 위한 룰셋 및 룰셋과 연관된 각종 설정값을 입력할 수 있다.
도 6은 본 발명의 일 실시예에 따른 패킷 미러링 장치의 네트워크 성능 진단 방법을 개략적으로 나타낸 흐름도이다.
도 6을 참조하면, 패킷 미러링 장치는 스위칭 장치로부터 미러링된 패킷을 획득한다(S610).
그리고는, 미러링된 패킷에서, 소스 IP, 목적지 IP 및 시간정보를 추출한 후, 각종 성능 관련 지표를 산출한다(S620). 성능관련 지표 중 일부는 트랜잭션 단위로 산출될 수 있고, 특정 성능 관련 지표는 초 단위로 산출될 수도 있다.
그리고는, 패킷 미러링 장치 산출된 성능 관련 지표를 로컬 스토리지 및/또는 외부 데이터베이스에 저장할 수 있다(S630). 그리고, 산출된 성능 관련 지표를 기반으로 클라이언트 단말의 사용자 및/또는 네트워크 관리자가 원하는 통계정보를 시각화하기 위해, 각 지표들에 대한 통계를 내고, 원하는 정보에 대한 검색 및 조회결과를 반환할 수 있다. 또한, 서비스와 연관하여 특정 값 이상인 경우, 네트워크 상의 문제라고 판단하고, 이를 구간별로 또는 웹 사이트별로 표시할 수 있다.
도 7a 및 도 7b는 본 발명의 일 실시예에 따른 패킷 미러링 장치에서 산출되는 사용자와 서버 간의 네트워크 RTT(Round Trip Time) 지표를 나타낸 개념도이다.
도 7a를 참조하면, 패킷 미러링 장치는 사용자와 서버 간의 네트워크 상의 패킷의 왕복도달 시간(RTT) 정보를 산출한다. 이때, 패킷 미러링 장치는 클라이언트와 서버 사이에 있다고 가정한다. 기본적인 동기화 시나리오를 가정하여, 최초 클라이언트가 동기신호(SYN)를 전송하고, 서버는 이를 수신하며, 서버는 수신된 동기신호에 응답하여 동기신호와 응답신호(ACK)를 함께 전송하고, 클라이언트는 서버로부터의 신호에 응답하여 응답신호(ACK)를 전송할 수 있다. 이러한 3개 신호의 송수신을 3-way Handshake라고 부를 수 있다.
이러한 신호 전송 시나리오에서, 패킷 미러링 장치는 클라이언트와 서버 사이에 있기 때문에, 클라이언트에서 출발하여 실제 서버에 동기신호(SYN)가 도착하는 시간보다 이른 T1 시점에 패킷 미러링 장치에 미러링된 패킷이 도착한다. 그리고, 서버로부터의 동기신호 및 응답신호는 클라이언트 도착시점보다 이른 T2 시점에 패킷 미러링장치에 도착한다. 마지막으로, 클라이언트에서의 응답신호(ACK)는 서버에서의 도착시점보다 이른 T3 시점에 패킷 미러링 장치에 도착한다.
이러한 관계에서, 패킷 미러링 장치는 3개 패킷 송수신 시점과 관련하여, T1 내지 T3 시간 정보를 확보할 수 있고, 서버에서의 도달시간에서 일정 시간 이른시점으로 쉬프트된 RTT 값을 "T3-T1"을 이용하여 산출할 수 있다. 이는 네트워크 RTT라고 부를 수 있다.
도 7b를 참조하면, 네트워크 RTT를 보다 세분화하여, 서버에서의 RTT와 클라이언트에서의 RTT를 구분하여 산출할 수 있다. 서버에서의 RTT(sRTT)는 하나의 패킷에 대해 서버 단에서 지연되는 시간을 나타내고, 이는 "T2-T1"을 이용하여 산출할 수 있다.
또한, 클라이언트에서의 RTT(cRTT)는 클라이언트에서의 RTT로써, "T3-T2"를 이용하여 산출할 수 있다.
본 발명의 일 실시예에 따른 패킷 미러링 장치는 상기한 3개의 RTT, 네트워크 RTT, 서버 RTT 및/또는 클라이언트 RTT를 실시간으로 매 트랜잭션마다 산출하여 저장한다.
도 8은 본 발명의 일 실시예에 따른 패킷 미러링 장치에서 산출되는 지연지표를 나타낸 개념도이다.
도 8을 참조하면, 패킷 미러링 장치는 다양한 지연지표를 산출할 수 있다. 이때, 패킷 미러링 장치는 클라이언트와 서버 사이에 존재하며, 클라이언트는 복수 개의 요청 패킷을 서버로 전송하고, 서버는 복수 개의 요청에 대응하여 복수 개의 응답 패킷을 클라이언트로 전송하는 실시예를 가정한다.
패킷 미러링 장치는 패킷 미러링 장치에 최초 클라이언트 요청 패킷이 도달한 T1 시간, 마지막 클라이언트 요청 패킷이 도달한 T2 시간, 서버로부터 최초 응답 패킷이 도달한 T3 시간, 및 서버로부터 마지막 응답 패킷이 도달한 T4 시간을 미러링된 패킷의 도착시간을 통해 획득할 수 있다.
이때, 지연지표 중 요청전송시간(request time) 정보는 클라이언트로부터 서버로의 복수 개의 요청을 전송 시작한 시간부터, 해당 요청이 서버에 도달한 시간을 나타낸다. 이와 관련하여, 패킷 미러링 장치는 cRTT를 반으로 나눈 값을 통해, T1 시점을 기준으로 최초 요청 패킷이 클라이언트에서 출발한 시간을 알 수 있다. 또한, sRTT를 반으로 나눈 값을 통해 마지막 요청 패킷이 실제 서버에 도달한 시간을 알 수 있다. 이러한 산술적인 분석을 통해, "request time = cRTT/2 + (T2-T1) + sRTT/2"를 이용하여 산출할 수 있고, 일반적으로 sRTT 값은 매우 작은 값이므로, cRTT/2 + (T2-T1) 값과 근사한 값으로 산출된다.
다음으로, 응답대기시간(latency)은 클라이언트의 요청과 연관된 URL로부터 요청과 연관된 컨텐츠 또는 데이터를 서버가 수신할 때까지의 응답지연시간을 나타낸다. 즉, 서버는 데이터를 수신하자마자 클라이언트로 전송을 수행한다고 보고, 서버가 해당 URL로부터 요청과 관련된 첫 데이터를 수신할 때까지의 시간을 나타낸다. 이는 결국 (T2-T3)에서 sRTT 값을 뺀 값으로 산출된다. 여기서, sRTT 값을 무시해도 될 정도로 작은 값일 수 있으므로, "T2-T3"가 응답대기시간이 될 수 있다.
다음으로, 응답데이터 전송시간(response time)은 서버가 클라이언트로 요청과 관련된 컨텐츠를 전송하는데 소요되는 시간을 나타낸다. 이는 "response time = sRTT/2 + (T4-T3) + cRTT/2"의 수학식을 이용하여 산출된다. sRTT가 매우 작은 값인 것을 고려하면, 이는 (T4-T3) + cRTT/2 값과 거의 일치한다.
클라이언트 측에서 요청을 전송한 후부터 요청과 관련된 전체 응답 데이터를 수신할 때까지의 이용시간(used time)을 산출하면, 이는 결국 요청전송시간과 응답대기시간 및 응답데이터 전송시간의 합이므로, "used time = (T4-T1) + cRTT"를 이용하여 산출된다.
도 9는 본 발명의 일 실시예에 따른 패킷 미러링 장치에서 산출되는 서버 응답대기 세션 수 지표를 나타낸 개념도이다.
도 9를 참조하면, 서버는 복수 개의 클라이언트로부터 적어도 하나의 요청을 처리하기 때문에, 하나의 서버에서도 상기 요청들과 관련하여 복수 개의 세션들을 처리한다. 이때, 서버에서의 처리 시간이 길어지면 클라이언트에서의 대기시간이 길어지게 되고, 이는 클라이언트 장치의 사용자로 하여금 인내심을 요구하게 된다. 따라서, 서버에서의 이러한 응답대기 세션 수 정보는 상당히 중요한 의미를 갖는다.
응답대기 세션수는 요청과 연관된 복수 개의 세션들 중 서버에서의 처리를 거쳐 실제 응답데이터가 클라이언트로 전송된 세션을 뺀 나머지 세션의 수로 산출된다. 예컨대, 3개의 세션에 대해 1개의 세션에 대한 응답만 이루어진 경우, 응답대기 세션 수, wait = 3-1 = 2로써 산출된다. 즉, 패킷 미러링 장치는 클라이언트와 서버 사이에 존재하여 양자 간에 송수신되는 실제 패킷에 대한 미러링 패킷들을 모두 확보 가능하므로 현재 서버 내에서 처리 중인 응답대기 세션의 수를 명확히 파악할 수 있다.
본 발명의 실시예에 따르면, 서버에서 특정 요청에 대한 처리가 완료되었는지 여부는, 소스 ip와 목적지 ip를 기반으로 특정 URL에 대한 요청에 대한 응답 패킷이 클라이언트로 전송되었는지를 기반으로 확인할 수 있다. 응답 패킷의 경우, 요청 패킷에서 나타난 상기 특정 URL과 연관되어 있으면서, 목적지 ip와 소스 ip가 요청 패킷과 반대로 포함되었는지 여부를 확인함으로써 파악 가능하다.
도 10은 본 발명의 일 실시예에 따른 패킷 미러링 장치에서 산출되는 CPS/TPS(Connection Per Second/Transaction Per Second) 지표를 나타낸 개념도이다.
도 10을 참조하면, 하나의 트랜잭션은 클라이언트와 서버 간에 적어도 하나의 요청과 상기 적어도 하나의 요청에 따른 적어도 하나의 응답데이터 패킷을 포함한다. 도 10의 실시예에서는 하나의 GET 요청에 대해 3개의 응답 데이터 패킷이 하나의 트랜잭션을 이루고 있는데, 이는 반드시 1:3의 관계를 가져야 하는 것은 아니고, 요청 패킷이 더 많고, 해당 요청 패킷에 대응 응답 데이터 패킷이 더 적은 관계를 가져도 무방하다.
이러한 트랜잭션도 네트워크 서비스의 속도 및 지연과 연관하여 중요한 의미를 갖는다. 이에, 패킷 미러링 장치는 초당 새롭게 시도되는 트랜잭션의 수를 산출한다. 이는 TPS라고 한다. 또한, 특정 클라이언트와 특정 서버 간의 연결의 수, 이를 커넥션(connection)이라 부를 수 있는데, 초당 새롭게 시도되는 커넥션의 수를 산출한다. 이는 CPS라고 한다.
이외에도, 초당 연결되는 사용자의 수를 나타내는 UPS(User Per Second) 정보 및 특정 클라이언트, 특정 서버 또는 특정 세션을 통해 초당 송수신되는 데이터의 양을 나타내는 BPS 정보도 주기적으로 산출한다. 초당 송수신되는 패킷의 수를 나타내는 PPS 정보, 초당 요청하는 URL의 수를 나타내는 HPS 정보 및 초당 연결되는 서버의 수를 나타내는 SPS 정보도 역시 주기적으로 산출한다.
도 7a 내지 도 10의 실시예에서, 패킷 미러링 장치가 클라이언트와 서버 사이에 존재하여 클라이언트와 서버 사이에서의 네트워크 지연과 연관된 각종 지표들을 산출하는 실시예를 예시로 들었는데, 패킷 미러링 장치는 서버단의 복수 개의 서버들 사이에 존재하여 서버 간의 지연을 산출할 수도 있다. 예컨대, 웹 서버와 WAS 서버 사이에 존재하여 웹 서버와 WAS 서버 간의 지연지표를 산출할 수 있고, WAS 서버와 DB 서버 사이에 존재하여, WAS 서버와 DB 서버 간의 지연 지표를 산출할 수도 있다. 또한, 복수 개의 패킷 미러링 장치가 복수 개의 서버들을 포함하는 서버단 내에 배치되어 각 구간별 지연지표를 산출하고, 산출된 지연지표를 서로 공유함으로써 전체 서버 네트워크 내의 구간별, 서버별 지연지표를 종합하여 표시할 수도 있다.
본 발명의 다른 실시예에 따르면, 하나의 패킷 미러링 장치를 클라이언트와 웹 서버 사이의 스위치, 웹 서버와 WAS 서버 사이의 스위치, 및 WAS 서버와 DB 서버 사이의 스위치에 각각 연결하여, 하나의 패킷 미러링 장치에서 복수 개의 서버 구간에서의 구간별 및/또는 서버별 지연지표를 산출하도록 할 수 있다.
도 11은 본 발명의 일 실시예에 따른 패킷 미러링 장치에서 산출되는 성능 지표를 기반으로 생성되는 플로우 맵(Flow map)을 나타낸 도면이다.
도 11을 참조하면, 플로우 맵은 사용자와 적어도 하나의 서버들 및 사용자와 서버 간의 링크(세션과 연관됨)들로 구성된다. 본 실시예에서는, 사용자가 3개의 웹 서버와 연결되고, 3개의 웹 서버가 3개의 WAS와 연결되며, 3개의 WAS가 하나의 DB와 연결되는 시스템 구성을 나타낸다.
본 발명의 실시예에 따르면, 패킷 미러링 장치의 성능 지표를 시각화하는 부분과 관련하여, 패킷 미러링 장치는 네트워크 성능 지표 시각화 장치로써 구현되고, 이때, 성능 관련 지표는 반드시 미러링된 패킷을 기반으로 생성된 지표를 이용해야만 하는 것은 아니다. 다른 방식으로 패킷을 획득한 후, 획득된 패킷 내의 정보를 기반으로 상술한 방식으로 성능관련지표를 산출한 후, 해당 성능관련지표를 오브젝트화하여 후술할 플로우 맵, 서버리스트, 사용자리스트, URL 리스트, 세션리스트 및 웹 페이지 분석 페이지 등을 생성할 수 있다.
먼저, 도 11의 실시예에 있어서, 패킷 미러링 장치는 산출된 성능관련지표를 기반으로 각 개체를 포함하는 네트워크의 트래픽 흐름을 나타내는 플로우 맵을 생성할 수 있다. 상기 플로우 맵의 상단에는 보고 싶은 시간 구간을 설정하는 부분이 존재한다. 실시간 설정을 하면, 현재 시점의 플로우 맵이 재생된다. 과거 특정 시점의 네트워크 서비스의 성능을 알아보기 위해, 과거 시점의 플로우 맵을 재생할 수도 있다. 예컨대, 과거 2017년 1월 2일 11:11부터 2017년 1월 3일 01:33까지의 구간을 보고 싶으면, 사용자는 시작시간 및 종료시간을 각각 설정하고, 그에 따라 해당 시점을 기준으로 생성된 플로우 맵과 연관된 콘텐츠를 재생한다. 이때, 설정된 시작시간과 종료시간에 따라 타임 바(time bar)가 생성되고, 생성된 타임 바에 대해, 빠른 전진 이동, 빠른 후진 이동, 재생/정지 등의 제어를 통해 원하는 시점의 플로우 맵을 재생시킬 수 있다. 이때, 각 링크, 각 사용자 및 각 서버를 통해 나타내고자 하는 지표를 선택할 수 있다. 예컨대, 응답대기시간(latency), 응답대기 세션 수 정보(wait), BPS, CPS, TPS, UPS 등 중 적어도 하나를 포함할 수 있다. 또한, 각 사용자 및 각 서버에는 IP 주소가 함께 표시되도록 선택할 수 있다.
본 발명의 실시예에 따르면, 플로우 맵에서, 사용자 및 각 서버는 앞서 산출된 성능 관련 지표를 표시한다. 이때, 성능 관련 지표 중 네트워크의 지연 및/또는 속도와 연관된 지표들이 사용될 수 있다. 각 성능 관련 지표들은 오브젝트화 되어 특정 시각화 공간 상에 표시된다. 여기서, 오브젝트는 데이터 오브젝트로, 플로우 맵 상에 나타날 수 있도록 상기 성능 관련 지표를 오브젝트화 한 것이다. 예컨대, 응답대기속도 또는 BPS와 같은 데이터를 포함할 수 있다. 각 성능 관련 지표는 시간 정보를 포함하고 있기 때문에, 오브젝트도 시간 정보를 포함하도록 구현하여 시각화 공간에 매핑될 수 있다. 시각화 공간은 오브젝트를 표시하는 디스플레이 공간을 나타내며, 시각화 공간 내에 복수 개의 오브젝트들이 표현될 수 있다.
패킷 미러링 장치는 플로우 맵을 생성함에 있어서, 성능관련지표가 어느 개체(예컨대, 클라이언트인지, 서버인지, 클라이언트와 서버 간 링크인지)와 관련된 것인지 판단하고, 어떤 성능관련지표인지 식별한 후, 식별된 성능관련지표의 내용(BPS인지, 응답대기세션 수(wait)인지, 응답대기속도(latency)인지)과 상기 성능관련지표의 개체를 기반으로 시각화 공간 상에 미리 정해진 메타데이터에 맞춰 플로우 맵을 생성한다. 특히 하나의 성능관련지표는 하나의 오브젝트에 대응되어 지표마다 어떤 시각적 형태를 가지고 표현되는 것이 원칙이나, 관련성이 높은 성능관련 지표(예컨대, 동일 사용자의 응답대기속도와 응답대기 세션 수와 같은 지표)는 하나의 시각적 형태를 가지고 오브젝트화될 수 있다. 즉, 하나의 클라이언트 아이콘 상에 두 개의 데이터가 일정한 형식을 가지고 함께 표시될 수 있다. 서버단과 링크와 연관된 성능관련지표도 마찬가지이다.
예컨대, 0.63ms의 사용자의 응답대기 속도(latency)와 같은 지연지표는 오브젝트화되어 플로우 맵과 연관된 시각화 공간 상에 표현된다. 링크는 복수 개의 개체 간의 성능관련 지표들 중 적어도 하나를 기반으로 오브젝트화된다. 서버는 서버와 연관된 성능 관련 지표들 중 적어도 하나를 기반으로 오브젝트화되어 상기 시각화 공간 상에 표현된다. 플로우 맵 상에 표시되는 지연지표는 반드시 응답대기 속도만을 포함하는 것은 아니고, 본 발명의 일 실시예에 따라 생성되는 약 120여개의 성능관련 지표 중 다른 적어도 하나의 지표를 표시할 수 있다. 이때, 표시되는 응답대기 속도는 현재 응답 대기 속도를 나타낼 수 있고, 복수 개의 링크에서 복수 개의 응답대기속도가 존재하는 경우, 사용자 설정에 따라 가장 빠른 응답대기속도, 평균 응답대기속도, 및/또는 가장 느린 응답대기 속도를 표시할 수 있다.
또한, 플로우 맵에서, 사용자 및 각 서버와 관련하여, 현재 사용자가 연관되어 있는 전체 세션의 수 정보 및 처리대기 중인 세션의 수 정보를 "1/203"과 같은 형태로 표시할 수 있다.
본 발명의 실시예에 따르면, 사용자는 특정 지역의 사용자 그룹으로 표시될 수 있다. 예컨대, 하나의 회사 내의 사용자들은 하나의 회사와 관련된 그룹사용자로 표시될 수 있고, 이때, 관련된 사용자들의 수를 별도 표기할 수 있다. 또한, 하나의 그룹 내에서 사용자들을 분류하여 그룹 1, 그룹 2 등으로 분류할 수 있다. 이때, 분류기준은 관리자가 직접 설정할 수도 있고, 지역, 조직 및/또는 IP과 관련된 정보를 기반으로 자동분류될 수도 있다. 그리고, 분류된 사용자들에 대한 성능관련지표는 별도로 처리될 수 있다. 별도 처리의 의미는 플로우 맵에서의 오브젝트화시 별도의 오브젝트로 생성됨을 의미할 수 있다. 즉, 회사원 50의 그룹에서 그룹 1은 15명이고, 그룹 2는 35명으로 분류될 수 있고, 이때, 사용자 1은 그룹 1의 15명의 성능관련지표를 나타내고, 그룹 2는 나머지 35명의 성능관련지표를 기반으로 오브젝트화되어 플로우 맵에 표시될 수 있다.
서버의 경우도, 해당 서버에 연결된 전체 세션의 수 대비 처리 완료되지 않고 현재 처리 중인 세션의 수 정보를 "1/122"와 같이 표시할 수 있다. 여기서, 세션과 연관된 정보는 사용자 설정에 따라 트랜잭션과 연관된 정보 및/또는 커넥션(또는 링크)과 연관된 정보 등으로 변경하여 나타낼 수 있다. 즉, 앞서 패킷 미러링 장치에서 산출되는 120여 개의 성능 관련 지표를 상기 플로우 맵에 적절히 도시할 수 있다.
도 11의 실시예에 있어서, 각각의 링크는 패킷 전송과 수신 양단의 세션들과 연관되어 있다. 링크 중간에 네모 박스 형태로 오브젝트화되어 표시되는 정보에는, 응답대기 속도, 응답대기 세션 수 정보, BPS 등과 같은 지연속도 지표들이 포함될 수 있다. 예컨대, 사용자와 도 11의 상단의 홈페이지_WEB 1의 경우, 현재 두 개체 간에는 특정 패킷에 대해 0.03s의 응답대기 속도를 보이고 있으며, 122개의 세션이 존재하는데, 대부분 처리되었고, 현재 1개의 세션만이 응답 대기 상태임을 한 눈에 알 수 있다. 또한, 401.4k의 BPS로 빠른 속도로 서비스가 이루어짐을 확인할 수 있다.
이와 반대로, 도 11의 하단의 포탈행정_WEB 1과 사용자 간에는 1.35s의 응답 대기속도로 매우 느린 속도를 보이고 있으며, 현재 0/65의 전체 세션 대비 응답대기 세션 수의 비율을 나타내고 있고, 28.61k로 비교적 낮은 BPS를 나타내고 있다. 따라서, 낮은 응답대기속도 및 BPS로 인해, 해당 링크는 "구간지연"과 관련된 경고 표시가 되어 있다. 경고 표시는 해당 링크를 나타내는 선의 색깔로 구분하는 방법과 선의 굵기, 또는 선의 형태를 달리하는 방법을 통해 표현할 수 있다. 예컨대, 복수 개의 응답대기속도와 연관된 임계값을 설정하고, 설정된 임계값과 현재 응답대기속도 값을 비교하여, 상태를 구분한다. 상태는 후술할 룰 셋(Rule set)에 의해 결정될 수 있고, 복수 개의 임계값을 통해 복수 개의 구간으로 구분될 수 있다. 예컨대, "정상", "경고", "문제발생" 등의 상태로 구분할 수 있고, 임계값과의 비교결과를 기반으로 상태를 결정할 수 있다. 결정된 상태에 대응하는 시각적 표현이 존재하며, 해당 상태는 상기 대응되는 시각적 표현으로 표시될 수 있다. 예컨대, 가장 안 좋은 상태는 "문제발생"을 나타내는 붉은 색으로, 그 다음 안 좋은 상태에 대해서는 "경고"를 나타내는 노란 색으로 표현하는 방식을 사용할 수도 있다. 즉, 복수 개의 임계값에 대응되는 복수 개의 구간별로 서로 다른 시각적 표현이 이루이지도록 할 수 있다. 시각적 표현은 오브젝트의 색상, 굵기, 형태 중 적어도 하나의 변경을 포함한다. 특히, 링크와 관련된 상태에 있어서, "정상" 상태는 검정 선으로, "지연" 상태는 붉은 선으로, "네트워크 문제" 상태는 검정 점선으로, "네트워크 지연" 상태는 붉은 점선으로 한눈에 직관적으로 운영자가 이해할 수 있도록 표시할 수 있다.
추가적으로, 플로우 맵에서, 웹 서버는 적어도 하나의 WAS 서버와 연계된다. 특히, 상단의 두 개의 웹 서버(홈페이지_WEB 1 및 홈페이지_WEB 2)는 두 개의 WAS 서버(홈페이지_WAS 1 및 홈페이지_WAS 2)와 복수 개의 링크를 형성하면서 연결된다. 즉, 웹 서버(홈페이지_WEB 1)도 두 개의 WAS(홈페이지_WAS 1 및 홈페이지_WAS 2)와 연결되고, 웹 서버(홈페이지_WEB 2)도 상기 두 개의 WAS(홈페이지_WAS 1 및 홈페이지_WAS 2)와 연결된다. 이에, 4개의 링크가 생성되고, 4개의 링크에 대해 각각 성능관련 지표를 표시한다.
이와 같은 방식으로, 사용자-웹 서버 구간뿐만 아니라, 웹 서버-WAS 구간과 WAS-DB 구간을 표현할 수 있고, 이러한 시각적인 표현으로 인해, 사용자는 직관적으로 현재 또는 과거에 네트워크 서버스 상 어느 구간에 어느 서버에 문제가 있는지 파악할 수 있다.
본 발명의 다른 실시예에 따르면, 반드시 사용자-웹 서버 구간, 웹 서버-WAS 구간과 WAS-DB 구간의 3개 구간으로 표현되어야 하는 것은 아니고, 이보다 적은 한 개 구간(예컨대, 사용자-서버 구간)으로 표현되어도 되고, DB 서버 구간을 복수 개로 계층화하여, DB 슬레이브(DB slave), DB 마스터(DB master) 및 DB 엔드(DB end)와 같이 복수 개로 표현할 수도 있다. 웹 서버나 WAS도 마찬가지다. 이러한 전체적인 플로우 맵의 구성은 사용자 설정(이는 메타데이터로써 저장되어 있을 수 있음)을 통해 생성될 수 있다.
플로우 맵의 생성과 관련하여, 패킷 미러링 장치는 중심의 되는 사용자(즉, 클라이언트 단말의 IP)를 기반으로 상기 사용자의 요청과 연관된 웹 서버, WAS 서버 및 DB 서버를 미러링된 패킷 분석 내용을 토대로 구성할 수 있다. 즉, 미러링된 패킷 내에 목적지 ip 및/또는 URL과 관련된 서버단을 플로우 맵의 구성요소로 추출하고, 추출된 각 서버의 ip를 기반으로 플로우 맵의 연결관계를 생성하여 이를 시각화할 수 있다. 또는 중심이 되는 특정 서버를 먼저 설정하고, 설정된 서버를 기반으로 서버에 요청을 보낸 사용자와 설정된 서버와 연관된 다른 서버들을 연계하여 플로우 맵을 생성할 수도 있다.
플로우 맵의 구성과 연관된 메타데이터는 서비스 데이터베이스(도 5의 532)에 미리 저장되어 있을 수 있다. 메타데이터에는 오브젝트화되는 대상 객체(예컨대, 사용자, 서버, 및 링크)의 형태 및 위치 좌표와 관련된 정보뿐만 아니라 색상, 폰트, 물리적인 파일의 위치, 타일 배경 등이 저장될 수 있다. 이는 이하 보다 상세히 설명한다.
도 12는 본 발명의 일 실시예에 따른 패킷 미러링 장치에서의 네트워크 성능과 연관된 경고 발생 여부를 판단하는 설정값의 예시를 나타낸 표이다.
도 12를 참조하면, 플로우 맵 또는 기타 다른 시각화된 표현에 있어서, 패킷 미러링 장치는 현재 네트워크 서비스와 연관된 성능 관련 지표들을 다양한 임계값들과 비교하여 경고 표시함으로써 사용자로 하여금 미리 큰 트래픽 문제를 예방할 수 있도록 지원한다. 이에 경고 판단과 관련하여, 다양한 임계값의 설정이 요구될 수 있다.
전반적으로 경고 상황에 대한 판단은 서버 경고와 구간 경고로 구분될 수 있다. 각각 별도의 사용가능한 룰 셋(Rule set)을 갖는다. 서버 구간에 대해서는 서버 상태(서비스 다운(Service Down), 서버 다운(Server Down))에 대한 부분, 세션의 수, 응답대기 세션의 수, 응답대기 시간, CPS, TPS, BPS, HTTP 40x 또는 50x 에러 등을 기반으로 판단될 수 있다. 구간 경고는 응답대기 세션의 수 및 응답대기시간을 기반으로 판단될 수 있다.
도 12에 표시된 바와 같이, 패킷 미러링 장치는 상기 성능 관련 지표 중 적어도 일부를 기반으로 네트워크 서비스의 문제 발생 여부를 판단한다. 클라이언트의 컨텐츠에 대한 요청과 연관된 URL로부터 상기 컨텐츠와 연관된 첫 데이터를 상기 서버가 수신할 때까지의 응답지연시간을 나타내는 응답대기시간(latency) 정보 및 클라이언트가 보낸 요청에 대해 응답을 받지 못한 상태의 세션의 수를 나타내는 응답대기 세션 수(wait) 정보를 기반으로 웹 트래픽 지연, WAS 트래픽 서버 지연, WAS 트래픽 Wait 과다, DB 트래픽 지연, 웹 WAS 구간 지연 발생 등을 판단할 수 있다. 패킷 미러링 장치는 성능 관련 지표와 임계값의 비교, 비교 결과 임계값보다 높은 성능 관련 지표의 값이 존재하는 지속시간(duration)에 대한 측정을 통해 문제발생 여부를 판단할 수 있다.
먼저, 웹 트래픽 지연은 모든 웹 서버를 대상으로, 전체 세션 중 응답대기 세션의 수가 70% 이상이면서, 응답대기시간이 5초를 넘는 경우, 발생할 수 있다. 사용자 설정에 따라 이러한 시간이 10초 이상되면 웹 트래픽 지연에 대한 문제가 있다고 판단할 수 있다.
또한, WAS 트래픽 서버 지연은 WAS 서버를 대상으로, 응답대기시간이 5초 이상되는 상태가 5초이상 지속될 때에 문제가 발생했다고 판단할 수 있다. WAS 트래픽 wait 과다 발생은 WAS 서버에 대해 응답대기 세션 수가 70% 이상인 상태가 5초 이상 지속될 때, 문제가 발생했다고 판단한다.
DB 트래픽 지연 발생은 모든 DB 서버를 대상으로, 전체 세션 중 응답대기 세션의 수가 30% 이상이면서, 응답대기시간이 5초를 넘는 경우, 발생할 수 있다. 사용자 설정에 따라 이러한 시간이 10초 이상되면 DB 트래픽 지연에 대한 문제가 있다고 판단할 수 있다.
더욱이, 웹 WAS 구간 지연 발생과 관련하여, 모든 웹서버 및 WAS 서버를 대상으로, 응답대기시간이 5초 이상인 상태가 약 5초 이상 계속되는 경우 문제가 있다고 판단할 수 있다.
또한, 패킷 미러링 장치는 BPS와 같은 속도 관련 지표를 임계값과 비교하여 문제 발생 여부를 판단할 수 있다. BPS 과다 발생은 모든 서버를 대상으로 하되, BPS가 50M가 넘는 상태가 5초 이상 계속되면 문제가 발생했다고 판단한다.
CPS 과다 발생은 모든 서버를 대상으로, CPS가 150이 넘는 상태가 약 10초 이상 계속되면 문제가 발생했다고 판단한다.
50X 및/또는 40X 에러의 경우, 모든 웹 서버에 대해, HTTP 50x 에러(또는 HTTP 40x 에러)가 5를 넘는 상태가 약 5초 이상 계속되는 경우, 문제가 발생했다고 판단한다.
wait 과다 발생의 경우, 모든 서버에 대해 전체 세션의 수가 1000을 넘고, 응답대기 세션 수의 비율이 80%를 넘는 상태가 약 10초 이상 계속되는 경우, 문제가 발생했다고 판단한다.
이러한 문제 발생과 관련된 다양한 임계값, 관련 지속시간 임계값, 대상 서버 IP, 그에 따른 경고 레벨은 사용자 설정에 의해 변경가능하도록 선택된다.
본 발명의 실시예에 따르면, 상기와 같은 문제 상황에 매칭되도록 경고 레벨이 정해질 수 있고, 경고 레벨에 따라 플로우 맵 및 기타 다양한 시각화 툴에서 경고 상태를 상기 경고 레벨에 맞게 표현한다. 또한, 문제 상황에 매칭되는 조치로써, 기 설정된 당담자 계정과 연관된 SMS 문자, e-mail 및/또는 SNS(Social Network Service)로 경고 상황을 통보하는 동작을 수행할 수 있다.
본 발명의 다른 실시예에 따르면, 패킷 미러링 장치는 시간에 따른 네트워크 성능 관련 지표에 대한 데이터를 지속적으로 저장하므로, 저장된 데이터는 빅 데이터를 이루게 된다. 이렇게 저장된 빅데이터에 대해 기계학습(machine learning) 알고리즘을 적용하여, 적응적으로 경고상황에 맞는 적절한 룰셋을 생성하게 할 수 있다. 예컨대, 패킷 미러링 장치가 WAS 트래픽 지연문제가 상시적으로 발생하는 WAS 서버에 대해, 과거 WAS 서버들의 평균적인 응답지연시간 및/또는 응답대기 세션 수에 대한 데이터를 기반으로 임계값을 보다 낮게 또는 보다 높게 설정하도록 할 수 있다.
또한, 과거 빅 데이터를 통해 정상범주에서의 응답지연시간 및/또는 응답대기 세션 수, BPS, 또는 TPS 값들을 저장해두고 있는 상태에서, 정상 범주의 평균 응답지연시간 및/또는 응답대기 세션 수, BPS, 또는 TPS 값 대비 임계값 이상의 차이가 나는 경우, 문제발생을 판단하도록 할 수 있다.
아니면, 웹 서버와 WAS 서버, 또는 WAS 서버와 DB 서버의 연결관계에서, 어느 하나의 서버에만 집중적으로 서비스 속도 지연이 발생하는 경우, 타 서버들과의 평균 속도 지연 값 대비 임계값 이상의 속도 지연 발생을 판단하여, 경고를 표현하도록 할 수도 있다.
도 13a 및 도 13b는 플로우 맵에 따라 구간별 응답속도 분석의 예시적인 모습을 나타낸 도면이다.
도 13a는 특정 네트워크 서비스에 대한 오전 시간대의 로드밸런싱 상황으로, 정상상황으로 동작하는 것을 확인할 수 있다. 도 13b는 상기 특정 네트워크 서비스와 관련된 오후 시간대의 로드밸런싱 상황을 도시한 것이다. 여기서, 최상단의 웹 서버에서 601의 트랜잭션 수를 나타내고 있고, 과다한 트랜잭션을 처리하는 것을 표시한다.
이와 같이, 플로우 맵을 통해 현재 및 과거의 특정 시점의 서비스의 상태를 직관적으로 파악할 수 있다. 오전 시간대에 비해, 접속량이 많은 오후 시간대에 WEB 1 서버가 다른 서버들에 비해 더 많은 트랜잭션을 처리하고 있기 때문에, 이를 숫자 확대 또는 붉은색 표시와 같은 경고 표시를 통해 운영자에게 통지할 수 있다. 특히, 이러한 경고 표시는 타 서버들과의 비교를 통해 수행될 수 있다. 즉, 균등한 서버 구간 상의 위치에 존재하는 복수 개의 서버들의 평균 처리 트랜잭션 양 대비 특정 서버에서의 처리 트랜잭션 양이 월등히 많은 경우, 설정된 임계값과의 비교를 통해 문제발생을 판단하고 경고를 통지할 수 있다.
도 14는 사용자 및 서버 간의 성능지표를 시각화하기 위한 대시보드(dashboard)의 모습을 나타낸 도면이다.
도 14를 참조하면, 플로우 맵은 사용자별, 서버별 및 통신 구간별 문제를 식별하여 시각화한다. 이는 정해진 주기(예컨대, 1초 단위)로 업데이트될 수 있다. 플로우 맵에서 특정 링크에 대한 상세 성능관련 지표를 구체적으로 살펴보고 싶은 경우, 해당 링크를 클릭하면, 그에 대한 상세 성능관련 지표를 확인할 수 있다.
사용자와 웹 서버 구간의 복수 개의 링크 중 하나를 클릭한 경우, 해당 링크와 연관된 URL 정보, 응답대기시간 정보, 패킷의 매소드 정보 리스트 등의 성능관련지표가 출력되도록 할 수 있다. 웹 서버와 WAS 구간 및 WAS와 DB 서버 구간의 경우도 관련된 성능관련지표의 리스트가 출력될 수 있다. 이를 통해 사용자는 특정 구간의 문제에 대한 구체적인 분석이 필요할 때, 관련된 성능관련지표에 대한 세부내역을 보면서 구체적으로 파악할 수 있다. 각 구간별로 표시되는 리스트에 표시된 성능관련 지표는 서로 다를 수 있다.
특히, 특정 링크에 문제가 있는 것으로 표현된 경우, 상기 특정 링크를 매개변수로 결정하고, 매개변수인 특정 링크와 연관된 세부내역을 호출한다. 그리고는, 세부내역 리스트를 표시한다. 이때, 패킷 미러링 장치는 문제를 발생시킨 원인이 되는 성능관련지표(예컨대, 임계값보다 높은 지표를 나타내는 성능관련지표)는 해당 리스트에서 붉은색과 같이 정상범위의 지표들과 시각적으로 다르게 표시되도록 하여 사용자가 한눈에 세부원인을 파악할 수 있도록 한다. 즉, 플로우 맵과 관련 리스트/페이지의 문제 발생 부분은 매개변수를 기반으로 서로 매칭이 되도록 표현할 수 있다.
본 발명의 일 실시예에 따르면, 특정 맵에서 특정 페이지(또는 리스트)로의 드릴-다운(drill-down) 이동과 관련된 설정은 사용자 설정을 통해 저장되어 있을 수 있고, 사용자가 원하는 템플릿으로 변경가능하다. 즉, 페이지(또는 리스트)는 계층정보를 가지고 있을 수 있고, 리스트 내의 특정 영역을 클릭시, 패킷 미러링 장치는 해당 영역과 연관된 정보를 매개변수로 하여 동일 매개변수를 갖는 하위계층의 페이지(또는 리스트)를 불러온다.
도 15는 서버, 사용자, URL 및 세션별 세부 트래픽의 모니터링되는 페이지를 나타낸 도면이다.
도 15를 참조하면, 패킷 미러링 장치는 현재 상태를 패킷 미러링 장치와 연관된 서버, 사용자, URL 및 세션, 그 밖의 성능관련 지표로 한눈에 알아볼 수 있도록 테이블형태로 표시할 수 있다. 패킷 미러링 장치는 네트워크와 연관하여 관리대상 서버, 상기 서버와 연관된 사용자, URL 및 세션별로 리스트를 생성할 수 있다. 이는 상기 리스트와 관련된 세부 트래픽을 주기적으로(예컨대, 1초 단위로) 모니터링하고 저장함으로써 이루어진다. 여기서 Max 부분은 server_max_xxxx 정보(예컨대, server_max_user 정보)와 같이, 해당 서버와 연관된 최대값을 나타낸다. 즉, 최대의 관리대상 서버, 해당 서버의 최대 사용자 수, URL 수 및 세션 수 등을 나타내고, Current 부분은 현재 실시간 사용되는 서버, 사용자 수, URL 수 및 세션 수를 나타낼 수 있다.
이때, 서버를 클릭하면 도 14의 드릴-다운 방식과 같이, 현재 패킷 미러링 장치에 의해 관리되고 있는 서버들의 정보를 포함하는 서버 리스트가 표시된다. 서버 리스트에는, 관리 대상 서버의 이름, 서버 IP, 국가, 사용자 수, 세션 수, 트랙잭션 수, 응답대기 세션 수(및 비율), TPS, BPS, 앱 레이턴시, 웹 레이턴시, RTT, 에러, 상태와 관련된 정보 등이 표시될 수 있다.
사용자 부분을 클릭하면, 패킷 미러링 장치는 현재 관리대상 서버와 연관된 모든 클라이언트와 연관된 사용자들의 정보를 포함하는 사용자 리스트가 표시된다. 사용자 리스트에는, 클라이언트 단말의 IP, 사용자가 현재 연결 요청한 서버, 세션, 트랜잭션, 응답대기 세션 수(및 비율), SPS, CPS, TPS, HPS, BPS, PPS, RTT, 에러, 에이전트, 웹 브라우저, 도시, 기관과 관련된 정보 등이 표시될 수 있다.
세션을 클릭하면 현재 패킷 미러링 장치에 의해 관리되는 세션들의 정보를 포함하는 세션 리스트가 표시된다. 세션 리스트에는, 세션과 관련된 사용자의 클라이언트 단말의 IP, 상기 세션과 연관된 서버의 IP, 관련 URL, 메서드, 결과 코드 값, 트랜잭션 수, 응답대기시간, 에이전트, 도시, 기관, 상태 정보가 표시될 수 있다.
URL을 클릭하면 현재 패킷 미러링 장치에 의해 관리되는 URL들의 정보를 포함하는 URL 리스트가 표시된다. URL 리스트에는, URL과 연관된 서버의 IP, URL 주소, 메서드, 결과 코드 값, 세션 수(또는 전체 세션 대비 현재 연결되어 있는 세션 수), 응답대기 세션 수, UPS, CPS, HPS, BPS, 응답대기시간, 다운로드 수, 길이(length)와 관련된 정보가 표시될 수 있다.
각각의 리스트의 최우측에는 행위(Act)라고 표시된 아이콘이 있는데 행위 아이콘을 클릭하면, 서버리스트에서는 특정 서버, 사용자 리스트에서는 특정 사용자, 세션 리스트에서는 특정 세션, 그리고 URL 리스트에서는 특정 URL과 연관된 패킷들의 세부내역이 표시된다. 여기서, 리스트들 간의 전환의 매개가 되는 변수를 매개변수라고 하고, 본 실시예에서는, 특정 서버(예컨대, WEB_행정 포탈 1 서버), 특정 사용자, 특정 세션, 및 특정 URL 등이 매개변수가 된다. 즉, 리스트의 전환에 있어서, 사용자의 클릭 등을 통한 세부내역 요청(리스트 전환 요청으로 볼 수도 있음)에 있어, 클릭에 의한 특정 매개변수가 결정되고, 이후에는 상기 특정 매개변수와 연관된 다른 형태의 리스트가 표시된다. 이러한 리스트의 전환 및 상하위 계층 관계를 갖는 페이지들의 드릴-다운 이동은 이하 보다 상세히 설명한다.
도 16은 세부 세션 정보에 대한 내용 및 애플리케이션의 에러를 식별하기 위한 페이지를 나타낸 도면이다.
도 16을 참조하면, 앞서 설명한 바와 같이, 패킷 미러링 장치가 관리하는 각각의 리스트들을 매개변수라는 연관관계를 가지고 표시될 수 있다. 즉, 세션 리스트의 특정 세션을 클릭하면 특정 세션이 매개변수로 결정되고, 상기 특정 세션과 관련된 사용자 리스트, 서버 리스트 등을 확인할 수 있다. 이때, 미러링된 패킷 내에 포함된 정보 및 성능 관련 지표와 관련된 정보들은 시간정보를 가지면서 저장되기 때문에, 각각의 리스트에 포함된 세부정보들도 시간정보를 가질 수 있고, 관리자가 원하는 시점의 세부내역을 반환할 수 있다.
도 16의 실시예에 있어서, 사용자 리스트에서, 특정 세션을 클릭하면, 해당 세션을 매개변수로, 매개변수 세션과 관련된 정보들을 추출하여, 새로운 세션 리스트를 표시한다(도 16의 좌측 상단 리스트 참조). 여기에서, 특정 사용자의 세션의 클릭하면, 패킷 미러링 장치는 클릭된 영역과 연관된 사용자의 세션을 매개변수로 결정하여, 상기 특정 사용자와 연관된 최대 178개 세션 데이터 중 현재 연결되어 있는 155개 세션과 관련된 데이터를 추출하여 이를 리스트 형태로 표시한다. 즉, 사용자는 해당 사용자와 연관된 특정 세션과 관련된 애플리케이션을 상기 세션 리스트를 보면서 확인할 수 있다. 해당 세션 리스트에는 상기 특정 사용자의 세션들과 관련된 사용자의 클라이언트 단말의 IP, 상기 세션과 연관된 서버의 IP, 관련 URL, 메서드, 결과 코드 값, 트랜잭션 수, 응답대기시간, 에이전트, 도시, 기관, 상태 정보가 표시될 수 있다.
또한, 도 16의 실시예의 사용자 리스트에서, 172.18.220.14 사용자의 세션(70/143)을 살펴보면, 해당 세션과 연관된 세션리스트가 도 16의 좌측 우단에 표시된 리스트와 같이 표시된다. 여기에서, 사용자, 서버 IP, 및 관련 URL을 확인할 수 있다. 그리고, 특히, DB 쿼리를 확인할 수 있다. DB 쿼리 확인을 위해, 패킷 미러링 장치는 특정 DB 서버에 보낸 DB 쿼리문과 연관된 패킷들의 내용 및 패킷들의 네트워크 성능 지표들을 추출하여 이를 리스트 형태로 생성 및 시각화한다.
더욱이, 전술한 바와 같이, 사용자 리스트에는 CPS, TPS, HPS, BPS, PPS와 같은 사용자별 네트워크 사용량과 연관된 정보가 표시될 수 있다. 또한, 에이전트, 웹 브라우저, 모바일 장치인지 여부에 대한 정보, 도시, ISP, 기관 정보들도 확인 가능하고, 에러 발생과 연관된 정보도 표시된다. 이때, 에러 부분을 클릭하면, 사용자가 보고 싶어하는 에러 코드를 갖는 저장된 정보들을 추출하여, 추출된 정보와 연관된 세션들의 정보를 기반으로 세션 리스트를 생성하여 표시한다. 도 16의 실시예에서는, 사용자 리스트에 총 6개의 에러가 발생된 것으로 표시되고, 에러 부분을 클릭하면 6개의 에러와 관련된 6개 세션들이 세션 리스트의 형태로 표시될 수 있다.
도 17은 드릴-다운(Drill-Down) 방식에 의해 문제 요소와 연관된 상관관계 확인을 하는 페이지를 나타낸 도면이다.
도 17을 참조하면, 패킷 미러링 장치를 통해 사용자 리스트를 출력하는 중에, 서비스 지연 발생 애플리케이션을 확인하기 위해, 응답대기 세션 수(Wait) 부분을 클릭하면, 특정 임계값 이상 또는 특정 임계비율 이상의 응답 대기 세션 수를 나타내고 있는 URL 리스트 및/또는 세션 리스트가 표시될 수 있다. 사용자는 URL 리스트 및/또는 세션 리스트를 보고, 현재 서비스 지연이 발생되고 있는 애플리케이션을 명확히 파악할 수 있다. 그리고는 신속하게 반응하여, 그에 대한 조치를 취할 수 있다.
또한, 에러 부분을 상세히 보기 위해, 세션 리스트에서, 에러 400 및 에러 500을 클릭하면, 해당 에러와 관련된 세션들을 포함하는 세션 리스트가 출력되고, 에러 발생과 연관된 세션 리스트를 보면서 에러 발생과 연관된 애플리케이션을 확인할 수 있다.
도 18은 서버별 실시간 서비스 상태 및 경고별 세부 정보를 확인하는 과정을 나타낸 도면이다.
도 18을 참조하면, 서버별로 실시간 서비스의 상태 및 경고별 세부 정보를 확인할 수 있다. 본 발명의 일 실시예에 따른 패킷 미러링 장치는 서버 상태 정보를 표시하는 페이지를 생성할 수 있다. 상기 페이지에는 서버 이름, 서버 IP가 표시되고, 허용가능한 전체 세션 중, 현재 연결되어 있는 세션의 수가 표시된다. 이는 빈 박스(box) 형태에서 일정 부분이 채워지는 형태로 표현가능하다. 즉, 10%는 10개 빈 박스 중 하나의 박스에만 색이 채워져 있는 형태로 표현될 수 있다. 또한, 이러한 수 및/또는 비율 관련 정보도 박스 형태로 표현가능하다. 그리고, 시간에 따른 응답대기시간의 변화 및 시간에 따른 응답대기 세션 수의 변화 그래프도 함께 표시될 수 있다. 이렇게 패킷 미러링 장치에서 서버 상태 정보를 하나의 페이지에 복수 개 배치시켜 표시함으로써 사용자는 패킷 미러링 장치에서 관리하는 서버들 중 적어도 일부의 서버에 대한 상태 정보를 한눈에 알아볼 수 있다.
이때, 서버 상태 정보 우측 상단에 서버 리스트가 테이블 형태로 표시될 수 있고, 관리대상 서버와 연관된 경고들로 서버 상태 정보 우측 하단에 리스트 형태로 표시될 수 있다. 이 중 하나(예컨대, "too many sessions"이라는 경고 부분)를 클릭하면, 클릭된 영역의 경고와 관련된 세부 내역이 표시된다(도 18의 좌상단 창 참조). 패킷 미러링 장치는 상기 경고 세부내역 요청에 응답하여, 상기 서버의 해당시점의 성능관련지표를 추출하고, 거기서, 에러와 연관된 지표들을 추출한다. 그리고는, 그와 관련된 정보(예컨대, 서버 IP, 경고와 관련된 문제 발생 시작 시간 및 종료 시간을 포함함)를 리스트로 표시한다. 경고 횟수도 표시된다. 또한, 상태 정보로써, 해당 세션과 연관된 사용자 수, 세션 수, 응답대기 세션 수, UPS, CPS, TPS, BPS, RTT, 응답대기시간, 400 에러 및 500 에러와 같은 성능관련지표가 표시된다.
상기 경고 내역 부분에서 재생 아이콘을 클릭하면, 경고 관련 시작 시간과 종료 시간을 자동으로 설정하여 해당 시간대의 플로우 맵이 재생된다(도 18의 우측 하단 플로우 맵 참조). 여기서 특정 세션과 연관된 링크 또는 서버의 이상을 감지할 수 있다.
이때, 알람 상황과 관련된 링크를 클릭하면, 해당 시점의 링크의 두 주체(클라이언트(Tokyo_office)와 서버(webSRV1)과 연관된 세션들(특히 트랜잭션)의 알람 상황 세부 로그를 확인할 수 있다(도 18의 좌측 하단 로그 데이터 참조). 이는 해당 시간대의 트랜잭션에 대한 로그를 포함한다. 여기에는, 클라이언트 상세 정보로 클라이언트 IP, 사용자의 수, OS, ISP, RTT 등이 표시되고, 관련 URL 정보로 URL 주소, 응답대기시간 정보, 길이, 참조자 등이 표시된다. 또한, 서버 정보로 서버 이름, 응답대기시간, 사용자, 세션, TPS, 응답대기 세션 수, RTT 및 BPS 정보가 표시된다. 그리고, 시간 정보로 해당 트랜잭션이 어느 시점부터 어느 시점까지 있었는지를 표시하고, 현재 상태 정보, 예컨대, 세션에서 서버로부터의 응답을 기다리는 상황(session_response)인지를 나타내는 정보 및 결과 정보(예컨대, client_finish)도 함께 표시된다.
도 19는 애플리케이션의 상세 로그에 대한 진단 분석 페이지를 나타낸 도면이다.
도 19를 참조하면, 패킷 미러링 장치는 애플리케이션과 관련된 정보를 애플리케이션 리스트로 정리하여 표시할 수 있다(도 19의 좌측 상단 리스트). 여기에는, 상기 애플리케이션과 연관된 서버의 이름 및 IP, 사용자의 수, 세션 수, 트랜잭션 수, 및 에러 정보, BPS, 요청 데이터의 양, 응답 데이터의 양, 응답대기 세션수 및 응답대기시간 정보 등이 표시된다. 이때, 애플리케이션의 에러와 관련된 부분을 보고 싶으면 에러 부분을 클릭할 수 있다.
그러면, 패킷 미러링 장치는 클릭된 영역과 관련된 부분이 매개변수로 결정한다. 그리고는, 매개변수인 상기 애플리케이션과 연관된 트랜잭션 데이터를 찾는다. 그리고, 그 중에서, 에러 표시가 있는 데이터를 추출하여, 어플리케이션의 에러와 관련된 로그 데이터를 출력한다. 이는 트랜잭션 로그 데이터로써, 도 18의 좌하단 로그 리스트와 유사한 형태로 표시될 수 있다. 여기서, 어플리케이션의 에러가 어느 시점에 어느 클라이언트와, 어느 서버 사이에서 발생되었는지 파악할 수 있다.
또한, 패킷 미러링 장치는 특정 애플리케이션의 응답지연시간을 시간에 따라 그래프 형태로 표시할 수 있고, 특히 특정 시점을 클릭하는 경우, 클릭된 시점을 특정하고(예컨대, 미리 설정된 단위(1분 단위)로 특정 가능함), 특정된 시점의 애플리케이션과 연관된 패킷들(또는 그를 기반으로 한 성능관련지표)을 추출한다. 여기에는 지리적 정보를 표현하는 지도와 연동하여 지도 상에 애플리케이션과 관련된 서버들의 위치를 기반으로 서버를 차트(chart) 형태로 표현할 수 있다. 이때, 서버는 상기 애플리케이션의 요청 및 응답 처리 과정에서 발생되는 응답대기시간 정보(latency)를 기반으로 서로 다른 형태로 표현가능하다. 즉, 제 1 응답대기시간을 갖는 서버는 초록색으로, 제 2 응답대기시간을 갖는 서버는 연두색으로, 제 3 응답대기시간을 갖는 서버는 노란색으로 표시하여 지도 상의 색상만으로 애플리케이션과 연관된 서버들의 지연이 어느 정도로 일어나고 있는지 파악할 수 있게 한다. 그리고는, 챠트와 응답대기시간 그래프 하단에 상태 정보를 표시할 수 있다. 상태 정보는 국가 상태, 사용자 상태, URL 상태를 포함하고, 여기서, URL 상태는 애플리케이션과 연관된 URL과 관련된 정보로써, URL 주소 정보, 메소드 정보, 트랜잭션 수 정보, 에러 정보, HPS, 응답데이터의 양, 평균 응답대기 세션수 정보 및 평균 응답대기속도, 다운로드 수 정보 등을 포함할 수 있다.
도 20은 비정상 접근을 추정하여 사용자를 추적하는 과정을 나타낸 도면이다.
도 20을 참조하면, 패킷 미러링 장치는 특정 사용자 리스트를 이용하여 비 정상 접근 사용자를 추적할 수 있다. 사용자 리스트에서, 행위 아이콘을 클릭하면 패킷 미러링 장치는 해당 접속자의 특정 시간대의 접속 내용을 모두 추출하여, 이를 리스트 형태로 표시할 수 있다.
이때, 패킷 미러링 장치는 상기 특정 시간대를 기반으로 각 세션별로, 세션 시작시간 및 세션 종료시간을 타임 바 형태로 나란히 표시할 수 있다. 이때 반드시 세션별로 표시되어야 하는 것은 아니고, 트랜잭션 별로, 또는 접속한 URL 별로 표시될 수도 있다.
이때, 타임 바는 서로 다른 시각화 표현을 통해 표시될 수 있다. 특히, 클라이언트 RTT, 서버 RTT, 요청 시간, 응답대기시간 및 응답데이터 전송시간은 각각 서로 다른 시각화 표현(예컨대, 서로 다른 색, 서로 다른 형태, 서로 다른 굵기 등)으로 표시된다. 따라서, 상기 특정 시간대에 특정 세션이 어떠한 세부시간 구간에서 어떤 동작을 하고 있었는지를 타임 바를 통해 직관적으로 이해할 수 있다.
그 밖에, 패킷 미러링 장치는 세션과 관련하여, 이용시간, 응답대기시간, 메소드, 결과값, URL과 연관된 타입 정보, 상태 정보, 관련 URL 정보들을 추출하여 표시할 수 있다.
추가적으로, 패킷 미러링 장치는, 특정 세션과 관련된 세부정보가 요청된 경우, 해당 시간대의 상기 특정 세션과 연관된 패킷와 관련된 데이터를 추출하여, 시간 정보, cRTT 정보, sRTT 정보, 요청 시간, 응답대기시간 및 응답데이터 전송시간을 타임 바보다 명확한 숫자 값으로 표시할 수 있다. URL 정보도 관련 도메인, URL 주소, 타입, 메소드, 결과, BPS, PPS, 사용자 수, 세션 수, 응답대기 세션 수 정보로 표시할 수 있다. 또한, 관련된 서버 정보로, 서버 IP, 포트, 응답데이터 패킷 수, 응답 데이터의 양, 사용자 수, 세션 수, 및 응답대기 세션 수 정보로 표시할 수 있다.
패킷 미러링 장치는 특정 시간 대의 모든 사용자의 행위를 역추적 가능하기 때문에, 비정상 루트를 통해 접속된 사용자를 추적할 수 있고, 사용자의 비정상 행위(예컨대, CPS 과다, TPS 과다 및/또는 에러 응답 과다 유도)가 어느 사용자로부터 비롯되었는지를 역추적할 수 있다.
도 21은 주요 페이지별 사용자의 접속까지의 체감속도를 시각화한 페이지를 나타낸 도면이다.
도 21을 참조하면, 패킷 미러링 장치는 미러링된 패킷 내의 사용자 요청과 연관된 웹 페이지를 기반으로 해당 웹 페이지까지의 도달 시간을 앞선, sRTT, cRTT, 요청 시간, 응답대기시간 및 응답데이터 전송시간 정보를 기반으로 산출할 수 있다. 또한, 플로우 맵 구성과 관련하여, 특정 서버로의 접속 요청에 따른 세션 수 및 세션에 따른 응답대기시간 및 응답대기 세션 수(wait) 정보를 기반으로 요청 전송에 따른 응답데이터 수신까지의 시간을 산출할 수 있다. 즉, 사용자 관점에서 특정 웹 페이지까지의 체감응답속도를 산출하여 이를 하나의 페이지에 표시할 수 있다. 예컨대, 패킷 미러링 장치는 상기 체감응답속도로 이용시간(used time)을 활용할 수 있다.
패킷 미러링 장치는 복수 개의 웹 사이트에 대한 체감응답시간을 시간 값으로 환산하여 표시할 수 있다. 그리고, 설정된 체감응답시간과 관련된 임계값과 비교하여 임계값 이상인 경우, 경고나 또는 서비스 다운 및 서버 다운과 같은 중대 문제 발생 상황으로 판단할 수 있다.
패킷 미러링 장치는 복수 개의 웹 사이트에 대한 개별 정보로 상기 체감응답시간 이외에, 해당 웹 사이트와 연관된 응답대기 세션의 수를 전체 허용가능한 세션의 수와 대비하여 표현할 수 있다. 또한, 시간의 흐름에 따른 응답대기시간의 변화를 그래프를 통해 간략히 정리하여 표현할 수 있다.
도 22는 경고에 따른 주요페이지 대상 사용자의 체감 응답속도를 시각화한 페이지를 나타낸 도면이다.
도 22를 참조하면, 경고 상태의 웹 사이트를 클릭하면, 패킷 미러링 장치는 경고에 따른 성능 분석 페이지가 표시되도록 한다. 예컨대, 상기 성능 분석 페이지는 웹-WAS 지연에 관한 경고 내용일 수 있고, 이에 대해, 분석 페이지에서는, 해당 시점의 속도 지연과 연관된 미러링된 패킷들 내의 정보들 기반으로, 관련 행위들을 정리하여 리스트로 표시한다.
이때, 특정 웹 사이트와 연관된 세션들을 분석하여 해당 시점에 일어난 행위들을 정리하여 나타낼 수 있다. 예컨대, 해당 웹 페이지와 연관된 서버의 IP로의 접속 행위를 추출할 수 있다. 그리고, 해당 접속 행위의 주체인 클라이언트의 IP(국가, OS 및 모바일 여부도 함께 표시될 수 있음) 및 해당 접속 행위에 소요된 시간을 산출하여 함께 표시할 수 있다. 특히, 소요 시간은 앞서 설명한 바와 같이, cRTT, sRTT, 요청 시간, 서버응답 대기시간 및 응답데이터 전송시간으로 구분하여 타임 바 형태로 표현할 수 있다.
이를 보다 구체화하면 특정 웹 페이지에 대해, 특정 시간에 발생한 세션 또는 트랜잭션(또는 커넥션)에 대한 상세정보를 표시할 수 있다. 해당 페이지에는, T상기 세션(또는 트랜잭션)과 연관된 클라이언트 IP, 페이지 시작 시간, 페이지 종료 시간, OS, 브라우저, 모바일 기기 여부 정보, 통신사 정보, ISP 정보, 및 도시 정보가 표시된다.
또한, 페이지 로드 시간 정보가 cRTT, sRTT, 요청 시간, 서버응답대기시간 및 응답데이터 전송시간을 구분한 타임 바 형태로 제공될 수 있다. 또는 클라이언트 시간, 네트워크 시간 및 서버 시간으로 구분한 타임 바 형태로도 표시될 수 있다. 그리고, 클라이언트 시간, 네트워크 시간 및 서버 시간을 각각 표시할 수 있다. 클라이언트 시간은 클라이언트 단에서 소요된 시간을 의미하고 페이지 디자인 시간과 클라이언트 자체 소요 시간을 포함한다. 네트워크 시간은 cRTT 정보, sRTT 정보, 요청 시간 및 다운로드 시간을 포함한다. 서버 시간은 응답대기시간을 포함한다. 이때, 페이지 디자인 시간은 수신된 웹 디자인과 연관된 데이터를 클라이언트 단말에서 재생하는데 소요되는 시간을 나타내고, 클라이언트 자체 소요시간은 네트워크 상태와 관계없이, 클라이언트에서 웹 페이지와 연관된 요청 정보를 생성하는 시간 등 클라이언트 장치 내부적으로 페이지 로딩을 위해 소요되는 시간을 의미할 수 있다. 이는, 패킷 미러링 장치에서 생성된 성능 관련 지표 중 트랜잭션 상태 코드를 기반으로 세션이 맺어진 상태를 의미하는 상태 코드 5의 상태에서, 세션 요청이 수행되는 상태 코드 6과 연관된 상태까지의 소요 시간을 고려하여 산출될 수 있다. 또는 세션 결과 코드를 기반으로 산출될 수도 있다.
또한, 웹 페이지의 사용과 관련하여, 사용 컴포넌트 정보, 요청 패킷의 양, 응답 데이터의 양, 사용자 정보, 세션 정보, 응답대기세션 수 정보, TPS 정보 및 에러 관련 정보도 표시된다.
추가적으로, 해당 시간에 포함된 복수 개의 세션에 대해 시간순으로 정렬하여 세부내역(컴포넌트 별 분석)을 표시하되, cRTT, sRTT, 요청 시간, 서버응답 대기시간 및 응답데이터 전송시간을 구분한 타임 바 형태로 제공되며, 여기에는, URL 정보, 이용시간(used time) 정보, 응답대기시간 정보 등이 표현될 수 있다. 이를 기반으로 지연 컴포넌트를 추출할 수 있다.
도 23은 특정 웹사이트에 대한 응답 지연 분석 화면에 따라 사용자의 체감 속도를 분석한 페이지를 나타낸 도면이다.
도 23을 참조하면, 패킷 미러링 장치는 웹 사이트에 대한 응답지연 분석 화면을 생성하여 표시한다. 이때, 패킷 미러링 장치는 특정 시간대에 특정 웹 사이트와 연관하여, 발생한 패킷들의 정보 및 해당 패킷들로부터 생성된 성능 관련 지표를 추출하여 추출된 정보들을 기반으로 분석 페이지를 생성한다.
분석 페이지에는 설정된 시간 정보가 표시되고, 해당 페이지에서 응답 지연과 관련된 페이지 로딩 시간 정보가 cRTT, sRTT, 요청 시간, 서버응답 대기시간 및 응답데이터 전송시간을 구분한 타임 바(time bar) 형태로 표현된다. 그리고, 도 22 하단의 웹사이트 분석 페이지와 같이, 페이지 로딩 시간 정보, 클라이언트 시간 정보, 네트워크 시간 정보 및 서버 시간 정보가 표시된다. 또한, 사용량 정보(호출수, 요청 양, 응답데이터 양 정보 포함함), 현재 상태 정보(동시 사용자 정보, 동시 세션 수 정보, TPS 정보 및 응답 대기 세션 정보를 포함함) 및 가용성 정보(에러와 관련된 정보를 포함함)를 정리하여 표시할 수 있다. 여기서, 페이지 로딩 시간은 서버 응답대기시간 및/또는 전체 이용시간을 기반으로 산출될 수 있다. 또는, 클라이언트 시간에 이용 시간을 더한 값으로 산출될 수 있다. 즉, 요청을 전송한 시간부터, 요청 관련 패킷에 대한 응답데이터 패킷의 전체 데이터가 로딩 완료되는 시간까지를 측정한 시간 값일 수 있다.
또한, 세부적으로 상기 웹 페이지와 연관된 각 서비스(또는 컴포넌트)에 대한 응답속도 관련 정보를 표시한다. 도 23의 실시예에 따르면, 2개 서비스 사용자 체감속도 분석된 내용이 표시된다. 먼저, iinju-k 서비스의 페이지 로딩 속도는 4.78초로 다소 느리고, 지연 페이지의 비율은 63.64%으로 다수의 사용자가 지연을 겪은 것을 확인할 수 있다. 지연 페이지는 특정 속도 이상의 페이지 로딩 속도가 나오는 페이지를 의미하고, 비율은 사용자로부터의 호출 수 대비 지연페이지의 수를 기반으로 산출될 수 있다. 다음으로, gne 서비스의 페이지 로딩 속도 역시 4.95초로 다소 느린 것을 알 수 있다.
또한, 보다 구체적으로, 체감속도 지연 구간 분석을 통해 체감속도 지연이 발생하는 구간은 클라이언트 구간(Page Design Time, Client Time)으로 확인 가능하다.
도 24는 웹 페이지별 로딩 시각을 시각화한 화면 및 그에 따른 체감속도의 추이 및 지연 컴포넌트의 분석 페이지를 나타낸 도면이다.
도 24를 참조하면, 패킷 미러링 장치는 웹 페이지 분석 페이지에서 웹 페이지별 로딩 시간을 측정하여 도시한다. 이때, 사용자가 트렌드 아이콘을 클릭하여 추가적인 트렌드 분석을 요청할 경우, 패킷 미러링 장치는 해당 웹 페이지에 대한 체감 속도의 시간에 따른 변화를 그래프 형태로 제공한다. 그래프에서는 체감속도에 대한 임계값을 기반으로 정상범주를 설정하여 정상범주에 드는 이벤트들은 보라색으로, 그렇지 않은 이벤트들은 다른 색으로 표현가능하다. 또한, 이상 상태의 이벤트들 중 클라이언트 시간에 의한 지연은 푸른색으로, 네트워크 시간에 의한 지연은 초록색으로, 서버 시간에 의한 지연은 노란색으로 표현가능하고, 복수 개의 원인으로 인한 지연은 회색으로 표현가능하다. 즉, 여러 원인에 따른 지연을 시간에 따라 한눈에 파악 가능하도록 표현한다.
또한, 그래프 내에서 특정 시간의 특정 체감속도를 나타내는 이벤트를 클릭하면, 해당 이벤트와 연관된 지연 컴포넌트 분석 페이지가 생성된다.
해당 분석 페이지에는 클릭된 이벤트에 해당하는 시간 및 지연속도의 웹 페이지 분석 화면이 나오고, 관련된 URL 접속 행위들이 타임 바 형태로 제공된다.
도 25는 지연 웹 페이지의 세부 내용을 진단 및 분석하는 페이지를 나타낸 도면이다.
도 25를 참조하면, 패킷 미러링 장치는 특정 값 이상의 체감속도를 갖는 지연 웹 페이지(slow page)에 대한 세부 진단 분석 페이지를 생성할 수 있다. 하나의 웹 페이지는 복수 개의 컴포넌트를 포함한다. 이때, 지연 웹 페이지는 특정 값 이상의 체감속도를 갖는 웹 페이지를 도시하고 그와 연관된 클라이언트 정보, 시간 정보 등을 표시하면, 이때, 시간정보에는 전체 페이지 로딩 시간이 표시된다. 패킷 미러링 장치는 전체 페이지 로딩 시간 중 클라이언트 시간이 차지하는 비중, 네트워크 시간이 차지하는 비중 및 서버시간이 차지하는 비중을 기반으로 최상위 지연원인을 추출할 수 있다. 이는 타임 바로 시각적으로 표현된다.
이때, 특정 웹 페이지에 대해 상세 분석을 수행할 수 있다. 사용자로부터의 상세 분석요청에 대응하여 패킷 미러링 장치는 컴포넌트별 분석을 수행한다. 즉, 해당 웹 페이지가 보유한 각 컴포넌트별로 URL 정보, 타임 바 정보, 이용시간, 응답대기시간, 수신되는 데이터의 양, 결과 코드 값, 타입, 상태 정보를 표시한다. 이때, 타임 바 정보는 cRTT, sRTT, 요청시간, 서버시간 및 응답시간으로 구분하여 표시될 수 있다.
도 26은 HTTP 리퍼러(Referrer) 정보를 이용한 유입경로를 확인하는 페이지를 나타낸 도면이다.
도 26을 참조하면, 패킷 미러링 장치는 특정 시간대의 패킷들의 HTTP 리퍼러(referrer) 정보를 패킷들로부터 획득하여 이를 정렬함으로써 리스트로 생성할 수 있다. 리퍼러는 웹 브라우저로 월드와이드 웹(www)을 서핑할 때, 하이퍼링크를 통해 각각의 사이트 방문시 남는 흔적을 말한다. 이를 통해 웹 사이트의 방문객이 어떤 경로로 해당 사이트에 방문했는지를 확인할 수 있다.
도 26에 도시된 바와 같이, 특정 웹 사이트에 대한 특정 시간대의 유입경로 확인 요청에 반환하여, 패킷 미러링 장치는 해당 웹 사이트의 상기 시간대의 패킷들 및 성능관련 지표 중 리퍼러 정보를 추출하여 이를 나열한다. 리퍼러와 함께 관련된 트랜잭션의 수 정보, 전체 트랜잭션 중 상기 리퍼러와 관련된 트낵잭션의 비율 정보, 에러 정보, 요청 데이터 양, 응답 데이터 양, 응답대기시간 및 응답대기 세션 수 정보, 다운로드 시간 정보 등이 함께 표시될 수 있다. 특히, 트랜잭션과 관련하여서는 오름차순으로 정렬하거나 내림차순으로 정렬가능하다.
또한, 도 26의 하단의 그래프를 보면, 패킷 미러링 장치는 트랜잭션과 연관된 비율에 맞게 각각의 리퍼러를 그래프 형태로 도시할 수 있다. 이에 따라 어느 경로를 통해 해당 웹 사이트로 사용자가 접속하였는지를 한눈에 파악할 수 있다.
도 27은 서버 지표와 네트워크 지표를 비교분석하는 페이지를 나타낸 도면이다.
도 27을 참조하면, 패킷 미러링 장치는 서버 지표와 네트워크 관련 지표를 비교하는 그래프를 생성할 수 있다. 예컨대, 특정 서버의 응답대기시간(latency) 값과 네트워크와 연관된 RTT 값을 시간순으로 그래프로써 비교할 수 있다. 패킷 미러링 장치는 응답대기시간뿐만 아니라 다른 서버 관련 지표들, 다른 네트워크 관련 지표들을 비교할 수 있다. 예컨대, RTT가 아닌, BPS, TPS, CPS, HPS 등도 시간에 따라 비교할 수 있다. 또한, 특정 시간대에 걸친 상기 서버 지표 및 네트워크 관련 지표 중 가장 높은 피크포인트를 추출하여 해당 부분의 값을 표시할 수 있다.
도 28a는 서버스 지연 및 장애 이벤트 알람을 판단하는 과정을 나타낸 흐름도이다.
도 28a를 참조하면, 패킷 미러링 장치는 문제발생과 관련된 다양한 룰 셋이 존재하고, 해당 룰 셋의 적용을 위한 임계치가 존재한다. 이를 위해 사용자 인터페이스를 통한 임계치 설정이 요구될 수 있다(S2810). 그리고, 이메일, SMS 문자, 또는 SNS와 같은 네트워크 서비스와의 연동을 위한 컨피규어레이션을 설정한다(S2812). 그리고는, 이벤트 발생을 감지하고(S2814), 조기 경보를 통한 선재적 대응이 수행될 수 있도록 한다(S2816).
본 발명의 실시예에 따르면, 이벤트가 발생했을시 시각적인 조치뿐만 아니라 청각적인 조치도 동반될 수 있다. 즉, 경보음(beep)을 울리는 등의 동작이 수행되도록 제어할 수 있다. 또한, 이벤트 발생시 해당 이벤트와 연관된 서버로 자동 스크롤이 되도록 할 수 있다. 예컨대, 제 1 서버에서 응답대기시간과 연관된 지연관련 문제가 발생한 경우, 패킷 미러링 장치는 이벤트가 발생한 제 1 서버를 식별하고, 제 1 서버의 이벤트 발생 시간의 플로우 맵, 서버 상태 페이지, 세션 리스트, 사용자 리스트 및/또는 관련 웹 사이트 분석 페이지를 자동으로 출력할 수 있다.
도 28b는 임계치 설정 페이지를 나타낸 도면이다.
도 28b를 참조하면, 패킷 미러링 장치는 이벤트 발생과 연관된 컨피규어레이션 창을 생성하여 사용자 인터페이스를 통해 출력한다. 그리고는, 사용자 인터페이스를 통해 사용자 입력을 받아 적절한 룰 셋 및 룰 셋과 연관된 임계값 등을 설정할 수 있도록 한다.
먼저, 상기 컨피규어리이션 창을 통해, 사용자는 경보의 이름을 설정할 수 있고, 관련된 서버 IP를 입력할 수 있다. 그리고, 문제 발생 조건의 지속시간 임계값을 설정할 수 있고, 조건도 다수 개 조건을 모두 만족할지, 아니면 특정 비율로 만족할지 여부를 선택할 수 있도록 한다.
특정 이벤트 발생시 서버의 상태를 어떠한 형태로 둘지도 선택가능하다. 예컨대, 서비스 전체를 다운되도록 할지, 아니면 서버만 다운되도록 할지를 선택할 수 있다. 또한, 앞서 도 12에서 설명한 바와 같이, 문제 발생과 관련하여, 세션의 수, 응답대기 세션의 수, 응답대기시간, CPS, TPS, BPS, 에러들과 연관된 정보를 설정할 수 있다. 위에 예시로 든 성능 관련 지표 외에 다른 지표와 연관된 이벤트를 생성할 수 있다.
즉, 패킷 미러링 장치는 응답속도, 애플리케이션의 에러 수/비율, 서버 및 애플리케이션의 응답대기 상태, 네트워크 사용량 및/또는 수신자 그룹별 지정 이벤트 알림과 관련된 정보를 상기 컨피규어레이션 창을 통해 용이하게 설정할 수 있도록 지원한다.
도 29a 및 도 29b는 40X 에러 분석과 관련된 페이지를 나타낸 도면이다.
도 29a를 참조하면, 패킷 미러링 장치는 특정 일자의 에러 발생량 분석 요청에 응답하여, 요청과 연관된 날짜의 일별 40X 에러의 발생량 시간별 추이 그래프를 생성하여 나타낼 수 있다. 또한, 해당 시간의 사용자의 분포를 함께 표시하여, 사용자의 분포에 따른 40X 에러의 발생현황을 한눈에 확인할 수 있도록 시각화할 수 있다. 양자간에는 비례관계가 성립하는 것을 확인할 수 있다.
도 29b를 참조하면, 패킷 미러링 장치는 특정 시간대에 대한 40X 발생 애플리케이션에 대한 분석 요청에 응답하여 관련 일자에 발생한 40X 발생 관련 정보를 취합하고, 취합된 내용을 테이블 형태로 표시하여 출력할 수 있다. 이때, 관련된 서버의 IP, URL, 메소드, 트랜잭션 정보, 에러 정보, 요청 및 응답데이터 양, 응답대기세션 수 및 응답대기 시간 정보, 다운로드 시간 정보를 함께 표시할 수 있다. 도 29b의 실시예에서, 40X 에러가 가장 많이 발생한 애플리케이션은 "www.gne.go.kr/main/photo_news.jsp" 인 것을 확인할 수 있다. 해당 애플리케이션뿐만 아니라 상당수의 애플리케이션이 같은 현상이 발생하는 것과 관련된 경향성을 확인할 수 있으며, 패킷 미러링 장치는 이러한 현상이 집중되는 것을 기반으로 특정 페이지의 링크 문제가 존재하는지 여부를 판단할 수 있고, 해당 링크와 연관된 서버나 클라이언트를 주기적으로 모니터링하도록 제어할 수 있다.
위와 같은 에러 분석은 반드시 40X 에러에 대해서만 수행되는 것이 아니고 50X 에러 등 다른 에러에 대해서도 수행될 수 있다.
도 30은 지리적인 데이터와 연계하여 글로벌 맵에서의 서비스 성능을 시각화한 페이지를 나타낸 도면이다.
도 30을 참조하면, 패킷 미러링 장치는 지리적인 정보를 저장하고 있을 수 있다. 예컨대, GIS(Geographic Information System) 정보를 저장하고 있을 수 있다. GIS 정보는 본 발명의 일 실시예에 따른 패킷 미러링 장치의 위치와 연관된 정보(예컨대, 국가, 도시 등)와 연동가능하고, GIS 정보와 상기 패킷 정보 및/또는 성능 관련 지표 정보는 연계하여 표시될 수 있다.
도 30의 실시예에 따르면, 패킷 미러링 장치는 국내에 존재하는 서버에 세션을 형성하고 있는 복수의 클라이언트의 현황을 지리적 위치를 고려하여 시각화한다. 즉, 클라이언트의 IP, 국가 정보 및 도시 정보를 기반으로 세계지도에서 클라이언트의 지리적 위치에 해당 클라이언트의 수 정보 또는 상기 클라이언트의 수에 대응하는 시각적 표현을 구현할 수 있다. 상기 시각적 표현은 클라이언트 수에 대응된 크기 또는 색상 정보로써 구현될 수 있다. 또는 실제 해당 지역에 존재하는 클라이언트의 수를 병기함으로써 구현될 수 있다.
또한, 해당 서버와 연관된 전체 클라이언트의 정보 표시 요청에 응답하여, 패킷 미러링 장치는 상기 서버와 연관된 사용자 정보를 포함하는 사용자 리스트를 추출하여 표시할 수 있다. 이때, 네트워크 지연 지표 중 적어도 일부(예컨대, RTT)를 기준으로 클라이언트와 상기 서버와의 연결을 나타내는 선을 다르게 표현할 수 있다. 시각적 표현의 다름은 색상, 굵기, 형태 등을 다르게 하는 것을 포함한다.
본 발명의 다른 실시예에 따르면, 도 30의 실시예의 사용자에 대한 정보 요청에 대한 지리적 정보를 기반으로 한 응답을 특정 클라이언트와 연관된 서버들 및/또는 운영자가 선택한 서버들에 대한 정보로 표현하는 것도 가능하다. 즉, 지리적 정보와의 연동은 사용자 정보로만 국한되는 것은 아니고, 서버 정보, 세션 정보, URL 정보, 및/또는 웹 사이트 정보에도 적용가능하다.
도 31은 지리적인 데이터와 연계하여 로컬 맵에서의 서비스 성능을 시각화한 페이지를 나타낸 도면이다.
도 31을 참조하면, 글로벌 지도에서 특정 국가를 클릭하면, 클릭된 국가의 로컬 맵와 연관된 정보가 표시되도록 할 수 있다. 즉, 글로벌 지도와 국가 지도(로컬 지도라고 부를 수 있음), 그 하위단의 도시 지도 등이 계층적으로 연관관계를 가지고 연결되고, 사용자는 일정한 입력(예컨대, 클릭, 줌-인, 줌-아웃, 패닝과 같은 제어입력)을 통해 상하위 계층의 지리적 지도를 넘나들 수 있다. 패킷 미러링 장치는 로컬 지도에서 서버 정보, 사용자 정보, 세션 정보, URL 정보 및/또는 웹 사이트 정보를 지리적인 데이터와 연계하여 표시할 수 있다.
즉, 패킷 미러링 장치가 패킷을 통해 획득하거나 또는 기 저장된 클라이언트의 ip, 클라이언트 포트 정보, 클라이언트의 국가 정보, 조직 정보(org 정보), ISP 정보(isp_id), 도시 정보(city_id) 및/또는 서버 ip, 서버 포트, 서버 국가, 서버 도시 등(미리 저장된 정보일 수 있음) 지리적 정보와 연관된 데이터를 실제 지도 상에 맵핑하여 표현할 수 있다. 이때, RTT나 그외의 지연관련 지표를 통해 특정 지역에서의 서비스 속도를 한눈에 확인할 수 있도록 할 수 있다. 예컨대, 패킷 미러링 장치는 특정 지역의 클라이언트의 RTT 값의 평균 값(또는 최고값 및/또는 최저값)을 미리 설정된 임계값(복수 개일 수 있음)과 비교하여 특정한 구간으로 구분한 다음, 상기 구분된 구간에 대응되는 시각적 표현으로 해당 지역을 표시할 수 있다. 또는 해당 지역의 특정 클라이언트의 위치를 포인트(점)로써 맵핑한 후, 해당 포인트에 상기 구분된 구간에 대응되는 시각적 표현을 적용할 수도 있다. 이때 특정 지역 또는 해당 포인트에 대한 정보 요청이 입력되면, 패킷 미러링 장치는 그와 연관된 세션 정보, 클라이언트 정보, 서버 정보, URL 정보 및/또는 웹 페이지 정보 등을 반환할 수 있다.
도 32는 서버별 성능을 모니터링하여 분석한 페이지를 나타낸 도면이다.
도 32를 참조하면, 패킷 미러링 장치는 특정 서비스(예컨대, 대학의 인증, 수강신청 관련 서비스)와 연관된 서버들을 기반으로 서버 상태를 표시할 수 있다. 이와 관련하여, 패킷 미러링 장치는 특정 서버와 연관된 세션에 있어서, 현재 가용한 세션들 중 연결 중인 세션이 어떠한 비율로 있는지, 에러는 존재하는지 여부를 지시하는 시각적 표현(빈 박스 내에 일정 비율의 채워진 부분을 통해 표현되는 것을 포함함)을 생성하여 출력한다. 또한, 상기 서버 상태 페이지에는 클라이언트 시간, 네트워크 시간 및 서버 시간을 구분하여 표시되는 타임 바가 함께 표시될 수 있고, 현재 시점으로부터 과거 특정 시간대까지의 속도 관련 지표(BPS, TPS 등)들도 함께 표시될 수 있다.
도 33은 사용자의 환경별 접속 분포를 도시한 페이지를 나타낸 도면이다.
도 33을 참조하면, 패킷 미러링 장치는 미러링된 패킷에서 사용자 속성과 관련된 정보를 추출하여 관련 정보를 생성한다. 따라서, 특정 시간 또는 실시간으로 현재 관리 대상 서버, URL, 및/또는 세션들과 연관된 사용자 단말의 환경별로 통계자료를 생성할 수 있다. 이때, org 정보, city_id 정보, isp_id 정보, os_id 정보, browser_id 정보, mobile_id 정보 및/또는 telcom_id 정보가 활용될 수 있다.
예컨대, 사용자 ISP를 기반으로 현재 관련된 사용자들의 분포를 그래프로 표시할 수 있다. 또는, OS 별로, 웹 브라우저 별로, 기기 타입 별로, 관련 통신사 별로, 그리고, 모바일 기기 종류별로 관련된 사용자들의 분포를 표시할 수 있다. 이때, 그래프 내의 특정 분포 부분(예컨대, 웹 브라우저 그래프에서 크롬 39(chrome 39))을 클릭하면, 상기 특정 분포 부분을 사용하는 클라이언트와 연관된 사용자의 리스트가 표시되도록 연결할 수 있다. 이러한 분석 페이지들 간의 연결관계는 메타데이터를 통해 저장되어 있고, 사용자 설정을 통해 변경가능하다.
도 34a 및 도 34b는 신규 장치 및 링크 등록을 위한 페이지를 나타낸 도면이다.
도 34a를 참조하면, 패킷 미러링 장치에 신규 장치 및 링크를 등록하기 위해서는, 먼저, 서버 정보를 사용자(또는 네트워크 관리자/운영자)가 직접 입력할 수 있다. 서버 장치 입력에는 서버 이름, 서버 IP, 포트, 소트 넘버(sort number) 등이 요구될 수 있다.
또한, 장치가 등록되면, 링크(소스-목적지) 형태로 선택(source IP, 목적지 IP)되어 이 링크들이 상호 연결정보에 의해 사용자로부터 각 단계별 서버에 이르는 플로우를 자동으로 구성한다. 즉, 장치 정보에 대한 입력 이후 링크 구성 단계를 거쳐 최종 단계별 플로우 맵이 생성될 수 있다.
다만, 본 발명의 일 실시예에 따른 패킷 미러링 장치는 네트워크에 연결된 IP 기반의 모든 장치에 대해 패킷 미러링 기법을 적용하여 장치의 성능적, 보안적 문제를 감시 및 진단한다. 이때, 수백, 수천 개가 넘는 수많은 장치들을 하나하나 등록하는데에는 어려움이 따를 수 있고, 새로운 장치가 추가되는 경우, 즉각적인 등록 처리가 되지 못한다. 이에 이하 도 35 내지 도 39를 참조하여 본 발명의 다른 실시예에 따른 신규개체 자동등록 방법을 상세히 설명한다.
이때, 패킷 미러링 장치의 신규개체 자동 등록 부분과 관련하여, 패킷 미러링 장치는 신규개체 자동등록 장치로써 구현될 수 있고, 이때, 상기 장치는 반드시 미러링된 패킷을 이용해야만 하는 것은 아니다. 다른 방식으로 패킷과 관련된 정보를 획득한 후, 획득된 패킷 관련 정보 중에서 목적지 IP 및 소스 IP와 같은 주소 및 특정 개체를 정의하는 정보를 획득한 후, 획득된 정보와 상기 신규개체 자동등록 장치가 기보유하고 있던 네트워크 개체정보(서버리스트 등을 포함함)와 비교하여 신규개체를 등록할 수 있다.
도 35는 본 발명의 다른 실시예에 따른 패킷 미러링 장치에서 신규 장치를 자동등록하기 위한 동작을 수행하는 구성을 설명하기 위한 블록도이다. 도 35에 도시된 바와 같이, 본 발명의 다른 실시예에 따른 패킷 미러링 장치(3500)는 패킷 분석 모듈(3502) 및 서비스 모듈(3504)를 포함할 수 있다. 상기 패킷 미러링 장치(3500)는 패킷과 관련된 정보를 저장하고 있는 데이터베이스(미도시) 및 서버리스트와 같은 네트워크 개체 정보를 저장해 놓은 데이터베이스(미도시)를 더 포함할 수 있다.
도 35를 참조하면, 패킷 분석 모듈(3502)은 서비스 사용자와 웹 서버(3510) 사이의 패킷, 웹 서버(3510)와 WAS 서버(3520) 사이의 패킷 및 WAS 서버(3520)와 DB 서버(3530) 사이의 패킷에 대한 미러링된 패킷을 수집하고 수집된 패킷들을 분석하여 약 120여 개의 성능 관련 지표를 생성한다. 이를 통해 구간별 실시간 정보를 서비스 모듈(3504)로 제공할 수 있다. 이때, 수집된 패킷 중에 등록되지 않은 서버에 대한 리스트도 서비스 모듈(3504)로 제공한다. 즉, 운영자에 의해 기등록된 서버 리스트와 미러링된 패킷 내의 목적지 ip에 기재된 서버의 ip를 비교하여 등록되지 않는 서버들을 추출할 수 있고 이를 서비스 모듈(3504)로 제공한다.
서비스 모듈(3504)은 앞서 설명한 바와 같이, 패킷 분석 모듈(3502)에서 생성한 성능 관련 지표를 기반으로 각종 통계자료, 검색, 조회 및 알람 기능을 수행한다. 이에 덧붙여, 패킷 분석 모듈(3502)로부터 수신한 미등록 서버 리스트를 기반으로 자동등록을 수행한 후, 모니터링 서버 리스트를 재생성하여 패킷 분석 모듈(3502)로 제공한다.
신규 장치 등록을 위한 방법은 두 가지가 있을 수 있다. 자동으로 관리자로부터 특별한 입력 없이 등록하는 방법과 신규 장치를 후보로써 존재하도록 하고, 관리자의 결정에 의해 신규 장치 후보가 신규 장치가 되도록 하는 방법이 있을 수 있다. 이러한 방법들을 통해 신규 장치는 자동으로 기 저장된 서버 리스트 및 플로우 맵 등에 등록되고, 자동으로 링크가 구성될 수 있다.
본 발명의 실시예에 따르면, 패킷 내의 목적지 ip만이 사용되는 것이 아니라 소스 ip도 신규 장치로 등록가능하다. 또한, 서버 측뿐만 아니라 클라이언트로의 등록도 고려될 수 있다. 이때, 사용자 리스트와의 비교가 요구될 수 있다.
도 36a 내지 도 36c는 본 발명의 다른 실시예에 따른 패킷 미러링 장치에서 신규 장치 및 신규 링크를 등록하기 위한 과정을 나타낸 흐름도이다.
도 36a를 참조하면, 전체적인 프로세스에 있어서, 패킷 미러링 장치는 미러링된 패킷을 수집하고 분석한다(S3610). 이는 패킷 분석 모듈에서 수행될 수 있다. 그리고, 기 저장된 서버리스트 또는 서버 정보와 비교하여 패킷 내의 목적지가 새로운 목적지인지 비교한다(S3612). 만약 새로운 목적지인 경우, 신규 장치로 등록한다(S3614). 그리고, 등록되는 신규 장치와 연관된 소스 장치가 새로운 소스(source)인지 판단한다(S3616). 만약 새로운 소스 장치인 경우, 신규 링크로서 등록한다(S3618). 본 발명의 실시예에 따르면, 소스 장치가 새로운 것이 아니더라도, 기존에 존재하는 클라이언트와 신규 서버 장치의 링크도 역시 신규 링크로써 등록될 수 있다. 예컨대, 기저장된 사용자 리스트에 존재하는 소스 장치와 신규 등록된 서버 장치와의 링크 역시 신규 링크로 고려될 수 있다.
도 36b를 참조하면, 신규 장치 등록과 연관된 프로세스에 있어서, 패킷 미러링 장치는 신규 장치의 정보(예컨대, IP 정보)를 기반으로 해당 장치가 등록범주 내에 속하는지 판단한다(S3630). 여기서 등록범주는 패킷 미러링 장치가 처리할 대상 장치 IP 영역을 나타낸다. 이는 기설정되어 있을 수 있다. 예컨대, 192.47.33.12 내지 192.49.33.44까지가 등록범주인 경우, 신규 장치의 IP를 상기 등록범주 IP 범위와 대조하여 판단한다. 판단 결과, 등록범주 내에 속한다고 한다면, 상기 장치를 목적지 IP 형태로 등록한다(S3632).
도 36c를 참조하면, 신규 링크 등록과 연관된 프로세스에 있어서, 패킷 미러링 장치는 신규 장치와 연관된 소스 장치와의 링크 정보를 기반으로 해당 장치가 등록범주 내에 속하는지 판단한다(S3640). 등록범주는 앞서 설명한 바와 같이, 대상장치의 IP 영역을 나타낼 수 있다. 판단 결과, 소스 장치와의 링크 역시 등록범주 내에 속한다고 한다면, 링크 목록에 신규 장치와 소스 장치를 소스 IP 및 목적지 IP 형태로 등록한다(S3642). 이때 상기 링크는 기존에 존재하는 플로우 맵의 링크들과 연계하여 등록된다. 즉, 신규 장치는 상기 링크 관련 정보(소스 IP - 목적지 IP)를 통해 기존 플로우 맵에 신규 서버로써 추가되면서 기존 또는 신규 소스와의 연결을 표시할 수 있다. 다른 실시예에 따르면, 기존 플로우 맵에 클라이언트 장치로써 추가될 수도 있다.
도 37a 내지 도 37c는 본 발명의 다른 실시예에 따른 패킷 미러링 장치에서 선택적으로 신규 장치 및 신규 링크를 등록하기 위한 과정을 나타낸 흐름도이다.
도 37a를 참조하면, 전체적인 프로세스에 있어서, 패킷 미러링 장치는 미러링된 패킷을 수집하고 분석한다(S3710). 그리고, 기 저장된 서버리스트 또는 서버 정보와 비교하여 패킷 내의 목적지가 새로운 목적지인지 비교한다(S3712). 만약 새로운 목적지인 경우, 신규 장치 후보로 등록한다(S3714). 그리고, 등록되는 신규 장치 후보와 연관된 소스 장치가 새로운 소스(source)인지 판단한다(S3716). 만약 새로운 소스 장치인 경우, 신규 링크 후보로서 등록한다(S3718).
도 37b를 참조하면, 신규 장치 후보 등록과 연관된 프로세스에 있어서, 패킷 미러링 장치는 신규 장치 후보의 정보(예컨대, IP 정보)를 기반으로 해당 후보가 등록범주 내에 속하는지 판단한다(S3730). 등록범주는 앞서 설명한 바와 같이, 패킷 미러링 장치가 처리할 대상 장치 IP 영역을 나타낼 수 있다. 판단 결과, 등록범주 내에 속한다고 한다면, 상기 후보를 목적지 IP 형태로 장치 후보 목록에 등록한다(S3732). 그리고는, 선택적 장치 자동 등록 프로세스로 넘어가서 장치를 자동 등록한다(S3734). 선택적 장치 자동 등록 프로세스는 이하 도 38를 참조하여 설명한다.
도 37c를 참조하면, 신규 링크 후보 등록과 연관된 프로세스에 있어서, 패킷 미러링 장치는 신규 장치 후보와 연관된 소스 장치와의 링크 정보를 기반으로 해당 후보와 소스 장치가 등록범주 내에 속하는지 판단한다(S3740). 판단 결과, 소스 장치와의 링크 역시 등록범주 내에 속한다고 한다면, 링크 후보 목록에 신규 장치 후보와 소스 장치를 소스 IP 및 목적지 IP 형태로 등록한다(S3742). 그리고는, 선택적 장치 자동 등록 프로세스로 넘어가서 장치를 자동 등록한다(S3734).
도 38은 선택적 장치 자동 등록 페이지를 나타낸 도면이다.
도 38을 참조하면, 패킷 미러링 장치는 기등록된 서버 리스트와의 비교 및 등록범주 내에 속하는지 여부에 대한 판단 결과, 신규 장치 후보로 여겨지는 후보 장치에 대해 모니터링 서버 등록 화면을 표시해준다. 관리자는 상기 화면을 통해 신규 장치가 존재함을 확인하고, 해당 장치를 등록할지 결정할 수 있다. 상기 모니터링 서버 등록 화면은 서버의 이름, 서버 IP, 소트 넘버, 대시보드 뷰(이는 플로우 맵의 보여지는지 여부를 나타냄), 헬스 체크(health check) 등의 정보 입력란을 포함한다. 신규 서버 이름은 기본적으로는 서버 IP로 표시되고 사용자 입력에 의해 변경가능하다. 사용자가 해당 장치를 등록하면 기존 소스와의 관계 정보를 이용하여 자동으로 링크가 구성될 수 있다.
도 39는 자동 장치 등록에 의해 새롭게 생성된 링크 및 장치를 시각화한 플로우 맵을 나타낸 도면이다.
도 39를 참조하면, 패킷 미러링 장치는 상기와 같은 방법으로 신규 장치를 자동등록하면, 기존에 존재하는 링크들에 하나의 링크가 더 추가된 것을 확인할 수 있다. 이때, 다른 서버들과 주고받은 패킷들을 기반으로 클라이언트 외에 다른 서버와의 관계를 파악하여 서버-서버간 링크를 생성할 수도 있다.
본 발명의 다른 실시예에 따르면, 신규 장치는 사물인터넷(IoT: Internet of Things)과 관련된 기기를 포함할 수 있다. 예컨대, 온도센서, 조도센서, 가속도센서와 같은 각종 센서류를 포함할 수 있고, CCTV, IP 카메라와 같은 영상처리장치 등을 포함할 수 있다. 이를 통해 각종 장치들을 본 발명의 일 실시예에 따른 네트워크 관리를 위한 패킷 미러링 장치에 등록시킨 후, 보안, 침입방지 및 이상징후 판단에 따른 경보 용도로 활용할 수 있다.
도 40은 본 발명의 또 다른 실시예에 따른 복수 개의 패킷 미러링 장치의 시스템 연결 관계를 설명하기 위한 도면이다.
도 40을 참조하면, 패킷 미러링 장치는 L2/L3 스위칭 및 L4 스위치와 연결될 수 있다. 패킷 미러링 장치를 포함하는 전체 네트워크 시스템은 인터넷 네트워크와 연결된 백본(backborn) 스위치, 상기 백본 스위치와 연결된 L4 스위치, L4 스위치와 연결된 방화벽 시스템(침입방지 시스템) 및 침입 차단 시스템, 상기 침입 차단 시스템과 연결된 L4 스위치, 및 L4 스위치와 연결된 L2/L3 스위치를 포함한다. 여기서, 침입 차단 시스템에서 브랜치로 다른 두 개의 L4 스위치가 연결될 수 있고, 상기 두 개의 L4 스위치는 L3 시스템과 연결된다. 패킷 미러링 장치 1은 L2/L3 스위치, L4 스위치로부터 패킷을 수집한다. 이때, L2/3 스위치로부터는 1000base-T 규격으로 패킷 미러링을 수행하여 미러링된 패킷을 수신한다. L4 스위치로부터는 10G Fiber NIC를 이용하여 패킷 미러링을 수행함으로써 미러링된 패킷을 수신할 수 있다. 이때, 상기 두 개의 L4 스위치 중 하나에 대해서는 1000Base-T의 관리 인터페이스가 연결되어 스위칭 동작에 대한 관리 및 패킷 미러링 동작에 대한 관리와 연관된 신호를 송수신할 수 있다.
본 발명의 상기 실시예에 따르면, 패킷 미러링 장치 1와 연결된 스위치들은 각각 서로 다른 규격으로 통신할 수 있고, 특히 연결 미디어도 구리선(copper) 및 파이버(fiber)를 포함하여 다양한 종류의 미디어가 통신 특성에 맞게 사용될 수 있다.
상기 패킷 미러링 장치 1은 패킷 미러링 장치 2와 연동하도록 구성할 수 있고, 상기 패킷 미러링 장치 1은 패킷 수집 및 분석을, 상기 패킷 미러링 장치 2는 성능 통계 및 검색 작업을 수행하도록 동작을 구분하여 구성할 수 있다. 이때, L2/3 스위치는 웹 서버, WAS 서버 및 DB 서버와 복합적으로 연결되어 있으므로, 웹 서버-WAS 서버 구간 및 WAS 서버-DB 서버 구간에 대해 구간별 네트워크 서비스 성능 지표를 각각 산출해낼 수 있다.
도 41은 본 발명의 또 다른 실시예에 따른 복수 개의 패킷 미러링 장치의 연결관계에 따라 서로 다른 기능을 수행하는 구성을 나타낸 도면이다.
도 41을 참조하면, 패킷 미러링 장치 1은 스위치와 연결되어 미러링된 패킷을 수집한다. 패킷 미러링 장치 1은 클라이언트-웹 서버, 웹-WAS, 및 WAS-DB와 같은 각 구간에 대한 패킷 정보를 수집하여 구간별 네트워크 서비스의 성능을 실시간 분석하고 모니터링한다. 이는 성능과 연관된 통계를 내고 분석을 수행하는 패킷 미러링 장치 2와 연동할 수 있다.
패킷 미러링 장치 2는 패킷 미러링 장치 1과 NFC(Near Field Communication)와 같은 근거리 무선 통신 또는 유선 통신을 통해 통신하고, 패킷 미러링 장치 1로부터 전송되는 패킷 관련 로우(raw) 데이터 및 분석된 성능 관련 지표와 연관된 데이터를 이용하여 통계 데이터를 주기적으로 생성한다. 특정 통계는 1시간 단위로 생성되기도 한다. 그리고는, 통계 데이터를 조회, 검색, 보관하는 기능을 수행할 수 있다.
도면에는 패킷 미러링 장치 1에만 연결된 것으로 개시되어 있지만, 패킷 미러링 장치 1 및/또는 패킷 미러링 장치 2는 디스플레이 수단과 연결되어 관련된 데이터를 사용자가 볼 수 있도록 디스플레이할 수 있다.
도 42는 본 발명의 일 실시예에 따른 패킷 미러링 장치 또는 도 5의 서비스 모듈을 구체적으로 나타낸 블록도이다. 도 42에 도시된 바와 같이, 본 발명의 일 실시예에 따른 패킷 미러링 장치 또는 서비스 모듈은 수신부(4210), 맵/페이지 생성부(4220)를 포함할 수 있다.
도 42를 참조하면, 수신부(4210)는 패킷 미러링 장치(미도시) 또는 분석 데이터베이스(도 5의 522 참조)로부터 미러링된 패킷의 로우 데이터 정보 및 성능 관련 지표와 연관된 데이터를 수신할 수 있다. 그리고는, 맵/페이지 생성부(4220)로 수신된 데이터를 제공한다.
맵/페이지 생성부(4220)는 위치 템플릿(4230), 타일 정보(4232), 프로젝트 설정(4234), 룰 스트립트(4236) 및 실행 스케줄러(4238) 정보를 기반으로 수신되는 패킷 데이터 및/또는 성능 관련 지표를 통합하여 플로우 맵 또는 분석 페이지 데이터를 생성할 수 있다.
위치 템플릿 정보(4230)는 다양한 유형의 페이지들의 배치 정보를 포함할 수 있다. 예컨대, 하나의 전체 디스플레이 캔버스 내에 복수 개의 분석 페이지들(예컨대, 서버 리스트, 세션 리스트, 사용자 리스트, URL 리스트, 웹 페이지 분석 페이지 등)의 배치의 여러 유형 정보를 포함하고 있을 수 있다. 또한, 템플릿 정보는 맵/페이지 간의 연결관계 정보를 포함할 수 있다. 드릴-다운 기반의 계층적 페이지 구성과 연관하여 어느 분석 페이지를 어떠한 계층에 배치할지를 결정하고(디폴트 유형을 설정가능하며 복수 개의 유형을 설정가능함), 결정된 소정 유형의 맵/페이지 배치 및 맵/페이지 간의 연결 관계를 갖는 템플릿이 정의될 수 있다. 본 발명의 다른 실시예에 따르면, 관리자가 원하는 특정 유형의 템플릿을 생성해 놓으면, 추후 동일한 템플릿을 불러와서 동일한 맵/페이지 구성을 쉽게 재배열할 수 있다.
타일 정보(4232)는 사용자 인터페이스의 배경 정보를 저장하고 있다. 예컨대, 플로우 맵의 배경으로 사용되는 배경 정보를 저장하여, 맵/페이지 생성부(4220)가 맵/페이지 데이터를 생성할 때, 상기 저장된 배경으로 시각화되도록 한다.
프로젝트 설정(4234) 정보는 맵 생성부(4220)에서의 동적 콘텐트를 생성하는 프로젝트의 각종 설정 정보를 포함하고 있다.
룰 스크립트(4236)는 맵/페이지에 표시되는 각종 오브젝트들(예컨대, 장치 오브젝트, 서버 오브젝트, 및/또는 링크 오브젝트 등)의 기본 배치 정보, 맵/페이지에에 표기될 시각적 표현들의 색상, 폰트 등을 정의하고 있다. 룰 스크립트(4236)의 설정 정보는 룰 시스템에 의해 새로운 설정의 생성, 저장 및 기존 설정 삭제 등의 관리가 이루어질 수 있다.
또한, 수신되는 데이터의 주기는 가변적일 수 있으므로, 맵/페이지 생성부(4230)는 실행 스케줄러(4238)를 가지고, 정의된 스케줄에 의해 자동/수동으로 데이터 수신 주기 및/또는 페이지 생성 주기를 변경하여 맵/페이지 생성을 수행할 수 있다. 실행 스케줄러(4238)는 수신된 데이터로부터 분석에 필요한 데이터를 추출하는 단계부터 맵 및/또는 분석 페이지 생성까지의 시계열적인 작업 순서 정보를 포함할 수 있다.
맵/페이지 생성부(4230)를 통해 생성된 맵 및/또는 페이지 데이터는 모니터와 같은 디스플레이 수단(4240)을 통해 출력될 수 있다. 또는 다른 패킷 미러링 장치로 제공되어, 연동하는 패킷 미러링 장치가 제공되는 맵 및/또는 페이지 데이터를 가공하여 다른 형태의 데이터로 생성할 수 있다. 디스플레이 수단(4240)은 패킷 미러링 장치에 포함될 수도 있고, 외부 모니터와 같이 별도로 존재할 수도 있다.
이상에서 설명된 시스템 또는 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 시스템, 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예들에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (17)

  1. 네트워크 신규개체 등록 장치에서의 네트워크와 연관된 신규장치 등록 방법에 있어서,
    상기 네트워크와 연관된 적어도 하나의 개체들에 대한 IP(Internet Protocol) 정보를 포함하는 네트워크 개체 정보를 보유하는 단계;
    제 1 개체와 제 2 개체 간에 송수신되는 적어도 하나의 패킷들에 대한 정보를 획득하는 단계;
    상기 획득된 적어도 하나의 패킷들에 대한 정보를 상기 보유된 네트워크 개체 정보 내의 IP 정보와 비교하는 단계; 및
    상기 비교 결과를 기반으로 상기 네트워크 개체정보에 신규 장치를 등록하는 단계를 포함하는 네트워크와 연관된 신규 장치 등록 방법.
  2. 제 1 항에 있어서, 상기 비교 결과를 기반으로 상기 네트워크 개체정보에 신규 장치를 등록하는 단계는,
    상기 비교 결과, 상기 보유된 네트워크 개체 정보에 없는 제 1 IP 정보가 존재하는 때, 상기 제 1 IP 정보를 기반으로 상기 제 1 IP 정보와 연관된 장치를 상기 네트워크 개체 정보에 신규 장치로써 등록하는 단계를 포함하는 네트워크와 연관된 신규 장치 등록 방법.
  3. 제 2 항에 있어서, 상기 제 1 IP 정보를 기반으로 상기 제 1 IP 정보와 연관된 장치를 상기 네트워크 개체 정보에 신규 장치로써 등록하는 단계는:
    상기 제 1 IP 정보와 연관된 IP가 상기 네트워크와 연관하여 처리가능한 IP 영역 내에 존재하는지 비교하는 단계;
    상기 처리가능한 IP 영역에 상기 제 1 IP 정보와 연관된 IP가 존재하는 경우, 상기 네트워크 개체 정보에 상기 제 1 IP 정보와 연관된 장치를 신규 장치로써 등록하는 네트워크와 연관된 장치 등록 방법.
  4. 제 2 항에 있어서,
    상기 획득된 적어도 하나의 패킷들에 대한 정보를 상기 보유된 네트워크 개체 정보 내의 IP 정보와 비교하는 단계는, 상기 획득된 적어도 하나의 패킷들에 대한 정보 내에 포함된 목적지 IP 정보를 상기 보유된 네트워크 개체 정보 내의 IP 정보와 비교하는 단계를 포함하는 네트워크와 연관된 장치 등록 방법.
  5. 제 4 항에 있어서,
    상기 네트워크 개체 정보는 복수 개의 개체 간의 링크와 연관된 정보를 포함하되,
    상기 제 1 IP 정보와 연관된 장치를 목적지 IP로 하는 패킷의 소스 IP(source ip)를 추출하는 단계;
    상기 추출된 소스 IP가 상기 네트워크 개체 정보에 존재하는 IP 정보와 비교하는 단계; 및
    상기 추출된 소스 IP가 상기 네트워크 개체 정보에 존재하지 않는 경우, 상기 제 1 IP 정보와 연관된 장치와 상기 추출된 소스 IP와 연관된 장치의 링크를 상기 네트워크 개체 정보에 신규 링크로써 등록하는 단계를 더 포함하는 네트워크와 연관된 장치 등록 방법.
  6. 제 5 항에 있어서, 상기 제 1 IP 정보와 연관된 장치와 상기 추출된 소스 IP와 연관된 장치의 링크를 상기 네트워크 개체 정보에 신규 링크로써 등록하는 단계는:
    상기 제 1 IP 정보와 연관된 IP 및 상기 추출된 소스 IP가 모두 상기 네트워크와 연관하여 처리가능한 IP 영역 내에 존재하는지 비교하는 단계; 및
    상기 처리가능한 IP 영역에 상기 제 1 IP 정보와 연관된 IP 및 상기 추출된 소스 IP가 존재하는 경우, 상기 네트워크 개체 정보에 상기 제 1 IP 정보와 연관된 장치와 상기 추출된 소스 IP와 연관된 장치의 링크를 상기 네트워크 개체 정보에 신규 링크로써 등록하는 단계를 포함하는 네트워크와 연관된 장치 등록 방법.
  7. 제 6 항에 있어서, 상기 제 1 IP 정보를 기반으로 상기 제 1 IP 정보와 연관된 장치를 상기 네트워크 개체 정보에 신규 링크로써 등록하는 단계는:
    상기 보유된 네트워크 개체 정보를 기반으로 상기 네트워크의 트래픽(traffic) 흐름을 나타내는 플로우 맵(flow map)에 신규 링크와 연관된 장치를 추가로 시각화하는 단계를 더 포함하는 네트워크와 연관된 장치 등록 방법.
  8. 제 1 항에 있어서, 상기 비교 결과를 기반으로 상기 네트워크 개체정보에 신규 장치를 등록하는 단계는,
    비교 결과, 상기 보유된 네트워크 개체 정보에 없는 제 1 IP 정보가 존재하는 경우, 상기 제 1 IP 정보를 기반으로 상기 제 1 IP 정보와 연관된 장치를 신규 장치 후보로 등록하는 단계; 및
    상기 신규 장치 후보로 등록된 상기 제 1 IP 정보와 연관된 장치를 신규 장치로 상기 네트워크 개체 정보에 등록할지 결정하는 단계를 포함하는 네트워크와 연관된 신규 장치 등록 방법.
  9. 제 8 항에 있어서, 상기 신규 장치 후보로 등록된 상기 제 1 IP 정보와 연관된 장치를 신규 장치로 상기 네트워크 개체 정보에 등록할지 결정하는 단계는:
    상기 제 1 IP 정보와 연관된 장치를 상기 신규 장치 후보로 표시하는 단계;
    상기 표시된 신규 장치 후보에 대한 사용자 입력을 입력받는 단계;
    상기 사용자 입력을 기반으로 신규 장치 등록 여부를 결정하는 단계; 및
    신규 장치로 등록할 것으로 결정된 경우, 상기 제 1 IP와 연관된 장치를 신규 장치로 상기 네트워크 개체 정보에 등록하는 단계를 포함하는 네트워크와 연관된 신규 장치 등록 방법.
  10. 제 9 항에 있어서, 상기 제 1 IP 정보를 기반으로 상기 제 1 IP 정보와 연관된 장치를 상기 네트워크 개체 정보에 신규 장치 후보로써 등록하는 단계는:
    상기 제 1 IP 정보와 연관된 IP가 상기 네트워크와 연관하여 처리가능한 IP 영역 내에 존재하는지 비교하는 단계; 및
    상기 처리가능한 IP 영역에 상기 제 1 IP 정보와 연관된 IP가 존재하는 경우, 상기 제 1 IP 정보와 연관된 장치를 신규 장치 후보로써 등록하는 네트워크와 연관된 장치 등록 방법.
  11. 제 9 항에 있어서,
    상기 획득된 적어도 하나의 패킷들에 대한 정보를 상기 보유된 네트워크 개체 정보 내의 IP 정보와 비교하는 단계는, 상기 획득된 적어도 하나의 패킷들에 대한 정보 내에 포함된 목적지 IP 정보를 상기 보유된 네트워크 개체 정보 내의 IP 정보와 비교하는 단계를 포함하는 네트워크와 연관된 장치 등록 방법.
  12. 제 9 항에 있어서,
    상기 네트워크 개체 정보는 복수 개의 개체 간의 링크와 연관된 정보를 포함하되,
    상기 제 1 IP 정보와 연관된 장치를 목적지 IP로 하는 패킷의 소스 IP(source ip)를 추출하는 단계;
    상기 추출된 소스 IP가 상기 네트워크 개체 정보에 존재하는 IP 정보와 비교하는 단계; 및
    상기 추출된 소스 IP가 상기 네트워크 개체 정보에 존재하지 않는 경우, 상기 제 1 IP 정보와 연관된 장치와 상기 추출된 소스 IP와 연관된 장치의 링크를 신규 링크 후보로써 등록하는 단계; 및
    상기 신규 링크 후보로 등록된 상기 제 1 IP 정보와 연관된 장치 및 상기 추출된 소스 IP와 연관된 장치의 링크를 신규 링크로 상기 네트워크 개체 정보에 등록할지 결정하는 단계를 더 포함하는 네트워크와 연관된 장치 등록 방법.
  13. 제 12 항에 있어서, 상기 추출된 소스 IP가 상기 네트워크 개체 정보에 존재하지 않는 경우, 상기 제 1 IP 정보와 연관된 장치와 상기 추출된 소스 IP와 연관된 장치의 링크를 신규 링크 후보로써 등록하는 단계는:
    상기 제 1 IP 정보와 연관된 IP 및 상기 추출된 소스 IP가 모두 상기 네트워크와 연관하여 처리가능한 IP 영역 내에 존재하는지 비교하는 단계; 및
    상기 처리가능한 IP 영역에 상기 제 1 IP 정보와 연관된 IP 및 상기 추출된 소스 IP가 존재하는 경우, 상기 네트워크 개체 정보에 상기 제 1 IP 정보와 연관된 장치와 상기 추출된 소스 IP와 연관된 장치의 링크를 신규 링크 후보로써 등록하는 단계를 포함하는 네트워크와 연관된 장치 등록 방법.
  14. 제 12 항에 있어서, 상기 신규 링크 후보로 등록된 상기 제 1 IP 정보와 연관된 장치 및 상기 추출된 소스 IP와 연관된 장치의 링크를 신규 링크로 상기 네트워크 개체 정보에 등록할지 결정하는 단계는:
    상기 제 1 IP 정보와 연관된 장치 및 상기 추출된 소스 IP와 연관된 장치와의 링크를 상기 신규 링크 후보로 표시하는 단계;
    상기 표시된 신규 링크 후보에 대한 사용자 입력을 입력받는 단계;
    상기 사용자 입력을 기반으로 신규 링크 등록 여부를 결정하는 단계; 및
    신규 링크로 등록할 것으로 결정된 경우, 상기 제 1 IP 정보와 연관된 장치 및 상기 추출된 소스 IP와 연관된 장치와의 링크를 신규 링크로 상기 네트워크 개체 정보에 등록하는 단계를 포함하는 네트워크와 연관된 신규 장치 등록 방법.
  15. 제 14 항에 있어서, 상기 제 1 IP 정보와 연관된 장치 및 상기 추출된 소스 IP와 연관된 장치와의 링크를 신규 링크로 상기 네트워크 개체 정보에 등록하는 단계는,
    상기 보유된 네트워크 개체 정보를 기반으로 상기 네트워크의 트래픽 흐름을 나타내는 플로우 맵에 신규 링크와 연관된 장치를 추가로 시각화하는 단계를 더 포함하는 네트워크와 연관된 장치 등록 방법.
  16. 제 1 항에 있어서,
    제 1 개체와 제 2 개체 간에 송수신되는 적어도 하나의 패킷들에 대한 정보는 상기 제 1 개체와 상기 제 2 개체 간에 구비되는 스위칭 장치로부터 미러링을 수행하여 획득된 정보인 네트워크와 연관된 신규 장치 등록 방법.
  17. 네트워크와 연관된 신규개체 등록 장치에 있어서,
    상기 네트워크와 연관된 적어도 하나의 개체들에 대한 IP(Internet Protocol) 정보를 포함하는 네트워크 개체 정보를 보유하는 데이터베이스;
    제 1 개체와 제 2 개체 간에 송수신되는 적어도 하나의 패킷들에 대한 정보를 획득하는 포트(port);
    상기 획득된 적어도 하나의 패킷들에 대한 정보를 상기 보유된 네트워크 개체 정보 내의 IP 정보와 비교하는 패킷 분석 모듈; 및
    상기 비교 결과를 기반으로 상기 네트워크 개체정보에 신규 장치를 등록하는 서비스 모듈을 포함하는 네트워크와 연관된 신규개체 등록 장치.

KR1020180006769A 2018-01-18 2018-01-18 네트워크와 연관된 신규 장치 등록 방법 및 장치 KR102027759B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020180006769A KR102027759B1 (ko) 2018-01-18 2018-01-18 네트워크와 연관된 신규 장치 등록 방법 및 장치
US16/962,974 US11362922B2 (en) 2018-01-18 2018-12-28 Method, apparatus and system for diagnosing network performance
PCT/KR2018/016901 WO2019143043A1 (ko) 2018-01-18 2018-12-28 네트워크 성능 진단 방법 및 장치, 및 시스템
US17/728,955 US11902135B2 (en) 2018-01-18 2022-04-25 Method, apparatus and system for diagnosing network performance

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180006769A KR102027759B1 (ko) 2018-01-18 2018-01-18 네트워크와 연관된 신규 장치 등록 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20190088344A true KR20190088344A (ko) 2019-07-26
KR102027759B1 KR102027759B1 (ko) 2019-10-04

Family

ID=67469905

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180006769A KR102027759B1 (ko) 2018-01-18 2018-01-18 네트워크와 연관된 신규 장치 등록 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102027759B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102163279B1 (ko) * 2019-09-09 2020-10-08 주식회사 맥데이타 5g 기반의 네트워크 성능 진단 방법, 장치 및 시스템

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007158512A (ja) * 2005-12-01 2007-06-21 Mitsubishi Electric Corp Ipネットワークシステム
KR20120010535A (ko) * 2010-07-26 2012-02-03 주식회사 케이티 패킷 분석 장치 및 방법
KR101230500B1 (ko) * 2012-10-31 2013-02-25 주식회사 베이스인 네트웍스 네트워크 자원 통합 관리 시스템 및 그 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007158512A (ja) * 2005-12-01 2007-06-21 Mitsubishi Electric Corp Ipネットワークシステム
KR20120010535A (ko) * 2010-07-26 2012-02-03 주식회사 케이티 패킷 분석 장치 및 방법
KR101230500B1 (ko) * 2012-10-31 2013-02-25 주식회사 베이스인 네트웍스 네트워크 자원 통합 관리 시스템 및 그 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102163279B1 (ko) * 2019-09-09 2020-10-08 주식회사 맥데이타 5g 기반의 네트워크 성능 진단 방법, 장치 및 시스템

Also Published As

Publication number Publication date
KR102027759B1 (ko) 2019-10-04

Similar Documents

Publication Publication Date Title
JP7178646B2 (ja) ネットワークのセキュリティモニタリング方法、ネットワークのセキュリティモニタリング装置及びシステム
KR102076862B1 (ko) 네트워크 성능지표를 시각화하는 방법 및 장치, 및 시스템
KR102076861B1 (ko) 네트워크 성능 진단 방법 및 장치, 및 시스템
US11641319B2 (en) Network health data aggregation service
US20210119890A1 (en) Visualization of network health information
US10243820B2 (en) Filtering network health information based on customer impact
US10911263B2 (en) Programmatic interfaces for network health information
US11283856B2 (en) Dynamic socket QoS settings for web service connections
JP7304041B2 (ja) 5g基盤のネットワーク性能診断方法、装置及びシステム
US11962666B2 (en) User-configurable end user monitoring (EUM)
US11902135B2 (en) Method, apparatus and system for diagnosing network performance
KR102423039B1 (ko) 대용량 네트워크 모니터링을 위한 실시간 패킷 데이터 저장 방법 및 장치
KR102027759B1 (ko) 네트워크와 연관된 신규 장치 등록 방법 및 장치
Rathore et al. Maintaining SmartX multi‐view visibility for OF@ TEIN+ distributed cloud‐native edge boxes
KR102423038B1 (ko) 대용량 네트워크 모니터링을 위한 실시간 패킷 데이터 수집 방법 및 장치
CN117221148A (zh) 多类型网络应用服务质量评估系统和方法

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