KR20010038486A - 이더넷 큐오에스 지원 버퍼 및 큐 구조와 그 운용 방법 - Google Patents

이더넷 큐오에스 지원 버퍼 및 큐 구조와 그 운용 방법 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
English (en)
Inventor
이백주
Original Assignee
서평원
엘지정보통신 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 서평원, 엘지정보통신 주식회사 filed Critical 서평원
Priority to KR1019990046461A priority Critical patent/KR20010038486A/ko
Publication of KR20010038486A publication Critical patent/KR20010038486A/ko

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

본 발명은 이더넷(Ethernet) QoS(Quality of Service) 지원 버퍼(Buffer) 및 큐(Queues) 구조와 그 운용 방법에 관한 것으로, 특히 이더넷에서 네트워크 서비스(Network Service)의 성능 지표로 사용되는 지연, 손실, 작업 처리량(Throughput) 등을 고려하는 버퍼 및 큐를 구현하고 운영하여 QoS를 지원하도록 한 이더넷 QoS 지원 버퍼 및 큐 구조와 그 운용 방법에 관한 것이다.
본 발명의 구조는 어드레스 레절루션에 의해서 결정된 MAC에 대하여 지연 감지된 패킷들을 처리하는 버퍼들을 구비하는 바이패스 버퍼 어레이와; 상기 바이패스 버퍼 어레이 내의 버퍼들을 큐잉하기 위한 바이패스 큐 링크 리스트와; 프라이어티를 적용하고 서비스 등급에 따라 지원되는 대역폭에 해당하는 버퍼들을 구비하는 프라이어티 가중 버퍼 어레이와; 상기 프라이어티 가중 버퍼 어레이 내의 버퍼들을 큐잉하기 위한 다수 개의 송신 큐 링크 리스트와; 상기 바이패스 버퍼 어레이와 프라이어티 가중 버퍼 어레이 내의 버퍼들을 관리하기 위한 타임아웃 값을 세팅하는 버퍼 타임아웃 스케쥴러와; 상기 버퍼 타임아웃 스케쥴러의 타임아웃 값에 따라 상기 지연 감지된 패킷들을 처리하는 버퍼 손실 매니저와; 각 포트로부터 수신되는 패킷을 저장하는 다수 개의 수신 FIFO와; 상기 수신 FIFO를 통해 수신된 패킷들의 어드레스를 탐색하여 상기 바이패스 버퍼 어레이와 프라이어티 가중 버퍼 어레이 내의 버퍼로 큐잉시키는 수신 패킷 중재기 및 어드레스 검출기와; 상기 수신 패킷 중재기 및 어드레스 검출기에 의해 큐잉된 패킷들을 가중치 별로 송신하는 송신 패킷 중재기를 포함하여 이루어진 것을 특징으로 한다. 그리고, 본 발명의 방법은 각 포트 별로 프라이어티를 결정하여 해당 각 어드레스의 프라이어티를 결정하고 각 큐 별로 타임아웃 값을 디폴트로 세팅하는 과정과; 각 포트를 통해 패킷을 수신하여 어드레스를 탐색하여 어드레스 테이블에 존재하는지를 확인하는 과정과; 상기 어드레스에 따라 상기 수신된 패킷을 서비스 등급에 대응하는 버퍼에 저장함과 동시에 해당 버퍼의 포인터와 목적지 포트를 기록하는 과정과; 상기 버퍼의 판독 포인터와 기록 포인터가 다른 경우를 확인하여 상기 프라이어티에 따라 상기 버퍼를 주사하여 패킷을 판독해 상기 목적지 포트로 전송하는 과정을 포함하여 이루어진 것을 특징으로 한다.

Description

이더넷 큐오에스 지원 버퍼 및 큐 구조와 그 운용 방법 {Structure of Buffer and Queues for Suppling Ethernet QoS and Operating Method thereof}
본 발명은 이더넷 QoS 지원 버퍼 및 큐 구조와 그 운용 방법에 관한 것으로, 특히 이더넷에서 네트워크 서비스(Network Service)의 성능 지표로 사용되는 지연, 손실, 작업 처리량(Throughput) 등을 고려하는 버퍼 및 큐를 구현하고 운영하여 QoS를 지원하도록 한 이더넷 QoS 지원 버퍼 및 큐 구조와 그 운용 방법에 관한 것이다.
종래의 이더넷 패킷 프로세싱 방식은 이더넷 트래픽(Traffic)을 처리하는데 있어 단순히 트래픽의 부하(Load) 및 메디아(Media)에 기초하여 버퍼를 운영하고 시스템(System)에 의존하게 이를 관리한다.
여기서, 해당 이더넷 트래픽의 특징인 최선형(Best Effort) 방식에 따라 이를 운영하기 때문에 서비스 대기 시간의 과다, 대역폭 보장의 불능, 실시간성 서비스를 위한 QoS 미보장 등의 어려움을 가지고 있다. 보통, 해당 QoS는 사용자가 실제적으로 서비스 품질을 느끼는 표현 및 체감 품질과, 사용자의 서비스 이용 및 제어의 편리성을 보장하는 이용 및 제어 품질로 나눌 수 있다.
그리고, 해당 QoS는 ITU-T, IETF 등과 같은 표준화 기관에 따라 다양하게 정의하고 있는데, 해당 ITU-T E.800 권고안에서는 서비스 사용자의 만족 정도를 결정하는 서비스 성능의 종합적인 효과라고 정의하고 있으며, IETF 권고안에서는 서비스를 사용하는 형태, 특성, 그리고 요구 수준에 따른 사용자의 요구에 적응하여 제공할 수 있는 네트워크 서비스의 성능 지표로 정의하고 있다.
이에, 종래에 채택된 기술로는 이더넷 포트(Port) 별로 버퍼를 스태틱하게 할당하거나 다이내믹하게 할당하는 방식이 있으며, 메디아 별로 달리하여 운영하는 방식이 있다.
여기서, 해당 이더넷 포트 별로 버퍼를 스태틱하게 할당하는 방식은 이더넷 칩(Chip)에서 요구하는 버퍼의 개수를 이더넷 칩에서 지원하는 포트 별로 일정하게 할당하여 이를 FIFO 방식으로 큐잉(Queuing)하여 서비스(Service)하는 방식이다.
그리고, 해당 이더넷 포트 별로 버퍼를 다이내믹하게 할당하는 방식은 이더넷 칩에서 요구하는 버퍼의 개수를 이더넷 포트에서 들어오는 패킷들에 따라서 FIFO 방식으로 큐잉하는 방식으로, 특정한 버퍼에 대해서 특정 포트에 고정적으로 할당하지는 않는다.
그리고, 해당 메디아 별로 달리하여 운영하는 방식은 10M 이더넷과 100M 이더넷 등의 다른 메디아에 따라 우선 순위를 두어 이를 큐잉하거나 전송(Transmission)할 경우에 메디아의 속도가 빠른 100M을 10M보다 주어진 순서만큼 먼저 주사(Scan)하여 서비스하는 방식으로, 메디아가 서로 다른 시스템에서 사용하는 방식이다.
첫 번째로, 해당 이더넷 포트 별로 스태틱하게 할당되는 버퍼를 운용하는 방식, 즉 스태틱 버퍼 이더넷 패킷 프로세싱 방법을 살펴보면 도 1에 도시된 바와 같은데, 포트 수신 버퍼 어레이(Port Receive Buffer Array; 12)에서 각 포트 당 일정 버퍼를 할당(Allocation)하며, 이를 송신 링크 큐 리스트(11)에 순차적으로 부가(Adding)하여 로우테이팅(Rotating)하면서 서비스를 수행한다.
두 번째로, 해당 이더넷 포트 별로 다이내믹하게 할당되는 버퍼를 운용하는 방식, 즉 다이내믹 버퍼 이더넷 패킷 프로세싱 방법을 살펴보면 도 2에 도시된 바와 같은데, 포트 수신 버퍼 어레이(14)에 수신 순서에 따라서 버퍼를 할당하며, 이를 큐잉하여 송신해 준다.
세 번째로, 메디아 의존 할당(Media Dependent Allocation) 방법은 해당 스태틱 버퍼 이더넷 패킷 프로세싱 방법에서 속도를 감안하여 많은 버퍼를 할당해 준다.
그런데, 상술한 바와 같은 방식으로는 멀티메디아 서비스(Multimedia Services)에 적절하게 최선형의 이더넷에서 QoS를 지원하는 것이 상당히 어려운데, 그 이유는 HOL(Head of Line Blocking) 상황에서 서비스 대기 시간의 과다가 예상되고 버퍼를 고정적으로 사용하거나 다이내믹하게 사용할 경우에 요구된 대역폭을 사용자에게 할당할 수 없고 이에 실시간 서비스가 요구되는 애플리케이션(Application)에서 QoS를 보장할 수 없기 때문이다. 또한, 차세대 인터넷 어드레스(Internet Address)인 IPv6의 서비스 클래스(Services Class) 및 프라이어티에 적절히 대응할 수 없게 되는 문제점이 있다.
전술한 바와 같은 문제점을 해결하기 위한 것으로, 본 발명은 차세대 네트워크의 기술 중 하나인 QoS를 지원하기 위한 이더넷에서 버퍼와 큐를 구현하는데, 즉 이더넷에서 QoS를 지원함에 있어 그 핵심인 버퍼와 큐의 운영 알고리즘을 IEEE 802.1p와 IETF RFC2386(인터넷(Internet)에서 QoS 기본 라우팅(Based Routing)에 대한 프레임워크(Framework))에 기초하고 이에 적당하도록 이를 설계하고 운영하는 방식을 제공하는데 그 목적이 있다.
도 1은 종래의 스태틱 버퍼(Static Buffer) 이더넷(Ethernet) 패킷(Packet) 프로세싱(Processing) 방법을 설명하기 위한 도면.
도 2는 종래의 다이내믹 버퍼(Dynamic Buffer) 이더넷 패킷 프로세싱 방법을 설명하기 위한 도면.
도 3은 본 발명의 실시예에 따른 이더넷 QoS(Quality of Service) 지원 버퍼 및 큐(Queues) 구조를 나타낸 블록도.
도 4는 본 발명의 실시예에 따른 이더넷 QoS 지원 버퍼 및 큐의 운용 방법을 나타낸 플로우챠트.
* 도면의 주요 부분에 대한 부호의 설명 *
20 : 바이패스 큐 링크 리스트(By-pass Queues Linked List)
30-1 ~ 30-m : 송신 링크 큐 리스트(Transmit Queues Linked List)
40 : 바이패스 버퍼 어레이(By-pass Buffer Array)
50 : 프라이어티 가중 버퍼 어레이(Priority Weighted Buffer Array)
60-1 ~ 60-m : 수신 FIFO(Receive First In Fist Out)
70 : 수신 패킷 중재기 및 어드레스 검출기(Receive Packet Arbitrator and Address Detector)
80 : 송신 패킷 중재기(Transmit Packet Arbitrator)
90 : 버퍼 타임아웃 스케쥴러(Buffer Time-out Scheduler)
100 : 버퍼 손실 매니저(Buffer Loss Manager)
상술한 바와 같은 목적을 달성하기 위한 본 발명의 실시예에 따른 이더넷 QoS 지원 버퍼 및 큐 구조는 어드레스 레절루션에 의해서 결정된 MAC에 대하여 지연 감지된 패킷들을 처리하는 버퍼들을 구비하는 바이패스 버퍼 어레이와; 상기 바이패스 버퍼 어레이 내의 버퍼들을 큐잉하기 위한 바이패스 큐 링크 리스트와; 프라이어티를 적용하고 서비스 등급에 따라 지원되는 대역폭에 해당하는 버퍼들을 구비하는 프라이어티 가중 버퍼 어레이와; 상기 프라이어티 가중 버퍼 어레이 내의 버퍼들을 큐잉하기 위한 다수 개의 송신 큐 링크 리스트와; 상기 바이패스 버퍼 어레이와 프라이어티 가중 버퍼 어레이 내의 버퍼들을 관리하기 위한 타임아웃 값을 세팅하는 버퍼 타임아웃 스케쥴러와; 상기 버퍼 타임아웃 스케쥴러의 타임아웃 값에 따라 상기 지연 감지된 패킷들을 처리하는 버퍼 손실 매니저와; 각 포트로부터 수신되는 패킷을 저장하는 다수 개의 수신 FIFO와; 상기 수신 FIFO를 통해 수신된 패킷들의 어드레스를 탐색하여 상기 바이패스 버퍼 어레이와 프라이어티 가중 버퍼 어레이 내의 버퍼로 큐잉시키는 수신 패킷 중재기 및 어드레스 검출기와; 상기 수신 패킷 중재기 및 어드레스 검출기에 의해 큐잉된 패킷들을 가중치 별로 송신하는 송신 패킷 중재기를 포함하여 이루어진 것을 특징으로 한다.
한편, 상술한 바와 같은 목적을 달성하기 위한 본 발명의 실시예에 따른 이더넷 QoS 지원 버퍼 및 큐 구조의 운용 방법은 각 포트 별로 프라이어티를 결정하여 해당 각 어드레스의 프라이어티를 결정하고 각 큐 별로 타임아웃 값을 디폴트로 세팅하는 과정과; 각 포트를 통해 패킷을 수신하여 어드레스를 탐색하여 어드레스 테이블에 존재하는지를 확인하는 과정과; 상기 어드레스에 따라 상기 수신된 패킷을 서비스 등급에 대응하는 버퍼에 저장함과 동시에 해당 버퍼의 포인터와 목적지 포트를 기록하는 과정과; 상기 버퍼의 판독 포인터와 기록 포인터가 다른 경우를 확인하여 상기 프라이어티에 따라 상기 버퍼를 주사하여 패킷을 판독해 상기 목적지 포트로 전송하는 과정을 포함하여 이루어진 것을 특징으로 한다. 여기서, 상기 타임아웃 세팅 과정은 상기 타임아웃 값을 사용자 요구 값 또는 현재 사용 애플리케이션에 의하여 다시 구성하는 단계와; 어드레스 레절루션을 위한 어드레스 학습 동안에 해당되는 어드레스에 데이터베이스의 존재 여부를 확인하는 단계와; 상기 데이터베이스가 존재하는 경우에 상기 어드레스에 따라 프라이어티를 가지고 어드레스 학습을 다시 수행하는 단계를 포함하여 이루어진 것을 특징으로 한다. 다르게는, 상기 타임아웃 세팅 과정은 상기 데이터베이스가 존재하지 않는 경우에 각 포트 별로 결정된 프라이어티에 따라 어드레스 학습을 수행하는 단계와; 상기 프라이어티가 존재하지 않는 경우에 모든 버퍼와 큐들을 다이내믹하게 할당하는 단계를 더 포함하여 이루어진 것을 특징으로 한다.
다르게는, 본 발명의 실시예에 따른 이더넷 QoS 지원 버퍼 및 큐 구조의 운용 방법은 상기 어드레스 테이블에 상기 탐색한 어드레스가 존재하지 않는 경우에 어드레스 학습을 수행하는 과정을 더 포함하여 이루어진 것을 특징으로 한다.
또한 다르게는, 본 발명의 실시예에 따른 이더넷 QoS 지원 버퍼 및 큐 구조의 운용 방법은 상기 패킷의 수신에 따라 상기 버퍼의 기독 포인터를 증가시켜 주고 상기 버퍼에 저장된 패킷을 송신하기 전까지 상기 타임아웃 값에 따라 관리하는 과정을 더 포함하여 이루어진 것을 특징으로 한다.
또한 다르게는, 본 발명의 실시예에 따른 이더넷 QoS 지원 버퍼 및 큐 구조의 운용 방법은 HOL의 경우나 프리시키지 못한 버퍼가 존재하는 경우에 일정 시간 지연 후에 해당 버퍼를 강제로 프리시키는 과정과; 상기 프리된 버퍼를 카운트하고 해당 카운트한 값이 일정 시간 동안에 임계치에 도달하는 경우에 통보하는 과정과; 상기 버퍼에 대응하는 포트 또는 호스트에 대해 트래픽 관리를 수행하는 과정을 더 포함하여 이루어진 것을 특징으로 한다.
본 발명은 바이패스 버퍼 및 큐의 운용으로 지연 감지 패킷 프로세싱(Delay Sensitive Packet Processing)을 위한 버퍼를 운용하며, 프라이어트 가중 버퍼 및 큐의 운용으로 손실(Loss) 감지 패킷 프로세싱을 위한 8 등급 버퍼를 운용하며. 버퍼 타임아웃 스케쥴러 및 손실 매니저로 버퍼의 이용 효율 극대화를 위한 버퍼를 관리하며, 수신 패킷 중재기 및 어드레스 검출기로 프라이어티 가중 기본 어드레스 레절루션(Resolution) 및 패킷 저장을 수행하도록 해 준다.
다시 말해서, 본 발명은 IETF 권고안의 정의에 따라 네트워크 서비스의 성능 지표로 사용되는 지연, 손실, 작업 처리량 등을 고려하는 버퍼 및 큐의 운영 방식을 종합적으로 제안하는데, 이를 위해서 종래의 스태틱 운용 방식과 다이내믹 운용 방식을 동시에 적용하며, 하이(High) 프라이어티 패킷, 즉 지연 감지한 음성 통신과 실시간 대화형 서비스와 비디오 분배와 같은 비대화형 실시간 서비스의 품질에 적합하도록 패킷 처리의 프로세싱 지연, 큐잉 지연을 최소화하는 바이패스 버퍼 어레이를 설계하며, 특정 응용 서비스에 할당해 줄 수 있는 대역폭의 양에 따른 작업 처리량의 지원을 위해서 프라이어티 가중 버퍼 어레이를 설계함으로써, 손실 감지 패킷들에 적절한 구조를 가지게 한다.
또한, 본 발명은 스태틱과 다이내믹 운용 방식의 동시 적용, 바이패스 버퍼 어레이의 설계 및 프라이어티 가중 버퍼 어레이의 설계를 관리하거나 지원하기 위해서 버퍼 타임아웃 스케쥴러와 버퍼 손실 매니저를 두며, 주어진 트래픽에서 발신지(Source) 어드레스와 목적지(Destination) 어드레스에 따라 어드레스를 탐색(Searching)하여 해당 주어진 버퍼 및 큐의 어레이에 부가하는 수신 패킷 중재기와 어드레스 검출기가 있으며, 주어진 전송 큐의 어레이에서 해당되는 포트로 패킷들을 전송하는 전송 패킷 중재기가 있다. 이하, 본 발명의 실시예를 첨부한 도면을 참조하여 상세하게 설명하면 다음과 같다.
본 발명의 실시예에 따른 이더넷 QoS 지원 버퍼 및 큐 구조는 도 3에 도시한 바와 같이, 바이패스 큐 링크 리스트(20)와, 다수 개의 송신 큐 링크 리스트(30-1 ~ 30-m)와, 바이패스 버퍼 어레이(40)와, 프라이어티 가중 버퍼 어레이(50)와, 다수 개의 수신 FIFO(60-1 ~ 60-m)와, 수신 패킷 중재기 및 어드레스 검출기(70)와, 송신 패킷 중재기(80)와, 버퍼 타임아웃 스케쥴러(90)와, 버퍼 손실 매니저(100)로 이루어진다.
다시 말해서, 본 발명의 실시예에 따른 이더넷 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)를 구비하여 이루어진다.
여기서, 상기 바이패스 버퍼 어레이(40)는 지연 감지한 음성 통신과 실시간 대화형 서비스와 비디오 분배와 같은 비대화형 실시간 서비스의 품질에 적합하도록 패킷 처리의 프로세싱 지연 및 큐잉 지연을 최소화할 수 있게 설계되어진다. 그리고, 상기 바이패스 버퍼 어레이(40)는 IETF RFC 1349의 지연 최소화가 세팅(Setting)되어 있는 패킷에 적용하고 이를 큐잉하기 위해서 상기 바이패스 큐 링크 리스트(20)와 연계하며, 또한 해당 지연 감지한 패킷들의 버퍼링을 관리하기 위해서 상기 버퍼 타임아웃 스케쥴러(90)의 타임아웃 값들을 세팅해 주고 해당 타임아웃 값들에 따라 상기 버퍼 손실 매니저(100)에 의해 주어진 타임아웃 값들에 따라 해당 패킷들을 처리해 준다.
상기 프라이어티 가중 버퍼 어레이(50)는 특정 응용 서비스에 할당해 줄 수 있는 대역폭의 양에 따른 작업 처리량의 지원을 위해서 설계되어진다. 그리고, 상기 프라이어티 가중 버퍼 어레이(50)는 8 등급으로 나누어 관리되는 버퍼들을 구비하고 있는데, IEEE 802.1p 및 IPv6에 기술된 프라이어티를 적용하고 서비스 등급에 따라 지원되는 대역폭이 해당되는 버퍼를 큐잉하거나 송신하는 방식에 따라 적절하게 적용하며, 이를 결정하기 위해서 상기 수신 패킷 중재기 및 어드레스 검출기(70)를 사용하며, 해당 버퍼들을 관리하기 위해서 상기 버퍼 타임아웃 스케쥴러(90)와 버퍼 손실 매니저(100)를 사용한다.
상기 수신 FIFO(60-1 ~ 60-m)는 각 포트를 통해 패킷들을 수신하였다가 상기 수신 패킷 중재기 및 어드레스 검출기(70)로 출력해 준다.
상기 수신 패킷 중재기 및 어드레스 검출기(70)는 주어진 트래픽에서 발신지 어드레스와 목적지 어드레스에 따라 어드레스를 탐색하여 해당 주어진 버퍼 및 큐의 어레이에 부가해 주는데, 각 포트 별로 수신된 패킷들의 어드레스를 탐색하여 해당 어드레스에 따라서 해당 버퍼에 패킷들을 큐잉시켜 주며, 이를 위해서 어드레스 테이블에 프라이어티 등급을 유지해 준다.
상기 송신 패킷 중재기(80)는 주어진 전송 큐의 어레이에서 해당되는 포트로 패킷들을 전송하는데, 송신 큐에 큐잉된 패킷들을 우선 순위의 바이패스 큐들로부터 프라이어티 가중 송신 큐들 순으로 주사하여 순차적으로 로우테이팅하여 전송해 준다.
상기 버퍼 타임아웃 스케쥴러(90)와 버퍼 손실 매니저(100)는 상기 프라이어티 가중 버퍼 어레이(50) 내의 버퍼들을 관리하거나 지원하는데, 각 버퍼 별로 버퍼의 운용을 위해서 사용하는 것으로 버퍼 별로 타임아웃 값을 세팅하여 지연에 따라 이를 적용하며, HOL 하에서 또는 과중 트래픽(Heavy Traffic)에서 프리(Free)되지 않는 버퍼를 프리시켜 버퍼의 운용의 최적화를 기하도록 해 준다.
본 발명의 실시예에 따른 이더넷 QoS 지원 버퍼 및 큐 구조의 운용 방법을 eh 4의 플로우챠트를 참고하여 설명하면 다음과 같다. 여기서, 프라이어티가 서로 다른 두 개의 패킷을 예를 들어서 설명하지만, 본 발명은 이에 한정된 것이 아니라는 점을 잘 알아야 한다.
먼저, 기본적으로 초기에 각 포트 별로 프라이어티를 결정하며, 초기에 해당 결정된 프라이어티 값에 의해서 각 어드레스의 프라이어티를 결정하게 된다. 또한, 각 큐 별로 타임아웃 값을 디폴트(Default)로 세팅해 준다(단계 S1).
이 때, 매니저는 상기 세팅된 타임아웃 값을 사용자가 요구하는 값들 또는 현재 사용되는 애플리케이션에 의하여 다시 구성(Configuration)할 수 있으며, 어드레스 레절루션을 위해서 어드레스 학습(Address Learning) 동안에 해당되는 어드레스에 데이터베이스가 존재한 경우에 해당 값에 따라 프라이어티를 가지고 어드레스 학습을 다시 수행하면 된다. 또한, TCP(Transmission Control Protocol)와 같은 접속 오리엔트 트래픽(Connection Oriented Traffic)의 경우에 에이징 아웃(Aging Out)되지 않게 세팅할 수 있다.
만약, 상기 데이터베이스가 존재하지 않는 경우에서는 각 포트 별로 주어진 프라이어티에 따라 어드레스 학습이 이루어질 수 있으며, 해당 프라이어티가 존재하지 않는 경우에는 모든 버퍼와 큐들을 다이내믹하게 할당하여 사용하게 된다.
그러면, 하나의 패킷을 지연 감지된 패킷이라고 하고 다른 패킷을 프라이어티 가중화된 손실 감지 패킷이라고 한다면, 각 포트의 수신 FIFO(60-1 ~ 60-m)에서는 해당 지연 감지 패킷과 손실 감지 패킷을 수신하였다가 수신 패킷 중재기 및 어드레스 검출기(70)로 출력해 준다.
그리고, 상기 수신 패킷 중재기 및 어드레스 검출기(70)에서는 주어진 트래픽에서 발신지 어드레스와 목적지 어드레스를 탐색하는데(단계 S2), 이때 어드레스 테이블에 해당 어드레스가 존재하지 않는 경우에 해당 어드레스를 CPU 측으로 전송하여 어드레스 학습을 수행하게 하며, 물론 해당 CPU의 어드레스 학습 없이 스스로 디폴트 값으로 어드레스 학습을 수행할 수도 있다. 그리고, 상기 수신 패킷 중재기 및 어드레스 검출기(70)에서는 해당 학습된 어드레스에 따라 상기 지연 감지 패킷을 바이패스 버퍼 어레이(40)로 전송해 주며, 해당 버퍼 포인터와 목적지 포트를 바이패스 큐 링크 리스트(20)에 기록해 준다. 또한, 상기 손실 감지 패킷을 어드레스 레절루션에 의해서 결정된 프라이어티에 의하여 프라이어티 가중 버퍼 어레이(50) 내의 해당되는 버퍼에 저장시켜 주며, 해당 버퍼의 포인터와 목적지 포트를 해당되는 송신 큐 링크 리스트(30-1 ~ 30-m)에 기록해 준다(단계 S3).
이 때, 버퍼의 판독 및 기록 큐 포인터는 처음에는 동일하지만 패킷들을 수신함에 따라 해당 버퍼의 기록 포인터가 증가함으로써 판독 포인터와 기록 포인터가 서로 다르게 되며, 상기 바이패스 버퍼 어레이(40)와 프라이어티 가중 버퍼 어레이(50) 내에 저장된 패킷들은 버퍼 타임아웃 스케쥴러(90)에 의해서 세팅된 타임아웃 값에 따라 전송하기 전까지 관리되어진다.
이에, 송신 패킷 중재기(80)에서는 큐들의 판독 버퍼 포인터와 기록 버퍼 포인터가 서로 다른 경우를 확인하여 상기 바이패스 큐 링크 리스트(20)와 송신 큐 링크 리스트(30-1 ~ 30-m)로부터 패킷 버퍼 포인터를 판독하고 패킷의 EOP(End of Packet)까지 해당 패킷의 목적지 포트로 상기 바이패스 버퍼 어레이(40)와 프라이어티 가중 버퍼 어레이(50) 내에 저장된 패킷을 전송해 준다(단계 S4). 이때, 전송의 순서와 주사 순서는 프라이어티에 기초하는데, 모든 주사의 우선은 지연 감지 패킷에 우선 순위를 두어 상기 바이패스 버퍼 어레이(40) 내의 바이패스 버퍼들을 처리하며, 다음으로 프라이어티 가중치에 따라 상기 프라이어티 가중 버퍼 어레이(50) 내의 프라이어티 가중 송신 버퍼들을 처리한다. 여기서, 여덟 번째 프라이어티 패킷은 첫 번째 프라이어티 패킷에 비해 8 번을 더 주사하여 서비스하게 되며, 해당 바이패스 버퍼 내에 저장되어 있는 패킷들은 해당 프라이어티 가중 송신 버퍼를 주사하여 패킷을 전송하기 전에 항상 먼저 주사하여 전송하게 된다.
한편, 이더넷 트래픽은 최선형 서비스이기 때문에 해당 서비스가 이용 가능한 버퍼가 존재하지 않거나 과중 트래픽으로 인한 충돌(Congestion) 상황에서 버퍼가 존재하지 않을 경우가 상당히 많이 있으므로, 이를 대비하기 위해서 상기 버퍼 타임아웃 스케쥴러(90)와 버퍼 손실 매니저(100)에서는 만약 HOL의 경우나 CPU에서 프리시키지 못한 패킷 버퍼가 존재하는 경우에 상기 버퍼 타임아웃 스케쥴러(90)에 허용되는 지연이 경과한 후에 상기 버퍼 손실 매니저(100)에서 해당 패킷 버퍼를 강제로 프리시켜 주며, 해당 프리된 패킷 버퍼의 카운트를 트래픽 관리를 위해서 일정 시간 동안 주어진 임계치(Threshold)에 도달하면 매니저에게 통보해 준다.
이에, 매니저는 해당 값을 유지하고 있다가 허용되는 한계에 도달하면 해당 포트 또는 호스트에 대해 트래픽 관리를 수행할 수 있게 된다.
따라서, 상기 손실 감지 패킷과 지연 감지 패킷은 서로 다른 버퍼를 이용함으로써 요구되는 QoS를 지원할 수 있게 되며, 다변하는 네트워크 상황에 적절히 적응할 수 있는 버퍼를 관리할 수 있게 된다.
상술한 바와 같이, 본 발명은 차세대의 이더넷 QoS를 지원하기 위하여 핵심인 버퍼와 큐의 관리에 관한 설계이므로 기존의 이더넷 망에서 문제점으로 대두되었던 수신 오리엔트 QoS 지원에 효율적으로 사용할 수 있다. 아직 이를 적용하기 위한 애플리케이션은 없으나 IETF에서 RSVP(Resource Reservation Protocol)를 고려하고 있으며, 또한 QoS의 관점에서 IETF에서 통합 서비스(Integrated Service)와 차등 서비스(Differentiated Service)를 표준화하고 있다.
이에, 본 발명은 차등 서비스에 적절하게 사용할 수 있고 통합 서비스에도 적용할 수 있으며, 차세대 인터넷 어드레스 레절루션인 IPv6의 프라이어티를 8 등급으로 차등적으로 적용할 수 있으며, 또한 IEEE의 802.1p의 8 프라이어티에 사용할 수도 있다.
그리고, 본 발명은 이용 및 제어 품질에서 주소 및 이름 인식성을 나타내는 레이턴시 시간(Latency Time)에 적응하기 위한 억세스(Access) 보장과 서비스 제어성의 인터액티비티(Interactivity)를 요하는 실시간 대화형 서비스 및 비대화형 서비스인 비디오 분배의 품질 보장을 제공할 수 있으며, 자원 이용 효율성을 나타내는 트래픽 엔지니어링(Traffic Engineering), 폴리시(Policy) 및 자원 관리(Resource Management)를 쉽게 할 수 있으며, 또한 표현 및 체감 품질에서 홉 레벨(Hop-level)의 최소화를 엔드 포인트(End Point)에서 지원할 수 있다.
또한, 본 발명은 종단에서 트래픽 관리를 구현할 수 있기 때문에 종단 스위치나 라우터(Router)에 적용할 수 있다.

