KR100674329B1 - 전송 제어 프로토콜/인터넷 프로토콜 네트웍에서 라우터의폭주 제어방법 - Google Patents

전송 제어 프로토콜/인터넷 프로토콜 네트웍에서 라우터의폭주 제어방법 Download PDF

Info

Publication number
KR100674329B1
KR100674329B1 KR1020000086895A KR20000086895A KR100674329B1 KR 100674329 B1 KR100674329 B1 KR 100674329B1 KR 1020000086895 A KR1020000086895 A KR 1020000086895A KR 20000086895 A KR20000086895 A KR 20000086895A KR 100674329 B1 KR100674329 B1 KR 100674329B1
Authority
KR
South Korea
Prior art keywords
packet
adaptive
queue
service rate
traffic
Prior art date
Application number
KR1020000086895A
Other languages
English (en)
Other versions
KR20020058765A (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 KR1020000086895A priority Critical patent/KR100674329B1/ko
Publication of KR20020058765A publication Critical patent/KR20020058765A/ko
Application granted granted Critical
Publication of KR100674329B1 publication Critical patent/KR100674329B1/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/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/142Network analysis or design using statistical or mathematical methods
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/164Adaptation or special uses of UDP protocol

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Pure & Applied Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명은 전송 제어 프로토콜/인터넷 프로토콜 네트웍에서 라우터의 폭주 제어 방법에 관한 것으로, 네트웍 폭주 발생 시 전송 계층 프로토콜에 상관없이 각 정보원에게 공정한 네트웍 자원을 할당하기 위해 라우터에서 수신 받은 패킷을 TCP 프로토콜을 사용하는 Adaptive 정보원의 패킷과 UDP 프로토콜을 사용하는 Non-Adaptive 정보원의 패킷으로 구분하여 해당 패킷에 따라 패킷 폐기 방법과 서비스율을 다르게 적용한다. 이에 따라, UDP 정보원에 의한 비의도적이거나 의도적인 공격에 대하여 TCP 정보원을 보호할 수 있으며, 사용자에게 신뢰성 있는 네트웍 환경을 제공하고, 정확한 네트웍 상태를 파악할 수 있는 이점이 있다.

Description

전송 제어 프로토콜/인터넷 프로토콜 네트웍에서 라우터의 폭주 제어 방법{Method for Congestion Control of the Router in TCP/IP}
도 1은 본 발명이 적용되는 TCP/IP 네트웍에서의 TCP 패킷 헤더 구성도.
도 2는 본 발명이 적용되는 TCP/IP 네트웍에서의 UDP 패킷 헤더 구성도.
도 3은 종래의 RED 알고리즘에 의한 패킷 폐기 방법을 나타낸 도면.
도 4는 도 3에 의한 패킷 폐기 과정을 나타낸 순서도.
도 5는 본 발명에 의한 패킷 폐기 방법을 나타낸 도면.
도 6은 도 5에 의한 패킷 서비스 과정을 나타낸 순서도.
<도면의 주요부분에 대한 부호의 설명>
10 : TCP 패킷 헤더 11,31 : 소스 포트
12,32 : 목적지 포트 13 : 순서번호
14 : 확인응답 번호 15 : 윈도우
16,34 : 검사 합계 17 : 어전트 포인터
18,35 : 데이터 30 : UDP 패킷 헤더
33 : UDP 메시지 길이 50,102 : 버퍼
101 : 분류부 102a,102b : 큐
104 : 스케줄러
본 발명은 전송제어 프로토콜/인터넷 프로토콜(Transmission Control Protocol/Internet Protocol : 이하 TCP/IP라 칭한다)을 기반으로 하는 데이터 통신망에서 트래픽 폭주 발생 시 사용자 데이터의 전송 계층 프로토콜(Transport Layer Protocol)에 상관없이 공정한 자원을 할당하기 위한 것으로, 보다 상세하게는 라우터에서 데이터를 Adaptive 정보원(Source/Application)과 Non-Adaptive 정보원으로 분리하여 서로 다른 패킷 폐기 알고리즘을 적용하여 각각의 버퍼에 저장하는 전송 제어 프로토콜/인터넷 프로토콜 네트웍에서 라우터의 폭주 제어 방법에 관한 것이다.
인터넷은 전세계의 정보 매체를 연결하는 비영리적 성격의 정보 통신망으로 출발하였으나, 최근 들어 PC 통신과 웹(World Wide Web) 등의 급속한 성장으로 인한 인터넷 트래픽의 폭발적인 증가에 따라 미래 정보사회의 핵심 인프라로 발전하고 있다.
또한 미래의 정보통신 망으로 주목되던 비동기 전송 방식(Asynchronous Transfer Mode : ATM) 통신망은 Native ATM API를 이용한 응용서비스의 개발이 아직 전세계적으로 매우 미미한 상태이며 인터넷의 상업적 활용이 주요 이슈로 대두되고 있다.
따라서 당분간 모든 응용서비스의 플랫폼은 TCP/IP 기반의 인터넷이 활용될 것으로 예상된다.
TCP/IP 계층은 응용 계층(Application Layer)과 전송 계층과 인터넷 계층(Internet Layer) 및 물리계층(Physical Layer)으로 구성되며, 현재 폭넓게 사용되고 있는 전송 계층 프로토콜은 TCP와 같이 네트웍의 상태를 고려하여 전송률을 조절하는 프로토콜과 사용자 데이타그램 프로토콜(User Datagram Protocol : 이하 UDP라 칭한다)과 같이 네트웍 상태를 고려하지 않고 무조건 데이터를 전송하는 프로토콜이 있다.
도 1은 본 발명이 적용되는 TCP/IP 네트웍에서의 TCP 패킷 헤더(10) 구성도로, 데이터를 세그먼트(Segment) 단위로 전송하는 TCP 정보원이 사용하는 TCP 패킷의 구조를 나타낸다.
상기 도 1은 TCP 패킷을 전송하는 발신지(송신지)의 주소를 나타내는 소스 포트(Source Port)(11)와;
TCP 패킷을 수신 받을 목적지(수신지)의 주소를 나타내는 목적지 포트(Destination Port)(12)와;
전체 메시지(데이터) 스트림(Stream)에서의 데이터 전송 시작 위치를 나타내는 순서번호(Sequence Number)(13)와;
전체 메시지(데이터) 스트림(Stream)에서의 다음에 전송 받을 데이터 위치를 나타내는 확인 응답 번호(Acknowledge Number)(14)와;
재전송 타임아웃(Retransmission Time Out : RTO)과 복제 응답 신호(Duplicate Ack)를 사용하여 송수신 측간에 일정 개수의 패킷을 연속해서 전송 하고 해당 패킷이 수신지에 도착이 안됐을 경우 패킷을 재전송하는 Sliding-Window Flow Control을 위한 윈도우(Window)(15)와;
수신지에 같은 수의 비트가 도착했는지를 확인 할 수 있도록 전송단위 내의 비트 수를 나타내는 검사합계(Checksum)(160; 및
세그먼트 내에 급한 데이터의 크기를 나타내는 어전트 포인터(Urgent Pointer)(17); 및
전송할 데이터를 나타내는 데이터(Data)(18)로 구성된다.
상기 TCP 정보원은 데이터를 전송할 때 윈도우(15) 크기를 사용하여 한번에 전송할 수 있는 데이터 양을 결정하며, 재전송 타임아웃과 복제 응답 신호를 이용하여 암시적으로 네트웍의 트래픽 폭주를 감지하여 네트웍 상태에 따라 데이터 전송을 조절한다.
즉, RTT(Round Trip Time)에 의해 계산된 재전송 타임아웃 동안 확인 응답 메시지가 도착하지 않으면, 네트웍에 폭주가 발생했다고 간주하여 상기 윈도우(15) 크기를 줄이게 된다.
따라서, 네트웍 폭주에 의한 패킷 손실에 따라 TCP 윈도우의 크기가 기하급수적으로 감소하게 된다.
도 2는 본 발명이 적용되는 TCP/IP 네트웍에서의 UDP 패킷 헤더 구성도로, UDP 정보원이 사용하는 UDP 패킷의 구조를 나타낸다.
상기 도 2는 UDP 패킷을 전송하는 발신지(송신지)의 주소를 나타내는 소스 포트(31)와;
UDP 패킷을 수신 받을 목적지(수신지)의 주소를 나타내는 목적지 포트(32)와;
UDP 패킷의 전체 데이터 비트 수를 나타내는 메시지 길이(33)와;
전송단위 내의 비트 수를 이용하여 수신지에 같은 수의 비트가 도착했는지를 확인하기 위한 검사합계(34); 및
전송할 데이터를 나타내는 데이터(35)로 구성된다.
UDP 패킷 헤더는 상기 도 1에 나타난 TCP 패킷 헤더에 비해 그 구조가 간단하며, 데이터의 신뢰성 있는 전송이나 네트웍 상태에 따른 전송률을 조절할 수 있는 정보를 갖고 있지 않다.
지금까지의 인터넷 서비스는 단대단 간의 엄격한 서비스 품질을 요구하지 않는 데이터 전송 위주의 최선형 서비스만을 제공하고 있으나, 인터넷이 멀티미디어 서비스 제공을 위한 인프라로 발전하고 있어 응용 서비스의 다양한 서비스 품질 요구를 만족시킬 수 있는 인터넷으로 발전이 요구되고 있다.
이들 멀티미디어 서비스는 실시간으로 데이터를 전송하는 것을 요구하므로, 전송 계층 프로토콜로서 TCP 프로토콜보다는 UDP 프로토콜을 선호하고 있다. 최근 들어 네트웍 게임, 오디오, 비디오 등의 사용자가 증가하면서 전송계층 프로토콜로 UDP를 사용하는 트래픽이 급속히 증가하고 있다.
이러한 UDP 프로토콜을 사용하는 정보원은 네트웍의 상태를 고려하지 않고 계속적으로 트래픽을 생성하여 네트웍으로 전송함으로써 네트웍의 폭주를 가중시킬 뿐만 아니라 TCP 연결의 성능을 저하시키는 원인이 되고 있다.
또한, UDP 프로토콜을 사용하는 Non-Adaptive 정보원은 공격적 특성으로 인하여 고의 또는 자신도 모르게 TCP 프로토콜을 사용하는 다른 정보원에게 피해를 줄 수 있다.
따라서, 큰 대역폭을 요구하는 연결이 있는 고속 네트웍에서 일시적인 트래픽 폭주에 대비하여 대용량의 큐를 가진 라우터가 필요로 되고 있다.
그러나, TCP 흐름 제어만 존재하는 현 네트웍 환경에서 대형 큐를 가지는 것은 평균 지연을 증가시키고, 수율(Throughput)을 감소시키므로 바람직하지 못하다.
전송 계층 프로토콜은 피드 백(Feed-back) 제어가 없는 네트웍 환경에서 서비스 타임, 수율의 변화, 단대 단(예 : end to end, user to user 등) 지연, 패킷 손실 등으로 부터 네트웍의 폭주를 추정할 수 있다.
그러나, 네트웍 폭주는 폭주 상태인 라우터(Router)의 수, 연결의 트래픽 패턴, 라우팅의 변화, 큐잉 지연에 의한 전송지연 등과 같은 여러 요소에 의해 영향을 받기 때문에 각 연결의 전송 계층 프로토콜은 폭주에 대한 판단이나 원인을 파악하기 어렵다.
이러한 네트웍 폭주의 감지 및 그 정도, 폭주의 지속 기간 등에 대한 제어는 라우터에서 가장 효과적으로 이루어질 수 있는데, 라우터에서 연결의 트래픽 처리 방식은 네트웍 폭주 시 모든 연결이 지연을 공유하며, 확장성이 좋고 구현하기에 용이한 선입 선출(First-In, First-Out : FIFO) 방식으로 처리된다.
현재 인터넷 게이트 웨이(Gateway)나 라우터에서 폭주 제어를 위해 사용되고 있는 알고리즘으로는 패킷 폐기 알고리즘인 RED(Random Early Detection)가 폭 넓 게 사용되고 있다.
도 3은 종래의 RED 알고리즘에 의한 패킷 폐기 방법을 나타낸 도면으로, 최소 임계치(Minimum Threshold)와 최대 임계치(Maximum Threshold)를 갖는 RED 버퍼(50)에서의 패킷 폐기 방법을 나타낸다.
상기 도 3은 최소 임계치(thresh_)와 최대임계치(maxthresh_) 사이에서 패킷 폐기 확률이 "0" 부터 "max_p" 까지 변화하는 것을 보여주는데, 이 때 패킷 폐기 확률(Probl_)를 결정하는 식은 하기에 기재한 식 1과 같다.
[식 1]
if(bytes_), pl = max_p(ave_ - thresh_)/(maxthresh_ - thresh_)
pl = pl(pksize / Max_pksize_)
probl_ = pl / (1 - count pl)
상기 식 1에서 count는 임의의 흐름에 속하는 패킷을 폐기한 후, 버퍼(50)에 저장되는 패킷의 수이고, ave_는 평균 큐 크기를 나타내는 것으로서 지수가중치이동평균(Exponential Weighted Moving Average : EWMA)을 이용하여 산출하며 그 산출 식은 하기에 기재한 식 2와 같다.
[식 2]
ave_ = (1 - q_weight_) * ave_ + q_weight_ * curq_
도 4는 도 3에 의한 패킷 폐기 과정을 나타낸 순서도로, 라우터 또는 게이트 웨이에서 수신 받은 패킷을 평균 큐 크기에 따라 폐기 여부를 결정하는 과정을 나타낸다.
먼저, 정보원(예 : Adaptive 정보원, Non-Adaptive 정보원)으로부터 패킷을 수신 받는다(S2).
현재 큐(Queue)의 평균 큐 길이(Qa)를 계산하여(S4), 평균 큐 길이(Qa)가 최소 임계치(thresh_) 보다 큰지 판단한다(S6).
상기 판단 결과, 최소 임계치(thresh_) 보다 작으면 "count" 변수를 증가시키고(S22), RED 버퍼(50)에 저장한다(S18).
상기 판단 결과, 최소 임계치(thresh_) 보다 크면, 최대임계치(maxthresh_) 보다 작은지 판단한다(S8).
상기 판단 결과, 최대임계치(maxthresh_) 보다 크면 "count" 변수 값은 "0"이 되며(S20), 상기 패킷을 폐기한다(S22).
상기 판단 결과, 최대임계치(maxthresh_) 보다 작으면 상기 식 1에 의해 패킷 폐기 확률 값(Pa)을 산출하고(S10), 난수 발생기를 이용하여 난수(R)를 생성한다(S12).
상기 패킷 폐기 확률 값(Pa)이 상기 난수(R) 보다 작은지 판단하여(S14), 패킷 확률 값(Pa)이 작으면(S14) "count" 변수 값을 증가시키고(S16), 패킷을 버퍼에 저장한다(S18).
상기 판단 결과, 상기 패킷 폐기 확률 값(Pa)이 상기 난수(R) 보다 크면 "count" 변수 값을 "0"으로 만들고(S20), 패킷을 폐기시킨다(S22).
상기 도 4에서와 같이 RED 패킷 알고리즘은 큐를 감시하다가 평균 큐 크기(Qa)가 임계치를 넘으면 임의적으로 연결을 하나 선택하여 그 연결에 속한 패 킷을 폐기한다. 이때, 어떤 연결이 선택될 확률은 입력되는 연결의 트래픽 양에 비례한다.
따라서, RED 패킷 폐기 알고리즘은 전송 계층 프로토콜에 상관없이 네트웍의 다른 라우터에서의 폭주 제어 방법에 영향을 받지 않고 점진적으로 수행할 수 있으며, 평균 큐 크기를 제어하여 폭주를 방지하고, TCP의 정보원 동기화 현상(Global Synchronization)을 해결하며, 전송 계층 프로토콜의 흐름 제어가 없는 경우에도 평균 큐 크기에 상한을 유지한다.
상기한 RED 패킷 폐기 알고리즘을 사용하는 라우터는 전송 계층이 트래픽 흐름 제어를 사용하지 않는 경우나 전송률 흐름 제어를 사용하는 경우에 평균 큐 크기를 제어하기가 용이하다.
그러나 기본적으로 RED 알고리즘은 마킹되거나 폐기된 패킷이 전송 계층 프로토콜에 네트웍 폭주를 알릴 수 있는 네트웍을 위해 고안된 것으로, TCP 전용 응용 서비스를 위해서는 유용하나, UDP와 TCP가 혼재된 트래픽을 위한 노드(예 : 라우터, 게이트 웨이 등)에서는 그 한계점을 갖는다.
즉, RED 알고리즘은 폭주가 발생하였을 때, TCP 패킷과 UDP 패킷 모두 동일한 기준으로 패킷을 폐기한다. 이렇게 RED 알고리즘에 의해 폐기된 패킷에 의해 TCP 정보원은 패킷의 전송 량을 감소시키나, UDP 정보원은 폐기된 패킷과는 상관없이 전송해야 할 데이터가 존재하면 최대한으로 패킷을 전송한다.
따라서, 단일 시간동안 UDP 정보원이 전송한 데이터 양이 TCP 정보원이 전송한 데이터 양 보다 훨씬 많게 되는 경우가 발생하는 단점이 있다.
이러한 이유로, UDP 전송 프로토콜을 사용하는 응용서비스의 증가와 함께 네트웍에서 UDP 프로토콜을 사용하는 트래픽의 비중이 점점 높아지고 있으며, 최악의 경우에는 TCP 정보원의 패킷 전송은 점점 줄어들고, 네트웍 상태를 고려하지 않는 UDP 정보원의 패킷 전송은 증가하여 네트웍 자원을 불공정하게 사용되는 단점이 있다.
따라서, 본 발명은 상술한 종래의 문제점을 감안하여 네트웍 폭주 발생 시, 전송 계층 프로토콜에 상관없이 각 정보원에게 공정한 네트웍 자원을 할당하기 위해 라우터에서 수신 받은 패킷을 TCP 프로토콜을 사용하는 Adaptive 정보원의 패킷과 UDP 프로토콜을 사용하는 Non-Adaptive 정보원의 패킷으로 구분하여 해당 패킷에 따라 패킷 폐기 방법과 서비스 율을 다르게 적용하는 전송 제어 프로토콜/인터넷 프로토콜 네트웍에서 라우터의 폭주 제어 방법을 제공하는 데 그 목적이 있다.
상기한 목적을 달성하기 위한 전송 제어 프로토콜/인터넷 프로토콜 네트윅에서 라우터의 폭주 제어방법은, 전송 제어 프로토콜/인터넷 프로토콜 네트웍에서 라우터의 네트웍 폭주 제어 방법에 있어서, 패킷이 수신되면, 상기 패킷의 프로토콜 필드에 저장된 값을 이용하여 상기 패킷을 Adaptive 패킷 또는 Non-Adaptive 패킷으로 분류하는 제 1과정; 상기 패킷의 종류에 따른 패킷 폐기 알고리즘에 의해 Adaptive 패킷은 Adaptive 저장부에 저장하고, Non-Adaptive 패킷은 Non-Adaptive 저장부에 저장하는 제 2과정과; 상기 트래픽 유형에 따라 Adaptive 트래픽 서비스 율과 Non-Adaptive 트래픽의 서비스 율을 산출하는 제 3과정; 및 상기 제 3과정에 의해 산출된 Adaptive 트래픽 서비스 율과 Non-Adaptive 트래픽의 서비스 율을 합한 서비스 율에 따라 상기 패킷을 전송하는 제 4과정을 구비하는 것을 특징으로 한다.
삭제
삭제
삭제
삭제
삭제
상술한 목적, 특징 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이다. 이하 첨부된 도면을 참조하여 본 발명의 실시 예를 상세히 설명하면 다음과 같다.
도 5는 본 발명에 의한 패킷 폐기 방법을 나타낸 도면으로, 라우터에서 패킷 수신 시, 수신 받은 패킷을 전송 계층 프로토콜에 따라 Adaptive 큐(102a)와 Non-Adaptive 큐(102b)에 나누어 저장하고, 큐 상태에 따라 패킷 서비스 율을 조절하는 방법을 나타낸다.
상기 도 5는 수신 받은 패킷의 프로토콜 필드 값을 참조하여 Adaptive 패킷과 Non-Adaptive 패킷으로 분류하는 분류부(101)와;
상기 Adaptive 패킷을 저장하는 Adaptive 큐(102a)와 Non-Adaptive 패킷을 저장하는 Non-Adaptive 큐(102b)로 구성된 큐 구조를 갖는 버퍼(100); 및
상기 큐(102a ~ 102b)의 상태에 따라 패킷 서비스 율을 조절하는 스케줄러(104)로 구성된다.
상기 패킷의 IP 헤더에 있는 프로토콜 필드는 전송 계층 프로토콜별로 고유의 필드 값을 가지는데, 상기 필드 값은 하기에 기재한 표 1과 같다.
[표 1]
프로토콜 인터넷 제어 메시지 프로토콜 (Internet control Message Protocol : ICMP) 인터넷 그룹 관리 프로토콜 (Internet Group Management Protocol : IGMP) TCP UDP
필드 값 1 2 6 17

상기 분류부(101)는 상기 표 1에 나타난 전송 계층 프로토콜 정보(필드 값)를 참조하여 Adaptive 패킷과 Non-Adaptive 패킷으로 분류하는데, 필드 값이 "6"(TCP)이면 Adaptive 패킷으로 분류하고, 인터넷 제어 메시지 프로토콜과 인터넷 그룹 관리 프로토콜은 UDP와 같이 트래픽 전송 시 네트웍의 상태를 고려하지 않으므로 "6" 이외의 필드 값을 갖는 패킷은 Non-Adaptive 패킷으로 분류한다.
상기 큐(102a ~ 102b)의 크기는 패킷 지연과 패킷 손실 같은 흐름의 특성을 고려하여 설정하는데, Non-Adaptive 패킷은 버스트(Burst)한 성질이 적으므로 Non-Adaptive 큐(102b)의 크기를 크게 하는 것은 성능을 저하시킨다.
또한 각각의 큐(102a ~ 102b)를 관리하는 방법은 Adaptive 정보원과 Non-Adaptive 정보원이 트래픽의 전송 방식과 각각의 특성이 상이하므로, 관리 방법 또한 다르게 적용한다.
따라서, Adaptive 큐(102a)는 트래픽의 버스트 정도를 고려하여 임계치를 갖는 상기 도 3의 RED 패킷 폐기 알고리즘을 적용하여 관리하며, Non-Adaptive 큐(102b)는 큐의 저장공간이 다 차면 수신 받은 패킷을 폐기시키는 DropTail 패킷 폐기 알고리즘을 이용하여 관리한다.
상기 스케줄러(104)는 각각의 큐(102a ~102b)의 상태와 각 큐에 저장된 패킷의 특성을 고려한 가중치(Weight)를 이용하여 능동적으로 큐(102a ~ 102b)의 서비스 율을 조절한다.
상기 스케줄러(104)는 입력된 트래픽을 측정하여 입력 트래픽 양의 평균치(또는 중간치)를 각각의 큐(102a ~ 102b)에 대하여 산출하고, 큐(102a ~ 102b) 길이의 역수와 현재의 서비스 율에 비례한 새로운 서비스 율을 각각의 큐마다 산출하여 서비스 율을 조절한다.
하기에 기재한 알고리즘 1은 상기 서비스 율을 산출하는 알고리즘으로 이러한 서비스 율은 주기적으로 갱신된다.
[알고리즘 1]
Constants:
LinkB : Llink Bandwidth(LinkKB = SR-MinN + SR-MaxA = SR-Max N + SR-MinA)
SR-MinN : Minimum service rate for the Non-Adaptive buffer
SR-MaxN : Maximum sevice rate for the Non-Adaptive buffer
SR-MinA : Minimum service rate for the Adaptive buffer
SR-MaxA : Maximum sevice rate for the Adaptive buffer
QT-MinN : Minimum threshold of the Non-Adaptive queue
QT-MaxN : Maximum threshold of the Non-Adaptive queue
QT-MinA : Minimum threshold of the Adaptive queue
QT-MaxA : Maximum threshold of the Adaptive queue
W1 : Weight for the calculation of the EWMA queue length
W2 : Weight for the calculation of the EWMA service rate
Variables :
SRN : service rate of the Non-Adaptive traffic for a period.(SR-MinN ≤ SRN ≤ SR-MaxN)
SRA : service rate of the Adaptive traffic for a period.(SR-MinA ≤ SRA ≤ SR-MaxA)
AQLN :Average Queue Length of the Non-Adaptive buffer for a period.
AQLA :Average Queue Length of the Adaptive buffer for a period.
Q : current queue size
AQL : average queue size
//Initializing
IncRatePerByteN = (SR-MaxN - SR-MinN )/(QT-MaxN -QT-Min N)
IncRatePerByteA = (SR-MaxA - SR-MinA )/(QT-MaxA -QT-Min A)
Enque Part :
//패킷을 Adaptive 패킷과 Non-Adaptive 패킷으로 분류한다.
if (P ∈ Adaptive flows){
Store P into the Adaptive buffer
Implement RED algorithm
}
else {
Store P into the Non-Adaptive buffer
Implement Drop-Tail algorithm
}
//각 큐의 평균 크기를 산출한다.
Calculate the average queue size during the period.
if (start the new period)
AQL = 0
if (Q ∥packet entered)
AQL = (1 - W1 ) * AQL + W1 * Q
//각 큐에 따라 서비스 율을 산출한다.
Calculate the service rate for each queue.
//Non-Adaptive 큐의 서비스 율을 산출하는 과정.
// Calculate the service rate for Non-Adaptive packets.
if (AQLN > QT-MinN){
temp = ((AQLN - QT-MinN) * IncRatePerByteN ) + SR-MinN
SRN = (1 - W2) * SRN + W2 * temp
}
else
SRN = SRN-MinN
//Adaptive 큐의 서비스율 산출 과정
//Caculate the service rate for the adaptive packets.
if (AQLA > QT-MINA) {
temp = ((AQLA - QT-MinA) * incRateByteA) + SR-MINA
SRA = (1 - W2) * SRA + W2 * temp
}
else
SRA = SR-MinA
상기 알고리즘 1에 의한 새로운 서비스율을 산출하는 과정은 Adaptive 트래 픽과 Non-Adaptive 트래픽 모두 동일하게 적용되는데, 먼저 상기 각각의 큐에 대한 트래픽 양을 산출하고, 상기 트래픽 양에 따라 Adaptive 트래픽과 Non-Adaptive 트래픽에 대한 각각의 평균 큐 크기를 산출한다.
산출 된 평균 큐 크기가 해당 큐의 최소 임계치보다 클 경우, 상기 큐 크기의 역수와 현재 해당 트래픽의 서비스율에 비례하여 Adaptive 트래픽과 Non-Adaptive 트래픽에 대한 각각의 새로운 서비스율을 산출한다.
산출 된 평균 큐 크기가 해당 큐의 최소 임계치보다 작을 경우, 현재 해당 트래픽의 최소 서비스율을 Adaptive 트래픽과 Non-Adaptive 트래픽에 대한 각각의 새로운 서비스율로 산출한다.
이와 같이 Adaptive 트래픽과 Non-Adaptive 트래픽에 대한 새로운 서비스율 산출은 각 응용서비스의 트래픽 양을 예측하여 결정된 최소 트래픽 양과 최대 트래픽 양 외에 버퍼 상태를 고려하여 산출한다.
도 6은 도 5에 의한 패킷 서비스 과정을 나타낸 순서도로, 라우터에서 수신 받은 패킷을 그 특성에 따라 Adaptive 패킷과 Non-Adaptive 패킷으로 분류하여 해당 큐(102a ~ 102b)의 알고리즘과 서비스 율에 따라 패킷 서비스를 제공하는 과정을 나타낸다.
먼저, 사용자로부터 패킷을 수신 받는다(S100).
수신 받은 패킷의 프로토콜 필드 값을 참조하고(S102), 상기 필드 값이 "6"(TCP 패킷)과 같은지 판단한다(S104).
상기 판단 결과, 상기 필드 값이 "6"이면 상기 RED 패킷 폐기 알고리즘을 적 용하고(S106), 상기 RED 패킷 폐기 알고리즘에 의해 패킷의 저장 유무를 결정하여 적합하면 Adaptive 큐(S02a)에 저장하고 적합하지 않으면 패킷을 폐기한다(S108).
현재 각 큐(102a ~ 102b)에 대해 새로운 서비스 율을 산출하고(S110),산출된 Adaptive 큐의 서비스 율과 Non-Adaptive 큐의 서비스 율을 합한 속도로 패킷 서비스를 제공한다(S112).
상기 판단 결과, 상기 필드 값이 "6"이 아니면 상기 Drop-Tail 패킷 폐기 알고리즘을 적용하고(S114),상기 RED 패킷 폐기 알고리즘에 의해 패킷의 저장 유무를 결정하여 적합하면 Non-Adaptive 큐(102a)에 저장하고 적합하지 않으면 패킷을 폐기한다(S116).
현재 각 큐(102a ~ 102b)에 대해 새로운 서비스 율을 산출하고(S110),산출된 Adaptive 큐의 서비스율과 Non-Adaptive 큐의 서비스 율을 합한 속도로 패킷 서비스를 제공한다(S112).
이상 설명한 바와 같이 본 발명에 의하면, 네트웍 폭주 시 라우터에서 TCP 패킷과 UDP 패킷을 분리하여 관리함으로써 TCP/IP 네트웍에서 TCP 프로토콜을 사용하는 정보원과 UDP 프로토콜을 사용하는 정보원에게 공정한 자원을 할당하는 이점이 있다.
또한, UDP 정보원에 의한 비의도적이거나 의도적인 공격에 대하여 TCP 정보원을 보호할 수 있으며, 사용자에게 신뢰성 있는 네트웍 환경을 제공하고, 정확한 네트웍 상태를 파악할 수 있는 이점이 있다.
아울러 본 발명의 바람직한 실시 예들은 예시의 목적을 위해 개시된 것이며, 당업자라면 본 발명의 사상과 범위 안에서 다양한 수정, 변경, 부가 등이 가능할 것이며, 이러한 수정 변경 등은 이하의 특허 청구의 범위에 속하는 것으로 보아야 할 것이다.

Claims (7)

  1. 전송 제어 프로토콜/인터넷 프로토콜 네트웍에서 라우터의 네트웍 폭주 제어 방법에 있어서,
    패킷이 수신되면, 상기 패킷의 프로토콜 필드에 저장된 값을 이용하여 상기 패킷을 Adaptive 패킷 또는 Non-Adaptive 패킷으로 분류하는 제 1과정;
    상기 패킷의 종류에 따른 패킷 폐기 알고리즘에 의해 Adaptive 패킷은 Adaptive 저장부에 저장하고, Non-Adaptive 패킷은 Non-Adaptive 저장부에 저장하는 제 2과정;
    상기 트래픽 유형에 따라 Adaptive 트래픽 서비스 율과 Non-Adaptive 트래픽의 서비스 율을 산출하는 제 3과정; 및
    상기 제 3과정에 의해 산출된 Adaptive 트래픽 서비스 율과 Non-Adaptive 트래픽의 서비스 율을 합한 서비스 율에 따라 상기 패킷을 전송하는 제 4과정을 구비하는 것을 특징으로 하는 전송 제어 프로토콜/인터넷 프로토콜 네트웍에서 라우터의 폭주 제어 방법.
  2. 제 1항에 있어서,
    상기 제 1과정에서 트래픽 유형에 따라 패킷을 분류하는 단계는,
    수신 받은 패킷의 프로토콜 필드 값을 참조하는 단계와;
    내장된 패킷의 프로토콜 필드 정보를 통해 상기 패킷의 프로토콜 필드 값이 TCP 프로토콜을 나타내는 필드 값과 동일하면 Adaptive 패킷으로 분류하는 단계; 및
    상기 패킷의 프로토콜 필드 값이 TCP 프로토콜을 나타내는 필드 값과 동일하지 않으면 Non-Adaptive 패킷으로 분류하는 단계를 구비하는 것을 특징으로 하는 전송 제어 프로토콜/인터넷 프로토콜 네트웍에서 라우터의 폭주 제어 방법.
  3. 제 1항에 있어서,
    상기 제 2과정의 패킷 폐기 알고리즘에 의한 패킷 저장 방법은,
    상기 패킷이 Adaptive 패킷이면, RED 패킷 폐기 알고리즘을 이용하여 Adaptive 저장부에 저장하는 단계; 및
    상기 패킷이 Non-Adaptive 패킷이면, Drop-Tail 패킷 폐기 알고리즘을 이용하여 Non-Adaptive 저장부에 저장하는 단계를 구비하는 것을 특징으로 하는 전송 제어 프로토콜/인터넷 프로토콜 네트웍에서 라우터의 폭주 제어 방법.
  4. 제 3항에 있어서,
    상기 RED 패킷 폐기 알고리즘을 이용한 Adaptive 패킷 저장 단계는,
    현재 상기 Adaptive 저장부의 큐에 대한 평균 길이를 계산하는 단계와;
    상기 평균 길이가 상기 큐의 최소 임계치 보다 작을 경우, 상기 패킷을 Adaptive저장부에 저장하는 단계와;
    상기 평균 큐 길이가 상기 큐의 최소 임계치 보다 크고 최대 임계치 보다 작을 경우, 패킷 폐기 확률 값과 난수 발생기를 통해 생성한 난수를 비교하여, 패킷 폐기 확률 값이 상기 난수 보다 작으면, 상기 패킷을 Adaptive저장부에 저장하고, 패킷 폐기 확률 값이 상기 난수보다 크면 상기 패킷을 폐기하는 단계; 및
    상기 평균 큐 길이가 상기 큐의 최대 임계치 보다 크면 상기 패킷을 폐기하는 단계를 구비하는 것을 특징으로 하는 전송 제어 프로토콜/인터넷 프로토콜 네트웍에서 라우터의 폭주 제어 방법.
  5. 제 3항에 있어서,
    상기 Drop-Tail 패킷 폐기 알고리즘을 이용한 Non-Adaptive 패킷의 저장 단계는,
    상기 Non-Adaptive 저장부의 큐에 상기 패킷을 저장할 여유 공간이 있는지를 검사하는 단계와;
    상기 큐에 상기 패킷을 저장할 여유공간이 있을 경우, 상기 패킷을 Non-Adaptive 저장부에 저장하는 단계와;
    상기 큐에 상기 패킷을 저장할 여유공간이 없을 경우, 상기 패킷을 폐기시키는 단계를 구비하는 것을 특징으로 하는 전송 제어 프로토콜/인터넷 프로토콜 네트웍에서 라우터의 폭주 제어 방법.
  6. 제 1항에 있어서,
    상기 제 3 과정에서 Adaptive 저장부의 서비스 율을 산출하는 과정은,
    상기 Adaptive 저장부의 트래픽 양을 산출하는 단계와;
    상기 트래픽 양에 따라 상기 Adaptive 저장부의 평균 큐 크기를 산출하는 단계와;
    산출 된 평균 큐 크기가 Adaptive 큐의 최소 임계치 보다 클 경우, Adaptive 저장부의 크기의 역수와 현재 서비스 율에 비례하여 Adaptive 트래픽의 서비스 율을 산출하는 단계; 및
    산출 된 평균 큐 크기가 Adaptive 큐의 최소 임계치 보다 작을 경우, Adaptive 저장부의 최소 서비스 율을 Adaptive 트래픽의 서비스 율로 산출하는 단계를 구비하는 것을 특징으로 하는 전송 제어 프로토콜/인터넷 프로토콜 네트웍에서 라우터의 폭주 제어 방법.
  7. 제 1 항에 있어서,
    상기 제 3과정에서 Non-Adaptive 저장부의 서비스 율을 산출하는 과정은,
    상기 Non-Adaptive 저장부의 트래픽 양을 산출하는 단계와;
    상기 트래픽 양에 따라 상기 Non-Adaptive 저장부의 평균 큐 크기를 산출하는 단계와;
    산출 된 평균 큐 크기가 Non-Adaptive 큐의 최소 임계치 보다 클 경우, Non-Adaptive 저장부의 크기의 역수와 현재 서비스 율에 비례하여 Non-Adaptive 트래픽의 서비스 율을 산출하는 단계; 및
    산출 된 평균 큐 크기가 Non-Adaptive 큐의 최소 임계치 보다 작을 경우, Non-Adaptive 저장부의 최소 서비스 율을 Non-Adaptive 트래픽의 서비스 율로 산출하는 단계를 구비하는 것을 특징으로 하는 전송 제어 프로토콜/인터넷 프로토콜 네트웍에서 라우터의 폭주 제어 방법.
KR1020000086895A 2000-12-30 2000-12-30 전송 제어 프로토콜/인터넷 프로토콜 네트웍에서 라우터의폭주 제어방법 KR100674329B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020000086895A KR100674329B1 (ko) 2000-12-30 2000-12-30 전송 제어 프로토콜/인터넷 프로토콜 네트웍에서 라우터의폭주 제어방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020000086895A KR100674329B1 (ko) 2000-12-30 2000-12-30 전송 제어 프로토콜/인터넷 프로토콜 네트웍에서 라우터의폭주 제어방법

Publications (2)

Publication Number Publication Date
KR20020058765A KR20020058765A (ko) 2002-07-12
KR100674329B1 true KR100674329B1 (ko) 2007-01-24

Family

ID=27689846

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020000086895A KR100674329B1 (ko) 2000-12-30 2000-12-30 전송 제어 프로토콜/인터넷 프로토콜 네트웍에서 라우터의폭주 제어방법

Country Status (1)

Country Link
KR (1) KR100674329B1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100481614B1 (ko) 2002-11-19 2005-04-08 한국전자통신연구원 서비스 거부와 분산 서비스 거부 공격으로부터 정상트래픽을 보호하는 방법 및 그 장치
US20050060424A1 (en) * 2003-09-15 2005-03-17 Sachin Garg Congestion management in telecommunications networks
KR100656509B1 (ko) * 2004-03-03 2006-12-11 삼성전자주식회사 비디오 서비스 대역폭 보장을 위한 패킷 체증제어 방법
KR100603570B1 (ko) * 2004-09-22 2006-07-24 삼성전자주식회사 네트워크 혼잡 제어 장치 및 방법
KR100639969B1 (ko) 2004-12-02 2006-11-01 한국전자통신연구원 이상 트래픽 제어 장치 및 그 제어 방법
KR100798920B1 (ko) * 2005-11-18 2008-01-29 한국전자통신연구원 RED방식을 확장한 VoIP 네트워크의 폭주 제어 방법및 이를 위한 장치
CN115085890B (zh) * 2022-06-23 2024-06-25 云合智网(上海)技术有限公司 数据中心网络芯片优化tcp rto重传等待时间的方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06276235A (ja) * 1993-03-23 1994-09-30 Matsushita Electric Ind Co Ltd Lan−wan接続装置の送信方法
WO1996032681A1 (en) * 1995-04-13 1996-10-17 Cray Research, Inc. Adaptive routing mechanism for torus interconnection network
JPH11205384A (ja) * 1998-01-19 1999-07-30 Ntt Data Corp データ通信システム及びデータ通信装置
KR20000052154A (ko) * 1999-01-30 2000-08-16 윤종용 개량된 게이트웨이 구현을 위한 데이터 처리 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06276235A (ja) * 1993-03-23 1994-09-30 Matsushita Electric Ind Co Ltd Lan−wan接続装置の送信方法
WO1996032681A1 (en) * 1995-04-13 1996-10-17 Cray Research, Inc. Adaptive routing mechanism for torus interconnection network
JPH11205384A (ja) * 1998-01-19 1999-07-30 Ntt Data Corp データ通信システム及びデータ通信装置
KR20000052154A (ko) * 1999-01-30 2000-08-16 윤종용 개량된 게이트웨이 구현을 위한 데이터 처리 방법

Also Published As

Publication number Publication date
KR20020058765A (ko) 2002-07-12

Similar Documents

Publication Publication Date Title
Floyd et al. Random early detection gateways for congestion avoidance
US6535482B1 (en) Congestion notification from router
US6625118B1 (en) Receiver based congestion control
Mankin et al. Gateway congestion control survey
US6958998B2 (en) Traffic management in packet-based networks
Ahammed et al. Anakyzing the performance of active queue management algorithms
US7219228B2 (en) Method and apparatus for defending against SYN packet bandwidth attacks on TCP servers
WO2001045331A1 (en) Congestion control method for a packet-switched network
Chatranon et al. A survey of TCP-friendly router-based AQM schemes
Banka et al. Metrics for degree of reordering in packet sequences
KR100674329B1 (ko) 전송 제어 프로토콜/인터넷 프로토콜 네트웍에서 라우터의폭주 제어방법
WO2008134049A1 (en) Lightweight bandwidth-management scheme for elastic traffic
Subramani et al. Improving congestion control performance and fairness in multihop ad hoc network
Vyakaranal et al. Performance evaluation of TCP using AQM schemes for congestion control
Biswal et al. Comparative analysis of compound tcp with various end-to-end congestion control mechanisms
JP2008193310A (ja) ルータのバッファ管理方法並びにその管理方法を用いたルータ
Li et al. Improving TCP performance for asymmetric networks
Wang et al. C3P: a cooperant congestion control protocol in high bandwidth-delay product networks
Cheng et al. Improving the ramping up behavior of TCP slow start
Manzoor et al. CHOKeD: fair active queue management
Cerdà et al. Study of the TCP Unfairness in a Wireless Environment
Mankin et al. RFC1254: gateway congestion control survey
Lee et al. Explicit traffic shaping scheme in content centric networking
Biswal et al. A bandwidth delay product based modified Veno for high-speed networks: BDP-Veno
Yaghmaee et al. A New Fuzzy Logic Approach for TCP Congestion Control

Legal Events

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

Payment date: 20130117

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140115

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee