The total Internet traffic volume is getting larger and larger with the rapid increase of new kinds of applications. In aspects of network management, security issues, and network provisioning, it is important to understand the present status of Internet traffic. The bottom-line of these processes is to classify Internet traffic according to applications.
In order to classify Internet traffic, many approaches are proposed and used. However, the existing approaches are not efficient to classify the new emerging applications, such as p2p file sharing applications and online game applications because of dynamic port allocation, encrpyted payload, and so on.
In this paper, we propose a method to classify the traffic of new emerging applications efficiently. Our approach is based on machine learning techniques, which are K-Nearest Neighbor and K-Means, and we use flow behavioral informations, such as the average packet size and flow duration. First, we cluster unclassified traffic according to extracted features. Second, we make a classifier for classifying other unclassified traffic with pre-produced clustering result.
To verify our approach, we use the real traffic of nine applications (Bittorrent, Clubbox, eDonkey, Fileguri, HTTP, HTTPS, MSN messenger, Nateon messenger, SMTP) collected at our campus network. We cluster training data with about 85% accuracy and classify a test data with about 88% accuracy. Our approach is efficient enough and our result is good enough because the applications used for our experiment are mainly composed with P2P applications and new emerging applications.
인터넷에서 사용되는 애플리케이션이 빠르게 새로히 등장함에 따라 인터넷의 트래픽의 볼륨은 날이 갈수록 늘어나고 있다. 네트워크 관리, 보안 문제, 네트워크의 예측등의 관점에서 볼 때, 인터넷의 현재 상태를 정확히 이해한다는 것은 매우 중요한 일이다. 이러한 작업의 가장 기본이 되는 것이 애플리케이션에 따라서 인터넷 트래픽을 분류하는 일이다.
인터넷 트래픽을 분류하기 위해서 많은 방법들이 제안되고 이용되었지만, 지금의 방법들은 p2p 파일 교환 프로그램이나 온라인 게임등의 새롭게 나타나고 있는 애플리케이션들의 트래픽은 동적포트할당 혹은 암호화된 패킷등의 이유로 효과적으로 분류하지 못하고 있다.
이 논문에서는 새롭게 나타나는 애플리케이션들의 트래픽을 효과적으로 분류하기 위한 방법을 제안하고 있다. 우리의 방법은 K-Nearest Neighbor와 K-Means와 같은 기계 학습 방법에 기반을 하고 있으며, 평균 패킷 사이즈, 플로우의 존속 시간과 같은 플로우 행동 정보를 이용하고 있다. 첫번째로 우리는 트래픽을 추출된 특징 정보를 바탕으로 클러스터링을 하고, 두번째로 앞서 얻어진 클러스터링 정보를 이용해서 새롭게 들어온 다른 분류되지 않은 트래픽을 분류하는 classifier를 구성하게 된다.
우리의 방법을 검증하기 위해서, 우리는 캠퍼스 네트워크로부터 Bittorrent, Clubbox, eDonkey, Fileguri, HTTP, HTTPS, MSN messenger, Nateon messenger, SMTP 이상 9개의 애플리케이션의 트래픽을 수집했다. 우리는 학습 데이타를 85%의 정확도로 클러스터링 했으며, 테스트 데이타를 88%의 정확도로 분류하였다. 우리의 방법은 실험을 위해 새롭게 나타나고 있는 애플리케이션들을 위주로 실험을 했다는 면에서 높은 정확도를 보여준다고 할 수 있다.