KR100346120B1 - Flow control method in packet switched network with shared buffer - Google Patents
Flow control method in packet switched network with shared buffer Download PDFInfo
- Publication number
- KR100346120B1 KR100346120B1 KR1019990049870A KR19990049870A KR100346120B1 KR 100346120 B1 KR100346120 B1 KR 100346120B1 KR 1019990049870 A KR1019990049870 A KR 1019990049870A KR 19990049870 A KR19990049870 A KR 19990049870A KR 100346120 B1 KR100346120 B1 KR 100346120B1
- Authority
- KR
- South Korea
- Prior art keywords
- pause
- flow control
- packet
- congestion
- port
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/30—Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/629—Ensuring 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
본 발명은, 패킷 스위치 네트워크(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, in particular to minimizing packet loss on a local area network (LAN), such as Ethernet, and to a 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.
Description
본 발명은 패킷 스위치 네트워크(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 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, 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 threshold THR, the switch determines that this input port is likely to cause congestion and takes control action. The threshold 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 a shared buffer use an output queuing method with an output buffering structure as described above. In this case, as described above, a virtual input queue is created to screen out ports that may cause congestion, thereby reducing the number of packets in the queue. Must count. 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.
도 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)을 운용한다. 전술한 바와 같이 출력 포트별로 로지컬한 큐를 유지하는 출력 버퍼링 구조에서는, 이처럼 공유버퍼(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. As described above, in the output buffering structure that maintains a logical queue for each output port, a plurality of Tx Cur PKT counters 0 to N (133 to 135) counting the number of packets stored in the shared buffer 300 for each output port. Is operated. In addition, it operates two THR values (congestion start, congestion end) configured through the eprom interface 120. 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 threshold value THR 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) 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) 이상인 경우 해당 출력포트로 유니케스트(unicast) 패킷을 전송하는 업 스트림 장치로의 흐름 제어를 인에이블 시키는 LAN 디바이스.2. It checks the number of packets stored in the packet memory for each output port, and if it is above a certain value (THR) that can be set differently for each port, it is an upstream device that sends unicast packet to the corresponding output port. LAN device that enables flow control of the system.
3. 전이중 모드에서 포즈를 사용하는 경우 원격 장치의 포즈 타임을 예측해서 설정된 포즈 타임 내에 혼잡이 해소되지 않을 경우 재차 포트 프레임을 전송하는 LAN 디바이스.즉, 본 발명은 입력 포트별로 들어온 패킷의 수를 카운트하는 카운터들을 별도로 사용하는 것이 아니라, 출력 포트별로 로지컬한 큐를 유지하는 출력 버퍼링 구조에서 사용되고 있는 다수의 Tx Cur PKT 카운터0~N(133~135)의 값을 각각의 임계값(THR)과 비교한다. 이때 패킷의 수가 임계값(THR) 이상인 출력 포트가 있는 경우에는, 해당 출력 포트로 유니케스트 패킷을 전송하는 입력 포트를 확인하여, 해당하는 입력 포트의 업 스트림 장치로 백 프레스 방법 또는 포즈 프레임 전송 방법에 의한 흐름 제어를 인에이블시켜 실행하게 된다.이는 혼잡을 유발하는 트래픽(traffic)은 대부분 파일 트랜스퍼(file transfer)와 같은 큰 사이즈의 데이터 전송 시에 발생하며, 이러한 트래픽은 장시간 동안 특정 입력 포트에서 특정 출력 포트로 유니케스트되는 것에 착안한 것이다. 즉, 특정한 출력 큐가 임계값(THR) 이상의 개수의 패킷을 가지고 있다면, 이 출력 포트로 향하는 트래픽에 의해 혼잡이 야기될 가능성이 크다고 볼 수 있다. 이때 이 출력 포트로 유니케스트 패킷을 보내고 있는 입력 포트가 혼잡을 유발하는 포트이다. 그러므로 이 입력 포트의 업 스트림으로 백 프레스 방법 또는 포즈 프레임 전송 방법에 의한 흐름 제어를 실행하면 된다.따라서 본 발명은 출력 버퍼링 구조에서 기존에 사용되고 있는 출력 포트별로 패킷 수를 카운트하는 값을 이용하여 혼잡이 야기될 출력 포트를 찾아낸 다음에, 이 출력 포트로 유니케스트 패킷을 보내고 있는 입력 포트를 혼잡을 유발하는 입력 포트로서 가려내어 흐름 제어를 한다. 이에따라 종래에 입력 포트별로 들어온 패킷의 수를 카운트하는 카운터들을 별도로 사용하여 혼잡을 유발하는 입력 포트를 직접적으로 찾아내어 흐름 제어를 함에 따라 발생되는 문제를 개선하게 된다.3. A LAN device that transmits a port frame again when congestion is not resolved within a set pause time by predicting a pose time of a remote device when using a pose in full duplex mode. Rather than using separate counters for counting, the values of a number of Tx Cur PKT counters 0 to N (133 to 135), which are used in the output buffering structure that maintains a logical queue for each output port, are set to the threshold value THR and the threshold value. Compare. At this time, if there is an output port in which the number of packets is equal to or greater than the threshold value (THR), the input port for transmitting the unicast packet to the corresponding output port is checked, and a back press method or a pause frame transmission method is performed to the upstream device of the corresponding input port. This is accomplished by enabling flow control by means of congestion-prone traffic, which occurs mostly in large data transfers such as file transfers, and this traffic can The idea is to be unicast to a specific output port. In other words, if a particular output queue has a number of packets above the threshold value THR, it is likely that congestion is caused by traffic destined for this output port. At this time, the input port sending the unicast packet to this output port is the port causing congestion. Therefore, the flow control by the back press method or the pause frame transmission method may be performed upstream of the input port. Accordingly, the present invention congests using a value that counts the number of packets for each output port that is conventionally used in the output buffering structure. After finding the output port to be caused, the input port sending the unicast packet to this output port is identified as the input port causing congestion and flow control is performed. Accordingly, by using counters that separately count the number of packets coming in for each input port, the problem caused by the flow control by directly finding the input port causing congestion is improved.
상술한 본 발명의 설명에서는 이더넷 스위치와 같은 구체적인 실시 예에 관해 설명하였으나, 패킷 스위치 네트워크 상에서의 여러 가지 변형이 본 발명의 범위에서 벗어나지 않고 실시할 수 있다. 따라서 본 발명의 범위는 설명된 실시 예에 의하여 정할 것이 아니고 특허청구범위와 특허청구범위의 균등한 것에 의해 정해 져야 한다.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)
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 KR20010046192A (en) | 2001-06-05 |
KR100346120B1 true 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) |
-
1999
- 1999-11-11 KR KR1019990049870A patent/KR100346120B1/en not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR20010046192A (en) | 2001-06-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6628613B1 (en) | Flow control method in packet switched network | |
US6741559B1 (en) | Method and device for providing priority access to a shared access network | |
US6167029A (en) | System and method for integrated data flow control | |
KR100735408B1 (en) | Method and apparatus for controlling a traffic switching operation based on a service class in an ethernet-based network | |
EP2642704B1 (en) | Reducing headroom | |
AU767085B2 (en) | Optimizing the transfer of data packets between LANs | |
US9094327B2 (en) | Prioritization and preemption of data frames over a switching fabric | |
US6108306A (en) | Apparatus and method in a network switch for dynamically allocating bandwidth in ethernet workgroup switches | |
US6252849B1 (en) | Flow control using output port buffer allocation | |
US7668103B1 (en) | Inter-device flow control | |
US8411574B2 (en) | Starvation free flow control in a shared memory switching device | |
US8782307B1 (en) | Systems and methods for dynamic buffer allocation | |
US7573821B2 (en) | Data packet rate control | |
US20070174511A1 (en) | Transmit rate pacing system and method | |
CN111526095B (en) | Flow control method and device | |
JP2001292164A (en) | Packet switch and its switching method | |
US8018851B1 (en) | Flow control for multiport PHY | |
JP2757779B2 (en) | Buffer priority control method | |
US6574232B1 (en) | Crossbar switch utilizing broadcast buffer and associated broadcast buffer management unit | |
US6680910B1 (en) | Network interface unit | |
JP4022017B2 (en) | LAN relay device | |
US7554908B2 (en) | Techniques to manage flow control | |
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 |
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 |