Abstract
The rapid growth of the Internet has stimulated the development of various new applications and services, and the service providers and the Internet users now require different levels of service qualities rather than current best-effort service which treats all incoming packet equally. Therefore, next generation routers should provide the various levels of services. In order to provide the quality of services, incoming packets should be classified into flows according to pre-defined rules, and this should be performed for all incoming packets in wire-speed. Packet classification not only involves multi-dimensional search but also finds the highest priority rule among all matching rules. Area-based quad-trie is a very good algorithm that constructs a two-dimensional trie using source and destination prefix fields. However, it performs the linear search for the prefix length, and hence it does not show very good search performance. In this paper, we propose to apply binary search on length to the area-based quad-trie algorithm. In improving the search performance, we also propose two new algorithms considering the priority of rules in building the trie.
인터넷의 성장은 다양한 응용 프로그램들의 발달을 야기 시켰으며, 그로 인해 모든 패킷을 동일하게 처리하는 현재의 최선지원 서비스 보다 나은 서비스를 제공할 것을 요구하고 있다. 따라서 차세대 인터넷 라우터들은 다양한 레벨의 품질보장 서비스를 제공하여야 한다. 품질보장 서비스를 제공하기 위해서는 모든 입력 패킷을 미리 정의된 룰에 따라 구분하는 패킷 분류가 실시간으로 수행되어야 한다. 패킷분류는 패킷에 포함된 여러 헤더 필드에 대하여 다양한 종류의 검색을 수행하여야 하며, 일치하는 룰들 중에서 가장 높은 우선순위를 갖는 룰을 찾아야 하는 다차원 검색이다. 영역분할을 사용한 사분트라이 구조는 근원지와 목적지 프리픽스를 2차원 트라이 구조로 저장하여 검색을 진행하는 좋은 알고리즘이나, 길이에 대하여 선형검색을 하는 방법이므로 좋은 검색 성능을 보이지 못한다. 본 논문에서는 사분트라이 구조에서 길이에 대하여 이진검색을 진행하는 새로운 패킷분류 알고리즘을 제안한다. 또한 패킷이 여러 개의 룰과 일치하였을 경우 가장 높은 우선순위를 가지는 룰을 선택한다는 특성을 이용하여, 사분트라이를 만드는 과정에서 우선순위를 고려하여 검색 성능을 향상시킬 수 있는 방안을 제안한다.