IP address lookup is to determine the next hop destination of an incoming packet in the router. The address lookup is a major bottleneck in high performance router due to the increased routing table sizes, increased traffic, higher speed links, and the migration to 128 bits IPv6 addresses. IP lookup time is dependent on data structure of lookup table and search scheme. In this paper, we propose a new approach to build a lookup table that satisfies the memory constraint. The design of lookup table is formulated as an optimization problem. The objective is to minimize average depth from the root node for lookup. We assume that the frequencies with which prefixes are accessed are known and the data structure is level compressed trie with branching factor $\kappa$ at the root and binary at all other nodes. Thus, the problem is to determine the branching factor k at the root node such that the average depth is minimized. A heuristic procedure is proposed to solve the problem. Experimental results show that the lookup table based on the proposed heuristic has better average and the worst-case depth for lookup.
A Bloom filter is a space-efficient data structure popularly applied in many network algorithms. This paper proposes a vectored Bloom filter to provide a high-speed Internet protocol (IP) address lookup. While each hash index for a Bloom filter indicates one bit, which is used to identify the membership of the input, each index of the proposed vectored Bloom filter indicates a vector which is used to represent the membership and the output port for the input. Hence the proposed Bloom filter can complete the IP address lookup without accessing an off-chip hash table for most cases. Simulation results show that with a reasonable sized Bloom filter that can be stored using an on-chip memory, an IP address lookup can be performed with less than 0.0003 off-chip accesses on average in our proposed architecture.
본 논문에서는 ATM 기반 레이블 에지 라우터의 IP 패킷 포워딩 엔진을 위한 고성능 룩업 제어기를 제안하였다. 제안한 룩업 제어기는 IP 패킷에 대한 Best Effort 서비스 뿐만 아니라 MPLS(Multiprotocol Label Switching), VPN(Virtual Private Network), ELL(Emulated Leased Line), RT(Real Time) 서비스 등의 차별화된 서비스들을 제공할 수 있도록 설계하였다. 고속의 IP 주소 검색을 위하여 소프트웨어 기반의 알고리즘 방식을 사용하지 않고 TCAM(Ternary Content Addressable Memory) 기반의 하드웨어 방식을 적용하였으며, IP 패킷 헤더 처리 및 룩업 제어 기능을 고속으로 수행하기 위하여 룩업 제어 기능을 FPGA(Field Programmable Gate Array)로 구현하였다. 룩업 제어기는 사용자의 차별화된 다양한 요구를 수용할 수 있으며, 성능 향상을 위하여 파이프라인 기법으로 처리되도록 설계하였다. 또한 패킷 헤더의 여러 영역을 조합한 비교키에 대한 룩업 기능을 수행하기 위하여 2단계 검색 메카니즘을 가지며, 시뮬레이션을 통하여 제안한 룩업 제어기는 약 16Mpps의 성능을 보였다.
링크기술이 발달하면서 인터넷 라우터로 들어오는 패킷의 수가 급격히 증가하고 있으며, 이로 인하여 입력 패킷을 실시간으로 처리하는 일은 점점 더 어려운 작업이 되어가고 있다. If 어드레스 검색은 라우터의 패킷 처리 기능 중 가장 필수적인 기능 중의 하나로서, 효율적인 IP 어드레스 검색을 위한 알고리즘과 구조에 대한 연구가 진행되고 있다. 본 논문에서는 작은 크기의 메모리를 사용하면서도 검색 속도를 빠르게 향상시킨 IP 어드레스 검색 구조를 제안한다. 제안하는 방법은 한번의 메모리 접근으로 여러 프리픽스를 동시에 비교하는 멀티웨이 트리에 기반을 두고 있는 구조로서, 약 4만개의 프리픽스를 저장하기 위해 280KByte 크기의 SRAM을 사용하근 평균 5.9번의 메모리 접근으로 IP 어드레스를 검색하는 구조이다.
인터넷에서 초고속 서비스의 제공을 위해서, 라우터는 신속하게 IP 주소 검색을 수행해야 한다. 본 논문에서는 4 단계의 파이프라인으로 구성된 하이브리드 방식의 병렬 IP 주소 검색 구조를 제안한다. 단계 2의 다중 SRAM과 단계 3의 분할 TCAM을 사용하여 저렴한 비용으로 병렬화를 이루고, 파이프라이닝을 통해 처리율을 향상시켰다. 단계 1에서 스마트 분배기는 선행된 IP 주소와 동일한 주소를 다음 단계로 진입시키지 않고 선행의 검색 결과를 그대로 활용하게 한다. 이에 따라, 캐싱 효과에 의해 검색 처리율을 더욱 향상시키고, 단계 3인 TCAM bank로의 접근 충돌도 완화시킬 수 있다. 마지막 단계의 재정렬 버퍼는 처리된 IP 주소 순서를 입력 순서에 맞도록 재조정하는 기능을 수행한다. 또한, 실제 사용되는 라우팅 테이블과 Zipf 법칙에 따라 생성된 트래픽 분포를 사용하여, 병렬 파이프라인 IP 검색 구조의 성능을 기존의 하이브리드 구조와 비교하여 평가한다.
IP 주소 검색 구조는 라우터 시스템에서 고속 네트워크 기술의 중요한 이슈가 되고 있으며 패킷 전달의 성능을 좌우하는 주요한 문제 요소로 지적되고 있다. 본 논문에서는 복수 해슁의 적응적인 적용과 프리픽스 그룹화를 이용하여 효율적인 고속 IP 주소 검색 구조를 제안한다. 여러 라우팅 데이터의 엔트리 분포를 분석하여 프리픽스를 그룹화하고 그룹별로 적용되는 해쉬함수의 개수를 적응적으로 적용하여 해슁에 의한 충돌(collision)을 줄일 수 있었으며 이를 통해 테이블의 수를 최적화하고 메모리 효율을 높일 수 있었다. 또한 제안하는 구조는 단 한 번의 메모리 접근만으로 포워딩 테이블의 구성 및 검색 과정을 수행할 수 있는 고속 구조이다.
고속 라우터의 인터넷 패킷 처리에서 가장 많은 시간이 걸리는 부분이 IP 패킷 주소 룩업 중 LPM 탐색이다. 기존의 CAM을 이용한 LPM 탐색에서 LPM 탐색율이 높으면서 동시에 복잡도도 높지 않은 방식은 룩업 테이블의 갱신시간이 0(n)으로 오래 걸렸다. 본 논문에서 설계한 파이프라인 룩업 테이블은 고속 LPM 탐색을 위한 구조로서 갱신시간이 0(1)으로 짧으면서도, LPM 탐색율이 높고, 복잡도도 높지 않은 새로운 방식의 파이프라인 구조로, 1bit RAM 셀을 이용한 CAM 배열 구조로 설계하였다. 룩업 테이블은 3단계의 파이프라인으로 구성된다. 단계1 및 단계2의 키 필드 분할 수 및 매칭점의 분포에 따라 파이프라인의 성능이 좌우되며, LPM 탐색율이 달라질 수 있다 설계방식은 RTL에서 하드웨어 기술 언어를 이용해서 수행되었고, 0.35$\mu\textrm{m}$ CMOS 표준 셀 라이브러리를 이용해서 게이트 수준에서 기능을 검증하였다.
Since Multi-way Search Tree reduces the number of the memory access by increasing the branch factor, it is considered a method to archive the high-speed IP address lookup. Using the combination of initial 16 bit may and Multi-way Search Tree, it also reduces the search time of If address lookup. Multi-way Search Tree consists of K keys and K+1 key pointers. This paper shows how the E update of Multi-way Search Tree which consists of the one pointer within a node can be performed. Using the one pointer within a node, it increases the number of keys within a node and reduces the search time of IP lookup. We also describes IP updating methods such as modification, Insertion and Deletion of address entries. Our update scheme performs better than the method which rebuilds the entire IP routing table when IP update processes.
라우터는 입력되는 패킷을 인터넷 주소 검색을 통하여 패킷의 목적지로 향하는 포트로 포워딩하는 역할을 하는데, 입력되는 속도와 같은 속도로 패킷을 포워딩하기 위해서는 매우 빠른 검색을 제공할 필요가 있다. 본 논문에서는 이진 검색을 이용한 IP 주소 검색구조에 대해 연구하였다. 대부분의 이진 검색 알고리즘들은 균형 이진 검색을 진행하지 않아 과도한 메모리 접근을 야기함으로써 검색속도가 느린 단점이 있다. 한편 영역분할을 이용한 이진 검색 알고리즘은 매우 빠른 검색 성능을 보이지만, 메모리 요구량이 크다는 단점이 있다. 본 논문에서는 영역분할 이진 검색에서 불필요한 엔트리와 항목을 삭제함으로써 라우팅 테이블의 크기를 최적화하여 메모리 요구량을 감소시키는 방법에 대하여 연구하였다. 이러한 최적화를 통하여 프리픽스의 개수와 비슷하거나 적은 수의 엔트리를 갖는 영역분할 이진 검색 라우팅 테이블을 구성할 수 있음을 보였다. 실제 사용되는 다양한 크기의 라우팅 테이블을 이용하여 영역분할 이진 검색의 원래 구조와 최적화된 구조의 검색 성능을 비교하였으며, 다른 여러가지 이진 검색 알고리즘과의 성능을 비교하였다.
IP 라우팅에서는 가장 긴 프리픽스가 일치 (longest prefix matching)되는 목적지 IP 주소를 사용한다. 따라서 고속 If 라우팅을 위하여 IP 주소 검색이 고속으로 수행되어야 한다. 본 논문에서는 소프트웨어 기반의 유연한 IP주소 검색을 효과적으로 수행하는 LC-트라이 알고리즘을 개선한 다중 LC-프라이 기법을 제안한다. 메모리 검색 회수를 줄이기 위하여 검색되는 IP 주소의 분포 패턴을 분석하여 자주 접근되는 IP 주소의 집합으로 별도의 LC-트라이를 구성함으로써 기존의 단일 LC-트라이 기법에 비하여 빠른 검색 결과를 실험을 통해 확인한다.
본 웹사이트에 게시된 이메일 주소가 전자우편 수집 프로그램이나
그 밖의 기술적 장치를 이용하여 무단으로 수집되는 것을 거부하며,
이를 위반시 정보통신망법에 의해 형사 처벌됨을 유념하시기 바랍니다.
[게시일 2004년 10월 1일]
이용약관
제 1 장 총칙
제 1 조 (목적)
이 이용약관은 KoreaScience 홈페이지(이하 “당 사이트”)에서 제공하는 인터넷 서비스(이하 '서비스')의 가입조건 및 이용에 관한 제반 사항과 기타 필요한 사항을 구체적으로 규정함을 목적으로 합니다.
제 2 조 (용어의 정의)
① "이용자"라 함은 당 사이트에 접속하여 이 약관에 따라 당 사이트가 제공하는 서비스를 받는 회원 및 비회원을
말합니다.
② "회원"이라 함은 서비스를 이용하기 위하여 당 사이트에 개인정보를 제공하여 아이디(ID)와 비밀번호를 부여
받은 자를 말합니다.
③ "회원 아이디(ID)"라 함은 회원의 식별 및 서비스 이용을 위하여 자신이 선정한 문자 및 숫자의 조합을
말합니다.
④ "비밀번호(패스워드)"라 함은 회원이 자신의 비밀보호를 위하여 선정한 문자 및 숫자의 조합을 말합니다.
제 3 조 (이용약관의 효력 및 변경)
① 이 약관은 당 사이트에 게시하거나 기타의 방법으로 회원에게 공지함으로써 효력이 발생합니다.
② 당 사이트는 이 약관을 개정할 경우에 적용일자 및 개정사유를 명시하여 현행 약관과 함께 당 사이트의
초기화면에 그 적용일자 7일 이전부터 적용일자 전일까지 공지합니다. 다만, 회원에게 불리하게 약관내용을
변경하는 경우에는 최소한 30일 이상의 사전 유예기간을 두고 공지합니다. 이 경우 당 사이트는 개정 전
내용과 개정 후 내용을 명확하게 비교하여 이용자가 알기 쉽도록 표시합니다.
제 4 조(약관 외 준칙)
① 이 약관은 당 사이트가 제공하는 서비스에 관한 이용안내와 함께 적용됩니다.
② 이 약관에 명시되지 아니한 사항은 관계법령의 규정이 적용됩니다.
제 2 장 이용계약의 체결
제 5 조 (이용계약의 성립 등)
① 이용계약은 이용고객이 당 사이트가 정한 약관에 「동의합니다」를 선택하고, 당 사이트가 정한
온라인신청양식을 작성하여 서비스 이용을 신청한 후, 당 사이트가 이를 승낙함으로써 성립합니다.
② 제1항의 승낙은 당 사이트가 제공하는 과학기술정보검색, 맞춤정보, 서지정보 등 다른 서비스의 이용승낙을
포함합니다.
제 6 조 (회원가입)
서비스를 이용하고자 하는 고객은 당 사이트에서 정한 회원가입양식에 개인정보를 기재하여 가입을 하여야 합니다.
제 7 조 (개인정보의 보호 및 사용)
당 사이트는 관계법령이 정하는 바에 따라 회원 등록정보를 포함한 회원의 개인정보를 보호하기 위해 노력합니다. 회원 개인정보의 보호 및 사용에 대해서는 관련법령 및 당 사이트의 개인정보 보호정책이 적용됩니다.
제 8 조 (이용 신청의 승낙과 제한)
① 당 사이트는 제6조의 규정에 의한 이용신청고객에 대하여 서비스 이용을 승낙합니다.
② 당 사이트는 아래사항에 해당하는 경우에 대해서 승낙하지 아니 합니다.
- 이용계약 신청서의 내용을 허위로 기재한 경우
- 기타 규정한 제반사항을 위반하며 신청하는 경우
제 9 조 (회원 ID 부여 및 변경 등)
① 당 사이트는 이용고객에 대하여 약관에 정하는 바에 따라 자신이 선정한 회원 ID를 부여합니다.
② 회원 ID는 원칙적으로 변경이 불가하며 부득이한 사유로 인하여 변경 하고자 하는 경우에는 해당 ID를
해지하고 재가입해야 합니다.
③ 기타 회원 개인정보 관리 및 변경 등에 관한 사항은 서비스별 안내에 정하는 바에 의합니다.
제 3 장 계약 당사자의 의무
제 10 조 (KISTI의 의무)
① 당 사이트는 이용고객이 희망한 서비스 제공 개시일에 특별한 사정이 없는 한 서비스를 이용할 수 있도록
하여야 합니다.
② 당 사이트는 개인정보 보호를 위해 보안시스템을 구축하며 개인정보 보호정책을 공시하고 준수합니다.
③ 당 사이트는 회원으로부터 제기되는 의견이나 불만이 정당하다고 객관적으로 인정될 경우에는 적절한 절차를
거쳐 즉시 처리하여야 합니다. 다만, 즉시 처리가 곤란한 경우는 회원에게 그 사유와 처리일정을 통보하여야
합니다.
제 11 조 (회원의 의무)
① 이용자는 회원가입 신청 또는 회원정보 변경 시 실명으로 모든 사항을 사실에 근거하여 작성하여야 하며,
허위 또는 타인의 정보를 등록할 경우 일체의 권리를 주장할 수 없습니다.
② 당 사이트가 관계법령 및 개인정보 보호정책에 의거하여 그 책임을 지는 경우를 제외하고 회원에게 부여된
ID의 비밀번호 관리소홀, 부정사용에 의하여 발생하는 모든 결과에 대한 책임은 회원에게 있습니다.
③ 회원은 당 사이트 및 제 3자의 지적 재산권을 침해해서는 안 됩니다.
제 4 장 서비스의 이용
제 12 조 (서비스 이용 시간)
① 서비스 이용은 당 사이트의 업무상 또는 기술상 특별한 지장이 없는 한 연중무휴, 1일 24시간 운영을
원칙으로 합니다. 단, 당 사이트는 시스템 정기점검, 증설 및 교체를 위해 당 사이트가 정한 날이나 시간에
서비스를 일시 중단할 수 있으며, 예정되어 있는 작업으로 인한 서비스 일시중단은 당 사이트 홈페이지를
통해 사전에 공지합니다.
② 당 사이트는 서비스를 특정범위로 분할하여 각 범위별로 이용가능시간을 별도로 지정할 수 있습니다. 다만
이 경우 그 내용을 공지합니다.
제 13 조 (홈페이지 저작권)
① NDSL에서 제공하는 모든 저작물의 저작권은 원저작자에게 있으며, KISTI는 복제/배포/전송권을 확보하고
있습니다.
② NDSL에서 제공하는 콘텐츠를 상업적 및 기타 영리목적으로 복제/배포/전송할 경우 사전에 KISTI의 허락을
받아야 합니다.
③ NDSL에서 제공하는 콘텐츠를 보도, 비평, 교육, 연구 등을 위하여 정당한 범위 안에서 공정한 관행에
합치되게 인용할 수 있습니다.
④ NDSL에서 제공하는 콘텐츠를 무단 복제, 전송, 배포 기타 저작권법에 위반되는 방법으로 이용할 경우
저작권법 제136조에 따라 5년 이하의 징역 또는 5천만 원 이하의 벌금에 처해질 수 있습니다.
제 14 조 (유료서비스)
① 당 사이트 및 협력기관이 정한 유료서비스(원문복사 등)는 별도로 정해진 바에 따르며, 변경사항은 시행 전에
당 사이트 홈페이지를 통하여 회원에게 공지합니다.
② 유료서비스를 이용하려는 회원은 정해진 요금체계에 따라 요금을 납부해야 합니다.
제 5 장 계약 해지 및 이용 제한
제 15 조 (계약 해지)
회원이 이용계약을 해지하고자 하는 때에는 [가입해지] 메뉴를 이용해 직접 해지해야 합니다.
제 16 조 (서비스 이용제한)
① 당 사이트는 회원이 서비스 이용내용에 있어서 본 약관 제 11조 내용을 위반하거나, 다음 각 호에 해당하는
경우 서비스 이용을 제한할 수 있습니다.
- 2년 이상 서비스를 이용한 적이 없는 경우
- 기타 정상적인 서비스 운영에 방해가 될 경우
② 상기 이용제한 규정에 따라 서비스를 이용하는 회원에게 서비스 이용에 대하여 별도 공지 없이 서비스 이용의
일시정지, 이용계약 해지 할 수 있습니다.
제 17 조 (전자우편주소 수집 금지)
회원은 전자우편주소 추출기 등을 이용하여 전자우편주소를 수집 또는 제3자에게 제공할 수 없습니다.
제 6 장 손해배상 및 기타사항
제 18 조 (손해배상)
당 사이트는 무료로 제공되는 서비스와 관련하여 회원에게 어떠한 손해가 발생하더라도 당 사이트가 고의 또는 과실로 인한 손해발생을 제외하고는 이에 대하여 책임을 부담하지 아니합니다.
제 19 조 (관할 법원)
서비스 이용으로 발생한 분쟁에 대해 소송이 제기되는 경우 민사 소송법상의 관할 법원에 제기합니다.
[부 칙]
1. (시행일) 이 약관은 2016년 9월 5일부터 적용되며, 종전 약관은 본 약관으로 대체되며, 개정된 약관의 적용일 이전 가입자도 개정된 약관의 적용을 받습니다.