• 제목/요약/키워드: 포워딩 검색

검색결과 25건 처리시간 0.02초

LMHTL 기법에 의한 고속 IP주소 검색 (High-speed IP address lookup using LMHTL technique)

  • 오승현
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2002년도 가을 학술발표논문집 Vol.29 No.2 (3)
    • /
    • pp.4-6
    • /
    • 2002
  • 본 연구는 포워딩 테이블의 자료구조와 검색 알고리즘을 개선하여 고속 IP주소 검색을 구현하는 소프트웨어 기반의 연구로써 목적지 IP주소에서 검색할 길이를 결정한 후 길이별로 준비된 해시 테이블 검색을 통해 O(1)의 속도로 IP주소 검색을 실시할 수 있다. IP주소 검색은 목적지 IP주소와 다수의 포워딩 테이블 엔트리 중에서 가장 많은 비트가 일치하는 엔트리를 검색하는 과정으로 일반적인 완전일치 검색이 적용되기 어렵다. 본 연구에서는 포워딩 테이블 엔트리로 구성된 트라이를 기반으로 길이별 다중 해시 테이블을 구성하여 평균 O(log$_2$N),N=4 의 속도로 IP주소 검색을 한다. 이때 최악의 검색시간은 4회의 주 메모리 접근시간이며 더 빠른 검색을 위해 본 논문은 각 프리픽스의 첫 8비트를 키로 256개 그룹을 만들고 각 그룹별 최대 프리픽스 길이를 기록한 테이블을 캐쉬에 저장함으로써 길이별 해시 테이블 검색 시 N값을 99.9%의 확률로 3이하로 제한할 수 있다. 이것은 포워딩 테이블의 프리픽스 길이 분포에 의한 결과이며, 99.9%의 확률에서 최악의 검색시간을 3회의 주메모리 접근시간으로 할 수 있다. 주 메모리 접근시간 50㎱를 적용하면 150㎱의 검색속도는512B 패킷을 가정할 때 약 27Gb㎰의 검색속도를 지원할 수 있다.

  • PDF

고속의 최장 IP 주소 프리픽스 검색을 위한 비트-맵 트라이 (A Bit-Map Trie for the High-Speed Longest Prefix Search of IP Addresses)

  • 오승현;안종석
    • 한국정보과학회논문지:정보통신
    • /
    • 제30권2호
    • /
    • pp.282-292
    • /
    • 2003
  • 본 논문은 IPv4와 IPv6을 지원하는 라우터에서 기가비트의 속도로 포워딩 검색을 수행하는 효율적인 포워딩 테이블 구조를 제안한다. 포워딩 검색은 최장 프리픽스 일치검색, LPM(Longest Prefix Matching)의 복잡도가 포워딩 테이블 및 주소크기에 따라 증가하여 라우터 성능의 병목지점으로 알려져 있다. 포워딩 검색의 고속화를 위해 본 논문에서는 빈번한 메모리 접근을 최소화할 수 있는 BMT(Bit-Map Trie) 자료구조를 소개한다. BMT 포워딩 검색은 필요한 모든 검색연산이 캐쉬에 저장된 소형 인덱스 테이블에서만 발생한다. 포워딩 테이블의 트라이로부터 소형 인덱스 테이블을 구축하기 위해서 BMT는 차일드(child) 노드 포인터와 포워딩 테이블 엔트리에 대한 포인터를 각각 한 비트로 표현하는 비트-맵을 구성한다. 또한 IPv6와 같이 주소길이가 증가하면 트라이의 깊이가 깊어져서 전통적인 트라이 검색속도가 느려지는 문제점을 해결하기 위해서 BMT에서는 검색을 시작할 적절한 트라이의 레벨을 결정하는 이진검색 알고리즘을 사용한다. 실험 결과 BMT는 IPv4 백본 라우팅 테이블을 펜티엄-II 프로세서의 L2 캐쉬 크기인 512KB 보다 작게 압축하였으며, 최대 250ns/패킷의 검색속도를 제공하여 기존의 알려진 가장 빠른 최장 검색 알고리즘의 성능과 같은 속도를 실현하였다.

