KR100863105B1 - 단일 검색 오퍼레이션으로 필터링 데이터베이스를 포함하는 교환 장치, 단일 검색 오퍼레이션을 이용한 전송 벡터 선택 장치 및 방법 - Google Patents

단일 검색 오퍼레이션으로 필터링 데이터베이스를 포함하는 교환 장치, 단일 검색 오퍼레이션을 이용한 전송 벡터 선택 장치 및 방법 Download PDF

Info

Publication number
KR100863105B1
KR100863105B1 KR1020037003068A KR20037003068A KR100863105B1 KR 100863105 B1 KR100863105 B1 KR 100863105B1 KR 1020037003068 A KR1020037003068 A KR 1020037003068A KR 20037003068 A KR20037003068 A KR 20037003068A KR 100863105 B1 KR100863105 B1 KR 100863105B1
Authority
KR
South Korea
Prior art keywords
identifier
entry
data packet
virtual lan
filtering database
Prior art date
Application number
KR1020037003068A
Other languages
English (en)
Other versions
KR20030096216A (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 KR20030096216A publication Critical patent/KR20030096216A/ko
Application granted granted Critical
Publication of KR100863105B1 publication Critical patent/KR100863105B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4604LAN interconnection over a backbone network, e.g. Internet, Frame Relay
    • H04L12/462LAN interconnection over a bridge based backbone
    • H04L12/4625Single bridge functionality, e.g. connection of two networks over a single bridge
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/953Organization of data
    • Y10S707/959Network
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching

Landscapes

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

Abstract

필터링 데이터베이스의 다중 검색은 교환 장치에 의해 수신되는 데이터 패킷을 필터링하는 시간을 증가시킨다. 본 발명은 번역기 및 단일 검색을 수행하는 필터링 데이터베이스를 포함하는 교환 장치를 개시한다. 번역기는 교환 장치에 의해 수신된 데이터 패킷과 연관된 가상 랜 식별자에 대해 번역 식별자를 제공한다. 번역 식별자는 가상 랜(Virtual LAN) 그룹에 응답하는 그룹 식별자(FID), 및 식별된 가상 랜에 응답하는 그룹 멤버 번호(VID)를 포함한다. 필터링 데이터베이스는 정적 엔트리(static entry) 및 동적 엔트리(dynamic entry)를 저장한다. 정적 엔트리는 번역 식별자와 연관된 데이터 패킷에 대해 전송 벡터를 저장한다. 동적 엔트리는 번역 식별자에 포함된 그룹 식별자와 연관되고 돈케어(don't care)로 설정된 그룹 멤버 번호와 연관된 데이터 패킷에 대해 전송 벡터를 저장한다. 번역 식별자는 필터링 데이터베이스가 단일 검색 오퍼레이션(single search operation)으로부터 정적 엔트리 또는 동적 엔트리 내에 저장된 전송 벡터를 제공하도록 해준다.
교환 장치, 단일 검색, 번역기, 필터링 데이터베이스, 데이터 패킷

Description

단일 검색 오퍼레이션으로 필터링 데이터베이스를 포함하는 교환 장치, 단일 검색 오퍼레이션을 이용한 전송 벡터 선택 장치 및 방법{A switch including a filtering database with one search operation, a apparatus for selecting a forward vector through the one search operation and a method thereof}
본 발명은 교환 장치(switch)에 있어서, 단일 검색 오퍼레이션으로 필터링 데이터베이스를 검색하는 방법 및 장치에 관한 것이다.
랜(Local Area Network; "LAN")에 모든 장치를 접속시켜주는 단일 동축케이블과 같은 공유 매체 상에서 이더넷(Ethernet) 랜이 구현되었다. 이 공유 매체는 물리적인 매체 상의 신호 길이가 제한되고, 또한 하나의 장치가 상기 공유 매체 상에서 한번에 데이터를 전달해야만 하기 때문에 상기 랜에 접속될 수 있는 장치의 수에 제한을 받는다.
교환 장치(switch)는 동일한 물리적 매체 또는 랜 세그먼트(LAN segment)에 접속되는 장치 그룹들간에 접속부(bridge)를 제공함으로써 하나의 랜의 규모를 증가시키는 수단을 제공한다. 상기 랜은 하나 이상의 교환 장치에 의해 서로 접속되는 다중 랜의 세그먼트로 간주될 수 있다. 예를 들면, 상기 교환 장치 내의 제1 포트가 제1 랜 세그먼트에 접속되고, 상기 교환 장치 내의 제2 포트가 제2 랜 세그먼트에 접속될 수 있다. 상기 교환 장치는 제1 랜 세그먼트로부터 제2 랜 세그먼 트로 접속되는 하나의 장치에 대해 정해진 데이터 패킷을 전송(forwarding)함으로써 상기 랜 세그먼트들 간의 접속부 역할을 한다.
상기 랜 내의 랜 세그먼트에 접속되는 각각의 장치는 고유의 매체 액세스 제어(Media Access Control; "MAC") 어드레스가 할당된다. 각각의 데이터 패킷은 상기 데이터 패킷을 전송하는 장치에 할당되는 MAC 소스 어드레스(MAC source address), 및 데이터 패킷이 전송될 장치의 MAC 수신지 어드레스(MAC destination address)를 포함한다.
상기 교환 장치는 하나의 랜 세그먼트 상에 수신되는 데이터 패킷이 상기 교환 장치 내의 포트와 수신지 MAC 어드레스를 연관시킴으로써 다른 랜 세그먼트 상에 전송되는지 여부를 판단하며, 이때 상기 포트는 상기 MAC 어드레스가 속하는 랜 세그먼트에 접속된다. 이러한 연관 정보는 상기 교환 장치 내의 전송 테이블에 있는 정적 전송 엔트리(static forwarding entry)에 저장될 수 있다. 예를 들면, 장치 A가 랜 세그먼트 A에 접속되고 상기 랜 세그먼트 A는 상기 교환 장치 내의 제1 포트에 접속되면, 장치 A에 대한 정적 전송 엔트리는 장치 A에 대한 MAC 어드레스와 상기 제1 포트를 연관시킨다. 만일 장치 A가 상기 교환 장치 내의 제2 포트에 접속되는 세그먼트 B로 물리적으로 이동하면, 상기 장치 A에 대한 전송 테이블 내의 정적 엔트리는 상기 제1 포트 대신에 제2 포트로 전송되도록 자동 갱신되지는 않는다. 관리 조작에 의한 상기 교환 장치의 재구성은 고정된 전송 엔트리를 갱신하기 위해 필요하다.
상기 MAC 어드레스, 및 상기 교환 장치 내의 포트 사이의 연관은 상기 교환 장치 내의 정적 전송 엔트리 내에 확실하게 구성될 때가 아니라 상기 교환 장치의 동작 중에 학습(learn)될 수 있다. 이러한 학습은 상기 MAC 어드레스 및 상기 교환 장치 내의 포트들 사이의 연관이 상기 교환 장치의 동작 중에 동적으로 생성되고 변경될 수 있게 해준다. 학습된 연관 정보는 상기 교환 장치의 전송 테이블 내의 동적 전송 엔트리(dynamic forwarding entry)에 저장된다. 상기 MAC 어드레스를 학습하기 위해서, 상기 교환 장치는 상기 교환 장치 내의 포트들에 접속되는 모든 랜 세그먼트 상에 전송되는 데이터 패킷을 파악하게 된다. 상기 동적 엔트리는 제공되는 데이터 패킷으로부터 상기 랜 세그먼트에 접속되는 포트와 상기 MAC 어드레스를 연관시킨다.
상기 교환 장치는 소스 어드레스 필드-여기서 소스 어드레스 필드는 상기 전송 테이블 내에 대응하는 전송 엔트리를 갖는 않는 데이터 패킷 내에 포함됨- 내에 저장된 MAC 어드레스를 검출하면, 상기 전송 테이블 내에서 신규의 동적 전송 엔트리를 생성한다. 상기 교환 장치는 상기 MAC 어드레스로부터 제공되는 데이터 패킷을 수신할 때마다 MAC 어드레스와 연관된 동적 전송 엔트리를 갱신한다.
예를 들면, 상기 교환 장치가 상기 소스 어드레스 필드 내에 저장된 MAC 어드레스 A와 제1 포트에 접속되는 세그먼트 A 상에서 데이터 패킷을 발견하면, 상기 교환 장치는 MAC 어드레스 A에 대한 전송 테이블 내에 동적 전송 엔트리를 생성한다. 상기 동적 전송 엔트리는 상기 MAC 어드레스 A를 제1 포트와 연관시킨다. 수신지 어드레스로서 MAC 어드레스 A를 포함하는 교환 장치 내의 다른 포트로부터 수신되는 후속적인 데이터 패킷들은 제1 포트를 통해 전송된다. MAC 어드레스 A를 갖는 장치가 상기 교환 장치 내의 제2 포트에 접속되는 다른 랜 세그먼트로 이동하게 되면, 상기 교환 장치는 MAC 어드레스 A로부터 제2 포트 상의 데이터 패킷을 수신하면 신규 연관 정보를 학습한다. 상기 교환 장치는 제1 포트 대신에 제2 포트를 통해 MAC 어드레스 A로 데이터 패킷을 전송하도록 MAC 어드레스 A에 대한 동적 전송 엔트리를 갱신한다.
교환 장치를 사용하여 다중 랜 세그먼트들을 제공함으로써 하나의 랜 규모를 증가시키는 것은 상기 랜의 대역폭을 증가시키며, 따라서 상기 랜에 접속될 수 있는 장치들의 수를 증가시키게 된다. 하지만, 상기 랜에 접속되는 장치들의 수를 증가시킴으로써, 동보 통화(broadcast traffic)에 의해 소요되는 대역폭이 또한 증가하게 된다. 미지의 MAC 어드레스에 대한 데이터 패킷을 수신할 때 동보 패킷이 상기 미지의 MAC 어드레스에 대한 전송 정보를 학습하기 위해 상기 랜에 접속되는 모든 장치들에게 전송되기 때문에, 상기 동보 통화는 증가하게 된다. 상기 동보 데이터 패킷은 하나의 MAC 어드레스에 의해 제공되는 특정한 MAC 어드레스를 포함하며, 상기 랜에 접속되는 다른 모든 장치들에게 제공된다. 유니캐스트 통화(unicast traffic), 즉 단일 소스 어드레스로부터 단일 수신지 어드레스로 전송되는 데이터 패킷과는 달리, 동보 통화는 단일 랜 세그먼트에 제한을 받지 않는다. 따라서, 랜에 접속되는 장치들의 수가 증가할수록, 상기 랜 내의 물리적인 랜 세그먼트의 수와 무관하게 랜 상의 이용 가능한 대역폭을 감소시킴으로써 동보 통화의 양은 증가하게 된다.
랜 내의 동보 통화의 양을 감소시키는 방법은 가상 랜(Virtual Local Area Network; "VLAN") 내에 상기 랜을 논리적으로 세그먼트화함으로써 이루어진다. 하나의 랜을 VLAN으로 논리적으로 세그먼트화하는 방법은 IEEE(Institute of Electric and Electronic Engineers) P802.1Q 규격에 기재되어 있다. 교환 장치 기반 VLAN에 있어서, 하나의 포트가 수신된 데이터 패킷과 동일한 VLAN의 일부인 경우에, 동보 데이터 패킷은 상기 포트를 통해서만 전송된다. 따라서, 상기 동보 통화는 제공된 동보 데이터 패킷과 동일한 VLAN의 일부인 장치들에게로만 전송된다.
가상 랜(VLAN)으로 논리적으로 세그먼트화된 랜에서, 상기 랜 상에 전송되는 각각의 데이터 패킷은 제공된 데이터 패킷으로부터 VLAN을 식별하는 VLAN 식별자("VID")를 포함한다. 가상 랜의 조직(membership)은 물리적 어드레스가 아니라 할당된 논리 어드레스인 VID에 기초한다. 따라서, 가상 랜의 조직은 동일한 물리적 랜 세그먼트의 멤버일 필요는 없다. 동보, 유니캐스트 및 멀티캐스트 데이터 통화를 포함하는 랜 상의 모든 통화는 상기 데이터 패킷에 포함된 VID에 의해 식별되는 가상 랜의 멤버에게 통화의 전송을 제한함으로써, 제공되는 가상 랜에게 구속된다. 또한 어떤 장치가 상기 수신된 데이터 패킷 내에 포함된 VID에 의해 식별되는 가상 랜의 멤버라면, 상기 장치는 가상 랜의 멤버와만 통신할 수 있다. 따라서, 가상 랜은 제공된 동보 패킷이 가상 랜의 멤버들 간의 데이터 전송용 보안을 제공하는 가상 랜 내의 동보 통화를 포함한다.
가상 랜을 랜에 적용함으로써, 정적 전송 엔트리 또는 동적 전송 엔트리 내에 저장된 전송 판단은 상기 수신된 데이터 패킷 내에 포함된 VID 및 MAC 어드레스 양자 모두에 의존한다. MAC 어드레스는 하나 이상의 가상 랜 멤버일 수 있고, MAC 어드레스가 멤버인 각각의 가상 랜에 대한 정적 또는 동적 전송 엔트리를 필요로 한다. 상기 교환 장치가 학습에 무관하게 구현된다면, 복수의 동적 전송 엔트리는 상기 MAC 어드레스가 학습되는 각각의 가상 랜중 하나에 MAC 어드레스가 제공된다.
각각의 학습된 MAC 어드레스에 대해 저장 및 갱신되는 동적 전송 엔트리의 수를 단축시키기 위해서, 상기 교환 장치는 공유 학습을 구현할 수 있다. 공유 획득은 하나의 가상 랜 상의 MAC 어드레스에 대해 학습된 전송 정보가 주어진 가상 랜 집합들 내의 다른 가상 랜들에 의해 공유될 수 있게 한다. 상기 전송 정보는 해당 MAC 어드레스에 대해 이루어진 전송 판단에 사용된다.
상기 교환 장치 내의 공유 획득을 구현하기 위해서, 교환 장치 내의 각각의 가상 랜은 정확하게 하나의 필터 식별자(Filter identifier; "FID")와 연관된다. 독립 학습에 대해, VID 및 FID 간에는 일대일로 대응된다. 공유 학습에 대해서, 복수의 VID가 하나의 FID에 할당된다. 단지 하나의 VID가 데이터 패킷 내에 전송되고, FID는 상기 교환 장치에 의해 임의적으로 할당되고, 상기 교환 장치 내부에서 사용된다. 공유 학습 교환 장치에서, 독립 학습 또는 공유 학습에 대한 모든 학습 정보는 VID 대신에 FID와 연관된 전송 테이블 내의 동적 전송 엔트리 내에 저장된다. 명확하게 구성된 전송 정보는 VID와 연관된 동적 전송 엔트리 내에 저장된다. 교환 장치는 공유 학습 및 독립 학습 양자 모두를 동시에 지원할 수 있다.
공유 가상 랜 학습은 학습 MAC 어드레스 정보가 가상 랜 집합 중에서 공유될 수 있는데, FID와 연관된 단지 하나의 동적 전송 엔트리가 FID에 대한 전송 테이블 내에 저장되기 때문이다. 하지만, 상기 MAC 어드레스 전송 정보가 상기 FID 내의 가상 랜 집합 중에 공유될 수 있지만, 상기 교환 장치는 제공된 데이터 패킷으로부터 상기 가상 랜의 멤버인 하나의 포트를 통해서 하나의 데이터 패킷만을 전송한다. 이러한 전송 판단은 출구 필터링(egress filtering)을 사용하여 이루어질 수 있다. 따라서, 공유 학습 교환 장치에서, 동보 통화는 제공된 가상 랜에 제한을 받고 가상 랜들간에 제공되는 보안에 제한을 받는다.
도 1a는 종래 기술에 따른 공유 학습 교환 장치 내에 구현되는 전송 테이블(130)을 예시하는 도면이다. 종래 기술에 따른 전송 테이블(130)은 정적 전송 엔트리(132) 및 동적 전송 엔트리(134)를 포함한다. 상기 정적 전송 엔트리(132)는 전송 벡터(140b)를 MAC 어드레스(136b) 및 VID(138)와 연관시킨다. 상기 동적 전송 엔트리(134)는 전송 벡터(140a)를 MAC 어드레스(136a) 및 FID(142)와 연관시킨다. 상기 전송 벡터(140a, 140b)는 데이터 패킷이 전송되는 포트 또는 포트들 나타내는 상기 교환 장치 내의 각각의 포트에 대한 비트를 포함하는 비트 맵(bit map)이다. 상기 정적 전송 엔트리(132) 내의 VID(138)는 상기 교환 장치에 의해 수신되는 데이터 패킷 내에 포함되는 동일한 VID이다. 상기 동적 전송 엔트리(134) 내에 저장되는 FID(142)는 VID 집합 또는 단일 VID와 연관된다. 수신된 데이터 패킷 내에 포함된 MAC 어드레스 및 VID와 연관되는 전송 엔트리는 상기 MAC 어드레스가 상기 교환 장치에 의해 학습되었는지 또는 관리에 의해 명확하게 정해졌는지 여부에 따라 정적 전송 엔트리(132) 또는 동적 전송 엔트리(134) 내에 저장될 수 있다. 따라서, 수신된 데이터 패킷 내에 포함된 MAC어드레스 및 VID와 연관 되는 전송 엔트리에 대한 전송 판단을 결정하기 위해서는 전송 테이블(130)의 2번 검색이 필요하다.
제1 검색은 데이터 패킷 내에 포함된 VID(138), 즉 디폴트 VID에 따라 정적 전송 엔트리(132)에 대한 검색을 한다. 디폴트 VID는 VID가 데이터 패킷 내에 포함되지 않은 경우, 수신된 데이터 패킷에서 해당 포트에 따라 상기 데이터 패킷에 할당된다. MAC 어드레스와 연관된 전송 테이블(130) 내의 정적 전송 엔트리(132)가 없는 경우, 상기 교환 장치 및 MAC 어드레스(136a)에 의해 VID(138)에 할당된 FID(142)를 포함하는 동적 전송 엔트리(134)에 대해서 제2 검색이 실시된다.
필터링 데이터베이스의 다중 검색은 교환 장치에 의해 수신되는 데이터 패킷을 필터링하는 시간을 증가시킨다. 본 발명은 번역기 및 단일 검색을 수행하는 필터링 데이터베이스를 포함하는 교환 장치를 개시한다. 상기 번역기는 교환 장치에 의해 수신된 데이터 패킷과 연관된 가상 랜 식별자에 대해 번역 식별자를 제공한다. 상기 번역 식별자는 가상 랜 그룹에 응답하는 그룹 식별자(FID), 및 상기 식별된 가상 랜에 응답하는 그룹 멤버 번호(VID)를 포함한다. 상기 필터링 데이터베이스는 정적 엔트리(static entry) 및 동적 엔트리(dynamic entry)를 저장한다. 상기 정적 엔트리는 상기 번역 식별자와 연관된 데이터 패킷에 대해 전송 백터를 저장한다. 상기 동적 엔트리는 상기 번역 식별자에 포함된 상기 그룹 식별자와 연관되고 돈케어(don't care)로 설정된 상기 그룹 멤버 번호와 연관된 데이터 패킷에 대해 전송 벡터를 저장한다. 상기 번역 식별자는 상기 필터링 데이터베이스가 단일 검색 오퍼레이션(single search operation)으로부터 상기 정적 엔트리 또는 동적 엔트리 내에 저장된 전송 벡터를 제공하도록 해준다.
상기 번역 식별자 내에 포함된 그룹 식별자는 정적 엔트리 및 동적 엔트리 양자 모두에 저장된다. 동적 엔트리에서, 그룹 멤버 번호는 돈케어(don't care)로 설정된다. 따라서, 단일 검색 오퍼레이션은 상기 필터링 데이터베이스에서 상기 정적 엔트리 또는 동적 엔트리 중 어느 하나에 저장될 수 있는 식별자에 대한 부합 여부를 발견하는데 사용될 수 있다.
다른 실시예에서, 상기 그룹 멤버 번호는 상기 그룹 식별자와 연관된 여러 멤버들중에서 하나를 식별한다. 상기 필터링 데이터베이스는 내용 주소화 메모리일 수 있다. 상기 내용 주소화 메모리는 돈케어 조건을 지원하기 위한 3진 내용 주소화 메모리일 수 있다.
상기 가상 랜 식별자는 상기 수신된 데이터 패킷 내에 포함되는 헤더에 저장되거나, 또는 상기 교환 장치에 의해 상기 수신된 데이터 패킷에 할당되는 디폴트 가상 랜 식별자일 수 있다.
본 발명의 전술한 특징 및 기타 다른 특징과 장점들이 첨부된 도면에 예시된 바와 같이, 이하의 본 발명의 바람직한 실시예의 보다 구체적인 설명으로부터 명백해질 것이다. 첨부되는 도면에서 유사한 참조부호는 본 발명의 다른 도면들에 대해 동일한 부분을 나타낸다. 도면들은 본 발명의 원리를 예시하기 위해 언급될 뿐이며 반드시 축적(scale)을 갖거나 강조(emphasis)할 필요는 없다.
도 1a는 종래의 기술에 따른 공유 학습을 지원하는 교환 장치 내에 구현되는 전송 테이블(130)을 예시하는 도면이다.
도 1b는 종래의 기술에 따른 교환 장치 내의 입구 포트(ingress port) 상에서 수신될 수 있는 데이터 패킷을 예시하는 도면이다.
도 1c는 도 1a에 도시된 종래의 기술에 따른 데이터 패킷 내에 포함될 수 있는 이더넷 데이터 링크 계층(L2) 헤더를 예시하는 도면이다.
도 2a 및 도 2b는 본 발명에 따른 수신된 데이터 패킷을 교환 장치 내의 포트들에 접속되는 가상 랜(VLAN)에게 전송하기 위한 전송 논리부를 포함하는 교환 장치의 블록도이다.
도 3은 본 발명에 따라 도 2에 도시된 전송 논리부의 블록도이다.
도 4는 본 발명에 따라 도 3에 도시된 전송 논리부 내의 번역기의 블록도이다.
도 5는 본 발명에 따라 도 3에 도시된 전송 논리부 내의 필터링 데이터베이스의 블록도이다.
도 6은 본 발명에 따라 수신된 데이터 패킷에 대해 전송 벡터를 선택하는 방법을 예시하는 순서도이다.
이하 본 발명의 바람직한 실시예가 설명된다.
도 1b는 종래 기술에 따른 데이터 패킷(100)을 예시하는 도면이다. 상기 데이터 패킷은 물리 계층(L1) 헤더(102), 데이터 링크 계층(L2) 헤더(104), 네트워크 계층(L3) 헤더(106) 및 통신 계층(L4) 헤더(108)를 포함한다. 상기 데이터 패킷에 대한 유효부(payload)는 데이터 필드(110) 내에 저장되고, 상기 데이터 패킷은 또한 체크섬(checksum; 112)을 포함한다.
도 1c는 종래 기술에 따른 도 1b에 도시된 데이터 링크 계층(L2) 헤더(104) 내에 저장되는 이더넷 프로토콜 헤더를 예시하는 도면이다. 상기 이더넷 프로토콜 헤더의 길이는 표준 이더넷 프로토콜에 의해 규정된 고정 비트 수(fixed number of bits)이다. 상기 데이터 링크 계층(L2) 헤더(104)는 6 바이트의 L2 수신지 어드레스 필드(114), 6 바이트의 L2 소스 어드레스 필드(116), 가상 랜 식별자("VID") 필드(118) 및 2 바이트의 길이/타입 필드(120)를 포함한다. 상기 VID(118)는 태그 프로토콜 식별자("TPID"; 118a) 및 태그 제어 정보("TCT"; 118b)를 포함한다.
도 2a 및 도 2b는 입구 포트(206a, 206b)에서 수신되는 데이터 패킷에 대해 전송 판단을 결정하기 위한 전송 논리부(210)를 포함하는 교환 장치(200)의 블록도이다. 출구 포트(208a, 208b) 및 입구 포트(206a, 206b)의 수는 도 2에 도시된 2개로 국한되는 것은 아니다. 일실시예에서, 26개의 출구 포트(208a, 208b) 및 입구 포트(206a, 206b)가 상기 교환 장치(200) 내에 제공된다.
상기 교환 장치는 입구 포트 엔진(216), 출구 포트 엔진(218), 패킷 저장 관리자(220) 및 세그먼트 버퍼 메모리(224)를 포함한다. 입구 포트(206a 또는 206b)에서 데이터 패킷(100)을 수신하는 경우, 상기 입구 포트 내의 전송 논리부(210)는 상기 데이터 패킷(100)을 필터링함으로써, 상기 데이터 패킷(100)이 상기 교환 장치(100) 내의 출구 포트(208a, 208b)에 전송되는지 또는 버려지는지, 즉 드롭(drop)되는지 여부를 결정하게 된다.
상기 전송 논리부(210)는 필터링 데이터베이스(302)를 포함한다. 상기 필터링 데이터베이스는 정적 엔트리(500) 및 동적 엔트리(502)를 포함한다. 정적 엔트리(500) 및 동적 엔트리(502) 각각은 전송 벡터(202) 포인터를 포함한다. 상기 전송 벡터 포인터는 상기 수신된 데이터 패킷의 데이터 링크 계층(L2) 헤더(104) 내에 포함되는 VID(118)(도 1c 참조) 및 MAC DA(114)(도 1c 참조)와 연관된다. 정적 엔트리(500)는 관리 조작에 의해 상기 필터링 데이터베이스(302)에 명확하게 추가된다. 동적 엔트리(502)는 상기 교환 장치(200)에 의해 학습된다.
상기 데이터 패킷(100)은 상기 필터링 데이터베이스(302)-여기서 필터링 데이터베이스(302)는 데이터 패킷(100) 내에 포함되는 VID(118)(도 1c 참조) 및 MAC DA(114)(도 1c 참조)와 연관됨- 내에 저장된 정적 엔트리(500) 또는 동적 엔트리(502)가 있는 경우에 전송된다. 상기 데이터 패킷(100)에게 제공되는 정적 엔트리(500) 또는 동적 엔트리(502)가 없다면, 상기 데이터 패킷(100)은 드롭된다. 정적 엔트리(500) 또는 동적 엔트리(502)가 있는 경우, 상기 정적 엔트리(500) 또는 동적 엔트리(502)는 상기 데이터 패킷(100)에 대해 전송 벡터(202)의 위치를 제공한다. 상기 전송 벡터(202)는 전송되는 데이터 패킷(100)을 통해 하나 이상의 출구 포트(208a, 208b)를 식별한다.
2개의 물리적 랜 세그먼트(212a, 212b)는 상기 교환 장치(200)에 접속된다. 물리적 랜 세그먼트(212a)는 장치들(204a∼204c, 및 204i∼204j)을 포함한다. 물리적 랜 세그먼트(212b)는 장치들(204d∼204h)을 포함한다. 장치(204a∼204j)는 랜에 연결될 수 있는 호스트 컴퓨터, 클라이언트 컴퓨터, 단말기, 워크스테이션 또는 기타 다른 장치일 수 있다. 물리적 랜 세그먼트(212a)는 입구 포트(206b) 및 출구 포트(208b)를 통해 상기 교환 장치(200)에 접속된다. 물리적 랜 세그먼트(212b)는 입구 포트(206a) 및 출구 포트(208a)를 통해 상기 교환 장치(200)에 접속된다.
상기 물리적 랜 세그먼트(206a∼206b)에 접속되는 장치들(204a∼204j)은 또한 가상 랜("VLAN"; 214a∼214e)의 멤버이다. 가상 랜(214a∼214e)의 조직이 물리적 어드레스아 가니라 논리적 어드레스를 기초로 하기 때문에, 가상 랜("VLAN"; 214a∼214e)의 멤버는 동일한 물리적 랜 세그먼트(212a, 21b)의 멤버들일 필요는 없다. 가상 랜(214a∼214e)의 멤버는 동일한 논리적 어드레스 또는 VID가 할당된다. 상기 VID는 관리 조작에 의해 정해질 수 있고 구성이 가능하다.
상기 VID는 데이터 패킷의 데이터 링크 계층(L2) 헤더(104) 내의 VID 필드(118)(도 1c 참조)에 저장되거나, 또는 VID가 없이 수신된 데이터 패킷을 검출할 경우 상기 교환장치(200)에 의해 입구 포트(206a, 206b)에 따라서 할당될 수 있다. VID는 동일한 가상 랜(214a∼214e)의 멤버들이 동일한 물리적 랜 세그먼트(212a, 212b) 상에 존재하는 것처럼 통신하도록 해준다. 각각의 장치(204a∼204j)는 상기 장치가 또한 가상 랜(214a∼214e)의 멤버들이라면, 가상 랜((214a∼214e)의 멤버와만 통신할 수 있다.
가상 랜(214a)은 장치들(204b, 204c 및 204h)을 포함한다. 가상 랜(214b)은 장치들(204a, 204e 및 204h)을 포함한다. 가상 랜(214c)은 장치들(204f, 204g 및 204h)을 포함한다. 가상 랜(214d)은 장치들(204d, 204e 및 204h)을 포함한다. 가상 랜(214e)은 장치들(204i 및 204j)을 포함한다. 장치들(204h 및 204e)은 하나 이상의 가상 랜(214a∼214d)의 멤버들이다. 장치(204h)는 가상 랜(214a∼214d)의 멤버이며, 장치(204e)는 가상 랜(214b 및 214d)의 멤버이다.
장치(204a∼204j)는 각각의 가상 랜 내의 특정 서비스 또는 보안을 제공하기 위해 하나 이상의 가상 랜의 멤버일 수 있다. 예를 들면, 장치(204h)는 서버 컴퓨터 및 장치들(204a∼204g) 클라이언트 컴퓨터일 수 있다. 따라서, 장치(204h)가 장치들(204a∼204g)과 통신하기 위해서, 상기 장치(204h)는 각각의 장치들(204a∼204g)이 또한 멤버인 적어도 하나의 가상 랜(214a∼214d)의 멤버이어야만 한다.
가상 랜(214a∼214e)의 집합은 가상 랜 집합 중에서 공유 학습을 허용하도록 필터 식별자("FID")와 연관될 수 있다. 공유 학습을 지원하는 교환 장치(200)에서, 각각의 가상 랜(214a∼214e)은 명확하게 하나의 FID(230a, 230b)와 연관된다. 도시된 바와 같이, 가상 랜(214a∼214d)은 FID(230a)의 멤버들이고, 다른 가상 랜(214e)은 다른 FID(230b)의 멤버이다. 가상 랜들(214a∼214d) 간의 공유 학습을 제공하기 위해서, 상기 교환 장치는 가상 랜(214a∼214d) 집합에 FID(230a)를 할당한다. 공유 학습은 하나의 가상 랜 상에 MAC 어드레스에 대해 학습된 정보가 FID(230a, 230b)와 연관된 모든 가상 랜들 중에서 공유되도록 해준다. 예를 들면, 도 2에 도시된 와 같이, 장치(204h)는 물리적 랜 세그먼트(212b)에 접속되고, 가상 랜(214a∼214d) 및 FID(230a)의 멤버이다. 따라서, 임의의 가상 랜(214a∼214d)에 대한 VID, 및 장치(204h)에 대한 MAC 수신지 어드레스(Destination Address; "DA")로 설정된 수신지 어드레스를 포함하는 데이터 패킷은 출구 포트(208a)를 통해 전송된다. 장치(204h)가 물리적 랜 세그먼트(212a)로 이동되고, 신규 포트 정보가 가상 랜(214a)에 대한 식별자로 설정된 VID를 갖는 장치(204h)로부터 수신되는 데이터 패킷을 통해 학습되는 경우, 가상 랜의 집합이 장치(204h)에 대한 MAC 어드레스와 연관되는 동적 전송 엔트리를 공유하기 때문에, 이러한 정보는 상기 FID(230a) 내의 다른 가상 랜(214b∼214d)과 공유된다.
FID(230b)와 연관된 가상 랜(214e)은 독립 학습을 지원한다. 데이터 패킷(100)이 상기 교환 장치(200)에 의해 전송되게 되는 상기 가상 랜(214a∼214e)은 상기 수신된 데이터 패킷(100) 내의 데이터 링크 계층(L2) 헤더(104)의 VID 필드(118)에 저장되는 VID에 의해 식별된다. 소스 장치(204e)에 대해 데이터 패킷이 가상 랜(214b) 상의 수신지 장치(204a)에 전송되는 것으로 간주한다. 데이터 패킷을 전송하기 전에, 장치(204e)는 VID 필드(118) 내의 가상 랜(214b)용 VID를 저장하고, 데이터 링크 계층(L2) 헤더(104)의 수신지 어드레스 필드(114) 내의 장치(204a)용 MAC 어드레스를 저장한다. 상기 데이터 패킷(100)은 입구 포트 엔진(216)에 의해 입구 포트(206a)에서 수신된다. 상기 입구 포트 엔진(210) 내의 전송 논리부(210)는 출구 포트(208b)를 통해 상기 데이터 패킷을 전송하도록 전송 벡터(202)를 선택한다. 상기 전송 벡터(202)는 전송 논리부(210) 내의 필터링 데이터베이스(302)에 있는 정적 엔트리(500) 또는 동적 엔트리(502)와 연관된다. 선택된 상기 전송 벡터(202)는 상기 데이터 패킷 내에 포함되는 VID 및 MAC 수신지 어드레스에 따라 달라진다.
상기 수신된 데이터 패킷(100)에 대한 전송 벡터(202)를 선택하면, 상기 교환 장치(200)는 세그먼트 버퍼 메모리(224) 내의 데이터 입력(data_in; 228) 상에 전송되는 데이터 패킷(100)을 저장한다. 상기 데이터 패킷이 저장되는 위치는 세그먼트 버퍼 메모리(226)를 통해 패킷 저장 관리자(220)에 의해 선택된다. 상기 패킷 저장 관리자(220)는 David A. Brown에 의해 "Method and Apparatus for an Interleaved Non-Blocking Packet Buffer"라는 명칭으로 공동-계류중인 미합중국 특허 출원번호 09/386,589호(1999년 8월 31일 출원)에 개시되어 있으며, 이하 그 내용은 본 명세서에 참조되어 본 발명의 일부를 이룬다. 상기 출구 포트 엔진(218)은 데이터 출력(data_out; 232) 상의 세그먼트 버퍼 메모리에 저장된 데이터 패킷(100)을 판독하고, 이후 상기 전송 벡터에 의해 선택된 하나 이상의 출구 포트(208a, 208b)에 상기 저장된 데이터 패킷(100)을 전송한다.
도 3은 도 2에 도시된 상기 전송 논리부(210)의 블록도이다. 상기 전송 논리부(210)는 VID-to-VID' 번역기(300), 필터링 데이터베이스(302) 및 전송 벡터 테이블(304)을 포함한다.
상기 필터링 데이터베이스(302)는 정적 엔트리(500) 및 동적 엔트리(502)를 포함한다. 정적 엔트리(500)는 MAC 어드레스 및 VID를 포함한다. 정적 엔트리(500)는 관리 조작에 의해 명확하게 구성된다. 동적 엔트리(502)는 MAC 어드레스 및 FID를 포함한다. 동적 엔트리(502)는 상기 교환 장치(200)에 의해 학습된다. 정적 엔트리(500)는 상기 데이터 패킷과 연관된 VID에 따라 선택된다. 상 기 VID는 상기 수신된 데이터 패킷(100) 내에 포함되거나 또는 상기 교환 장치(200)에 의해 할당될 수 있다. 동적 엔트리(502) 데이터 패킷(100)과 연관된 VID에 상기 교환 장치(200)에 의해서 할당되는 FID에 따라 선택된다.
필터링 데이터베이스(302)는 돈케어 상태를 지원하는 3진 내용 주소화 메모리("CAM")인 것이 바람직하다. CAM에서, 검색 키는 특정 피비교기(comparand) 레지스터를 통해 상기 메모리에 제공된다. 상기 CAM은 상기 메모리 내에 저장된 데이터가 상기 검색 키와 부합하면, 상기 검색 키와 연관된 어드레스를 반환한다. 상기 반환된 어드레스는 상기 동적 엔트리(502) 또는 정적 엔트리(500)의 내용과 연관된 전송 벡터 테이블(304)에 저장된 전송 벡터 포인터이다. 전체 CAM은 단일 클록 사이클에서 상기 검색 키를 부합시키는 정적 엔트리(500) 또는 동적 엔트리(502) 중 어느 하나에 대해서 검색된다.
3진 CAM은 단일 셀(cell)에서 논리 0, 1, 또는 돈케어("x") 중 어느 하나를 저장하고 검색할 수 있다. 정적 엔트리(500) 또는 동적 엔트리(502)에 저장된 비트들중 하나가 "x"로 설정되면, 상기 비트 내의 '1' 또는 '0'을 저장하는 검색 키에 대해 부합(match)이 발생된다. 예를 들면, 하나의 엔트리가 "100x"를 저장하고 있으면, "1001" 또는 "1000"으로 설정된 검색 키는 부합이 발생된다. 상기 필터링 데이터베이스(302)는 도 5를 참조하여 이후 설명된다. 상기 정적 엔트리(500) 및 동적 엔트리(502)는 본 발명의 원리에 따라 MAC 어드레스와 연관되는 번역된 VID(VID')를 저장한다. 상기 번역된 VID는 VID-to-VID' 번역기(300)에 의해 제공된다. VID를 정적 엔트리(500)에 저장하고 FID를 동적 엔트리(502)에 저장하는 대 신에, 번역된 VID를 동적 엔트리(502) 및 정적 엔트리(500)에 저장함으로써, 상기 필터링 데이터베이스(302)는 단일 검색 키; 즉, MAC 어드레스 및 번역된 VID를 사용하는 단일 검색 오퍼레이션으로 정적 엔트리(500) 또는 동적 엔트리(502) 중 어느 하나에 대해 저장될 수 있다.
입구 포트(206a 또는 206b)(도 2 참조)에서 수신되는 데이터 패킷(100)은 VID 필드(118)(도 1c 참조)에 저장되는 VID를 포함한다. VID가 상기 수신된 데이터 패킷(100)에 저장되면, 상기 VID는 상기 교환 장치(200) 내의 입구 포트 엔진(216)에 의해 상기 데이터 패킷(100)으로부터 추출되고, 상기 VID-to-VID' 번역기(300)로 전송된다. 데이터 패킷(100) 내에 포함된 VID가 없다면, 디폴트 VID가 상기 교환 장치(200)에 의해 발생되어 VID(306) 상에 전송된다. 포트-기반 가상 랜에서, 상기 디폴트 VID는 상기 데이터 패킷(100)이 수신되는 입구 포트(206a, 206b)에 따라 선택될 수 있다.
단일 검색 오퍼레이션으로 상기 VID 및 MAC 어드레스와 연관되는 부합 정적 엔트리(500) 또는 동적 엔트리(502)에 대한 필터링 데이터베이스(302)를 검색하기 위해서, 상기 VID(306)는 상기 VID-to-VID' 번역기(300)에 의해 VID'(310)로 번역된다. 상기 VID-to-VID' 번역기(300)는 도 4를 참조하여 이후 설명된다. 상기 수신된 데이터 패킷(100)에 포함되는 상기 L2 수신지 어드레스(114)(도 1c 참조)로부터 상기 입구 포트 엔진(216)에 의해 추출되는 상기 VID'(310) 및 매체 액세스 제어("MAC") 수신지 어드레스("DA")는 상기 필터링 데이터베이스(302)로 전송된다.
상기 VID'(310) 및 MAC DA(308)를 포함하는 정적 엔트리(500) 또는 동적 엔 트리(502)가 상기 필터링 데이터베이스(302) 내에서 발견되면, 상기 전송 벡터의 어드레스(312)가 상기 전송 벡터 테이블(304)로 전송된다. 상기 전송 벡터의 어드레스(312)는 상기 전송 벡터 테이블(304)에 저장된 전송 벡터(202)를 선택하는데 사용되는데, 상기 전송 벡터 테이블(304)에 저장된 전송 벡터(202)는 상기 VID 필드(118)(도 1c 참조)에 저장된 VID, 및 상기 수신된 데이터 패킷(100)에 저장된 MAC DA(114)(도 1c 참조)와 연관되어 있다.
도 4는 도 3에 도시된 VID-to-VID' 번역기(300)의 블록도이다. 상기 VID-to-VID' 번역기(300)는 도 2에 도시된 각각의 가상 랜(214a∼214e)에 대해 번역 엔트리(400a∼400e)를 포함한다. 가상 랜(214a∼214d)은 동일한 FID(230a)의 멤버들이다. 4개의 번역 엔트리(400a∼400d)는 가상 랜(214a∼214d)(도 2 참조)에 대한 VID를 상기 동일한 FID(230a)로 번역한다. 번역 엔트리(400e)는 가상 랜(214e)에 할당된 VID를 다른 FID(230b)로 번역한다.
각각의 가상 랜(214a∼214e)은 고유의 VID를 가지며, 상기 고유의 VID는 관리 조작에 의해 상기 가상 랜(214a∼214e)에 할당될 수 있다. 상기 가상 랜(214a∼214e)에 할당된 VID는 각각의 번역 엔트리(400a∼400e)의 VID 필드(402a∼402e)에 저장된다. 각각의 번역 엔트리(400a∼400e)는 또한 각각의 VID' 필드(404a∼404e)를 포함한다. 상기 VID' 필드(404a∼404e)는 그룹 식별자 필드(406a∼406e) 및 그룹 멤버 번호 필드(408a∼408e)를 포함한다. 상기 가상 랜 또는 가상 랜들 그룹에 할당된 상기 FID(230a)는 각각의 VID' 필드(404a∼404d)의 그룹 필드(406a∼406d)에 저장된다. 그룹 멤버 번호는 각각의 그룹 멤버 번호 필 드(408a∼408e)에 저장된다. 상기 그룹 멤버 번호는 FID(230a, 230b)의 각각의 멤버에게 고유한 것이다.
상기 교환 장치 구성에 따라 교환 장치(200)의 초기화 동안에 상기 번역 엔트리(404a∼404e)는 초기화된다. 예를 들면, 상기 번역 엔트리(404a∼404e)는 공유 학습을 지원하기 위해 상기 가상 랜(214a∼214d)을 동일한 FID(203a)에 매핑(mapping)시키는 상기 교환 장치의 관리 유틸리티에 의해 초기화될 수 있다. 상기 번역 엔트리(404a∼404e)는 상기 교환 장치의 동작 동안에 관리 조작에 의해 변경될 수 있다.
공유 학습 스위치에서, 상기 교환 장치(200) 내의 각각의 가상 랜은 단지 하나의 FID(230a, 230b)에 매핑된다. 상기 FID(230a∼230b)는 하나 이상의 가상 랜(214a∼214e)을 포함할 수 있다. 도 4는 도 2에 도시된 가상 랜(214a∼214e)에 대한 번역 엔트리(400a∼400e)를 예시하는 도면이다. 도시된 바와 같이, 가상 랜(214a∼214d)은 동일한 FID(230a)의 멤버들이다. 가상 랜(214e)은 다른 FID(230b)의 유일한 멤버이다. 상기 가상 랜(214e)에 할당된 FID(230b)는 "0010 1111 11"이다. 상기 가상 랜(214a∼214d)에 할당된 FID(230a)는 "1111 0011 11"이다. 상기 할당된 FID(230a, 230b)는 상기 가상 랜(214a∼214e)에 대해 각각의 번역 엔트리(400a∼400e) 내의 각각의 VID' 필드(404a∼404e)의 그룹 식별자(406a∼406e)에 저장된다.
각각의 가상 랜(214a∼214e)에 할당된 고유한 VID는 각각의 번역 엔트리 내의 VID 필드(402a∼402e)에 저장된다. 가상 랜(214a)에 대한 번역 엔트리(400a) 내의 VID 필드(402a)는 "1011 1111 0011"을 저장하고 있다. 가상 랜(214b)에 대한 번역 엔트리(400b) 내의 VID 필드(402b)는 "1010 0010 0011"을 저장하고 있다. 가상 랜(214c)에 대한 번역 엔트리(400c) 내의 VID 필드(402c)는 "0000 1001 1101"을 저장하고 있다. 가상 랜(214d)에 대한 번역 엔트리(400d) 내의 VID 필드(402d)는 "0101 1011 1111"을 저장하소 있다. 가상 랜(214e)에 대한 번역 엔트리(400e) 내의 VID 필드(402e)는 "0101 1000 1010"을 저장하고 있다.
상기 가상 랜 그룹 내의 각각의 가상 랜(214a∼214e)은 고유의 그룹 멤버 번호가 할당되어 있다. 가상 랜(214a)에 할당된 그룹 멤버 번호는 "00"이고 그룹 멤버 번호 필드(408a)에 저장된다. 가상 랜(214b)에 할당된 그룹 멤버 번호는 "01"이고 그룹 멤버 번호 필드(408b)에 저장된다. 가상 랜(214c)에 할당된 그룹 멤버 번호는 "10"이고 그룹 멤버 번호 필드(408c)에 저장된다. 가상 랜(214d)에 할당된 그룹 멤버 번호는 "11"이고 그룹 멤버 번호 필드(408d)에 저장된다. 가상 랜(214e)에 할당된 그룹 멤버 번호는 "00"이고 그룹 멤버 번호 필드(408e)에 저장된다.
따라서, 각각의 VID' 필드(404a∼404e)는 FID(230a, 230b)에서 각각의 가상 랜(214a∼214e)에 대해그룹 식별자 필드(406a∼406e) 및 그룹 멤버 번호 필드(408a∼408e)를 포함한다. 전술한 예에서, 상기 그룹 멤버 번호에는 2비트가 할당되고, FID(230a, 230b) 당 최대 4개의 VID를 허용한다. 하지만, 하나의 FID에 의해 식별되는 그룹에서 가상 랜의 수는 전술한 예에서와 같이 4개로 국한되지 않는다. 상 기 그룹 멤버 번호 필드(408a∼408d) 내의 비트 수는 log2(FID 당 최대 가상 랜의 수)이다. 예를 들면, FID 당 최대 8개의 가상 랜을 지원하기 위해서, 상기 그룹 멤버 번호는 3비트(log2(8))를 필요로 한다.
도 5는 도 3에 도시된 전송 논리부(210) 내의 필터링 데이터베이스(302)의 블록도이다. 상기 필터링 데이터베이스(302)는 정적 엔트리(500) 및 동적 엔트리(502)를 포함한다. 정적 엔트리(500)는 상기 교환 장치(200)가 동작하고 있는 동안에 일정하게 관리되고 유지된다. 예를 들면, 장치(204i)(도 2 참조)는 가상 랜(214e)(도 2 참조)에 대한 정적 엔트리로 구성될 수 있다. 동적 엔트리(502)는 학습되며, 상기 교환 장치(200)가 동작하고 있는 동안에 신규 값으로 중첩 기록될 수 있다. 예를 들면, 장치(204a)에 대한 전송 벡터(202)의 갱신을 요구하는 상기 교환 장치(200) 내의 다른 포트로 상기 장치(204a)가 물리적으로 이동되면, 상기 장치(204a)에 대한 동적 엔트리(502)는 중첩 기록될 수 있다.
정적 엔트리(500) 및 동적 엔트리(502) 양자 모두는 각각의 필터링 데이터베이스 MAC DA 필드(504a, 504b) 및 각각의 필터링 데이터베이스 VID' 필드(506a, 506b)를 포함한다. 각각의 필터링 데이터베이스 VID' 필드(506a, 506b)는 필터링 데이터베이스 그룹 필드(508a, 508b) 및 필터링 데이터베이스 그룹 멤버 번호 필드(510a, 510b)를 포함한다.
정적 엔트리(500)의 필터링 데이터베이스 그룹 멤버 번호 필드(510a)는 VID-to-VID' 번역기(300)(도 4 참조) 내의 VID' 필드(404a∼404e)에서 상기 그룹 멤버 번호 필드(408a∼408e)에 저장된 것과 동일한 그룹 멤버 번호를 저장한다. 상기 VID' 필드(404a∼404e)의 내용은 상기 필터링 데이터베이스(302)에 VID'(310)로서 전송된다. 따라서, VID'(310)에 대한 상기 필터링 데이터베이스(302) 내의 부합되는 정적 엔트리(500)를 발견하기 위해서, VID'(310) 내의 그룹 식별자(406a∼406e) 및 그룹 멤버 번호(408a∼408e) 양자 모두가 정확하게 부합되어야만 한다.; 즉, 검색 키가 정확하게 부합되어야만 한다.
하나의 동적 필터링 데이터베이스 엔트리(502)는 FID(230a, 230b)와 연관되는 MAC DA로 저장된다. 상기 동적 필터링 데이터베이스 엔트리(502)는 상기 FID(230a, 230b) 내의 가상 랜 그룹 중에서 공유된다. 따라서, 상기 동적 엔트리(502) 내의 필터링 데이터베이스 그룹 멤버 번호 필드(510b)의 비트는 "xx", 즉 돈케어로 설정되는데, 그 이유는 상기 그룹 식별자 필드(508a)가 FID(230a, 230b)의 모든 멤버들에 대해 동일하고, FID(230a, 230b)에서의 각각의 가상 랜(214a∼214e)에 의해 공유되는 동적 필터링 데이터베이스 엔트리(502)가 단지 하나이기 때문이다.
VID'(310) 및 MAC DA(308)에 대해 부합되는 동적 엔트리를 발견하기 위해서는, 상기 VID'(310) 내의 필터링 데이터베이스(302)에게 전송되는 그룹 식별자(406a??406e)가 상기 MAC DA(308)과 연결되는 동적 필터링 데이터베이스 엔트리(502)에 저장되는 상기 필터링 데이터베이스 그룹 식별자(508b)와 부합되어야만 한다. 따라서, 상기 MAC DA와 연관되는 동적 필터링 데이터베이스 엔트리(502) 및 정적 필터링 데이터베이스 엔트리(500)는 동일한 VID'(310)로 검색될 수 있다. 상기 VID'(310) 내의 그룹 식별자 필드(406a∼406e) 및 그룹 멤버 번호 필드(408a∼408e) 양자 모두가 상기 정적 엔트리(500) 내의 각각의 필드와 부합되면, 즉, 상기 데이터 패킷(100)에 대한 VID(402a∼402e)와 연관되는 정적 엔트리가 있다면, 상기 정적 필터링 데이터베이스 엔트리 부합이 발견된다.
단지 상기 VID'(310) 내의 그룹 식별자 필드(406a∼406e)가 상기 동적 엔트리(502) 내의 각각의 그룹 식별자 필드와 부합되면, 상기 그룹 멤버 번호(510b)가 "xx"로 설정되어, 모든 FID(230a)의 멤버들이 부합하기 때문에, 동적 필터링 데이터베이스 엔트리 부합이 발견된다.
예를 들면, VID-to-VID' 번역기(300)에서 "1011 1111 0011"인 VID가 "1111 0011 1100"으로 번역되는 것에 대한 부합은 정적 엔트리(500) 또는 동적 엔트리(502)에 저장될 수 있다. 상기 VID에 할당된 FID는 "1111 0011 11"이다. 상기 정적 엔트리(500) 내에서 상기 필터링 데이터베이스 그룹 식별자(508a)가 "1111 0011 11"로 설정되고, 필터링 데이터베이스 그룹 멤버 번호가 "00"으로 설정되면, 부합하는 정적 엔트리(500)가 상기 VID에 대해서 발견된다. 상기 동적 엔트리(502) 내에서 상기 필터링 데이터베이스 그룹 식별자(508a)가 "1111 0011 11"로 설정되고, 필터링 데이터베이스 그룹 멤버 번호가 "xx", 즉 돈케어로 설정되면, 부합하는 동적 엔트리(502)가 상기 FID에 대해서 발견된다. 따라서, "1111 0011 1100"에 대한 단일 검색에서, 부합하는 동적 엔트리(502) 또는 정적 엔트리(500)가 발견될 수 있다.
부합하는 정적 엔트리(500) 또는 동적 엔트리(502)가 발견된 후에, 상기 부 합하는 데이터베이스 엔트리와 연관되는 전송 벡터의 어드레스는 전송 벡터(312) 상에서 상기 전송 벡터 테이블(304)로 전송된다. 상기 전송 벡터 테이블(304)은 전송 벡터 엔트리들을 저장하고, 도 2에 도시된 바와 같이, 전송 벡터(312)의 어드레스에서 저장된 전송 벡터를 상기 패킷 저장 관리자(220)에게 전송한다. 전송 벡터(202)는 통상적으로 비트들의 집합이며, 상기 교환 장치(200)에서 포트당 1비트를 갖는다. 상기 전송 벡터(202)에서 대응하는 포트 비트의 상태는 상기 수신된 데이터 패킷(100)이 상기 출구 포트(208a, 208b)로 전송되는지 여부를 결정한다. 도 2에 도시된 상기 교환 장치의 구성에 대해, 상기 전송 벡터(202)는 출구 포트(208a)에 대한 1 비트 및 출구 포트(208b)에 대한 1비트를 합한 2비트를 포함한다. 각각의 포트 비트는 상기 수신된 데이터 패킷(100)이 각각의 포트를 통해 전송될 수 있도록 "인에이블 전송"으로 설정된다.
도 6은 수신된 데이터 패킷에 대해 전송 벡터(202)를 선택하는 방법을 예시하는 순서도이다. 상기 방법은 도 3 내지 도 5를 참조하여 설명된다.
단계 600에서, 입구 포트 엔진(216)은 상기 데이터 패킷(100)이 VID 필드(118)(도 1c 참조)에 저장된 VID를 포함하는지 여부를 결정하기 위해서 상기 수신된 데이터 패킷을 검사한다. 상기 VID 필드(118)(도 1c 참조)에 저장된 VID가 있다면, 프로세스는 단계 602로 진행한다. 만일 저장된 VID가 없다면, 프로세스는 단계 604로 진행한다.
단계 602에서, 입구 포트 엔진(216)은 상기 수신된 데이터 패킷(100)의 VID 필드(118)(도 1c 참조) 내에 저장된 VID를 추출한다. 이후, 프로세스는 단계 606 으로 진행한다.
단계 604에서, 상기 입구 포트 엔진(216)은 상기 수신된 데이터 패킷(100)에 대해 디폴트 VID를 생성한다. 상기 디폴트 VID는 상기 데이터 패킷(100)이 수신되는 입구 포트(206a, 206b)(도 2 참조)에 따라 생성될 수 있다. 이후, 프로세스는 단계 606으로 진행한다.
단계 606에서, 상기 VID-to-VID' 번역기(300)상기 VID(306)에 대한 번역 엔트리에 대해 검색한다. 상기 VID(306)가 알려진 것이면, 프로세스는 단계 608로 진행한다. 상기 VID(306)가 알려진 것이 아니면, 프로세스는 단계 614로 진행한다.
단계 608에서, 상기 번역 엔트리(400a∼400e)(도 4 참조) 내에 저장된 VID(306)에 대응하는 VID'(310)은 상기 필터링 데이터베이스(302)로 전송된다. 이후, 프로세스는 단계 610으로 진행한다.
단계 610에서, 상기 필터링 데이터베이스(302)는 검색 키로 한번 검색된다. 상기 검색 키는 MAC DA(308) 및 VID'(310)이다. 정적 엔트리(500) 및 동적 엔트리(502) 양자 모두는 상기 단일 검색으로 검색된다. 정적 엔트리 부합은 상기 VID'(310)의 필터링 데이터베이스 그룹 필드(508a) 및 필터링 데이터베이스 그룹 멤버 번호 필드(510a)의 내용들과 상기 검색 키와의 정확한 부합을 필요로 한다. 동적 필터링 데이터베이스 엔트리(502) 부합은 단지 상기 VID'(3100의 필터링 데이터베이스 그룹 필드(508b)와 상기 검색 키가 정확한 부합을 필요로 한다. 정적 엔트리(500)는 관리 조작에 의해 입력되고, 동적 엔트리(502)는 상기 교환 장치에 의 해 학습되기 때문에, 하나의 검색 키에 대해 정적 엔트리(500) 및 동적 엔트리(502) 양자 모두를 얻을 수 있다. 상기 엔트리들의 우선 순위는 상기 필터링 데이터베이스(302)가 생성될 때 특정될 수 있다. 상기 정적 엔트리(500)가 상기 동적 엔트리(502)보다 높은 우선 순위를 갖고, 상기 정적 엔트리(500) 및 동적 필터링 데이터베이스 엔트리(502) 양자 모두가 발견된다면, 상기 정적 엔트리(500)가 선택된다. 부합이 발견된 이후, 프로세스는 단계 612로 진행한다.
단계 612에서, 정적 엔트리(500) 또는 동적 엔트리(502) 내에 저장되는 부합 필터링 데이터베이스 엔트리의 어드레스는 상기 전송 벡터(312) 어드레스 상에서 전송 벡터 테이블(304)(도 5 참조)로 전송된다. 도 3의 전송 벡터(202)는 상기 전송 벡터 테이블(304)(도 5 참조) 내의 전송 벡터(312) 어드레스에 저장된다. 상지 전송 벡터(202)는 상기 수신된 데이터 패킷(100)과 연관되는 VID 및 MAC DA에 대응하는 전송 벡터이다. 상기 수신된 데이터 패킷(100)은 상기 교환 장치(200) 내의 전송 벡터(202)에 의해 선택된 포트들에게 전송된다. 이후, 프로세스는 종료된다.
단계 614에서, 상기 수신된 데이터 패킷(100) 내에 저장된 VID(306)가 알려진 것이 아니면, 상기 데이터 패킷(100)은 상기 교환 장치에 의해 드롭(drop)진다. 이후, 프로세스는 단계 616으로 진행한다.
단계 616에서, 상기 데이터 패킷이 드롭된 이후, 학습 모드가 인에이블되면, 상기 교환 장치(200)는 상기 MAC DA에 대한 전송 벡터를 학습하기 위해서 상기 가상 랜 내의 모든 MAC DA에게 데이터 패킷을 보낸다. 상기 전송 벡터를 학습한 이후, 상기 교환 장치(200)상기 필터링 데이터베이스(302)에서 동적 엔트리(502)를 생성한다. 이후, 프로세스는 종료된다.
FID의 각각의 멤버가 동일한 그룹 식별자 및 고유의 그룹 멤버 번호를 갖도록 각각의 멤버는 번역된다. 상기 그룹 멤버 번호는 필터링 데이터베이스 내의 동적 엔트리에서 "xx"로 설정된다. 단일 검색 오퍼레이션은 정적 엔트리 또는 동적 엔트리에 저장된 하나의 검색 키에 대한 부합을 발견하는데 사용될 수 있다. 단일 검색은 상기 동적 엔트리 내의 그룹 멤버 번호에 대해 "x"들을 저장함으로써, 그룹 식별자에 의해 식별되는 임의의 그룹 멤버들에 대한 부합을 발생시킨다.
본 발명이 그 바람직한 실시예를 참조하여 특정하게 도시되고 설명되었지만, 다양한 형식 및 세부사항의 변경이 첨부된 청구범위에 의해 정해지는 본 발명의 범위로부터 벗어남이 없이 이루어질 수 있다는 점은 당업자에게 명백할 것이다.
본 발명에 따르면, 수신된 데이터 패킷에 대한 전송 판단을 수행하기 위해서 필터링 데이터베이스 내의 정적 엔트리 또는 동적 엔트리 어느 하나에서 발견하는데 필요한 검색의 수가 단축된다.

Claims (18)

  1. a) 수신된 데이터 패킷과 연관된 가상 랜(Virtual LAN) 식별자에 대해 번역 식별자-여기서 번역 식별자는 가상 랜(Virtual LAN) 그룹에 응답하는 그룹 식별자(group identifier), 및 상기 식별된 가상 랜에 응답하는 그룹 멤버 번호(group member number)를 포함함-를 제공하는 번역기(translator); 및
    b) 정적 엔트리(static entry)-여기서, 정적 엔트리는 상기 번역 식별자와 연관된 전송 벡터를 제공함-, 및 동적 엔트리(dynamic entry)-여기서, 동적 엔트리는 상기 번역 식별자에 포함된 상기 그룹 식별자와 연관되고 돈케어(don't care)로 설정된 상기 그룹 멤버 번호와 연관된 전송 벡터를 제공함-를 저장하며, 상기 수신된 데이터 패킷에 대해, 상기 동적 엔트리 또는 정적 엔트리 내에 저장된 상기 번역 식별자와 연관된 전송 벡터에 부합하는 필터링 데이터베이스의 단일 검색(single search)으로부터 상기 전송 벡터를 제공하는 필터링 데이터베이스(filtering database)
    를 포함하는 교환 장치.
  2. 제1항에 있어서,
    상기 그룹 멤버 번호는 상기 그룹 식별자와 연관된 복수의 멤버들에서 하나를 식별하는 것을 특징으로 하는 교환 장치.
  3. 제1항에 있어서,
    상기 필터링 데이터베이스는 내용 주소화 메모리(Content Addressable Memory; CAM)인 것을 특징으로 하는 교환 장치.
  4. 제3항에 있어서,
    상기 내용 주소화 메모리는 3진(ternary) 내용 주소화 메모리인 것을 특징으로 하는 교환 장치.
  5. 제1항에 있어서,
    상기 가상 랜 식별자는 상기 수신된 데이터 패킷 내에 포함된 헤더(header)에 저장되는 것을 특징으로 하는 교환 장치.
  6. 제1항에 있어서,
    상기 가상 랜 식별자는 상기 교환 장치에 의해 상기 수신된 데이터 패킷에 할당되는 디폴트 식별자(default identifier)인 것을 특징으로 하는 교환 장치.
  7. 수신된 데이터 패킷에 대해 전송벡터(forward vector)를 선택하는 방법에 있어서,
    ⅰ) 상기 수신된 데이터 패킷과 연관된 가상 랜(Virtual LAN) 식별자를 번역 식별자-여기서 번역 식별자는 가상 랜 그룹에 응답하는 그룹 식별자(group identifier), 및 상기 식별된 가상 랜에 응답하는 그룹 멤버 번호(group member number)를 포함함-로 번역하는 단계;
    ⅱ) 정적 엔트리, 동적 엔트리, 및 상기 번역 식별자와 연관된 전송 벡터-여기서, 번역 식별자와 연관된 전송 벡터는 상기 번역 식별자와 연관된 정적 엔트리 내에 저장되거나, 또는 상기 그룹 식별자 및 돈케어로 설정된 상기 그룹 멤버 번호와 연관된 동적 엔트리 내에 저장됨-을 필터링 데이터베이스에 저장하는 단계; 및
    ⅲ) 상기 필터링 데이터베이스 내의 번역 식별자에 대한 단일 검색 오퍼레이션으로부터, 상기 필터링 데이터베이스 내의 상기 정적 엔트리 또는 동적 엔트리와 연관된 상기 수신된 데이터 패킷에 대한 전송 벡터를 제공하는 단계
    로 이루어지는 전송벡터 선택 방법.
  8. 제7항에 있어서,
    상기 그룹 멤버 번호는 상기 그룹 식별자와 연관된 복수의 멤버들중 하나를 식별하는 것을 특징으로 하는 전송벡터 선택 방법.
  9. 제7항에 있어서,
    상기 필터링 데이터베이스는 내용 주소화 메모리(CAM)인 것을 특징으로 하는 전송벡터 선택 방법.
  10. 제9항에 있어서,
    상기 내용 주소화 메모리는 3진 내용 주소화 메모리인 것을 특징으로 하는 전송벡터 선택 방법.
  11. 제7항에 있어서,
    상기 가상 랜 식별자는 상기 수신된 데이터 패킷 내에 포함된 헤더에 저장되는 것을 특징으로 하는 전송벡터 선택 방법.
  12. 제7항에 있어서,
    상기 가상 랜 식별자는 상기 교환 장치에 의해 상기 수신된 데이터 패킷에 할당되는 디폴트 가상 랜 식별자인 것을 특징으로 하는 전송벡터 선택 방법.
  13. 수신된 데이터 패킷에 대해 전송벡터(forward vector)를 선택하는 장치에 있어서,
    a) 상기 수신된 데이터 패킷과 연관된 가상 랜(Virtual LAN) 식별자를 번역 식별자-여기서 번역 식별자는 가상 랜 그룹에 응답하는 그룹 식별자(group identifier), 및 상기 식별된 가상 랜에 응답하는 그룹 멤버 번호(group member number)를 포함함-로 번역하는 번역기;
    b) 정적 엔트리, 동적 엔트리, 및 상기 번역 식별자와 연관된 전송 벡터-여기서, 번역 식별자와 연관된 전송 벡터는 상기 번역 식별자와 연관된 정적 엔트리 내에 저장되거나, 또는 상기 그룹 식별자 및 돈케어로 설정된 상기 그룹 멤버 번호와 연관된 동적 엔트리 내에 저장됨-을 저장하는 필터링 데이터베이스; 및
    c) 상기 필터링 데이터베이스 내의 번역 식별자에 대한 단일 검색 오퍼레이션으로부터, 상기 필터링 데이터베이스 내의 상기 정적 엔트리 또는 동적 엔트리에 연관된 상기 수신된 데이터 패킷에 대한 전송 벡터를 제공하는 전송 벡터 테이블
    을 포함하여 이루어지는 전송벡터 선택 장치.
  14. 제13항에 있어서,
    상기 그룹 멤버 번호는 상기 그룹 식별자와 연관된 복수의 멤버들중 하나를 식별하는 것을 특징으로 하는 전송벡터 선택 장치.
  15. 제13항에 있어서,
    상기 필터링 데이터베이스는 내용 주소화 메모리(CAM)인 것을 특징으로 하는 전송벡터 선택 장치.
  16. 제15항에 있어서,
    상기 내용 주소화 메모리는 3진 내용 주소화 메모리인 것을 특징으로 하는 전송벡터 선택 장치.
  17. 제13항에 있어서,
    상기 가상 랜 식별자는 상기 수신된 데이터 패킷 내에 포함된 헤더에 저장되는 것을 특징으로 하는 전송벡터 선택 장치.
  18. 제13항에 있어서,
    상기 가상 랜 식별자는 교환 장치에 의해 상기 수신된 데이터 패킷에 할당되는 디폴트 가상 랜 식별자인 것을 특징으로 하는 전송벡터 선택 장치.
