View : 109 Download: 0

패킷 분류를 위한 블룸 필터 이용 튜플 제거 알고리즘에 관한 연구

Title
패킷 분류를 위한 블룸 필터 이용 튜플 제거 알고리즘에 관한 연구
Authors
김소연
Issue Date
2010
Department/Major
대학원 전자공학과
Publisher
이화여자대학교 대학원
Degree
Master
Advisors
임혜숙
Abstract
다양한 어플리케이션의 등장과 인터넷 사용자 수의 급속한 성장으로 인하여, 인터넷 라우터는 패킷이 입력되는 속도와 같은 속도로 패킷 분류작업을 수행하여 패킷의 클래스에 따른 품질 보장을 제공할 것이 요구되고 있다. 패킷 분류란 라우터에 입력된 패킷의 헤더가 가지고 있는 여러 개의 필드에 대해 다차원 검색을 수행하여, 미리 정의된 룰과 일치하는 결과 가운데 최우선순위를 갖는 룰을 찾아내는 과정을 말한다. 빠른 패킷 분류를 위하여 다양한 패킷 분류 알고리즘이 제안되어오고 있으며, 튜플 제거(tuple pruning) 알고리즘은 일치 가능한 룰을 갖는 튜플들만을 해싱을 사용하여 검색함으로 빠른 검색 성능을 제공한다. 블룸 필터(Bloom filter)는 특정 집합에 속하는 원소들의 멤버쉽에 관한 정보를 간단한 비트-벡터로 표현하는 데이터 구조로서, 특정 입력 값이 집합에 속한 원소인지를 알려주는 선-필터(pre-filter)로 사용된다. 본 논문에서는 블룸 필터를 이용하여 일치 가능성이 없는 튜플을 효과적으로 제거하는 새로운 튜플 제거 알고리즘을 제안한다. 제안하는 알고리즘1은 기존의 튜플 제거 알고리즘에 튜플 블룸 필터를 추가한 알고리즘이다. 기존 알고리듬에서와 같이 각 필드별 검색으로 결정된 일치하는 프리픽스 길이들을 교차하여 튜플을 생성하면 프리픽스 값에 관한 정보는 사라지고 길이에 관한 정보만이 교차되므로, 불 필요한 해시 메모리의 접근을 야기한다. 제안하는 알고리즘1에서는 프리픽스 길이의 조합뿐만 아니라 프리픽스 값의 조합에 대한 정보를 가지는 튜플 블룸 필터를 통과시켜 불필요한 해시 테이블 검색을 제한하는 알고리즘이다. 제안하는 알고리즘2는 기존의 튜플 제거 알고리즘의 각 필드별 검색과정을 프리픽스 정보를 저장한 블룸 필터와 해시 테이블로 대치한 알고리즘이다. 제안하는 알고리즘3은 각 필드별 검색과정을 블룸필터로 대치하고, 튜플 블룸 필터를 추가한 알고리즘으로서, 근원지 프리픽스, 목적지 프리픽스, 튜플 정보를 가지는 세 개의 블룸 필터만을 이용하여 불필요한 해시 테이블 검색을 제한하는 효율적인 알고리즘이다. 실제 라우터에서 사용되는 룰 셋과 비슷한 특성을 갖는다고 알려진 데이터 베이스에 대한 성능 비교를 통하여, 본 논문에서 제안하는 튜플 제거 알고리즘이 패킷 분류 성능 및 메모리 사용량에 있어서 기존의 튜플 제거 알고리즘과 비교하여 월등히 우수함을 보았다.;Due to the emergence of new application programs and the fast growth of Internet users, Internet routers are required to provide the quality of services according to the class of input packets, which is identified by wire-speed packet classification. For a pre-defined rule set, by performing multi-dimensional search using various header fields of an input packet, packet classification determines the highest priority rule matching to the input packet. Efficient packet classification algorithms have been widely studied. Tuple pruning algorithm provides fast classification performance using hash-based search against only the candidate tuples that may include matching rules. Bloom filter is an efficient data structure composed of a simple vector which represents the membership information of an element included in a given set. It is used as a pre-filter determining whether a specific input is a member of the set or not. This paper proposes new tuple pruning algorithms using Bloom filters, which effectively remove unnecessary tuples which do not include matching rules. The first proposed algorithm adopts a tuple bloom filter to the previous tuple pruning algorithm. In the previous tuple pruning, tuples are generated by cross-producting the matching lengths determined through individual field lookup. By doing this way, prefix information in terms of matching values is disappeared and the information of matching lengths is only cross-producted. Hence, unnecessary hash accesses are occurred. In the first proposed algorithm, the added tuple Bloom filter filters out unnecessary tuples since it utilizes both the length and the value combination in accessing tuple. The second proposed algorithm replaces each individual field lookup of previous tuple pruning algorithm with a bloom filter and a hash table which has prefix information. The third proposed algorithm replaces each individual field lookup with a 1-D Bloom filter (without a hash table) and adds a tuple Bloom filter. The algorithm effectively performs tuple pruning by only using three bloom filters and a hash table. Using the database known to have similar characteristics of actual rule sets used in Internet routers, simulation results show that the proposed tuple pruning algorithm provides faster packet classification as well as consumes smaller memory amount compared with the previous tuple pruning algorithm.
Fulltext
Show the fulltext
Appears in Collections:
일반대학원 > 전자공학과 > Theses_Master
Files in This Item:
There are no files associated with this item.
Export
RIS (EndNote)
XLS (Excel)
XML


qrcode

Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.

BROWSE