KR100590891B1 - 라우팅 시스템의 룩업메모리 최적화장치 및 그 방법 - Google Patents

라우팅 시스템의 룩업메모리 최적화장치 및 그 방법 Download PDF

Info

Publication number
KR100590891B1
KR100590891B1 KR1020040054940A KR20040054940A KR100590891B1 KR 100590891 B1 KR100590891 B1 KR 100590891B1 KR 1020040054940 A KR1020040054940 A KR 1020040054940A KR 20040054940 A KR20040054940 A KR 20040054940A KR 100590891 B1 KR100590891 B1 KR 100590891B1
Authority
KR
South Korea
Prior art keywords
information
packet
address
routing system
destination
Prior art date
Application number
KR1020040054940A
Other languages
English (en)
Other versions
KR20060005936A (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 삼성전자주식회사
Priority to KR1020040054940A priority Critical patent/KR100590891B1/ko
Publication of KR20060005936A publication Critical patent/KR20060005936A/ko
Application granted granted Critical
Publication of KR100590891B1 publication Critical patent/KR100590891B1/ko

Links

Images

Classifications

    • 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/60Router architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1056Simplification

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명은 라우팅 시스템의 룩업메모리에 관한 것으로, 상기 라우팅 시스템의 초기화 시, 상기 룩업메모리를 적어도 하나 이상의 영역으로 분할하고, 패킷의 포워딩 여부를 결정하기 위한 액세스 제어 리스트 정보의 추가 요청이 있는 경우, 상기 액세스 제어 리스트 정보를 상기 룩업메모리의 분할된 영역에 분류하여 저장하여 룩업메모리에 저장되는 엔트리(entry) 수를 최적화시킴으로써 룩업메모리의 낭비를 줄이는 룩업메모리 최적화 장치 및 그 방법을 제안한다.
라우팅 시스템, 룩업메모리, 최적화, 엔트리, TCAM, ZBT SRAM

Description

라우팅 시스템의 룩업메모리 최적화장치 및 그 방법{APPARATUS AND METHOD FOR OPTIMIZING LOOKUP MEMORY IN ROUTING SYSTEM}
도 1은 종래 라우팅 시스템을 나타내는 도면.
도 2는 종래 라우팅 시스템의 메모리간의 연결관계를 나타내는 도면.
도 3은 종래 라우팅 시스템의 메모리에서 확장된 엔트리의 일 예를 나타내는 도면.
도 4는 본 발명의 일 실시예에 따른 라우팅 시스템의 룩업메모리 최적화 장치를 나타내는 도면.
도 5는 본 발명의 일 실시예에 따른 룩업메모리 최적화 장치에서 메모리간의 연결관계를 나타내는 도면.
도 6은 본 발명의 일 실시예에 따른 룩업메모리 최적화 장치의 엔트리 추가방법과 상응하는 동작 플로우챠트를 나타내는 도면.
도 7a 내지 도 7b는 도 6에 도시된 룩업메모리 최적화 장치의 엔트리 추가동작을 수행하는 과정에서 발생되는 정보를 나타내는 도면.
도 8은 본 발명의 일 실시예에 따른 룩업메모리의 최적화 장치의 룩업처리동작과 상응하는 동작 플로우챠트를 나타내는 도면.
<도면의 주요 부분에 대한 부호의 설명>
400 : 네트워크 프로세서 402 : 인터페이스부
404 : 엔트리 관리부 406 : 제어부
408 : 룩업 처리부 410 :TCAM
412 : 제1저장부 414 : 제2저장부
420 : 보조메모리 422 : 제1보조 저장부
424 : 제2보조 저장부
본 발명은 라우팅 시스템의 룩업메모리 최적화에 관한 것으로, 더욱 상세히는 룩업 메모리에 저장되는 라우팅 엔트리(entry) 수를 최적화시킴으로써 룩업 메모리의 낭비를 줄이는 룩업메모리 최적화 장치 및 그 방법에 관한 것이다.
현재 고속 라우터의 개발을 위해서 제안되고 있는 IP 룩업 기술은 크게 내용 주소 메모리(Content Addressable Memory;이하, "CAM"이라 칭함)나 캐싱(cashing), 라지 메모리(large memory) 구조를 이용하는 하드웨어를 기반으로 하는 기술과, LC(Level Compressed)트리(trie), 해싱(hashing), 멀티비트 트리(multi-bit trie)와 같은 소프트웨어를 기반으로 하는 기술로 나눌 수 있다. 소프트웨어에 의한 IP 주소 룩업의 구현은 보다 유연하고 프로토콜의 수정으로 쉽게 적용될 수 있는 장점 은 가지고 있지만, 고속의 패킷 처리속도에서 하드웨어 기반의 IP 룩업기술보다는 느린 단점이 있다. 이에 따라 오늘날 주된 라우터 벤더(vender)들은 하드웨어에 의해 IP 주소 룩업을 행하는 고속 라우터를 생산하고 있다.
하드웨어에 의한 IP 룩업 기능을 구현하기 위해 사용되는 CAM은 정확한 매치(match)검색 동작을 하나의 클럭 주기에 실행한다. CAM은 입력되는 검색 키(search key)를 CAM 내의 모든 엔트리들, 즉 CAM 내에서 물리적으로 분할된 세그먼트들에 저장된 모든 요소들과 병렬로 비교하고, 그 결과로서, 검색키와 매칭된 요소가 저장된 물리적 세그먼트들의 주소를 출력한다. 이때 매칭된 요소와 관련된 어떤 데이터가 있다면, 이 데이터 또한 출력된다. 이처럼 CAM은 검색키를 CAM 내의 모든 엔트리들과 병렬로 비교하여 출력함으로써 신속한 검색이 가능하게 되는데, 통상적으로 10 ~ 20ns 이내의 매우 짧은 잠재(latency) 시간이 소요된다.
한편, 터너리(ternary) CAM은 입력되는 검색키를 여러 가지 길이의 저장요소들과 비교가 가능한 좀 더 유연한 CAM의 한 종류이고, 3가지 상태 즉, 로직 '1'상태, 로직 '0'상태, 그리고 '돈 캐어(don't care)'상태를 이용하여 정보를 저장한다.
이러한, 터너리 CAM을 이용한 종래 라우팅 시스템이 도 1에 도시되어 있다.
도 1에 도시된 바와 같이, 종래 라우팅 시스템은, 네트워크 프로세서(100), 터너리 CAM(110), 보조메모리(120)를 포함한다.
네트워크 프로세서(100)는 인터페이스부(102), 엔트리 관리부(104), 룩업 처리부(106)를 포함한다.
인터페이스부(102)는 사용자로부터 CLI(Command Line Interface)를 통하여 입력된 접근제어리스트(Access Control List;이하, "ACL"이라 칭함) 정보와 터너리 CAM(110)에 임의의 ACL을 추가/삭제하기 위한 정보를 포함한 엔트리 관리정보를 엔트리 관리부(104)에 제공한다. 여기서, ACL은 라우팅 시스템으로 전송된 패킷의 포워딩 여부를 결정하기 위한 정보를 나타내며, ACL에 포함되는 정보는 사용자의 필요에 따라 달라질 수 있다. 예로, ACL은 소스 IP 주소, 목적 IP 주소, 수신 포트번호, 송신 포트번호, 프로토콜종류, 패킷의 포워딩 여부에 대한 정보를 포함할 수 있지만, 여기에 한정되는 것은 아니다.
엔트리 관리부(104)는 인터페이스부(102)에서 제공된 엔트리 관리정보가 임의의 ACL을 추가하기 위한 정보인 경우, 사용자로부터 CLI를 통하여 입력된 ACL을 터너리 CAM(110)의 엔트리 포맷으로 변환하여 터너리 CAM(110)에 저장한다. 한편, 엔트리 관리부(104)는 인터페이스부(102)에서 제공된 엔트리 관리정보가 터너리 CAM(110)에 저장된 임의의 ACL을 삭제하기 위한 정보인 경우, 터너리 CAM(110)에 저장된 해당 ACL를 삭제한다.
룩업 처리부(106)는 패킷이 수신된 경우, 미리 설정된 ACL의 엔트리 포맷에 맞춰 수신된 패킷을 분류한 다음, 분류된 수신 패킷의 ACL을 이용하여 수신된 패킷의 포워딩 여부를 검사하기 위해 터너리 CAM(110)과 보조메모리(120)를 룩업 한다.
룩업 처리부(106)는 이렇게 터너리 CAM(110)과 보조메모리(120)를 룩업 결과 얻어진 수신 패킷의 포워딩 여부 정보에 따라 패킷 포워딩 여부를 결정한다.
터너리 CAM(110)은 적어도 하나 이상의 ACL을 저장하고 있으며, 보조메모리 (120)는 상기 ACL에 대응되는 패킷의 포워딩 여부에 대한 정보를 포함하는 패킷 포워딩 정보가 저장되어 있으며, ZBT(Zero Bus Turnaround) SRAM으로 구현될 수 있다. 여기에서 패킷의 포워딩 여부에 대한 정보는 네트워크 프로세서로 수신된 패킷에 대하여 포워딩의 허가(permit)/거부(deny)에 대한 정보를 포함한다.
터너리 CAM(110)과 보조메모리(120)와 연결관계를 나타내는 도면이 도 2에 도시되어 있다.
도 2에 도시된 바와 같이, 터너리 CAM(110)의 ACL과 보조메모리(120)의 패킷 포워딩 정보는 각각 대응되어 있으며, 터너리 CAM(110)에 저장되는 ACL 엔트리는 패킷이 생성된 소스 IP주소, 패킷이 최종적으로 전송될 목적 IP 주소, 소스 IP 주소로부터 패킷이 수신된 네트워크 프로세서(100)의 포트번호를 나타내는 소스포트번호, 네트워크 프로세서(110)로부터 목적지 IP 주소로 패킷이 전송될 포트번호를 나타내는 목적포트번호, 소스 IP 주소의 단말과 목적지 IP 주소의 단말 사이에 패킷의 전송이 이루어지도록 하기 위한 프로토콜 정보를 포함하고 있다.
그리고, 도 2에 도시된 ACL 엔트리 중, 소스포트번호와 목적포트번호는 각각 16비트로 표현할 수 있다. 따라서, 소스포트번호와 목적포트번호는 각각 65536(216)개 존재할 수 있다.
도 3은 도 2에 도시된 ACL 엔트리 중, 각각 65536개인 소스포트번호와 목적 포트번호가 엔트리 확장을 통하여 30개로 감소된 터너리 CAM(110)의 엔트리를 나타내는 도면이다.
도 3을 참조하면, 소스포트 번호범위/목적포트 번호범위가 1 ~ 65534인 경우, 즉 소스포트/목적포트가 65535개 존재하는 경우, 하나의 ACL에 대해 소스포트 엔트리/목적포트 엔트리가 각각 30개씩 존재할 수 있음을 나타낸다. 예로, 두 번째 엔트리는 "000000000000001x"로 표현되는데, 이는 "0000000000000010"과 "0000000000000011"의 각각 최하위 비트 논리 '0'과 논리 '1'이 돈 캐어(don't care) 처리되는 과정을 거쳐서 얻어짐을 나타낸다. 결국, 하나의 ACL 대해서 터너리 CAM(110)에 900개(소스포트 엔트리 30개 ×목적포트 엔트리 30개)의 엔트리가 존재할 수 있음을 나타낸다. 터너리 CAM(110)에 저장된 ACL의 엔트리는 소스 IP주소, 목적 IP주소, 소스/목적 포트번호, 프로토콜의 5개 터플(tuple)로 구성되어 있고, 총 104비트이다. 따라서 도 2에 도시된 바와 같은 ACL의 엔트리는 터너리 CAM(110)에서 '104 ×900(93600)' 비트만큼의 공간을 차지할 수 있다.
그런데, ACL 엔트리의 5개 터플 중, 소스 IP주소, 목적 IP주소, 프로토콜의 경우는 확장된 엔트리에도 동일하게 적용되므로 터너리 CAM(110)에서 '72 ×900(64800)' 비트만큼의 메모리 영역낭비를 가져올 수 있다. 이 경우는 IPv4에 해당되는 경우이고, IPv6에 적용되는 경우에는 소스 IP주소(128비트), 목적 IP주소(128비트), 프로토콜(8비트)을 지원해야 하므로 터너리 CAM(110)에서 낭비되는 메모리 영역이 더 많아지게 된다.
따라서, 본 발명은 상기와 같은 문제점을 해결하기 위하여 창안된 것으로, 룩업 메모리에 저장되는 라우팅 엔트리(entry) 수를 최적화시킴으로써 룩업 메모리의 낭비를 줄이는 룩업메모리 최적화 장치 및 그 방법을 제공하는 것에 그 목적이 있다.
상기 목적을 달성하기 위한 본 발명의 일 측면에 따른 룩업메모리를 포함한 라우팅 시스템에서 룩업메모리 최적화 방법은, 상기 라우팅 시스템의 초기화 시, 상기 룩업메모리를 적어도 하나 이상의 영역으로 분할하는 단계, 패킷의 포워딩 여부를 결정하기 위한 액세스 제어 리스트 정보의 추가 요청이 있는 경우, 상기 액세스 제어 리스트 정보를 상기 룩업메모리의 분할된 영역에 분류하여 저장하는 단계, 임의의 패킷이 수신된 경우, 상기 영역 분할된 룩업메모리에 저장된 액세스 제어 리스트 정보를 이용하여 상기 수신된 패킷의 포워딩을 처리하는 단계를 포함한다.
상기 액세스 제어 리스트 정보는, 상기 패킷이 생성된 소스 IP 주소정보, 상기 패킷이 전송될 목적 IP 주소정보, 상기 패킷이 라우팅 시스템으로 수신된 포트의 번호를 나타내는 수신포트정보, 상기 패킷이 라우팅 시스템으로부터 다음 경로로 전송되기 위한 포트의 번호를 나타내는 목적포트정보, 상기 소스 IP 주소의 단말과 목적 IP 주소의 단말간의 통신을 위한 프로토콜 정보, 상기 액세스 제어 리스트 정보를 식별하기 위한 식별자 정보, 상기 패킷이 상기 라우팅 시스템에서 다음 경로로의 포워딩 진행여부를 나타내는 포워딩 진행 정보 중 적어도 어느 하나를 포함한다.
상기 액세스 제어 리스트 정보를 상기 룩업메모리의 분할된 영역에 분류하여 저장하는 단계는, 상기 소스 IP 주소, 목적 IP 주소, 프로토콜 정보 중 적어도 어느 하나를 상기 룩업메모리의 제1영역에 저장하는 단계, 상기 식별자 정보, 소스 포트정보, 목적 포트정보 중 적어도 어느 하나를 상기 룩업메모리의 제2영역에 저장하는 단계, 상기 식별자 정보를 상기 룩업메모리의 제3영역에 저장하는 단계, 상기 패킷의 포워딩 진행정보를 상기 룩업메모리의 제4영역에 저장하는 단계를 포함한다.
상기 본 발명의 일 측면에 따른 룩업메모리 최적화 방법은, 상기 수신된 액세스 제어 리스트 정보 중 소스/목적 포트의 범위가 존재하는지를 검사하는 단계, 상기 소스/목적 포트의 범위가 존재하는 경우, 상기 소스/목적 포트의 범위에 따른 룩업메모리에 저장될 상기 액세스 제어 리스트의 엔트리 수를 결정하는 단계를 더 포함할 수 있다.
상기 포워딩을 처리하는 단계는, 상기 수신된 패킷의 송수신 정보와 일치하는 정보가 상기 룩업메모리의 제1영역에 있는지를 검사하는 단계, 상기 수신된 패킷의 송수신정보와 일치하는 정보가 있는 경우, 상기 송수신정보와 일치된 제1영역의 정보와 맵핑되는 제3영역의 식별자 정보가 포함된 상기 라우팅 시스템의 인터페이스 정보가 제2영역에 있는지를 검사하는 단계, 상기 라우팅 시스템의 인터페이스 정보가 있는 경우, 상기 라우팅 시스템의 인터페이스 정보와 맵핑되는 제4영역에 저장된 패킷 포워딩 진행정보에 따라 상기 수신된 패킷의 포워딩을 처리하는 단계를 포함한다.
상기 수신된 패킷의 송수신 정보는, 상기 패킷이 생성된 소스 IP 주소정보, 상기 패킷이 전송될 목적 IP 주소정보, 상기 소스 IP 주소의 단말과 목적 IP 주소의 단말 사이의 통신을 위한 프로토콜 정보 중 적어도 어느 하나를 포함한다.
상기 라우팅 시스템의 인터페이스 정보는, 상기 식별자 정보, 상기 패킷이 라우팅 시스템으로 수신된 포트의 번호를 나타내는 수신포트정보, 상기 패킷이 라우팅 시스템으로부터 다음 경로로 전송되기 위한 포트의 번호를 나타내는 목적포트정보 중 적어도 어느 하나를 포함한다.
한편, 본 발명의 일 측면에 따른 메모리는, 적어도 하나 이상의 패킷의 송수신 주소정보를 저장하는 제1영역과, 상기 패킷이 송신지로부터 수신지로 전송되기 위해서 경유하는 네트워크 인터페이스 정보를 저장하는 제2영역을 포함하는 제1저장부, 상기 제1저장부의 제1영역에 저장된 송수신 주소정보와 맵핑되고, 상기 송수신 주소정보와 대응되는 네트워크 인터페이스 정보를 검색하기 위한 식별자 정보를 저장하는 제1영역과, 상기 제1저장부의 제2영역에 저장된 네트워크 인터페이스 정보와 맵핑되고, 상기 네트워크 인터페이스로 수신된 패킷의 포워딩 진행여부에 대한 정보를 저장하는 제2영역을 포함하는 제2저장부를 포함한다.
상기 패킷의 송수신 정보는, 상기 패킷이 생성된 소스 IP 주소정보, 상기 패 킷이 전송될 목적 IP 주소정보, 상기 소스 IP 주소에 위치한 단말과 목적 IP 주소에 위치한 단말간의 통신을 위한 프로토콜 정보 중 적어도 어느 하나를 포함한다.
상기 네트워크 인터페이스 정보는, 상기 식별자 정보, 상기 패킷이 네트워크 인터페이스로 수신된 포트정보, 상기 패킷이 네트워크 인터페이스로부터 전송될 포트정보 중 적어도 어느 하나를 포함한다.
상기 수신된 패킷의 포워딩 진행여부에 대한 정보는, 상기 수신된 패킷이 상기 네트워크 인터페이스에서 다음 경로로의 전송허가 또는 전송거부 중 적어도 어느 하나일 수 있다.
상기 제1저장부는 터너리 캠(Ternary CAM)으로 구현될 수 있다.
상기 제2저장부는 쥐비티 에스램(ZBT SRAM)으로 구현될 수 있다.
또한, 본 발명의 일 측면에 따른 룩업 메모리를 포함한 라우팅 시스템의 룩업메모리 최적화 장치는, 상기 라우팅 시스템의 초기화 시, 상기 룩업 메모리를 적어도 하나 이상의 메모리로 영역 분할하는 영역 분할부, 패킷의 포워딩 여부를 결정하기 위한 액세스 제어 리스트 정보의 추가 요청이 있는 경우, 상기 액세스 제어 리스트 정보를 상기 영역 분할된 룩업메모리에 분류하여 저장하는 분류 처리부, 임의의 패킷이 수신된 경우, 상기 영역 분할된 룩업메모리에 저장된 액세스 제어 리스트 정보를 이용하여 상기 수신된 패킷의 포워딩을 처리하는 포워딩 처리부를 포함한다.
상기 룩업메모리는, 상기 패킷이 생성된 소스 IP 주소정보, 상기 패킷이 전송될 목적 IP 주소정보, 상기 소스 IP 주소의 단말과 목적 IP 주소의 단말 사이의 통신을 위한 프로토콜 정보 중 적어도 어느 하나를 저장하는 제1영역과 상기 액세스 제어 리스트 정보를 식별하기 위한 식별자 정보, 상기 패킷이 라우팅 시스템으로 수신된 포트의 번호를 나타내는 수신포트정보, 상기 패킷이 라우팅 시스템으로부터 다음 경로로 전송되기 위한 포트의 번호를 나타내는 목적포트정보 중 적어도 어느 하나를 저장하는 제2영역을 포함하는 제1저장부, 상기 제1저장부의 제1영역과 맵핑되고 상기 액세스 제어 리스트 정보를 식별하기 위한 식별자 정보를 저장하는 제1영역과, 상기 제1저장부의 제2영역과 맵핑되고 상기 패킷이 상기 라우팅 시스템에서 다음 경로로의 포워딩 진행여부를 나타내는 패킷 포워딩 진행정보를 저장하는 제2저장부를 포함한다.
상기 포워딩 처리부는, a)상기 수신된 패킷의 송수신 정보와 일치하는 정보가 상기 룩업메모리의 제1영역에 있는지를 검사하고, b)상기 수신된 패킷의 송수신정보와 일치하는 정보가 있는 경우, 상기 송수신정보와 일치하는 상기 제1영역에 저장된 정보와 맵핑되는 식별자 정보가 포함된 상기 라우팅 시스템의 인터페이스 정보가 제2영역에 있는지를 판단하는 판단부, 상기 라우팅 시스템의 인터페이스 정보가 있는 경우, 상기 라우팅 시스템의 인터페이스 정보와 맵핑되는 제4영역에 저장된 패킷 포워딩 진행정보에 따라 상기 수신된 패킷의 포워딩 여부를 결정하는 포워딩부를 포함한다.
상기 라우팅 시스템의 인터페이스 정보는, 상기 식별자 정보, 상기 패킷이 라우팅 시스템으로 수신된 포트의 번호를 나타내는 수신포트정보, 상기 패킷이 라우팅 시스템으로부터 다음 경로로 전송되기 위한 포트의 번호를 나타내는 목적포트정보 중 적어도 어느 하나를 포함한다.
이하 본 발명에 따른 라우팅 시스템의 룩업메모리 최적화 장치 및 그 방법을 첨부한 도면을 참조하여 상세히 설명한다.
또한, 이해의 편의를 위하여 비록 다른 도면에 속하더라도 동일한 구성요소에는 동일한 부호를 부여하였음을 주의하여야 한다.
도 4는 본 발명의 일 실시예에 따른 라우팅 시스템의 룩업메모리 최적화 장치를 나타내는 도면이다.
도 4에 도시된 바와 같이, 라우팅 시스템의 룩업메모리 최적화 장치는, 네트워크 프로세서(400), 터너리 CAM(410), 보조메모리(420)를 포함한다.
네트워크 프로세서(400)는 인터페이스부(402), 엔트리 관리부(404), 제어부(406), 룩업처리부(408)를 포함한다.
인터페이스부(402)는 사용자로부터 CLI를 통하여 입력된 ACL 정보와 엔트리 관리정보를 엔트리 관리부(404)에 제공한다. 여기서, ACL 정보와 엔트리 관리정보는 도 1에서 설명된 ACL 정보와 엔트리 관리정보와 동일한 의미이므로 이에 대한 설명은 생략하기로 한다.
엔트리 관리부(404)는 인터페이스부(402)에서 제공된 엔트리 관리정보가 임의의 ACL을 추가하기 위한 정보인 경우, 해당 ACL을 터너리 CAM(410)의 엔트리 포 맷으로 변환하여 터너리 CAM(410)에 저장한다. 반면, 엔트리 관리부(404)는 인터페이스부(402)에서 제공된 엔트리 관리정보가 터너리 CAM(410)에 저장된 임의의 ACL을 삭제하기 위한 정보인 경우, 터너리 CAM(410)에 저장된 해당 ACL를 삭제한다.
룩업 처리부(406)는 수신된 패킷을 미리 설정된 ACL의 엔트리 포맷에 맞게 포맷 변환하고, 포맷 변환된 패킷의 ACL을 이용하여 수신된 패킷의 포워딩 여부를 검사하기 위해 터너리 CAM(410)과 보조메모리(420)를 룩업 한다.
룩업 처리부(406)는 이렇게 터너리 CAM(410)과 보조메모리(420)를 룩업 결과에 따른 수신된 패킷의 포워딩 여부 정보에 따라 패킷 포워딩 여부를 결정한다.
제어부(406)는 네트워크 프로세서(400)의 초기화 시, 터너리 CAM(410)을 제1저장부(412)와 제2저장부(414)로 영역 분할하고, 보조 메모리(420)를 제1보조 메모리(422)와 제2보조 메모리(424)로 영역 분할한다.
터너리 CAM(410)은 제1저장부(412)와 제2저장부(414)를 포함하고 있다. 제1저장부(41)는 엔트리 관리부(404)에서 수신된 적어도 하나 이상의 ACL의 제1엔트리 정보를 저장하고 있다. 상기 ACL의 제1엔트리 정보는 보조메모리(420)의 제1보조 저장부(422)에 저장된 제2엔트리 정보 검색번호와 대응되어 있다. 여기에서, 제1엔트리 정보와 제2엔트리 정보 검색번호에 대한 설명은 도 5에서 하기로 한다.
제2저장부(414)는 보조메모리(420)의 제1보조 저장부(422)에 저장된 제2엔트리 정보 검색번호에 대응하여 제2엔트리 정보를 저장하고 있다. 상기 제2엔트리 정보는 보조메모리(420)의 제2보조 저장부(424)에 저장된 패킷 포워딩 정보와 대응되어 있다. 여기에서, 제2엔트리 정보와 패킷 포워딩 정보에 대한 설명은 도 5에서 하기로 한다. 한편, 보조메모리(420)는 ZBT SRAM으로 구현될 수 있다.
도 5는 도 4에 도시된 터너리 CAM(410)과 보조메모리(420)간의 관계를 나타내고, 각각 터너리 CAM(410)과 보조메모리(420)에 저장된 정보를 나타내는 도면이다.
도 5에 도시된 바와 같이, 터너리 CAM(410)의 제1저장부(412)에는 ACL의 제1엔트리 정보가 저장되어 있으며, ACL의 제1엔트리 정보는 소스 IP 주소(32비트), 목적 IP 주소(32비트), 프로토콜(8비트) 3개의 필드를 포함한다. ACL의 제1엔트리 정보에 대응되는 제2엔트리 정보 검색번호(ACL Number, 32비트)가 제1보조 저장부(422)에 저장되어 있다. 여기에서, 상기 제2엔트리 정보 검색번호는 제2저장부에 저장된 제2엔트리 정보를 찾기 위한 번호이다.
한편, 제1보조 저장부(422)에 저장된 제2엔트리 정보 검색번호에 대응되는 제2엔트리 정보가 제2저장부(414)에 저장되어 있으며, 상기 제2엔트리 정보는, 제2엔트리 정보 검색번호(ACL Number, 16비트), 소스포트(16비트), 목적포트(16비트) 3개의 필드를 포함한다.
상기 제2저장부(414)에 저장된 제2엔트리 정보는 제2보조 저장부(424)에 저장된 패킷 포워딩 정보와 대응되어 있다. 상기 패킷 포워딩 정보는 네트워크 프로세서(400)에 수신된 패킷의 포워딩 여부를 결정하기 위한 정보이며, 패킷 포워딩에 대해 허가/거부에 대한 정보를 포함한다.
도 6은 본 발명의 일 실시예에 따른 라우팅 시스템의 룩업메모리 최적화 장치에서 터너리 CAM(410)과 보조메모리(420)에 엔트리의 추가방법과 상응하는 동작 플로우챠트를 나타내는 도면이다.
도 6에 도시된 바와 같이, 엔트리 관리부(404)는 인터페이스부(402)로부터 사용자가 CLI를 통하여 입력한 ACL이 수신된 경우(S600), 상기 ACL을 구성하는 정보 중, 소스포트 필드를 검사하여 소스포트 범위가 있는지를 검사한다(S602). 여기에서, 사용자가 CLI를 통하여 입력한 ACL의 일 예가 도 7a에 도시되어 있다. 도 7a에 도시된 바와 같이, 사용자가 CLI를 통하여 입력한 ACL은, 제2엔트리 정보 검색번호 필드(700), 패킷 포워딩 정보 필드(702), 프로토콜 필드(704), 소스 IP 주소 필드(706), 소스포트 필드(708), 목적 IP 주소 필드(710), 목적포트 필드(712)로 이루어져 있다. 즉, 사용자가 CLI를 통하여 입력한 ACL 중, 제2엔트리 정보 검색번호 필드(700)는 '10002'이고, 패킷 포워딩 정보 필드(702)는 네트워크 프로세서(400)로 수신된 패킷의 목적 IP 주소로 포워딩이 '허가(permit)'되었음을 나타내며, 프로토콜 필드(704)는 프로토콜의 종류가 '1'임을 나타내고, 소스 IP 주소 필드(706)는 소스 IP 주소가 '10.1.1.2'임을 나타내고, 소스포트 필드(708)는 소스포트번호가 '1 내지 13' 사이임을 나타내고, 목적 IP 주소 필드(710)는 목적 IP 주소가 '10.1.2.2'임을 나타내고, 목적포트 필드(712)는 목적포트번호가 '21'임을 나타낸다.
S602 단계에서 소스포트 범위 판단결과, 도 7a의 ACL에 도시된 바와 같이, 소스포트번호 범위가 '1 내지 13' 사이에 있기 때문에 엔트리 관리부(404)는 소스 포트번호에 대한 엔트리 확장을 수행한다(S604). 여기에서, 소스포트번호에 대한 엔트리 확장이 이루어진 결과가 도 7b에 도시되어 있다. 도 7b에 도시된 바와 같이. 소스포트번호 범위가 '1 내지 13'이므로 총 소스포트는 13개인데 반하여 엔트리 확장을 수행한 결과, 소스포트는 총 6개의 엔트리로 나타낼 수 있다. 즉, 소스포트번호 '2'를 이진표현으로 나타내면 '0010'이고, 소스포트번호 '3'을 이진표현으로 나타내면 '0011'이다. 이렇게 이진표현으로 변환된 소스포트번호 '0010'과 1011'의 각각 최하위비트 '0'과 '1'을 돈 캐어 처리함으로써, 엔트리 '001x'로 나타낼 수 있다.
엔트리 관리부(404)는 소스포트에 대한 엔트리를 확장한 후, 도 7a에 도시된 ACL의 목적포트 필드를 검사하여 목적포트번호 범위가 있는지를 검사한다(S606).
엔트리 관리부(404)는 도 7a에 도시된 바와 같이, 목적 포트 번호가 '21'로서 목적포트번호 범위가 존재하지 않기 때문에 사용자가 CLI를 통하여 입력된 ACL을 소스포트에 대하여는 6개의 엔트리를 생성하고, 목적 포트에 대해서는 1개의 엔트리를 생성한 다음(S610), 터너리 CAM(410)과 보조메모리(420)에 저장한다.
도 8은 본 발명의 일 실시예에 따른 라우팅 시스템의 룩업메모리 최적화 장치의 수신된 패킷에 대한 룩업처리동작과 상응하는 동작 플로우챠트를 나타내는 도면이다.
도 8에 도시된 바와 같이, 룩업 처리부(408)는 임의의 패킷이 수신된 경우(S800), 수신된 패킷에 포함된 정보 중 제1엔트리 정보의 구성요소를 추출한다. 추출된 제1엔트리 정보와 동일한 엔트리 정보가 있는지 제1저장부(412)를 룩업 하여(S802), 수신된 패킷에서 추출된 제1엔트리 정보와 대응되는 엔트리 정보가 있는가를 검사한다(S804). 제1저장부(412)에 수신된 패킷에서 추출된 제1엔트리 정보, 즉 소스 IP 주소정보, 목적 IP 주소정보, 프로토콜 정보의 3 터플과 매치 되는 엔트리 정보가 있는 경우, 룩업 처리부(408)는 제1저장부(412)에 상기 추출된 제1엔트리 정보와 매치된 엔트리 정보에 대응되는 제1보조 저장부(422)에 저장된 제2엔트리 정보 검색번호를 이용하여 제2저장부(414)를 룩업 한다(S806). 제2저장부(414)를 룩업한 결과, 제2엔트리 정보 검색번호에 대응되는 제2엔트리 정보가 있는 경우(S808), 룩업 처리부(408)는 제2엔트리 정보에 대응되는 패킷 포워딩 정보를 찾기 위해 제2보조 저장부(424)를 룩업 한다(S810).
이후, 룩업 처리부(408)는 제2보조 저장부(424)를 룩업 하여 얻어진 패킷 포워딩 정보에 따라 수신된 패킷의 포워딩 동작을 수행한다(S812).
이상에서 본 발명은 기재된 구체 예에 대해서만 상세히 설명하였지만 본 발명의 기술 사상 범위 내에서 다양한 변형 및 수정이 가능함은 당업자에게 있어서 명백한 것이며, 이러한 변형 및 수정이 첨부된 특허청구범위에 속함은 당연한 것이다.
상술한 바와 같이 본 발명의 라우팅 시스템의 룩업 메모리 최적화 장치에 따 르면, 룩업 메모리에 저장된 엔트리를 최적화시킴으로써, IPv4의 경우에 기존 룩업메모리에서 N개의 ACL[소스 IP 주소(32비트), 목적 IP 주소(32비트), 프로토콜(8비트), 소스포트(16비트), 목적포트(16비트)]을 지원할 때, '104×N ×900(93600N)' 비트만큼의 메모리 공간이 필요하지만, 본 발명이 적용된 룩업메모리에서 N개의 ACL을 지원할 때 IPv4의 경우, '72N(소스 IP 주소, 목적 IP 주소, 프로토콜) + 32(소스포트, 목적포트)N900' 비트만큼의 메모리 공간이 필요하게 되어서 기존 보다 메모리 공간을 줄일 수 있다.
또한, IPv6의 경우에 기존 룩업메모리에서 N개의 ACL[소스 IP 주소(128비트), 목적 IP 주소(128비트), 프로토콜(8비트), 소스포트(16비트), 목적포트(16비트)]을 지원할 때, '296×N ×900(266400N)' 비트만큼의 메모리 공간이 필요하지만, 본 발명이 적용된 룩업메모리에서 N개의 ACL을 지원할 때 IPv6의 경우, '264N(소스 IP 주소, 목적 IP 주소, 프로토콜) + 32(소스포트, 목적포트)N900' 비트만큼의 메모리 공간이 필요하게 되어서 기존 보다 메모리 공간을 줄일 수 있다.

