KR20010038486A - Structure of Buffer and Queues for Suppling Ethernet QoS and Operating Method thereof - Google Patents

Structure of Buffer and Queues for Suppling Ethernet QoS and Operating Method thereof Download PDF

Info

Publication number
KR20010038486A
KR20010038486A KR1019990046461A KR19990046461A KR20010038486A KR 20010038486 A KR20010038486 A KR 20010038486A KR 1019990046461 A KR1019990046461 A KR 1019990046461A KR 19990046461 A KR19990046461 A KR 19990046461A KR 20010038486 A KR20010038486 A KR 20010038486A
Authority
KR
South Korea
Prior art keywords
buffer
address
packet
buffers
priority
Prior art date
Application number
KR1019990046461A
Other languages
Korean (ko)
Inventor
이백주
Original Assignee
서평원
엘지정보통신 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 서평원, 엘지정보통신 주식회사 filed Critical 서평원
Priority to KR1019990046461A priority Critical patent/KR20010038486A/en
Publication of KR20010038486A publication Critical patent/KR20010038486A/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/20Support for services
    • H04L49/205Quality of Service based
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/52Queue scheduling by attributing bandwidth to queues
    • H04L47/522Dynamic queue service slot or variable bandwidth allocation
    • 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/625Queue scheduling characterised by scheduling criteria for service slots or service orders
    • H04L47/6275Queue scheduling characterised by scheduling criteria for service slots or service orders based on priority

Landscapes

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

Abstract

PURPOSE: An Ethernet QoS(Quality of Service) support buffer and queue structure and a method for operating thereof are provided to base an operating algorithm of buffers and queues on a framework for QoS based routing in accordance with IEEE 802.1p and IETF RFC2386, in supporting QoS at an Ethernet. CONSTITUTION: A bypass buffer array(40) is provided with buffers that process delay-sensed packets for MAC(Media Access Control) determined by an address resolution. A bypass queue link list(20) is provided for the queuing of the bypass buffer array(40). A priority weight buffer array(50) is provided with buffers corresponding to bandwidths supported according to service classes. A plurality of transmitting queue link lists(30-1-30-m) are provided for the queuing of the priority weight buffer array(50). A buffer timeout scheduler(90) sets a timeout value to manage the buffers of the priority weight buffer array(50). A buffer loss manager(100) processes delay-sensed packets according to a timeout value of the buffer timeout scheduler(90). A plurality of receiving FIFOs(60-1-60-m) store packets received from various ports. A received packet arbitrator and address detector(70) quests for the addresses of the packets received through the FIFOs(60-1-60-m) and queues them to the buffers of the bypass buffer array(40) and the priority weight buffer array(50). A transmitting packet arbitrator(80) transmits the queued packets by weights.

Description

이더넷 큐오에스 지원 버퍼 및 큐 구조와 그 운용 방법 {Structure of Buffer and Queues for Suppling Ethernet QoS and Operating Method thereof}Structure of Buffer and Queues for Suppling Ethernet QoS and Operating Method

본 발명은 이더넷 QoS 지원 버퍼 및 큐 구조와 그 운용 방법에 관한 것으로, 특히 이더넷에서 네트워크 서비스(Network Service)의 성능 지표로 사용되는 지연, 손실, 작업 처리량(Throughput) 등을 고려하는 버퍼 및 큐를 구현하고 운영하여 QoS를 지원하도록 한 이더넷 QoS 지원 버퍼 및 큐 구조와 그 운용 방법에 관한 것이다.The present invention relates to an Ethernet QoS support buffer and queue structure and a method of operating the same. In particular, the present invention relates to a buffer and a queue considering delay, loss, and throughput, which are used as performance indicators of a network service in Ethernet. The present invention relates to an Ethernet QoS support buffer and queue structure implemented and operated to support QoS, and a method of operating the same.

종래의 이더넷 패킷 프로세싱 방식은 이더넷 트래픽(Traffic)을 처리하는데 있어 단순히 트래픽의 부하(Load) 및 메디아(Media)에 기초하여 버퍼를 운영하고 시스템(System)에 의존하게 이를 관리한다.The conventional Ethernet packet processing scheme operates a buffer based on the traffic load and the media simply to handle the Ethernet traffic and manages it depending on the system.

여기서, 해당 이더넷 트래픽의 특징인 최선형(Best Effort) 방식에 따라 이를 운영하기 때문에 서비스 대기 시간의 과다, 대역폭 보장의 불능, 실시간성 서비스를 위한 QoS 미보장 등의 어려움을 가지고 있다. 보통, 해당 QoS는 사용자가 실제적으로 서비스 품질을 느끼는 표현 및 체감 품질과, 사용자의 서비스 이용 및 제어의 편리성을 보장하는 이용 및 제어 품질로 나눌 수 있다.Here, since it operates according to the Best Effort method, which is a characteristic of the Ethernet traffic, it has difficulties such as excessive service waiting time, inability to guarantee bandwidth, and no QoS guarantee for real-time service. In general, the QoS can be divided into a quality of expression and haptic that the user actually feels the quality of service and a quality of use and control that ensures the convenience of the user's service use and control.

그리고, 해당 QoS는 ITU-T, IETF 등과 같은 표준화 기관에 따라 다양하게 정의하고 있는데, 해당 ITU-T E.800 권고안에서는 서비스 사용자의 만족 정도를 결정하는 서비스 성능의 종합적인 효과라고 정의하고 있으며, IETF 권고안에서는 서비스를 사용하는 형태, 특성, 그리고 요구 수준에 따른 사용자의 요구에 적응하여 제공할 수 있는 네트워크 서비스의 성능 지표로 정의하고 있다.In addition, the QoS is variously defined according to standardization organizations such as ITU-T and IETF, and the ITU-T E.800 recommendation defines the overall effect of service performance to determine the satisfaction level of service users. The IETF Recommendation defines the performance indicators of network services that can be adapted to the needs of users according to the type, characteristics, and level of use of the service.

이에, 종래에 채택된 기술로는 이더넷 포트(Port) 별로 버퍼를 스태틱하게 할당하거나 다이내믹하게 할당하는 방식이 있으며, 메디아 별로 달리하여 운영하는 방식이 있다.Thus, conventionally adopted technologies include statically assigning or dynamically allocating buffers for each Ethernet port, and differently operating media for each media.

여기서, 해당 이더넷 포트 별로 버퍼를 스태틱하게 할당하는 방식은 이더넷 칩(Chip)에서 요구하는 버퍼의 개수를 이더넷 칩에서 지원하는 포트 별로 일정하게 할당하여 이를 FIFO 방식으로 큐잉(Queuing)하여 서비스(Service)하는 방식이다.Here, the method of statically allocating buffers for each Ethernet port allocates the number of buffers required by the Ethernet chip to each port supported by the Ethernet chip and queues them in a FIFO method to provide services. That's the way it is.

그리고, 해당 이더넷 포트 별로 버퍼를 다이내믹하게 할당하는 방식은 이더넷 칩에서 요구하는 버퍼의 개수를 이더넷 포트에서 들어오는 패킷들에 따라서 FIFO 방식으로 큐잉하는 방식으로, 특정한 버퍼에 대해서 특정 포트에 고정적으로 할당하지는 않는다.The method of dynamically allocating buffers for each Ethernet port is to queue the number of buffers required by the Ethernet chip in a FIFO manner according to packets coming from the Ethernet port. Do not.

그리고, 해당 메디아 별로 달리하여 운영하는 방식은 10M 이더넷과 100M 이더넷 등의 다른 메디아에 따라 우선 순위를 두어 이를 큐잉하거나 전송(Transmission)할 경우에 메디아의 속도가 빠른 100M을 10M보다 주어진 순서만큼 먼저 주사(Scan)하여 서비스하는 방식으로, 메디아가 서로 다른 시스템에서 사용하는 방식이다.In addition, the method of operating differently for each media is prioritized according to other media such as 10M Ethernet and 100M Ethernet, and when the queue is queued or transmitted, 100M, which is faster than the media, is scanned in a given order before 10M. (Scan) to service. This is the way Media is used by different systems.

첫 번째로, 해당 이더넷 포트 별로 스태틱하게 할당되는 버퍼를 운용하는 방식, 즉 스태틱 버퍼 이더넷 패킷 프로세싱 방법을 살펴보면 도 1에 도시된 바와 같은데, 포트 수신 버퍼 어레이(Port Receive Buffer Array; 12)에서 각 포트 당 일정 버퍼를 할당(Allocation)하며, 이를 송신 링크 큐 리스트(11)에 순차적으로 부가(Adding)하여 로우테이팅(Rotating)하면서 서비스를 수행한다.First, a method of operating a statically allocated buffer for each Ethernet port, that is, a static buffer Ethernet packet processing method is illustrated in FIG. 1. Each port in the Port Receive Buffer Array 12 is illustrated. It allocates a certain buffer, and adds it to the transmission link queue list 11 in sequence, thereby performing a service while rotating.

두 번째로, 해당 이더넷 포트 별로 다이내믹하게 할당되는 버퍼를 운용하는 방식, 즉 다이내믹 버퍼 이더넷 패킷 프로세싱 방법을 살펴보면 도 2에 도시된 바와 같은데, 포트 수신 버퍼 어레이(14)에 수신 순서에 따라서 버퍼를 할당하며, 이를 큐잉하여 송신해 준다.Second, a method of operating a buffer dynamically allocated to each Ethernet port, that is, a method of processing a dynamic buffer Ethernet packet is illustrated in FIG. 2, and the buffers are allocated to the port receiving buffer array 14 according to a reception order. Queuing it and sending it.

세 번째로, 메디아 의존 할당(Media Dependent Allocation) 방법은 해당 스태틱 버퍼 이더넷 패킷 프로세싱 방법에서 속도를 감안하여 많은 버퍼를 할당해 준다.Thirdly, the Media Dependent Allocation method allocates a large number of buffers in consideration of speed in the static buffer Ethernet packet processing method.

그런데, 상술한 바와 같은 방식으로는 멀티메디아 서비스(Multimedia Services)에 적절하게 최선형의 이더넷에서 QoS를 지원하는 것이 상당히 어려운데, 그 이유는 HOL(Head of Line Blocking) 상황에서 서비스 대기 시간의 과다가 예상되고 버퍼를 고정적으로 사용하거나 다이내믹하게 사용할 경우에 요구된 대역폭을 사용자에게 할당할 수 없고 이에 실시간 서비스가 요구되는 애플리케이션(Application)에서 QoS를 보장할 수 없기 때문이다. 또한, 차세대 인터넷 어드레스(Internet Address)인 IPv6의 서비스 클래스(Services Class) 및 프라이어티에 적절히 대응할 수 없게 되는 문제점이 있다.However, as described above, it is quite difficult to support QoS in the best-in-class Ethernet appropriately for multimedia services, because excessive service latency is expected in a head of line blocking (HOL) situation. In the case of using buffers or using dynamic buffers, the required bandwidth cannot be allocated to users, and QoS cannot be guaranteed in applications requiring real-time services. In addition, there is a problem in that it is impossible to appropriately cope with services classes and privacy of IPv6, which is a next-generation Internet address.

전술한 바와 같은 문제점을 해결하기 위한 것으로, 본 발명은 차세대 네트워크의 기술 중 하나인 QoS를 지원하기 위한 이더넷에서 버퍼와 큐를 구현하는데, 즉 이더넷에서 QoS를 지원함에 있어 그 핵심인 버퍼와 큐의 운영 알고리즘을 IEEE 802.1p와 IETF RFC2386(인터넷(Internet)에서 QoS 기본 라우팅(Based Routing)에 대한 프레임워크(Framework))에 기초하고 이에 적당하도록 이를 설계하고 운영하는 방식을 제공하는데 그 목적이 있다.In order to solve the above problems, the present invention implements buffers and queues in Ethernet to support QoS, which is one of the technologies of next-generation networks, that is, buffers and queues, which are the core in supporting QoS in Ethernet. The purpose of this paper is to provide a method of designing and operating an operation algorithm based on IEEE 802.1p and IETF RFC2386 (a framework for QoS based routing in the Internet).

도 1은 종래의 스태틱 버퍼(Static Buffer) 이더넷(Ethernet) 패킷(Packet) 프로세싱(Processing) 방법을 설명하기 위한 도면.BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 is a view for explaining a conventional static buffer Ethernet packet processing method.

도 2는 종래의 다이내믹 버퍼(Dynamic Buffer) 이더넷 패킷 프로세싱 방법을 설명하기 위한 도면.FIG. 2 is a diagram for explaining a conventional dynamic buffer Ethernet packet processing method. FIG.

도 3은 본 발명의 실시예에 따른 이더넷 QoS(Quality of Service) 지원 버퍼 및 큐(Queues) 구조를 나타낸 블록도.3 is a block diagram illustrating an Ethernet Quality of Service (QoS) support buffer and queues structure in accordance with an embodiment of the present invention.

도 4는 본 발명의 실시예에 따른 이더넷 QoS 지원 버퍼 및 큐의 운용 방법을 나타낸 플로우챠트.4 is a flowchart illustrating a method of operating an Ethernet QoS support buffer and queue according to an embodiment of the present invention.

* 도면의 주요 부분에 대한 부호의 설명 *Explanation of symbols on the main parts of the drawings

20 : 바이패스 큐 링크 리스트(By-pass Queues Linked List)20: By-pass Queues Linked List

30-1 ~ 30-m : 송신 링크 큐 리스트(Transmit Queues Linked List)30-1 ~ 30-m: Transmit Queues Linked List

40 : 바이패스 버퍼 어레이(By-pass Buffer Array)40: By-pass Buffer Array

50 : 프라이어티 가중 버퍼 어레이(Priority Weighted Buffer Array)50: Priority Weighted Buffer Array

60-1 ~ 60-m : 수신 FIFO(Receive First In Fist Out)60-1 to 60-m: Receive First In Fist Out

70 : 수신 패킷 중재기 및 어드레스 검출기(Receive Packet Arbitrator and Address Detector)70: Receive Packet Arbitrator and Address Detector

80 : 송신 패킷 중재기(Transmit Packet Arbitrator)80: Transmit Packet Arbitrator

90 : 버퍼 타임아웃 스케쥴러(Buffer Time-out Scheduler)90: Buffer Time-out Scheduler

100 : 버퍼 손실 매니저(Buffer Loss Manager)100: Buffer Loss Manager

상술한 바와 같은 목적을 달성하기 위한 본 발명의 실시예에 따른 이더넷 QoS 지원 버퍼 및 큐 구조는 어드레스 레절루션에 의해서 결정된 MAC에 대하여 지연 감지된 패킷들을 처리하는 버퍼들을 구비하는 바이패스 버퍼 어레이와; 상기 바이패스 버퍼 어레이 내의 버퍼들을 큐잉하기 위한 바이패스 큐 링크 리스트와; 프라이어티를 적용하고 서비스 등급에 따라 지원되는 대역폭에 해당하는 버퍼들을 구비하는 프라이어티 가중 버퍼 어레이와; 상기 프라이어티 가중 버퍼 어레이 내의 버퍼들을 큐잉하기 위한 다수 개의 송신 큐 링크 리스트와; 상기 바이패스 버퍼 어레이와 프라이어티 가중 버퍼 어레이 내의 버퍼들을 관리하기 위한 타임아웃 값을 세팅하는 버퍼 타임아웃 스케쥴러와; 상기 버퍼 타임아웃 스케쥴러의 타임아웃 값에 따라 상기 지연 감지된 패킷들을 처리하는 버퍼 손실 매니저와; 각 포트로부터 수신되는 패킷을 저장하는 다수 개의 수신 FIFO와; 상기 수신 FIFO를 통해 수신된 패킷들의 어드레스를 탐색하여 상기 바이패스 버퍼 어레이와 프라이어티 가중 버퍼 어레이 내의 버퍼로 큐잉시키는 수신 패킷 중재기 및 어드레스 검출기와; 상기 수신 패킷 중재기 및 어드레스 검출기에 의해 큐잉된 패킷들을 가중치 별로 송신하는 송신 패킷 중재기를 포함하여 이루어진 것을 특징으로 한다.An Ethernet QoS support buffer and queue structure according to an embodiment of the present invention for achieving the above object includes: a bypass buffer array having buffers for processing delayed sensed packets for a MAC determined by address resolution; A bypass queue link list for queuing buffers in the bypass buffer array; A priority weighted buffer array having buffers applying a priority and corresponding to bandwidths supported according to a service class; A plurality of transmit queue link lists for queuing buffers in the priority weighted buffer array; A buffer timeout scheduler for setting a timeout value for managing buffers in the bypass buffer array and the priority weighted buffer array; A buffer loss manager for processing the delayed detected packets according to a timeout value of the buffer timeout scheduler; A plurality of receive FIFOs for storing packets received from each port; A receive packet arbiter and an address detector for retrieving the addresses of packets received through the receive FIFO and queuing them to buffers in the bypass buffer array and the priority weighted buffer array; And a transmission packet arbiter for transmitting the packets queued by the received packet arbiter and the address detector by weight.

한편, 상술한 바와 같은 목적을 달성하기 위한 본 발명의 실시예에 따른 이더넷 QoS 지원 버퍼 및 큐 구조의 운용 방법은 각 포트 별로 프라이어티를 결정하여 해당 각 어드레스의 프라이어티를 결정하고 각 큐 별로 타임아웃 값을 디폴트로 세팅하는 과정과; 각 포트를 통해 패킷을 수신하여 어드레스를 탐색하여 어드레스 테이블에 존재하는지를 확인하는 과정과; 상기 어드레스에 따라 상기 수신된 패킷을 서비스 등급에 대응하는 버퍼에 저장함과 동시에 해당 버퍼의 포인터와 목적지 포트를 기록하는 과정과; 상기 버퍼의 판독 포인터와 기록 포인터가 다른 경우를 확인하여 상기 프라이어티에 따라 상기 버퍼를 주사하여 패킷을 판독해 상기 목적지 포트로 전송하는 과정을 포함하여 이루어진 것을 특징으로 한다. 여기서, 상기 타임아웃 세팅 과정은 상기 타임아웃 값을 사용자 요구 값 또는 현재 사용 애플리케이션에 의하여 다시 구성하는 단계와; 어드레스 레절루션을 위한 어드레스 학습 동안에 해당되는 어드레스에 데이터베이스의 존재 여부를 확인하는 단계와; 상기 데이터베이스가 존재하는 경우에 상기 어드레스에 따라 프라이어티를 가지고 어드레스 학습을 다시 수행하는 단계를 포함하여 이루어진 것을 특징으로 한다. 다르게는, 상기 타임아웃 세팅 과정은 상기 데이터베이스가 존재하지 않는 경우에 각 포트 별로 결정된 프라이어티에 따라 어드레스 학습을 수행하는 단계와; 상기 프라이어티가 존재하지 않는 경우에 모든 버퍼와 큐들을 다이내믹하게 할당하는 단계를 더 포함하여 이루어진 것을 특징으로 한다.Meanwhile, in the method of operating the Ethernet QoS support buffer and queue structure according to the embodiment of the present invention for achieving the above object, the priority of each address is determined by determining the priority for each port, and the time for each queue. Setting the out value to a default value; Receiving a packet through each port to search for an address to determine whether the packet exists in an address table; Storing the received packet in a buffer corresponding to a service class according to the address and recording a pointer and a destination port of the buffer; And checking the case where the read pointer and the write pointer of the buffer are different, scanning the buffer according to the priority, reading the packet, and transmitting the packet to the destination port. Here, the timeout setting process may include reconfiguring the timeout value by a user request value or a currently used application; Confirming whether a database exists at an address corresponding to the address learning for address resolution; And if the database exists, performing address learning again with a priority according to the address. Alternatively, the timeout setting process may include: performing address learning according to a priority determined for each port when the database does not exist; And dynamically allocating all buffers and cues when the priority does not exist.

다르게는, 본 발명의 실시예에 따른 이더넷 QoS 지원 버퍼 및 큐 구조의 운용 방법은 상기 어드레스 테이블에 상기 탐색한 어드레스가 존재하지 않는 경우에 어드레스 학습을 수행하는 과정을 더 포함하여 이루어진 것을 특징으로 한다.Alternatively, the method of operating the Ethernet QoS support buffer and queue structure according to an embodiment of the present invention may further include performing address learning when the searched address does not exist in the address table. .

또한 다르게는, 본 발명의 실시예에 따른 이더넷 QoS 지원 버퍼 및 큐 구조의 운용 방법은 상기 패킷의 수신에 따라 상기 버퍼의 기독 포인터를 증가시켜 주고 상기 버퍼에 저장된 패킷을 송신하기 전까지 상기 타임아웃 값에 따라 관리하는 과정을 더 포함하여 이루어진 것을 특징으로 한다.Alternatively, the method of operating the Ethernet QoS support buffer and queue structure according to the embodiment of the present invention increases the readout pointer of the buffer in response to the reception of the packet and the timeout value until the packet stored in the buffer is transmitted. It characterized in that the process further comprises the management according to.

또한 다르게는, 본 발명의 실시예에 따른 이더넷 QoS 지원 버퍼 및 큐 구조의 운용 방법은 HOL의 경우나 프리시키지 못한 버퍼가 존재하는 경우에 일정 시간 지연 후에 해당 버퍼를 강제로 프리시키는 과정과; 상기 프리된 버퍼를 카운트하고 해당 카운트한 값이 일정 시간 동안에 임계치에 도달하는 경우에 통보하는 과정과; 상기 버퍼에 대응하는 포트 또는 호스트에 대해 트래픽 관리를 수행하는 과정을 더 포함하여 이루어진 것을 특징으로 한다.Alternatively, the method of operating the Ethernet QoS support buffer and queue structure according to an embodiment of the present invention includes the steps of forcibly freeing the buffer after a predetermined time delay in the case of a HOL or a buffer that cannot be freed; Counting the free buffer and notifying when the counted value reaches a threshold for a predetermined time; The method may further include performing traffic management on a port or a host corresponding to the buffer.

본 발명은 바이패스 버퍼 및 큐의 운용으로 지연 감지 패킷 프로세싱(Delay Sensitive Packet Processing)을 위한 버퍼를 운용하며, 프라이어트 가중 버퍼 및 큐의 운용으로 손실(Loss) 감지 패킷 프로세싱을 위한 8 등급 버퍼를 운용하며. 버퍼 타임아웃 스케쥴러 및 손실 매니저로 버퍼의 이용 효율 극대화를 위한 버퍼를 관리하며, 수신 패킷 중재기 및 어드레스 검출기로 프라이어티 가중 기본 어드레스 레절루션(Resolution) 및 패킷 저장을 수행하도록 해 준다.The present invention operates a buffer for delay sensitive packet processing by operating a bypass buffer and a queue, and uses an eight-level buffer for loss sensitive packet processing by operating a fryer weighted buffer and a queue. Operating. The buffer timeout scheduler and loss manager manage the buffer for maximum buffer utilization, and the receive packet arbiter and address detector allow priority weighted basic address resolution and packet storage.

다시 말해서, 본 발명은 IETF 권고안의 정의에 따라 네트워크 서비스의 성능 지표로 사용되는 지연, 손실, 작업 처리량 등을 고려하는 버퍼 및 큐의 운영 방식을 종합적으로 제안하는데, 이를 위해서 종래의 스태틱 운용 방식과 다이내믹 운용 방식을 동시에 적용하며, 하이(High) 프라이어티 패킷, 즉 지연 감지한 음성 통신과 실시간 대화형 서비스와 비디오 분배와 같은 비대화형 실시간 서비스의 품질에 적합하도록 패킷 처리의 프로세싱 지연, 큐잉 지연을 최소화하는 바이패스 버퍼 어레이를 설계하며, 특정 응용 서비스에 할당해 줄 수 있는 대역폭의 양에 따른 작업 처리량의 지원을 위해서 프라이어티 가중 버퍼 어레이를 설계함으로써, 손실 감지 패킷들에 적절한 구조를 가지게 한다.In other words, the present invention comprehensively proposes a buffer and queue operation method that considers delay, loss, and throughput used as performance indicators of network services according to the definition of the IETF recommendation. It simultaneously applies dynamic operation methods, and handles processing delays and queuing delays in packet processing to suit high-priority packets, such as delay-detected voice communications and the quality of noninteractive real-time services such as real-time interactive services and video distribution. By designing a bypass buffer array that minimizes and designing a priority weighted buffer array to support throughput based on the amount of bandwidth that can be allocated to a particular application service, it has the proper structure for loss detection packets.

또한, 본 발명은 스태틱과 다이내믹 운용 방식의 동시 적용, 바이패스 버퍼 어레이의 설계 및 프라이어티 가중 버퍼 어레이의 설계를 관리하거나 지원하기 위해서 버퍼 타임아웃 스케쥴러와 버퍼 손실 매니저를 두며, 주어진 트래픽에서 발신지(Source) 어드레스와 목적지(Destination) 어드레스에 따라 어드레스를 탐색(Searching)하여 해당 주어진 버퍼 및 큐의 어레이에 부가하는 수신 패킷 중재기와 어드레스 검출기가 있으며, 주어진 전송 큐의 어레이에서 해당되는 포트로 패킷들을 전송하는 전송 패킷 중재기가 있다. 이하, 본 발명의 실시예를 첨부한 도면을 참조하여 상세하게 설명하면 다음과 같다.In addition, the present invention includes a buffer timeout scheduler and a buffer loss manager to manage or support the simultaneous application of static and dynamic operation methods, the design of the bypass buffer array, and the design of the priority weighted buffer array. There is a receiving packet arbiter and an address detector that searches for an address according to a source address and a destination address and adds it to the given array of buffers and queues, and sends packets to the corresponding ports in the given array of transmit queues. There is a transport packet arbiter. Hereinafter, an embodiment of the present invention will be described in detail with reference to the accompanying drawings.

본 발명의 실시예에 따른 이더넷 QoS 지원 버퍼 및 큐 구조는 도 3에 도시한 바와 같이, 바이패스 큐 링크 리스트(20)와, 다수 개의 송신 큐 링크 리스트(30-1 ~ 30-m)와, 바이패스 버퍼 어레이(40)와, 프라이어티 가중 버퍼 어레이(50)와, 다수 개의 수신 FIFO(60-1 ~ 60-m)와, 수신 패킷 중재기 및 어드레스 검출기(70)와, 송신 패킷 중재기(80)와, 버퍼 타임아웃 스케쥴러(90)와, 버퍼 손실 매니저(100)로 이루어진다.As shown in FIG. 3, the Ethernet QoS support buffer and queue structure according to an embodiment of the present invention includes a bypass queue link list 20, a plurality of transmission queue link lists 30-1 to 30-m, Bypass buffer array 40, priority weighted buffer array 50, a plurality of receive FIFOs 60-1 to 60-m, receive packet arbiter and address detector 70, and transmit packet arbiter 80, a buffer timeout scheduler 90, and a buffer loss manager 100. As shown in FIG.

다시 말해서, 본 발명의 실시예에 따른 이더넷 QoS 지원 버퍼 및 큐 구조는 어드레스 레절루션에 의해서 결정된 MAC(Media Access Control)에 대해서 지연 감지된 패킷들을 처리하는 버퍼들을 구비하고 있는 바이패스 버퍼 어레이(40)와, 해당 바이패스 버퍼 어레이(40)의 큐잉을 위한 바이패스 큐 링크 리스트(20)를 구비하며, 또한 프라이어티를 적용하고 서비스 등급(Service Class)에 따라 지원되는 대역폭에 해당하는 버퍼들을 구비하고 있는 프라이어티 가중 버퍼 어레이(50)와, 해당 프라이어티 가중 버퍼 어레이(50)의 큐잉을 위한 다수 개의 송신 큐 링크 리스트(30-1 ~ 30-m)를 구비하며, 또한 해당 바이패스 버퍼 어레이(40)와 프라이어티 가중 버퍼 어레이(50) 내의 버퍼들을 관리하기 위해 타임아웃 값을 세팅하는 버퍼 타임아웃 스케쥴러(90)와, 해당 버퍼 타임아웃 스케쥴러(90)의 타임아웃 값에 따라 지연 감지된 패킷들을 처리하는 버퍼 손실 매니저(100)를 구비하며, 또한 각 포트로부터 수신되는 패킷들을 저장하는 다수 개의 수신 FIFO(60-1 ~ 60-m)와, 해당 각 수신 FIFO(60-1 ~ 60-m)를 통해 수신된 패킷들의 어드레스를 탐색하여 해당 탐색된 어드레스에 따라서 해당 바이패스 버퍼 어레이(40)와 프라이어티 가중 버퍼 어레이(50) 내의 어떤 버퍼로 큐잉시키기 위한 수신 패킷 중재기 및 어드레스 검출기(70)를 구비하며, 또한 해당 수신 패킷 중재기 및 어드레스 검출기(70)에 의해 큐잉된 패킷들을 가중치 별로 송신하기 위한 송신 패킷 중재기(80)를 구비하여 이루어진다.In other words, the Ethernet QoS support buffer and queue structure according to the embodiment of the present invention has a bypass buffer array 40 having buffers for processing delayed detected packets for Media Access Control (MAC) determined by address resolution. And a bypass queue link list 20 for queuing the corresponding bypass buffer array 40, and also having buffers corresponding to bandwidths to which the priority is applied and supported according to a service class. And a plurality of transmit queue link lists 30-1 to 30-m for queuing the priority weighted buffer array 50, and the corresponding bypass buffer array. A buffer timeout scheduler 90 that sets a timeout value for managing buffers in the 40 and priority weighted buffer array 50, and a corresponding buffer timeout schedule. A plurality of receive FIFOs (60-1 to 60-m) having a buffer loss manager (100) for processing delayed packets according to the timeout value of the scheduler (90), and also storing packets received from each port. Search for the addresses of the packets received through the respective reception FIFOs 60-1 to 60-m, and search the addresses in the bypass buffer array 40 and the priority weighted buffer array 50 according to the searched addresses. A receiving packet arbiter and an address detector 70 for queuing to a buffer, and a transmitting packet arbiter 80 for transmitting packets queued by the corresponding receiving packet arbiter and address detector 70 by weight. It is made.

