KR100384895B1 - 통신시스템에서의 다중계층 병렬처리 룩업 장치 및 그 방법 - Google Patents

통신시스템에서의 다중계층 병렬처리 룩업 장치 및 그 방법 Download PDF

Info

Publication number
KR100384895B1
KR100384895B1 KR10-1999-0039919A KR19990039919A KR100384895B1 KR 100384895 B1 KR100384895 B1 KR 100384895B1 KR 19990039919 A KR19990039919 A KR 19990039919A KR 100384895 B1 KR100384895 B1 KR 100384895B1
Authority
KR
South Korea
Prior art keywords
address
lookup
layer
information
header
Prior art date
Application number
KR10-1999-0039919A
Other languages
English (en)
Other versions
KR20010027934A (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 KR10-1999-0039919A priority Critical patent/KR100384895B1/ko
Publication of KR20010027934A publication Critical patent/KR20010027934A/ko
Application granted granted Critical
Publication of KR100384895B1 publication Critical patent/KR100384895B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3081ATM peripheral units, e.g. policing, insertion or extraction
    • H04L49/309Header conversion, routing tables or routing tags

Landscapes

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

Abstract

1. 청구범위에 기재된 발명이 속한 기술분야
본 발명은 통신시스템에서의 다중계층 병렬처리 룩업 장치 및 그 방법에 관한 것임.
2. 발명이 해결하려고 하는 기술적 과제
본 발명은, 통신시스템에서 기가비트 속도의 트래픽을 만족하는 빠른 룩업을 구현하기 위해 하드웨어 검색 소자인 CAM을 적용하여 2계층 MAC 어드레스와 3계층인 IP 어드레스의 룩업을 동시에, 그리고 상호 독립적으로 처리할 수 있는 다중계층 병렬처리 룩업 장치 및 그 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하고자 함.
또한, 본 발명은, 2계층 MAC 어드레스와 3계층인 IP 어드레스의 룩업을 동시에, 그리고 상호 독립적으로 처리할 수 있을 뿐만 아니라 이벤트 처리를 파이프라인 방식으로 처리하여 시스템의 라우팅 스위치 성능을 향상시킬 수 있는 다중계층 병렬처리 룩업 장치 및 그 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하고자 함.
3. 발명의 해결방법의 요지
본 발명은, 외부로부터 전달되는 패킷 데이터 프레임의 헤더부분을 실시간으로 래치하여 필요한 정보를 추출하기 위한 어드레스 인식수단; 추출된 정보중 제1 소정 계층으로 처리되는 MAC(Medium Access Control) 어드레스에 대한 정보를얻기 위해 제 1 저장수단으로부터 전달되는 내용 주소를 제어하기 위한 제 1 룩업제어수단; 추출된 정보중 제2 소정 계층으로 처리되는 IP(Internet Protocol) 어드레스에 대한 정보를 얻기 위해 제 2 저장수단으로부터 전달되는 내용 주소를 제어하기 위한 제 2 룩업제어수단; 상기 제 1 및 제 2 룩업 제어수단으로부터 얻어낸 출력 네트워크 정보를 순차적으로 전송하기 위한 포워딩 전송수단; 및 상기 제 1 및 제 2 룩업 제어수단으로부터 전달되는 출력 네트워크 정보의 내용을 각각 저장하는 상기 제 1 및 제 2 저장수단을 포함함.
4. 발명의 중요한 용도
본 발명은 이더넷시스템 등과 같은 통신시스템에 이용됨.

Description

통신시스템에서의 다중계층 병렬처리 룩업 장치 및 그 방법{LOOK-UP APPARATUS AND ITS METHOD FOR PROCESSING MULTI-LAYER PARALLEL IN COMMUNICATION SYSTEM}
본 발명은 통신시스템 방식을 이용하는 이더넷(Ethernet) 시스템에서 기가비트 속도의 트래픽을 만족하는 빠른 룩업(Lookup)을 구현하기 위한 것으로서, 특히 내용 주소화 기억 장치(CAM : Content Addressable Memory)를 이용하여 2/3 계층을 병렬 처리하고, 2계층(MAC : Medium Access Control) 어드레스와 3계층인 인터넷 프로토콜(IP : Internet Protocol) 어드레스의 룩업을 동시에, 그리고 상호 독립적으로 처리하게 하며, 또한 이벤트 처리를 파이프라인 방식으로 처리하여 시스템의 성능을 향상시킬 수 있는 통신시스템에서의 다중계층 병렬처리 룩업 장치 및 그 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것이다.
도 1은 일반적인 이더넷시스템의 예시도이다.
도 1에 도시된 바와 같이, 물리 매체를 통하여 들어오는 비트 스트림 신호를 프로토콜 처리하여 수신 피포(FIFO : First In First Out)를 통해 시스템 내로 패킷 프레임을 전달하는 매체접근 제어부(MAC)(11)와, 매체접근 제어부(11)의 수신 피포로부터 입력되는 프레임의 헤더 정보를 이용하여 어드레스 학습과정과 룩업과정을 통해 얻어진 정보를 참조하여 출력 네트워크 인터페이스를 결정하여 주는 룩업 장치(12)와, 출력 네트워크 인터페이스로 포워딩되기 전, 스위칭 패브릭으로 입력되기 전, 스위칭 후 최종 출력 네트워크로 출력되기 전의 입력 또는 출력 프레임을 버퍼링하기 위해 큐잉기능을 하는 포워딩부(13)와, 포워딩 프로세싱 기능에 의해 결정된 방향의 네트워크 인터페이스로 프레임을 옮겨주는 스위치 패브릭(14)으로 구성된다.
한편, 이더넷시스템은 블록킹없는 시스템의 성능을 유지하기 위해 실시간의 어드레스 룩업 기능을 들 수 있는데, 기존과 같이 캐쉬 메모리(123)를 사용한 롱거스트 프리픽스(longest prefix)와 같은 소프트웨어에 의한 알고리즘으로는 프로세서(122)의 성능이 뛰어나다 하더라도 기가비트 밴드폭과 실시간으로 구현할 수 있는 룩업을 만족시킬 수가 없다.
종래에는 2진, 3진 같은 다른 메모리 탐색 알고리즘이나 룩-어사이드(look-aside), 태그(Tagged), 버퍼(Buffer)등과 같은 소프트웨어 기반의 메모리 룩업 테이블을 적용하였다. 또한, 2계층의 브리지 스위치와 3계층의 라우터가 따로 존재하는 네트워크를 구성하였다.
도 2는 종래의 이더넷시스템에서 2계층 MAC 어드레스 룩업을 수행하기 위한 흐름도이다.
도 2에 도시된 바와 같이, 들어오는 입력 패킷(201)에 대해 MAC 헤더를 추출하여(202) 목적지 어드레스(DA)를 판별하고(203) 유니캐스트 프레임인지를 확인한다(204).
확인결과, 유니캐스팅 프레임이 아니면, 멀티캐스팅 프레임을 셋팅하고(205) 목적지 어드레스를 검색하여 룩업 테이블과 매칭(matching)하며(206) 유니캐스팅 프레임이면, 바로 목적지 어드레스를 검색하여 룩업 테이블과 매칭한다(206). 이 때 많이 사용하는 룩업 방법으로는 캐쉬 메모리(123)를 사용한 롱거스트 프리픽스(longest prefix)등의 소프트웨어를 이용한 알고리즘에 의한 방법이다.
목적지 어드레스를 검색하고 매칭한 결과, 룩업 테이블과 매치가 이루어지지 않으면, 브로드 캐스팅 프레임을 셋팅하여(207) 출발지 어드레스를 검색하고 매칭이 되는지를 확인한다(208).
목적지 어드레스를 검색하고 매칭한 결과, 룩업 테이블과의 매치가 이루어지면 출발지 어드레스를 검색하고 매칭이 되는지를 확인한다(208).
출발지 어드레스를 검색하고 매칭한 결과, 매칭이 이루어지지 않으면 출발지 어드레스를 학습하여(209) 출력포트 정보를 얻는다(210).
출발지 어드레스를 검색하고 매칭한 결과, 매칭이 이루어지면 출력포트 정보를 얻는다(210). 이렇게 얻어진 출력포트 정보는 포워딩블록으로 전송되어(211) 룩업 과정을 완료한다.
도 3은 종래의 이더넷시스템에서 3계층 IP 어드레스 룩업을 수행하기 위한 흐름도이다.
도 3에 도시된 바와 같이, 들어오는 입력패킷에 대해(301) IP 헤더를 추출하여(302) IP 버전4가 유효한 상태인지를 검증한다(303).
검증 결과, IP 버전이 4가 아니면 유효하지 않은 상태로 보고 에러를 통보하고(307), IP 버전이 4이면 헤더길이가 20 이상으로 유효한 상태인지를 검증한다(304).
검증 결과, 헤더길이가 20 미만이면 유효하지 않은 상태로 보고 에러를 통보하여(307) 포워딩 블록으로 전송하고(309), 헤더길이가 20 이상이면 헤더 체크 섬이 유효한 상태인지를 검증한다(305).
검증 결과, 헤더 체크 섬이 유효하지 않으면 에러를 통보하여(307) 포워딩 블록으로 전송하고(309), 유효 상태이면 IP 어드레스를 검색하여(306) 출력포트 정보를 얻고(308) 포워딩 블록으로 전송한다(309).
따라서, 종래에는 룩업과정의 흐름이 이벤트에 따라 시리얼하게 진행되어 모든 검색과정과 학습과정이 지나서야 룩업정보가 포워딩부로 전달되므로 많은 시간이 소요되는 문제점이 있었다.
상기와 같은 문제점을 해결하기 위하여 안출된 본 발명은, 통신시스템에서 기가비트 속도의 트래픽을 만족하는 빠른 룩업을 구현하기 위해 하드웨어 검색 소자인 CAM을 적용하여 2계층 MAC 어드레스와 3계층인 IP 어드레스의 룩업을 동시에, 그리고 상호 독립적으로 처리할 수 있는 다중계층 병렬처리 룩업 장치 및 그 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는데 그 목적이 있다.
또한, 본 발명은, 2계층 MAC 어드레스와 3계층인 IP 어드레스의 룩업을 동시에, 그리고 상호 독립적으로 처리할 수 있을 뿐만 아니라 이벤트 처리를 파이프라인 방식으로 처리하여 시스템의 라우팅 스위치 성능을 향상시킬 수 있는 다중계층 병렬처리 룩업 장치 및 그 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는데 그 목적이 있다.
도 1 은 일반적인 이더넷시스템의 예시도.
도 2 는 종래의 이더넷시스템에서 2계층 MAC 어드레스 룩업을 수행하기 위한 흐름도.
도 3 은 종래의 이더넷시스템에서 3계층 IP 어드레스 룩업을 수행하기 위한 흐름도.
도 4 는 본 발명에 따른 이더넷시스템에서의 다중계층 병렬처리 룩업 장치의 일실시예 구성도.
도 5a 및 도5b 는 본 발명에 따른 이더넷시스템에서의 다중계층 병렬처리 룩업 방법에 대한 일실시예 흐름도.
도 6은 본 발명에 따른 이더넷시스템에서의 다중계층 병렬처리 룩업 방법중 파이프라인 방식의 이벤트 처리에 대한 설명도.
*도면의 주요 부분에 대한 부호의 설명
41 : 매체접근제어부 42 : 룩업제어부
43 : 포워딩부 44 : 스위치 패브릭
상기 목적을 달성하기 위한 본 발명은, 통신시스템에서의 다중계층 병렬처리 룩업 장치에 있어서, 외부로부터 전달되는 패킷 데이터 프레임의 헤더부분을 실시간으로 래치하여 필요한 정보를 추출하기 위한 어드레스 인식수단; 추출된 정보중 제1 소정 계층으로 처리되는 MAC(Medium Access Control) 어드레스에 대한 정보를 얻기 위해 제1 저장수단으로부터 전달되는 내용 주소를 제어하기 위한 제1 룩업제어수단; 추출된 정보중 제2 소정 계층으로 처리되는 IP(Internet Protocol) 어드레스에 대한 정보를 얻기 위해 제2 저장수단으로부터 전달되는 내용 주소를 제어하기 위한 제2 룩업제어수단; 상기 제1 및 제2 룩업 제어수단으로부터 얻어낸 출력 네트워크 정보를 순차적으로 전송하기 위한 포워딩 전송수단; 및 상기 제1 및 제2 룩업 제어수단으로부터 전달되는 출력 네트워크 정보의 내용을 각각 저장하는 상기 제1 및 제2 저장수단을 포함하는 것을 특징으로 한다.
그리고, 본 발명은, 통신시스템에 적용되는 다중계층 병렬처리 룩업 방법에 있어서, 외부로부터 입력되는 패킷에 대해 제1 소정 계층 및 제2 소정 계층들의 룩업과정을 동시에 병렬적으로 처리하는 제1 단계; IP(Internet Protocol) 헤더에서 추출된 정보중 제2 소정 계층으로 처리되는 IP 어드레스에 대한 정보를 얻기 위해 제2 저장수단으로부터 전달되는 네트워크 출력정보를 검색하는 제2 단계; MAC(Medium Access Control) 헤더에서 추출된 정보중 제1 소정 계층으로 처리되는 MAC 어드레스에 대한 정보를 얻기 위해 제1 저장수단으로부터 전달되는 네트워크 출력정보를 검색하는 제3 단계; 및 상기 제2 단계 및 제3 단계에서 검색된 네트워크 출력정보를 선별적으로 전송하기 위한 제4 단계를 포함하는 것을 특징으로 한다.
또한, 본 발명은, 프로세서를 구비한 통신시스템에, 외부로부터 입력되는 패킷에 대해 제1 소정 계층 및 제2 소정 계층들의 룩업과정을 동시에 병렬적으로 처리하는 제1 기능; IP(Internet Protocol) 헤더에서 추출된 정보중 제2 소정 계층으로 처리되는 IP 어드레스에 대한 정보를 얻기 위해 제2 저장수단으로부터 전달되는 네트워크 출력정보를 검색하는 제2 기능; MAC(Medium Access Control) 헤더에서 추출된 정보중 제1 소정 계층으로 처리되는 MAC 어드레스에 대한 정보를 얻기 위해 제1 저장수단으로부터 전달되는 네트워크 출력정보를 검색하는 제3 기능; 및 상기 제2 단계 및 제3 단계에서 검색된 네트워크 출력정보를 선별적으로 전송하기 위한 제4 기능을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
상술한 목적, 특징들 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해질 것이다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 상세히 설명한다.
도 4는 본 발명에 따른 이더넷시스템에서의 다중계층 병렬처리 룩업 장치의일실시예 구성도이다.
도 4에 도시된 바와 같이, 이더넷 물리 매체를 통해 들어오는 기가비트 속도의 신호를 프로토콜 처리하여 별도의 내부 수신 피포(FIFO)를 통해 시스템 내로 패킷 프레임을 전달하는 매체접근 제어부(MAC)(41)와, 매체접근 제어부(41)의 수신 피포로부터 입력되는 프레임의 헤더정보를 이용하고, 어드레스 학습과정과 룩업과정을 통해 얻어진 정보를 참조하여 출력 네트워크 인터페이스를 결정하여 주는 룩업제어부(42)와, 출력 네트워크 인터페이스로 포워딩되기 전, 스위칭 패브릭으로 입력되기 전, 스위칭 후 최종 출력 네트워크로 출력되기 전의 입력 또는 출력 프레임을 버퍼링하기 위해 큐잉기능을 하는 포워딩부(43)와, 포워딩 프로세싱 기능에 의해 결정된 방향의 네트워크 인터페이스로 프레임을 옮겨 주는 스위치 패브릭(44)으로 나뉘어진다.
이렇게, 이더넷시스템에서 블록킹이 없도록 시스템의 성능을 좌우하는 룩업 제어부(42)는 어드레스 인식부(421)와, 2계층 룩업 제어부(422)와, 3계층 룩업 제어부(424)와, 포워딩 전송부(426)로 구성된다.
룩업 제어부(42)의 구성을 상세히 살펴보면, 매체접근 제어부(41)의 수신 피포로부터 오는 기가비트 용량의 패킷 데이터 프레임의 헤더 부분을 실시간으로 래치하여 필요한 정보를 추출해 내는 어드레스 인식부(421)와, 추출한 정보 중 2계층으로 처리되는 MAC 어드레스에 대한 룩업정보를 얻기 위해 2계층 내용 주소화 기억장치(CAM)(423)를 제어하여 출력 네트워크 정보를 얻거나(검색), 학습하는 2계층 룩업 제어부(422)와, 어드레스 인식부(421)에서 추출된 정보 중 3계층으로 처리되는 IP 어드레스에 대해 룩업 정보를 얻는 3계층 내용 주소화 기억장치(CAM)(425)를 제어하여 출력 네트워크 정보를 얻기 위한 3계층 룩업 제어부(424)와, 2계층이나 3계층 룩업 제어부(422, 424)로부터 얻어낸 네트워크 출력 정보를 포워딩부(43)로 전송하는 포워딩 전송부(426)의 4개의 기능부가 동기된 클럭의 상태천이에 의해 상호 독립적으로 이벤트 처리를 파이프라인 방식으로 처리하게 된다.
도 5a 및 도 5b는 본 발명에 따른 이더넷시스템에서의 다중계층 병렬처리 룩업 방법의 일실시예 흐름도이다.
도 5a 및 도 5b에 도시된 바와 같이, 본 발명은 입력 패킷(501)에 대해 2/3 계층에 대한 어드레스 추출 과정(IP 헤더 추출, MAC 헤더 추출)(502, 510)이 동시에 병렬적으로 발생되고 이러한 흐름도의 전과정이 동기된 클럭에 의해 상태 천이로 이루어진다. 따라서, 일반 소프트웨어의 개입없이 2/3 계층 룩업과정은 하드웨어로 구현했기 때문에 실시간적으로 이루진다.
먼저, 병렬처리로 이루어지는 3계층 IP 헤더 추출시(502)에는 IP 헤더가 추출되는 순서에 따라 IP 헤더 버전이 4인지를 체크(505)하고 패킷 헤더 길이가 20 이상인지를 판단(506)하여 헤더 체크 섬 과정(507)을 거쳐 유효한 상태로 체크된다(508).
여기서, IP 헤더 버전이 4가 아니고 패킷 헤더 길이가 20 미만이고 헤더 체크 섬 과정을 거치지 않으면 무효한 상태로 체크된다(509).
이와는 별도로, IP 헤더 추출시(502)에 병렬적으로 목적지 IP 헤더 어드레스에 대한 룩업 테이블의 검색에 의해 3 계층 내용 주소화 기억장치(425)를 검색하여출력포트 정보를 얻는다(504).
이러한 상기의 과정(504, 508, 509)은 병렬 처리되어 포워딩부(43)로 전송된다(521).
상기의 3계층 룩업과정과 동시에 병렬처리되는 2계층 룩업과정에서는 먼저 2계층 MAC 헤더 추출시(510)에 가상랜 (VLAN : Virtual Local Area Network)의 검색여부를 판단한다(511).
511단계의 판단 결과, 가상랜(VLAN)이면 태그(Tagged)의 존재 여부를 판단한다(517).
이 때, 태그가 있으면 가상랜 식별자(VLAN ID : Virtual Local Area Network Identifier)를 추출해서(519) 목적지 어드레스를 검색하고(520) 태그가 없으면 가상랜 식별자 값을 영("0")으로 만들어 목적지 어드레스를 검색한다(520).
511단계의 판단 결과, 가상랜이 아니면 목적지 어드레스에 의해 유니캐스트인지 혹은 멀티 또는 브로드 캐스트인지를 구분한다(512).
이 때, 유니캐스트이면 목적지 어드레스를 검색하고(513), 멀티 또는 브로드 캐스트이면 목적지 어드레스를 검색한다(520).
목적지 어드레스의 검색 후(513, 520)에 2계층 내용 주소화 기억장치(423)를 검색한 후 다음의 출력포트 정보를 얻는 과정으로 병렬 처리된다(515).
이후, 목적지 어드레스를 검색하고 나서(513) 출발지 어드레스를 부수적으로 학습할 지를 판단한다(514).
판단 결과, 기존의 출발지 어드레스를 학습하면 출력포트 정보를 얻고(515), 새로운 출발지 어드레스에 대한 학습을 하면 네트워크로 통보하여(516) 출력포트 정보를 독립적으로 얻는다(515).
이렇게, 출력포트 정보를 얻은 목적지 어드레스와 출발지 어드레스는 포워딩부(43)로 전송된다(521).
도 6은 본 발명에 따른 이더넷시스템에서의 2/3 계층 병렬처리 방법 중 파이프라인 방식의 이벤트 처리에 대한 설명도이다.
도시된 바와 같은 도 4의 구성도와 도 5의 흐름도는 CAM을 사용한 2/3 계층 병렬처리 룩업 블록이 본 발명에서 도입된 도 6과 같은 파이프라인 방식의 개념으로 각 기능부가 처리되는 절차를 보여준 것이다.
본 발명에 CAM을 사용한 2/3계층 병렬처리 룩업 블록은 동기화된 시스템 클럭에 의한 상태 천이에 의해 모든 동작이 이루어지는데, 이 때 각 기능부는 절차에 따라 파이프라인 방식으로 독립된 기능 처리를 한다. 따라서 상기 도 2와 도 3의 흐름도에서 보여준 종래의 룩업 방식과는 달리 네트워크 출력 정보를 얻어내기까지의 절차대로 각 기능부가 기능을 수행하는데 있어서 파이프라인 방식의 개념으로 각 기능부가 자기 타임 슬롯에서 독립적으로 일을 처리한다.
내용 주소화 기억장치의 수신 피포(FIFO)로부터 나오는 패킷 데이터 프레임(601)이 MAC 어드레스, VID(VLAN ID), IP 헤더 정보의 순서로 32(또는 16) 비트의 버스형태로 들어오게 되면 어드레스 인식부(421)에서는 들어오는 프레임의 래치를 통해 원하는 형태의 어드레스인식 프레임(602)을 타임 슬롯 S3으로부터 추출해낸다.
어드레스 인식부(421)의 절차와는 관계없이 타임 슬롯 S4와 S5가 되면 도 4의 2계층 룩업 제어기(422)에서는 추출된 목적지 어드레스를 도 4의 2계층 내용 주소화 기억장치(423)에 입력하여 룩업테이블 검색에 들어가고, 타임 슬롯 S6, S7, S8이 되면 계속해서 출발지 어드레스(SA : Source Address)에 대한 학습과정에 들어간다(603).
이 때, 도 4의 3계층 룩업 제어기(424)에서는 타임 슬롯 S7에서 추출된 IP 헤더 정보에 대해 IP 버전 체크 동작을 병렬적으로 처리하는 것으로부터 3계층 룩업절차 프레임(604)이 시작된다. 2계층 룩업 제어기(422)의 타임 슬롯 S9에서 2계층 내용 주소화 기억장치(423)의 목적지 어드레스에 대한 검색 결과가 나오므로 2계층 내용 주소화 기억장치(423)로부터 목적지 어드레스에 대한 관련 네트워크 출력포트 정보(515)를 얻고, 3계층 룩업 제어기(424)의 타임 슬롯 S9에서 IP 헤더의 렝쓰 바이트(length byte)를 읽어 IP 헤더가 20바이트의 헤더인지 체크한다(604).
타임 슬롯 S10의 도 4의 포워딩 전송부(426)에서는 2/3계층 내용 주소화 기억장치(423, 425)에서 얻은 출력포트 정보를 포워딩부(43)로 전송하기 위한 포워딩 블록 전송 절차 프레임(605)을 시작한다.
처음에는 멀티캐스팅 출력포트 정보에 이어 타임 슬롯 S11에서 출력포트 정보와 VID, 그리고 스위치 우선 순위값 등이 32비트 데이터 프레임(605)로 전송된다. 3계층 룩업제어기(424)에서는 S11 타임 슬롯일 때 3계층 내용 주소화 기억장치(425)로 목적지 IP 어드레스에 대한 룩업 테이블 검색을 시작하고, 2계층 룩업제어기(422)에서는 S12 타임 슬롯일 때 타임 슬롯 S6, S7, S8에서 입력했던 출발지 MAC 어드레스에 대한 학습이 완료된다.
타임슬롯 S14에서 내용 주소화 기억장치로부터 검색된 IP 어드레스 관련 네트워크 출력 정보가 포워딩부(43)로 전송이 일어나면서 현재 패킷 데이터 프레임 데이터가 포워딩부의 큐(431)에 저장이 완료되기 전에 2/3 계층에 대한 룩업 과정이 완료된다.
결과적으로, 본 발명에 의한 룩업제어부(42)는 어드레스 학습과 같은 부수적인 처리동작과 관계없이 S11 타임 슬롯에 MAC 어드레스에 의한 2계층 룩업 결과가(603), S14 타임슬롯에 IP 어드레스에 의한 3 계층 룩업 결과가 완료되어(604) 네트워크 출력정보가 S14 타임 슬롯 내에 모두 포워딩부(43)로 전송되어 기가비트 이더넷 라우팅 스위치 시스템에 적합한 병렬처리형 2/3계층 룩업제어기(422, 424)임을 알 수 있다.
이상에서 설명한 본 발명은 전술한 실시예 및 첨부된 도면에 한정되는 것이 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하다는 것이 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 명백할 것이다.
상기한 바와 같은 본 발명은, 첫째, 기가비트 이더넷시스템과 같은 대역폭과 속도에는 적합하지 못한 기존의 소프트웨어 기반의 메모리 룩업 테이블 방식에 대해 룩업 테이블 소자를 CAM과 같은 병렬형 하드웨어 기반의 룩업처리 소자를 사용함으로써, 기가비트 트래픽을 만족하는 라우터 룩업테이블을 갖도록 하는 효과가있다.
둘째, 2/3 계층 병렬처리형 룩업으로 2/3 계층 룩업이 동시에 병렬 처리로 발생되게 하는 알고리즘을 발명함으로써, 기존의 스위치와 라우팅이 포함된 개념인 기가 속도의 라우팅 스위치 역할을 하는 효과가 있다.
셋째, 룩업과정의 흐름이 이벤트에 따라 시리얼하게 진행되어 모든 검색과정과 학습과정이 지나야 포워딩부로 룩업 정보가 전달되었던 기존의 방식과 달리, 본 발명에서는 룩업 블록의 모든 동작이 동기화된 클럭으로 이루어지는 상태 천이에 의해 발생되며, 필요한 과정이 끝나면 다음 과정은 연속적으로 진행되면서 다른 이벤트를 시작하게 하는 파이프라인 방식으로 이벤트 처리를 하게 함으로써, 룩업처리 과정을 단축하여 효율적인 기가비트 이더넷 스위치 시스템의 룩업 장치가 되도록 하는 효과가 있다.

Claims (6)

  1. 삭제
  2. 통신시스템에서의 다중계층 병렬처리 룩업 장치에 있어서,
    외부로부터 전달되는 패킷 데이터 프레임의 헤더부분을 실시간으로 래치하여 필요한 정보를 추출하기 위한 어드레스 인식수단;
    추출된 정보중 제1 소정 계층으로 처리되는 MAC(Medium Access Control) 어드레스에 대한 정보를 얻기 위해 제1 저장수단으로부터 전달되는 내용 주소를 제어하기 위한 제1 룩업제어수단;
    추출된 정보중 제2 소정 계층으로 처리되는 IP(Internet Protocol) 어드레스에 대한 정보를 얻기 위해 제2 저장수단으로부터 전달되는 내용 주소를 제어하기 위한 제2 룩업제어수단;
    상기 제1 및 제2 룩업 제어수단으로부터 얻어낸 출력 네트워크 정보를 순차적으로 전송하기 위한 포워딩 전송수단; 및
    상기 제1 및 제2 룩업 제어수단으로부터 전달되는 출력 네트워크 정보의 내용을 각각 저장하는 상기 제1 및 제2 저장수단
    을 포함하고,
    상기 제1 룩업제어수단과 상기 제1 저장수단 사이와, 상기 제2 룩업제어수단과 상기 제2 저장수단 사이에서의 이벤트 처리를 파이프 라인 방식으로 처리하며,
    상기 MAC 어드레스와 상기 IP 어드레스를 동시에 병렬적으로 검색하는 것을 특징으로 하는 통신시스템에서의 다중계층 병렬처리 룩업 장치.
  3. 통신시스템에 적용되는 다중계층 병렬처리 룩업 방법에 있어서,
    외부로부터 입력되는 패킷에 대해 제1 소정 계층 및 제2 소정 계층들의 룩업과정을 동시에 병렬적으로 처리하는 제 1 단계;
    IP(Internet Protocol) 헤더에서 추출된 정보중 상기 제2 소정 계층으로 처리되는 IP 어드레스에 대한 정보를 얻기 위해 제2 저장수단으로부터 전달되는 네트워크 출력정보를 검색하는 제 2 단계;
    MAC(Medium Access Control) 헤더에서 추출된 정보중 상기 제1 소정 계층으로 처리되는 MAC 어드레스에 대한 정보를 얻기 위해 제1 저장수단으로부터 전달되는 네트워크 출력정보를 검색하는 제 3 단계; 및
    상기 제 2 단계 및 제 3 단계에서 검색된 네트워크 출력정보를 선별적으로 전송하기 위한 제 4 단계
    를 포함하여 상기 MAC 어드레스와 상기 IP 어드레스를 동시에 병렬적으로 검색하며, 상기 패킷을 파이프 라인 방식으로 전달하는 것을 특징으로 하는 통신시스템에서의 다중계층 병렬처리 룩업 방법.
  4. 제 3 항에 있어서,
    상기 제 2 단계는,
    입력패킷에 대해 상기 IP 헤더를 추출하는 제 5 단계;
    상기 제 5 단계 수행 후에 상기 IP 헤더가 추출되는 순서에 따라 IP 버전, 헤더 길이 및 헤더 체크 섬의 상태를 판단하여 IP 버전이 제3 소정 값이고, 헤더 길이가 제4 소정값 이상이고, 헤더 체크 섬을 거치면 유효한 상태로 입력되며, IP 버전이 제3 소정 값이 아니고, 헤더 길이가 제 4 소정값 미만이고, 헤더 체크 섬을 거치는 않으면 무효한 상태로 입력되는 제 6 단계; 및
    상기 제 5 단계 수행후에 상기 IP 헤더를 추출하여 목적지 IP 어드레스를 검색하고, 검색한 어드레스에 대한 출력포트 정보를 구하는 제 7 단계
    를 포함하는 통신시스템에서의 다중계층 병렬처리 룩업 방법.
  5. 제 3 항 또는 제 4 항에 있어서,
    상기 제 3 단계는,
    패킷 입력에 대해 상기 MAC 헤더를 추출한 후 가상랜(VLAN)인지를 판단하는 제 8 단계;
    상기 제 8 단계의 판단결과, 가상랜이면 태그의 여부에 따라 가상랜 식별자를 추출한 후 제1 목적지 어드레스를 검색하는 제 9 단계;
    상기 제 8 단계의 판단결과, 가상랜이 아니면 목적지 어드레스에 대해 유니캐스트와 멀티 또는 브로드 캐스트인지를 판단하는 제 10 단계;
    상기 제 10 단계의 판단결과, 유니캐스트이면 제2 목적지 어드레스를 검색하고, 멀티 및 브로드캐스트이면 상기 제1 목적지 어드레스를 검색하는 제 11 단계;
    상기 제 11 단계 수행 후에 상기 제1 및 제2 목적지 어드레스를 검색하여 출력포트 정보를 병렬 처리하는 제 12 단계; 및
    상기 제 11 단계의 상기 제2 목적지 어드레스에 대한 내용주소화 기억장치를 검색한 후 출발지 어드레스에 대한 학습을 독립적으로 하여 출력포트 정보를 구하는 제 13 단계
    를 포함하는 통신시스템에서의 다중계층 병렬처리 룩업 방법.
  6. MAC 어드레스와 IP 어드레스를 동시에 병렬적으로 검색하며, 데이터 패킷을 파이프 라인 방식으로 전달하기 위하여 프로세서를 구비한 통신시스템에,
    외부로부터 입력되는 패킷에 대해 제1 소정 계층 및 제2 소정 계층들의 룩업과정을 동시에 병렬적으로 처리하는 제 1 기능;
    IP(Internet Protocol) 헤더에서 추출된 정보중 제2 소정 계층으로 처리되는 IP 어드레스에 대한 정보를 얻기 위해 제 2 저장수단으로부터 전달되는 네트워크 출력정보를 검색하는 제 2 기능;
    MAC(Medium Access Control) 헤더에서 추출된 정보중 제1 소정 계층으로 처리되는 MAC 어드레스에 대한 정보를 얻기 위해 제 1 저장수단으로부터 전달되는 네트워크 출력정보를 검색하는 제 3 기능; 및
    상기 제 2 단계 및 제 3 단계에서 검색된 네트워크 출력정보를 선별적으로 전송하기 위한 제 4 기능
    을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR10-1999-0039919A 1999-09-16 1999-09-16 통신시스템에서의 다중계층 병렬처리 룩업 장치 및 그 방법 KR100384895B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-1999-0039919A KR100384895B1 (ko) 1999-09-16 1999-09-16 통신시스템에서의 다중계층 병렬처리 룩업 장치 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-1999-0039919A KR100384895B1 (ko) 1999-09-16 1999-09-16 통신시스템에서의 다중계층 병렬처리 룩업 장치 및 그 방법

Publications (2)

Publication Number Publication Date
KR20010027934A KR20010027934A (ko) 2001-04-06
KR100384895B1 true KR100384895B1 (ko) 2003-05-22

Family

ID=19611911

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-1999-0039919A KR100384895B1 (ko) 1999-09-16 1999-09-16 통신시스템에서의 다중계층 병렬처리 룩업 장치 및 그 방법

Country Status (1)

Country Link
KR (1) KR100384895B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100441883B1 (ko) * 2002-04-04 2004-07-27 한국전자통신연구원 패킷 스위치 시스템의 입력 제어장치 및 방법
KR100456671B1 (ko) * 2001-11-24 2004-11-10 주식회사 케이티 네트워크 라우터의 고속 패킷 전달을 위한 병렬 룩업 엔진및 그 방법

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100428247B1 (ko) * 2001-03-22 2004-04-27 조태원 아이피 주소룩업에서 고속 엘피엠 탐색을 위한 파이프라인씨에이엠의 구성 방법
KR100600820B1 (ko) * 2004-11-11 2006-07-18 한국전자통신연구원 독립형 이더넷 다계층 스위치 시스템
KR100976603B1 (ko) * 2007-12-10 2010-08-18 한국전자통신연구원 2계층 및 3계층 주소를 이용한 노드의 이동성 지원 방법 및장치

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06152655A (ja) * 1992-11-10 1994-05-31 Matsushita Electric Ind Co Ltd ルータ中継装置
JPH06261078A (ja) * 1993-03-03 1994-09-16 Hitachi Ltd テーブル検索方法及びルータ装置
JPH09252319A (ja) * 1996-03-15 1997-09-22 Toshiba Corp パケット転送方法およびパケット転送装置
JPH10145417A (ja) * 1996-11-15 1998-05-29 Hitachi Ltd インタネットワーク装置
US5917820A (en) * 1996-06-10 1999-06-29 Cisco Technology, Inc. Efficient packet forwarding arrangement for routing packets in an internetwork

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06152655A (ja) * 1992-11-10 1994-05-31 Matsushita Electric Ind Co Ltd ルータ中継装置
JPH06261078A (ja) * 1993-03-03 1994-09-16 Hitachi Ltd テーブル検索方法及びルータ装置
JPH09252319A (ja) * 1996-03-15 1997-09-22 Toshiba Corp パケット転送方法およびパケット転送装置
US5917820A (en) * 1996-06-10 1999-06-29 Cisco Technology, Inc. Efficient packet forwarding arrangement for routing packets in an internetwork
JPH10145417A (ja) * 1996-11-15 1998-05-29 Hitachi Ltd インタネットワーク装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100456671B1 (ko) * 2001-11-24 2004-11-10 주식회사 케이티 네트워크 라우터의 고속 패킷 전달을 위한 병렬 룩업 엔진및 그 방법
KR100441883B1 (ko) * 2002-04-04 2004-07-27 한국전자통신연구원 패킷 스위치 시스템의 입력 제어장치 및 방법

Also Published As

Publication number Publication date
KR20010027934A (ko) 2001-04-06

Similar Documents

Publication Publication Date Title
US7894451B2 (en) Method of providing virtual router functionality
US6754211B1 (en) Method and apparatus for wire speed IP multicast forwarding
US6798788B1 (en) Arrangement determining policies for layer 3 frame fragments in a network switch
US8363654B2 (en) Predictive packet forwarding for a network switch
US6876653B2 (en) Fast flexible filter processor based architecture for a network device
US6128666A (en) Distributed VLAN mechanism for packet field replacement in a multi-layered switched network element using a control field/signal for indicating modification of a packet with a database search engine
US7760720B2 (en) Translating native medium access control (MAC) addresses to hierarchical MAC addresses and their use
US20080198853A1 (en) Apparatus for implementing actions based on packet classification and lookup results
JPWO2004075482A1 (ja) ネットワークシステム、ラーニングブリッジノード、ラーニング方法及びそのプログラム
JP2000244571A (ja) ネットワーク中継装置及びネットワーク中継方法
JP2003304278A (ja) フロー検出装置およびフロー検出機能を備えたパケット転送装置
US11494189B2 (en) Methods and systems for processing data in a programmable data processing pipeline that includes out-of-pipeline processing
JP2000244574A (ja) ネットワーク中継装置及びネットワーク中継方法
US7068652B2 (en) Pointer based binary search engine and method for use in network devices
US6778547B1 (en) Method and apparatus for improving throughput of a rules checker logic
KR100317991B1 (ko) 기가비트 이더넷 기반 라우터에서의 병렬처리형 3계층패킷 포워딩 처리 방법 및 장치
KR100384895B1 (ko) 통신시스템에서의 다중계층 병렬처리 룩업 장치 및 그 방법
US7145911B2 (en) Method and system for parallel hash transformation for an address input
US8605732B2 (en) Method of providing virtual router functionality
WO2010031354A1 (zh) 帧处理的方法、装置和***
JP2001237881A (ja) テーブル型データ検索機構及びそれを用いるパケット処理システム並びにそのテーブル型データ検索方法
US20070124495A1 (en) Methods and systems for policy based routing
US12010015B2 (en) Egress pipeline with tag manipulation and ESI label push capability
US20120106555A1 (en) Low latency carrier class switch-router
US7583616B2 (en) Network unit for forwarding an ethernet packet

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

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee