KR20010046192A - Flow control method in packet switched network with shared buffer - Google Patents

Flow control method in packet switched network with shared buffer Download PDF

Info

Publication number
KR20010046192A
KR20010046192A KR1019990049870A KR19990049870A KR20010046192A KR 20010046192 A KR20010046192 A KR 20010046192A KR 1019990049870 A KR1019990049870 A KR 1019990049870A KR 19990049870 A KR19990049870 A KR 19990049870A KR 20010046192 A KR20010046192 A KR 20010046192A
Authority
KR
South Korea
Prior art keywords
packet
buffer
flow control
ethernet switch
congestion
Prior art date
Application number
KR1019990049870A
Other languages
Korean (ko)
Other versions
KR100346120B1 (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 KR1019990049870A priority Critical patent/KR100346120B1/en
Publication of KR20010046192A publication Critical patent/KR20010046192A/en
Application granted granted Critical
Publication of KR100346120B1 publication Critical patent/KR100346120B1/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/629Ensuring fair share of resources, e.g. weighted fair queuing [WFQ]

Landscapes

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

Abstract

PURPOSE: A flow control method in a packet switch network having a shared buffer is provided to share buffer capacity between input ports in an Ethernet switch. CONSTITUTION: A plurality of Ethernet switches(12-1 - 12-N), upstream devices, transmit the packet data. A downstream device includes a control queue manager(130), a port control unit(110), a MAC(Media Access Control)(100), an EEPROM interface(120). Also, the downstream device has a common buffer(300). The control queue manager(130) counts the number of packets stored at present to the common buffer(30), operates a plurality of Tx Cur PKT counter 0-N(133-135) to the respective output port and also operates tow THR values(start and finish of congestion) through the EEPROM interface(120). The buffer congestion signal is updated by the control queue manager(130) whenever in queue or de queue is generated. The buffer congestion signal is transmitted from the control queue manager(130) to the port control unit(PCU)(110). The PCU(110) commands to the MAC(100) in order to form a flow control when an instruction of congestion is received.

Description

공유버퍼를 갖는 패킷 스위치 네트워크에서의 흐름 제어 방법{FLOW CONTROL METHOD IN PACKET SWITCHED NETWORK WITH SHARED BUFFER}Flow Control Method in Packet Switch Network with Shared Buffer {FLOW CONTROL METHOD IN PACKET SWITCHED NETWORK WITH SHARED BUFFER}

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

이더넷에서 통상적인 혼잡 해결 방법으로서는 백 프레스(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 not to 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, which is a signal for checking 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, a packet is sent to all other Ethernet switch devices (upstream devices) on the same segment for a predetermined irregular back off time by sending a back press, that is, a jamming signal. To stop the transmission.

반면에, 상기 포즈 프레임 전송 방법은 IEEE 802.3x 표준화에서 처음으로 정의된 MAC 제어 프레임의 하나인 포즈 프레임을 이용한다. 이 방법에서는 이더넷 스위치 장치(다운 스트림 장치)가 혼잡 상태가 되면 같은 세그먼트상의 모든 다른 이더넷 스위치장치들(업스트림 장치들)에게 특정 포즈 프레임을 전송하고, 상기 전송된 포즈 프레임을 받은 이더넷 스위치 장치들(업스트림 장치들)은 포즈 프레임 내에 기록된 포즈 시간동안 패킷 전송을 멈추게 한다.On the other hand, the pause frame transmission method uses a pause frame, which is one of 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 receiving the transmitted pause frame ( Upstream devices) stop packet transmission during the pause time recorded in the pause frame.

상기 백프레스 방법의 재밍 신호와 포즈 프레임 전송 방법의 프레임은 모든 입력 포트로 보내게 되며, 이로서 당분간 혼잡 상태인 상기 이더넷 스위치 장치(다운 스트림장치)로는 패킷이 들어오지 못하도록 한다. 이 기간동안 이더넷 스위치 장치들은 혼잡 상태를 해소하고 패킷 손실을 예방할 수 있게 된다.The jamming signal of the backpress method and the frame of the pause frame transmission method are sent to all input ports, thereby preventing packets from entering the congested Ethernet switch device (downstream device) for the time being. During this period, Ethernet switch devices can eliminate congestion and prevent packet loss.

공유버퍼를 사용하는 스위치에서의 혼잡은 흔히 버퍼 전체의 풀(Full) 혹은 대부분 풀(Almost Full) 여부로써 판별할 수 있다. 하지만 이 방법으로 혼잡 상태를 결정지었을 때에는 특정의 비지(Busy)한 포트로 인해 상기 버퍼가 소진되었을 경우에 상대적으로 적은 양의 트래픽을 발생한 포트들은 불이익을 받을 수밖에 없다. 이러한 기아(starvation) 현상을 방지하기 위하여 혼잡 상태를 야기한 특정 이더넷 스위치 장치들을 가려낸 후, 상기 가려낸 이더넷 스위치 장치들에게만 흐름 제어를 적용하는 방법을 사용한다. 이 결과 상기 이더넷 스위치 장치들은 패킷 전송이 금지되어지고, 나머지 이더넷 스위치 장치들은 계속 전송이 가능하게 된다. 혼잡 상태에서 계속하여 패킷이 전송되어 올 수 있으므로 이에 대비한 여유 공간을 확보하여 이 패킷들을 담아둘 수 있도록 해야 한다.Congestion at a switch using a shared buffer is often determined by whether the buffer is full or almost full. However, when congestion is determined by this method, ports that generate a relatively small amount of traffic when the buffer is exhausted due to a particular busy port have disadvantages. In order to prevent such starvation phenomenon, a method of screening out specific Ethernet switch devices that cause congestion and then applying flow control only to the selected Ethernet switch devices is used. As a result, the Ethernet switch devices are prohibited from transmitting packets, and the other Ethernet switch devices can continue to transmit. Packets can be sent continuously in a congested state, so make sure that you have free space to store these packets.

종래 근거리 통신망에서의 선택적 흐름제어 방법을 도면을 통해 설명하면;The selective flow control method in the conventional local area network will be described with reference to the drawings;

도 1은 종래 근거리 통신망에서의 흐름 제어를 설명하기 위한 개략적인 도면으로서, 상기 도 1에 도시된 이더넷 스위치(Ethernet switch)(10,12-1,..12-N)는 LAN기기의 일종으로서, 한마디로 멀티포트(multi-port) 브릿지라고 할 수 있다. 여기서는 패킷 데이터를 송신하는 복수의 이더넷 스위치들(12-1,.,12-N)을 "업스트림 장치"라 칭하고, 혼잡 발생시 상기 복수의 이더넷 스위치들(12,..,12-N)에게 재밍신호(반이중통신모드일 경우) 또는 포즈 프레임(전이중통신모드일 경우)을 송신하는 이더넷 스위치(10)를 "다운 스트림 장치"라 칭하고 있음을 이해하여야 한다.FIG. 1 is a schematic diagram for explaining flow control in a conventional local area network. The Ethernet switch 10, 12-1, .. 12-N shown in FIG. 1 is a type of LAN device. In short, it can be called a multi-port bridge. Here, a plurality of Ethernet switches 12-1,... 12-N for transmitting packet data are referred to as "upstream devices", and jamming occurs to the plurality of Ethernet switches 12, .., 12-N when congestion occurs. It should be understood that the Ethernet switch 10 that transmits a signal (if in half duplex mode) or pause frame (if in full duplex mode) is referred to as a "downstream device".

도 2는 종래 반이중통신방식에서의 흐름 제어를 위한 블록 구성도이고, 도 3은 종래 전이중통신방식에서의 흐름 제어를 위한 블록 구성도이다.2 is a block diagram for flow control in the conventional half-duplex communication method, Figure 3 is a block diagram for flow control in the conventional full-duplex communication method.

상기 도 2의 반이중통신방식에서의 흐름 제어를 위한 구성을 설명하면; 공유버퍼(20)의 패킷 메모리 인터페이스(24)내에 N개의 입력포트별 패킷 카운터들을 구비시키고 있다. 상기 패킷 메모리 인터페이스(24)에 구비된 N개의 입력포트별 패킷 카운터들은 자기의 입력포트를 통해 입력되어 패킷데이터가 공유메모리(20)의 패킷 메모리(22)에 저장될 때마다 업 카운트를 수행하며, 상기 자기의 입력포트에 대응되어 패킷 메모리(22)에 저장된 패킷 데이터가 독출되어 출력될 때마다 다운 카운트를 수행한다. 상기 입력포트별 패킷 카운터들 중 소정 입력포트 패킷 카운터의 카운터 값이 그에 대응되어 미리 설정한 임계값(threshold value) THR 이상인 경우에는 이더넷 스위치는 해당 입력포트가 혼잡상태를 유발할 가능성이 있다고 판단하여 흐름 제어를 수행시킨다. 상기 미리 설정된 임계값 THR은 호스트 프로세서(26)에 의해서 제공되며, 모든 입력포트들에 대해 동일한 값으로 주어질 수 있고, 각 입력포트별로 다르게 주어질 수 있다. 상기 임계값 THR은 입력포트별 트래픽 특성(예컨대, 트래픽 불규칙성(traffic burstness))에 따라 달리 정해질 수 있다.Referring to the configuration for the flow control in the half-duplex communication method of FIG. N input port packet counters are provided in the packet memory interface 24 of the shared buffer 20. Packet counters for each of the N input ports provided in the packet memory interface 24 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. When the packet data stored in the packet memory 22 is read and output corresponding to the input port of the self, the down count is performed. If the counter value of a predetermined input port packet counter among the input port packet counters is corresponding to or above a predetermined threshold value THR, the Ethernet switch determines that the corresponding input port may cause congestion. Take 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).

MAC유니트(48)는 흐름 제어를 위해 재밍 신호 발생기(50)와 송수신블록(52) 및 캐리어 센서(54)를 포함한다.The MAC unit 48 includes a jamming signal generator 50, a transmission / reception block 52, and a carrier sensor 54 for flow control.

또한, 상기 도 3의 전이중통신방식에서의 흐름 제어를 위한 구성을 설명하면; 이더넷 스위치는 공유버퍼(20), 호스트 프로세서(26), 및 MAC유니트(28)를 포함하고 있다. 공유버퍼(20)는 이더넷 스위치에 구비된 다수의 입력포트들을 통해 입력되는 모든 패킷 데이터 등을 저장하는 패킷 메모리(22)와, 패킷 메모리(22)와 MAC유니트(28)간을 인터페이스하기 위한 패킷 메모리 인터페이스(24)로 구성되어 있다.In addition, the configuration for the flow control in the full-duplex communication method of FIG. 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.

호스트 프로세서(26)는 MAC유니트(28)에 대한 각종 동작 및 상태제어를 수행하며, 혼잡 발생시 도 1에 도시된 바와 같은 업스트림 장치에 해당하는 복수의 이더넷 스위치들(12-1,..,12-N)이 패킷 데이터 전송을 일시 중지시킬 포즈 시간(pause time)정보를 초기화 시에 MAC유니트(28)에 전송한다.The host processor 26 performs various operations and state control on the MAC unit 28, and when congestion occurs, a plurality of Ethernet switches 12-1, .., 12 corresponding to an upstream device as shown in FIG. -N) transmits pause time information to suspend packet data transmission to the MAC unit 28 at initialization.

MAC유니트(28)는 이더넷 스위치의 멀티포트들의 각 포트에 대응하여 각각 구비되며 MAC기능을 수행한다. 상기 MAC유니트(28)는 도시된 바와 같이, 포즈 프레임 발생기(30), 송신블록(32), 포즈 타이머(34), 수신블록(36)을 포함하고 있다. 상기 포즈 프레임 발생기(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제어 프레임중 포즈 프레임을 수신하였을 경우에는 포즈 프레임에 포함된 포즈시간을 이용해 포즈 타이머(34)를 구동시킨다. 이때, 상기 포즈 타이머(34)는 상기 수신블록(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. As shown, the MAC unit 28 includes a pause frame generator 30, a transmission block 32, a pause timer 34, and a reception block 36. 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 a pause time information transmitted from the host processor 26 to provide a type of MAC control frame. An in-frame frame is configured, and the configured pause frame is transmitted to the transmission block 32. The transmission block 32 transmits the MAC control frame including the packet data read out from the shared buffer 20 or the pause frame to all Ethernets of the upstream device through the input port of the Ethernet switch corresponding to the MAC unit 28. Transmits to the switches 12-1, ..., 12-N. In addition, the transmission block 32 drives the pause timer 34. The pause timer 34 is a timer for counting an expected pause time for pausing data transmission in a 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. When the pause frame is received among the MAC control frames, the pause timer 34 is driven using the pause time included in the pause frame. At this time, the pause timer 34 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 a timeout signal RXT_CPL to the transmission block 32.

상기와 같은 구성을 갖는 종래 근거리 통신망에서의 선택적 흐름제어 방법에서 혼잡 상태를 야기한 포트들을 가려내는 방법을 설명하면; 상기 도 2 및 도 3과 반이중통신방식 또는 전이중통신방식은 출력 버퍼링 구조이므로, 출력 포트별로 로지컬(logical)한 큐를 유지한다. N을 포트 수라고 정의하면 공유버퍼 안에 N 개의 로지컬 큐가 있는 것이며, 그 결과 어떤 특정한 시점, 예를 들어 혼잡 상태가 발생한 시점에서 입력 포트당 패킷 메모리 내의 패킷 수를 알 수 없게 된다. 이 문제를 해결하기 위하여 N 개의 패킷 카운터를 유지하고 각 입력 포트별로 들어온 패킷의 수를 카운트하여 저장한다. 즉, 전체 공유버퍼에 N 개의 카운터를 두는 것이다. 만약 카운터의 값이 미리 정의된 THR 값 이상일 경우 스위치는 이 입력포트가 혼잡을 유발할 가능성이 있다고 판단하여 제어 동작을 취한다. 상기 THR은 각 입력 포트별로 다르게 정해질 수 있다. 이렇게 하여 혼잡을 미리 예방함과 동시에 각 입력포트 간의 공정한 대역폭 공유를 보장할 수 있도록 한다.In the selective flow control method in the conventional local area network having the above configuration will be described a method for screening the ports causing the congestion; 2 and 3 and the half-duplex or full-duplex communication scheme is an output buffering structure, thereby maintaining a logical queue for each output port. If N is defined as the number of ports, there are N logical queues in the shared buffer, and as a result, the number of packets in the packet memory per input port at a certain point in time, such as when congestion occurs, is unknown. To solve this problem, we maintain N packet counters and count and store the number of incoming packets for each input port. In other words, there are N counters in the entire shared buffer. If the value of the counter is above the predefined THR value, the switch determines that this input port is likely to cause congestion and takes control action. The THR may be determined differently for each input port. This prevents congestion and ensures fair bandwidth sharing between each input port.

현재 이더넷 스위치는 각 포트별로 지정된 속도를 지원할 수 있어야 하며, 제한된 메모리의 스피드를 고려할 때 패킷당 프로세싱 시간을 줄여서 선로속도를 지원하는 문제는 스위치 설계에서 크리티컬한 문제이다. 공유버퍼를 가지는 스위치는 대부분 출력 큐잉 방법을 사용하며, 이 경우 가상의 입력 큐를 만들어 큐 안의 패킷 개수를 카운트하여야만 한다. 각 입력 큐별로 패킷의 인입 또는 인출되는 이벤트를 체크하고 업데이트하며 이에 따라 제어 동작을 취해야 한다면 이것은 프로세서에게 부담이 되며 패킷 처리 속도가 지연되는 문제가 발생하게 된다.Currently, Ethernet switches must be able to support specified speeds for each port, and considering the limited memory speed, supporting line speeds by reducing processing time per packet is a critical problem in switch design. Most switches with shared buffers use the output queuing method, in which case a virtual input queue must be created to count the number of packets in the queue. If each input queue checks and updates an incoming or outgoing event of a packet and takes control action accordingly, this causes a burden on the processor and causes a delay in packet processing speed.

따라서 본 발명의 목적은 이더넷 스위치내 각 입력포트간의 공평한 버퍼 용량을 공유하도록 하기 위한 방법을 제공하는데 있다.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.

이를 해결하기 위하여 본 발명은 패킷 스위치 네트워크에서 전이중 모드를 채용하고, 패킷 데이터를 저장하고 있는 공유메모리를 갖는 이더넷 스위치 장치에서의 흐름 제어 방법에 있어서, 상기 이더넷 스위치 장치에서 상기 공유버퍼의 패킷 메모리로부터 버퍼 상태를 검사하는 과정과, 상기 버퍼 상태가 버퍼 혼잡인 경우 포즈 프레임을 대응되는 상기 이더넷 스위치 장치의 입력 포트를 통해 업 스트림 장치에 해당하는 이더넷 스위치 장치에 전송하는 과정과, 미리 설정된 포즈 시간이 경과하는 경우 버퍼 혼잡이 유지되는 가를 검사하는 과정과, 상기 포즈 시간이 경과한 이후에도 버퍼 혼잡이 유지되는 경우 새로운 포즈 프레임을 대응되는 상기 이더넷 스위치 장치의 입력 포트를 통해 업 스트림 장치에 해당하는 이더넷 스위치 장치에 전송하는 과정으로 이루어짐을 특징으로 한다.In order to solve this problem, the present invention employs a full-duplex mode in a packet switch network, and in a flow control method in an Ethernet switch device having a shared memory storing packet data, the Ethernet switch device may be configured from a packet memory of the shared buffer. Checking a buffer state, transmitting a pause frame to an Ethernet switch device corresponding to an upstream device through an input port of the corresponding Ethernet switch device when the buffer state is buffer congestion, and a preset pause time An Ethernet switch corresponding to the upstream device through the input port of the corresponding Ethernet switch device when the buffer congestion is maintained even after the pause time has elapsed. And transmitting to the device It is characterized by consisting of tablets.

도 1은 종래 근거리 통신망에서의 흐름 제어를 설명하기 위한 개략적인 도면1 is a schematic diagram for explaining a flow control in a conventional local area network

도 2는 종래 반이중통신방식에서의 흐름 제어를 위한 블록 구성도2 is a block diagram for flow control in a conventional half-duplex communication method;

도 3은 종래 전이중통신방식에서의 흐름 제어를 위한 블록 구성도3 is a block diagram for flow control in a conventional full-duplex communication method;

도 4는 본 발명에 따른 근거리 통신망에서의 흐름 제어를 설명하기 위한 개략적인 도면4 is a schematic diagram for explaining flow control in a local area network according to the present invention;

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

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

도 7 및 도 8은 본 발명에 따른 전이중 모드에서의 흐름제어 동작을 도시한 도면7 and 8 illustrate a flow control operation in full duplex mode according to the present invention.

도 9는 본 발명에 따른 반이중 모드에서의 흐름제어 동작을 도시한 도면9 illustrates a flow control operation in half-duplex mode according to 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.

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

복수의 이더넷 스위치(12-1~12-N)는 패킷 데이터를 송신하며, 이하에서는 이를 '업 스트림 장치'라 칭하기로 한다.The plurality of Ethernet switches 12-1 to 12-N transmit packet data, hereinafter, referred to as an upstream device.

이와 아울러, 혼잡 발생시 상기 업 스트림 장치에 백 프레스(반이중 통신 모드일 경우) 또는 포즈 프레임(전이중 통신 모드일 경우)을 송신하는 이더넷 스위치(200)를 '다운 스트림 장치'라 칭하기로 한다.In addition, when the congestion occurs, the Ethernet switch 200 which transmits a back press (when half-duplex communication mode) or a pause frame (when full-duplex communication mode) to the upstream device will be referred to as a 'downstream device'.

상기 다운 스트림 장치는 제어 큐 매니저(130), 포트 제어 유니트(110), MAC(Media Access Control) (100), 이이프롬 인터페이스(120)로 구성되며, 공유버퍼(300)를 갖는다.The downstream apparatus includes a control queue manager 130, a port control unit 110, a media access control (MAC) 100, and an e-ROM interface 120, and has a shared buffer 300.

상기 제어 큐 매니저(130)는 상기 공유버퍼(300)에 저장된 현재의 패킷 수를 카운트하며, 각 출력 포트에 대하여 다수의 Tx Cur PKT 카운터0~N(133~135)을 운용하며, 또한 상기 이이프롬 인터페이스(120)를 통해 구성되는 두 개의 THR 값(혼잡 시작, 혼잡 종료)을 운용한다. 본 발명에서 버퍼 혼잡은 혼잡 시작 THR 값을 초과하는 버퍼들 내의 패킷의 수로 나타나며, 상기 혼잡은 혼잡 종료 THR 값보다 작은 버퍼 내의 패킷의 수로 나타난다. 상기 카운터들에 대한 THR 값은 각각 구성된다. 그리고 하나의 THR 값이 출력 큐에 할당된다. 만일 상기 버퍼에 저장된 출력 포트에 예정된 상기 패킷들의 현재 수가 상기 THR 값을 초과하는 경우 상기 Tx 포트 혼잡지시 벡터에 있는 해당 비트를 세트(set)한다. 그러므로 상기 비트 벡터는 공유 버퍼에 있는 패킷 수가 미리 설정된 THR 값보다 많은 출력 포트들을 지시한다. 상기 버퍼 혼잡 신호는 상기 출력 큐 상에서 인큐 또는 디큐가 발생될 때마다 상기 제어 큐 메니저(130)에 의해 업데이트 된다. 또한 상기 버퍼 혼잡 신호는 상기 제어 큐 매니저(130)로부터 포트 제어 유니트(Port Control Unit, PCU)(110)에 전달된다.The control queue manager 130 counts the current number of packets stored in the shared buffer 300, and operates a plurality of Tx Cur PKT counters 0 to N (133 to 135) for each output port. Two THR values (congestion start and congestion end) configured through the prompt interface 120 are operated. In the present invention, buffer congestion is represented by the number of packets in the buffers that exceed the congestion start THR value, and congestion is represented by the number of packets in the buffer that is less than the congestion end THR value. The THR values for the counters are each configured. One THR value is then assigned to the output queue. If the current number of packets destined for the output port stored in the buffer exceeds the THR value, set the corresponding bit in the Tx port congestion indication vector. Thus, the bit vector indicates output ports where the number of packets in the shared buffer is greater than the preset THR value. The buffer congestion signal is updated by the control queue manager 130 whenever an enqueue or dequeue occurs on the output queue. In addition, the buffer congestion signal is transmitted from the control queue manager 130 to a port control unit (PCU) 110.

상기 포트 제어 유니트(110)는 혼잡 지시가 수신되면 흐름 제어를 형성하기 위하여 소속 MAC(Media Access Control)(100)에게 명령한다. 만일 버퍼 혼잡 (1비트) 신호가 요구된다면 상기 MAC(100)는 상기 포트 제어 유니트(110)의 인터럽트 없이 흐름 제어를 형성할 것이다. 만일 포트 혼잡의 임의의 비트(N 비트) 신호가 요구된다면 상기 포트 제어 유니트(110)는 먼저 요구된 출력 포트에 지정된 패킷을 자체적으로 수신한 것이 있는가를 검사한다. 만일 있다면 상기 포트 제어 유니트(110)는 상기 MAC(100)에게 흐름 제어를 형성할 것을 지시한다.The port control unit 110 instructs the affiliated MAC (Media Access Control) 100 to form flow control when a congestion instruction is received. If a buffer congestion (1-bit) signal is required, the MAC 100 will establish flow control without interrupting the port control unit 110. If any bit (N bit) signal of port congestion is required, the port control unit 110 first checks whether it has received itself a packet designated for the required output port. If present, the port control unit 110 instructs the MAC 100 to form flow control.

도 5는 본 발명의 제1실시 예에 따라 반이중통신방식에서의 흐름 제어를 위한 블록 구성도이고, 도 6은 본 발명의 제2실시 예에 따라 전이중통신방식에서의 흐름 제어를 위한 블록구성도이다. 상기 도 5 및 도 6에 도시된 구성에 대한 세부 동작은 상기 종래 기술로 설명한 도 2, 도 3과 상술한 본원발명에 따른 도 4의 구성 설명과 같으므로 여기에서는 상세한 설명은 생략한다. 도 7 및 도 8은 본 발명에 따른 전이중 모드에서의 흐름제어 동작을 도시한 것이고, 도 9는 본 발명에 따른 반이중 모드에서의 흐름제어 동작을 도시한 것이다.5 is a block diagram for flow control in a half-duplex communication method according to the first embodiment of the present invention, Figure 6 is a block diagram for flow control in a full-duplex communication method according to a second embodiment of the present invention to be. Detailed operations of the components illustrated in FIGS. 5 and 6 are the same as those of FIGS. 2 and 3 described with the prior art and the configuration description of FIG. 4 according to the present invention. 7 and 8 illustrate the flow control operation in the full-duplex mode according to the present invention, Figure 9 shows the flow control operation in the half-duplex mode according to the present invention.

상술한 도 4 내지 도 9를 통해 본 발명의 바람직한 실시예를 상세히 설명한다.4 to 9 will be described in detail a preferred embodiment of the present invention.

본 발명에서는 두 개의 독립적인 혼잡 지시가 이용된다. 하나는 공유버퍼의 혼잡(버퍼 혼잡)을 지시하는 것이고, 다른 하나는 출력 포트들(전송 포트)의 혼잡(포트 혼잡)을 지시하는 것이다.In the present invention, two independent congestion indications are used. One indicates the congestion of the shared buffer (buffer congestion), and the other indicates the congestion of the output ports (transport port) (port congestion).

먼저, 전이중 모드에서의 흐름제어를 수행하는 상기 MAC(400)의 상세동작은 다음과 같다.First, detailed operations of the MAC 400 to perform flow control in full duplex mode are as follows.

이더넷 스위치 장치는 전이중 방식인 IEEE 802.3x 표준화를 따른다. 상기 이더넷 스위치 장치가 포즈 프레임을 수신하면(701단계) 수신된 포즈 프레임에 설정된 시간 주기동안 상기 포트로부터 새로운 프레임은 전송되지 않는다.(703단계) 즉, 포즈 프레임이 수신되면 패킷 데이터의 전송을 중지하고 수신된 포즈프레임 내 포즈시간을 이용하여 포즈 타이머(130)를 구동한다. 이후 705단계에서 상기 포즈 타이머(130)가 타임 아웃되면 709단계로 진행하고, 상기 포즈 타이머(130)가 구동중이라면 포즈 프레임 수신여부를 체크한 후 포즈 프레임을 수신되면 703단계로 진행하고, 그렇지 않으면 705단계로 리턴한다. 상기 709단계는 패킷 데이터 전송가능 상태가 된다. 그에 따라 다운 스트림 장치에 해당하는 이더넷 스위치 장치에 전송할 패킷 데이터가 있다면 업 스트림 장치의 이더넷 스위치는 패킷 데이터를 전송하게 된다.Ethernet switch devices follow the IEEE 802.3x standard, which is full duplex. When the Ethernet switch device receives the pause frame (step 701), a new frame is not transmitted from the port during the time period set in the received pause frame (step 703). That is, when the pause frame is received, transmission of packet data is stopped. Then, the pause timer 130 is driven by using the pause time in the received pause frame. Thereafter, if the pause timer 130 times out in step 705, the process proceeds to step 709. If the pause timer 130 is driven, the operation proceeds to step 703 when the pose frame is received. If not, return to step 705. In step 709, the packet data transfer state becomes possible. Accordingly, if there is packet data to be transmitted to the Ethernet switch device corresponding to the downstream device, the Ethernet switch of the upstream device transmits the packet data.

만약, 입력 포트가 THR(임계치) 값보다 많은 패킷을 공유 버퍼에 포함하고 있다면 지정된 전이중 포트에 포즈 프레임을 전송하고 다른 프레임 전송을 금지한다.If the input port contains more packets than the THR (threshold) value in the shared buffer, the pause frame is transmitted to the designated full-duplex port and the other frame is prohibited.

또한, 전이중 모드에서 버퍼 혼잡상에서의 포즈 프레임 전송에 관해 설명하면;Furthermore, a pause frame transmission on buffer congestion in full duplex mode will be described;

상기 이더넷 스위치 장치에서 공유버퍼(300)의 패킷 메모리로부터 패킷 데이터를 인큐(en-queue) 또는 디큐(de-queue)시마다 버퍼 풀을 의미하는 미리 설정된 카운터값과 비교하여 그에 따른 버퍼 상태 신호를 MAC(400) 내의 포즈 프레임 발생기(410)로 제공한다.(801단계) 그에 따라 상기 MAC(400)은 803단계에서 버퍼 혼잡이 발생되면 각 MAC(400)는 포즈 프레임을 방송 주소, 포즈 옵코드(Opcode), 포즈시간을 포함하여 구성하여 구성된 포즈 프레임을 상기 송신블록(430)으로 전송한다.The Ethernet switch device compares the packet data from the packet memory of the shared buffer 300 with a preset counter value, which means a buffer pool every time it enqueues or dequeues, and compares the buffer status signal with MAC. In step 801, when the MAC congestion occurs in step 803, each MAC 400 sends a pause frame to a broadcast address and a pause opcode (step 801). Opcode) and a pause frame configured to include a pause time are transmitted to the transmission block 430.

그러면 상기 송신블록(430)은 상기 포즈 프레임을 해당 MAC(400)에 대응되는 이더넷 스위치의 입력 포트들을 통해 업스트림 장치의 모든 이더넷 스위치들에게 전송한다. 동시에 상기 송신블록(430)은 포즈 타이머(430)를 구동시킨다.(807단계)Then, the transmission block 430 transmits the pause frame to all Ethernet switches of the upstream device through the input ports of the Ethernet switch corresponding to the corresponding MAC 400. At the same time, the transmission block 430 drives the pause timer 430 (step 807).

이후 포즈 타이머(430)가 타임아웃 되었는지 여부를 체크하여 포트 타이머가 타임 아웃되면 811단계로 진행하여 버퍼 혼잡이 유지되는가를 공유 버퍼(300)로부터 수신되는 버퍼 상태신호를 통해 검사한다. 그에 대한 검사 결과로서 813단계에서 버퍼 혼잡이 유지되고 있다면 815단계로 진행하여 새로운 포즈 프레임을 구성하고 상기 송신블록(430)으로 전송한다.After checking whether the pause timer 430 has timed out, and if the port timer has timed out, the process proceeds to step 811 to check whether buffer congestion is maintained through the buffer status signal received from the shared buffer 300. As a result of the check, if the buffer congestion is maintained in step 813, the process proceeds to step 815 to construct a new pause frame and transmits the new pause frame to the transmission block 430.

상기 MAC(400)은 심지어 송신 블록(430)이 포즈된 경우에도 포즈 발생을 위한 인에이블을 도시하지 않은 MAC 제어 패킷 전송 제어기에 제공한다. 상기 MAC 내의 전송 상태 레지스터에서 제어 비트는 전이중 포즈 동작을 발생하기 위해 세트 된다. 명령 및 상태 레지스터(CSR: Command and Status Register) 인터페이스는 전송과 수신 제어 레지스터와 상태 레지스터 내에 제어 및 상태 비트들을 제공한다. MAC 제어기능을 인에이블과 디스에이블, 흐름제어 카운터의 독취, 그리고 MAC 제어 프레임을 보내기 위한 초기화를 허용한다. 패킷 손실을 방지하기 위하여 포즈 점유 특성이 첨가된다. 업 스트림 장치의 포즈 시간 이후에 이더넷 스위치 장치는 버퍼 혼잡 지시가 아직 유지되고 있는가를 체크하여 그렇다면 새로운 포즈 프레임을 발생시켜 전송한다. 이러한 알고리즘을 위하여 RemPauseCnt 필드가 MAC 레지스터에서 운용된다. 상기 RemPauseCnt는 현재 디비이스로부터 수신한 포즈 프레임의 결과로서, 상기 업 스트림 디바이스의 예상 포즈 카운터 값을 나타낸다. 이와 같은 방법으로 흐름 제어 알고리즘은 더 강건해진다. 다음은 포즈 프레임 전송 알고리즘을 나타낸 것이다. 다음으로, 포트 제어 유니트 명령 상에서 포즈 프레임의 전송을 살펴보면; 포트 제어 유니트가 상기 Tx 포트 혼잡 지시와 혼잡 포트로 지정된 포트 제어 유니트의 수신 유니케스트 패킷들 때문에 흐름제어를 수행하는 해당 MAC에 명령하면, 포즈 프레임을 발생시켜 방송 주소, 패킷 옵코드 및 포즈 시간과 함께 전송한다. 상기 MAC 블록은 심지어 송신 블록이 포즈된 경우에도 포즈 발생을 위한 인에이블을 MAC 제어 패킷 전송 제어기에 제공한다. 상기 전송 상태 레지스터에서 제어 비트는 전이중 포즈 동작을 발생하기 위해 세트 된다. 명령 및 상태 레지스터(CSR: Command and Status Register) 인터페이스는 전송과 수신 제어 레지스터와 상태 레지스터 내에 제어 및 상태 비트들을 제공한다. MAC 제어기능을 인에이블과 디스에이블, 흐름제어 카운터의 독취, 그리고 MAC 제어 프레임을 보내기 위한 초기화를 허용한다. 원격 포즈 특성은 이 경우에는 적용되지 않는다. 상기 원격 포즈 카운터가 종료되고 패킷이 수신된 후 MAC은 상기 포트 제어 유니트에 패킷을 전송한다. 그러면 패킷 제어 유니트(110)는 흐름제어가 필요한지를 다시 결정한다.The MAC 400 even provides the MAC control packet transmission controller, not shown, to enable pause generation even when the transmission block 430 is paused. A control bit in the transmit status register in the MAC is set to generate a full duplex pause operation. The Command and Status Register (CSR) interface provides control and status bits in the transmit and receive control registers and the status register. Allows MAC control to be enabled and disabled, reads of flow control counters, and initialization to send MAC control frames. The pause occupancy property is added to prevent packet loss. After the pause time of the upstream device, the Ethernet switch device checks whether the buffer congestion indication is still maintained and if so generates and sends a new pause frame. For this algorithm, the RemPauseCnt field is operated in the MAC register. The RemPauseCnt represents an expected pause counter value of the upstream device as a result of the pause frame received from the current device. In this way the flow control algorithm becomes more robust. The following is a pause frame transmission algorithm. Next, look at the transmission of a pause frame on a port control unit command; When the port control unit instructs the MAC to perform flow control because of the Tx port congestion indication and the received unicast packets of the port control unit designated as the congestion port, a port control unit generates a pause frame and a broadcast address, packet opcode and pause time. Send together. The MAC block provides the MAC control packet transmission controller with enable for generating a pause even when the transmission block is paused. The control bit in the transfer status register is set to generate a full duplex pause operation. The Command and Status Register (CSR) interface provides control and status bits in the transmit and receive control registers and the status register. Allows MAC control to be enabled and disabled, reads of flow control counters, and initialization to send MAC control frames. The remote pose feature does not apply in this case. After the remote pause counter ends and the packet is received, the MAC sends a packet to the port control unit. The packet control unit 110 then determines again whether flow control is necessary.

포즈 프레임 전송을 위한 알고리즘을 구성하면 하기와 같다.An algorithm for transmitting a pause frame is configured as follows.

if PAUSE_Active = 0if PAUSE_Active = 0

if (buffer congestion indication is assertedif (buffer congestion indication is asserted

or PCU commands for flow control) thenor PCU commands for flow control) then

PAUSE_active = 1PAUSE_active = 1

Generate a PAUSE frame as configured in hostGenerate a PAUSE frame as configured in host

Broadcast PAUSE frame to all the Full-Duplex portsBroadcast PAUSE frame to all the Full-Duplex ports

Assign an appropriate to RemPauseCntAssign an appropriate to RemPauseCnt

elseelse

PAUSE_active = 0PAUSE_active = 0

포즈 프레임 수신의 수신에 있어, 상기 포즈 프레임 발생기(410)는 포즈 동작을 지정할 MAC 제어 패킷의 수신에서 상기 송신블록(430)의 포즈를 인에이블 시키기 위하여 포즈 동작 인에이블 제어를 제공한다. 상기 MAC(400)은 포즈 프레임을 검출할 수 있다. 전이중 포즈 동작이 인지되면 상기 MAC 수신회로는 포즈 카운트 레지스터에서 연산 값을 로드하고 포즈가 현재 패킷의 끝에서 시작한다면 MAC 엔진에 알린다. 포즈 회로는 포즈 동작의 끝에 신호를 보내기 전에 제로로 감소할 때까지 포즈 카운터를 운용하며, 전송회로가 재시작 하도록 허용한다. 만일 제2전이중 포즈 동작이 제1포즈동작이 작동할 동안 인지된다면 상기포즈 카운터는 현재 연산 값과 함께 리셋 된다.In receiving a pause frame, the pause frame generator 410 provides pause operation enable control to enable a pause of the transmission block 430 upon reception of a MAC control packet to designate a pause operation. The MAC 400 may detect a pause frame. When a full duplex pause operation is recognized, the MAC receiving circuit loads an operation value from the pause count register and notifies the MAC engine if the pause begins at the end of the current packet. The pause circuit operates the pause counter until it decreases to zero before sending a signal at the end of the pause operation, allowing the transmission circuit to restart. The pause counter is reset with the current arithmetic value if a second full-duplex pause action is recognized while the first pose action is active.

포즈 프레임의 수신상에서;On reception of a pose frame;

load the PauseCnt 〈--- #load the PauseCnt 〈--- #

if (PauseCnt is not 0) then 〈--- *if (PauseCnt is not 0) then 〈--- *

PAUSE_active = TRUEPAUSE_active = TRUE

if in the middle of a frame transmissionif in the middle of a frame transmission

then complete the txthen complete the tx

elseelse

decrease PauseCntdecrease PauseCnt

if new PAUSE frame received thenif new PAUSE frame received then

goto # and override the pause time fieldgoto # and override the pause time field

else goto *else goto *

else PAUSE_active = FALSEelse PAUSE_active = FALSE

두 번째로, 반이중 모드인 경우의 흐름제어 동작을 도 9를 통해 살펴보면;Secondly, the flow control operation in the case of the half duplex mode will be described with reference to FIG. 9;

반이중 모드 동작을 위해 상기 흐름 제어 메카니즘은 하기에서 설명하는 바와 같이 이루어진다. 901단계에서 임의의 입력 포트의 패킷 카운터 값이 상기 공유 버퍼(300)에서 해당 입력포트에 대응되는 임계치(THR) 값보다 많은 패킷을 가지는 경우 903단계에서 재밍 신호를 입력포트에 대응되는 지정된 반이중 포트에 보낸다. 또한, 905단계에서 상기 재밍 신호는 흐름 제어에 의해 전송되지 않더라도 호스트에 "백 프레스 인에이블"로서 발생된다.The flow control mechanism for half-duplex mode operation is as described below. If the packet counter value of any input port has more packets than the threshold value (THR) value corresponding to the corresponding input port in the shared buffer 300 in step 901, the jamming signal is assigned to the input port in step 903. Send to Further, in step 905, the jamming signal is generated as a "back press enable" to the host even though it is not transmitted by flow control.

흐름 제어를 위한 재밍 신호의 수신에서, 상기 재밍 신호를 수신하는 이더넷 스위치 장치는 개별적으로 충돌의 결과로서 상기 재밍 신호를 수신한다.In the reception of a jamming signal for flow control, the Ethernet switch device receiving the jamming signal individually receives the jamming signal as a result of the collision.

또한, 흐름 제어를 위한 재밍 신호의 전송에서, 만일 흐름 제어가 반이중 모드 포트를 위해 인에이블 되고 혼잡 포트 신호가 지시를 위해 인에이블 된다면 다른 디바이스의 프레임 전송의 검출 상에서 상기 재밍 신호를 전송할 것이다. 그러므로, 프레임 전송을 허용하지 않을 것이다. 더 특징적으로, 상기 재밍 신호는 버퍼 혼잡이 지시되거나 PCU의 명령이 있는 경우 또는 프레임을 보내는 지정된 포트에 부속된 다른 디바이스를 검출하는 경우에 포즈 프레임 대신에 입력 포트로 보내진다.In addition, in the transmission of the jamming signal for flow control, if the flow control is enabled for a half-duplex mode port and the congestion port signal is enabled for indication, it will transmit the jamming signal on detection of the frame transmission of another device. Therefore, it will not allow frame transmission. More specifically, the jamming signal is sent to the input port instead of the pause frame when buffer congestion is indicated or when there is a command from the PCU or when detecting another device attached to the designated port to send the frame.

결론적으로, 본 발명은 다음과 같이 3가지로 요약할 수 있다.In conclusion, the present invention can be summarized in three ways as follows.

1. 공유 버퍼 내의 패킷 수를 카운트하여 혼잡을 예측하여 전체포트의 업 스트림 장치로 흐름 제어를 인에이블 시키는 LAN 디바이스.1. A LAN device that counts the number of packets in a shared buffer to predict congestion and enables flow control to upstream devices on all ports.

2. 출력포트별로 패킷 메모리 내의 저장된 패킷 수를 체크하여 어떤 특정 값, 여기서는 각 포트별로 다르게 설정할 수 있는 임계치(THR) 이상인 경우 해당 출력포트로 유니케스트(UNI-CAST) 패킷을 전송하는 업 스트림 장치로의 흐름 제어를 인에이블 시키는 LAN 디바이스.2. An upstream device that checks the number of packets stored in the packet memory for each output port and sends a UNICAST packet to the corresponding output port if it is above a certain threshold (THR) that can be set differently for each port. LAN device that enables flow control to the furnace.

3. 전이중 모드에서 포즈를 사용하는 경우 원격 장치의 포즈 타임을 예측해서 설정된 포즈 타임 내에 혼잡이 해소되지 않을 경우 재차 포트 프레임을 전송하는 LAN 디바이스.3. LAN device, when using pause in full-duplex mode, predicts the pose time of the remote device and transmits port frames again if congestion is not resolved within the set pose time.

상술한 본 발명의 설명에서는 이더넷 스위치와 같은 구체적인 실시 예에 관해 설명하였으나, 패킷 스위치 네트워크 상에서의 여러 가지 변형이 본 발명의 범위에서 벗어나지 않고 실시할 수 있다. 따라서 본 발명의 범위는 설명된 실시 예에 의하여 정할 것이 아니고 특허청구범위와 특허청구범위의 균등한 것에 의해 정해 져야 한다.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 has an advantage of improving switching performance by preventing packet loss due to congestion and ensuring fair bandwidth sharing between ports.

Claims (5)

패킷 스위치 네트워크에서 전이중 모드를 채용하고, 패킷 데이터를 저장하고 있는 공유메모리를 갖는 이더넷 스위치 장치에서의 흐름 제어 방법에 있어서,A flow control method in an Ethernet switch device employing a full duplex mode in a packet switch network and having a shared memory for storing packet data, 상기 이더넷 스위치 장치에서 상기 공유버퍼의 패킷 메모리로부터 버퍼 상태를 검사하는 과정과,Checking a buffer status from the packet memory of the shared buffer in the Ethernet switch device; 상기 버퍼 상태가 버퍼 혼잡인 경우 포즈 프레임을 대응되는 상기 이더넷 스위치 장치의 입력 포트를 통해 업 스트림 장치에 해당하는 이더넷 스위치 장치에 전송하는 과정과,Transmitting a pause frame to an Ethernet switch device corresponding to an upstream device through an input port of the corresponding Ethernet switch device when the buffer state is buffer congestion; 미리 설정된 포즈 시간이 경과하는 경우 버퍼 혼잡이 유지되는 가를 검사하는 과정과,Checking whether buffer congestion is maintained when a preset pause time elapses, 상기 포즈 시간이 경과한 이후에도 버퍼 혼잡이 유지되는 경우 새로운 포즈 프레임을 대응되는 상기 이더넷 스위치 장치의 입력 포트를 통해 업 스트림 장치에 해당하는 이더넷 스위치 장치에 전송하는 과정으로 이루어짐을 특징으로 하는 공유버퍼를 갖는 패킷 스위치 네트워크에서의 흐름 제어 방법.If buffer congestion is maintained even after the pause time has elapsed, a new buffer frame is transmitted to an Ethernet switch device corresponding to an upstream device through an input port of the corresponding Ethernet switch device. Flow control method in a packet switch network having a. 제 1항에 있어서,The method of claim 1, 상기 버퍼 상태는 상기 공유버퍼의 패킷 메모리로부터 패킷 데이터를 인큐 또는 디큐시마다 버퍼 혼잡을 의미하는 미리 설정된 카운터값과 비교하여 발생한 버퍼 상태 신호에 의해 검사함을 특징으로 하는 공유버퍼를 갖는 패킷 스위치 네트워크에서의 흐름 제어 방법.In the packet switch network having a shared buffer, the buffer status is checked by a buffer status signal generated by comparing the packet data from the packet memory of the shared buffer with a preset counter value representing buffer congestion for each enqueue or dequeue. Flow control method. 패킷 스위치 네트워크에서 전이중 모드를 채용하고, 패킷 데이터를 저장하고 있는 공유메모리를 갖는 이더넷 스위치 장치에서의 흐름 제어 방법에 있어서,A flow control method in an Ethernet switch device employing a full duplex mode in a packet switch network and having a shared memory for storing packet data, 상기 이더넷 스위치 장치의 출력 포트별로 상기 공유버퍼의 패킷 메모리에 저장되어 있는 패킷 수를 카운트하는 과정과,Counting the number of packets stored in the packet memory of the shared buffer for each output port of the Ethernet switch device; 상기 패킷 메모리에 저장되어 있는 패킷 수가 출력 포트별로 설정되어 있는 임계치와 비교하는 과정과,Comparing the number of packets stored in the packet memory with a threshold set for each output port; 상기 비교결과 상기 패킷 메모리에 저장되어 있는 패킷 수가 출력 포트별로 설정되어 있는 임계치 이상이면 해당 출력 포트로 유니케스트 패킷을 전송하는 업 스트림 장치에 해당하는 이더넷 스위치 장치로 흐름제어를 인에이블 시키는 과정으로 이루어짐을 특징으로 하는 공유버퍼를 갖는 패킷 스위치 네트워크에서의 흐름 제어 방법.If the number of packets stored in the packet memory is equal to or greater than a threshold set for each output port, the flow control is enabled by an Ethernet switch device corresponding to an upstream device that transmits a unicast packet to a corresponding output port. Flow control method in a packet switch network having a shared buffer characterized in that. 패킷 스위치 네트워크에서 반이중 모드를 채용하고, 패킷 데이터를 저장하고 있는 공유메모리를 갖는 이더넷 스위치 장치에서의 흐름 제어 방법에 있어서,A flow control method in an Ethernet switch device employing a half-duplex mode in a packet switch network and having a shared memory for storing packet data, 상기 이더넷 스위치 장치의 입력 포트의 패킷 카운터 값이 상기 공유버퍼에서 해당 입력 포트에 대응되는 임계치보다 많은 패킷을 가지는 가를 검사하는 과정과,Checking whether a packet counter value of an input port of the Ethernet switch device has more packets than a threshold corresponding to a corresponding input port in the shared buffer; 상기 이더넷 스위치 장치의 입력 포트의 패킷 카운터 값이 상기 공유버퍼에서 해당 입력 포트에 대응되는 임계치보다 많은 패킷을 가지는 경우 재밍 신호를 상기 입력 포트에 대응되는 반이중 포트로 전송하는 과정으로 이루어짐을 특징으로 하는 공유버퍼를 갖는 패킷 스위치 네트워크에서의 흐름 제어 방법.When the packet counter value of the input port of the Ethernet switch device has more packets than the threshold corresponding to the corresponding input port in the shared buffer, a jamming signal is transmitted to the half-duplex port corresponding to the input port. A flow control method in a packet switch network having a shared buffer. 제 4항에 있어서,The method of claim 4, wherein 상기 재밍 신호는 상기 흐름 제어에 의해 전송되지 않는 경우 백프레스 인에이블로 발생됨을 특징을 하는 공유버퍼를 갖는 패킷 스위치 네트워크에서의 흐름 제어 방법.And the jamming signal is generated with a back press enable when it is not transmitted by the flow control.
KR1019990049870A 1999-11-11 1999-11-11 Flow control method in packet switched network with shared buffer KR100346120B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019990049870A KR100346120B1 (en) 1999-11-11 1999-11-11 Flow control method in packet switched network with shared buffer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019990049870A KR100346120B1 (en) 1999-11-11 1999-11-11 Flow control method in packet switched network with shared buffer

Publications (2)

Publication Number Publication Date
KR20010046192A true KR20010046192A (en) 2001-06-05
KR100346120B1 KR100346120B1 (en) 2002-08-01

Family

ID=19619520

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990049870A KR100346120B1 (en) 1999-11-11 1999-11-11 Flow control method in packet switched network with shared buffer

Country Status (1)

Country Link
KR (1) KR100346120B1 (en)

Also Published As

Publication number Publication date
KR100346120B1 (en) 2002-08-01

Similar Documents

Publication Publication Date Title
US6628613B1 (en) Flow control method in packet switched network
US6108306A (en) Apparatus and method in a network switch for dynamically allocating bandwidth in ethernet workgroup switches
US6741559B1 (en) Method and device for providing priority access to a shared access network
US6167029A (en) System and method for integrated data flow control
US9094327B2 (en) Prioritization and preemption of data frames over a switching fabric
AU767085B2 (en) Optimizing the transfer of data packets between LANs
EP2642704B1 (en) Reducing headroom
KR100735408B1 (en) Method and apparatus for controlling a traffic switching operation based on a service class in an ethernet-based network
CN110417670B (en) Network switch
US7573821B2 (en) Data packet rate control
JPH0766820A (en) Flow control system
CN111526095B (en) Flow control method and device
EP1356640B1 (en) Modular and scalable switch and method for the distribution of fast ethernet data frames
US6574232B1 (en) Crossbar switch utilizing broadcast buffer and associated broadcast buffer management unit
JP2001292164A (en) Packet switch and its switching method
JP2757779B2 (en) Buffer priority control method
US20090092046A1 (en) Method for Congestion Management of a Network, a Switch, and a Network
JP2008166888A (en) Priority band control method in switch
JP4022017B2 (en) LAN relay device
CA2409976C (en) Method and apparatus for providing input back pressure in an output buffered switch
US7203171B1 (en) Ingress discard in output buffered switching devices
US6725270B1 (en) Apparatus and method for programmably modifying a limit of a retry counter in a network switch port in response to exerting backpressure
WO2009122122A1 (en) Queue processing method
KR100334811B1 (en) Flow control method in packet switched network
KR100346120B1 (en) Flow control method in packet switched network with shared buffer

Legal Events

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

Payment date: 20080604

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee