KR100334811B1 - Flow control method in packet switched network - Google Patents

Flow control method in packet switched network Download PDF

Info

Publication number
KR100334811B1
KR100334811B1 KR1019990044077A KR19990044077A KR100334811B1 KR 100334811 B1 KR100334811 B1 KR 100334811B1 KR 1019990044077 A KR1019990044077 A KR 1019990044077A KR 19990044077 A KR19990044077 A KR 19990044077A KR 100334811 B1 KR100334811 B1 KR 100334811B1
Authority
KR
South Korea
Prior art keywords
input port
shared memory
ethernet switch
upstream device
pause
Prior art date
Application number
KR1019990044077A
Other languages
Korean (ko)
Other versions
KR20000029008A (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 KR1019990044077A priority Critical patent/KR100334811B1/en
Publication of KR20000029008A publication Critical patent/KR20000029008A/en
Application granted granted Critical
Publication of KR100334811B1 publication Critical patent/KR100334811B1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/30Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion

Abstract

본 발명은, 패킷 스위치 네트워크에서 전이중통신방식 모드를 채용한 다운 스트림 장치에 해당하는 이더넷 스위치가 업 스트림장치에 해당하는 복수의 이더넷 스위치들에 대응되어 각각 연결된 입력포트들을 통해 인가되는 패킷 데이터를 저장하는 공유메모리를 포함하고 있으며 상기 공유 메모리로부터 패킷 데이터를 독출하여 목적지의 업스트림 장치의 이더넷 스위치로 송신하는 이더넷 스위치에서의 흐름 제어방법에 있어서, 상기 다운 스트림 장치에 해당하는 이더넷 스위치가 상기 공유메모리의 버퍼상태를 검사하는 과정과, 상기 버퍼상태가 버퍼 풀이면 미리 설정된 포즈시간을 포함한 포즈 프레임 데이터를 상기 업스트림장치에 해당하는 복수의 이더넷 스위치들로 전송하고, 상기 업스트림장치에서의 예상 포즈 시간을 카운트하는 과정과, 상기 예상 포즈 시간 기간이 경과하면 상기 공유 메모리의 버퍼 상태를 재차 검사하는 과정과, 상기 재차 검사한 버퍼상태가 버퍼 풀이면 상기 포즈 프레임 데이터를 상기 업스트림장치에 해당하는 모든 이더넷 스위치들로 재차 전송하고, 상기 업스트림장치에서의 예상 포즈 시간을 재차 카운트하는 과정으로 이루어 진다.According to the present invention, an Ethernet switch corresponding to a downstream device employing a full duplex mode in a packet switch network stores packet data applied through input ports connected to a plurality of Ethernet switches corresponding to an upstream device, respectively. A flow control method in an Ethernet switch including a shared memory for reading out packet data from the shared memory and transmitting the packet data to an Ethernet switch of an upstream device of a destination, wherein the Ethernet switch corresponding to the downstream device is configured to include the shared memory. Checking a buffer state, and if the buffer state is a buffer pool, transmit pause frame data including a preset pause time to a plurality of Ethernet switches corresponding to the upstream device, and count an estimated pause time in the upstream device. Process, Re-checking the buffer state of the shared memory when the expected pause time period elapses; and if the checked buffer state is a buffer pool, transmitting the pause frame data to all Ethernet switches corresponding to the upstream device again. And counting the estimated pause time in the upstream device again.

Description

패킷 스위치 네트워크에서의 흐름 제어 방법{FLOW CONTROL METHOD IN PACKET SWITCHED NETWORK}Flow control method in packet switch network {FLOW CONTROL METHOD IN PACKET SWITCHED NETWORK}

본 발명은 패킷 스위치 네트워크(packet switched network)에 관한 것으로, 특히 이더넷과 같은 근거리 통신망(LAN: Local Area Network) 상에서 패킷 손실을 최소화하고, 대역폭(bandwidth)을 각 입력포트가 공정하게 공유하기 위한 랜 장치내의 흐름제어 방법에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a packet switched network. In particular, the present invention relates to a LAN for minimizing packet loss on a local area network (LAN), such as Ethernet, and fairly sharing bandwidth between input ports. The present invention relates to a flow control method in a device.

이더넷에서 통상적인 혼잡해결 방법으로서는 백 프레스(back-pressure) 방법과 포즈 프레임 전송(pause frame transfer)방법이 있다. 이중에서 백 프레스 방법은 이더넷 스위치 장치가 반이중통신방식 모드(half-duplex mode)일 때 사용된다. MAC(Media Access Control) 제어 프레임중 하나로서 IEEE 802.3x 표준화로 정의되어 있는 포즈 프레임 전송 방법은 전이중통신방식 모드(full-duplex mode)일 때 사용된다. 이들 두 기술은 공통적으로 이더넷 스위치 장치의 버퍼 용량이 한계에 달하면 혼잡상태로 되면서, 상기 이더넷 스위치 장치로 패킷을 보내는 다른 모든 이더넷 스위치 장치들에게 당분간 패킷을 보내지 않도록 흐름 제어한다.Common congestion resolution methods in Ethernet include a back-pressure method and a pause frame transfer method. Dual back press method is used when Ethernet switch device is in half-duplex mode. The pause frame transmission method defined by the IEEE 802.3x standard as one of the MAC (Media Access Control) control frames is used when the full-duplex mode. Both of these techniques are congested when the buffer capacity of the Ethernet switch device reaches its limit, and flow control does not send the packet to all other Ethernet switch devices that send packets to the Ethernet switch device for the time being.

패킷을 보내지 않도록 흐름 제어하는 상기 백프레스 방법과 포즈 프레임 전송 방법에 대해 보다 상세히 설명하면 하기와 같다.The backpress method and the pause frame transmission method of controlling flow so as not to send a packet will be described in detail as follows.

먼저, 백프레스 방법은 CSMA/CD(Carrier Sense Multiple Access with Collision Detection) 액세스방식에서 전송 충돌(transmit collision)을 확인하기 위해 재밍 신호(jamming signal)를 이용한다. 이것은 어떤 이더넷 스위치 장치이건 재밍 신호를 감지하면 충돌로 인식하는 방법이다. 이더넷 스위치 장치(다운 스트림 장치)가 혼잡 상태가 되어 충돌로 인식하게 되면, 백프레스 즉, 재밍 신호를 전송함으로서 같은 세그먼트상의 모든 다른 이더넷 스위치 장치들(업 스트림 장치들)에게 미리 정해진 불규칙한 백 오프(back off) 시간동안 패킷의 전송을 중지토록 하는 것이다.First, the back press method uses a jamming signal to identify a transmission collision in a carrier sense multiple access with collision detection (CSMA / CD) access scheme. This is how any Ethernet switch device detects a jamming signal and recognizes it as a collision. When an Ethernet switch device (downstream device) becomes congested and perceived as a collision, it sends a back press, i.e., a jamming signal, to a predetermined irregular back off to all other Ethernet switch devices (upstream devices) on the same segment. back off) to stop sending packets.

반면에 포즈 프레임 전송 방법은 IEEE 802.3x 표준화에서 처음으로 정의된 MAC 제어 프레임의 하나인 포즈 프레임을 이용한다. 이 방법에서는 이더넷 스위치 장치(다운 스트림장치)가 혼잡 상태가 되면 같은 세그먼트상의 모든 다른 이더넷 스위치장치들(업 스트림장치들)에게 특정 포즈 프레임을 전송하고, 상기 전송된 포즈 프레임을 받은 이더넷 스위치 장치들(업스트림 장치들)은 포즈 프레임내에 기록된 포즈 시간동안 패킷 전송을 멈추게 한다.On the other hand, the pause frame transmission method uses a pause frame, which is one of the MAC control frames first defined in the IEEE 802.3x standard. In this method, when an Ethernet switch device (downstream device) becomes congested, a specific pause frame is transmitted to all other Ethernet switch devices (upstream devices) on the same segment, and the Ethernet switch devices that receive the transmitted pause frame. (Upstream devices) stop packet transmission during the pause time recorded in the pause frame.

상술한 바와 같은 기존의 백프레스 방법과 포즈 프레임 전송 방법은 이더넷 장치(다운스트림 장치)가 단순히 공유버퍼의 풀(full)상태 여부만을 확인하고, 풀 상태인 경우에는 혼잡 상태로 정의하고 그에 따른 상기와 같은 흐름 제어를 수행한다. 상기 재밍 신호와 포즈 프레임은 복수의 이더넷 스위치장치들(업스트림 장치들) 각각에 대응되어 연결된 입력 포트들을 통해 상기 복수의 이더넷 스위치장치들(업스트림 장치들) 각각에 전달된다. 그러므로 종래기술과 같은 흐름제어방법은 혼잡의 소오스를 제공하지 않았던 이더넷 스위치장치(업스트림 장치)로부터의 패킷 전송도 막는 단점이 있다.In the conventional back press method and the pause frame transmission method as described above, the Ethernet device (downstream device) simply checks whether the shared buffer is in the full state, and in the full state, defines it as a congestion state. Perform flow control such as The jamming signal and the pause frame are transmitted to each of the plurality of Ethernet switch devices (upstream devices) through input ports connected to the plurality of Ethernet switch devices (upstream devices). Therefore, the flow control method as in the prior art also has a disadvantage of preventing packet transmission from the Ethernet switch device (upstream device), which did not provide a source of congestion.

따라서 본 발명의 목적은 이더넷 스위치내 각 입력포트간의 공평한 버퍼 용량을 공유하도록 하기 위한 방법을 제공하는데 있다.It is therefore an object of the present invention to provide a method for sharing a fair buffer capacity between each input port in an Ethernet switch.

본 발명의 다른 목적은 이더넷 스위치에서 혼잡 발생시 패킷 손실을 최소화하기 위한 방법을 제공하는데 있다.Another object of the present invention is to provide a method for minimizing packet loss when congestion occurs in an Ethernet switch.

본 발명의 또 다른 목적은 네트워크 전반의 패킷 처리율을 개선하기 위한 방법을 제공하는데 있다.It is another object of the present invention to provide a method for improving packet throughput over a network.

상기한 목적에 따라, 본 발명은, 패킷 스위치 네트워크에서 전이중통신방식 모드를 채용한 다운 스트림장치에 해당하는 이더넷 스위치가 업 스트림장치에 해당하는 복수의 이더넷 스위치들에 대응되어 각각 연결된 입력포트들을 통해 인가되는 패킷 데이터를 저장하는 공유메모리를 포함하고 있으며 상기 공유 메모리로부터 패킷 데이터를 독출하여 목적지의 업스트림 장치의 이더넷 스위치로 송신하는 이더넷 스위치에서의 흐름 제어방법에 있어서, 상기 다운 스트림 장치에 해당하는 이더넷 스위치가 상기 공유메모리의 버퍼상태를 검사하는 과정과, 상기 버퍼상태가 버퍼 풀이면 미리 설정된 포즈시간을 포함한 포즈 프레임 데이터를 상기 업스트림 장치에 해당하는 복수의 이더넷 스위치들로 전송하고, 상기 업스트림 장치에서의 예상 포즈 시간을 카운트하는 과정과, 상기 예상 포즈 시간의 기간이 경과하면 상기 공유 메모리의 버퍼 상태를 재차 검사하는 과정과, 상기 재차 검사한 버퍼상태가 버퍼 풀이면 상기 포즈 프레임 데이터를 상기 업스트림장치에 해당하는 모든 이더넷 스위치들로 재차 전송하고, 상기 업스트림장치에서의 예상 포즈 시간을 재차 카운트하는 과정으로 이루어짐을 특징으로 한다.According to the above object, the present invention, the Ethernet switch corresponding to the downstream device employing the full-duplex mode in the packet switch network through the input port connected to the plurality of Ethernet switches corresponding to the upstream device respectively A flow control method in an Ethernet switch including a shared memory for storing applied packet data and reading out packet data from the shared memory and transmitting the packet data to an Ethernet switch of an upstream device of a destination, the Ethernet corresponding to the downstream device. A switch checking a buffer state of the shared memory; and if the buffer state is a buffer pool, transmit pause frame data including a preset pause time to a plurality of Ethernet switches corresponding to the upstream device. Expected pose time Counting, re-checking the buffer state of the shared memory when the expected pause time elapses, and if the checked buffer state is the buffer pool, all the Ethernet corresponding to the upstream device And transmitting again to the switches and counting the expected pause time in the upstream device again.

또한 본 발명은, 패킷 스위치 네트워크에서 전이중통신방식 모드를 채용한 다운 스트림장치에 해당하는 이더넷 스위치가 업 스트림장치에 해당하는 복수의 이더넷 스위치들에 대응되어 각각 연결된 입력포트들을 통해 인가되는 패킷 데이터를 저장하는 공유메모리를 포함하고 있으며 상기 공유 메모리로부터 패킷 데이터를 독출하여 목적지의 업스트림 장치의 이더넷 스위치로 송신하는 이더넷 스위치에서의 흐름 제어방법에 있어서, 상기 다운 스트림 장치에 해당하는 이더넷 스위치가 입력포트별로 공유메모리의 버퍼상태를 검사하는 과정과, 상기 공유메모리의 버퍼상태가 버퍼 풀인 혼잡 입력포트가 있으면 미리 설정된 포즈시간을 포함한 포즈 프레임 데이터를 상기 혼잡 입력포트에 대응 연결된 상기 업 스트림 장치의 이더넷 스위치에게 전송하고, 상기 업스트림장치에서의 예상 포즈 시간을 카운트하는 과정과, 상기 예상 포즈 시간의 기간이 경과하면 입력포트별로 상기 공유 메모리의 버퍼 상태를 재차 검사하는 과정과, 상기 재차 검사한 상기 혼잡 입력포트의 버퍼상태가 버퍼 풀이면 상기 포즈 프레임 데이터를 상기 업스트림장치의 이더넷 스위치에게 재차 전송하고, 상기 업스트림장치에서의 예상 포즈 시간을 재차 카운트하는 과정으로 이루어짐을 특징으로 한다.In addition, according to the present invention, an Ethernet switch corresponding to a downstream device employing a full-duplex communication mode in a packet switch network corresponds to a plurality of Ethernet switches corresponding to an upstream device. A flow control method in an Ethernet switch including a shared memory for storing and reading packet data from the shared memory and transmitting the packet data to an Ethernet switch of an upstream device of a destination, wherein the Ethernet switch corresponding to the downstream device is provided for each input port. Checking a buffer state of a shared memory, and if there is a congestion input port in which the buffer state of the shared memory is a buffer pool, sending pause frame data including a preset pause time to an Ethernet switch of the upstream device connected to the congestion input port. send And counting an estimated pause time in the upstream device, re-checking a buffer state of the shared memory for each input port when the estimated pause time elapses, and checking the congestion input port again. When the buffer state is a buffer pool, the pause frame data is retransmitted to the Ethernet switch of the upstream device, and the estimated pause time in the upstream device is counted again.

도 1은 본 발명의 실시 예에 따른 근거리 통신망에서의 흐름 제어를 설명하기 위한 개략적인 도면,1 is a schematic diagram illustrating flow control in a local area network according to an embodiment of the present invention;

도 2는 본 발명의 제1실시 예에 따른 전이중통신방식에서의 흐름 제어를 위한 블록 구성도,2 is a block diagram for flow control in a full-duplex communication method according to a first embodiment of the present invention;

도 3은 본 발명의 제1실시 예에 따라 전이중통신방식 모드를 채용한 다운 스트림 장치에서의 흐름 제어 흐름도,3 is a flow control flowchart of a downstream apparatus employing a full duplex mode according to a first embodiment of the present invention;

도 4는 본 발명의 제1실시 예에 따라 전이중통신방식 모드를 채용한 업 스트림 장치에서의 흐름 제어 흐름도,4 is a flow control flowchart of an upstream apparatus employing a full duplex mode according to a first embodiment of the present invention;

도 5는 본 발명의 제2 실시 예에 따른 전이중통신방식에서의 흐름 제어를 위한 블록 구성도,5 is a block diagram for flow control in a full-duplex communication method according to a second embodiment of the present invention;

도 6은 본 발명의 제2 실시 예에 따라 전이중통신방식 모드를 채용한 다운 스트림 장치에서의 흐름 제어 흐름도,6 is a flow control flowchart of a downstream apparatus employing a full duplex mode according to a second embodiment of the present invention;

도 7은 본 발명의 제2 실시 예에 따른 반이중통신방식에서의 흐름 제어를 위한 블록 구성도,7 is a block diagram for flow control in a half-duplex communication method according to a second embodiment of the present invention;

도 8은 본 발명의 제2 실시 예에 따라 반이중통신방식 모드를 채용한 다운 스트림 장치에서의 흐름 제어 흐름도.8 is a flow control flowchart of a downstream apparatus employing a half-duplex communication mode according to a second embodiment of the present invention.

이하 본 발명의 바람직한 실시 예들을 첨부한 도면을 참조하여 상세히 설명한다. 도면들 중 동일한 구성요소들은 가능한 한 어느 곳에서든지 동일한 부호들로 나타내고 있음에 유의해야 한다. 또한 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. It should be noted that the same elements in the figures are represented by the same numerals wherever possible. In addition, detailed descriptions of well-known functions and configurations that may unnecessarily obscure the subject matter of the present invention will be omitted.

도 1은 본 발명의 실시 예에 따른 근거리 통신망에서의 흐름 제어를 설명하기 위한 개략적인 도면이다. 도 1에 도시된 이더넷 스위치(ethernet switch)(10,12-1,..12-N)는 최근에 새롭게 등장한 LAN기기의 일종으로서, 한마디로 멀티포트(multi-port) 브릿지라고 할 수 있다. 본 발명의 실시 예에서는 도 1에 도시된 바와 같이, 패킷 데이터를 송신하는 복수의 이더넷 스위치들(12-1,.,12-N)을 '업스트림 장치'라 칭하고, 혼잡 발생시 상기 복수의 이더넷 스위치들(12,..,12-N)에게 재밍신호(반이중통신모드일 경우) 또는 포즈 프레임(전이중통신모드일 경우)을 송신하는 이더넷 스위치(10)를 '다운 스트림 장치'라 칭하고 있음을 이해하여야 한다.1 is a schematic diagram illustrating flow control in a local area network according to an embodiment of the present invention. The Ethernet switch 10, 12-1, .. 12-N shown in FIG. 1 is a kind of LAN device newly introduced recently. In other words, it may be called a multi-port bridge. In the embodiment of the present invention, as shown in FIG. 1, the plurality of Ethernet switches 12-1,..., 12-N transmitting packet data are referred to as 'upstream devices', and the plurality of Ethernet switches when congestion occurs. Understand that the Ethernet switch 10 which transmits a jamming signal (when half duplex mode) or a pause frame (when full duplex mode) to the 12, .., 12-N is called a 'downstream device'. shall.

도 2는 본 발명의 제1실시 예에 따른 전이중통신방식에서의 흐름 제어를 위한 이더넷 스위치의 블록 구성도이고, 도 3은 본 발명의 제1실시 예에 따라 전이중통신방식 모드를 채용한 다운 스트림 장치에서의 흐름 제어 흐름도이다. 그리고, 도 4는 본 발명의 제1실시 예에 따라 전이중통신방식 모드를 채용한 업 스트림 장치에서의 흐름 제어 흐름도이다.2 is a block diagram of an Ethernet switch for flow control in a full duplex communication method according to a first embodiment of the present invention, and FIG. 3 is a downstream for adopting a full duplex mode according to a first embodiment of the present invention. Flow control flow chart at the device. FIG. 4 is a flow control flowchart of an upstream apparatus employing a full duplex mode according to the first embodiment of the present invention.

도 2를 참조하면, 이더넷 스위치는 공유버퍼(20), 호스트 프로세서(26), 및MAC유니트(28)를 포함하고 있다. 공유버퍼(20)는 이더넷 스위치에 구비된 다수의 입력포트들을 통해 입력되는 모든 패킷 데이터 등을 저장하는 패킷 메모리(22)와, 패킷 메모리(22)와 MAC유니트(28)간을 인터페이스하기 위한 패킷 메모리 인터페이스(24)로 구성되어 있다. 본 발명의 제1 실시 예에 따라 패킷 메모리 인터페이스(24)는 업다운 카운터를 구비하고 있으며, 상기 업다운 카운터는 패킷 메모리(22)로/로부터 패킷 데이터를 인큐(en-queue) 또는 디큐(de-queue)시 마다 업 또는 다운 카운트를 수행한다. 만약 상기 업 다운 카운터가 버퍼 풀(buffer full)를 의미하는 미리 설정된 카운트값이 되면 패킷 메모리 인터페이스부(24)는 버퍼 풀을 의미하는 신호를 MAC유니트(28)로 출력한다.Referring to FIG. 2, the Ethernet switch includes a shared buffer 20, a host processor 26, and a MAC unit 28. The shared buffer 20 is a packet memory 22 for storing all packet data inputted through a plurality of input ports provided in the Ethernet switch, and a packet for interfacing between the packet memory 22 and the MAC unit 28. It consists of the memory interface 24. According to the first embodiment of the present invention, the packet memory interface 24 includes an updown counter, which enqueues or dequeues packet data to / from the packet memory 22. Each time an up or down count is performed. If the up-down counter reaches a preset count value representing a buffer full, the packet memory interface unit 24 outputs a signal representing the buffer pool to the MAC unit 28.

호스트 프로세서(26)는 MAC유니트(28)에 대한 각종 동작 및 상태제어를 수행한다. 본 발명의 제1 실시 예에 따라 상기 호스트 프로세서(26)는 혼잡 발생시 업스트림 장치에 해당하는 복수의 이더넷 스위치들(12-1,..,12-N)이 패킷 데이터 전송을 일시 중지시킬 포즈 시간(pause time)정보를 초기화 시에 MAC유니트(28)에 전송한다.The host processor 26 performs various operations and state control on the MAC unit 28. According to the first embodiment of the present invention, the host processor 26 may pause a plurality of Ethernet switches 12-1,..., 12 -N corresponding to upstream devices when the congestion occurs to pause packet data transmission. (pause time) information is transmitted to the MAC unit 28 at the time of initialization.

MAC유니트(28)는 이더넷 스위치의 멀티포트들의 각 포트에 대응하여 각각 구비되며 MAC기능을 수행한다. 상기 MAC유니트(28)는 도 2에 도시된 바와 같이, 포즈 프레임 발생기(30), 송신블록(32), 원격 포즈 타이머(34), 수신블록(36), 및 수신포즈 타이머(38)를 포함하고 있다. 포즈 프레임 발생기(30)는 공유버퍼(20)의 패킷 메모리 인터페이스(24)로부터 버퍼 풀을 의미하는 신호가 수신되면 호스트 프로세서(26)에서 전송해준 포즈시간정보를 이용해서 MAC제어 프레임의 일종인 포즈 프레임을 구성하고, 구성된 포즈 프레임을 송신블록(32)으로 전달한다. 송신블록(32)은 공유버퍼(20)에서 독출된 패킷데이터를 포함하고 있는 MAC 제어 프레임 또는 상기 포즈 프레임을 MAC유니트(28)에 대응된 이더넷 스위치의 입력포트를 통해 업스트림장치의 모든 이더넷 스위치들(12-1,..,12-N)에게 송신한다. 또한 송신블록(32)은 원격 포즈 타이머(34)를 구동시킨다. 원격 포즈 타이머(34)는 업 스트림장치인 복수의 이더넷 스위치들(12-1,..,12-N)에서 데이터 전송을 일시 중지할 예상 포즈 시간을 카운트하는 타이머로서, 송신블록(32)의 예상 포즈 시간 및 구동명령 RPT_ACT에 의거해 구동되며 설정된 예상 포즈 시간 기간을 카운트 완료하면 타임아웃신호 RPT_CPL를 송신블록(32)으로 제공한다. 상기 예상 포즈 시간 기간은 송신블록(32)에 의해서 제공된다. MAC유니트(28)의 수신블록(36)은 다운 스트림장치인 이더넷 스위치(10)로부터 송신된 MAC제어 프레임을 수신한다. 또한 MAC제어 프레임중 포즈 프레임을 수신하였을 경우에는 포즈 프레임에 포함된 포즈시간을 이용해 수신포즈 타이머(38)를 구동시킨다. 수신 포즈 타이머(38)는 수신블록(36)의 포즈시간 및 구동명령 RXT_ACT에 의거해 구동되며 상기 포즈시간 기간을 카운트하며 타임아웃신호 RXT_CPL를 송신블록(32)으로 제공한다.The MAC unit 28 is provided corresponding to each port of the multiports of the Ethernet switch, respectively, and performs a MAC function. The MAC unit 28 includes a pause frame generator 30, a transmission block 32, a remote pause timer 34, a reception block 36, and a reception pause timer 38, as shown in FIG. Doing. When the pause frame generator 30 receives a signal representing a buffer pool from the packet memory interface 24 of the shared buffer 20, the pause frame generator 30 uses the pause time information transmitted from the host processor 26 to pose a kind of MAC control frame. The frame is configured, and the configured pause frame is transmitted to the transmission block 32. The transmission block 32 transmits the MAC control frame containing the packet data read from the shared buffer 20 or all the Ethernet switches of the upstream device through the input port of the Ethernet switch corresponding to the MAC unit 28. (12-1, .., 12-N). The transmission block 32 also drives the remote pause timer 34. The remote pause timer 34 is a timer for counting an expected pause time for suspending data transmission in the plurality of Ethernet switches 12-1, .., 12-N which are upstream devices. When the estimated pause time period is completed based on the estimated pause time and the driving command RPT_ACT, the timeout signal RPT_CPL is provided to the transmission block 32. The expected pause time period is provided by the transmission block 32. The receiving block 36 of the MAC unit 28 receives the MAC control frame transmitted from the Ethernet switch 10 which is a downstream device. In addition, when a pause frame is received among the MAC control frames, the reception pose timer 38 is driven using the pause time included in the pause frame. The reception pause timer 38 is driven based on the pause time of the reception block 36 and the driving command RXT_ACT, and counts the pause time period and provides the timeout signal RXT_CPL to the transmission block 32.

이하 도 3에 도시된 전이중 통신방식 모드의 다운 스트림 장치(이더넷 스위치(10)에서의 흐름제어 동작을 도 1 및 도 2의 구성을 참조하여 더욱 상세히 설명한다.Hereinafter, the flow control operation of the downstream apparatus (the Ethernet switch 10 in the full-duplex communication mode mode shown in FIG. 3 will be described in more detail with reference to the configuration of FIGS. 1 and 2.

전이중 통신방식 모드의 다운 스트림장치인 이더넷 스위치(10)에서, 공유버퍼(20)의 패킷 메모리 인터페이스(24)내에 있는 업/다운 카운터는 패킷 메모리(22)로/로부터 패킷 데이터를 인큐(en-queue) 또는 디큐(de-queue)시 마다 업 또는 다운 카운트를 수행한다. 패킷 메모리 인터페이스(24)는 상기 인큐 또는 디큐시마다 상기 업/다운 카운터의 카운트값이 버퍼 풀(buffer full)을 의미하는 미리 설정된 카운트값과 비교하여 그에 따른 버퍼 상태신호 buf_full을 MAC유니트(28)의 프레임 포즈 발생기(30)로 제공한다. 만약 업/다운카운터의 카운트값이 상기 미리 설정된 카운트값보다 크게 되면 패킷 메모리 인터페이스부(24)는 패킷메모리(22)가 버퍼 풀이 되었음을 의미하는 buf_full ='1'상태의 버퍼상태신호를 다운 스트림 장치에 해당하는 이더넷 스위치(10)내의 모든 MAC유니트(28)들로 출력한다.In the Ethernet switch 10 which is a downstream device of the full duplex communication mode, the up / down counter in the packet memory interface 24 of the shared buffer 20 enqueues packet data to / from the packet memory 22. Up or down count is performed at every queue or dequeue. The packet memory interface 24 compares the count value of the up / down counter with a preset count value indicating a buffer full for each of the enqueues or dequeues, and compares the buffer status signal buf_full of the MAC unit 28 with the corresponding count value. Provided to the frame pose generator (30). If the count value of the up / down counter is greater than the preset count value, the packet memory interface unit 24 outputs a buffer state signal of buf_full = '1' state, indicating that the packet memory 22 is buffered. Output to all MAC units 28 in the Ethernet switch 10 corresponding to.

다운 스트림 장치에 해당하는 이더넷 스위치(10)내의 모든 MAC유니트(28)의 포즈 프레임 발생기(30)는 도 3의 100단계에서와 같이, 인큐 또는 디큐 시마다 버퍼상태신호 buf_full을 수신하게 되면 102단계로 진행한다. MAC유니트(28)의 포즈 프레임 발생기(30)는 버퍼상태신호 buf_full를 의거하여 패킷 메모리(22)가 버퍼 풀인가를 판단한다. 만약 상기 버퍼 상태신호가 buf_full ='1'상태이면 패킷 메모리(22)가 버퍼 풀인 상태이다. 패킷 메모리(22)가 버퍼 풀되었다 함은 다운 스트림장치에 해당하는 이더넷 스위치(10)가 혼잡상태가 됨을 의미한다. 버퍼 풀이 되면 포즈 프레임 발생기(30)는 도 3의 104단계에서와 같이, 호스트 프로세서(26)에서 초기화시 전송해준 포즈시간정보를 이용해서 MAC제어 프레임의 일종인 포즈 프레임을 구성하고, 구성된 포즈 프레임을 송신블록(32)으로 전달한다. 상기 포즈 프레임은 브로드 캐스트(broadcast) 주소, 포즈 옵 코드(pause operation code), 및 포즈 시간을 포함하고 있다.When the pause frame generator 30 of all the MAC units 28 in the Ethernet switch 10 corresponding to the downstream device receives the buffer status signal buf_full at every inqueue or dequeue, as in step 100 of FIG. Proceed. The pause frame generator 30 of the MAC unit 28 determines whether the packet memory 22 is the buffer pool based on the buffer status signal buf_full. If the buffer state signal is buf_full = '1' state, the packet memory 22 is in the buffer pool state. The fact that the packet memory 22 is buffered means that the Ethernet switch 10 corresponding to the downstream device becomes congested. When the buffer pool becomes full, the pause frame generator 30 configures a pause frame, which is a kind of MAC control frame, by using the pause time information transmitted when the host processor 26 initializes as shown in step 104 of FIG. 3. It is transmitted to the transmission block (32). The pause frame includes a broadcast address, a pause operation code, and a pause time.

다운 스트림 장치에 해당하는 이더넷 스위치(10)내의 모든 MAC유니트(28)들의 송신블록(32)은 도 3의 106단계에서와 같이, 상기 포즈 프레임을 해당 MAC유니트(28)에 대응된 이더넷 스위치의 입력포트들을 통해 업스트림장치의 모든 이더넷 스위치들(12-1,..,12-N)에게 송신한다. 동시에 상기 송신블록(32)은 원격 포즈 타이머(34)를 구동시킨다. 상기 원격 포즈 타이머(34)는 업 스트림장치인 복수의 이더넷 스위치들(12-1,..,12-N)이 데이터 전송을 일시 중지할 예상 포즈 시간을 카운트하는 타이머이다. 상기 원격 포즈 타이머(34)는 송신블록(32)의 예상 포즈 시간 및 구동명령 RPT_ACT에 의거해 구동된다. 상기 예상 포즈 시간은 송신블록(32)에 의해서 제공되며, 포즈 프레임에 실려 전송된 포즈시간과 동일하거나 또는 약간 짧다. 상기 원격 포즈 타이머(34)가 도 3의 108단계에서와 같이, 예상 포즈 시간 기간을 카운트 완료하면 즉 타임 아웃되면 타임아웃신호 RPT_CPL를 송신블록(32)으로 제공한다.The transmission block 32 of all the MAC units 28 in the Ethernet switch 10 corresponding to the downstream device may move the pause frame to the MAC switch 28 of the Ethernet switch corresponding to the corresponding MAC unit 28 as in step 106 of FIG. It transmits through the input ports to all Ethernet switches 12-1, 12-N of the upstream device. At the same time, the transmission block 32 drives the remote pause timer 34. The remote pause timer 34 is a timer for counting an expected pause time for the plurality of Ethernet switches 12-1,..., 12-N which are upstream devices to pause data transmission. The remote pause timer 34 is driven based on the estimated pause time of the transmission block 32 and the driving command RPT_ACT. The expected pause time is provided by the transmission block 32 and is equal to or slightly shorter than the pause time transmitted in the pause frame. The remote pause timer 34 provides the timeout signal RPT_CPL to the transmission block 32 when the expected pause time period is counted out, i.e., timed out, as in step 108 of FIG.

송신블록(32)은 예상 포즈시간 기간 타임아웃신호 RPT_CPL가 수신되면 포즈 프레임 발생기(30)에게 예상 포즈시간 기간 타임 아웃되었으면 전달하고, 그에 따라 포즈 프레임 발생기(30)는 재차 패킷 메모리(22)가 버퍼 풀인가를 검사한다. 즉 MAC유니트(28)는 도 3의 108단계를 수행후 다시 102단계로 되돌아와서 패킷 메모리(22)가 버퍼 풀인가를 재차 검사한다. 만약 퍼버 풀이면 102단계 이후의 전술한 단계를 다시 수행한다. 즉, 재차 검사한 버퍼상태가 상기와 같이 버퍼 풀이면 포즈 프레임을 생성하여 상기 업스트림장치에 해당하는 모든 이더넷 스위치들(12-1,..,12-N)로 재차 전송하고, 업스트림 장치에서의 예상 포즈 시간을 재차 카운트한다.When the expected pause time period timeout signal RPT_CPL is received, the transmission block 32 transmits to the pause frame generator 30 if the expected pause time period has timed out. Accordingly, the pause frame generator 30 again transmits the packet memory 22. Check for buffer pool That is, the MAC unit 28 returns to step 102 after performing step 108 of FIG. 3 and checks again whether the packet memory 22 is a buffer pool. If the pool is full, the above-described steps after step 102 are performed again. That is, if the checked buffer state is the buffer pool as described above, a pause frame is generated and transmitted again to all Ethernet switches 12-1, 12, and 12-N corresponding to the upstream device, and The expected pause time is counted again.

다음으로 도 4에 도시된 전이중 통신방식 모드의 업 스트림 장치에 해당하는 이더넷 스위치들(12-1,..,12-N) 각각에서 수행하는 흐름제어 동작을 도 1 및 도 2의 구성을 참조하여 더욱 상세히 설명한다.Next, referring to the configuration of FIGS. 1 and 2, the flow control operation performed by each of the Ethernet switches 12-1,..., 12 -N corresponding to the upstream device of the full duplex mode shown in FIG. 4 is performed. It will be described in more detail.

업 스트림 장치에 해당하는 이더넷 스위치들(12-1,..,12-N) 각각에서, MAC유니트(28)의 수신블록(36)은 도 4의 200단계에서와 같이, 다운 스트림 장치에 해당하는 이더넷 스위치(10)가 송신한 포즈 프레임을 수신하게 되면 202단계로 진행한다. MAC유니트(28)의 수신블록(36)은 도 4의 202단계에서, 포즈 프레임에 포함된 포즈시간을 이용해 수신포즈 타이머(38)를 구동시킨다. 수신 포즈 타이머(38)는 수신블록(36)의 포즈시간 및 구동명령 RXT_ACT에 의거해 구동되며 상기 포즈시간의 기간을 카운트완료하면 즉, 타임 아웃되면 수신블록(36)을 통해 타임아웃신호 RXT_CPL를 송신블록(32)으로 제공한다. 송신블록(32)은 204단계와 같이, 수신포즈 타이머 타임아웃에 대응되는 타임아웃신호 RXT_CPL가 수신되면 208단계로 진행한다. 208단계에서는 패킷 데이터 전송 가능상태가 된다. 그에 따라 다운 스트림장치에 해당하는 이더넷 스위치(10)에 전송할 패킷 데이터가 있으면 업스트림장치의 이더넷 스위치는 패킷 데이터를 전송하게 된다.In each of the Ethernet switches 12-1,..., 12 -N corresponding to the upstream device, the reception block 36 of the MAC unit 28 corresponds to the downstream device, as in step 200 of FIG. 4. If the Ethernet switch 10 receives the pause frame transmitted, the process proceeds to step 202. In operation 202 of FIG. 4, the reception block 36 of the MAC unit 28 drives the reception pose timer 38 using the pause time included in the pause frame. The reception pause timer 38 is driven based on the pause time of the reception block 36 and the driving command RXT_ACT, and when the duration of the pause time is counted out, that is, the timeout is performed, the reception pause timer 38 receives the timeout signal RXT_CPL through the reception block 36. Provided to the transmission block (32). The transmission block 32 proceeds to step 208 when the timeout signal RXT_CPL corresponding to the reception pose timer timeout is received in step 204. In step 208, packet data transfer is possible. Accordingly, if there is packet data to be transmitted to the Ethernet switch 10 corresponding to the downstream device, the Ethernet switch of the upstream device transmits the packet data.

한편 업스트림장치의 이더넷 스위치들(12-1,..,12-N)의 수신블록(36)은 도 204단계 내지 206단계에서와 같이, 수신 포즈 타이머(38)가 상기 포트시간 기간을 카운트 완료하기 전에 수신블록(36)으로 포즈 프레임이 재차 수신되면 202단계로 되돌아가서, 패킷 데이터 전송을 재차 중지시키고, 재차 수신된 포즈 프레임내 포즈 시간을 이용해 수신포즈 타이머(38)를 재차 구동시킨다.On the other hand, the reception block 36 of the Ethernet switches 12-1, .., 12-N of the upstream device has completed the counting of the port time period by the reception pause timer 38 as shown in steps 204 to 206. If the pause frame is received again by the reception block 36, the flow returns to step 202 to stop the packet data transmission again, and drives the reception pose timer 38 again using the received pause time in the pause frame.

상술한 바와 같은 본 발명의 제1 실시 예에서는 혼잡 발생시 패킷 손실을 최소화하고 네트워크 전반의 패킷 처리율을 개선하는 효과가 있다. 또한 흐름 제어방법을 간단하며 용이하게 구현할 수 있다.In the first embodiment of the present invention as described above, there is an effect of minimizing packet loss when congestion occurs and improving packet throughput of the entire network. In addition, the flow control method can be implemented simply and easily.

도 5는 본 발명의 제2 실시 예에 따른 전이중통신방식에서의 흐름 제어를 위한 블록 구성도이고, 도 6은 본 발명의 제2 실시 예에 따라 전이중통신방식 모드를 채용한 다운 스트림 장치에서의 흐름 제어 흐름도이다. 그리고, 도 7은 본 발명의 제2 실시 예에 따른 반이중통신방식에서의 흐름 제어를 위한 블록 구성도이고, 도 8은 본 발명의 제2 실시 예에 따라 반이중통신방식 모드를 채용한 다운 스트림 장치에서의 흐름 제어 흐름도이다.5 is a block diagram for flow control in a full duplex communication method according to a second embodiment of the present invention, and FIG. 6 is a diagram of a downstream apparatus employing a full duplex communication mode according to a second embodiment of the present invention. Flow control flow chart. FIG. 7 is a block diagram illustrating flow control in a half duplex communication method according to a second embodiment of the present invention, and FIG. 8 is a downstream apparatus employing a half duplex communication mode according to a second embodiment of the present invention. Flow control flow chart at.

하기 설명될 본 발명의 제2 실시 예에서는 다운 스트림 장치에 해당하는 이더넷 스위치(10)에 혼잡상태를 야기 시킨 특정 입력 포트를 가려낸 후 상기 특정 입력 포트에게만 흐름 제어를 하여 패킷 전송을 제한한다. 그래서 상기 이더넷 스위치(10)의 입력포트들중 제한되지 않는 다른 입력포트들로는 대응 업 스트림 장치의 이더넷 스위치가 패킷 전송을 가능토록 한다.In the second embodiment of the present invention to be described below, the Ethernet switch 10 corresponding to the downstream device selects a specific input port causing a congestion state and then restricts packet transmission by performing flow control only to the specific input port. Therefore, other input ports which are not limited among the input ports of the Ethernet switch 10 allow the Ethernet switch of the corresponding upstream device to transmit packets.

상기 혼잡상태를 야기 시킨 입력포트(이하 '혼잡 입력포트'라 칭함)를 가려내는 방법은 다음과 같다. 이더넷 스위치의 공유버퍼(20)는 출력 버퍼링(output buffering)구조이므로, 출력포트별로 논리적 큐(logical queue)를 유지한다. 보다 구체적으로 설명하면, N을 포트 수라고 하면, 공유 버퍼(20)내에 N개의 출력 포트별 논리적 큐가 있다. 그러므로 혼잡이 발생 시점에서 입력포트에 대응되는 패킷메모리내 패킷 수를 알 수 없게 된다. 즉 혼잡상태를 야기 시킨 입력포트를 알 수 없다는 것이다. 본 발명의 제2 실시 예에서는 이를 해결하기 위해 N개의 패킷 카운터를 구비시키고, 각 입력포트별로 들어온 패킷 데이터와 나간 패킷 데이터의 수를 카운트한다.A method of identifying an input port (hereinafter, referred to as a 'congestion input port') that causes the congestion state is as follows. Since the shared buffer 20 of the Ethernet switch has an output buffering structure, a logical queue is maintained for each output port. More specifically, if N is the number of ports, there are N output port-specific logical queues in the shared buffer 20. Therefore, at the time of congestion, the number of packets in the packet memory corresponding to the input port is unknown. In other words, the input port that caused the congestion is unknown. In order to solve this problem, the second embodiment of the present invention includes N packet counters, and counts the number of packet data coming in and the number of outgoing packet data for each input port.

도 5 및 도 7을 함께 참조하면, 본 발명의 제2 실시 예에서는 공유버퍼(20)의 패킷 메모리 인터페이스(24)내에 N개의 입력포트별 패킷 카운터들(40)을 구비시키고 있다. 패킷 메모리 인터페이스(24)에 구비된 N개의 입력포트별 패킷 카운터들(40)은 자기의 입력포트를 통해 입력되어 패킷데이터가 공유메모리(20)의 패킷메모리(22)에 저장될 때마다 업 카운트를 수행하며, 상기 자기의 입력포트에 대응되어 패킷메모리(22)에 저장된 패킷 데이터가 독출 되어 출력될 때마다 다운 카운트를 수행한다. 상기 입력포트별 패킷 카운터들(40)중 소정 입력포트 패킷 카운터의 카운터 값이 그에 대응되어 미리 설정한 임계값(threshold value) THR 이상인 경우에는 이더넷 스위치는 해당 입력포트가 혼잡상태를 유발할 가능성이 있다고 판단하여 흐름 제어를 수행시킨다. 상기 미리 설정된 임계값 THR은 호스트 프로세서(26)에 의해서 제공되며, 모든 입력포트들에 대해 동일한 값으로 주어질 수 있고, 각 입력포트별로 다르게 주어질 수 있다. 상기 임계값 THR은 입력포트별 트래픽 특성(예컨대, 트래픽 불규칙성(traffic burstness))에 따라 달리 정해질 수 있다.5 and 7 together, according to the second embodiment of the present invention, N input port-specific packet counters 40 are provided in the packet memory interface 24 of the shared buffer 20. N input port-specific packet counters 40 of the packet memory interface 24 are inputted through their input ports, and count up every time packet data is stored in the packet memory 22 of the shared memory 20. When the packet data stored in the packet memory 22 is read out and outputted corresponding to its input port, the down count is performed. If the counter value of a predetermined input port packet counter among the packet counters for each input port 40 is equal to or greater than a predetermined threshold value THR, the Ethernet switch may cause a congestion state of the corresponding input port. Determine and perform the flow control. The preset threshold THR is provided by the host processor 26 and may be given the same value for all input ports, or may be given differently for each input port. The threshold THR may be determined differently according to traffic characteristics for each input port (eg, traffic burstness).

본 발명의 제2 실시 예에 따른 흐름 제어를 보다 구체적으로 설명한다. N개의 입력포트별 패킷 카운터들(40)은 자기의 입력포트를 통해 입력되어 패킷데이터가 공유메모리(20)의 패킷메모리(22)에 저장될 때마다 업 카운트를 수행하며, 상기 자기의 입력포트에 대응되어 패킷메모리(22)에 저장된 패킷 데이터가 독출 되어 출력될 때마다 다운 카운트를 수행한다. 상기 입력포트별 패킷 카운터들(40)중 소정 입력포트 패킷 카운터의 카운터 값이 그에 대응되어 미리 설정한 임계 값 THR이상인 경우에는 도 5 및 도 7의 공유버퍼(20)의 패킷 메모리 인터페이스(24)는 해당 입력포트가 혼잡 입력포트임을 나타내는 신호를 MAC유니트(28)에 전송한다. 그에 따라 MAC유니트(28)에서는 혼잡 입력포트에 대해서만 흐름제어를 수행한다. 도 5에서 MAC유니트(28)의 구성 및 동작에 대한 설명은 전술한 바와 있는 도 2의 MAC유니트(28)의 구성 및 동작 설명과 동일하므로 하기에서는 생략한다.The flow control according to the second embodiment of the present invention will be described in more detail. The packet counters 40 for each N input port are inputted through their input ports to perform an up count whenever packet data is stored in the packet memory 22 of the shared memory 20. Each time the packet data stored in the packet memory 22 is read out and outputted, the down count is performed. The packet memory interface 24 of the shared buffer 20 of FIGS. 5 and 7 when the counter value of the predetermined input port packet counter among the input counter packet counters 40 is equal to or greater than a preset threshold THR. Transmits a signal to the MAC unit 28 indicating that the corresponding input port is a congestion input port. Accordingly, the MAC unit 28 performs flow control only on the congestion input port. The configuration and operation of the MAC unit 28 in FIG. 5 are the same as the configuration and operation of the MAC unit 28 of FIG.

본 발명의 제2 실시 예에서는 상기와 같이 흐름 제어를 함으로써 혼잡상태를 미리 예방함과 동시에 각 입력포트들간 공평한 대역폭 공유가 가능하다.In the second embodiment of the present invention, by controlling the flow as described above, it is possible to prevent congestion in advance and share the bandwidth equally among the respective input ports.

도 6에서는 본 발명의 제2 실시 예에 따라 전이중통신방식 모드를 채용한 다운 스트림 장치에 해당하는 이더넷 스위치(10)에서의 흐름 제어 동작을 보여주고 있다. 도 6을 참조하면, 다운 스트림장치에 해당하는 이더넷 스위치(10)는 300단계에서, 초기화시 호스트 프로세서(26)로부터 입력포트별 임계치들 THR을 수신한다. 302단계에서는 패킷 메모리(22)에 패킷 데이터가 인큐 되거나 디큐시 해당 입력 포트 패킷 카운터를 업 또는 다운시킨다. 그후 304단계에서는 해당 입력 포트 패킷 카운터의 카운트값이 대응 입력 포트 임계치보다 큰가를 판단하고, 만약 크게 되면 입력포트가 혼잡 입력포트로 인식하여 306단계로 진행하여 혼잡 입력포트에 해당하는 MAC유니트(28)에서만 포즈 프레임을 구성한다. 상기 포즈 프레임은 포즈 프레임발생기(30)에 의해서 구성되어 송신블록(32)으로 전달된다. 다운 스트림 장치의 이더넷 스위치는 306단계에서 구성된 포즈 프레임을 308단계에서 해당 혼잡 입력포트에 대응 연결된 업스트림장치의 이더넷 스위치로 송신하며, 동시에 예상 포즈 시간을 알기 위해 원격 포즈 타이머(34)를 구동시킨다. 그후 310단계에서 원격 포즈 타이머(34)가 타임아웃되면 302단계로 되돌아가서 재차 입력 포트별로 혼잡 입력포트가 있는가를 판단한다. 만약 혼잡포트가 있으면 재차 그 혼잡포트에 대한 흐름 제어를 수행한다.6 illustrates a flow control operation of the Ethernet switch 10 corresponding to the downstream apparatus employing the full duplex mode according to the second embodiment of the present invention. Referring to FIG. 6, in operation 300, the Ethernet switch 10 corresponding to the downstream device receives threshold THRs for respective input ports from the host processor 26 at initialization. In step 302, packet data is enqueued or dequeued in the packet memory 22, or the input port packet counter is up or down. Thereafter, in step 304, it is determined whether the count value of the corresponding input port packet counter is larger than the corresponding input port threshold value. If the count value is larger, the input port is recognized as a congestion input port, and the process proceeds to step 306. ) Configure the pose frame only. The pause frame is configured by the pause frame generator 30 and transmitted to the transmission block 32. The Ethernet switch of the downstream device transmits the pause frame configured in step 306 to the Ethernet switch of the upstream device connected to the corresponding congestion input port in step 308, and simultaneously drives the remote pause timer 34 to know the estimated pause time. Thereafter, when the remote pause timer 34 times out in step 310, the process returns to step 302 to determine whether there is a congestion input port for each input port. If there is a congestion port, flow control for the congestion port is performed again.

한편 본 발명의 제2 실시 예에 따른 전이중통신방식 모드를 채용한 업 스트림장치에서의 흐름제어 동작은 제1 실시 예에 따른 전이중통신방식 모드를 채용한 업스트림 장치에서의 흐름제어 동작과 동일하므로 그에 대한 설명은 생략한다.Meanwhile, the flow control operation in the upstream apparatus employing the full duplex communication mode according to the second embodiment of the present invention is the same as the flow control operation in the upstream apparatus employing the full duplex communication mode according to the first embodiment. The description is omitted.

도 7은 본 발명의 제2 실시 예에 따른 반이중통신방식에서의 흐름 제어를 위한 블록 구성도로서, MAC유니트(48)를 제외한 나머지 구성은 도 5의 구성과 동일하다. 도 7에서의 MAC유니트(48)는 흐름 제어를 위해 재밍 신호 발생기(50) 및 송수신블록(52)을 포함하고 있다.FIG. 7 is a block diagram for flow control in the half-duplex communication method according to the second embodiment of the present invention. The rest of the configuration except for the MAC unit 48 is the same as that of FIG. The MAC unit 48 in FIG. 7 includes a jamming signal generator 50 and a transmission / reception block 52 for flow control.

도 8에서는 본 발명의 제2 실시 예에 따라 반이중통신방식 모드를 채용한 다운 스트림 장치에 해당하는 이더넷 스위치(10)에서의 흐름 제어 동작을 보여주고 있다. 도 8을 참조하면, 다운 스트림장치에 해당하는 이더넷 스위치(10)는 400단계에서, 초기화시 호스트 프로세서(26)로부터 입력포트별 임계치들을 수신한다. 402단계에서는 패킷 메모리(22)에 패킷 데이터가 인큐 되거나 디큐시 입력포트별 패킷 카운터들(40)중 해당 입력 포트 패킷 카운터를 업 또는 다운시킨다. 그후 404단계에서는 해당 입력 포트 패킷 카운터의 카운트값이 대응 입력 포트 임계치보다 큰가를 판단하고, 만약 크게 되면 입력포트가 혼잡 입력포트로 인식하여 406단계로 진행하여 혼잡 입력포트에 해당하는 MAC유니트(48)에서만 재밍신호를 생성하게 한다. 상기 재밍신호는 도 7의 재밍신호 발생기(50)에 의해서 발생되어 송수신블록(52)으로 전달된다. 또한 상기 406단계에서, 상기 생성된 재밍신호를 해당 혼잡 입력포트에 대응 연결된 업스트림장치의 이더넷 스위치로 송신한다.8 illustrates a flow control operation in the Ethernet switch 10 corresponding to the downstream apparatus employing the half duplex mode according to the second embodiment of the present invention. Referring to FIG. 8, in operation 400, the Ethernet switch 10 corresponding to the downstream device receives threshold values for each input port from the host processor 26 at initialization. In step 402, the packet data is enqueued in the packet memory 22, or the corresponding input port packet counter of the packet counters for each decuy input port 40 is up or down. Thereafter, in step 404, it is determined whether the count value of the corresponding input port packet counter is larger than the corresponding input port threshold value. If it is large, the input port is recognized as a congestion input port, and the process proceeds to step 406 and the MAC unit corresponding to the congestion input port (48). Generate a jamming signal only. The jamming signal is generated by the jamming signal generator 50 of FIG. 7 and transmitted to the transmission / reception block 52. In step 406, the generated jamming signal is transmitted to an Ethernet switch of an upstream device corresponding to the corresponding congestion input port.

상술한 제2 실시 예에서는 다운 스트림 장치에 해당하는 이더넷 스위치(10)에 혼잡상태를 야기 시킨 특정 입력 포트를 가려낸 후 상기 특정 입력 포트에게만 흐름 제어를 하여 패킷 전송을 제한한다. 그래서 상기 이더넷 스위치(10)의 입력포트들중 제한되지 않는 다른 입력포트들로는 대응 업 스트림 장치에 해당하는 이더넷 스위치가 패킷 전송을 할 수 있다.In the above-described second embodiment, a specific input port causing congestion is detected at the Ethernet switch 10 corresponding to the downstream device, and flow control is limited to the specific input port to limit packet transmission. Therefore, the Ethernet switch corresponding to the corresponding upstream device may transmit packets to other input ports which are not limited among the input ports of the Ethernet switch 10.

상술한 본 발명의 설명에서는 이더넷 스위치와 같은 구체적인 실시 예에 관해 설명하였으나, 패킷 스위치 네트워크 상에서의 여러 가지 변형이 본 발명의 범위에서 벗어나지 않고 실시할 수 있다. 따라서 본 발명의 범위는 설명된 실시 예에 의하여 정할 것이 아니고 특허청구범위와 특허청구범위의 균등한 것에 의해 정해 져야 한다.In the above description of the present invention, a specific embodiment such as an Ethernet switch has been described, but various modifications on the packet switch network can be implemented without departing from the scope of the present invention. Therefore, the scope of the present invention should not be defined by the described embodiments, but should be determined by the equivalent of claims and claims.

상술한 바와 같이 본 발명은 이더넷 스위치내 각 입력포트간의 공평한 버퍼 용량을 공유하도록 하며, 이더넷 스위치에서 혼잡 발생시 패킷 손실을 최소화한다.그에 따라 본 발명은 네트워크 전반의 패킷 처리율을 개선한다.As described above, the present invention allows a fair buffer capacity to be shared between each input port in the Ethernet switch, and minimizes packet loss when congestion occurs in the Ethernet switch. Accordingly, the present invention improves packet throughput throughout the network.

Claims (12)

패킷 스위치 네트워크에서 전이중통신방식 모드를 채용한 다운 스트림장치에 해당하는 이더넷 스위치가 업 스트림장치에 해당하는 복수의 이더넷 스위치들에 대응되어 각각 연결된 입력포트들을 통해 인가되는 패킷 데이터를 저장하는 공유메모리를 포함하고 있으며 상기 공유 메모리로부터 패킷 데이터를 독출하여 목적지의 업스트림 장치의 이더넷 스위치로 송신하는 이더넷 스위치에서의 흐름 제어방법에 있어서,In a packet switch network, an Ethernet switch corresponding to a downstream device employing a full-duplex communication mode corresponds to a plurality of Ethernet switches corresponding to an upstream device. The shared memory stores packet data applied through input ports connected to each other. In the flow control method in the Ethernet switch that includes and reads the packet data from the shared memory to the Ethernet switch of the upstream device of the destination, 상기 다운 스트림 장치에 해당하는 이더넷 스위치가 상기 공유메모리의 버퍼상태를 검사하는 과정과,Checking a buffer state of the shared memory by an Ethernet switch corresponding to the downstream device; 상기 버퍼상태가 버퍼 풀이면 미리 설정된 포즈시간을 포함한 포즈 프레임 데이터를 상기 업스트림 장치에 해당하는 복수의 이더넷 스위치들로 전송하여 상기 업스트림장치에 해당하는 복수의 이더넷 스위치들이 패킷 데이터를 전송하지 못하게하며, 상기 포즈시간과 같거나 적어도 짧은 상기 업스트림 장치에서의 예상 포즈 시간을 카운트하는 과정과,If the buffer state is a buffer pool, the pause frame data including a preset pause time is transmitted to a plurality of Ethernet switches corresponding to the upstream device, thereby preventing the plurality of Ethernet switches corresponding to the upstream device from transmitting packet data. Counting an expected pause time in the upstream device that is less than or equal to the pause time; 상기 예상 포즈 시간의 기간이 경과하면 상기 공유 메모리의 버퍼 상태를 재차 검사하는 과정과,Rechecking the buffer state of the shared memory when the estimated pause time period elapses; 상기 재차 검사한 버퍼상태가 버퍼 풀이면 상기 포즈 프레임 데이터를 상기 업스트림장치에 해당하는 모든 이더넷 스위치들로 재차 전송하여 상기 업스트림장치에 해당하는 모든 이더넷 스위치들이 패킷 데이터를 전송하지 못하게하며, 상기 업스트림장치에서의 예상 포즈 시간을 재차 카운트하여 상기 예상 포즈시간 경과후 공유메모리의 버퍼상태를 검사하게 하는 과정으로 이루어짐을 특징으로 하는 흐름 제어방법.If the checked buffer state is a buffer pool, the pause frame data is retransmitted to all Ethernet switches corresponding to the upstream device to prevent all Ethernet switches corresponding to the upstream device from transmitting packet data. And counting the estimated pause time again to examine the buffer state of the shared memory after the expected pause time has elapsed. 제1항에 있어서, 상기 공유메모리의 버퍼상태를 검사 동작은 상기 공유 메모리에 패킷 데이터를 저장 또는 독출 시마다 수행함을 특징으로 하는 흐름 제어방법.The method of claim 1, wherein the checking of the buffer state of the shared memory is performed every time packet data is stored or read in the shared memory. 패킷 스위치 네트워크에서 전이중통신방식 모드를 채용한 업 스트림장치에 해당하는 복수의 이더넷 스위치들 각각이 다운 스트림장치에 해당하는 이더넷 스위치로부터의 포즈시간을 포함한 포즈 프레임 데이터를 수신시의 흐름 제어방법에 있어서,In the flow control method for receiving pause frame data including a pause time from an Ethernet switch corresponding to a downstream device, each of a plurality of Ethernet switches corresponding to an upstream device employing a full duplex mode in a packet switch network, , 상기 업 스트림 장치에 해당하는 복수의 이더넷 스위치들 각각이 상기 포즈 프레임 데이터를 수신하면 상기 포즈시간동안 상기 다운 스트림 장치에 해당하는 이더넷 스위치로 패킷 데이터를 전송하지 않는 과정과,When each of the plurality of Ethernet switches corresponding to the upstream device receives the pause frame data, not transmitting packet data to the Ethernet switch corresponding to the downstream device during the pause time; 상기 포즈 시간동안 상기 다운 스트림장치에 해당하는 이더넷 스위치로부터 상기 포즈프레임 데이터 송신후 상기 포즈시간과 같거나 적어도 짧은 예상포즈 시간에 체크한 내부 패킷메모리 버퍼풀 상태에 근거하여 생성되어 송신된 포즈 프레임이 재차 수신되는지를 판단하는 과정과,The pause frame generated and transmitted based on an internal packet memory buffer pool state checked after the pause frame data is transmitted from the Ethernet switch corresponding to the downstream device during the pause time and is checked for an estimated pause time that is equal to or less than the pause time. Determining whether it is received again, 상기 업 스트림 장치에 해당하는 복수의 이더넷 스위치들 각각이 상기 포즈 프레임을 재차 수신하면 재차 수신된 포즈 프레임에 포함된 포즈 시간동안은 패킷 데이터를 전송하지 않는 과정으로 이루어짐을 특징으로 하는 흐름 제어방법.And when each of the plurality of Ethernet switches corresponding to the upstream device receives the pause frame again, packet data is not transmitted during the pause time included in the received pause frame. 삭제delete 패킷 스위치 네트워크에서 전이중통신방식 모드를 채용한 다운 스트림장치에 해당하는 이더넷 스위치가 업 스트림장치에 해당하는 복수의 이더넷 스위치들에 대응되어 각각 연결된 입력포트들을 통해 인가되는 패킷 데이터를 저장하는 공유메모리를 포함하고 있으며 상기 공유 메모리로부터 패킷 데이터를 독출하여 목적지의 업스트림 장치의 이더넷 스위치로 송신하는 이더넷 스위치에서의 흐름 제어방법에 있어서,In a packet switch network, an Ethernet switch corresponding to a downstream device employing a full-duplex communication mode corresponds to a plurality of Ethernet switches corresponding to an upstream device. The shared memory stores packet data applied through input ports connected to each other. In the flow control method in the Ethernet switch that includes and reads the packet data from the shared memory to the Ethernet switch of the upstream device of the destination, 상기 다운 스트림 장치에 해당하는 이더넷 스위치가 입력포트별로 공유메모리의 버퍼상태를 검사하는 과정과,Checking a buffer state of a shared memory by an input port by an Ethernet switch corresponding to the downstream device; 상기 공유메모리의 버퍼상태가 버퍼 풀인 혼잡 입력포트가 있으면 미리 설정된 포즈시간을 포함한 포즈 프레임 데이터를 상기 혼잡 입력포트에 대응 연결된 상기 업 스트림 장치의 이더넷 스위치에게 전송하여 상기 업스트림장치의 이더넷 스위치가 패킷데이터를 전송하지 못하게 하며, 상기 포즈시간과 같거나 적어도 짧은 상기 업스트림장치에서의 예상 포즈 시간을 카운트하는 과정과,If there is a congestion input port in which the buffer state of the shared memory is a buffer pool, the pause frame data including a preset pause time is transmitted to the Ethernet switch of the upstream device connected to the congestion input port so that the Ethernet switch of the upstream device transmits packet data. Counting an expected pause time in the upstream device that is less than or equal to the pause time, 상기 예상 포즈 시간의 기간이 경과하면 입력포트별로 상기 공유 메모리의 버퍼 상태를 재차 검사하는 과정과,Rechecking the buffer state of the shared memory for each input port when the estimated pause time period elapses; 상기 재차 검사한 상기 혼잡 입력포트의 버퍼상태가 버퍼 풀이면 상기 포즈 프레임 데이터를 상기 업스트림장치의 이더넷 스위치에게 재차 전송하여 상기 업스트림장치의 이더넷 스위치가 패킷데이터를 전송하지 못하게 하며, 상기 업스트림장치에서의 예상 포즈 시간을 재차 카운트하여 상기 예상포즈시간 경과후 공유메모리의 버퍼상태를 검사하게 하는 과정으로 이루어짐을 특징으로 하는 흐름 제어방법.If the checked buffer state of the congestion input port is a buffer pool, the pause frame data is transmitted again to the Ethernet switch of the upstream device so that the Ethernet switch of the upstream device does not transmit packet data. And counting the estimated pause time again to check the buffer state of the shared memory after the expected pause time has elapsed. 제5항에 있어서, 상기 입력포트별로 공유메모리의 버퍼상태를 검사하기 위해서 상기 공유 메모리상에 입력 포트별 패킷 카운터가 구비됨을 특징으로 하는 흐름제어방법.The method of claim 5, wherein a packet counter for each input port is provided on the shared memory to check a buffer state of the shared memory for each input port. 제5항에 있어서, 상기 입력포트별로 공유메모리의 버퍼상태는 입력포트별로 미리 설정된 임계값과 비교함에 의해 입력포트별로 버퍼 풀 여부를 검사함을 특징으로 하는 흐름 제어방법.6. The flow control method of claim 5, wherein the buffer state of the shared memory for each input port is checked for buffer pool for each input port by comparing a preset threshold value for each input port. 제7항에 있어서, 상기 임계값은 트래픽 특성에 따라 입력포트별로 동일 또는 다르게 설정될 수 있음을 특징으로 하는 흐름 제어방법.8. The flow control method of claim 7, wherein the threshold value may be set identically or differently for each input port according to traffic characteristics. 패킷 스위치 네트워크에서 반이중통신방식 모드를 채용한 다운 스트림장치에 해당하는 이더넷 스위치가 업 스트림장치에 해당하는 복수의 이더넷 스위치들에 대응되어 각각 연결된 입력포트들을 통해 인가되는 패킷 데이터를 저장하는 공유메모리를 포함하고 있으며 상기 공유 메모리로부터 패킷 데이터를 독출하여 목적지의 업스트림 장치의 이더넷 스위치로 송신하는 이더넷 스위치에서의 흐름 제어방법에 있어서,In a packet switch network, an Ethernet switch corresponding to a downstream device employing a half-duplex communication mode corresponds to a plurality of Ethernet switches corresponding to an upstream device, and a shared memory for storing packet data applied through input ports connected to each other. In the flow control method in the Ethernet switch that includes and reads the packet data from the shared memory to the Ethernet switch of the upstream device of the destination, 상기 다운 스트림 장치에 해당하는 이더넷 스위치가 입력포트별로 공유메모리의 버퍼상태를 검사하는 과정과,Checking a buffer state of a shared memory by an input port by an Ethernet switch corresponding to the downstream device; 상기 공유메모리의 버퍼상태가 버퍼 풀인 혼잡 입력포트가 있으면 다운스트림장치내 입력포트 혼잡상태를 알리는 재밍신호를 상기 혼잡 입력포트에 대응 연결된 상기 업스트림장치의 이더넷 스위치에게 전송하여 미리 정해진 백오프 시간동안 상기 업스림 장치가 패킷 데이터를 전송하지 못하도록 하는 과정으로 이루어짐을 특징으로 하는 흐름 제어방법.If there is a congestion input port in which the buffer state of the shared memory is a buffer pool, a jamming signal indicating an input port congestion state in a downstream device is transmitted to an Ethernet switch of the upstream device connected to the congestion input port, and the signal is transmitted for a predetermined backoff time. Flow control method comprising the step of preventing the upstream device to transmit packet data. 제9항에 있어서, 상기 입력포트별로 공유메모리의 버퍼상태를 검사하기 위해서 상기 공유 메모리상에 입력 포트별 패킷 카운터가 구비됨을 특징으로 하는 흐름제어방법.10. The method of claim 9, wherein a packet counter for each input port is provided on the shared memory to check a buffer state of the shared memory for each input port. 제9항에 있어서, 상기 입력포트별로 공유메모리의 버퍼상태는 입력포트별로 미리 설정된 임계값과 비교함에 의해 입력포트별로 버퍼 풀 여부를 검사함을 특징으로 하는 흐름 제어방법.10. The flow control method of claim 9, wherein the buffer state of the shared memory for each input port is checked for buffer pool for each input port by comparing a preset threshold value for each input port. 제11항에 있어서, 상기 임계값은 트래픽 특성에 따라 입력포트별로 동일 또는 다르게 설정될 수 있음을 특징으로 하는 흐름 제어방법.12. The method of claim 11, wherein the threshold value is set to be the same or different for each input port according to traffic characteristics.
KR1019990044077A 1998-10-12 1999-10-12 Flow control method in packet switched network KR100334811B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019990044077A KR100334811B1 (en) 1998-10-12 1999-10-12 Flow control method in packet switched network

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
KR19980042607 1998-10-12
KR1019980042607 1998-10-12
KR19980042606 1998-10-12
KR1019980042606 1998-10-12
KR1019990044077A KR100334811B1 (en) 1998-10-12 1999-10-12 Flow control method in packet switched network

Publications (2)

Publication Number Publication Date
KR20000029008A KR20000029008A (en) 2000-05-25
KR100334811B1 true KR100334811B1 (en) 2002-05-02

Family

ID=27349825

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990044077A KR100334811B1 (en) 1998-10-12 1999-10-12 Flow control method in packet switched network

Country Status (1)

Country Link
KR (1) KR100334811B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8228796B2 (en) 2008-12-12 2012-07-24 Electronics And Telecommunications Research Institute Ethernet switching apparatus, and method for reducing power consumption of the same

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7024257B2 (en) * 2001-02-09 2006-04-04 Motion Engineering, Inc. System for motion control, method of using the system for motion control, and computer-readable instructions for use with the system for motion control
US20040179476A1 (en) * 2003-03-10 2004-09-16 Sung-Ha Kim Apparatus and method for controlling a traffic switching operation based on a service class in an ethernet-based network
KR100612437B1 (en) * 2003-08-20 2006-08-16 삼성전자주식회사 A device and method of congestion notification for ethernet network
CN113992588B (en) * 2021-10-21 2024-02-09 浪潮电子信息产业股份有限公司 Data transmission method, device, electronic equipment and readable storage medium

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4910766A (en) * 1988-03-15 1990-03-20 Kokusai Denshin Denwa Co., Ltd. Quasi reservation-based communication service process system
WO1998009408A1 (en) * 1996-08-30 1998-03-05 Advanced Micro Devices, Inc. Arrangement for regulating packet flow rate in shared-medium, point-to-point, and switched networks

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4910766A (en) * 1988-03-15 1990-03-20 Kokusai Denshin Denwa Co., Ltd. Quasi reservation-based communication service process system
WO1998009408A1 (en) * 1996-08-30 1998-03-05 Advanced Micro Devices, Inc. Arrangement for regulating packet flow rate in shared-medium, point-to-point, and switched networks

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8228796B2 (en) 2008-12-12 2012-07-24 Electronics And Telecommunications Research Institute Ethernet switching apparatus, and method for reducing power consumption of the same

Also Published As

Publication number Publication date
KR20000029008A (en) 2000-05-25

Similar Documents

Publication Publication Date Title
CA2285167C (en) Flow control method in packet switched network
US5568476A (en) Method and apparatus for avoiding packet loss on a CSMA/CD-type local area network using receive-sense-based jam signal
US6741559B1 (en) Method and device for providing priority access to a shared access network
US6192422B1 (en) Repeater with flow control device transmitting congestion indication data from output port buffer to associated network node upon port input buffer crossing threshold level
US9094327B2 (en) Prioritization and preemption of data frames over a switching fabric
US6128310A (en) Multiport data network switch having a random number generator shared by multiple media access controllers
US5905870A (en) Arrangement for initiating and maintaining flow control in shared-medium, full-duplex, and switched networks
KR100378148B1 (en) 802.3 Medium Access Control and Associated Signaling Scheme for Full-duplex Networks
US5339313A (en) Method and apparatus for traffic congestion control in a communication network bridge device
KR100735408B1 (en) Method and apparatus for controlling a traffic switching operation based on a service class in an ethernet-based network
US6108306A (en) Apparatus and method in a network switch for dynamically allocating bandwidth in ethernet workgroup switches
US6925055B1 (en) Systems and methods for traffic shaping
US6295281B1 (en) Symmetric flow control for ethernet full duplex buffered repeater
US5778175A (en) Method implemented by a computer network adapter for autonomously adjusting a transmit commencement threshold valve upon concurrence of an underflow condition
EP0329159A2 (en) Congestion control method and apparatus for end-to-end packetcommunication
US8819265B2 (en) Managing flow control buffer
US9166919B2 (en) Reducing headroom
US20060045009A1 (en) Device and method for managing oversubsription in a network
US7701949B1 (en) System and method for switching high priority traffic with low latency
US8693492B2 (en) Quality of service half-duplex media access controller
US6680910B1 (en) Network interface unit
KR100987258B1 (en) Apparatus and method for controling data flow in a communication system
JP4022017B2 (en) LAN relay device
KR100334811B1 (en) Flow control method in packet switched network
US6418118B1 (en) Network device including selective discard of packets

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120329

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20130328

Year of fee payment: 12

LAPS Lapse due to unpaid annual fee