KR100472275B1 - 경로 검색 시스템 및 그 방법과 그것에 사용되는 라우터장치 - Google Patents

경로 검색 시스템 및 그 방법과 그것에 사용되는 라우터장치 Download PDF

Info

Publication number
KR100472275B1
KR100472275B1 KR10-2001-0041465A KR20010041465A KR100472275B1 KR 100472275 B1 KR100472275 B1 KR 100472275B1 KR 20010041465 A KR20010041465 A KR 20010041465A KR 100472275 B1 KR100472275 B1 KR 100472275B1
Authority
KR
South Korea
Prior art keywords
node
address
path
entry information
path data
Prior art date
Application number
KR10-2001-0041465A
Other languages
English (en)
Other versions
KR20020006464A (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 KR20020006464A publication Critical patent/KR20020006464A/ko
Application granted granted Critical
Publication of KR100472275B1 publication Critical patent/KR100472275B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/44Star or tree networks
    • 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/48Routing tree calculation

Landscapes

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

Abstract

경로 검색 시스템은 IP 전송 장치에서의 종래의 2분기 트리 검색보다 효과적이다. 경로 검색 시스템은 통신처를 특정하는 수신지 어드레스에 기초하여 다음에 송신할 노드를 결정한다. 이 시스템은 각 노드 엔트리 정보와 경로 데이타가 계층 구조의 트리 구조로 설정되며, 트리 구조는 수신지 어드레스의 상위 비트로부터 N 비트(N은 2 이상의 정수)마다 체크되는 M 분기 트리 구조(M = 2N)를 갖는 경로 메모리; 및 수신지 어드레스에 기초하여 초기 계층으로부터 하위 계층으로 순차적으로 메모리의 상기 노드 엔트리 정보를 검색하여 대응하는 경로 데이타를 유도해 내는 경로 검색 수단을 포함한다.

Description

경로 검색 시스템 및 그 방법과 그것에 사용되는 라우터 장치{ROUTE RETRIEVING SYSTEM, METHOD THEREFOR AND A ROUTER DEVICE TO BE USED IN THE SAME}
본 발명은 일반적으로 경로 검색 시스템, 및 그 방법과 그것에 사용될 라우터 장치 및 그 제어 프로그램을 기록하는 저장 매체에 관한 것이다. 특히, 본 발명은 통신처(communication counterpart)를 특정하는 수신지 어드레스에 기초하여 수신 패킷을 전송하기 위한 노드를 결정하는 경로 검색 시스템에 관한 것이다.
인터넷에 있어서, IP(Internet Protocol) 패킷이 라우터 장치와 같은 중계 장치에 의해 전송될 때, 중계 장치(라우터 장치)는 타겟(목적) 어드레스(이하, "DA"로서 칭함)를 참조하여 다음 전송 목적지의 IP 어드레스(이하, "NH"(Next Hop address)로 칭함)를 결정한다. 이것을 경로 검색이라고 한다. 이 중계 장치는 "DA"와 "NH"를 관련시킨 경로 테이블(경로 정보 메모리)을 갖는다. "DA"에 대응하는 "NH"는 입력 IP 패킷마다 경로 테이블로부터 검색된다.
도 16은 IPv4(IP version 4)의 경로 테이블의 일례를 나타낸다. 도 16에서, "NA"와 "마스크 길이"는 "DA"가 네트워크에 속한다는 것을 가리킨다. 한편, 마스크 길이는, 그 값이 "N"일때, 32 비트 중 상위 N 비트는 "1"이라는 것을 나타낸다. 즉, 24의 경우에서, 16진법으로 "0xFFFFFF00"에 해당한다. 이는 네트 마스크(net mask)라 칭하여진다. 예를 들면, "DA"가 "11.1.1.5"인 경우, 이는 엔트리 번호 3의 엔트리에 의해 표현되는 네트워크에 속한다. 이는 "DA"와 마스크 길이로 표시되는 네트 마스크의 AND(논리곱)이 동일 엔트리의 "NA"와 일치하는 것으로 판정된다.
여기서, "10.1.0.1"의 "DA"를 갖는 IP 패킷이 도 16에 나타난 경로 테이블을 갖는 중계 장치에 입력된다고 가정된다. 이 중계 장치는 "DA":10.1.0.1이 속하는 NA를 갖는 엔트리 중에서 가장 긴 마스크 길이를 갖는 엔트리를 취한다. 이는 LPM(Longest Prefix Matching)이다. 이 예에서, 검색 결과의 후보로서, 엔트리 1과 2가 고려된다. 엔트리들이 더 긴 마스크 길이를 가지기 때문에, 엔트리 2는 중계 결과로서 선택된다. 따라서, 중계 장치는 IP 패킷을 "NH"로 표시된 "21.1.1.1"의 IP 어드레스에 전송한다.
상술한 바와 같이, IP 경로 검색시, 한번의 검색에 검색 기준을 만족하는 복수의 후보가 존재할 가능성이 있으며 LPM에 의해 결과를 도출해야 할 필요가 있다. 이는 "DA"가 속하는 "NA"가 입력 IP 패킷의 "DA"로부터만 보여질 수 없다는 것에 그 원인이 있다. 상술한 문제점들을 염두에 두고, 경로 테이블과 검색 처리의 실장 방법에 대한 몇가지 제안들이 있다. 그 제안들은 통상적으로 2가지 종류로 분류될 수 있다.
이들 2가지 방법 중 한 가지 방법은 병렬 처리할 수 있는 전용 하드웨어로 구현하는 방법이 있다. 예를 들면, 경로 테이블의 엔트리마다 검색 회로를 제공함으로써, 경로 테이블 내의 모든 엔트리들을 병렬로 검색처리하는 것이다. 이 방법은 경로 테이블 내의 각 엔트리에 병렬로 억세스함으로써 고속인 반면에, 그 비용은 고가이다.
다른 방법은 경로 테이블로의 병렬 억세스가 불가능한 경우에 적용가능하다. 이는 범용 메모리 또는 FPGA(Field Programmable Gate Array)를 사용하는 하드웨어 또는 소프트웨어를 장착하는 것에 해당한다. 이러한 방법은 기존의 설비를 이용함으로써 저 비용으로 구현할 수 있는 반면에 병렬 처리만큼 속도가 빠르지는 않다.
이들 방법은 용도나 목적에 따라 선택적으로 사용될 수 있다. 대규모의 기간(基幹) 네트워크를 지향하며 대용량의 전송 능력이 요구되는 장치에는, 전자의 방법이 적용가능하다. 한편, 크기가 중간이거나 비교적 작은 네트워크의 기간에 사용된 장치에는, 후자면 충분할 수도 있다.
다음으로, 후자의 방법에 대해 구체적인 방법을 기술할 것이다. 후자의 방법은 해쉬(hash) 방법을 이용한 검색 방법과 2분기 트리 구조를 사용한 검색 방법으로 분류될 것이다. 해쉬 방법을 이용한 방법으로는 임의의 해쉬 함수를 이용하여 "DA"를 저하시키고 키(key)를 검색하기 위한 방법이 있다. IPv4의 경우에, 어드레스가 32 비트이기 때문에, 만일 2의 32승분(212)의 엔트리 공간이 미리 제공될 수 있다면, 고속 검색이 가능하게 된다. 그러나, 비용면에서는 현실적이지 못하다. 해쉬 함수를 사용함으로써, 엔트리 공간은 작아질 수 있다. 그러나, 해쉬 방법을 사용함으로써, 엔트리의 충돌이 발생할 수도 있다. 게다가, IPv4의 경우에, 각각의 해쉬 방법은 단순히 31가지의 네트 마스크 패턴에 적용되어야 한다.
2분기 트리 구조를 이용한 방법은 소프트웨어 장착시 일반적이다. 일본 무심사 특허 공보 평11-191781호에서, 하드웨어의 장착 방법이 제안되어 있다. 2분기 트리 구조의 일례는 도 17에 나타나 있다. 도 17에서 각 구형은 2분기 트리의 노드라고 칭한다. 한편, 각 노드에 기입된 표현 "xxxxxxxx/y"에서, "x"는 16진수법으로 "NA"이고 "y"는 마스크 길이이다.
예를 들면, "DA"가 "0x800AC091"일 때, 노드 1의 "y"가 "0"이기 때문에,"DA"의 최상위 비트는 최상위 비트가 "1"인 경우 우측으로 분기되고 최상위 비트가 "0"인 경우 좌측으로 분기되도록 체크된다. 이 경우, 우측으로 분기하여 다음 검색 대상으로 노드 2가 선택된다. 노드 2에서, 마스크 길이는 8이기 때문에, "0xFF000000"과 "DA"의 AND는 결과가 노드 2에 기입된 "NA"와 일치하는지의 여부를 체크한다. 만일 일치하지 않는다면, "DA"에 대응하는 엔트리가 존재하지 않기 때문에, 검색은 종료된다. 주어진 예에서, 그 결과가 노드 2내의 "NA"와 일치하기 때문에, 검사 비트 8(상위 9번째 비트)가 "1" 또는 "0"인지의 여부를 체크하고, 추가 분기에 영향을 미친다. 상술한 프로세스는 추가 분기가 존재하지 않거나 노드내의 "NA"가 일치하지 않을 때까지 반복된다.
2분기 트리 구조에 의한 방법은 LPM에 적용 가능한 것으로서 해쉬 방법을 이용한 방법보다 효과적이다. 그러나, 최악의 경우에 32 비트 모두 등록된 엔트리에 의해 검사되어야 한다. 특히, 어드레스 공간이 128 비트인 IPv6(IP version 6)에서, 효율성은 저하된다.
본 발명의 목적은 IP 전송 장치에서 종래의 2분기 트리 검색보다 효과적인 경로 검색 시스템을 제공하는 것이다.
본 발명의 제1 특징에 따르면, 통신처를 특정하는 수신지 어드레스에 기초하여 다음에 송신할 노드를 결정하는 경로 검색 시스템에 있어서,
각 노드 엔트리 정보와 경로 데이타가 계층 구조의 트리 구조로 설정되며, 상기 트리 구조는 상기 수신지 어드레스의 상위 비트로부터 N 비트(N은 2 이상의 정수)마다 체크되는 M 분기 트리 구조(M = 2N)를 갖는 경로 메모리; 및
상기 수신지 어드레스에 기초하여 초기 계층으로부터 하위 계층으로 순차적으로 상기 메모리의 상기 노드 엔트리 정보를 검색하여 대응하는 경로 데이타를 유도해 내는 경로 검색 수단을 포함한다.
상기 노드 엔트리 정보는 대응하는 노드에서의 상기 경로 데이타의 유무를 나타내는 경로 데이타 유무 정보, 하위 계층에의 링크의 유무를 나타내는 링크 유무 정보, 상기 하위 계층을 나타내는 계층값, 상기 하위 계층의 노드를 특정하는 노드 ID, 상기 경로 데이타를 특정하기 위한 경로 데이타 ID, 및 상기 노드 엔트리에 대응하는 네트워크 어드레스를 포함할 수 있다. 상기 경로 데이타의 엔트리 정보는 다음에 전송할 노드의 적어도 어드레스값을 가질 수 있다.
상기 경로 검색 수단은 상기 트리 구조의 초기 계층과 루트 노드의 노드 ID를 초기값으로 하고, 상기 초기 계층에 대응하는 상기 수신지 어드레스의 상위 N 비트를 판독하며, 상기 상위 N 비트와 상기 루트 노드의 노드 ID를 사용하여 상기 경로 메모리를 판독하기 위한 어드레스를 생성하는 어드레스 생성 수단, 및 상기 노드 엔트리 정보의 상기 링크 유무 정보를 판정하여 링크가 존재하는 경우에 판독된 노드 엔트리 정보의 계층 정보와 상기 노드 ID를 상기 어드레스 생성 수단에 전송함으로써 다음 하위 계층의 상기 노드 엔트리 정보의 판독 어드레스의 생성을 명령하는 자 노드(child node) 판정 수단을 포함한다.
또한, 상기 경로 검색 수단은 상기 판독된 노드 엔트리 정보의 상기 네트워크 어드레스와 상기 수신지 어드레스의 일치를 판정하는 어드레스 판정 수단, 상기 판독된 노드 엔트리 정보의 상기 경로 데이타 유무 정보의 판정을 행하는 경로 데이타 유무 판정 수단, 및 상기 어드레스 판정 수단, 상기 경로 데이타 유무 판정 수단 및 상기 자 노드 판정 수단의 판정 결과들에 따라 상기 메모리의 판독을 제어하는 제어 수단을 포함할 수 있다.
본 발명의 제2 특징에 따르면, 통신처를 특정하는 수신지 어드레스에 기초하여 다음에 송신할 노드를 결정하는 경로 검색 방법에 있어서,
각 노드 엔트리 정보와 경로 데이타가 계층 구조의 트리 구조로 설정되며, 상기 트리 구조는 상기 수신지 어드레스의 상위 비트로부터 N 비트(N은 2 이상의 정수)마다 체크되는 M 분기 트리 구조(M = 2N)를 갖는 경로 메모리를 제공하는 단계; 및
상기 수신지 어드레스에 기초하여 초기 계층으로부터 하위 계층으로 순차적으로 상기 메모리의 상기 노드 엔트리 정보를 검색하여 대응하는 경로 데이타를 유도해 내는 경로 검색 단계를 포함한다.
상기 노드 엔트리 정보는 대응하는 노드에서의 상기 경로 데이타의 유무를 나타내는 경로 데이타 유무 정보, 하위 계층에의 링크의 유무를 나타내는 링크 유무 정보, 상기 하위 계층을 나타내는 계층값, 상기 하위 계층의 노드를 특정하는 노드 ID, 상기 경로 데이타를 특정하기 위한 경로 데이타 ID, 및 상기 노드 엔트리에 대응하는 네트워크 어드레스를 포함할 수 있다. 상기 경로 데이타의 엔트리 정보는 다음에 전송할 노드의 적어도 어드레스값을 가질 수 있다.
상기 경로 검색 단계는 상기 트리 구조의 초기 계층과 루트 노드의 노드 ID를 초기값으로 하고, 상기 초기 계층에 대응하는 상기 수신지 어드레스의 상위 N 비트를 판독하며, 상기 상위 N 비트와 상기 루트 노드의 노드 ID를 사용하여 상기 경로 메모리를 판독하기 위한 어드레스를 생성하는 어드레스 생성 단계, 및 상기 노드 엔트리 정보의 상기 링크 유무 정보를 판정하여 링크가 존재하는 경우에 상기 판독된 노드 엔트리 정보의 계층 정보와 상기 노드 ID를 상기 어드레스 생성 단계에 전송함으로써 다음 하위 계층의 상기 노드 엔트리 정보의 판독 어드레스의 생성을 명령하는 자 노드 판정 단계를 포함할 수 있다.
상기 경로 검색 단계는 상기 판독된 노드 엔트리 정보의 상기 네트워크 어드레스와 상기 수신지 어드레스의 일치를 판정하는 어드레스 판정 단계, 상기 판독된 노드 엔트리 정보의 상기 경로 데이타 유무 정보의 판정을 행하는 경로 데이타 유무 판정 단계, 및 상기 어드레스 판정 단계, 상기 경로 데이타 유무 판정 단계 및 상기 자 노드 판정 단계의 판정 결과들에 따라 상기 메모리의 판독을 제어하는 제어 단계를 포함할 수 있다.
본 발명의 제3 특징에 따르면, 통신처를 특정하는 수신지 어드레스에 기초하여 다음에 송신할 노드를 결정하는 라우터 장치에 있어서,
각 노드 엔트리 정보와 경로 데이타가 계층 구조의 트리 구조로 설정되며, 상기 트리 구조는 상기 수신지 어드레스의 상위 비트로부터 N 비트(N은 2 이상의 정수)마다 체크되는 M 분기 트리 구조(M = 2N)를 갖는 경로 메모리; 및
상기 수신지 어드레스에 기초하여 초기 계층으로부터 하위 계층으로 순차적으로 상기 메모리의 상기 노드 엔트리 정보를 검색하여 대응하는 경로 데이타를 유도해 내는 경로 검색 수단을 포함한다.
본 발명의 제4 특징에 따르면, 통신처를 특정하는 수신지 어드레스에 기초하여 다음에 송신할 노드를 결정하는 경로 검색 방법의 제어 프로그램을 기록한 저장 매체에 있어서, 상기 제어 프로그램은,
각 노드 엔트리 정보와 경로 데이타가 계층 구조의 트리 구조로 설정되며, 상기 트리 구조는 상기 수신지 어드레스의 상위 비트로부터 N 비트(N은 2 이상의 정수)마다 체크되는 M 분기 트리 구조(M = 2N)를 갖는 경로 메모리를 제공하는 단계; 및
상기 수신지 어드레스에 기초하여 초기 계층으로부터 하위 계층으로 순차적으로 상기 메모리의 상기 노드 엔트리 정보를 검색하여 대응하는 경로 데이타를 유도해 내는 경로 검색 단계를 포함한다.
본 발명의 동작이 기술될 것이다. 1 비트마다 타겟 어드레스를 체크하는 종래의 2분기 트리 검사와는 달리, N 비트(N > 1)마다 조사하는 M 분기 트리 구조를 사용함으로써, 검색 테이블의 억세스 회수는 감소된다. M은 2의 (N)승값임에 유의하여야 한다. 다음으로, N 비트마다 검사를 하고 비트마다 최장 일치 검사를 할 수 있다.
하기에서, 본 발명은 첨부된 도면과 관련하여 본 발명의 경로 검색 시스템의 바람직한 실시예에 관하여 상세하게 설명한다. 하기의 설명에서, 완전한 이해를 제공하도록 다양한 특정 상세 항목을 설명한다. 하지만, 이 기술분야에 속하는 통상의 지식을 가진 자에게 명백한 바와 같이, 이들 특정 상세 항목없이도 본 발명을 실시할 수 있다.
도 1a는 통상의 2분기 트리 검색 방법을 도시한 개념적인 설명도이고, 도 1b는 "M" 분기 (M 〉2) 검색 방법의 개념적인 설명도이다. 도 1a 및 도 1b에서, 직사각형 블록은 노드이고, 원형 블록은 데이터 영역이다. 노드는 검색용 정보를 구비한다. 데이터 영역은 출력될 결과의 데이터(경로 정보)를 저장한다. 실제로는, 노드 및 데이터 영역은 메모리 상에 존재하고, 노드에 데이터 영역의 어드레스를 저장한다.
예를 들어, 검색키인 IP 어드레스가 "0x80E10001"일 경우에, 노드(101, 102 및 103)는 후보가 된다. 이들 노드 중에서, 최장 일치 길이(longest matching length)를 갖는 노드가 최종 결과이고, 데이터 영역(104)으로 출력한다. 한편, IP 어드레스가 "0x80000001"이고, 일치 노드가 노드(107) 아래에 존재하지 않는다고 가정하면, 노드(106)가 데이터 영역(108)으로 출력되는 검색 결과가 된다. 여기서, 이전 일례에서의 노드(101, 102 및 103) 및 이후 일례에서의 노드(105 및 106)는 2분기 트리에 대해 조사되어야 한다는 것을 유의하여야 한다.
도 1b는 2분기 트리 구조를 본 발명에서 제안된 "M" 분기 트리 구조로 대치할 경우의 일례를 도시한다. 여기서, "M"이 "8"이고, "N"이 "3"이라고 가정한다. 주로, 럼프(lump)에서 IP 어드레스의 제9, 제10 및 제11 비트를 점검함으로써, 분기 수신지(branching destination)가 결정될 수 있다. 이러한 경우에, "9" 또는 "10"의 네트 마스크 길이(net mask length)를 갖는 노드가 존재하지 않기 때문에, "9" 및 "10"의 네트 마스크 길이를 갖는 엔트리를 검색할 수 없다. 그러므로, 도 1b에 도시한 바와 같이, 데이터 영역이 "N"의 비트폭 범위 내에서 보다 긴 네트 마스크 길이를 갖는 하나로부터 노드에 링크된다.
예를 들어, "0x80E10001"의 경우에, 노드(109)는 후보가 되고, 데이터 영역은 참조 번호 "110"이 된다. 여기서, 데이터 영역(111)은 노드(102)의 데이터 영역에 상응하지만, 데이터 영역이 네트 마스크 길이의 내림차순으로 노드에 링크되기 때문에, 노드(109)에 링크된 데이터 영역이 결과이고, 노드에 링크된 데이터 영역(111 및 112)이 판독될 필요가 없다. 마찬가지로, "0x80000001"의 경우에, 노드(113)에서 네트 마스크 길이(11)에 상응하는 엔트리가 존재하지 않기 때문에, 특히, 결과가 다음 노드에 존재하지 않으면, 데이터가 출력되는 데이터 영역은 참조 번호 "114"가 된다. 통상의 2분기 트리 구조와 비교해서 본 발명의 이러한 방법에서는, 노드단의 갯수를 감소시킬 수 있고, 보다 용이하게 LPM(Longest Prefix Matching)을 이룰 수 있다.
하기에서, IPv4에 적응되는 16개의 분기 트리의 경우의 실시예를 거론한다. 도 2는 도시된 실시예의 트리 구조를 개념적으로 도시한 설명도이다. 트리는 8개의 계층단(L0 내지 L7)으로 분할된다. 트리는 노드 및 경로 데이터로 구성된다. 각 노드는 고유 노드 식별자(NID)에 의해 식별된다. 각 노드는 16개의 노드 엔트리를 갖는다. 노드는 루트 노드(root node), 잎노드(leaf node) 및 분기 노드(branch node)를 포함한다. 루트 노드는 계층단(L0)에서 고정 노드이다. 분기 노드는 계층단(L0)과 다른 계층단에 위치된다. 노드의 엔트리 중 하나는 하위 계층단에서 다른 노드에 링크된 분기를 갖는다. 각 잎 노드는 하나의 노드이고, 노드의 노드 엔트리 중 하나는 경로 데이터를 갖는다. 분기 노드는 잎 노드일 수 있다. 각 노드 및 경로 데이터는 메모리 상에 각 영역을 점유한다.
도 3은 IPv4 어드레스 및 트리 구조 사이의 관계를 도시한다. IPv4 어드레스의 32 비트를 4 비트 단위의 복수의 블록으로 분할하고, 각 블록은 B0 내지 B7로 식별된다. B0 내지 B7은 도 2의 L0 내지 L7의 각 계층단에 상응한다. 예를 들어, 도 2의 노드(A) 및 노드(B)의 관계는 도 3에 도시된 관계로 된다. 주로, 노드(B)의 노드 엔트리는 노드(A)의 "NID"에 요구되는 노드(A)의 계층단에 상응하는 블록의 비트열을 추가하고, "0"의 수개의 비트를 추가함으로써 발생된다. 이것은 노드(B)를 형성하는 노드 엔트리의 어드레스가 된다.
도 4는 노드 엔트리의 구성을 도시한다. 도 4에서, "V"는 노드 엔트리가 유효한지 여부를 지시하고, "1"은 유효 노드(valid node)이고, "0"는 널 노드(null node)이다. 노드가 널(null)일 경우에, 다른 필드의 정보는 전혀 의미가 없다. "L"은 관련 노드 엔트리가 경로 데이터를 갖는지 여부를 나타낸다. 그러므로, "1" 또는 "0"을 지시하는 하나의 비트 구성일 수 있다. 하지만, 도시된 실시예에서, 하기의 이유로 4 비트가 할당된다. "L" 필드가 "0000"이 아닐 경우에, 노드가 경로 데이터를 갖는다. "C"는 하위 계층단에 대한 링크의 유무를 나타낸다. "C"가 "1"일 경우에, 노드 엔트리가 하위 계층단에서의 노드에 대한 링크를 나타낸다.
"CL"은 "1"이고 링크되어 있을 경우에 유효한 하위 계층단의 노드의 계층을 나타낸다. "C"가 "1"일 경우에, "NID"는 유효한 하위 계층단의 노드 ID를 나타낸다. "EID"는 경로 데이터의 식별자이다. "EID"에 의해, 경로 데이터를 저장하는 메모리 어드레스가 고유하게 식별된다. "L"이 "0000"이 아닐 경우에, "EID"는 유효하다. 마지막으로, "NA"는 노드 엔트리에 상응하는 네트워크 어드레스이다.
하기에서, "L" 사용을 거론한다. 트리는 IPv4의 4 비트 블록으로 구성된다. 그러므로, 네트 마스크 길이가 4 비트 영역(bit boundary)이 아닐 경우에, "L" 필드가 이용된다. 도시된 실시예에서, 블록은 4 비트로 구성된다. 또한, "L" 필드는 4 비트로 구성된다. 도 3의 일례를 거론하면, "L"이 "1***"일 경우에, "12"의 네트 마스크 길이에 상응하는 경로 데이터가 존재한다. 마찬가지로, "L"이 "*1**"일 경우 네트 마스크 길이가 "11"이고, "L"이 "**1*"일 경우 네트 마스크 길이가 "10"이다. 이때, LPM에 따라서, LPM 경로 데이터의 식별자는 "EID"로서 설정된다. 예를 들어, "L"이 "1010"일 경우에, "12"의 네트 마스크 길이에 상응하는 경로 데이터의 식별자는 "EID"가 된다.
도 5는 경로 데이터의 구성의 일례를 도시한다. "A"가 "1"일 경우에, 경로 데이터가 유효함을 나타낸다. "P"가 "1"일 경우에, 다른 경로 데이터에 대한 링크가 존재함을 나타낸다. "NEID"에서, 링크 목적지에 대한 경로 데이터의 "EID"가 저장된다. "NH" 및 "OP"는 각각 목적지의 IP 어드레스 및 출력 포트이다. 도 1의 일례를 고려하면, 경로 데이터(110)의 "NEID" 필드에서, 경로 데이터(111)의 "EID"가 저장된다. 상술한 트리 구조에 기초한 중계 장비(라우터 장치) 내의 경로 검색 회로(600)를 도 6의 블록도 형태로 설명한다.
먼저, 경로 검색 회로(600)에서, 타겟 IP 어드레스(DA)의 32 비트, 초기 계층단(도 2의 LO에 상응함) 및 도 2의 루트 노드의 ID가 입력된다. 초기 계층단의 값은 "0"이고, 루트 노드 ID는 고정값이다. 입력 "DA"가 DA 유지부(601)에 저장된다. 어드레스 생성부(602)는 자 노드 판정 처리부(606)에 의해 공급되는 "CL"(노드의 하위 계층단을 지시함)에 상응하는 블록(도 3의 일례에서 B2)을 판독하고, 자 노드 판정 처리부(606)로부터 공급된 블록의 비트열 및 "NID"(하위 계층단의 노드 ID를 지시함)를 이용하여 도 3에 도시된 어드레스를 발생하여 노드 판독부(603)로 출력한다.
어드레스 생성부(602)는 "DA" 및 노드 ID로부터 판독하기 위한 계층값(도 3의 B0 내지 B7)을 지시하는 판독 계층값을 보유한다. 먼저, 입력 초기 계층값이 판독 계층값으로서 이용되고, 루트 노드 ID(고정값)가 노드 ID로서 이용된다. 노드 판독부(603)는 제어부(601)로부터 노드 판독 요구를 수신하고, 어드레스 생성부(602)로부터 어드레스 출력의 노드 엔트리를 판독하여 자 노드 판정 처리부(606), 유효성 판정 처리부(607), NA 판정 처리부(608) 및 L 필드 판정 처리부(609)로 각각 출력한다.
도 7의 동작 흐름도에 도시한 바와 같이, 자 노드 판정 처리부(606)는 노드 엔트리의 "C" 비트를 점검한다(단계 S1). "C"가 "1"일 경우에, "CL" 필드값 및 "NID" 필드값이 어드레스 생성부(602)로 출력된다(단계 S2). 어드레스 생성부(602)가 "CL"값 및 "NID"값을 이용하여 다음 어드레스를 발생한다. 자 노드 판정 처리부(606)는 제어부(611)로 "C" 비트값을 동시에 출력한다(단계 S3). 도 8의 동작 플로우챠트에 도시한 바와 같이, 유효 판정 처리부(607)는 노드 엔트리의 "V" 비트를 추출하여(단계 S21), 제어부(611)로 출력한다(단계 S22).
도 9의 동작 흐름도에 도시한 바와 같이, NA 판정 처리부(608)는 DA 유지부(601)에 의해 보유되는 "DA"와 노드 엔트리의 "NA" 필드를 논리곱하고(단계 S31), 그 결과로 노드 엔트리의 "NA" 필드와 동일한지 여부를 점검한다(단계 S32). 동일할 경우에 "1"이 제어부(611)로 출력되고(단계 S33), 동일하지 않을 경우에 "0"이 제어부(611)로 출력된다(단계 S34). 도 10의 동작 흐름도에 도시한 바와 같이, L 필드 판정 처리부(609)가 노드 엔트리의 "L" 필드를 점검한다(단계 S41). "L" 필드가 "0000"이 아닐 경우에, 노드 엔트리의 "EID" 필드값이 결과 출력부(610)로 출력된다(단계 S42). 한편, "L"이 "0000"일 경우에, "0"이 제어부(611)로 출력되고(단계 S33 및 S34), "L"이 "0000"이 아닐 경우에, "1"이 제어부(611)로 출력된다(단계 S45).
제어부(611)의 처리 내용은 도 11에 도시된다. 도 11에 도시된 바와 같은 4 비트값을 형성하도록 자 노드 판정 처리부(606), 유효 판정 처리부(607), NA 판정 처리부(608) 및 L 필드 판정 처리부(609)로부터의 입력은 하나의 비트로 표현된다. 4 비트의 입력값의 조합으로, 제어부(611)는 노드 판독부(603)로 노드 판독 요구 신호를 출력하고, 결과 출력부(610)로 결과 출력 요구 신호 및 "EID" 요구 신호를 출력한다.
제어부(611)로부터의 "EID" 갱신 요구 수신 시에만, 결과 출력부(610)가 L 필드 판정 처리부(609)로부터 출력된 "EID"를 보유한다. 이미 보유된 "EID"가 존재할 경우에, 보유된 "EID"가 갱신된다. 한편, 제어부(611)로부터의 결과 출력 요구가 수신될 경우에, 경로 데이터가 메모리 컨트롤러(605)를 통해 외부 메모리(604)로부터 판독되고, 판독된 경로 데이터의 "OP" 및 "NH"값을 출력한다. 보유 "EID"가 존재하지 않을 경우에, 검색 오류 지시 신호가 출력된다.
전술한 처리를 통해, 메모리 영역으로서 확립된 트리 노드는 원하는 경로 정보를 발견하도록 순차적으로 추적된다.
여기서, 도 8에서 NA 판정 처리부(608)의 판정 처리의 필요성, 주로, 논리곱함으로써 DA 유지부(601) 내에 보유된 입력 "DA"값 및 노드 판독부(609)에 의해 판독된 노드 엔트리의 "NA"값의 일치 판정 필요성을 도 12를 참조하여 거론한다. 예를 들어, "DA"값이 "0x11223344"이고, 한 노드 엔트리의 "DA"값이 "0x1122E344"인 도 12a에 도시된 경우에, 주로 도 12b에 도시된 트리 구조가 고려된다.
이때, 판정 처리가 4 비트 블록당 초기 계층단(L0 내지 L7)에서 수행되는 도시된 실시예에서, NA = 0x1122E344에 상응하는 노드 엔트리가 계층단(L4)에서 판독된다. "NA"의 이러한 값은 계층단(L4)에서의 "DA"와 상이할 경우에, 조건을 만족시키지 못하는 이러한 엔트리는 폐기되어야 한다. 그러므로, NA 판정 처리부(608)가 구비되어 "DA" 및 "NA"의 모든 비트값을 비교함으로써 일치 판정을 처리한다.
다른 실시예로서, "NA"가 노드 엔트리 정보에는 존재하지 않고 경로 데이터 정보에 존재하는 경우를 거론한다. 본 발명의 방법에서, 노드의 메모리 사이즈가 불필요하게 클 수 있다. 특히, 블록의 비트 갯수가 크거나 또는 큰 어드레스 길이를 갖는 IPv4가 취급될 경우에, 메모리 사이즈는 제어되어야 한다.
이러한 실시예에서, IPv6 어드레스를 예를 든다. IPv6에서, 네트워크 어드레스는 상위 64 비트이다. 이러한 정보는 노드 엔트리 내에 제공되는 것이 아니라 경로 데이터 내에 제공된다. 이에 의해, 노드 엔트리의 메모리 사이즈는 작아진다. 이러한 경우에, 노드 엔트리의 구성은 도 13에 도시되고, 경로 데이터의 구조는 도 14에 도시된다.
도 15는 경로 검색 회로(600)의 도시된 실시예의 구성을 도시한 블록도이다. 도 6의 구성요소와 유사한 구성 요소는 유사한 참조 번호로 식별된다. 도 15에서, 도 6의 구성과 상이한 구성요소는 NA 판정 처리부(608)이다. NA 판정 처리부(608)는 L 필드 판정 처리부(609) 내에 경로 데이터가 존재한다고 판정할 경우에, NA 판정 처리부(608)는 L 필드 판정 처리부(609)로부터 "EID"를 수신하여 메모리 컨트롤러(605)를 통해 외부 메모리(604)로부터 경로 데이터 내의 "NA"값을 판독하고, 도 6의 NA 판정 처리부(608)와 유사한 프로세스를 처리한다. 다른 회로 구성은 도 6의 회로 구성과 동일한 프로세스를 처리한다. 설명을 간소화하고, 본 발명의 명확한 이해를 돕기위해 도 6에 도시된 회로 구성과 공통적인 프로세스의 중복 거론은 생략한다.
도 6 및 도 15에 도시된 DA 유지부(601), 메모리(604), 메모리 컨트롤러(605)와 다른 구성이 판독-전용 기억 매체 내에 제어 프로그램을 예비적으로 저장하고, 컴퓨터(CPU)로 제어 프로그램을 판독하여 제어 동작으로 처리함으로써 구현될 수 있음을 주지하여야 한다.
본 발명은 M 분기 트리(M 〉2)를 이용하여 IP 어드레스를 블록으로 분할하여 한 비트 단위로 점검하지 않고 복수의 비트를 동시에 점검하는 방법을 구현한다. 그러므로, 검색 테이블에 대한 액세스 횟수가 2분기 트리 검색과 비교하여 감소될 수 있다. 또한, 럼프 내의 복수의 비트를 동시에 점검하는 것은, 네트 마스크 길이도 복수의 비트 단위로 취급할 수 밖에 없다는 문제점이 있다. 하지만, 본 발명은 경로 데이터를 링크시키는 구성을 이용함으로써 한 비트당 네트 마스크 길이의 취급을 가능하게 한다.
블록 단위로 IP 어드레스를 취급하는 검색 방법은 IPv4 어드레스의 4배인 128 비트 길이의 어드레스를 갖는 IPv6 패킷을 취급하는 경우에 특히 효과적이다.
이 기술분야에 속하는 통상의 지식을 가진 자가 이해할 수 있듯이, 본 발명은 실시예에 관하여 도시 및 설명되었지만, 본 발명의 기술적 사상 및 범위를 벗어나지 않고 상술한 바와 다양한 기타 변경, 생략 및 추가가 본 발명에 이루어질 수 있다. 그러므로, 본 발명은 상술한 특정 실시예에 한정되는 것이 아니라 첨부된 특허청구범위 상의 특징에 대하여 본 발명에 포함된 범위 및 이에 상응하는 등가 범위 내에서 구체화될 수 있는 모든 가능한 실시예를 포함한다는 것을 이해하여야 한다.
도 1a는 통상의 2분기 트리 검색 방법을 도시한 개념적인 설명도.
도 1b는 M 브랜치 (M 〉2) 검색 방법을 도시한 개념적인 설명도.
도 2는 본 발명에 따른 경로 테이블의 트리 구조의 일례를 도시한 설명도.
도 3은 IP 어드레스 및 노드 사이의 관계를 도시한 설명도.
도 4는 노드 엔트리의 일례를 도시한 설명도.
도 5는 경로 데이터 엔트리 구조의 일례를 도시한 설명도.
도 6은 경로 검색 회로의 구성을 도시한 설명도.
도 7은 자 노드 판정 처리부(606)의 동작을 도시한 흐름도.
도 8은 유효성 판정 처리부(607)의 동작을 도시한 흐름도.
도 9는 NA 판정 처리부(608)의 동작을 도시한 흐름도.
도 10은 L 필드 판정 처리부(609)의 동작을 도시한 흐름도.
도 11은 제어부(611)의 처리 로직을 도시한 흐름도.
도 12a 및 도 12b는 NA 판정 처리부(608)의 필요성을 설명하기 위한 설명도.
도 13은 본 발명의 다른 실시예에서 노드 엔트리의 구성을 도시한 설명도.
도 14는 본 발명의 다른 실시예의 경로 데이터 엔트리의 구성을 도시한 설명도.
도 15는 본 발명의 다른 실시예의 경로 검색 회로(600)의 구성을 도시한 설명도.
도 16은 LPM(Longest Prefix Matching)의 일례를 설명하기 위한 설명도.
도 17은 통상의 2분기 트리 구조의 일례를 설명하기 위한 설명도.
〈도면의 주요 부분에 대한 부호의 설명〉
600 : 경로 검색 회로
601 : DA 유지부
602 : 어드레스 생성부
603 : 노드 판독부
604 : 외부 메모리
605 : 메모리 컨트롤러
606 : 자 노드 판정 처리부
607 : 유효 판정 처리부
608 : NA 판정 처리부
609 : L 필드 판정 처리부
610 : 결과 출력부
611 : 제어부

Claims (20)

  1. 통신처를 특정하는 수신지 어드레스(destination address)에 기초하여 다음에 송신할 노드를 결정하는 경로 검색 시스템에 있어서,
    각 노드 엔트리 정보와 경로 데이타가 계층 구조의 트리 구조로 설정되며, 상기 트리 구조는 상기 수신지 어드레스의 상위 비트로부터 N 비트(N은 2 이상의 정수)마다 체크되는 M 분기 트리 구조(M = 2N)를 갖는 경로 메모리; 및
    상기 수신지 어드레스에 기초하여 초기 계층으로부터 하위 계층으로 순차적으로 상기 메모리의 상기 노드 엔트리 정보를 검색하여 대응하는 경로 데이타를 유도해 내는 경로 검색 수단을 포함하는
    것을 특징으로 하는 경로 검색 시스템.
  2. 제1항에 있어서, 상기 노드 엔트리 정보는 대응하는 노드에서의 상기 경로 데이타의 유무를 나타내는 경로 데이타 유무 정보, 하위 계층에의 링크의 유무를 나타내는 링크 유무 정보, 상기 하위 계층을 나타내는 계층값, 상기 하위 계층의 노드를 특정하는 노드 ID, 상기 경로 데이타를 특정하기 위한 경로 데이타 ID, 및 상기 노드 엔트리에 대응하는 네트워크 어드레스를 포함하는 것을 특징으로 하는 경로 검색 시스템.
  3. 제2항에 있어서, 상기 경로 데이타의 엔트리 정보는 다음에 전송할 노드의 적어도 어드레스값을 갖는 것을 특징으로 하는 경로 검색 시스템.
  4. 제2항에 있어서, 상기 경로 검색 수단은 상기 트리 구조의 초기 계층과 루트 노드의 노드 ID를 초기값으로 하고, 상기 초기 계층에 대응하는 상기 수신지 어드레스의 상위 N 비트를 판독하며, 상기 상위 N 비트와 상기 루트 노드의 노드 ID를 사용하여 상기 경로 메모리를 판독하기 위한 어드레스를 생성하는 어드레스 생성 수단, 및
    상기 노드 엔트리 정보의 상기 링크 유무 정보를 판정하여 링크가 존재하는 경우에 판독된 노드 엔트리 정보의 계층 정보와 상기 노드 ID를 상기 어드레스 생성 수단에 전송함으로써 다음 하위 계층의 상기 노드 엔트리 정보의 판독 어드레스의 생성을 명령하는 자 노드(child node) 판정 수단을 포함하는
    것을 특징으로 하는 경로 검색 시스템.
  5. 제4항에 있어서, 상기 경로 검색 수단은 상기 판독된 노드 엔트리 정보의 상기 네트워크 어드레스와 상기 수신지 어드레스의 일치를 판정하는 어드레스 판정 수단, 상기 판독된 노드 엔트리 정보의 상기 경로 데이타 유무 정보의 판정을 행하는 경로 데이타 유무 판정 수단, 및 상기 어드레스 판정 수단, 상기 경로 데이타 유무 판정 수단 및 상기 자 노드 판정 수단의 판정 결과들에 따라 상기 메모리의 판독을 제어하는 제어 수단을 포함하는 것을 특징으로 하는 경로 검색 시스템.
  6. 통신처를 특정하는 수신지 어드레스에 기초하여 다음에 송신할 노드를 결정하는 경로 검색 방법에 있어서,
    각 노드 엔트리 정보와 경로 데이타가 계층 구조의 트리 구조로 설정되며, 상기 트리 구조는 상기 수신지 어드레스의 상위 비트로부터 N 비트(N은 2 이상의 정수)마다 체크되는 M 분기 트리 구조(M = 2N)를 갖는 경로 메모리를 제공하는 단계; 및
    상기 수신지 어드레스에 기초하여 초기 계층으로부터 하위 계층으로 순차적으로 상기 메모리의 상기 노드 엔트리 정보를 검색하여 대응하는 경로 데이타를 유도해 내는 경로 검색 단계를 포함하는
    것을 특징으로 하는 경로 검색 방법.
  7. 제6항에 있어서, 상기 노드 엔트리 정보는 대응하는 노드에서의 상기 경로 데이타의 유무를 나타내는 경로 데이타 유무 정보, 하위 계층에의 링크의 유무를 나타내는 링크 유무 정보, 상기 하위 계층을 나타내는 계층값, 상기 하위 계층의 노드를 특정하는 노드 ID, 상기 경로 데이타를 특정하기 위한 경로 데이타 ID, 및 상기 노드 엔트리에 대응하는 네트워크 어드레스를 포함하는 것을 특징으로 하는 경로 검색 방법.
  8. 제7항에 있어서, 상기 경로 데이타의 엔트리 정보는 다음에 전송할 노드의 적어도 어드레스값을 갖는 것을 특징으로 하는 경로 검색 방법.
  9. 제7항에 있어서, 상기 경로 검색 단계는 상기 트리 구조의 초기 계층과 루트 노드의 노드 ID를 초기값으로 하고, 상기 초기 계층에 대응하는 상기 수신지 어드레스의 상위 N 비트를 판독하며, 상기 상위 N 비트와 상기 루트 노드의 노드 ID를 사용하여 상기 경로 메모리를 판독하기 위한 어드레스를 생성하는 어드레스 생성 단계, 및
    상기 노드 엔트리 정보의 상기 링크 유무 정보를 판정하여 링크가 존재하는 경우에 상기 판독된 노드 엔트리 정보의 계층 정보와 상기 노드 ID를 상기 어드레스 생성 단계에 전송함으로써 다음 하위 계층의 상기 노드 엔트리 정보의 판독 어드레스의 생성을 명령하는 자 노드 판정 단계를 포함하는
    것을 특징으로 하는 경로 검색 방법.
  10. 제9항에 있어서, 상기 경로 검색 단계는 상기 판독된 노드 엔트리 정보의 상기 네트워크 어드레스와 상기 수신지 어드레스의 일치를 판정하는 어드레스 판정 단계, 상기 판독된 노드 엔트리 정보의 상기 경로 데이타 유무 정보의 판정을 행하는 경로 데이타 유무 판정 단계, 및 상기 어드레스 판정 단계, 상기 경로 데이타 유무 판정 단계 및 상기 자 노드 판정 단계의 판정 결과들에 따라 상기 메모리의 판독을 제어하는 제어 단계를 포함하는 것을 특징으로 하는 경로 검색 방법.
  11. 통신처를 특정하는 수신지 어드레스에 기초하여 다음에 송신할 노드를 결정하는 라우터 장치에 있어서,
    각 노드 엔트리 정보와 경로 데이타가 계층 구조의 트리 구조로 설정되며, 상기 트리 구조는 상기 수신지 어드레스의 상위 비트로부터 N 비트(N은 2 이상의 정수)마다 체크되는 M 분기 트리 구조(M = 2N)를 갖는 경로 메모리; 및
    상기 수신지 어드레스에 기초하여 초기 계층으로부터 하위 계층으로 순차적으로 상기 메모리의 상기 노드 엔트리 정보를 검색하여 대응하는 경로 데이타를 유도해 내는 경로 검색 수단을 포함하는
    것을 특징으로 하는 라우터 장치.
  12. 제11항에 있어서, 상기 노드 엔트리 정보는 대응하는 노드에서의 상기 경로 데이타의 유무를 나타내는 경로 데이타 유무 정보, 하위 계층에의 링크의 유무를 나타내는 링크 유무 정보, 상기 하위 계층을 나타내는 계층값, 상기 하위 계층의 노드를 특정하는 노드 ID, 상기 경로 데이타를 특정하기 위한 경로 데이타 ID, 및 상기 노드 엔트리에 대응하는 네트워크 어드레스를 포함하는 것을 특징으로 하는 라우터 장치.
  13. 제12항에 있어서, 상기 경로 데이타의 엔트리 정보는 다음에 전송할 노드의 적어도 어드레스값을 갖는 것을 특징으로 하는 라우터 장치.
  14. 제12항에 있어서, 상기 경로 검색 수단은 상기 트리 구조의 초기 계층과 루트 노드의 노드 ID를 초기값으로 하고, 상기 초기 계층에 대응하는 상기 수신지 어드레스의 상위 N 비트를 판독하며, 상기 상위 N 비트와 상기 루트 노드의 노드 ID를 사용하여 상기 경로 메모리를 판독하기 위한 어드레스를 생성하는 어드레스 생성 수단, 및
    상기 노드 엔트리 정보의 상기 링크 유무 정보를 판정하여 링크가 존재하는 경우에 판독된 노드 엔트리 정보의 계층 정보와 상기 노드 ID를 상기 어드레스 생성 수단에 전송함으로써 다음 하위 계층의 상기 노드 엔트리 정보의 판독 어드레스의 생성을 명령하는 자 노드 판정 수단을 포함하는
    것을 특징으로 하는 라우터 장치.
  15. 제14항에 있어서, 상기 경로 검색 수단은 상기 판독된 노드 엔트리 정보의 상기 네트워크 어드레스와 상기 수신지 어드레스의 일치를 판정하는 어드레스 판정 수단, 상기 판독된 노드 엔트리 정보의 상기 경로 데이타 유무 정보의 판정을 행하는 경로 데이타 유무 판정 수단, 및 상기 어드레스 판정 수단, 상기 경로 데이타 유무 판정 수단 및 상기 자 노드 판정 수단의 판정 결과들에 따라 상기 메모리의 판독을 제어하는 제어 수단을 포함하는 것을 특징으로 하는 라우터 장치.
  16. 통신처를 특정하는 수신지 어드레스에 기초하여 다음에 송신할 노드를 결정하는 경로 검색 방법의 제어 프로그램을 기록한 저장 매체에 있어서,
    상기 제어 프로그램은,
    각 노드 엔트리 정보와 경로 데이타가 계층 구조의 트리 구조로 설정되며, 상기 트리 구조는 상기 수신지 어드레스의 상위 비트로부터 N 비트(N은 2 이상의 정수)마다 체크되는 M 분기 트리 구조(M = 2N)를 갖는 경로 메모리를 제공하는 단계; 및
    상기 수신지 어드레스에 기초하여 초기 계층으로부터 하위 계층으로 순차적으로 상기 메모리의 상기 노드 엔트리 정보를 검색하여 대응하는 경로 데이타를 유도해 내는 경로 검색 단계를 포함하는
    것을 특징으로 하는 저장 매체.
  17. 제16항에 있어서, 상기 노드 엔트리 정보는 대응하는 노드에서의 상기 경로 데이타의 유무를 나타내는 경로 데이타 유무 정보, 하위 계층에의 링크의 유무를 나타내는 링크 유무 정보, 상기 하위 계층을 나타내는 계층값, 상기 하위 계층의 노드를 특정하는 노드 ID, 상기 경로 데이타를 특정하기 위한 경로 데이타 ID, 및 상기 노드 엔트리에 대응하는 네트워크 어드레스를 포함하는 것을 특징으로 하는 저장 매체.
  18. 제17항에 있어서, 상기 경로 데이타의 엔트리 정보는 다음에 전송할 노드의 적어도 어드레스값을 갖는 것을 특징으로 하는 저장 매체.
  19. 제17항에 있어서, 상기 경로 검색 단계는 상기 트리 구조의 초기 계층과 루트 노드의 노드 ID를 초기값으로 하고, 상기 초기 계층에 대응하는 상기 수신지 어드레스의 상위 N 비트를 판독하며, 상기 상위 N 비트와 상기 루트 노드의 노드 ID를 사용하여 상기 경로 메모리를 판독하기 위한 어드레스를 생성하는 어드레스 생성 단계, 및
    상기 노드 엔트리 정보의 상기 링크 유무 정보를 판정하여 링크가 존재하는 경우에 상기 판독된 노드 엔트리 정보의 계층 정보와 상기 노드 ID를 상기 어드레스 생성 단계에 전송함으로써 다음 하위 계층의 상기 노드 엔트리 정보의 판독 어드레스의 생성을 명령하는 자 노드 판정 단계를 포함하는
    것을 특징으로 하는 저장 매체.
  20. 제19항에 있어서, 상기 경로 검색 단계는 상기 판독된 노드 엔트리 정보의 상기 네트워크 어드레스와 상기 수신지 어드레스의 일치를 판정하는 어드레스 판정 단계, 상기 판독된 노드 엔트리 정보의 상기 경로 데이타 유무 정보의 판정을 행하는 경로 데이타 유무 판정 단계, 및 상기 어드레스 판정 단계, 상기 경로 데이타 유무 판정 단계 및 상기 자 노드 판정 단계의 판정 결과들에 따라 상기 메모리의 판독을 제어하는 제어 단계를 포함하는 것을 특징으로 하는 저장 매체.
KR10-2001-0041465A 2000-07-12 2001-07-11 경로 검색 시스템 및 그 방법과 그것에 사용되는 라우터장치 KR100472275B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2000-00210654 2000-07-12
JP2000210654A JP2002026973A (ja) 2000-07-12 2000-07-12 経路検索システム及びその方法並びにそれに使用するルータ装置

Publications (2)

Publication Number Publication Date
KR20020006464A KR20020006464A (ko) 2002-01-19
KR100472275B1 true KR100472275B1 (ko) 2005-03-08

Family

ID=18706888

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0041465A KR100472275B1 (ko) 2000-07-12 2001-07-11 경로 검색 시스템 및 그 방법과 그것에 사용되는 라우터장치

Country Status (5)

Country Link
US (1) US20020009056A1 (ko)
EP (1) EP1172971A3 (ko)
JP (1) JP2002026973A (ko)
KR (1) KR100472275B1 (ko)
CN (1) CN1333616A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230001519U (ko) 2022-01-21 2023-07-28 현충만 개별 과수목용 비닐하우스 프레임

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100421414B1 (ko) * 2001-07-23 2004-03-09 한국전자통신연구원 다중 탐색 트리의 노드 구조를 이용한 트리 검색 및업데이트 방법
US7050416B2 (en) * 2002-05-14 2006-05-23 Thomson Licensing Technique for IP communication among wireless devices
US7653010B2 (en) * 2003-06-03 2010-01-26 Casient Limited System and method for wireless mesh networking
US7840696B2 (en) * 2003-07-25 2010-11-23 Broadcom Corporation Apparatus and method for classifier identification
US9185074B2 (en) * 2004-07-06 2015-11-10 Hewlett-Packard Development Company, L.P. Method and system for generating ranges of internet protocol addresses
WO2006080069A1 (ja) * 2005-01-27 2006-08-03 Fujitsu Limited ネットワーク機器管理装置、ネットワーク機器管理方法、ネットワーク機器、及びそれらで使用されるプログラム
CN1889565B (zh) * 2005-08-16 2010-05-05 华为技术有限公司 会话建立方法
KR100887104B1 (ko) 2007-06-12 2009-03-04 건국대학교 산학협력단 Ip 패킷의 라우팅을 위한 세그먼트 트리 구성 장치 및방법
NL2002799C2 (en) * 2009-04-24 2010-10-26 Univ Delft Tech Data structure, method and system for address lookup.
CN102859508B (zh) * 2009-11-04 2015-11-25 沙特阿拉伯石油公司 具有分层过程自动化现场网络集的自适应混合无线和有线过程控制系统
CN102156759B (zh) * 2011-05-25 2013-12-18 华为技术有限公司 二叉树并行查找方法和设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997002680A1 (en) * 1995-06-30 1997-01-23 Philips Electronics N.V. A method and apparatus for routing messages in a network of nodes
US5654985A (en) * 1993-02-19 1997-08-05 Advanced Micro Devices, Inc. Address tracking over repeater based networks
KR0129140B1 (ko) * 1994-12-21 1998-04-08 양승택 Cdma 이동통신 네트워크 노드에서의 멀티캐스팅 통신경로 제어 방법
KR19980063417A (ko) * 1996-12-13 1998-10-07 제프리엘.포먼 다중망 환경에서 종단 사용자들 간의 데이터 통신을 위한 최소 비용 경로 배정(lcr) 기능 수행 방법 및 시스템
US6018524A (en) * 1997-09-09 2000-01-25 Washington University Scalable high speed IP routing lookups
EP1128608A2 (en) * 2000-01-27 2001-08-29 International Business Machines Corporation Method and means for classifying data packets
KR100364433B1 (ko) * 2000-04-28 2002-12-11 학교법인 동국학원 비트-벡터 테이블을 이용한 ip 주소 검색방법

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5860136A (en) * 1989-06-16 1999-01-12 Fenner; Peter R. Method and apparatus for use of associated memory with large key spaces
AU620994B2 (en) * 1989-07-12 1992-02-27 Digital Equipment Corporation Compressed prefix matching database searching
US5787430A (en) * 1994-06-30 1998-07-28 International Business Machines Corporation Variable length data sequence backtracking a trie structure
US6285679B1 (en) * 1997-08-22 2001-09-04 Avici Systems, Inc. Methods and apparatus for event-driven routing
IT1305140B1 (it) * 1998-10-27 2001-04-10 Cselt Centro Studi Lab Telecom Memoria per la ricerca di informazioni mediante analisi di prefissi inparticolare per la realizzazione di tabelle di instradamento in nodi
US6404752B1 (en) * 1999-08-27 2002-06-11 International Business Machines Corporation Network switch using network processor and methods
KR100748772B1 (ko) * 1999-12-10 2007-08-13 모사이드 테크놀로지스 코포레이션 최장의 정합 어드레스 탐색장치 및 방법
US6591285B1 (en) * 2000-06-16 2003-07-08 Shuo-Yen Robert Li Running-sum adder networks determined by recursive construction of multi-stage networks
US6880064B1 (en) * 2000-06-21 2005-04-12 Mosaid Technologies, Inc. Method and apparatus for physical width expansion of a longest prefix match lookup table

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5654985A (en) * 1993-02-19 1997-08-05 Advanced Micro Devices, Inc. Address tracking over repeater based networks
KR0129140B1 (ko) * 1994-12-21 1998-04-08 양승택 Cdma 이동통신 네트워크 노드에서의 멀티캐스팅 통신경로 제어 방법
WO1997002680A1 (en) * 1995-06-30 1997-01-23 Philips Electronics N.V. A method and apparatus for routing messages in a network of nodes
KR19980063417A (ko) * 1996-12-13 1998-10-07 제프리엘.포먼 다중망 환경에서 종단 사용자들 간의 데이터 통신을 위한 최소 비용 경로 배정(lcr) 기능 수행 방법 및 시스템
US6018524A (en) * 1997-09-09 2000-01-25 Washington University Scalable high speed IP routing lookups
EP1128608A2 (en) * 2000-01-27 2001-08-29 International Business Machines Corporation Method and means for classifying data packets
KR100364433B1 (ko) * 2000-04-28 2002-12-11 학교법인 동국학원 비트-벡터 테이블을 이용한 ip 주소 검색방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230001519U (ko) 2022-01-21 2023-07-28 현충만 개별 과수목용 비닐하우스 프레임

Also Published As

Publication number Publication date
EP1172971A3 (en) 2004-04-21
US20020009056A1 (en) 2002-01-24
KR20020006464A (ko) 2002-01-19
EP1172971A2 (en) 2002-01-16
JP2002026973A (ja) 2002-01-25
CN1333616A (zh) 2002-01-30

Similar Documents

Publication Publication Date Title
US6792423B1 (en) Hybrid longest prefix match and fixed match searches
US7089240B2 (en) Longest prefix match lookup using hash function
JP3735471B2 (ja) パケット中継装置およびlsi
US7058642B2 (en) Method and data structure for a low memory overhead database
US5111453A (en) Apparatus and method for recognizing addresses of information packets
US7418505B2 (en) IP address lookup using either a hashing table or multiple hash functions
US7103679B2 (en) Automatically identifying subnetworks in a network
US20040085953A1 (en) Longest prefix matching (LPM) using a fixed comparison hash table
KR100472275B1 (ko) 경로 검색 시스템 및 그 방법과 그것에 사용되는 라우터장치
US6922410B1 (en) Organization of databases in network switches for packet-based data communications networks
KR20020081681A (ko) 최장의 정합 어드레스 탐색장치 및 방법
JP2005538624A (ja) プログラマブル状態マシンのデータ構造を作成して入力単語連鎖を構文解析する方法、プログラマブル状態マシンのデータ構造を使用して入力単語連鎖に対応する結果として得られた値を検索する方法、ワイヤスピードのディープ・パケット処理を行う方法、ディープ・パケット処理のための装置、チップ埋め込み装置、およびプログラミング・コード命令を含むコンピュータ・プログラム(ディープ・パケット処理のための方法および装置)
WO2001005116A2 (en) Routing method and apparatus
CN105991655A (zh) 缓解基于邻居发现的拒绝服务攻击
US7487255B2 (en) Routing cache management with route fragmentation
US20040044868A1 (en) Method and apparatus for high-speed longest prefix match of keys in a memory
WO2002098055A2 (en) Load balancing in ip address lookup
US20030210691A1 (en) Network address-port translation apparatus and method
JP2008167464A (ja) Tlvに基づいたリンク状態のパケットの処理方法及び装置
US6795816B2 (en) Method and device for translating telecommunication network IP addresses by a leaky-controlled memory
JP3970448B2 (ja) 情報中継方法および装置
CN106850541A (zh) 一种物联网中节点的地址确定方法和装置
US7570644B2 (en) Routing method for a telecommunications network and router for implementing said method
JP3609358B2 (ja) フロー識別検索装置および方法
US6895442B1 (en) Technique for fast and efficient internet protocol (IP) address lookup

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: 20090123

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee