KR101661857B1 - 공유 ip를 이용하는 클라이언트들을 카운트 하는 방법 - Google Patents

공유 ip를 이용하는 클라이언트들을 카운트 하는 방법 Download PDF

Info

Publication number
KR101661857B1
KR101661857B1 KR1020150099163A KR20150099163A KR101661857B1 KR 101661857 B1 KR101661857 B1 KR 101661857B1 KR 1020150099163 A KR1020150099163 A KR 1020150099163A KR 20150099163 A KR20150099163 A KR 20150099163A KR 101661857 B1 KR101661857 B1 KR 101661857B1
Authority
KR
South Korea
Prior art keywords
time
client
clients
counting
server
Prior art date
Application number
KR1020150099163A
Other languages
English (en)
Inventor
박형배
전선민
이윤석
공경필
Original Assignee
주식회사 수산아이앤티
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 수산아이앤티 filed Critical 주식회사 수산아이앤티
Priority to KR1020150099163A priority Critical patent/KR101661857B1/ko
Priority to PCT/KR2016/005678 priority patent/WO2017010678A1/ko
Application granted granted Critical
Publication of KR101661857B1 publication Critical patent/KR101661857B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/18Protocol analysers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/146Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/28Timers or timing mechanisms used in protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)

Abstract

본 발명은 공유 IP를 이용하는 클라이언트들을 카운트하는 방법에 관한 것으로, 트래픽이 발생하면, 트래픽의 서버 측 시간과 클라이언트 측 시간을 측정하고, 서버 측 시간과 상기 클라이언트 측 시간 간의 차이를 나타내는 타임마커를 계산하고, 타임마커의 차가 변동 오차 이내인 트래픽들을 하나의 부분집합으로 분류하고, 부분집합의 개수를 클라이언트의 수로 카운트하는 기술에 관한 것이다.

Description

