KR20090004166A - 통신 시스템에서 패킷 전송 속도 제한 장치 및 방법 - Google Patents

통신 시스템에서 패킷 전송 속도 제한 장치 및 방법 Download PDF

Info

Publication number
KR20090004166A
KR20090004166A KR1020070068163A KR20070068163A KR20090004166A KR 20090004166 A KR20090004166 A KR 20090004166A KR 1020070068163 A KR1020070068163 A KR 1020070068163A KR 20070068163 A KR20070068163 A KR 20070068163A KR 20090004166 A KR20090004166 A KR 20090004166A
Authority
KR
South Korea
Prior art keywords
packet
amount
class
packets
available
Prior art date
Application number
KR1020070068163A
Other languages
English (en)
Other versions
KR101075724B1 (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 KR1020070068163A priority Critical patent/KR101075724B1/ko
Priority to US12/168,390 priority patent/US20090010165A1/en
Publication of KR20090004166A publication Critical patent/KR20090004166A/ko
Application granted granted Critical
Publication of KR101075724B1 publication Critical patent/KR101075724B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/21Flow control; Congestion control using leaky-bucket
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/19Flow control; Congestion control at layers above the network layer
    • H04L47/193Flow control; Congestion control at layers above the network layer at the transport layer, e.g. TCP related
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/215Flow control; Congestion control using token-bucket
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames

Landscapes

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

Abstract

본 발명은 통신 시스템에서, 발생되는 패킷에 대응되는 토큰 관리자를 결정하고, 상기 패킷이 목표로 하는 목표 전송 속도에 상응하는 토큰을 생성하고, 상기 생성된 토큰의 양과 상기 도착한 패킷의 양을 고려하여 해당 패킷을 폐기하거나 혹은 서비스한다. 이러한 방법으로 전송 속도를 목표 전송 속도로 제한할 수 있다. 또한, 다양한 서비스 클래스의 트래픽이 존재하는 경우, 서비스 클래스의 우선 순위에 따라 서비스를 차별화한다.
목표 전송 속도, 패킷 폐기, 패킷 서비스, 토큰 양, 토큰 관리자

Description

통신 시스템에서 패킷 전송 속도 제한 장치 및 방법{APPARATUS AND METHOD FOR LIMITING PACKET TRANSMISSION RATE IN A COMMUNICATION SYSTEM}
본 발명은 통신 시스템에 관한 것으로서, 보다 상세하게는 전송 속도 제한 장치 및 방법에 관한 것이다.
일반적으로 인터넷 서비스 사업자 혹은 통신 사업자는 특정 플로우(flow) 혹은 각 사용자별 플로우의 패킷 최대 전송 가능 속도를 설정하여 패킷 전송 속도를 제한한다. 패킷의 최대 전송 속도를 제한함으로써 비정상적이거나 과도한 트래픽(traffic)을 억제하여 통신망 혼잡을 방지할 수 있다. 이와 유사하게 일반 사용자와 고급 사용자의 패킷 전송 속도를 다르게 설정함으로써 서비스 차별화에 따른 수익 증대를 목적으로 할 수도 있다. 상술한 바와 같이 패킷 전송 속도를 제한하는 알고리즘은 통신망에서 중요하게 다루어져야 한다.
패킷 전송 속도 제한 알고리즘은 두 가지로 구분할 수 있다.
먼저 리미팅(limiting) 알고리즘은 패킷의 유입 속도를 관찰하여 미리 설정 된 기준 이상의 속도를 가지는 패킷들을 폐기(drop)함으로써 패킷 유입 속도를 규제하는 알고리즘이다.
다음으로 쉐이핑(shaping) 알고리즘은 유입되는 패킷들을 버퍼링한 후 미리 설정된 속도로 서비스함으로써 패킷 유출 속도를 규제하는 알고리즘이다.
상기 리미팅 알고리즘은 과도한 전송 속도를 가지는 패킷을 폐기함으로써 플로우별 버퍼와 복잡한 스케줄링 없이 간단하게 구현 가능하다. 하지만, 자원 활용율은 저하되는 단점이 있다.
상기 쉐이핑 알고리즘은 패킷을 폐기하지 않을 수 있다는 장점이 있지만, 개별 플로우마다 패킷 전송 속도를 조절하여야 하기 때문에 플로우별 스케줄링 큐(queue)를 필요로 한다. 이에 따라 구현상 복잡도 문제와 패킷 처리에 소요되는 계산량이 많아지게 되는 단점이 있다.
따라서, 상기 리미팅 알고리즘과 쉐이핑 알고리즘에서 나타나는 문제점들을 해결할 수 있는 새로운 전송 속도 제한 알고리즘이 필요하다. 이러한 목적으로 많은 전송 속도 제한 알고리즘들이 제안되었지만, 종래의 알고리즘들은 전송 제어 프로토콜(TCP: Transmission Control Protocol) 트래픽 특성을 고려하지 않은 알고리즘들이다. 따라서, TCP 트래픽 특성을 고려한 새로운 전송 속도 제한 알고리즘이 필요하다.
한편, 종래의 알고리즘들은 서비스 클래스(class)를 구분하지 않았기 때문에 다수의 서비스 클래스 트래픽이 다중화 되는 경우, 상위 레벨의 서비스 클레스가 보호되지 못하는 경우가 발생할 수 있다. 따라서, 서비스 클래스 구분을 위해 각 서비스 클래스별로 전송 속도 제한을 개별적으로 수행할 수 있다. 하지만, 어느 하나의 서비스 클래스 트래픽이 대역폭을 사용하지 않더라도 다른 서비스 클래스에 해당하는 트래픽에 남는 대역폭을 사용할 수 없다는 문제점이 존재한다.
본 발명은 상기와 같은 문제점을 해결하기 위해 창안된 것으로, 본 발명은 통신 시스템에서 패킷 전송 속도 제한 장치 및 방법을 제안한다.
본 발명에서 제안하는 장치는; 통신 시스템에서 패킷 전송 속도 제한 장치에 있어서, 서비스하고자 하는 패킷에 대응되는 토큰 관리자를 결정하고, 상기 패킷이 목표로 하는 목표 전송 제한 속도에 상응하는 토큰을 생성하고, 사용 가능한 토큰의 양과 상기 서비스하고자 하는 패킷의 양을 고려하여 해당 패킷을 폐기하거나 혹은 서비스하는 스케줄러를 포함한다.
본 발명에서 제안하는 방법은; 통신 시스템에서 패킷 전송 속도 제한 방법에 있어서, 서비스하고자 하는 패킷에 대응되는 토큰 관리자를 결정하는 과정과, 상기 패킷이 목표로 하는 목표 전송 제한 속도에 상응하는 토큰을 생성하는 과정과, 사용 가능한 토큰의 양과 상기 발생되는 패킷의 양을 고려하여 해당 패킷을 폐기하거나 혹은 서비스하는 과정을 포함한다.
본 발명에서 제안하는 방법은; 통신 시스템에서 패킷 스케줄링 방법에 있어서, 서비스하고자 하는 패킷을 클래스별로 구분하는 과정과, 상기 패킷의 목표 전송 제한 속도에 상응하는 토큰을 생성하는 과정과, 사용 가능한 토큰의 양이 발생한 총 패킷의 양보다 이상이면, 각 클래스별로 서로 다르게 설정되어 있는 기준값 을 고려하여 각 클래스별 패킷을 폐기하거나 혹은 서비스하는 과정을 포함한다.
본 발명에서 제안하는 방법은; 통신 시스템에서 패킷 전송 속도 제한 방법에 있어서, 서비스하고자 하는 패킷을 클래스별로 구분하는 과정과, 상기 패킷의 목표 전송 제한 속도에 상응하는 토큰을 생성하는 과정과, 사용 가능한 토큰의 양이 발생한 총 패킷의 양보다 이상이면, 각 클래스별로 동일하게 설정되어 있는 기준값과, 각 클래스별로 서로 다르게 설정되어 있는 패킷 폐기 확률을 고려하여 각 클래스별 패킷을 폐기하거나 혹은 서비스하는 과정을 포함한다.
상술한 바와 같이, 본 발명은 통신 시스템에서 TCP 트래픽 특성을 고려하여 전송 속도를 제한하는 이점을 가진다. 따라서, 본 발명은 통신 시스템에서 자원 활용율을 증가시키면서도, 구현상 복잡도를 감소시킬 뿐만 아니라 패킷 처리에 소요되는 계산량 역시 감소시킨다는 이점을 가진다.
이하, 본 발명의 바람직한 실시예를 첨부된 도면을 참조하여 상세히 설명한다. 하기의 설명에서는 본 발명의 동작을 이해하는데 필요한 부분만을 설명하며 그 이외의 배경 기술은 본 발명의 요지를 흩트리지 않도록 생략한다.
본 발명은 통신 시스템에서 전송 제어 프로토콜(Transmission Control Protocol, 이하 'TCP'라 칭함) 트래픽(traffic) 특성과 서비스 클래스별 트래픽이 다양하게 존재하는 경우를 고려한 전송 속도 제한 장치 및 방법을 제공한다.
상기 TCP는 인터넷에서 사용되는 대표적인 프로토콜이다. 종래의 전송 속도 제한 알고리즘을 TCP 플로우(flow)에 적용하게 되면 다음과 같은 이유로 시스템 성능이 저하된다.
TCP 전송 노드가 전송한 패킷의 손실을 감지하면 패킷 전송 속도를 줄인다. 즉, 상기 TCP 전송 노드는 혼잡창(congestion window)의 크기를 이전 크기의 반으로 감소시키거나 1로 초기화 한다. 상기 TCP 전송 노드가 전송한 패킷에 대해 정상 수신 확인(ACK: ACKnowledgement)을 수신하면, 패킷 전송 속도를 증가시킨다. 즉, 매 ACK 수신시마다 혼잡창의 크기를 전송 패킷의 크기만큼 증가시킨다.
그러나, 상기 TCP 전송 노드와 TCP 수신 노드 사이에 위치한 TCP 중간 노드에서 패킷 드롭(drop)을 이용하여 전송 속도 제어를 수행하는 경우, 전송 속도가 일시적으로 미리 설정된 목표 전송 속도를 초과함에 따라 전송되어야 할 패킷이 연속적으로 다수개가 손실될 수 있다. 이렇게 되면, TCP 수신 노드는 일정 시간동안 패킷을 수신하지 못하게 된다. 따라서, TCP 전송 노드는 타임 아웃(time out) 상황이 발생하여 혼잡창의 크기를 1로 초기화 한다.
상술한 바와 같은 연속적인 패킷 손실이 발생할 때마다 패킷 전송을 할 수 없는 시간은 두배씩 증가하게 된다. 즉, 패킷 전송 속도 제한을 TCP 플로우에 적용할 경우, 패킷 전송 속도가 목표 전송 속도를 초과하였다가 목표 전송 속도에 현저히 못 미치는 경우가 반복되게 된다. 이는 통신망의 대역폭 사용 효율을 저하시키는 원인이 된다.
도 1은 본 발명에 따른 패킷 전송 속도 제한 장치의 구조를 도시한 도면이다.
도 1을 참조하면, 패킷 전송 속도 제한 장치는 발생한 패킷이 저장되는 패킷 큐(packet queue)(100)와, 토큰(token)이 쌓이는 토큰 버킷(bucket)(102)과, 토큰의 생성과 소멸을 관리하는 토큰 관리자(token manager)(104)와, 사용 가능한 토큰의 개수를 기준으로 패킷을 폐기(drop)하는 패킷 드로퍼(dropper)(106)를 포함한다.
상기 토큰은 패킷 전송 권한을 의미하며, 목표 전송 속도로 생성되고 패킷이 서비스 될 때마다 패킷의 크기만큼 그 수가 감소한다. 상기 토큰 버킷(102)의 크기는 유한하다. 만약 발생한 패킷을 서비스하고자 할 때, 상기 토큰 버킷(102)에 남아있는 토큰의 개수가 패킷의 크기보다 작으면 패킷을 서비스 하지 않고 사용 가능한 토큰이 발생할 때까지 서비스를 지연하거나 패킷을 폐기한다.
한편, 모든 패킷은 사용자에 관계없이 하나의 패킷 큐(100)에 저장된다. 반면에, 토큰 관리자(104)는 사용자 각각에 상응하게 존재한다. 즉, 토큰의 양과 토큰 버킷 파라미터들(예컨대, 토큰 버킷 최대 크기, 토큰 생성 속도, 기준값(threshold), 패킷 폐기 확률 등)은 각 사용자마다 관리되어야 한다.
도 2는 본 발명에 따른 전송 속도 제한 동작을 도시한 흐름도이다.
도 2를 참조하면, 202단계에서 전송 속도 제한 장치는 패킷 도착을 인지하고 204단계로 진행한다. 상기 204단계에서 상기 전송 속도 제한 장치는 패킷 큐에 패킷을 저장하고 206단계로 진행한다. 상기 206단계에서 상기 전송 속도 제한 장치는 패킷을 구분하고 208단계로 진행한다. 상기 208단계에서 상기 전송 속도 제한 장치는 구분한 패킷에 대응되는 토큰 관리자를 결정하고 210단계로 진행한다.
상기 210단계에서 상기 전송 속도 제한 장치는 목표 전송 속도에 상응하는 토큰을 생성하고 212단계로 진행한다. 상기 212단계에서 상기 전송 속도 제한 장치는 생성된 토큰 양과 발생한 패킷 양을 비교한다. 상기 토큰의 양이 서비스 하고자 하는 패킷의 크기보다 작은 경우 214단계로 진행하여 해당 패킷을 폐기 처분한다. 상기 토큰의 양이 서비스 하고자 하는 패킷의 크기보다 큰 경우 216단계로 진행한다.
상기 216단계에서 상기 전송 속도 제한 장치는 사용 가능한 토큰의 양과 미리 설정된 기준값을 비교한다. 여기서의 기준값은, 사용 가능한 토큰의 양이 처리하여야 할 패킷의 양보다는 많거나 같은 경우일지라도, 상기 사용 가능한 토큰의 양이 상기 기준값보다 적은 경우 본 발명에서 제안하는 패킷 폐기 처리 확률을 계산하기 위해 사용된다. 따라서, 상기 기준값의 단위는 토큰의 양의 단위와 동일하며, 패킷의 양보다는 큰 값을 가져야 한다. 즉, 본 발명에서는 상기 기준값과 상기 패킷 폐기 처리 확률을 고려하여 패킷을 서비스한다. 이와 관련하여서는 하기에서 보다 상세히 설명하기로 한다.
상기 사용 가능한 토큰의 양과 상기 기준값을 비교한 결과, 토큰의 양이 상기 기준값 미만인 경우 218단계로 진행하고, 반대의 경우에는 222단계로 진행한다. 상기 218단계에서 상기 전송 속도 제한 장치는 패킷의 폐기 처리 확률을 계산하고 220단계로 진행한다. 상기 220단계에서 상기 전송 속도 제한 장치는 폐기 조건을 만족하면 해당 패킷을 214단계에서 폐기 처리하고, 폐기 조건을 만족하지 않으면 해당 패킷을 222단계에서 해당 패킷을 서비스 한다.
상기 222단계에서 상기 전송 속도 제한 장치는 패킷을 처리하기에 충분한 양의 토큰이 존재함에 따라 222단계에서 해당 패킷을 서비스 하고 224단계로 진행한다. 상기 224단계에서 상기 전송 속도 제한 장치는 는 서비스 된 패킷 양만큼 토큰 양을 감소시킨다.
그러면, 토큰 관리 방안과 패킷 폐기 방안에 대해 설명하기로 한다.
< 토큰 관리 방안 >
토큰의 생성 속도는 목표 전송 속도와 동일하며, 패킷이 서비스 될 때마다 패킷 크기만큼 감소한다. 또한, 토큰 버킷의 크기가 제한되어 있기 때문에 사용 가능한 토큰의 최대값은 버킷의 크기로 제한된다. 이상의 내용을 하기와 같이 나타낼 수 있다.
On every packet arrival
/* calculate inter-arrival time of two consecutive packets */
inter_arrival_time=current_time;
previous_packet_arrival_time;
/* generate token at the rate of target rate */
token=max(bucket depth, token+inter_arrival_time*target_rate);
previous_packet_arrival_time=current_time;
on every packet service
/* decrease token by amount of packet size */
token=token-packet_size;
< 패킷 폐기 방안 >
본 발명에서 제안하는 전송 속도 제한 알고리즘, 즉 토큰 버킷 알고리즘이 종래의 토큰 버킷 알고리즘과 비교해서 다른 점은 다음과 같다.
(1) 패킷 폐기를 결정하는데 사용되는 기준값이 2개이다. 즉, 도 2의 212단계에서 패킷 큐에 도착한 패킷의 크기와 214단계에서의 기준값이 패킷 폐기를 결정하는데 사용되는 기준값들이 된다.
(2) 사용 가능한 토큰의 양에 따라 확률적으로 패킷을 폐기한다. 즉, 종래의 토큰 버킷을 이용한 전송 속도 제한 알고리즘에서는 사용 가능한 토큰의 양(b(t))이 서비스 하고자 하는 패킷의 크기 (L)보다 큰 경우 패킷을 서비스 하고, 그렇지 않은 경우에는 패킷을 폐기 처리하는 경우로만 구분하였다. 이에 따라, 종래에는 순간적으로 연속적으로 여러 개의 패킷들이 손실될 수 있으며, 이는 패킷 처리율을 심각하게 저하시키는 원인이 된다.
그러나, 본 발명에서는 사용 가능한 토큰의 양(b(t))이 서비스 하고자 하는 패킷의 크기 (L) 이상이더라도, 상기 b(t)가 기준값(B_th)보다 작은 경우 1보다 작은 일정한 확률값 p_o로 패킷을 폐기한다는 점에서 종래와 차별화 된다.
그러면, 일정한 확률값 p_o를 이용하여 패킷을 폐기하는 방법은 다음과 같다.
먼저, 0과 1사이의 값을 가지는 임의의 난수(random number)를 발생시킨다. 그 값이 패킷 폐기 확률 p_o보다 작으면 패킷을 폐기하고, p_o 이상이면 패킷을 서비스한다. 혹은 패킷이 발생하였을 때 사용 가능한 토큰의 양 b(t)가 서비스 하고자 하는 패킷의 크기 (L)은 초과하고, 기준값(B_th)보다는 미만인 경우(즉, L<b(t)<B_th)에 카운터 값을 1씩 증가시킨다. 이후 카운터 값이 1/p_o가 되는 경우 패킷을 폐기한다. 패킷을 폐기한 후 카운터 값은 0으로 초기화 한다. 즉, 매 1/p_o 패킷마다 패킷을 폐기한다.
도 3은 본 발명에 따른 사용 가능한 토큰의 양 b(t)에 따른 패킷 폐기 확률 p(t) 관계를 도시한 그래프이다.
도 3에 도시한 바와 같이, L < b(t) < B_th인 경우, p(t)=p_o의 고정값으로 패킷 폐기 확률을 얻는다. p(t)는 b(t)와 반비례 관계를 가지며, b(t)=B_th인 경우 p(t)=0이 되도록 설정한다.
p_o는 TCP 플로우의 전송 속도에 관한 식과 패킷 폐기 확률값과의 관계로부터 얻을 수 있다. 수학적 분석에 의하면, p_o 값은 전송 속도가 높아질수록, 라운드 트림 시간(RTT: Round Trim Time)이 커질수록 작은 값을 가지게 된다. 또한, p_o는 매 패킷이 발생할 때마다 변경되는 것이 아니라 사업자가 전송 제한 속도를 설정할 때 TCP 플로우의 RTT를 고려하여 고정된 값으로 설정된다.
이상의 내용에서는 TCP 트래픽 특성을 고려한 전송 속도 제한 알고리즘에 대해 설명하였다. 이하에서는 클래스별 패킷 폐기 방안에 대해 설명하기로 한다.
도 4는 본 발명에 따른 패킷의 클래스를 고려한 전송 속도 제한 동작을 도시한 흐름도이다.
도 4를 참조하면, 402단계에서 전송 속도 제한 장치는 패킷이 패킷 큐에 도착하면 목표 제한 속도에 상응하는 양만큼의 토큰을 생성하고 404단계로 진행한다. 상기 404단계에서 사용 가능한 토큰의 양이 도착한 패킷의 양보다 미만이면, 406단계에서 상기 전송 속도 제한 장치는 패킷을 폐기 처리한다. 그렇지 않고, 사용 가능한 토큰의 양이 도착한 패킷의 양보다 이상인 경우, 408단계에서 상기 전송 속도 제한 장치는 패킷의 클래스를 고려한 패킷 폐기 함수p(b, K)의 확률로 패킷을 폐기하고, 폐기되지 않은 패킷의 크기만큼 토큰량을 감소시킨 후 패킷을 서비스 한다. 상기 패킷 폐기 함수에서 b는 토큰 버킷에 남아있는 사용 가능한 토큰량을, K는 패킷 클래스를 의미한다.
즉, 본 발명에서는 패킷 폐기 기준이 되는 토큰의 기준값과 패킷 폐기 확률이 클래스에 따라 다르다. 이와 비교하여, 종래의 전송 속도 제한 알고리즘에서는 클래스 구분없이 공통의 기준값과 공통의 폐기 확률을 사용한다.
사용 가능한 토큰의 양(b)에 따른 클래스(K)에 상응하는 패킷에 대한 패킷 폐기 확률 p(b, K)를 그래프로 도시한 것이 도 5이다. 도 5에서는 K+1에 해당하는 패킷이 K에 해당하는 패킷보다 상위 클래스임을 가정한다.
도 5a는 패킷 클래스별로 기준값을 다르게 설정하여 패킷 폐기 확률을 나타낸 그래프이다. 즉, 패킷 폐기 확률은 계단식 함수로 설정되고, 상위 클래스에 해당하는 패킷의 기준값(즉, T(K+1))이 하위 클래스에 해당하는 패킷의 기준값(즉, T(K))보다 작은 값을 가진다.
이를 생성된 토큰량을 참조하여 다시 설명하면, T(K+1) 미만에 해당하는 토 큰이 생성된 경우, K+1에 해당하는 패킷은 P 확률만큼 폐기되고, K에 해당하는 패킷은 1의 확률로 폐기된다. T(K+1)에 해당하는 토큰이 생성된 경우, K+1에 해당하는 패킷은 폐기되지 않고, K에 해당하는 패킷은 1의 확률로 폐기된다. T(K+1) 초과 T(K) 미만의 토큰이 생성된 경우, K+1에 해당하는 패킷은 폐기되지 않고, K에 해당하는 패킷은 P 확률로 폐기되거나, 1 확률로 폐기된다.
도 5b는 클래스별로 패킷 폐기 확률을 다르게 설정한 경우 패킷 폐기 확률을 나타낸 그래프이다. 즉, 각 클래스별로 기준값은 동일하지만 상위 클래스에 해당하는 패킷의 폐기 확률이 하위 클래스에 해당하는 패킷의 폐기 확률에 비해 작은 값을 가진다. 이에 따라, 상위 클래스에 해당하는 패킷이 하위 클래스에 해당하는 패킷에 비해 서비스 될 확률이 높게 된다.
도 5c는 임의의 함수 형태로 클래스별 패킷 폐기 확률과 기준값을 다르게 설정한 경우를 도시한 그래프이다.
상술한 바와 같이, 본 발명에서 제안하는 전송 속도 제한 알고리즘은 전체 속도를 설정한 목표 속도로 제한함과 동시에 상위 클래스에 해당하는 패킷을 서비스 할 수 있는 확률을 높일 수 있다. 이러한 알고리즘은 집선 장치 또는 기지국 장치에서 서비스 클래스 구분을 지원하면서 입력 포트별 속도 제한이 필요한 경우에 적용할 수 있다.
도 6은 본 발명에 따른 알고리즘을 적용하여 클래스별 처리율 결과를 도시한 그래프이다. 이 실험 환경에서 전송 속도 제한 값은 1Mbps이다.
도 6a는 상위 클래스 및 하위 클래스 모두 전송 속도 제한이 없고, 최대 속 도로 보내려고 하는 특성을 가진 TCP 패킷의 경우를 가정한다. 상위 클래스가 하위 클래스에 비해 더 높은 처리율(throughput)을 나타낸다. 즉, 상위 클래스 처리율은 약 750kbps를, 하위 클래스 처리율은 약 250kbps를 가진다.
도 6b는 상위 클래스는 600 Kbps의 고정 속도로 입력되는 UDP(User Datagram Protocol)이고, 하위 클래스는 TCP인 경우 상위 클래스에 해당하는 패킷이 서비스 되는 것이 보장된다.
본 발명의 상세한 설명에서는 구체적인 실시예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시예에 국한되지 않으며, 후술되는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.
도 1은 본 발명에 따른 전송 속도 제한 장치 구조를 도시한 도면
도 2는 본 발명에 따른 전송 속도 제한 알고리즘 동작을 도시한 흐름도
도 3은 본 발명에 따른 사용 가능한 토큰의 양 b(t)에 따른 패킷 폐기 확률 p(t) 관계를 도시한 그래프
도 4는 본 발명에 따른 패킷의 클래스를 고려한 전송 속도 제한 동작을 도시한 흐름도
도 5는 사용 가능한 토큰의 양 b(t)에 따른 클래스(K)에 상응하는 패킷에 대한 패킷 폐기 확률 p(b, K)을 도시한 그래프
도 6은 본 발명에 따른 알고리즘을 적용하여 클래스별 처리율 결과를 도시한 그래프

Claims (17)

  1. 통신 시스템에서 패킷 전송 속도 제한 방법에 있어서,
    서비스하고자 하는 패킷에 대응되는 토큰 관리자를 결정하는 과정과,
    상기 패킷이 목표로 하는 목표 전송 제한 속도에 상응하는 토큰을 생성하는 과정과,
    사용 가능한 토큰의 양과 상기 발생되는 패킷의 양을 고려하여 해당 패킷을 폐기하거나 혹은 서비스하는 과정을 포함하는 통신 시스템에서 패킷 전송 속도 제한 방법.
  2. 제1항에 있어서,
    상기 사용 가능한 토큰의 양과 상기 발생되는 패킷의 양을 고려하여 해당 패킷을 폐기하거나 혹은 서비스하는 과정은;
    상기 사용 가능한 토큰의 양이 상기 발생되는 패킷의 양 미만인 경우 해당 패킷을 폐기하는 과정을 포함하는 통신 시스템에서 패킷 전송 속도 제한 방법.
  3. 제1항에 있어서,
    상기 사용 가능한 토큰의 양과 상기 발생되는 패킷의 양을 고려하여 해당 패 킷을 폐기하거나 혹은 서비스하는 과정은;
    상기 사용 가능한 토큰의 양이 상기 발생되는 패킷의 양 이상인 경우, 상기 사용 가능한 토큰의 양과 기준값을 비교하는 과정과,
    상기 사용 가능한 토큰의 양과 기준값 비교 결과에 상응하게 해당 패킷을 폐기하거나 혹은 서비스하는 과정을 포함하는 통신 시스템에서 패킷 전송 속도 제한 방법.
  4. 제3항에 있어서,
    상기 사용 가능한 토큰의 양과 기준값 비교 결과에 상응하게 해당 패킷을 폐기하거나 혹은 서비스하는 과정은;
    상기 사용 가능한 토큰의 양이 상기 기준값 미만인 경우 패킷 폐기 처리 확률을 계산하는 과정과,
    상기 패킷 폐기 처리 확률이 폐기 조건을 만족할 경우 해당 패킷을 폐기하고, 상기 패킷 폐기 처리 확률이 폐기 조건을 만족하지 않을 경우 해당 패킷을 서비스하는 과정을 포함하는 통신 시스템에서 패킷 전송 속도 제한 방법.
  5. 제3항에 있어서,
    상기 사용 가능한 토큰의 양과 기준값 비교 결과에 상응하게 해당 패킷을 폐 기하거나 혹은 서비스하는 과정은;
    상기 사용 가능한 토큰의 양이 상기 기준값 이상일 경우 해당 패킷을 서비스하는 과정과,
    상기 서비스한 패킷의 양에 상응하게 상기 토큰의 양을 감소시키는 과정을 포함하는 통신 시스템에서 패킷 전송 속도 제한 방법.
  6. 통신 시스템에서 패킷 전송 속도 제한 장치에 있어서,
    서비스하고자 하는 패킷에 대응되는 토큰 관리자를 결정하고, 상기 패킷이 목표로 하는 목표 전송 제한 속도에 상응하는 토큰을 생성하고, 사용 가능한 토큰의 양과 상기 서비스하고자 하는 패킷의 양을 고려하여 해당 패킷을 폐기하거나 혹은 서비스하는 스케줄러를 포함하는 통신 시스템에서 패킷 전송 속도 제한 장치.
  7. 제6항에 있어서,
    상기 스케줄러는;
    상기 사용 가능한 토큰의 양이 상기 발생되는 패킷의 양 미만인 경우 해당 패킷을 폐기함을 특징으로 하는 통신 시스템에서 패킷 전송 속도 제한 장치.
  8. 제6항에 있어서,
    상기 스케줄러는;
    상기 사용 가능한 토큰의 양이 상기 발생되는 패킷의 양 이상인 경우, 사용 가능한 토큰의 양과 기준값을 비교하고, 상기 사용 가능한 토큰의 양과 기준값 비교 결과에 상응하게 해당 패킷을 폐기하거나 혹은 서비스함을 특징으로 하는 통신 시스템에서 패킷 전송 속도 제한 장치.
  9. 제8항에 있어서,
    상기 스케줄러는;
    상기 사용 가능한 토큰의 양이 상기 기준값 미만인 경우 패킷 폐기 처리 확률을 계산하고, 상기 패킷 폐기 처리 확률이 폐기 조건을 만족할 경우 해당 패킷을 폐기하고, 상기 패킷 폐기 처리 확률이 폐기 조건을 만족하지 않을 경우 해당 패킷을 서비스함을 특징으로 하는 통신 시스템에서 패킷 전송 속도 제한 장치.
  10. 제8항에 있어서,
    상기 스케줄러는;
    상기 사용 가능한 토큰의 양이 상기 기준값 이상일 경우 해당 패킷을 서비스하고, 상기 서비스한 패킷의 양에 상응하게 상기 토큰의 양을 감소시킴을 특징으로 하는 통신 시스템에서 패킷 전송 속도 제한 장치.
  11. 통신 시스템에서 패킷 스케줄링 방법에 있어서,
    서비스하고자 하는 패킷을 클래스별로 구분하는 과정과,
    상기 패킷의 목표 전송 제한 속도에 상응하는 토큰을 생성하는 과정과,
    사용 가능한 토큰의 양이 발생한 총 패킷의 양보다 이상이면, 각 클래스별로 서로 다르게 설정되어 있는 기준값을 고려하여 각 클래스별 패킷을 폐기하거나 혹은 서비스하는 과정을 포함하는 통신 시스템에서 패킷 전송 속도 제한 방법.
  12. 제11항에 있어서,
    사용 가능한 토큰의 양이 발생한 패킷의 양보다 미만이면, 클래스에 구분없이 해당 패킷을 폐기하는 과정을 더 포함하는 통신 시스템에서 패킷 전송 속도 제한 방법.
  13. 제11항에 있어서,
    각 클래스별로 서로 다르게 설정되어 있는 기준값을 고려한 패킷 폐기 혹은 서비스하는 과정은;
    상위 클래스에 해당하는 패킷을 기준값을 하위 클래스에 해당하는 패킷의 기준값보다 작게 설정하는 과정과,
    사용 가능한 토큰의 양이 상기 상위 클래스에 해당하는 패킷의 기준값 미만인 경우, 상기 하위 클래스에 해당하는 패킷의 폐기 확률보다 낮은 상기 상위 클래스에 해당하는 패킷의 폐기 확률을 고려하여 패킷을 폐기하거나 혹은 서비스하는 과정을 포함하는 통신 시스템에서 패킷 전송 속도 제한 방법.
  14. 제13항에 있어서,
    사용 가능한 토큰의 양이 상기 상위 클래스에 해당하는 패킷의 기준값 이상이고 상기 하위 클래스에 해당하는 패킷의 기준값 미만인 경우,
    상기 상위 클래스에 해당하는 패킷은 패킷 폐기 확률 제로에 따라 패킷을 서비스하고, 상기 하위 클래스에 해당하는 패킷은 미리 설정된 패킷 폐기 확률을 고려하여 패킷을 폐기하거나 혹은 서비스하는 과정을 포함하는 통신 시스템에서 패킷 전송 속도 제한 방법.
  15. 제14항에 있어서,
    상기 미리 설정된 패킷 폐기 확률은 0보다는 크고 1보다는 작거나 같은 값을 가짐을 특징으로 하는 통신 시스템에서 패킷 전송 속도 제한 방법.
  16. 제13항에 있어서,
    사용 가능한 토큰의 양이 상기 하위 클래스에 해당하는 패킷의 기준값 이상인 경우,
    상기 상위 클래스에 해당하는 패킷 및 상기 하위 클래스에 해당하는 패킷을 모두 서비스하는 과정을 포함하는 통신 시스템에서 패킷 전송 속도 제한 방법.
  17. 통신 시스템에서 패킷 전송 속도 제한 방법에 있어서,
    서비스하고자 하는 패킷을 클래스별로 구분하는 과정과,
    상기 패킷의 목표 전송 제한 속도에 상응하는 토큰을 생성하는 과정과,
    사용 가능한 토큰의 양이 발생한 총 패킷의 양보다 이상이면, 각 클래스별로 동일하게 설정되어 있는 기준값과, 각 클래스별로 서로 다르게 설정되어 있는 패킷 폐기 확률을 고려하여 각 클래스별 패킷을 폐기하거나 혹은 서비스하는 과정을 포함하는 통신 시스템에서 패킷 전송 속도 제한 방법.
KR1020070068163A 2007-07-06 2007-07-06 통신 시스템에서 패킷 전송 속도 제한 장치 및 방법 KR101075724B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020070068163A KR101075724B1 (ko) 2007-07-06 2007-07-06 통신 시스템에서 패킷 전송 속도 제한 장치 및 방법
US12/168,390 US20090010165A1 (en) 2007-07-06 2008-07-07 Apparatus and method for limiting packet transmission rate in communication system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070068163A KR101075724B1 (ko) 2007-07-06 2007-07-06 통신 시스템에서 패킷 전송 속도 제한 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20090004166A true KR20090004166A (ko) 2009-01-12
KR101075724B1 KR101075724B1 (ko) 2011-10-21

Family

ID=40221335

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070068163A KR101075724B1 (ko) 2007-07-06 2007-07-06 통신 시스템에서 패킷 전송 속도 제한 장치 및 방법

Country Status (2)

Country Link
US (1) US20090010165A1 (ko)
KR (1) KR101075724B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114374652A (zh) * 2022-01-11 2022-04-19 同方有云(北京)科技有限公司 热磁存储和蓝光存储之间的数据传输限速方法及装置

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8411573B2 (en) * 2009-02-25 2013-04-02 Eden Rock Communications, Llc Systems and methods for hybrid rate-limiting schemes based on protocol data unit characteristics
JP5445271B2 (ja) * 2010-03-30 2014-03-19 富士通株式会社 帯域制御装置,帯域制御方法,及びプログラム
US8572699B2 (en) * 2010-11-18 2013-10-29 Microsoft Corporation Hardware-based credential distribution
US20120127864A1 (en) * 2010-11-22 2012-05-24 Avaya Inc. Performing policing operations in packet time
US9270556B2 (en) * 2011-07-28 2016-02-23 Hewlett Packard Development Company, L.P. Flow control in packet processing systems
JP6248638B2 (ja) * 2014-01-06 2017-12-20 富士通株式会社 通信端末、プログラム、及び通信方法
US9537777B1 (en) * 2015-03-30 2017-01-03 EMC IP Holding Company LLC Adjusting input/output operation arrival times to represent a token bucket that enforces maximum rate and burst size limits
US10069744B2 (en) * 2015-07-14 2018-09-04 Alcatel Lucent Method and apparatus for managing network congestion
JP2017041808A (ja) * 2015-08-20 2017-02-23 富士通株式会社 通信装置、ネットワーク管理装置、及びネットワークシステム
JP6589497B2 (ja) * 2015-09-17 2019-10-16 日本電気株式会社 帯域制御装置、帯域制御方法及びプログラム
US10089145B1 (en) * 2015-12-28 2018-10-02 Amazon Technologies, Inc. Approximating sequential workloads on resource constrained systems
US11159455B1 (en) 2018-12-28 2021-10-26 Innovium, Inc. Reducing power consumption in an electronic device
CN112995059B (zh) * 2019-12-12 2024-06-28 阿里巴巴集团控股有限公司 流量控制方法、装置、终端设备及计算机存储介质
US11304095B2 (en) 2020-08-11 2022-04-12 Verizon Patent And Licensing Inc. Systems and methods for pacing data transmission for a wireless network
CN114064293B (zh) * 2021-11-26 2022-10-04 江苏安超云软件有限公司 一种基于轮询的无锁限速方法、装置及存储介质
CN114745682B (zh) * 2022-02-28 2023-08-18 联想(北京)有限公司 一种处理方法以及控制面网元

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5311513A (en) * 1992-09-10 1994-05-10 International Business Machines Corp. Rate-based congestion control in packet communications networks
SE514313C2 (sv) * 1999-04-07 2001-02-12 Telia Ab Förbättringar av, eller med avseende på, datapaketförmedling
US6798746B1 (en) * 1999-12-18 2004-09-28 Cisco Technology, Inc. Method and apparatus for implementing a quality of service policy in a data communications network
JP4879382B2 (ja) * 2000-03-22 2012-02-22 富士通株式会社 パケットスイッチ、スケジューリング装置、廃棄制御回路、マルチキャスト制御回路、およびQoS制御装置
US6748435B1 (en) * 2000-04-28 2004-06-08 Matsushita Electric Industrial Co., Ltd. Random early demotion and promotion marker
US6829649B1 (en) * 2000-11-10 2004-12-07 International Business Machines Corporation Method an congestion control system to allocate bandwidth of a link to dataflows
US7002980B1 (en) * 2000-12-19 2006-02-21 Chiaro Networks, Ltd. System and method for router queue and congestion management
US6914883B2 (en) * 2000-12-28 2005-07-05 Alcatel QoS monitoring system and method for a high-speed DiffServ-capable network element
US7042848B2 (en) * 2001-05-04 2006-05-09 Slt Logic Llc System and method for hierarchical policing of flows and subflows of a data stream
US7088678B1 (en) * 2001-08-27 2006-08-08 3Com Corporation System and method for traffic shaping based on generalized congestion and flow control
JP4032231B2 (ja) * 2001-08-31 2008-01-16 日本電気株式会社 データ伝送方法
KR20040000336A (ko) * 2002-06-24 2004-01-03 마츠시타 덴끼 산교 가부시키가이샤 패킷 전송 장치와 그 방법, 트래픽 컨디셔너, 우선 제어기구 및 패킷 셰이퍼
US20040151184A1 (en) * 2002-12-13 2004-08-05 Zarlink Semiconductor V.N. Inc. Class-based rate control using multi-threshold leaky bucket
US20040125796A1 (en) * 2002-12-30 2004-07-01 Reader Scot A. N rate, N‘precedence meter/marker
US7349342B2 (en) * 2003-03-17 2008-03-25 International Business Machines Corporation Traffic metering in data networks
US7289447B2 (en) * 2003-10-21 2007-10-30 Comcast Cable Holdings, Llc Method and packet-level device for traffic regulation in a data network
KR100608904B1 (ko) * 2003-12-18 2006-08-04 한국전자통신연구원 서비스 품질 보장을 위한 시스템 및 방법
US7602720B2 (en) * 2004-10-22 2009-10-13 Cisco Technology, Inc. Active queue management methods and devices
US20070070907A1 (en) * 2005-09-29 2007-03-29 Alok Kumar Method and apparatus to implement a very efficient random early detection algorithm in the forwarding path
KR100688421B1 (ko) * 2005-11-02 2007-03-02 주식회사 인티게이트 패킷-스위치된 통신 네트워크에서의 출구 속도 제어 장치및 제어 방법
US7809009B2 (en) * 2006-02-21 2010-10-05 Cisco Technology, Inc. Pipelined packet switching and queuing architecture
US7817556B2 (en) * 2006-04-20 2010-10-19 Cisco Technology, Inc. Modification of policing methods to make them more TCP-friendly

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114374652A (zh) * 2022-01-11 2022-04-19 同方有云(北京)科技有限公司 热磁存储和蓝光存储之间的数据传输限速方法及装置
CN114374652B (zh) * 2022-01-11 2024-01-16 同方有云(北京)科技有限公司 热磁存储和蓝光存储之间的数据传输限速方法及装置

Also Published As

Publication number Publication date
US20090010165A1 (en) 2009-01-08
KR101075724B1 (ko) 2011-10-21

Similar Documents

Publication Publication Date Title
KR101075724B1 (ko) 통신 시스템에서 패킷 전송 속도 제한 장치 및 방법
US8665892B2 (en) Method and system for adaptive queue and buffer control based on monitoring in a packet network switch
US10218620B2 (en) Methods and nodes for congestion control
US7616573B2 (en) Fair WRED for TCP UDP traffic mix
US6788697B1 (en) Buffer management scheme employing dynamic thresholds
CA2227244C (en) A method for supporting per-connection queuing for feedback-controlled traffic
KR100656509B1 (ko) 비디오 서비스 대역폭 보장을 위한 패킷 체증제어 방법
US8443444B2 (en) Mitigating low-rate denial-of-service attacks in packet-switched networks
Ahammed et al. Anakyzing the performance of active queue management algorithms
US20030223368A1 (en) Retro flow control for arriving traffic in computer networks
US20180359185A1 (en) System and method for a tcp mapper
CN109428830B (zh) 一种动态调整onu设备端口限速阀值的装置及方法
US7142507B1 (en) Traffic monitoring equipment and system and method for datagram transfer
CN1297098C (zh) 一种***流量控制方法
WO2020026983A1 (ja) パケット転送装置、方法、及びプログラム
US9331853B2 (en) Method and apparatus for increasing the output of a cryptographic system
Aweya et al. Multi-level active queue management with dynamic thresholds
Mohammed et al. Active queue management for congestion control: Performance evaluation, new approach, and comparative study
CN111385667A (zh) 视频数据处理方法、装置和计算机可读存储介质
Irawan et al. Performance evaluation of queue algorithms for video-on-demand application
CN113242606B (zh) 一种低延迟的数据传输方法和装置
Hegde et al. Service differentiation and guarantees for TCP-based elastic traffic
Mohammed et al. Effects of Dynamic Scheduling of Internet Traffics on Multimedia Application Performance
John et al. A Quality of Service Based Queueing Policy Ensuring Fairness to Real-Time Data Transfers in Internet
Banchsab et al. Core Stateless Fair Bandwidth Allocation for Unicast and Multicast Flows1

Legal Events

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

Payment date: 20140929

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150925

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160929

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170927

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20180921

Year of fee payment: 8