KR101272670B1 - 사용자 단말의 접속 네트워크 식별 장치, 방법 및 컴퓨터 판독 가능한 기록 매체 - Google Patents

사용자 단말의 접속 네트워크 식별 장치, 방법 및 컴퓨터 판독 가능한 기록 매체 Download PDF

Info

Publication number
KR101272670B1
KR101272670B1 KR1020110124832A KR20110124832A KR101272670B1 KR 101272670 B1 KR101272670 B1 KR 101272670B1 KR 1020110124832 A KR1020110124832 A KR 1020110124832A KR 20110124832 A KR20110124832 A KR 20110124832A KR 101272670 B1 KR101272670 B1 KR 101272670B1
Authority
KR
South Korea
Prior art keywords
address
network
user terminal
packet
rtt
Prior art date
Application number
KR1020110124832A
Other languages
English (en)
Other versions
KR20130058853A (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 KR1020110124832A priority Critical patent/KR101272670B1/ko
Priority to JP2012259034A priority patent/JP6209330B2/ja
Priority to US13/687,252 priority patent/US8861532B2/en
Publication of KR20130058853A publication Critical patent/KR20130058853A/ko
Application granted granted Critical
Publication of KR101272670B1 publication Critical patent/KR101272670B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W48/00Access restriction; Network selection; Access point selection
    • H04W48/08Access restriction or access information delivery, e.g. discovery data delivery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W48/00Access restriction; Network selection; Access point selection
    • H04W48/18Selecting a network or a communication service
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W48/00Access restriction; Network selection; Access point selection
    • H04W48/16Discovering, processing access restriction or access information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols

Abstract

본 발명은 사용자 단말의 접속 네트워크 식별 장치에 관한 것으로, 사용자 단말과 서버간에 송수신되는 복수의 패킷들을 캡쳐하는 패킷 캡쳐부; 상기 패킷 캡쳐부를 통해 캡쳐된 상기 각 패킷의 출발지 주소, 목적지 주소 및 포트 번호를 참조하여 상기 캡쳐된 패킷들을 개별 플로우(flow)로 분류하는 플로우 분류부; 상기 플로우 분류부에서 동일한 플로우로 분류된 패킷들로부터 라운드 트립 시간(RTT) 값을 판별하는 RTT 산출부; 및 상기 RTT 산출부로부터 산출된 상기 RTT 값이 설정된 기준값을 초과할 경우, 상기 플로우 상에서 상기 서버에서 수신된 패킷에 포함된 출발지 주소를 제1 통신 네트워크를 통해 접속하는 주소로 판별하는 접속 네트워크 판별부를 포함한다.

Description

사용자 단말의 접속 네트워크 식별 장치, 방법 및 컴퓨터 판독 가능한 기록 매체{APPARATUS, METHOD AND COMPUTER READABLE RECORDING MEDIUM OF DISTINGUISHING ACCESS NETWORK OF A USER TERMINAL}
본 발명은 사용자 단말의 접속 네트워크 식별 장치, 방법 및 컴퓨터 판독 가능한 기록 매체에 관한 것으로, 보다 상세하게는 다양한 종류의 네트워크를 통해 접속하는 사용자 단말들에 대해 각 사용자 단말이 접속한 네트워크의 종류를 식별하여 분류하기 위한 사용자 단말의 접속 네트워크 식별 장치, 방법 및 컴퓨터 판독 가능한 기록 매체에 관한 것이다.
오늘날 인터넷의 광범위한 보급은 이제 유선을 넘어 무선 이동통신 기술로의 급발전을 가져오게 되었고, 실생활에 있어서도 휴대폰, PDA, 핸드헬드(Hand-Held) 컴퓨터 등의 휴대용 단말을 통한 인터넷상에서의 정보 검색이 시간과 장소에 구애받지 않고 가능하게 되었다.
한편, 최근 출시되는 스마트폰들의 성능이 향상되면서, 일반 휴대폰에서 스마트폰으로 사용자들이 많이 옮겨가고 있는 추세이다. 스마트폰(smart phone)이란 휴대폰에 컴퓨터 지원 기능을 추가한 지능형 휴대폰으로서, 휴대폰 기능에 충실하면서도 개인 휴대 정보 단말기(PDA) 기능, 인터넷 기능, 동영상 재생 기능 등이 추가되며, 다양한 입력 방식과 터치스크린 등이 구비되어 사용에 보다 편리한 인터페이스를 제공한다. 또한, 무선 인터넷 기능의 지원으로 인터넷 및 컴퓨터에 접속되어 이메일, 웹브라우징, 팩스, 뱅킹, 게임 등 단말기로서의 기능도 수행한다. 한편, 스마트폰은 다양한 기능의 수용을 위하여 표준화된 운영 체제(OS) 또는 전용 운영 체제를 갖추기도 한다.
이와 같이, 스마트폰 등 다양한 사용자 단말기를 통해 다양한 기능의 구현이 가능해짐에 따라, 사용자 단말 장치 내에서 구동되는 다양한 전용 응용 프로그램(application program)들과 콘텐츠(content)들이 많이 개발되고 있다.
한편, 이와 같이 최근 스마트폰 등에서 구현되는 다양한 전용 응용 프로그램들은 많은 네트워크 트래픽을 필요로 하며, 짧은 시간에 많은 양의 데이터를 송수신해야 하는 응용 프로그램들이 늘어나고 있다. 따라서, 스마트폰 등에서 응용 프로그램을 구동함에 있어 네트워크의 품질 문제가 중요한 이슈가 되며, 어떠한 종류의 네트워크를 사용하는지에 따라 원활한 서비스의 가능 여부가 결정될 수 있다.
예컨대, 휴대용 단말에서 실행되는 응용 프로그램이 3세대 이동통신 방식에 따른 네트워크(즉, 3G 방식의 네트워크)를 이용하는 경우, 원활한 트래픽 속도를 지원하지 못함으로 제대로 된 서비스를 제공하기 어려운 경우가 발생할 수 있다. 그러나, 휴대용 단말에서 실행되는 응용 프로그램이 와이파이(WiFi) 등과 같은 상대적으로 안정된 고속의 데이터 통신 속도를 제공하는 네트워크에 접속 가능할 경우, 원활한 서비스 제공이 가능해질 수가 있다. 또한, 네트워크의 종류에 따라 3G 방식의 네트워크인 경우에는 그 사용량에 따라 추가적인 비용이 소요되는 경우도 존재하므로 사용자 단말에서 접속 네트워크를 식별하고, 추가적인 비용이 발생할 수 있음을 사용자에게 통보하는 것은 상당히 중요하다.
도 1a 및 1b는 일반적인 휴대용 단말에서 접속 네트워크의 종류와 관련된 안내 메시지를 나타내는 도면이다. 도 1a를 참조하면, 휴대용 단말(100)에서 특정 응용 프로그램을 실행할 때, 상기 실행되는 응용 프로그램이 특성상 많은 네트워크 트래픽을 필요로 하는 프로그램일 경우에는 도시된 바와 같이 사용자에게 알림으로써 추가 비용이 소요될 수 있음을 고지할 수 있다. 예컨대, '3G로 연결되었습니다. 무선 데이터 이용료가 발생할 수 있습니다.' 등과 같이 표시함으로써 사용자로 하여금 해당 프로그램에 대한 계속 실행 여부를 결정하도록 할 수 있다.
또한, 도 1b를 참조하면, 사용자가 안정된 고속의 전송 속도가 보장되지 않는 네트워크에 접속하여 특정 응용 프로그램을 실행하고자 할 경우 도시된 바와 같이 해당 서비스의 제공을 제한하도록 고지할 수 있다. 예컨대, 휴대용 단말에서 무선 네트워크를 이용하여 TV 중계를 시청하기 위해서는 상당히 많은 양의 트래픽과 안정되고 높은 전송 속도가 요구된다. 따라서, 통상적으로 3G 네트워크를 통해서는 해당 서비스가 원활하게 제공되지 않을 수 있으며, 와이파이 네트워크에 접속하는 경우에 한하여 원활한 서비스가 가능할 수 있다. 따라서, 도시된 바와 같이 'TV 중계는 원활한 시청을 위해서 Wi-Fi 상태에서만 지원되오니 양해 부탁 드립니다' 등과 같이 표시함으로써 와이파이 네트워크로의 접속을 유도할 수 있다.
이와 같이, 3G 네트워크 사용에 따른 과금 문제 및 네트워크 품질 파악을 위해 사용자 단말(즉, 휴대용 단말)이 현재 3G 네트워크를 통해 접속하고 있는지, 와이파이 네트워크를 통해 접속하고 있는지를 파악해야 한다. 즉, 도 1a에서와 같이 대용량 파일을 내려 받는 등의 서비스 이용시 3G 네트워크를 통한 접속으로 인해 추가요금이 발생할 수 있다는 것을 사용자에게 알려주는 것이 바람직하며, 도 1b에서와 같이 스트리밍 서비스에서 3G 네트워크의 속도 및 안정성 문제로 서비스의 품질을 보장할 수 없을 때, 이를 사용자에게 알려주고, 필요시 서비스를 제한하는 것이 바람직하다.
한편, 특정 운영 체제(예컨대, iOS 또는 Android 등)를 탑재한 휴대용 단말에서는 현재 단말이 3G 네트워크로 연결이 되어 있는지, 와이파이 네트워크로 연결되어 있는지를 확인할 수 있는 응용 프로그램 프로그래밍 인터페이스(Application programming interface; API)를 제공한다.
그러나, 휴대용 단말의 브라우저를 이용하여 웹 서비스를 제공하는 웹페이지에 접속하는 경우, 브라우저는 휴대용 단말이 3G 네트워크에 연결되어 있는지 또는 와이파이 네트워크에 연결되어 있는지를 알려주는 API가 제공되어 있지 않다. 따라서, 서버측에서 각 사용자의 휴대용 단말의 접속 네트워크가 3G 네트워크인지 와이파이 네트워크인지를 파악해야 한다.
이와 같이, 서버측에서 사용자의 휴대용 단말이 3G 네트워크를 사용하고 있는 지 여부를 확인하는 방법의 하나로서, 서버는 사용자가 접속하는 IP(Internet Protocol) 주소를 기반으로 하여 3G 네트워크에 접속하여 사용하고 있는지, 또는 와이파이 네트워크에 접속하여 사용하고 있는지를 구분할 수 있다.
즉, 종래 기술로는 3G 네트워크를 제공하는 사업자로부터 3G 네트워크용으로 할당된 특정 IP 주소 목록을 제공받아 이를 접속한 휴대용 단말의 IP 주소와 비교함으로써 3G 네트워크 접속 여부를 확인할 수가 있다. 그러나, 이러한 종래의 기술에서는 3G 네트워크 사업자가 상기 IP 주소 목록을 제공해 주지 않으면 휴대용 단말의 네트워크 접속 상태를 식별할 방법이 전혀 없게 된다.
또한, 상기 IP 주소 목록을 3G 네트워크 사업자로부터 제공받았다 할 지라도 해당 네트워크 사업자는 종종 할당된 IP 주소 목록을 여러가지 이유에 따라 변경할 수 있으며, 이 경우 변경 즉시 업데이트된 주소 목록을 3G 네트워크 사업자로부터 제공받지 않게 되면, 3G 네트워크 접속 여부 식별에 오류가 발생할 가능성이 높다.
뿐만 아니라, 3G 네트워크 사업자로부터 제공받는 IP 주소 목록에 의존하는 경우, 사업자가 3G 네트워크 외에 와이브로(Wibro), LTE 등의 4G 네트워크 등과 같이 새로운 종류의 무선 네트워크를 서비스하고자 하는 경우에는 사업자에게 할당된 IP 주소 목록을 변경할 가능성이 상당히 높으므로 이에 대한 대응이 느릴 수밖에 없는 문제점이 있다.
한편, 이러한 접속 네트워크를 식별하는 기술로서 대한민국공개특허공보 제2008-0036538호 "무선 장치에서 특정 네트워크 식별자들을 저장하기 위한 장치 및 관련 방법(리서치 인 모션 리미티드)"(문헌 1)에는 무선 네트워크 식별자를 저장하고 이를 통해 특정 유형의 무선 네트워크를 식별하는 방법이 개시된다. 그러나, 이러한 방법은 휴대용 단말에서의 식별 방법에 해당하므로 이를 서버측에 통보하지 않고는 서버측에서는 해당 단말의 접속 네트워크 식별이 불가능하다는 문제가 있다.
따라서, 각 네트워크 사업자의 도움이 없이도 각 사용자 단말의 접속 네트워크 종류를 서버에서 확인할 수 있는 방법의 필요성이 요구된다.
[문헌 1] 대한민국공개특허공보 제2008-0036538호 무선 장치에서 특정 네트워크 식별자들을 저장하기 위한 장치 및 관련 방법(리서치 인 모션 리미티드) 2008.04.28
본 발명의 목적은 네트워크 사업자로부터의 정보 제공 없이도 TCP 플로우에서의 라운드 트립 시간(RTT)을 이용하여 사용자 단말의 접속 네트워크 정보를 식별할 수 있는 사용자 단말의 접속 네트워크 식별 장치, 방법 및 컴퓨터 판독 가능한 기록 매체를 제공함에 있다.
또한, 본 발명의 다른 목적은 네트워크 사업자로부터의 정보 제공 없이도 사용자 단말의 3G 네트워크를 통한 접속을 높은 신뢰도로 식별할 수 있는 사용자 단말의 접속 네트워크 식별 장치, 방법 및 컴퓨터 판독 가능한 기록 매체를 제공함에 있다.
상기한 바와 같은 본 발명의 목적을 달성하고, 후술하는 본 발명의 특유의 효과를 달성하기 위한, 본 발명의 특징적인 구성은 하기와 같다.
본 발명의 일 태양에 따르면, 사용자 단말과 서버간에 송수신되는 복수의 패킷들을 캡쳐하는 패킷 캡쳐부; 상기 패킷 캡쳐부를 통해 캡쳐된 상기 각 패킷의 출발지 주소, 목적지 주소 및 포트 번호를 참조하여 상기 캡쳐된 패킷들을 개별 플로우(flow)로 분류하는 플로우 분류부; 상기 플로우 분류부에서 동일한 플로우로 분류된 패킷들로부터 라운드 트립 시간(RTT) 값을 판별하는 RTT 산출부; 및 상기 RTT 산출부로부터 산출된 상기 RTT 값이 설정된 기준값을 초과할 경우, 상기 플로우 상에서 상기 서버에서 수신된 패킷에 포함된 출발지 주소를 제1 통신 네트워크를 통해 접속하는 주소로 판별하는 접속 네트워크 판별부를 포함한다.
바람직하게는, 상기 기준값은 25ms 내지 60ms 사이에서 설정된다.
바람직하게는, 상기 제1 통신 네트워크는 3G 이동 통신 네트워크이다.
바람직하게는, 상기 플로우는 TCP 플로우(Transmission control protocol)이다.
바람직하게는, 상기 RTT 산출부는 상기 동일한 플로우 상에서 상기 서버에서 송신하는 'SYN+ACK 패킷'의 송신 시간과 상기 송신한 'SYN+ACK 패킷'에 대응하여 수신하는 'ACK 패킷'간의 수신 시간차를 상기 RTT 값으로 결정한다.
바람직하게는, 상기 접속 네트워크 판별부는 동일한 주소를 갖는 상기 사용자 단말로부터 수신된 복수의 TCP 플로우에 대해, 상기 기준값을 초과하는 경우의 개수와 상기 기준값을 초과하지 않는 경우의 개수를 비교하여, 기준값을 초과하는 경우의 개수가 더 많을 경우, 상기 출발지 주소를 상기 제1 통신 네트워크를 통해 접속하는 주소로 판별한다.
바람직하게는, 상기 접속 네트워크 판별부는 동일한 주소를 갖는 상기 사용자 단말로부터 수신된 복수의 TCP 플로우에 대해, 상기 기준값을 초과하는 경우의 개수와 상기 기준값을 초과하지 않는 경우의 개수의 합이 미리 설정된 개수 이하일 경우에는 상기 출발지 주소를 상기 제1 통신 네트워크의 목록에서 제외시킨다.
바람직하게는, 상기 장치는 상기 TCP 플로우를 통해 요청되는 패킷의 헤더 정보에서 사용자 에이전트(UA) 항목을 검사하고, 상기 검사 결과 상기 UA 항목이 상기 제1 통신 네트워크를 사용하는 운영체제가 아닐 경우, 상기 출발지 주소를 상기 제1 통신 네트워크의 목록에서 제외시키는 UA 검사부를 더 포함한다.
바람직하게는, 상기 TCP 플로우를 통해 요청되는 패킷은, 상기 'ACK 패킷'의 전송 이후에, 상기 사용자 단말에서 상기 서버로 전송하는 'HTTP 요청 패킷'이다.
바람직하게는, 상기 장치는 상기 각 TCP 플로우 상에서의 상기 사용자 단말의 출발지 주소를 네트워크 주소로 변환시킴으로써, 상기 접속 네트워크 판별부에서 상기 네트워크 주소에 대해 접속 네트워크를 판별하도록 하는 네트워크 주소 변환부를 더 포함한다.
바람직하게는, 상기 사용자 단말의 출발지 주소는 32비트의 IP(Internet Protocol) 주소로 구성되며, 상기 네트워크 주소는 상기 32비트 중에서 상위 24비트 내지 31비트 중에서 선택된 비트를 사용한다.
바람직하게는, 상기 장치는 Geo IP 모듈을 이용하여 상기 사용자 단말의 출발지 주소가 해외로부터 수신된 주소인지 여부를 판단하고, 상기 판단 결과 해외로부터 수신된 주소일 경우에는 상기 사용자 단말의 출발지 주소를 상기 제1 통신 네트워크의 목록에서 제외시키는 해외 IP 판별부를 더 포함한다.
바람직하게는, 상기 장치는 상기 서버의 외부로부터 수신하여 저장된 망 사업자 IP 목록 데이터베이스를 참조하여 추가로 상기 사용자 단말의 출발지 주소에 대한 망사업자를 판별하는 망 사업자 분류부를 더 포함한다.
본 발명의 다른 태양에 따르면, 패킷 캡쳐부에서, 사용자 단말과 서버간에 송수신되는 복수의 패킷들을 캡쳐하는 단계; 플로우 분류부에서 상기 패킷 캡쳐부를 통해 캡쳐된 상기 각 패킷의 출발지 주소, 목적지 주소 및 포트 번호를 참조하여 상기 캡쳐된 패킷들을 개별 플로우(flow)로 분류하는 단계; RTT 산출부에서 상기 플로우 분류부를 통해 동일한 플로우로 분류된 패킷들로부터 라운드 트립 시간(RTT) 값을 판별하는 단계; 및 접속 네트워크 판별부에서 상기 RTT 산출부를 통해 산출된 상기 RTT 값이 설정된 기준값을 초과할 경우, 상기 플로우 상에서 상기 서버에 수신된 패킷에 포함된 출발지 주소를 제1 통신 네트워크를 통해 접속하는 주소로 판별하는 단계를 포함한다.
한편, 상기 사용자 단말의 접속 네트워크 식별 방법을 제공받기 위한 정보는 서버 컴퓨터로 읽을 수 있는 기록 매체에 저장될 수 있다. 이러한 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있도록 프로그램 및 데이터가 저장되는 모든 종류의 기록매체를 포함한다. 그 예로는, 롬(Read Only Memory), 램(Random Access Memory), CD(Compact Disk), DVD(Digital Video Disk)-ROM, 자기 테이프, 플로피 디스크, 광데이터 저장장치 등이 있으며, 또한 케리어 웨이브(예를 들면, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함된다. 또한, 이러한 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
상술한 바와 같이, 본 발명에 따르면 서버와 사용자 단말간의 TCP 플로우에서의 라운드 트립 시간(RTT)을 이용하여 사용자 단말의 접속 네트워크 정보를 식별함으로써 네트워크 사업자로부터의 정보 제공 없이 네트워크 접속 정보를 식별하는 것이 가능한 장점이 있다.
또한, 본 발명에 따르면 네트워크 사업자로부터 네트워크의 접속 IP 주소 목록을 빠르게 업데이트 받지 못하더라도 신뢰도 높은 해당 네트워크 접속 IP의 데이터베이스를 구축할 수 있는 장점이 있다.
또한, 본 발명에 따르면 TCP 플로우 상에서의 HTTP 요청 헤더에서 UA 항목의 운영체제를 확인함으로써 보다 신뢰도가 높은 네트워크 접속 IP의 판별이 가능해지는 장점이 있다.
도 1a 및 1b는 일반적인 휴대 단말에서 접속 네트워크의 종류와 관련된 안내 메시지를 나타내는 도면이다.
도 2는 TCP 플로우에 따른 단말과 서버간 신호 송수신 절차를 나타내는 도면이다.
도 3은 전체 패킷과 3G망 패킷에 대한 RTT 분산을 나타내는 그래프이다.
도 4는 이동 통신사간의 RTT의 CDF를 비교한 그래프이다.
도 5는 전체 패킷과 3G망 패킷에 대한 RTT의 CDF를 비교한 그래프이다.
도 6은 본 발명의 일실시예에 따른 사용자 단말의 접속 네트워크 식별 장치에 대한 세부 구성을 나타내는 블록도이다.
도 7은 본 발명의 일실시예에 따른 사용자 단말의 접속 네트워크 식별 절차를 나타내는 흐름도이다.
도 8은 본 발명의 다른 실시예에 따른 사용자 단말의 접속 네트워크 식별 절차를 나타내는 흐름도이다.
도 9는 송수신 패킷을 TCP 플로우에 따라 분류하기 위한 패킷 캡쳐 화면을 나타내는 도면이다.
도 10은 패킷 캡쳐 화면에서의 UA 항목 검사를 나타내는 도면이다.
도 11은 본 발명의 실시예에 따라 식별된 사용자 단말과 실제 네트워크의 IP 비교를 나타낸 도면이다.
후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는 적절하게 설명된다면 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.
한편, 후술하는 상세한 설명에서는 본 발명이 '모바일 단말'에 적용되는 것으로 설명하고 있으나, 본 발명은 모바일 단말의 대표적인 스마트폰뿐만 아니라 본 발명의 기능을 제공할 수 있는 어떠한 단말기에도 적용될 수 있다. 예컨대, 휴대폰을 포함하여 노트북 컴퓨터(laptop computer), 디지털방송용 단말기, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 항법 장치 등 이동 단말기뿐만 아니라 컴퓨터, TV 등 고정 단말기를 포함하여 애플리케이션을 실행할 수 있는 모든 사용자 단말에 적용될 수 있으며, 적어도 하나의 무선 네트워크에 접속 가능한 단말에 적용하는 것이 바람직하다.
또한, 본 발명은 사용자 단말에서 접속하는 다양한 통신 네트워크들 중에서 3G 이동 통신 네트워크를 통한 접속을 식별하는 방법에 대해 설명한다. 그러나, 본 발명이 3G 이동 통신 네트워크의 식별에만 한정되는 것은 아니며, 어떠한 다른 이동 통신 네트워크를 식별하는 방법에 있어서도 본 발명에 따른 방법이 동일하게 적용될 수 있다.
또한, 본 발명에는 그 설명의 편의성을 위해 IP(Internet Protocol) 주소에 기초하여 바람직한 실시예들이 설명되고 있으나, 본 발명에서 사용되고 식별되는 네트워크 접속이 반드시 IP(Internet Protocol) 주소에 한정되는 것은 아니다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 바람직한 실시예들에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.
접속 네트워크 식별 개념
각 네트워크 사업자(예컨대, 3G 이동 통신 네트워크 사업자)는 해당 네트워크용 IP(Internet Protocol) 주소를 별도로 관리하는 것이 일반적이다. 예컨대, 관리의 편의를 위해 광랜, ADSL(Asymmetric Digital Subscriber Line), 케이블 등의 유선 네트워크에 할당하는 IP 주소와 3G 이동 통신 네트워크용 IP 주소를 서로 겹치지 않도록 설정한다.
따라서, 각 사용자 단말의 접속 IP 주소가 어떤 접속 네트워크를 통하여 접속되었는지를 확인하면, 향후 동일한 IP 주소를 이용하여 접속하는 사용자 단말은 모두 이전 접속 네트워크의 종류와 동일하다. 그러므로, 각 사용자 단말의 접속 IP 주소를 확인된 네트워크 종류와 함께 데이터베이스에 저장함으로써, 이후 접속하는 각 사용자 단말의 접속 네트워크 종류를 식별할 수가 있게 된다. 한편, 전술한 바와 같이 네트워크 사업자는 정기적 또는 비정기적으로 할당된 IP 주소를 변경하는 경우가 존재하므로, 본 발명의 일 실시예에 의해 저장하는 데이터베이스 역시 주기적 또는 비주기적으로 업데이트되는 것이 바람직하다.
도 2는 TCP(transmission control protocol) 플로우(flow)에 따른 단말과 서버간 신호 송수신 절차를 나타내는 도면이다. 도 2를 참조하면, 단말(client)(200)과 서버(server)(210) 간의 네트워크 접속시 도시된 바와 같은 TCP 연결 설정 절차가 수행된다.
즉, TCP는 신뢰성 있는 연결을 담당하기 때문에 단말(200)과 서버(210) 간에 본격적인 통신이 이루어지기 전에 소위 '3-way handshake'라는 미리 정의된 규칙이 사전에 선행된다. 그 첫 번째 단계로서 단말(200)에서는 서버(210)에 접속을 요청하는 'SYN 패킷(동기화 메시지)'을 전송(S201)한다. 이때, 서버(210)에서는 상기 단말(200)로부터 상기 'SYN 패킷'을 정상적으로 수신할 경우, 이에 대한 응답으로 접속 요청을 수락한다는 'SYN+ACK 패킷'(동기 및 확인 메시지)'을 상기 해당 단말(200)로 전송(S202)한다. 한편, 상기 단말(200)은 서버(210)로부터 상기 'SYN+ACK 패킷'을 수신시, 정상적으로 통신이 가능한 것을 확인하고 다시 상기 서버(210)로 'ACK 패킷'을 전송(S203)하게 되며, 이후로부터 연결이 이루어지고 본격적으로 데이터가 교환된다.
이때, 상기 서버(210)에서 상기 'SYN+ACK 패킷'의 송신 시간과 이에 대응하는 상기 'ACK 패킷'의 수신 시간의 차이를 라운드 트립 시간(RTT)이라 한다. 그런 다음, 상기 3-way handshake 규칙에 의해 단말(200)과 서버(210) 간의 정상적인 연결이 이루어졌으므로, 단말(200)에서는 서버(210)로 HTTP(Hypertext Transfer Protocol) 포맷의 특정 정보를 요청하는 'GET HTML 패킷'을 전송(S204)하게 되고, 상기 요청에 따라 서버(210)는 HTTP 응답으로서 요청된 해당 HTML 포맷의 정보를 상기 단말(200)로 전송(S205)한다. 이때, 상기 서버(210)에서는 부수적인 각종 기타 자원들(예컨대, 자바 스크립트(js), 캐스캐이딩 스타일 시트(css), 이미지(images) 등)을 추가적으로 단말(200)로 전송(S206)하게 된다.
한편, 상술한 바와 같은 3G 이동 통신 네트워크의 TCP 플로우에서 상기 RTT는 적어도 소정의 기준값 이상을 나타낸다. 따라서, 본 발명의 실시예에 따라 서버(210)에서 상기 TCP 플로우의 RTT를 확인함으로써 서버(210)에서의 접속 네트워크 식별이 가능하게 된다.
이하, 도 3 내지 도 5를 참조하여, 네트워크 종류에 따른 상기 RTT의 분포를 설명한다.
도 3은 전체 패킷과 3G망 패킷에 대한 RTT 분산을 나타내는 그래프이다. 보다 구체적으로, 상기 도 3에서 '전체 패킷'은 하루 동안 특정 인터넷 사이트로 유입되는 패킷 약 2억 5천개로부터 추출한 RTT 값을 나타내며(그 스케일은 가로축에 표시된 바와 같다) 그 분포 비율의 스케일은 좌측의 세로축과 같다. 특정 인터넷 사이트에 접속되는 네트워크 패킷의 절대 다수는 유선 네트워크(와이파이 포함)로부터 유입되므로 도 3에서 '전체 패킷'은 와이파이를 포함하는 유선 네트워크의 RTT를 나타내는 것으로 판단할 수 있을 것이다.
또한, '3G망 패킷'은 하루 동안 특정 모바일 사이트(휴대용 단말기에 최적화된 웹사이트)로 들어오는 패킷 중에, 네트워크 사업자가 제공한 3G용 IP를 통해 유입되는 패킷 1억개에서 추출한 RTT 값을 나타내며(그 스케일은 가로축에 표시된 바와 같다) 그 분포 비율의 스케일은 우측의 세로축과 같다. 이 중 네트워크 사업자로부터 제공된 데이터베이스의 정확도를 일정 부분 감안하더라도 도 3에서의 '3G망 패킷'은 3G 네트워크의 RTT를 나타내는 것으로 판단할 수 있을 것이다.
도 3을 참조하여 알 수 있는 사실은, 유선 네트워크를 대표하는 '전체 패킷'의 RRT는 도시된 바와 같이 25ms(t1) 이하에 대부분 분포되며, 3G 네트워크를 사용하는 패킷의 RTT(302)는 적어도 25ms(t1) 이상, 넉넉하게 판단해도 60ms(t2) 이상에서 분포된다는 점이다. 따라서, 상기 25ms(t1) 내지 60ms(t2) 사이의 특정 값을 설정하고, 해당 설정된 값을 기준으로 RTT에 따라 접속 네트워크를 구분함으로써 각 패킷의 접속 네트워크 종류를 구별할 수가 있다.
도 4는 3G 이동 통신 네트워크의 두 이동 통신사 간의 RTT의 CDF를 비교한 그래프이다. 도 4를 참조하면, 제1 통신사로부터 제공된 데이터베이스를 이용하여 제1 통신사에서 3G 네트워크로 할당된 IP 주소에서 접속된 패킷들의 RTT(401)와 제2 통신사로부터 제공된 데이터베이스를 이용하여 제2 통신사에서 3G 네트워크로 할당된 IP 주소에서 접속된 패킷들의 RTT(402)를 누적분포함수(cumulative distribution function, CDF)로 나타내면, 상기 두 통신사의 경우 모두 RTT가 최소값으로서 적어도 특정 값 tmin(예컨대, 30ms) 이상을 가지게 됨을 알 수 있다. 즉, 도시된 바와 같이 3G 이동 통신 네트워크의 통신사들은 TCP 플로우에서 모두 tmin 이상의 RTT를 가지게 됨을 알 수 있다.
도 5는 도 3에서 도시된 '전체 패킷'과 '3G망 패킷'의 RTT에 대한 CDF를 비교한 그래프이다. 도 5를 참조하면, '전체 패킷'의 RTT 중에서 90%이상이 30ms 미만이며, '3G망 패킷'의 RTT는 대부분 30ms 이상임을 알 수 있다. 따라서, 서버에서 각 수신 패킷의 TCP 플로우의 RTT를 검사하여, 기준값(예컨대 30ms)(503) 미만의 패킷에 대해서는 3G 네트워크를 통한 접속이 아닌 것으로 결정할 수 있다. 즉, 전체 패킷의 단말 IP 중에서 RTT가 기준값(503) 미만인 패킷의 IP를 제외함으로써 3G 네트워크를 통한 접속 단말의 IP를 식별하여 데이터베이스화할 수 있다.
한편, 상기 도 5에서 전체 패킷 중 RTT가 30ms를 초과하는 약 10% 정도의 패킷들은 해외에서 접속된 패킷일 수 있다. 즉, 3G 이동 통신 네트워크를 통한 접속이 아니더라도 해외로부터 접속된 패킷의 경우 그 속도가 늦어 RTT가 30ms를 초과할 수 있다. 따라서, 후술하는 본 발명의 실시예에 따라 상기 해외 접속 패킷을 추가로 식별하여 필터링 하는 것이 바람직하다.
접속 네트워크 식별 장치
도 6은 본 발명의 일실시예에 따른 사용자 단말의 접속 네트워크 식별 장치에 대한 세부 구성을 나타내는 블록도이다. 도 6을 참조하면, 본 발명의 실시예에 따른 사용자 단말에 대한 접속 네트워크 식별 장치(600)는 패킷 캡쳐부(610), 플로우 분류부(620), RTT 산출부(630) 및 접속 네트워크 판별부(640) 등을 포함하여 구성될 수 있다. 이때, 상기 RTT 판별부(630)를 통해 최종적으로 판별된 3G 네트워크 접속 IP의 정보는 네트워크 IP 정보 데이터베이스(680)에 저장된다.
한편, 본 발명의 실시예에 따른 사용자 단말에 대한 접속 네트워크 식별 장치(600)는 접속 네트워크 식별에 대한 신뢰도를 더 높이기 위해 부가 기능부(650)를 더 포함할 수 있으며, 상기 부가 기능부(650)는 선택적으로 UA(User Agent) 검사부(651), 네트워크 주소 변환부(652), 해외 IP 판별부(653) 및 망 사업자 분류부(654)를 더 포함할 수 있다.
먼저, 패킷 캡쳐부(610)는 서버로 수신되는 다수의 패킷들을 캡쳐한다. 이때, 가능하면 사용자의 TCP 접속이 많은 서버에서 패킷을 캡쳐함으로써 정보 분석에 대한 신뢰도를 높이는 것이 바람직하다. 한편, 후술하는 본 발명의 일 실시예에서 사용자 에이전트(User Agent; 이하, UA라 한다.) 검사를 추가로 수행하는 경우에는 수신된 전체 패킷을 캡쳐하는 것이 바람직하다. 반면, 후술하는 실시예에서 UA 검사를 하지 않는 경우에는 각 패킷 당 TCP 헤더(header) 부분(약 60 바이트(bytes) 이상)까지만 캡쳐하여 분석하는 것도 가능하다.
이와 같이, 서버에서 수신된 패킷을 패킷 캡쳐부(610)에서 캡쳐하면, 플로우 분류부(620)에서는 상기 캡쳐된 패킷을 개별 플로우(이하, TCP 플로우를 예로서 설명한다.)로 분류한다. 즉, 도 9를 참조하면, 수신된 패킷의 정보에서 각 패킷의 출발지(즉, 소스 주소(source address))(901), 목적지 주소(destination address)(902) 및 각각의 포트(port) 정보(903, 904)를 참조하여, 사용자 간에 하나의 TCP 연결을 통해서 송수신하는 모든 패킷은 동일한 TCP 플로우에 속한다고 정의한다.
예컨대, 도 9에 도시된 바와 같이, 클라이언트와 서버 사이에서 IP 주소가 '211.246.72.136'이고 포트 번호 '18385'를 이용한 클라이언트와, IP 주소가 '202.131.29.83'이고 포트 번호 '80'을 이용한 서버 사이에서 하나의 TCP 연결을 통해서 송수신되는 패킷들은 하나의 TCP 플로우에 속하는 것으로 간주하는 것이 바람직하다.
따라서, 도시된 패킷 분석 툴의 캡쳐 화면에서 각 라인에 해당하는 패킷들의 출발지 주소, 목적지 주소 및 포트 정보는 동일함을 알 수 있다. 즉, 하나의 TCP 플로우 상에서의 패킷 전송이 된다. 예컨대, 제1 라인인 '34311'번 패킷, 제3 라인인 '34450' 패킷 및 제4 라인인 '34604'번 패킷 등은 출발지 주소, 목적지 주소 및 각각의 포트 번호들이 동일하므로 동일한 TCP 플로우상에서 단말로부터 서버로 전송하는 패킷들임을 알 수 있다. 또한, 나머지 라인들은 반대로 동일한 TCP 플로우상에서 서버로부터 단말로 전송하는 패킷들임을 알 수 있다.
다음으로, RTT 산출부(630)에서는 상기 플로우 분류부(620)에서 동일한 TCP 플로우로 분류된 패킷들 중에서 상술한 바와 같이 'SYN+ACK 패킷'의 송신 시간과 'ACK 패킷'의 수신 시간 차를 계산함으로써 RTT 값을 산출하게 된다.
즉, 상기 도 9에서, 'Info' 필드를 확인하면, 상기 제2 라인은 도 2의 TCP 플로우 상에서의 'SYN+ACK 패킷'(S202)이며, 제3 라인은 도 2의 TCP 플로우 상에서의 'ACK 패킷'(S203)임을 알 수 있다. 따라서, 제2 라인의 패킷 수신 시간 35.504363초와 제3 라인의 패킷 수신 시간 35.623739초의 시간 차가(즉, 119.396ms) RTT 값이 된다.
이와 같이, RTT 산출부(630)를 통해 각 TCP 플로우의 RTT 값이 산출되면, 접속 네트워크 판별부(640)에서는 상기 산출된 RTT 값으로부터 해당 TCP 플로우를 구성한 패킷의 접속 네트워크의 종류를 결정한다. 이때, 미리 기준값을 설정하고, 상기 기준값을 중심으로 산출된 RTT 값과 비교함으로써 해당 패킷에 대한 IP 주소의 접속 네트워크를 결정한다.
상기 기준값은 상술한 바와 같이 3G 이동 통신 네트워크의 경우 25ms 내지 60ms 사이의 값 중에서 설정하는 것이 바람직하다. 따라서, 상기 설정된 기준값을 초과하는 RTT 값을 갖는 TCP 플로우는 3G 이동 통신 네트워크를 이용하는 TCP 플로우로 간주하고, 반면 상기 설정된 기준값을 넘지 않는 RTT 값을 갖는 TCP 플로우는 3G 이동 통신 네트워크를 이용하지 않는 TCP 플로우로 간주할 수 있다.
또한, 클라이언트(즉, 단말)의 IP 마다 RTT 값에 기초하여 3G 이동 통신 네트워크로 간주된 TCP 플로우의 개수와 아닌 경우의 개수를 비교해서 3G 이동 통신 네트워크로 간주된 TCP 플로우의 개수가 더 많은 경우, 해당 클라이언트 IP는 3G 이동 통신 네트워크를 접속 네트워크로 하는 IP로 결정하는 것이 바람직하다.
또한, 본 발명의 실시예에 따라 RTT 값이 상대적으로 큰 해외 접속 단말의 IP가 3G 이동 통신 네트워크를 이용하는 IP로 오분류되는 것을 방지하기 위해, 상기 각 IP에서 3G 이동 통신 네트워크로 분류된 TCP 플로우의 개수와 3G 이동 통신 네트워크가 아닌 것으로 분류된 TCP 플로우의 개수의 합이 일정 개수 이하인 경우, 즉 특정 IP 주소를 통해 접속되는 빈도가 매우 낮은 경우, 에는 3G 이동 통신 네트워크의 분류 목록에서 제외시키는 것이 바람직하다.
예컨대, RTT 값이 30ms 이상인 패킷에 대해 접속 네트워크를 3G 이동 통신 네트워크로 결정하는 경우, 상기 도 9의 제2 라인 및 제3 라인의 해당 패킷은 RTT 값이 30ms를 초과하므로 접속 네트워크가 3G 이동 통신 네트워크라고 판단하게 된다.
이와 같이, 접속 네트워크 판별부(640)에서 해당 패킷에 대한 접속 네트워크가 결정되면, 서버에서 수신한 상기 패킷에 대한 출발지 IP 주소와 결정된 네트워크 종류 정보를 함께 매핑하여 네트워크 IP 정보 데이터베이스(680)에 저장한다.
예컨대, 상기 도 9의 제2 라인 및 제3 라인으로부터 서버에서 수신된 해당 패킷에 대한 출발지 IP 주소인 '211.246.72.136'은 3G 이동 통신 네트워크를 통해 접속하는 IP 주소로 판단하고, 이를 상기 네트워크 IP 정보 데이터베이스(680)에 저장한다. 따라서, 상기 네트워크 IP 정보 데이터베이스(680)에는 3G 이동 통신 네트워크를 통해 접속하는 모든 IP 주소들의 목록이 저장될 수 있다.
한편, 본 발명의 다른 실시예에 따라 상기 부가 기능부(650)를 통해 상기 절차에서 추가적인 필터링을 수행함으로써 보다 신뢰도가 높은 접속 네트워크 식별이 가능하다.
즉, 부가 기능부(650)의 UA 검사부(651)에서는 특정 TCP 플로우를 통해서 요청되는 HTTP 요청 메시지(S204)의 헤더 정보에서 UA 항목을 검사하고, 상기 UA 항목에서 3G 이동 통신 네트워크를 사용하는 운영체제가 포함되어 있는지를 확인한다. 만약, 상기 확인 결과 3G 이동 통신 네트워크를 사용하는 운영체제가 아닌 경우에는, 3G 통신 네트워크 IP 분류에서 필터링하여 제외시키는 것이 바람직하다. 즉, 상기에서 RTT 값 산출 결과 30ms 이상인 경우라도, 해당 단말의 운영체제가 예컨대 '윈도우 XP'와 같이 3G 이동 통신 네트워크에 접속할 수 없는 운영체제로 UA 항목의 검사를 통해 판명된 경우, 상기 해당 단말이 접속한 네트워크는 3G 이동 통신 네트워크가 아닐 가능성이 상당히 높다. 따라서, 상기 UA 검사부(651)에서는 패킷의 헤더 정보 확인을 통해 추가적인 필터링을 할 수 있다.
예컨대, 도 10을 참조하면, 제4 라인(즉, HTTP 요청 메시지(S204))의 패킷의 헤더 정보(1000) 중에서 UA 항목(1001)을 확인해보면, 'iphone'이라고 표시되어 있는 것을 알 수 있다. 상기 해당 UA의 운영체제는 3G 이동 통신 네트워크를 지원하는 운영체제이므로 3G 이동 통신 네트워크의 분류에서 제외시키지 않는 것이 바람직하다. 그러나, 반면 상기 UA 항목(1001)이 3G 이동 통신 네트워크를 지원하지 않는 운영체제일 경우 해당 패킷은 3G 이동 통신 네트워크를 통해 전송되지 않은 패킷이므로, 상기 해당 패킷의 IP 주소는 우선적으로 필터링하여 3G 이동 통신 네트워크의 분류에서 제외시킨다. 이렇게 함으로써, 3G 통신 네트워크에 대한 IP 분류의 정확도를 높일 수가 있게 된다.
또한, 본 발명의 또 다른 실시예에 따라 네트워크 주소 변환부(652)에서는 상기 각 TCP 플로우의 클라이언트(즉, 단말)의 IP 주소를 네트워크 주소로 변환시켜 접속 네트워크를 판별하게 된다.
보다 구체적으로 설명하면, 32 비트(bits)로 구성된 IP 주소에서 상위 24비트~31비트 중에서 선택된 비트만을 사용하여 해당 TCP 플로우의 클라이언트 IP 주소로 설정할 수 있다. 예컨대, TCP 플로우 상에서의 32비트로 된 단말 IP 주소가 '211.246.72.136'일 경우, 상위 24 비트인 '211.246.72'을 해당 TCP 플로우의 단말 IP 주소로 설정하고, 상위 24 비트가 동일한 모든 IP 주소는 모두 동일한 접속 네트워크로 판별할 수 있다.
이와 같이 설정하는 이유는, 네트워크 사업자들이 동일한 네트워크에 대한 관리의 편의를 위해 동일한 네트워크 주소에 속한 IP 주소 전체에 대해서는 동일한 네트워크에 할당하기 때문이다. 상기 네트워크 주소 변환부(652)의 적용은 캡쳐한 패킷의 수가 적을 경우에 보다 효과적으로 사용할 수 있다.
또한, 본 발명의 또 다른 실시예에 따라 해외 IP 판별부(653)에서는 미리 구축된 Geo(지역별) IP 주소를 포함하는 Geo IP 모듈(660)을 이용하여 수신된 패킷이 해외를 통해 수신된 IP일 경우에는, 3G 이동 통신 네트워크 목록에서 제외시킬 수 있다.
아울러, 본 발명의 또 다른 실시예에 따라 망 사업자 분류부(654)에서는 한국 인터넷 진흥원(KISA) 등과 같이 외부로부터 수신하여 저장된 망 사업자 IP 목록 데이터베이스(670)를 참조하여 분류된 3G 접속 네트워크에 대한 망사업자를 추가로 판별할 수 있다.
이와 같이, 해당 단말 IP 주소에 대한 접속 네트워크 정보 및/또는 망사업자 정보가 결정되면, 상기 결정된 정보는 상술한 바와 같이 네트워크 IP 정보 데이터베이스(680)에 저장되어, 각종 서비스에 이용될 수 있다.
접속 네트워크 식별 방법
도 7은 본 발명의 일 실시예에 따른 사용자 단말의 접속 네트워크 식별 절차를 나타내는 흐름도이다. 도 7을 참조하면, 서버에서 송수신 패킷을 캡쳐(S701)한다. 그런 다음, 상기 캡쳐된 패킷들 중에서 동일한 TCP 연결의 패킷들(즉, 출발지 주소와 목적지 주소 및 각각의 포트 번호 정보 등이 동일한 패킷들)을 동일한 TCP 플로우로 분류(S702)한다.
그런 다음, 각 TCP 플로우 내에서의 RTT 값을 산출하여, 상기 산출된 RTT 값으로부터 3G 이동 통신 네트워크에 접속하는 IP를 판별(S703)한다. 상기 판별된 결과는 데이터베이스에 저장(S704)되어 각종 서비스 정책 및 서비스 제공에 활용될 수 있다.
도 8은 본 발명의 다른 실시예에 따른 사용자 단말의 접속 네트워크 식별 절차를 나타내는 흐름도이다. 도 8을 참조하면, 서버에서 송수신 패킷을 캡쳐(S801)한 후, 상술한 바와 같이 캡쳐된 패킷 중 동일한 TCP 연결의 패킷들을 동일한 TCP 플로우로 분류(S802)한다.
이때, 본 발명의 실시예에 따라 각 패킷의 HTTP 요청 헤더에서 UA 항목을 검사(S803)한다. 상기 검사 결과 UA 항목의 내용이 3G 이동 통신 네트워크 접속을 지원하는 운영체제가 아닐 경우에는 해당 IP를 3G 이동 통신 네트워크의 IP 분류에서 제외(S805)시킨다.
한편, 상기 캡쳐된 전체 패킷의 수가 설정된 값(N)보다 작을 경우(S806)에는 상술한 바와 같이 각 TCP 플로우의 클라이언트 IP 주소를 네트워크 주소로 변환(S807)하여 접속 네트워크를 결정하는 것이 바람직하다.
다음으로, 각 TCP 플로우의 RTT를 산출(S808)하고, 상기 산출된 RTT 값이 기설정된 값(Tth)보다 작을 경우에는 해당 TCP 플로우를 3G 이동 통신 네트워크를 이용하지 않는 TCP 플로우로 결정(S812)한다. 반면, 상기 산출된 RTT 값이 기설정된 값(Tth)보다 클 경우에는 해당 TCP 플로우를 3G 이동 통신 네트워크를 이용하는 TCP 플로우로 결정(S810)한다. 이때, 선택적으로 상술한 바와 같이 다양한 방법(예컨대, 3G 이동 통신 네트워크로 분류된 TCP 플로우의 개수와 아닌 플로우의 개수가 일정 개수 이하인 경우, Geo IP를 이용하여 해외로부터의 IP로 판별되는 경우 등)을 통해 해외 IP의 경우를 추가로 제외(S811)시킨다.
또한, 외부로부터 수신한 망 사업자 IP 주소 목록을 데이터베이스에 저장하고, 이를 참조하여 망사업자를 추가로 구분(S813)하게 된다.
한편, 상기 각 처리 절차는 도시된 바와 같이 진행될 수도 있으며, 일부 처리 절차는 다른 절차보다 우선적으로 또는 이후에 처리되도록 변경하여 적용될 수도 있다. 또한, 본 발명의 실시예에 따라 상기 각 절차들 중에서 일부 절차는 생략되거나 다른 절차들이 추가로 부가될 수도 있다.
도 11은 본 발명의 실시예에 따라 식별된 사용자 단말과 네트워크 사업자로부터 제공받은 데이터베이스 간의 IP 주소 비교를 나타낸 도면이다. 도 11을 참조하면, 본 발명에 따라 3G 이동 통신 네트워크를 이용하는 것으로 판별된 IP 주소(1102)의 경우, 실제 네트워크 사업자로부터 제공받은 해당 3G 이동 통신 네트워크에 대한 접속 IP 주소(1101)에 모두 포함됨으로써 본 발명에 따른 결과의 신뢰도가 높음을 알 수 있다.
본 발명에 따른 실시예들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(Floptical disk)와 같은 자기-광 매체(megneto-optical media) 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동되도록 구성될 수 있으며, 그 역도 마찬가지다.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.
100 : 휴대용 단말 101, 102 : 알림창
200 : 단말 210 : 서버
301 : 전체 패킷 302 : 3G 망 패킷
401 : 제1 통신사 402 : 제2 통신사
501 : 전체 패킷 502 : 3G 망 패킷
503 : 기준값
600 : 접속 네트워크 식별 장치 610 : 패킷 캡쳐부
620 : TCP 플로우 분류부 630 : RTT 산출부
640 : 접속 네트워크 판별부 650 : 부가 기능부
651 : UA 검사부 652 : 네트워크 주소 변환부
653 : 해외 IP 판별부 654 : 망 사업자 분류부
660 : Geo IP 모듈
670 : 망 사업자 IP 목록 데이터베이스
680 : 네트워크 IP 정보 데이터베이스

Claims (27)

  1. 사용자 단말과 서버간에 송수신되는 복수의 패킷들을 캡쳐하는 패킷 캡쳐부;
    상기 패킷 캡쳐부를 통해 캡쳐된 상기 각 패킷의 출발지 주소, 목적지 주소 및 포트 번호를 참조하여 상기 캡쳐된 패킷들을 개별 플로우(flow)로 분류하는 플로우 분류부;
    상기 플로우 분류부에서 동일한 플로우로 분류된 패킷들로부터 라운드 트립 시간(RTT) 값을 판별하는 RTT 산출부; 및
    상기 RTT 산출부로부터 산출된 상기 RTT 값이 설정된 기준값을 초과할 경우, 상기 플로우 상에서 상기 서버에서 수신된 패킷에 포함된 출발지 주소를 제1 통신 네트워크를 통해 접속하는 주소로 판별하는 접속 네트워크 판별부를 포함하는, 사용자 단말의 접속 네트워크 식별 장치.
  2. 청구항 1에 있어서, 상기 기준값은 25ms 내지 60ms 사이에서 설정되는, 사용자 단말의 접속 네트워크 식별 장치.
  3. 청구항 1에 있어서, 상기 제1 통신 네트워크는 3G 이동 통신 네트워크인, 사용자 단말의 접속 네트워크 식별 장치.
  4. 청구항 1에 있어서, 상기 플로우는 TCP 플로우(Transmission control protocol)인, 사용자 단말의 접속 네트워크 식별 장치.
  5. 청구항 1에 있어서, 상기 RTT 산출부는,
    상기 동일한 플로우 상에서 상기 서버에서 송신하는 'SYN+ACK 패킷'의 송신 시간과 상기 송신한 'SYN+ACK 패킷'에 대응하여 수신하는 'ACK 패킷'간의 수신 시간차를 상기 RTT 값으로 결정하는, 사용자 단말의 접속 네트워크 식별 장치.
  6. 청구항 1에 있어서, 상기 접속 네트워크 판별부는,
    동일한 주소를 갖는 상기 사용자 단말로부터 수신된 복수의 플로우에 대해, 상기 기준값을 초과하는 경우의 개수와 상기 기준값을 초과하지 않는 경우의 개수를 비교하여 기준값을 초과하는 경우의 개수가 더 많을 경우, 상기 서버에서 수신된 패킷의 출발지 주소를 상기 제1 통신 네트워크를 통해 접속하는 주소로 판별하는, 사용자 단말의 접속 네트워크 식별 장치.
  7. 청구항 1에 있어서, 상기 접속 네트워크 판별부는,
    동일한 주소를 갖는 상기 사용자 단말로부터 수신된 복수의 플로우에 대해, 상기 기준값을 초과하는 경우의 개수와 상기 기준값을 초과하지 않는 경우의 개수의 합이 미리 설정된 개수 이하일 경우에는 상기 서버에서 수신된 패킷의 출발지 주소를 상기 제1 통신 네트워크의 목록에서 제외시키는, 사용자 단말의 접속 네트워크 식별 장치.
  8. 청구항 5에 있어서, 상기 장치는,
    상기 플로우를 통해 요청되는 패킷의 헤더 정보에서 사용자 에이전트(UA) 항목을 검사하고, 상기 검사 결과 상기 UA 항목이 상기 제1 통신 네트워크를 사용하는 운영체제가 아닐 경우, 상기 출발지 주소를 상기 제1 통신 네트워크의 목록에서 제외시키는 UA 검사부를 더 포함하는, 사용자 단말의 접속 네트워크 식별 장치.
  9. 청구항 8에 있어서, 상기 플로우를 통해 요청되는 패킷은, 상기 'ACK 패킷'의 전송 이후에, 상기 사용자 단말에서 상기 서버로 전송하는 'HTTP 요청 패킷'인, 사용자 단말의 접속 네트워크 식별 장치.
  10. 청구항 1에 있어서, 상기 장치는,
    상기 각 플로우 상에서의 상기 사용자 단말의 출발지 주소를 네트워크 주소로 변환시킴으로써, 상기 접속 네트워크 판별부에서 상기 네트워크 주소에 대해 접속 네트워크를 판별하도록 하는 네트워크 주소 변환부를 더 포함하는, 사용자 단말의 접속 네트워크 식별 장치.
  11. 청구항 10에 있어서, 상기 사용자 단말의 출발지 주소는 32비트의 IP(Internet Protocol) 주소로 구성되며, 상기 네트워크 주소는 상기 32비트 중에서 상위 24비트 내지 31비트 중에서 선택된 비트를 사용하는, 사용자 단말의 접속 네트워크 식별 장치.
  12. 청구항 1에 있어서, 상기 장치는,
    Geo IP 모듈을 이용하여 상기 사용자 단말의 출발지 주소가 해외로부터 수신된 주소인지 여부를 판단하고, 상기 판단 결과 해외로부터 수신된 주소일 경우에는 상기 사용자 단말의 출발지 주소를 상기 제1 통신 네트워크의 목록에서 제외시키는 해외 IP 판별부를 더 포함하는, 사용자 단말의 접속 네트워크 식별 장치.
  13. 청구항 1에 있어서, 상기 장치는,
    상기 서버의 외부로부터 수신하여 저장된 망 사업자 IP 목록 데이터베이스를 참조하여 추가로 상기 사용자 단말의 출발지 주소에 대한 망사업자를 판별하는 망 사업자 분류부를 더 포함하는, 사용자 단말의 접속 네트워크 식별 장치.
  14. 패킷 캡쳐부에서, 사용자 단말과 서버간에 송수신되는 복수의 패킷들을 캡쳐하는 단계;
    플로우 분류부에서, 상기 패킷 캡쳐부를 통해 캡쳐된 상기 각 패킷의 출발지 주소, 목적지 주소 및 포트 번호를 참조하여 상기 캡쳐된 패킷들을 개별 플로우(flow)로 분류하는 단계;
    RTT 산출부에서, 상기 플로우 분류부를 통해 동일한 플로우로 분류된 패킷들로부터 라운드 트립 시간(RTT) 값을 판별하는 단계; 및
    접속 네트워크 판별부에서, 상기 RTT 산출부를 통해 산출된 상기 RTT 값이 설정된 기준값을 초과할 경우, 상기 플로우 상에서 상기 서버에서 수신된 패킷에 포함된 출발지 주소를 제1 통신 네트워크를 통해 접속하는 주소로 판별하는 단계를 포함하는, 사용자 단말의 접속 네트워크 식별 방법.
  15. 청구항 14에 있어서, 상기 기준값은 25ms 내지 60ms 사이에서 설정되는, 사용자 단말의 접속 네트워크 식별 방법.
  16. 청구항 14에 있어서, 상기 제1 통신 네트워크는 3G 이동 통신 네트워크인, 사용자 단말의 접속 네트워크 식별 방법.
  17. 청구항 14에 있어서, 상기 플로우는 TCP 플로우(Transmission control protocol)인, 사용자 단말의 접속 네트워크 식별 방법.
  18. 청구항 14에 있어서, 상기 RTT 값을 판별하는 단계는,
    상기 동일한 플로우 상에서 상기 서버에서 송신하는 'SYN+ACK 패킷'의 송신 시간과 상기 송신한 'SYN+ACK 패킷'에 대응하여 수신하는 'ACK 패킷'간의 수신 시간차를 상기 RTT 값으로 결정하는, 사용자 단말의 접속 네트워크 식별 방법.
  19. 청구항 14에 있어서, 상기 주소로 판별하는 단계는, 동일한 주소를 갖는 상기 사용자 단말로부터 수신된 복수의 플로우에 대해, 상기 기준값을 초과하는 경우의 개수와 상기 기준값을 초과하지 않는 경우의 개수를 비교하여, 기준값을 초과하는 경우의 개수가 더 많을 경우, 상기 서버에서 수신된 패킷의 출발지 주소를 상기 제1 통신 네트워크를 통해 접속하는 주소로 판별하는, 사용자 단말의 접속 네트워크 식별 방법.
  20. 청구항 14에 있어서, 상기 주소로 판별하는 단계는,
    동일한 주소를 갖는 상기 사용자 단말로부터 수신된 복수의 플로우에 대해, 상기 기준값을 초과하는 경우의 개수와 상기 기준값을 초과하지 않는 경우의 개수의 합이 미리 설정된 개수 이하일 경우에는 상기 서버에서 수신된 패킷의 출발지 주소를 상기 제1 통신 네트워크의 목록에서 제외시키는, 사용자 단말의 접속 네트워크 식별 방법.
  21. 청구항 18에 있어서, 상기 방법은,
    사용자 에이전트(UA) 검사부에서 상기 플로우를 통해 요청되는 패킷의 헤더 정보로부터 UA 항목을 검사하고, 상기 검사 결과 상기 UA 항목이 상기 제1 통신 네트워크를 사용하는 운영체제가 아닐 경우, 상기 출발지 주소를 상기 제1 통신 네트워크의 목록에서 제외시키는 단계를 더 포함하는, 사용자 단말의 접속 네트워크 식별 방법.
  22. 청구항 21에 있어서, 상기 플로우를 통해 요청되는 패킷은, 상기 'ACK 패킷'의 전송 이후에, 상기 사용자 단말에서 상기 서버로 전송하는 'HTTP 요청 패킷'인, 사용자 단말의 접속 네트워크 식별 방법.
  23. 청구항 14에 있어서, 상기 방법은,
    네트워크 주소 변환부에서, 상기 각 플로우 상에서의 상기 사용자 단말의 출발지 주소를 네트워크 주소로 변환시킴으로써, 상기 접속 네트워크 판별부에서 상기 네트워크 주소에 대해 접속 네트워크를 판별하도록 하는, 사용자 단말의 접속 네트워크 식별 방법.
  24. 청구항 23에 있어서, 상기 사용자 단말의 출발지 주소는 32비트의 IP(Internet Protocol) 주소로 구성되며, 상기 네트워크 주소는 상기 32비트 중에서 상위 24비트 내지 31비트 중에서 선택된 비트를 사용하는, 사용자 단말의 접속 네트워크 식별 방법.
  25. 청구항 14에 있어서, 상기 방법은,
    해외 IP 판별부에서, Geo IP 모듈을 이용하여 상기 사용자 단말의 출발지 주소가 해외로부터 수신된 주소인지 여부를 판단하는 단계; 및
    상기 판단 결과 해외로부터 수신된 주소일 경우에는 상기 사용자 단말의 출발지 주소를 상기 제1 통신 네트워크의 목록에서 제외시키는 단계를 더 포함하는, 사용자 단말의 접속 네트워크 식별 방법.
  26. 청구항 14에 있어서, 상기 방법은,
    망 사업자 분류부에서, 상기 서버의 외부로부터 수신하여 저장된 망 사업자 IP 목록 데이터베이스를 참조하여 추가로 상기 사용자 단말의 출발지 주소에 대한 망사업자를 판별하는 단계를 더 포함하는, 사용자 단말의 접속 네트워크 식별 방법.
  27. 청구항 14 내지 청구항 26 중 어느 한 항의 방법을 실행하기 위한 프로그램이 기록되어 있는 것을 특징으로 하는 컴퓨터 판독 가능한 기록 매체.
KR1020110124832A 2011-11-28 2011-11-28 사용자 단말의 접속 네트워크 식별 장치, 방법 및 컴퓨터 판독 가능한 기록 매체 KR101272670B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020110124832A KR101272670B1 (ko) 2011-11-28 2011-11-28 사용자 단말의 접속 네트워크 식별 장치, 방법 및 컴퓨터 판독 가능한 기록 매체
JP2012259034A JP6209330B2 (ja) 2011-11-28 2012-11-27 ユーザ端末の接続ネットワーク識別装置、方法及びコンピュータ読み取り可能な記録媒体
US13/687,252 US8861532B2 (en) 2011-11-28 2012-11-28 Apparatus and method for identifying an access network of a networked terminal

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110124832A KR101272670B1 (ko) 2011-11-28 2011-11-28 사용자 단말의 접속 네트워크 식별 장치, 방법 및 컴퓨터 판독 가능한 기록 매체

Publications (2)

Publication Number Publication Date
KR20130058853A KR20130058853A (ko) 2013-06-05
KR101272670B1 true KR101272670B1 (ko) 2013-06-10

Family

ID=48694714

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110124832A KR101272670B1 (ko) 2011-11-28 2011-11-28 사용자 단말의 접속 네트워크 식별 장치, 방법 및 컴퓨터 판독 가능한 기록 매체

Country Status (3)

Country Link
US (1) US8861532B2 (ko)
JP (1) JP6209330B2 (ko)
KR (1) KR101272670B1 (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6033058B2 (ja) * 2012-11-29 2016-11-30 Kddi株式会社 通信路識別装置
US20140164640A1 (en) * 2012-12-11 2014-06-12 The Hong Kong University Of Science And Technology Small packet priority congestion control for data center traffic
US20140164641A1 (en) * 2012-12-11 2014-06-12 The Hong Kong University Of Science And Technology Congestion control for data center traffic
KR102049594B1 (ko) * 2013-10-04 2019-11-27 에스케이 텔레콤주식회사 패킷 왕복 시간을 이용한 테더링 서비스 제어장치 및 방법
JP5643449B1 (ja) 2014-02-03 2014-12-17 株式会社 ディー・エヌ・エー 端末装置に表示画面を表示させるサーバ及び方法
KR101602885B1 (ko) * 2015-01-26 2016-03-11 한국인터넷진흥원 네트워크 트래픽의 페이로드 암호화 탐지시스템 및 방법
JP6459590B2 (ja) * 2015-02-12 2019-01-30 日本電気株式会社 通信装置、通信方法、および通信プログラム
WO2016167806A1 (en) * 2015-04-17 2016-10-20 Hewlett Packard Enterprise Development Lp Organizing and storing network communications
US10365913B2 (en) * 2016-05-12 2019-07-30 Symantec Corporation Systems and methods for updating network devices
WO2018174222A1 (ja) * 2017-03-24 2018-09-27 日本電気株式会社 通信装置、通信方法及びプログラム
JP7073920B2 (ja) * 2018-06-04 2022-05-24 日本電信電話株式会社 時刻付与方法、時刻付与装置及びプログラム
CN112787975B (zh) * 2019-11-05 2022-06-10 华为技术有限公司 一种接入设备类型确定方法、设备及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070054390A (ko) * 2005-11-23 2007-05-29 한국전자통신연구원 Tcp/ip 망의 패킷 캡쳐를 통한 망 품질 측정 방법 및장치
KR20080036538A (ko) * 2006-10-23 2008-04-28 리서치 인 모션 리미티드 무선 장치에서 특정 네트워크 식별자들을 저장하기 위한장치 및 관련 방법
JP2008141565A (ja) 2006-12-04 2008-06-19 Nec Corp プロトコル種別判別方法、そのシステム及びプログラム
JP2011130000A (ja) 2009-12-15 2011-06-30 Nippon Telegr & Teleph Corp <Ntt> 通信品質データのモニタリング測定装置と方法およびプログラム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6047322A (en) * 1997-05-27 2000-04-04 Ukiah Software, Inc. Method and apparatus for quality of service management
JP3391316B2 (ja) * 1999-10-22 2003-03-31 日本電気株式会社 ネットワークシステム
TW527804B (en) * 2001-05-25 2003-04-11 Accton Technology Corp Method and apparatus for bandwidth management of TCP traffic employing post-acknowledgement control
JP4429095B2 (ja) * 2004-06-25 2010-03-10 富士通株式会社 障害解析プログラム、障害解析装置、記録媒体及び障害解析方法
KR20080099306A (ko) * 2006-03-06 2008-11-12 야후! 인크. 모바일 장치들을 통해 광고들을 제공하기 위한 시스템
JP5609193B2 (ja) * 2010-03-19 2014-10-22 富士通株式会社 試験プログラム、試験装置、および試験方法
US9848028B2 (en) * 2011-10-10 2017-12-19 Rohan Bopardikar Classification of web client network bandwidth by a web server

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070054390A (ko) * 2005-11-23 2007-05-29 한국전자통신연구원 Tcp/ip 망의 패킷 캡쳐를 통한 망 품질 측정 방법 및장치
KR20080036538A (ko) * 2006-10-23 2008-04-28 리서치 인 모션 리미티드 무선 장치에서 특정 네트워크 식별자들을 저장하기 위한장치 및 관련 방법
JP2008141565A (ja) 2006-12-04 2008-06-19 Nec Corp プロトコル種別判別方法、そのシステム及びプログラム
JP2011130000A (ja) 2009-12-15 2011-06-30 Nippon Telegr & Teleph Corp <Ntt> 通信品質データのモニタリング測定装置と方法およびプログラム

Also Published As

Publication number Publication date
KR20130058853A (ko) 2013-06-05
JP2013115824A (ja) 2013-06-10
US8861532B2 (en) 2014-10-14
US20130170367A1 (en) 2013-07-04
JP6209330B2 (ja) 2017-10-04

Similar Documents

Publication Publication Date Title
KR101272670B1 (ko) 사용자 단말의 접속 네트워크 식별 장치, 방법 및 컴퓨터 판독 가능한 기록 매체
US8844034B2 (en) Method and apparatus for detecting and defending against CC attack
CN104488231B (zh) 用于有选择地监视流量的方法、设备和系统
EP2924941B1 (en) Method and device for preventing service illegal access
CN108337652B (zh) 一种检测流量欺诈的方法及装置
US9253160B2 (en) Methods, systems, and media for secure connection management and automatic compression over metered data connections
US9876877B2 (en) Special handling of a landing page
KR101491639B1 (ko) 통신망의 종류를 구분하는 방법 및 이를 이용한 콘텐츠 제공 방법
US11463537B1 (en) Proxy selection by monitoring quality and available capacity
US9705762B2 (en) Systems and methods for detecting device identity at a proxy background
CN103297972A (zh) 用于检测网络攻击的移动终端及其方法
CN105635073B (zh) 访问控制方法、装置和网络接入设备
EP2922255A1 (en) Method and apparatus for providing content by selecting data acceleration algorithm
KR20140021372A (ko) 컨텐츠 식별 정보를 이용한 컨텐츠 전송 서비스 방법 및 로컬 캐싱 장치
EP3089427B1 (en) Controlling data exchange between a mobile communication network and a data provider
US10382981B2 (en) Cellular network protocol optimizations
KR20100024723A (ko) 정책기반 라우팅을 이용한 선택적인 인터넷 트래픽 분석 시스템 및 그 방법
CN109922083B (zh) 一种网络协议流量控制系统
CN108616883B (zh) 无线接入点连接方法及其设备
EP2922338A1 (en) Method and apparatus for providing content according to type of communication network
US10305950B2 (en) Agent-based passive streaming
KR102100319B1 (ko) 컨텐츠 전송 제어 방법 및 이를 위한 장치
KR101393911B1 (ko) 에이전트와 네트워크 장치의 연동을 통한 정보 유출 방지 시스템
KR101525547B1 (ko) Url 접속 탐지 기술 기반 악성앱 감염 단말을 탐지하기 위한 시스템 및 그 방법
CN116800777A (zh) 报文处理方法、装置、电子设备及存储介质

Legal Events

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

Payment date: 20160329

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170328

Year of fee payment: 5