공유 IP를 이용하는 클라이언트들을 카운트 하는 방법{Method for counting the client using a shared IP}
이하의 일 실시예들은 여러 대의 클라이언트들이 IP를 공유해서 사용하는 네트워크에서, IP를 공유해서 사용하는 클라이언트의 수를 카운트 하는 방법에 관한 것이다.
최근에는 가입자가 하나의 공인 IP로 여러 클라이언트가 네트워크를 동시에 사용하기 위해서 IP 공유기를 사용하는 경우가 매우 빈번하게 발생하고 있으며, 회사나 기업 내에서는 NAT(Network Address Translation)를 구성하여 사용하는 곳도 많이 늘어나는 추세다.
그러나, 하나의 공인 IP로 여러 클라이언트가 네트워크를 동시에 사용하는 경우, 네트워크 트래픽 증가와 해킹, 바이러스, 웜 등의 심각한 문제점을 보이고 있다.
이러한 문제를 해결하기 위해서는 내부 네트워크 내의 사용자의 IP 주소를 알려주는 별도의 어플리케이션(ActiveX, Agent)을 설치해야 하나 이러한 것은 사용자가 설치/운전 여부를 인지하고 거부할 수 있는 문제가 있다.
종래의 공유 IP를 이용하는 클라이언트들을 카운트 하는 기술의 한 예로, 한국등록특허 제 0960152호 " 네트워크상의 복수 단말을 검출하여 인터넷을 허용 및 차단하는 방법"이 제안되었다. 상기 선행기술에서는 TCP/IP 패킷을 분석하여 웹으로 접속하는 세션을 리다이렉트 하여, 여러 대의 단말을 공유해서 사용하는 사설 네트워크 내에서 쿠키(Cookie)를 이용하여 클라이언트의 복수의 PC 단말수를 파악하여, 인터넷을 사용하고 있는 클라이언트의 복수의 PC 단말 수를 정확히 알 수 있게 검출하여 DB화 하고, DB화 된 쿠키(Cookie)풀 정보와 작업(JOB)을 이용하여, 사설 네트워크를 구성하여 사용하는 사용자가 동시에 인터넷 접속을 할 경우 TCP/IP 기반에서 선별적으로 접속을 허용 또는 차단하는 기술이 개시되었다.
하지만, 쿠키의 경우 사용자에 의해서 삭제되거나 변경될 수 있어, 쿠키 외에 방법을 통해서 클라이언트의 수를 카운트 하는 방법이 요구되고 있다.
한국등록특허 제 10-0960152호 (등록일 2010.05.19)
본 발명은 상기와 같은 종래 기술의 문제점을 해결하고자 도출된 것으로서, 공유 IP를 이용하는 클라이언트들을 카운트 하는 방법을 제공하는 것을 목적으로 한다.
구체적으로, 본 발명은 트래픽이 발생하면, 트래픽의 서버 측 시간과 클라이언트 측 시간을 측정하고, 서버 측 시간과 클라이언트 측 시간 간의 차이를 이용하여 공유 IP를 이용하는 클라이언트의 수를 카운트 하는 방법을 제공하는 것을 목적으로 한다.
상기와 같은 목적을 달성하기 위하여, 본 발명의 일 실시 예에 따른 공유 IP를 이용하는 클라이언트들을 카운트하는 방법은, 트래픽이 발생하면, 상기 트래픽의 서버 측 시간과 클라이언트 측 시간을 측정하는 단계; 상기 서버 측 시간과 상기 클라이언트 측 시간 간의 차이를 나타내는 타임마커를 계산하는 단계; 및 상기 타임마커를 이용해서 공유 IP를 이용하는 클라이언트의 수를 카운트 하는 단계를 포함한다.
이때, 상기 서버 측 시간과 상기 클라이언트 측 시간을 측정하는 단계는, 상기 트래픽이 발생하면 클라이언트에서 송신하는 패킷을 수신하는 단계; 상기 패킷에 대한 가짜 응답 패킷을 생성하여 상기 클라이언트로 송신하는 단계; 상기 가짜 응답 패킷을 송신할 때의 시간을 상기 서버 측 시간에 포함되는 시작 시간으로 저장하는 단계; 및 상기 가짜 응답 패킷을 수신한 상기 클라이언트로부터 상기 클라이언트 측 시간을 수신하는 단계를 포함할 수 있다.
이때, 상기 클라이언트에서 송신하는 패킷을 수신하는 단계는, 상기 클라이언트에서 송신하는 상기 패킷을 미러링하여 수신할 수 있다.
이때, 상기 가짜 응답 패킷은, 상기 클라이언트의 시간을 확인하여 상기 가짜 응답 패킷을 송신한 서버로 응답하도록 할 수 있다.
이때, 상기 서버 측 시간과 상기 클라이언트 측 시간을 측정하는 단계는, 상기 가짜 응답 패킷을 수신한 상기 클라이언트로부터 상기 클라이언트 측 시간을 수신할 때의 서버의 시간을 상기 서버 측 시간에 포함되는 종료 시간으로 저장하는 단계를 더 포함할 수 있다.
이때, 상기 타임마커를 계산하는 단계는, 상기 종료 시간과 상기 클라이언트 측 시간의 차로 계산하거나 또는 상기 시작 시간과 상기 클라이언트 측 시간의 차로 계산할 수 있다.
이때, 상기 공유 IP를 이용하는 클라이언트의 수를 카운트 하는 단계는, 트래픽들의 타임마커를 비교하여 상기 타임마커의 차이가 기설정된 변동 오차 이내인 트래픽들을 하나의 부분집합으로 분류하는 단계; 및 상기 부분집합의 개수를 상기 클라이언트의 수로 카운트 하는 단계를 포함할 수 있다.
이때, 상기 부분집합의 개수를 상기 클라이언트의 수로 카운트 하는 단계는, NTP(Network Time Protocol)에 의하여 클라이언트의 시간 설정이 변경된 경우를 고려할 수 있다.
이때, 상기 부분집합의 개수를 상기 클라이언트의 수로 카운트 하는 단계는, 상기 부분집합에 포함된 트래픽들의 서버 측 시간 중에서 가장 빠른 시간과 가장 늦은 시간의 차가 기설정된 기준시간 미만이면, 상기 부분집합을 상기 카운트에서 제외할 수 있다.
이때, 상기 부분집합의 개수를 상기 클라이언트의 수로 카운트 하는 단계는, 상기 부분집합에 포함된 마지막 트래픽 이후에 기설정된 임계시간을 초과한 경우, 상기 부분집합을 상기 카운트에서 제외할 수 있다.
이때, 상기 공유 IP를 이용하는 클라이언트의 수를 카운트 하는 단계는, 상기 부분집합으로 분류하는 단계 이전에, 상기 트래픽 각각의 응답 시간을 계산하는 단계; 및 기설정한 오버런 시간을 초과하는 응답 시간을 가진 트래픽은 상기 부분집합으로 분류하지 않고 제외하는 단계를 더 포함할 수 있다.
이때, 상기 클라이언트의 수를 카운트 하는 단계는, 상기 타임마커와 함께 추가 정보를 이용하여 클라이언트 수를 카운트할 수 있다.
이때, 상기 추가 정보는, 인터넷 쿠키, 플래시 쿠키, 유저 에이전트(user agent) 정보, 스크린 해상도 정보 또는 브라우저 핑커프린트(finger print) 정보 중에서 적어도 하나임을 특징으로 할 수 있다.
본 발명은 트래픽이 발생하면, 트래픽의 서버 측 시간과 클라이언트 측 시간을 측정하고, 서버 측 시간과 클라이언트 측 시간 간의 차이를 이용하여 공유 IP를 이용하는 클라이언트의 수를 카운트하는 기술에 관한 것으로, 공유 IP를 사용하는 클라이언트들을 허용 및 차단할 수 있게 함으로써, 인가되지 않은 불특정 다수의 TCP/IP 기반의 인터넷을 허용 및 차단을 용이하게 행할 수 있다.
도 1은 일 실시예에 따라 공유 IP를 사용하는 클라이언트의 수를 카운트하는 시스템의 개략적인 구성을 도시한 도면이다.
도 2는 다른 실시예에 따라 공유 IP를 사용하는 클라이언트의 수를 카운트하는 시스템의 개략적인 구성을 도시한 도면이다.
도 3은 일 실시예에 따른 서버에서 공유 IP를 사용하는 클라이언트의 수를 카운트하는 개략적인 과정의 일 예를 도시한 흐름도이다.
도 4는 일 실시예에 따른 서버에서 서버 측 시간과 클라이언트 측 시간을 측정하는 과정을 도시한 흐름도이다.
도 5는 일 실시예에 따른 서버에서 클라이언트 수를 카운트하는 구체적인 과정을 도시한 흐름도이다.
도 6은 일 실시에에 따른 가짜 응답 패킷에 포함된 자바 스크립트의 예를 도시한 도면이다.
도 7은 일 실시예에 따라 타임마커를 계산한 예를 도시한 도면이다.
도 8은 일 실시예에 따른 트래픽들의 서버 측 시간과 클라이언트 측 시간을 저장한 예를 도시한 도면이다.
도 9는 일 실시예에 따른 서버에서 공유 IP를 사용하는 클라이언트의 수를 카운트하는 개략적인 과정의 다른 예를 도시한 흐름도이다.
도 10는 일 실시예에 따른 클라이언트에서 타임마커를 계산하여 서버로 제공하는 과정을 도시한 흐름도이다.
서버에서 공유 IP를 사용하는 클라이언트의 수를 카운트하는 개략적인 과정의 다른 예를 도시한 흐름도이다.
상기 목적 외에 본 발명의 다른 목적 및 특징들은 첨부 도면을 참조한 실시 예에 대한 설명을 통하여 명백히 드러나게 될 것이다.
본 발명의 바람직한 실시예를 첨부된 도면들을 참조하여 상세히 설명한다. 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
그러나, 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
이하에서는, 본 발명의 일 실시 예에 따른 공유 IP를 이용하는 클라이언트들을 카운트 하는 방법을 첨부된 도 1 내지 도 8을 참조하여 상세히 설명한다.
도 1은 일 실시예에 따라 공유 IP를 사용하는 클라이언트의 수를 카운트하는 시스템의 개략적인 구성을 도시한 도면이다.
도 1을 참조하면, 공유 IP를 사용하는 클라이언트의 수를 카운트하는 시스템은 서버(110), 클라이언트(122, 124, 126) 및 공유기(130)를 포함하여 구성될 수 있다.
네트워크 환경에서 클라이언트(122, 124, 126)는 인터넷(100)에 접속할 때, 공유기(130) 또는 라우터에 연결될 수 있다. 클라이언트 단말(122, 124, 126)은 공유기(130) 또는 라우터에 연결됨으로써 네트워크 연결 및 데이터 전송이 가능할 수 있다. 이때, 복수의 클라이언트(122, 124, 126)가 인터넷에 접속될 수 있다. 예를 들면, 클라이언트는 PC, 스마트 폰과 같은 단말이 될 수 있다. 그리고, 공유기(130)는 NAT(Network Address Translation)로 이용될 수 있다.
서버(110)는 클라이언트(122, 124, 126)에 인터넷(100)을 통해 통신을 수행하면서 발생하는 트래픽을 미러링한다. 이때, 패킷은 HTT Request packet 일 수 있다.
서버(110)는 트래픽이 발생하면 클라이언트(122, 124, 126)에서 송신하는 패킷을 미러링하여 수신하고, 미러링된 패킷에 대한 가짜 응답 패킷을 생성하여 클라이언트로 송신한다. 이때, 가짜 응답 패킷은 아래 도 6과 같이 클라이언트의 시간을 확인하는 자바 스크립트를 포함하고, 클라이언트 측 시간을 확인하여 가짜 응답 패킷을 송신한 서버로 응답하도록 할 수 있다.
클라이언트(122, 124, 126)는 가짜 응답 패킷을 수신하면, 클라이언트 측 시간을 확인하여 가짜 응답 패킷을 송신한 서버로 응답하고, 트래픽에 해당하는 패킷을 리다이렉트 한다. 이때, 서버(110)는 리다이렉트 하는 패킷에 대해서는 가짜 응답 패킷을 생성하지 않는다.
그리고, 서버(110)는 가짜 응답 패킷을 송신할 때의 시간을 시작 시간(ST: Start Server Time)으로 저장하고, 가짜 응답 패킷을 수신한 클라이언트(122, 124, 126)로부터 클라이언트 측 시간(CT: Client Time)을 수신하면, 클라이언트 측 시간을 수신할 때의 서버(110)의 시간을 종료 시간(ET: End Server Time)으로 저장한다. 여기서, 시작 시간과 종료 시간은 서버 측 시간에 해당한다.
도 6은 일 실시에에 따른 가짜 응답 패킷에 포함된 자바 스크립트의 예를 도시한 도면이다.
도 6을 참조하면, 가짜 응답 패킷에 포함된 자바 스크립트는 클라이언트 측 시간을 년(year), 월(month), 일(day), 시간(hour), 분(minute), 초(second), 밀리세컨드(millisecond) 의 단위까지 확인한다.
다시 도 1의 설명으로 돌아와서 서버(110)는 서버 측 시간과 클라이언트 측 시간 간의 차이를 나타내는 타임마커(Time Marker)를 계산한다. 이때, 서버 측 시간에는 시작 시간(ST)과 종료 시간(ET)이 포함될 수 있으므로, 서버(110)는 타임마커를 종료 시간과 클라이언트 측 시간의 차로 계산하거나 또는 시작 시간과 클라이언트 측 시간의 차로 계산할 수 있다.
도 7은 일 실시예에 따라 타임마커를 계산한 예를 도시한 도면이다.
도 7을 참조하면, 서버(110)와 클라이언트(122, 124, 126)들은 각각 다르게 시간이 설정되어 있음을 확인 할 수 있다.
이렇게 시간이 다르게 설정되는 것은 NTP(Network Time Protocol)를 수행한다 하더라도, 장치의 특성상 발생하는 약간의 오차가 누적되어 다르게 설정되는 것이다.
따라서, 서버(110)와 클라이언트(122, 124, 126)들은 각기 다른 시간이 설정되게 된다.
트래픽 수집시점(710)에서 서버(110)의 서버 측 시간은 11:00이고, 클라이언트(122)의 클라이언트 측 시간은 11:01이고, 클라이언트(124)의 클라이언트 측 시간은 11:05이고, 클라이언트(126)의 클라이언트 측 시간은 11:08이다.
트래픽 수집시점(720)과 트래픽 수집시점(730)을 수행한 결과, 서버(110)와 클라이언트(122)의 타임마커에 해당하는 시간차이는 1분이고, 서버(110)와 클라이언트(124)의 타임마커에 해당하는 시간차이는 5분이고, 서버(110)와 클라이언트(128)의 타임마커에 해당하는 시간차이는 8분임을 확인 할 수 있다.
도 7에서 설명의 이해를 돕기 위해서 타임마커를 분단위로 표현하였으나, 본원발명의 실제구현에서는 밀리세컨트(millisecond)단위로 타임마커를 구분한다.
다시 도 1의 설명으로 돌아와서, 서버(110)는 가짜 응답 시간을 클라이언트로 송신하고, 클라이언트로부터 클라이언트 측 시간을 응답 받기까지 걸린 시간인 응답 시간을 계산한다.
서버(110)는 응답 시간은 종료 시간에서 시작 시간을 차감하여 계산할 수 있다.
그리고, 서버(110)는 기설정한 오버런(Over Run) 시간을 초과하는 응답 시간을 가진 트래픽을 네트워크의 통신상태가 원활하지 못할 때의 트래픽으로 판단하고, 클라이언트의 수를 카운트하는 데이터에서 제외한다.
이때, 기설정된 오버런은 다음과 같은 방법을 통해서 설정할 수 있다.
첫번째 방법, 네트워크(network)에서 일정한 기간 동안 데이터를 수집하여 제1 신뢰수준(예를들어, 95% 범위) 내의 데이터들에 대해서 응답 시간의 평균을 계산하고, 계산한 평균 응답 시간을 기설정한 오버런으로 설정할 수 있다.
두번째 방법, 동일한 IP 주소에 대하여 일정한 기간 동안 데이터를 수집하여 제2 신뢰수준(예를들어, 95% 범위) 내의 데이터들에 대해서 응답 시간의 평균을 계산하고, 계산한 평균 응답 시간을 기설정한 오버런으로 설정할 수 있다.
실험 결과에 따라 오버런으로 적정한 값(예를들어, 100밀리세컨드(0.1초))이, 계산된다. 하지만, 오버런은 네트워크와 장비에 따라 변동될 소지가 있으므로, 위에서 설명한 방법으로 일정시간 간격으로 적정한 오버런을 재설정할 수 있다.
그리고, 서버(110)는 트래픽들의 타임마커를 비교하여 타임마커의 차이가 기설정된 변동 오차 이내인 트래픽들을 하나의 부분집합으로 분류하고, 부분집합의 개수를 클라이언트의 수로 카운트 한다.
이때, 변동 오차는 동일 PC에 대해 일정한 기간(예를 들어 하루) 동안 클라이언트 측 시간을 측정하고 시간당 클라이언트 측 시간의 변화량의 오차값 중 최대값을 "변동오차"로 선택할 수 있다.
즉, 서버(110)에서 1시간 단위로 클라이언트 측 시간을 측정하고, 측정한 클라이언트 측 시간들의 차를 계산하여 최대값을 변동 오차로 선택할 수 있다.
실험결과 변동 오차는 200 밀리세컨드가 적정하였다. 하지만, 장치마다 변동 오차는 달라질 수 있으므로, 변동될 수 있다.
도 8은 일 실시예에 따른 트래픽들의 서버 측 시간과 클라이언트 측 시간을 저장한 예를 도시한 도면이다.
도 8은 서버(110)에서 트래픽에 따라서 클라이언트의 수를 카운트하기 위해서 저장하는 데이터의 예를 도시한 것으로, 도 8을 참조하면, 서버(110)는 클라이언트로부터 미러링된 패킷을 수신하면, 요청 URL(810)와 IP(820)을 저장하고, 가짜 응답 패킷을 생성하여 송신하고, 가짜 응답 패킷을 송신한 시간인 시작 시간(ST)(8860)을 저장한다.
이후, 클라이언트로부터 클라이언트 측 시간(CT)(850)을 수신하여 저장하고, 클라이언트 측 시간(CT)(850)을 수신할 때의 서버(110)의 시간인 종료 시간(ET)(870)을 저장한다.
이후, 시작 시간(ST)(860)과 클라이언트 측 시간(CT)(850)의 차이값 또는 클라이언트 측 시간(CT)(850)과 종료 시간(ET)(870)의 차이값을 계산하여 타임마커(830)으로 저장하고, 종료 시간(ET)(870)과 클라이언트 측 시간(CT)(850)의 차이값을 계산하여 응답시간(RT)(840)으로 저장할 수 있다.
실시 예에서 오버런을 100 밀리세컨드로 설정하는 경우 도 8의 응답시간(RT)(840)의 값이 100을 초과하는 트래픽에 대해서는 클라이언트의 수를 카운트하는 데이터에서 제외 할 수 있다.
다시 도 1의 설명으로 돌아와서, 클라이언트(122, 124, 126)는 NTP(Network Time Protocol)를 수행하여 클라이언트의 시간을 일정한 주기마다 다시 설정할 수 있다(예를 들어 일주일에 1회 수행).
동일한 클라이언트에 대해서 NTP 동기화 이전과 이후의 타임마커 값이 달라질 수 있으며, 일반적으로 NTP 동기화 이후 타임마커의 값이 커지는 경향이 있다.
따라서, 서버는 클라이언트의 수로 카운트 할 때, NTP(Network Time Protocol)에 의하여 클라이언트의 시간 설정이 변경된 경우를 고려할 수 있다.
서버(110)는 시간 설정이 변경된 경우를 고려하기 위해 NTP 동기화 이전과 이후의 타임마커를 계산하여 부분 집합을 구하고, 부분 집합들 간의 타임마커를 비교하여 시간 설정이 변경된 부분 집합을 판단하고, 카운터할 때 고려할 수 있다.
이때, 서버(110)는 클라이언트의 NTP 동기화 발생을 클라이언트(122, 124, 126)가 송신하는 NTP 패킷을 모니터링하여 확인할 수 있으며, UDP로 목적지 포트 넘버(destination port number)가 123인 경우에 NTP 패킷으로 판단할 수 있다.
한편, 서버(110)는 클라이언트의 수를 카운트하는 정확도를 향상 시키기 위해서, 기설정된 변동 오차 이내인 트래픽들을 하나의 부분집합으로 분류한 후에, 부분집합에 포함된 트래픽들의 서버 측 시간 중에서 가장 빠른 시간과 가장 늦은 시간의 차가 기설정된 기준시간 미만이면, 부분집합을 카운트에서 제외할 수 있다. 이것은 기설정된 기준시간 이상 동작한 클라이언트 만을 카운트하기 위한 것이다.
또한, 서버(110)는 기설정된 변동 오차 이내인 트래픽들을 하나의 부분집합으로 분류한 후에, 부분집합에 포함된 마지막 트래픽 이후에 기설정된 임계시간을 초과한 경우, 부분집합을 카운트에서 제외할 수도 있다. 이것은 임계시간 이산 통신 연결하지 않은 클라이언트를 카운트에서 제외하기 위한 것이다.
그리고, 서버(110)는 클라이언트의 수를 카운트 하는 정확도를 향상 시키는 다른 방법으로 타임마커와 함께 추가 정보를 이용하여 클라이언트를 판별하고 클라이언트 수를 카운트할 수 있다. 이때, 추가 정보는 인터넷 쿠키, 플래시 쿠키, 유저 에이전트(user agent) 정보, 스크린 해상도 정보 또는 브라우저 핑커프린트(finger print) 정보 중에서 적어도 하나를 포함할 수 있다.
도 2는 다른 실시예에 따라 공유 IP를 사용하는 클라이언트의 수를 카운트하는 시스템의 개략적인 구성을 도시한 도면이다.
도 2를 참조하면, 공유 IP를 사용하는 클라이언트의 수를 카운트하는 시스템은 서버(210), 클라이언트(222, 224, 226) 및 공유기(230)를 포함하여 구성될 수 있다.
네트워크 환경에서 클라이언트(222, 224, 226)는 인터넷(200)에 접속할 때, 공유기(230) 또는 라우터에 연결될 수 있다. 클라이언트 단말(222, 224, 226)은 공유기(230) 또는 라우터에 연결됨으로써 네트워크 연결 및 데이터 전송이 가능할 수 있다. 이때, 복수의 클라이언트(222, 224, 226)가 인터넷에 접속될 수 있다. 예를 들면, 클라이언트는 PC, 스마트 폰과 같은 단말이 될 수 있다. 그리고, 공유기(230)는 NAT(Network Address Translation)로 이용될 수 있다.
서버(210)는 인터넷(200)을 통해 트래픽에 해당하는 패킷을 수신한다. 이때, 패킷은 HTT Request packet 일 수 있다.
서버(210)는 트래픽이 발생하면 클라이언트(222, 224, 226)에서 송신하는 패킷을 수신하고, 패킷에 대한 가짜 응답 패킷을 생성하여 클라이언트로 송신한다. 이때, 가짜 응답 패킷은 클라이언트의 시간을 확인하는 자바 스크립트를 포함하고, 클라이언트 측 시간을 확인하여 가짜 응답 패킷을 송신한 서버로 응답하도록 할 수 있다.
클라이언트(222, 224, 226)는 가짜 응답 패킷을 수신하면, 클라이언트 측 시간을 확인하여 가짜 응답 패킷을 송신한 서버로 응답하고, 트래픽에 해당하는 패킷을 리다이렉트 한다. 이때, 서버(210)는 리다이렉트 하는 패킷에 대해서는 가짜 응답 패킷을 생성하지 않는다.
그리고, 서버(210)는 가짜 응답 패킷을 송신할 때의 시간을 시작 시간(ST: Start Server Time)으로 저장하고, 가짜 응답 패킷을 수신한 클라이언트(222, 224, 226)로부터 클라이언트 측 시간(CT: Client Time)을 수신하면, 클라이언트 측 시간을 수신할 때의 서버(210)의 시간을 종료 시간(ET: End Server Time)으로 저장한다. 여기서, 시작 시간과 종료 시간은 서버 측 시간에 해당한다.
그리고, 서버(210)는 서버 측 시간과 클라이언트 측 시간 간의 차이를 나타내는 타임마커를 계산한다. 이때, 서버 측 시간에는 시작 시간(ST)과 종료 시간(ET)이 포함될 수 있으므로, 서버(210)는 타임마커를 종료 시간과 클라이언트 측 시간의 차로 계산하거나 또는 시작 시간과 클라이언트 측 시간의 차로 계산할 수 있다.
그리고, 서버(210)는 가짜 응답 시간을 클라이언트로 송신하고, 클라이언트로부터 클라이언트 측 시간을 응답 받기까지 걸린 시간인 응답 시간을 계산한다.
서버(210)는 응답 시간은 종료 시간에서 시작 시간을 차감하여 계산할 수 있다.
그리고, 서버(210)는 기설정한 오버런(Over Run) 시간을 초과하는 응답 시간을 가진 트래픽을 네트워크의 통신상태가 원활하지 못할 때의 트래픽으로 판단하고, 클라이언트의 수를 카운트하는 데이터에서 제외한다.
그리고, 서버(210)는 트래픽들의 타임마커를 비교하여 타임마커의 차이가 기설정된 변동 오차 이내인 트래픽들을 하나의 부분집합으로 분류하고, 부분집합의 개수를 클라이언트의 수로 카운트 한다.
이때, 서버(210)는 클라이언트의 수로 카운트 할 때, NTP(Network Time Protocol)에 의하여 클라이언트의 시간 설정이 변경된 경우를 고려하여 카운트 할 수 있다.
한편, 서버(210)는 클라이언트의 수를 카운트하는 정확도를 향상 시키기 위해서, 기설정된 변동 오차 이내인 트래픽들을 하나의 부분집합으로 분류한 후에, 부분집합에 포함된 트래픽들의 서버 측 시간 중에서 가장 빠른 시간과 가장 늦은 시간의 차가 기설정된 기준시간 미만이면, 부분집합을 카운트에서 제외할 수 있다. 이것은 기설정된 기준시간 이상 동작한 클라이언트 만을 카운트하기 위한 것이다.
또한, 서버(210)는 기설정된 변동 오차 이내인 트래픽들을 하나의 부분집합으로 분류한 후에, 부분집합에 포함된 마지막 트래픽 이후에 기설정된 임계시간을 초과한 경우, 부분집합을 카운트에서 제외할 수도 있다. 이것은 임계시간 이산 통신 연결하지 않은 클라이언트를 카운트에서 제외하기 위한 것이다.
그리고, 서버(210)는 클라이언트의 수를 카운트 하는 정확도를 향상 시키는 다른 방법으로 타임마커와 함께 추가 정보를 이용하여 클라이언트를 판별하고 클라이언트 수를 카운트할 수 있다. 이때, 추가 정보는 인터넷 쿠키, 플래시 쿠키, 유저 에이전트(user agent) 정보, 스크린 해상도 정보 또는 브라우저 핑커프린트(finger print) 정보 중에서 적어도 하나를 포함할 수 있다.
이하, 상기와 같이 구성된 본 발명에 따른 공유 IP를 이용하는 클라이언트들을 카운트 하는 방법을 아래에서 도면을 참조하여 설명한다.
도 3은 일 실시예에 따른 서버에서 공유 IP를 사용하는 클라이언트의 수를 카운트하는 개략적인 과정의 예를 도시한 흐름도이다.
도 3을 참조하면, 서버는 트래픽이 발생하면, 트래픽의 서버 측 시간과 클라이언트 측 시간을 측정한다(310). 서버 측 시간과 클라이언트 측 시간을 측정하는 구체적인 방법은 이후 도 4를 참조하여 후술한다.
그리고, 서버는 서버 측 시간과 클라이언트 측 시간 간의 차이를 나타내는 타임마커를 계산한다(320).
그리고 서버는 타임마커를 이용해서 공유 IP를 이용하는 클라이언트의 수를 카운트 한다(330). 공유 IP를 이용하는 클라이언트의 수를 카운트하는 구체적인 방법은 이후 도 5를 참조하여 후술한다.
도 4는 일 실시예에 따른 서버에서 서버 측 시간과 클라이언트 측 시간을 측정하는 과정을 도시한 흐름도이다.
도 4를 참조하면, 서버는 트래픽이 발생하면 클라이언트에서 송신하는 패킷을 수신한다(410). 이때, 서버는 클라이언트가 송신하는 패킷의 목적지여서 패킷을 수신할 수도 있지만, 클라이언트가 연결된 네트워크 장비에 연결하여 클라이언트에서 송신하는 패킷을 미러링하여 수신할 수도 있다.
그리고, 서버는 패킷을 수신하면 패킷에 대한 가짜 응답 패킷을 생성하여 클라이언트로 송신한다(420). 이때, 가짜 응답 패킷은 클라이언트의 시간을 확인하여 가짜 응답 패킷을 송신한 서버로 응답하도록 한다.
가짜 응답 패킷을 수신한 클라이언트는 클라이언트 측 시간을 확인하여 가짜 응답 패킷을 송신한 서버로 응답하고, 트래픽에 해당하는 패킷을 리다이렉트 한다. 이때, 서버는 리다이렉트 하는 패킷에 대해서는 가짜 응답 패킷을 생성하지 않는다.
그리고, 서버는 가짜 응답 패킷을 송신할 때의 시간을 서버 측 시간에 포함되는 시작 시간으로 저장한다(430).
이후, 서버는 가짜 응답 패킷을 수신한 클라이언트로부터 클라이언트 측 시간을 수신한다(440).
그리고, 서버는 가짜 응답 패킷을 수신한 클라이언트로부터 클라이언트 측 시간을 수신할 때의 서버의 시간을 서버 측 시간에 포함되는 종료 시간으로 저장한다(450).
도 4에서 상술한 바와 같이 서버 측 시간은 시작 시간과 종료 시간을 포함할 수 있다. 따라서, 서버 측 시간과 클라이언트 측 시간의 차이로 계산되는 타임마커는 종료 시간과 클라이언트 측 시간의 차로 계산하거나 또는 시작 시간과 클라이언트 측 시간의 차로 계산될 수 있다.
도 5는 일 실시예에 따른 서버에서 클라이언트 수를 카운트하는 구체적인 과정을 도시한 흐름도이다.
도 5를 참조하면, 서버는 트래픽 각각의 응답 시간을 계산한다(510). 이때, 응답 시간은 서버 측 시간에 포함된 종료 시간에서 시작 시간을 차감하여 계산할 수 있다.
그리고, 서버는 기설정한 오버런 시간을 초과하는 응답 시간을 가진 트래픽은 부분집합으로 분류하지 않고 제외한다(520). 오버런 시간을 초과하는 경우, 네트워크의 통신상태가 원활하지 못해서 지연이 발생한 것으로 판단하고, 해당 트래픽은 클라이언트 수를 카운트하기 위한 데이터에서 제외한다.
그리고, 서버는 트래픽들의 타임마커를 비교하여 타임마커의 차이가 기설정된 변동 오차 이내인 트래픽들을 하나의 부분집합으로 분류한다(530).
그리고, 서버는 부분집합의 개수를 클라이언트의 수로 카운트 한다(540).
한편, 클라이언트는 NTP(Network Time Protocol)를 수행하여 클라이언트의 시간을 일정한 주기마다 다시 설정할 수 있다(예를 들어 일주일에 1회 수행).
동일한 클라이언트에 대해서 NTP 동기화 이전과 이후의 타임마커 값이 달라질 수 있으며, 일반적으로 NTP 동기화 이후 타임마커의 값이 커지는 경향이 있다.
따라서, 서버는 클라이언트의 수로 카운트 할 때, NTP(Network Time Protocol)에 의하여 클라이언트의 시간 설정이 변경된 경우를 고려하는 것이 바람직하다.
서버는 시간 설정이 변경된 경우를 고려하기 위해 NTP 동기화 이전과 이후의 타임마커를 계산하여 부분 집합을 구하고, 부분 집합들 간의 타임마커를 비교하여 시간 설정이 변경된 부분 집합을 판단하고, 카운터할 때 고려할 수 있다.
서버는 클라이언트의 NTP 동기화 발생을 클라이언트가 송신하는 NTP 패킷을 모니터링하여 확인할 수 있으며, UDP로 목적지 포트 넘버(destination port number)가 123인 경우에 NTP 패킷으로 판단할 수 있다.
한편, 서버는 클라이언트의 수를 카운트하는 정확도를 향상 시키기 위해서 부분집합에 포함된 트래픽들의 서버 측 시간 중에서 가장 빠른 시간과 가장 늦은 시간의 차가 기설정된 기준시간 미만이면, 부분집합을 카운트에서 제외할 수 있다.
또한, 서버는 부분집합에 포함된 마지막 트래픽 이후에 기설정된 임계시간을 초과한 경우, 부분집합을 카운트에서 제외할 수도 있다.
그리고, 클라이언트의 수를 카운트 하는 정확도를 향상 시키는 다른 방법으로 타임마커와 함께 추가 정보를 이용하여 클라이언트를 판별하고 클라이언트 수를 카운트할 수 있다. 이때, 추가 정보는 인터넷 쿠키, 플래시 쿠키, 유저 에이전트(user agent) 정보, 스크린 해상도 정보 또는 브라우저 핑커프린트(finger print) 정보 중에서 적어도 하나를 포함할 수 있다.
한편, 도 3의 설명에서 타임마커를 서버에서 계산하였으나, 타임마커를 클라이언트에서 계산하여 서버로 제공할 수도 있다. 이 경우를 다음의 도 9에서 도 10을 통해서 설명하고자 한다.
도 9는 일 실시예에 따른 서버에서 공유 IP를 사용하는 클라이언트의 수를 카운트하는 개략정인 과정의 다른 예를 도시한 흐름도이다.
도 9를 참조하면, 서버는 트래픽이 발생하면 클라이언트에서 송신하는 패킷을 수신한다(910). 이때, 서버는 클라이언트가 송신하는 패킷의 목적지여서 패킷을 수신할 수도 있지만, 클라이언트가 연결된 네트워크 장비에 연결하여 클라이언트에서 송신하는 패킷을 미러링하여 수신할 수도 있다.
그리고, 서버는 패킷을 수신하면 패킷에 대한 가짜 응답 패킷을 생성하여 클라이언트로 송신한다(920). 이때, 가짜 응답 패킷은 서버 측 시간을 포함하며, 타임 마커를 계산하여 가짜 응답 패킷을 송신한 서버로 응답하도록 한다.
이후, 서버는 가짜 응답 패킷을 수신한 클라이언트로부터 클라이언트에서 계산한 타임 마커를 수신한다(930).
서버는 트래픽 각각의 응답 시간을 계산한다(940). 이때, 응답 시간은 가짜 응답 패킷을 송신하고 타임 마커를 수신할 때까지 걸린 시간일 수 있다.
그리고, 서버는 기설정한 오버런 시간을 초과하는 응답 시간을 가진 트래픽은 부분집합으로 분류하지 않고 제외한다(950). 오버런 시간을 초과하는 경우, 네트워크의 통신상태가 원활하지 못해서 지연이 발생한 것으로 판단하고, 해당 트래픽은 클라이언트 수를 카운트하기 위한 데이터에서 제외한다.
그리고, 서버는 트래픽들의 타임마커를 비교하여 타임마커의 차이가 기설정된 변동 오차 이내인 트래픽들을 하나의 부분집합으로 분류한다(960).
그리고, 서버는 부분집합의 개수를 클라이언트의 수로 카운트 한다(970).
도 10는 일 실시예에 따른 클라이언트에서 타임마커를 계산하여 서버로 제공하는 과정을 도시한 흐름도이다.
도 10을 참조하면, 클라이언트는 사용자의 요청에 따라 패킷을 송신하여 트래픽을 발생시킨다(1010).
그리고 클라이언트는 서버로부터 서버 측 시간을 포함하는 가짜 응답 패킷을 수신한다(1020).
그러면, 클라이언트는 가짜 응답 패킷을 수신할 때의 클라이언트의 시간(클라이언트 측 시간)을 확인한다(1030).
그리고 클라이언트는 클라이언트 측 시간과 가짜 응답 패킷에 포함된 서버 측 시간 간의 차이를 타임마커로 계산한다(1040).
그리고 클라이언트는 계산한 타임마커를 서버로 송신한다(1050).
본 발명의 일 실시 예에 따른 공유 IP를 이용하는 클라이언트들을 카운트 하는 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.
100; 인터넷
110; 서버
122, 124, 126; 클라이언트
130; 공유기

Claims (15)

  1. 트래픽이 발생하면, 상기 트래픽의 서버 측 시간과 클라이언트 측 시간을 측정하는 단계;
    상기 서버 측 시간과 상기 클라이언트 측 시간 간의 차이를 나타내는 타임마커를 계산하는 단계; 및
    상기 타임마커를 이용해서 공유 IP를 이용하는 클라이언트의 수를 카운트 하는 단계를 포함하고
    상기 공유 IP를 이용하는 클라이언트의 수를 카운트 하는 단계는,
    트래픽들의 타임마커를 비교하여 상기 타임마커의 차이가 기설정된 변동 오차 이내인 트래픽들을 하나의 부분집합으로 분류하는 단계; 및
    상기 부분집합의 개수를 상기 클라이언트의 수로 카운트 하는 단계를 포함하는
    공유 IP를 이용하는 클라이언트들을 카운트하는 방법.
  2. 제1항에 있어서,
    상기 서버 측 시간과 상기 클라이언트 측 시간을 측정하는 단계는,
    상기 트래픽이 발생하면 클라이언트에서 송신하는 패킷을 수신하는 단계;
    상기 패킷에 대한 가짜 응답 패킷을 생성하여 상기 클라이언트로 송신하는 단계;
    상기 가짜 응답 패킷을 송신할 때의 시간을 상기 서버 측 시간에 포함되는 시작 시간으로 저장하는 단계; 및
    상기 가짜 응답 패킷을 수신한 상기 클라이언트로부터 상기 클라이언트 측 시간을 수신하는 단계를 포함하는
    공유 IP를 이용하는 클라이언트들을 카운트하는 방법.
  3. 제2항에 있어서,
    상기 클라이언트에서 송신하는 패킷을 수신하는 단계는,
    상기 클라이언트에서 송신하는 상기 패킷을 미러링하여 수신하는
    공유 IP를 이용하는 클라이언트들을 카운트하는 방법.
  4. 제2항에 있어서,
    상기 가짜 응답 패킷은,
    상기 클라이언트의 시간을 확인하여 상기 가짜 응답 패킷을 송신한 서버로 응답하도록 하는
    공유 IP를 이용하는 클라이언트들을 카운트하는 방법.
  5. 제2항에 있어서,
    상기 서버 측 시간과 상기 클라이언트 측 시간을 측정하는 단계는,
    상기 가짜 응답 패킷을 수신한 상기 클라이언트로부터 상기 클라이언트 측 시간을 수신할 때의 서버의 시간을 상기 서버 측 시간에 포함되는 종료 시간으로 저장하는 단계를 더 포함하는
    공유 IP를 이용하는 클라이언트들을 카운트하는 방법.
  6. 제5항에 있어서,
    상기 타임마커를 계산하는 단계는,
    상기 종료 시간과 상기 클라이언트 측 시간의 차로 계산하거나 또는
    상기 시작 시간과 상기 클라이언트 측 시간의 차로 계산하는
    공유 IP를 이용하는 클라이언트들을 카운트하는 방법.
  7. 삭제
  8. 제1항에 있어서,
    상기 부분집합의 개수를 상기 클라이언트의 수로 카운트 하는 단계는,
    NTP(Network Time Protocol)에 의하여 클라이언트의 시간 설정이 변경된 경우를 고려하는
    공유 IP를 이용하는 클라이언트들을 카운트하는 방법.
  9. 제1항에 있어서,
    상기 부분집합의 개수를 상기 클라이언트의 수로 카운트 하는 단계는,
    상기 부분집합에 포함된 트래픽들의 서버 측 시간 중에서 가장 빠른 시간과 가장 늦은 시간의 차가 기설정된 기준시간 미만이면, 상기 부분집합을 상기 카운트에서 제외하는
    공유 IP를 이용하는 클라이언트들을 카운트하는 방법.
  10. 제1항에 있어서,
    상기 부분집합의 개수를 상기 클라이언트의 수로 카운트 하는 단계는,
    상기 부분집합에 포함된 마지막 트래픽 이후에 기설정된 임계시간을 초과한 경우, 상기 부분집합을 상기 카운트에서 제외하는
    공유 IP를 이용하는 클라이언트들을 카운트하는 방법.
  11. 제1항에 있어서,
    상기 공유 IP를 이용하는 클라이언트의 수를 카운트 하는 단계는,
    상기 부분집합으로 분류하는 단계 이전에,
    상기 트래픽 각각의 응답 시간을 계산하는 단계; 및
    기설정한 오버런 시간을 초과하는 응답 시간을 가진 트래픽은 상기 부분집합으로 분류하지 않고 제외하는 단계를 더 포함하는
    공유 IP를 이용하는 클라이언트들을 카운트하는 방법.
  12. 제1항에 있어서,
    상기 클라이언트의 수를 카운트 하는 단계는,
    상기 타임마커와 함께 추가 정보를 이용하여 클라이언트 수를 카운트하는
    공유 IP를 이용하는 클라이언트들을 카운트하는 방법.
  13. 제12항에 있어서,
    상기 추가 정보는,
    인터넷 쿠키, 플래시 쿠키, 유저 에이전트(user agent) 정보, 스크린 해상도 정보 또는 브라우저 핑커프린트(finger print) 정보 중에서 적어도 하나임을 특징으로 하는
    공유 IP를 이용하는 클라이언트들을 카운트하는 방법.
  14. 트래픽이 발생하면 클라이언트에서 송신하는 패킷을 수신하는 단계;
    서버 측 시간을 포함하는 상기 패킷에 대한 가짜 응답 패킷을 생성하여 상기 클라이언트로 송신하는 단계;
    상기 클라이언트로부터 상기 클라이언트에서 계산한 타임마커를 수신하는 단계; 및
    상기 타임마커를 이용해서 공유 IP를 이용하는 클라이언트의 수를 카운트 하는 단계를 포함하고,
    상기 공유 IP를 이용하는 클라이언트의 수를 카운트 하는 단계는,
    트래픽들의 타임마커를 비교하여 상기 타임마커의 차이가 기설정된 변동 오차 이내인 트래픽들을 하나의 부분집합으로 분류하는 단계; 및
    상기 부분집합의 개수를 상기 클라이언트의 수로 카운트 하는 단계를 포함하는
    공유 IP를 이용하는 클라이언트들을 카운트하는 방법.
  15. 제1항 내지 제6항 및 제8항 내지 제14항 중 어느 한 항의 방법을 실행하기 위한 프로그램이 기록되어 있는 것을 특징으로 하는 컴퓨터에서 판독 가능한 기록 매체.