고속 라우터의 기가비트 포워딩 검색을 위한 비트-맵 트라이 구조 (The Bit-Map Trip Structure for Giga-Bit Forwarding Lookup in High-Speed Routers)

  • 오승현;안종석
    • 한국정보과학회논문지:정보통신
    • /
    • 제28권2호
    • /
    • pp.262-276
    • /
    • 2001
  • 최근들어 특별한 하드웨어나 새 프로토콜의 도움없이 고속 라우터의 포워딩 검색을 지원하는 포워딩 테이블에 대한 연구가 다양하게 진행되고 있다. 본 논문에서는 소프트웨어를 기반으로 일반적인 펜티엄 프로세서에서 기가비트급 포워딩 검색을 지원할 수 있는 새포워딩 테이블 자료구조를 제시한다. 포워딩 검색은 테이블의 크기에 비례해서 복잡도가 증가하는 라우터 성능의 병목지점으로 알려져 있다. 기존의 소프트웨어를 기반으로 하는 포워딩 검색 연구들은 포워딩 테이블 자료구조로 패트리샤 트라이와 그 변형을 이용하거나 프리픽스 길이를 키로 해서 함수를 구성하는 방법등을 사용하여 왔다. 본 논문에서 제안된 포워딩 테이블 자료구조는 라우팅 테이블의 프리픽스를 완전이진 트라이로 구성한후 트라이의 구조와 각 노드별로 링크 되어있는 라우팅 테이블 포인터 정보를 비트열로 표현하여 포워딩테이블을 구성한다. 트라이의 구조와 라우팅 프리픽스 포인터 정보는 배열이나 링크드-리스트로 표현하면 대량의 저장공간을 필요로하지만 제안된 자료구조에서는 각 정보가 하나의 비트로 표현되므로 작은 저장공간으로 충분하며 또한 트라이를 중간 레벨에서부터 검색할 수 있는 방법을 라우팅 테이블을 펜티엄 프로세서의 L2 캐쉬에 저장할 수 있는 작은 크기로 압축하고 검색경로를 단축함으로써 일반적인 펜티엄 프로세서를 이용하여 고속의 포워딩 엔진을 구현할 수 있음을 보여준다. 제안된 방법의 성능을 평가하기 위해서 실제 라우팅 테이블을 대상으로 실험한 결과 초당 5.7백만 번의 라우팅검색성능을 기록하였다.

  • PDF

O(1) IP 검색 방법 (O(1) IP Lookup Scheme)

  • 이주민;안종석
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2002년도 가을 학술발표논문집 Vol.29 No.2 (3)
    • /
    • pp.1-3
    • /
    • 2002
  • 백본 라우터에서의 최장 길이 프리픽스 검색(LPM: Longest Prefix Matching) 속도를 향상시키기 위해 활발히 연구된 방식들은 계산 량과 사용 메모리 량을 교환하는 방식들이다. 이러한 방식들은 성능향상을 위해서 대용량의 포워딩 테이블(Forwarding Table)을 캐쉬(Cache)에 저장할 수 있는 소용량 인덱스 테이블(Index Table)로 압축함으로써 고속 캐쉬 접근 회수와 그 계산량은 증가하는 대신 저속 메모리 접근 회수를 줄이는 방식이다.〔1〕본논문에서는 저속 메모리 사용량이 증가하는 반면 저속 메모리의 접근 빈도와 계산량을 동시에 감소시키는 FPLL(Fixed Prefix Length Lookup) 방식을 소개한다. 이 방식은 포워딩 엔트리(Entry)들을 프리픽스의 상위 비트(Bit)에 의해 그룹으로 나누고, 각 그룹에 속하는 엔트리들을 같은 길이로 정렬한다. FPLL에서의 LPM검색은 목적지 주소가 속하는 그룹들의 길이를 계산하여 검색할 최장 프리픽스의 길이를 미리 결정하고, 결정된 프리픽스를 키(key)로 하여 해시 테이블(Hash Table)로 구성된 포워딩 테이블에서 완전 일치(Exact Matching) 검색을 한다. 완전 일치 검색을 위해 같은 그룹에 속한 엔트리들을 정렬할 필요가 있는데 이 정렬을 위해 여분의 포워딩 테이블 엔트리가 생성된다. 3만개 엔트리를 갖는 Mae-West〔2〕 경우에, FPLL방식은 12만개 정도의 여분의 엔트리가 추가로 생성되는 대신에 1번 캐쉬 접근과 O(1)의 복잡도를 갖는 해시 테이블 검색으로 LPM 검색을 수행한다.

  • PDF

비트-맵 트라이를 이용한 빠른 라우팅 검색 (Bit-Map Trie for Fast Routing Lookups)

  • 오승현;나승구;안종석
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2000년도 봄 학술발표논문집 Vol.27 No.1 (A)
    • /
    • pp.329-330
    • /
    • 2000
  • 기가비트 속도를 지원하는 고속 라우터의 IP 주소 검색은 소프트웨어로 구현할 수 없다는 일부의 믿음과는 달리 소프트웨어만으로도 고속 IP 주소 검색의 구현이 가능하다. 기가비트 라우터의 IP 주소 검색은 최장 프로픽스일치 기법을 사용하여 라우팅 엔트리를 검색하는데, 56Gbps 속도를 지원하기위해서는 평균 513byte의 패킷을 800 nsec 이하의 속도로 처리하여야 한다. 본 논문에서는 범용 펜티엄 프로세서의 캐쉬 크기에 적합한 고속 라우팅을 위한 포워딩 테이블 구조를 제안하였으며, 400 MHz의 페티엄 II 프로세서를 이용한 실험에서 초당 수백만개의 IP 주소 검색을 실현하였다. 제안된 포워딩 테이블은 약 48,000여개의 실제 라우팅 엔트리에 대해 284Kbyte의 매우 작은 크기로 작성되었는데, 이 크기는 펜티엄 프로세서의 L2 케쉬에 저장될 수 있는 작은 크기이다. 제안된 포워딩 테이블을 이용한 평균 검색 시간은 라우팅 테이블 별로 320~530 nsec가 소요되었다.

  • PDF

플로우 레이블을 지원하는 IPv6라우팅 데몬의 구현 (The Extension of IPv6 Routing Daemon For Using The Flow Label)

  • 김형준;오승현;안종석
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2001년도 가을 학술발표논문집 Vol.28 No.2 (3)
    • /
    • pp.361-363
    • /
    • 2001
  • 본 논문은 IPv6 헤더의 플로우 레이블 필드를 이용한 레이블 포워딩 방법을 제안하고 이 방법을 기반으로 리눅스 운영체제에서 멀티캐스팅 라우팅 레몬과 유니 캐스팅 데몬과 구현하여 레이블 포워딩에 의한 유니 캐스트 및 멀티캐스트 전송을 구현하였다. 레이블을 이용한 포워딩은 라우팅 엔트리를 결정하기 위해 If주소 중 가장 많은 부분이 일치되는 엔트리를 찾는 방법(longest prefix match) 을 기본으로 하는 IP주소정색 방법에 비해, 짧은 레이블 값 전체가 일치하는 엔트리를 찾는 방법 (short label exact match)을 원칙으로 하고있어 상대적으로 빠른 속도로 라우팅 테이블을 검색할 수 있으며, 쉽게 QoS를 제공할 수 있는 구조를 제공한다. 실험을 통해 구현된 레이블 포워딩을 이용한 유니캐스트 및 멀티캐스트 전송이 잘 동작함을 확인하였고, 성능비교 실험을 통해 레이불 포워딩이 일반 IP 검색 포워딩 방법보다 더 좋은 성능을 발휘함을 확인할 수 있다.

  • PDF

스위치 포인터를 이용한 균형 이진 IP 주소 검색 구조 (Binary Search Tree with Switch Pointers for IP Address Lookup)

  • 김형기;임혜숙
    • 한국정보과학회논문지:정보통신
    • /
    • 제36권1호
    • /
    • pp.57-67
    • /
    • 2009
  • 인터넷 라우터에서의 패킷 포워딩은 라우팅 테이블에 저장되어 있는 다양한 길이의 프리픽스들 중, 입력된 패킷의 목적지 주소와 가장 길게 일치하는 프리픽스를 찾아 그 프리픽스가 지정하는 출력 포트로 입력된 패킷을 내 보내주는 일련의 과정을 말한다. 패킷 포워딩 속도의 관건은 IP 주소 검색 성능이라 할 수 있는데, 고속의 IP 주소 검색을 제공하기 위해서는 포워딩 테이블을 저장하기 위한 효율적인 데이타 구조 및 우수한 검색 알고리즘이 필수적이라 할 수 있다. 본 논문에서는 이진 검색 트리를 이용한 주소 검색 알고리즘에 주목한다. 기존에 나와 있는 모든 이진 검색 알고리즘은 균형 검색을 제공하지 못하여 효율적이지 못하고, 프리픽스 영역에 대한 이진 검색 알고리즘은 균형 검색을 제공하나 프리픽스 개수보다 많은 수의 포워딩 엔트리를 저장하여 또한 효율적이지 못하다. 본 논문에서는 효율적인 IP 주소 검색을 위하여 완전 균형 트리 구조를 만들어 이진 검색을 수행하는 알고리즘을 제안하고, 그 성능을 평가하여 기존의 다른 주소 검색 알고리즘과 비교한다. 성능 평가 결과 본 논문에서 제안하는 알고리즘은 메모리 요구량의 증가 없이 검색 속도가 매우 향상됨을 보았다.

고속의 패킷 포워딩 엔진을 위한 병렬 IP 주소 검색 기법 (A Parallel IP Address Lookup Scheme for High-Speed Packet Forwarding Engine)

  • 박재형;장익현;김진수
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2002년도 춘계학술발표논문집 (하)
    • /
    • pp.1297-1300
    • /
    • 2002
  • 포워딩 엔진은 외부 인터페이스를 통해서 들어오는 패킷에 대해서 IP 주소를 기반으로 목적지로 향하는 다음 홉을 결정한다. 이러한 고속의 패킷 처리를 위한 포워딩 엔진을 설계함에 있어서 IP 주소 탐색은 중요한 요인이다. 본 논문에서는 검색경로 압축 트라이에 기반한 IP 주소 탐색 알고리즘을 병렬화 하는 기법을 제시한다. 제시된 병렬화를 통해서 IP 주소 탐색의 메모리 접근 횟수글 줄일 수 있으며, 고성능의 패킷 포워딩 엔진에 적용할 수 있다.

  • PDF

고속의 라우터를 위한 병렬 IP 주소 검색 기법 (A Parallel IP Address Lookup Scheme for High-Speed Routers)

  • 박재형;정민영;김진수;원용관
    • 정보처리학회논문지A
    • /
    • 제11A권5호
    • /
    • pp.333-340
    • /
    • 2004
  • 인터넷에서 IP 패킷을 목적지로 전달하는 라우터는 목적지의 주소에 따라서 다음 홉을 결정하는 IP 주소를 검색하는 과정을 수행한다. 패킷을 전달하는 과정에서 주소 검색은 고속의 라우터의 설계에 중요한 요인이다. 본 논문에서는 이미 하드웨어로 구현된 간접 IP 주소 검색 칩셋의 변경 없이 고속의 라우터의 설계를 위해서 여러 개의 검색 엔진으로 구성된 병렬 주소 검색 기법을 제안한다. 또한, 라우터 시스템 전체 포워딩 테이블에 존재하는 IP 프리픽스 엔트리를 각각의 검색 엔진에 분할하는 규칙을 제시한다. 본 논문에서 제안한 주소 검색 기법의 성능은 IP 프리픽스에 대한 포워딩 정보를 저장하는데 필요한 메모리의 양과 포워딩 테이블을 구성하기 위해 필요한 메모리 접근 횟수로 평가하였다. 본 논문에서 제안한 기법은 한 개의 검색 엔진을 사용하였을 때에 비해서 네 개의 검색 엔진을 사용할 경우, 하드웨어 로직의 도움으로 약 35%의 메모리 양의 감소와 80%의 메모리 접근 횟수의 감소를 보여준다.

가변적인 복수 해슁을 이용한 글로벌 IPv6 유니캐스트 주소 검색 구조 (A Global IPv6 Unicast Address Lookup Scheme Using Variable Multiple Hashing)

  • 박현태;문병인;강성호
    • 한국통신학회논문지
    • /
    • 제31권5B호
    • /
    • pp.378-389
    • /
    • 2006
  • IP 주소 검색 구조는 IPv6 주소체계의 도래와 함께 더욱 고속 네트워크 기술의 중요한 이슈가 되고 있다. 본 논문에서는 차세대 인터넷 라우터를 위한 새로운 글로벌 IPv6 유니캐스트 주소 검색 구조를 제안한다. 제안하는 구조는 적절한 프리픽스 그룹화를 수행하고 각 그룹별로 가변적으로 복수 해슁을 수행한다. 이를 통해 적절한 개수의 포워딩 테이블에서 해슁의 충돌(collision)을 효율적으로 분산함으로서 오버플로우를 최소화하였으며 포워딩 테이블 구성을 위해 필요한 메모리 크기를 줄였다. 또한 단 한 번의 메모리 접근만으로 포워딩 테이블 구성 및 검색이 가능한 고속 주소 검색 구조이며 추가적 업데이트가 용이한 구조이다. 실제 6bone 테스트 라우팅 CERNET 데이터를 이용하여 균일한 복수 해슁을 이용한 구조와 제안한 구조를 비교, 실험하였으며 동일한 8개의 테이블에서 약 15%의 포워딩 테이블을 위한 메모리 절약과 약 50%의 오버플로우 감소를 확인하였다.