KR100674329B1 - Method for Congestion Control of the Router in TCP/IP - Google Patents

Method for Congestion Control of the Router in TCP/IP 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
Korean (ko)
Other versions
KR20020058765A (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 KR1020000086895A priority Critical patent/KR100674329B1/en
Publication of KR20020058765A publication Critical patent/KR20020058765A/en
Application granted granted Critical
Publication of KR100674329B1 publication Critical patent/KR100674329B1/en

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

Abstract

본 발명은 전송 제어 프로토콜/인터넷 프로토콜 네트웍에서 라우터의 폭주 제어 방법에 관한 것으로, 네트웍 폭주 발생 시 전송 계층 프로토콜에 상관없이 각 정보원에게 공정한 네트웍 자원을 할당하기 위해 라우터에서 수신 받은 패킷을 TCP 프로토콜을 사용하는 Adaptive 정보원의 패킷과 UDP 프로토콜을 사용하는 Non-Adaptive 정보원의 패킷으로 구분하여 해당 패킷에 따라 패킷 폐기 방법과 서비스율을 다르게 적용한다. 이에 따라, UDP 정보원에 의한 비의도적이거나 의도적인 공격에 대하여 TCP 정보원을 보호할 수 있으며, 사용자에게 신뢰성 있는 네트웍 환경을 제공하고, 정확한 네트웍 상태를 파악할 수 있는 이점이 있다.The present invention relates to a congestion control method of a router in a transmission control protocol / internet protocol network. When a network congestion occurs, a packet received from a router uses a TCP protocol to allocate a fair network resource to each information source regardless of a transport layer protocol. Packets of adaptive information sources are divided into packets of non-adaptive information sources using UDP protocol, and the packet discard method and service rate are applied differently according to the packets. Accordingly, the TCP information source can be protected against unintentional or intentional attack by the UDP information source, provide a reliable network environment to the user, and have the advantage of identifying the correct network state.

Description

전송 제어 프로토콜/인터넷 프로토콜 네트웍에서 라우터의 폭주 제어 방법{Method for Congestion Control of the Router in TCP/IP}Method for Congestion Control of the Router in TCP / IP in Transmission Control Protocol / Internet Protocol Networks

도 1은 본 발명이 적용되는 TCP/IP 네트웍에서의 TCP 패킷 헤더 구성도.1 is a block diagram of a TCP packet header in a TCP / IP network to which the present invention is applied.

도 2는 본 발명이 적용되는 TCP/IP 네트웍에서의 UDP 패킷 헤더 구성도.2 is a block diagram of a UDP packet header in a TCP / IP network to which the present invention is applied.

도 3은 종래의 RED 알고리즘에 의한 패킷 폐기 방법을 나타낸 도면.3 is a diagram illustrating a packet discard method using a conventional RED algorithm.

도 4는 도 3에 의한 패킷 폐기 과정을 나타낸 순서도.4 is a flowchart illustrating a packet discard process according to FIG. 3.

도 5는 본 발명에 의한 패킷 폐기 방법을 나타낸 도면.5 is a view showing a packet discard method according to the present invention.

도 6은 도 5에 의한 패킷 서비스 과정을 나타낸 순서도.6 is a flowchart illustrating a packet service process according to FIG. 5.

<도면의 주요부분에 대한 부호의 설명><Description of the symbols for the main parts of the drawings>

10 : TCP 패킷 헤더 11,31 : 소스 포트10: TCP packet header 11, 31: source port

12,32 : 목적지 포트 13 : 순서번호12,32: destination port 13: sequence number

14 : 확인응답 번호 15 : 윈도우14: Acknowledgment Number 15: Windows

16,34 : 검사 합계 17 : 어전트 포인터16,34: check sum 17: agent pointer

18,35 : 데이터 30 : UDP 패킷 헤더18,35: data 30: UDP packet header

33 : UDP 메시지 길이 50,102 : 버퍼33: UDP message length 50,102: buffer

101 : 분류부 102a,102b : 큐101: classification unit 102a, 102b: queue

104 : 스케줄러104: scheduler

본 발명은 전송제어 프로토콜/인터넷 프로토콜(Transmission Control Protocol/Internet Protocol : 이하 TCP/IP라 칭한다)을 기반으로 하는 데이터 통신망에서 트래픽 폭주 발생 시 사용자 데이터의 전송 계층 프로토콜(Transport Layer Protocol)에 상관없이 공정한 자원을 할당하기 위한 것으로, 보다 상세하게는 라우터에서 데이터를 Adaptive 정보원(Source/Application)과 Non-Adaptive 정보원으로 분리하여 서로 다른 패킷 폐기 알고리즘을 적용하여 각각의 버퍼에 저장하는 전송 제어 프로토콜/인터넷 프로토콜 네트웍에서 라우터의 폭주 제어 방법에 관한 것이다.The present invention is fair regardless of the transport layer protocol of the user data when traffic congestion occurs in a data communication network based on a transmission control protocol / Internet protocol (hereinafter referred to as TCP / IP). In order to allocate resources, more specifically, the transmission control protocol / Internet protocol that separates data into adaptive information sources (Non-Adaptive and Non-Adaptive information sources) and stores them in each buffer by applying different packet discard algorithms. The present invention relates to a congestion control method of a router in a network.

인터넷은 전세계의 정보 매체를 연결하는 비영리적 성격의 정보 통신망으로 출발하였으나, 최근 들어 PC 통신과 웹(World Wide Web) 등의 급속한 성장으로 인한 인터넷 트래픽의 폭발적인 증가에 따라 미래 정보사회의 핵심 인프라로 발전하고 있다.The Internet started as a non-profit information and communication network connecting information media around the world, but recently developed into a core infrastructure of the future information society following the explosive increase in Internet traffic caused by the rapid growth of PC communication and the World Wide Web. Doing.

또한 미래의 정보통신 망으로 주목되던 비동기 전송 방식(Asynchronous Transfer Mode : ATM) 통신망은 Native ATM API를 이용한 응용서비스의 개발이 아직 전세계적으로 매우 미미한 상태이며 인터넷의 상업적 활용이 주요 이슈로 대두되고 있다.In addition, asynchronous transfer mode (ATM) communication network, which is attracting attention as the information and communication network of the future, has developed very little application service using native ATM API in the world, and the commercial use of the internet is emerging as a major issue. .

따라서 당분간 모든 응용서비스의 플랫폼은 TCP/IP 기반의 인터넷이 활용될 것으로 예상된다.Therefore, for the time being, all application services are expected to use TCP / IP based Internet.

TCP/IP 계층은 응용 계층(Application Layer)과 전송 계층과 인터넷 계층(Internet Layer) 및 물리계층(Physical Layer)으로 구성되며, 현재 폭넓게 사용되고 있는 전송 계층 프로토콜은 TCP와 같이 네트웍의 상태를 고려하여 전송률을 조절하는 프로토콜과 사용자 데이타그램 프로토콜(User Datagram Protocol : 이하 UDP라 칭한다)과 같이 네트웍 상태를 고려하지 않고 무조건 데이터를 전송하는 프로토콜이 있다.TCP / IP layer is composed of Application Layer, Transport Layer, Internet Layer, and Physical Layer. Currently, widely used transport layer protocols are considered to be based on network conditions, such as TCP. There are protocols for controlling data and protocols for transmitting data unconditionally without considering network conditions, such as User Datagram Protocol (hereinafter referred to as UDP).

도 1은 본 발명이 적용되는 TCP/IP 네트웍에서의 TCP 패킷 헤더(10) 구성도로, 데이터를 세그먼트(Segment) 단위로 전송하는 TCP 정보원이 사용하는 TCP 패킷의 구조를 나타낸다.1 is a configuration diagram of a TCP packet header 10 in a TCP / IP network to which the present invention is applied, and shows a structure of a TCP packet used by a TCP information source for transmitting data in segments.

상기 도 1은 TCP 패킷을 전송하는 발신지(송신지)의 주소를 나타내는 소스 포트(Source Port)(11)와;1 is a source port 11 indicating an address of a source (sender) for transmitting a TCP packet;

TCP 패킷을 수신 받을 목적지(수신지)의 주소를 나타내는 목적지 포트(Destination Port)(12)와;A destination port 12 indicating an address of a destination (destination) to receive the TCP packet;

전체 메시지(데이터) 스트림(Stream)에서의 데이터 전송 시작 위치를 나타내는 순서번호(Sequence Number)(13)와;A sequence number 13 indicating a data transmission start position in the entire message (data) stream;

전체 메시지(데이터) 스트림(Stream)에서의 다음에 전송 받을 데이터 위치를 나타내는 확인 응답 번호(Acknowledge Number)(14)와;An acknowledgment number 14 indicating a data position to be transmitted next in the entire message (data) stream;

재전송 타임아웃(Retransmission Time Out : RTO)과 복제 응답 신호(Duplicate Ack)를 사용하여 송수신 측간에 일정 개수의 패킷을 연속해서 전송 하고 해당 패킷이 수신지에 도착이 안됐을 경우 패킷을 재전송하는 Sliding-Window Flow Control을 위한 윈도우(Window)(15)와;Sliding-Window that uses a Retransmission Timeout (RTO) and Duplicate Ack to send a certain number of packets consecutively between the sending and receiving sides, and retransmits the packets if they do not reach their destination. A window 15 for flow control;

수신지에 같은 수의 비트가 도착했는지를 확인 할 수 있도록 전송단위 내의 비트 수를 나타내는 검사합계(Checksum)(160; 및A checksum 160 indicative of the number of bits in the transmission unit to determine whether the same number of bits have arrived at the destination; and

세그먼트 내에 급한 데이터의 크기를 나타내는 어전트 포인터(Urgent Pointer)(17); 및An urgent pointer 17 indicating the size of urgent data in the segment; And

전송할 데이터를 나타내는 데이터(Data)(18)로 구성된다.It consists of Data 18 representing the data to be transferred.

상기 TCP 정보원은 데이터를 전송할 때 윈도우(15) 크기를 사용하여 한번에 전송할 수 있는 데이터 양을 결정하며, 재전송 타임아웃과 복제 응답 신호를 이용하여 암시적으로 네트웍의 트래픽 폭주를 감지하여 네트웍 상태에 따라 데이터 전송을 조절한다.The TCP information source determines the amount of data that can be transmitted at one time by using the size of the window 15 when transmitting data, and implicitly detects the traffic congestion of the network by using the retransmission timeout and the replication response signal, according to the network state. Adjust data transfer.

즉, RTT(Round Trip Time)에 의해 계산된 재전송 타임아웃 동안 확인 응답 메시지가 도착하지 않으면, 네트웍에 폭주가 발생했다고 간주하여 상기 윈도우(15) 크기를 줄이게 된다.That is, if the acknowledgment message does not arrive during the retransmission timeout calculated by the round trip time (RTT), the size of the window 15 is reduced by considering that congestion has occurred in the network.

따라서, 네트웍 폭주에 의한 패킷 손실에 따라 TCP 윈도우의 크기가 기하급수적으로 감소하게 된다.Therefore, the TCP window size decreases exponentially with packet loss due to network congestion.

도 2는 본 발명이 적용되는 TCP/IP 네트웍에서의 UDP 패킷 헤더 구성도로, UDP 정보원이 사용하는 UDP 패킷의 구조를 나타낸다.2 is a diagram illustrating a structure of a UDP packet header in a TCP / IP network to which the present invention is applied, and shows a structure of a UDP packet used by a UDP information source.

상기 도 2는 UDP 패킷을 전송하는 발신지(송신지)의 주소를 나타내는 소스 포트(31)와; 2 shows a source port 31 indicating an address of a source (sender) for transmitting a UDP packet;                         

UDP 패킷을 수신 받을 목적지(수신지)의 주소를 나타내는 목적지 포트(32)와;A destination port 32 indicating an address of a destination (destination) to receive the UDP packet;

UDP 패킷의 전체 데이터 비트 수를 나타내는 메시지 길이(33)와;A message length 33 indicating the total number of data bits of the UDP packet;

전송단위 내의 비트 수를 이용하여 수신지에 같은 수의 비트가 도착했는지를 확인하기 위한 검사합계(34); 및A check sum 34 for confirming whether the same number of bits have arrived at the destination using the number of bits in the transmission unit; And

전송할 데이터를 나타내는 데이터(35)로 구성된다.It consists of data 35 representing the data to be transmitted.

UDP 패킷 헤더는 상기 도 1에 나타난 TCP 패킷 헤더에 비해 그 구조가 간단하며, 데이터의 신뢰성 있는 전송이나 네트웍 상태에 따른 전송률을 조절할 수 있는 정보를 갖고 있지 않다.The structure of the UDP packet header is simpler than that of the TCP packet header shown in FIG. 1, and does not have information for adjusting the transmission rate depending on reliable transmission of data or network conditions.

지금까지의 인터넷 서비스는 단대단 간의 엄격한 서비스 품질을 요구하지 않는 데이터 전송 위주의 최선형 서비스만을 제공하고 있으나, 인터넷이 멀티미디어 서비스 제공을 위한 인프라로 발전하고 있어 응용 서비스의 다양한 서비스 품질 요구를 만족시킬 수 있는 인터넷으로 발전이 요구되고 있다.Until now, the Internet service provides only the best data-oriented service that does not require strict service quality between end-to-end, but since the Internet is developing as an infrastructure for providing multimedia service, it can satisfy various service quality requirements of application services. The development of the Internet is required.

이들 멀티미디어 서비스는 실시간으로 데이터를 전송하는 것을 요구하므로, 전송 계층 프로토콜로서 TCP 프로토콜보다는 UDP 프로토콜을 선호하고 있다. 최근 들어 네트웍 게임, 오디오, 비디오 등의 사용자가 증가하면서 전송계층 프로토콜로 UDP를 사용하는 트래픽이 급속히 증가하고 있다.Since these multimedia services require the transmission of data in real time, the UDP protocol is preferred to the TCP protocol as the transport layer protocol. Recently, as users of network games, audio, and video are increasing, traffic using UDP as a transport layer protocol is rapidly increasing.

이러한 UDP 프로토콜을 사용하는 정보원은 네트웍의 상태를 고려하지 않고 계속적으로 트래픽을 생성하여 네트웍으로 전송함으로써 네트웍의 폭주를 가중시킬 뿐만 아니라 TCP 연결의 성능을 저하시키는 원인이 되고 있다. The information source using the UDP protocol continuously generates traffic and transmits it to the network without considering the state of the network, thereby increasing the network congestion and reducing the performance of the TCP connection.                         

또한, UDP 프로토콜을 사용하는 Non-Adaptive 정보원은 공격적 특성으로 인하여 고의 또는 자신도 모르게 TCP 프로토콜을 사용하는 다른 정보원에게 피해를 줄 수 있다.In addition, non-adaptive information sources using the UDP protocol may intentionally or unknowingly damage other sources using the TCP protocol due to their aggressive nature.

따라서, 큰 대역폭을 요구하는 연결이 있는 고속 네트웍에서 일시적인 트래픽 폭주에 대비하여 대용량의 큐를 가진 라우터가 필요로 되고 있다.Therefore, there is a need for a router with a large queue in preparation for temporary traffic congestion in a high speed network with a large bandwidth connection.

그러나, TCP 흐름 제어만 존재하는 현 네트웍 환경에서 대형 큐를 가지는 것은 평균 지연을 증가시키고, 수율(Throughput)을 감소시키므로 바람직하지 못하다.However, having a large queue in the current network environment where only TCP flow control exists is undesirable because it increases the average delay and reduces the throughput.

전송 계층 프로토콜은 피드 백(Feed-back) 제어가 없는 네트웍 환경에서 서비스 타임, 수율의 변화, 단대 단(예 : end to end, user to user 등) 지연, 패킷 손실 등으로 부터 네트웍의 폭주를 추정할 수 있다.Transport layer protocol estimates network congestion from service time, yield change, end-to-end (eg end to end, user to user, etc.) delay, packet loss, etc. in network environment without feed-back control. can do.

그러나, 네트웍 폭주는 폭주 상태인 라우터(Router)의 수, 연결의 트래픽 패턴, 라우팅의 변화, 큐잉 지연에 의한 전송지연 등과 같은 여러 요소에 의해 영향을 받기 때문에 각 연결의 전송 계층 프로토콜은 폭주에 대한 판단이나 원인을 파악하기 어렵다.However, because network congestion is affected by several factors, such as the number of congested routers, traffic patterns in connections, changes in routing, and delays in transmission due to queuing delays, the transport layer protocol for each connection Difficult to determine judgment or cause.

이러한 네트웍 폭주의 감지 및 그 정도, 폭주의 지속 기간 등에 대한 제어는 라우터에서 가장 효과적으로 이루어질 수 있는데, 라우터에서 연결의 트래픽 처리 방식은 네트웍 폭주 시 모든 연결이 지연을 공유하며, 확장성이 좋고 구현하기에 용이한 선입 선출(First-In, First-Out : FIFO) 방식으로 처리된다.The detection of network congestion and the control of the extent and duration of congestion can be most effectively performed in the router. In the router, the connection traffic processing method all the networks share the delay during the congestion, It is handled in a first-in, first-out (FIFO) manner.

현재 인터넷 게이트 웨이(Gateway)나 라우터에서 폭주 제어를 위해 사용되고 있는 알고리즘으로는 패킷 폐기 알고리즘인 RED(Random Early Detection)가 폭 넓 게 사용되고 있다.Currently, the packet discard algorithm RED (Random Early Detection) is widely used for congestion control in the Internet gateway or router.

도 3은 종래의 RED 알고리즘에 의한 패킷 폐기 방법을 나타낸 도면으로, 최소 임계치(Minimum Threshold)와 최대 임계치(Maximum Threshold)를 갖는 RED 버퍼(50)에서의 패킷 폐기 방법을 나타낸다.3 is a diagram illustrating a packet discard method using a conventional RED algorithm, and illustrates a packet discard method in a RED buffer 50 having a minimum threshold and a maximum threshold.

상기 도 3은 최소 임계치(thresh_)와 최대임계치(maxthresh_) 사이에서 패킷 폐기 확률이 "0" 부터 "max_p" 까지 변화하는 것을 보여주는데, 이 때 패킷 폐기 확률(Probl_)를 결정하는 식은 하기에 기재한 식 1과 같다.FIG. 3 shows that the packet discard probability varies from "0" to "max_p" between the minimum threshold value and the maximum threshold value maxthresh_. The equation for determining the packet discard probability Probl_ is described below. Equation 1

[식 1][Equation 1]

if(bytes_), pl = max_p(ave_ - thresh_)/(maxthresh_ - thresh_)if (bytes_), pl = max_p (ave_-thresh _) / (maxthresh_-thresh_)

pl = pl(pksize / Max_pksize_)            pl = pl (pksize / Max_pksize_)

probl_ = pl / (1 - count pl)            probl_ = pl / (1-count pl)

상기 식 1에서 count는 임의의 흐름에 속하는 패킷을 폐기한 후, 버퍼(50)에 저장되는 패킷의 수이고, ave_는 평균 큐 크기를 나타내는 것으로서 지수가중치이동평균(Exponential Weighted Moving Average : EWMA)을 이용하여 산출하며 그 산출 식은 하기에 기재한 식 2와 같다.In Equation 1, count is the number of packets stored in the buffer 50 after discarding packets belonging to an arbitrary flow, and ave_ represents an average queue size, which is an exponential weighted moving average (EWMA). It calculates using and the calculation formula is the same as Formula 2 described below.

[식 2][Equation 2]

ave_ = (1 - q_weight_) * ave_ + q_weight_ * curq_ave_ = (1-q_weight_) * ave_ + q_weight_ * curq_

도 4는 도 3에 의한 패킷 폐기 과정을 나타낸 순서도로, 라우터 또는 게이트 웨이에서 수신 받은 패킷을 평균 큐 크기에 따라 폐기 여부를 결정하는 과정을 나타낸다. FIG. 4 is a flowchart illustrating a packet discard process according to FIG. 3, and illustrates a process of determining whether to discard a packet received at a router or a gateway according to an average queue size.                         

먼저, 정보원(예 : Adaptive 정보원, Non-Adaptive 정보원)으로부터 패킷을 수신 받는다(S2).First, a packet is received from an information source (for example, an adaptive information source or a non-adaptive information source) (S2).

현재 큐(Queue)의 평균 큐 길이(Qa)를 계산하여(S4), 평균 큐 길이(Qa)가 최소 임계치(thresh_) 보다 큰지 판단한다(S6).The average queue length Qa of the current queue is calculated (S4), and it is determined whether the average queue length Qa is larger than the minimum threshold threshold_ (S6).

상기 판단 결과, 최소 임계치(thresh_) 보다 작으면 "count" 변수를 증가시키고(S22), RED 버퍼(50)에 저장한다(S18).As a result of the determination, if it is smaller than the minimum threshold threshold_, the "count" variable is increased (S22) and stored in the RED buffer 50 (S18).

상기 판단 결과, 최소 임계치(thresh_) 보다 크면, 최대임계치(maxthresh_) 보다 작은지 판단한다(S8).As a result of the determination, if it is greater than the minimum threshold thresh_, it is determined whether it is smaller than the maximum threshold maxthresh_ (S8).

상기 판단 결과, 최대임계치(maxthresh_) 보다 크면 "count" 변수 값은 "0"이 되며(S20), 상기 패킷을 폐기한다(S22).As a result of the determination, if the maximum threshold value (maxthresh_) is larger than the "count" variable value is "0" (S20), the packet is discarded (S22).

상기 판단 결과, 최대임계치(maxthresh_) 보다 작으면 상기 식 1에 의해 패킷 폐기 확률 값(Pa)을 산출하고(S10), 난수 발생기를 이용하여 난수(R)를 생성한다(S12).As a result of the determination, if it is smaller than the maximum threshold maxthresh_, the packet discard probability value Pa is calculated by Equation 1 (S10), and a random number R is generated using the random number generator (S12).

상기 패킷 폐기 확률 값(Pa)이 상기 난수(R) 보다 작은지 판단하여(S14), 패킷 확률 값(Pa)이 작으면(S14) "count" 변수 값을 증가시키고(S16), 패킷을 버퍼에 저장한다(S18).It is determined whether the packet discard probability value Pa is smaller than the random number R (S14). If the packet probability probability Pa is small (S14), the value of the "count" variable is increased (S16), and the packet is buffered. Store in (S18).

상기 판단 결과, 상기 패킷 폐기 확률 값(Pa)이 상기 난수(R) 보다 크면 "count" 변수 값을 "0"으로 만들고(S20), 패킷을 폐기시킨다(S22).As a result of the determination, if the packet discard probability value Pa is greater than the random number R, the variable "count" is made "0" (S20), and the packet is discarded (S22).

상기 도 4에서와 같이 RED 패킷 알고리즘은 큐를 감시하다가 평균 큐 크기(Qa)가 임계치를 넘으면 임의적으로 연결을 하나 선택하여 그 연결에 속한 패 킷을 폐기한다. 이때, 어떤 연결이 선택될 확률은 입력되는 연결의 트래픽 양에 비례한다.As shown in FIG. 4, the RED packet algorithm monitors a queue and randomly selects a connection and discards a packet belonging to the connection when the average queue size Qa exceeds a threshold. In this case, the probability that a connection is selected is proportional to the traffic amount of the input connection.

따라서, RED 패킷 폐기 알고리즘은 전송 계층 프로토콜에 상관없이 네트웍의 다른 라우터에서의 폭주 제어 방법에 영향을 받지 않고 점진적으로 수행할 수 있으며, 평균 큐 크기를 제어하여 폭주를 방지하고, TCP의 정보원 동기화 현상(Global Synchronization)을 해결하며, 전송 계층 프로토콜의 흐름 제어가 없는 경우에도 평균 큐 크기에 상한을 유지한다.Therefore, the RED packet discard algorithm can be performed gradually without being affected by the congestion control method in other routers of the network regardless of the transport layer protocol, and control the average queue size to prevent congestion and synchronize the information source of TCP. It solves Global Synchronization and maintains an upper limit on the average queue size even when there is no flow control of the transport layer protocol.

상기한 RED 패킷 폐기 알고리즘을 사용하는 라우터는 전송 계층이 트래픽 흐름 제어를 사용하지 않는 경우나 전송률 흐름 제어를 사용하는 경우에 평균 큐 크기를 제어하기가 용이하다.Routers using the RED packet discard algorithm can easily control the average queue size when the transport layer does not use traffic flow control or when rate flow control is used.

그러나 기본적으로 RED 알고리즘은 마킹되거나 폐기된 패킷이 전송 계층 프로토콜에 네트웍 폭주를 알릴 수 있는 네트웍을 위해 고안된 것으로, TCP 전용 응용 서비스를 위해서는 유용하나, UDP와 TCP가 혼재된 트래픽을 위한 노드(예 : 라우터, 게이트 웨이 등)에서는 그 한계점을 갖는다.Basically, however, the RED algorithm is designed for networks where marked or discarded packets can inform the transport layer protocol of network congestion, which is useful for TCP-only application services, but for nodes with mixed UDP and TCP traffic (e.g., Routers, gateways, etc.) have their limitations.

즉, RED 알고리즘은 폭주가 발생하였을 때, TCP 패킷과 UDP 패킷 모두 동일한 기준으로 패킷을 폐기한다. 이렇게 RED 알고리즘에 의해 폐기된 패킷에 의해 TCP 정보원은 패킷의 전송 량을 감소시키나, UDP 정보원은 폐기된 패킷과는 상관없이 전송해야 할 데이터가 존재하면 최대한으로 패킷을 전송한다.That is, when congestion occurs, the RED algorithm discards the packet based on the same criteria for both the TCP packet and the UDP packet. As a result of the packets discarded by the RED algorithm, the TCP information source reduces the amount of packet transmission, but the UDP information source transmits the packet as much as possible if there is data to be transmitted regardless of the discarded packet.

따라서, 단일 시간동안 UDP 정보원이 전송한 데이터 양이 TCP 정보원이 전송한 데이터 양 보다 훨씬 많게 되는 경우가 발생하는 단점이 있다. Therefore, there is a disadvantage in that the amount of data transmitted by the UDP source for a single time is much larger than the amount of data transmitted by the TCP source.                         

이러한 이유로, UDP 전송 프로토콜을 사용하는 응용서비스의 증가와 함께 네트웍에서 UDP 프로토콜을 사용하는 트래픽의 비중이 점점 높아지고 있으며, 최악의 경우에는 TCP 정보원의 패킷 전송은 점점 줄어들고, 네트웍 상태를 고려하지 않는 UDP 정보원의 패킷 전송은 증가하여 네트웍 자원을 불공정하게 사용되는 단점이 있다.For this reason, with the increase of the application services using the UDP transport protocol, the weight of the traffic using the UDP protocol in the network is increasing, and in the worst case, the packet transmission of the TCP information source is gradually decreasing, and the UDP does not consider the network state. Packet transmission of information sources is increasing, which has the disadvantage of unfairly using network resources.

따라서, 본 발명은 상술한 종래의 문제점을 감안하여 네트웍 폭주 발생 시, 전송 계층 프로토콜에 상관없이 각 정보원에게 공정한 네트웍 자원을 할당하기 위해 라우터에서 수신 받은 패킷을 TCP 프로토콜을 사용하는 Adaptive 정보원의 패킷과 UDP 프로토콜을 사용하는 Non-Adaptive 정보원의 패킷으로 구분하여 해당 패킷에 따라 패킷 폐기 방법과 서비스 율을 다르게 적용하는 전송 제어 프로토콜/인터넷 프로토콜 네트웍에서 라우터의 폭주 제어 방법을 제공하는 데 그 목적이 있다.Accordingly, in view of the above-mentioned problems, the present invention provides a packet received from a router to allocate fair network resources to each information source regardless of a transport layer protocol. The purpose of this section is to provide a congestion control method of a router in a transmission control protocol / Internet protocol network that classifies packets into non-adaptive information sources using UDP protocol and applies packet discard methods and service rates differently according to the packets.

상기한 목적을 달성하기 위한 전송 제어 프로토콜/인터넷 프로토콜 네트윅에서 라우터의 폭주 제어방법은, 전송 제어 프로토콜/인터넷 프로토콜 네트웍에서 라우터의 네트웍 폭주 제어 방법에 있어서, 패킷이 수신되면, 상기 패킷의 프로토콜 필드에 저장된 값을 이용하여 상기 패킷을 Adaptive 패킷 또는 Non-Adaptive 패킷으로 분류하는 제 1과정; 상기 패킷의 종류에 따른 패킷 폐기 알고리즘에 의해 Adaptive 패킷은 Adaptive 저장부에 저장하고, Non-Adaptive 패킷은 Non-Adaptive 저장부에 저장하는 제 2과정과; 상기 트래픽 유형에 따라 Adaptive 트래픽 서비스 율과 Non-Adaptive 트래픽의 서비스 율을 산출하는 제 3과정; 및 상기 제 3과정에 의해 산출된 Adaptive 트래픽 서비스 율과 Non-Adaptive 트래픽의 서비스 율을 합한 서비스 율에 따라 상기 패킷을 전송하는 제 4과정을 구비하는 것을 특징으로 한다.In the transmission control protocol / internet protocol network, the congestion control method of the router in the transmission control protocol / Internet protocol network, in the method of controlling the network congestion of the router in the transmission control protocol / Internet protocol network, when a packet is received, enters the protocol field of the packet. Classifying the packet into an adaptive packet or a non-adaptive packet using a stored value; A second step of storing an adaptive packet in an adaptive storage and a non-adaptive packet in a non-adaptive storage by a packet discard algorithm according to the type of the packet; A third step of calculating an adaptive traffic service rate and a service rate of non-adaptive traffic according to the traffic type; And a fourth process of transmitting the packet according to a service rate obtained by adding up the adaptive traffic service rate calculated by the third process and the service rate of non-adaptive traffic.

삭제delete

삭제delete

삭제delete

삭제delete

삭제delete

상술한 목적, 특징 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이다. 이하 첨부된 도면을 참조하여 본 발명의 실시 예를 상세히 설명하면 다음과 같다.The above objects, features and advantages will become more apparent from the following detailed description taken in conjunction with the accompanying drawings. Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 5는 본 발명에 의한 패킷 폐기 방법을 나타낸 도면으로, 라우터에서 패킷 수신 시, 수신 받은 패킷을 전송 계층 프로토콜에 따라 Adaptive 큐(102a)와 Non-Adaptive 큐(102b)에 나누어 저장하고, 큐 상태에 따라 패킷 서비스 율을 조절하는 방법을 나타낸다.FIG. 5 is a diagram illustrating a packet discard method according to the present invention. When a packet is received by a router, the received packet is divided into adaptive queues 102a and non-adaptive queues 102b according to a transport layer protocol, and stored in a queue state. Shows how to adjust the packet service rate.

상기 도 5는 수신 받은 패킷의 프로토콜 필드 값을 참조하여 Adaptive 패킷과 Non-Adaptive 패킷으로 분류하는 분류부(101)와;5 is a classification unit 101 for classifying an adaptive packet and a non-adaptive packet with reference to a protocol field value of a received packet;

상기 Adaptive 패킷을 저장하는 Adaptive 큐(102a)와 Non-Adaptive 패킷을 저장하는 Non-Adaptive 큐(102b)로 구성된 큐 구조를 갖는 버퍼(100); 및A buffer (100) having a queue structure consisting of an Adaptive queue (102a) for storing the Adaptive packet and a Non-Adaptive queue (102b) for storing Non-Adaptive packets; And

상기 큐(102a ~ 102b)의 상태에 따라 패킷 서비스 율을 조절하는 스케줄러(104)로 구성된다.It is composed of a scheduler 104 for adjusting the packet service rate according to the state of the queue (102a ~ 102b).

상기 패킷의 IP 헤더에 있는 프로토콜 필드는 전송 계층 프로토콜별로 고유의 필드 값을 가지는데, 상기 필드 값은 하기에 기재한 표 1과 같다.The protocol field in the IP header of the packet has a unique field value for each transport layer protocol. The field values are shown in Table 1 below.

[표 1]TABLE 1

프로토콜protocol 인터넷 제어 메시지 프로토콜 (Internet control Message Protocol : ICMP)Internet control message protocol (ICMP) 인터넷 그룹 관리 프로토콜 (Internet Group Management Protocol : IGMP)Internet Group Management Protocol (IGMP) TCPTCP UDPUDP 필드 값Field value 1One 22 66 1717

상기 분류부(101)는 상기 표 1에 나타난 전송 계층 프로토콜 정보(필드 값)를 참조하여 Adaptive 패킷과 Non-Adaptive 패킷으로 분류하는데, 필드 값이 "6"(TCP)이면 Adaptive 패킷으로 분류하고, 인터넷 제어 메시지 프로토콜과 인터넷 그룹 관리 프로토콜은 UDP와 같이 트래픽 전송 시 네트웍의 상태를 고려하지 않으므로 "6" 이외의 필드 값을 갖는 패킷은 Non-Adaptive 패킷으로 분류한다.The classifying unit 101 classifies an adaptive packet and a non-adaptive packet with reference to the transport layer protocol information (field value) shown in Table 1, and classifies it as an adaptive packet when the field value is "6" (TCP), Since the Internet Control Message Protocol and the Internet Group Management Protocol do not consider the state of the network during traffic transmission, such as UDP, packets with field values other than "6" are classified as non-adaptive packets.

상기 큐(102a ~ 102b)의 크기는 패킷 지연과 패킷 손실 같은 흐름의 특성을 고려하여 설정하는데, Non-Adaptive 패킷은 버스트(Burst)한 성질이 적으므로 Non-Adaptive 큐(102b)의 크기를 크게 하는 것은 성능을 저하시킨다.The sizes of the queues 102a to 102b are set in consideration of flow characteristics such as packet delay and packet loss. Since non-adaptive packets have a small burst property, the size of the non-adaptive queue 102b is increased. Doing so degrades performance.

또한 각각의 큐(102a ~ 102b)를 관리하는 방법은 Adaptive 정보원과 Non-Adaptive 정보원이 트래픽의 전송 방식과 각각의 특성이 상이하므로, 관리 방법 또한 다르게 적용한다.In addition, the management method of each of the queues 102a to 102b is different from that of the traffic transmission method of the adaptive information source and the non-Adaptive information source. Therefore, the management method is also applied differently.

따라서, Adaptive 큐(102a)는 트래픽의 버스트 정도를 고려하여 임계치를 갖는 상기 도 3의 RED 패킷 폐기 알고리즘을 적용하여 관리하며, Non-Adaptive 큐(102b)는 큐의 저장공간이 다 차면 수신 받은 패킷을 폐기시키는 DropTail 패킷 폐기 알고리즘을 이용하여 관리한다.Accordingly, the adaptive queue 102a manages by applying the RED packet discard algorithm of FIG. 3 having a threshold in consideration of the burst degree of traffic, and the non-Adaptive queue 102b receives the received packet when the storage space of the queue is full. It is managed using a DropTail packet dropping algorithm that discards.

상기 스케줄러(104)는 각각의 큐(102a ~102b)의 상태와 각 큐에 저장된 패킷의 특성을 고려한 가중치(Weight)를 이용하여 능동적으로 큐(102a ~ 102b)의 서비스 율을 조절한다.The scheduler 104 actively adjusts the service rates of the queues 102a to 102b by using weights considering the states of the queues 102a to 102b and the characteristics of the packets stored in the queues.

상기 스케줄러(104)는 입력된 트래픽을 측정하여 입력 트래픽 양의 평균치(또는 중간치)를 각각의 큐(102a ~ 102b)에 대하여 산출하고, 큐(102a ~ 102b) 길이의 역수와 현재의 서비스 율에 비례한 새로운 서비스 율을 각각의 큐마다 산출하여 서비스 율을 조절한다.The scheduler 104 measures the input traffic and calculates an average value (or median value) of the input traffic amount for each of the queues 102a to 102b, and compares the inverse of the length of the queues 102a to 102b and the current service rate. The service rate is adjusted by calculating a new proportional service rate for each queue.

하기에 기재한 알고리즘 1은 상기 서비스 율을 산출하는 알고리즘으로 이러한 서비스 율은 주기적으로 갱신된다.Algorithm 1 described below is an algorithm for calculating the service rate, which is periodically updated.

[알고리즘 1]Algorithm 1

Constants:Constants:

LinkB : Llink Bandwidth(LinkKB = SR-MinN + SR-MaxA = SR-Max N + SR-MinA)Link B : Llink Bandwidth (LinkK B = SR-Min N + SR-Max A = SR-Max N + SR-Min A )

SR-MinN : Minimum service rate for the Non-Adaptive bufferSR-Min N : Minimum service rate for the Non-Adaptive buffer

SR-MaxN : Maximum sevice rate for the Non-Adaptive bufferSR-Max N : Maximum sevice rate for the Non-Adaptive buffer

SR-MinA : Minimum service rate for the Adaptive bufferSR-Min A : Minimum service rate for the Adaptive buffer

SR-MaxA : Maximum sevice rate for the Adaptive buffer SR-Max A : Maximum sevice rate for the Adaptive buffer

QT-MinN : Minimum threshold of the Non-Adaptive queueQT-Min N : Minimum threshold of the Non-Adaptive queue

QT-MaxN : Maximum threshold of the Non-Adaptive queueQT-Max N : Maximum threshold of the Non-Adaptive queue

QT-MinA : Minimum threshold of the Adaptive queueQT-Min A : Minimum threshold of the Adaptive queue

QT-MaxA : Maximum threshold of the Adaptive queueQT-Max A : Maximum threshold of the Adaptive queue

W1 : Weight for the calculation of the EWMA queue lengthW 1 : Weight for the calculation of the EWMA queue length

W2 : Weight for the calculation of the EWMA service rateW 2 : Weight for the calculation of the EWMA service rate

Variables :Variables:

SRN : service rate of the Non-Adaptive traffic for a period.(SR-MinN ≤ SRN ≤ SR-MaxN)SR N : service rate of the Non-Adaptive traffic for a period. (SR-Min N ≤ SR N ≤ SR-Max N )

SRA : service rate of the Adaptive traffic for a period.(SR-MinA ≤ SRA ≤ SR-MaxA)SR A : service rate of the Adaptive traffic for a period. (SR-Min A ≤ SR A ≤ SR-Max A )

AQLN :Average Queue Length of the Non-Adaptive buffer for a period.AQL N : Average Queue Length of the Non-Adaptive buffer for a period.

AQLA :Average Queue Length of the Adaptive buffer for a period.AQL A : Average Queue Length of the Adaptive buffer for a period.

Q : current queue sizeQ: current queue size

AQL : average queue sizeAQL: average queue size

//Initializing // Initializing                     

IncRatePerByteN = (SR-MaxN - SR-MinN )/(QT-MaxN -QT-Min N)IncRatePerByte N = (SR-Max N -SR-Min N ) / (QT-Max N -QT-Min N )

IncRatePerByteA = (SR-MaxA - SR-MinA )/(QT-MaxA -QT-Min A)IncRatePerByte A = (SR-Max A -SR-Min A ) / (QT-Max A -QT-Min A )

Enque Part :Enque Part:

//패킷을 Adaptive 패킷과 Non-Adaptive 패킷으로 분류한다.// Classify the packet into Adaptive packet and Non-Adaptive packet.

if (P ∈ Adaptive flows){ if (P ∈ Adaptive flows) {

Store P into the Adaptive buffer Store P into the Adaptive buffer

Implement RED algorithm Implement RED algorithm

}}

else {else {

Store P into the Non-Adaptive buffer Store P into the Non-Adaptive buffer

Implement Drop-Tail algorithm Implement Drop-Tail algorithm

}}

//각 큐의 평균 크기를 산출한다.// Calculate the average size of each queue

Calculate the average queue size during the period.Calculate the average queue size during the period.

if (start the new period)if (start the new period)

AQL = 0AQL = 0

if (Q ∥packet entered)if (Q ∥packet entered)

AQL = (1 - W1 ) * AQL + W1 * QAQL = (1-W 1 ) * AQL + W 1 * Q

//각 큐에 따라 서비스 율을 산출한다. // Calculate the service rate for each queue                     

Calculate the service rate for each queue.Calculate the service rate for each queue.

//Non-Adaptive 큐의 서비스 율을 산출하는 과정.// Process of calculating the service rate of non-adaptive queue.

// Calculate the service rate for Non-Adaptive packets.// Calculate the service rate for Non-Adaptive packets.

if (AQLN > QT-MinN){if (AQL N > QT-Min N ) {

temp = ((AQLN - QT-MinN) * IncRatePerByteN ) + SR-MinN temp = ((AQL N -QT-Min N ) * IncRatePerByte N ) + SR-Min N

SRN = (1 - W2) * SRN + W2 * temp SR N = (1-W 2 ) * SR N + W 2 * temp

}}

elseelse

SRN = SRN-MinN SR N = SR N -Min N

//Adaptive 큐의 서비스율 산출 과정// Service rate calculation process of adaptive queue

//Caculate the service rate for the adaptive packets.// Caculate the service rate for the adaptive packets.

if (AQLA > QT-MINA) {if (AQL A > QT-MIN A ) {

temp = ((AQLA - QT-MinA) * incRateByteA) + SR-MINA temp = ((AQL A -QT-Min A ) * incRateByte A ) + SR-MIN A

SRA = (1 - W2) * SRA + W2 * tempSR A = (1-W 2 ) * SR A + W 2 * temp

}}

elseelse

SRA = SR-MinA SR A = SR-Min A

상기 알고리즘 1에 의한 새로운 서비스율을 산출하는 과정은 Adaptive 트래 픽과 Non-Adaptive 트래픽 모두 동일하게 적용되는데, 먼저 상기 각각의 큐에 대한 트래픽 양을 산출하고, 상기 트래픽 양에 따라 Adaptive 트래픽과 Non-Adaptive 트래픽에 대한 각각의 평균 큐 크기를 산출한다.The process of calculating the new service rate by Algorithm 1 is the same for both adaptive traffic and non-adaptive traffic. First, the amount of traffic for each queue is calculated. Calculate each average queue size for adaptive traffic.

산출 된 평균 큐 크기가 해당 큐의 최소 임계치보다 클 경우, 상기 큐 크기의 역수와 현재 해당 트래픽의 서비스율에 비례하여 Adaptive 트래픽과 Non-Adaptive 트래픽에 대한 각각의 새로운 서비스율을 산출한다.If the calculated average queue size is larger than the minimum threshold of the queue, each new service rate for adaptive traffic and non-adaptive traffic is calculated in proportion to the inverse of the queue size and the current service rate of the corresponding traffic.

산출 된 평균 큐 크기가 해당 큐의 최소 임계치보다 작을 경우, 현재 해당 트래픽의 최소 서비스율을 Adaptive 트래픽과 Non-Adaptive 트래픽에 대한 각각의 새로운 서비스율로 산출한다.If the calculated average queue size is smaller than the minimum threshold of the queue, the minimum service rate of the current traffic is calculated as the new service rate for adaptive traffic and non-adaptive traffic.

이와 같이 Adaptive 트래픽과 Non-Adaptive 트래픽에 대한 새로운 서비스율 산출은 각 응용서비스의 트래픽 양을 예측하여 결정된 최소 트래픽 양과 최대 트래픽 양 외에 버퍼 상태를 고려하여 산출한다.As such, the new service rate calculation for adaptive traffic and non-adaptive traffic is estimated by considering the buffer status in addition to the minimum and maximum traffic amounts determined by estimating the traffic volume of each application service.

도 6은 도 5에 의한 패킷 서비스 과정을 나타낸 순서도로, 라우터에서 수신 받은 패킷을 그 특성에 따라 Adaptive 패킷과 Non-Adaptive 패킷으로 분류하여 해당 큐(102a ~ 102b)의 알고리즘과 서비스 율에 따라 패킷 서비스를 제공하는 과정을 나타낸다.FIG. 6 is a flowchart illustrating a packet service process according to FIG. 5. The packet received by the router is classified into an adaptive packet and a non-adaptive packet according to its characteristics, and according to algorithms and service rates of the corresponding queues 102a to 102b. Indicates the process of providing a service.

먼저, 사용자로부터 패킷을 수신 받는다(S100).First, a packet is received from a user (S100).

수신 받은 패킷의 프로토콜 필드 값을 참조하고(S102), 상기 필드 값이 "6"(TCP 패킷)과 같은지 판단한다(S104).The protocol field value of the received packet is referred to (S102), and it is determined whether the field value is equal to "6" (TCP packet) (S104).

상기 판단 결과, 상기 필드 값이 "6"이면 상기 RED 패킷 폐기 알고리즘을 적 용하고(S106), 상기 RED 패킷 폐기 알고리즘에 의해 패킷의 저장 유무를 결정하여 적합하면 Adaptive 큐(S02a)에 저장하고 적합하지 않으면 패킷을 폐기한다(S108).As a result of the determination, if the field value is "6", the RED packet discard algorithm is applied (S106), and whether the packet is stored or not is determined by the RED packet discard algorithm and stored in the adaptive queue S02a if appropriate. If not, the packet is discarded (S108).

현재 각 큐(102a ~ 102b)에 대해 새로운 서비스 율을 산출하고(S110),산출된 Adaptive 큐의 서비스 율과 Non-Adaptive 큐의 서비스 율을 합한 속도로 패킷 서비스를 제공한다(S112).A new service rate is calculated for each of the queues 102a to 102b (S110), and the packet service is provided at a rate of adding up the service rate of the calculated adaptive queue and the non-Adaptive queue (S112).

상기 판단 결과, 상기 필드 값이 "6"이 아니면 상기 Drop-Tail 패킷 폐기 알고리즘을 적용하고(S114),상기 RED 패킷 폐기 알고리즘에 의해 패킷의 저장 유무를 결정하여 적합하면 Non-Adaptive 큐(102a)에 저장하고 적합하지 않으면 패킷을 폐기한다(S116).As a result of the determination, if the field value is not "6", the Drop-Tail packet discard algorithm is applied (S114), and if the storage of the packet is determined by the RED packet discard algorithm, and if appropriate, Non-Adaptive queue 102a. If not stored in the packet is discarded (S116).

현재 각 큐(102a ~ 102b)에 대해 새로운 서비스 율을 산출하고(S110),산출된 Adaptive 큐의 서비스율과 Non-Adaptive 큐의 서비스 율을 합한 속도로 패킷 서비스를 제공한다(S112).A new service rate is calculated for each of the queues 102a to 102b (S110), and the packet service is provided at a rate of adding up the service rate of the calculated adaptive queue and the non-Adaptive queue (S112).

이상 설명한 바와 같이 본 발명에 의하면, 네트웍 폭주 시 라우터에서 TCP 패킷과 UDP 패킷을 분리하여 관리함으로써 TCP/IP 네트웍에서 TCP 프로토콜을 사용하는 정보원과 UDP 프로토콜을 사용하는 정보원에게 공정한 자원을 할당하는 이점이 있다.As described above, according to the present invention, there is an advantage of allocating fair resources to the information source using the TCP protocol and the information source using the UDP protocol in the TCP / IP network by managing the TCP and UDP packets separately in the router during network congestion. have.

또한, UDP 정보원에 의한 비의도적이거나 의도적인 공격에 대하여 TCP 정보원을 보호할 수 있으며, 사용자에게 신뢰성 있는 네트웍 환경을 제공하고, 정확한 네트웍 상태를 파악할 수 있는 이점이 있다. In addition, the TCP information source can be protected against unintentional or intentional attack by the UDP information source, provide a reliable network environment to the user, and have the advantage of identifying the exact network state.                     

아울러 본 발명의 바람직한 실시 예들은 예시의 목적을 위해 개시된 것이며, 당업자라면 본 발명의 사상과 범위 안에서 다양한 수정, 변경, 부가 등이 가능할 것이며, 이러한 수정 변경 등은 이하의 특허 청구의 범위에 속하는 것으로 보아야 할 것이다.In addition, preferred embodiments of the present invention are disclosed for the purpose of illustration, those skilled in the art will be able to various modifications, changes, additions, etc. within the spirit and scope of the present invention, such modifications and modifications belong to the following claims You will have to look.

Claims (7)

전송 제어 프로토콜/인터넷 프로토콜 네트웍에서 라우터의 네트웍 폭주 제어 방법에 있어서,In the control method of network congestion of a router in a transmission control protocol / Internet protocol network, 패킷이 수신되면, 상기 패킷의 프로토콜 필드에 저장된 값을 이용하여 상기 패킷을 Adaptive 패킷 또는 Non-Adaptive 패킷으로 분류하는 제 1과정;When the packet is received, classifying the packet into an Adaptive packet or a Non-Adaptive packet using a value stored in a protocol field of the packet; 상기 패킷의 종류에 따른 패킷 폐기 알고리즘에 의해 Adaptive 패킷은 Adaptive 저장부에 저장하고, Non-Adaptive 패킷은 Non-Adaptive 저장부에 저장하는 제 2과정;A second step of storing an adaptive packet in an adaptive storage and a non-adaptive packet in a non-adaptive storage by a packet discard algorithm according to the type of the packet; 상기 트래픽 유형에 따라 Adaptive 트래픽 서비스 율과 Non-Adaptive 트래픽의 서비스 율을 산출하는 제 3과정; 및A third step of calculating an adaptive traffic service rate and a service rate of non-adaptive traffic according to the traffic type; And 상기 제 3과정에 의해 산출된 Adaptive 트래픽 서비스 율과 Non-Adaptive 트래픽의 서비스 율을 합한 서비스 율에 따라 상기 패킷을 전송하는 제 4과정을 구비하는 것을 특징으로 하는 전송 제어 프로토콜/인터넷 프로토콜 네트웍에서 라우터의 폭주 제어 방법.And a fourth step of transmitting the packet according to a service rate obtained by adding up the adaptive traffic service rate calculated by the third process and the service rate of non-adaptive traffic. Control method of congestion. 제 1항에 있어서,The method of claim 1, 상기 제 1과정에서 트래픽 유형에 따라 패킷을 분류하는 단계는,In the first step, classifying a packet according to a traffic type may include: 수신 받은 패킷의 프로토콜 필드 값을 참조하는 단계와;Referencing a protocol field value of a received packet; 내장된 패킷의 프로토콜 필드 정보를 통해 상기 패킷의 프로토콜 필드 값이 TCP 프로토콜을 나타내는 필드 값과 동일하면 Adaptive 패킷으로 분류하는 단계; 및Classifying the packet as an adaptive packet if a protocol field value of the packet is equal to a field value indicating a TCP protocol through protocol field information of an embedded packet; And 상기 패킷의 프로토콜 필드 값이 TCP 프로토콜을 나타내는 필드 값과 동일하지 않으면 Non-Adaptive 패킷으로 분류하는 단계를 구비하는 것을 특징으로 하는 전송 제어 프로토콜/인터넷 프로토콜 네트웍에서 라우터의 폭주 제어 방법.And classifying the packet into a non-adaptive packet if the protocol field value of the packet is not the same as the field value indicating the TCP protocol. 제 1항에 있어서,The method of claim 1, 상기 제 2과정의 패킷 폐기 알고리즘에 의한 패킷 저장 방법은,The packet storing method by the packet discard algorithm of the second step, 상기 패킷이 Adaptive 패킷이면, RED 패킷 폐기 알고리즘을 이용하여 Adaptive 저장부에 저장하는 단계; 및If the packet is an Adaptive packet, storing the packet in an adaptive storage unit using a RED packet discard algorithm; And 상기 패킷이 Non-Adaptive 패킷이면, Drop-Tail 패킷 폐기 알고리즘을 이용하여 Non-Adaptive 저장부에 저장하는 단계를 구비하는 것을 특징으로 하는 전송 제어 프로토콜/인터넷 프로토콜 네트웍에서 라우터의 폭주 제어 방법.And storing the packet in a non-adaptive storage unit using a drop-tail packet discard algorithm if the packet is a non-adaptive packet. 제 3항에 있어서,The method of claim 3, 상기 RED 패킷 폐기 알고리즘을 이용한 Adaptive 패킷 저장 단계는,Adaptive packet storage using the RED packet discard algorithm, 현재 상기 Adaptive 저장부의 큐에 대한 평균 길이를 계산하는 단계와;Calculating an average length of a queue of the current adaptive storage; 상기 평균 길이가 상기 큐의 최소 임계치 보다 작을 경우, 상기 패킷을 Adaptive저장부에 저장하는 단계와;If the average length is less than the minimum threshold of the queue, storing the packet in Adaptive storage; 상기 평균 큐 길이가 상기 큐의 최소 임계치 보다 크고 최대 임계치 보다 작을 경우, 패킷 폐기 확률 값과 난수 발생기를 통해 생성한 난수를 비교하여, 패킷 폐기 확률 값이 상기 난수 보다 작으면, 상기 패킷을 Adaptive저장부에 저장하고, 패킷 폐기 확률 값이 상기 난수보다 크면 상기 패킷을 폐기하는 단계; 및When the average queue length is larger than the minimum threshold of the queue and smaller than the maximum threshold, the packet discard probability value is compared with the random number generated by the random number generator. If the packet discard probability value is smaller than the random number, the packet is adaptively stored. Storing in the unit and discarding the packet if a packet discard probability value is greater than the random number; And 상기 평균 큐 길이가 상기 큐의 최대 임계치 보다 크면 상기 패킷을 폐기하는 단계를 구비하는 것을 특징으로 하는 전송 제어 프로토콜/인터넷 프로토콜 네트웍에서 라우터의 폭주 제어 방법.And discarding the packet if the average queue length is greater than the maximum threshold of the queue. 2. The method of controlling congestion of a router in a transmission control protocol / internet protocol network. 제 3항에 있어서,The method of claim 3, 상기 Drop-Tail 패킷 폐기 알고리즘을 이용한 Non-Adaptive 패킷의 저장 단계는,The storing of the non-adaptive packet using the drop-tail packet discard algorithm, 상기 Non-Adaptive 저장부의 큐에 상기 패킷을 저장할 여유 공간이 있는지를 검사하는 단계와;Checking whether there is free space for storing the packet in a queue of the non-adaptive storage unit; 상기 큐에 상기 패킷을 저장할 여유공간이 있을 경우, 상기 패킷을 Non-Adaptive 저장부에 저장하는 단계와;Storing the packet in a non-adaptive storage unit when there is free space for storing the packet in the queue; 상기 큐에 상기 패킷을 저장할 여유공간이 없을 경우, 상기 패킷을 폐기시키는 단계를 구비하는 것을 특징으로 하는 전송 제어 프로토콜/인터넷 프로토콜 네트웍에서 라우터의 폭주 제어 방법.And discarding the packet when there is no free space to store the packet in the queue. 제 1항에 있어서,The method of claim 1, 상기 제 3 과정에서 Adaptive 저장부의 서비스 율을 산출하는 과정은,Computing the service rate of the adaptive storage unit in the third process, 상기 Adaptive 저장부의 트래픽 양을 산출하는 단계와;Calculating a traffic amount of the adaptive storage unit; 상기 트래픽 양에 따라 상기 Adaptive 저장부의 평균 큐 크기를 산출하는 단계와;Calculating an average queue size of the adaptive storage unit according to the traffic amount; 산출 된 평균 큐 크기가 Adaptive 큐의 최소 임계치 보다 클 경우, Adaptive 저장부의 크기의 역수와 현재 서비스 율에 비례하여 Adaptive 트래픽의 서비스 율을 산출하는 단계; 및If the calculated average queue size is larger than the minimum threshold of the Adaptive queue, calculating a service rate of Adaptive traffic in proportion to the inverse of the size of the Adaptive storage and the current service rate; And 산출 된 평균 큐 크기가 Adaptive 큐의 최소 임계치 보다 작을 경우, Adaptive 저장부의 최소 서비스 율을 Adaptive 트래픽의 서비스 율로 산출하는 단계를 구비하는 것을 특징으로 하는 전송 제어 프로토콜/인터넷 프로토콜 네트웍에서 라우터의 폭주 제어 방법.When the calculated average queue size is smaller than the minimum threshold of the adaptive queue, calculating the minimum service rate of the adaptive storage as the service rate of the adaptive traffic; and controlling the congestion of the router in a transmission control protocol / internet protocol network . 제 1 항에 있어서,The method of claim 1, 상기 제 3과정에서 Non-Adaptive 저장부의 서비스 율을 산출하는 과정은,In the third process, the process of calculating the service rate of the non-adaptive storage unit may include: 상기 Non-Adaptive 저장부의 트래픽 양을 산출하는 단계와;Calculating a traffic amount of the non-adaptive storage unit; 상기 트래픽 양에 따라 상기 Non-Adaptive 저장부의 평균 큐 크기를 산출하는 단계와;Calculating an average queue size of the non-adaptive storage unit according to the traffic amount; 산출 된 평균 큐 크기가 Non-Adaptive 큐의 최소 임계치 보다 클 경우, Non-Adaptive 저장부의 크기의 역수와 현재 서비스 율에 비례하여 Non-Adaptive 트래픽의 서비스 율을 산출하는 단계; 및Calculating a service rate of the non-adaptive traffic in proportion to the inverse of the size of the non-adaptive storage and the current service rate when the calculated average queue size is larger than the minimum threshold of the non-adaptive queue; And 산출 된 평균 큐 크기가 Non-Adaptive 큐의 최소 임계치 보다 작을 경우, Non-Adaptive 저장부의 최소 서비스 율을 Non-Adaptive 트래픽의 서비스 율로 산출하는 단계를 구비하는 것을 특징으로 하는 전송 제어 프로토콜/인터넷 프로토콜 네트웍에서 라우터의 폭주 제어 방법.If the calculated average queue size is less than the minimum threshold of the Non-Adaptive queue, calculating the minimum service rate of the non-Adaptive storage as the service rate of the non-Adaptive traffic, characterized in that the transmission control protocol / Internet Protocol network Control of congestion in the router
KR1020000086895A 2000-12-30 2000-12-30 Method for Congestion Control of the Router in TCP/IP KR100674329B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020000086895A KR100674329B1 (en) 2000-12-30 2000-12-30 Method for Congestion Control of the Router in TCP/IP

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020000086895A KR100674329B1 (en) 2000-12-30 2000-12-30 Method for Congestion Control of the Router in TCP/IP

Publications (2)

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

Family

ID=27689846

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020000086895A KR100674329B1 (en) 2000-12-30 2000-12-30 Method for Congestion Control of the Router in TCP/IP

Country Status (1)

Country Link
KR (1) KR100674329B1 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100481614B1 (en) 2002-11-19 2005-04-08 한국전자통신연구원 METHOD AND APPARATUS FOR PROTECTING LEGITIMATE TRAFFIC FROM DoS AND DDoS ATTACKS
US20050060424A1 (en) * 2003-09-15 2005-03-17 Sachin Garg Congestion management in telecommunications networks
KR100656509B1 (en) 2004-03-03 2006-12-11 삼성전자주식회사 Congestion avoidance method for video service bandwidth
KR100603570B1 (en) * 2004-09-22 2006-07-24 삼성전자주식회사 Apparatus and Method for Network Congestion Control
KR100639969B1 (en) 2004-12-02 2006-11-01 한국전자통신연구원 Apparatus for abnormal traffic control and method thereof
KR100798920B1 (en) * 2005-11-18 2008-01-29 한국전자통신연구원 Method for Congestion Control of VoIP Network Systems Using Extended RED Algorithm and Apparatus for thereof

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06276235A (en) * 1993-03-23 1994-09-30 Matsushita Electric Ind Co Ltd Transmitting method for lan/wan connector
WO1996032681A1 (en) * 1995-04-13 1996-10-17 Cray Research, Inc. Adaptive routing mechanism for torus interconnection network
JPH11205384A (en) * 1998-01-19 1999-07-30 Ntt Data Corp Data communication system and data communication equipment
KR20000052154A (en) * 1999-01-30 2000-08-16 윤종용 Data processing method for APPC over TCP/IP gateway

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06276235A (en) * 1993-03-23 1994-09-30 Matsushita Electric Ind Co Ltd Transmitting method for lan/wan connector
WO1996032681A1 (en) * 1995-04-13 1996-10-17 Cray Research, Inc. Adaptive routing mechanism for torus interconnection network
JPH11205384A (en) * 1998-01-19 1999-07-30 Ntt Data Corp Data communication system and data communication equipment
KR20000052154A (en) * 1999-01-30 2000-08-16 윤종용 Data processing method for APPC over TCP/IP gateway

Also Published As

Publication number Publication date
KR20020058765A (en) 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
Liu et al. Improving explicit congestion notification with the mark-front strategy
KR100674329B1 (en) Method for Congestion Control of the Router in TCP/IP
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
JP2008193310A (en) Buffer management method of router and router using the management method
Biswal et al. Comparative analysis of compound tcp with various end-to-end congestion control mechanisms
Li et al. Improving TCP performance for asymmetric networks
Wang et al. C3P: a cooperant congestion control protocol in high bandwidth-delay product networks
Manzoor et al. CHOKeD: fair active queue management
Cheng et al. Improving the ramping up behavior of TCP slow start
Cerdà et al. Study of the TCP Unfairness in a Wireless Environment
Mankin et al. RFC1254: gateway congestion control survey
Ho et al. A TCP-friendly stateless AQM scheme for fair bandwidth allocation
Yaghmaee et al. A New Fuzzy Logic Approach for TCP Congestion Control
CN114884884A (en) Congestion control method and device

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