KR1020150099163A 2015-07-13 2015-07-13 공유 ip를 이용하는 클라이언트들을 카운트 하는 방법 KR101661857B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020150099163A KR101661857B1 (ko) 2015-07-13 2015-07-13 공유 ip를 이용하는 클라이언트들을 카운트 하는 방법
PCT/KR2016/005678 WO2017010678A1 (ko) 2015-07-13 2016-05-30 공유 ip를 이용하는 클라이언트들을 카운트 하는 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150099163A KR101661857B1 (ko) 2015-07-13 2015-07-13 공유 ip를 이용하는 클라이언트들을 카운트 하는 방법

Publications (1)

Publication Number Publication Date
KR101661857B1 true KR101661857B1 (ko) 2016-09-30

Family

ID=57079573

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150099163A KR101661857B1 (ko) 2015-07-13 2015-07-13 공유 ip를 이용하는 클라이언트들을 카운트 하는 방법

Country Status (2)

Country Link
KR (1) KR101661857B1 (ko)
WO (1) WO2017010678A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111970173B (zh) * 2020-08-25 2021-08-03 武汉绿色网络信息服务有限责任公司 一种基于时钟偏移的加密流量共享检测方法与装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006054695A (ja) * 2004-08-12 2006-02-23 Ntt Docomo Inc マルチキャスト受信端末数判定方法、及び、マルチキャスト中継装置
KR100960152B1 (ko) 2007-10-24 2010-05-28 플러스기술주식회사 네트워크상의 복수 단말을 검출하여 인터넷을 허용 및차단하는 방법
KR101518469B1 (ko) * 2014-06-13 2015-05-07 주식회사 플랜티넷 인터넷 접속 요청을 하는 클라이언트 단말의 인터넷 접속 요청 트래픽으로부터 동일한 공인 ip를 이용하는 사설 네트워크상의 복수개의 클라이언트 단말 중에서 선별된 디바이스의 대수를 검출하는 방법 및 공인 ip 공유 상태의 디바이스의 선별적인 검출 시스템

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3912673B2 (ja) * 2002-07-23 2007-05-09 日本ビクター株式会社 ネットワーク管理装置及びコンピュータプログラム
KR100588352B1 (ko) * 2004-12-28 2006-06-09 주식회사 케이티 아이피 공유기 감시 시스템 및 그 방법
KR101131072B1 (ko) * 2010-09-10 2012-03-30 플러스기술주식회사 네트워크 시간 동기화 정보를 이용한 복수 단말 분류 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006054695A (ja) * 2004-08-12 2006-02-23 Ntt Docomo Inc マルチキャスト受信端末数判定方法、及び、マルチキャスト中継装置
KR100960152B1 (ko) 2007-10-24 2010-05-28 플러스기술주식회사 네트워크상의 복수 단말을 검출하여 인터넷을 허용 및차단하는 방법
KR101518469B1 (ko) * 2014-06-13 2015-05-07 주식회사 플랜티넷 인터넷 접속 요청을 하는 클라이언트 단말의 인터넷 접속 요청 트래픽으로부터 동일한 공인 ip를 이용하는 사설 네트워크상의 복수개의 클라이언트 단말 중에서 선별된 디바이스의 대수를 검출하는 방법 및 공인 ip 공유 상태의 디바이스의 선별적인 검출 시스템

Also Published As

Publication number Publication date
WO2017010678A1 (ko) 2017-01-19

Similar Documents

Publication Publication Date Title
WO2016006520A1 (ja) 検知装置、検知方法及び検知プログラム
KR101424490B1 (ko) 지연시간 기반 역 접속 탐지 시스템 및 그 탐지 방법
US9705769B1 (en) Service latency monitoring using two way active measurement protocol
CN107566320B (zh) 一种网络劫持检测方法、装置与网络系统
CN110808879B (zh) 一种协议识别方法、装置、设备及可读存储介质
US9860181B2 (en) System and method for inferring traffic legitimacy through selective impairment
CN108076003B (zh) 会话劫持的检测方法及装置
CN110417747B (zh) 一种暴力破解行为的检测方法及装置
CN101009607A (zh) 用于检测并防止网络环境中的洪流攻击的系统和方法
Huang et al. Clock skew based client device identification in cloud environments
US10326794B2 (en) Anycast-based spoofed traffic detection and mitigation
KR101548210B1 (ko) 왕복 시간 변화를 이용하여 익명 네트워크를 통한 우회 접속을 탐지하는 방법
TW201626759A (zh) 用於自共用公用ip位址之網際網路請求訊務偵測由一具有額外非指定網域名稱的網路伺服器所選擇之複數個用戶端終端機之裝置的數量之方法,及用於選擇性偵測其之系統
CN106921671B (zh) 一种网络攻击的检测方法及装置
US8593974B2 (en) Communication conditions determination method, communication conditions determination system, and determination apparatus
JP5593944B2 (ja) 判定装置、判定方法及びコンピュータプログラム
CN106790073B (zh) 一种Web服务器恶意攻击的阻断方法、装置及防火墙
CN111917706A (zh) 一种识别nat设备及确定nat后终端数的方法
KR101087291B1 (ko) 인터넷을 사용하는 모든 단말을 구분하는 방법 및 시스템
KR101661858B1 (ko) 쿠키 브리지 장치 및 방법
KR101661857B1 (ko) 공유 ip를 이용하는 클라이언트들을 카운트 하는 방법
KR20170054215A (ko) 넷플로우 기반 연결 핑거프린트 생성 및 경유지 역추적 방법
US10834110B1 (en) Methods for preventing DDoS attack based on adaptive self learning of session and transport layers and devices thereof
CN112995235A (zh) 一种对DDoS攻击进行检测的方法、装置及电子设备
KR102119636B1 (ko) 수동 핑거프린팅을 이용한 익명 네트워크 분석 시스템 및 방법

Legal Events

Date Code Title Description
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20190906

Year of fee payment: 4