Claims (7)

  1. 어드레스 레절루션에 의해서 결정된 MAC에 대하여 지연 감지된 패킷들을 처리하는 버퍼들을 구비하는 바이패스 버퍼 어레이와;
    상기 바이패스 버퍼 어레이 내의 버퍼들을 큐잉하기 위한 바이패스 큐 링크 리스트와;
    프라이어티를 적용하고 서비스 등급에 따라 지원되는 대역폭에 해당하는 버퍼들을 구비하는 프라이어티 가중 버퍼 어레이와;
    상기 프라이어티 가중 버퍼 어레이 내의 버퍼들을 큐잉하기 위한 다수 개의 송신 큐 링크 리스트와;
    상기 바이패스 버퍼 어레이와 프라이어티 가중 버퍼 어레이 내의 버퍼들을 관리하기 위한 타임아웃 값을 세팅하는 버퍼 타임아웃 스케쥴러와;
    상기 버퍼 타임아웃 스케쥴러의 타임아웃 값에 따라 상기 지연 감지된 패킷들을 처리하는 버퍼 손실 매니저와;
    각 포트로부터 수신되는 패킷을 저장하는 다수 개의 수신 FIFO와;
    상기 수신 FIFO를 통해 수신된 패킷들의 어드레스를 탐색하여 상기 바이패스 버퍼 어레이와 프라이어티 가중 버퍼 어레이 내의 버퍼로 큐잉시키는 수신 패킷 중재기 및 어드레스 검출기와;
    상기 수신 패킷 중재기 및 어드레스 검출기에 의해 큐잉된 패킷들을 가중치 별로 송신하는 송신 패킷 중재기를 포함하여 이루어진 것을 특징으로 하는 이더넷 큐오에스 지원 버퍼 및 큐 구조.
  2. 각 포트 별로 프라이어티를 결정하여 해당 각 어드레스의 프라이어티를 결정하고 각 큐 별로 타임아웃 값을 디폴트로 세팅하는 과정과;
    각 포트를 통해 패킷을 수신하여 어드레스를 탐색하여 어드레스 테이블에 존재하는지를 확인하는 과정과;
    상기 어드레스에 따라 상기 수신된 패킷을 서비스 등급에 대응하는 버퍼에 저장함과 동시에 해당 버퍼의 포인터와 목적지 포트를 기록하는 과정과;
    상기 버퍼의 판독 포인터와 기록 포인터가 다른 경우를 확인하여 상기 프라이어티에 따라 상기 버퍼를 주사하여 패킷을 판독해 상기 목적지 포트로 전송하는 과정을 포함하여 이루어진 것을 특징으로 하는 이더넷 큐오에스 지원 버퍼 및 큐 구조의 운용 방법.
  3. 제2항에 있어서,
    상기 타임아웃 세팅 과정은 상기 타임아웃 값을 사용자 요구 값 또는 현재 사용 애플리케이션에 의하여 다시 구성하는 단계와;
    어드레스 레절루션을 위한 어드레스 학습 동안에 해당되는 어드레스에 데이터베이스의 존재 여부를 확인하는 단계와;
    상기 데이터베이스가 존재하는 경우에 상기 어드레스에 따라 프라이어티를 가지고 어드레스 학습을 다시 수행하는 단계를 포함하여 이루어진 것을 특징으로 하는 이더넷 큐오에스 지원 버퍼 및 큐 구조의 운용 방법.
  4. 제3항에 있어서,
    상기 타임아웃 세팅 과정은 상기 데이터베이스가 존재하지 않는 경우에 각 포트 별로 결정된 프라이어티에 따라 어드레스 학습을 수행하는 단계와;
    상기 프라이어티가 존재하지 않는 경우에 모든 버퍼와 큐들을 다이내믹하게 할당하는 단계를 더 포함하여 이루어진 것을 특징으로 하는 이더넷 큐오에스 지원 버퍼 및 큐 구조의 운용 방법.
  5. 제2항에 있어서,
    상기 어드레스 테이블에 상기 탐색한 어드레스가 존재하지 않는 경우에 어드레스 학습을 수행하는 과정을 더 포함하여 이루어진 것을 특징으로 하는 이더넷 큐오에스 지원 버퍼 및 큐 구조의 운용 방법.
  6. 제2항에 있어서,
    상기 패킷의 수신에 따라 상기 버퍼의 기독 포인터를 증가시켜 주고 상기 버퍼에 저장된 패킷을 송신하기 전까지 상기 타임아웃 값에 따라 관리하는 과정을 더 포함하여 이루어진 것을 특징으로 하는 이더넷 큐오에스 지원 버퍼 및 큐 구조의 운용 방법.
  7. 제2항에 있어서,
    HOL의 경우나 프리시키지 못한 버퍼가 존재하는 경우에 일정 시간 지연 후에 해당 버퍼를 강제로 프리시키는 과정과;
    상기 프리된 버퍼를 카운트하고 해당 카운트한 값이 일정 시간 동안에 임계치에 도달하는 경우에 통보하는 과정과;
    상기 버퍼에 대응하는 포트 또는 호스트에 대해 트래픽 관리를 수행하는 과정을 더 포함하여 이루어진 것을 특징으로 하는 이더넷 큐오에스 지원 버퍼 및 큐 구조의 운용 방법.
KR1019990046461A 1999-10-25 1999-10-25 이더넷 큐오에스 지원 버퍼 및 큐 구조와 그 운용 방법 KR20010038486A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019990046461A KR20010038486A (ko) 1999-10-25 1999-10-25 이더넷 큐오에스 지원 버퍼 및 큐 구조와 그 운용 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019990046461A KR20010038486A (ko) 1999-10-25 1999-10-25 이더넷 큐오에스 지원 버퍼 및 큐 구조와 그 운용 방법

Publications (1)

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

Family

ID=19616852

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990046461A KR20010038486A (ko) 1999-10-25 1999-10-25 이더넷 큐오에스 지원 버퍼 및 큐 구조와 그 운용 방법

Country Status (1)

Country Link
KR (1) KR20010038486A (ko)

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 (ko) * 2004-04-26 2007-05-02 주식회사 파이오링크 QoS 관리 방법 및 시스템
KR100758284B1 (ko) 2006-05-09 2007-09-12 한국전자통신연구원 홈네트워크 서비스 품질 보장을 위한 홈서버 장치 및 그를이용한 서비스 품질 보장 방법
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 (ko) * 2003-09-26 2010-05-24 주식회사 케이티 이더넷/동기디지털계위 변환장치 및 그의 사용자별서비스품질 제공방법
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 (ko) * 2003-09-26 2010-05-24 주식회사 케이티 이더넷/동기디지털계위 변환장치 및 그의 사용자별서비스품질 제공방법
KR100712965B1 (ko) * 2004-04-26 2007-05-02 주식회사 파이오링크 QoS 관리 방법 및 시스템
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 (ko) 2006-05-09 2007-09-12 한국전자통신연구원 홈네트워크 서비스 품질 보장을 위한 홈서버 장치 및 그를이용한 서비스 품질 보장 방법
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 (ja) 輻輳管理方法及びシステム
WO2001047186A9 (en) Bandwidth management system
US6952424B1 (en) Method and system for network processor scheduling outputs using queueing
US20020181396A1 (en) Network switching apparatus and method for congestion control
US20050068798A1 (en) Committed access rate (CAR) system architecture
JP7487316B2 (ja) サービスレベル構成方法および装置
US7209489B1 (en) Arrangement in a channel adapter for servicing work notifications based on link layer virtual lane processing
US20050047338A1 (en) Scalable approach to large scale queuing through dynamic resource allocation
US20050190779A1 (en) Scalable approach to large scale queuing through dynamic resource allocation
KR20010038486A (ko) 이더넷 큐오에스 지원 버퍼 및 큐 구조와 그 운용 방법

Legal Events

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