KR1020037003068A 2000-08-31 2001-08-30 단일 검색 오퍼레이션으로 필터링 데이터베이스를 포함하는 교환 장치, 단일 검색 오퍼레이션을 이용한 전송 벡터 선택 장치 및 방법 KR100863105B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/652,196 US6633567B1 (en) 2000-08-31 2000-08-31 Method and apparatus for searching a filtering database with one search operation
US09/652,196 2000-08-31
PCT/CA2001/001226 WO2002019638A2 (en) 2000-08-31 2001-08-30 Method and apparatus for searching a filtering database with one search operation

Publications (2)

Publication Number Publication Date
KR20030096216A KR20030096216A (ko) 2003-12-24
KR100863105B1 true KR100863105B1 (ko) 2008-10-13

Family

ID=24615882

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020037003068A KR100863105B1 (ko) 2000-08-31 2001-08-30 단일 검색 오퍼레이션으로 필터링 데이터베이스를 포함하는 교환 장치, 단일 검색 오퍼레이션을 이용한 전송 벡터 선택 장치 및 방법

Country Status (8)

Country Link
US (2) US6633567B1 (ko)
KR (1) KR100863105B1 (ko)
CN (1) CN1229948C (ko)
AU (1) AU2001287434A1 (ko)
CA (1) CA2420878C (ko)
DE (1) DE10196582B3 (ko)
GB (1) GB2382495B (ko)
WO (1) WO2002019638A2 (ko)

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6667967B1 (en) 1999-05-14 2003-12-23 Omninet Capital, Llc High-speed network of independently linked nodes
US6931003B2 (en) * 2000-02-09 2005-08-16 Bookline Flolmstead Llc Packet prioritization protocol for a large-scale, high speed computer network
US6633567B1 (en) * 2000-08-31 2003-10-14 Mosaid Technologies, Inc. Method and apparatus for searching a filtering database with one search operation
US6947419B2 (en) * 2001-06-12 2005-09-20 Acute Technology Corp. Apparatus for multicast forwarding in a virtual local area network environment
US6834056B2 (en) * 2001-06-26 2004-12-21 Occam Networks Virtual local area network protection switching
US6732228B1 (en) * 2001-07-19 2004-05-04 Network Elements, Inc. Multi-protocol data classification using on-chip CAM
US7609689B1 (en) * 2001-09-27 2009-10-27 Cisco Technology, Inc. System and method for mapping an index into an IPv6 address
US8045565B1 (en) 2001-11-20 2011-10-25 Brookline Flolmstead Llc Method and apparatus for an environmentally hardened ethernet network system
US8713185B2 (en) 2001-12-07 2014-04-29 Rockstar Bidco, LP Methods of establishing virtual circuits and of providing a virtual private network service through a shared network, and provider edge device for such network
US7313135B2 (en) * 2002-01-31 2007-12-25 Mosaid Technologies, Inc. Trunking in a matrix
US20030152075A1 (en) * 2002-02-14 2003-08-14 Hawthorne Austin J. Virtual local area network identifier translation in a packet-based network
US6871265B1 (en) * 2002-02-20 2005-03-22 Cisco Technology, Inc. Method and apparatus for maintaining netflow statistics using an associative memory to identify and maintain netflows
US20040006640A1 (en) * 2002-07-03 2004-01-08 Inderieden Daniel W. Notification to routing protocols of changes to routing information base
KR20020081569A (ko) * 2002-09-04 2002-10-28 (주)시큐어베이스 Ternary CAM(Content Addressable Memory)을 이용하는네트웍 장치에서의 CAM내 동일한 엔트리 크기를 가지는다수의 테이블 관리 방법
WO2004023732A1 (en) * 2002-09-06 2004-03-18 Infineon Technologies Ag Method and apparatus for storing a port identifier in a lan switch
JP4101631B2 (ja) * 2002-12-13 2008-06-18 富士通株式会社 スイッチング装置
US7512078B2 (en) * 2003-10-15 2009-03-31 Texas Instruments Incorporated Flexible ethernet bridge
US7149214B2 (en) * 2003-11-04 2006-12-12 Cisco Technology, Inc. Dynamic unknown L2 flooding control with MAC limits
US7558273B1 (en) * 2003-12-23 2009-07-07 Extreme Networks, Inc. Methods and systems for associating and translating virtual local area network (VLAN) tags
WO2005086429A1 (en) * 2004-02-27 2005-09-15 Viadux, Inc. System and method for dynamic vlan multiplexing
US7460539B2 (en) * 2004-04-01 2008-12-02 Broadcom Corporation Individually programmable most significant bits of VLAN ID
US7554990B2 (en) * 2004-05-13 2009-06-30 Micrel, Inc. Static address reservation protocol in a data network
US8964547B1 (en) 2004-06-08 2015-02-24 Oracle America, Inc. Credit announcement
US7733855B1 (en) * 2004-06-08 2010-06-08 Oracle America, Inc. Community separation enforcement
US7639616B1 (en) 2004-06-08 2009-12-29 Sun Microsystems, Inc. Adaptive cut-through algorithm
US7860096B2 (en) * 2004-06-08 2010-12-28 Oracle America, Inc. Switching method and apparatus for use in a communications network
US7602712B2 (en) * 2004-06-08 2009-10-13 Sun Microsystems, Inc. Switch method and apparatus with cut-through routing for use in a communications network
US9043792B1 (en) * 2004-11-17 2015-05-26 Vmware, Inc. Virtual local area network (vlan) coordinator providing access to vlans
US10768958B2 (en) 2004-11-17 2020-09-08 Vmware, Inc. Using virtual local area networks in a virtual computer system
JP4454661B2 (ja) * 2005-03-31 2010-04-21 富士通株式会社 フレーム転送装置
US7673068B2 (en) * 2005-04-18 2010-03-02 Alcatel Lucent Method and system for implementing a high availability VLAN
JP2006311066A (ja) * 2005-04-27 2006-11-09 Toshiba Corp 電子機器
US7796590B1 (en) * 2006-02-01 2010-09-14 Marvell Israel (M.I.S.L.) Ltd. Secure automatic learning in ethernet bridges
US8792497B2 (en) * 2006-06-05 2014-07-29 Tellabs Operations, Inc. Method and apparatus for performing link aggregation
JP4259581B2 (ja) * 2007-02-07 2009-04-30 日立電線株式会社 スイッチングハブおよびlanシステム
US8681641B1 (en) * 2007-06-25 2014-03-25 Cisco Technology, Inc. Loop mitigation mechanism for ethernet networks
KR101948082B1 (ko) 2009-11-24 2019-04-25 한국전자통신연구원 다중 사용자 다중 안테나 기반 무선통신 시스템에서 데이터 보호 방법
EP3379739A1 (en) * 2009-11-24 2018-09-26 Electronics and Telecommunications Research Institute Methods for transmitting a frame in a multi-user based wireless communication system
JP5645953B2 (ja) 2009-11-24 2014-12-24 エレクトロニクス アンド テレコミュニケーションズ リサーチ インスチチュートElectronics And Telecommunications Research Institute マルチユーザベースの無線通信システムにおける送信失敗フレームの修復方法
WO2012131697A1 (en) * 2011-03-31 2012-10-04 Tejas Networks Limited Optimizing forward database for a bursty network traffic
US9590922B2 (en) * 2011-05-12 2017-03-07 Microsoft Technology Licensing, Llc Programmable and high performance switch for data center networks
US8891533B2 (en) * 2012-06-07 2014-11-18 Extreme Networks, Inc. Methods systems and apparatuses for dynamically tagging VLANs
US20150207664A1 (en) * 2014-01-22 2015-07-23 International Business Machines Corporation Network control software notification with denial of service protection
US10419267B2 (en) 2014-01-22 2019-09-17 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Network control software notification with advance learning
US10877951B2 (en) 2014-01-22 2020-12-29 International Business Machines Corporation Network control software notification and invalidation of static entries
CN106230684B (zh) * 2016-08-05 2019-06-14 锐捷网络股份有限公司 报文转发方法、交换机和系统
US11757777B2 (en) * 2021-09-23 2023-09-12 Hewlett Packard Enterprise Development Lp Assigning security group tag for infrastructure traffic and preserving security group tag in snooped packets in dynamic segmentation

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR970056427A (ko) * 1995-12-23 1997-07-31 양승택 에이티엠(atm) 연결 식별자 관리 장치 및 그 방법
KR980010816A (ko) * 1996-07-31 1998-04-30 가네꼬 히사시 변형된 데이터베이스를 구비한 로컬 영역 네트워크 분석기
JPH10512129A (ja) * 1995-10-24 1998-11-17 フィリップス エレクトロニクス ネムローゼ フェンノートシャップ データを再割当て可能なグループで転送するシステム、斯種のシステムに使用する送信機及び受信機並びに斯種のデータを転送、伝送及び受信する方法及び斯種のデータを具えている信号
KR20000028645A (ko) * 1998-10-05 2000-05-25 가나이 쓰토무 패킷 중계 장치
EP1009187A2 (en) 1995-04-28 2000-06-14 Matsushita Electric Industrial Co., Ltd. Data transmitting apparatus, data receiving apparatus and data transmission control apparatus

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5677910A (en) * 1992-08-07 1997-10-14 Plaintree Systems Inc. High performance two-port transport LAN bridge
US6035105A (en) * 1996-01-02 2000-03-07 Cisco Technology, Inc. Multiple VLAN architecture system
US5852607A (en) * 1997-02-26 1998-12-22 Cisco Technology, Inc. Addressing mechanism for multiple look-up tables
US5920886A (en) * 1997-03-14 1999-07-06 Music Semiconductor Corporation Accelerated hierarchical address filtering and translation using binary and ternary CAMs
US6308218B1 (en) * 1997-09-17 2001-10-23 Sony Corporation Address look-up mechanism in a multi-port bridge for a local area network
US6181699B1 (en) * 1998-07-01 2001-01-30 National Semiconductor Corporation Apparatus and method of assigning VLAN tags
US6237061B1 (en) * 1999-01-05 2001-05-22 Netlogic Microsystems, Inc. Method for longest prefix matching in a content addressable memory
US6798775B1 (en) * 1999-06-10 2004-09-28 Cisco Technology, Inc. Virtual LANs over a DLSw network
US6446131B1 (en) * 1999-06-19 2002-09-03 Hewlett-Packard Company Bridges and other layer-two devices for forwarding MAC frames
US6775281B1 (en) * 1999-09-30 2004-08-10 Mosaid Technologies, Inc. Method and apparatus for a four-way hash table
US6765866B1 (en) * 2000-02-29 2004-07-20 Mosaid Technologies, Inc. Link aggregation
US6252872B1 (en) * 2000-05-24 2001-06-26 Advanced Micro Devices, Inc. Data packet filter using contents addressable memory (CAM) and method
US6633567B1 (en) * 2000-08-31 2003-10-14 Mosaid Technologies, Inc. Method and apparatus for searching a filtering database with one search operation

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1009187A2 (en) 1995-04-28 2000-06-14 Matsushita Electric Industrial Co., Ltd. Data transmitting apparatus, data receiving apparatus and data transmission control apparatus
JPH10512129A (ja) * 1995-10-24 1998-11-17 フィリップス エレクトロニクス ネムローゼ フェンノートシャップ データを再割当て可能なグループで転送するシステム、斯種のシステムに使用する送信機及び受信機並びに斯種のデータを転送、伝送及び受信する方法及び斯種のデータを具えている信号
KR970056427A (ko) * 1995-12-23 1997-07-31 양승택 에이티엠(atm) 연결 식별자 관리 장치 및 그 방법
KR980010816A (ko) * 1996-07-31 1998-04-30 가네꼬 히사시 변형된 데이터베이스를 구비한 로컬 영역 네트워크 분석기
KR20000028645A (ko) * 1998-10-05 2000-05-25 가나이 쓰토무 패킷 중계 장치

Also Published As

Publication number Publication date
CA2420878A1 (en) 2002-03-07
AU2001287434A1 (en) 2002-03-13
US20040054655A1 (en) 2004-03-18
US6633567B1 (en) 2003-10-14
GB2382495B (en) 2004-07-07
CA2420878C (en) 2010-06-22
KR20030096216A (ko) 2003-12-24
WO2002019638A3 (en) 2002-08-01
GB2382495A (en) 2003-05-28
CN1468482A (zh) 2004-01-14
DE10196582B3 (de) 2013-04-04
DE10196582T1 (de) 2003-07-10
GB0304263D0 (en) 2003-03-26
CN1229948C (zh) 2005-11-30
WO2002019638A2 (en) 2002-03-07
US7302432B2 (en) 2007-11-27

Similar Documents

Publication Publication Date Title
KR100863105B1 (ko) 단일 검색 오퍼레이션으로 필터링 데이터베이스를 포함하는 교환 장치, 단일 검색 오퍼레이션을 이용한 전송 벡터 선택 장치 및 방법
US6147993A (en) Method and apparatus for implementing forwarding decision shortcuts at a network switch
US5978378A (en) Method and apparatus for VLAN support
US5892912A (en) Method of managing virtual networks using a virtual network identifier
US8089963B2 (en) Packet forwarding apparatus and method
US5732080A (en) Method and apparatus for controlling data flow within a switching device
US6807179B1 (en) Trunking arrangement in a network switch
US8902757B2 (en) Method and system for transparent LAN services in a packet network
US6934260B1 (en) Arrangement for controlling learning of layer 3 network addresses in a network switch
US7577142B2 (en) Derived VLAN mapping technique
US5530703A (en) Remote communication server with automatic filtering
US20050232269A1 (en) System, apparatus and method for address forwarding for a computer network
EP1408656B1 (en) Method and device for transparent LAN services
EP1601137A1 (en) Network system, learning bridge node, learning method, and program thereof
US20030174715A1 (en) Frame transfer method and frame transfer device
US6807176B1 (en) Arrangement for switching data packets in a network switch based on subnet identifier
US6697380B1 (en) Multiple key lookup arrangement for a shared switching logic address table in a network switch
US7394810B2 (en) Layer 2 switch and method of processing expansion VLAN tag of layer 2 frame
CA2266072C (en) Packet filtering in connection-based switching networks
JPH09307579A (ja) マルチポート中継装置及びネットワーク機器
US7912059B1 (en) Methods, aggregation devices, and computer program products for distinguishing between sub-networks coupled to aggregation device ports by using an independent sub-network identifier domain space for each port
US7468977B1 (en) LAN/ATM switch having local packet switching and an ATM core fabric
JPH1093612A (ja) 仮想lan方式

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
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: 20121002

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20131001

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140923

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee