KR20020048903A - 스위칭 데이터베이스 캐시 관리 시스템 - Google Patents
스위칭 데이터베이스 캐시 관리 시스템 Download PDFInfo
- Publication number
- KR20020048903A KR20020048903A KR1020010080203A KR20010080203A KR20020048903A KR 20020048903 A KR20020048903 A KR 20020048903A KR 1020010080203 A KR1020010080203 A KR 1020010080203A KR 20010080203 A KR20010080203 A KR 20010080203A KR 20020048903 A KR20020048903 A KR 20020048903A
- Authority
- KR
- South Korea
- Prior art keywords
- database
- switching
- cache
- packet
- fast
- Prior art date
Links
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/742—Route cache; Operation thereof
-
- 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/354—Switches specially adapted for specific applications for supporting virtual local area networks [VLAN]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
네트워크 스위치는 다수의 포트와, 입수 패킷을 상기 패킷에 운반되는 목적지 주소에 의한 적절한 출발 포트로 전달하는 패킷 엔진과, 상기 패킷 엔진으로 스위칭 정보를 제공하는 스위칭 데이터베이스를 가지며, 상기 스위칭 데이터베이스는 저속 메인 데이터베이스 및 고속 캐시와, 미리 설정된 제어 폴리시에 따라 상기 데이터베이스 및 상기 캐시간의 스위칭 데이터를 전달하기 위한 제어기를 포함한다.
Description
본 발명은 패킷 스위치 네트워크(packet switched network)에 관한 것으로, 특히 근거리 네트워크(LAN: Local Area Network), 예를 들어 가상 LANS(Virtual LANs)을 지원하는, 이더넷 스위치에 사용되는 캐시 관리 시스템에 관한 것이다.
패킷이 근거리 네트워크 상의 스위치에 도달하면, 스위치는 즉시 입수(incoming) 패킷을 그 MAC 주소에 기반한 적절한 출발(outgoing) 포트로 스위칭하는 역할을 수행하여 한다. 이러한 스위치의 일 예는, "Zarlink Vertex Networks"에 의해 제공된 고밀도 포트 카운트, 저비용 및 고능율 난-블록킹(non-blocking) 이더넷 스위치 칩인 "DS226"이다. 단일 칩은 관리 및 비관리 스위치 애플리케이션을 위해 10/100Mbps 24포트, 1000Mbps 2포트 및 하나의 10/100Mbps CPU 인터페이스를 제공한다. 기가비트(Giga bit) 포트는 또한 10/100M 및 2G 스태킹(stacking) 모드를 지원한다.
입수 패킷이 포트에 도달하면, 상기 스위치는 해당 입수 패킷이 보내져야할 포트를 결정하기 위하여 데이터베이스에서 그 목적지 MAC 주소를 조회한다. 최신 기술의 멀티-레이어(multi-layer) 스위치 시스템은 패킷-포워딩(packet-forwarding) 결정을 수행하기 위한 큰 스위칭 데이터베이스를 필요로 한다.
매우 큰 스위칭 데이터베이스는 상당한 하드웨어 복잡성을 가진다.
본 발명의 목적은 브리지, 라우터 및 다른 스위칭 디바이스에 사용하기에 적절한 대규모 스위칭 데이터베이스의 복잡성을 줄이는데 있다.
본 발명에 따르면 다수의 포트와, 입수 패킷을 상기 패킷에 운반되는 목적지 주소에 의한 적절한 출발 포트로 전달하는 패킷 엔진과, 상기 패킷 엔진으로 스위칭 정보를 제공하는 스위칭 데이터베이스를 가지며, 상기 스위칭 데이터베이스는 저속 메인 데이터베이스 및 고속 캐시와, 미리 설정된 제어 폴리시에 따라 상기 데이터베이스 및 상기 캐시간의 스위칭 데이터를 전달하기 위한 제어기를 포함하는 네트워크 스위치가 제공된다.
본 발명은 일반적으로 MAC 주소와 같은 가장 자주 저장되는 어드레스가 고속 캐시에 저장되도록 한다. 이러한 어드레스는 즉각적으로 고속 검색 하드웨어를 사용하여 위치될 수 있다. 입수 패킷이 스위치에 도달할시에, 스위치는 먼저 상기 캐시에서 목적지 어드레스를 살피고, 캐시에서 상기 어드레스를 찾기가 실패할 경우에만 상기 메인 저속 스위칭 데이터베이스를 살펴본다.
스위칭 정보의 대부분은 저속 데이터베이스에 저장된다. 상기 고속 데이터베이스에서 데이터의 저장을 인텔리전트하게 제어함에 의해, 스위치 성능이 상당히 향상될 수 있다.
본 발명은 이하 실시예로서 뿐만 아니라 첨부 도면들을 참조하여 보다 상세히 설명된다.
도 1은 일반적인 패킷 스위치의 블록 구성도
도 2는 본 발명에 따른 개선된 캐시 시스템의 블록 구성도
도 1은 이더넷 프레임 스위칭에 적절한 전형적인 스위치를 나타낸다. 상기 스위치는 네트워크로부터 패킷 수신 및 전송을 위한 포트(12)와 연결되는 프레임 엔진(10)을 포함한다. 상기 패킷은 근거리 네트워크에서 운반되는 전형적인 이더넷 프레임이다. 프레임 엔진(10)의 과제는 입수 프레임을 프레임내에 운반되는 목적지 어드레스에 기반된 적절한 출발 포트로 스위치하는 것이다. 상기 어드레스는 MAC(Media Access Control) 어드레스로 알려진 물리적 어드레스일 것이다. 이는 네트워크 상에서 각 노드를 식별하는 하드웨어 어드레스이다.
입수 프레임이 스위치에 도달하면, 검색 엔진(14)은 프레임내에 운반되는 MAC 어드레스에 기반된 입수 프레임을 위한 적절한 출력 포트를 식별하는 책임을 지게 된다.
난-블록킹 스위치를 보장하기 위해, 두 개의 메모리 도메인(16, 18)이 요구된다. 각각은 FDB 인터페이스(24)에 연결되는 64비트 폭의 메모리 버스(20, 22)를 가진다. 스위칭 데이터베이스(도 1에 미도시)는 외부 SRAM에 위치된다.
상기 스위칭 데이터베이스는 네트워크 상의 모든 MAC 어드레스를 위한 포트 정보를 저장한다. 대규모 네트워크에서는, MAC 어드레스의 수가 커질 수 있고 그 결과 고도로 복잡한 시스템으로 귀착된다.
도 2는 검색 엔진(14)을 보다 상세히 나타낸다. 도 2에 도시된 바와 같이, 검색 엔진(14)은 비교적 저속일 수 있는 외부 메인 스위칭 데이터베이스(30) 및 더 소형의 고속 캐시(32)에 연결된다. 이는 최대 회선율(full line rate)로 패킷 포워딩을 지원하는 고성능 데이터베이스이다.
검색 엔진은 HISC(Hierarchial Instruction Set Computer)를 통해 메인 데이터베이스(36) 및 중앙 처리 장치(CPU: Central Processing Unit)(34)에 연결된다.
시스템의 효율적 동작을 위해, 스위칭 폴리스(switching policy)는 활용 가능한 자원들을 효과적으로 사용할 수 있는 것이어야 한다. 이상적으로는, 가장 자주 억세스되는 엔트리(entry)들은 고속 캐시(32)내에서 매번 입수가능하여야 한다.
스위칭 데이터베이스 시스템은 어떠한 데이터베이스든지 기억, 삭제 또는 새로운 엔트리 수정을 허용한다. 이는 하위 레벨 하드웨어 또는 상위 레벨 소프트웨어의 제어하에 일어난다. 어떤 엔트리는 또한 요청에 의해 수정될 수 있다. 예를 들어, 호스트가 포트를 스위치하면 필터링 엔트리는 데이터베이스들의 일부 또는 전부에서 수정되어야 한다.
데이터베이스내 자원이 적어지면, 교체 폴리시(replacement policy)는 삭제할 후보 엔트리를 선택하여, 새 엔트리가 대체 또는 삽입될 수 있도록 한다. 교체 폴리시는 이 작업이 언제 수행되는지를 결정하는데, 예를 들어 엔트리가 최근에 언제 이용되었는지를 결정한다.
고속 데이터베이스(32)의 자원이 적어지면, 캐시 교체 폴리시는 데이터베이스들에서 삭제, 이동 또는 교환(swap)을 위한 후보 엔트리를 선택하여, 새 엔트리가 상기 고속 데이터베이스(32)에 삽입될 수 있도록 한다.
에이징 폴리시(aging policy)는 미리 설정된 시간 구간동안 데이터베이스 시스템 내에서 사용되지 않은 엔트리들을 분배하는 메커니즘을 제공한다. 사용되지 않는 모든 엔트리들은 데이터베이스의 일부 또는 전부에서 표시되거나 또는 삭제된다.
입수 패킷은 고속 또는 저속 데이터베이스 중 하나에서 발견된 정보로 포워드된다. 검색 엔진(14)은 먼저 고속 데이터베이스를 살펴보고, 엔트리가 발견되지 않으면 저속 데이터베이스(30)를 살펴본다. 만약 패킷 포워딩 주문이 유지되기를 요구하면, 상기 패킷 포워딩 폴리시는 상기 요구에 응해야 한다. 엔트리 사용량 표시는 교체 결정을 하기 위해 교체 메커니즘으로 전달될 수 있다.
엔트리가 어떠한 데이터베이스에서도 발견되지 않는 입수 패킷의 경우에는, 상기 패킷은 드롭(drop)되거나 아니면 일부 포트 또는 모든 포트를 포함하는 포트 그룹으로 포워드된다. 데이터페이스들에서 그 목적지가 발견되지 못한 상기 패킷은 상기한 포워딩 패킷을 위한 동일한 주문 폴리시(ordering policy)들을 이용할 수있다.
상기한 스위칭 데이터베이스 캐시 시스템과 같이, 단지 최소한의 스위칭 기반 데이터베이스 정보가 상기 고속 검색 하드웨어를 사용하는 고속 캐시(32)에 저장됨이 요구된다. 스위칭 정보의 대부분은 저속 캐시, 대규모, 저속 스위칭 데이터베이스(36)에 저장된다. 데이터베이스 캐시 시스템의 컨텐츠(content)는 상위 레벨 관리 소프트웨어/하드웨어 및 하위 레벨 하드웨어 학습(learning) 엔진으로부터의 요청에 의해 생성되거나, 수정되거나 또는 삭제될 수 있다. 수행 시간 트래픽 패턴 및 관리자(administrator)로부터 요구된 작업에 기반하여, 인텔리전트(intelligent) 캐시 관리 시스템은 스왑핑(swapping)을 주관하는 규칙 세트의 제어하에 고속 및 저속 스위칭 데이터베이스간의 데이터베이스 엔트리들을 교환한다.
실시예적으로는, 브리지 필터링 데이터베이스 구현에서는, 상기 데이터베이스 캐시는 만약 해당 엔트리가 장시간 사용되지 않는다면 고속 필터링 엔트리 검색 엔진으로부터 필터링 엔트리를 저속 필터링 엔트리 검색 속도로 옮길 수 있다. 끊임없이 요청되는 필터링 엔트리는 응답 시간에 기인하여 고속 필터링 데이터베이스 엔진에 있다. 끊임없이 요청되는 필터링 엔트리는 응답 시간을 줄이기 위하여 고속 필터링 데이터베이스 엔진에 보유된다.
상기한 데이터베이스 캐시 시스템은 브리지, 필터링 데이터베이스, 계층3 라우팅/스위칭 데이터베이스, 웹 스위칭 데이터베이스나 다른 어떠한 다중 계층 스위칭 데이터베이스를 위해 구현될 수 있다.
상기한 본 발명은 하드웨어 복잡성을 다량 줄이는 대규모 스위칭 데이터베이스의 구현을 가능토록한다. 상기 인텔리전트 캐시 관리 메커니즘은 하이브리드(hybrid) 하드웨어, 소프트웨어, 또는 펌웨어 솔루션에 구현될 수 있다.
네트워크 프로세서의 진보와 더불어, 상기 인텔리전트 캐시 관리 시스템은 고성능 코-엔진(co-engine)과 동작하는 펌웨어에 구현될 수 있다.
본 발명이 기술되고 상세히 개시되었으나, 상기 설명은 단지 예시 및 보기로서 기술하며, 한정 사항으로 기술된 것이 아니며, 본 발명의 특징 및 범위는 오직 첨부되는 청구범위의 기재에 의해 한정될 것임이 분명하다.
Claims (8)
- 다수의 포트와,입수 패킷을 상기 패킷에 운반되는 목적지 주소에 의한 적절한 출발 포트로 전달하는 패킷 엔진과,상기 패킷 엔진으로 스위칭 정보를 제공하는 스위칭 데이터베이스를 포함하며,상기 스위칭 데이터베이스는 저속 메인 데이터베이스 및 고속 캐시와, 미리 설정된 제어 폴리시에 따라 상기 데이터베이스 및 상기 캐시간의 스위칭 데이터를 전달하기 위한 제어기를 포함함을 특징으로 하는 네트워크 스위치.
- 제1항에 있어서, 상기 고속 캐시가 하드웨어로 구현된 고속 검색 엔진을 포함하는 네트워크 스위치.
- 제1항에 있어서, 상기 제어기는 계층 구조 세트 마이크로 컨트롤러 (hierarchical instruction set microcontroller)인 네트워크 스위치.
- 제3항에 있어서, 상기 고속 캐시가 최대 회선율 패킷 포워딩을 지원하는 빠른 경로(fast path)에 위치하는 네트워크 스위치.
- 목적지 어드레스 정보를 저장하기 위한 스위칭 데이터베이스를 제공하는 과정(상기 스위칭 데이터베이스는 메인 저속 데이터베이스와 고속 캐시로 나누어짐);먼저 상기 고속 캐시에서 입수 패킷을 위한 주소 정보를 검색하며, 상기 정보가 상기 고속 캐시에 있지 않은 경우에 이어 상기 정보를 상기 저속 데이터베이스에서 검색하는 과정; 및미리 설정된 폴리시에 따라 상기 고속 캐시 및 상기 저속 데이터베이스간에 데이터 전달을 제어하는 과정을 포함함을 특징으로 하는 네트워크 스위치에서 패킷 포워딩 방법.
- 제5항에 있어서, 상기 데이터베이스 엔트리들은 상기 고속 캐시가 느려질 때에 삭제되거나 상기 저속 데이터베이스로 전달되는 방법.
- 제6항에 있어서, 미리 설정된 시간 구간 동안 사용되지 않은 상기 데이터베이스 엔트리들이 삭제를 위해 표시되는 방법.
- 제7항에 있어서, 입수 패킷을 위한 엔트리가 발견되지 않는 경우에, 상기 입수 패킷은 드롭하거나 상기 네트워크 스위치의 일부 또는 모든 포트를 포함하는 목적지 포트 그룹으로 포워드되는 방법.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US25630200P | 2000-12-18 | 2000-12-18 | |
US60/256,302 | 2000-12-18 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20020048903A true KR20020048903A (ko) | 2002-06-24 |
KR100441033B1 KR100441033B1 (ko) | 2004-07-21 |
Family
ID=28454416
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR10-2001-0080203A KR100441033B1 (ko) | 2000-12-18 | 2001-12-17 | 스위칭 데이터베이스 캐시 관리 시스템 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20020089983A1 (ko) |
KR (1) | KR100441033B1 (ko) |
TW (1) | TW529266B (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101434887B1 (ko) * | 2012-03-21 | 2014-09-02 | 네이버 주식회사 | 네트워크 스위치를 이용한 캐시 시스템 및 캐시 서비스 제공 방법 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7286533B2 (en) * | 2001-12-27 | 2007-10-23 | Alcatel-Lucent Canada Inc. | Method and apparatus for routing data frames |
US7386679B2 (en) | 2004-04-15 | 2008-06-10 | International Business Machines Corporation | System, method and storage medium for memory management |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS59224942A (ja) * | 1983-06-03 | 1984-12-17 | Nippon Telegr & Teleph Corp <Ntt> | デイジタル交換機 |
US5274631A (en) * | 1991-03-11 | 1993-12-28 | Kalpana, Inc. | Computer network switching system |
US5488608A (en) * | 1994-04-14 | 1996-01-30 | Metricom, Inc. | Method and system for routing packets in a packet communication network using locally constructed routing tables |
US5740175A (en) * | 1995-10-03 | 1998-04-14 | National Semiconductor Corporation | Forwarding database cache for integrated switch controller |
US5940596A (en) * | 1996-03-25 | 1999-08-17 | I-Cube, Inc. | Clustered address caching system for a network switch |
US5754791A (en) * | 1996-03-25 | 1998-05-19 | I-Cube, Inc. | Hierarchical address translation system for a network switch |
US6130939A (en) * | 1997-08-08 | 2000-10-10 | Telcordia Technologies, Inc. | Apparatus and method for number portability call processing |
US6801525B1 (en) * | 2000-07-11 | 2004-10-05 | Lucent Technologies Inc. | Internet protocol packet router |
US20050152906A1 (en) * | 2003-06-30 | 2005-07-14 | Avigdor Levanon | Specific human antibodies |
-
2001
- 2001-12-12 US US10/015,497 patent/US20020089983A1/en not_active Abandoned
- 2001-12-17 TW TW090131250A patent/TW529266B/zh not_active IP Right Cessation
- 2001-12-17 KR KR10-2001-0080203A patent/KR100441033B1/ko not_active IP Right Cessation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101434887B1 (ko) * | 2012-03-21 | 2014-09-02 | 네이버 주식회사 | 네트워크 스위치를 이용한 캐시 시스템 및 캐시 서비스 제공 방법 |
Also Published As
Publication number | Publication date |
---|---|
US20020089983A1 (en) | 2002-07-11 |
TW529266B (en) | 2003-04-21 |
KR100441033B1 (ko) | 2004-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6535489B1 (en) | Method and apparatus in a network switch for handling link failure and link recovery in a trunked data path | |
US7480310B2 (en) | Flexible DMA descriptor support | |
US6795447B2 (en) | High performance self balancing low cost network switching architecture based on distributed hierarchical shared | |
US6813268B1 (en) | Stacked network switch configuration | |
EP0993635B1 (en) | Method and apparatus for dynamic queue sizing | |
US7065050B1 (en) | Apparatus and method for controlling data flow in a network switch | |
US7593403B2 (en) | Stacked network switch configuration | |
US6246680B1 (en) | Highly integrated multi-layer switch element architecture | |
US8335231B2 (en) | Hardware based zoning in fibre channel networks | |
US7764674B2 (en) | Address resolution snoop support for CPU | |
US7688825B2 (en) | Filtering frames at an input port of a switch | |
US6732184B1 (en) | Address table overflow management in a network switch | |
JP7100586B2 (ja) | ネットワークデバイスにおいて分類リソースのパーティションを提供するためのシステムおよび方法 | |
US20130094499A1 (en) | System and Method for High-Performance, Low-Power Data Center Interconnect Fabric | |
US6731596B1 (en) | Network switch having system for automatically detecting change in network node connection | |
KR100317991B1 (ko) | 기가비트 이더넷 기반 라우터에서의 병렬처리형 3계층패킷 포워딩 처리 방법 및 장치 | |
CN1365216A (zh) | 交换数据库高速缓冲存储器管理系统 | |
KR100441033B1 (ko) | 스위칭 데이터베이스 캐시 관리 시스템 | |
US6816498B1 (en) | Method for aging table entries in a table supporting multi-key searches | |
US6813620B2 (en) | Binary search engine and method | |
KR100577448B1 (ko) | 네트워크 스위치 내에 다수의 포트들을 트렁킹하는 방법 및 장치 | |
US7031302B1 (en) | High-speed stats gathering in a network switch | |
Singhal | Terabit switches and routers | |
Serpanos et al. | Transparent bridging support in high speed interworking units |
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: 20120625 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20130625 Year of fee payment: 10 |
|
LAPS | Lapse due to unpaid annual fee |