KR100450942B1 - 이더넷 스위치에서의 어드레스 서치 장치 및 방법 - Google Patents
이더넷 스위치에서의 어드레스 서치 장치 및 방법 Download PDFInfo
- Publication number
- KR100450942B1 KR100450942B1 KR10-1999-0051825A KR19990051825A KR100450942B1 KR 100450942 B1 KR100450942 B1 KR 100450942B1 KR 19990051825 A KR19990051825 A KR 19990051825A KR 100450942 B1 KR100450942 B1 KR 100450942B1
- Authority
- KR
- South Korea
- Prior art keywords
- address
- search
- destination
- port
- local search
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 17
- 230000005540 biological transmission Effects 0.000 claims abstract description 5
- 230000004044 response Effects 0.000 claims abstract description 3
- 238000010586 diagram Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 230000032683 aging Effects 0.000 description 3
- 238000001914 filtration Methods 0.000 description 2
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/35—Switches specially adapted for specific applications
- H04L49/351—Switches specially adapted for specific applications for local area network [LAN], e.g. Ethernet switches
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3009—Header conversion, routing tables or routing tags
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Small-Scale Networks (AREA)
Abstract
본 발명은 이더넷 스위치에서의 어드레스 서치 장치 및 방법에 관한 것이다. 본 발명은, 복수개의 포트들을 구비하고 있는 이더넷 스위치에서의 어드레스 서치장치에 있어서, 상기 복수개의 포트들 각각에 대응된 로컬 서치부가 구비되며, 상기 로컬 서치부는 자신의 포트로 들어오는 입력패킷의 목적지 어드레스를 분석하여 상기 이더넷 스위치의 전송포트를 찾는 역할을 수행하고 자신의 발신지 어드레스를 제공하는 복수개의 로컬 서치부들과, 상기 발신지 어드레스를 분석하여 상기 복수개의 로컬 서치블록들의 어드레스 데이터 구조를 구축하며, 복수개의 로컬 서치부들중의 적어도 하나에서 요구하는 목적지 어드레스 요청에 응답하여 상기 어드레스 데이터 구조를 이용하여 요청한 목적지 어드레스를 해당 로컬 서치블록에 제공하는 메인 서치부와, 상기 로컬 서치부와 메인 서치부 간에 인터페이스가 가능하게 제어하는 스케쥴러로 구성된다.
Description
본 발명은 데이터 네트워크에 관한 것으로, 특히 스위치 네트워크에서의 효율적인 어드레스 서치를 위한 장치 및 방법에 관한 것이다.
데이터 네트워크의 중요한 부분을 차지하고 있는 LAN(Local Area Network)의 대표적인 프로토콜이 이더넷(ethernet)이다. 이더넷은 이미 널리 상용화되어 있으며 그 응용분야는 거의 모든 데이터 네트워크까지 미치고 있다. 사용자가 급증하고, 제공되는 서비스가 다양해지는 요즈음에는 기존보다 네트워크 대역폭이 더욱 클 필요성이 있다. 요즈음 허브(hub)라 불리는 리피터(repeater)에서 스위치로의 전환이 놀라울 정도로 빠르게 할 수 있는 것도 네트워크의 대역폭을 크게 제공할 수 있음에 의해서 달성될 수 있었다. 전송매체를 공유하는 리피터와는 달리 스위치는 전송단에서 수신단까지의 필요한 자원만 효율적으로 사용하기에 전송속도가 매우 빠르다.
본 명세서에서 어드레스 서치(address search)라 함은 이더넷 스위치에서 필요한 정보를 구축하여 출력단을 결정하고 어드레스별 정보를 수집 활용하는 것을 의미한다. 어드레스 서치는 어드레스별 관리가 많이 필요한 응용분야에서 특히 중요한 것이다. 이러한 응용분야로는 ARP(Address Resolution Protocol)관리, NMS/RMON(Network Management System/Remote Monitoring) 등이 있다.
종래 기술에 따른 이더넷 스위치에서의 어드레스 서치 방법의 일 예로는 도 1에 도시된 바와 같이, 서치 메모리 인터페이스(Search Memory Interface: SMI)(6)가 포트 장치들(2-0,2-1,..,2-7)내의 각 PCU(Port Control Unit)로부터 입력 패킷의 헤더와 포트번호를 받아서 발신지 어드레스(source address)에 대한 데이터를 서치 메모리(8)상에 구축하고, 구축된 데이터들을 토대로 각 패킷의 출력포트를 결정한다.
도 1을 더욱 구체적으로 설명하면, 포트 장치들(2-0,2-1,..,2-7) 각각은 예컨대, 포트0 내지 포트 7에 각각 대응되며, 물리계층 기능을 수행하는 물리계층부, 매체액세스제어 기능을 수행하는 MAC(Medium Access Control)부, 및 각 포트를 제어하는 PCU(Port Control Unit)를 각각 포함하고 있다. 패킷이 이더넷스위치의 포트0 내지 포트7들중 임의의 적어도 하나 이상의 포트들에 수신되면 복수개의 포트 장치들(2-0,2-1,..,2-7)중 상기 수신에 대응하는 포트들의 포트 장치들은 어느 포트로 출력시켜야 되는지를 요청하기 위한 제어신호 cmd_avl을 스케쥴러(4)로 각각 출력한다. 스케쥴러(4)는 주기적으로 동작하며, 제어신호 cmd_avl들을 받게 되면 경쟁을 통해서 하나의 포트가 선택되게 제어하고, 선택된 하나의 포트(장치)에 대한 어드레스 서치를 할 수 있도록 해준다. 즉 상기 제어신호 cmd_avl(command available)들을 받게 되면 소정 제어에 의거해 설정된 우선권 또는 라운드 로빈(round robbin)방식에 의거해 포트 선택 순서를 스케쥴링하며 그에 따른 포트선택신호를 멀티플랙서(multiplexer: MUX)(10)와 디멀티플랙서(demultiplexer: DEMUX)(12)에 함께 제공해준다. 상기 소정 제어는 예컨대, 사용자 등에 의해서 설정되어 질 수 있다. 멀티플랙서(10)는 스케쥴러(4)가 제공한 포트선택신호에 응답하여 8개의 포트장치들(2-0,2-1,..,2-n)중에서 하나의 포트장치를 선택하고, 선택된 포트장치로부터의 입력 패킷의 헤더와 포트번호를 받아서 서치메모리 인터페이스(6)로 출력한다. 상기 헤더에는 목적지 어드레스 및 발신지 어드레스 등이 포함되어 있다. 그에 따라 서치 메모리 인터페이스(6)는 발신지 어드레스(source address)에 대한 데이터를 서치 메모리(8)상에 구축하고, 구축된 데이터들을 토대로 선택된 입력패킷에 대응한 출력 포트를 결정한다. 출력 포트 결정이 끝나면 서치메모리 인터페이스(6)는 결정된 포트정보를 디멀티플랙서(12)를 통해서 8개의 포트장치들(2-0,2-1,..,2-7)중 대응된 포트장치로 출력한다. 그후 상기 서치 메모리 인터페이스(6)는 출력포트 결정을 완료하였음을 알리는 제어신호 cmd_cpl(command complete)를 스케쥴러(4)로 출력한다.
하지만 상술한 바와 같은 종래 기술은 예컨대, 8개의 포트들이 동일한 서치부 즉, 서치 메모리 인터페이스(6)를 이용해서 출력 포트를 결정해야 하기 때문에 하나의 포트(장치)의 입력패킷을 서치 하는 동안에는 나머지 포트(장치)들은 기다려야만 한다. 또한 구조상의 문제로서 만약 종래 기술의 스위치 구조가 비관리 스위치(이더넷 스위치를 제어하는 제어장치가 없는 구조의 스위치)라면, 관리 스위치(이더넷 스위치를 제어하는 제어장치가 있는 구조의 스위치)가 필요로 하는 서치 로직의 구현에 문제가 있었고, 다른 유닛과의 어드레스 데이터 공유를 위한 인터페이스도 정의되지 않았다. 즉 비관리 스위치 구조에는 어드레스 구조 자체가 관리 스위치에 맞게 구현되어 있지 않다.
따라서 본 발명의 목적은 이더넷 스위치에서의 어드레스 서치 동작을 효율적으로 수행하기 위한 장치 및 방법을 제공하는데 있다.
본 발명의 다른 목적은 비관리 스위치 구조에서 관리 스위치 구조로의 변경이나 포트의 확장이 용이한 장치 및 방법을 제공하는데 있다.
상기한 목적에 따라, 본 발명은 여러 곳의 포트가 하나의 서치블럭을 이용하는 구조에서 각각의 포트에 각각의 로컬 서치블록을 두어 서치 동작을 하는 분산된 처리 구조를 핵심으로 삼는다. 또한 이러한 포트당 로컬 서치블록과 메인 서치블록 사이의 정보교환과 개별 어드레스에 대한 서치 동작이 오류 없이 진행 될 수 있는 구조를 갖는다.
도 1은 종래 기술에 따른 이더넷 스위치에서의 어드레스 서치 방법을 설명하기 위한 도면,
도 2는 본 발명의 실시 예에 따른 이더넷 스위치에서의 어드레스 서치 방법을 설명하기 위한 도면,
도 3은 도 2의 로컬 서치블록들 각각의 구체 블록 구성도,
도 4는 도 2의 메인 서치블록의 블록 구체 구성도,
도 5는 본 발명의 실시 예에 따른 서치블록간 인터페이스를 위한 메시지 포맷 구성도.
이하 본 발명의 바람직한 실시 예들을 첨부한 도면을 참조하여 상세히 설명한다. 도면들 중 동일한 구성요소들은 가능한 한 어느 곳에서든지 동일한 부호들로 나타내고 있음에 유의해야 한다. 또한 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략한다.
도 2는 본 발명의 실시 예에 따른 이더넷 스위치에서의 어드레스 서치 방법을 설명하기 위한 도면이다. 도 2를 참조하면, 본 발명의 실시 예에 따른 어드레스 서치를 위한 장치는, 복수 개 예컨대, 8개의 로컬 서치 블록들(20-0,20-1,..,20-7)과 하나의 메인서치블록(26)이 구비되어 있으며, 상기 로컬서치블록들(20-0,20-1,..,20-7)과 메인서치블록(26)간의 정보 교환을 위한 인터페이스 프로토콜이 규정되어 있다. 상기 8개의 로컬서치블록들(20-0,20-1,..,20-7)은 이더넷 스위치내에 구비된 8개의 포트장치들(22-0,22-1,..,20-7) 각각에 대응되어 구비되어 있으며, 상기 하나의 메인서치블록(26)은 스케쥴러(24)와 서치 메모리(도 2에는 미도시됨) 사이에 구비되어 있다. 상기 8개의 로컬서치 블록들(20-0,20-1,..,20-7) 각각은 자신의 포트로 들어오는 입력패킷의 목적지 어드레스(destination address)를 분석하여 이더넷 스위치의 전송포트를 찾는 역할을 수행하며, 상기 하나의 메인 서치블록(26)은 발신지 어드레스를 분석하여 로컬 서치블록의 어드레스 데이터 구조를 구축시켜 준다. 스케쥴러(24)는 주기적으로 동작하며 데이터 송수신시 복수개의 포트들중 하나의 포트를 선택하게 하는 기능을 수행하고, 본 발명의 실시 예에 따른 어드레스 서치동작을 수행시에는 로컬서치블록들(20-0,..,20-7)과 메인 서치블록(26)간의 제어신호를 인터페이스 시켜 주는 역할을 수행한다.
도 3은 도 2의 로컬 서치블록들(20-0,20-1,..,20-7) 각각의 구체 블록 구성도이다. 도 3을 참조하면, 로컬 서치블록들(20-0,20-1,..,20-7) 각각에는 두 개의 어드레스 테이블 즉, 목적지 어드레스 테이블(30)과 발신지 어드레스 테이블(32)이 존재한다. 목적지 어드레스 테이블(30)에는 목적지 어드레스들과 그에 대응하는 목적지 정보(전송포트번호)들이 매칭되어 있으며, 상기 발신지 어드레스 테이블(32)에는 발신지 어드레스와 그에 대응하는 발신지 정보(입력포트번호)들이 매칭되어 있다. 그리고, 이더넷 어드레스를 필요한 만큼의 그룹으로 분류하는 어드레스 소팅로직(34,36)이 목적지 어드레스 테이블(30) 및 발신지 어드레스 테이블(32)에 각각 대응하여 존재한다. 또한 로컬 서치블록들(20-0,20-1,..,20-7) 각각에는 해당 로컬 서치블록의 전반적인 제어를 위한 제어로직(38)과 데이터 임시 저장을 위한 레지스터부(40)가 구비되어 있다.
도 4는 도 2의 메인 서치블록(26)의 블록 구체 구성도로서, 어드레스 테이블(50), 테이블 액세스 로직(48), 어드레스 소팅 로직(46), 제어로직(42) 및레지스터부(44)로 구성되어 있다. 어드레스 테이블(50)은 시스템이 알고 있는 어드레스들을 저장하고 있는 메모리이다. 이러한 메모리를 이용하는 데 있어서 이더넷 어드레스의 특성에 맞게 해시 방식(hash function)을 사용하였다. 해시 방식은 해시 키를 구하는 방법에 따라서 세분될 수 있는데, 본 발명의 일 예에서는 XOR게이트(exclusive OR gate)를 이용한 방식을 채택하였다. 테이블 액세스 로직(48)은 상기와 같이 구성된 어드레스 테이블(150)을 액세스하기 위한 일종의 메모리 액세스 로직이다. 테이블 액세스 로직(48)에 상기 해시 기능이 포함되어 있다. 따라서 개별 어드레스를 서치할 때 테이블 액세스 로직(48)을 거쳐 어드레스 테이블(50)에 저장되어 있는 원하는 정보를 얻을 수 있다. 어드레스 소팅 로직(46)은 시스템이 알고 있는 데이터를 어드레스 테이블(50)에 저장하기 위해 동일한 특성을 갖는 어드레스들을 분류하는 논리적 기능 블록이다. 제어로직(42) 및 레지스터부(44)는 이러한 각 블록을 기능에 맞게 제어하고 상태를 알아보기 위한 블록들로서 외부의 프로세서와 인터페이스를 갖는다. 또한 각 포트장치(22-0,..,22-7)에 속하는 로컬 서치블록(20-0,..,20-N)과의 인터페이스로 정보를 교환하고 각각의 어드레스 테이블을 구성하게 된다.
도 5는 본 발명의 실시 예에 따른 서치블록간 인터페이스를 위한 메시지 포맷 구성도이다. 도 5를 참조하면, 상기 메시지는, 명령필드(command field) CMD, ID 필드(identifier field), CMD정보에 따른 상세정보 필드가 포함되어 있다. 상기 명령필드 CMD에는 서치, 추가, 삭제, 업데이트 등의 명령어(CMD정보)가 기록될 수 있으며, ID 필드에는 도 5의 메시지를 송신하는 송신지 ID와 상기 메시지를 수신하는 수신지 ID가 포함되어 있다. 예컨대, 로컬서치블록0(20-0)에서 메인서치블록(26)으로 메시지를 전달한다면 송신지 ID는 로컬서치블록0(20-0)의 ID가 될 것이고 수신지 ID는 메인서치블록(26)의 ID가 될 것이다. CMD정보에 따른 상세정보 필드에는 CMD정보에 따른 상세정보(specification information)들이 포함된다. CMD정보로는 상기한 바와 같이 서치, 추가, 삭제, 업데이트 등의 명령어가 있으며 그에 따른 상세정보로는 MAC어드레스, 패킷의 헤더정보, 포트 ID, 디바이스 번호, 입력포트 번호 등이 있다. 상기 패킷의 헤더정보에는 발신지 어드레스 및 목적지 어드레스가 포함되어 있다.
이하 도 2 내지 도 5의 구성을 참조하여 본 발명의 실시 예에 따른 어드레스 서치를 위한 동작을 더욱 상세히 설명한다.
8개의 포트장치들(22-0,22-1,..,22-7)중 소정 포트장치(22-N, N=0∼7)의 입력포트에 패킷이 도착하면 그에 대응하는 로컬서치블록(20-N)은 패킷의 헤더정보중 목적지 어드레스를 읽어서 목적지 어드레스 테이블(30)내에 있는 목적지 어드레스들과 비교를 한다. 상기와 같은 비교는 어드레스 소팅로직(34)에 의해서 수행된다. 어드레스 소팅 로직(34)은 어드레스 소팅 즉, 이더넷 어드레스를 필요한 만큼의 그룹으로 분류하는 동작을 수행하여 보다 용이하게 내부 목적지 어드레스 테이블(30)을 액세스한다. 상기 필요한 만큼의 그룹으로 분류하는 동작의 일 예 알고리즘으로는 해시(hash)알고리즘 등이 있다. 로컬서치블록(20-N)의 제어로직(38)은 입력패킷의 목적지 어드레스가 상기 어드레스 테이블(30)내에 존재하면 필요한 정보 즉, 목적지 정보(전송 포트)를 얻는다. 그후 이렇게 얻는 목적지 정보(전송포트)가 자기자신의 포트라면 로컬 서치블록(20-N)은 필터링동작을 통해 입력패킷을 버린다. 이에 대해 보다 구체적으로 설명하면, 상기 목적지 정보(전송 포트)를 얻게 되면 제어로직(38)의 제어에 의거하여 어드레스 소팅로직(36)은 발신지 어드레스 테이블(32)내의 발신지 어드레스와 입력패킷의 목적지 어드레스를 비교한다. 만약 발신지 어드레스 테이블(32)내에 상기 입력패킷의 목적지 어드레스가 존재하면 필터링 동작을 통해 입력패킷을 버린다. 즉 다른 포트로 전송할 필요가 없는 패킷이므로 그 패킷을 걸러내는 것이다. 한편 목적지 어드레스 테이블(30)에서 얻는 목적지 정보(전송포트)가 상기 발신지 어드레스 테이블(32)내에 상기 입력패킷의 목적지 어드레스가 존재하지 않으면 즉, 목적지 어드레스테이블(30)에서 얻은 목적지 정보(전송포트)가 다른 포트이면 해당 정보를 대응 포트장치(22-N)에 제공하게 된다. 이 정보를 바탕으로 대응 포트장치(22-N)는 해당 패킷에 대한 전송을 수행할 수 있게 된다.
한편 로컬서치블록(20-N)내 목적지 어드레스 테이블(30)에 입력패킷의 목적지 어드레스가 존재하지 않으면, 메인 서치블록(26)으로부터 해당 목적지 어드레스를 받아 로컬서치블록(20-N)내 목적지 어드레스 테이블(30)을 업데이트한다. 이에 대해 구체적으로 설명하면, 로컬서치블록(20-N)은 로컬 서치블록들(20-0,..,20-7)과 메인 서치블록(26) 사이에 정의된 규약에 따라 도 5의 명령필드 CMD에는 서치 명령을, 인식자 필드 ID에는 송신지ID와 수신지ID를, CMD정보에 따른 상세정보필드에는 패킷의 헤더정보를 메시지에 실어 메인 서치블록(26)으로 보내게 된다. 그에 따라 메인 서치블록(26)은 수신된 헤더정보 중에서 목적지 어드레스에 대해서 내부서치를 수행하고 어드레스 서치가 성공적으로 완료되면 서치된 목적지 어드레스에 대한 정보를 해당 로컬 서치블록(20-N)에 전해준다. 그에 따라 해당 로컬 서치블록(20-N)은 메인 서치블록(26)에서 받은 목적지 정보(전송포트)를 대응 포트장치(20-N)로 전달해 그 포트장치(22-N)가 입력패킷을 전송할 수 있도록 해주고 동시에 로컬 서치블록(20-N)내의 목적지 어드레스 테이블(30)의 테이블 정보들을 갱신한다. 만약 메인 서치블록(26)에도 해당 목적지 어드레스의 정보(이하 "포트정보"라 칭함)가 없으면 메인서치블록(26)은 그 어드레스에 대한 포트정보가 현재 시스템 내에는 존재하지 않는 것이므로 목적지의 포트정보 없음을 해당 로컬서치블록(20-N)으로 제공해 준다. 해당 로컬 서치블록(20-N)이 목적지 포트정보 없음을 수신하면 해당 포트장치(22-N)는 포워딩(forwarding) 동작을 수행하게 된다. 상기 포워딩 동작은 브로드캐스팅 하는 것을 의미한다. 즉 어떤 포트로 입력패킷을 전송해야할 지를 모르기 때문에 이더넷 스위치내 보낼 수 있는 모든 포트들(입력포트는 제외)로 그 패킷을 전송을 하는 것이다.
한편 각 포트에 대응된 로컬 서치블록들(20-0,20-1,..,20-7)들과 메인 서치 블록(26)이 주기적으로 발신지 및 목적지 어드레스를 업데이트 동작을 수행한데, 하기에서는 이에 대한 동작이 상세히 설명될 것이다.
각 포트에 대응된 로컬 서치블록들(20-0,20-1,..,20-7)은 메인 서치 블록(26)이 어드레스 업데이트를 수행할 수 있도록 주기적으로 헤더정보(발신지 어드레스, 목적지 어드레스)를 메인 서치블록(26)으로 전송한다. 메인 서치블록(26)은 각 포트에 대응된 로컬 서치블록들(20-0,20-1,..,20-7)에서 전송한 헤더 정보(발신지 어드레스, 목적지 어드레스)를 입력으로 어드레스 학습(address learning)을 통해 어드레스 데이터 구조를 구축한다. 다시 말하면 어드레스 데이터를 구축하는 데 사용되는 정보는 시스템의 하위 호스트들의 포트정보와 그에 할당된 어드레스가 된다. 이러한 정보를 각 호스트가 패킷을 주고받을 때 패킷의 헤더에 자신의 어드레스 정보를 포함시키기 때문에 얻을 수 있는 것이다. 발신지 어드레스에 대응하는 정보는 시스템이 목적으로 하는 바에 따라 달라지겠지만 본 발명의 일 예에서는, 단순히 시스템내 포트정보(발신지 어드레스가 어느 포트에 대응되어 있는가)로 가정할 수 있다.
상기 어드레스 학습 과정을 보다 구체적으로 설명하면, 메인서치블록(26)은 목적지 어드레스 및 발신지 어드레스에 대해서 메인 서치블록(26)의 어드레스 테이블(50)내에 해당 정보(어드레스 및 포트정보)가 있는지를 서치한다. 만약 해당 정보가 있으면 어드레스 에이징(address aging) 동작 등을 포함하는 시스템에서 원하는 정보갱신 동작을 수행한다. 여기서, 어드레스 에이징 동작이라 함은 메인 서치블록(26)의 어드레스 테이블(50)에 저장된 어드레스 중 오래된 어드레스 데이터 즉, 미리 설정된 기간동안 사용되지 않은 어드레스 데이터를 소거하는 동작을 의미한다. 이렇게 어드레스 에이징을 포함한 정보 동작을 수행하면 새로운 정보들이 어드레스 데이터로서 구축될 수 있다. 한편 상기 해당 정보가 없을 경우 어드레스 학습동작을 수행하게 된다. 이러한 어드레스 학습의 주체는 일반적으로 외부의 프로세서가 담당하게 되고, 해시를 사용한 링크 구조로의 데이터 삽입은 메인 서치블록(26)의 내부에서 수행하게 된다. 즉 해당 발신지 주소에 대해 연결된 서치정보(MAC어드레스, 포트번호, 추가 명령 등)는 외부 프로세서가 제공하지만 실제로 데이터를 해시 키에 따른 링크에 연결하는 동작은 메인 서치블록(26)에서 수행하게 된다는 말이다.
또한 로컬 서치블록(20-N)은 입력패킷의 목적지 어드레스 및 발신지 어드레스가 로컬서치블록(20-N)의 목적지 어드레스 테이블(30) 및 발신지 어드레스 테이블(32)에 각각 존재하지 않으면 메인 서치블록(26)으로 목적지 및 발신지 어드레스의 포트정보 요청을 하게 된다. 그에 따라 메인서치블록(26)은 요청된 목적지 어드레스 및 발신지 어드레스의 포트정보를 상기 로컬 서치블록(20-N)으로 제공해 줌으로써, 로컬 서치블록(20-N)은 목적지 어드레스 테이블(30) 및 발신지 어드레스 테이블(32)에 목적지 및 발신지 어드레스와 그에 대응하는 포트정보들을 업데이트한다.
상술한 본 발명의 설명에서는 이더넷 스위치와 같은 구체적인 실시 예에 관해 설명하였으나, 여러 가지 변형이 본 발명의 범위에서 벗어나지 않고 실시할 수 있다. 즉 이더넷 스위치뿐만 아니라 패킷 스위치 네트워크, ATM네트워크 등을 적어도 포함하는 스위치 네트워크에도 적용할 수 있다. 따라서 본 발명의 범위는 설명된 실시 예에 의하여 정할 것이 아니고 특허청구범위와 특허청구범위의 균등한 것에 의해 정해 져야 한다.
상술한 바와 같이 본 발명은 기존의 하나의 서치 로직을 공유하여 서로 경쟁하며 서치동작을 수행하던 것보다 각 포트별로 작은 테이블을 관리함으로써 서치동작을 수행하는데 소요되는 시간을 상당히 줄일 수 있다. 따라서 메인 서치블록은 더욱 많은 일을 할 수 있다. 또한 관리 스위치 구조로의 변경이나 포트의 확장 등에 의해 다른 개체와 어드레스 정보 등을 주고받는 동작을 수행할 수 있으며, 각 포트별로 자기에게 맞는 테이블을 관리함으로써 전반적인 서치 효율을 향상시킨다.
Claims (4)
- 복수개의 포트들을 구비하고 있는 이더넷 스위치에서의 어드레스 서치장치에 있어서,상기 복수개의 포트들 각각에 대응된 로컬 서치부가 구비되며, 상기 로컬 서치부는 자신의 포트로 들어오는 입력패킷의 목적지 어드레스를 분석하여 상기 이더넷 스위치의 전송포트를 찾는 역할을 수행하고 자신의 발신지 어드레스를 제공하는 복수개의 로컬 서치부들과,상기 발신지 어드레스를 분석하여 상기 복수개의 로컬 서치블록들의 어드레스 데이터 구조를 구축하며, 복수개의 로컬 서치부들중의 적어도 하나에서 요구하는 목적지 어드레스 요청에 응답하여 상기 어드레스 데이터 구조를 이용하여 요청한 목적지 어드레스를 해당 로컬 서치블록에 제공하는 메인 서치부와,상기 로컬 서치부와 메인 서치부간에 인터페이스가 가능하게 제어하는 스케쥴러로 구성됨을 특징으로 하는 어드레스 서치장치.
- 제1항에 있어서, 상기 복수개의 로컬 서치부들 각각은,목적지 어드레스들과 그에 대응하는 목적지 정보들이 매칭되어 있는 목적지 어드레스 테이블과,발신지 어드레스와 그에 대응하는 발신지 정보들이 매칭되어 있는 발신지 어드레스 테이블과,상기 목적지 어드레스 테이블 및 상기 발신지 어드레스 테이블 각각에 대응하여 존재하며 이더넷 어드레스를 필요한 만큼의 그룹으로 분류하는 어드레스 소팅로직과,대응 로컬 서치부의 전반적인 제어를 위한 제어로직과,데이터 임시 저장을 위한 레지스터부를 구비하고 있음을 특징으로 하는 어드레스 서치장치.
- 제1항에 있어서, 상기 메인 서치부는,이더넷 스위치 시스템이 알고 있는 어드레스들 및 그에 대응하는 포트정보를 저장하고 있는 어드레스 테이블과,상기 어드레스 테이블을 액세스하기 위한 테이블 액세스 로직과,이더넷 스위치 시스템이 알고 있는 데이터를 상기 어드레스 테이블에 저장하기 위해 동일한 특성을 갖는 어드레스들을 분류하는 어드레스 소팅 로직과,각부를 기능에 맞게 제어하고 상태를 알아보도록 제어하는 제어부를 포함함을 특징으로 하는 어드레스 서치장치.
- 복수개의 포트들을 구비하고 있는 이더넷 스위치에서 상기 복수개의 포트들각각에는 로컬 어드레스 서치를 위한 로컬서치부가 대응 구비되며, 상기 이더넷 스위치 시스템의 전체 어드레스 서치를 위한 메인 서치부가 구비되어 있는 어드레스 서치장치에서의 어드레스 서치 방법에 있어서,상기 복수개의 포트들중 하나로 입력된 패킷의 목적지 어드레스를 이용해 대응 로컬서치부에서 상기 목적지 어드레스에 대응하는 목적지 포트정보가 있는가를 판단하는 과정과,상기 목적지 포트정보가 없으면 상기 메인서치부로 상기 목적지 어드레스에대응하는 목적지 포트정보 서치를 요청하는 과정으로 이루어짐을 특징으로 하는 어드레스 서치방법.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-1999-0051825A KR100450942B1 (ko) | 1999-11-22 | 1999-11-22 | 이더넷 스위치에서의 어드레스 서치 장치 및 방법 |
US09/716,998 US7307988B1 (en) | 1999-11-22 | 2000-11-22 | Address search apparatus and method in ethernet switch |
CNB001372890A CN1138383C (zh) | 1999-11-22 | 2000-11-22 | 在以太网交换器中的地址搜索设备和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-1999-0051825A KR100450942B1 (ko) | 1999-11-22 | 1999-11-22 | 이더넷 스위치에서의 어드레스 서치 장치 및 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20010047546A KR20010047546A (ko) | 2001-06-15 |
KR100450942B1 true KR100450942B1 (ko) | 2004-10-02 |
Family
ID=19621102
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR10-1999-0051825A KR100450942B1 (ko) | 1999-11-22 | 1999-11-22 | 이더넷 스위치에서의 어드레스 서치 장치 및 방법 |
Country Status (3)
Country | Link |
---|---|
US (1) | US7307988B1 (ko) |
KR (1) | KR100450942B1 (ko) |
CN (1) | CN1138383C (ko) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100444560C (zh) * | 2002-08-08 | 2008-12-17 | 四零四科技股份有限公司 | 监看设备于换线时可快速切换的方法 |
KR100518813B1 (ko) * | 2003-02-15 | 2005-10-05 | 삼성전자주식회사 | 패킷 메모리 관리 장치를 가지는 패킷 포워딩 시스템 및 그의 동작방법 |
US7823185B1 (en) * | 2005-06-08 | 2010-10-26 | Federal Home Loan Mortgage Corporation | System and method for edge management of grid environments |
KR100680527B1 (ko) * | 2005-08-22 | 2007-02-09 | (주) 기산텔레콤 | 엘투 스위치 및 엘쓰리 스위치에서 트리 테이블을 이용한 어드레스 탐색 방법 |
KR100947618B1 (ko) * | 2008-08-27 | 2010-03-15 | 한국전자통신연구원 | 데이터 처리 시스템 |
CN102647484B (zh) * | 2012-04-13 | 2014-11-26 | 成都安可信电子股份有限公司 | 一种同步通信网络终端地址搜索方法 |
CN111988444B (zh) * | 2020-08-19 | 2022-10-18 | 成都安可信电子股份有限公司 | 一种同步总线快速搜索终端地址搜索方法 |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4887076A (en) * | 1987-10-16 | 1989-12-12 | Digital Equipment Corporation | Computer interconnect coupler for clusters of data processing devices |
US5111453A (en) * | 1990-05-18 | 1992-05-05 | Nynex Corporation | Apparatus and method for recognizing addresses of information packets |
US5343471A (en) | 1992-05-11 | 1994-08-30 | Hughes Aircraft Company | Address filter for a transparent bridge interconnecting local area networks |
US5345441A (en) * | 1992-10-20 | 1994-09-06 | At&T Bell Laboratories | Hierarchical path hunt for multirate connections |
US5559883A (en) * | 1993-08-19 | 1996-09-24 | Chipcom Corporation | Method and apparatus for secure data packet bus communication |
US5485455A (en) | 1994-01-28 | 1996-01-16 | Cabletron Systems, Inc. | Network having secure fast packet switching and guaranteed quality of service |
US5784373A (en) | 1995-02-23 | 1998-07-21 | Matsushita Electric Works, Ltd. | Switching device for LAN |
US5802278A (en) * | 1995-05-10 | 1998-09-01 | 3Com Corporation | Bridge/router architecture for high performance scalable networking |
TW301090B (en) | 1996-08-14 | 1997-03-21 | Winbond Electronics Corp | Data storing and searching method of ethernet switch mean address table and device thereof |
US6061351A (en) * | 1997-02-14 | 2000-05-09 | Advanced Micro Devices, Inc. | Multicopy queue structure with searchable cache area |
US5938736A (en) * | 1997-06-30 | 1999-08-17 | Sun Microsystems, Inc. | Search engine architecture for a high performance multi-layer switch element |
US6088356A (en) * | 1997-06-30 | 2000-07-11 | Sun Microsystems, Inc. | System and method for a multi-layer network element |
US6154462A (en) * | 1997-08-21 | 2000-11-28 | Adc Telecommunications, Inc. | Circuits and methods for a ring network |
US6104700A (en) * | 1997-08-29 | 2000-08-15 | Extreme Networks | Policy based quality of service |
US5978951A (en) | 1997-09-11 | 1999-11-02 | 3Com Corporation | High speed cache management unit for use in a bridge/router |
US6032194A (en) * | 1997-12-24 | 2000-02-29 | Cisco Technology, Inc. | Method and apparatus for rapidly reconfiguring computer networks |
US6549519B1 (en) * | 1998-01-23 | 2003-04-15 | Alcatel Internetworking (Pe), Inc. | Network switching device with pipelined search engines |
US6553000B1 (en) * | 1998-01-27 | 2003-04-22 | Alcatel Internetworking (Pe), Inc. | Method and apparatus for forwarding network traffic |
AU6311299A (en) | 1998-07-08 | 2000-02-01 | Broadcom Corporation | Network switching architecture with multiple table synchronization, and forwarding of both IP and IPX packets |
US6304575B1 (en) * | 1998-08-31 | 2001-10-16 | Cisco Technology, Inc. | Token ring spanning tree protocol |
US6678269B1 (en) * | 1998-10-05 | 2004-01-13 | Alcatel | Network switching device with disparate database formats |
DE69934644T2 (de) * | 1998-10-05 | 2007-11-15 | Alcatel Lucent | Netzwerkvermittlungseinrichtung mit auf der Basis von Benutzung verteilten Umleitungsdatenbanken |
US6347087B1 (en) * | 1998-10-05 | 2002-02-12 | Packet Engines Incorporated | Content-based forwarding/filtering in a network switching device |
US6463032B1 (en) * | 1999-01-27 | 2002-10-08 | Advanced Micro Devices, Inc. | Network switching system having overflow bypass in internal rules checker |
US6625146B1 (en) * | 1999-05-28 | 2003-09-23 | Advanced Micro Devices, Inc. | Method and apparatus for operating a network switch in a CPU-less environment |
US6658015B1 (en) * | 1999-05-28 | 2003-12-02 | Advanced Micro Devices, Inc. | Multiport switch with plurality of logic engines for simultaneously processing different respective data frames |
US6907469B1 (en) * | 2000-04-11 | 2005-06-14 | International Business Machines Corporation | Method for bridging and routing data frames via a network switch comprising a special guided tree handler processor |
-
1999
- 1999-11-22 KR KR10-1999-0051825A patent/KR100450942B1/ko not_active IP Right Cessation
-
2000
- 2000-11-22 US US09/716,998 patent/US7307988B1/en not_active Expired - Fee Related
- 2000-11-22 CN CNB001372890A patent/CN1138383C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN1299202A (zh) | 2001-06-13 |
KR20010047546A (ko) | 2001-06-15 |
US7307988B1 (en) | 2007-12-11 |
CN1138383C (zh) | 2004-02-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5910955A (en) | Switching hub capable of controlling communication quality in LAN | |
KR101624474B1 (ko) | 네트워크 시스템 및 경로 제어 방법 | |
US8401027B2 (en) | Method for traffic management, traffic prioritization, access control, and packet forwarding in a datagram computer network | |
US6704293B1 (en) | Broadcast as a triggering mechanism for route discovery in ad-hoc networks | |
CN101330405B (zh) | 网络拓扑发现方法及相关设备 | |
CN101719877B (zh) | 一种报文转发装置、网络设备及方法 | |
EP1601137A1 (en) | Network system, learning bridge node, learning method, and program thereof | |
US7016979B2 (en) | System and method of accessing and transmitting different data frames in a digital transmission network | |
US20070097972A1 (en) | Automatic VLAN ID discovery for ethernet ports | |
US7082138B2 (en) | Internal communication protocol for data switching equipment | |
CN101877671B (zh) | 镜像报文的发送方法、交换芯片及以太网路由器 | |
CN112887209B (zh) | 关于数据传输的表项建立方法及相关设备 | |
JPH1063598A (ja) | マルチキャスト通信方法及びマルチキャスト通信システムと、マルチキャスト通信用サーバ | |
KR100450942B1 (ko) | 이더넷 스위치에서의 어드레스 서치 장치 및 방법 | |
US7539192B2 (en) | Gateway and control method thereof | |
JP2004193821A (ja) | ブリッジ装置およびブリッジ装置のアドレス学習方法 | |
CN100463426C (zh) | 基于虚拟网络标识的服务质量控制装置和方法 | |
US6785725B1 (en) | Signaling address resolution in a communication network | |
US6711161B1 (en) | Arrangement for providing linearly scaleable address forwarding tables within multiple network switch modules | |
JP5674179B1 (ja) | 効率的なネットワークアドレス変換およびアプリケーションレベルゲートウェイ処理のための装置および方法 | |
US6760341B1 (en) | Segmention of buffer memories for shared frame data storage among multiple network switch modules | |
JP7477779B2 (ja) | 信号転送システム、及び代理転送エージェント装置 | |
JP2985524B2 (ja) | Lan間中継装置のアドレス認識テーブルの検索方法 | |
JP4854624B2 (ja) | 送受信波長情報取得方法および光送受信装置 | |
KR100260436B1 (ko) | 에이.알.피 구현방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application | ||
J201 | Request for trial against refusal decision | ||
J301 | Trial decision |
Free format text: TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20020719 Effective date: 20040623 |
|
S901 | Examination by remand of revocation | ||
GRNO | Decision to grant (after opposition) | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20120830 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20130829 Year of fee payment: 10 |
|
LAPS | Lapse due to unpaid annual fee |