KR101421240B1 - 라우터 및 그 라우터에서 큐 처리방법 - Google Patents

라우터 및 그 라우터에서 큐 처리방법 Download PDF

Info

Publication number
KR101421240B1
KR101421240B1 KR1020070021078A KR20070021078A KR101421240B1 KR 101421240 B1 KR101421240 B1 KR 101421240B1 KR 1020070021078 A KR1020070021078 A KR 1020070021078A KR 20070021078 A KR20070021078 A KR 20070021078A KR 101421240 B1 KR101421240 B1 KR 101421240B1
Authority
KR
South Korea
Prior art keywords
queue size
threshold
cache
received
packet
Prior art date
Application number
KR1020070021078A
Other languages
English (en)
Other versions
KR20080080836A (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 KR1020070021078A priority Critical patent/KR101421240B1/ko
Priority to US12/074,067 priority patent/US8339950B2/en
Publication of KR20080080836A publication Critical patent/KR20080080836A/ko
Application granted granted Critical
Publication of KR101421240B1 publication Critical patent/KR101421240B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/56Routing software
    • 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/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • H04L47/326Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames with random discard, e.g. random early discard [RED]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9063Intermediate storage in different physical parts of a node or terminal
    • H04L49/9078Intermediate storage in different physical parts of a node or terminal using an external memory or storage device

Abstract

본 발명은 라우터 및 그 라우터의 큐 처리방법은, 수신된 큐의 크기가 상승 임계값을 넘어서거나, 큐의 크기가 상승 임계값을 넘어선 후에 하강 임계값 이하로 떨어지는 것을 기준으로 하여 캐시 업데이트 및 큐 처리를 수행함으로써, 두 개의 캐시를 이용하여 플로우 정보의 업데이트를 위한 오버헤드를 해결하고, 두 개의 캐시를 이용한 RED(Random Early Drop) 큐 관리를 통해서 패킷 플로우간 불공평성을 해결하기 위한 것이다.

Description

라우터 및 그 라우터에서 큐 처리방법{A ROUTER AND QUEUE PROCESS METHOD THEREOF}
도 1은 인터넷에서 트래픽의 불공평성 현상을 나타낸 도면.
도 2는 본 발명에 다른 라우터의 구성을 나타낸 도면.
도 3은 본 발명에 따른 라우터의 캐시 업데이트 방법에 대한 플로차트를 나타낸 도면.
도 4는 본 발명에 따른 라우터의 큐 처리방법에 대한 플로차트를 나타낸 도면.
도 5a 및 도 5b는 패킷 폐기 확률(packet drop probability)을 나타낸 도면.
도 6은 본 발명에 따른 라우터의 캐시 업데이트 및 큐 처리방법에 대한 Pseudo Code를 예시한 도면.
<도면의 주요 부분에 대한 부호의 설명>
20 : 큐 21 : 패킷 처리부
22 : 캐시 23 : 제1캐시
23 : 제2캐시
본 발명은 라우터 및 그 라우터에서 큐 처리방법에 관한 것이다.
일반적으로 인터넷(Internet)에는 다양한 크기, 전송속도 및 전송방법 등이 다른 트래픽(traffic)들이 흐르고 있다. 이러한 인터넷 속에서 흐르는 트래픽들 간의 불공평성을 최소화하기 이해서 큐 관리(queue management) 및 스케줄링(scheduling) 기법이 사용되고 있다.
예를 들어 FIFO(First Input First Output)나 RED(Random Early Drop) 큐 관리를 사용하는 경우에 많은 데이터를 생성하는 트래픽에 보다 많은 대역폭(bandwidth)이 할당된다.
도 1은 인터넷에서 트래픽의 불공평성 현상을 나타낸 도면이다.
도 1에 도시된 바와 같이, 과중 사용자(Heavy User) 단말(10)에서 생성된 UDP 패킷으로 인해서 라우터(12)의 큐(13)가 차지된 상태를 나타낸다.
이러한 상태에서 과중 사용자(Heavy User) 단말(10)에서 생성된 패킷 및 정당 사용자(Light User) 단말(11)에서 생성된 패킷은 모두 폐기(drop)된다.
지속적으로 이러한 현상이 발생되면 과중 사용자(Heavy User) 단말(10)에서 대부분의 대역폭(bandwidth)을 차지하게 되는 불공평성을 야기하게 된다.
이러한 문제점을 보완하기 위한 큐 관리 및 스케줄링 기법들이 제안되고 있다.
그 중의 한 예가 드롭 테일 큐 관리(Drop Tail queue management) 기반의 선입선출 스케줄링(FIFO scheduling)이 있다. 이러한 선입선출 스케줄링은 간단한 패킷 포워딩(packet forwarding) 처리의 오버헤드(overhead)를 최소화하면서 또한 구현이 용이하다는 장점을 가지고 있다.
그러나, 이와 같은 드롭 테일 방식의 선입선출 스케줄링은 최대 노력 서비스(best effort service)만 지원할 뿐이다.
즉, 이 방식의 경우 글로벌 동기화(global synchronization)와 같은 현상이 나타날 수 있으며, 많은 트래픽을 생성하는 몇몇 플로우(flow)들에 의해서 라우터의 버퍼들이 잠식되는 구조적 취약점을 가지고 있다.
이를 개선하기 위한 큐 알고리즘으로 RED(Random Early Drop)가 있다. RED는 구현이 용이하고 드롭 테일 큐 관리 방식이 가지고 있는 문제점인 글로벌 동기화(global synchronization)를 해소할 수 있어서 널리 사용되고 있다.
RED는 큐에 패킷이 쌓임에 따라 모든 트래픽에 높은 폐기 확률(drop probability)를 적용한다. 이러한 상황에서는 보다 많은 트래픽을 생성하는 플로우(flow)에게 보다 많은 대역폭(bandwidth)이 할당되어서 결국에 불공평성이 야기된다.
따라서, 본 발명은 상기와 같은 문제점을 해결하기 위한 것으로, 두 개의 캐시를 이용하여 플로우 정보의 업데이트를 위한 오버헤드를 해결하고, 두 개의 캐시를 이용한 RED 큐 관리를 통해서 패킷 플로우간 불공평성을 해결한 라우터 및 그 라우터의 큐 처리방법을 제공함에 있다.
상기 목적을 달성하기 위한 본 발명의 일 측면에 따른 라우터는, 수신되는 패킷들의 플로우 정보들을 저장한 제1캐시; 수신된 패킷의 큐 크기가 상승 임계값을 넘어서거나, 상기 큐 크기가 상승 임계값을 초과하는 경우 수신된 패킷들의 플로우 정보들을 저장한 제2캐시; 및 수신된 패킷의 큐 크기가 상승 임계값을 넘어서거나, 상기 큐 크기가 상승 임계값을 넘어선 후에 하강 임계값 이하로 떨어지지 않은 상태에서 수신된 패킷의 플로우 정보가 제2캐시에 저장되어 있으면 수신된 패킷을 폐기하는 패킷 처리부를 포함할 수 있다.
상기 플로우는, 수신된 패킷에 포함된 IP 주소, 포트 넘버와 상기 IP 주소 및 포트번호를 가진 패킷이 상기 라우터에 수신된 횟수를 나타낸 히트 카운트를 포함한다.
상기 패킷 처리부는, 상기 큐 크기가 상승 임계값을 초과하는 경우나, 큐 크기가 상승 임계값보다 작고 하강 임계값보다 큰 상태에서 제2캐시의 용량이 풀(full)이 아니면, 큐 크기가 상승 임계값(rising threshold)을 넘어서거나, 큐 크기가 상승 임계값보다 작고 하강 임계값(falling threshold)보다 큰 상태에서 수신되는 패킷의 플로우 정보를 제2캐시에 저장한다.
상기 패킷 처리부는, 상기 큐 크기가 상승 임계값을 넘어서거나, 큐 크기가 상승 임계값보다 작고 하강 임계값보다 큰 상태에서 제2캐시의 용량이 풀(full)이면, 큐 크기가 상승 임계값을 넘어서거나, 큐 크기가 상승 임계값을 넘어선 후에 하강 임계값으로 떨어지지 않은 상태에서 수신되는 패킷의 히트 수보다 낮은 플로우 정보를 제2캐시에서 삭제한다.
상기 패킷 처리부는, 수신된 패킷의 큐 크기가 상승 임계값을 넘어서거나, 상기 큐 크기가 상승 임계값보다 작고 하강 임계값보다 큰 상태에서 수신된 패킷의 플로우 정보가 제2캐시에 저장되어 있지 않으면, 수신되는 패킷을 폐기한다.
상기 패킷 처리부는, 수신된 패킷의 큐 크기가 상승 임계값을 초과하지 않거나, 큐 크기가 상승 임계값보다 작고 하강 임계값 보다 작은 경우, 제2캐시를 클리어(clear)한 후에 드롭 테일 큐 관리(Drop-tail queue management)를 통해서 패킷의 플로우를 제한한다.
한편, 본 발명에 따른 다른 측면에 따르면, 수신된 패킷들에 대한 플로우 정보를 저장한 제1캐시 및 큐 크기가 상승 임계값을 넘어서거나, 큐 크기가 상승 임계값보다 작고 하강 임계값을 초과한 상태에서 수신된 패킷의 플로우 정보들을 저장한 제2캐시를 포함한 라우터의 큐 처리방법에 있어서, 수신된 패킷의 큐 크기가 상승 임계값을 넘어서거나, 상기 큐 크기가 상승 임계값보다 작고 하강 임계값보다 큰 상태인가를 검사하는 단계; 상기 수신된 패킷의 큐 크기가 상승 임계값을 넘어서거나, 상기 큐 크기가 상승 임계값보다 작고 하강 임계값보다 큰 상태이면, 수신된 패킷의 플로우 정보가 제2캐시에 저장 여부에 따라 선택적으로 수신된 패킷을 폐기하는 단계를 포함할 수 있다.
상기 플로우는, 수신된 패킷에 포함된 IP 주소, 포트 넘버와 상기 IP 주소 및 포트번호를 가진 패킷이 상기 라우터에 수신된 횟수를 나타낸 히트 카운트를 포함한다.
수신된 패킷의 큐 크기가 상승 임계값을 초과하지 않거나, 큐 크기가 하강 임계값으로 떨어진 경우, 드롭 테일 큐 관리(Drop-tail queue management)를 통해서 패킷의 플로우를 제한한다.
그리고, 본 발명의 또 다른 측면에 따르면, 수신된 패킷들에 대한 플로우 정보를 저장한 제1캐시 및 큐 크기가 상승 임계값을 초과한 상태에서 수신된 패킷들의 플로우 정보들을 저장한 제2캐시를 포함하는 라우터의 캐시 업데이트 방법에 있어서, 수신된 패킷의 큐 크기가 상승 임계값을 초과한 상태에서 제2캐시의 용량이 풀(full)인가를 검사하는 단계;와 상기 큐 크기가 상승 임계값을 초과한 상태에서 제2캐시의 용량이 풀(full)이면, 수신되는 패킷의 히트 수보다 낮은 플로우 정보를 삭제하는 단계를 포함한다.
상기 큐 크기가 상승 임계값을 초과한 상태에서 제2캐시의 용량이 풀(full)이 아니면, 수신되는 패킷의 플로우 정보를 제2캐시에 저장하는 단계를 더 포함한다.
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
이하 본 발명에 따른 라우터 및 그 라우터에서 큐 처리방법을 첨부한 도면을 참조하여 상세히 설명한다.
또한, 이해의 편의를 위하여 비록 다른 도면에 속하더라도 동일한 구성요소에는 동일한 부호를 부여하였음을 주의하여야 한다.
도 2는 본 발명에 따른 라우터의 블록 구성을 나타낸 도면이다.
도 2에 도시된 바와 같이, 라우터는 큐 버퍼(20), 패킷 처리부(21) 및 캐시(22)를 포함한다.
패킷 처리부(21)는 큐 버퍼(20)에 패킷이 수신되면, 캐시(22)의 제1캐시(23)에 수신된 패킷의 플로우(flow) 정보가 있는지를 검사하고, 제1캐시(23)에 수신된 패킷의 플로우 정보가 없으면 제1캐시(23)의 최상위에 위치하는 플로우 정보를 삭 제한 후에 최하위 위치에 수신된 패킷의 플로우 정보를 저장한다.
제1캐시(23)는 다수개의 패킷의 플로우 정보를 저장하고 있다. 플로우 정보는 IP 주소, 포트 넘버 및 히트 카운트를 포함한다. 히트 카운트는 패킷이 큐 버퍼(20)에 수신된 횟수를 나타낸다.
즉, 패킷의 플로우 정보가 큐 버퍼(20)에 저장되어 있으면, 패킷이 수신될 때마다 히트 카운트는 설정된 수, 예를 들어 '1'만큼 증가될 수 있다.
한편, 패킷 처리부(21)는 큐 버퍼(20)의 큐 크기가 상승 임계값(rising threshold)을 넘어서거나, 큐 크기가 상승 임계값을 넘어선 후에 하강 임계값(falling threshold)으로 떨어지지 않으면, 캐시(22)의 제2캐시(24)를 업데이트 한다.
즉, 패킷 처리부(21)는 제2캐시(24)의 용량이 풀(full)이 아니면, 큐 크기가 상승 임계값(rising threshold)을 넘어서거나, 큐 크기가 상승 임계값을 넘어선 후에 하강 임계값(falling threshold)으로 떨어지지 않은 상태에서 수신되는 패킷의 플로우 정보를 제2캐시(24)에 저장한다.
이때 제2캐시(24)에 저장되는 플로우 정보는 제2캐시(24)의 최하위에 저장되는 것이 바람직하다.
여기서, 제2캐시(24)는 패킷의 플로우 정보를 저장하고 있다. 제2캐시(24)는 제1캐시(23)의 용량보다 작은 것이 바람직하다.
플로우 정보는 IP 주소, 포트 넘버 및 히트 카운트를 포함한다. 히트 카운트는 패킷이 큐 버퍼(20)에 수신된 횟수를 나타낸다.
한편, 패킷 처리부(21)는 제2캐시(24)의 용량이 풀(full)이면, 큐 크기가 상승 임계값(rising threshold)을 넘어서거나, 큐 크기가 상승 임계값을 넘어선 후에 하강 임계값(falling threshold)으로 떨어지지 않은 상태에서 수신되는 패킷의 히트 수보다 낮은 플로우 정보를 제2캐시(24)의 최상위에서부터 삭제한 후 제2캐시(24)의 최하위에 저장한다.
반면, 패킷 처리부(21)는 큐 크기가 상승 임계값을 넘어선 후에 하강 임계값(falling threshold)으로 떨어지지 않은 상태에서 수신되는 패킷의 히트 수보다 낮은 플로우 정보가 없으면 제2캐시(24)에 업데이트를 수행하지 않는다.
한편, 전술한 바와 같이 패킷이 큐 버퍼(20)에 수신될 때마다 이루어지는 캐시의 업데이트 동작과 함께 동시에 패킷 플로우간 불공평성을 해결하기 위한 큐 처리과정도 동시에 수행된다.
이에 대해서 구체적으로 살펴보기로 한다.
패킷 처리부(21)는 큐 버퍼(20)에 패킷이 수신되면, 큐 버퍼(20)의 큐 크기가 상승 임계값(rising threshold)을 넘어서거나, 큐 크기가 상승 임계값을 넘어선 후에 하강 임계값(falling threshold)으로 떨어지지 않으면, DCRED(double cache RED)을 통해서 패킷의 플로우를 규제한다.
즉, 패킷 처리부(21)는 큐 버퍼(20)의 큐 크기가 상승 임계값(rising threshold)을 넘어서거나, 큐 크기가 상승 임계값을 넘어선 후에 하강 임계값(falling threshold)으로 떨어지지 않은 상태에서 수신되는 패킷의 플로우 정보가 제2캐시(24)에 저장되어 있는가를 검사한다.
패킷 처리부(21)는 큐 크기가 상승 임계값을 넘어선 후에 하강 임계값(falling threshold)으로 떨어지지 않은 상태에서 수신되는 패킷의 플로우 정보가 제2캐시(24)에 저장되어 있으면, 높은 폐기 확률(drop probability)을 이용하여 수신되는 패킷을 폐기한다. 이때 높은 폐기 확률을 나타낸 도면이 도 5a에 도시되어 있다.
반면, 패킷 처리부(21)는 큐 크기가 상승 임계값을 넘어선 후에 하강 임계값(falling threshold)으로 떨어지지 않은 상태에서 수신되는 패킷의 플로우 정보가 제2캐시(24)에 저장되어 있지 않으면, 낮은 폐기 확률(drop probability)을 이용하여 수신되는 패킷을 폐기한다. 이때 낮은 폐기 확률을 나타낸 도면이 도 5b에 도시되어 있다.
도 5a에 도시된 높은 폐기확률은 도 5b에 도시된 낮은 폐기확률에 비해서 폐기확률이 더 높음을 알 수 있다.
한편, 패킷 처리부(21)는 큐 버퍼(20)에 패킷이 수신된 상태에서 큐 버퍼(20)의 큐 크기가 상승 임계값(rising threshold)을 넘어서지 않거나, 큐 크기가 상승 임계값을 넘어선 후에 하강 임계값(falling threshold)으로 떨어진 경우, 제2캐시(24)를 클리어(clear)한 후에 드롭 테일 큐 관리(Drop-tail queue management)를 통해서 패킷의 플로우를 규제한다.
도 3은 본 발명에 따른 라우터의 캐시 업데이트 방법에 대한 플로차트를 나타낸 도면이다.
도 3에 도시된 바와 같이, 라우터는 큐 버퍼에 패킷이 수신되면(S10), 제1캐시에 수신된 패킷의 플로우(flow) 정보가 있는지를 검사하고, 제1캐시에 수신된 패킷의 플로우 정보가 없으면 제1캐시의 최상위에 위치하는 플로우 정보를 삭제한 후에 최하위 위치에 수신된 패킷의 플로우 정보를 저장한다(S11).
이때, 제1캐시는 패킷의 플로우 정보를 저장하고 있다. 플로우 정보는 IP 주소, 포트 넘버 및 히트 카운트를 포함한다. 히트 카운트는 패킷이 큐 버퍼에 수신된 횟수를 나타낸다.
즉, 패킷의 플로우 정보가 큐 버퍼에 저장되어 있으면, 패킷이 수신될 때마다 히트 카운트는 설정된 수, 예를 들어 '1'만큼 증가될 수 있다.
라우터는 큐 버퍼의 큐 크기가 상승 임계값(rising threshold)을 넘어서거나, 큐 크기가 상승 임계값을 넘어선 후에 하강 임계값(falling threshold)으로 떨어지지 않았는가를 검사한다(S12).
라우터는 큐 버퍼의 큐 크기가 상승 임계값(rising threshold)을 넘어서거나, 큐 크기가 상승 임계값을 넘어선 후에 하강 임계값(falling threshold)으로 떨어지지 않으면, 캐시(22)의 제2캐시(24)를 업데이트 한다.
라우터는 제2캐시의 용량이 풀(full)인가를 검사하고(S13), 제2캐시의 용량이 풀이 아니면 큐 크기가 상승 임계값(rising threshold)을 넘어서거나, 큐 크기가 상승 임계값을 넘어선 후에 하강 임계값(falling threshold)으로 떨어지지 않은 상태에서 수신되는 패킷의 플로우 정보를 제2캐시에 저장한다(S16).
이때 제2캐시에 저장되는 플로우 정보는 제2캐시의 최하위에 저장되는 것이 바람직하다.
여기서, 제2캐시는 제1캐시의 용량보다 작은 것이 바람직하다.
한편, 라우터는 제2캐시의 용량이 풀(full)이면, 큐 크기가 상승 임계값(rising threshold)을 넘어서거나, 큐 크기가 상승 임계값을 넘어선 후에 하강 임계값(falling threshold)으로 떨어지지 않은 상태에서 수신되는 패킷의 히트 수보다 낮은 플로우 정보가 저장되어 있는가를 검사한다(S14).
라우터는 제2캐시의 용량이 풀(full)이고, 큐 크기가 상승 임계값(rising threshold)을 넘어서거나, 큐 크기가 상승 임계값을 넘어선 후에 하강 임계값(falling threshold)으로 떨어지지 않은 상태에서 수신되는 패킷의 히트 수보다 낮은 플로우 정보가 저장되어 있으면, 제2캐시의 최상위에서부터 낮은 히트 수의 플로우 정보들을 삭제한 후 제2캐시의 용량이 풀(full)이고, 큐 크기가 상승 임계값(rising threshold)을 넘어서거나, 큐 크기가 상승 임계값을 넘어선 후에 하강 임계값(falling threshold)으로 떨어지지 않은 상태에서 수신되는 패킷의 플로우 정보를 제2캐시의 최하위에 저장한다(S15).
반면, 라우터는 큐 크기가 상승 임계값을 넘어선 후에 하강 임계값(falling threshold)으로 떨어지지 않은 상태에서 수신되는 패킷의 히트 수보다 낮은 플로우 정보가 없으면 제2캐시의 업데이트를 수행하지 않는다.
도 4는 본 발명에 따른 라우터의 큐 처리방법에 대한 플로차트를 나타낸 도면이다.
도 4에 도시된 바와 같이, 라우터는 큐 버퍼에 패킷이 수신되면(S20), 큐 버퍼의 큐 크기가 상승 임계값(rising threshold)을 넘어서거나, 큐 크기가 상승 임계값을 넘어선 후에 하강 임계값(falling threshold)으로 떨어지지 않는가를 검사한다(S21).
라우터는 큐 버퍼의 큐 크기가 상승 임계값(rising threshold)을 넘어서거나, 큐 크기가 상승 임계값을 넘어선 후에 하강 임계값(falling threshold)으로 떨어지지 않으면, DCRED(double cache RED)을 통해서 패킷의 플로우를 규제한다.
즉, 라우터는 큐 버퍼의 큐 크기가 상승 임계값(rising threshold)을 넘어서거나, 큐 크기가 상승 임계값을 넘어선 후에 하강 임계값(falling threshold)으로 떨어지지 않은 상태에서 수신되는 패킷의 플로우 정보가 제2캐시에 저장되어 있는가를 검사한다(S22).
라우터는 큐 크기가 상승 임계값을 넘어선 후에 하강 임계값(falling threshold)으로 떨어지지 않은 상태에서 수신되는 패킷의 플로우 정보가 제2캐시에 저장되어 있으면, 높은 폐기 확률(drop probability)을 이용하여 수신되는 패킷을 폐기한다(S23). 이때 높은 폐기 확률을 나타낸 도면이 도 5a에 도시되어 있다.
반면, 라우터는 큐 크기가 상승 임계값을 넘어선 후에 하강 임계값(falling threshold)으로 떨어지지 않은 상태에서 수신되는 패킷의 플로우 정보가 제2캐시에 저장되어 있지 않으면, 낮은 폐기 확률(drop probability)을 이용하여 수신되는 패킷을 폐기한다(S24). 이때 낮은 폐기 확률을 나타낸 도면이 도 5b에 도시되어 있다.
도 5a에 도시된 높은 폐기확률은 도 5b에 도시된 낮은 폐기확률에 비해서 폐기확률이 더 높음을 알 수 있다.
한편, 라우터는 큐 버퍼에 패킷이 수신된 상태에서 큐 버퍼의 큐 크기가 상승 임계값(rising threshold)을 넘어서지 않거나, 큐 크기가 상승 임계값을 넘어선 후에 하강 임계값(falling threshold)으로 떨어진 경우, 제2캐시를 클리어(clear)한 후에 드롭 테일 큐 관리(Drop-tail queue management)를 통해서 패킷의 플로우를 규제한다(S25).
도 6은 본 발명에 따른 라우터의 캐시 업데이트 및 큐 처리방법에 대한 Pseudo Code를 예시한 도면이다.
도 6에 도시된 바와 같이, 라우터의 캐시 업데이트 및 큐 처리방법에 관한 Pseudo Code는 수신된 큐의 크기가 상승 임계값을 넘어서거나, 큐의 크기가 상승 임계값을 넘어선 후에 하강 임계값 이하로 떨어지는 것을 기준으로 하여 캐시 업데이트 및 큐 처리를 수행하는 것을 나타낸다.
즉, 수신된 큐의 크기가 상승 임계값을 넘어서거나, 큐의 크기가 상승 임계값을 넘어선 후에 하강 임계값 이하로 떨어지지 않으면, DRED에 의해서 플로우(flow)에 대한 규제가 이루어진다.
반면, 수신된 큐의 크기가 상승 임계값을 넘지 않거나, 큐의 크기가 상승 임계값을 넘어선 후에 하강 임계값 이하로 떨어지면, 드롭 테일 큐 관리(Drop-tail queue management)에 의해서 플로우(flow)에 대한 규제가 이루어진다.
한편, 큐 크기가 상승 임계값을 넘어서거나, 큐 크기가 상승 임계값을 넘어 선 후에 하강 임계값으로 떨어지지 않은 상태에서 제2캐시의 용량이 풀(full)이면, 큐 크기가 상승 임계값을 넘어서거나, 큐 크기가 상승 임계값을 넘어선 후에 하강 임계값으로 떨어지지 않은 상태에서 수신되는 패킷의 히트 수보다 낮은 플로우 정보를 제2캐시에서 삭제한다.
반면, 큐 크기가 상승 임계값을 넘어서거나, 큐 크기가 상승 임계값을 넘어선 후에 하강 임계값으로 떨어지지 않은 상태에서 제2캐시의 용량이 풀(full)이 아니면, 큐 크기가 상승 임계값(rising threshold)을 넘어서거나, 큐 크기가 상승 임계값을 넘어선 후에 하강 임계값(falling threshold)으로 떨어지지 않은 상태에서 수신되는 패킷의 플로우 정보를 제2캐시에 저장한다.
상술한 바와 같이 본 발명에 따른 라우터 및 그 라우터의 큐 처리방법에 따르면, 수신된 큐의 크기가 상승 임계값을 넘어서거나, 큐의 크기가 상승 임계값을 넘어선 후에 하강 임계값 이하로 떨어지는 것을 기준으로 하여 캐시 업데이트 및 큐 처리를 수행함으로써, 두 개의 캐시를 이용하여 플로우 정보의 업데이트를 위한 오버헤드를 해결하고, 두 개의 캐시를 이용한 RED 큐 관리를 통해서 패킷 플로우간 불공평성을 해결한다.

Claims (11)

  1. 라우터에 있어서,
    수신되는 패킷들의 플로우 정보들을 저장한 제1캐시;
    수신된 패킷의 큐 크기가 상승 임계값을 넘어서거나, 상기 큐 크기가 상승 임계값을 넘어선 후에 하강 임계값 이하로 떨어지지 않은 상태에서 수신된 패킷들의 플로우 정보들을 저장한 제2캐시; 및
    수신된 패킷의 큐 크기가 상승 임계값을 넘어서거나, 상기 큐 크기가 상승 임계값을 넘어선 후에 하강 임계값 이하로 떨어지지 않은 상태에서 수신된 패킷의 플로우 정보가 제2캐시에 저장되어 있으면 높은 확률을 적용하여 수신된 패킷을 폐기하는 패킷 처리부를 포함하고,
    상기 패킷 처리부는,
    수신된 패킷의 큐 크기가 상승 임계값을 넘어서거나, 상기 큐 크기가 상승 임계값을 넘어선 후에 하강 임계값 이하로 떨어지지 않은 상태에서 수신된 패킷의 플로우 정보가 제2캐시에 저장되어 있지 않으면, 낮은 확률을 적용하여 수신되는 패킷을 폐기하는 라우터.
  2. 제1항에 있어서,
    상기 플로우는,
    수신된 패킷에 포함된 IP 주소, 포트 넘버; 와
    상기 IP 주소 및 포트번호를 가진 패킷이 상기 라우터에 수신된 횟수를 나타낸 히트 카운트를 포함한 라우터.
  3. 제1항에 있어서,
    상기 패킷 처리부는,
    상기 큐 크기가 상승 임계값을 초과하는 경우나, 큐 크기가 상승 임계값보다 작고 하강 임계값보다 큰 상태에서 제2캐시의 용량이 풀(full)이 아니면, 큐 크기가 상승 임계값(rising threshold)을 넘어서거나, 큐 크기가 상승 임계값보다 작고 하강 임계값(falling threshold)보다 큰 상태에서 수신되는 패킷의 플로우 정보를 제2캐시에 저장하는 라우터.
  4. 제3항에 있어서,
    상기 패킷 처리부는,
    상기 큐 크기가 상승 임계값을 넘어서거나, 큐 크기가 상승 임계값보다 작고 하강 임계값보다 큰 상태에서 제2캐시의 용량이 풀(full)이면, 큐 크기가 상승 임계값을 넘어서거나, 큐 크기가 상승 임계값을 넘어선 후에 하강 임계값으로 떨어지지 않은 상태에서 수신되는 패킷의 히트 수보다 낮은 플로우 정보를 제2캐시에서 삭제하는 라우터.
  5. 삭제
  6. 제1항에 있어서,
    상기 패킷 처리부는,
    수신된 패킷의 큐 크기가 상승 임계값을 초과하지 않거나, 큐 크기가 상승 임계값보다 작고 하강 임계값 보다 작은 경우, 제2캐시를 클리어(clear)한 후에 드롭 테일 큐 관리(Drop-tail queue management)를 통해서 패킷의 플로우를 제한하는 라우터.
  7. 수신된 패킷들에 대한 플로우 정보를 저장한 제1캐시 및 큐 크기가 상승 임계값을 넘어서거나, 큐 크기가 상승 임계값을 넘어선 후에 하강 임계값 이하로 떨어지지 않은 상태에서 수신된 패킷의 플로우 정보들을 저장한 제2캐시를 포함한 라우터의 큐 처리방법에 있어서,
    수신된 패킷의 큐 크기가 상승 임계값을 넘어서거나, 상기 큐 크기가 상승 임계값을 넘어선 후에 하강 임계값 이하로 떨어지지 않은 상태인가를 검사하는 단계;
    상기 수신된 패킷의 큐 크기가 상승 임계값을 넘어서거나, 상기 큐 크기가 상승 임계값을 넘어선 후에 하강 임계값 이하로 떨어지지 않은 상태이면, 수신된 패킷의 플로우 정보가 제2캐시에 저장 여부에 따라 각각 높은 폐기확률 및 낮은 폐기확률을 선택적으로 적용하여 수신된 패킷을 폐기하는 단계를 포함하고,
    수신된 패킷의 큐 크기가 상승 임계값을 넘어서지 않거나, 큐 크기가 상승 임계값을 넘어선 후에 하강 임계값으로 떨어진 경우, 드롭 테일 큐 관리(Drop-tail queue management)를 통해서 패킷의 플로우를 규제하는 더 단계를 포함하는 라우터의 큐 처리방법.
  8. 제7항에 있어서,
    상기 플로우는,
    수신된 패킷에 포함된 IP 주소, 포트 넘버; 와
    상기 IP 주소 및 포트번호를 가진 패킷이 상기 라우터에 수신된 횟수를 나타낸 히트 카운트를 포함한 라우터의 큐 처리방법.
  9. 삭제
  10. 수신된 패킷들에 대한 플로우 정보를 저장한 제1캐시 및 큐 크기가 상승 임계값을 넘어서거나, 큐 크기가 상승 임계값을 넘어선 후에 하강 임계값 이하로 떨어지지 않은 상태에서 수신된 패킷들의 플로우 정보들을 저장한 제2캐시를 포함하는 라우터의 캐시 업데이트 방법에 있어서,
    수신된 패킷의 큐 크기가 상승 임계값을 넘어서거나, 큐 크기가 상승 임계값을 넘어선 후에 하강 임계값으로 떨어지지 않은 상태에서 제2캐시의 용량이 풀(full)인가를 검사하는 단계; 와
    상기 큐 크기가 상승 임계값을 넘어서거나, 큐 크기가 상승 임계값을 넘어선 후에 하강 임계값으로 떨어지지 않은 상태에서 제2캐시의 용량이 풀(full)이면, 큐 크기가 상승 임계값을 넘어서거나, 큐 크기가 상승 임계값을 넘어선 후에 하강 임계값으로 떨어지지 않은 상태에서 수신되는 패킷의 히트 수보다 낮은 플로우 정보를 삭제하는 단계를 포함하고,
    상기 큐 크기가 상승 임계값을 넘어서거나, 큐 크기가 상승 임계값을 넘어선 후에 하강 임계값으로 떨어지지 않은 상태에서 제2캐시의 용량이 풀(full)이 아니면, 큐 크기가 상승 임계값을 넘어서거나, 큐 크기가 상승 임계값을 넘어선 후에 하강 임계값으로 떨어지지 않은 상태에서 수신되는 패킷의 플로우 정보를 제2캐시에 저장하는 단계를 더 포함하는 라우터의 캐시 업데이트 방법.
  11. 삭제
KR1020070021078A 2007-03-02 2007-03-02 라우터 및 그 라우터에서 큐 처리방법 KR101421240B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020070021078A KR101421240B1 (ko) 2007-03-02 2007-03-02 라우터 및 그 라우터에서 큐 처리방법
US12/074,067 US8339950B2 (en) 2007-03-02 2008-02-29 Router and queue processing method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070021078A KR101421240B1 (ko) 2007-03-02 2007-03-02 라우터 및 그 라우터에서 큐 처리방법

Publications (2)

Publication Number Publication Date
KR20080080836A KR20080080836A (ko) 2008-09-05
KR101421240B1 true KR101421240B1 (ko) 2014-07-18

Family

ID=39733018

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070021078A KR101421240B1 (ko) 2007-03-02 2007-03-02 라우터 및 그 라우터에서 큐 처리방법

Country Status (2)

Country Link
US (1) US8339950B2 (ko)
KR (1) KR101421240B1 (ko)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7811231B2 (en) 2002-12-31 2010-10-12 Abbott Diabetes Care Inc. Continuous glucose monitoring system and methods of use
US8771183B2 (en) 2004-02-17 2014-07-08 Abbott Diabetes Care Inc. Method and system for providing data communication in continuous glucose monitoring and management system
US8066639B2 (en) 2003-06-10 2011-11-29 Abbott Diabetes Care Inc. Glucose measuring device for use in personal area network
US20080199894A1 (en) 2007-02-15 2008-08-21 Abbott Diabetes Care, Inc. Device and method for automatic data acquisition and/or detection
US8123686B2 (en) 2007-03-01 2012-02-28 Abbott Diabetes Care Inc. Method and apparatus for providing rolling data in communication systems
WO2008130895A2 (en) 2007-04-14 2008-10-30 Abbott Diabetes Care, Inc. Method and apparatus for providing dynamic multi-stage signal amplification in a medical device
US8456301B2 (en) 2007-05-08 2013-06-04 Abbott Diabetes Care Inc. Analyte monitoring system and methods
US8665091B2 (en) 2007-05-08 2014-03-04 Abbott Diabetes Care Inc. Method and device for determining elapsed sensor life
US7928850B2 (en) 2007-05-08 2011-04-19 Abbott Diabetes Care Inc. Analyte monitoring system and methods
US8461985B2 (en) 2007-05-08 2013-06-11 Abbott Diabetes Care Inc. Analyte monitoring system and methods
WO2010127050A1 (en) * 2009-04-28 2010-11-04 Abbott Diabetes Care Inc. Error detection in critical repeating data in a wireless sensor system
WO2010138856A1 (en) 2009-05-29 2010-12-02 Abbott Diabetes Care Inc. Medical device antenna systems having external antenna configurations
WO2011026147A1 (en) 2009-08-31 2011-03-03 Abbott Diabetes Care Inc. Analyte signal processing device and methods
WO2011026148A1 (en) 2009-08-31 2011-03-03 Abbott Diabetes Care Inc. Analyte monitoring system and methods for managing power and noise
US20110085444A1 (en) * 2009-10-13 2011-04-14 Brocade Communications Systems, Inc. Flow autodetermination
CN101945045B (zh) * 2010-09-14 2013-01-02 北京星网锐捷网络技术有限公司 一种更新数据流状态信息的方法、系统及设备
CN102025631B (zh) * 2010-12-15 2017-03-29 中兴通讯股份有限公司 一种动态调整出端口缓存的方法及交换机
US9968306B2 (en) 2012-09-17 2018-05-15 Abbott Diabetes Care Inc. Methods and apparatuses for providing adverse condition notification with enhanced wireless communication range in analyte monitoring systems
US10169241B2 (en) * 2016-06-30 2019-01-01 International Business Machines Corporation Managing memory allocation between input/output adapter caches
CN111555974B (zh) * 2020-03-19 2023-05-02 视联动力信息技术股份有限公司 一种数据包的处理方法、装置、终端设备和存储介质
US20230291781A1 (en) * 2022-03-11 2023-09-14 Qualcomm Incorporated Techniques for multimedia uplink packet handling

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6868065B1 (en) * 1998-12-18 2005-03-15 Cisco Technology, Inc. Method and apparatus for implementing a quality of service policy in a data communications network
US6904015B1 (en) * 2000-09-01 2005-06-07 Force10 Networks, Inc. Congestion avoidance profiles in a packet switching system
KR20060054895A (ko) * 2004-11-16 2006-05-23 삼성전자주식회사 라우터 및 이를 이용한 패킷의 큐 관리 방법

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5991311A (en) 1997-10-25 1999-11-23 Centillium Technology Time-multiplexed transmission on digital-subscriber lines synchronized to existing TCM-ISDN for reduced cross-talk
US7324442B1 (en) * 2000-02-28 2008-01-29 The Board Of Trustees Of The Leland Stanford Junior University Active queue management toward fair bandwidth allocation
US7369500B1 (en) * 2003-06-30 2008-05-06 Juniper Networks, Inc. Dynamic queue threshold extensions to random early detection
US7512122B1 (en) * 2003-12-29 2009-03-31 Alcatel Lucent Identifying QoS flows using indices
KR100656509B1 (ko) * 2004-03-03 2006-12-11 삼성전자주식회사 비디오 서비스 대역폭 보장을 위한 패킷 체증제어 방법
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
KR100738558B1 (ko) 2006-02-10 2007-07-11 삼성전자주식회사 Tcm isdn 기술이 적용된 차세대 네트워크 시스템 및그 제어방법
US7697519B2 (en) * 2006-10-31 2010-04-13 Hewlett-Packard Development Company, L.P. Packet processing

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6868065B1 (en) * 1998-12-18 2005-03-15 Cisco Technology, Inc. Method and apparatus for implementing a quality of service policy in a data communications network
US6904015B1 (en) * 2000-09-01 2005-06-07 Force10 Networks, Inc. Congestion avoidance profiles in a packet switching system
KR20060054895A (ko) * 2004-11-16 2006-05-23 삼성전자주식회사 라우터 및 이를 이용한 패킷의 큐 관리 방법

Also Published As

Publication number Publication date
KR20080080836A (ko) 2008-09-05
US20080212600A1 (en) 2008-09-04
US8339950B2 (en) 2012-12-25

Similar Documents

Publication Publication Date Title
KR101421240B1 (ko) 라우터 및 그 라우터에서 큐 처리방법
US8824294B2 (en) Source-based congestion detection and control
US6643256B1 (en) Packet switch and packet switching method using priority control based on congestion status within packet switch
WO2020236297A1 (en) Method and system for facilitating lossy dropping and ecn marking
US6765905B2 (en) Method for reducing packet data delay variation in an internet protocol network
US8493867B1 (en) Retransmission and flow control in a logical network tunnel
US9571403B2 (en) Packet marking for flow management, including deadline aware flow management
CN106851727B (zh) 基于多路径路由协议实现自组网拥塞控制的方法
US20130258853A1 (en) Systems and methods for selectively performing explicit congestion notification
JP5710418B2 (ja) パケット中継装置、及び方法
US8208380B1 (en) Lossless system support using circular buffer allocation
EP2187580B1 (en) Method for scheduling packets of a plurality of flows and system for carrying out the method
CN110138678B (zh) 数据传输控制方法和装置、以及网络传输设备和存储介质
US8174985B2 (en) Data flow control
US7813348B1 (en) Methods, systems, and computer program products for killing prioritized packets using time-to-live values to prevent head-of-line blocking
CN112242965A (zh) 遥测事件聚合
US20120106567A1 (en) Mlppp occupancy based round robin
US6922396B1 (en) System and method for managing time sensitive data streams across a communication network
CN110011924B (zh) 一种清除缓存拥塞的方法与装置
CN115134308A (zh) 数据中心无损网络中通过数据包弹跳避免队头阻塞的方法
JPWO2009016692A1 (ja) パケット処理装置
CN111224888A (zh) 发送报文的方法及报文转发设备
US11895029B2 (en) Network processor with external memory protection
JP2008193310A (ja) ルータのバッファ管理方法並びにその管理方法を用いたルータ
US11456962B2 (en) Delay-aware resource sharing

Legal Events

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

Payment date: 20170629

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180628

Year of fee payment: 5