KR100441033B1 - 스위칭 데이터베이스 캐시 관리 시스템 - Google Patents
스위칭 데이터베이스 캐시 관리 시스템 Download PDFInfo
- Publication number
- KR100441033B1 KR100441033B1 KR10-2001-0080203A KR20010080203A KR100441033B1 KR 100441033 B1 KR100441033 B1 KR 100441033B1 KR 20010080203 A KR20010080203 A KR 20010080203A KR 100441033 B1 KR100441033 B1 KR 100441033B1
- Authority
- KR
- South Korea
- Prior art keywords
- database
- switching
- chip
- 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(Media Access Control) 주소에 따라 적절한 출력(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 주소에 따라 입력 프레임을 위한 적절한 출력 포트를 찾아내는 책임을 지게 된다.
난-블록킹(non-blocking) 스위치를 보장하기 위해, 두 개의 메모리 도메인(16, 18)이 요구된다. 각각은 FDB 인터페이스(24)에 연결되는 64비트 폭의 메모리 버스(20, 22)를 가진다. 스위칭 데이터베이스(도 1에 미도시)는 외부 SRAM에 위치된다.
상기 스위칭 데이터베이스는 네트워크 상의 모든 MAC 주소를 위한 포트 정보를 저장한다. 대규모 네트워크에서는, MAC 주소의 수가 커질 수 있고 그 결과 고도로 복잡한 시스템으로 귀착된다.
도 2는 검색 엔진(14)을 보다 상세히 나타낸다. 도 2에 도시된 바와 같이, 검색 엔진(14)은 비교적 저속일 수 있는 외부 메인 스위칭 데이터베이스(36) 및 더 소형의 고속 캐시(32)에 연결된다. 이 캐시는 최대 회선율(full line rate)로 패킷 포워딩을 지원하는 고성능 데이터베이스이다.
검색 엔진은 HISC(Hierarchial Instruction Set Computer)(30)를 통해 외부 메인 데이터베이스(36) 및 중앙 처리 장치(CPU: Central Processing Unit)(34)에 연결된다.
시스템의 효율적 동작을 위해, 스위칭 폴리시(switching policy)는 활용 가능한 자원들을 효과적으로 사용할 수 있는 것이어야 한다. 이상적으로는, 가장 자주 억세스되는 엔트리(entry)들은 고속 캐시(32)내에서 매번 입수가능하여야 한다.
스위칭 데이터베이스 시스템은 어떠한 데이터베이스든지 새로운 엔트리들을기억, 삭제 또는 수정하는 것을 허용한다. 이는 하위 레벨 하드웨어 또는 상위 레벨 소프트웨어의 제어하에 일어난다. 어떠한 엔트리도 또한 요청에 의해 수정될 수 있다. 예를 들어, 호스트가 포트를 스위치하면 필터링 엔트리는 데이터베이스들의 일부 또는 전부에서 수정되어야 한다.
데이터베이스내 자원이 적어지면, 교체 폴리시(replacement policy)는 삭제할 후보 엔트리를 선택하여, 새 엔트리가 대체로 기억 또는 삽입될 수 있도록 한다. 교체 폴리시는 이 작업이 언제 수행되는지를 결정하는데, 예를 들어 엔트리가 최근에 언제 이용되었는지를 결정한다.
고속 데이터베이스(32)의 자원이 적어지면, 캐시 교체 폴리시는 데이터베이스들에서 삭제, 이동 또는 교환(swap)을 위한 후보 엔트리를 선택하여, 새 엔트리가 상기 고속 데이터베이스(32)에 삽입될 수 있도록 한다.
에이징 폴리시(aging policy)는 미리 설정된 시간 구간동안 데이터베이스 시스템 내에서 사용되지 않은 엔트리들을 처리하는 메커니즘을 제공한다. 사용되지 않는 모든 엔트리들은 데이터베이스의 일부 또는 전부에서 표시되거나 또는 삭제된다.
입력 패킷은 고속 또는 저속 데이터베이스 중 하나에서 발견된 정보로 포워드된다. 검색 엔진(14)은 먼저 고속 데이터베이스를 살펴보고, 엔트리가 발견되지 않으면 저속 데이터베이스(30)를 살펴본다. 만약 패킷 포워딩 순서가 유지되기를 요구하면, 상기 패킷 포워딩 폴리시는 상기 요구에 응해야 한다. 엔트리 사용량 표시는 교체 결정을 하기 위해 교체 메커니즘으로 전달될 수 있다.
엔트리가 어떠한 데이터베이스에서도 발견되지 않는 입력 패킷의 경우에는, 상기 패킷은 드롭(drop)되거나 아니면 일부 포트 또는 모든 포트를 포함하는 포트 그룹으로 포워드된다. 데이터베이스들에서 그 목적지가 발견되지 못한 패킷은 패킷 포워딩을 위한 상기에서 언급한 것과 동일한 순서 폴리시(ordering policies)를 이용할 수 있다.
상기한 스위칭 데이터베이스 캐시 시스템과 같이, 단지 최소한의 스위칭 기반 데이터베이스 정보가 상기 고속 검색 하드웨어를 사용하는 고속 캐시(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 KR20020048903A (ko) | 2002-06-24 |
KR100441033B1 true 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) |
Families Citing this family (3)
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 |
KR101434887B1 (ko) * | 2012-03-21 | 2014-09-02 | 네이버 주식회사 | 네트워크 스위치를 이용한 캐시 시스템 및 캐시 서비스 제공 방법 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5740175A (en) * | 1995-10-03 | 1998-04-14 | National Semiconductor Corporation | Forwarding database cache for integrated switch controller |
WO1999008433A1 (en) * | 1997-08-08 | 1999-02-18 | Bell Communications Research, Inc. | Apparatus and method for number portability call processing |
Family Cites Families (7)
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 |
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 |
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 KR KR10-2001-0080203A patent/KR100441033B1/ko not_active IP Right Cessation
- 2001-12-17 TW TW090131250A patent/TW529266B/zh not_active IP Right Cessation
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5740175A (en) * | 1995-10-03 | 1998-04-14 | National Semiconductor Corporation | Forwarding database cache for integrated switch controller |
WO1999008433A1 (en) * | 1997-08-08 | 1999-02-18 | Bell Communications Research, Inc. | Apparatus and method for number portability call processing |
Also Published As
Publication number | Publication date |
---|---|
TW529266B (en) | 2003-04-21 |
US20020089983A1 (en) | 2002-07-11 |
KR20020048903A (ko) | 2002-06-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7480310B2 (en) | Flexible DMA descriptor support | |
US6535489B1 (en) | Method and apparatus in a network switch for handling link failure and link recovery in a trunked data path | |
US6795447B2 (en) | High performance self balancing low cost network switching architecture based on distributed hierarchical shared | |
US6813268B1 (en) | Stacked network switch configuration | |
US7593403B2 (en) | Stacked network switch configuration | |
US6430188B1 (en) | Unified table for L2, L3, L4, switching and filtering | |
US7764674B2 (en) | Address resolution snoop support for CPU | |
US6839349B2 (en) | Mirroring in a stacked network switch configuration | |
US7688825B2 (en) | Filtering frames at an input port of a switch | |
US6907036B1 (en) | Network switch enhancements directed to processing of internal operations in the network switch | |
US6697380B1 (en) | Multiple key lookup arrangement for a shared switching logic address table in a network switch | |
KR100317991B1 (ko) | 기가비트 이더넷 기반 라우터에서의 병렬처리형 3계층패킷 포워딩 처리 방법 및 장치 | |
KR100441033B1 (ko) | 스위칭 데이터베이스 캐시 관리 시스템 | |
US6813620B2 (en) | Binary search engine and method | |
US6816498B1 (en) | Method for aging table entries in a table supporting multi-key searches | |
KR100577448B1 (ko) | 네트워크 스위치 내에 다수의 포트들을 트렁킹하는 방법 및 장치 | |
US7031302B1 (en) | High-speed stats gathering in a network switch | |
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 |