KR100307375B1 - 랜스위치구조 - Google Patents

랜스위치구조 Download PDF

Info

Publication number
KR100307375B1
KR100307375B1 KR1019970050294A KR19970050294A KR100307375B1 KR 100307375 B1 KR100307375 B1 KR 100307375B1 KR 1019970050294 A KR1019970050294 A KR 1019970050294A KR 19970050294 A KR19970050294 A KR 19970050294A KR 100307375 B1 KR100307375 B1 KR 100307375B1
Authority
KR
South Korea
Prior art keywords
port
chips
frame
switching
bus
Prior art date
Application number
KR1019970050294A
Other languages
English (en)
Other versions
KR19980063502A (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 KR19980063502A publication Critical patent/KR19980063502A/ko
Application granted granted Critical
Publication of KR100307375B1 publication Critical patent/KR100307375B1/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]
    • 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
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3027Output queuing

Landscapes

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

Abstract

본 발명은 크로스바 및 시분할 다중화된 버스 구조를 결합하여 차선으로 이용가능한 전송 채널 라우팅 및 연관된 출력-포트 라우팅을 허용하는 혼성 스위치 조직(hybrid switch fabric)을 가진 LAN(Local Area Network) 스위치 구조를 개시한다. 상기 LAN 스위치 구조는 다중 디바이스 포트를 가진 다중 포트 그룹들, 상이한 포트 그룹들 내의 디바이스 포트들 간의 통신을 용이하게 하기 위한 스위칭 조직 및 상기 스위칭 조직을 제어하기 위한 제어기를 가진다. 다중 포트 그룹들 각각은 포트 그룹과 스위칭 조직을 상호연결하기 위한 통신 채널을 포함한다.

Description

랜 스위치 구조{LAN SWITCH ARCHITECTURE}
본 발명은 근거리 통신망(local area network: LAN) 스위치 구조에 관한 것으로, 더욱 구체적으로는 상이한 버스 구조를 결합하여 지연시간 및 처리량에 있어서 성능이 우수한 1 Mbps 내지 155 Mbps LAN 트래픽 스위칭용의 고속 LAN 스위치에관한 것이다.
종래의 LAN 스위치는 크로스바 구조(crossbar architecture) 또는 시분할 다중화된 버스 구조(time division multiplexed bus architecture)에 기초하고 있다.
P.A. Franaszek에게 허여된 미국 특허 제 5,264,842호는 대기 체인(wait chain)을 가진 스위치 연결을 개시하고 있다. 다중 포트 통신 시스템에서 요구된 포트가 비지(busy)이면 요구자(requestor)는 대기 체인에 인큐(enqueue)된다. 크로스바 스위치의 연결이 대기 체인을 저장하기 위해 사용된다. 대기 체인의 요소(element)는 정확한 연결을 제공하기 위해 갱신되는데, 즉 포트 그룹은 링크드 리스트(linked list) 형태로 연결되지만, 스위치 자신 내의 연결로 구성된 포인터(pointer)를 가진다. 이러한 연결은 정보를 전달하는데 사용될 뿐만 아니라 리스트 구조를 저장하는데도 사용된다. 이러한 개념은 스위치 조직 매트릭스의 한 포트로부터 다음 포트들로 전송되는 제어 정보를 요구한다.
H.-H.J. Chao에게 허여된 미국 특허 제 5,179,552호에는 녹아웃 스위치 구조(knockout switch design)가 개시되어 있다. 큰 패킷 스위치 또는 넌-버퍼(non-buffer)에 기초한 통계적 멀티플렉서(statistical multiplexor)용의 크로스포인트(crosspoint) 매트릭스 스위칭은 개별 스위칭 요소의 출력 포트가 라우팅 패스들을 임의의 그룹 내의 요소들 간에 공유하기 위하여 여러 그룹들로 분할된 크로스바 매트릭스 네트워크(crossbar matrix network)를 사용한다. 각 그룹의 출력들은 각각 하나의 출력이 스위치의 각 해당 출력 포트에 제공될 때까지 감소하는 수의 출력을 제공하는 연속적으로 연결된 그룹들의 석세션(succession)으로 반복적으로 분할된다. 스위칭 요소는 제어 신호를 발생하기 위하여 특정 시간 윈도우(time window)에서 두 개의 인커밍(incoming) 비트 스트림의 해당 비트를 비교하는 제어 회로 및 제어 신호에 응답하여 두 개의 입력 비트 스트림을 두 개의 데이터 출력으로 선택적으로 라우팅하기 위한 라우팅 회로를 포함한다. 이러한 방법에서는, 스위치가 취급할 수 있는 것보다 더 많은 패킷들이 집중기(concentrator)에 제시된다면, 집중기는 패킷을 간단히 폐기(knock-out)하고, 폐기한 데이터를 재전송하기 위해 고위층 소프트웨어(high layer software)의 에러 검출 및 메시지 재전송 기능에 따른다. 분실 패킷을 감지하여 그것들을 재전송하기 위해 고위층 프로토콜을 사용하면 과도한 패킷 지연 및 타임-아웃에 의한 세션 드롭-아웃(session drop out)이 발생할 수 있다. 또한, 폐기한 패킷의 재전송은 네트워크 혼잡을 더하게 하여 추가적인 패킷의 폐기 원인이 된다. 이러한 방법은 또한 각 버퍼가 하나의 셀만큼 더 지연시키는 다수의 셀 버퍼를 사용한다. 이러한 것은 패킷 지연이 최소일 것이 크게 요구되는 LAN 스위치 환경에서는 바람직하지 못하다.
H.-H.J. Chao에게 허여된 미국 특허 제 5,197,064호는 반복 분할을 사용하는 분산 모듈러 패킷 스위치(distributed modular packet switch)를 개시하고 있다. 그러한 스위치는 전체적인 성능을 향상시키기 위해 채널 그루핑(grouping)을 사용하고, 경쟁 해결을 내부적으로 분산시키는 크로스바 스위칭 조직을 사용하며, 개별 스위칭 요소들 사이의 필터링 기능(filtering function)을 사용한다. 출력 포트 그루핑(output port grouping)은 하나의 출력 패스가 각 출력 포트에 제공될 때까지 반복적으로 적용된다.
J.A. Niehaus 등에게 허여된 미국 특허 제 5,189,665호는 8개 까지의 데이터 포트를 용이하게 연결하도록 설계된 디지털 크로스바 스위치(digital crossbar switch)를 개시하고 있다. 상기 디바이스는 각각 8비트 길이인 8개의 양방향 포트를 포함한다. 상기 포트의 상호연결은 각 포트에 연관된 32 개의 저장 제어 메모리 로케이션(memory location)에 의해 제어된다. 수 백 포트 밀도가 일반적이고 바람직한 LAN 환경에서는, 최대 8개의 포트까지로의 한정이 이러한 스위치를 매력적이지 못하게 한다.
H.T. Olnowich 등에게 허여된 미국 특허 제 5,404,461호에는 버퍼링되지 않은 비동기 스위칭 네트위크 상에서 방송/다중전송(broadcast/multi-cast transfers)을 수행하기 위한 방송/스위칭 장치(broadcast/switching apparatus)가 개시되어 있다. 상기 특허는 입력 포트들 사이의 방송 또는 다중전송 경쟁을 해결하기 위하여 비동기 접근 방법을 사용하는 단일(unicast), 다중 또는 방송 패킷으로서 데이터를 전송하는 방법을 개시하고 있다. 상기 방송/스위칭 장치는 입력 포트의 임의의 하나로부터 출력 포트의 임의의 하나로의 연결, 입력 포트의 임의의 하나로부터 다수의 출력 포트의 고정 수를 갖는 부분집합(subset)으로의 동시 연결 또는 입력 포트의 임의의 하나로부터 모든 출력 포트로의 동시 연결을 가능하게 한다.
D.V. Peters에게 허여된 미국 특허 제 5,179,669호는 다중프로세서 상호연결 및 접근 중재 조정(access arbitration arrangement)을 개시하고 있다. 다중 프로세서 시스템 내의 프로세서는 크로스바 스위치와 같은 논-블록킹(non-blocking) 통신 매체에 의해 상호연결된다. 광 링크(optical link)를 사용하여 각각의 프로세서가 크로스바 스위치의 전용 포트 회로에 연결된다. 전기적 링크를 사용하여 각각의 포트 회로가 크로스바 스위치에 연결된다. 포트 회로는 경쟁 매체에 의해 상호연결된다. 각각의 포트 회로의 전자회로는 연결된 프로세서에 액세스하기 위한 요구를 수신하여 경쟁하는 요구에 우선순위를 부여하고 순서적으로 허여한다. 이러한 구조는 스위치 구조의 각 포트와 접속된 각 프로세서 노드 사이에서 하나의 링크를 사용한다.
A.R. Kent 등에게 허여된 미국 특허 제 4,845,722호에는 크로스바 스위칭을 사용하는 컴퓨터 상호연결 커플러(computer interconnect coupler)가 개시되어 있다. 상기 커플러는 채널 전송기를 향하는 채널 수신기로부터의 메시지를 라우팅하기 위한 채널 전송기 및 채널 수신기로 할당된 접합자(junctor) 세트를 가진다. 메시지가 채널 수신기에 의해 수신될 때, 채널 수신기는 메시지의 시작 부분을 선입 선출 버퍼(first-in-first-out buffer: FIFO buffer)에 저장하고 중앙 스위치 로직에 라우트 메시지 요구를 보낸다. 목적지 전송기 또는 수신기가 사용중이면, 중앙 로직은 메시지 요구를 목적지 큐에 집어넣고, 상기 메시지를 개시한 데이터 처리 디바이스로 반송되는(transmitted back) 흐름 제어 신호를 시작하기 위한 신호를 요구 소스 전송기(requesting source transmitter)로 반송(return)한다. 그러나, 이 데이터 처리 디바이스를 향하는 어떠한 메시지도 메시지의 앞과 뒤 양자 모두에 포즈(pause)를 가진 상태로 흐름 제어 캐리어 내에 삽입되고, 데이터 처리 디바이스가 착신 메시지에 응답하여 승인 코드(acknowledgement code)를 반송하도록 하는 대책이 또한 제공된다. 상기 요구는 상이한 우선순위 레벨로 그루핑되고 분리되지만 중복된 중재 로직(arbitration logic)이 동일한 우선순위 그룹 내에서의 동시적인 요구를 해결하는데 사용된다. 상기 특허는 크로스바 스위치의 각각의 포트와 각각의 접속된 프로세서 노드 사이의 하나의 양방향 링크 또는 두 개의 단 방향 링크를 사용하는 것을 개시하고 있다.
W.F. Hedberg 등에게 허여된 미국 특허 제 5,261,059호는 데이터 통신 네트워크를 위한 크로스바 인터페이스를 개시하고 있다. 호스트 컴퓨터와 크로스바 스위치 사이의 크로스바 인터페이스는 다중-포트 램(multiple-port RAM) 디바이스를 사용하는 데이터 버퍼링을 사용한다. 수신 및 발신 데이터는 램의 개별 시리얼 포트(separate serial port) 내로, 또는 포트로부터 클럭되며, 이와 동시에 로컬 프로세서는 프로토콜을 수행하기 위해 시리얼 포트에 대해서는 비동기로 랜덤 액세스 포트(random access port)에 의해 램에 액세스할 수 있다. 다중-포트 램에 데이터 버스트(burst of data)를 저장하는 순서는 어떤 로케이션이 프리(free)인지를 판단하는 프리 버퍼 관리자(free buffer manager)에 의하여 정해진다. 이러한 로케이션의 주소는 착신 패킷에 사용된 후에 수신된 리스트로 이동된다. 프로토콜 프로세서가 자신의 타스크(task)를 완료한 후 버스트 데이터 디스크립터(burst data descriptor)라고 불리우는 이러한 주소는 클럭킹 아웃하기 위하여 시리얼 레지스터로 복귀되는 버스트 데이터의 로딩을 기다리기 위하여 전송 리스트로 이동되고, 그 후 전송될 때 디스크립터는 프리 버퍼 관리자 내로 다시 진입된다. 상기 특허는 두개의 연결된 프로세서 사이의 통신 효율을 향상시키기 위한 이중-포트 램(dual-port RAM)의 사용을 개시하고 있다.
따라서, 본 발명의 하나의 목적은 처리량 및 지연에 있어서 우수한 성능을 나타내고 대기 체인 또는 폐기(knock-out) 기법의 개념을 사용하지 않는 LAN 스위치 구조를 제공하는 것이다.
본 발명의 다른 목적은 패킷을 폐기하지 않고, 제어 정보 전송도 필요 없는 LAN 스위치 구조에서 데이터 패킷을 라우팅하고 전송하는 방법을 제공하는 것이다.
도 1a는 4 개의 시분할 다중화된 서브 그룹들을 가진 본 발명의 바람직한 실시예의 일반적인 개략도.
도 1b는 본 실시예에서의 4 개의 포트 칩 및 4 개의 채널 칩을 포함하는 하나의 서브그룹을 상세히 도시한 도면.
<도면의 주요 부분에 대한 부호의 설명>
1 : 스위칭 조직
2 : 제어기
3 : 마이크로 프로세서
4 : 버퍼 램
5 : 공통 데이터 패스
본 발명은 크로스바와 시분할 다중화된 버스 구조를 결합한 혼성 스위치 조직(hybrid switch fabric)을 제공하고, 차선으로 이용가능한(next available) 전송 채널 라우팅 방법 및 연관된 출력-포트 라우팅 방법을 제공한다.
상기 LAN 스위치 구조는 1) 다중 포트 그룹들(multiple port groups), 2) 상이한 포트 그룹들 내의 디바이스 포트들 간의 통신을 용이하게 하기 위한 스위칭 조직(switching fabric), 및 3) 상기 스위칭 조직을 제어하기 위한 제어기(controller)를 가진다. 다중 포트 그룹들은 각각 포트 그룹과 스위칭 조직을 상호연결하기 위한 통신 채널을 포함한다.
다중 포트 그룹과, 상이한 포트 그룹 내의 디바이스 포트 간의 통신을 용이하게 하기 위한 스위칭 조직과, 스위칭 조직을 제어하기 위한 제어기를 가지고, 각각의 포트 그룹은 포트 그룹의 디바이스 포트를 상호 연결하기 위한 통신 버스와,통신 버스 상에서의 전송을 제어하기 위한 제어기와, 포트 그룹을 스위칭 조직과 상호연결하기 위한 다중 통신 채널을 가지는 LAN 스위치 구조에서는, 목적지 주소를 가진 라우팅 헤더(routing header)가 전송되는 각각의 프레임에 할당되고, 상기 프레임은 소스 주소로부터 목적지 주소로 라우트 및 전송되고, 전송되는 프레임의 소스 주소 및 목적지 주소가 하나 이상의 다중 포트 그룹 내의 동일한 포트 그룹 내에 있다면 프레임은 스위칭 조직을 사용하지 않고도 동일한 포트 그룹의 포트 간에 동시에 라우트되고 전송된다.
도 1a에 나타낸 바람직한 실시예는 바람직하게는 비동기 패킷 스위치 (1)인 스위칭 조직, 및 본 예에서는 4 포트 라인 카드(line card) 또는 시분할 다중화된 포트 그룹 (G1) 내지 (G4)를 가진 LAN 스위치 구조이다. 4 포트 그룹을 사용하는 대신, 다수의 포트 그룹들( G1 내지 Gi , 여기서 i=1…n임)이 패킷 스위치 (1)에 연결될 수 있다.
도 1b를 참조하면, 각각의 포트 그룹이 다수의 포트 칩 (P1 내지 Pk, 여기서 k=1…n임) 및 다수의 채널 칩 (C1 내지 Ck, 여기서 k=1n…임)을 포함하는 것으로 규정된다. 이러한 특정 실시예에서는, 각각의 포트 그룹은 4 개의 포트 칩 (P1), (P2), (P3), (P4) 및 4 개의 채널 칩 (C1), (C2), (C3), (C4)를 포함한다. 상기 채널 칩 (C1), (C2), (C3), (C4)는 포트 그룹 (G1)을 스위칭 조직 (1)에 연결한다.
포트 칩 (P1), (P2), (P3), (P4)는 적절한 LAN 물리층(physical layer), 매체 액세스 제어(media access control), 버퍼링 및 버스 인터페이스 기능을 제공한다. 각각의 포트 칩은 반이중방식(half-duplex) 일 수 있으며, 선택적으로는 전이중방식(full-duplex) 으로 동작할 수도 있다. 상기 LAN 물리층/매체 액세스 제어는 전형적으로 LAN 동작 속도와 매체 타입 반이중 또는 전이중 전송등을 결정하기 위한 자동 협상 기능(auto-negotiation function)을 포함할 것이다. 개인용 컴퓨터(Personal computer: PC) 또는 워크스테이션은 포트 칩 (P1), (P2), (P3), (P4)에 연결된다.
포트 그룹 (G1)과 마찬가지로, 각각의 포트 그룹은 마이크로 프로세서 (3) 또는 다른 상태 머신 로직(state machine logic), 및 선택적인 버퍼 램(optional buffer RAM) (4)를 더 포함한다. 포트 그룹의 요소는 예를 들어, 바람직하게는 32 비트 버스인 패럴렐 버스(parallel bus)와 같은 공통 데이터 패스 (5)에 의해 상호 연결된다. 데이터는 다중화된 포트 그룹내의 포트 칩들 및/또는 채널 칩들 사이에서 PIO(Parallel Input/Output) 및/또는 블록 이동 명령어를 이용하는 마이크로 프로세서 (3), DMA(Direct Memory Access) 로직, 또는 다른 유사한 수단에 의하여 이동된다. 포트 칩 (P1), (P2), (P3), (P4) 및 채널 칩 (C1), (C2), (C3), (C4) 각각은 버스(5)에 대한 액세스가 가능하다.
상이한 포트 그룹내의 디바이스 포트 간의 통신을 용이하게 하는 스위칭 조직 (1) 외에도, 상기 LAN 스위치 구조는 스위칭 조직을 제어하기 위한 제어기 (2)를 더 포함하고 있다.
종래의 구조에서는, 모든 스위치 포트가 단일의 버스 조직(bus fabric)에 접속되어 있는데 반하여, 본 발명의 LAN 스위치 구조에서는 다수의 분리된 포트 그룹 (Gi)가 프레임의 동시적인 라우팅 및 전송을 허용하는 부조직(sub-fabric)을 제공한다. 소스 주소/포트와 동일한 포트 그룹 내의 목적지 주소/포트를 가진 프레임은 스위칭 조직 (1)을 사용함이 없이 포트에서 포트로(port to port) 직접 전송된다. 예를 들어, 동일한 포트 그룹 (G1)의 포트 (P1)과 (P4) 사이 및 다른 포트 그룹 (Gi)의 포트 사이에서 동시 전송이 가능하다. 이것은 지연 및 처리량에 있어서의 성능을 향상시키며 포트당 비용이 적게 들게 한다.
마이크로 프로세서 (3) 또는 각각의 포트 그룹 (Gi)에 연결된 다른 유사한 수단은 각각의 포트를 폴링(polling)하거나 수신된 프레임의 소스 주소 필드를 검사함으로써 각각의 포트 칩 (P1), (P2), (P3), (P4)에 접속된 개인용 컴퓨터 또는 워크스테이션의 소스 주소를 찾아낸다. 포트 칩이 전송해야할 프레임을 가지고 있을 때, 포트 칩은 프레임의 목적지 주소 필드를 수령한 후에 마이크로 프로세서 (3)에 인터럽트(interrupt)를 건다. 마이크로 프로세서 (3) 또는 다른 상태 머신(state machine)은 예를 들어, 로컬 램(local RAM)에 있는 테이블 룩업을 사용하여, 스위치 포트 번호에로의 목적지 주소 매핑(mapping)을 계산하고, 전송해야 하는 프레임에 라우팅 헤더를 붙인다(prepend).
또 다른 방법으로, 내용 지정 메모리(content addressable memory: CAM) 또는 연관 메모리(associative memory)가 매핑 기능을 위하여 사용될 수 있다. 프레임의 목적지 주소가 로컬 프로세서의 테이블 내에 있지 않으면, 목적지 주소-대-스위치 포트 매핑 정보(destination address-to-switch port mapping function information)를 요구하는 제어기 (2)로 메시지가 전송된다. 달리하면, 로컬 프로세서는 로컬 라루트 테이블의 차후의 갱신 및 연기된 갱신(forwarding and deferredupdate)을 위하여 프레임을 제어기 (2)로 라우팅하는 헤더를 붙일 수 있다.
종래의 LAN 스위치 구조에서는, 각각의 포트가 스위칭 조직에 액세스하기 위한 단일의 전용 패스를 가진다. 예를 들어, 목적지 포트가 비지(busy)이기 때문에 프레임이 오도가도 못하게(stalled)되면, 스톨(stalled)된 프레임 뒤의 큐(queue)에 있는 프레임은 목적지 포트가 프리이고 사용가능(available)하다 할지라도 역시 스톨된다. 본 출원의 새로운 LAN 구조에서는, 각각의 포트 칩은 스위칭 조직에로의 다수의 채널에 액세스 할 수 있다. 도 1b의 바람직한 실시예에서는, 각각의 포트 칩 (P1), (P2), (P3), (P4)은 4개의 채널 (C1), (C2), (C3), (C4)에 액세스 할 수 있다. 스톨된 프레임이 블록킹 채널 (C1)이라면, 큐잉된 프레임이 채널 (C2), (C3), (C4)를 통하여 전송될 수 있다.
다수의 이용가능한 채널 중 하나를 통하여 입력 큐로부터 스위칭 조직으로 데이터를 전송하는 차선으로 이용가능한 입력 채널 라우팅(next available input channel routing) 방법은 입력 버퍼된 설계(input buffered design)와는 상이하다. 입력 버퍼형 스위치는 포트당 여러개의 전송 큐를 가지지만, 스위칭 조직으로의 포트당 단지 하나의 패스 또는 채널을 가진다. 본 명세서에서 기술한 상기 방법은 포트당 복수개의 전송 채널 또는 패스와 연관되는 복수개의 전송 큐를 제공한다.
어떤 LAN 프로토콜에서는, 프레임이 정확한 순서로 도착하는 것을 전송층이 보장한다. 다른 프로토콜은 프레임이 목적지에 순서대로 도달하는 것을 보장하는 데이터 링크층(data link layer)을 필요로 한다. 후자의 경우에 있어서, 차선으로 이용가능한 전송 채널 라우팅 알고리즘은 어떠한 전송 채널에 대하여도 동일한 목적지 주소를 가진 두 개 이상의 프레임을 이동시키지 않도록 변경된다. 만약 제 3의 프레임이 큐잉되고, 목적지 주소가 앞의 두 개의 프레임과 동일 하다면, 제 3의 프레임이 로컬 SRAM에 라우트되어 나중에 그러나 동일한 목적지 주소를 위한 포트 큐 바운드(port queue bound)의 최상단에 있는 임의의 새로운 프레임보다는 앞서서 진행(forward) 될 수 있거나 제 1 프레임의 전송이 완료될 때까지 큐가 스톨하는 것이 허용될 수 있다.
출력-포트 경쟁(output-port contention)은 패킷이 이미 사용중인 스위치 포트를 향하고 있을 때 패킷 전송이 스톨되는 원인이 된다. 몇몇 종래의 설계에서는 출력-포트 경쟁을 최소화하기 위해 출력 포트 버퍼링을 채용하고 있다(예를 들어, 각각의 출력 포트에 있는 버퍼 메모리를 통하여 다수의 수신 패킷 큐가 구현된다). 일단 프레임 전체가 수신 큐에 있게되면, 포트는 제 1 프레임이 목적지 워크스테이션으로 전송되는 동안 스위칭 조직으로부터 다른 프레임을 수령할 수 있다. 모든 프레임들은 단일의 출력 포트를 통하여 흘러야(flow)한다.
본 출원의 연관된 출력 포트 라우팅(associative output-port routing) 방법은 다수의 출력 포트를 다수의 출력 큐에 관련 시킨다. 이러한 기법은 출력 포트를 향하고 있는 프레임이 비지가 아닌 채널을 발견하는 확률을 증가시켜, 다수의 프레임이 동시에 수신될 수 있도록 한다. 연관된 출력 포트 라우팅은 그때 그때의 트래픽 부하가 요구하는 바에 따라서 채널 칩을 출력 포트에 동적으로 할당한다. 예를 들어, 출력 포트 버퍼링을 사용하는 경우, 포트 (P1)을 향하는 프레임 F는 전송이 이미 P1으로 진행되고 있으면 임시로 스톨된다. 프레임 F의 전송은 제 1 프레임 전체가 출력 버퍼 큐에 들어가자 마자 진행될 것이다.
이러한 연관된 출력 포트 라우팅 방법은 여러 가지의 출력 포트 버퍼 큐를 공급(feeding)하는 단일 채널의 병목현상(bottle neck)을 피한다. 상기 스위칭 조직은 채널 (C1)이 비지임을 인식하여 제 2 프레임을 각각이 독립적인 수신 버퍼 큐를 가진 채널 (C2) 또는 (C3) 또는 (C4)로 투명하게(transparently) 라우트시킨다. 포트 (P1)이 사용가능하게 되면, C2 또는 C3 또는 C4로부터 P1으로의 데이터 전송이 일어난다. 패킷의 목적지 포트 칩을 결정하기 위한 헤더 처리가 다른 데이터 처리와 병렬적으로 수행될 수 있다.
출력 포트 버퍼링이 단일의 수신 포트, 다수의 수신 큐 및 단일의 수신 채널을 관련시키는 반면, 연관된 출력 포트 라우팅은 단일의 수신 포트, 하나 또는 다수의 수신 큐 및 다수의 수신 채널을 관련시킨다.
또한, 제어 기능 및 네트워크 라우트 발견을 수행하기 위하여 제어기 (2)는 방송 및 다중 전송을 취급한다. 포트 칩이 방송 프레임을 수신할 때, 프레임을 제어기 또는 허브 엔진(hub engine) (2)로 라우트 시키는 라우팅 헤더를 붙인다. 상기 허브 엔진은 방송 프레임을 자신의 로컬 램에 저장하고 이용가능한 만큼의 허브 채널을 사용하여 방송/다중전송 프레임을 패럴렐/시퀀셜(parallel/sequential) 방식으로 목적지 포트로 재전송한다.
전송이 이용가능한 만큼의 채널을 사용하여 패럴렐로 일어나므로, 모든 목적지 포트 채널이 아이들(idle)이 되기를 대기할 필요가 없다. 전송은 각각의 채널/포트가 이용가능하게 될 때 시퀀셜(sequentially)하게 일어난다. 이러한 방식은 방송/다중전송(broadcast/multicast)이 행해지기 전에 모든 프레임 전송의 정지를 요구하지 않는다.
본 발명을 하나의 바람직한 실시예와 관련하여 기술하였지만, 당업자는 본 발명이 첨부하는 특허청구범위의 정신 및 범위 내에서 변경하여 실시할 수 있다는 것을 이해할 수 있을 것이다.
본 발명의 LAN 스위치 구조를 사용하면 대기 체인 또는 폐기 기법을 사용하지 않고서도 처리량과 지연에 있어서 우수한 성능을 얻을 수 있다.

Claims (11)

  1. LAN 스위치 시스템에 있어서,
    a) 다중 포트 그룹(multiple port groups)-여기서 각각의 포트 그룹은 버스 및 이 버스에 결합된 다중 디바이스 포트 칩(multiple device port chips)을 가짐-;
    b) 상이한 포트 그룹내에 있는 디바이스 포트 칩 사이의 통신을 용이하게 하기 위한 스위칭 구조(switching structure);
    c) 상기 스위칭 구조에 결합되며, 상기 스위칭 구조를 제어하는 제 1 제어기;
    d) 상기 버스에 결합된 제 2 제어기; 및
    e) 상기 버스에 결합되며, 상기 각각의 포트 칩을 상기 스위칭 구조에 상호연결시키는 다중 통신 채널 칩(multiple communications channel chips)
    을 포함하며,
    상기 제 2 제어기가 상기 디바이스 포트 칩들 중 임의의 디바이스 포트 칩으로부터의 신호에 응답하여, 상기 임의의 디바이스 포트 칩으로부터 다른 디바이스 포트 칩으로 또는 상기 임의의 디바이스 포트 칩으로부터 상기 다중 통신 채널 칩중 임의의 채널 칩을 통하여 상기 스위칭 구조로 데이터를 전송하는
    LAN 스위치 시스템.
  2. 제1항에 있어서, 상기 스위칭 구조가 스위칭 조직(switching fabric)을 포함하는 LAN 스위치 시스템.
  3. 제1항에 있어서, 상기 버스가 시분할 다중화된 버스(time division multiplexed bus)를 포함하는 LAN 스위치 시스템.
  4. 제1항에 있어서, 상기 각각의 다중 포트 그룹이 상기 버스에 결합된 버퍼링 장치(buffering device)를 추가로 포함하는 LAN 스위치 시스템.
  5. 제1항에 있어서, 상기 각각의 다중 통신 채널이 적어도 하나의 독립적인 수신 버퍼 큐(receive-buffer queue)를 가진 LAN 스위치 시스템.
  6. LAN 스위치 시스템에 있어서,
    a) 다중 포트 그룹-여기서 각각의 포트 그룹은 다중 디바이스 포트 칩을 가짐-;
    b) 상이한 포트 그룹내에 있는 디바이스 포트 칩 사이의 통신을 용이하게 하기 위한 패킷 스위치(packet switch);
    c) 상기 패킷 스위치를 제어하기 위한 제 1 제어기
    를 포함하고,
    상기 다중 포트 그룹 각각은
    i) 상기 포트 그룹 각각의 디바이스 포트 칩들을 상호연결하기 위한 시분할 다중화된 통신 버스;
    ⅱ) 상기 통신 버스에 연결된 메모리;
    ⅲ) 상기 포트 그룹 각각의 시분할 다중화된 통신 버스를 상기 패킷 스위치에 상호연결하는 다중 통신 채널; 및
    iv) 상기 통신 버스 상에서의 전송을 제어하는 제 2 제어기-여기서 제 2 제어기는 임의의 포트 그룹내 디바이스 포트 칩으로부터의 신호에 응답하여, 상기 디바이스 포트 칩으로부터 상기 다중 통신 채널들중 임의 채널을 통하여 상기 패킷 스위치에 데이터를 전송하며, 상기 패킷 스위치는 상기 포트 그룹과 연관된 통신 채널 중 임의의 채널을 경유하여 상기 포트 그룹 내의 포트 칩으로 데이터를 전송함-
    를 포함하는 LAN 스위치 시스템.
  7. a) 다중 포트 그룹-여기서 각각의 포트 그룹은 다중 디바이스 포트 칩을 가짐-;
    b) 포트 그룹내의 디바이스 포트 칩들을 상호연결하기 위한 통신 버스;
    c) 상이한 포트 그룹내에 있는 디바이스 포트 칩들 사이의 통신을 용이하게 하기 위한 스위칭 조직;
    d) 상기 스위칭 조직을 제어하기 위한 스위치 제어기
    e) 상기 통신 버스 상에서의 전송을 제어하기 위한 버스 제어기; 및
    f) 각각의 상기 포트 칩을 상기 스위칭 조직에 상호연결하기 위한 다중 통신 채널
    을 포함하는 LAN 스위치 시스템에 있어서,
    i) 목적지 주소와 소스 주소를 가진 라우팅 헤더(routing header)를 적어도 2개의 포트 그룹에서 전송되는 각각의 프레임에 할당하는 단계;
    ii) 상기 라우팅 헤더를 검사하는 단계; 및
    iii) 전송되는 프레임 각각의 목적지 주소와 소스 주소가 상기 적어도 2개의 포트 그룹의 동일 포트 그룹내에 있으면, 상기 스위칭 조직을 사용하지 않고 적어도 2개의 포트 그룹 각각의 통신 버스를 사용하여 상기 포트 칩들 사이에서 각 프레임을 동시에 라우팅하고 전송하는 단계
    를 포함하는 방법.
  8. 제7항에 있어서, 상기 방법이
    a) 전송되는 프레임의 목적지 주소와 소스 주소가 상이한 포트 그룹내에 있으면, 각각의 상기 프레임을 포트 그룹의 상기 다중 통신 채널중 선택된 하나의 채널을 통하여 상기 스위칭 조직으로 라우팅하는 단계;
    b) 상기 포트 그룹의 다중 통신 채널중 선택된 하나의 채널이 비지(busy)이면, 상기 프레임을 상기 포트 그룹의 다중 통신 채널중 임의의 이용 가능한 채널로 라우팅하는 단계;
    c) 목적지 주소 포트 그룹의 상기 다중 통신 채널중 선택된 하나의 채널을 사용하여, 상기 프레임을 상기 스위칭 조직으로부터 상기 목적지 주소 포트 그룹의 목적지 주소로 전송하는 단계; 및
    d) 상기 목적지 주소 포트 그룹의 다중 통신 채널중 선택된 하나의 채널이 비지이면, 상기 프레임을 상기 목적지 주소 포트 그룹의 다중 통신 채널 중 임의의 이용 가능한 채널을 통하여 라우팅하는 단계
    를 추가로 포함하는 방법.
  9. 제8항에 있어서, 상기 프레임이 방송 프레임 또는 다중 전송 프레임(multicast frame)이고, 상기 방송 프레임 또는 다중 전송 프레임을 상기 스위칭 조직으로부터 목적지 주소 포트 그룹으로 전송하는 단계가
    a) 상기 방송 프레임 또는 다중 전송 프레임을 스위치 제어기로 라우팅하는 단계;
    b) 상기 방송 프레임 또는 다중 전송 프레임을 상기 스위치 제어기 내에 저장하는 단계; 및
    c) 모든 목적지 주소 포트가 아이들(idle)이 되기를 대기함이 없이, 이용 가능한 만큼의 상기 목적지 주소 포트 그룹의 스위치 다중 통신 채널을 사용하여 상기 방송 프레임 또는 다중 전송 프레임을 상기 제어기로부터 상기 스위칭 조직을 경유하여 상기 목적지 주소 포트 그룹으로 동시에 재전송하는 단계
    를 추가로 포함하는 방법.
  10. 제2항에 있어서, 상기 스위칭 조직이 비동기 패킷 스위치를 포함하는 LAN 스위치 시스템.
  11. 랜(LAN) 통신 장치에 있어서,
    a) 다중 포트 그룹-여기서 각각의 포트 그룹은 다중 디바이스 포트 칩을 가짐-;
    b) 상기 다중 포트 그룹을 상호연결하는 크로스바 스위칭 조직(crossbar switching fabric);
    c) 상기 스위칭 조직에 연결된 제 1 제어기;
    d) 포트 그룹내의 상기 다중 디바이스 포트 칩을 연결하는 비-직렬형 버스(non-serial bus);
    e) 상기 각 포트 그룹의 다중 디바이스 포트 칩 각각을 상기 스위칭 조직에 상호연결하는 다중 통신 채널; 및
    f) 상기 다중 디바이스 포트 칩을 연결하는 버스 각각에 연결된 제 2 제어기
    를 포함하고,
    상기 제 2 제어기가 임의의 일 포트 칩으로부터의 신호에 응답하여 상기 동일 그룹내 포트 칩 사이에서 데이터를 전송하거나, 또는 일 포트 칩으로부터 임의의 다중 통신 채널을 경유하여 상기 크로스바 스위칭 조직으로 데이터를 전송하는
    LAN 통신 장치.
KR1019970050294A 1996-12-24 1997-09-30 랜스위치구조 KR100307375B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/780,105 US6009092A (en) 1996-12-24 1996-12-24 LAN switch architecture
US08/780,105 1996-12-24
US8/780,105 1996-12-24

Publications (2)

Publication Number Publication Date
KR19980063502A KR19980063502A (ko) 1998-10-07
KR100307375B1 true KR100307375B1 (ko) 2001-10-19

Family

ID=25118618

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970050294A KR100307375B1 (ko) 1996-12-24 1997-09-30 랜스위치구조

Country Status (5)

Country Link
US (1) US6009092A (ko)
JP (1) JP3322195B2 (ko)
KR (1) KR100307375B1 (ko)
CN (1) CN1099788C (ko)
TW (1) TW408272B (ko)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998026509A2 (en) * 1996-11-27 1998-06-18 Dsc Telecom L.P. Method and apparatus for high-speed data transfer that minimizes conductors
US6098109A (en) * 1996-12-30 2000-08-01 Compaq Computer Corporation Programmable arbitration system for determining priority of the ports of a network switch
US6480927B1 (en) * 1997-12-31 2002-11-12 Unisys Corporation High-performance modular memory system with crossbar connections
US6480921B1 (en) * 1998-07-22 2002-11-12 Micron Technology, Inc. Reducing internal bus speed in a bus system without reducing readout rate
US6289015B1 (en) * 1998-09-17 2001-09-11 Tut Systems, Inc. Method and apparatus for the secure switching of a packet within a communications network
US6577600B1 (en) * 1999-01-11 2003-06-10 Hewlett-Packard Development Company, L.P. Cost calculation in load balancing switch protocols
EP1043913A3 (en) * 1999-04-08 2001-05-09 Canon Kabushiki Kaisha Apparatus and method for switching data packets
KR100431131B1 (ko) * 1999-09-10 2004-05-12 엘지전자 주식회사 변경된 구성 정보 자동 전달이 가능한 비관리 이더넷 스위치
US7065580B1 (en) 2000-03-31 2006-06-20 Sun Microsystems, Inc. Method and apparatus for a pipelined network
US6975626B1 (en) * 2000-03-31 2005-12-13 Sun Microsystems, Inc. Switched network for low latency communication
US7061929B1 (en) 2000-03-31 2006-06-13 Sun Microsystems, Inc. Data network with independent transmission channels
US7020161B1 (en) 2000-03-31 2006-03-28 Sun Microsystems, Inc. Prescheduling arbitrated resources
US6721313B1 (en) 2000-08-01 2004-04-13 International Business Machines Corporation Switch fabric architecture using integrated serdes transceivers
US6963569B1 (en) 2000-12-29 2005-11-08 Cisco Technology, Inc. Device for interworking asynchronous transfer mode cells
US7352741B2 (en) * 2002-02-21 2008-04-01 Sun Microsystems, Inc. Method and apparatus for speculative arbitration
WO2003100622A1 (en) * 2002-05-22 2003-12-04 Procera Networks Switch for local area network
KR20040083871A (ko) * 2003-03-25 2004-10-06 유티스타콤코리아 유한회사 소용량 에이티엠 스위치 장치
US7327731B1 (en) * 2003-04-09 2008-02-05 At&T Corp. Point-to-multipoint connections for data delivery
US7457244B1 (en) 2004-06-24 2008-11-25 Cisco Technology, Inc. System and method for generating a traffic matrix in a network environment
US7969966B2 (en) * 2005-12-19 2011-06-28 Alcatel Lucent System and method for port mapping in a communications network switch
US9216754B2 (en) 2013-02-01 2015-12-22 Sinox Lock (Kunshan) Co. Ltd. Wheel brake set for luggage case
JP6697099B2 (ja) * 2016-01-27 2020-05-20 イノベーシック インコーポレイテッドInnovasic,Inc. イーサネット(登録商標)フレームインジェクタ
WO2022094771A1 (zh) * 2020-11-03 2022-05-12 华为技术有限公司 网络芯片和网络设备

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4845722A (en) * 1987-10-16 1989-07-04 Digital Equipment Corporation Computer interconnect coupler employing crossbar switching
US5179669A (en) * 1988-08-22 1993-01-12 At&T Bell Laboratories Multiprocessor interconnection and access arbitration arrangement
US5189665A (en) * 1989-03-30 1993-02-23 Texas Instruments Incorporated Programmable configurable digital crossbar switch
US5261059A (en) * 1990-06-29 1993-11-09 Digital Equipment Corporation Crossbar interface for data communication network
US5197064A (en) * 1990-11-26 1993-03-23 Bell Communications Research, Inc. Distributed modular packet switch employing recursive partitioning
US5179552A (en) * 1990-11-26 1993-01-12 Bell Communications Research, Inc. Crosspoint matrix switching element for a packet switch
US5404461A (en) * 1991-03-29 1995-04-04 International Business Machines Corp. Broadcast/switching apparatus for executing broadcast/multi-cast transfers over unbuffered asynchronous switching networks
US5264842A (en) * 1991-06-28 1993-11-23 International Business Machines Corporation Generalized usage of switch connections with wait chain
US5623489A (en) * 1991-09-26 1997-04-22 Ipc Information Systems, Inc. Channel allocation system for distributed digital switching network
US5619500A (en) * 1994-09-01 1997-04-08 Digital Link Corporation ATM network interface
KR100262682B1 (ko) * 1995-04-15 2000-08-01 최병석 멀티캐스트 atm교환기 및 그멀티캐스트 경합조정방법
US5689644A (en) * 1996-03-25 1997-11-18 I-Cube, Inc. Network switch with arbitration sytem

Also Published As

Publication number Publication date
CN1187077A (zh) 1998-07-08
JP3322195B2 (ja) 2002-09-09
CN1099788C (zh) 2003-01-22
KR19980063502A (ko) 1998-10-07
US6009092A (en) 1999-12-28
JPH10200567A (ja) 1998-07-31
TW408272B (en) 2000-10-11

Similar Documents

Publication Publication Date Title
KR100307375B1 (ko) 랜스위치구조
US5418781A (en) Architecture for maintaining the sequence of packet cells transmitted over a multicast, cell-switched network
US6343072B1 (en) Single-chip architecture for shared-memory router
US7724733B2 (en) Interconnecting network for switching data packets and method for switching data packets
US7742486B2 (en) Network interconnect crosspoint switching architecture and method
US6731631B1 (en) System, method and article of manufacture for updating a switching table in a switch fabric chipset system
US6804731B1 (en) System, method and article of manufacture for storing an incoming datagram in switch matrix in a switch fabric chipset system
EP0823166B1 (en) Flow control protocol system and method
US6920146B1 (en) Switching device with multistage queuing scheme
US6876663B2 (en) Switching system
US6487171B1 (en) Crossbar switching matrix with broadcast buffering
US20020176429A1 (en) Apparatus, method and limited set of messages to transmit data between scheduler and a network processor
US7016365B1 (en) Switching fabric including a plurality of crossbar sections
US6724759B1 (en) System, method and article of manufacture for transferring a packet from a port controller to a switch fabric in a switch fabric chipset system
KR100708425B1 (ko) 단일 링 데이터 버스 접속 구성을 이용하여 메모리를 공유하는 장치 및 방법
US6741589B1 (en) Apparatus and method for storing data segments in a multiple network switch system using a memory pool
EP1187408B1 (en) Network extender module
US6725270B1 (en) Apparatus and method for programmably modifying a limit of a retry counter in a network switch port in response to exerting backpressure
EP1187402A2 (en) Switching apparatus, communication apparatus, and communication system
US6956851B1 (en) Crossbar subsystem and method
US6553035B1 (en) Apparatus and method for queuing data
US6760338B1 (en) Apparatus and method for monitoring data frames by a shared switching logic during simultaneous accessing of multiple network switch buffers
US6891843B1 (en) Apparatus and method for sharing memory using extra data path having multiple rings
JP2823880B2 (ja) パケットスイッチ網
JPH05327755A (ja) パケットスイッチ

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
J201 Request for trial against refusal decision
B701 Decision to grant
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee