KR20120081090A - 최장 프리픽스 매치의 확장성을 개선하기 위한 방법 및 장치 - Google Patents

최장 프리픽스 매치의 확장성을 개선하기 위한 방법 및 장치 Download PDF

Info

Publication number
KR20120081090A
KR20120081090A KR1020127006297A KR20127006297A KR20120081090A KR 20120081090 A KR20120081090 A KR 20120081090A KR 1020127006297 A KR1020127006297 A KR 1020127006297A KR 20127006297 A KR20127006297 A KR 20127006297A KR 20120081090 A KR20120081090 A KR 20120081090A
Authority
KR
South Korea
Prior art keywords
tcam
entry
ram
prefix
entries
Prior art date
Application number
KR1020127006297A
Other languages
English (en)
Other versions
KR101434065B1 (ko
Inventor
블라디미르 밀랴프스키
벤 쉐피
Original Assignee
컴파스 일렉트로-옵티컬 시스템즈 엘티디.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 컴파스 일렉트로-옵티컬 시스템즈 엘티디. filed Critical 컴파스 일렉트로-옵티컬 시스템즈 엘티디.
Publication of KR20120081090A publication Critical patent/KR20120081090A/ko
Application granted granted Critical
Publication of KR101434065B1 publication Critical patent/KR101434065B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • H04L45/74591Address table lookup; Address filtering using content-addressable memories [CAM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • H04L45/7453Address table lookup; Address filtering using hashing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • H04L45/748Address table lookup; Address filtering using longest matching prefix

Abstract

연관 RAM에 결과들을 룩업하기 위한 복수의 프리픽스 엔트리들을 유지하는 TCAM(Ternary Content Addressable Memory)을 포함하는 TCAM-기반의 최장 프리픽스 매치(LPM) 룩업 테이블로서, 연관 RAM은 TCAM 매치 인덱스들에 대응하는 결과들을 저장하며, 추가 RAM(Random Access Memory)은 연관 RAM으로부터 결과들을 저장하며, TCAM에 한 엔트리는 연관 RAM으로부터 추가 RAM에 적어도 2개의 엔트리들을 나타내고, 이에 의해서 TCAM에 적어도 한 엔트리가 가용되게 한다.

Description

최장 프리픽스 매치의 확장성을 개선하기 위한 방법 및 장치{METHOD AND DEVICE FOR IMPROVING SCALABILTY OF LONGEST PREFIX MATCH}
본 발명은 최장 프리픽스 매치(longest prefix match)를 수행하는 장치들의 확장성(scalability)을 개선하기 위한 방법 및 장치에 관한 것이다.
최장 프리픽스 매치(LPM)는 데이터베이스에 저장된 다수의 프리픽스들 중에서 한 주어진 룩업 키와 일치하는 최장 프리픽스를 찾는 문제이다. LPM은 많은 응용들에서 사용될 수 있고 IP 라우팅으로 제한되지 않으나, IP 라우팅은 주요한 LPM 응용들 중 하나이기 때문에, 본 발명은 단지 비제한적 예로서 IP 라우팅의 맥락에서 논의될 것이다.
포워딩 테이블로서도 알려진, 포워딩 정보 베이스(FIB)는 입력 인터페이스가 라우터에 의해 전송될 패킷을 보내야 할 적합한 인터페이스를 발견하기 위해서, 네트워크 브리징, 라우팅, 및 유사 기능들에서 대부분 흔하게 사용된다. 이에 따라, FIB는 대응하는 출력 인터페이스들과 함께 한 세트의 프리픽스들을 내포한다. 포워딩 결정은 룩업 키와 일치하는 최장 프리픽스를 발견함으로써 행해진다. 현재 가장 흔하게 사용되는 룩업 키는 패킷의 IPv4 또는 IPv6 목적지 어드레스이다.
FIB, 또는 LPM을 수행하기 위한 다른 장치는 M-트라이(M-trie), 비트랩 트리, 등과 같은 알고리즘들을 사용함으로써 랜덤 액세스 메모리들(RAM)로 구현되거나, TCAM(Ternary Content Addressable Memories)와 같은 고속 하드웨어 룩업 메커니즘들로 구현될 수 있다. 어드밴스드 RAM-기반 FIB 구현들/알고리즘들이 수백만 프리픽스들을 유지하기에 충분하게 확장가능하나, 이들은 FIB 메모리에의 액세스들의 수는 룩업 키 폭에 달려있기 때문에, 룩업 키 폭 견지에서는 확장가능하지 않다. 일반적으로, 키가 폭이 더 클수록, 더 많은 룩업들이 요구된다.
반면, TCAM-기반의 FIB 또는 LPM 구현에 있어서 룩업 시간은 일정하다. 그러나, TCAM-기반의 FIB들 또는 룩업 테이블들은 프리픽스들의 수에 대해서는 확장가능하지 않다. 최근에 알려진 가장 어드밴스드 TCAM 장치는 최대 0.5M 프리픽스들까지를 유지하는데 사용될 수 있는 40 Mbit의 용량을 갖는다.
따라서, 프리픽스들의 수에 관련해서 그리고 룩업 키 폭에 관련해서 확장가능한 최장 프리픽스 매치 룩업을 수행하기 위한 방법 및 장치에 대한 오랜동안 인식된 필요성이 있다.
본 발명에서 제안되는 솔루션은 자신의 연관(associated) 결과 RAM을 가진 TCAM 장치를 이용하고, 추가(additional) RAM을 추가하고, 추가 RAM 내 복수의 엔트리들을 나타내는 TCAM에 엔트리들을 삽입함으로써 LPM 확장성을 개선하는 것이다. 이 구조는 종래의 방법에서보다 더 적은 TCAM 엔트리들을 갖는 어떤 스케일의 LPM 룩업-테이블을 제공함을 알 것이다. 따라서, 더 작은 TCAM 장치를 사용하거나, 다른 응용들에 의한 가능한 사용을 위해 더 많은 TCAM 엔트리들을 자유롭게 하는 것이 가능하다.
TCAM(Ternary Content Addressable Memory)에 복수의 프리픽스 엔트리들을 배열하고 TCAM 매치 인덱스들에 대응하는 결과들을 연관 결과 RAM(Random Access Memory)에 삽입하는 것을 포함하는 최장 프리픽스 매치 룩업 테이블을 구축하는 방법, 방법은 TCAM에서 단일 엔트리로 감소될 수 있는 적어도 두 개의 프리픽스 엔트리들의 그룹을 선택하는 단계로서, 단일 엔트리는 그룹 내 모든 프리픽스 엔트리들에 대해 공통의 프리픽스로 구성되는 것인, 단계; 한 그룹의 프리픽스들로 나타낸 연관 RAM으로부터 결과들을 추가 RAM에 배열하는 단계; 추가 RAM에 복수의 결과들을 가리키는 단일 TCAM 엔트리로 TCAM 내 일 그룹의 프리픽스 엔트리들을 대체하고, 그럼으로써 TCAM 내 적어도 한 엔트리를 가용하게 하는 단계; 및 연관 RAM 내 엔트리들을 추가 RAM에 엔트리를 가리키는 엔트리로 대체하는 단계를 포함하는,이 본 발명에 따라 제공된다.
또한, 최장 프리픽스 매치(LPM) 룩업을 수행하는 방법이 발명에 따라 제공되는데, 방법은 TCAM(Ternary Content Addressable Memory) 및 연관 결과 RAM(Random Access Memory) 및 추가 RAM을 포함하는 룩업 테이블을 구축하고 유지하는 단계로서, 추가 RAM에 적어도 2개의 엔트리들은 TCAM에 한 엔트리에 의해 나타내는 것인, 단계; TCAM에서 룩업을 수행하는 단계; 추가 RAM에 한 그룹의 결과들을 가리키는 연관 결과 RAM에서 TCAM에 엔트리에 대한 결과를 찾는 단계; 및 이에 응하여, 추가 RAM에 한 그룹의 결과들에 엔트리를 읽음으로써 룩업을 완료하는 단계를 포함한다.
또한, 발명에 따라, 연관 RAM에 결과들을 룩업하기 위한 복수의 프리픽스 엔트리들을 유지하는 TCAM(Ternary Content Addressable Memory)을 포함하는 TCAM-기반의 최장 프리픽스 매치(LPM) 룩업 테이블이 제공되며, 연관 RAM은 TCAM 매치 인덱스들에 대응하는 결과들을 저장하며, 추가 RAM(Random Access Memory)은 연관 RAM으로부터 결과들을 저장하며, TCAM에 한 엔트리는 연관 RAM으로부터 추가 RAM에 적어도 2개의 엔트리들을 나타내고, 이에 의해서 TCAM에 적어도 한 엔트리가 가용되게 한다.
본 발명은 도면들에 관련하여 취해진 다음 상세한 설명으로부터 더 이해되고 알게 될 것이다.
도 1a는 종래 기술에 따라, TCAM 엔트리들에 의해 LPM 장치 엔트리들을 개요적으로 나타낸 것이다.
도 1b는 본 발명의 일실시예에 따라, TCAM 및 추가 RAM 엔트리들에 의해 도 1a의 LPM 엔트리들을 개요적으로 나타낸 것이다.
도 2a는 종래 기술의 또 다른 예에 따라, TCAM 엔트리들에 의해 LPM 장치 엔트리들을 개요적으로 나타낸 것이다.
도 2b는 본 발명의 또 다른 일실시예에 따라, TCAM 및 추가 RAM 엔트리들에 의해 도 2a의 LPM 엔트리들을 개요적으로 나타낸 것이다.
도 3a은 종래 기술의 또 다른 예에 따라, TCAM 엔트리들에 의해 LPM 장치 엔트리들을 개요적으로 나타낸 것이다.
도 3b는 본 발명의 또 다른 실시예에 따라 TCAM 및 추가 RAM 엔트리들에 의해 도 3a의 LPM 엔트리들을 개요적으로 나타낸 것이다.
본 발명은 표준 TCAM-기반의 솔루션들에서보다 더 나은 스케일(엔트리들의 수에 대한)을 달성하기 위해서, TCAM(Ternary Content Addressable Memory)(결과 메모리로서 사용하는 연관된 RAM(Random Access Memory)와 함께) 및 추가 RAM을 사용하여, 최장-프리픽스-매치(LPM) 룩업을 수행하기 위한 방법 및 장치에 관한 것이다. 방법은 TCAM에 연관된 RAM에 결과 데이터의 한 부분과 추가 RAM에 데이터의 한 부분을 저장하고, 추가 RAM에 복수의 엔트리들을 나타내는 TCAM에 엔트리들을 삽입하여, 종래의 TCAM-기반 장치들에서는 점유되었을 엔트리들을 TCAM에서 사용가능하게 함으로써 LPM 확장성을 개선한다.
종래의 TCAM 기반의 LPM 솔루션들에서, 각 LPM 엔트리는 연관된 결과 메모리(연관 RAM)에서 결과를 가리키는 한 TCAM 엔트리로 나타낸다. 본 발명에서, 일 그룹의 LPM 엔트리들은 프리픽스가 이 그룹 내 모든 엔트리들의 공통의 프리픽스인 단일 TCAM 엔트리로 나타낼 수 있다. 이 경우, 연관 RAM 내 각각의 결과는 이 그룹의 LPM 엔트리들 내 각 엔트리의 결과들을 담고 있는 추가 RAM 내 한 어레이의 결과들을 가리킨다.
그런 다음, 룩업 키의 협 부분을 사용하여 추가 RAM 내 엔트리들이 탐색되어, 이에 의해 결과들이 단일 RAM 액세스에서 얻어질 수 있다. 이러한 식으로 하여, 결과 메모리 내 결과들 중 일부가 TCAM에서 룩업 동안 발견될 것이며, 결과들 중 일부는 추가 RAM에서 후속되는 룩업 동안에 발견될 것이다. 요망된다면, 하나(또는 그 이상의) 추가 RAM 액세스가 제공될 수 있음이, 즉 각각은 수용하는 결과들을 가리키는 것인 몇개 층들(layers)의 RAM 어레이들(arrays)이 활성화될 수 있음을 알 것이다. 복수 레벨들의 RAM을 사용하는 알고리즘은 어떤 크기들의 TCAM 및 RAM에 대해서 LPM 엔트리들에 대해 더 나은 스케일을 달성할 수도 있을 것이다. 이 배열의 단점은 복수의 RAM 액세스들이 수행될 것이기 때문에, 룩업 시간이다.
TCAM 엔트리 -이의 프리픽스는 어떤 길이 M을 갖는다- 는 이 TCAM 엔트리와 일치하는 길이 M+N의 모든 가능한 프리픽스들을 내포하는 추가 RAM에 한 어레이의 결과들을 지칭할 수 있다. 이러한 어레이는 2N 엔트리들(길이 M의 어떤 프리픽스와 일치하는 길이 M+N의 프리픽스들의 수)을 내포할 것이며, 어레이를 가리키는 TCAM 엔트리의 프리픽스(길이 M의)와 일치하는 길이들 M 내지 M+N(N 및 M+N도 포함하여)의 프리픽스들을 가진 모든 LPM 엔트리들을 나타낼 것이다. 단일 엔트리에 의해 TCAM에 일 그룹의 LPM 엔트리들을 나타낼 수 있을 때, 이 일 그룹의 결과들은 연관 결과 RAM에서 추가 RAM으로 이동된다. 추가 RAM에 어레이로 나타내는 결과들을 갖는 LPM 엔트리들은 TCAM에서 제거되어 연관 결과 RAM에 새로운 결과를 가리키는 단일 엔트리로 대체될 수 있고 이에 따라 이 새로운 결과는 추가 RAM 내 대응하는 어레이를 가리키게 되고, 이에 따라 주어진 TCAM 크기로 더 큰 LPM 룩업 테이블을 나타낼 수 있게 된다. 대응하는 추가 RAM 어레이에서 후속되는 룩업에서는 룩업 키의 훨씬 더 적은 부분을 사용할 것이며, 즉 단지 비트들 M 내지 (M+N-l)에 대해서만 룩업할 것이므로 결과들은 추가 RAM의 단일 액세스 동안에 얻어질 수 있다.
TCAM 룩업에 의해 나타내어진 연관 RAM 엔트리 내 결과는 더 이상 원래의 결과들(이제 추가 RAM에 있는)을 내포하지 않으나, 실제 결과들을 읽을 수 있게 하는 3개의 파라미터들로서, 시작 비트, 스트라이드(stride) 크기, 및 룩업 키, 시작 비트와 스트라이드 크기에 기초하여 계산된 인덱스를 내포한다. 이들 파라미터들은 추가 RAM 내 어레이의 시작의 위치와, 추가 RAM 내 어레이 내에서 인덱스를 가져오기 위해 사용되어야 하는, 추가 RAM에서 룩업을 수행하게 되는 룩업 키(예를 들면, FIB에, IP 어드레스의 관계된 비트들)의 관계된 비트들을 나타낸다. 전형적으로, 관계된 비트들은 룩업 키의 비트들 M 내지 (M+N-l)이다. LPM 룩업은 TCAM 매치 인덱스에 의해 가르키게 되는 어레이 내에 계산된 인덱스에 대응하는 추가 RAM 내 엔트리를 읽음으로써 완료된다. 결과 어드레스는 이들 값들에 따라 계산되고 추가 RAM 메모리에서 가져온다.
어레이들에 함께 그룹화되지 않는 TCAM 엔트리들에 대한 결과들은 종래의 TCAM 룩업 테이블들에서처럼, TCAM에 연관된 결과 RAM에 놓여진다. 연관 결과 RAM 내 결과에서 비트들 중 하나는 결과(연관 RAM에)의 나머지가 실제 결과인지, 아니면 위에서 설명된 바와 같이 실제 결과가 나타내는 추가 RAM 내 어레이에의 포인터를 내포하는지를 나타내기 위해 사용될 수 있다. 이 방법은 필수적이지 않으나, 결과 프리픽스가 어레이에서 그룹화되지 않을 때 추가 메모리 액세스를 피하기 위해서 유용하다.
본원의 목적을 위해, 2N 엔트리들을 가진 어레이에 대해서, N을 어레이의 스트라이드 크기라 한다. 이에 따라, 스트라이드 크기 N을 가진 어레이를 가리키는 프리픽스-길이 M를 가진 TCAM 엔트리는 M 내지 M+N(M 및 M+N도 포함하여) 범위의 길이의 최대 (2N+1-1) LPM 엔트리들을 나타낸다. 몇몇 스트라이드-크기들이 지원될 수 있고 서로 다른 크기들의 어레이들이 추가 RAM에 공존할 수 있음을 알 것이다.
LPM 테이블을 생성하도록 된 소프트웨어 알고리즘은 어레이들의 생성을 위해 후보 프리픽스들을 스포트(spotting)하고, 새로운 어레이들을 생성할지 아니면 현존의 어레이들을 분해할지도 판단한다. 즉, 몇개의 룩업 키들이 마지막 N 비트들에서만 다르고, 따라서 이들은 TCAM 엔트리들의 수를 감소시킬 목적으로 단일의 한 그룹 또는 어레이에 함께 합쳐질 수 있음에 유의한다. 어떤 어레이들을 생성할지를 고르는 한 가능한 방법은 이들의 "이용도(utilization)" 별로 후보 어레이들의 우선도를 정하는 것이다. 본원에서, 이동도라는 것은 어레이를 생성할 때 감소될 수 있는 TCAM 엔트리들의 수와, 어레이 크기(N의 스트라이드 크기를 가진 어레이에 대해서 2N) 간에 비로서 정의된다.
예를 들면, 이용도에 따라 우선도를 정할 때, 가능한 구현은 어떤 임계값보다 높은 이용도를 가진 후보 어레이들이 생성되게 전역 이용도 임계값들을 사용하는 것을 수반하며, 이용도가 그외 어떤 다른 임계값 미만에 속하는 현존의 어레이들은 분해되고 이들의 LPM 엔트리들은 개별적으로 TCAM에 복귀된다. 룩업 테이블은 특히 FIB 테이블들의 경우에 시간에 따라 변할 수 있기 때문에, 이들 어레이들은 동작 동안 생성되고 분해될 수 있다. 이 예시적 구현예에서, 이용도 임계값은 LPM 룩업을 사용하여 특정 응용에 대해 테스트들을 수행함으로써 최적화될 수 있고, 또한 가용한 TCAM 크기와 알고리즘의 사용에 전용되는 가용한 RAM 크기 간에 비에 의해 매우 영향을 받을 것이다. TCAM 크기에 비해 RAM 크기가 클수록, 허용될 수 있는 이용도 임계값은 더 낮아진다.
예를 들면, IP 라우팅을 살펴보면, 테스트들은 2009년 4월에 인터넷의 포워딩 테이블에서 인터넷 IPv4 엔트리들의 분포를 이용하여, 본 발명의 방법이 다음의 스케일 결과들을 달성할 수도 있을 것임을 보인다:
추가 RAM 엔트리와 TCAM 엔티리들 간에 비 제안된 알고리즘을 사용하여 달성될 수 있는 FIB 엔트리들의 수와 TCAM 엔트리들의 수 간에 비
8:1 ~3.3:1
4:1 ~2.65:1
2:1 ~1.67:1
테이블에서 중간 라인을 보면, 예를 들면, 추가 RAM 메모리(프리픽스 어레이들을 저장하기 위해 사용되는)가 TCAM이 갖는 엔트리들의 수보다 4배를 갖는다면, 알고리즘은 FEB 테이블에 프리픽스들 수의 스케일을 종래의 TCAM 솔루션에 비해 -2.65 배만큼 개선할 수 있다. 예(example)에 수치를 넣으면, 1M 엔트리들을 유지할 수 있는 TCAM 장치 및 4M 엔트리들을 가진 추가 RAM 메모리를 사용할 때, 알고리즘은 -2.65M FIB 엔트리들의 스케일을 달성할 수 있다.
도 1a을 참조하면, 여기에서는 FIB 테이블(20)로서 도시된 LPM 테이블을 개요적으로 도시한 것으로, 종래기술의 일예에 따라, 복수의 FIB 엔트리들을 TCAM 엔트리들에 의해 나타낸 것이다. 볼 수 있는 바와 같이, 각 FIB 엔트리(12)(FIB 테이블 트라이(10)에서 흑점들로서 도시되었다)는 TCAM(22) 내 한 엔트리(14)로 나타내었고, 이것은 연관 결과 RAM(24)에 결과(A 내지 E)(16)를 가리킨다. 노드들(18)(FIB 테이블 트라이(10)에 백색 점들로서 도시되었다)은 실제 FIB 엔트리들이 아니며, 이들은 단지 FIB 테이블 트라이에서 접점들을 나타난 것이며, 따라서 TCAM엔 나타나지 않는다.
도 1b는 본 발명의 일실시예에 따라 도 1a의 FIB 테이블 트라이(10)에 대응하여, FIB 테이블 트라이(31)을 나타내는 FIB 테이블(30)을 개요적으로 나타낸 것이다. FIB 테이블(30)은 이의 연관 결과 RAM(24) 및 추가 RAM(26)과 함께 TCAM(22)을 포함한다. 도 1a 및 도 1b에서 작은 점선 삼각형들(19)은 단일 TCAM 엔트리(즉, 대응하는 결과들은 탐색하기 위해 추가 RAM으로 이전될 수 있다)로 감소될 수 있는 FIB 트라이의 후보 부분을 나타낸다. 이제, 연관 결과 메모리로부터 대응하는 결과 엔트리들은 추가 RAM(26)에 어레이(36)(A,B,C,D)에 저장된다. 따라서, 도 1b에서, TCAM(22)에 단일 TCAM 엔트리(32), 프리픽스 0100*는 4개의 이전의 TCAM 엔트리들(0100*, 01001*, 010000*, 010001*)를 교체하여, TCAM에 3개의 엔트리들이 가용한 상태가 되게 한다. 바람직하게, 한 그룹의 프리픽스들을 교체하는 TCAM에 프리픽스는 그룹 내 모든 엔트리들의 공통 프리픽스이다.
이제 TCAM 룩업에 의해 검색된 결과(34)는 추가 RAM에 어레이(36)의 시작 위치와, 어레이 내에 인덱스(여기에서는 비트 4 및 비트 5로서 예시된)를 검색하기 위해, 룩업이 수행된 엔트리(예를 들면, IP 어드레스)의 관계된 비트들을 내포한다. 이 예에서 보인 감소의 이용도는 22 = 4인 어레이의 크기로 나눈 가용하게 된 TCAM 프리픽스들의 수, 여기에서는 3이다. 따라서, 이 감소는 3/4 또는 75%의 이용도를 갖는다.
도 2a는 종래 기술의 또 다른 예에 따라 TCAM 엔트리들로 LPM 장치 엔트리들을 개요적으로 나타낸 것이다. 이 FIB 테이블 트라이(40)는 노드 0100*가 실제 FIB 엔트리가 아닌 것을 제외하고는 도 1b에 트라이(10)와 유사하다. 종래의 TCAM 기반 LPM 장치에서, 트라이(40)의 엔트리들은 TCAM(42) 및 연관 결과 메모리(44)에 저장된다. 프리픽스 0100*는 실제 FIB 엔트리가 아니기 때문에, TCAM(42) 및 결과 메모리(44) 둘 다는 도 1a에서보다 하나 더 적은 엔트리를 내포한다.
이제 도 2b를 참조하면, FIB 테이블 트라이(50)에 도시된 것으로 본 발명의 또 다른 실시예에 따라 TCAM 및 추가 RAM 엔트리들에 의해 도 2a의 LPM 엔트리들이 도시되었다. 프리픽스 0100*가 실제 FIB 엔트리가 아니라는 사실에도 불구하고, 트라이의 후보 부분의 감소에서 여전히 사용될 수 있다. 따라서, 5 엔트리들 대신에, TCAM(51)에는 3개의 엔트리들이 있다. 엔트리(52)는 연관 결과 RAM(54)에 결과(56)를 가리키는 0100* 프리픽스이다. 감소되었던 TCAM 엔트리들에 대응하는 연관 결과 RAM으로부터의 결과 엔트리들은 추가 RAM(58)에 어레이(57)에 저장된다. 알 수 있는 바와 같이, 추가 RAM(58)에 어레이는 어레이로 감소된 일 그룹의 엔트리들 내 LPM 엔트리에 의해 나타내지 않은 프리픽스 010001*을 포함한다. 이 경우에, 어레이는 "백트랙(backtracking)" 결과, 즉, 실제 노드인 LPM 테이블 트라이에서 그 위에 제 1 노드의 결과, 여기에서는 010*, 결과 E를 포함할 것이다. 즉, 발명에 따라, 어레이가 감소된 그룹에 임의의 LPM 엔트리에 의해 나타내지 않은 길이 M+N의 프리픽스를 포함한다면, 어레이는 백트랙 결과, 즉 M+N의 서브-프리픽스이며 M 미만의 길이를 갖는 테이블에 가장 긴 프리픽스의 결과의 복제를 내포할 것이다. 이 경우에, 어레이 크기가 22 = 4이지만, TCAM 프리픽스들의 수는 2만큼만 감소되고, 이에 따라, 이 감소는 2/4 또는 50%의 이용도를 갖는 것을 알 것이다.
도 3a은 종래 기술의 다른 예에 따라 TCAM 엔트리들에 의해 LPM 장치 엔트리들을 개요적으로 나타낸 것이다. 이 FIB 테이블 트라이(60)은 노드 010010*가 실제 FIB 엔트리가 아닌 것을 제외하고, 도 2b에 트라이(40)와 유사하다. 종래의 TCAM 기반 LPM 장치에서, 트라이(60)의 엔트리들은 TCAM(62) 및 연관 결과 메모리(64)에 저장된다. 프리픽스 010010*은 실제 FIB 엔트리가 아니기 때문에, TCAM(62) 및 결과 메모리(64) 둘 다는 도 2a에서보다 하나 더 작은 엔트리를 내포한다.
도 3b은 FIB 테이블 트라이(70)에 도시된 것으로 본 발명의 다른 실시예에 따라, TCAM 및 추가 RAM 엔트리들에 의해 도 3a의 LPM 엔트리들을 개요적으로 나타낸 것이다. 이 예에서는 TCAM(71)에 3개의 엔트리들이 있다. 여기에서도, 엔트리(72)는 연관 결과 RAM(74)에 결과(76)을 가리키는 0100* 프리픽스이다. 감소되었던 TCAM 엔트리들에 대응하는 결과 RAM으로부터의 결과 엔트리들은 추가 RAM(78)에 어레이(77)에 저장된다. 알 수 있는 바와 같이, 추가 RAM(78)에 어레이는 임의의 LPM 엔트리에 의해서 나타내지 않은 2개의 추가의 프리픽스들 010010* 및 010011*을 포함한다. 이 경우에, 어레이는 "복제(duplication)" 결과를 내포, 즉 이들 엔트리들 둘 다는 동일 결과인 결과 C를 가질 것이다. 즉, 발명에 따라, 어레이에 나타난 M+N 미만의 프리픽스-길이를 가진 LPM 엔트리는 이 M+N 프리픽스를 나타내는 어레이 내 더 많은 특정한 프리픽스(즉, 더 긴 길이의)가 없다면, 이 프리픽스로 나타낸 길이 M+N의 모든 가능한 프리픽스들을 나타내는 어레이 내 몇 개의 결과들에만 전용될 수 있다. 알 수 있는 바와 같이, 이 경우에, 어레이 크기가 22 = 4이지만, TCAM 프리픽스들의 수는 1만큼만 감소되고, 이에 따라, 이 감소는 1/4 또는 25%의 이용도를 갖는다.
요약해서, LPM 룩업은 다음과 같이 본 발명의 LPM 장치에 대해 수행된다. 먼저, TCAM 룩업은 주어진 키에 대해 LPM 장치의 TCAM에서 수행된다. TCAM 매치 인덱스에 대응하는 연관 결과 RAM 엔트리가 읽혀지고, 연관 결과 RAM 엔트리에 룩업 키 및 2개의 파라미터들(시작 비트 및 스트라이드 크기)에 기초하여 인덱스가 계산된다. LPM 룩업은 연관 결과 RAM 엔트리로부터 제 3 파라미터에 의해 가리켜지는 어레이 내에 계산된 인덱스에 대응하는 추가 RAM 내 엔트리를 읽음으로써 완료된다. 이 추가 RAM 엔트리는 주어진 키와 일치하는 가장 긴 프리픽스에 대한 응용 특정의 결과를 내포한다.
LPM 테이블은 새로운 프리픽스들을 테이블에 추가하고 구(old) 프리픽스들을 필요시 테이블로부터 제거함으로써 유지된다. 새로운 프리픽스는 3가지 방법들 중 한 방법으로 테이블에 추가될 수 있다. 첫째로, 종래의 LPM 테이블들에서처럼, 주어진 프리픽스에 대해 TCAM에 새로운 엔트리가 추가될 수 있고, 결과는 대응하는 결과 RAM 엔트리에 기입된다. 대안적으로, 새로운 엔트리와 동일한 프리픽스를 갖는 적합한 어레이의 엔트리들이 이미 추가 RAM에 생성되었다면, 프리픽스 결과는 추가 RAM에 현존의 어레이 내에 대응하는 엔트리에 추가될 수 있다. 적합하다면, 그리고 어떠한 대응하는 어레이도 존재하지 않는다면, 현존의 프리픽스 결과들의 일부와 함께 새로운 프리픽스 결과들을 내포하는 새로운 어레이가 추가 RAM에 생성될 수 있다. 새로이 생성된 어레이를 가리키는 새로운 공통의 프리픽스 결과는 결과 RAM에 기입되고 새로운 공통의 프리픽스는 TCAM에 추가된다. 새로운 어레이에 포함되는 프리픽스들에 대응하는 임의의 현존의 어레이는 이제 분해되고, 모든 각각의 자원들(예를 들면, TCAM 자원들)은 TCAM 및 연관 결과 RAM에 복귀된다.
프리픽스 결과는 결과 RAM 엔트리에 혹은 추가 RAM 엔트리들에 구(old) 결과를 덮어쓰기함으로써 업데이트될 수 있다.
구 프리픽스는 삭제된 프리픽스와 일치하는 최장 프리픽스의 결과에 의해 대응하는 추가 RAM 엔트리에 프리픽스 결과를 덮어쓰기하거나, 더 이상 룩업에 관여하지 않게 주어진 프리픽스에 대해 대응하는 TCAM 엔트리를 무효화함으로써 테이블로부터 제거될 수 있다.
발명이 제한된 수의 실시예들에 관하여 기술되었으나, 발명의 많은 변형들, 수정들 및 그외 적용들이 행해질 수 있음을 알 것이다. 또한, 발명은 단지 예로서 위에 기술된 것으로 제한되지 않음을 알 것이다. 그보다는 발명은 다음의 청구항들에 의해서만 제한된다.

Claims (16)

  1. TCAM(Ternary Content Addressable Memory)에 복수의 프리픽스 엔트리들을 배열하고 상기 프리픽스 엔트리들의 TCAM 매치 인덱스들에 대응하는 결과들을 연관 결과 RAM(Random Access Memory)에 삽입하는 것을 포함하는 최장 프리픽스 매치 룩업 테이블을 구축하는 방법에 있어서,
    상기 TCAM에서 단일 엔트리로 감소될 수 있는 적어도 두 개의 상기 프리픽스 엔트리들의 그룹을 선택하는 단계로서, 단일 엔트리는 상기 그룹 내 모든 프리픽스 엔트리들에 대해 공통의 프리픽스로 구성되는 것인, 단계;
    상기 그룹의 프리픽스들로 나타낸 상기 연관 RAM(associated RAM)으로부터 결과 엔트리들을 추가 RAM에 배열하는 단계;
    상기 추가 RAM(additional RAM)에 상기 엔트리들을 가리키는 결과 엔트리로 상기 연관 RAM 내 상기 결과 엔트리들을 대체하는 단계; 및
    상기 TCAM 내 상기 그룹의 프리픽스 엔트리들을 상기 연관 RAM에 상기 결과 엔트리를 가리키는 상기 단일 TCAM 엔트리로 대체하여 상기 TCAM에 적어도 한 엔트리를 가용하게 하는 단계를 포함하는, 방법.
  2. 청구항 1에 있어서, 어레이에 상기 추가 RAM 내 상기 복수의 결과 엔트리들을 배열하는 단계를 더 포함하고, 상기 어레이는 상기 단일 TCAM 엔트리에 일치하는 모든 가능한 프리픽스들을 내포하는, 방법.
  3. 청구항 2에 있어서, 새로운 프리픽스 엔트리를 상기 룩업 테이블에 추가하는 단계를 더 포함하고,
    상기 새로운 프리픽스 엔트리를 상기 TCAM에 추가하는 단계;
    상기 추가 RAM에서 상기 새로운 프리픽스 엔트리와 공통의 프리픽스를 갖는 어레이를 탐색하는 단계; 및
    상기 어레이가 발견된다면, 상기 새로운 프리픽스 엔트리에 대응하는 결과를 상기 어레이에 추가하는 단계에 의한, 방법.
  4. 청구항 2에 있어서, 새로운 프리픽스 엔트리를 상기 룩업 테이블에 추가하는 단계를 더 포함하고, 새로운 프리픽스 엔트리를 상기 TCAM에 추가하고, 상기 새로운 프리픽스 엔트리의 매치 인덱스에 대응하는 결과를 상기 연관 결과 RAM에 기입하는 것에 의한, 방법.
  5. 청구항 2에 있어서, 새로운 프리픽스 엔트리를 상기 룩업 테이블에 추가하는 단계를 더 포함하고,
    새로운 프리픽스 엔트리를 상기 TCAM에 입력하는 단계;
    상기 TCAM에 적어도 하나의 현존의 프리픽스 엔트리의 매치 인덱스에 대응하는 결과들 및 상기 새로운 프리픽스 엔트리의 매치 인덱스에 대응하는 결과들을 내포하는 새로운 어레이를 상기 추가 RAM에 생성하는 단계,
    상기 새로운 어레이를 가리키는 상기 연관 RAM에 새로운 공통의 프리픽스 결과를 입력하는 단계;
    상기 새로운 프리픽스 엔트리 대신에 상기 새로운 공통의 프리픽스를 상기 TCAM에 입력단계에 의한, 방법.
  6. 청구항 5에 있어서, 상기 새로운 어레이 및 모든 각각의 자원들(resources)에 포함된 프리픽스들에 대응하는 모든 현존의(exsiting) 어레이들을 분해하는 단계를 더 포함하는, 방법.
  7. 청구항 1에 있어서, 상기 룩업 테이블로부터 프리픽스 엔트리를 삭제하는 단계를 더 포함하고, 상기 삭제된 프리픽스 엔트리에 대응하는 상기 추가 RAM 내 상기 결과를 상기 삭제된 프리픽스 엔트리와 일치하는 최장 프리픽스의 결과로 덮어쓰기에 의한, 방법.
  8. 청구항 1에 있어서, 상기 주어진 프리픽스에 대해 대응하는 TCAM 엔트리를 무효화함으로써 상기 테이블로부터 프리픽스를 삭제하는 단계;
    상기 결과 RAM 엔트리 또는 추가 RAM 엔트리(들)에 상기 구 결과를 덮어쓰기함으로써 상기 프리픽스 결과를 업데이트하는 단계를 더 포함하는, 방법.
  9. 청구항 1에 있어서, 상기 엔트리가 상기 추가 RAM에 룩업 결과들 또는 룩업 결과들에의 포인터를 내포하는지를 나타내는 비트를 상기 결과 RAM에 각 엔트리에 제공하는 단계를 더 포함하는, 방법.
  10. 청구항 1에 있어서,
    상기 선택하는 단계는 하나 이상의 그룹을 선택하는 단계를 포함하고, 상기 배열하는 단계는 상기 각 그룹으로부터 결과들을 상기 추가 RAM에 대응하는 어레이에 배열하는 단계;
    상기 대체하는 단계는 상기 TCAM에 상기 한 그룹의 프리픽스 엔트리들 각각을 단일 TCAM 엔트리로 대체하는 단계; 및
    상기 연관 RAM에 엔트리를 대체하는 단계는 상기 엔트리들을 상기 추가 RAM내 상기 대응하는 어레이들을 가리키는 엔트리들로 대체하는 단계를 포함하는, 방법.
  11. 최장 프리픽스 매치(LPM) 룩업을 수행하는 방법에 있어서,
    TCAM(Ternary Content Addressable Memory), 연관 결과 RAM(Random Access Memory) 및 추가 RAM; 상기 추가 RAM에 적어도 2개의 엔트리들은 상기 TCAM에 한 엔트리에 의해 나타내는 것을 포함하는 룩업 테이블을 구축하고 유지하는 단계;
    상기 TCAM에서 룩업을 수행하는 단계;
    상기 추가 RAM에 한 그룹의 결과들을 가리키는 상기 연관 결과 RAM에서 상기 TCAM에 엔트리에 대한 결과를 찾는 단계; 및
    이에 응하여, 상기 추가 RAM에 상기 그룹의 결과들에 엔트리를 읽음으로써 상기 룩업을 완료하는 단계를 포함하는, 방법.
  12. 청구항 11에 있어서,
    TCAM 매치 인덱스를 발견하기 위해 주어진 키에 대한 TCAM 룩업을 수행하는 단계;
    상기 TCAM 매치 인덱스에 대응하는 연관 결과 RAM 엔트리를 읽는 단계로서, 상기 결과 RAM 엔트리는 시작 비트 및 스트라이드 크기를 포함하는 것인, 단계;
    상기 결과 RAM 엔트리로부터 상기 룩업 키 및 상기 시작 비트 및 스트라이드 크기에 기초하여 인덱스를 계산하는 단계; 및
    상기 계산된 인덱스에 대응하는 추가 RAM 엔트리를 읽음으로써 상기 LPM 룩업을 완료하는 단계를 포함하는, 방법.
  13. 청구항 12에 있어서,
    상기 룩업 테이블은 상기 TCAM에 대응하는 엔트리들을 갖는 실제 노드들 및 상기 TCAM에 어떠한 대응하는 엔트리들도 갖지 않는 노드들을 포함하는 테이블 트라이에 의해 나타내며,
    상기 구축 및 유지 단계는 상기 TCAM에 아무 엔트리도 없는 각 노드에 대응하는 상기 어레이에 실제 노드인 상기 테이블 트라이에 더 짧은 프리픽스를 갖는 제 1 실제 노드의 결과를 삽입하는 단계를 더 포함하는, 방법.
  14. 청구항 12에 있어서, 상기 구축 및 유지 단계는 상기 어레이 내 하나 이상의 엔트리에 결과를 삽입하는 단계를 더 포함하는, 방법.
  15. TCAM(Ternary Content Addressable Memory)-기반의 최장 프리픽스 매치(LPM) 룩업 테이블에 있어서,
    TCAM 및 연관 결과 RAM(Random Access Memory); 및 추가 RAM을 포함하며,
    상기 추가 RAM에 적어도 2개의 엔트리들은 상기 TCAM에 한 엔트리와 상기 연관 결과 RAM에 한 엔트리로 나타내는 것인, 최장 프리픽스 매치 룩업 테이블.
  16. 청구항 14에 있어서,
    상기 TCAM는 연관 RAM에서 결과들을 룩업하기 위한 복수의 프리픽스 엔트리들을 유지하는 TCAM이며,
    상기 연관 RAM은 상기 프리픽스 엔트리들의 TCAM 매치 인덱스들에 대응하는 결과들을 저장하며,
    상기 추가 RAM은 상기 연관 RAM으로부터 결과들을 저장하며;
    상기 TCAM에 한 엔트리는 상기 연관 RAM으로부터 상기 추가 RAM에 적어도 2개의 엔트리들을 나타내고, 이에 의해서 상기 TCAM에 적어도 한 엔트리를 사용가능하게 하는, 최장 프리픽스 매치 룩업 테이블.
KR1020127006297A 2009-08-16 2010-08-16 최장 프리픽스 매치의 확장성을 개선하기 위한 방법 및 장치 KR101434065B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/541,950 2009-08-16
US12/541,950 US9049157B1 (en) 2009-08-16 2009-08-16 Method and device for improving scalability of longest prefix match
PCT/IL2010/000661 WO2011021187A1 (en) 2009-08-16 2010-08-16 Method and device for improving scalability of longest prefix match

Publications (2)

Publication Number Publication Date
KR20120081090A true KR20120081090A (ko) 2012-07-18
KR101434065B1 KR101434065B1 (ko) 2014-08-25

Family

ID=43003441

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020127006297A KR101434065B1 (ko) 2009-08-16 2010-08-16 최장 프리픽스 매치의 확장성을 개선하기 위한 방법 및 장치

Country Status (6)

Country Link
US (1) US9049157B1 (ko)
EP (1) EP2288092A1 (ko)
JP (1) JP2013502020A (ko)
KR (1) KR101434065B1 (ko)
CN (1) CN102597973B (ko)
WO (1) WO2011021187A1 (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9680747B2 (en) * 2012-06-27 2017-06-13 Futurewei Technologies, Inc. Internet protocol and Ethernet lookup via a unified hashed trie
CN103345479A (zh) * 2013-06-18 2013-10-09 苏州雄立科技有限公司 一种tcam的新型工作模式
US9602407B2 (en) 2013-12-17 2017-03-21 Huawei Technologies Co., Ltd. Trie stage balancing for network address lookup
CN105516001A (zh) * 2014-09-22 2016-04-20 中兴通讯股份有限公司 控制软复位后数据恢复的方法、装置及分组传送网设备
US10489455B2 (en) 2014-11-18 2019-11-26 Globalfoundries U.S. Inc. Scoped search engine
CN105812262A (zh) * 2016-03-10 2016-07-27 盛科网络(苏州)有限公司 一种在带有掩码管理的tcam中高效数据排序的实现方法
CN112039782B (zh) * 2017-01-25 2022-01-18 华为技术有限公司 多分支跳转协处理方法及装置
CN109857682B (zh) * 2017-11-30 2021-10-01 华为技术有限公司 数据访问方法、存储器及处理器
US10397115B1 (en) * 2018-04-09 2019-08-27 Cisco Technology, Inc. Longest prefix matching providing packet processing and/or memory efficiencies in processing of packets
CN111291058B (zh) * 2020-03-17 2023-06-16 芯启源(南京)半导体科技有限公司 一种基于分层pc-trie结构的LPM规则存储方法

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3970448B2 (ja) * 1998-12-21 2007-09-05 株式会社日立製作所 情報中継方法および装置
US6691218B2 (en) * 1999-12-10 2004-02-10 Mosaid Technologies, Inc. Method and apparatus for longest match address lookup
US6502163B1 (en) * 1999-12-17 2002-12-31 Lara Technology, Inc. Method and apparatus for ordering entries in a ternary content addressable memory
US6947931B1 (en) * 2000-04-06 2005-09-20 International Business Machines Corporation Longest prefix match (LPM) algorithm implementation for a network processor
JP2002208945A (ja) 2001-01-10 2002-07-26 Fujitsu Ltd パケットの宛先情報管理装置
US6910097B1 (en) 2001-04-09 2005-06-21 Netlogic Microsystems, Inc. Classless interdomain routing using binary content addressable memory
US8112578B2 (en) * 2001-11-01 2012-02-07 Micron Technology, Inc. Low power, hash-content addressable memory architecture
US7299317B1 (en) 2002-06-08 2007-11-20 Cisco Technology, Inc. Assigning prefixes to associative memory classes based on a value of a last bit of each prefix and their use including but not limited to locating a prefix and for maintaining a Patricia tree data structure
US20060059196A1 (en) * 2002-10-03 2006-03-16 In4S Inc. Bit string check method and device
US7356033B2 (en) * 2002-11-21 2008-04-08 Lucent Technologies Inc. Method and apparatus for performing network routing with use of power efficient TCAM-based forwarding engine architectures
KR100512949B1 (ko) * 2003-02-28 2005-09-07 삼성전자주식회사 필드레벨 트리를 이용한 패킷분류장치 및 방법
US7571156B1 (en) * 2003-03-28 2009-08-04 Netlogic Microsystems, Inc. Network device, storage medium and methods for incrementally updating a forwarding database
JP3795881B2 (ja) * 2003-10-06 2006-07-12 日本電信電話株式会社 テーブル検索方法および装置
US20050083937A1 (en) * 2003-10-15 2005-04-21 Hyesook Lim IP address lookup method using pipeline binary tree, hardware architecture, and recording medium
US7555594B2 (en) 2004-07-22 2009-06-30 Netlogic Microsystems, Inc. Range representation in a content addressable memory (CAM) using an improved encoding scheme
KR100612256B1 (ko) * 2005-01-14 2006-08-14 삼성전자주식회사 터너리 내용 주소화 메모리 관리 장치 및 그 방법
US7707217B2 (en) * 2005-01-24 2010-04-27 3Com Corporation Trie search engines and ternary CAM used as pre-classifier
US7856523B2 (en) 2005-06-01 2010-12-21 Microsoft Corporation Random Access Memory (RAM) based Content Addressable Memory (CAM) management
US7653670B2 (en) 2005-11-28 2010-01-26 Nec Laboratories America, Inc. Storage-efficient and collision-free hash-based packet processing architecture and method
US7933282B1 (en) * 2007-02-08 2011-04-26 Netlogic Microsystems, Inc. Packet classification device for storing groups of rules
US8089961B2 (en) * 2007-12-07 2012-01-03 University Of Florida Research Foundation, Inc. Low power ternary content-addressable memory (TCAMs) for very large forwarding tables
CN101350801B (zh) 2008-03-20 2012-10-10 中兴通讯股份有限公司 长循环前缀帧结构下行专用导频与物理资源块的映射方法

Also Published As

Publication number Publication date
JP2013502020A (ja) 2013-01-17
CN102597973B (zh) 2015-04-22
CN102597973A (zh) 2012-07-18
KR101434065B1 (ko) 2014-08-25
WO2011021187A1 (en) 2011-02-24
EP2288092A1 (en) 2011-02-23
US9049157B1 (en) 2015-06-02

Similar Documents

Publication Publication Date Title
KR101434065B1 (ko) 최장 프리픽스 매치의 확장성을 개선하기 위한 방법 및 장치
US7774538B2 (en) Method for ternary contents address memory table management
KR100586461B1 (ko) 파이프라인 이진 트리를 이용한 ip 어드레스 검색 방법,하드웨어 구조 및 기록매체
EP2159708B1 (en) Method for selecting hash function, method for storing and searching routing table and devices thereof
US7715385B2 (en) Default route coding
EP2040184B1 (en) Database and database processing methods
US20050171959A1 (en) Efficient ipv4/ipv6 best matching prefix method and apparatus
CN107528783B (zh) 利用对前缀长度进行两个搜索阶段的ip路由缓存
US10148571B2 (en) Jump on a match optimization for longest prefix match using a binary search tree
US7478109B1 (en) Identification of a longest matching prefix based on a search of intervals corresponding to the prefixes
US20040044868A1 (en) Method and apparatus for high-speed longest prefix match of keys in a memory
US6917954B2 (en) Load balancing in IP address lookup
US20190294549A1 (en) Hash Table-Based Mask Length Computation for Longest Prefix Match Caching
JP2006246488A (ja) ネットワーク・ルータ、アドレス処理方法及びコンピュータ・プログラム
CN115086221B (zh) 一种报文处理方法、装置、转发设备和存储介质
US9396286B2 (en) Lookup with key sequence skip for radix trees
KR101587756B1 (ko) 블룸 필터 선-검색을 이용한 스트링 정보 검색 장치 및 방법
CN107204926B (zh) 预处理cache的路由快速查找方法
EP3319279B1 (en) Ip routing lookup
JP3754043B2 (ja) データ検索装置
KR100460188B1 (ko) 인터넷 프로토콜 주소 룩-업 방법
US20240015102A1 (en) Longest prefix matching
JP3699374B2 (ja) 経路表更新方法およびプログラムおよび記録媒体
JP2002305539A (ja) 連想メモリおよび経路表検索方法
KR20050043035A (ko) 복수의 해슁 함수를 이용한 ip 어드레스 검색 방법 및하드웨어 구조

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170809

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180821

Year of fee payment: 5