KR20030079454A - Apparatus and method for Ingress control of packet switch system - Google Patents
Apparatus and method for Ingress control of packet switch system Download PDFInfo
- Publication number
- KR20030079454A KR20030079454A KR1020020018497A KR20020018497A KR20030079454A KR 20030079454 A KR20030079454 A KR 20030079454A KR 1020020018497 A KR1020020018497 A KR 1020020018497A KR 20020018497 A KR20020018497 A KR 20020018497A KR 20030079454 A KR20030079454 A KR 20030079454A
- Authority
- KR
- South Korea
- Prior art keywords
- packet
- real
- output
- demultiplexer
- packets
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2441—Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/10—Packet switching elements characterised by the switching fabric construction
- H04L49/101—Packet switching elements characterised by the switching fabric construction using crossbar or matrix
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
본 발명은 패킷 스위치에 관한 것으로, 특히 패킷 스위치 시스템의 입력 제어장치 및 방법에 관한 것이다.The present invention relates to a packet switch, and more particularly, to an input control apparatus and method of a packet switch system.
패킷 스위치 시스템은 그 성능을 결정짓는 여러 가지 파라미터들 중, 메모리의 위치에 따라서 입력 버퍼형 스위치, 출력 버퍼형 스위치, 내부 버퍼형 스위치, 및 입출력 버퍼형 스위치로 크게 구분된다.The packet switch system is classified into input buffered switch, output buffered switch, internal buffered switch, and input / output buffered switch according to the location of memory among various parameters that determine its performance.
도 1은 일반적인 입출력 버퍼형 패킷 스위치 시스템(100)의 블록도로서, FIFO(First In, First Out)를 사용한 입출력 버퍼링 스위치 시스템의 구성을 보여준다. 도 1을 참조하면, 입출력 버퍼링 스위치(100)는, 복수 개의 입력버퍼(101-10n), 스위치 패브릭(130), 복수 개의 출력버퍼(121-12n), 및 컨트롤 프로세서(140)로 구성된다.FIG. 1 is a block diagram of a general input / output buffered packet switch system 100 and illustrates a configuration of an input / output buffering switch system using FIFOs (First In, First Out). Referring to FIG. 1, the input / output buffering switch 100 includes a plurality of input buffers 101-10n, a switch fabric 130, a plurality of output buffers 121-12n, and a control processor 140.
입력버퍼(101-10n)에 저장되어 있는 패킷들은, 입력버퍼(101-10n)를 FIFO로 동작시킬 경우 스위치 패브릭(130)에게 스위칭 요구를 한다. 그러나, 상기 입출력 버퍼링 스위치(100)는, 상기 스위칭 요구에 대해 단지 하나의 포트에 대한 스위칭을 수행한다. 따라서, 다른 입력포트의 동일 목적지를 가진 패킷들에게 HOL(Head of Line) 블로킹이 발생하게 된다.Packets stored in the input buffer 101-10n make a switching request to the switch fabric 130 when the input buffer 101-10n operates as a FIFO. However, the input / output buffering switch 100 performs switching on only one port for the switching request. Accordingly, HOL blocking occurs on packets having the same destination on different input ports.
도 1에 도시된 출력 버퍼들(121-12n)은, 하나의 출력포트에 패킷이 집중되는 출력 블로킹을 방지하기 위해 사용된다. 이상적인 출력 버퍼형 스위치는 N×N 스위치 시스템에서 최대 N개의 패킷을 1 타임 슬롯(time slot) 내에 받아들인다. 이를 위해서는 버스의 대역폭이 NV(여기서, V는 입력링크속도)가 되어야 하고, 출력버퍼의 액세스 속도가 (N+1)V가 되어야 한다. 이를 위해서는, 출력 버퍼형 스위치의 내부속도가 N배 증가되어야 하나, 구현할 수 있는 스위치 용량이 제한되기 때문에 저속의 스위치에만 사용되는 한계가 있다The output buffers 121-12n shown in FIG. 1 are used to prevent output blocking in which packets are concentrated on one output port. An ideal output buffered switch accepts up to N packets in one time slot in an N × N switch system. To do this, the bandwidth of the bus must be NV (where V is the input link speed) and the output buffer's access speed must be (N + 1) V. To this end, the internal speed of the output buffer type switch should be increased by N times, but there is a limit that is used only for low speed switches because the switch capacity that can be implemented is limited.
상기와 같은 입력 버퍼형 스위치(100)는, HOL 블로킹에 의해서 58.6%의 좋지않은 수율을 나타낸다. 그러나, 입력 버퍼형 스위치(100)는 HOL 블로킹 현상을 줄이면 외부 링크와 같은 속도로 동작이 가능하여 고속 동작이 가능하기 때문에, HOL 블로킹 현상을 줄이기 위한 방법들이 모색되고 있다.The above input buffer type switch 100 exhibits a poor yield of 58.6% by HOL blocking. However, since the input buffer type switch 100 can operate at the same speed as the external link when the HOL blocking phenomenon is reduced, high speed operation is possible. Therefore, methods for reducing the HOL blocking phenomenon have been sought.
도 2는 종래 기술에 따른 윈도우 방식의 입력버퍼링 스위치 시스템(200)의 블록도이다. 도 2에 도시된 입력 버퍼링 스위치 시스템(200)은, HOL 블로킹 현상을 줄이기 위한 한 방법으로 윈도우 방식을 사용한 경우의 시스템 구성을 보여주고 있다.2 is a block diagram of a window-type input buffering switch system 200 according to the prior art. The input buffering switch system 200 shown in FIG. 2 shows a system configuration when the window method is used as a method for reducing the HOL blocking phenomenon.
도 2를 참조하면, 윈도우 방식의 입력버퍼링 스위치 시스템(200)은 소정의 크기(예를 들면, 2)를 가지는 윈도우를 가지는 복수 개의 입력버퍼들(201-20n)과, 크로스바 스케쥴러(232)가 구비된 N×N 스위치 패브릭(230)으로 구성된다.Referring to FIG. 2, a window type input buffering switch system 200 includes a plurality of input buffers 201-20n having a window having a predetermined size (for example, 2), and a crossbar scheduler 232. It is composed of a provided N × N switch fabric (230).
윈도우 크기가 2인 입력버퍼들(201-20n)은, 스위치 패브릭(230)에게 스위칭 요구를 한다. 상기 스위치 시스템(200)은 입력버퍼들(201-20n)의 제 1 윈도우에서 HOL 블로킹이 발생하는 경우, 제 2 윈도우의 목적지로 스위칭 요구를 하게되어, 수율이 70.4% 까지 증가하게 된다.Input buffers 201-20n having a window size of 2 make a switching request to the switch fabric 230. When the HOL blocking occurs in the first window of the input buffers 201-20n, the switch system 200 requests a switching to the destination of the second window, thereby increasing the yield to 70.4%.
이와 같이, 윈도우 방식의 입력버퍼링 스위치 시스템(200)은, 입력 버퍼형 스위치(100)에 비해 개선된 수율을 가지게 된다. 그러나, 상기 스위치 시스템(200)에는 여전히 HOL 블로킹 현상이 존재하기 때문에, 수율이 제한되는 문제를 가지고 있다.As such, the window-type input buffering switch system 200 has an improved yield compared to the input buffer type switch 100. However, since the HOL blocking phenomenon still exists in the switch system 200, the yield is limited.
이와 같은 입력 버퍼형 패킷 스위치 시스템들(100, 200)에 대한 특성은, 1988년 12월, MICHAEL G. HLUCHYJ 및 MARK J. KAROL에 의해, IEEE JOURNAL ONSELECTED AREAS IN COMMUNICATIONS, VOL.6. NO. 9에 실린 논문, "Queueing in High-performance Packet Switching"에 개시되어 있다.The characteristics of such input buffered packet switch systems 100, 200 are described by IEEE JOURNAL ONSELECTED AREAS IN COMMUNICATIONS, VOL.6., Dec. 1988 by MICHAEL G. HLUCHYJ and MARK J. KAROL. NO. 9, "Queueing in High-performance Packet Switching."
도 3은 종래 기술에 따른 가상출력큐 방식의 입력버퍼링 스위치 시스템(300)의 블록도이다. 가상출력큐 방식은 HOL 블로킹을 제거하기 위해 하나의 포트에 출력포트 개수만큼의 버퍼를 병렬로 구성하는 방식이다. 이러한 방식의 입력버퍼링 스위치 시스템(300)은, 각 출력포트에 대응되는 각각의 버퍼들을 구비하기 때문에, HOL 블로킹을 없앨 수 있다. 이에 대한 상세한 내용은, 2000년 12월, Minkenberg, c. 및 Engbersen, T.에 의해 IEEE Communications Magazine, Volume : 38, page(s) : 70~77에 실린 논문, "A combined input and output queued packet switched system based on PRIZMA switch on a chip technology"에 개시되어 있다.3 is a block diagram of a virtual output queue type input buffering switch system 300 according to the prior art. In the virtual output queue method, as many buffers as the number of output ports are configured in one port in order to remove HOL blocking. Since the input buffering switch system 300 of this type has respective buffers corresponding to the respective output ports, HOL blocking can be eliminated. For details, see December 2000, Minkenberg, c. And in an article in "A combined input and output queued packet switched system based on PRIZMA switch on a chip technology" by Engbersen, T. in IEEE Communications Magazine, Volume: 38, page (s): 70-77. .
도 3을 참조하면, 가상출력큐 방식의 입력버퍼링 스위치 시스템(300)은, 각각이 복수 개의 가상출력버퍼(311-31n, 321-32n)들을 구비한 복수 개의 입력포트들(301-30n)과, 크로스바 스케쥴러(332)가 구비된 N×N 스위치 패브릭(330)으로 구성된다.Referring to FIG. 3, the input buffering switch system 300 of the virtual output queue type includes a plurality of input ports 301- 30n each having a plurality of virtual output buffers 311-31n and 321-32n. , N × N switch fabric 330 is provided with a crossbar scheduler (332).
입력포트들(301-30n)에 구비된 가상출력버퍼(311-31n, 321-32n)들이 스위치 패브릭(330)에게 스위칭 요구를 하게 되면, 스위치 패브릭(330)에 구비된 스케쥴러(332)는 복수 개의 요청(request)들 중 하나를 무작위로 선택하여 수락(grant) 신호를 발생한다. 각각의 출력포트에 대응되는 가상출력큐들(311-31n, 321-32n)은 상기 수락(grant) 신호에 응답해서 해당 출력포트로 스위칭을 하게된다.When the virtual output buffers 311-31n and 321-32n provided in the input ports 301-30n make a switch request to the switch fabric 330, the scheduler 332 provided in the switch fabric 330 may be plural. One of the two requests is randomly selected to generate a grant signal. The virtual output queues 311-31n and 321-32n corresponding to each output port switch to the corresponding output port in response to the grant signal.
이와 같은 패킷 스케쥴링의 예로, 본 출원인에 의해 출원된 특허(대한민국 특허 출원번호 10-1999-0040405호), "패킷 스위치 시스템에서의 패킷 스케쥴링 장치 및 그 방법"에서는, HOL 블로킹이 발생하지 않은 패킷을 우선순위별로 스위칭한 후, HOL 블로킹이 발생한 패킷들을 우선순위별로 스위칭함으로써, 입력된 모든 패킷들이 공평하게 스위칭될 수 있도록 한다. 그러나, 이 방법에 의하면, 스위치의 성능은 향상되지만, HOL 블로킹이 발생한 패킷을 저장하는 레지스터의 패킷에 대한 목적지 출력을 항상 체크하고 이를 루프-백 시켜야 하기 때문에, 패킷 기근(Starvation)현상이 발생할 수 있는 단점을 가지고 있다.As an example of such packet scheduling, in the patent filed by the present applicant (Korean Patent Application No. 10-1999-0040405), "Packet Scheduling Apparatus and Method in Packet Switch System", a packet in which HOL blocking has not occurred is used. After switching by priority, by switching the packets for which HOL blocking has occurred by priority, all input packets can be switched evenly. However, this method improves the performance of the switch, but packet starvation may occur because the destination output for the packet in the register that stores the HOL blocking packet must always be checked and looped back. It has a disadvantage.
그리고, 본 출원인에 의해 출원된 특허(대한민국 특허 출원번호 10-1998-0054207호), "비동기 전달 모드 스위치망의 입력 제어 장치 및 그 방법"에서는, 스위치를 거쳐 발생하는 수신 시험 셀을 통해 속도를 제어하고, 스위치망의 혼잡상태를 제어한다. 그러나, 상기 발명에 의하면 멀티캐스트 패킷이나 브로드캐스트 패킷이 입력되었을 때, 스위치망의 수신 시험 셀을 받은 속도제어부가 스위치망 입력율을 조절하므로, 고속 스위치 시스템에서 스위칭 처리속도가 다소 떨어지는 단점이 있다.And, in the patent filed by the present applicant (Korean Patent Application No. 10-1998-0054207), "Input control apparatus and method of the asynchronous transfer mode switch network", the speed is received through a receiving test cell generated via a switch. Control the congestion of the switch network. However, according to the present invention, when the multicast packet or the broadcast packet is input, the speed control part receiving the test cell of the switch network adjusts the switch network input rate, so that the switching processing speed is somewhat lowered in the high speed switch system. .
이 외에도, 대한민국 특허 출원 번호 10-1999-0049167호, "공통버스를 이용한 패킷 스위치에서의 패킷 버퍼 제어장치"에서는, 패킷 버퍼에 실제로 데이터가 저장되어 있는 상태에 따라서 패킷 데이터의 계속 수신 여부를 결정하도록 한다. 상기 발명에 의하면, 패킷 제어동작에 의한 스위칭 동작의 멈춤 현상이 적게 발생하게 되어, 스위칭 동작이 원활하게 수행될 수는 있으나, 공통버스를 이용한 상기방법은 고속 스위치 시스템에 적용하기가 힘든 단점을 가지고 있다.In addition, Korean Patent Application No. 10-1999-0049167, "Packet Buffer Control Device in Packet Switch Using Common Bus," determines whether to continuously receive packet data according to the state in which the data is actually stored in the packet buffer. Do it. According to the present invention, the switching phenomenon is less likely to occur due to the packet control operation, the switching operation can be performed smoothly, the method using a common bus has a disadvantage that is difficult to apply to the high-speed switch system have.
앞에서 설명한 바와 같은 패킷 스위치 시스템에서 수행되는 종래의 입력 제어 방법들은, 입력버퍼에서 발생되는 HOL 블로킹에 의해서 패킷의 수율이 제한되고, 입력포트들에 대한 공평성(Fairness)과, 멀티캐스팅 방식 및 브로드캐스팅 방식을 지원하기 어려운 단점이 있다.Conventional input control methods performed in the packet switch system as described above, the yield of the packet is limited by the HOL blocking generated in the input buffer, fairness to the input ports, multicasting scheme and broadcasting It is difficult to support the method.
더욱이, 지속적인 회선 속도의 증가에 따라 기가비트 스위치가 주력으로 부상하고 있고, 10 기가비트 포트가 업-링크용으로 지원되는 스위치 구조가 대두되고 있는 현재의 추세로 미루어 볼 때, 수백 기가급 패킷 스위칭이 요구되는 고속 스위치 시스템에게 상기와 같은 스위칭 시스템 및 방법이 그대로 적용된다면, 입력포트들에 대한 공평성이 보장되지 않아 시스템의 성능이 저하되는 문제점이 있다.Moreover, with the continued trend of increasing line speeds, gigabit switches have emerged as the mainstream, and current trends are emerging for switch structures where 10 Gigabit ports are supported for uplinks, requiring hundreds of gigabytes of packet switching. If the above-described switching system and method are applied to the high speed switch system, the fairness of the input ports is not guaranteed and the performance of the system is degraded.
본 발명이 이루고자 하는 기술적 과제는, 패킷을 우선순위별로 공평하게 스위칭함으로써, 네트워크 시스템의 활용성을 높이고, 내부 동작속도의 증가 없이 고속 패킷 스위치 시스템의 성능을 현저하게 향상시킬 수 있는 패킷 스위치 시스템의 입력 제어장치 및 방법을 제공하는 데 있다The technical problem to be achieved by the present invention is to provide a packet switch system that can improve the utilization of the network system, and can significantly improve the performance of the high-speed packet switch system without increasing the internal operating speed by switching packets in order of priority. To provide an input control device and method.
도 1은 종래 기술에 따른 FIFO를 사용한 입출력 버퍼링 스위치 시스템의 블록도이다.1 is a block diagram of an input / output buffering switch system using a FIFO according to the prior art.
도 2는 종래 기술에 따른 윈도우 방식의 입력버퍼링 스위치 시스템의 블록도이다.2 is a block diagram of a window-type input buffering switch system according to the prior art.
도 3은 종래 기술에 따른 가상출력큐 방식의 입력버퍼링 스위치 시스템의 블록도이다.3 is a block diagram of a virtual output queue type input buffering switch system according to the prior art.
도 4는 본 발명의 바람직한 실시예에 따른 패킷 스위치 시스템의 블록도이다.4 is a block diagram of a packet switch system according to a preferred embodiment of the present invention.
도 5는 IP 주소체계 포맷을 보여주는 도면이다.5 is a diagram illustrating an IP address system format.
도 6은 IEEE 802.3 MAC 프레임 포맷을 보여주는 도면이다.6 illustrates an IEEE 802.3 MAC frame format.
도 7은 본 발명의 바람직한 실시예에 따른 입력제어장치의 내부 메시지 헤더의 포맷을 보여주는 도면이다.7 is a diagram illustrating a format of an internal message header of an input control apparatus according to an exemplary embodiment of the present invention.
도 8은 본 발명의 바람직한 실시예에 따른 패킷 스위치 시스템의 입력 제어장치의 블록도이다.8 is a block diagram of an input control apparatus of a packet switch system according to a preferred embodiment of the present invention.
도 9는 본 발명에 따른 입력 제어장치에서 수행되는 동작을 설명하는 흐름도이다.9 is a flowchart illustrating an operation performed in the input control apparatus according to the present invention.
< 도면의 주요 부분에 대한 부호의 설명 ><Description of Symbols for Main Parts of Drawings>
400 : 패킷 스위치 시스템401-40n, 441-44n : 라인 카드400: packet switch system 401-40n, 441-44n: line card
410 : 패킷 스위치부421-42n : 입력 제어 장치410: packet switch unit 421-42n: input control device
431: 스위치 패브릭432 : 크로스바 스케쥴러431: switch fabric432: crossbar scheduler
4200 : 제 1 디멀티플렉서4210 : 제 1 제어부4200: first demultiplexer 4210: first control unit
4220 : 제 2 제어부 4231a : 제 2 디멀티플렉서4220: second control unit 4231 a: second demultiplexer
4231b : 제 3 디멀티플렉서4232 : 선택기4231b: third demultiplexer4232: selector
425(n+1) : 저장 제어부 4280 : 포트선택 제어부425 (n + 1): storage control unit 4280: port selection control unit
4240a, 4240b : 제 1 및 제 2 저장부4240a, 4240b: first and second storage
4241-424n, 4251-425n, 4261-426n : 큐4241-424n, 4251-425n, 4261-426n: Cue
4250a, 4250b : 제 3 및 제 4 저장부4250a, 4250b: third and fourth reservoirs
4260a, 4260b : 제 5 및 제 6 저장부4260a, 4260b: fifth and sixth reservoirs
4270a, 4270b, 4290 : 제 1 내지 제 3 멀티플렉서4270a, 4270b, 4290: first to third multiplexers
상기의 과제를 이루기 위하여 본 발명에 의한 패킷 스위치 시스템의 입력 제어장치는, 입력 패킷들을 유니캐스트 패킷과 멀티캐스트/브로드캐스트 패킷으로 분리하는 제 1 디멀티플렉서; 상기 제 1 디멀티플렉서를 통해 전달되는 상기 유니캐스트 패킷을 실시간 트래픽과 비실시간 트래픽으로 분리하고, 분리된 상기 트래픽을 목적지 출력포트별로 버퍼에 저장하여 선택하는 제 1 제어부; 상기 제 1 디멀티플렉서를 통해 전달되는 상기 멀티캐스트/브로드캐스트 패킷을 상기 실시간 트래픽과 상기 비실시간 트래픽으로 분리하고, 분리된 상기 트래픽을 해당 패킷의 특성에 따라서 모든 출력포트 또는 해당 그룹 출력포트별로 저장하여 선택하는 제 2 제어부; 포트선택 제어신호에 응답해서 상기 제 1 제어부 및 상기 제 2 제어부로부터 출력되는 상기 실시간 트래픽들 중 어느 하나를 선택하여 출력하는 제 1 멀티플렉서; 상기 포트선택 제어신호에 응답해서 상기 제 1 제어부 및 상기 제 2 제어부로부터 출력되는 상기 비실시간 트래픽들 중 어느 하나를 선택하여 출력하는 제 2 멀티플렉서; 상기 포트선택 제어신호에 응답해서 상기 제 1 멀티플렉서 및 상기 제 2 멀티플렉서로부터 출력된 상기 패킷들 중 어느 하나를 스위치 패브릭에게 전달하는 제 3 멀티플렉서; 및 상기 스위치 패브릭에 구비된 크로스바 스케쥴러와 통신을 수행하여 상기 포트선택 제어신호를 발생하는 포트선택 제어부를 포함하는 것을 특징으로 한다.In order to achieve the above object, the input control apparatus of the packet switch system according to the present invention comprises: a first demultiplexer for separating input packets into unicast packets and multicast / broadcast packets; A first control unit which separates the unicast packet transmitted through the first demultiplexer into real-time traffic and non-real-time traffic, and stores the separated traffic in a buffer for each destination output port; The multicast / broadcast packet transmitted through the first demultiplexer is divided into the real time traffic and the non-real time traffic, and the separated traffic is stored for each output port or corresponding group output port according to the characteristics of the packet. A second control unit for selecting; A first multiplexer for selecting and outputting any one of the real-time traffic output from the first control unit and the second control unit in response to a port selection control signal; A second multiplexer for selecting and outputting any one of the non-real-time traffic output from the first control unit and the second control unit in response to the port selection control signal; A third multiplexer for transmitting any one of the packets output from the first multiplexer and the second multiplexer to a switch fabric in response to the port selection control signal; And a port selection controller configured to communicate with a crossbar scheduler provided in the switch fabric to generate the port selection control signal.
상기의 과제를 이루기 위하여 본 발명에 의한 패킷 스위치 시스템의 입력 제어 방법은, (a) 입력된 패킷들을 유니캐스트 패킷과 멀티캐스트/브로드캐스트 패킷으로 분리하는 단계; (b) 상기 (a) 단계에서 분리된 상기 유니캐스트 패킷을 실시간 트래픽과 비실시간 트래픽으로 분리하고, 분리된 상기 트래픽을 목적지 출력포트별로 버퍼에 저장하여 선택하는 단계; (c) 상기 (a) 단계에서 분리된 상기 멀티캐스트/브로드캐스트 패킷을 상기 실시간 트래픽과 상기 비실시간 트래픽으로 분리한 후, 상기 패킷의 특성에 따라서 상기 패킷을 모든 출력포트별로, 또는 해당 그룹 출력포트별로 복사하여 저장한 후 선택하는 단계; (d) 포트제어 신호에 응답해서, 상기 (b) 단계와 (c) 단계에서 출력되는 실시간 트래픽들 중 어느 하나를 선택하는 단계; (e) 상기 포트제어 신호에 응답해서, 상기 (b) 단계와 (c) 단계에서 출력되는 비실시간 트래픽들 중 어느 하나를 선택하는 단계; 및 (f) 상기 포트제어 신호에 응답해서, 상기 (d) 단계와 (e) 단계를 통해 출력되는 상기 패킷을 스위치 패브릭으로 전달하는 단계를 포함하는 것을 특징으로 한다.In order to achieve the above object, the input control method of the packet switch system according to the present invention comprises the steps of: (a) separating the input packets into unicast packets and multicast / broadcast packets; (b) separating the unicast packet separated in step (a) into real-time traffic and non-real-time traffic, and storing the separated traffic in a buffer for each destination output port and selecting the separated unicast packet; (c) separating the multicast / broadcast packet separated in the step (a) into the real-time traffic and the non-real-time traffic, and outputting the packet for every output port or corresponding group according to the characteristics of the packet. Copying and storing each port for selection; (d) in response to the port control signal, selecting any one of real-time traffic output in steps (b) and (c); (e) selecting any one of the non-real-time traffic output in steps (b) and (c) in response to the port control signal; And (f) in response to the port control signal, delivering the packet output through steps (d) and (e) to a switch fabric.
이하에서, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 대하여 상세히 설명한다.Hereinafter, with reference to the accompanying drawings will be described in detail a preferred embodiment of the present invention.
도 4는 본 발명의 바람직한 실시예에 따른 패킷 스위치 시스템의 블록도이다. 도 4를 참조하면, 본 발명에 의한 패킷 스위치 시스템은, 패킷 스위치부(410)와, 패킷 스위치부(410)의 입출력 단에 연결된 복수 개의 라인 카드들(401-40n, 441-44n)을 포함한다. 패킷 스위치부(410)에는 크로스바 스케쥴러(432)가 구비된 N×N 스위치 패브릭(431)과, 복수 개의 입력 제어 장치들(421-42n)이 포함된다.4 is a block diagram of a packet switch system according to a preferred embodiment of the present invention. Referring to FIG. 4, the packet switch system according to the present invention includes a packet switch unit 410 and a plurality of line cards 401-40n and 441-44n connected to input / output terminals of the packet switch unit 410. do. The packet switch unit 410 includes an N × N switch fabric 431 provided with a crossbar scheduler 432, and a plurality of input control devices 421-42n.
패킷 스위치부(410)에 구비된 입력제어장치(421-42n)는, 라인카드(401-40n)로부터 입력되어지는 패킷의 헤더를 분석하여 패킷을 분류하고, 우선 순위 별로 입력패킷을 제어하여, 스위칭 동작을 수행한다.The input control devices 421-42n provided in the packet switch unit 410 analyze the headers of the packets input from the line card 401-40n, classify the packets, and control the input packets by priority. Perform a switching operation.
스위치 패브릭(431)은 메모리가 없는 넌블로킹(Nonblocking) 스위치인 크로스바를 3단의 클로스 네트워크로 구성한다. 스위치 패브릭(431)은 단위 스위치 사이에 완전 상호연결이 되어 있어, 스위치망의 입력단과 출력단 사이에 여러 개의 스위칭 경로가 존재한다.The switch fabric 431 configures a crossbar, which is a nonblocking switch without memory, in a three-layer cloth network. The switch fabric 431 is fully interconnected between the unit switches, so that there are several switching paths between the input and output ends of the switch network.
본 발명에 따른 입력제어장치(421-42n)는, 도 4에 도시된 바와 같이, 클로스 네트워크로 구성되어 있는 패브릭 스위치(431)의 입력단에 연결되어, 입력 패킷을 유니캐스트 패킷, 멀티캐스트 패킷, 브로드캐스트 패킷으로 분류하여 공평 스케쥴링을 수행함으로써 스위칭 시스템의 성능을 높여 준다. 그 결과, 스위치의 동작속도가 입력라인의 속도와 동일하게 되어, 링크의 고속화에 유리한 장점을 가지게 된다.As shown in FIG. 4, the input control apparatuses 421-42n according to the present invention are connected to an input terminal of a fabric switch 431 configured as a cloth network, and the input packets are unicast packets, multicast packets, The performance of switching system is improved by classifying into broadcast packets and performing fair scheduling. As a result, the operation speed of the switch is equal to the speed of the input line, which is advantageous in speeding up the link.
도 5는 IP 주소체계 포맷을 보여주는 도면이다. 도 5를 참조하면, A 클래스(500), B 클래스(510), C 클래스(520)는 유니캐스트 패킷을 나타내며, D 클래스(530)는 멀티캐스트 그룹을 나타낸다. IP 멀티캐스트 그룹에서 사용되는 D 클래스(530)의 주소 포맷(530)은, IP 주소의 제 1 바이트의 최상위 비트에 "1110" 값을 세팅함으로써 인식되어진다. 상기 값 다음에 이어지는 28비트는 송신할 데이터의 특정 멀티캐스트 그룹을 지정하는 ID로 사용된다. 이 때 사용되는 D 클래스(530)에서의 멀티캐스트 주소 범위는 224.0.0.0 에서부터 239.255.255.255 까지이다.5 is a diagram illustrating an IP address system format. Referring to FIG. 5, class A 500, class B 510, and class C 520 represent unicast packets, and class D 530 represents a multicast group. The address format 530 of class D 530 used in the IP multicast group is recognized by setting the value "1110" in the most significant bit of the first byte of the IP address. The 28 bits following the value are used as an ID specifying a particular multicast group of data to be transmitted. The multicast address range in the D class 530 used at this time is from 224.0.0.0 to 239.255.255.255.
이와 같은 IP 계층에서의 IP 멀티캐스트 주소 체계에 부응하여, IEEE 802 MAC 계층에는 하드웨어 멀티캐스트 주소라고 하는 멀티캐스트 주소가 제공된다.In response to this IP multicast addressing scheme in the IP layer, the IEEE 802 MAC layer is provided with a multicast address called a hardware multicast address.
도 6은 멀티캐스트 주소 매핑을 지원하는 IEEE 802.3 MAC 프레임 포맷을 보여주는 도면이다. 도 6을 참조하면, IEEE 802 MAC 프레임 포맷에서는 멀티캐스트 어드레스를 지정하기 위해, 수신지 어드레스의 상위 3바이트가 참조번호 621과 같이 "01-00-5E"와 같은 16진수로 시작하여, "01-00-5E-00-00-00" 부터 "01-00-5E-FF-FF-FF" 까지를 IP 멀티캐스트 그룹을 위해 할당한다. 그리고, 브로드캐스트 주소는, 수신지 어드레스(620)의 상위 3바이트가 참조번호 622와 같이 "FF-FF-FF" 값으로 세팅된다.FIG. 6 illustrates an IEEE 802.3 MAC frame format supporting multicast address mapping. Referring to Fig. 6, in order to specify a multicast address in the IEEE 802 MAC frame format, the upper three bytes of the destination address start with a hexadecimal number such as "01-00-5E", as shown by reference numeral 621, and "01." -00-5E-00-00-00 "through" 01-00-5E-FF-FF-FF "are allocated for the IP multicast group. In the broadcast address, the upper three bytes of the destination address 620 are set to a "FF-FF-FF" value as indicated by reference numeral 622.
이더넷 패킷은, 도 6에 도시된 바와 같이, 목적지를 표시하는 6 바이트의 수신지 어드레스(620)에 멀티캐스트 주소를 허용함으로써 멀티캐스트 패킷의 송신을 지원한다. 따라서, IP 그룹 어드레스는 이더넷 멀티캐스트 주소로의 변환이 가능하게 된다. 즉, D 클래스(530)의 IP 그룹 어드레스 하위 23비트는 16진수로 표시하였을 때, 이더넷 멀티캐스트 주소인 "01-00-5E-00-00-00"의 하위 23비트에 위치하도록 변환된다. "01-00-5E"의 값을 가지는 수신지 어드레스(620)의 상위 3바이트(621)는 해당 프레임이 멀티캐스트임을 나타내며, 바로 다음 비트는 항상 "0"의 값을 가진다. 따라서, 나머지 23 비트만이 멀티캐스트 주소를 위해 사용된다. 즉, 멀티캐스트 그룹의 IP는 28비트 길이이기 때문에 1 대 1 매핑은 불가능하고, 오직 D 클래스(530)의 IP 멀티캐스트 그룹 중 23개 하위 비트(LSB)만이 MAC 프레임의 수신지 어드레스(620)에 매핑된다. 이 때, D 클래스(530)의 나머지 5개의 상위 비트는 무시되고, 32 개의(25=32) 서로 다른 멀티캐스트 그룹이 이더넷이나 FDDI 수신지 어드레스의 멀티캐스트 주소에 동일하게 매핑된다. 이것은 이더넷 계층이 유니캐스트 패킷 및 멀티캐스트 패킷을 분류하기 위해 완전한 필터로 작용하지 못함을 의미한다. 따라서, IP 계층이 데이터 링크 계층을 통과해온 데이터를 받을 것인지 버릴 것인지 여부를 결정해야 한다.The Ethernet packet supports the transmission of multicast packets by allowing the multicast address to a six-byte destination address 620 indicating a destination, as shown in FIG. Therefore, the IP group address can be converted into an Ethernet multicast address. That is, the lower 23 bits of the IP group address of the D class 530 are converted to be located in the lower 23 bits of the Ethernet multicast address "01-00-5E-00-00-00" when expressed in hexadecimal. The upper three bytes 621 of the destination address 620 having a value of "01-00-5E" indicate that the frame is multicast, and the immediately following bit always has a value of "0". Thus, only the remaining 23 bits are used for the multicast address. That is, since the IP of the multicast group is 28 bits long, one-to-one mapping is impossible, and only 23 lower bits (LSBs) of the IP multicast group of the D class 530 have the destination address 620 of the MAC frame. Is mapped to. At this time, the remaining five high order bits of the D class 530 are ignored, and 32 (2 5 = 32) different multicast groups are mapped equally to the multicast addresses of the Ethernet or FDDI destination addresses. This means that the Ethernet layer does not act as a complete filter to classify unicast packets and multicast packets. Therefore, the IP layer must decide whether to receive or discard data that has passed through the data link layer.
도 7은 본 발명의 바람직한 실시예에 따른 입력제어장치의 내부 메시지 헤더의 포맷을 보여주는 도면이다. 도 7을 참조하면, 본 발명에 따른 입력제어장치의 내부 메시지 헤더 포맷은 총 1바이트로 구성된다.7 is a diagram illustrating a format of an internal message header of an input control apparatus according to an exemplary embodiment of the present invention. Referring to FIG. 7, the internal message header format of the input control apparatus according to the present invention includes a total of 1 byte.
도 4에 도시된 라인카드(401-40n)는, MAC 프레임의 수신지 어드레스 (620) 또는 IP 주소 체계의 헤더를 검사하여, 입력되는 패킷이 유니캐스트 패킷인지, 멀티캐스트 패킷 또는 브로드캐스트 패킷인지, 그리고 입력 패킷이 실시간을 요구하는 패킷인지, 아니면 전송시간과는 무관한 비실시간 패킷인지를 파악한 후, 1 바이트의 자체 헤더를 붙여 입력 제어장치(421-42n)에게 패킷들을 전송한다.The line card 401-40n shown in Fig. 4 checks the header of the destination address 620 or the IP address system of the MAC frame, and determines whether the input packet is a unicast packet, a multicast packet or a broadcast packet. After determining whether the input packet is a packet that requires real time or a non-real time packet irrelevant to the transmission time, the packet is transmitted to the input controllers 421-42n by attaching one byte of its own header.
도 7에 도시된 내부 메시지 헤더의 상위 2비트(710)는, 해당 패킷이 유니캐스트 패킷인지, 또는 멀티캐스트 또는 브로드캐스트 패킷인지 여부를 입력제어장치(421-42n)에 알려주는 역할을 수행한다. 그리고, 다음 1 비트(720)는 우선순위를 나타내기 위한 비트로서, 상기 패킷이 실시간 패킷인지 또는 비실시간 패킷인지 여부를 입력제어장치(421-42n)에게 알려주는 역할을 수행한다. 그리고, 하위 5비트(730)는 유니캐스트 패킷 전송시 해당 출력 포트번호를 인식하기 위해 제 1 및 제 2 저장부(4240a, 4240b)에서 사용되며, 상위 2비트(710)의 내부 메시지 헤더의 검사 결과, 입력 패킷이 멀티캐스트 패킷으로 판별된 경우, 제 3 및 제 4 저장부(4250a, 4250b)에 구비된 저장 제어부(425(n+1))에서 멀티캐스트 포워딩 테이블로부터 정보를 입력받아 해당 출력포트 그룹에게 패킷을 복사시키는 역할을 수행한다.The upper two bits 710 of the inner message header shown in FIG. 7 inform the input controller 421-42n whether the corresponding packet is a unicast packet or a multicast or broadcast packet. . The next 1 bit 720 is a bit for indicating a priority, and informs the input control apparatuses 421-42n whether the packet is a real time packet or a non real time packet. The lower 5 bits 730 are used by the first and second storage units 4240a and 4240b to recognize the corresponding output port number when the unicast packet is transmitted, and check the internal message header of the upper 2 bits 710. As a result, when the input packet is determined to be a multicast packet, the storage control unit 425 (n + 1) provided in the third and fourth storage units 4250a and 4250b receives information from the multicast forwarding table and outputs the corresponding information. Copies packets to port groups.
도 8은 본 발명의 바람직한 실시예에 따른 패킷 스위치 시스템의 입력 제어장치의 블록도이다. 도 8을 참조하면, 본 발명에 따른 패킷 스위치 시스템의 입력제어장치는, 제 1 디멀티플렉서(4200), 제 1 및 제 2 제어부(4210, 4220), 제 1 및 제 2 멀티플렉서(4270a, 4270b), 포트 선택 제어부(4280), 및 제 3 멀티플렉서(4290)로 구성된다.8 is a block diagram of an input control apparatus of a packet switch system according to a preferred embodiment of the present invention. Referring to FIG. 8, an input control apparatus of a packet switch system according to the present invention includes a first demultiplexer 4200, first and second controllers 4210 and 4220, first and second multiplexers 4270a and 4270b, A port selection controller 4280 and a third multiplexer 4290.
제 1 디멀티플렉서(4200)는 입력되는 패킷을 유니캐스트 패킷과, 멀티캐스트 또는 브로드캐스트 패킷으로 구분하고, 구분된 패킷을 제 1 제어부(4210)와 제 2 제어부(4220)로 출력한다.The first demultiplexer 4200 divides an input packet into a unicast packet and a multicast or broadcast packet, and outputs the divided packet to the first control unit 4210 and the second control unit 4220.
제 1 제어부(4210)는 제 2 디멀티플렉서(4231a)와 제 1 및 제 2 저장부(4240a, 4240b)로 구성된다. 제 2 디멀티플렉서(4231a)는 제 1 디멀티플렉서(4200)로부터 입력된 유니캐스트 패킷을 실시간 트래픽과 비실시간 트래픽으로 분리한다. 제 1 및 제 2 저장부(4240a, 4240b)는 제 2 디멀티플렉서(4231a)로부터 출력되는 실시간 및 비실시간 트래픽들을 각각의 출력포트별로 분류하여 저장하고, 이를 선택하여 출력한다.The first control unit 4210 includes a second demultiplexer 4231a and first and second storage units 4240a and 4240b. The second demultiplexer 4231a separates the unicast packet input from the first demultiplexer 4200 into real-time traffic and non-real-time traffic. The first and second storage units 4240a and 4240b classify and store the real-time and non-real-time traffic output from the second demultiplexer 4231a for each output port, and select and output the traffic.
제 2 제어부(4220)는 선택기(4232), 제 3 디멀티플렉서(4231b), 제 3 및 제 4 저장부(4250a, 4250b), 및 제 5 및 제 6 저장부(4260a, 4260b)로 구성된다. 선택기(4232)는 제 1 디멀티플렉서(4200)로부터 입력되는 패킷이 멀티캐스트 패킷인지 또는 브로드캐스트 패킷인지를 인식하는 역할을 수행한다. 제 3 디멀티플렉서(4231b)는 선택기(4232)에 의해 인식된 멀티캐스트 및 브로드캐스트 패킷을 각각 실시간 트래픽과 비실시간 트래픽으로 분리하는 역할을 수행한다. 제 3 및 제 4 저장부(4250a, 4250b)는 제 3 디멀티플렉서(4231b)를 통해 출력된 트래픽들을 패킷 특성에 따라서 해당 그룹 또는 각각의 출력포트에 대응되는 버퍼에 복사하여 저장한다. 그리고, 제 5 및 제 6 저장부(4260a, 4260b)는 제 3 및 제 4 저장부(4250a, 4250b)를 통해 전달되는 패킷들을 각각의 출력포트에 대응되는 버퍼에 저장하고, 이를 선택하여 출력한다.The second control unit 4220 includes a selector 4322, a third demultiplexer 4231b, third and fourth storage units 4250a and 4250b, and fifth and sixth storage units 4260a and 4260b. The selector 4232 performs a role of recognizing whether a packet input from the first demultiplexer 4200 is a multicast packet or a broadcast packet. The third demultiplexer 4231b separates the multicast and broadcast packets recognized by the selector 4232 into real-time traffic and non-real-time traffic, respectively. The third and fourth storage units 4250a and 4250b copy and output the traffic output through the third demultiplexer 4231b into a buffer corresponding to the corresponding group or each output port according to packet characteristics. The fifth and sixth storage units 4260a and 4260b store packets transmitted through the third and fourth storage units 4250a and 4250b in buffers corresponding to the respective output ports, and select and output the packets. .
제 1 멀티플렉서(4270a)는 제 1 제어부(4210)의 제 1 저장부(4240a)와, 제 2 제어부(4220)의 제 5 저장부(4260a)에 연결되어, 제 1 저장부(4240a) 및 제 5 저장부(4260a)로부터 출력되는 실시간 트래픽을 선택한다.The first multiplexer 4270a is connected to the first storage unit 4240a of the first control unit 4210 and the fifth storage unit 4260a of the second control unit 4220, so that the first storage unit 4240a and the first multiplexer 4270a are connected. 5 Select the real-time traffic output from the storage 4260a.
제 2 멀티플렉서(4270b)는 제 1 제어부(4210)의 제 2 저장부(4240b)와, 제 2 제어부(4220)의 제 6 저장부(4260b)에 연결되어, 제 2 저장부(4240b) 및 제 6 저장부(4260b)로부터 출력되는 비실시간 트래픽을 선택한다.The second multiplexer 4270b is connected to the second storage unit 4240b of the first control unit 4210 and the sixth storage unit 4260b of the second control unit 4220, and thus, the second storage unit 4240b and the second storage unit 4270b are connected to each other. 6 Select the non-real time traffic output from the storage unit 4260b.
제 3 멀티플렉서(4290)는 제 1 멀티플렉서(4270a)에서 출력되는 실시간 패킷과 제 2 멀티플렉서(4270b)에서 출력되는 비실시간 패킷 중 어느 하나를 선택하여 스위치 패브릭(431)으로 전달한다.The third multiplexer 4290 selects one of a real time packet output from the first multiplexer 4270a and a non-real time packet output from the second multiplexer 4270b and transmits the selected packet to the switch fabric 431.
포트선택 제어부(4280)는 스위치 패브릭(431) 내에 구비된 크로스바 스케쥴러와(432)의 포트 중재를 위한 통신을 수행하며, 상기 제 1 및 제 3 저장 부(4240a/b, 4260a/b), 제 1 및 제 2 멀티플렉서(4270a/b), 및 제 3 멀티플렉서(4290)의 동작을 제어한다.The port selection controller 4280 performs communication for port arbitration with the crossbar scheduler 432 provided in the switch fabric 431, and the first and third storage units 4240a / b and 4260a / b. The operation of the first and second multiplexers 4270a / b and the third multiplexer 4290 is controlled.
이와 같은 구성을 갖는 입력 제어장치의 동작에 대해 상세히 설명하면 다음과 같다.Referring to the operation of the input control device having such a configuration in detail as follows.
먼저, 제 1 디멀티플렉서(4200)는 입력 패킷을 유니캐스트 패킷과, 멀티캐스트 또는 브로드캐스트 패킷으로 분리한다. 그리고, 유니캐스트 패킷은 제 1제어부(4210)로 출력하고, 멀티캐스트 패킷 및 브로드캐스트 패킷은 제 2 제어부(4220)로 각각 출력한다.First, the first demultiplexer 4200 separates an input packet into a unicast packet and a multicast or broadcast packet. The unicast packet is output to the first controller 4210, and the multicast packet and broadcast packet are output to the second controller 4220, respectively.
제 1 제어부(4210)는, 제 1 디멀티플렉서(4200)로부터 입력된 유니캐스트 패킷을 제 2 디멀티플렉서(4231a)를 통해 실시간 패킷과 비실시간 패킷으로 분리하고, 분리된 패킷을 제 1 저장부(4240a)와 제 2 저장부(4240b)로 각각 전송한다. 제 1 및 제 2 저장부(4240a, 4240b)는 패킷의 목적지 주소를 읽어들이고, 각각이 해당 목적지를 나타내는 복수의 버퍼들(4241-424n)에게 상기 패킷을 저장한 후, 소정의 패킷을 선택하여 출력한다. 제 1 저장부(4240a)로부터 출력되는 실시간 패킷은 제 1 멀티플렉서(4270a)로 입력되고, 제 2 저장부(4240b)로부터 출력되는 비실시간 패킷은 제 2 멀티플렉서(4270b)로 각각 입력된다.The first control unit 4210 separates the unicast packet input from the first demultiplexer 4200 into a real time packet and a non-real time packet through the second demultiplexer 4231a, and divides the separated packet into the first storage unit 4240a. And the second storage unit 4240b. The first and second storage units 4240a and 4240b read the destination address of the packet, store the packet in a plurality of buffers 4241-424n each representing a corresponding destination, and then select a predetermined packet. Output The real time packets output from the first storage unit 4240a are input to the first multiplexer 4270a, and the non-real time packets output from the second storage unit 4240b are respectively input to the second multiplexer 4270b.
제 2 제어부(4220)는, 제 1 디멀티플렉서(4200)로부터 입력된 패킷들이 멀티캐스트 패킷인지 또는 브로드캐스트 패킷인지의 여부를 선택기(4232)를 통해 인식한다. 제 3 디멀티플렉서(4231b)는 선택기(4232)로부터 출력되는 패킷을 실시간 패킷과 비실시간 패킷으로 분리한다. 제 3 디멀티플렉서(4231b)에 의해 분리된 실시간 패킷은, 제 3 저장부(4250a) 및 제 5 저장부(4260a)를 거쳐 제 1 멀티플렉서(4270a)로 입력된다. 그리고, 제 3 디멀티플렉서(4231b)에 의해 분리된 비실시간 패킷은 제 4 저장부(4250b) 및 제 6 저장부(4260b)를 거쳐 제 2 멀티플렉서(4270b)로 입력된다. 제 3 및 제 4 저장부(4250a, 4250b)는, 입력된 패킷이 멀티캐스트 패킷인지 또는 브로드캐스트 패킷인지 여부를 선택기(4232)로부터 통보 받는다. 제 3 및 제 4 저장부(4250a, 4250b)는 입력된 패킷이 멀티캐스트 패킷일 때에는 멀티캐스트 포워딩 테이블을 검색하여 입력 패킷을 모든 출력포트 또는 해당 그룹 출력포트에게 패킷을 복사한다. 그리고, 복사된 패킷을 각각의 출력 목적지에 대응되는 복수 개의 버퍼들(4251-425n)에게 저장한 후, 해당 패킷들을 제 5 및 제 6 저장부(4260a, 4260b)로 전달한다. 제 5 및 제 6 저장부(4260a, 4260b)는 입력되는 패킷들을 각각의 해당 목적지를 나타내는 복수 개의 버퍼(4261-426n)들에게 저장한다. 제 5 저장부(4260a)는 버퍼(4261-426n)들에 저장되어 있는 실시간 패킷을 선택하여 제 1 멀티플렉서(4270a)로 출력하고, 제 6 저장부(4260b)는 버퍼(4261-426n)들에 저장되어 있는 비실시간 패킷을 선택하여 제 2 멀티플렉서(4270b)로 각각 출력한다.The second controller 4220 recognizes whether the packets input from the first demultiplexer 4200 are multicast packets or broadcast packets through the selector 4232. The third demultiplexer 4231b divides the packet output from the selector 4232 into a real time packet and a non real time packet. The real time packet separated by the third demultiplexer 4231b is input to the first multiplexer 4270a via the third storage unit 4250a and the fifth storage unit 4260a. The non-real time packet separated by the third demultiplexer 4231b is input to the second multiplexer 4270b via the fourth storage unit 4250b and the sixth storage unit 4260b. The third and fourth storage units 4250a and 4250b are notified by the selector 4232 whether the input packet is a multicast packet or a broadcast packet. When the input packet is a multicast packet, the third and fourth storage units 4250a and 4250b search the multicast forwarding table and copy the input packet to all output ports or corresponding group output ports. After the copied packet is stored in the plurality of buffers 4251-425n corresponding to each output destination, the packets are transferred to the fifth and sixth storage units 4260a and 4260b. The fifth and sixth storage units 4260a and 4260b store the input packets in a plurality of buffers 441-426n indicating respective destinations. The fifth storage unit 4260a selects the real-time packets stored in the buffers 4426-426n and outputs them to the first multiplexer 4270a. The sixth storage unit 4260b stores the buffers 4426-426n. The stored non-real time packets are selected and output to the second multiplexer 4270b, respectively.
제 1 멀티플렉서(4270a)는, 포트선택 제어부(4280)의 제어신호에 응답해서 제 1 제어부(4210)의 제 1 저장부(4240a)와 제 2 제어부(4220)의 제 5 저장부(4260a)로부터 입력되는 실시간 트래픽을 제 3 멀티플렉서(4290)로 출력한다.The first multiplexer 4270a receives the first multiplexer 4240a of the first control unit 4210 and the fifth storage unit 4260a of the second control unit 4220 in response to a control signal of the port selection control unit 4280. The input real-time traffic is output to the third multiplexer 4290.
제 2 멀티플렉서(4270b)는, 포트선택 제어부(4280)의 제어신호에 응답해서 제 1 제어부(4210)의 제 2 저장부(4240b)와 제 2 제어부(4220)의 제 6 저장부(4260b)로부터 입력되는 비실시간 트래픽을 제 3 멀티플렉서(4290)로 출력한다.The second multiplexer 4270b receives the second multiplexer 4240b of the first control unit 4210 and the sixth storage unit 4260b of the second control unit 4220 in response to a control signal of the port selection control unit 4280. The input non-real time traffic is output to the third multiplexer 4290.
제 3 멀티플렉서(4290)는, 포트선택 제어부(4280)의 제어신호에 응답해서, 입력된 패킷들을 실시간 패킷, 비실시간 패킷의 우선순위에 따라 패킷 스위치 시스템에게 전달한다.The third multiplexer 4290 transmits the input packets to the packet switch system according to the priority of the real time packet and the non-real time packet in response to the control signal of the port selection controller 4280.
포트선택제어부(4280)는, 제 1 및 제 2 저장부(4240a, 4240b), 제 5 및 제 6 저장부(4260a, 4260b), 및 제 1 내지 제 3 멀티플렉서(4270a, 4270b, 4290)를 제어하기 위해서, 크로스바 스케쥴러(432)와 포트 중재를 위한 통신을 수행한다. 그 결과, 포트선택제어부(4280)는 각각의 목적지에 대한 요구(Request)가 동시에 선택될 때 발생되는 내부 블로킹으로 인해 패킷 스위치 시스템의 성능이 저하되는 것을 방지한다.The port selection controller 4280 controls the first and second storage units 4240a and 4240b, the fifth and sixth storage units 4260a and 4260b, and the first to third multiplexers 4270a, 4270b and 4290. In order to do so, communication with the crossbar scheduler 432 for port arbitration is performed. As a result, the port selection controller 4280 prevents the performance of the packet switch system from deteriorating due to internal blocking that occurs when a request for each destination is selected at the same time.
그리고, 포트선택제어부(4280)는 실시간 패킷들(4240a, 4260a)이 저장되어 있는 큐들에 대해 우선적인 스케쥴링을 수행하고, 그리고 나서 해당 목적지별 요구(Request)가 특정 시간 안에 서비스 될 수 있도록 비실시간 패킷들(4240b, 4260b)에 대해 공평 스케쥴링이 수행되도록 한다. 예를 들어, 제 1 저장부(4240a)의 1번 목적지를 가지는 큐(4241)가 포트선택제어부(4280)에 의해 스케쥴링 되도록 선택되어 있다면, 1번 목적지 큐(4241)를 나타내는 포트선택제어부(4280)의 포인터가 1이 증가하게 되고, 나머지 목적지를 가지는 큐들(4242-424n, 4261-426n)의 포인터는 변하지 않게 된다. 여기서, 포인터 값이 변하지 않은 목적지를 가지는 큐들(4242-424n, 4261-426n)은, 다음 스케쥴링을 위해서 포트선택제어부(4280)의 해당 포인터 값에 따라 제어를 받게 되어, 공평한 스케쥴링이 제공되어진다.The port selection controller 4280 performs preferential scheduling on the queues in which the real time packets 4240a and 4260a are stored, and then performs a non-real time operation so that a request for each destination can be serviced within a specific time. Allow fair scheduling to be performed on packets 4240b and 4260b. For example, if the queue 4241 having the destination 1 of the first storage unit 4240a is selected to be scheduled by the port selection controller 4280, the port selection controller 4280 that represents the destination 1 queue 4241. ) Increases by 1, and the pointers of the queues 4242-424n and 4261-426n having the remaining destinations do not change. Here, the queues 4242-424n and 4261-426n having destinations whose pointer values do not change are controlled according to the corresponding pointer values of the port selection controller 4280 for the next scheduling, thereby providing fair scheduling.
도 9는 본 발명에 따른 입력 제어장치에서 수행되는 동작을 설명하는 흐름도이다. 도 9를 참조하면, 본 발명에 따른 입력 제어장치는, 먼저 라인 카드로부터 입력되는 패킷을 입력받고(4201 단계), 입력된 패킷이 유니캐스트 패킷인지 여부를 판별한다(4202 단계).9 is a flowchart illustrating an operation performed in the input control apparatus according to the present invention. Referring to FIG. 9, the input control apparatus according to the present invention first receives a packet input from a line card (step 4201) and determines whether the input packet is a unicast packet (step 4202).
4202 단계에서의 판별 결과, 입력된 패킷이 유니캐스트 패킷이면, 상기 유니캐스트 패킷이 실시간 패킷인지 비실시간 패킷인지 여부를 판별한다(4211 단계).If it is determined in step 4202 that the input packet is a unicast packet, it is determined whether the unicast packet is a real time packet or a non-real time packet (step 4211).
4211 단계에서의 판별 결과, 유니캐스트 패킷이 실시간 패킷이면 가상출력큐(VOQ)에 패킷을 할당하고(4223 단계), 할당된 실시간 패킷이 저장되어 있는 가상출력큐(VOQ)에 대해 우선 스케쥴링을 수행한다(4224 단계). 그리고 나서, 해당 패킷을 선택하여(4225 단계) 출력한다(4226 단계).As a result of the determination in step 4211, if the unicast packet is a real time packet, the packet is allocated to the virtual output queue (VOQ) (step 4223), and the scheduling is first performed on the virtual output queue (VOQ) in which the allocated real time packet is stored. (Step 4224). Then, the packet is selected (step 4225) and output (step 4262).
4211 단계에서의 판별 결과, 유니캐스트 패킷이 비실시간 패킷이면 가상출력큐(VOQ)에 패킷을 할당하고(4212 단계), 할당된 비실시간 패킷이 저장되어 있는 가상출력큐(VOQ)들에 대해 공평 스케쥴링을 수행한다(4229 단계). 그리고 나서, 해당 패킷을 선택하여(4225 단계) 출력한다(4226 단계).As a result of the determination in step 4211, if the unicast packet is a non-real time packet, the packet is allocated to the virtual output queue (VOQ) (step 4212), and the fairness is given to the virtual output queues (VOQ) in which the allocated non-real time packet is stored. The scheduling is performed (step 4229). Then, the packet is selected (step 4225) and output (step 4262).
그리고, 4202 단계에서의 판별 결과, 입력된 패킷이 멀티캐스트 패킷 또는 브로드캐스트 패킷이면, 상기 패킷이 실시간 패킷인지 비실시간 패킷인지 여부를 판별한다(4221 단계).As a result of the determination in step 4202, if the input packet is a multicast packet or a broadcast packet, it is determined whether the packet is a real time packet or a non-real time packet (step 4221).
4221 단계에서의 판별 결과, 상기 패킷이 실시간 패킷이면, 멀티캐스트 및 브로드캐스트 패킷들을 각각의 출력포트별로 패킷을 복사하고(4222 단계), 가상출력큐(VOQ)에게 상기 패킷을 할당한다(4223 단계). 이어서, 실시간 패킷들이 저장된 가상출력큐(VOQ)에 대해 우선 스케쥴링을 수행한다(4224 단계). 그리고, 패킷을 선택하여(4225 단계) 출력한다(4226 단계).As a result of the determination in step 4221, if the packet is a real-time packet, multicast and broadcast packets are copied to each output port (step 4202), and the packet is allocated to a virtual output queue (VOQ) (step 4223). ). Subsequently, scheduling is performed on the virtual output queue VOQ in which the real-time packets are stored (step 4224). Then, the packet is selected (step 4225) and output (step 4226).
4221 단계에서의 판별 결과, 상기 패킷이 비실시간 패킷이면, 멀티캐스트 및 브로드캐스트 패킷들을 각각의 출력포트별로 패킷을 복사하고(4227 단계), 가상출력큐(VOQ)에게 상기 패킷을 할당한다(4228 단계). 이어서, 해당 목적지별 요구(Request)가 특정 시간 안에 서비스 될 수 있도록 비실시간 패킷들에 대해 공평 스케쥴링을 수행한다(4229 단계). 그리고 나서, 해당 패킷을 선택하여(4225 단계) 출력한다(4226 단계).As a result of the determination in step 4221, if the packet is a non-real time packet, the multicast and broadcast packets are copied to each output port (step 4227), and the packet is allocated to a virtual output queue (VOQ) (4228). step). Subsequently, fair scheduling is performed on non-real time packets so that the corresponding destination request can be serviced within a specific time (step 4229). Then, the packet is selected (step 4225) and output (step 4262).
앞에서 설명한 바와 같이, 본 발명에 의한 패킷 스위치 시스템의 입력 제어장치 및 방법은, 스위치 패브릭 앞단에서 입력 패킷들을 유니캐스트 패킷과, 멀티캐스트 또는 브로드캐스트 패킷으로 분류하여 스위칭을 수행한다. 그리고, 실시간 트래픽과 비실시간 트래픽을 우선순위별로 스케쥴링 하여, 공평성 있는 스위칭을 제공한다.As described above, the input control apparatus and method of the packet switch system according to the present invention performs switching by classifying the input packets into unicast packets and multicast or broadcast packets at the front of the switch fabric. In addition, real-time traffic and non-real-time traffic are scheduled by priority, thereby providing fair switching.
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드로 저장되고 실행될 수 있다.The invention can also be embodied as computer readable code on a computer readable recording medium. The computer-readable recording medium includes all kinds of recording devices in which data that can be read by a computer system is stored. Examples of computer-readable recording media include ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage, and the like, and may also be implemented in the form of a carrier wave (for example, transmission over the Internet). Include. The computer readable recording medium can also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.
이상에 설명한 바와 같이, 본 발명에 의한 패킷 스위치 시스템의 입력 제어장치 및 방법에 의하면, 입력패킷들을 유니캐스트 패킷과, 멀티캐스트 또는 브로드캐스트 패킷으로 분류하여 스위칭하므로, 네트워크의 활용성이 높아진다.As described above, according to the input control apparatus and method of the packet switch system according to the present invention, since the input packets are classified into unicast packets and multicast or broadcast packets and switched, the utilization of the network is increased.
그리고, 실시간 트래픽과 비실시간 트래픽을 우선순위별로 스케쥴링 하여 스위칭 요구를 하므로, 내부 동작속도의 증가 없이 스위치 시스템의 효율 및 성능이 높아진다.In addition, since switching requests are scheduled by prioritizing real-time traffic and non-real-time traffic, the efficiency and performance of the switch system are increased without increasing the internal operation speed.
Claims (9)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2002-0018497A KR100441883B1 (en) | 2002-04-04 | 2002-04-04 | Apparatus and method for Ingress control of packet switch system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2002-0018497A KR100441883B1 (en) | 2002-04-04 | 2002-04-04 | Apparatus and method for Ingress control of packet switch system |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20030079454A true KR20030079454A (en) | 2003-10-10 |
KR100441883B1 KR100441883B1 (en) | 2004-07-27 |
Family
ID=32377824
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR10-2002-0018497A KR100441883B1 (en) | 2002-04-04 | 2002-04-04 | Apparatus and method for Ingress control of packet switch system |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100441883B1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050104666A (en) * | 2004-04-29 | 2005-11-03 | 삼성전자주식회사 | Ethernet mac adaptation apparatus for real time service and its data transmitting method |
KR100772172B1 (en) * | 2005-11-21 | 2007-10-31 | 한국전자통신연구원 | Switching method and apparatus of real-time multicast packet stream, and ethernet switching system using the same |
KR101390092B1 (en) * | 2011-12-01 | 2014-04-29 | 연세대학교 산학협력단 | Network relay apparatus having virtual output queue and the control method thereof |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2967767B2 (en) * | 1997-08-08 | 1999-10-25 | 日本電気株式会社 | Scheduling method in ATM switch |
JP3449302B2 (en) * | 1999-07-08 | 2003-09-22 | 日本電気株式会社 | Cell transmission method and switch device |
KR100355455B1 (en) * | 1999-07-21 | 2002-10-11 | 한국전자통신연구원 | ATM Switching Apparatus having Dynamic QoS control |
KR100384895B1 (en) * | 1999-09-16 | 2003-05-22 | 한국전자통신연구원 | Look-up apparatus and its method for processing multi-layer parallel in communication system |
KR100356015B1 (en) * | 1999-11-29 | 2002-10-18 | 한국전자통신연구원 | Packet switch system structure for reducing to reduce a blocking problem of broadcast packets |
KR100372231B1 (en) * | 2000-06-07 | 2003-02-17 | 한국과학기술원 | Quasi-Shared Buffering Type Multicast ATM Switch Module Architecture with Two QoS Classes |
-
2002
- 2002-04-04 KR KR10-2002-0018497A patent/KR100441883B1/en not_active IP Right Cessation
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050104666A (en) * | 2004-04-29 | 2005-11-03 | 삼성전자주식회사 | Ethernet mac adaptation apparatus for real time service and its data transmitting method |
KR100772172B1 (en) * | 2005-11-21 | 2007-10-31 | 한국전자통신연구원 | Switching method and apparatus of real-time multicast packet stream, and ethernet switching system using the same |
KR101390092B1 (en) * | 2011-12-01 | 2014-04-29 | 연세대학교 산학협력단 | Network relay apparatus having virtual output queue and the control method thereof |
Also Published As
Publication number | Publication date |
---|---|
KR100441883B1 (en) | 2004-07-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7058751B2 (en) | Packet switch | |
CA2310909C (en) | Packet switching apparatus and method in data network | |
EP0471344B1 (en) | Traffic shaping method and circuit | |
US9094327B2 (en) | Prioritization and preemption of data frames over a switching fabric | |
US5412648A (en) | Packet switching system for forwarding packets from input buffers using idle/busy status of output buffers | |
JP3866425B2 (en) | Packet switch | |
JP3354689B2 (en) | ATM exchange, exchange and switching path setting method thereof | |
US6865155B1 (en) | Method and apparatus for transmitting data through a switch fabric according to detected congestion | |
US20020006129A1 (en) | ATM switching system and cell control method | |
US20020122424A1 (en) | Input line interface device and packet communication device | |
JP4320980B2 (en) | Packet communication device | |
US6661803B1 (en) | Network switch including bandwidth controller | |
JPH10200550A (en) | Cell scheduling method and its device | |
JPH10126419A (en) | Atm exchange system | |
US6658014B1 (en) | Packet buffer device and packet assembling method | |
US6754216B1 (en) | Method and apparatus for detecting congestion and controlling the transmission of cells across a data packet switch | |
US6963563B1 (en) | Method and apparatus for transmitting cells across a switch in unicast and multicast modes | |
KR100441883B1 (en) | Apparatus and method for Ingress control of packet switch system | |
US20030072268A1 (en) | Ring network system | |
KR100572696B1 (en) | Aggregation switch for broadband subscribers | |
CN116755624A (en) | Communication method and system based on FC equipment multi-partition independent cache | |
KR100384996B1 (en) | Apparatus and Method for packet switching using ATM cell switching | |
JPH11122257A (en) | Common buffer switch | |
KR100355455B1 (en) | ATM Switching Apparatus having Dynamic QoS control | |
KR100378372B1 (en) | Apparatus and method for packet switching in data network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20080701 Year of fee payment: 5 |
|
LAPS | Lapse due to unpaid annual fee |