Bit-Map Based Hybrid Fast IP Lookup Technique

비트-맵 기반의 혼합형 고속 IP 검색 기법

  • 오승현 (동국대학교 컴퓨터멀티미디어학부)
  • Published : 2006.02.01

Abstract

This paper presents an efficient hybrid technique to compact the trie indexing the huge forward table small enough to be stored into cache for speeding up IP lookup. It combines two techniques, an encoding scheme called bit-map and a controlled-prefix expanding scheme to replace slow memory search with few fast-memory accesses and computations. For compaction, the bit-map represents each index and child pointer with one bit respectively. For example, when one node denotes n bits, the bit-map gives a high compression rate by consumes $2^{n-1}$ bits for $2^n$ index and child link pointers branched out of the node. The controlled-prefix expanding scheme determines the number of address bits represented by all root node of each trie's level. At this time, controlled-prefix scheme use a dynamic programming technique to get a smallest trie memory size with given number of trie's level. This paper proposes standard that can choose suitable trie structure depending on memory size of system and the required IP lookup speed presenting optimal memory size and the lookup speed according to trie level number.

본 논문은 고속 IP 검색을 위해 거대한 포워딩 테이블을 인덱싱하는 트라이(trie)를 캐시에 저장할 수 있는 작은 크기로 압축하는 복합적 기법을 제안한다. 본 논문의 복합적 기법은 bit-map과 controlled-prefix 기법을 복합한 것으로 저속의 주 메모리 검색을 약간의 계산을 포함한 고속 메모리 검색으로 대체한다. bit-map 트라이 압축 기법은 트라이의 인덱스와 자식 포인터를 각각 하나의 비트로 표시한다. 예를 들면 한 노드가 n bit 대표할 때 bit-map은 노드에서 연결된 $2^n$개의 인덱스와 자식 링크를 $2^{n-1}$ bit로 표시함으로써 높은 메모리 압축효과를 제공한다. controlled-prefix 기법은 주어진 트라이 계층 개수에 대해 각 계층의 깊이(stride) 즉, 트라이의 각 계층의 최상위 노드가 대표할 비트의 개수를 결정한다. 이때 controlled-prefix 기법은 주어진 트라이 계층 개수에 대해 최소의 트라이 크기를 구하기 위해 동적 프로그래밍(dynamic programming) 기법을 사용한다. 본 연구는 트라이 계층 개수에 따라 최적의 메모리 크기와 검색속도를 제시함으로써 시스템의 메모리 크기와 요구되는 검색속도에 맞추어 적절한 트라이 구조를 선택할 수 있는 기준을 제안한다.

Keywords