여기서, 상기 바이패스 버퍼 어레이(40)는 지연 감지한 음성 통신과 실시간 대화형 서비스와 비디오 분배와 같은 비대화형 실시간 서비스의 품질에 적합하도록 패킷 처리의 프로세싱 지연 및 큐잉 지연을 최소화할 수 있게 설계되어진다. 그리고, 상기 바이패스 버퍼 어레이(40)는 IETF RFC 1349의 지연 최소화가 세팅(Setting)되어 있는 패킷에 적용하고 이를 큐잉하기 위해서 상기 바이패스 큐 링크 리스트(20)와 연계하며, 또한 해당 지연 감지한 패킷들의 버퍼링을 관리하기 위해서 상기 버퍼 타임아웃 스케쥴러(90)의 타임아웃 값들을 세팅해 주고 해당 타임아웃 값들에 따라 상기 버퍼 손실 매니저(100)에 의해 주어진 타임아웃 값들에 따라 해당 패킷들을 처리해 준다.Here, the bypass buffer array 40 is designed to minimize processing delays and queuing delays of packet processing to be suitable for quality of delayed sensed voice communication and non-interactive real-time services such as real-time interactive service and video distribution. Lose. In addition, the bypass buffer array 40 is associated with the bypass queue link list 20 to apply and queue the packet to which the delay minimization of the IETF RFC 1349 is set. In order to manage the buffering of packets, timeout values of the buffer timeout scheduler 90 are set, and corresponding packets are processed according to timeout values given by the buffer loss manager 100 according to the corresponding timeout values.

상기 프라이어티 가중 버퍼 어레이(50)는 특정 응용 서비스에 할당해 줄 수 있는 대역폭의 양에 따른 작업 처리량의 지원을 위해서 설계되어진다. 그리고, 상기 프라이어티 가중 버퍼 어레이(50)는 8 등급으로 나누어 관리되는 버퍼들을 구비하고 있는데, IEEE 802.1p 및 IPv6에 기술된 프라이어티를 적용하고 서비스 등급에 따라 지원되는 대역폭이 해당되는 버퍼를 큐잉하거나 송신하는 방식에 따라 적절하게 적용하며, 이를 결정하기 위해서 상기 수신 패킷 중재기 및 어드레스 검출기(70)를 사용하며, 해당 버퍼들을 관리하기 위해서 상기 버퍼 타임아웃 스케쥴러(90)와 버퍼 손실 매니저(100)를 사용한다.The priority weighted buffer array 50 is designed to support the throughput according to the amount of bandwidth that can be allocated to a specific application service. In addition, the priority weighted buffer array 50 includes buffers managed by dividing it into eight classes, applying the privacy described in IEEE 802.1p and IPv6, and queuing the buffer corresponding to the bandwidth supported according to the service class. Or the receiving packet arbiter and the address detector 70 to determine this, and the buffer timeout scheduler 90 and the buffer loss manager 100 to manage the buffers. ).

상기 수신 FIFO(60-1 ~ 60-m)는 각 포트를 통해 패킷들을 수신하였다가 상기 수신 패킷 중재기 및 어드레스 검출기(70)로 출력해 준다.The receiving FIFOs 60-1 to 60-m receive the packets through each port and output the packets to the receiving packet arbiter and the address detector 70.

상기 수신 패킷 중재기 및 어드레스 검출기(70)는 주어진 트래픽에서 발신지 어드레스와 목적지 어드레스에 따라 어드레스를 탐색하여 해당 주어진 버퍼 및 큐의 어레이에 부가해 주는데, 각 포트 별로 수신된 패킷들의 어드레스를 탐색하여 해당 어드레스에 따라서 해당 버퍼에 패킷들을 큐잉시켜 주며, 이를 위해서 어드레스 테이블에 프라이어티 등급을 유지해 준다.The received packet arbiter and address detector 70 searches for an address according to a source address and a destination address in a given traffic and adds the address to an array of a given buffer and queue. Queuing the packets in the buffer according to the address, to maintain the priority level in the address table.

상기 송신 패킷 중재기(80)는 주어진 전송 큐의 어레이에서 해당되는 포트로 패킷들을 전송하는데, 송신 큐에 큐잉된 패킷들을 우선 순위의 바이패스 큐들로부터 프라이어티 가중 송신 큐들 순으로 주사하여 순차적으로 로우테이팅하여 전송해 준다.The transmit packet arbiter 80 transmits packets from a given array of transmit queues to the corresponding ports, sequentially scanning the packets queued in the transmit queue from priority bypass queues to priority weighted transmit queues. Tate and send.

상기 버퍼 타임아웃 스케쥴러(90)와 버퍼 손실 매니저(100)는 상기 프라이어티 가중 버퍼 어레이(50) 내의 버퍼들을 관리하거나 지원하는데, 각 버퍼 별로 버퍼의 운용을 위해서 사용하는 것으로 버퍼 별로 타임아웃 값을 세팅하여 지연에 따라 이를 적용하며, HOL 하에서 또는 과중 트래픽(Heavy Traffic)에서 프리(Free)되지 않는 버퍼를 프리시켜 버퍼의 운용의 최적화를 기하도록 해 준다.The buffer timeout scheduler 90 and the buffer loss manager 100 manage or support the buffers in the priority weighted buffer array 50. The buffer timeout scheduler 90 and the buffer loss manager 100 use the buffer timeout value for each buffer. This setting is applied according to the delay, and the buffer that is not free under HOL or heavy traffic is freed to optimize the operation of the buffer.

본 발명의 실시예에 따른 이더넷 QoS 지원 버퍼 및 큐 구조의 운용 방법을 eh 4의 플로우챠트를 참고하여 설명하면 다음과 같다. 여기서, 프라이어티가 서로 다른 두 개의 패킷을 예를 들어서 설명하지만, 본 발명은 이에 한정된 것이 아니라는 점을 잘 알아야 한다.An operation method of the Ethernet QoS support buffer and queue structure according to an embodiment of the present invention will be described with reference to the flowchart of eh 4 as follows. Here, although two packets having different priorities will be described by way of example, it should be understood that the present invention is not limited thereto.

먼저, 기본적으로 초기에 각 포트 별로 프라이어티를 결정하며, 초기에 해당 결정된 프라이어티 값에 의해서 각 어드레스의 프라이어티를 결정하게 된다. 또한, 각 큐 별로 타임아웃 값을 디폴트(Default)로 세팅해 준다(단계 S1).First, basically, the priority is determined for each port initially, and the priority of each address is determined based on the determined priority value. In addition, the timeout value is set as default for each cue (step S1).

이 때, 매니저는 상기 세팅된 타임아웃 값을 사용자가 요구하는 값들 또는 현재 사용되는 애플리케이션에 의하여 다시 구성(Configuration)할 수 있으며, 어드레스 레절루션을 위해서 어드레스 학습(Address Learning) 동안에 해당되는 어드레스에 데이터베이스가 존재한 경우에 해당 값에 따라 프라이어티를 가지고 어드레스 학습을 다시 수행하면 된다. 또한, TCP(Transmission Control Protocol)와 같은 접속 오리엔트 트래픽(Connection Oriented Traffic)의 경우에 에이징 아웃(Aging Out)되지 않게 세팅할 수 있다.At this time, the manager may reconfigure the set timeout value by values requested by a user or an application currently used, and the database may be configured to a corresponding address during address learning for address resolution. If is present, the address learning can be performed again with the priority according to the value. In addition, in the case of Connection Oriented Traffic such as Transmission Control Protocol (TCP), it may be set so as not to be aged out.

만약, 상기 데이터베이스가 존재하지 않는 경우에서는 각 포트 별로 주어진 프라이어티에 따라 어드레스 학습이 이루어질 수 있으며, 해당 프라이어티가 존재하지 않는 경우에는 모든 버퍼와 큐들을 다이내믹하게 할당하여 사용하게 된다.If the database does not exist, address learning may be performed according to a given priority for each port. If the corresponding priority does not exist, all buffers and queues are dynamically allocated and used.

그러면, 하나의 패킷을 지연 감지된 패킷이라고 하고 다른 패킷을 프라이어티 가중화된 손실 감지 패킷이라고 한다면, 각 포트의 수신 FIFO(60-1 ~ 60-m)에서는 해당 지연 감지 패킷과 손실 감지 패킷을 수신하였다가 수신 패킷 중재기 및 어드레스 검출기(70)로 출력해 준다.Then, if one packet is called a delayed detection packet and the other packet is called a priority weighted loss detection packet, the receiving FIFO (60-1 to 60-m) of each port identifies the corresponding delay detection packet and loss detection packet. It receives and outputs the received packet arbiter and the address detector 70.

그리고, 상기 수신 패킷 중재기 및 어드레스 검출기(70)에서는 주어진 트래픽에서 발신지 어드레스와 목적지 어드레스를 탐색하는데(단계 S2), 이때 어드레스 테이블에 해당 어드레스가 존재하지 않는 경우에 해당 어드레스를 CPU 측으로 전송하여 어드레스 학습을 수행하게 하며, 물론 해당 CPU의 어드레스 학습 없이 스스로 디폴트 값으로 어드레스 학습을 수행할 수도 있다. 그리고, 상기 수신 패킷 중재기 및 어드레스 검출기(70)에서는 해당 학습된 어드레스에 따라 상기 지연 감지 패킷을 바이패스 버퍼 어레이(40)로 전송해 주며, 해당 버퍼 포인터와 목적지 포트를 바이패스 큐 링크 리스트(20)에 기록해 준다. 또한, 상기 손실 감지 패킷을 어드레스 레절루션에 의해서 결정된 프라이어티에 의하여 프라이어티 가중 버퍼 어레이(50) 내의 해당되는 버퍼에 저장시켜 주며, 해당 버퍼의 포인터와 목적지 포트를 해당되는 송신 큐 링크 리스트(30-1 ~ 30-m)에 기록해 준다(단계 S3).Then, the received packet arbiter and the address detector 70 search for the source address and the destination address in the given traffic (step S2). In this case, if the address does not exist in the address table, the address is transmitted to the CPU and the address is transmitted. The learning can be performed, and of course, the address learning can be performed by default without the CPU learning. In addition, the received packet arbiter and the address detector 70 transmit the delay detection packet to the bypass buffer array 40 according to the learned address, and transmit the buffer pointer and the destination port to the bypass queue link list ( 20). In addition, the loss detection packet is stored in a corresponding buffer in the priority weighted buffer array 50 by a priority determined by address resolution, and a pointer and a destination port of the buffer are stored in the corresponding transmission queue link list 30-. 1 to 30-m) (step S3).

이 때, 버퍼의 판독 및 기록 큐 포인터는 처음에는 동일하지만 패킷들을 수신함에 따라 해당 버퍼의 기록 포인터가 증가함으로써 판독 포인터와 기록 포인터가 서로 다르게 되며, 상기 바이패스 버퍼 어레이(40)와 프라이어티 가중 버퍼 어레이(50) 내에 저장된 패킷들은 버퍼 타임아웃 스케쥴러(90)에 의해서 세팅된 타임아웃 값에 따라 전송하기 전까지 관리되어진다.At this time, the read and write queue pointers of the buffer are the same at first, but as the packets are received, the write pointer of the buffer increases so that the read pointer and the write pointer are different from each other, and the bypass buffer array 40 and the priority weighting are different. Packets stored in the buffer array 50 are managed until transmitted according to the timeout value set by the buffer timeout scheduler 90.

이에, 송신 패킷 중재기(80)에서는 큐들의 판독 버퍼 포인터와 기록 버퍼 포인터가 서로 다른 경우를 확인하여 상기 바이패스 큐 링크 리스트(20)와 송신 큐 링크 리스트(30-1 ~ 30-m)로부터 패킷 버퍼 포인터를 판독하고 패킷의 EOP(End of Packet)까지 해당 패킷의 목적지 포트로 상기 바이패스 버퍼 어레이(40)와 프라이어티 가중 버퍼 어레이(50) 내에 저장된 패킷을 전송해 준다(단계 S4). 이때, 전송의 순서와 주사 순서는 프라이어티에 기초하는데, 모든 주사의 우선은 지연 감지 패킷에 우선 순위를 두어 상기 바이패스 버퍼 어레이(40) 내의 바이패스 버퍼들을 처리하며, 다음으로 프라이어티 가중치에 따라 상기 프라이어티 가중 버퍼 어레이(50) 내의 프라이어티 가중 송신 버퍼들을 처리한다. 여기서, 여덟 번째 프라이어티 패킷은 첫 번째 프라이어티 패킷에 비해 8 번을 더 주사하여 서비스하게 되며, 해당 바이패스 버퍼 내에 저장되어 있는 패킷들은 해당 프라이어티 가중 송신 버퍼를 주사하여 패킷을 전송하기 전에 항상 먼저 주사하여 전송하게 된다.Accordingly, the transmission packet arbiter 80 checks the case where the read buffer pointer and the write buffer pointer of the queues are different from each other, so that the bypass queue link list 20 and the transmission queue link list 30-1 to 30-m are checked. The packet buffer pointer is read and the packets stored in the bypass buffer array 40 and the priority weighted buffer array 50 are transmitted to the destination port of the packet until the end of packet (EOP) of the packet (step S4). At this time, the order of transmission and the order of scanning are based on the priority, and the priority of all the scanning processes the bypass buffers in the bypass buffer array 40 by giving priority to the delay detection packet, and then according to the priority weight. Process the priority weighted transmission buffers in the priority weighted buffer array 50. Here, the eighth priority packet is scanned by eight more times than the first priority packet, and the packets stored in the bypass buffer are always scanned before the packet is transmitted by scanning the priority weighted transmission buffer. First scan and send.

한편, 이더넷 트래픽은 최선형 서비스이기 때문에 해당 서비스가 이용 가능한 버퍼가 존재하지 않거나 과중 트래픽으로 인한 충돌(Congestion) 상황에서 버퍼가 존재하지 않을 경우가 상당히 많이 있으므로, 이를 대비하기 위해서 상기 버퍼 타임아웃 스케쥴러(90)와 버퍼 손실 매니저(100)에서는 만약 HOL의 경우나 CPU에서 프리시키지 못한 패킷 버퍼가 존재하는 경우에 상기 버퍼 타임아웃 스케쥴러(90)에 허용되는 지연이 경과한 후에 상기 버퍼 손실 매니저(100)에서 해당 패킷 버퍼를 강제로 프리시켜 주며, 해당 프리된 패킷 버퍼의 카운트를 트래픽 관리를 위해서 일정 시간 동안 주어진 임계치(Threshold)에 도달하면 매니저에게 통보해 준다.On the other hand, since Ethernet traffic is a best-in-class service, there are quite a few cases in which a buffer is not available in the service or a buffer does not exist in a congestion situation due to heavy traffic. 90) and the buffer loss manager 100 after the delay allowed by the buffer timeout scheduler 90 in the case of a HOL or a packet buffer that is not freed by the CPU has elapsed. Forcibly frees the packet buffer, and notifies the manager when the free packet buffer count reaches a given threshold for a certain amount of time for traffic management.

이에, 매니저는 해당 값을 유지하고 있다가 허용되는 한계에 도달하면 해당 포트 또는 호스트에 대해 트래픽 관리를 수행할 수 있게 된다.Accordingly, the manager maintains the value and when the limit is reached, traffic management for the corresponding port or host can be performed.

따라서, 상기 손실 감지 패킷과 지연 감지 패킷은 서로 다른 버퍼를 이용함으로써 요구되는 QoS를 지원할 수 있게 되며, 다변하는 네트워크 상황에 적절히 적응할 수 있는 버퍼를 관리할 수 있게 된다.Accordingly, the loss detection packet and the delay detection packet can support QoS required by using different buffers, and manage a buffer that can be appropriately adapted to various network conditions.

상술한 바와 같이, 본 발명은 차세대의 이더넷 QoS를 지원하기 위하여 핵심인 버퍼와 큐의 관리에 관한 설계이므로 기존의 이더넷 망에서 문제점으로 대두되었던 수신 오리엔트 QoS 지원에 효율적으로 사용할 수 있다. 아직 이를 적용하기 위한 애플리케이션은 없으나 IETF에서 RSVP(Resource Reservation Protocol)를 고려하고 있으며, 또한 QoS의 관점에서 IETF에서 통합 서비스(Integrated Service)와 차등 서비스(Differentiated Service)를 표준화하고 있다.As described above, the present invention is designed to manage the buffers and queues, which are key to supporting the next-generation Ethernet QoS, so that the present invention can be efficiently used to support reception orient QoS, which has been a problem in the existing Ethernet network. There is no application for this yet, but IETF is considering RSVP (Resource Reservation Protocol), and in terms of QoS, IETF is standardizing integrated service and differentiated service.

이에, 본 발명은 차등 서비스에 적절하게 사용할 수 있고 통합 서비스에도 적용할 수 있으며, 차세대 인터넷 어드레스 레절루션인 IPv6의 프라이어티를 8 등급으로 차등적으로 적용할 수 있으며, 또한 IEEE의 802.1p의 8 프라이어티에 사용할 수도 있다.Accordingly, the present invention can be suitably used for differential services and can be applied to integrated services, and the IPv6 priority, which is the next generation Internet address resolution, can be differentially applied to the 8th grade, and also the IEEE 802.1p 8 It can also be used for precedence.

그리고, 본 발명은 이용 및 제어 품질에서 주소 및 이름 인식성을 나타내는 레이턴시 시간(Latency Time)에 적응하기 위한 억세스(Access) 보장과 서비스 제어성의 인터액티비티(Interactivity)를 요하는 실시간 대화형 서비스 및 비대화형 서비스인 비디오 분배의 품질 보장을 제공할 수 있으며, 자원 이용 효율성을 나타내는 트래픽 엔지니어링(Traffic Engineering), 폴리시(Policy) 및 자원 관리(Resource Management)를 쉽게 할 수 있으며, 또한 표현 및 체감 품질에서 홉 레벨(Hop-level)의 최소화를 엔드 포인트(End Point)에서 지원할 수 있다.In addition, the present invention provides a real-time interactive service and enlargement requiring access guarantee and adaptability of service control to adapt to a latency time indicating address and name recognition in use and control quality. It can provide quality assurance of video distribution, a type of service, facilitate traffic engineering, policy, and resource management, which indicates resource utilization efficiency, and also hops on presentation and haptic quality. Minimization of the hop level may be supported at the end point.

또한, 본 발명은 종단에서 트래픽 관리를 구현할 수 있기 때문에 종단 스위치나 라우터(Router)에 적용할 수 있다.In addition, the present invention can be applied to the end switch or router because it can implement the traffic management at the end.

Claims (7)

어드레스 레절루션에 의해서 결정된 MAC에 대하여 지연 감지된 패킷들을 처리하는 버퍼들을 구비하는 바이패스 버퍼 어레이와;A bypass buffer array having buffers for processing delay sensed packets for a MAC determined by address resolution; 상기 바이패스 버퍼 어레이 내의 버퍼들을 큐잉하기 위한 바이패스 큐 링크 리스트와;A bypass queue link list for queuing buffers in the bypass buffer array; 프라이어티를 적용하고 서비스 등급에 따라 지원되는 대역폭에 해당하는 버퍼들을 구비하는 프라이어티 가중 버퍼 어레이와;A priority weighted buffer array having buffers applying a priority and corresponding to bandwidths supported according to a service class; 상기 프라이어티 가중 버퍼 어레이 내의 버퍼들을 큐잉하기 위한 다수 개의 송신 큐 링크 리스트와;A plurality of transmit queue link lists for queuing buffers in the priority weighted buffer array; 상기 바이패스 버퍼 어레이와 프라이어티 가중 버퍼 어레이 내의 버퍼들을 관리하기 위한 타임아웃 값을 세팅하는 버퍼 타임아웃 스케쥴러와;A buffer timeout scheduler for setting a timeout value for managing buffers in the bypass buffer array and the priority weighted buffer array; 상기 버퍼 타임아웃 스케쥴러의 타임아웃 값에 따라 상기 지연 감지된 패킷들을 처리하는 버퍼 손실 매니저와;A buffer loss manager for processing the delayed detected packets according to a timeout value of the buffer timeout scheduler; 각 포트로부터 수신되는 패킷을 저장하는 다수 개의 수신 FIFO와;A plurality of receive FIFOs for storing packets received from each port; 상기 수신 FIFO를 통해 수신된 패킷들의 어드레스를 탐색하여 상기 바이패스 버퍼 어레이와 프라이어티 가중 버퍼 어레이 내의 버퍼로 큐잉시키는 수신 패킷 중재기 및 어드레스 검출기와;A receive packet arbiter and an address detector for retrieving the addresses of packets received through the receive FIFO and queuing them to buffers in the bypass buffer array and the priority weighted buffer array; 상기 수신 패킷 중재기 및 어드레스 검출기에 의해 큐잉된 패킷들을 가중치 별로 송신하는 송신 패킷 중재기를 포함하여 이루어진 것을 특징으로 하는 이더넷 큐오에스 지원 버퍼 및 큐 구조.And a transmitting packet arbiter for transmitting packets queued by the receiving packet arbiter and an address detector by weight. 각 포트 별로 프라이어티를 결정하여 해당 각 어드레스의 프라이어티를 결정하고 각 큐 별로 타임아웃 값을 디폴트로 세팅하는 과정과;Determining a priority for each port to determine the priority of each address, and setting a timeout value by default for each queue; 각 포트를 통해 패킷을 수신하여 어드레스를 탐색하여 어드레스 테이블에 존재하는지를 확인하는 과정과;Receiving a packet through each port to search for an address to determine whether the packet exists in an address table; 상기 어드레스에 따라 상기 수신된 패킷을 서비스 등급에 대응하는 버퍼에 저장함과 동시에 해당 버퍼의 포인터와 목적지 포트를 기록하는 과정과;Storing the received packet in a buffer corresponding to a service class according to the address and recording a pointer and a destination port of the buffer; 상기 버퍼의 판독 포인터와 기록 포인터가 다른 경우를 확인하여 상기 프라이어티에 따라 상기 버퍼를 주사하여 패킷을 판독해 상기 목적지 포트로 전송하는 과정을 포함하여 이루어진 것을 특징으로 하는 이더넷 큐오에스 지원 버퍼 및 큐 구조의 운용 방법.Checking if the read pointer and the write pointer of the buffer are different, scanning the buffer according to the priority, reading the packet, and transmitting the packet to the destination port; How to operate. 제2항에 있어서,The method of claim 2, 상기 타임아웃 세팅 과정은 상기 타임아웃 값을 사용자 요구 값 또는 현재 사용 애플리케이션에 의하여 다시 구성하는 단계와;The timeout setting process may include reconfiguring the timeout value by a user request value or a currently used application; 어드레스 레절루션을 위한 어드레스 학습 동안에 해당되는 어드레스에 데이터베이스의 존재 여부를 확인하는 단계와;Confirming whether a database exists at an address corresponding to the address learning for address resolution; 상기 데이터베이스가 존재하는 경우에 상기 어드레스에 따라 프라이어티를 가지고 어드레스 학습을 다시 수행하는 단계를 포함하여 이루어진 것을 특징으로 하는 이더넷 큐오에스 지원 버퍼 및 큐 구조의 운용 방법.And performing address learning again with a priority according to the address when the database exists. 제3항에 있어서,The method of claim 3, 상기 타임아웃 세팅 과정은 상기 데이터베이스가 존재하지 않는 경우에 각 포트 별로 결정된 프라이어티에 따라 어드레스 학습을 수행하는 단계와;The timeout setting process may include: performing address learning according to a priority determined for each port when the database does not exist; 상기 프라이어티가 존재하지 않는 경우에 모든 버퍼와 큐들을 다이내믹하게 할당하는 단계를 더 포함하여 이루어진 것을 특징으로 하는 이더넷 큐오에스 지원 버퍼 및 큐 구조의 운용 방법.And dynamically allocating all buffers and queues when the priority does not exist. 제2항에 있어서,The method of claim 2, 상기 어드레스 테이블에 상기 탐색한 어드레스가 존재하지 않는 경우에 어드레스 학습을 수행하는 과정을 더 포함하여 이루어진 것을 특징으로 하는 이더넷 큐오에스 지원 버퍼 및 큐 구조의 운용 방법.And performing address learning when the searched address does not exist in the address table. 제2항에 있어서,The method of claim 2, 상기 패킷의 수신에 따라 상기 버퍼의 기독 포인터를 증가시켜 주고 상기 버퍼에 저장된 패킷을 송신하기 전까지 상기 타임아웃 값에 따라 관리하는 과정을 더 포함하여 이루어진 것을 특징으로 하는 이더넷 큐오에스 지원 버퍼 및 큐 구조의 운용 방법.And increasing the read pointer of the buffer according to the reception of the packet and managing the packet according to the timeout value before transmitting the packet stored in the buffer. How to operate. 제2항에 있어서,The method of claim 2, HOL의 경우나 프리시키지 못한 버퍼가 존재하는 경우에 일정 시간 지연 후에 해당 버퍼를 강제로 프리시키는 과정과;Forcibly freeing the buffer after a predetermined time delay in case of HOL or when there is a buffer that cannot be freed; 상기 프리된 버퍼를 카운트하고 해당 카운트한 값이 일정 시간 동안에 임계치에 도달하는 경우에 통보하는 과정과;Counting the free buffer and notifying when the counted value reaches a threshold for a predetermined time; 상기 버퍼에 대응하는 포트 또는 호스트에 대해 트래픽 관리를 수행하는 과정을 더 포함하여 이루어진 것을 특징으로 하는 이더넷 큐오에스 지원 버퍼 및 큐 구조의 운용 방법.And performing traffic management on the port or host corresponding to the buffer.
KR1019990046461A 1999-10-25 1999-10-25 Structure of Buffer and Queues for Suppling Ethernet QoS and Operating Method thereof KR20010038486A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019990046461A KR20010038486A (en) 1999-10-25 1999-10-25 Structure of Buffer and Queues for Suppling Ethernet QoS and Operating Method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019990046461A KR20010038486A (en) 1999-10-25 1999-10-25 Structure of Buffer and Queues for Suppling Ethernet QoS and Operating Method thereof

Publications (1)

Publication Number Publication Date
KR20010038486A true KR20010038486A (en) 2001-05-15

Family

ID=19616852

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990046461A KR20010038486A (en) 1999-10-25 1999-10-25 Structure of Buffer and Queues for Suppling Ethernet QoS and Operating Method thereof

Country Status (1)

Country Link
KR (1) KR20010038486A (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7167478B2 (en) 2002-09-16 2007-01-23 Ericsson Inc. Versatile system for message scheduling within a packet operating system
KR100712965B1 (en) * 2004-04-26 2007-05-02 주식회사 파이오링크 METHOD AND SYSTEM FOR MANAGING QUALITY OF SERVICE FOR A PLURALITY OF QoS ENGINES
KR100758284B1 (en) 2006-05-09 2007-09-12 한국전자통신연구원 Home server for guaranteed qos in the home networks and method to provide qos guaranteed services
US7477630B2 (en) 2002-12-27 2009-01-13 Electronics And Telecommunications Research Institute Transmission controller used in media access control processing apparatus and transmission controlling method thereof
US7505483B2 (en) 2004-11-03 2009-03-17 Electronics And Telecommunications Research Institute Apparatus for transmitting WPAN MAC frames and method thereof
KR100959016B1 (en) * 2003-09-26 2010-05-24 주식회사 케이티 Ethernet/SDH translator and method of furnishing each subscriber with distinctive QoS Service
US8819309B1 (en) 2013-06-14 2014-08-26 Arm Limited Low latency bypass buffer

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7167478B2 (en) 2002-09-16 2007-01-23 Ericsson Inc. Versatile system for message scheduling within a packet operating system
US7477630B2 (en) 2002-12-27 2009-01-13 Electronics And Telecommunications Research Institute Transmission controller used in media access control processing apparatus and transmission controlling method thereof
KR100959016B1 (en) * 2003-09-26 2010-05-24 주식회사 케이티 Ethernet/SDH translator and method of furnishing each subscriber with distinctive QoS Service
KR100712965B1 (en) * 2004-04-26 2007-05-02 주식회사 파이오링크 METHOD AND SYSTEM FOR MANAGING QUALITY OF SERVICE FOR A PLURALITY OF QoS ENGINES
US7505483B2 (en) 2004-11-03 2009-03-17 Electronics And Telecommunications Research Institute Apparatus for transmitting WPAN MAC frames and method thereof
USRE44334E1 (en) 2004-11-03 2013-07-02 Electronics And Telecommunications Research Institute Apparatus for transmitting WPAN MAC frames and method thereof
KR100758284B1 (en) 2006-05-09 2007-09-12 한국전자통신연구원 Home server for guaranteed qos in the home networks and method to provide qos guaranteed services
US8819309B1 (en) 2013-06-14 2014-08-26 Arm Limited Low latency bypass buffer

Similar Documents

Publication Publication Date Title
US6757249B1 (en) Method and apparatus for output rate regulation and control associated with a packet pipeline
US6934250B1 (en) Method and apparatus for an output packet organizer
US6882642B1 (en) Method and apparatus for input rate regulation associated with a packet processing pipeline
US5974465A (en) Method and apparatus for prioritizing the enqueueing of outbound data packets in a network device
US9225659B2 (en) Method and apparatus for scheduling a heterogeneous communication flow
US7039061B2 (en) Methods and apparatus for retaining packet order in systems utilizing multiple transmit queues
US7076540B2 (en) Service assignment apparatus
US8230110B2 (en) Work-conserving packet scheduling in network devices
US7519067B2 (en) Method, system, and computer product for controlling input message priority
US7701849B1 (en) Flow-based queuing of network traffic
US6795870B1 (en) Method and system for network processor scheduler
US8184540B1 (en) Packet lifetime-based memory allocation
US6804239B1 (en) Integrated circuit that processes communication packets with co-processor circuitry to correlate a packet stream with context information
US20030120705A1 (en) Method and apparatus for providing multiple data class differentiation with priorities using a single scheduling structure
EP0706297A1 (en) Method for operating traffic congestion control in a data communication network and system for implementing said method
JP2000196628A (en) Method and system for managing congestion
WO2001047186A9 (en) Bandwidth management system
US6771653B1 (en) Priority queue management system for the transmission of data frames from a node in a network node
US20020181396A1 (en) Network switching apparatus and method for congestion control
US20050068798A1 (en) Committed access rate (CAR) system architecture
JP7487316B2 (en) Service level configuration method and apparatus
US8199764B2 (en) Scalable approach to large scale queuing through dynamic resource allocation
US7209489B1 (en) Arrangement in a channel adapter for servicing work notifications based on link layer virtual lane processing
US20050190779A1 (en) Scalable approach to large scale queuing through dynamic resource allocation
KR20010038486A (en) Structure of Buffer and Queues for Suppling Ethernet QoS and Operating Method thereof

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application