KR100441033B1 - 스위칭 데이터베이스 캐시 관리 시스템 - Google Patents

스위칭 데이터베이스 캐시 관리 시스템 Download PDF

Info

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
Application number
KR10-2001-0080203A
Other languages
English (en)
Other versions
KR20020048903A (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 KR20020048903A publication Critical patent/KR20020048903A/ko
Application granted granted Critical
Publication of KR100441033B1 publication Critical patent/KR100441033B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/351Switches specially adapted for specific applications for local area network [LAN], e.g. Ethernet switches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/742Route cache; Operation thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/354Switches 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

스위칭 데이터베이스 캐시 관리 시스템{SWITCHING DATABASE CACHE MANAGEMENT SYSTEM}
본 발명은 패킷 스위치 네트워크(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. 다수의 포트와,
    입력 패킷들을 상기 패킷들의 각각의 패킷에 운반되는 목적지 주소에 따른 적절한 출력 포트로 전달하는 패킷 엔진과,
    상기 패킷 엔진으로 스위칭 정보를 제공하는 스위칭 데이터베이스를 포함하며,
    상기 스위칭 데이터베이스는 한 개의 외부의 저속 메인 데이터베이스 및 한 개의 칩 내부의 고속 캐시와, 미리 설정된 제어 폴리시에 따라 상기 외부의 저속 메인 데이터베이스 및 상기 칩 내부의 고속 캐시간에 스위칭 데이터를 전달하기 위한 제어기를 포함함을 특징으로 하는 단일 칩 네트워크 스위치.
  2. 제1항에 있어서, 상기 칩 내부의 고속 캐시가 하드웨어로 구현된 고속 검색 엔진을 포함하는 단일 칩 네트워크 스위치.
  3. 제1항에 있어서, 상기 제어기는 계층구조 지시 세트 마이크로컨트롤러 (hierarchical instruction set microcontroller)인 단일 칩 네트워크 스위치.
  4. 제3항에 있어서, 상기 칩 내부의 고속 캐시가 최대 회선율로 패킷 포워딩을 지원하기 위해 빠른 경로(fast path)에 위치하는 단일 칩 네트워크 스위치.
  5. 목적지 주소 정보를 저장하기 위한 스위칭 데이터베이스를 제공하는 과정(여기에서, 스위칭 데이터베이스는 한 개의 외부의 메인 저속 데이터베이스와 한 개의 칩 내부의 고속 캐시로 나누어진다);
    먼저 상기 칩 내부의 고속 캐시에서 입력 패킷을 위한 주소 정보를 검색하며, 상기 정보가 상기 칩 내부의 고속 캐시에 있지 않은 경우에는, 이어서 상기 정보를 상기 외부의 메인 저속 데이터베이스에서 검색하는 과정; 및
    미리 설정된 폴리시에 따라 상기 칩 내부의 고속 캐시 및 상기 외부의 메인 저속 데이터베이스간에 스위칭 데이터 전달을 제어하는 과정을 포함함을 특징으로 하는, 단일 칩 네트워크 스위치에서의 패킷 포워딩 방법.
  6. 제5항에 있어서, 상기 칩 내부의 고속 캐시내의 자원들이 적어지면 데이터베이스 엔트리들은 삭제되거나 상기 외부의 저속 데이터베이스로 전달되는, 단일 칩 네트워크 스위치에서의 패킷 포워딩 방법.
  7. 제6항에 있어서, 미리 설정된 시간 구간 동안 사용되지 않은 데이터베이스 엔트리들은 삭제를 위해 표시되는, 단일 칩 네트워크 스위치에서의 패킷 포워딩 방법.
  8. 제7항에 있어서, 입력 패킷을 위한 엔트리가 발견되지 않는 경우에, 상기 입력 패킷은 드롭되거나 상기 단일 칩 네트워크 스위치의 일부 또는 모든 포트를 포함하는 목적지 포트 그룹으로 포워드되는, 단일 칩 네트워크 스위치에서의 패킷 포워딩 방법.
KR10-2001-0080203A 2000-12-18 2001-12-17 스위칭 데이터베이스 캐시 관리 시스템 KR100441033B1 (ko)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
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