KR101387974B1 - 패킷의 특성을 이용하여 nat 장치를 탐지하기 위한 방법, 장치 및 컴퓨터 판독 가능한 기록 매체 - Google Patents
패킷의 특성을 이용하여 nat 장치를 탐지하기 위한 방법, 장치 및 컴퓨터 판독 가능한 기록 매체 Download PDFInfo
- Publication number
- KR101387974B1 KR101387974B1 KR1020130162869A KR20130162869A KR101387974B1 KR 101387974 B1 KR101387974 B1 KR 101387974B1 KR 1020130162869 A KR1020130162869 A KR 1020130162869A KR 20130162869 A KR20130162869 A KR 20130162869A KR 101387974 B1 KR101387974 B1 KR 101387974B1
- Authority
- KR
- South Korea
- Prior art keywords
- packet
- frequency
- nat
- time
- host
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/256—NAT traversal
- H04L61/2571—NAT traversal for identification, e.g. for authentication or billing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
- H04L43/106—Active monitoring, e.g. heartbeat, ping or trace-route using time related information in packets, e.g. by adding timestamps
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/16—Threshold monitoring
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
본 발명의 일 태양에 따르면, 패킷의 특성을 이용하여 NAT(Network Address Translation) 장치를 탐지하기 위한 방법으로서, (a) 소스 IP 주소가 동일한 제1, 제2 및 제3 패킷이 NAT 탐지 장치에 수신되면, 호스트가 제1, 제2 및 제3 패킷을 발송한 시각을 각각 나타내는 제1, 제2 및 제3 타임스탬프 값(TSval: TimeStamp value)과 제1, 제2 및 제3 패킷이 NAT 탐지 장치에 수신된 시각을 각각 나타내는 제1, 제2 및 제3 수신 시각에 관한 정보를 획득하는 단계, (b) 제1 및 제2 타임스탬프 값과 제1 및 제2 수신 시각을 참조로 하여, 호스트가 제1 및 제2 타임스탬프 값을 생성하는 데에 사용한 것으로 예상되는 클럭(clock)의 예상 주파수를 산출하는 단계, 및 (c) 산출된 예상 주파수가 기설정된 임계 주파수 이하인 경우에, 제2 타임스탬프 값, 제3 타임스탬프 값 및 산출된 예상 주파수를 참조로 하여 산출되는 제2 패킷의 발송 시각 및 제3 패킷의 발송 시각 사이의 추정 시간 간격과 제2 수신 시각 및 제3 수신 시각 사이의 간격 사이에 기설정된 수준 이상의 차이가 존재하면, NAT 탐지 장치로부터 호스트까지의 통신망 경로 상에 NAT 장치가 존재하는 것으로 판단하는 단계를 포함하는 방법이 제공된다. 본 발명에 의하면, 네트워크에 미치는 영향을 최소화하면서도 NAT 장치를 정확하게 탐지할 수 있게 되는 효과가 달성된다.
Description
본 발명은 패킷의 특성을 이용하여 NAT(Network Address Translation) 장치를 탐지하기 위한 방법, 장치 및 컴퓨터 판독 가능한 기록 매체에 관한 것으로, 보다 상세하게는, 소스 IP 주소가 동일한 제1, 제2 및 제3 패킷이 NAT 탐지 장치에 수신되면 호스트가 제1, 제2 및 제3 패킷을 발송한 시각을 각각 나타내는 제1, 제2 및 제3 타임스탬프 값(TSval: TimeStamp value)과 제1, 제2 및 제3 패킷이 NAT 탐지 장치에 수신된 시각을 각각 나타내는 제1, 제2 및 제3 수신 시각에 관한 정보를 획득하고, 제1 및 제2 타임스탬프 값과 제1 및 제2 수신 시각을 참조로 하여 호스트가 제1 및 제2 타임스탬프 값을 생성하는 데에 사용한 것으로 예상되는 클럭(clock)의 예상 주파수를 산출하고, 상기 산출된 예상 주파수가 기설정된 임계 주파수 이하인 경우에 제2 및 제3 타임스탬프 값과 예상 주파수를 참조로 하여 산출되는 제2 패킷의 발송 시각 및 제3 패킷의 발송 시각 사이의 추정 시간 간격이 제2 수신 시각 및 제3 수신 시각 사이의 간격과 비교하여 기설정된 수준 이상으로 차이가 나거나, 상기 산출된 예상 주파수가 기설정된 임계 주파수를 초과하면, NAT 탐지 장치로부터 호스트까지의 통신망 경로 상에 NAT 장치가 존재하는 것으로 판단하는 방법, 장치 및 컴퓨터 판독 가능한 기록 매체에 관한 것이다.
네트워크 주소 변환(NAT: Network Address Translation, 이하 "NAT"라고 함)은 IP 패킷(즉, 데이터그램(datagram))의 헤더(header) 내의 IP 주소 정보를 변경하는 것을 의미하는데, 일반적으로 사설망에 존재하는 다수의 사설 IP 주소를 하나의 공인망 IP 주소로 변환하는 기술로서 활용되고 있다. NAT에 의할 경우 사설망에 존재하는 다수의 호스트의 각각의 사설 IP 주소를 하나의 공인 IP 주소로 매핑(mapping)시킬 수 있기 때문에, 한정된 IP 주소 자원을 절약할 수 있고 NAT 이전의 사설망에 존재하는 다수의 호스트(host)의 사설 IP 주소에 관한 정보를 NAT 너머의 공인망에 공개하지 않음으로써 공인망으로부터의 보안 위협을 차단할 수 있다는 장점이 있다.
하지만, NAT를 사용하게 되면, 호스트 내의 프로세스를 지칭해야 하는 포트가 IP 주소에 의하여 지칭되어야 할 호스트를 지칭하게 되는 기형적인 상황이 발생하게 되고, NAT를 수행하기 위하여 네트워크 레이어(network layer, L3)보다 높은 상위 레이어의 데이터까지 처리하는 과정에서 네트워크 성능을 저하시킬 수 있으며, 허용된 하나의 IP 주소를 통하여 다수의 호스트가 접속함에 따라 대역폭(bandwidth)를 소모할 수 있다는 단점도 존재한다. 또한, NAT 장치 너머에 존재하는 악의적인 공격자의 IP 주소가 숨겨질 수 있는 문제점과 NAT 기능을 수행하는 무선 공유기가 무단으로 설치될 경우에 SSID가 숨겨지지 않고 특별한 암호로 관리되지 않음에 따라 해당 무선 공유기로 인해 내부 통신망이 외부로 노출되는 문제점도 발생할 수도 있다.
따라서, 통신망 상에 존재하는 NAT 장치를 탐지하는 기술이 필요하게 되었고, 이에 따라 NAT 장치를 탐지하기 위한 다양한 종래 기술이 소개된 바 있다.
일 예로서, 소정의 통신망 경로를 지나온 패킷의 TTL 값이 비정상적으로 감소되었는지를 분석하고 그 분석 결과에 따라 해당 패킷이 지나온 통신망 경로 상에 NAT 장비가 존재하는지 여부를 판단하는 종래 기술이 소개된 바 있다. 하지만, 패킷의 TTL 값이 감소되는 현상은 NAT 장비뿐만 아니라 패킷 재전송(retransmission) 등의 다른 원인에 의하여도 발생할 수 있기 때문에, 위와 같은 종래 기술에 의하면 NAT 장치를 정확하게 탐지할 수 없게 되는 문제점이 존재한다.
다른 예로서, 호스트의 TCP 포트 사용 패턴을 분석하고 그 분석 결과에 따라 해당 호스트까지의 통신망 경로 상에 NAT 장비가 존재하는지 여부를 판단하는 종래 기술이 소개된 바 있다. 하지만, 호스트마다 포트를 사용하는 알고리즘이 제각각 다를 수 있기 때문에, 위와 같은 종래 기술에 의하면 통신망에 존재하는 수많은 호스트가 어떤 알고리즘에 따라 포트를 사용하는지에 관한 정보를 모두 가지고 있지 않는 한 NAT 장치를 정확하게 탐지하기 어렵다는 한계가 있다.
이에, 본 발명자는, 호스트 사이에서 전송되는 패킷의 타임스탬프 값 및 수신 시각에 관한 정보를 이용하여 통신망 상에 존재하는 NAT 장치를 정확하고도 간단하게 탐지할 수 있는 기술을 개발하기에 이르렀다.
본 발명은 상술한 문제점을 모두 해결하는 것을 그 목적으로 한다.
또한, 본 발명은 NAT 탐지 장치에 소스 IP 주소가 동일한 복수의 패킷의 타임스탬프 값 및 수신 시각에 관한 정보를 참조로 하여 호스트가 타임스탬프 값을 생성하는 데에 사용한 것으로 예상되는 클럭의 예상 주파수를 산출하고, 상기 산출된 예상 주파수가 기설정된 임계 주파수 이하인 경우에 소스 IP 주소가 동일한 두 패킷의 호스트에서의 발송 시각 사이의 추정 시간 간격이 해당 두 패킷의 NAT 탐지 장치에서의 수신 시각 사이의 간격과 비교하여 기설정된 수준 이상으로 차이가 나거나, 상기 산출된 예상 주파수가 기설정된 임계 주파수를 초과하면, NAT 탐지 장치로부터 호스트까지의 통신망 경로 상에 NAT 장치가 존재하는 것으로 판단할 수 있도록 하는 것을 다른 목적으로 한다.
상기 목적을 달성하기 위한 본 발명의 대표적인 구성은 다음과 같다.
본 발명의 일 태양에 따르면, 패킷의 특성을 이용하여 NAT(Network Address Translation) 장치를 탐지하기 위한 방법으로서, (a) 소스 IP 주소가 동일한 제1, 제2 및 제3 패킷이 NAT 탐지 장치에 수신되면, 호스트가 상기 제1, 제2 및 제3 패킷을 발송한 시각을 각각 나타내는 제1, 제2 및 제3 타임스탬프 값(TSval: TimeStamp value)과 상기 제1, 제2 및 제3 패킷이 상기 NAT 탐지 장치에 수신된 시각을 각각 나타내는 제1, 제2 및 제3 수신 시각에 관한 정보를 획득하는 단계, (b) 상기 제1 및 제2 타임스탬프 값과 상기 제1 및 제2 수신 시각을 참조로 하여, 상기 호스트가 상기 제1 및 제2 타임스탬프 값을 생성하는 데에 사용한 것으로 예상되는 클럭(clock)의 예상 주파수를 산출하는 단계, 및 (c) 상기 산출된 예상 주파수가 기설정된 임계 주파수 이하인 경우에, 상기 제2 타임스탬프 값, 상기 제3 타임스탬프 값 및 상기 산출된 예상 주파수를 참조로 하여 산출되는 상기 제2 패킷의 발송 시각 및 상기 제3 패킷의 발송 시각 사이의 추정 시간 간격과 상기 제2 수신 시각 및 상기 제3 수신 시각 사이의 간격 사이에 기설정된 수준 이상의 차이가 존재하면, 상기 NAT 탐지 장치로부터 상기 호스트까지의 통신망 경로 상에 NAT 장치가 존재하는 것으로 판단하는 단계를 포함하는 방법이 제공된다.
본 발명의 또 다른 태양에 따르면, 패킷의 특성을 이용하여 NAT(Network Address Translation) 장치를 탐지하기 위한 장치로서, 소스 IP 주소가 동일한 제1, 제2 및 제3 패킷이 NAT 탐지 장치에 수신되면, 호스트가 상기 제1, 제2 및 제3 패킷을 발송한 시각을 각각 나타내는 제1, 제2 및 제3 타임스탬프 값(TSval: TimeStamp value)과 상기 제1, 제2 및 제3 패킷이 상기 NAT 탐지 장치에 수신된 시각을 각각 나타내는 제1, 제2 및 제3 수신 시각에 관한 정보를 획득하는 패킷 정보 획득부, 상기 제1 및 제2 타임스탬프 값과 상기 제1 및 제2 수신 시각을 참조로 하여, 상기 호스트가 상기 제1 및 제2 타임스탬프 값을 생성하는 데에 사용한 것으로 예상되는 클럭(clock)의 예상 주파수를 산출하는 클럭 주파수 예상부, 및 상기 산출된 예상 주파수가 기설정된 임계 주파수 이하인 경우에, 상기 제2 타임스탬프 값, 상기 제3 타임스탬프 값 및 상기 산출된 예상 주파수를 참조로 하여 산출되는 상기 제2 패킷의 발송 시각 및 상기 제3 패킷의 발송 시각 사이의 추정 시간 간격과 상기 제2 수신 시각 및 상기 제3 수신 시각 사이의 간격 사이에 기설정된 수준 이상의 차이가 존재하면, 상기 NAT 탐지 장치로부터 상기 호스트까지의 통신망 경로 상에 NAT 장치가 존재하는 것으로 판단하는 탐지 처리부를 포함하는 장치가 제공된다.
이 외에도, 본 발명을 구현하기 위한 다른 방법, 장치 및 상기 방법을 실행하기 위한 컴퓨터 프로그램을 기록하기 위한 컴퓨터 판독 가능한 기록 매체가 더 제공된다.
본 발명에 의하면, NAT 장치 탐지를 위한 별도의 패킷을 전송하는 등의 처리를 행할 필요 없이 NAT 탐지 장치에 수신되는 패킷의 타임스탬프 값을 참조로 하여 NAT 장치를 탐지할 수 있으므로, 네트워크에 미치는 영향을 최소화하면서도 NAT 장치를 정확하게 탐지할 수 있게 되는 효과가 달성된다.
또한, 본 발명에 의하면, 무선 주파수를 다루는 복잡한 하드웨어를 사용하지 않고도 NAT를 수행하는 무선 공유기와 같은 NAT 장치를 간단하고도 효과적으로 탐지할 수 있게 되는 효과가 달성된다.
도 1은 본 발명에 따라 NAT(Network Address Translation) 장치를 탐지하기 위한 전체 시스템의 구성을 개략적으로 나타내는 도면이다.
도 2는 본 발명의 일 실시예에 따른 NAT 탐지 장치의 내부 구성을 나타내는 도면이다.
도 3은 본 발명의 일 실시예에 따라 클럭의 예상 주파수를 근사화하기 위해 사용되는 매핑 테이블의 구성을 예시적으로 나타내는 도면이다.
도 4 내지 도 6은 본 발명의 일 실시예에 따라 NAT 장치를 탐지하는 과정을 예시적으로 나타내는 도면이다.
도 2는 본 발명의 일 실시예에 따른 NAT 탐지 장치의 내부 구성을 나타내는 도면이다.
도 3은 본 발명의 일 실시예에 따라 클럭의 예상 주파수를 근사화하기 위해 사용되는 매핑 테이블의 구성을 예시적으로 나타내는 도면이다.
도 4 내지 도 6은 본 발명의 일 실시예에 따라 NAT 장치를 탐지하는 과정을 예시적으로 나타내는 도면이다.
후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.
이하에서는, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 바람직한 실시예들에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.
전체 시스템의 구성
도 1은 본 발명에 따라 NAT(Network Address Translation) 장치를 탐지하기 위한 전체 시스템의 구성을 개략적으로 나타내는 도면이다.
도 1에 도시되어 있는 바와 같이, 본 발명의 전체 시스템은 NAT 탐지 장치(100), 호스트(200, 300) 및 NAT 장치(400)를 포함하여 구성될 수 있다.
먼저, 본 발명의 일 실시예에 따르면, 통신망은 유선 및 무선과 같은 그 통신 양태를 가리지 않고 구성될 수 있으며, 인터넷(World Wide Web), 공지의 WLAN(Wireless LAN), CDMA(Code Division Multiple Access), WCDMA(Wideband Code Division Multiple Access) 또는 GSM(Global System for Mobile communications) 통신망 등을 모두 포함하는 개념인 것으로 이해되어야 한다. 참고로, 본 발명의 일 실시예에 따른 통신망은 NAT 장치(400)를 기준으로 하여 NAT 장치(400) 이전의 통신망을 일컫는 사설망과 NAT 장치(400) 너머의 통신망을 일컫는 공인망으로 나뉠 수 있다.
다음으로, 본 발명의 일 실시예에 따르면, 호스트(200, 300)는 통신망에 접속하여 서로 통신할 수 있는 기능을 갖는 기기로서, 개인용 컴퓨터(예를 들어, 데스크탑 컴퓨터, 노트북 컴퓨터 등), 워크스테이션, 서버, PDA, 태플릿 컴퓨터, 스마트폰, 이동 전화기, IPTV 수신기 등과 같이 메모리 수단을 구비하고 마이크로 프로세서를 탑재하여 연산 능력을 갖춘 기기라면 얼마든지 본 발명에 따른 호스트(200, 300)가 될 수 있다. 한편, 본 발명의 일 실시예에 따르면, 호스트(200, 300)는 패킷을 받는 주체인지 혹은 패킷을 보내는 주체인지에 따라 데스티네이션 호스트와 소스 호스트 중 어느 것도 될 수 있을 것이다. 예를 들면, 후술할 바와 같이, NAT 탐지 장치(100)를 거쳐 전달되는 응답 패킷을 기준으로 할 때, 응답 패킷을 보내는 호스트(300)는 소스 호스트가 되고, 응답 패킷을 받는 호스트(200)는 데스티네이션 호스트가 될 수 있다.
한편, 본 발명의 일 실시예에 따르면, 통신망 상에는 NAT 장치(400)와 연결되지 않아 전송 또는 수신하는 패킷에 대하여 NAT가 수행되지 않는 호스트(210)와 NAT 장치(400)의 사설망에 연결되어 전송 또는 수신하는 패킷에 대하여 NAT가 수행되는 호스트(220)가 존재할 수 있다.
다음으로, 본 발명의 일 실시예에 따르면, NAT 장치(400)는 사설망으로부터 전달 받은 패킷의 헤더 정보에 포함되어 있는 소스 호스트(220)의 사설 IP 주소를 공인 IP 주소로 변환하는 기능(즉, SNAT(Source Network Address Translation))을 수행할 수도 있고, 공인망으로부터 전달 받은 패킷의 헤더 정보에 포함되어 있는 데스티네이션 호스트(220)의 공인 IP 주소를 사설 IP 주소로 변환하는 기능(즉, DNAT(Destination Network Address Translation))을 수행할 수도 있다. 특히, NAT 장치(400)와 연결된 사설망에 복수의 호스트(220)가 존재할 수 있는데, 이러한 복수의 호스트(220)는 자신이 발송하는 패킷의 타임스탬프 값을 생성함에 있어서 호스트마다 주파수가 다른 클럭(clock)을 사용할 수 있다.
다음으로, 본 발명의 일 실시예에 따르면, NAT 탐지 장치(100)는 소스 IP 주소가 동일한 3개의 이상의 패킷, 즉, 제1, 제2 및 제3 패킷이 NAT 탐지 장치(100)에 수신되면 호스트(200)가 제1, 제2 및 제3 패킷을 발송한 시각을 각각 가상의 시간 단위로 나타내는 제1, 제2 및 제3 타임스탬프 값(TSval: TimeStamp value)과 제1, 제2 및 제3 패킷이 NAT 탐지 장치(100)에 수신된 시각을 각각 실제 시간(real time) 단위로 나타내는 제1, 제2 및 제3 수신 시각에 관한 정보를 획득하고, 제1 및 제2 타임스탬프 값과 제1 및 제2 수신 시각을 참조로 하여 호스트(200)가 제1 및 제2 타임스탬프 값을 생성하는 데에 사용한 것으로 예상되는 클럭(clock)의 예상 주파수를 산출하고, 상기 산출된 예상 주파수가 기설정된 임계 주파수 이하인 경우에 제2 및 제3 타임스탬프 값과 예상 주파수를 참조로 하여 산출되는 제2 패킷의 발송 시각 및 제3 패킷의 발송 시각 사이의 추정 시간 간격이 제2 수신 시각 및 제3 수신 시각 사이의 간격과 비교하여 기설정된 수준 이상으로 차이가 나면 NAT 탐지 장치(100)로부터 호스트(200)까지의 통신망 경로 상에 NAT 장치(400)가 존재하는 것으로 판단하는 기능을 수행할 수도 있고, 또 다른 경우로서 상기 산출된 예상 주파수가 기설정된 임계 주파수를 초과하면, NAT 탐지 장치(100)로부터 호스트(200)까지의 통신망 경로 상에 NAT 장치(400)가 존재하는 것으로 판단하는 기능을 수행할 수도 있다.
NAT 탐지 장치(100)의 구성에 대한 보다 자세한 설명은 후술하기로 한다.
NAT
탐지 장치(100)의 구성
이하에서는, 본 발명의 구현을 위하여 중요한 기능을 수행하는 NAT 탐지 장치(100)의 내부 구성 및 구체적인 기능에 대하여 살펴보기로 한다.
도 2는 본 발명의 일 실시예에 따른 NAT 탐지 장치(100)의 내부 구성을 나타내는 도면이다.
도 2에 도시된 바와 같이, 본 발명의 일 실시예에 따른 NAT 탐지 장치(100)는 패킷 정보 획득부(110), 클럭 주파수 예상부(120) 및 탐지 처리부(130)를 포함할 수 있다. 본 발명의 일 실시예에 따르면, 패킷 정보 획득부(110), 클럭 주파수 예상부(120) 및 탐지 처리부(130)는 그 중 적어도 일부가 외부 시스템과 통신하는 프로그램 모듈들일 수 있다. 이러한 프로그램 모듈들은 운영 시스템, 응용 프로그램 모듈 및 기타 프로그램 모듈의 형태로 NAT 탐지 장치(100)에 포함될 수 있으며, 물리적으로는 여러 가지 공지의 기억 장치 상에 저장될 수 있다. 또한, 이러한 프로그램 모듈 중 적어도 일부는 NAT 탐지 장치(100)와 통신 가능한 원격 기억 장치에 저장될 수도 있다. 한편, 이러한 프로그램 모듈들은 본 발명에 따라 후술할 특정 업무를 수행하거나 특정 추상 데이터 유형을 실행하는 루틴, 서브루틴, 프로그램, 오브젝트, 컴포넌트, 데이터 구조 등을 포괄하지만, 이에 제한되지는 않는다.
먼저, 본 발명의 일 실시예에 따르면, 패킷 정보 획득부(110)는 동일한 소스(source) IP 주소를 갖는(즉, NAT 탐지 장치(100)의 입장에서 볼 때에 패킷을 보낸 호스트(200)가 동일한 것처럼 보여지는) 제1, 제2 및 제3 패킷이 NAT 탐지 장치(100)에 수신되면, 소스 호스트(이하, "호스트"라고 함)(200)가 제1, 제2 및 제3 패킷을 발송한 가상의 시간 단위의 시각을 각각 나타내는 제1, 제2 및 제3 타임스탬프 값(TSval: TimeStamp value)을 획득하는 기능을 수행할 수 있다.
본 발명에 있어서, 타임스탬프 값(TSval: TimeStamp value)은 호스트(200)가 패킷을 발송함에 있어서 소정의 주파수에 따라 동작하는 클럭(clock)을 사용하여 해당 패킷에 대하여 생성하는 값으로서 해당 패킷이 발송된 실제 시각(real time)을 추측할 수 있는 가상의 값을 가리킨다. 본 발명의 일 실시예에 따르면, 호스트(200)가 사용하는 클럭의 주파수는 가령 2Hz, 100Hz, 200Hz 및 1000Hz 중 어느 하나일 수 있는데, 예를 들어, 호스트(200)가 주파수가 200Hz인 클럭을 사용하여 타임스탬프 값을 생성하는 경우에, 이러한 호스트(200)가 실제 시간 단위로 2013년 12월 1일 07시 00분 00초 및 2013년 12월 1일 07시 00분 05초에 각각 발송한 제1 패킷 및 제2 패킷의 타임스탬프 값은 각각 200 및 1200일 수 있다.
또한, 본 발명의 일 실시예에 따르면, 패킷 정보 획득부(110)는 제1, 제2 및 제3 패킷이 NAT 탐지 장치(100)에 수신된 실제 시간(real time) 단위의 시각을 각각 나타내는 제1, 제2 및 제3 수신 시각에 관한 정보를 획득하는 기능을 수행할 수 있다.
다음으로, 본 발명의 일 실시예에 따르면, 클럭 주파수 예상부(120)는 제1 패킷과 관련하여 제1 타임스탬프 값 및 제1 수신 시각과 제2 패킷과 관련하여 제2 타임스탬프 값 및 제2 수신 시각을 참조로 하여 호스트(200)가 제1 패킷의 타임스탬프 값(즉, 제1 타임스탬프 값)과 제2 패킷의 타임스탬프 값(즉, 제2 타임스탬프 값)을 생성하는 데에 사용한 것으로 예상되는 클럭(clock)의 예상 주파수를 산출하는 기능을 수행할 수 있다.
구체적으로, 본 발명의 일 실시예에 따르면, 호스트(200)가 사용한 것으로 예상되는 클럭의 예상 주파수는 아래의 수학식 1과 같이 산출될 수 있다.
<수학식 1>
C' = (V2 - V1) / (T2 - T1)
수학식 1에서, C'은 호스트(200)가 사용한 것으로 예상되는 클럭의 근사화되기 전의 예상 주파수를 가리키고, V1은 제1 타임스탬프 값을 가리키고, V2는 제2 타임스탬프 값을 가리키고, T1은 제1 수신 시각을 가리키고, T2는 제2 수신 시각을 가리킨다.
후술할 바와 같이, 본 발명의 일 실시예에 따르면, 패킷의 타임스탬프 값은 호스트(200)가 사용한 클럭에 의하여 결정되는 값으로서 패킷이 발송된 시각을 간접적으로 나타내는 가상의 값이고 패킷의 수신 시각은 해당 패킷이 NAT 탐지 장치에 수신된 시각을 직접적으로 나타내는 실제 시간(real time) 단위의 값이기 때문에, NAT 탐지 장치(100)에 수신된 패킷의 타임스탬프 값과 수신 시각을 직접 비교하기는 어렵다. 따라서, 본 발명의 일 실시예에 따르면, 가상의 값인 타임스탬프 값이 실제 시간 단위의 값인 수신 시각과 직접 비교될 수 있도록 하기 위해, 앞서 산출된 클럭의 예상 주파수(C')를 이용하여 타임스탬프 값을 실제 시간 단위의 값으로 스케일링(scaling)할 수 있다.
또한, 본 발명의 일 실시예에 따르면, 클럭 주파수 예상부(120)는 앞서 산출된 예상 주파수를 소정의 매핑(mapping) 테이블을 참조로 하여 근사화할 수 있다. 호스트(200)가 자신이 발송하는 패킷의 타임스탬프 값을 생성하기 위하여 사용하는 클럭의 표준 주파수는 2Hz, 100Hz, 200Hz 및 1000Hz 중 어느 하나인 경우를 예로 들면, 본 발명의 일 실시예에 따른 클럭 주파수 예상부(120)는 앞서 산출된 근사화되기 전의 예상 주파수(C')를 상기 예시의 표준 주파수 값 중 가까운 어느 하나의 표준 주파수 값에 매핑시켜 근사화된 예상 주파수(C)를 산출함으로써 호스트(200)가 사용하는 클럭의 예상 주파수를 근사화할 수 있다.
도 3은 본 발명의 일 실시예에 따라 클럭의 예상 주파수를 근사화하기 위해 사용되는 매핑 테이블의 구성을 예시적으로 나타내는 도면이다.
도 3을 참조하면, 근사화되기 전의 예상 주파수(C')가 0Hz 초과 5.66Hz 이하인 주파수 범위에 포함되는 경우에는 이에 대응되는 표준 주파수인 2Hz를 근사화된 예상 주파수(C)로 결정할 수 있고, 근사화되기 전의 예상 주파수(C')가 70Hz 초과 150Hz 이하인 주파수 범위에 포함되는 경우에는 이에 대응되는 표준 주파수인 100Hz를 근사화된 예상 주파수(C)로 결정할 수 있고, 근사화되기 전의 예상 주파수(C')가 150Hz 초과 350Hz 이하인 주파수 범위에 포함되는 경우에는 이에 대응되는 표준 주파수인 200Hz를 근사화된 예상 주파수(C)로 결정할 수 있고, 근사화되기 전의 예상 주파수(C')가 724Hz 초과 1448Hz 이하인 주파수 범위에 포함되는 경우에는 이에 대응되는 표준 주파수인 1000Hz를 근사화된 예상 주파수(C)로 결정할 수 있다.
계속하여, 도 3을 참조하면, 앞서 산출된 근사화되기 전의 예상 주파수(C')가 도 3에 도시된 매핑 테이블에 정의된 매핑 가능한 최대 주파수(즉, 기설정된 임계 주파수) 이하이면서도 매핑 테이블에 정의된 주파수 범위 중 어느 것에도 포함되지 않아 표준 주파수와 매핑되지 않는 경우에는 이어서 수신되는 다음 패킷에 관한 정보를 이용하여 예상 주파수(C')를 다시 산출할 수 있다. 예를 들면, 제1 패킷과 제2 패킷에 관한 정보에 기초하여 산출된 근사화되기 전의 예상 주파수(C')가 35Hz인 경우에는 도 3에 도시된 매핑 테이블에 정의된 범위의 어디에도 포함되지 않으므로, 제2 패킷 및 제2 패킷 이후에 수신되는 패킷인 제3 패킷에 관한 정보를 이용하여 예상 주파수(C')를 다시 산출할 수 있고, 이렇게 다시 산출된 예상 주파수(C')에 대하여 앞서 언급된 근사화 방식에 따라 근사화할 수 있을 것이다.
계속하여, 도 3을 참조하면, 앞서 산출된 근사화되기 전의 예상 주파수(C')가 도 3에 도시된 매핑 테이블에 정의된 매핑 가능한 최대 주파수(즉, 기설정된 임계 주파수)를 초과하는 경우에는, NAT 탐지 장치(100)로부터 해당 호스트(200)까지의 통신망 경로 상에 NAT 장치(400)가 존재하는 것으로 판단할 수 있다. NAT 장치(400)를 탐지하는 구성과 관련하여서는 후술할 탐지 처리부(130)와 관련하여 보다 자세하게 설명하기로 한다.
한편, 본 발명에 따른 매핑 테이블의 구성(예를 들면, 정의된 주파수 범위, 표준 주파수 값 등)이 반드시 도 3에 도시된 바에 한정되는 것은 아니며, 이는 본 발명의 목적을 달성할 수 있는 범위 내에서 얼마든지 변경될 수 있음을 밝혀둔다.
다음으로, 본 발명의 일 실시예에 따르면, 탐지 처리부(130)는, 앞서 산출된 예상 주파수가 기설정된 임계 주파수 이하인 경우에, 제2 패킷의 타임스탬프 값(즉, 제2 타임스탬프 값), 제3 패킷의 타임스탬프 값(즉, 제3 타임스탬프 값) 및 앞서 산출되고 근사화된 예상 주파수(C)를 참조로 하여 산출되는 제2 패킷의 발송 시각 및 제3 패킷의 발송 시각 사이의 추정 시간 간격이 제2 패킷의 수신 시각(즉, 제2 수신 시각) 및 제3 패킷의 수신 시각(즉, 제3 수신 시각) 사이의 간격과 비교하여 기설정된 수준(즉, 임계값(threshold value)) 이상으로 차이가 나면, NAT 탐지 장치(100)로부터 해당 호스트(200)까지의 통신망 경로 상에 NAT 장치(400)가 존재하는 것으로 판단하는 기능을 수행할 수 있다.
본 발명의 일 실시예에 따르면, 제2 패킷 및 제3 패킷의 발송 시각 사이의 추정 시간 간격이 제2 패킷 및 제3 패킷의 수신 시각 사이의 간격과 비교하여 기설정된 수준 이상으로 차이가 난다는 것은, 제2 패킷을 발송한 호스트(200)가 제2 패킷의 타임스탬프 값을 생성하는 데에 사용한 클럭의 주파수와 제3 패킷을 발송한 호스트(200)가 제3 패킷의 타임스탬프 값을 생성하는 데에 사용한 클럭의 주파수가 서로 다르다는 것을 의미할 수 있고, 이는 곧 제2 패킷을 발송한 호스트(200)와 제3 패킷을 발송한 호스트(200)가 서로 다르다는 것을 의미할 수 있으며, 나아가 NAT 장치(400)의 사설망에 연결된 복수의 호스트 중 어느 한 호스트(220)가 제2 패킷을 발송하고 다른 한 호스트(220)가 제3 패킷을 발송하였음을 의미할 수 있다.
구체적으로, 본 발명의 일 실시예에 따르면, NAT 탐지 장치(100)로부터 해당 호스트(200)까지의 통신망 경로 상에 NAT 장치(400)가 존재하는지 여부를 판단하는 조건을 아래의 수학식 2와 같이 나타낼 수 있다.
<수학식 2>
V3/C - V2/C ≥ T3 - T2 + (threshold value), 또는
V3/C - V2/C ≤ T3 - T2 - (threshold value)
수학식 2에서, V3/C는 앞서 산출되어 근사화된 예상 주파수(C)에 근거하여 실제 시간 단위로 스케일링된 제3 패킷의 발송 시각을 가리키고, V2/C는 앞서 산출되어 근사화된 예상 주파수(C)에 근거하여 실제 시간 단위로 스케일링된 제2 패킷의 발송 시각을 가리키고, T3는 제3 패킷이 NAT 탐지 장치(100)에 수신된 실제 시간 단위의 시각, 즉, 제3 수신 시각을 가리키고, T2는 제2 패킷이 NAT 탐지 장치(100)에 수신된 실제 시간 단위의 시각, 즉, 제2 수신 시각을 가리키고, V3/C - V2/C는 제2 패킷의 발송 시각과 제2 패킷의 발송 시각 사이의 추정 시간 간격을 가리키고, T3 - T2는 제2 패킷과 수신 시각과 제3 패킷의 수신 시각 사이의 간격을 가리키고, threshold value는 기설정된 수준(즉, 임계값)을 가리킨다.
또한, 본 발명의 일 실시예에 따르면, 수학식 2를 다른 형태로 변형하여 아래의 수학식 3과 같이 나타낼 수도 있다.
<수학식 3>
S3 ≥ S2 + (threshold value), 또는
S3 ≤ S2 - - (threshold value)
(S3 = V3/C, S2 = V2/C + (T3 - T2))
수학식 3에서, S2는 제1 패킷 및 제2 패킷에 관한 정보를 참조로 하여 산출된 제3 패킷의 예상 타임스탬프 값을 실제 시간 단위로 스케일링한 값을 가리키고, S3는 제3 패킷의 헤더에 포함되어 있는 타임스탬프 값을 실제 시간 단위로 스케일링한 값을 가리키고, threshold value는 기설정된 수준(즉, 임계값)을 가리킨다. 즉, 본 발명의 일 실시예에 따른 탐지 처리부(130)는, 제3 패킷의 헤더에 실제로 포함되어 있는 타임스탬프 값이 제3 패킷의 예상된 타임스탬프 값과 비교하여 기설정된 수준 이상으로 차이가 나면, NAT 탐지 장치(100)로부터 호스트(200)까지의 통신망 경로 상에 NAT 장치(400)가 존재하는 것으로 판단하는 기능을 수행한다고도 할 수 있다.
구체적으로, 본 발명의 일 실시예에 따르면, 소스 IP 주소가 동일한 두 패킷의 호스트(200)에서의 발송 시각 사이의 추정 시간 간격이 해당 두 패킷의 NAT 탐지 장치(100)에서의 수신 시각 사이의 간격과 비교하여 기설정된 수준(즉, 임계값) 이상 차이가 나는지 여부를 기준으로 하여 호스트와 NAT 탐지 장치 사이에 NAT 장치(400)가 존재하는지를 판단함에 있어서, "기설정된 수준" 또는 "임계값"은 NAT 탐지 장치(100)의 관리자에 의하여 임의로 설정되거나 통신망의 상황(예를 들면, 왕복 시간(RTT: Round-Trip Time), 트래픽(traffic), 지연(latency) 등)에 따라 동적으로 설정될 수 있다. "기설정된 수준"에 대한 구체적인 예시와 관련하여서는, 후술할 도 5에 도시된 실시예와 관련하여 보다 자세하게 설명하기로 한다.
이상에서 살펴본 바와 같이, 호스트(200)가 사용한 것으로 예상되는 클럭의 예상 주파수가 제1 패킷 및 제2 패킷에 관한 정보에 기초하여 산출된 경우에 NAT 탐지 장치(100)는 제2 패킷 및 제3 패킷의 발송 시각 사이의 추정 시간 간격이 제2 패킷 및 제3 패킷의 수신 시각 사이의 간격과 비교하여 기설정된 수준 이상으로 차이가 나는지 여부를 기준으로 하여 NAT 장치(400)를 탐지할 수 있지만, 만약, 앞서 살펴본 바와 같이, 예상 주파수를 다시 산출하는 경우가 발생함으로 인하여 호스트(200)가 사용한 것으로 예상되는 클럭의 예상 주파수가 제1 패킷 및 제2 패킷에 관한 정보가 아닌 제2 패킷 및 제3 패킷에 관한 정보에 기초하여 산출되었다면, NAT 탐지 장치(100)는 제3 패킷 및 제4 패킷의 발송 시각 사이의 추정 시간 간격이 제3 패킷 및 제4 패킷의 수신 시각 사이의 간격과 비교하여 기설정된 수준 이상으로 차이가 나는지 여부를 기준으로 하여 NAT 장치(400)를 탐지할 수 있을 것이다. 여기서, 제4 패킷은 제3 패킷이 NAT 탐지 장치(100)에 수신된 이후에 NAT 탐지 장치(100)에 수신되는 패킷을 가리키는 것으로서, 제3 패킷과 소스 IP 주소가 동일한 패킷을 가리킨다 .
한편, 본 발명의 일 실시예에 따르면, 탐지 처리부(130)는 앞서 산출된 근사화되기 전의 예상 주파수(C')가 기설정된 임계 주파수를 초과하면 NAT 탐지 장치(100)로부터 해당 호스트(200)까지의 통신망 경로 상에 NAT 장치(400)가 존재하는 것으로 판단하는 기능도 수행할 수 있다.
본 발명의 일 실시예에 따르면, 제1 패킷의 타임스탬프 값 및 수신 시각과 제2 패킷의 타임스탬프 값 및 수신 시각에 기초하여 산출된 근사화되기 전의 예상 주파수(C')가 기설정된 임계 주파수를 초과하여 일반적으로 사용되는 클럭의 정상적인 주파수가 아니라는 것은, 제1 패킷과 제2 패킷이 정상적인 주파수의 클럭을 사용하는 하나의 호스트(200)에 의하여 발송된 것이 아니라는 것을 의미할 수 있고, 이는 곧 NAT 장치(400)의 사설망에 연결된 서로 다른 복수의 호스트 중 어느 한 호스트(220)가 제1 패킷을 발송하고 다른 한 호스트(220)가 제2 패킷을 발송하였음을 의미할 수 있다.
구체적으로, 본 발명의 일 실시예에 따르면, 앞서 산출된 근사화되기 전의 예상 주파수(C')가 기설정된 임계 주파수를 초과하는지 여부를 기준으로 하여 호스트와 NAT 탐지 장치 사이에 NAT 장치(400)가 존재하는지를 판단함에 있어서, "기설정된 임계 주파수"는 NAT 탐지 장치(100)의 관리자에 의하여 임의로 설정되거나 통신망의 상황(예를 들면, 왕복 시간(RTT: Round-Trip Time), 트래픽(traffic), 지연(latency) 등)에 따라 동적으로 설정될 수 있다. 예를 들면, "기설정된 임계 주파수"는 도 3에 도시된 매핑 테이블에 정의된 매핑 가능한 최대 주파수일 수 있다(도 3의 실시예에서는 1448Hz가 기설정된 임계 주파수가 될 수 있음). "기설정된 임계 주파수"에 대한 구체적인 예시와 관련하여서는, 후술할 도 6에 도시된 실시예와 관련하여 보다 자세하게 설명하기로 한다.
도 4 내지 도 6은 본 발명의 일 실시예에 따라 NAT 장치를 탐지하는 과정을 예시적으로 나타내는 도면이다.
먼저, 도 4를 참조하면, 호스트(200)에 의하여 발송된 소스 IP 주소가 동일한 제1 패킷(410), 제2 패킷(420) 및 제3 패킷(430)이 NAT 탐지 장치(100)에 수신되는 경우를 가정할 수 있다. 도 4의 실시예에서, 제1 패킷(410), 제2 패킷(420) 및 제3 패킷(430)의 타임스탬프 값(즉, TSval)은 각각 "100", "1100" 및 "1600"일 수 있고, 제1 패킷(410)이 NAT 탐지 장치(100)에 수신된 시각과 제2 패킷(420)이 NAT 탐지 장치(100)에 수신된 시각 사이의 간격은 10초일 수 있고, 제2 패킷(420)이 NAT 탐지 장치(100)에 수신된 시각과 제3 패킷(430)이 NAT 탐지 장치(100)에 수신된 시각 사이의 간격은 5초일 수 있다.
계속하여, 도 4를 참조하면, 본 발명의 일 실시예에 따른 NAT 탐지 장치(100)는 제1 패킷(410)의 타임스탬프 값(즉, "100"), 제2 패킷(420)의 타임스탬프 값(즉, "1100") 및 제1 패킷(410)이 NAT 탐지 장치(100)에 수신된 시각과 제2 패킷(420)이 NAT 탐지 장치(100)에 수신된 시각 사이의 간격(즉, 10초)을 참조로 하여, 제1 패킷(410) 및 제2 패킷(420)을 발송한 호스트(200)가 타임스탬프 값을 생성하는 데에 사용한 것으로 예상되는 클럭의 예상 주파수(즉, 근사화되기 전의 예상 주파수)가 100Hz(= (1100 - 100) / 10초)인 것으로 산출할 수 있다. 여기서, 근사화되기 전 예상 주파수의 값인 100Hz가 도 3에 도시된 매핑 테이블의 70Hz 초과 150Hz 이하인 주파수 범위에 포함되기 때문에 이에 대응되는 표준 주파수인 100Hz를 근사화된 예상 주파수(C)로 결정할 수 있다.
계속하여, 도 4를 참조하면, 본 발명의 일 실시예에 따른 NAT 탐지 장치(100)는 제2 패킷(420)의 타임스탬프 값(즉, "1100"), 제3 패킷(430)의 타임스탬프 값(즉, "1600") 및 근사화된 예상 주파수(즉, 100Hz)를 참조로 하여 제2 패킷(420)의 실제 시간(real time) 단위의 발송 시각 및 제3 패킷의 실제 시간 단위의 발송 시각 사이의 추정 시간 간격이 5초(= 1600/100Hz - 1100/100Hz)인 것으로 산출할 수 있고, 이렇게 산출된 제2 패킷(420)의 발송 시각 및 제3 패킷(430)의 발송 시각 사이의 추정 시간 간격(즉, 5초)이 제2 패킷(420)의 수신 시각 및 제3 패킷(430)의 수신 시각 사이의 간격(즉, 5초)과 차이가 없다는 점을 근거로 하여, 제1 패킷(410), 제2 패킷(420) 및 제3 패킷(430)이 모두 동일한 호스트(210)에 의하여 발송된 것으로 판단할 수 있고, 나아가 NAT 탐지 장치(100)로부터 제1 패킷(410), 제2 패킷(420) 및 제3 패킷(430)을 발송한 호스트(210)까지의 통신망 경로 상에 NAT 장치(400)가 존재하지 않는다고 판단할 수 있다.
다음으로, 도 5를 참조하면, 호스트(200)에 의하여 발송된 소스 IP 주소가 동일한 제1 패킷(510), 제2 패킷(520) 및 제3 패킷(530)이 NAT 탐지 장치(100)에 수신되는 경우를 가정할 수 있다. 도 5의 실시예에서, 제1 패킷(510), 제2 패킷(520) 및 제3 패킷(530)의 타임스탬프 값(즉, TSval)은 각각 "100", "1100" 및 "6000"일 수 있고, 제1 패킷(510)이 NAT 탐지 장치(100)에 수신된 시각과 제2 패킷(520)이 NAT 탐지 장치(100)에 수신된 시각 사이의 간격은 10초일 수 있고, 제2 패킷(520)이 NAT 탐지 장치(100)에 수신된 시각과 제3 패킷(530)이 NAT 탐지 장치(100)에 수신된 시각 사이의 간격은 5초일 수 있다.
계속하여, 도 5를 참조하면, 본 발명의 일 실시예에 따른 NAT 탐지 장치(100)는 제1 패킷(510)의 타임스탬프 값(즉, "100"), 제2 패킷(520)의 타임스탬프 값(즉, "1100") 및 제1 패킷(510)이 NAT 탐지 장치(100)에 수신된 시각과 제2 패킷(520)이 NAT 탐지 장치(100)에 수신된 시각 사이의 간격(즉, 10초)을 참조로 하여, 제1 패킷(510) 및 제2 패킷(520)을 발송한 호스트(200)가 타임스탬프 값을 생성하는 데에 사용한 것으로 예상되는 클럭의 예상 주파수(즉, 근사화되기 전의 예상 주파수)가 100Hz(= (1100 - 100) / 10초)인 것으로 산출할 수 있다. 여기서, 근사화되기 전 예상 주파수의 값인 100Hz가 도 3에 도시된 매핑 테이블의 70Hz 초과 150Hz 이하인 주파수 범위에 포함되기 때문에 이에 대응되는 표준 주파수인 100Hz를 근사화된 예상 주파수(C)로 결정할 수 있다.
계속하여, 도 5를 참조하면, 본 발명의 일 실시예에 따른 NAT 탐지 장치(100)는 제2 패킷(520)의 타임스탬프 값(즉, "1100"), 제3 패킷(530)의 타임스탬프 값(즉, "6000") 및 근사화된 예상 주파수(즉, 100Hz)를 참조로 하여 제2 패킷(520)의 실제 시간(real time) 단위의 발송 시각 및 제3 패킷의 실제 시간 단위의 발송 시각 사이의 추정 시간 간격이 49초(= 6000/100Hz - 1100/100Hz)인 것으로 산출할 수 있고, 이렇게 산출된 제2 패킷(520)의 발송 시각 및 제3 패킷(530)의 발송 시각 사이의 추정 시간 간격(즉, 49초)과 제2 패킷(520)의 수신 시각 및 제3 패킷(530)의 수신 시각 사이의 간격(즉, 5초) 사이에 기설정된 수준 이상의 차이(즉, 44초)가 존재한다는 점을 근거로 하여, 제1 패킷(510), 제2 패킷(520) 및 제3 패킷(530)이 모두 동일한 호스트(210)에 의하여 발송된 것이 아니라고 판단할 수 있고, 나아가 NAT 탐지 장치(100)로부터 제1 패킷(510), 제2 패킷(520) 및 제3 패킷(530)을 발송한 호스트(220)까지의 통신망 경로 상에 NAT 장치(400)가 존재한다고 판단할 수 있다.
다음으로, 도 6을 참조하면, 호스트(200)에 의하여 발송된 소스 IP 주소가 동일한 제1 패킷(610), 제2 패킷(620) 및 제3 패킷(630)이 NAT 탐지 장치(100)에 수신되는 경우를 가정할 수 있다. 도 6의 실시예에서, 제1 패킷(610), 제2 패킷(620) 및 제3 패킷(630)의 타임스탬프 값(즉, TSval)은 각각 "100", "6000" 및 "1600"일 수 있고, 제1 패킷(610)이 NAT 탐지 장치(100)에 수신된 시각과 제2 패킷(620)이 NAT 탐지 장치(100)에 수신된 시각 사이의 간격은 10초일 수 있고, 제2 패킷(620)이 NAT 탐지 장치(100)에 수신된 시각과 제3 패킷(630)이 NAT 탐지 장치(100)에 수신된 시각 사이의 간격은 5초일 수 있다.
계속하여, 도 6를 참조하면, 본 발명의 일 실시예에 따른 NAT 탐지 장치(100)는 제1 패킷(610)의 타임스탬프 값(즉, "100"), 제2 패킷(620)의 타임스탬프 값(즉, "1100") 및 제1 패킷(610)이 NAT 탐지 장치(100)에 수신된 시각과 제2 패킷(620)이 NAT 탐지 장치(100)에 수신된 시각 사이의 간격(즉, 10초)을 참조로 하여, 제1 패킷(610) 및 제2 패킷(620)을 발송한 호스트(200)가 타임스탬프 값을 생성하는 데에 사용한 것으로 예상되는 클럭의 예상 주파수가 5900Hz(= (6000 - 100) / 10초)인 것으로 산출할 수 있다. 이러한 경우, 본 발명의 일 실시예에 따른 NAT 탐지 장치(100)는 산출된 예상 주파수(즉, 5900Hz)가 도 3에 도시된 매핑 테이블에 정의된 매핑 가능한 최대 주파수(즉, 1448Hz)보다 크다는 점(즉, 5900Hz의 주파수를 갖는 클럭을 사용하는 호스트는 존재하지 않는다는 점)을 참조로 하여, 제1 패킷(610) 및 제2 패킷(620)이 동일한 하나의 호스트(210)에 의하여 발송된 것이 아니라고 판단할 수 있고, 나아가 NAT 탐지 장치(100)로부터 제1 패킷(610) 및 제2 패킷(620)을 발송한 호스트(220)까지의 통신망 경로 상에 NAT 장치(400)가 존재한다고 판단할 수 있다.
이상 설명된 본 발명에 따른 실시예들은 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상에서 본 발명이 구체적인 구성요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명이 상기 실시예들에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형을 꾀할 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등하게 또는 등가적으로 변형된 모든 것들은 본 발명의 사상의 범주에 속한다고 할 것이다.
100: NAT 탐지 장치
110: 패킷 정보 획득부
120: 클럭 주파수 예상부
130: 탐지 처리부
200, 300: 호스트(host)
400: NAT 장치
110: 패킷 정보 획득부
120: 클럭 주파수 예상부
130: 탐지 처리부
200, 300: 호스트(host)
400: NAT 장치
Claims (17)
- 패킷의 특성을 이용하여 NAT(Network Address Translation) 장치를 탐지하기 위한 방법으로서,
(a) 소스 IP 주소가 동일한 제1, 제2 및 제3 패킷이 NAT 탐지 장치에 수신되면, 호스트가 상기 제1, 제2 및 제3 패킷을 발송한 시각을 각각 나타내는 제1, 제2 및 제3 타임스탬프 값(TSval: TimeStamp value)과 상기 제1, 제2 및 제3 패킷이 상기 NAT 탐지 장치에 수신된 시각을 각각 나타내는 제1, 제2 및 제3 수신 시각에 관한 정보를 획득하는 단계,
(b) 상기 제1 및 제2 타임스탬프 값과 상기 제1 및 제2 수신 시각을 참조로 하여, 상기 호스트가 상기 제1 및 제2 타임스탬프 값을 생성하는 데에 사용한 것으로 예상되는 클럭(clock)의 예상 주파수를 산출하는 단계, 및
(c) 상기 산출된 예상 주파수가 기설정된 임계 주파수 이하인 경우에, 상기 제2 타임스탬프 값, 상기 제3 타임스탬프 값 및 상기 산출된 예상 주파수를 참조로 하여 산출되는 상기 제2 패킷의 발송 시각 및 상기 제3 패킷의 발송 시각 사이의 추정 시간 간격과 상기 제2 수신 시각 및 상기 제3 수신 시각 사이의 간격 사이에 기설정된 수준 이상의 차이가 존재하면, 상기 NAT 탐지 장치로부터 상기 호스트까지의 통신망 경로 상에 NAT 장치가 존재하는 것으로 판단하는 단계
를 포함하는 방법. - 제1항에 있어서,
상기 제1, 제2 및 제3 타임스탬프 값은 각각 상기 제1, 제2 및 제3 패킷의 헤더에 포함된 TSval 값인 것을 특징으로 하는 방법. - 제1항에 있어서,
상기 (b) 단계에서,
C'이 상기 산출된 예상 주파수이고, V1이 상기 제1 타임스탬프 값이고, V2가 상기 제2 타임스탬프 값이고, T1이 상기 제1 수신 시각이고, T2가 상기 제2 수신 시각일 때,
C' = (V2 - V1) / (T2 - T1)
인 것을 특징으로 하는 방법. - 제1항에 있어서,
상기 기설정된 임계 주파수는 매핑 테이블에 정의된 매핑 가능한 최대 주파수인 것을 특징으로 하는 방법. - 제1항에 있어서,
상기 (b) 단계는,
(b1) 상기 산출된 예상 주파수가 상기 기설정된 임계 주파수 이하인 경우에, 상기 산출된 예상 주파수를 매핑 테이블에 포함되는 적어도 하나의 표준 주파수 값 중 상기 산출된 예상 주파수와 가까운 어느 하나의 표준 주파수로 근사화하는 단계
를 포함하고,
상기 (c) 단계에서,
상기 산출된 예상 주파수가 상기 기설정된 임계 주파수 이하인 경우에, 상기 제2 타임스탬프 값, 상기 제3 타임스탬프 값 및 상기 근사화된 예상 주파수를 참조로 하여 산출되는 상기 제2 패킷의 발송 시각 및 상기 제3 패킷의 발송 시각 사이의 추정 시간 간격과 상기 제2 수신 시각 및 상기 제3 수신 시각 사이의 간격 사이에 기설정된 수준 이상의 차이가 존재하면, 상기 NAT 탐지 장치로부터 상기 호스트까지의 통신망 경로 상에 NAT 장치가 존재하는 것으로 판단하는 것을 특징으로 하는 방법. - 제1항에 있어서,
상기 (b) 단계는,
(b1') 상기 산출된 예상 주파수가 상기 기설정된 임계 주파수 이하이면서도 매핑 테이블에 상기 산출된 예상 주파수에 매핑되는 표준 주파수가 존재하지 않으면, 상기 제2 및 제3 타임스탬프 값과 상기 제2 및 제3 수신 시각을 참조로 하여, 상기 호스트가 상기 제2 및 제3 타임스탬프 값을 생성하는 데에 사용한 것으로 예상되는 클럭(clock)의 예상 주파수를 다시 산출하는 단계, 및
(b2') 상기 다시 산출된 예상 주파수를 상기 매핑 테이블에 포함되는 적어도 하나의 표준 주파수 값 중 상기 다시 산출된 예상 주파수와 가까운 어느 하나의 표준 주파수로 근사화하는 단계
를 더 포함하고,
상기 (c) 단계에서,
상기 다시 산출된 예상 주파수가 상기 기설정된 임계 주파수 이하인 경우에, 상기 제3 타임스탬프 값, 제4 타임스탬프 값 및 상기 근사화된 예상 주파수를 참조로 하여 산출되는 상기 제3 패킷의 발송 시각 및 제4 패킷의 발송 시각 사이의 추정 시간 간격과 상기 제3 수신 시각 및 제4 수신 시각 사이의 간격 사이에 기설정된 수준 이상의 차이가 존재하면, 상기 NAT 탐지 장치로부터 상기 호스트까지의 통신망 경로 상에 NAT 장치가 존재하는 것으로 판단하는 것 - 상기 제4 패킷은 상기 제3 패킷이 상기 NAT 탐지 장치에 수신된 이후에 상기 NAT 탐지 장치에 수신되는 패킷이고, 상기 제4 패킷의 소스 IP 주소와 상기 제3 패킷의 소스 IP 주소가 동일하고, 상기 제4 타임스탬프 값은 상기 호스트가 상기 제4 패킷을 발송한 시각을 나타내고, 상기 제4 수신 시각은 상기 제4 패킷이 상기 NAT 탐지 장치에 수신된 시각을 나타냄 - 을 특징으로 하는 방법. - 제1항에 있어서,
상기 (c) 단계에서,
상기 기설정된 수준은 상기 NAT 탐지 장치의 관리자에 의하여 임의로 설정되거나 통신망의 상황에 따라 동적으로 설정되는 것을 특징으로 하는 방법. - 제1항에 있어서,
(d) 상기 산출된 예상 주파수가 상기 기설정된 임계 주파수를 초과하는 경우에, 상기 NAT 탐지 장치로부터 상기 호스트까지의 통신망 경로 상에 NAT 장치가 존재하는 것으로 판단하는 단계
를 더 포함하는 것을 특징으로 하는 방법. - 패킷의 특성을 이용하여 NAT(Network Address Translation) 장치를 탐지하기 위한 장치로서,
소스 IP 주소가 동일한 제1, 제2 및 제3 패킷이 NAT 탐지 장치에 수신되면, 호스트가 상기 제1, 제2 및 제3 패킷을 발송한 시각을 각각 나타내는 제1, 제2 및 제3 타임스탬프 값(TSval: TimeStamp value)과 상기 제1, 제2 및 제3 패킷이 상기 NAT 탐지 장치에 수신된 시각을 각각 나타내는 제1, 제2 및 제3 수신 시각에 관한 정보를 획득하는 패킷 정보 획득부,
상기 제1 및 제2 타임스탬프 값과 상기 제1 및 제2 수신 시각을 참조로 하여, 상기 호스트가 상기 제1 및 제2 타임스탬프 값을 생성하는 데에 사용한 것으로 예상되는 클럭(clock)의 예상 주파수를 산출하는 클럭 주파수 예상부, 및
상기 산출된 예상 주파수가 기설정된 임계 주파수 이하인 경우에, 상기 제2 타임스탬프 값, 상기 제3 타임스탬프 값 및 상기 산출된 예상 주파수를 참조로 하여 산출되는 상기 제2 패킷의 발송 시각 및 상기 제3 패킷의 발송 시각 사이의 추정 시간 간격과 상기 제2 수신 시각 및 상기 제3 수신 시각 사이의 간격 사이에 기설정된 수준 이상의 차이가 존재하면, 상기 NAT 탐지 장치로부터 상기 호스트까지의 통신망 경로 상에 NAT 장치가 존재하는 것으로 판단하는 탐지 처리부
를 포함하는 장치. - 제9항에 있어서,
상기 제1, 제2 및 제3 타임스탬프 값은 각각 상기 제1, 제2 및 제3 패킷의 헤더에 포함된 TSval 값인 것을 특징으로 하는 장치. - 제9항에 있어서,
C'이 상기 산출된 예상 주파수이고, V1이 상기 제1 타임스탬프 값이고, V2가 상기 제2 타임스탬프 값이고, T1이 상기 제1 수신 시각이고, T2가 상기 제2 수신 시각일 때,
C' = (V2 - V1) / (T2 - T1)
인 것을 특징으로 하는 장치. - 제9항에 있어서,
상기 기설정된 임계 주파수는 매핑 테이블에 정의된 매핑 가능한 최대 주파수인 것을 특징으로 하는 장치. - 제9항에 있어서,
상기 클럭 주파수 예상부는, 상기 산출된 예상 주파수가 상기 기설정된 임계 주파수 이하인 경우에, 상기 산출된 예상 주파수를 매핑 테이블에 포함되는 적어도 하나의 표준 주파수 값 중 상기 산출된 예상 주파수와 가까운 어느 하나의 표준 주파수로 근사화하고,
상기 탐지 처리부는, 상기 산출된 예상 주파수가 상기 기설정된 임계 주파수 이하인 경우에, 상기 제2 타임스탬프 값, 상기 제3 타임스탬프 값 및 상기 근사화된 예상 주파수를 참조로 하여 산출되는 상기 제2 패킷의 발송 시각 및 상기 제3 패킷의 발송 시각 사이의 추정 시간 간격과 상기 제2 수신 시각 및 상기 제3 수신 시각 사이의 간격 사이에 기설정된 수준 이상의 차이가 존재하면, 상기 NAT 탐지 장치로부터 상기 호스트까지의 통신망 경로 상에 NAT 장치가 존재하는 것으로 판단하는 것을 특징으로 하는 장치. - 제9항에 있어서,
상기 클럭 주파수 예상부는, 상기 산출된 예상 주파수가 상기 기설정된 임계 주파수 이하이면서도 매핑 테이블에 상기 산출된 예상 주파수에 매핑되는 표준 주파수가 존재하지 않으면, 상기 제2 및 제3 타임스탬프 값과 상기 제2 및 제3 수신 시각을 참조로 하여, 상기 호스트가 상기 제2 및 제3 타임스탬프 값을 생성하는 데에 사용한 것으로 예상되는 클럭(clock)의 예상 주파수를 다시 산출하고, 상기 다시 산출된 예상 주파수를 상기 매핑 테이블에 포함되는 적어도 하나의 표준 주파수 값 중 상기 다시 산출된 예상 주파수와 가까운 어느 하나의 표준 주파수로 근사화하고,
상기 탐지 처리부는, 상기 다시 산출된 예상 주파수가 상기 기설정된 임계 주파수 이하인 경우에, 상기 제3 타임스탬프 값, 제4 타임스탬프 값 및 상기 근사화된 예상 주파수를 참조로 하여 산출되는 상기 제3 패킷의 발송 시각 및 제4 패킷의 발송 시각 사이의 추정 시간 간격과 상기 제3 수신 시각 및 제4 수신 시각 사이의 간격 사이에 기설정된 수준 이상의 차이가 존재하면, 상기 NAT 탐지 장치로부터 상기 호스트까지의 통신망 경로 상에 NAT 장치가 존재하는 것으로 판단하는 것 - 상기 제4 패킷은 상기 제3 패킷이 상기 NAT 탐지 장치에 수신된 이후에 상기 NAT 탐지 장치에 수신되는 패킷이고, 상기 제4 패킷의 소스 IP 주소와 상기 제3 패킷의 소스 IP 주소가 동일하고, 상기 제4 타임스탬프 값은 상기 호스트가 상기 제4 패킷을 발송한 시각을 나타내고, 상기 제4 수신 시각은 상기 제4 패킷이 상기 NAT 탐지 장치에 수신된 시각을 나타냄 - 을 특징으로 하는 장치. - 제9항에 있어서,
상기 기설정된 수준은 상기 NAT 탐지 장치의 관리자에 의하여 임의로 설정되거나 통신망의 상황에 따라 동적으로 설정되는 것을 특징으로 하는 장치. - 제9항에 있어서
상기 탐지 처리부는, 상기 산출된 예상 주파수가 상기 기설정된 임계 주파수를 초과하는 경우에, 상기 NAT 탐지 장치로부터 상기 호스트까지의 통신망 경로 상에 NAT 장치가 존재하는 것으로 판단하는 것을 특징으로 하는 장치. - 제1항 내지 제8항 중 어느 한 항에 따른 방법을 실행하기 위한 컴퓨터 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020130162869A KR101387974B1 (ko) | 2013-12-24 | 2013-12-24 | 패킷의 특성을 이용하여 nat 장치를 탐지하기 위한 방법, 장치 및 컴퓨터 판독 가능한 기록 매체 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020130162869A KR101387974B1 (ko) | 2013-12-24 | 2013-12-24 | 패킷의 특성을 이용하여 nat 장치를 탐지하기 위한 방법, 장치 및 컴퓨터 판독 가능한 기록 매체 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101387974B1 true KR101387974B1 (ko) | 2014-04-22 |
Family
ID=50658383
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020130162869A KR101387974B1 (ko) | 2013-12-24 | 2013-12-24 | 패킷의 특성을 이용하여 nat 장치를 탐지하기 위한 방법, 장치 및 컴퓨터 판독 가능한 기록 매체 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101387974B1 (ko) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070258452A1 (en) * | 2006-04-20 | 2007-11-08 | Naoto Shimizu | Apparatus and method for detecting network address translation device |
KR20080031175A (ko) * | 2005-05-06 | 2008-04-08 | 캘리포니아 인스티튜트 오브 테크놀로지 | 손실된 패킷 검출 방법 및 패킷에 대한 재전송 메카니즘을결정하는 방법 |
KR20120085512A (ko) * | 2011-01-24 | 2012-08-01 | 주식회사 네이블커뮤니케이션즈 | 다중 경로에서의 링크 제어 방법 |
-
2013
- 2013-12-24 KR KR1020130162869A patent/KR101387974B1/ko active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20080031175A (ko) * | 2005-05-06 | 2008-04-08 | 캘리포니아 인스티튜트 오브 테크놀로지 | 손실된 패킷 검출 방법 및 패킷에 대한 재전송 메카니즘을결정하는 방법 |
US20070258452A1 (en) * | 2006-04-20 | 2007-11-08 | Naoto Shimizu | Apparatus and method for detecting network address translation device |
KR20120085512A (ko) * | 2011-01-24 | 2012-08-01 | 주식회사 네이블커뮤니케이션즈 | 다중 경로에서의 링크 제어 방법 |
Non-Patent Citations (1)
Title |
---|
비특허문헌1:경원대학교(선종현) * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11956338B2 (en) | Correlating packets in communications networks | |
JP6506871B2 (ja) | 無線アクセスポイントのセキュリティおよび品質の評価のためのシステムおよび方法 | |
US11729209B2 (en) | Distributed denial-of-service attack mitigation with reduced latency | |
JP6356133B2 (ja) | 宇宙ベースの認証を改善するサーバアルゴリズム | |
AU2016234999A1 (en) | Path scanning for the detection of anomalous subgraphs and use of dns requests and host agents for anomaly/change detection and network situational awareness | |
WO2015018303A1 (en) | Method and device for detecting distributed denial of service attack | |
JP4373306B2 (ja) | Tcpステートレス・ホグによるtcpサーバに対する分散サービス妨害攻撃を防御する方法および装置 | |
KR20080072689A (ko) | 무선 통신 네트워크에서 toa 측정을 개선하는 방법 및시스템 | |
US11316871B2 (en) | Encrypted traffic analytics over a multi-path TCP connection | |
Ries et al. | Verification of data location in cloud networking | |
US20150063132A1 (en) | Bandwidth estimation mechanism for a communication network | |
KR101775325B1 (ko) | Nat 장치를 탐지하기 위한 방법 및 장치 | |
Hsu et al. | A solution to detect the existence of a malicious rogue AP | |
Naik et al. | Discovering hackers by stealth: Predicting fingerprinting attacks on honeypot systems | |
Liu et al. | Firewall fingerprinting and denial of firewalling attacks | |
US10948593B2 (en) | System for determining distance between fixed and mobile endpoints and related methods | |
Eskandari et al. | Vloc: An approach to verify the physical location of a virtual machine in cloud | |
KR101387974B1 (ko) | 패킷의 특성을 이용하여 nat 장치를 탐지하기 위한 방법, 장치 및 컴퓨터 판독 가능한 기록 매체 | |
KR101432266B1 (ko) | Nat 장치를 탐지하기 위한 방법, 장치 및 컴퓨터 판독 가능한 기록 매체 | |
Khakpour et al. | Firewall fingerprinting | |
EP3328032B1 (en) | Network proxy detection | |
KR20180018128A (ko) | 단말 정보 식별 시스템 및 그 방법 | |
Bursztein | Time has something to tell us about network address translation | |
Ma et al. | LENSER: A Channel State Information Based Indoor Localization Scheme for Malicious Devices | |
Devi et al. | Spoofing attack detection and localization in wireless sensor network: a review |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
A302 | Request for accelerated examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20170412 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20180416 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20190410 Year of fee payment: 6 |