Claims (19)

  1. 룩업메모리를 포함한 라우팅 시스템에서 룩업메모리 최적화 방법에 있어서,
    상기 라우팅 시스템의 초기화 시, 상기 룩업메모리를 적어도 하나 이상의 영역으로 분할하는 단계,
    패킷의 포워딩 여부를 결정하기 위한 액세스 제어 리스트 정보의 추가 요청이 있는 경우, 상기 액세스 제어 리스트 정보를 상기 룩업메모리의 분할된 영역에 분류하여 저장하는 단계,
    임의의 패킷이 수신된 경우, 상기 영역 분할된 룩업메모리에 저장된 액세스 제어 리스트 정보를 이용하여 상기 수신된 패킷의 포워딩을 처리하는 단계를 포함하는 룩업메모리 최적화 방법.
  2. 제1항에 있어서,
    상기 액세스 제어 리스트 정보는,
    상기 패킷이 생성된 소스 IP 주소정보, 상기 패킷이 전송될 목적 IP 주소정보, 상기 패킷이 라우팅 시스템으로 수신된 포트의 번호를 나타내는 수신포트정보, 상기 패킷이 라우팅 시스템으로부터 다음 경로로 전송되기 위한 포트의 번호를 나타내는 목적포트정보, 상기 소스 IP 주소의 단말과 목적 IP 주소의 단말간의 통신을 위한 프로토콜 정보, 상기 액세스 제어 리스트 정보를 식별하기 위한 식별자 정 보, 상기 패킷이 상기 라우팅 시스템에서 다음 경로로의 포워딩 진행여부를 나타내는 포워딩 진행 정보 중 적어도 어느 하나를 포함하는 룩업메모리 최적화 방법.
  3. 제1항에 있어서,
    상기 액세스 제어 리스트 정보를 상기 룩업메모리의 분할된 영역에 분류하여 저장하는 단계는,
    상기 소스 IP 주소, 목적 IP 주소, 프로토콜 정보 중 적어도 어느 하나를 상기 룩업메모리의 제1영역에 저장하는 단계,
    상기 식별자 정보, 소스 포트정보, 목적 포트정보 중 적어도 어느 하나를 상기 룩업메모리의 제2영역에 저장하는 단계,
    상기 식별자 정보를 상기 룩업메모리의 제3영역에 저장하는 단계,
    상기 패킷의 포워딩 진행정보를 상기 룩업메모리의 제4영역에 저장하는 단계를 포함하는 룩업메모리 최적화 방법.
  4. 제1항에 있어서,
    상기 수신된 액세스 제어 리스트 정보 중 소스/목적 포트의 범위가 존재하는지를 검사하는 단계,
    상기 소스/목적 포트의 범위가 존재하는 경우, 상기 소스/목적 포트의 범위 에 따른 룩업메모리에 저장될 상기 액세스 제어 리스트의 엔트리 수를 결정하는 단계를 더 포함하는 룩업메모리 최적화 방법.
  5. 제1항에 있어서,
    상기 포워딩을 처리하는 단계는,
    상기 수신된 패킷의 송수신 정보와 일치하는 정보가 상기 룩업메모리의 제1영역에 있는지를 검사하는 단계,
    상기 수신된 패킷의 송수신정보와 일치하는 정보가 있는 경우, 상기 송수신정보와 일치된 제1영역의 정보와 맵핑되는 제3영역의 식별자 정보가 포함된 상기 라우팅 시스템의 인터페이스 정보가 제2영역에 있는지를 검사하는 단계,
    상기 라우팅 시스템의 인터페이스 정보가 있는 경우, 상기 라우팅 시스템의 인터페이스 정보와 맵핑되는 제4영역에 저장된 패킷 포워딩 진행정보에 따라 상기 수신된 패킷의 포워딩을 처리하는 단계를 포함하는 룩업메모리 최적화 방법.
  6. 제5항에 있어서,
    상기 수신된 패킷의 송수신 정보는,
    상기 패킷이 생성된 소스 IP 주소정보, 상기 패킷이 전송될 목적 IP 주소정보, 상기 소스 IP 주소의 단말과 목적 IP 주소의 단말 사이의 통신을 위한 프로토 콜 정보 중 적어도 어느 하나를 포함하는 룩업메모리 최적화 방법.
  7. 제5항에 있어서,
    상기 라우팅 시스템의 인터페이스 정보는,
    상기 식별자 정보, 상기 패킷이 라우팅 시스템으로 수신된 포트의 번호를 나타내는 수신포트정보, 상기 패킷이 라우팅 시스템으로부터 다음 경로로 전송되기 위한 포트의 번호를 나타내는 목적포트정보 중 적어도 어느 하나를 포함하는 룩업메모리 최적화 방법.
  8. 적어도 하나 이상의 패킷의 송수신 주소정보를 저장하는 제1영역과, 상기 패킷이 송신지로부터 수신지로 전송되기 위해서 경유하는 네트워크 인터페이스 정보를 저장하는 제2영역을 포함하는 제1저장부,
    상기 제1저장부의 제1영역에 저장된 송수신 주소정보와 맵핑되고, 상기 송수신 주소정보와 대응되는 네트워크 인터페이스 정보를 검색하기 위한 식별자 정보를 저장하는 제1영역과, 상기 제1저장부의 제2영역에 저장된 네트워크 인터페이스 정보와 맵핑되고, 상기 네트워크 인터페이스로 수신된 패킷의 포워딩 진행여부에 대한 정보를 저장하는 제2영역을 포함하는 제2저장부를 포함하는 메모리.
  9. 제8항에 있어서,
    상기 패킷의 송수신 정보는,
    상기 패킷이 생성된 소스 IP 주소정보, 상기 패킷이 전송될 목적 IP 주소정보, 상기 소스 IP 주소에 위치한 단말과 목적 IP 주소에 위치한 단말간의 통신을 위한 프로토콜 정보 중 적어도 어느 하나를 포함하는 메모리.
  10. 제8항에 있어서,
    상기 네트워크 인터페이스 정보는,
    상기 식별자 정보, 상기 패킷이 네트워크 인터페이스로 수신된 포트정보, 상기 패킷이 네트워크 인터페이스로부터 전송될 포트정보 중 적어도 어느 하나를 포함하는 메모리.
  11. 제8항에 있어서,
    상기 수신된 패킷의 포워딩 진행여부에 대한 정보는,
    상기 수신된 패킷이 상기 네트워크 인터페이스에서 다음 경로로의 전송허가 또는 전송거부 중 적어도 어느 하나인 메모리.
  12. 제8항에 있어서,
    상기 제1저장부는,
    터너리 캠(Ternary CAM)으로 구현되는 메모리.
  13. 제8항에 있어서,
    상기 제2저장부는,
    쥐비티 에스램(ZBT SRAM)으로 구현되는 메모리.
  14. 룩업 메모리를 포함한 라우팅 시스템의 룩업메모리 최적화 장치에 있어서,
    상기 라우팅 시스템의 초기화 시, 상기 룩업 메모리를 적어도 하나 이상의 메모리로 영역 분할하는 영역 분할부,
    패킷의 포워딩 여부를 결정하기 위한 액세스 제어 리스트 정보의 추가 요청이 있는 경우, 상기 액세스 제어 리스트 정보를 상기 영역 분할된 룩업메모리에 분류하여 저장하는 분류 처리부,
    임의의 패킷이 수신된 경우, 상기 영역 분할된 룩업메모리에 저장된 액세스 제어 리스트 정보를 이용하여 상기 수신된 패킷의 포워딩을 처리하는 포워딩 처리부를 포함하는 룩업메모리 최적화 장치.
  15. 제14항에 있어서,
    상기 액세스 제어 리스트 정보는,
    상기 패킷이 생성된 소스 IP 주소정보, 상기 패킷이 전송될 목적 IP 주소정보, 상기 패킷이 라우팅 시스템으로 수신된 포트의 번호를 나타내는 수신포트정보, 상기 패킷이 라우팅 시스템으로부터 다음 경로로 전송되기 위한 포트의 번호를 나타내는 목적포트정보, 상기 소스 IP 주소의 단말과 목적 IP 주소의 단말 사이의 통신을 위한 프로토콜 정보, 상기 액세스 제어 리스트 정보를 식별하기 위한 식별자 정보, 상기 패킷이 상기 라우팅 시스템에서 다음 경로로의 포워딩 진행여부를 나타내는 패킷 포워딩 진행정보 중 적어도 어느 하나를 포함하는 룩업메모리 최적화 장치.
  16. 제14항에 있어서,
    상기 룩업메모리는,
    상기 소스 IP 주소정보, 목적 IP 주소정보, 프로토콜 정보 중 적어도 어느 하나를 저장하는 제1영역과 상기 액세스 제어 리스트 정보를 식별하기 위한 식별자 정보, 소스 포트정보, 목적 포트정보 중 적어도 어느 하나를 저장하는 제2영역을 포함하는 제1저장부,
    상기 제1저장부의 제1영역과 맵핑되고 상기 액세스 제어 리스트 정보를 식별하기 위한 식별자 정보를 저장하는 제1영역과, 상기 제1저장부의 제2영역과 맵핑되고 상기 패킷 포워딩 진행정보를 저장하는 제2저장부를 포함하는 룩업메모리 최적화 장치.
  17. 제14항에 있어서,
    상기 포워딩 처리부는,
    a)상기 수신된 패킷의 송수신 정보와 일치하는 정보가 상기 룩업메모리의 제1영역에 있는지를 검사하고,
    b)상기 수신된 패킷의 송수신정보와 일치하는 정보가 있는 경우, 상기 송수신정보와 일치하는 상기 제1영역에 저장된 정보와 맵핑되는 식별자 정보가 포함된 상기 라우팅 시스템의 인터페이스 정보가 제2영역에 있는지를 판단하는 판단부,
    상기 라우팅 시스템의 인터페이스 정보가 있는 경우, 상기 라우팅 시스템의 인터페이스 정보와 맵핑되는 제4영역에 저장된 패킷 포워딩 진행정보에 따라 상기 수신된 패킷의 포워딩 여부를 결정하는 포워딩부를 포함하는 룩업메모리 최적화 장치.
  18. 제17항에 있어서,
    상기 수신된 패킷의 송수신 정보는,
    상기 패킷이 생성된 소스 IP 주소정보, 상기 패킷이 전송될 목적 IP 주소정보, 상기 소스 IP 주소의 단말과 목적 IP 주소의 단말 사이의 통신을 위한 프로토콜 정보 중 적어도 어느 하나를 포함하는 룩업메모리 최적화 장치.
  19. 제17항에 있어서,
    상기 라우팅 시스템의 인터페이스 정보는,
    상기 식별자 정보, 상기 패킷이 라우팅 시스템으로 수신된 포트의 번호를 나타내는 수신포트정보, 상기 패킷이 라우팅 시스템으로부터 다음 경로로 전송되기 위한 포트의 번호를 나타내는 목적포트정보 중 적어도 어느 하나를 포함하는 룩업메모리 최적화 장치.
KR1020040054940A 2004-07-14 2004-07-14 라우팅 시스템의 룩업메모리 최적화장치 및 그 방법 KR100590891B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020040054940A KR100590891B1 (ko) 2004-07-14 2004-07-14 라우팅 시스템의 룩업메모리 최적화장치 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040054940A KR100590891B1 (ko) 2004-07-14 2004-07-14 라우팅 시스템의 룩업메모리 최적화장치 및 그 방법

Publications (2)

Publication Number Publication Date
KR20060005936A KR20060005936A (ko) 2006-01-18
KR100590891B1 true KR100590891B1 (ko) 2006-06-19

Family

ID=37117802

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040054940A KR100590891B1 (ko) 2004-07-14 2004-07-14 라우팅 시스템의 룩업메모리 최적화장치 및 그 방법

Country Status (1)

Country Link
KR (1) KR100590891B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100705545B1 (ko) * 2005-07-02 2007-04-09 충남대학교산학협력단 이중 tcam을 이용한 패킷의 분류방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020074780A (ko) * 2001-03-22 2002-10-04 안희일 아이피 주소룩업에서 고속 엘피엠 탐색을 위한 파이프라인씨에이엠의 구성 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020074780A (ko) * 2001-03-22 2002-10-04 안희일 아이피 주소룩업에서 고속 엘피엠 탐색을 위한 파이프라인씨에이엠의 구성 방법

Also Published As

Publication number Publication date
KR20060005936A (ko) 2006-01-18

Similar Documents

Publication Publication Date Title
US10389633B2 (en) Hash-based address matching
US6665297B1 (en) Network routing table
US10491521B2 (en) Field checking based caching of ACL lookups to ease ACL lookup search
US7480299B2 (en) Rules engine for access control lists in network units
EP1757024B1 (en) Identifying reverse path forwarding information
JP4742167B2 (ja) Camのキーサイズを超えるテーブルインデックスを用いてテーブルルックアップ動作を実行する方法
US6307855B1 (en) Network routing table using content addressable memory
KR100705593B1 (ko) 라우팅 시스템 및 라우팅 시스템의 룰 엔트리 관리 방법
KR100612256B1 (ko) 터너리 내용 주소화 메모리 관리 장치 및 그 방법
US20150127900A1 (en) Ternary content addressable memory utilizing common masks and hash lookups
CN113519144B (zh) 用于网络设备的精确匹配和三元内容可寻址存储器(tcam)混合查找
US20050010612A1 (en) Storing and searching a hierarchy of items of particular use with IP security policies and security associations
US20060233173A1 (en) Policy-based processing of packets
US6987683B2 (en) Magnitude comparator based content addressable memory for search and sorting
US7739445B1 (en) Circuit, apparatus, and method for extracting multiple matching entries from a content addressable memory (CAM) device
CN112667526B (zh) 一种访问控制列表电路实现方法及其电路
US11818099B2 (en) Efficient matching of feature-rich security policy with dynamic content using user group matching
US7385983B2 (en) Network address-port translation apparatus and method
KR100590891B1 (ko) 라우팅 시스템의 룩업메모리 최적화장치 및 그 방법
US7523251B2 (en) Quaternary content-addressable memory
US7240149B1 (en) Multiple branch operations in an associative memory
US20200145379A1 (en) Efficient matching of feature-rich security policy with dynamic content using incremental precondition changes
US20240214309A1 (en) Packet Classification Using Lookup Tables with Different Key-widths
US10965647B2 (en) Efficient matching of feature-rich security policy with dynamic content
Lin et al. TCAM-Based Packet Classification Using Multi-stage Scheme

Legal Events

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

Payment date: 20130530

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140529

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20150528

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee