KR20120140076A - 대용량 스위치를 위한 고확장성의 멀티캐스팅 패킷 포워딩 장치 및 방법 - Google Patents

대용량 스위치를 위한 고확장성의 멀티캐스팅 패킷 포워딩 장치 및 방법 Download PDF

Info

Publication number
KR20120140076A
KR20120140076A KR1020110059709A KR20110059709A KR20120140076A KR 20120140076 A KR20120140076 A KR 20120140076A KR 1020110059709 A KR1020110059709 A KR 1020110059709A KR 20110059709 A KR20110059709 A KR 20110059709A KR 20120140076 A KR20120140076 A KR 20120140076A
Authority
KR
South Korea
Prior art keywords
packet
output port
multicast
switch
partition
Prior art date
Application number
KR1020110059709A
Other languages
English (en)
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 한국전자통신연구원
Priority to KR1020110059709A priority Critical patent/KR20120140076A/ko
Priority to US13/526,945 priority patent/US20120320917A1/en
Publication of KR20120140076A publication Critical patent/KR20120140076A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q3/00Selecting arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/212Monitoring or handling of messages using filtering or selective blocking

Landscapes

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

Abstract

본 발명은 여러 개의 입출력 포트를 지원하는 대용량 멀티스테이지 스위칭 시스템에서 생길 수 있는 다양한 멀티캐스팅 패턴을 지원하기 위해 멀티캐스팅의 확장성을 제공하는 멀티캐스팅 패킷 포워딩 장치 및 방법이 제공된다. 멀티캐스팅 패킷 포워딩 장치는, 수신된 제1 패킷이 출력될 적어도 하나의 출력 포트가 속한 파티션의 파티션 ID 및 파티션에서 출력 포트의 위치를 결정하는데 이용되는 스위치 멀티캐스트 ID를 포함하는 멀티캐스트 정보를 생성하고, 멀티캐스트 정보를 포함하며, 파티션의 개수만큼의 제2 패킷을 생성하는 입력 라인 카드와, 제2 패킷에 포함된 멀티캐스트 정보에 기초하여 제1 패킷이 출력될 적어도 하나의 출력 포트로 제2 패킷을 전달하는 스위치 패브릭와, 복수의 파티션으로 분할된 복수의 출력 포트를 포함한다.

Description

대용량 스위치를 위한 고확장성의 멀티캐스팅 패킷 포워딩 장치 및 방법{Apparatus for forwarding multicasting packet used in large capacity switch and method thereof}
본 발명은 멀티캐스팅 스위칭 기술에 관한 것으로, 더욱 상세하게는 대용량 스위치에서의 생길 수 있는 수많은 멀티캐스팅 패턴을 효율적으로 지원하기 위한 확장 가능한 멀티캐스팅 패킷 포워딩 장치 및 방법에 관한 것이다.
멀티캐스팅 기술은 네트워크의 자원을 효과적으로 사용하며 주로 실시간 멀티미디어 트래픽을 효과적으로 전송하기 위해 사용된다.
가장 간단한 멀티캐스팅 방법은 스위치 입력단의 라인 카드에서 패킷을 복사하여 유니캐스트(unicast)와 동일한 방법으로 스위칭하는 기술이다. 이 경우, 입력단(input line card)에 위치한 패킷 프로세서에서 해당 패킷을 복사한 후 각각을 해당 출력단의 라인 카드(output line card)로 스위칭한다. 이러한 입력단에서의 복사 방법은 간단하기는 하지만, 시스템의 용량이 증가되고 멀티캐스팅하고자 하는 출력단의 수가 증가함에 따라 복사를 해야하는 패킷의 수가 증가될 경우 제어 부하의 증가되어 대용량 시스템의 지원에는 한계가 있다.
이와 같이, 유니캐스트 방법을 이용하는 것보다 효율적인 방법은 스위치 패브릭에서 멀티캐스팅을 수행하는 것이다. 스위치 패브릭으로 보내는 멀티캐스팅 패킷은 멀태캐스트 라우팅을 위한 별도의 헤더인 멀티캐스트 라우팅 헤더(Multicast Routing Header, 이하에서 MRH라고 함)가 추가된다. 멀티캐스트 정보는 스위치 패브릭의 출력단을 알아내기 위해 스위치 멀티캐스트 ID(SMID) 형식으로 MRH에 기록되어 전달된다. SMID는 비트맵 또는 일련 번호의 형식으로 표시될 수 있다. SMID가 비트맵의 경우 비트의 위치가 출력 포트 번호를 나타낸다. 예를 들어, SIMD에 대응하는 비트맵의 해당 위치의 비트가 1일 경우 해당 위치에 대응하는 포트로 패킷이 전송된다. 일반적인 SMID 방식의 경우, 하나의 ID를 정하고 그 ID에 맞는 멀티캐스팅 패턴을 설정하여 멀티캐스팅 ID에 따라 미리 정해진 멀티캐스팅 포트로 데이터를 전송한다. 이때, SMID로부터 패킷의 출력단의 라인 카드를 알아내기 위해 스위치 패브릭 내부에서 [표 1] 과 같은 멀티캐스트 포워딩 룩업 테이블(Multicast Forwarding Lookup Table; MFLT)이 이용된다.
[표 1]
Figure pat00001
종래의 멀티캐스트 스위칭 시스템에서, 입력 라인 카드는 외부인터페이스를 통해 패킷을 수신하고 이를 처리하여 스위치 패브릭으로 전달한다. 스위치 패브릭은 시스템 내부 라우팅을 위해 패킷위에 추가된 멀티캐스팅 헤더의 SMID 값을 가지고 멀티캐스트 포워딩 룩업 테이블(MFLT)에 기록된 출력 포트로 패킷을 전달한다. 모든 경우의 멀티캐스팅 패턴을 지원하기 위해서 SMID의 크기는 비트맵과 동일해야 한다. 이 경우, 시스템의 용량이 증가하면 포트의 개수도 증가하여 멀티캐스트 ID의 사이즈가 커지게 되고 이를 내부 헤더에 정의되어야 하므로 트래픽 양이 불필요하게 커진다. 또한, 포트 수가 증가될수록 가능한 멀티캐스팅 패턴은 지수적으로 증가하여 MFLT의 사이즈도 커지게 된다.
이와 같이, 종래의 SMID 룩업 방식의 경우 포트 수가 많은 대용량 스위치에서 사용하는 데에는 한계가 있다. 예를 들어 시스코의 CRS-3 와 같이 단일 스위치에서 1296 개의 입력 포트 및 출력 포트를 지원하고 있다. 이 경우 가능한 총 멀티캐스팅 패턴은 약 2^1296 = 1.36x10^320 개의 무한히 많은 멀티캐스팅 패턴이 존재할 수 있다. 이를 모두 나타내기 위해서 1296 bit(162 byte) 가 필요하며 이를 MRH에 기록하여 전달할 경우 트래픽양이 불필요하게 늘어난다. 따라서 기존 시스템에서는 100 만개 정도의 SMID를 지원하고 있다. 그러나, 이 숫자는 1.36x10^320 개의 가능한 멀티캐스팅 패턴의 극히 일부에 지나지 않는다.
현재 데이터 센터 중심으로 수많은 서버들이 연결되고 이를 지원하기 위한 고확장성의 시스템 개발이 요구되고 있으며 이를 위해서는 수백 ~ 수천 개의 입력 포트 및 출력 포트를 가진 스위치가 개발되어 사용중이다. 클라우드 네트워킹과 서버와 라우터가 결합되는 형태의 컨텐트 기반 스위치 시스템이 보편화되면, 단일 시스템으로 보다 많은 포트를 사용하는 대용량 스위칭 기술이 지속적으로 발전할 것이며, 이에 따라 보다 많은 수의 포트를 단일 장비에서 지원하는 대용량 시스템 기술은 지속적으로 발전할 것으로 예상된다. 모든 다양한 경우의 멀티캐스팅 패턴이 있을 수 있지만 스위치 패브릭의 메모리 자원의 한계로 모든 경우의 멀티캐스팅 패턴을 수용하기는 힘들다.
본 발명은 여러 개의 입출력 포트를 지원하는 대용량 멀티스테이지 스위칭 시스템에서 생길 수 있는 다양한 멀티캐스팅 패턴을 지원하기 위해 멀티캐스팅의 확장성을 제공하는 멀티캐스팅 패킷 포워딩 장치 및 방법이 제공된다.
일 측면에 따른 멀티캐스팅 패킷 포워딩 장치는, 수신된 제1 패킷이 출력될 적어도 하나의 출력 포트가 속한 파티션의 파티션 ID 및 파티션에서 출력 포트의 위치를 결정하는데 이용되는 스위치 멀티캐스트 ID를 포함하는 멀티캐스트 정보를 생성하고, 멀티캐스트 정보를 포함하며, 파티션의 개수만큼의 제2 패킷을 생성하는 입력 라인 카드와, 제2 패킷에 포함된 멀티캐스트 정보에 기초하여 제1 패킷이 출력될 적어도 하나의 출력 포트로 제2 패킷을 전달하는 스위치 패브릭와, 복수의 파티션으로 분할된 복수의 출력 포트를 포함한다.
다른 측면에 따른 입력 라인 카드, 입력 라인 카드에 연결된 스위치 패브릭 및 스위치 패브릭에 연결된 복수의 출력 포트를 포함하는 멀티캐스팅 패킷 포워딩 장치의 멀티캐스팅 패킷 포워딩 방법으로서, 복수의 출력 포트가 복수의 파티션으로 그룹핑될 때, 입력 라인 카드가 입력된 제1 패킷이 출력될 적어도 하나의 출력 포트가 속한 파티션의 파티션 ID 및 파티션에서 출력 포트의 위치를 결정하는데 이용되는 스위치 멀티캐스트 ID를 포함하는 멀티캐스트 정보를 생성하는 단계와, 입력 라인 카드가 멀티캐스트 정보를 포함하며 파티션의 개수의 제2 패킷을 생성하는 단계와, 스위치 패브릭이 제2 패킷에 포함된 멀티캐스트 정보에 기초하여 제1 패킷이 출력될 적어도 하나의 출력 포트로 제2 패킷을 전달하는 단계;를 포함한다.
본 발명의 일 실시예에 따르면, 대용량 스위치에서 멀티캐스팅의 확장성이 좋아진다. 예를 들어, N개의 출력 포트를 P 개의 파티션으로 나누어 멀티캐스트 정보를 관리할 경우 모든 가능한 멀티캐스팅의 경우를 나타내기 위해 N 비트(bit)의 멀티캐스트 ID 가 필요하지만 이를 (N/P)+ log2P 비트로 줄일 수 있다. 이에 따라 각 스위치 모듈마다 저장하여야 하는 멀티캐스트 포워딩 룩업 테이블의 크기를 줄일 수 있다.
도 1은 본 발명의 일 실시예에 따른 멀티캐스팅 패킷 포워딩 장치의 구성을 나타내는 도면이다.
도 2는 도 1의 입력 라인 카드의 구성의 일 예를 나타내는 도면이다.
도 3은 본 발명의 일 실시예에 따른 파티션 ID 및 스위치 멀티캐스트 ID의 구성을 나타내는 도면이다.
도 4는 도 1의 스위치 패브릭의 구성의 일 예를 나타내는 도면이다.
도 5는 본 발명의 일 실시예에 따른 멀티캐스팅 패킷 포워딩 장치의 동작의 일 예를 나타내는 도면이다.
도 6은 본 발명의 일 실시예에 따른 멀티캐스팅 패킷 포워딩 장치의 스위치 패브릭이 멀티 스테이지의 스위치로 구성되는 경우를 나타내는 도면이다.
도 7은 도 6의 스위치 패브릭이 멀티 스테이지의 스위치로 구성되는 경우의 멀티캐스트 포워딩 룩업 테이블의 일 예를 나타내는 도면이다.
도 8은 본 발명의 일 실시예에 따른 멀티캐스팅 패킷 포워딩 방법을 나타내는 순서도이다.
도 9는 본 발명의 일 실시예에 따른 입력 라인 카드의 동작을 나타내는 순서도이다.
도 10은 본 발명의 일 실시예에 따른 스위치 패브릭의 동작을 나타내는 순서도이다.
이하, 첨부된 도면을 참조하여 본 발명의 일 실시예를 상세하게 설명한다. 본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 또한, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
도 1은 본 발명의 일 실시예에 따른 멀티캐스팅 패킷 포워딩 장치의 구성을 나타내는 도면이다.
도 1에 도시된 바와 같이, 멀티캐스팅 패킷 포워딩 장치(100)는 다수 개의 입력 라인 카드(110-1 내지 110-N) 및 다수 개의 출력 포트(130-11 내지 130-Pm) 가 스위치 패브릭(120)으로 연결된 대형 스위치/라우터 시스템으로 구성된다. 다수 개의 입력 라인 카드(110-1 내지 110-N) 각각에 하나 이상의 입력 포트가 포함될 수 있다. 다수 개의 출력 포트(130-11 내지 130-Pm)는 각각 하나의 출력 라인 카드에 대응한다. 또한, 이하에서는, 다수 개의 입력 라인 카드(110-1 내지 110-N)는 서로 동일하게 구성될 수 있고, 이하에서는 설명의 편의를 위하여 입력 라인 카드(110-1)를 중심으로 설명한다.
대부분의 경우, 통상적으로 스위치 패브릭(120)에 포함되는 멀티캐스트 포워딩 룩업 테이블(MFLT) 사이즈는 하드웨어의 용량에 따라 제한된다. 고속의 패킷을 처리하기 위해 멀티캐스트 포워딩 룩업 테이블(MFLT)은 스위칭 칩 내부에 구현되어야 하고 그 사이즈가 매우 제한적이다. 따라서, 작은 크기로 다양한 멀티캐스팅 패턴을 지원하는 것이 필수적이다. 본 발명의 일 실시예에 따른 멀티캐스팅 패킷 포워딩 장치는, 멀티캐스트 포워딩 룩업 테이블(MFLT) 크기를 획기적으로 줄이고, 멀티캐스트 포워딩 룩업 테이블(MFLT)의 사이즈를 줄임으로 주어진 환경에서 더 많은 멀티캐스팅 패턴을 지원하도록 구성된다.
이를 위해, 본 발명의 일 실시예에 따르면, 다수의 출력 포트는 여러 개의 파티션(partition)으로 그룹핑되어 있다. 즉, 멀티캐스팅 패킷 포워딩 장치(100)의 출력 포트의 개수가 N 개이고, 출력 포트들이 P 개의 파티션으로 구분될 경우, 각 파티션은 N/P 개의 출력 포트로 구성된다.
설명의 편의를 위하여, 멀티캐스팅 패킷 포워딩 장치(100)로 입력되는 패킷을 제1 패킷이라고 하고, 멀티캐스팅 패킷 포워딩 장치(100)에서 멀티캐스팅 패턴에 따라 제1 패킷이 처리된 패킷을 제2 패킷이라고 한다.
패킷을 수신하면 입력 라인 카드(110-1)는 IP 멀티캐스팅 주소 또는 멀티캐스팅 MAC 주소를 통해 패킷이 전달될 출력 포트를 결정할 수 있다. 상세하게는, 입력 라인 카드(110-1)는 수신된 제1 패킷이 출력될 적어도 하나의 출력 포트가 속한 파티션의 파티션 ID(또는 파티션 식별 정보) 및 그 파티션에서 결정된 출력 포트의 위치를 결정하는데 이용되는 스위치 멀티캐스트 ID(SMID)를 결정한다. 파티션은 파티션 ID로 식별될 수 있으며, 입력 라인 카드(110-1)는 제1 패킷이 출력될 적어도 하나의 출력 포트가 속한 파티션 ID 및 스위치 멀티캐스트 ID(SMID)를 결정할 수 있다. 입력 라인 카드(110-1)에서 결정되는 파티션 ID 및 스위치 멀티캐스트 ID(SMID)를 제1 패킷의 멀티캐스트 정보라고 할 수 있다. 수신된 제1 패킷은 적어도 하나 이상의 출력 포트로 출력될 수 있으므로, 입력 라인 카드(110-1)는 제1 패킷에 대한 복수 개의 멀티캐스트 정보를 결정할 수 있으며, 멀티캐스트 정보는 제1 패킷이 출력될 적어도 하나의 출력 포트가 속한 파티션의 개수만큼 생성될 수 있다.
입력 라인 카드(110-1)는 제1 패킷이 수신되면, 식별된 파티션의 개수로 제1 패킷을 복제하고, 복제된 제1 패킷에 결정된 각각의 멀티캐스트 정보를 부가하여 복수 개의 제2 패킷을 생성할 수 있다. 즉, 제2 패킷은 제1 패킷의 데이터 및 제1 패킷의 멀티캐스트 정보로 구성될 수 있다.
스위치 패브릭(120)은 하나 이상의 스위치 모듈을 포함하여 구성될 수 있다. 상세하게는, 스위치 패브릭(120)은 하나의 스위치 모듈로 구성될 수 있고, 멀티 스테이지의 스위치 모듈로 구성될 수도 있다. 스위치 패브릭(120)은 제2 패킷에 포함된 멀티캐스트 정보에 기초하여, 제1 패킷이 출력될 적어도 하나의 출력 포트를 결정하여, 결정된 출력 포트로 제1 패킷을 출력할 수 있다.
스위치 패브릭(120)이 제1 패킷에 포함된 멀티캐스트 정보를 이용하여 제1 패킷을 멀티캐스팅하는 경우, 제1 패킷의 멀티캐스팅을 위하여 제1 패킷에 추가되는 멀티캐스트 정보를 최소화할 수 있으며, 멀티캐스트 정보에 대응하는 출력 포트를 결정하는데 이용되는 출력 포트 정보를 저장하는 멀티캐스트 포워딩 룩업 테이블(MFLT)의 사이즈를 최소화할 수 있다. 출력 포트 정보는, 해당 파티션에서의 출력 포트의 위치를 나타내는 출력 포트 비트맵으로 표현될 수 있다.
예를 들어, 1296개의 출력 포트를 가진 스위치의 경우, 제1 패킷이 출력될 출력 포트 위치를 나타내는 출력 포트 정보를 나타내기 위하여 기존 방식으로 1296 bit(162 byte)가 필요하지만, 이를 8개의 파티션으로 나누어 구현할 경우 3+1296/8 = 165 비트로 모든 경우의 출력 포트 정보를 나타낼 수 있으므로, 적은 비트 수로 멀티캐스팅 패턴을 표현할 수 있다. 또한, 위에서 얘기한 예에 따르면 멀티캐스트 포워딩 룩업 테이블(MFLT)에는, 최대 2^1296 개의 값들이 저장되어야 하나 본 발명의 일 실시예에 따르면, 2^165 개의 엔트리만 저장하여 이용할 수 있다.
도 2는 도 1의 입력 라인 카드의 구성의 일 예를 나타내는 도면이다.
입력 라인 카드 #1(110-1)은 정보 검색부(210), 제1 저장부(220) 및 패킷 복제부(230)를 포함할 수 있다.
정보 검색부(210)는 외부로부터 입력되는 제1 패킷을 수신한다. 정보 검색부(210)는 멀티캐스트 패킷인 제1 패킷을 수신할 경우, 제1 패킷에 포함된 멀티캐스트 IP 주소 또는 멀티캐스팅 MAC 주소를 기반으로 외부 출력 포트를 결정한다. 정보 검색부(210)는 IGMP(Internet Group Management Protocol), PIM(Protocol Independent Multicast) 프로토콜과 같은 프로토콜을 통해서 스위치 패브릭(120)의 복수의 출력 포트 중 수신된 패킷이 출력될 적어도 하나의 출력 포트를 결정할 수 있다.
제1 저장부(220)는 제1 패킷의 멀티캐스팅 패턴에 따라 제1 패킷이 출력될 적어도 하나의 출력 포트별로 구성되는 파티션의 파티션 ID 및 스위치 멀티캐스트 ID(SMID)를 포함하는 멀티캐스트 정보 룩업 테이블(222)을 저장한다.
정보 검색부(210)는 스위치 패브릭(120)의 복수의 출력 포트 중 수신된 제1 패킷이 출력될 적어도 하나의 출력 포트를 결정하면, 제1 저장부(220)에 저장된 멀티캐스트 정보 룩업 테이블(222)을 이용하여 파티션 ID 및 스위치 멀티캐스트 ID(SMID)를 결정할 수 있다. 정보 검색부(210)는 적어도 하나의 출력 포트에 연결된 스위치 패브릭(120)에 포함된 스위치 포트를 결정할 수 있다.
패킷 복제부(230)는 입력된 패킷을 결정된 파티션의 개수만큼 복제하고, 복제된 패킷 각각에 멀티캐스트 정보를 포함하는 멀티캐스트 라우팅 헤더(MRH)를 추가한다. 이때, 제2 패킷은 가변 사이즈일 수 있다. 또는, 제1 패킷은 고정 사이즈의 셀 형태의 제2 패킷으로 변환될 수도 있다.
도 3은 본 발명의 일 실시예에 따른 파티션 ID 및 스위치 멀티캐스트 ID의 구성을 나타내는 도면이다.
출력 포트 ID 및 파티션 ID가 1씩 순차적으로 증가하는 일련 번호로 할당되고, 출력 포트 수가 N 개, 파티션 개수가 P 일 경우, k 번째 파티션(파티션 #k)에서 멀티캐스팅 패킷을 전달할 출력 포트의 위치는 k×(N/P)와 출력 포트 ID로 결정될 수 있다.
또한, 출력 포트 정보가 해당 파티션에서의 출력 포트를 나타내는 출력 포트 비트맵 정보로 표현되는 경우, 종래의 방법으로, 제1 패킷이 출력될 출력 포트 위치를 나타내기 위하여 전체 N 비트의 비트맵이 요구되었지만, 본 발명에 따르면, N개의 출력 포트들이 P개의 파티션으로 구분되어, 각 파티션 별로 출력 포트 정보를 나타내기 위하여 N/P bit 만이 필요하다.
또한, 추가로 P 개의 파티션을 구분하기 위한 log2P 개의 비트가 필요하다. 따라서, 제1 패킷이 출력될 출력 포트의 위치를 나타내는 멀티캐스트 비트맵의 사이즈를 N 비트에서 log2P과 (N/P)를 합산한 비트로 줄일 수 있다. 스위치 멀티캐스트 ID가 자체로 제1 패킷이 출력될 출력 포트의 위치를 나타내는 비트맵인 경우, 스위치 멀티캐스트 ID는 N/P 비트로 표현될 수 있다.
도 3의 도면부호(310)은 48 bit의 비트맵의 일 예를 나타낸다.
본 발명의 일 실시예에 따르면, 복수의 출력 포트를 복수의 파티션으로 구분하여, 멀티캐스팅 비트맵을 파티션 ID(320) 및 해당 파티션에서의 출력 포트 위치를 나타내는 출력 포트 비트맵(330)으로 나타낼 수 있다. 이와 같은 구성에 따라, 멀티캐스트 비트맵이 18 bit로 줄어들 수 있다. 18 bit 중 2bit는 파티션 ID(320)를 나타내고, 16 bit는 파티션에 속한 출력 포트 비트맵(330)을 나타낸다. 이와 같이, 파티션 ID(320) 및 해당 파티션의 출력 포트 비트맵(330)을 이용할 경우, 멀티캐스트 포워딩 룩업 테이블(MFLT)의 사이즈를 혁신적으로 줄일 수 있다.
도 4는 도 1의 스위치 패브릭(120)의 구성의 일 예를 나타내는 도면이다.
멀티캐스팅되는 제1 패킷은 입력 라인 카드(110-1)에서 멀티캐스팅되는 파티션 개수만큼 복제되어 스위치 패브릭(120)으로 들어온다. 스위치 패브릭(120)은 제어부(410), 제2 저장부(420) 및 전송부(430)를 포함할 수 있다. 스위치 패브릭(120)이 복수 개의 스위치 모듈을 포함하는 경우, 스위치 패브릭(120)에 포함된 스위치마다 제어부(410), 제2 저장부(420) 및 전송부(430)가 별도로 구성될 수 있다. 또한, 제2 저장부(420)는 제어부(410)의 구성으로 통합되거나, 또는 전송부(430)의 구성으로 통합될 수 있다.
제어부(410)는 입력된 제2 패킷에 포함된 멀티캐스트 정보로부터 파티션 ID및 스위치 멀티캐스트 ID를 추출하고, 추출된 파티션 ID및 스위치 멀티캐스트 ID에 대응하는 출력 포트 정보를 결정한다.
스위치 멀티캐스트 ID는 자체로 파티션별 출력 포트의 위치를 나타내는 출력 포트 비트맵일 수 있다. 또는, 스위치 멀티캐스트 ID는 파티션별 출력단의 위치를 나타내는 별도의 식별번호 또는 일련번호일 수 있다.
제어부(410)는 제2 패킷에 포함된 스위치 멀티캐스트 ID가 파티션 ID에 해당하는 파티션의 출력 포트의 위치를 나타내는 출력 포트 비트맵의 형태를 가지는 경우에는, 파티션 ID 및 출력 포트 비트맵의 정보만으로 제2 패킷이 출력될 출력 포트를 결정할 수 있다. 그러나, 스위치 멀티캐스트 ID는 파티션별 출력단의 위치를 나타내는 별도의 식별번호 또는 일련번호인 경우, 제어부(410)는 파티션 ID 및 스위치 멀티캐스트 ID에 대응하는 해당 파티션에서의 출력 포트 위치를 나타내는 멀티캐스트 포워딩 룩업 테이블(MFLT)를 참조하여 제2 패킷이 출력될 출력 포트를 결정할 수 있다.
제2 저장부(420)는 파티션 ID 및 스위치 멀티캐스트 ID별 출력 포트 정보를 포함하는 멀티캐스트 포워딩 룩업 테이블(MFLT)을 저장한다. 출력 포트 정보는 제2 패킷에서 추출된 파티션 ID에 대응하는 파티션에서의 출력 포트의 위치를 나타내는 출력 포트 비트맵일 수 있다.
스위치 패브릭(120)이 복수 개의 스위치 모듈을 포함하는 멀티 스테이지 스위치로 구성되는 경우, 멀티캐스트 포워딩 룩업 테이블(MFLT)은, 복수 개의 스위치 모듈 각각이 제1 패킷의 멀티캐스트 라우팅을 지원하기 위한 정보로서, 파티션 ID 및 스위치 멀티캐스트 ID별 각 스위치 모듈에서의 출력 포트 정보를 포함하는 로컬 MFLT로 구성될 수 있다.
전송부(430)는 제어부(410)의 제어에 따라 입력된 제2 패킷을 검색된 출력 포트 정보에 대응하는 적어도 하나의 출력 포트로 출력할 수 있다. 전송부(430)는 제2 패킷에서, 입력 라인 카드(110-1)에서 부가한 멀티캐스트 정보를 제거하고, 멀티캐스트 정보가 제거된 제2 패킷 즉, 제1 패킷을 출력할 수 있다.
또한, 스위치 멀티캐스트 ID는, 파티션별로 패킷이 출력될 출력 포트의 위치를 가리키는 일련 번호이고, 스위치 패브릭(120)은, 싱글 스테이지 스위치로 구성되는 경우, 일련 번호에, 수신된 제1 패킷이 출력될 적어도 하나의 출력 포트가 속한 파티션에 포함된 첫 번째 출력 포트 위치를 나타내는 오프셋 정보를 더하여 결정되는 출력 포트 번호를 가지는 출력 포트로 패킷을 전달할 수 있다.
도 5는 본 발명의 일 실시예에 따른 멀티캐스팅 패킷 포워딩 장치의 동작의 일 예를 나타내는 도면이다.
도 5는, 입력 라인 카드 #1(110-1)로 입력된 패킷이 파티션 #1 및 파티션 #2에 포함된 출력 포트들로 출력되는 경우를 가정한다. 이 경우, 입력 라인 카드 #1(110-1)로 입력된 패킷은 출력될 출력 포트의 파티션의 개수 2만큼 복제되고, 복제된 패킷들 각각의 멀티캐스트 라우팅 헤더(MRH)에는 파티션 ID 및 SMID가 추가되어, 스위치 패브릭(120)으로 입력될 수 있다.
스위치 패브릭(120)으로 입력된 패킷(510)의 MRH에는 파티션 ID(p)가 1이며, SMID가 3인 멀티캐스트 정보가 포함되고, 패킷(520)의 MRH에는 파티션 ID(p)가 2이며, SMID가 3인 멀티캐스트 정보가 포함된다고 가정한다.
스위치 패브릭(120)은 MFLT(422)를 참조하여, 입력된 패킷(510)의 출력 포트를 출력 포트 정보가 3인 출력 포트로 결정할 수 있다. 따라서, 패킷(510)은 파티션 #1의 출력 포트 정보가 3인 출력 포트(130-13)로 출력될 수 있다. 또한, 스위치 패브릭(120)은 MFLT(422)를 참조하여, 입력된 패킷(520)의 출력 포트를 출력 포트 정보가 1 및 4인 출력 포트들(130-21, 130-24)로 결정하고, 출력 포트들(130-21, 130-24)로 출력할 수 있다.
도 6은 본 발명의 일 실시예에 따른 멀티캐스팅 패킷 포워딩 장치의 스위치 패브릭이 멀티 스테이지의 스위치로 구성되는 경우를 나타내는 도면이다.
대용량 스위칭 시스템의 경우 확장성을 가지기 위해서 3-스테이지 Clos 스위치나 Benes 구조등 멀티스테이지 스위칭 구조를 사용하여 시스템의 용량을 증가시키고 있다.
도 6은 3 스테이지 Clos 방식의 스위치 구조를 나타낸다. 이와 같은, 3 스테이지 Clos 방식의 스위치 구조를 이용할 경우 4x4 스위치를 3단으로 구성하여 16x16의 대용량 스위치로 구성할 수 있다. 이처럼 기존 기술로 N 입력/출력의 스위치 모듈을 사용하여 3단이나 5단의 멀티스테이지 스위치를 구성할 경우 N^2 또는 N^3 규모로 확장이 가능하다. 이러한 대용량 스위치의 경우 멀티 스테이지로 구성된 단계별 스위치 모듈의 스위칭이 동시에 이루어져야 하므로 입력단의 가변 사이즈의 패킷을 고정 사이즈의 셀(cell)로 변환하여 스위칭하기도 한다.
이 경우 출력 포트 1~8은 파티션 #1로, 출력 포트 9~16은 파티션 #2로 그룹핑된다. 각 스위치 모듈(SW1 내지 SW12)은 멀티캐스팅 ID와 파티션 ID를 고려한 로컬 멀티캐스팅을 위한 라우팅 정보를 멀티캐스트 포워딩 룩업 테이블(MFLT)로서 관리할 수 있다. 즉, 스위치 패브릭(120)에 복수의 스위치 모듈이 포함된 경우에는, 각 스위치 모듈이 자신의 멀티캐스트 포워딩 룩업 테이블(MFLT)을 로컬 MFLT로서 관리할 수 있다.
도 6은 입력된 제2 패킷들(610, 620)이 출력 포트 정보가 1,4,7,9,11,13인 출력 포트들로 멀티캐스팅될 경우를 나타낸다. 제2 패킷들(610, 620)은 스위칭을 위한 고정 사이즈 셀로 바뀌는 과정에서 복수 개의 파티션별 멀티캐스팅 패턴에 따른 출력 포트들로 전달될 수 있다.
한편, 도 6의 두번째 스테이지의 스위치 모듈(SW11)에 도시된 바와 같이, 스위치 모듈(SW11)의 출력 포트 중 상위의 2개의 포트는 3번째 스테이지의 파티션 1에 속하는 출력 포트들로 패킷을 전송하는데 이용되고, 스위치 모듈(SW11)의 출력 포트 중 하위의 2개의 포트는 3번째 스테이지의 파티션 2에 속하는 출력 포트들로 패킷을 전송하는데 이용된다. 따라서, 2 단계의 출력 포트 비트맵의 크기는 각 스위치 모듈이 제공하는 출력 포트 개수의 1/2 만큼의 bit로 줄어들 수 있다.
도 7은 도 6의 스위치 패브릭이 멀티 스테이지의 스위치로 구성되는 경우의 멀티캐스트 포워딩 룩업 테이블의 일 예를 나타내는 도면이다.
2번째 스테이지의 스위치 모듈 중 스위치 모듈(SW 2) 및 스위치 모듈(SW 5)은 각각 로컬 MFLT(710, 720)을 각각 가지고 있다. 도 7에 도시된 바와 같이, 로컬 MFLT(710, 720)은, 파티션 ID 및 SMID에 대한 출력 포트 비트맵 정보로 구성될 수 있다. 여기에서, 출력 포트 비트맵 정보는, 해당 스위치 모듈에 포함된 복수의 출력 포트에서 패킷이 출력될 출력 포트를 나타낸다. 예를 들어, 스위치 모듈(SW 2)의 로컬 MFLT(710)의 출력 포트 비트맵은 스위치 모듈(SW 2)에서 패킷이 출력될 출력 포트의 위치를 나타낸다.
로컬 MFLT(710)을 참조하면, 파티션 ID가 1이고, SMID가 3인 경우, 출력 포트 비트맵의 값은 0011이므로, 패킷(610)은 스위치 모듈(SW2)의 세번째 및 네번째 포트(도 6에서의 그림에서, 스위치 모듈(SW2)의 상위 2개의 출력 포트)에서 출력된다. 로컬 MFLT(720)를 참조하면, 파티션 ID가 2이고, SMID가 4인 경우, 출력 포트 비트맵의 값은 1100이므로, 패킷(620)은 스위치 모듈(SW5)의 첫번째 및 두번째 포트(도 6의 그림에서, 스위치 모듈(SW5)의 하위 2개의 출력 포트)에서 출력된다.
도 8은 본 발명의 일 실시예에 따른 멀티캐스팅 패킷 포워딩 방법을 나타내는 순서도이다.
복수의 출력 포트가 복수의 파티션으로 그룹핑된 멀티캐스팅 패킷 포워딩 장치(100)에서, 입력 라인 카드는 입력된 제1 패킷이 출력될 적어도 하나의 출력 포트가 속한 파티션의 파티션 ID 및 파티션에서 출력 포트의 위치를 결정하는데 이용되는 스위치 멀티캐스트 ID를 결정한다(810).
입력 라인 카드는, 파티션 ID 및 스위치 멀티캐스트 ID를 포함하는 멀티캐스트 정보를 포함하는 복수의 제2 패킷을 생성한다(820)
스위치 패브릭은 복수의 제2 패킷을 수신하고, 수신된 복수의 제2 패킷에 포함된 멀티캐스트 정보, 즉, 파티션 ID 및 스위치 멀티캐스트 ID를 기초로, 각 제2 패킷이 전달될 적어도 하나의 출력 포트를 결정한다(830).
스위치 패브릭은 결정된 적어도 하나의 출력 포트로 제2 패킷을 전달한다(840). 스위치 패브릭이 제2 패킷을 전달할 때에는 제2 패킷에서 멀티캐스트 정보를 제외하고 전송하고, 제2 패킷은 제1 패킷의 멀티캐스트를 위하여 복제된 패킷이므로, 결과적으로 제1 패킷이 멀티캐스팅 방식으로 스위치 패브릭으로부터 출력 포트를 통해 출력될 수 있다.
도 9는 본 발명의 일 실시예에 따른 입력 라인 카드의 동작을 나타내는 순서도이다.
멀티캐스팅 패킷 포워딩 장치(100)의 입력 라인 카드는 수신된 패킷이 출력될 적어도 하나의 출력 포트를 결정한다(910).
입력 라인 카드는 입력된 제1 패킷이 출력될 적어도 하나의 출력 포트가 속한 파티션의 파티션 ID 및 해당 파티션에서 결정된 출력 포트의 위치를 결정하는데 이용되는 스위치 멀티캐스트 ID를 포함하는 멀티캐스트 정보를 생성한다(920).
입력 라인 카드는 수신된 패킷을 각 출력 포트가 속한 파티션 개수만큼 복제한다(930).
입력 라인 카드는 복제된 패킷에 동작 910에서 결정된 적어도 하나의 출력 포트별 파티션 ID 및 SMID를 포함하는 멀티캐스트 정보를 멀티캐스트 라우팅 헤더로서 추가한다(940).
도 10은 본 발명의 일 실시예에 따른 스위치 패브릭의 동작을 나타내는 순서도이다.
스위치 패브릭은, 멀티캐스트를 위한 파라메타 값들을 초기화시킨다(1010). 이 단계에서, 멀티캐스트 포워딩 룩업 테이블(MFLT), 총 파티션 개수 P, 스위치 패브릭에 연결된 총 출력 포트 개수 N 등의 정보가 초기화되어 스위치 패브릭에 설정될 수 있다.
스위치 패브릭은, 패킷(전술한 제2 패킷)이 도착하고(1020), 도착된 패킷이 멀티캐스트 패킷인 경우(1030), 패킷의 헤더로부터 스위치 멀티캐스트 ID 와 파티션 ID(p)를 추출한다(1040). 스위치 패브릭은, SMID와 파티션 ID(p)를 사용하여 출력 포트 정보를 결정한다(1060).
스위치 패브릭은 결정된 출력 포트 정보에 대응하는 적어도 하나의 출력 포트로 패킷을 출력한다(1070). 스위치 패브릭은, 멀티 스테이지 스위치로 구성되는 경우, 멀티캐스트 포워딩 룩업 테이블에서 검색된 출력 포트 정보에 대응하는 출력 포트로 복제된 패킷을 전달할 수 있다. 한편, 스위치 멀티캐스트 ID는, 파티션별로 패킷이 출력될 출력 포트의 위치를 가리키는 일련 번호이고, 스위치 패브릭은, 싱글 스테이지 스위치로 구성되는 경우, 일련 번호에, 수신된 제1 패킷이 출력될 적어도 하나의 출력 포트가 속한 파티션에 포함된 첫 번째 출력 포트 위치 나타내는 오프셋 정보를 더하여 결정되는 출력 포트 번호를 가지는 출력 포트로 패킷을 전달할 수 있다.
도착된 패킷이 멀티캐스트 패킷이 아닌 경우(1030), 유닛캐스트 패킷으로서 전송할 수 있다(1040).
본 발명의 일 양상은 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터가 읽을 수 있는 코드로서 구현될 수 있다. 상기의 프로그램을 구현하는 코드들 및 코드 세그먼트들은 당해 분야의 컴퓨터 프로그래머에 의하여 용이하게 추론될 수 있다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 디스크 등을 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드로 저장되고 실행될 수 있다.
이상의 설명은 본 발명의 일 실시예에 불과할 뿐, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명의 본질적 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현할 수 있을 것이다. 따라서, 본 발명의 범위는 전술한 실시예에 한정되지 않고 특허 청구범위에 기재된 내용과 동등한 범위 내에 있는 다양한 실시 형태가 포함되도록 해석되어야 할 것이다.

Claims (20)

  1. 수신된 제1 패킷이 출력될 적어도 하나의 출력 포트가 속한 파티션의 파티션 ID 및 상기 파티션에서 상기 출력 포트의 위치를 결정하는데 이용되는 스위치 멀티캐스트 ID를 포함하는 멀티캐스트 정보를 생성하고, 상기 멀티캐스트 정보를 포함하며, 상기 파티션의 개수만큼의 제2 패킷을 생성하는 입력 라인 카드;
    상기 제2 패킷에 포함된 멀티캐스트 정보에 기초하여 상기 제1 패킷이 출력될 적어도 하나의 출력 포트로 상기 제2 패킷을 전달하는 스위치 패브릭; 및
    복수의 파티션으로 분할된 복수의 출력 포트; 를 포함하는 것을 특징으로 하는 멀티캐스팅 패킷 포워딩 장치.
  2. 제1항에 있어서,
    상기 입력 라인 카드는, 상기 제1 패킷이 출력될 적어도 하나의 출력 포트가 속한 파티션의 개수만큼 상기 제1 패킷을 복제하고, 상기 멀티캐스트 정보를 상기 복제된 제1 패킷에 각각 추가하여 상기 복수의 제2 패킷을 생성하는 것을 특징으로 하는 멀티캐스팅 패킷 포워딩 장치.
  3. 제1항에 있어서,
    상기 멀티캐스트 정보는, 상기 제1 패킷이 출력될 적어도 하나의 출력 포트가 속한 파티션의 개수만큼 생성되는 것을 특징으로 하는 멀티캐스팅 패킷 포워딩 장치.
  4. 제1항에 있어서,
    상기 입력 라인 카드는,
    상기 제1 패킷이 전달될 적어도 하나의 출력 포트별로 구성되는 파티션 ID 및 상기 스위치 멀티캐스트 ID를 포함하는 멀티캐스트 정보 룩업 테이블을 저장하는 제1 저장부;
    상기 멀티캐스트 정보 룩업 테이블로부터 상기 제1 패킷이 출력될 적어도 하나의 출력 포트에 대한 파티션 ID 및 상기 스위치 멀티캐스트 ID를 검색하는 정보 검색부; 및
    상기 제1 패킷을 상기 적어도 하나의 출력 포트가 속한 파티션의 개수로 복제하고, 상기 복제된 패킷 각각에 상기 멀티캐스트 정보를 포함하는 멀티캐스트 라우팅 헤더를 추가하는 패킷 복제부; 를 포함하는 것을 특징으로 하는 멀티캐스팅 패킷 포워딩 장치.
  5. 제1항에 있어서,
    상기 스위치 패브릭은,
    파티션 ID 및 스위치 멀티캐스트 ID별 출력 포트 정보를 포함하는 멀티캐스트 포워딩 룩업 테이블을 포함하는 제2 저장부;
    상기 제2 패킷에 포함된 멀티캐스트 정보를 추출하고, 상기 추출된 멀티캐스트 정보에 대응하는 출력 포트 정보를 상기 멀티캐스트 포워딩 룩업 테이블로부터 검색하는 제어부; 및
    상기 제2 패킷을 상기 출력 포트 정보에 대응하는 출력 포트로 출력하는 전송부를 포함하는 것을 특징으로 하는 멀티캐스팅 패킷 포워딩 장치.
  6. 제5항에 있어서,
    상기 출력 포트 정보는, 상기 파티션 ID에 대응하는 파티션에서의 출력 포트의 위치를 나타내는 출력 포트 비트맵인 것을 특징으로 하는 멀티캐스팅 패킷 포워딩 장치.
  7. 제5항에 있어서,
    상기 스위치 패브릭이 복수 개의 스위치 모듈을 포함하는 멀티 스테이지 스위치로 구성되는 경우, 상기 멀티캐스트 포워딩 룩업 테이블은, 상기 복수 개의 스위치 모듈 각각이 상기 제1 패킷의 멀티캐스트 라우팅을 지원하기 위한 정보로서, 파티션 ID 및 스위치 멀티캐스트 ID별 각 스위치 모듈에서의 출력 포트 정보를 포함하도록 구성되는 것을 특징으로 하는 멀티캐스팅 패킷 포워딩 장치.
  8. 제1항에 있어서,
    상기 스위치 멀티캐스트 ID는, 자체로 상기 결정된 출력 포트의 위치를 나타내는 비트맵인 것을 특징으로 하는 멀티캐스팅 패킷 포워딩 장치.
  9. 제1항에 있어서,
    상기 스위치 멀티캐스트 ID는, 파티션별로 패킷이 출력될 출력 포트의 위치를 가리키는 일련 번호이고,
    상기 스위치 패브릭은, 싱글 스테이지 스위치로 구성되는 경우, 상기 일련 번호에, 상기 수신된 제1 패킷이 출력될 적어도 하나의 출력 포트가 속한 상기 파티션에 포함된 첫 번째 출력 포트 위치를 나타내는 오프셋 정보를 더하여 결정되는 출력 포트 번호를 가지는 출력 포트로 상기 제2 패킷을 전달하는 것을 특징으로 하는 멀티캐스팅 패킷 포워딩 장치.
  10. 제1항에 있어서,
    상기 출력 포트의 개수가 N이고, 상기 파티션의 개수가 P이며, 상기 스위치 멀티캐스트 ID가 자체로 상기 결정된 출력 포트의 위치를 나타내는 비트맵인 경우,
    상기 파티션 ID는 log2P 비트로 표현되고, 상기 스위치 멀티캐스트 ID는 N/P 비트로 표현되는 것을 특징으로 하는 멀티캐스팅 패킷 포워딩 장치.
  11. 입력 라인 카드, 상기 입력 라인 카드에 연결된 스위치 패브릭 및 상기 스위치 패브릭에 연결된 복수의 출력 포트를 포함하는 멀티캐스팅 패킷 포워딩 장치의 멀티캐스팅 패킷 포워딩 방법으로서,
    상기 복수의 출력 포트가 복수의 파티션으로 그룹핑될 때, 상기 입력 라인 카드가 입력된 제1 패킷이 출력될 적어도 하나의 출력 포트가 속한 파티션의 파티션 ID 및 상기 파티션에서 상기 출력 포트의 위치를 결정하는데 이용되는 스위치 멀티캐스트 ID를 포함하는 멀티캐스트 정보를 생성하는 단계;
    상기 입력 라인 카드가, 상기 멀티캐스트 정보를 포함하며 상기 파티션의 개수의 제2 패킷을 생성하는 단계; 및
    스위치 패브릭이 상기 제2 패킷에 포함된 멀티캐스트 정보에 기초하여 상기 제1 패킷이 출력될 적어도 하나의 출력 포트로 상기 제2 패킷을 전달하는 단계;를 포함하는 것을 특징으로 하는 멀티캐스팅 패킷 포워딩 방법.
  12. 제11항에 있어서,
    상기 제2 패킷을 생성하는 단계는,
    상기 입력 라인 카드가 상기 제1 패킷이 출력될 적어도 하나의 출력 포트가 속한 파티션의 개수만큼 상기 제1 패킷을 복제하는 단계; 및
    상기 멀티캐스트 정보를 상기 복제된 제1 패킷에 각각 멀티캐스팅 라우팅 헤더로서 추가하여 상기 복수의 제2 패킷을 생성하는 단계; 를 포함하는 것을 특징으로 하는 멀티캐스팅 패킷 포워딩 방법.
  13. 제11항에 있어서,
    상기 멀티캐스트 정보는, 상기 제1 패킷이 출력될 적어도 하나의 출력 포트가 속한 파티션의 개수만큼 생성되는 것을 특징으로 하는 멀티캐스팅 패킷 포워딩 방법.
  14. 제11항에 있어서,
    상기 멀티캐스트 정보를 생성하는 단계는,
    상기 입력 라인 카드가 상기 제1 패킷이 전달될 적어도 하나의 출력 포트별로 구성되는 파티션 ID 및 상기 스위치 멀티캐스트 ID를 포함하는 멀티캐스트 정보 룩업 테이블로부터 상기 멀티캐스트 정보를 검색하는 단계를 포함하는 것을 특징으로 하는 멀티캐스팅 패킷 포워딩 방법.
  15. 제11항에 있어서,
    상기 스위치 패브릭이 상기 제2 패킷에 포함된 멀티캐스트 정보에 기초하여 상기 제1 패킷이 출력될 적어도 하나의 출력 포트로 상기 제2 패킷을 전달하는 단계는,
    상기 제2 패킷에 포함된 멀티캐스트 라우팅 헤더로부터 상기 멀티캐스트 정보를 추출하는 단계;
    상기 추출된 멀티캐스트 정보에 대응하는 출력 포트 정보를, 파티션 ID 및 스위치 멀티캐스트 ID별 출력 포트 정보를 포함하는 멀티캐스트 포워딩 룩업 테이블로부터 검색하는 단계; 및
    상기 제2 패킷을 상기 출력 포트 정보에 대응하는 출력 포트로 출력하는 단계를 포함하는 것을 특징으로 하는 멀티캐스팅 패킷 포워딩 방법.
  16. 제15항에 있어서,
    상기 출력 포트 정보는, 상기 파티션 ID에 대응하는 파티션에서의 출력 포트의 위치를 나타내는 출력 포트 비트맵인 것을 특징으로 하는 멀티캐스팅 패킷 포워딩 방법.
  17. 제15항에 있어서,
    상기 스위치 패브릭이 복수 개의 스위치 모듈을 포함하는 멀티 스테이지 스위치로 구성되는 경우, 상기 멀티캐스트 포워딩 룩업 테이블은, 상기 복수 개의 스위치 모듈 각각이 상기 제1 패킷의 멀티캐스트 라우팅을 지원하기 위한 정보로서, 파티션 ID 및 스위치 멀티캐스트 ID별 각 스위치 모듈에서의 출력 포트 정보를 포함하도록 구성되는 것을 멀티캐스팅 패킷 포워딩 방법.
  18. 제11항에 있어서,
    상기 스위치 멀티캐스트 ID는, 자체로 상기 결정된 출력 포트의 위치를 나타내는 비트맵인 것을 특징으로 하는 멀티캐스팅 패킷 포워딩 방법.
  19. 제11항에 있어서,
    상기 스위치 패브릭이 상기 제2 패킷에 포함된 멀티캐스트 정보에 기초하여 상기 제1 패킷이 출력될 적어도 하나의 출력 포트로 상기 제2 패킷을 전달하는 단계에서,
    상기 스위치 멀티캐스트 ID는, 파티션별로 패킷이 출력될 출력 포트의 위치를 가리키는 식별 번호이고, 상기 스위치 패브릭이, 싱글 스위치 모듈로 구성되는 경우,
    상기 식별 번호에, 상기 수신된 제1 패킷이 출력될 적어도 하나의 출력 포트가 속한 상기 파티션에 포함된 첫 번째 출력 포트 위치를 나타내는 오프셋 정보를 더하여 결정되는 출력 포트 번호를 가지는 출력 포트로 패킷을 전달하는 것을 특징으로 하는 멀티캐스팅 패킷 포워딩 방법.
  20. 제11항에 있어서,
    상기 출력 포트의 개수가 N이고, 상기 파티션의 개수가 P이며, 상기 스위치 멀티캐스트 ID가 자체로 상기 결정된 출력 포트의 위치를 나타내는 비트맵인 경우,
    상기 파티션 ID는 log2P 비트로 표현되고, 상기 스위치 멀티캐스트 ID는 N/P 비트로 표현되는 것을 특징으로 하는 멀티캐스팅 패킷 포워딩 방법.
KR1020110059709A 2011-06-20 2011-06-20 대용량 스위치를 위한 고확장성의 멀티캐스팅 패킷 포워딩 장치 및 방법 KR20120140076A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020110059709A KR20120140076A (ko) 2011-06-20 2011-06-20 대용량 스위치를 위한 고확장성의 멀티캐스팅 패킷 포워딩 장치 및 방법
US13/526,945 US20120320917A1 (en) 2011-06-20 2012-06-19 Apparatus and method for forwarding scalable multicast packet for use in large-capacity switch

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110059709A KR20120140076A (ko) 2011-06-20 2011-06-20 대용량 스위치를 위한 고확장성의 멀티캐스팅 패킷 포워딩 장치 및 방법

Publications (1)

Publication Number Publication Date
KR20120140076A true KR20120140076A (ko) 2012-12-28

Family

ID=47353620

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110059709A KR20120140076A (ko) 2011-06-20 2011-06-20 대용량 스위치를 위한 고확장성의 멀티캐스팅 패킷 포워딩 장치 및 방법

Country Status (2)

Country Link
US (1) US20120320917A1 (ko)
KR (1) KR20120140076A (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8982884B2 (en) * 2012-08-07 2015-03-17 Broadcom Corporation Serial replication of multicast packets
US20140369347A1 (en) * 2013-06-18 2014-12-18 Corning Cable Systems Llc Increasing radixes of digital data switches, communications switches, and related components and methods
CN107710684B (zh) 2015-03-27 2021-04-06 比格斯维琪网络公司 构建超大规模监测结构的系统和方法
US11968132B2 (en) 2017-03-24 2024-04-23 Oracle International Corporation System and method to use queue pair 1 for receiving multicast based announcements in multiple partitions in a high performance computing environment
US10432414B2 (en) 2017-03-24 2019-10-01 Oracle International Corporation System and method to provide multicast group membership defined relative to partition membership in a high performance computing environment
US10868685B2 (en) * 2017-03-24 2020-12-15 Oracle International Corporation System and method to provide explicit multicast local identifier assignment for per-partition default multicast local identifiers defined as subnet manager policy input in a high performance computing environment
KR20210093896A (ko) * 2018-10-16 2021-07-28 엘루비오, 아이엔씨. 탈중앙화 콘텐츠 패브릭
US10841242B2 (en) 2019-02-21 2020-11-17 Big Switch Networks Llc Systems and methods to scale a network monitoring fabric

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5689506A (en) * 1996-01-16 1997-11-18 Lucent Technologies Inc. Multicast routing in multistage networks
US6747972B1 (en) * 2000-03-07 2004-06-08 Cisco Technology, Inc. Method and apparatus for reducing the required size of sequence numbers used in resequencing packets
KR100776453B1 (ko) * 2001-07-30 2007-11-16 엘지노텔 주식회사 에이티엠 교환기에서의 서브 포트 멀티캐스팅 방법
US7397796B1 (en) * 2003-08-21 2008-07-08 Smiljanic Aleksandra Load balancing algorithms in non-blocking multistage packet switches
US20050144402A1 (en) * 2003-12-29 2005-06-30 Beverly Harlan T. Method, system, and program for managing virtual memory
JP4958745B2 (ja) * 2007-11-21 2012-06-20 アラクサラネットワークス株式会社 分散型スイッチファブリック

Also Published As

Publication number Publication date
US20120320917A1 (en) 2012-12-20

Similar Documents

Publication Publication Date Title
KR20120140076A (ko) 대용량 스위치를 위한 고확장성의 멀티캐스팅 패킷 포워딩 장치 및 방법
KR101485728B1 (ko) 분산형 패브릭 프로토콜(dfp) 스위칭 네트워크 아키텍처
KR101507675B1 (ko) 분산형 패브릭 프로토콜(dfp) 스위칭 네트워크 아키텍처에서 우선순위 기반 플로우 제어
US9565028B2 (en) Ingress switch multicast distribution in a fabric switch
US8089965B2 (en) Apparatus and method for transferring frames through aggregated communication links
US9893987B2 (en) Virtual stacking of switches
US10097479B1 (en) Methods and apparatus for randomly distributing traffic in a multi-path switch fabric
EP2418808B1 (en) Virtual local srea network (VLAN)-based membership for multicase VLAN registration
CN101385284B (zh) 节点、网络系统、帧传送方法和帧传送程序
US10644995B2 (en) Adaptive routing in a box
US9935779B1 (en) Methods and apparatus for using virtual local area networks in a switch fabric
KR20160099473A (ko) 모듈식 포워딩 테이블 확장성을 위한 기술
US10291551B2 (en) Switching fabric topology based on traversing asymmetric routes
EP2963870A1 (en) Control apparatus, communication system, switch control method and program
US11228524B1 (en) Methods and apparatus for efficient use of link aggregation groups
CN105099959A (zh) 一种多播包的转发方法、设备和系统
JP2007274305A (ja) リングネットワーク、通信装置及びそれらに用いる運用管理方法
US8514696B2 (en) Multicast tree state replication
US10257106B1 (en) Data packet switching within a communications network including aggregated links
JP4958745B2 (ja) 分散型スイッチファブリック
KR0175499B1 (ko) 다중태그 구조의 계층 상호연결망에서의 브로드캐스트 전송방법
WO1993006675A1 (en) Nonblocking multicast fast packet/circuit switching networks
JPWO2010125859A1 (ja) ネットワークスイッチ、経路設定方法、プログラムおよび並列計算機システム
JP2005045626A (ja) データ転送システム及びそれに用いるマルチキャスト転送方法
JP2004260365A (ja) 高速高ポート密度なネットワーク中継装置

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid