View : 47 Download: 0

영역분할 사분 트라이를 이용한 패킷 분류 알고리즘의 성능 향상에 관한 연구

Title
영역분할 사분 트라이를 이용한 패킷 분류 알고리즘의 성능 향상에 관한 연구
Authors
최영주
Issue Date
2013
Department/Major
대학원 전자공학과
Publisher
이화여자대학교 대학원
Degree
Master
Advisors
임혜숙
Abstract
네트워크를 통한 기기간의 융합 기술을 적용한 어플리케이션이 다양하게 개발되고 있고 사용자들이 기대하는 성능을 제공하기 위한 통신 기술의 연구는 꾸준히 진행되고 있다. 네트워크가 다양한 사업에 적용되면서 QoS(Quality of Service) 정책으로 데이터를 처리하고 보안을 위해 방화벽(Firewall) 시스템을 사용하며 트래픽 분산을 위한 로드 밸런싱(load balancing)과 같은 서비스를 제공하는 것을 중요시 하고 있다. 이러한 서비스를 제공하기 위해서는 패킷을 차등화해서 처리하는 패킷 분류 작업을 해야 한다. 패킷 분류는 패킷 헤더의 레이어1부터 레이어4에 해당하는 필드 정보를 가지고 수행한다. 패킷 분류를 수행하기 위해 라우터는 미리 정의된 룰들 중에서 입력 패킷의 정보와 일치하는 룰들을 찾고, 그 중 최우선 순위를 갖는 룰을 찾아내는 다차원 검색을 수행하여야 한다. 장비로 유입되는 패킷에 대하여 선속도(wire-speed)로 처리해야 하기 때문에 어려운 작업이라 할 수 있다. 또한 현재는 각 기기에 할당되는 주소가 많아 지면서 일치 여부를 판단해야 하는 라우터 테이블에 저장된 룰의 수가 기하급수적으로 늘어나고 있기 때문에 앞으로의 패킷 분류 기능의 발전이 필요하다. 영역 분할 패킷 분류 알고리즘은 패킷 분류에 사용되는 5개의 패킷 헤더 필드 정보인 근원지 주소 프리픽스, 목적지 주소 프리픽스, 근원지 포트 넘버, 목적지 포트 넘버, 프로토콜의 정보를 동시에 검색할 수 있다. 영역 분할 패킷 분류 알고리즘의 대표적인 예로는 영역 분할 사분 트라이(Area Quad tree), 하이컷(HiCuts), 경계점 분할 구조(Boundary Cutting)가 있다. 영역 분할 사분 트라이(AQT)는 영역 분할 패킷 분류 알고리즘 중에서 메모리 요구량이 가장 적은 알고리즘이지만 특정 크로싱 필터 셋(Crossing Filter set)에 저장된 룰들이 많은 경우 빠른 속도를 보장하지 못한다. 하이컷(HiCuts)은 외부 검색을 해야 하는 룰의 수를 특정 값 이하로 줄이기 때문에 빠른 속도를 보장할 수 있다. 하지만 디시전 트리를 구성하기 위해 룰의 복사가 불가피 하므로 메모리가 많이 소요된다는 문제점이 존재한다. 경계점 분할 구조(BC)는 각 필드를 한 번 씩만 검색하기 때문에 트리의 깊이가 짧다. 또한 분할 노드에 해당하는 엔트리를 영역 분할 이진 검색(Binary Search on Range, BSR)으로 진행하고 외부 검색은 하이컷과 같이 잎 수 이하로 수행하기 때문에 빠른 속도를 보장할 수 있다. 하지만 룰의 복사가 일어나기 때문에 메모리 요구량이 크다. 본 논문에서는 영역 분할 사분 트라이(AQT)의 미리 정해지는 빈스 수 이상의 룰이 존재하는 크로싱 필터 셋(CFS)에 대해서 하이컷(HiCuts)이나 경계점 분할 구조(BC)를 추가 구성 함으로써 외부 검색을 하는 룰의 수를 줄일 수 있는 구조를 제안한다. 전체 룰 셋이 아닌, 특정 영역의 룰들에 대해서 추가적인 디시전 트리를 구성하는 것이기 때문에 하이컷(HiCuts)이나 경계점 분할 구조(BC)보다 메모리는 더 적게 요구한다. 파트 Ⅲ-A에서 제안하는 알고리즘의 기본 구조에서는 영역 분할 사분 트라이(AQT)에 하이컷(HiCuts)를 추가적으로 구성하거나 경계점 분할 구조(BC)를 적용하는 알고리즘을 제안한다. 파트 Ⅲ-B의 길이에 따른 이진 검색을 적용한 알고리즘에서는 기존의 영역분할 사분 트라이에 길이에 대한 이진 검색을 적용한 선 연구를 설명한 후 Ⅲ-A의 제안하는 기본 구조에 길이에 따른 이진 검색(Binary Search on Length, BSL)을 적용한 알고리즘을 제안한다. 파트 Ⅲ-C의 길이에 따른 이진 검색과 블룸 필터를 적용한 알고리즘에서는 Ⅲ-B에서 제안한 알고리즘들에 블룸 필터를 추가하여 불필요한 검색을 제한하는 알고리즘을 제안한다. 길이에 다른 이진 검색(BSL)의 적용으로 우선순위가 높은 룰을 먼저 검색하게 되어 검색 속도가 월등히 빨라지는 것을 성능평가를 통해 알 수 있다. 블룸 필터를 추가 한 경우에는 불필요한 빈 노드 검색을 배제할 수 있어 내부 노드 검색 성능이 좋아지는 것을 성능평가를 통해 확인할 수 있다. ;Accompanied with the emergence of various network applications among distributed devices using high-speed communication networks, research has been performed to provide the required service in each application such as the quality of service (QoS), firewalls, and load balancing. In order to provide such services, Internet routers need to classify incoming packets into different classes, and it is called packet classification. The packet classification is one of the most challenging tasks since it should examine headers in layer 1 through layer 4 in wire-speed. The problem becomes more complex in these days since the number of rules in the packet classification table has been exponentially growing. Hence it is important to study new efficient packet classification algorithms. As an efficient packet classification approach, area-based algorithms have been widely studied. The approach examines 5 different fields (source IP prefix, destination IP prefix, source port number, destination port number, and protocol type) at the same time based on the area that each field value covers. The well-known area-based algorithms are an area-based quad-trie (AQT) algorithm, a hierarchical intelligent cutting (HiCuts) algorithm, and a boundary cutting (BC) algorithm. The AQT algorithm requires the smallest memory amount but it does not provide high speed packet classification because of the linear search for rules belonged to the crossing filter set of a node. The HiCuts algorithm provides the high-speed packet classification since the number of examined rules can be controlled by a limited number, but the memory requirement is huge because of rule replication which cannot be avoided in constructing the HiCuts decision tree. The BC algorithm constructs a smaller decision tree than that of the HiCuts algorithm by considering each field only once and the number of rule comparison is limited by a small number like the HiCuts algorithm. Hence it provides high-speed packet classification but still requires a large amount of memory because of rule replication. Packet classification algorithms proposed in this dissertation are focused on the area-based algorithms, and they are proposed through three steps. The first step proposes a basic approach which combines the AQT algorithm and the HiCuts or BC algorithm to achieve the high-speed packet classification while requiring a small amount of memory. In other words, the proposed algorithm primarily constructs an area-based quad trie (AQT), and then the HiCuts tree or BC tree is applied only for crossing filter sets with more number of rules than a pre-defined number. Hence the number of rule comparison is limited by a small number as well as the rule replication is limited by rules in the constructed HiCuts tree or the BC tree. In the next part, binary search on trie levels (BSL) is applied to improve the packet classification performance further. Since higher priority rules can be compared earlier than lower priority rules in the BSL algorithms, the search performance is significantly improved. At the third step, Bloom filters are applied in order to improve the search performance further. Bloom filters avoid unnecessary internal node access in case if there is no node in the constructed trie. The performance of proposed algorithms are evaluated through simulations with C++ using Classbench database and compared with other existing algorithms.
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