KR20100034553A - Appratus for tcp congestion control, a method thereof and recorded medium recorded with a program executing the same - Google Patents

Appratus for tcp congestion control, a method thereof and recorded medium recorded with a program executing the same Download PDF

Info

Publication number
KR20100034553A
KR20100034553A KR1020080093753A KR20080093753A KR20100034553A KR 20100034553 A KR20100034553 A KR 20100034553A KR 1020080093753 A KR1020080093753 A KR 1020080093753A KR 20080093753 A KR20080093753 A KR 20080093753A KR 20100034553 A KR20100034553 A KR 20100034553A
Authority
KR
South Korea
Prior art keywords
congestion control
duplicate
congestion
response threshold
threshold
Prior art date
Application number
KR1020080093753A
Other languages
Korean (ko)
Other versions
KR100952228B1 (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 KR1020080093753A priority Critical patent/KR100952228B1/en
Publication of KR20100034553A publication Critical patent/KR20100034553A/en
Application granted granted Critical
Publication of KR100952228B1 publication Critical patent/KR100952228B1/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
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/19Flow control; Congestion control at layers above the network layer
    • H04L47/193Flow control; Congestion control at layers above the network layer at the transport layer, e.g. TCP related
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations

Landscapes

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

Abstract

PURPOSE: An apparatus for a TCP congestion control, a method thereof and a recorded medium recorded with a program executing the same are provided to perform congestion control in consideration of rearrangement of a packet. CONSTITUTION: If the number of received duplicate response of a transceiver(201) is over a duplicate response threshold value, a controller(204) performs a first congestion. If the transceiver receives an acknowledgement response to the first congestion control before the expiration of the verification timer(202), the controller verifies the generation of packet rearrangement. The controller performs a first resetting of more than one of duplicate response threshold value, a slow start threshold value, a congestion window.

Description

TCP 혼잡제어 장치, 그 방법 및 그 프로그램이 기록된 기록매체{Appratus for TCP congestion control, a method thereof and recorded medium recorded with a program executing the same }Apparatus for TCP congestion control, a method approximately and recorded medium recorded with a program executing the same}

본 발명은 TCP 혼잡제어에 관한 것으로서, 보다 상세하게는 TCP 혼잡제어 장치, 그 방법 및 그 프로그램이 기록된 기록매체에 관한 것이다.The present invention relates to TCP congestion control, and more particularly, to a TCP congestion control apparatus, a method thereof, and a recording medium on which the program is recorded.

TCP의 혼잡제어(congestion control는 다수의 네트워크 사용자간의 효율적인 자원 활용을 위해 반드시 필요한 기법이다. 혼잡제어는 혼잡이 우려되는 상황 근거가 수집되면, 수집된 상황 근거를 바탕으로 발신측 장치(source)의 전송 성능을 자발적으로 줄임으로써 혼잡 상황을 타개하고 발신측 장치(source)(이하, '제1 장치' 칭함)와 수신측 장치(destination)(이하, '제2 장치'칭함) 간의 원활한 네트워크 자원 활용이 가능하도록 하는 기법이다. Congestion control of TCP is a necessary technique for efficient resource utilization among multiple network users.Congestion control is based on the collected situation evidence based on the collected situation evidence. By spontaneously reducing transmission performance, it overcomes congestion and utilizes network resources smoothly between the source (hereinafter referred to as 'first device') and the destination (hereinafter referred to as 'second device'). This is the technique that makes it possible.

여기서 혼잡이란 패킷(packet)을 다른 네트워크로 전달하는 역할을 하는 라우터가 처리할 수 있는 능력보다 상회하는 패킷이 네트워크에 유입될 경우 일정 패킷들이 올바르게 처리되지 못하는 현상을 말한다. Here, congestion refers to a phenomenon in which certain packets are not processed correctly when a packet that exceeds the capability of a router that delivers a packet to another network enters the network.

종래 기술에 따르면, TCP는 신뢰성을 위하여 제2 장치가 수신한 패킷에 대해 해당 패킷의 순서번호를 제1 장치에 보내어 해당 패킷이 무사히 도착하였다는 것을 알려준다. According to the prior art, TCP transmits the sequence number of the packet to the first device for the packet received by the second device for reliability, indicating that the packet arrived safely.

여기서, 만일 순서에 맞지 않은 패킷을 제2 장치가 수신하게 되면, 수신하고자 하는 차례에 맞는 순서번호를 제1 장치에게 다시 보내어 패킷이 정상적으로 도착하지 않았음을 알린다. 이때, 제1 장치가 수신한 응답의 순서 번호가 동일할 경우 이를 중복 응답이라 하며, 이전에 수신한 순서 보다 더 큰 순서 번호를 수신할 경우 긍정 응답이라 한다. Here, if the second device receives a packet out of order, the second device sends the order number corresponding to the order to be received again to indicate that the packet did not arrive normally. In this case, when the order number of the response received by the first device is the same, this is called a duplicate response, and when an order number larger than the previously received order is received, it is called an affirmative response.

종래 기술에 따르면, 패킷 손실이 발생하면 이러한 중복 응답이 다수 발생하기 때문에 기존의 TCP는 이러한 중복 응답을 상황 근거로 수집하여 혼잡제어(congection control)를 수행한다.According to the prior art, since a large number of such duplicate responses occur when packet loss occurs, the conventional TCP collects such duplicate responses based on a situation and performs congestion control.

보다 상세하게는 빠른 혼잡제어를 위해 하나의 순서 번호에 대하여 3개 이상의 중복 응답을 수신하게 되면 해당 패킷이 손실되었다고 판단하며, 그 손실은 네트워크에 혼잡이 일어나 발생한 것으로 판단하여 혼잡제어를 수행하게 된다. 혼잡제어가 발생하면 해당 세션에 대해 전송률을 반으로 줄이는 등 성능을 큰 폭으로 줄이고, 손실된 것으로 판단되는 패킷을 다시 전송한다. More specifically, if three or more duplicate responses are received for one sequence number for fast congestion control, it is determined that the corresponding packet is lost, and the loss is determined to be caused by congestion in the network and congestion control is performed. . When congestion control occurs, the performance is greatly reduced by halving the transmission rate for the session, and the packet which is determined to be lost is transmitted again.

그러나, 종래 기술에 따르면, 불필요한 혼잡제어가 발생하면 혼잡하지 않은 상황임에도 불구하고 잘못된 메커니즘으로 인해 해당 세션의 성능을 효율적으로 사용할 수 없다는 문제점이 있다. However, according to the related art, when unnecessary congestion control occurs, there is a problem in that the performance of the session cannot be efficiently used due to a wrong mechanism even though it is not congested.

패킷 재배치(packet redordering)란 전송과정 중에 패킷의 순서가 뒤섞여서 먼저 제1 장치에서 먼저 전송한 패킷이 나중에 보낸 패킷 보다 늦게 제2 장치에 도착하는 현상을 말한다. Packet redordering refers to a phenomenon in which packets are interspersed during a transmission process so that a packet transmitted first by the first device arrives at the second device later than a packet sent later.

종래 기술에 따르면 패킷 재배치의 발생률은 높지 않아 중복 응답의 원인으로 잘 고려되지 않았다는 문제점이 있다. 최근 들어, 네트워크 장비의 발달과 알고리즘의 발전으로 인해 패킷 재배치의 발생률이 높아지고 있다. 종래 기술에 따르면, 패킷 재배치로 인한 불필요한 혼잡제어가 발생하여 TCP 성능저하를 일으키고 있다는 문제점이 있다. According to the prior art, there is a problem that packet incidence of relocation is not high and is not well considered as a cause of duplicate response. Recently, due to the development of network equipment and the development of algorithms, the incidence of packet relocation is increasing. According to the prior art, there is a problem that unnecessary congestion control occurs due to packet relocation, causing TCP performance degradation.

따라서 패킷 재배치를 고려한 새로운 혼잡제어 기법의 개발에 대한 필요성이 대두되고 있다.  Therefore, there is a need for developing a new congestion control scheme considering packet relocation.

본 발명의 목적은 패킷 재배치를 고려한 혼잡제어를 수행하는 혼잡제어 수행장치, 그 방법 및 그 프로그램이 기록된 기록매체를 제안하는 것이다.An object of the present invention is to propose a congestion control performing apparatus for performing congestion control in consideration of packet rearrangement, a method thereof, and a recording medium on which the program is recorded.

본 발명의 다른 목적은 패킷 재배치로 인한 혼잡제어가 수행된 경우, 성능이 저하된 TCP 성능을 복구하는 혼잡제어 수행장치, 그 방법 및 그 프로그램이 기록된 기록매체를 제안하는 것이다.Another object of the present invention is to propose a congestion control performing apparatus for recovering a degraded TCP performance when a congestion control is performed due to packet relocation, a method and a recording medium on which the program is recorded.

본 발명의 일 측면에 따르면, TCP(transmission control protocol)의 혼잡을 제어(congestion control)하는 장치에 있어서, 결합된 망(network)과 데이터를 송 수신하는 송수신부; 소정의 타이머를 포함하는 검증타이머; 합증가곱감소(Additive Increase/Multiplicative Decrease), 느린 시작(Slow Start), 빠른 재전송(Fast Retransmit) 및 빠른 회복(Fast Recovery) 중 하나 이상을 이용하여 혼잡제어(congestion control)을 수행하는 혼잡제어 수행부; 상기 송수신부가 중복응답을 수신하는 경우 상기 검증타이머를 구동하는 제어부를 포함하되, 상기 제어부는 상기 송수신부가 수신한 중복응답의 개수가 중복응답임계값 이상인 경우 상기 혼잡제어수행부를 제어하여 제1 혼잡제어를 수행하고, 상기 송수신부가 상기 검증타이머가 만료되기전에 상기 제1 혼잡제어 따른 긍정응답을 수신하는 경우 패킷 재배치(packet reordering)가 발생한 것으로 검증하고, 상기 중복응답임계값, 느린출발임계점(Slow Start threshold, Ssthresh) 및 혼잡윈도우(congestion window, Cwnd) 중 하나 이상을 제1 재설정하는 것을 특징으로 하는 혼잡제어 수행 장치가 제공된다. According to an aspect of the present invention, an apparatus for controlling congestion of a transmission control protocol (TCP), the apparatus comprising: a transceiver for transmitting and receiving a combined network and data; A verification timer including a predetermined timer; Congestion control that performs congestion control using one or more of Additive Increase / Multiplicative Decrease, Slow Start, Fast Retransmit, and Fast Recovery part; And a controller for driving the verification timer when the transceiver receives a duplicate response, wherein the controller controls the congestion control execution unit when the number of duplicate responses received by the transceiver is greater than or equal to the duplicate response threshold to control the first congestion. And if the transceiver receives an acknowledgment according to the first congestion control before the verification timer expires, verifies that packet reordering has occurred, and the duplicate response threshold and slow start threshold (Slow Start). An apparatus for performing congestion control is provided that first resets one or more of a threshold, an Ssthresh, and a congestion window Cwnd.

또한, 상기 제어부는 상기 송수신부가 수신한 중복응답의 개수가 상기 중복응답임계값 미만이며 상기 검증타이머가 만료(expire)한 경우, 상기 혼잡제어수행부를 제어하여 제2 혼잡제어를 수행하고, 상기 중복응답임계값을 제2 재설정할 수 있다.The controller may control the congestion control execution unit to perform a second congestion control when the number of duplicate responses received by the transceiver unit is less than the duplicate response threshold value and the verification timer expires. The response threshold may be reset second.

또한, 상기 제어부는 수학식

Figure 112008067183726-PAT00001
을 이용하여 상기 중복응답임계값을 제1 재설정할 수 있다.In addition, the control unit is an equation
Figure 112008067183726-PAT00001
The duplicate response threshold may be first reset using.

여기서, dt는 중복응답임계값이고, dts는 중복응답임계값으로 재설정될 새로 운 값이고, dtpre 이전의 중복응답임계값이고, dtM는 패킷 재배치을 검증한 때까지 수신한 중복응답의 개수이고, α는 0이상 1이하의 지정된 실수이다.Where dt is the duplicate response threshold, dt s is the new value to be reset to the duplicate response threshold, and dt pre is The previous duplicate response threshold, dt M is the number of duplicate responses received until the packet relocation has been verified, and α is a specified real number between 0 and 1, inclusive.

또한, 상기 제어부는 하기의 수학식을 이용하여 느린출발임계점(Ssthresh) 및 혼잡윈도우(cwnd) 중 하나 이상을 제1 재설정할 수 있다.In addition, the controller may first reset one or more of the slow start threshold point (Ssthresh) and the congestion window (cwnd) using the following equation.

[수학식][Equation]

느린출발임계점현재 = 느린출발임계점이전 Slow start Threshold = current slow start threshold before

혼잡윈도우현재 = 2 Х 혼잡윈도우현재 Congestion window present = 2 Х Congestion window present

또한, 상기 제어부는 상기 중복응답임계값을 3으로 제2 재설정할 수 있다.The controller may second reset the duplicate response threshold to three.

또한, 상기 검증 타이머는 패킷왕복시간(RTT)의 크기일 수 있다.In addition, the verification timer may be a size of a packet return time (RTT).

본 발명의 다른 측면에 의하면, TCP(transmission control protocol)의 혼잡을 제어(congestion control)하는 장치에 있어서, 결합된 망(network)과 데이터를 송수신하는 송수신부; 소정의 타이머를 포함하고, 상기 송수신부가 중복응답을 수신하는 경우 구동하는 검증타이머; 합증가곱감소(Additive Increase/Multiplicative Decrease), 느린 시작(Slow Start), 빠른 재전송(Fast Retransmit) 및 빠른 회복(Fast Recovery) 중 하나 이상을 이용하여 혼잡제어(congestion control)을 수행하는 혼잡제어 수행부; 및 상기 송수신부, 상기 검증타이머 및 상기 혼합 제어 수행부를 제어하는 제어부를 포함하되, 상기 혼잡제어수행부는 상기 송수신부가 수신한 중복응답의 개수가 상기 중복응답임계값 이상인 경우 제1 혼잡제어를 수행하고, 상기 제어부는 상기 검증타이머가 만료되기전에 상기 송수신부가 상기 제1 혼잡제어 따른 긍정응답을 수신하는 경우 패킷 재배치(packet reordering)가 발생한 것으로 검증하고, 상기 중복응답임계값, 느린출발임계점(Slow Start threshold, Ssthresh) 및 혼잡윈도우(congestion window, Cwnd) 중 하나 이상을 제2 재설정하는 것을 특징으로 하는 혼잡제어 수행 장치가 제공된다. According to another aspect of the present invention, an apparatus for controlling congestion of a transmission control protocol (TCP), the apparatus comprising: a transceiver for transmitting and receiving data to and from a combined network; A verification timer including a predetermined timer and driving when the transceiver receives a duplicate response; Congestion control that performs congestion control using one or more of Additive Increase / Multiplicative Decrease, Slow Start, Fast Retransmit, and Fast Recovery part; And a controller for controlling the transceiver, the verification timer, and the mixing control unit, wherein the congestion control unit performs the first congestion control when the number of duplicate responses received by the transceiver unit is greater than or equal to the duplicate response threshold. The controller verifies that packet reordering has occurred when the transceiver receives an acknowledgment according to the first congestion control before the verification timer expires, and the duplicate response threshold and the slow start threshold (Slow Start). Provided is a congestion control performing device, characterized in that the second reset of at least one of a threshold, a Ssthresh, and a congestion window (Cwnd).

또한, 상기 혼잡제어 수행부는 상기 송수신부가 수신한 중복응답의 개수가 상기 중복응답임계값 미만이며 상기 검증타이머가 만료(expire)한 경우 제2 혼잡제어를 수행하고, 상기 제어부는 상기 제2 혼잡제어에 따라 상기 중복응답임계값을 제2 재설정할 수 있다.The congestion control unit may perform a second congestion control when the number of duplicate responses received by the transceiver unit is less than the duplicate response threshold value and the verification timer expires, and the control unit performs the second congestion control. In response to the duplicated response threshold may be reset.

본 발명의 또 다른 측면에 의하면, 혼잡제어(congestion control) 장치가 TCP(transmission control protocol)의 혼잡을 제어하는 방법에 있어서, (a) 중복응답을 수신하는 경우 검증타이머를 구동하는 단계; (b) 수신한 중복응답의 개수가 중복응답임계값 이상인 경우 합증가곱감소(Additive Increase/Multiplicative Decrease), 느린 시작(Slow Start), 빠른 재전송(Fast Retransmit) 및 빠른 회복(Fast Recovery) 중 하나 이상을 이용하여 제1 혼잡제어(congestion control)을 수행하는 단계; 및 (c) 상기 검증타이머가 만료되기전에 상기 제1 혼잡제어에 따른 긍정응답을 수신하는 경우 패킷 재배치(packet reordering)가 발생한 것으로 검증하고, 상기 중복응답임계값, 느린출발임계점(Slow Start threshold, Ssthresh) 및 혼잡윈도우(congestion window, Cwnd) 중 하나 이상을 제1 재설정하는 단계를 포함하는 혼잡제어 방법이 제공된다. According to another aspect of the present invention, a method of controlling a congestion control (TCP) congestion control device comprising: (a) driving a verification timer when receiving a duplicate response; (b) If the number of duplicate responses received is greater than or equal to the duplicate response threshold, one of Additive Increase / Multiplicative Decrease, Slow Start, Fast Retransmit, and Fast Recovery. Performing a first congestion control using the above; And (c) verifying that packet reordering has occurred when receiving an acknowledgment according to the first congestion control before the verification timer expires, the duplicate response threshold, a slow start threshold, A congestion control method is provided that includes first resetting one or more of Ssthresh and a congestion window (Cwnd).

또한, 상기 (a) 단계 이후 상기 (b)단계 이전에, (d1) 수신한 상기 중복응답의 개수가 상기 중복응답임계값 미만이며 상기 검증타이머가 만료한 경우, 합증가곱감소(Additive Increase/Multiplicative Decrease), 느린 시작(Slow Start), 빠른 재전송(Fast Retransmit) 및 빠른 회복(Fast Recovery) 중 하나 이상을 이용하여 제2 혼잡제어(congestion control)을 수행하는 단계; 및 (d2) 상기 제2 혼잡제어에 따라 상기 중복응답임계값을 제2 재설정하는 단계를 더 포함할 수 있다. Further, after the step (a) and before the step (b), if the number of the duplicated responses received (d1) is less than the duplicated response threshold and the verification timer expires, the sum of additional increases / additive increase / Performing second congestion control using one or more of Multiplicative Decrease, Slow Start, Fast Retransmit, and Fast Recovery; And (d2) resetting the duplicate response threshold value according to the second congestion control.

또한, 상기 (c)단계는 수학식

Figure 112008067183726-PAT00002
을 이용하여 상기 중복응답임계값을 제1 재설정할 수 있다. In addition, the step (c) is the equation
Figure 112008067183726-PAT00002
The duplicate response threshold may be first reset using.

여기서, dt는 중복응답임계값이고, dts는 중복응답임계값으로 재설정될 새로운 값이고, dtpre 이전의 중복응답임계값이고, dtM는 패킷 재배치을 검증한 때까지 수신한 중복응답의 개수이고, α는 0이상 1이하의 지정된 실수이다.Where dt is the duplicate response threshold, dt s is the new value to be reset to the duplicate response threshold, and dt pre is The previous duplicate response threshold, dt M is the number of duplicate responses received until the packet relocation has been verified, and α is a specified real number between 0 and 1, inclusive.

또한, 상기 (c)단계는 하기의 수학식을 이용하여 느린출발임계점(Ssthresh) 및 혼잡윈도우(cwnd) 중 하나 이상을 제1 재설정할 수 있다. In addition, the step (c) may first reset one or more of the slow start threshold (Ssthresh) and the congestion window (cwnd) using the following equation.

[수학식][Equation]

느린출발임계점현재 = 느린출발임계점이전 Slow start Threshold = current slow start threshold before

혼잡윈도우현재 = 2 Х 혼잡윈도우현재 Congestion window present = 2 Х Congestion window present

본 발명의 또 다른 측면에 의하면, 혼잡제어(congestion control)를 수행하기 위해 혼잡제어 장치에 의해 실행될 수 있는 명령어들의 프로그램이 구현되어 있으며, 상기 혼잡제어 장치에 의해 판독될 수 있는 프로그램을 기록한 기록매체에 있어서, (a) 중복응답을 수신하는 경우 검증타이머를 구동하는 단계; (b) 수신한 중복응답의 개수가 중복응답임계값 이상인 경우 합증가곱감소(Additive Increase/Multiplicative Decrease), 느린 시작(Slow Start), 빠른 재전송(Fast Retransmit) 및 빠른 회복(Fast Recovery) 중 하나 이상을 이용하여 제1 혼잡제어(congestion control)을 수행하는 단계; 및 (c) 상기 검증타이머가 만료되기전에 상기 제1 혼잡제어에 따른 긍정응답을 수신하는 경우 패킷 재배치(packet reordering)가 발생한 것으로 검증하고, 상기 중복응답임계값, 느린출발임계점(Slow Start threshold, Ssthresh) 및 혼잡윈도우(congestion window, Cwnd) 중 하나 이상을 제1 재설정하는 단계를 실행하기 위한 프로그램이 기록된 기록매체가 제공된다. According to another aspect of the present invention, a program of instructions that can be executed by a congestion control device is implemented to perform congestion control, and a recording medium recording a program that can be read by the congestion control device. A method comprising: (a) driving a verification timer when receiving a duplicate response; (b) If the number of duplicate responses received is greater than or equal to the duplicate response threshold, one of Additive Increase / Multiplicative Decrease, Slow Start, Fast Retransmit, and Fast Recovery. Performing a first congestion control using the above; And (c) verifying that packet reordering has occurred when receiving an acknowledgment according to the first congestion control before the verification timer expires, the duplicate response threshold, a slow start threshold, There is provided a recording medium having recorded thereon a program for executing a first resetting step of at least one of Ssthresh and a congestion window Cwnd.

본 발명에 따른 혼잡제어 수행장치, 그 방법 및 그 프로그램이 기록된 기록매체는 패킷 재배치를 고려한 혼잡제어를 수행한다는 장점이 있다.An apparatus for performing congestion control according to the present invention, a method thereof, and a recording medium on which the program is recorded have an advantage of performing congestion control in consideration of packet relocation.

또한, 패킷 재배치로 인한 혼잡제어가 수행된 경우, 성능이 저하된 TCP 성능을 복구한다는 장점이 있다. In addition, when congestion control due to packet relocation is performed, there is an advantage of recovering the degraded TCP performance.

본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.As the invention allows for various changes and numerous embodiments, particular embodiments will be illustrated in the drawings and described in detail in the written description. However, this is not intended to limit the present invention to specific embodiments, it should be understood to include all transformations, equivalents, and substitutes included in the spirit and scope of the present invention. In the following description of the present invention, if it is determined that the detailed description of the related known technology may obscure the gist of the present invention, the detailed description thereof will be omitted.

제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. The terms first, second, etc. may be used to describe various components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another.

본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used herein is for the purpose of describing particular example embodiments only and is not intended to be limiting of the present invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. In this application, the terms "comprise" or "have" are intended to indicate that there is a feature, number, step, operation, component, part, or combination thereof described in the specification, and one or more other features. It is to be understood that the present invention does not exclude the possibility of the presence or the addition of numbers, steps, operations, components, components, or a combination thereof.

이하, 본 발명의 실시예를 첨부한 도면들을 참조하여 상세히 설명하기로 한 다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면 번호에 상관없이 동일한 수단에 대해서는 동일한 참조 번호를 사용하기로 한다. Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. In order to facilitate a thorough understanding of the present invention, the same reference numerals are used for the same means regardless of the number of the drawings.

도 1은 본 발명의 실시예에 따른 패킷 발신 장치와 수신 장치간의 연결을 예시한 도면이다.1 is a diagram illustrating a connection between a packet transmitting apparatus and a receiving apparatus according to an embodiment of the present invention.

도 1을 참조하면, 본 발명의 실시예에 따른 발신 장치(100)(Source, 이하, '제1 장치'라칭함)는 네트워크(150)를 통하여 수신 장치(destination, 이하, 이하,'제2 장치'칭함)와 연결될 수 있다.Referring to FIG. 1, a source apparatus 100 (Source, hereinafter referred to as 'first apparatus') according to an embodiment of the present invention is a destination apparatus (destination, hereinafter, hereinafter, 'second' through a network 150). Device ').

네트워크(150)에는 망의 부하 분산을 위하여 다중 경로 라우팅(multi path routing), 라우트 플루터링(route fluttering) 등의 다양한 병렬처리 기법이 적용될 수있다. The network 150 may be applied with various parallel processing techniques such as multi path routing and route fluttering for load balancing of the network.

제1 장치(100)는 컴퓨터, 이동 단말 등 데이터를 송수신할 수 있는 다양한 단말이 될 수 있으며, 본 발명이 적용되는 환경에 따라 단말이 연결된 라우터(예를 들어 참조번호 102)와 같이 패킷을 전송하는 중계장치가 될 수 있음은 본 발명의 기술적 사상에 비추어 당업자에게 자명하다. The first device 100 may be various terminals capable of transmitting and receiving data, such as a computer and a mobile terminal, and transmit a packet, such as a router (for example, reference numeral 102) to which the terminal is connected according to an environment to which the present invention is applied. It is apparent to those skilled in the art in view of the technical idea of the present invention that it can be a relay device.

이하, 본 발명의 이해와 설명의 편의를 도모하기 위하여 제1 장치(100)가 단말인 것을 가정하여 설명하나, 이에 한정되지 아니함은 당업자에게 자명하다. Hereinafter, a description will be given on the assumption that the first device 100 is a terminal in order to facilitate understanding and explanation of the present invention, but the present invention is not limited thereto.

지금까지 도 1을 참조하여 본 발명의 실시예에 따라 제1 장치(100)와 제2 장치(110)가 네트워크(150)을 통하여 연결될 수 있음을 설명하였다. Up to now, it has been described with reference to FIG. 1 that the first device 100 and the second device 110 can be connected through the network 150.

이하, 도 2를 참조하여 제1 장치(100)의 구성을 설명한다. Hereinafter, the configuration of the first apparatus 100 will be described with reference to FIG. 2.

도 2는 본 발명의 제1 실시예에 따른 제1 장치(100)의 구성을 예시한 블록도이다.2 is a block diagram illustrating a configuration of the first device 100 according to the first embodiment of the present invention.

도 2를 참조하면, 본 발명의 제1 실시예에 따른 제1 장치(100)는 송수신부(201), 검증타이머(202), 혼잡제어수행부(203) 및 제어부(204)를 포함할 수 있다.Referring to FIG. 2, the first apparatus 100 according to the first embodiment of the present invention may include a transceiver 201, a verification timer 202, a congestion control execution unit 203, and a controller 204. have.

송수신부(201)는 제1 장치(100)가 연결된 네트워크(150)를 통하여 제2 장치(110)간의 데이터를 송수신할 수 있다.The transceiver 201 may transmit / receive data between the second device 110 through the network 150 to which the first device 100 is connected.

검증타이머(202)는 소정의 타이머를 포함할 수 있다.The verification timer 202 may include a predetermined timer.

여기서, 검증타이머(202)가 포함하는 타이머의 크기값은 본 발명이 적용되는 환경에 따라 다양한 값으로 지정될 수 있음은 당업자에게 자명하다. Here, it will be apparent to those skilled in the art that the size value of the timer included in the verification timer 202 may be designated as various values according to the environment to which the present invention is applied.

예를 들어, 검증타이머(202)는 패킷왕복시간(RTT) 크기만큼의 타이머를 포함할 수 있다.For example, the verification timer 202 may include a timer equal to the size of the packet return time (RTT).

혼잡제어수행부(203)는 합증가곱감소(Additive Increase/Multiplicative Decrease), 느린 시작(Slow Start), 빠른 재전송(Fast Retransmit) 및 빠른 회복(Fast Recovery) 중 하나 이상을 이용하여 혼잡제어를 수행할 수 있다.The congestion control unit 203 performs congestion control using one or more of Additive Increase / Multiplicative Decrease, Slow Start, Fast Retransmit, and Fast Recovery. can do.

여기서, 합증가곱감소(AIMD), 느린 시작(Slow Start), 빠른 재전송(Fast Retransmit) 및 빠른 회복(Fast Recovery)은 본 발명의 출원시 당업자에게 공지된 기술이므로, 본 발명의 요지를 명확하게 하기 위하여 본 발명과 관련한 부분을 제외하고 상세한 설명은 생략한다. Here, AIMD, Slow Start, Fast Retransmit, and Fast Recovery are techniques known to those skilled in the art at the time of filing the present invention, and therefore, the gist of the present invention is clearly stated. Detailed description is omitted except for parts related to the present invention.

제어부(204)는 송수신부(201), 검증타이머(202) 및 혼잡제어수행부(203)를 제어할 수 있다. 이하, 본 발명의 제1 실시예에 따른 제어부(204)의 기능에 대해서 설명한다. The controller 204 may control the transceiver 201, the verification timer 202, and the congestion control execution unit 203. Hereinafter, the functions of the control unit 204 according to the first embodiment of the present invention will be described.

<제어부(204)의 제1기능><First function of control unit 204>

본 발명의 제1 실시예에 따르면 송수신부(201)가 중복응답을 수신하는 경우 제어부(204)는 검증타이머(202)를 구동할 수 있다.According to the first embodiment of the present invention, when the transceiver 201 receives a duplicate response, the controller 204 may drive the verification timer 202.

<제어부(204)의 제2기능><2nd function of the control part 204>

또한, 본 발명의 제1 실시예에 따르면, 제어부(204)는 송수신부가 수신한 중복응답의 개수가 중복응답임계값 이상인 경우, 혼잡제어수행부(203)를 제어하여 제1 혼잡제어를 수행할 수 있다. 이때, 검증타이머(202)가 만료되기전에 송수신부(201)가 제1 혼잡제어에 따른 긍정응답을 수신하는 경우, 제어부(204)는 패킷 재배치가 발생한 것으로 검증하고, 중복응답임계값, 느린출발임계점(Slow Start threshold, 이하 ‘ssthresh’라 칭함), 혼잡윈도우 (congestion window, 이하 ‘cwnd’라 칭함) 중 하나 이상을 제1 재설정할 수 있다. In addition, according to the first embodiment of the present invention, the control unit 204 performs the first congestion control by controlling the congestion control unit 203 when the number of duplicate responses received by the transceiver unit is greater than or equal to the duplicate response threshold. Can be. At this time, if the transceiver 201 receives an acknowledgment according to the first congestion control before the verification timer 202 expires, the controller 204 verifies that the packet relocation has occurred, duplicate response threshold, slow start One or more of a slow start threshold (hereinafter referred to as 'ssthresh') and a congestion window (hereinafter referred to as 'cwnd') may be reset.

여기서, 혼잡윈도우(cwnd)는 제1 장치가 ACK 메시지를 수신하기 전까지 네트워크(150)에 전송한 데이터의 양이다.Here, the congestion window cwnd is the amount of data transmitted to the network 150 before the first device receives the ACK message.

여기서, 제1 혼잡제어 및 제1 재설정은 본 발명의 실시예에 따라 다른 조건하에 수행되는 혼잡제어 및 재설정과 구분하기 위해 명칭한 것이다. Here, the first congestion control and the first reset are named to distinguish them from the congestion control and the reset performed under different conditions according to the embodiment of the present invention.

종래 기술에 따르면, 패킷 재배치를 고려하지 않는다는 문제점이 있다.According to the prior art, there is a problem that packet rearrangement is not considered.

보다 상세하게는, 종래기술에 따르면 중복응답임계값의 크기는 패킷 재배치가 일어난 순간의 중복응답의 개수로 결정되어 보편성이 떨어진다는 문제점이 있다. More specifically, according to the prior art, the size of the duplicate response threshold value is determined by the number of duplicate responses at the moment of packet relocation, and thus there is a problem that the universality is inferior.

또한, 종래기술에 따르면, 한번 증가된 중복응답임계값이 네트워크 상황을 반영하여 줄어드는데 오랜 시간이 걸리기 때문에 혼잡에 효율적으로 대응할 수 없으며, 불필요하게 재전송 타이머가 만료 되는 등 TCP 성능의 저하를 초래한다는 문제점이 있다.In addition, according to the related art, since the duplicated response threshold once increased takes a long time to reflect the network situation, it cannot effectively cope with congestion, and unnecessarily expires the retransmission timer, causing TCP degradation. There is a problem.

이하, 패킷 재배치가 검증될 때까지 수신한 중복응답의 수를 중복응답길이라고 칭한다. 본 발명은 중복응답길이를 통해서 새로운 중복응답임계값을 도출해 내는 방법을 제안 한다. 중복응답길이는 측정될 당시의 네트워크 상황에 국한된 결과이며, 당시의 혼잡 윈도우(Cwnd)의 크기에 따라 그 값에 큰 차이가 발생 한다. 그러나, 이 값의 크기를 통해 대략적으로 현재 네트워크의 패킷 재배치 정도를 유추할 수 있다는 점에 주목하자. Hereinafter, the number of duplicate responses received until packet relocation is verified is called a duplicate response length. The present invention proposes a method for deriving a new duplicate response threshold value through the duplicate response length. The redundant response length is a result limited to the network condition at the time of measurement, and a large difference occurs in the value depending on the size of the congestion window (Cwnd) at the time. However, note that the magnitude of this value can roughly infer the degree of packet relocation in the current network.

본 발명은 중복응답길이를 통해 중복응답임계값을 재설정하고, 재설정된 중복응답임계값을 이용하여 혼잡제어를 수행하는 방법을 제안한다. The present invention proposes a method of resetting a duplicate response threshold value through a duplicate response length and performing congestion control using the reset duplicate response threshold value.

본 발명의 제1 실시예에 따르면, 제어부(204)는 검증타이머(202)가 만료되기전에 송수신부(201)가 제1 혼잡제어에 따른 긍정응답을 수신하는 경우, 제어부(204)는 패킷 재배치가 발생한 것으로 검증할 수 있다. 이 경우, 제어부(204)는 불필요하게 저하시킨 TCP의 성능을 복구하기 위하여 중복응답임계값, 느린출발임계점(ssthresh), 혼잡윈도우 (cwnd) 중 하나 이상을 제1 재설정할 수 있다. According to the first embodiment of the present invention, when the transceiver 201 receives an acknowledgment according to the first congestion control before the verification timer 202 expires, the controller 204 relocates the packet. Can be verified to have occurred. In this case, the controller 204 may first reset one or more of a duplicate response threshold, a slow start threshold, and a congestion window cwnd in order to restore the performance of TCP which has been unnecessarily degraded.

보다 상세하게는 제어부(204)는 하기의 수학식 1을 이용하여 중복응답임계값, 느린출발임계점(Ssthresh), 및 혼잡윈도우(Cwnd) 중 하나 이상을 제1 재설정할 수 있다. More specifically, the controller 204 may first reset one or more of the duplicate response threshold value, the slow start threshold point (Ssthresh), and the congestion window (Cwnd) using Equation 1 below.

[수학식 1][Equation 1]

Figure 112008067183726-PAT00003
Figure 112008067183726-PAT00003

여기서, dt는 중복응답임계값이고, dts는 중복응답임계값으로 재설정될 새로운 값이고, dtpre 이전의 중복응답임계값이고, dtM는 패킷 재배치을 검증한 때까지 수신한 중복응답의 개수이고, α는 0 이상 1이하의 지정된 실수이다.Where dt is the duplicate response threshold, dt s is the new value to be reset to the duplicate response threshold, and dt pre is The previous duplicate response threshold, dt M is the number of duplicate responses received until the packet relocation has been verified, and α is a specified real number between 0 and 1, inclusive.

따라서, 본 발명의 제1 실시예에 따르면, 제어부(204)는 패킷 재배치에 따른 혼잡제어가 수행된 경우 중복응답임계값을 지속적으로 감소시키지 아니할 수 있다. Therefore, according to the first embodiment of the present invention, the control unit 204 may not continuously reduce the duplicate response threshold when congestion control according to packet relocation is performed.

보다 상세하게는, 제어부(204)는 중복응답길이(dtM)와 이전의 중복응답임계값(dtpre) 에 각각 가중치(1-α), 가중치(α)를 적용한 후 두 값의 합을 새로운 중복응답임계값(

Figure 112008067183726-PAT00004
)으로 재설정할 수 있다.More specifically, the control unit 204 applies the weight (1-α) and the weight (α) to the duplicate response length (dt M ) and the previous duplicate response threshold value (dt pre ), respectively, and then adds the new sum of the two values. Duplicate Response Threshold (
Figure 112008067183726-PAT00004
Can be reset.

이렇게 재설정된 중복응답임계값은 빠른 재전송 및 빠른 복구의 수행을 지연할 수있다. This reset duplicated response threshold can delay the performance of fast retransmission and fast recovery.

따라서, 본 발명의 제1 실시예에 따르면, 급변하는 네트워크 환경에 적용하 기 알맞은 보편적인 중복응답임계값을 재설정할 수 있다는 장점이 있다. 또한, 이를 통해 패킷 재배치에 의한 혼잡제어를 예방하여 불필요한 성능 저하를 막고 그를 통해 네트워크의 자원을 효율적으로 사용할 수 있다Therefore, according to the first embodiment of the present invention, there is an advantage in that it is possible to reset a universal duplicate response threshold suitable for application in a rapidly changing network environment. In addition, this prevents congestion control due to packet relocation, thereby preventing unnecessary performance degradation and thereby efficiently using network resources.

또한, 본 발명의 제1 실시예에 따르면 제어부(204)는 패킷 재배치에 따른 불필요한 혼잡제어가 검증되면, 불필요한 혼잡제어를 통해 저하된 TCP 성능을 복구하기 위해 TCP와 관련된 두가지 요소를 조절할 수 있다.In addition, according to the first embodiment of the present invention, if unnecessary congestion control according to packet rearrangement is verified, the controller 204 may adjust two factors related to TCP to recover the degraded TCP performance through unnecessary congestion control.

보다 상세하게는, 제어부(204)는 하기의 수학식 2를 이용하여 느린출발임계점 (Ssthreh) 및 혼잡윈도우(Cwnd)를 조절할 수 있다. In more detail, the controller 204 may adjust the slow start threshold point Ssthreh and the congestion window Cwnd using Equation 2 below.

[수학식 2][Equation 2]

느린출발임계점현재 = 느린출발임계점이전 Slow start Threshold = current slow start threshold before

혼잡윈도우현재 = 2 Х 혼잡윈도우현재 Congestion window present = 2 Х Congestion window present

예를 들어, 제어부(204)는 혼잡윈도우(Cwnd)의 크기를 증가시켜 감소된 전송률을 복구할 수 있다. 여기서, 혼잡윈도우(Cwnd)가 클수록 해당 세션은 높은 전송률을 가질 수 있다. For example, the controller 204 may restore the reduced transmission rate by increasing the size of the congestion window Cwnd. Here, as the congestion window Cwnd increases, the corresponding session may have a high transmission rate.

예를 들어, 제어부(204)는 느린출발임계값을 혼잡제어가 발생하기 이전 값으로 복구할 수 있다. 여기서, 느린출발임계값(Ssthreth)은 혼잡 윈도우의 크기 변화폭을 결정하는 요소이다. 따라서 느린출발임계값(Ssthreth) 역시 TCP 세션의 성능에 주요한 영향을 미치는 요소이다. For example, the controller 204 may restore the slow start threshold to a value before congestion control occurs. Here, the slow start threshold (Ssthreth) is a factor that determines the size variation of the congestion window. Therefore, slow start threshold (Ssthreth) is also a major factor in TCP session performance.

따라서, 본 발명의 제1 실시예에 따르면, 혼잡과 관련한 불필요하게 제한된 두 요소의 크기를 복구시켜 줌으로써 패킷 재배치에 의한 불필요한 성능 저하를 복구할 수 있다. Therefore, according to the first embodiment of the present invention, by restoring the size of two elements that are unnecessarily limited in relation to congestion, unnecessary performance degradation due to packet relocation can be recovered.

본 발명의 제1 실시예에 따르면 혼잡제어수행부(203)에 의해 제1 혼잡제어가 수행된 이후, 제1 혼잡제어에 따른 긍정응답이 검증타이머(202) 만료전에 수신되는 경우에 패킷 재배치에 의한 혼잡제어가 수행된것으로 제어부(204)가 검증한 것으로 설명하였다.According to the first embodiment of the present invention, after the first congestion control is performed by the congestion control execution unit 203, if a positive response according to the first congestion control is received before expiration of the verification timer 202, The congestion control by the controller 204 has been described as verified.

만일, 해당 패킷이 손실되어, 그 손실에 따른 제1 혼잡제어가 수행되고, 제1 혼잡제어에 따른 긍정응답이 검증타이머(202) 만료전에 수신되는 경우가 발생할 수 있다. 이 경우, 해당 패킷부터 긍정응답에 따른 왕복시간은 네트워크의 상황을 나타내기 때문에, 검증 타이머 이내에 재전송한 패킷에 대한 응답이 왔다는 것은 그만큼 네트워크의 자원이 풍부하다는 것을 의미할 수 있다. 따라서, 본 발명의 실시예에 따르면, 제어부(204)는 이 경우 혼잡제어는 불필요하다고 판단할 수 있고, 이하 앞서 상술한 바와 같다. If the corresponding packet is lost, a first congestion control may be performed according to the loss, and an acknowledgment according to the first congestion control may be received before expiration of the verification timer 202. In this case, since the round trip time from the packet to the acknowledgment indicates the situation of the network, the response to the retransmitted packet within the verification timer may mean that the resources of the network are abundant. Therefore, according to the embodiment of the present invention, the control unit 204 may determine that congestion control is unnecessary in this case, as described above.

<제어부(204)의 제3기능><3rd function of the control part 204>

본 발명의 제1 실시예에 따르면 제어부(204)는 중복응답임계값이 잘못 설정된 경우 초기화 할 수 있다.According to the first embodiment of the present invention, the controller 204 may initialize the duplicate response threshold if it is incorrectly set.

중복응답임계값은 수시로 변하게 되는데 이러한 중복응답임계값이 본 발명의 실시예에 따라 완만한 조절기법을 사용하였음에도 불구하고 불필요하게 커질 경우 제때에 혼잡에 대한 제어를 수행하지 못할 수 있다. 이와 같이 제때에 혼잡제어가 발생하지 않는 일이 일어나면 제어부(204)는 중복응답임계값이 잘못 설정된 것으로 판단하고 중복응답 임계값을 소정의 값으로 재설정할 수 있다.The duplicate response threshold changes frequently, and if such a duplicate response threshold increases unnecessarily in spite of using a gentle adjustment method according to an embodiment of the present invention, it may not be possible to control the congestion in time. As such, when congestion control does not occur in a timely manner, the controller 204 may determine that the duplicate response threshold is set incorrectly, and reset the duplicate response threshold to a predetermined value.

예를 들어, 송수신부(201)가 중복응답을 수신하여 검증타이머(202)가 구동하였으나 검증타이머(202)가 만료될 때까지 송수신부(201)가 긍정응답을 수신하지 못할 수 있다. 만일 이때, 빠른 재전송 빠른 복구를 통한 혼잡제어조차도 일어나지 않는다면, 중복응답임계값이 과도하게 증가한 것으로 판단할 수 있다. 본 발명의 실시예에 따르면 이 경우, 제어부(204)가 중복응답임계값을 소정의 값으로 재설정하여, 추가적으로 검증타이머의 크기만큼 지연되어 혼잡제어수행부(203)가 혼잡제어를 수행할 수 있다.For example, the transmission / reception unit 201 receives the duplicate response and the verification timer 202 is driven, but the transmission / reception unit 201 may not receive the positive response until the verification timer 202 expires. If at this time, even congestion control through fast retransmission quick recovery does not occur, it can be determined that the duplicate response threshold is excessively increased. According to an embodiment of the present invention, in this case, the control unit 204 resets the duplicate response threshold to a predetermined value, and is further delayed by the size of the verification timer so that the congestion control unit 203 may perform congestion control. .

여기서, 제어부(204)는 중복응답임계값을 본 발명이 적용되는 환경에 따라 다양하게 값으로 재설정할 수 있음은 본 발명의 기술적 사상에 비추어 당업자에게 자명하다. Here, it will be apparent to those skilled in the art in view of the technical spirit of the present invention that the controller 204 may reset the duplicate response threshold to various values according to the environment to which the present invention is applied.

지금까지 도 2를 참조하여 본 발명의 실시예에 따른 제1 장치(100)의 각 구성부의 기능에 대해서 설명하였다. The function of each component of the first apparatus 100 according to the embodiment of the present invention has been described above with reference to FIG. 2.

여기서, 본 명세서에서의 구성부들에 대한 구분은 각 구성부가 담당하는 주기능별로 구분한 것에 불과함을 명확히 하고자 한다. 즉, 상술한 2개 이상의 구성 부가 하나의 구성부로 합쳐지거나 또는 하나의 구성부가 보다 세분화된 기능별로 2개 이상으로 분화되어 구비될 수도 있다. 그리고 앞서 설명할 구성부 각각은 자신이 담당하는 주기능 이외에도 다른 구성부가 담당하는 기능 중 일부 또는 전부의 기능을 추가적으로 수행할 수도 있으며, 구성부 각각이 담당하는 주기능 중 일부 기능이 다른 구성부에 의해 전담되어 수행될 수도 있음은 물론이다. 따라서, 본 명세서를 통해 설명되는 각 구성부들의 존재 여부는 기능적으로 해석 되어져야 할 것이며, 이러한 이유로 본 발명의 실시예에 따른 혼잡제어 장치 따른 구성부들의 구성은 본 발명의 목적을 달성할 수 있는 한도 내에서 도 2와는 상이해질 수 있음을 명확히 밝혀둔다. Here, the divisions for the components in the present specification are intended to be clear that they are only divided by the main functions in charge of each component. That is, the two or more components described above may be combined into one component, or one component may be divided into two or more parts for each of the more detailed functions. Each of the components described above may additionally perform some or all of the functions of other components in addition to the main functions of the components, and some of the main functions of the components are different from each other. Of course, it may be carried out exclusively by. Therefore, the presence or absence of each component described through this specification should be interpreted functionally, and for this reason the configuration of the components according to the congestion control device according to an embodiment of the present invention can achieve the object of the present invention It is clearly noted that within limits, this may differ from FIG. 2.

이하 본 발명의 제2 실시예에 따른 각 구성부의 기능에 대해서 설명한다. 보다 상세하게는 제어부(204)가 조건을 각 구성부를 제어하기 위한 조건판단을 해당 구성부가 자체적으로 판단할 수 있다. Hereinafter, the functions of each component according to the second embodiment of the present invention will be described. In more detail, the control unit 204 may determine the condition determination for controlling each component by the component itself.

보다 상세하게는, 본 발명의 제 2실시예에 따르면, 검증타이머(202)는 송수신부(201)가 중복응답을 수신하는 경우 구동할 수 있다.More specifically, according to the second embodiment of the present invention, the verification timer 202 may be driven when the transceiver 201 receives a duplicate response.

또한, 본 발명의 제2 실시예에 따르면, 혼잡제어수행부(203)는 송수신부가 수신한 중복응답의 개수가 중복응답임계값 이상인 경우, 제1 혼잡제어를 수행할 수 있다. In addition, according to the second embodiment of the present invention, the congestion control unit 203 may perform the first congestion control when the number of duplicate responses received by the transceiver unit is greater than or equal to the duplicate response threshold.

또한, 본 발명의 제2 실시예에 따르면, 혼잡제어수행부(203)는 송수신부(201)가 수신한 중복응답의 개수가 중복응답임계값미만이며 검증타이머(202)가 만료되는 경우 제2 혼잡제어를 수행할 수 있다.In addition, according to the second embodiment of the present invention, the congestion control unit 203 is the second when the number of duplicate responses received by the transceiver unit 201 is less than the duplicate response threshold value and the verification timer 202 expires. Congestion control can be performed.

또한, 본 발명의 제2 실시예에 따르면, 제어부(204)는 제1 혼잡제어에 따라 중복 응답임계값을 소정의 값으로 재설정할 수 있다.Further, according to the second embodiment of the present invention, the controller 204 may reset the duplicate response threshold to a predetermined value according to the first congestion control.

또한, 본 발명의 제2 실시예에 따르면, 제2 혼잡제어에 따라 송수신부(201)가 재전송한 패킷에 대한 긍정응답을 검증타이머(202)가 만료되기전에 수신하는 경우, 앞서 설명한 바와 같이 중복응답임계값, 느린출발임계점(Ssthresh) 및 혼잡윈도우(Cwnd) 중 하나 이상을 제2 재설정하여 저하된 TCP 성능을 복구할 수 있다. Further, according to the second embodiment of the present invention, when the acknowledgment response to the packet retransmitted by the transceiver 201 is received before the verification timer 202 expires according to the second congestion control, it is duplicated as described above. Degraded TCP performance can be recovered by resetting one or more of the response threshold, slow start threshold (Ssthresh), and congestion window (Cwnd).

이와 같이, 본 발명의 실시예에 따른 혼잡제어 장치(100)의 각 구성부의 기능은 그 명칭에 불구하고 다양하게 세부화되거나 통합되어 구현될 수 있음은 본 발명의 기술적 사상에 비추어 당업자에게 자명하다. As described above, it is apparent to those skilled in the art in view of the technical spirit of the present invention that the functions of each component of the congestion control device 100 according to the embodiment of the present invention may be implemented in various details or integrated in spite of the name.

도 3은 본 발명의 실시예에 따라 혼잡제어 장치가 혼잡제어를 수행하는 방법을 예시한 순서도이다.3 is a flowchart illustrating a method in which a congestion control device performs congestion control according to an embodiment of the present invention.

앞서, 도 2를 참조하여 설명한 바와 같이, 본 발명의 실시예에 따른 혼잡제어 장치(100)의 각 구성부는 다양하게 구현될 수 있으므로, 이하, 도 3을 참조하여 설명함에 있어, 혼잡제어 장치의 일례로 설명한 제1 장치(100)가 전체 주체인 것으로 설명한다.As described above with reference to FIG. 2, since each component of the congestion control apparatus 100 according to the embodiment of the present invention may be implemented in various ways, the following description will be made with reference to FIG. 3. It will be described that the first device 100 described as an example is the entire subject.

또한, 도 3을 참조하여 설명함에 있어, 앞서 도 2를 참조하여 설명한 부분과 중복되는 설명은 혼잡제어 방법의 요지를 명확하게 하기 위하여 상세한 설명은 생 략한다. In addition, in the description with reference to FIG. 3, the description overlapping with the above description with reference to FIG. 2 will not be described in detail in order to clarify the gist of the congestion control method.

도 3을 참조하면, 단계 S302에서 제1 장치(100)는 중복응답을 수신할 수 있다.Referring to FIG. 3, in operation S302, the first device 100 may receive a duplicate response.

여기서, 중복응답은 패킷 재배치 또는 패킷 손실에 따라 수신측인 제2 장치(110)가 제1 장치(100)로 전송할 것일 수 있다.Here, the redundant response may be transmitted by the second device 110, which is a receiving side, to the first device 100 according to packet relocation or packet loss.

이어서, 단계 S304에서 제1 장치(100)는 중복응답 수신에 따라 검증타이머를 구동할 수 있다.Subsequently, in operation S304, the first device 100 may drive the verification timer in response to receiving the duplicate response.

이점에 대해서는 앞서 도 2를 참조하여 제어부(204)의 제1 기능에서 설명하였다.This has been described above in the first function of the controller 204 with reference to FIG. 2.

이어서, 단계 S306에서 중복응답 수신의 개수가 중복응답임계값 이상인 경우, 제1 장치(100)는 혼잡이 발생한 것으로 판단하고, 단계 S314에서 제1 혼잡제어를 수행할 수 있다. Subsequently, when the number of duplicate response receptions is greater than or equal to the duplicate response threshold in step S306, the first apparatus 100 may determine that congestion has occurred and perform first congestion control in step S314.

이어서, 단계 S316 및 단계 S318에서 검증타이머(202)가 만료하기전에 제1 혼잡제어에 따라 재전송된 패킷의 긍정응답이 제1 장치(100)에 수신되는 경우, 제1 장치(100)는 패킷 재배치에 따라 제1 혼잡제어가 수행된것으로 검증하고, 단계 S320에서 저하된 TCP 성능을 복구할 수 있다.Subsequently, when the acknowledgment of the retransmitted packet according to the first congestion control is received by the first device 100 before the verification timer 202 expires in steps S316 and S318, the first device 100 rearranges the packet. According to the first congestion control is performed, it is possible to recover the degraded TCP performance in step S320.

단계 S306, 단계 S314, 단계 S316, 단계 S318 및 단계 S320에 대해서는 앞서 도 2를 참조하여 제어부(204)의 제2 기능에서 상세히 설명하였다.Step S306, step S314, step S316, step S318, and step S320 have been described in detail in the second function of the controller 204 with reference to FIG. 2.

단계 S306 및 단계 S308에서 제1 장치(100)가 수신한 중복응답의 개수가 중복응답임계값 미만임에도 불구하고 검증타이머(202)가 만료한 경우, 제1 장치(100) 는 중복응담임계값이 잘못 설정된 것으로 판단할 수 있다. 이 경우, 단계 S312에서 제1 장치(100)는 잘못 설정된 중복응답임계값을 소정의 값으로 재설정하고, 재설정된 중복응답임계값만큼 지연하여 혼잡제어를 수행할 수 있다. If the verification timer 202 expires despite the number of duplicate responses received by the first device 100 in steps S306 and S308 being less than the duplicate response threshold value, the first device 100 returns a duplicate response threshold value. It may be determined that it is set incorrectly. In this case, in operation S312, the first device 100 may reset the incorrectly set duplicate response threshold to a predetermined value, and perform congestion control by delaying the reset duplicate response threshold by the reset value.

단계 S306, 단계 S308 및 단계 S312에 대해서는 앞서 도 2를 참조하여 제어부(204)의 기능 3에서 상세히 설명하였다.Step S306, step S308, and step S312 have been described in detail in the function 3 of the controller 204 with reference to FIG. 2.

지금까지 도 3을 참조하여 본 발명의 실시예에 따른 혼잡제어방법을 설명하였다. So far, the congestion control method according to the embodiment of the present invention has been described with reference to FIG. 3.

도 4 및 도 5는 앞서 도 2를 참조하여 설명한 제어부(204)의 제2 기능을 예시한 도면이다. 4 and 5 are diagrams illustrating a second function of the controller 204 described above with reference to FIG. 2.

도 3 및 도 4를 참조하면, 도3의 단계 S302에서 제1 장치(100)가 중복응답을 수신하는 경우(402), 단계 S304에서 구동타이머(202)를 구동할 수 있다. 3 and 4, when the first device 100 receives a duplicate response in step S302 of FIG. 3 (402), the driving timer 202 may be driven in step S304.

그리고, 제1 장치(100)가 중복응답임계값이 n개만큼 중복응답을 수신하는 경우(404), 단계 S314에서 제1 혼잡제어의 일례로 빠른 재전송 및 빠른 복구를 수행할 수 있다(406).When the first device 100 receives the duplicate responses as many as n duplicate response thresholds (404), in step S314, as an example of the first congestion control, fast retransmission and fast recovery may be performed (406). .

단계 S316 및 단계 S318에서 검증 타이머(202)가 만료되기전까지 제1 혼잡제어에 따른 재전송된 패킷의 긍정응답을 제1 장치(100)가 수신하는 경우(408), 제1 장치(100)는 제1 혼잡제어가 패킷 재배치에 따른 불필요한 혼잡제어로 판단하고(410)로 판단할 수 있다. 이 경우, 단계 S320에서 제1 장치(100)가 저하된 TCP 성능을 복구할 수 있음은 앞서 도2 및 도 3을 참조하여 설명하였다.When the first device 100 receives an acknowledgment of the retransmitted packet according to the first congestion control until the verification timer 202 expires in steps S316 and S318 (408), the first device 100 receives the first response. 1 congestion control may be determined as unnecessary congestion control according to packet rearrangement (410). In this case, it is described above with reference to FIGS. 2 and 3 that the first device 100 may recover the degraded TCP performance in step S320.

도 3 및 도 5를 참조하면, 단계 S316에서 제1 혼잡제어에 따른 재전송된 패킷의 긍정응답을 제1 장치(100)가 검정타이머(100)가 만료될때까지 수신 못하는 경우(502), 제1 장치(100)는 제1 혼잡제어가 패킷 손실과 같은 사유로 수행된 적절한 혼잡제어로 판단할 수 있다.3 and 5, when the first device 100 does not receive an acknowledgment of the retransmitted packet according to the first congestion control in step S316 until the black timer 100 expires (502), the first The apparatus 100 may determine that the first congestion control is appropriate congestion control performed for reasons such as packet loss.

지금까지 도 3, 도 4 및 도 5를 참조하여 제어부(204)의 제2 기능을 상세히 설명하였다.So far, the second function of the controller 204 has been described in detail with reference to FIGS. 3, 4, and 5.

도 6은 본 발명의 실시예에 따른 시물레이션을 위한 토폴로지를 예시한 도면이며, 도 7 및 도 8은 각각의 라우터 사이의 링크에서 발생하는 전송속도 변화 빈도를 달리하여 시뮬레이션 한 결과이다. FIG. 6 is a diagram illustrating a topology for simulation according to an exemplary embodiment of the present invention, and FIGS. 7 and 8 are simulation results of varying transmission rate variations occurring in a link between routers.

토폴로지는 제1 장치(Source), 제2 장치(Destination), (R1), (R2) 4개의 노드와 2 종류의 링크로 이루어져 있다. (Link 1)은 10Mbps 대여폭, 1ms의 전파지연을 가지며, (Link 2)는 3Mbps 대여폭, 평균 50+200τms의 전파지연을 가진다. 이때 표준 편차는 (200τ)/3 ms 이며, τ는 0 부터 2 사이의 값으로 0.2 간격으로 설정하였다. 오류 모델을 적용하였으며, 이때 오류율은 0.001을 적용하였다.The topology consists of four nodes and two types of links: the first device (Source), the second device (Destination), (R1), and (R2). (Link 1) has a 10Mbps rental bandwidth and 1ms propagation delay, and (Link 2) has a 3Mbps rental bandwidth and average propagation delay of 50 + 200τms. At this time, the standard deviation was (200τ) / 3 ms, and τ was set at 0.2 interval with a value between 0 and 2. The error model is applied, and the error rate is 0.001.

설정한 네트워크 매개변수로 400 세그먼트 크기의 버퍼를 제1 장치(Source) 및제2 장치(Destination)에 설치하였으며, 이때 세그먼트의 크기는 1500bytes로 정의하였다. 혼잡 윈도우의 최대 크기는 500 세그먼트로 설정하였다. 패킷 재배치를 발생시키기 위해 값을 특정 시간간격으로 바꿔 주었는데 이때 그 간격은 50ms, 250ms의 크기로 시뮬레이션 하였으며, 10초에 전송을 시작하여 1010초에 전송을 종료하는 방법으로 총 1000초간 진행되었다. 패킷 재배치는 난수에 따라 발생하는데 이때 씨드 값(seed value)를 총 20가지 다른 값을 적용하여 시뮬레이션 하였다.As a configured network parameter, a buffer having a size of 400 segments is installed in the first device (Source) and the second device (Destination), and the size of the segment is defined as 1500 bytes. The maximum size of the congestion window was set to 500 segments. In order to generate a packet relocation, the value was changed to a specific time interval, and the interval was simulated with a size of 50 ms and 250 ms, and a total of 1000 seconds was performed by starting transmission at 10 seconds and ending transmission at 1010 seconds. Packet relocation occurs according to random numbers, and the seed value is simulated using a total of 20 different values.

도 7 및 도 8을 참조하면, Path delay factor(τ)는 두 라우터 사이 링크의 전파지연시간(평균 50+200τ ms, 표준 편차는 (200τ)/3 ms)을 결정하는 값으로 0부터 2사이의 값으로 0.2 간격으로 변화되는 것으로 가정하였다.7 and 8, the path delay factor (τ) is a value for determining the propagation delay time (average 50 + 200τ ms, and the standard deviation is (200τ) / 3 ms) of the link between the two routers. It is assumed that the value is changed at 0.2 intervals.

Y축인 Goodput은 제 1장치가 제 2장치에게 전송한 실질적인 데이터 량을 의미ㅎ나다. 이때 실질적인 데이터 량에서 재전송한 데이터의 크기는 포함되지 않을 수 있다.Goodput, which is the Y-axis, represents the actual amount of data transmitted by the first device to the second device. In this case, the size of the retransmitted data may not be included in the actual amount of data.

Switch rate는 단일링크로 구성된 토폴로지에서 임의로 패킷 재배치를 발생시키기 위해서 두 라우터 사이 링크의 전파지연을 변경시키는데, 이 때의 시간간격이 switch rate이다.The switch rate changes the propagation delay of the link between two routers in order to randomly rearrange packets in a single link topology. The time interval is the switch rate.

Error rate 는 토폴로지 상에서 단일 패킷 손실을 발생시키기 위한 값으로 0.1%의 확률로 패킷 Drop을 발생시킨다.The error rate is a value to generate a single packet loss in the topology and has a 0.1% chance of packet drop.

도 7 및 도 8을 참조하면, 본 발명의 실시예에 따른 혼잡제어방법이 종래 기술인 TCP-DAD(TCP Dynamically Adjusted Duptresh)에 비해 약 8% 높은 성능을 나타냄을 알 수 있다. 7 and 8, it can be seen that the congestion control method according to the embodiment of the present invention exhibits about 8% higher performance than the TCP-DAD (TCP Dynamically Adjusted Duptresh).

이러한 성능차이는 종래기술인 TCP-DAD의 경우 패킷 재배치가 발생할 때마다 중복응답임계값이 급격히 변하기 때문에 생긴다. 급격하게 증가한 중복 응답 임계값의 경우 재전송 타이머(202)가 만료되는 상황을 초래하기 쉽다. 그러나, 본 발명의 실시예에 따른 혼잡제어 방법은 패킷 재배치가 검증될 때까지 수신한 중복 응답의 수인 중복 응답 길이를 이용하기 때문에, 중복응답임계값이 점진적으로 증가하여 TCP-DAD에 비해 보다 안정적인 값을 갖는다. 또한 본 발명의 경우가 보다 빠르게 혼잡에 대응할 수 있어서 시뮬레이션 환경에서 보다 높은 성능을 나타내었다.This performance difference occurs in the TCP-DAD of the prior art because the duplicate response threshold changes rapidly every time packet relocation occurs. Rapidly increasing duplicate response thresholds are likely to result in a situation where the retransmission timer 202 expires. However, since the congestion control method according to the embodiment of the present invention uses the duplicate response length, which is the number of duplicate responses received until packet relocation is verified, the duplicate response threshold is gradually increased, which is more stable than that of TCP-DAD. Has a value. In addition, the present invention is able to cope with the congestion faster, showing a higher performance in the simulation environment.

본 발명의 실시예에 따른 혼잡제어 방법 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조등을 단독으로 또는 조합하여 포함할 수 있다. Congestion control method method according to an embodiment of the present invention can be implemented in the form of program instructions that can be executed by various computer means may be recorded on a computer readable medium. Computer-readable media may include, alone or in combination with the program instructions, data files, data structures, and the like.

컴퓨터 판독 가능 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media) 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 또한 상술한 매체는 프로그램 명령, 데이터 구조 등을 지정하는 신호를 전송하는 반송파를 포함하는 광 또는 금속선, 도파관 등의 전송 매체일 수도 있다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. The program instructions recorded on the computer readable medium may be those specially designed and constructed for the present invention, or may be known and available to those skilled in the computer software arts. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical media such as CD-ROMs, DVDs, and magnetic disks, such as floppy disks. Hardware devices specially configured to store and execute program instructions such as magneto-optical media and ROM, RAM, flash memory and the like. In addition, the above-described medium may be a transmission medium such as an optical or metal wire, a waveguide, or the like including a carrier wave for transmitting a signal specifying a program command, a data structure, and the like. Examples of program instructions include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like.

상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The hardware device described above may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.

상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.It will be apparent to those skilled in the art that various modifications and variations can be made in the present invention without departing from the spirit or scope of the invention as defined in the appended claims. It will be understood that the invention may be varied and varied without departing from the scope of the invention.

도 1은 본 발명의 실시예에 따른 패킷 발신 장치와 수신 장치간의 연결을 예시한 도면.1 is a diagram illustrating a connection between a packet transmitter and a receiver according to an embodiment of the present invention.

도 2는 본 발명의 제1 실시예에 따른 제1 장치(100)의 구성을 예시한 블록도.2 is a block diagram illustrating a configuration of a first device 100 according to a first embodiment of the present invention.

도 3은 본 발명의 실시예에 따라 혼잡제어 장치가 혼잡제어를 수행하는 방법을 예시한 순서도.3 is a flowchart illustrating a method for congestion control performed by a congestion control device according to an embodiment of the present invention.

도 4 및 도 5는 앞서 도 2를 참조하여 설명한 제어부(204)의 제2 기능을 예시한 도면.4 and 5 illustrate a second function of the controller 204 described above with reference to FIG. 2.

도 6은 본 발명의 실시예에 따른 시물레이션을 위한 토폴로지를 예시한 도면.6 illustrates a topology for simulation in accordance with an embodiment of the present invention.

도 7 및 도 8은 각각의 라우터 사이의 링크에서 발생하는 전송속도 변화 빈도를 달리하여 시뮬레이션 한 결과. 7 and 8 are simulation results by varying the frequency of the transmission rate change occurring in the link between each router.

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

100 : 제1 장치(Source)100: first device (Source)

201 : 송수신부 201: transceiver

202 : 검증타이머202: Verification timer

203 : 혼잡제어수행부203: congestion control unit

204 : 제어부204: control unit

Claims (16)

TCP(transmission control protocol)의 혼잡을 제어(congestion control)하는 장치에 있어서,An apparatus for controlling congestion of a transmission control protocol (TCP), 결합된 망(network)과 데이터를 송수신하는 송수신부;A transceiver for transmitting and receiving the combined network and data; 소정의 타이머를 포함하는 검증타이머;A verification timer including a predetermined timer; 합증가곱감소(Additive Increase/Multiplicative Decrease), 느린 시작(Slow Start), 빠른 재전송(Fast Retransmit) 및 빠른 회복(Fast Recovery) 중 하나 이상을 이용하여 혼잡제어(congestion control)을 수행하는 혼잡제어 수행부; 및Congestion control that performs congestion control using one or more of Additive Increase / Multiplicative Decrease, Slow Start, Fast Retransmit, and Fast Recovery part; And 상기 송수신부가 중복응답을 수신하는 경우 상기 검증타이머를 구동하는 제어부를 포함하되,When the transceiver receives a duplicate response includes a control unit for driving the verification timer, 상기 제어부는 상기 송수신부가 수신한 중복응답의 개수가 중복응답임계값 이상인 경우 상기 혼잡제어수행부를 제어하여 제1 혼잡제어를 수행하고, 상기 송수신부가 상기 검증타이머가 만료되기전에 상기 제1 혼잡제어 따른 긍정응답을 수신하는 경우 패킷 재배치(packet reordering)가 발생한 것으로 검증하고, 상기 중복응답임계값, 느린출발임계점(Slow Start threshold, Ssthresh) 및 혼잡윈도우(congestion window, Cwnd) 중 하나 이상을 제1 재설정하는 것을 특징으로 하는 혼잡제어 수행 장치The control unit controls the congestion control execution unit to perform a first congestion control when the number of duplicate responses received by the transceiver unit is equal to or greater than a duplicate response threshold value, and before the verification timer expires, the control unit performs the first congestion control. Upon receipt of a positive response, verify that packet reordering has occurred, and reset one or more of the duplicate response threshold, Slow Start threshold, Ssthresh, and congestion window Cwnd. Congestion control performing device, characterized in that 제1항에 있어서,The method of claim 1, 상기 제어부는 상기 송수신부가 수신한 중복응답의 개수가 상기 중복응답임계값 미만이며 상기 검증타이머가 만료(expire)한 경우, 상기 혼잡제어수행부를 제어하여 제2 혼잡제어를 수행하고, 상기 중복응답임계값을 제2 재설정하는 것을 특징으로 하는 혼잡제어 장치. If the number of duplicate responses received by the transceiver is less than the duplicate response threshold and the verification timer expires, the controller controls the congestion control execution unit to perform a second congestion control and the duplicate response threshold. And a second reset of the value. 제1항 또는 제2항에 있어서,The method according to claim 1 or 2, 상기 제어부는 수학식
Figure 112008067183726-PAT00005
을 이용하여 상기 중복응답임계값을 제1 재설정하는 것을 특징으로 하는 혼잡제어 장치.
The control unit is
Figure 112008067183726-PAT00005
Congestion control device, characterized in that for resetting the redundant response threshold value first.
여기서, dt는 중복응답임계값이고, dts는 중복응답임계값으로 재설정될 새로운 값이고, dtpre 이전의 중복응답임계값이고, dtM는 패킷 재배치을 검증한 때까지 수신한 중복응답의 개수이고, α는 0이상 1이하의 지정된 실수임. Where dt is the duplicate response threshold, dt s is the new value to be reset to the duplicate response threshold, and dt pre is The previous duplicate response threshold, dt M is the number of duplicate responses received until the packet relocation has been verified, and α is a specified real number between 0 and 1, inclusive.
제1항 또는 제2항에 있어서, The method according to claim 1 or 2, 상기 제어부는 하기의 수학식을 이용하여 느린출발임계점(Ssthresh) 및 혼잡윈도우(cwnd) 중 하나 이상을 제1 재설정하는 것을 특징으로 하는 혼잡제어 장치.And the control unit first resets one or more of a slow starting threshold point (Ssthresh) and a congestion window (cwnd) using the following equation. [수학식][Equation] 느린출발임계점현재 = 느린출발임계점이전 Slow start Threshold = current slow start threshold before 혼잡윈도우현재 = 2 Х 혼잡윈도우현재 Congestion window present = 2 Х Congestion window present 제2항에 있어서,The method of claim 2, 상기 제어부는 상기 중복응답임계값을 3으로 제2 재설정하는 것을 특징으로 하는 혼잡제어 장치. And the control unit resets the overlap response threshold value to 3 secondly. 제1항 또는 제2항에 있어서,The method according to claim 1 or 2, 상기 검증 타이머는 패킷왕복시간(RTT)의 크기인 것을 특징으로 하는 혼잡제어 장치. And the verification timer is a size of a packet reciprocating time (RTT). TCP(transmission control protocol)의 혼잡을 제어(congestion control)하는 장치에 있어서,An apparatus for controlling congestion of a transmission control protocol (TCP), 결합된 망(network)과 데이터를 송수신하는 송수신부;A transceiver for transmitting and receiving the combined network and data; 소정의 타이머를 포함하고, 상기 송수신부가 중복응답을 수신하는 경우 구동하는 검증타이머;A verification timer including a predetermined timer and driving when the transceiver receives a duplicate response; 합증가곱감소(Additive Increase/Multiplicative Decrease), 느린 시작(Slow Start), 빠른 재전송(Fast Retransmit) 및 빠른 회복(Fast Recovery) 중 하나 이상을 이용하여 혼잡제어(congestion control)을 수행하는 혼잡제어 수행부; 및Congestion control that performs congestion control using one or more of Additive Increase / Multiplicative Decrease, Slow Start, Fast Retransmit, and Fast Recovery part; And 상기 송수신부, 상기 검증타이머 및 상기 혼합 제어 수행부를 제어하는 제어부를 포함하되,A control unit for controlling the transceiver, the verification timer and the mixing control performing unit, 상기 혼잡제어수행부는 상기 송수신부가 수신한 중복응답의 개수가 상기 중복응답임계값 이상인 경우 제1 혼잡제어를 수행하고, The congestion control unit performs the first congestion control when the number of duplicate responses received by the transceiver unit is equal to or greater than the duplicate response threshold value. 상기 제어부는 상기 검증타이머가 만료되기전에 상기 송수신부가 상기 제1 혼잡제어 따른 긍정응답을 수신하는 경우 패킷 재배치(packet reordering)가 발생한 것으로 검증하고, 상기 중복응답임계값, 느린출발임계점(Slow Start threshold, Ssthresh) 및 혼잡윈도우(congestion window, Cwnd) 중 하나 이상을 제2 재설정하는 것을 특징으로 하는 혼잡제어 수행 장치. The control unit verifies that packet reordering has occurred when the transceiver receives an acknowledgment according to the first congestion control before the verification timer expires, and the duplicate response threshold and a slow start threshold And a second reset of at least one of Ssthresh and a congestion window Cwnd. 제1항에 있어서,The method of claim 1, 상기 혼잡제어 수행부는 상기 송수신부가 수신한 중복응답의 개수가 상기 중복응답임계값 미만이며 상기 검증타이머가 만료(expire)한 경우 제2 혼잡제어를 수행하고,The congestion control performing unit performs a second congestion control when the number of duplicate responses received by the transceiver unit is less than the duplicate response threshold value and the verification timer expires. 상기 제어부는 상기 제2 혼잡제어에 따라 상기 중복응답임계값을 제2 재설정하는 것을 특징으로 하는 혼잡제어 장치. And the control unit resets the duplicate response threshold value according to the second congestion control. 혼잡제어(congestion control) 장치가 TCP(transmission control protocol)의 혼잡을 제어하는 방법에 있어서,In a congestion control device to control congestion of a transmission control protocol (TCP), (a) 중복응답을 수신하는 경우 검증타이머를 구동하는 단계;(a) driving a verification timer when receiving a duplicate response; (b) 수신한 중복응답의 개수가 중복응답임계값 이상인 경우 합증가곱감소(Additive Increase/Multiplicative Decrease), 느린 시작(Slow Start), 빠른 재전송(Fast Retransmit) 및 빠른 회복(Fast Recovery) 중 하나 이상을 이용하여 제1 혼잡제어(congestion control)을 수행하는 단계; 및(b) If the number of duplicate responses received is greater than or equal to the duplicate response threshold, one of Additive Increase / Multiplicative Decrease, Slow Start, Fast Retransmit, and Fast Recovery. Performing a first congestion control using the above; And (c) 상기 검증타이머가 만료되기전에 상기 제1 혼잡제어에 따른 긍정응답을 수신하는 경우 패킷 재배치(packet reordering)가 발생한 것으로 검증하고, 상기 중복응답임계값, 느린출발임계점(Slow Start threshold, Ssthresh) 및 혼잡윈도우(congestion window, Cwnd) 중 하나 이상을 제1 재설정하는 단계를 포함하는 혼잡제어 방법. (c) Verifying that packet reordering has occurred when receiving an acknowledgment according to the first congestion control before the verification timer expires, the duplicate response threshold, Slow Start threshold, Ssthresh And resetting at least one of a congestion window (Cwnd). 제9항에 있어서,10. The method of claim 9, 상기 (a) 단계 이후 상기 (b)단계 이전에After step (a) but before step (b) (d1) 수신한 상기 중복응답의 개수가 상기 중복응답임계값 미만이며 상기 검증타이머가 만료한 경우, 합증가곱감소(Additive Increase/Multiplicative Decrease), 느린 시작(Slow Start), 빠른 재전송(Fast Retransmit) 및 빠른 회 복(Fast Recovery) 중 하나 이상을 이용하여 제2 혼잡제어(congestion control)을 수행하는 단계; 및(d1) Additive Increase / Multiplicative Decrease, Slow Start, Fast Retransmit, if the number of duplicated responses received is less than the duplicated response threshold and the verification timer expires. Performing a second congestion control using at least one of Fast Recovery and Fast Recovery; And (d2) 상기 제2 혼잡제어에 따라 상기 중복응답임계값을 제2 재설정하는 단계를 더 포함하는 혼잡제어 방법. and (d2) resetting the duplicate response threshold value according to the second congestion control. 제9항 또는 제10항에 있어서,11. The method according to claim 9 or 10, 상기 (c)단계는 수학식
Figure 112008067183726-PAT00006
을 이용하여 상기 중복응답임계값을 제1 재설정하는 것을 특징으로 하는 혼잡제어 방법.
Step (c) is the equation
Figure 112008067183726-PAT00006
Congestion control method, characterized in that to reset the duplicated response threshold value first.
여기서, dt는 중복응답임계값이고, dts는 중복응답임계값으로 재설정될 새로운 값이고, dtpre 이전의 중복응답임계값이고, dtM는 패킷 재배치을 검증한 때까지 수신한 중복응답의 개수이고, α는 0이상 1이하의 지정된 실수임. Where dt is the duplicate response threshold, dt s is the new value to be reset to the duplicate response threshold, and dt pre is The previous duplicate response threshold, dt M is the number of duplicate responses received until the packet relocation has been verified, and α is a specified real number between 0 and 1, inclusive.
제9항 또는 제10항에 있어서,11. The method according to claim 9 or 10, 상기 (c)단계는 하기의 수학식을 이용하여 느린출발임계점(Ssthresh) 및 혼잡윈도우(cwnd) 중 하나 이상을 제1 재설정하는 것을 특징으로 하는 혼잡제어 방법.Step (c) is a congestion control method characterized in that the first reset of at least one of the slow start threshold (Ssthresh) and the congestion window (cwnd) using the following equation. [수학식][Equation] 느린출발임계점현재 = 느린출발임계점이전 Slow start Threshold = current slow start threshold before 혼잡윈도우현재 = 2 Х 혼잡윈도우현재 Congestion window present = 2 Х Congestion window present 혼잡제어(congestion control)를 수행하기 위해 혼잡제어 장치에 의해 실행될 수 있는 명령어들의 프로그램이 구현되어 있으며, 상기 혼잡제어 장치에 의해 판독될 수 있는 프로그램을 기록한 기록매체에 있어서,In a recording medium on which a program of instructions that can be executed by a congestion control device is implemented to perform congestion control, and which records a program that can be read by the congestion control device, (a) 중복응답을 수신하는 경우 검증타이머를 구동하는 단계;(a) driving a verification timer when receiving a duplicate response; (b) 수신한 중복응답의 개수가 중복응답임계값 이상인 경우 합증가곱감소(Additive Increase/Multiplicative Decrease), 느린 시작(Slow Start), 빠른 재전송(Fast Retransmit) 및 빠른 회복(Fast Recovery) 중 하나 이상을 이용하여 제1 혼잡제어(congestion control)을 수행하는 단계; 및(b) If the number of duplicate responses received is greater than or equal to the duplicate response threshold, one of Additive Increase / Multiplicative Decrease, Slow Start, Fast Retransmit, and Fast Recovery. Performing a first congestion control using the above; And (c) 상기 검증타이머가 만료되기전에 상기 제1 혼잡제어에 따른 긍정응답을 수신하는 경우 패킷 재배치(packet reordering)가 발생한 것으로 검증하고, 상기 중복응답임계값, 느린출발임계점(Slow Start threshold, Ssthresh) 및 혼잡윈도우(congestion window, Cwnd) 중 하나 이상을 제1 재설정하는 단계를 실행하기 위한 프로그램이 기록된 기록매체.(c) Verifying that packet reordering has occurred when receiving an acknowledgment according to the first congestion control before the verification timer expires, the duplicate response threshold, Slow Start threshold, Ssthresh And a program for executing a first reset of one or more of a congestion window (Cwnd). 제13항에 있어서,The method of claim 13, 상기 (a) 단계 이후 상기 (b)단계 이전에After step (a) but before step (b) (d1) 수신한 상기 중복응답의 개수가 상기 중복응답임계값 미만이며 상기 검증타이머가 만료한 경우, 합증가곱감소(Additive Increase/Multiplicative Decrease), 느린 시작(Slow Start), 빠른 재전송(Fast Retransmit) 및 빠른 회복(Fast Recovery) 중 하나 이상을 이용하여 제2 혼잡제어(congestion control)을 수행하는 단계; 및(d1) Additive Increase / Multiplicative Decrease, Slow Start, Fast Retransmit, if the number of duplicated responses received is less than the duplicated response threshold and the verification timer expires. Performing a second congestion control using at least one of Fast Recovery and Fast Recovery; And (d2) 상기 제2 혼잡제어에 따라 상기 중복응답임계값을 제2 재설정하는 단계를 더 실행하기 위한 프로그램이 기록된 기록매체.(d2) a recording medium having recorded thereon a program for executing the second reset of the duplicate response threshold value according to the second congestion control. 제13항 또는 제14항에 있어서,The method according to claim 13 or 14, 상기 (c)단계는 수학식
Figure 112008067183726-PAT00007
을 이용하여 상기 중복응답임계값을 제1 재설정하는 것을 특징으로 하는 프로그램이 기록된 기록매체.
Step (c) is the equation
Figure 112008067183726-PAT00007
And a first reset of the duplicate response threshold using a recording medium.
여기서, dt는 중복응답임계값이고, dts는 중복응답임계값으로 재설정될 새로운 값이고, dtpre 이전의 중복응답임계값이고, dtM는 패킷 재배치을 검증한 때 수신한 중복응답의 개수이고, α는 0이상 1이하의 지정된 실수임. Where dt is the duplicate response threshold, dt s is the new value to be reset to the duplicate response threshold, and dt pre is The previous duplicate response threshold, dt M is the number of duplicate responses received when verifying packet relocation, and α is a specified real number between 0 and 1, inclusive.
제13항 또는 제14항에 있어서,The method according to claim 13 or 14, 상기 (c)단계는 하기의 수학식을 이용하여 느린출발임계점(Ssthresh) 및 혼잡윈도우(cwnd) 중 하나 이상을 제1 재설정하는 것을 특징으로 하는 프로그램이 기록된 기록매체. Step (c) is a recording medium recording a program, characterized in that for resetting the at least one of the slow start threshold (Ssthresh) and the congestion window (cwnd) using the following equation. [수학식][Equation] 느린출발임계점현재 = 느린출발임계점이전 Slow start Threshold = current slow start threshold before 혼잡윈도우현재 = 2 Х 혼잡윈도우현재 Congestion window present = 2 Х Congestion window present
KR1020080093753A 2008-09-24 2008-09-24 Appratus for TCP congestion control, a method thereof and recorded medium recorded with a program executing the same KR100952228B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080093753A KR100952228B1 (en) 2008-09-24 2008-09-24 Appratus for TCP congestion control, a method thereof and recorded medium recorded with a program executing the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080093753A KR100952228B1 (en) 2008-09-24 2008-09-24 Appratus for TCP congestion control, a method thereof and recorded medium recorded with a program executing the same

Publications (2)

Publication Number Publication Date
KR20100034553A true KR20100034553A (en) 2010-04-01
KR100952228B1 KR100952228B1 (en) 2010-04-09

Family

ID=42212684

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080093753A KR100952228B1 (en) 2008-09-24 2008-09-24 Appratus for TCP congestion control, a method thereof and recorded medium recorded with a program executing the same

Country Status (1)

Country Link
KR (1) KR100952228B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101396785B1 (en) * 2012-12-18 2014-05-20 인제대학교 산학협력단 Method for performing tcp functions in network equipmment
KR101694271B1 (en) * 2015-07-07 2017-01-23 공주대학교 산학협력단 Multipath Cubic for Congestion control

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6958997B1 (en) 2000-07-05 2005-10-25 Cisco Technology, Inc. TCP fast recovery extended method and apparatus
US7593338B2 (en) * 2003-06-27 2009-09-22 Samsung Electronics Co., Ltd. Congestion control method and system for reducing a retransmission timeout count in a transmission control protocol

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101396785B1 (en) * 2012-12-18 2014-05-20 인제대학교 산학협력단 Method for performing tcp functions in network equipmment
KR101694271B1 (en) * 2015-07-07 2017-01-23 공주대학교 산학협력단 Multipath Cubic for Congestion control

Also Published As

Publication number Publication date
KR100952228B1 (en) 2010-04-09

Similar Documents

Publication Publication Date Title
EP2109954B1 (en) Ack prioritization in wireless networks
US8418016B2 (en) Communication system, communication device, and communication method
JP5816718B2 (en) Communication apparatus, communication system, and data communication relay method
US8462624B2 (en) Congestion management over lossy network connections
US9467390B2 (en) Method and device for data transmission
JP4654926B2 (en) COMMUNICATION SYSTEM, COMMUNICATION DEVICE, AND CONgestion Control Method Used In Them
CN101369877B (en) Wireless transmission control protocol processing method and equipment
JP2006157918A (en) High-throughput communications system, communications terminal, session relay device, and communication protocol
CN108234087B (en) Data transmission method and sending end
WO2014069642A1 (en) Communication device, transmission data output control method, and program for same
CN113765626B (en) Data transmission method and device of mobile communication system
KR100912178B1 (en) Congestion control method over wireless link
WO2016201904A1 (en) Tcp-based data transmission method and device
KR100952228B1 (en) Appratus for TCP congestion control, a method thereof and recorded medium recorded with a program executing the same
CN111092907B (en) UDP (user Datagram protocol) -based data stream fast transmission method, system and medium
CN117544571A (en) Safe and reliable transmission method and device for large message
JP2006504290A (en) NACK protocol method and apparatus
Psaras et al. The TCP minimum RTO revisited
US10009409B2 (en) Retransmission control network node and related method
Sharma et al. On the goodput of TCP NewReno in mobile networks
US9094281B2 (en) Apparatus and method for identifying transmission control protocol (TCP) packet loss
JP2008199431A (en) Communication device
KR100913897B1 (en) Method for controlling congestion of TCP for reducing the number of retransmission timeout
West et al. TCP enhancements for heterogeneous networks
JP6268027B2 (en) COMMUNICATION SYSTEM, TRANSMISSION DEVICE, AND COMMUNICATION METHOD

Legal Events

Date Code Title Description
A201 Request for examination
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: 20130401

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140402

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee