KR20180010531A - Method and apparatus for controlling send buffer of transport control protocol in communication system - Google Patents

Method and apparatus for controlling send buffer of transport control protocol in communication system Download PDF

Info

Publication number
KR20180010531A
KR20180010531A KR1020160092784A KR20160092784A KR20180010531A KR 20180010531 A KR20180010531 A KR 20180010531A KR 1020160092784 A KR1020160092784 A KR 1020160092784A KR 20160092784 A KR20160092784 A KR 20160092784A KR 20180010531 A KR20180010531 A KR 20180010531A
Authority
KR
South Korea
Prior art keywords
value
size
rtt
current
tcp
Prior art date
Application number
KR1020160092784A
Other languages
Korean (ko)
Other versions
KR102450226B1 (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 KR1020160092784A priority Critical patent/KR102450226B1/en
Priority to US15/656,466 priority patent/US10560389B2/en
Publication of KR20180010531A publication Critical patent/KR20180010531A/en
Application granted granted Critical
Publication of KR102450226B1 publication Critical patent/KR102450226B1/en

Links

Images

Classifications

    • 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]
    • 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
    • H04L47/283Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • H04L43/0864Round trip delays
    • 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/27Evaluation or update of window size, e.g. using information derived from acknowledged [ACK] packets
    • 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/29Flow control; Congestion control using a combination of thresholds
    • 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/36Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring

Abstract

The present disclosure relates to a method and an apparatus for controlling a transport buffer of a transport control protocol (TCP) in a communications system. According to an embodiment of the present disclosure, the method, in a method for controlling a transport buffer of a TCP in a communications system, comprises the steps of: confirming a current round trip time (RTT) value and a minimum RTT value in the TCP; and adjusting a size of a transmission buffer on the basis of at least one of a current stage, the current RTT value and the minimum RTT value in a congestion control method in accordance with the TCP.

Description

통신 시스템에서 전송 제어 프로토콜의 전송 버퍼 제어 방법 및 장치{METHOD AND APPARATUS FOR CONTROLLING SEND BUFFER OF TRANSPORT CONTROL PROTOCOL IN COMMUNICATION SYSTEM}TECHNICAL FIELD [0001] The present invention relates to a transmission buffer control method and apparatus for a transmission control protocol in a communication system,

본 개시는 통신 시스템에서 전송 제어 프로토콜(transport control protocol : TCP)의 전송 버퍼를 제어하기 위한 방법 및 장치에 관한 것이다.The present disclosure relates to a method and apparatus for controlling a transport buffer of a transport control protocol (TCP) in a communication system.

통신 시스템에서 TCP는 인터넷의 핵심적인 프로토콜 중의 하나로서, 인터넷 프로토콜(internet protocol : IP) 네트워크 상의 호스트(host)에서 동작하는 어플리케이션 간의 신뢰성 있는 데이터 패킷 전송하기 위한 프로토콜이다. 상기 TCP는 처리율 성능의 최대화, 플로우(flow) 간의 공정성(fairness) 보장 등을 목표로 다양한 프로토콜이 개발되었다. 일 예로, 상기 TCP는 무선 네트워크에 특화된 다양한 프로토콜로, TCP 베이거스(vegas), 웨스트우드(Westwood) 및 베노(Veno) 등과 같은 프로토콜이 제안되었다. 그리고 상기 TCP는 대역폭 지연 시간 곱(bandwidth delay product)이 큰 네트워크를 위한 프로토콜로, 고속(high-speed) TCP, 큐빅(cubic) 및 패스트(fast) 등과 같은 프로토콜이 제안되었다. 또한 상기 TCP는 데이터 패킷 센터에 특화된 데이터 패킷 센터 TCP(data center TCP : DCTCP), 훌(HULL) 등과 같은 프로토콜과 여러 전송 경로를 동시에 활용하는 다중 경로(multi-path) 프로토콜들과 같은 프로토콜이 제안되었다.In the communication system, TCP is one of the core protocols of the Internet and is a protocol for reliably transmitting data packets between applications operating on a host on an internet protocol (IP) network. Various TCP protocols have been developed for maximizing throughput performance and ensuring fairness between flows. For example, the TCP has been proposed in various protocols specific to wireless networks, such as TCP, vegas, Westwood, and Veno. The TCP is a protocol for a network having a large bandwidth delay product, and a protocol such as high-speed TCP, cubic, and fast has been proposed. In addition, the TCP has a protocol such as a data packet center TCP (data center TCP: DCTCP), a HULL protocol specific to a data packet center, and a multi-path protocol using multiple transmission paths simultaneously .

종래 제안된 TCP는 지연 시간을 고려할 때 TCP 상에서 측정된 라운드 트립 타임(round trip time : RTT)에서 발생되는 지연 시간을 최소화하기 위한 방안을 고려하였다. 그러나, 실시간 스트리밍 등과 같이 지연 시간이 중요한 어플리케이션에서는 어플리케이션 간에 발생되는 지연 시간을 최소화하는 것이 중요하다. 즉 데이터 패킷을 전송하는 어플리케이션에서 TCP의 전송 장치(sender)로 데이터 패킷을 내려 보내는 시점(예컨대, 소켓에 데이터 패킷을 쓰는 시점)으로부터 데이터 패킷을 수신하는 어플리케이션에서 TCP의 수신 장치(receiver)로부터 데이터 패킷을 전달 받는 시점(예컨대, 소켓으로부터 데이터 패킷을 읽는 시점)까지 걸리는 시간이 실제 어플리케이션의 성능에 크게 영향을 주는 것이다. 이러한 어플리케이션 간 지연 시간에 크게 영향을 미치는 것이 TCP의 전송 장치에서 관리하는 전송 버퍼(send buffer)의 크기이다. 기존의 TCP에서는 데이터 패킷의 처리율 성능을 최대화하기 위해 전송 장치에서 관리하는 전송 버퍼의 크기를 가능한 크게 유지하였다. 일 예로, 리눅스의 경우, 혼잡 윈도우(congestion window)의 크기를 고려하여, 혼잡 윈도우의 크기에 하나의 데이터 패킷 당 차지하는 메모리 용량을 곱하고, 좀 더 여유로운 크기를 갖도록 2를 곱한 값을, 전송 버퍼의 크기로 결정한다. 따라서 리눅스의 경우 혼잡 윈도우의 크기가 커지면 전송 버퍼의 크기도 급격하게 커지게 된다. 상기 전송 장치에서 관리하는 전송 버퍼의 크기가 커지면, 전송 장치에서 전송 기회가 생길 때마다 보낼 수 있는 데이터 패킷의 수를 충분히 확보하게 되므로 최대 처리율을 유지하는데 도움이 될 수 있다. 그러나 전송 버퍼의 크기가 지나치게 커지면 데이터 패킷이 실제 네트워크 상에서 전송되는 데 소모되는 시간보다 전송 장치에서 전송 기회를 기다리면서 소모되는 시간이 매우 커지게 된다. 이로 인해 어플리케이션 간 지연 시간의 증가는 저 지연 시간 전송이 중요한 실시간 스트리밍 및 화상회의 등과 같은 어플리케이션에서 서비스 품질을 크게 저하시킬 수 있다. 이를 위해, TCP에서 데이터 패킷의 처리율에 대한 성능을 저하 시키지 않으면서, 어플리케이션 간 지연 시간을 최소화할 수 있는 방안이 요구된다.Considering the delay time, the conventional TCP considers a method for minimizing the delay time caused by the round trip time (RTT) measured on the TCP. However, in applications where latency is important, such as in real-time streaming, it is important to minimize the latency between applications. That is, in an application that receives a data packet from a point of time when a data packet is sent to a sender of a TCP in an application that transmits a data packet (for example, a time when a data packet is written to the socket) The time taken from when the packet is received (for example, when reading the data packet from the socket) greatly affects the performance of the actual application. The size of the send buffer managed by the transmission device of the TCP greatly affects the delay time between such applications. In the conventional TCP, the size of the transmission buffer managed by the transmission apparatus is kept as large as possible in order to maximize the throughput performance of the data packet. For example, in the case of Linux, considering the size of the congestion window, a value obtained by multiplying the size of the congestion window by the memory capacity occupied per data packet, multiplied by 2 so as to have a more relaxed size, Size. Therefore, in the case of Linux, the size of the congestion window increases, and the size of the transmission buffer rapidly increases. If the size of the transmission buffer managed by the transmission apparatus increases, the number of data packets that can be transmitted each time a transmission opportunity occurs in the transmission apparatus is sufficiently secured, which can help maintain the maximum throughput. However, if the size of the transmission buffer is excessively large, the time required for the transmission device to wait for the transmission opportunity becomes longer than the time required for the data packet to be transmitted on the actual network. This increases the latency between applications, which can degrade service quality significantly in applications such as live streaming and videoconferencing where low latency transmission is critical. To this end, there is a need to minimize latency between applications without degrading the throughput of the data packets in TCP.

본 개시의 일 실시 예는 통신 시스템에서 어플리케이션 간의 지연 시간을 최소화하도록 전송 버퍼를 제어하는 방법 및 장치를 제공한다.One embodiment of the present disclosure provides a method and apparatus for controlling a transmit buffer to minimize latency between applications in a communication system.

또한 본 개시의 일 실시 예는 통신 시스템에서 이용되는 TCP의 전송 버퍼의 크기를 네트워크 상황에 따라 제어하는 방법 및 장치를 제공한다.In addition, one embodiment of the present disclosure provides a method and apparatus for controlling the size of a transmission buffer of TCP used in a communication system according to a network situation.

본 개시의 일 실시 예에서 제안하는 방법은; 통신 시스템에서 전송 제어 프로토콜(transport control protocol : TCP)의 전송 버퍼를 제어하는 방법에 있어서, 상기 TCP에서 현재 라운드 트립 타임(round trip time : RTT) 값 및 최소 RTT 값을 확인하는 과정; 및 상기 TCP에 따른 혼잡 제어 방식에서 현재 단계, 상기 현재 RTT 값 및 상기 최소 RTT 값 중 적어도 하나를 기반으로 전송 버퍼의 크기를 조정하는 과정을 포함한다.The method proposed in an embodiment of the present disclosure includes: A method of controlling a transport buffer of a transport control protocol (TCP) in a communication system, the method comprising: checking a current round trip time (RTT) value and a minimum RTT value in the TCP; And adjusting a size of the transmission buffer based on at least one of the current step, the current RTT value, and the minimum RTT value in the congestion control scheme according to the TCP.

또한 본 개시의 일 실시 예에서 제안하는 방법은; 통신 시스템에서 전송 제어 프로토콜(transport control protocol : TCP)의 전송 버퍼를 제어하는 방법에 있어서, 상대 장치로 정상 응답 신호(TCP acknowledgement)를 전송하는 경우의 라운드 트립 타임(round trip time : RTT) 값을 기반으로 상기 TCP에 따른 혼잡 제어 방식에서 현재 단계를 예측하는 과정; 상기 상대 장치로부터 수신된 데이터 패킷을 기반으로 혼잡 윈도우의 크기를 예측하는 과정; 상기 TCP에서 현재 RTT 값 및 최소 RTT 값을 확인하는 과정; 및 상기 현재 단계, 상기 혼잡 윈도우의 크기, 상기 현재 RTT 값 및 상기 최소 RTT 값 중 적어도 하나를 기반으로 상기 상대 장치로 전송할 윈도우의 크기를 조정하는 과정을 포함한다.Also, a method proposed in an embodiment of the present disclosure includes: A method of controlling a transmission buffer of a transport control protocol (TCP) in a communication system, the method comprising: receiving a round trip time (RTT) value when transmitting a normal acknowledgment signal A step of predicting a current step in a congestion control scheme according to the TCP; Estimating a size of a congestion window based on a data packet received from the counterpart device; Checking a current RTT value and a minimum RTT value in the TCP; And adjusting a size of a window to be transmitted to the counterpart apparatus based on at least one of the current step, the congestion window size, the current RTT value, and the minimum RTT value.

또한 본 개시의 일 실시 예에서 제안하는 장치는; 통신 시스템에서 전송 제어 프로토콜(transport control protocol : TCP)의 전송 버퍼를 제어하는 장치에 있어서, 데이터 패킷을 송수신하는 송수신부; 및 상기 TCP에서 현재 라운드 트립 타임(round trip time : RTT) 값 및 최소 RTT 값을 확인하고, 상기 TCP에 따른 혼잡 제어 방식에서 현재 단계, 상기 현재 RTT 값 및 상기 최소 RTT 값 중 적어도 하나를 기반으로 전송 버퍼의 크기를 조정하는 제어부를 포함한다.Also, an apparatus proposed in an embodiment of the present disclosure includes: An apparatus for controlling a transmission buffer of a transport control protocol (TCP) in a communication system, the apparatus comprising: a transceiver for transmitting and receiving data packets; And determining a current round trip time (RTT) value and a minimum RTT value in the TCP, and based on at least one of the current step, the current RTT value, and the minimum RTT value in the congestion control scheme according to the TCP And a control unit for adjusting the size of the transmission buffer.

또한 본 개시의 일 실시 예에서 제안하는 장치는; 통신 시스템에서 전송 제어 프로토콜(transport control protocol : TCP)의 전송 버퍼를 제어하는 장치에 있어서, 데이터 패킷을 송수신하는 송수신부; 및 상대 장치로 정상 응답 신호(TCP acknowledgement)를 전송하는 경우의 라운드 트립 타임(round trip time : RTT) 값을 기반으로 상기 TCP에 따른 혼잡 제어 방식에서 현재 단계를 예측하고, 상기 송수신부를 통해 수신된 데이터 패킷을 기반으로 혼잡 윈도우의 크기를 예측하고, 상기 TCP에서 현재 RTT 값 및 최소 RTT 값을 확인하여, 상기 현재 단계, 상기 혼잡 윈도우의 크기, 상기 현재 RTT 값 및 상기 최소 RTT 값 중 적어도 하나를 기반으로 상기 상대 장치로 전송할 윈도우의 크기를 조정하는 제어부를 포함한다.Also, an apparatus proposed in an embodiment of the present disclosure includes: An apparatus for controlling a transmission buffer of a transport control protocol (TCP) in a communication system, the apparatus comprising: a transceiver for transmitting and receiving data packets; And a round trip time (RTT) value in the case of transmitting a normal acknowledgment signal (TCP acknowledgment) to the counterpart device, predicts a current step in the congestion control scheme according to the TCP, Estimating a size of the congestion window based on the data packet, checking the current RTT value and the minimum RTT value in the TCP, and determining at least one of the current step, the congestion window size, the current RTT value, And a controller for adjusting a size of a window to be transmitted to the counterpart device based on the size of the window.

본 개시의 다른 측면들과, 이득들 및 핵심적인 특징들은 부가 도면들과 함께 처리되고, 본 개시의 바람직한 실시 예들을 개시하는, 하기의 구체적인 설명으로부터 해당 기술 분야의 당업자에게 자명할 것이다.Other aspects of the present disclosure, as well as benefits and key features, will be apparent to those skilled in the art from the following detailed description, which is set forth in the accompanying drawings and which discloses preferred embodiments of the disclosure.

하기의 본 개시의 구체적인 설명 부분을 처리하기 전에, 이 특허 문서를 통해 사용되는 특정 단어들 및 구문들에 대한 정의들을 설정하는 것이 효과적일 수 있다: 상기 용어들 "포함하다(include)" 및 "포함하다(comprise)"와 그 파생어들은 한정없는 포함을 의미하며; 상기 용어 "혹은(or)"은 포괄적이고, "및/또는"을 의미하고; 상기 구문들 "~와 연관되는(associated with)" 및 "~와 연관되는(associated therewith)"과 그 파생어들은 포함하고(include), ~내에 포함되고(be included within), ~와 서로 연결되고(interconnect with), 포함하고(contain), ~내에 포함되고(be contained within), ~에 연결하거나 혹은 ~와 연결하고(connect to or with), ~에 연결하거나 혹은 ~와 연결하고(couple to or with), ~와 통신 가능하고(be communicable with), ~와 협조하고(cooperate with), 인터리빙하고(interleave), 병치하고(juxtapose), ~로 가장 근접하고(be proximate to), ~로 ~할 가능성이 크거나 혹은 ~와 ~할 가능성이 크고(be bound to or with), 가지고(have), 소유하고(have a property of) 등과 같은 내용을 의미하고; 상기 용어 "제어기"는 적어도 하나의 동작을 제어하는 임의의 디바이스, 시스템, 혹은 그 부분을 의미하고, 상기와 같은 디바이스는 하드웨어, 펌웨어 혹은 소프트웨어, 혹은 상기 하드웨어, 펌웨어 혹은 소프트웨어 중 적어도 2개의 몇몇 조합에서 구현될 수 있다. 어떤 특정 제어기와 연관되는 기능성이라도 집중화되거나 혹은 분산될 수 있으며, 국부적이거나 원격적일 수도 있다는 것에 주의해야만 할 것이다. 특정 단어들 및 구문들에 대한 정의들은 이 특허 문서에 걸쳐 제공되고, 해당 기술 분야의 당업자는 많은 경우, 대부분의 경우가 아니라고 해도, 상기와 같은 정의들이 종래 뿐만 아니라 상기와 같이 정의된 단어들 및 구문들의 미래의 사용들에도 적용된다는 것을 이해해야만 할 것이다.It may be effective to define definitions for certain words and phrases used throughout this patent document before processing the specific description portions of the present disclosure below: "include" and " Comprise "and its derivatives mean inclusive inclusion; The term " or "is inclusive and means" and / or "; The terms " associated with "and " associated therewith ", as well as their derivatives, are included within, (A) to (A) to (B) to (C) to (C) to (C) Be communicable with, cooperate with, interleave, juxtapose, be proximate to, possibility to communicate with, possibility to communicate with, It means big or is bound to or with, have a property of, etc .; The term "controller" means any device, system, or portion thereof that controls at least one operation, such devices may be hardware, firmware or software, or some combination of at least two of the hardware, Lt; / RTI > It should be noted that the functionality associated with any particular controller may be centralized or distributed, and may be local or remote. Definitions for particular words and phrases are provided throughout this patent document and those skilled in the art will recognize that such definitions are not only conventional, But also to future uses of the phrases.

도 1은 본 개시의 실시 예에 따른 통신 시스템의 일 예를 나타낸 도면,
도 2a 및 도 2b는 본 개시의 실시 예에 따른 통신 시스템에서 전송 장치(110)에 의해 전송 버퍼를 제어하는 방법을 나타낸 도면,
도 3은 본 개시의 실시 예에서 RTT 값에 따른 TCP의 전송 버퍼의 크기 변화의 일 예를 나타낸 도면,
도 4는 본 개시의 실시 예에 따른 통신 시스템에서 수신 장치(150)에 의해 전송 버퍼를 제어하는 방법을 나타낸 도면,
도 5는 본 개시의 실시 예에 따른 통신 시스템에서 중계 장치(130)에 의해 전송 버퍼를 제어하는 방법을 나타낸 도면,
도 6은 본 개시의 실시 예에 따른 통신 시스템에서 TCP의 전송 버퍼를 제어하는 전송 장치(110)의 내부 구성을 나타낸 도면,
도 7은 본 개시의 실시 예에 따른 통신 시스템에서 TCP의 전송 버퍼를 제어하는 수신 장치(150)의 내부 구성을 나타낸 도면,
도 8은 본 개시의 실시 예에 따른 통신 시스템에서 TCP의 전송 버퍼를 제어하는 중계 장치(130)의 내부 구성을 나타낸 도면,
도 9는 현재 통신 시스템의 TCP에서 지연 시간이 발생되는 장치를 확인한 결과를 나타낸 도면,
도 10은 통신 시스템에서 송신 장치(110) 및 수신 장치(150)에 본 개시의 실시 예에 따른 TCP의 전송 버퍼를 제어하는 방법을 적용한 결과를 나타낸 도면,
도 11은 통신 시스템에서 송신 장치(110), 중계 장치(130) 및 수신 장치(150)에 본 개시의 실시 예에 따른 TCP의 전송 버퍼를 제어하는 방법을 적용한 결과를 나타낸 도면.
상기 도면들을 통해, 유사 참조 번호들은 동일한 혹은 유사한 엘리먼트들과, 특징들 및 구조들을 도시하기 위해 사용된다는 것에 유의해야만 한다.
1 is a diagram illustrating an example of a communication system according to an embodiment of the present disclosure;
2A and 2B are diagrams illustrating a method of controlling a transmission buffer by a transmission device 110 in a communication system according to an embodiment of the present disclosure;
3 is a diagram illustrating an example of a size change of a transmission buffer of TCP according to an RTT value in the embodiment of the present disclosure;
4 is a diagram illustrating a method of controlling a transmission buffer by a receiving apparatus 150 in a communication system according to an embodiment of the present disclosure;
5 is a diagram illustrating a method of controlling a transmission buffer by a relay apparatus 130 in a communication system according to an embodiment of the present disclosure;
6 is a diagram illustrating an internal configuration of a transmission apparatus 110 for controlling a transmission buffer of TCP in a communication system according to an embodiment of the present disclosure;
7 is a diagram illustrating an internal configuration of a receiving apparatus 150 for controlling a transmission buffer of a TCP in a communication system according to an embodiment of the present disclosure;
8 is a diagram illustrating an internal configuration of a relay apparatus 130 for controlling a transmission buffer of TCP in a communication system according to an embodiment of the present disclosure;
9 is a diagram showing a result of checking a device in which a delay time is generated in TCP of the current communication system,
10 is a diagram illustrating a result of applying a method of controlling a transmission buffer of TCP according to an embodiment of the present invention to a transmitting apparatus 110 and a receiving apparatus 150 in a communication system,
11 is a diagram illustrating a result of applying a method of controlling a transmission buffer of TCP according to an embodiment of the present disclosure to a transmitting apparatus 110, a relay apparatus 130, and a receiving apparatus 150 in a communication system.
Throughout the drawings, it should be noted that like reference numerals are used to illustrate the same or similar elements and features and structures.

첨부되는 도면들을 참조하는 하기의 상세한 설명은 청구항들 및 청구항들의 균등들로 정의되는 본 개시의 다양한 실시 예들을 포괄적으로 이해하는데 있어 도움을 줄 것이다. 하기의 상세한 설명은 그 이해를 위해 다양한 특정 구체 사항들을 포함하지만, 이는 단순히 예로서만 간주될 것이다. 따라서, 해당 기술 분야의 당업자는 여기에서 설명되는 다양한 실시 예들의 다양한 변경들 및 수정들이 본 개시의 범위 및 사상으로부터 벗어남이 없이 이루어질 수 있다는 것을 인식할 것이다. 또한, 공지의 기능들 및 구성들에 대한 설명은 명료성 및 간결성을 위해 생략될 수 있다.The following detailed description, which refers to the accompanying drawings, will serve to provide a comprehensive understanding of the various embodiments of the present disclosure, which are defined by the claims and the equivalents of the claims. The following detailed description includes various specific details for the sake of understanding, but will be considered as exemplary only. Accordingly, those skilled in the art will recognize that various changes and modifications of the various embodiments described herein may be made without departing from the scope and spirit of this disclosure. Furthermore, the descriptions of well-known functions and constructions may be omitted for clarity and conciseness.

하기의 상세한 설명 및 청구항들에서 사용되는 용어들 및 단어들은 문헌적 의미로 한정되는 것이 아니라, 단순히 발명자에 의한 본 개시의 명료하고 일관적인 이해를 가능하게 하도록 하기 위해 사용될 뿐이다. 따라서, 해당 기술 분야의 당업자들에게는 본 개시의 다양한 실시 예들에 대한 하기의 상세한 설명은 단지 예시 목적만을 위해 제공되는 것이며, 첨부되는 청구항들 및 상기 청구항들의 균등들에 의해 정의되는 본 개시를 한정하기 위해 제공되는 것은 아니라는 것이 명백해야만 할 것이다.The terms and words used in the following detailed description and in the claims are not intended to be limited to the literal sense, but merely to enable a clear and consistent understanding of the disclosure by the inventor. It is therefore to be understood by those skilled in the art that the following detailed description of various embodiments of the disclosure is provided for illustrative purposes only and is not intended to limit the present disclosure as defined by the appended claims and equivalents of the claims It should be clear that this is not provided for.

또한, 본 명세서에서 명백하게 다른 내용을 지시하지 않는 "한"과, "상기"와 같은 단수 표현들은 복수 표현들을 포함한다는 것이 이해될 수 있을 것이다. 따라서, 일 예로, "컴포넌트 표면(component surface)"은 하나 혹은 그 이상의 컴포넌트 표현들을 포함한다.Furthermore, it is to be understood that the singular forms "a" and "an" above, unless the context clearly dictates otherwise, include plural representations. Thus, in one example, a "component surface" includes one or more component representations.

또한, 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 개시의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.Also, terms including ordinal numbers such as first, second, etc. may be used to describe various elements, but the elements are not limited to these terms. The terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present disclosure, the first component may be referred to as a second component, and similarly, the second component may also be referred to as a first component. And / or < / RTI > includes any combination of a plurality of related listed items or any of a plurality of related listed items.

또한, 본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 개시를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Furthermore, the terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting on the present disclosure. The singular expressions include plural expressions unless the context clearly dictates otherwise. In this specification, the terms "comprises" or "having" and the like refer to the presence of stated features, integers, steps, operations, elements, components, or combinations thereof, But do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, or combinations thereof.

또한, 별도로 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 이해되어야만 한다.Also, unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this disclosure belongs. Terms such as those defined in commonly used dictionaries should be understood to have a meaning consistent with the contextual meaning of the related art.

먼저, 본 개시의 실시 예는 인터넷을 구성하는 중요한 프로토콜 중의 하나인 TCP를 개선하여 통신 시스템 상에서 데이터 패킷의 처리율에 대한 성능을 저하시키지 않으면서 어플리케이션 간의 지연 시간을 최소화하기 위한 방법을 제공하기 위한 것이다.First, the embodiment of the present disclosure is intended to provide a method for improving the TCP, which is one of important protocols constituting the Internet, so as to minimize the delay time between the applications without degrading the performance of the data packet on the communication system .

이를 위하여 본 개시의 실시 예에서는 TCP의 데이터 패킷을 관리하는 전송 버퍼를 제어하는 방법 및 장치를 제공한다. 이하에서는 도면을 참조하여 통신 시스템에 포함된 각 장치에서 TCP의 전송 버퍼를 제어하는 방법에 대하여 상세하게 설명하기로 한다.To this end, embodiments of the present disclosure provide a method and apparatus for controlling a transport buffer for managing TCP data packets. Hereinafter, a method of controlling a TCP transmission buffer in each device included in a communication system will be described in detail with reference to the drawings.

도 1은 본 개시의 실시 예에 따른 통신 시스템의 일 예를 보이고 있다.1 shows an example of a communication system according to an embodiment of the present disclosure.

도 1을 참조하면, 통신 시스템은 전송 장치(110), 중계 장치(130) 및 수신 장치(150)를 포함한다.Referring to FIG. 1, a communication system includes a transmission apparatus 110, a relay apparatus 130, and a reception apparatus 150.

도 1을 참조하면, 상기 전송 장치(110)는 데이터 패킷을 전송하는 무선 통신 장치이다. 그리고 상기 수신 장치(150)는 상기 전송 장치(110)와 무선으로 접속되어 전송 장치(110)로부터 데이터 패킷을 수신하는 무선 통신 장치이다. 또한 상기 중계 장치(130)는 동일한 전송 프로토콜을 사용하는 분리된 네트워크를 연결하는 장치로서, 상기 전송 장치(110)와 수신 장치(150)를 서로 연결하는 장치이다. 일 예로, 상기 중계 장치(130)는 프록시(proxy) 서버일 수 있다.Referring to FIG. 1, the transmission apparatus 110 is a wireless communication apparatus for transmitting a data packet. The receiving device 150 is a wireless communication device that is connected to the transmitting device 110 wirelessly and receives a data packet from the transmitting device 110. The relay device 130 is a device for connecting separated networks using the same transmission protocol and is a device for connecting the transmission device 110 and the reception device 150 to each other. For example, the relay device 130 may be a proxy server.

상기 전송 장치(110)는 어플리케이션 계층으로부터 수신된 데이터 패킷을 수신 장치(150)로 전송하기 위하여 전송 버퍼를 관리한다. 그리고 상기 전송 장치(110)는 혼잡 윈도우(congestion window)를 이용하여 전송 버퍼에 버퍼링된 데이터 패킷을 상기 수신 장치(150)로 전송한다. 이때, 본 개시의 실시 예에서는 전송 장치(110)에서 관리하는 전송 버퍼를 네트워크 상황에 따라 적응적으로 제어하여, 전송 장치(110)에서 데이터 패킷을 처리하는 처리율에 대한 성능을 저하시키지 않으면서 어플리케이션 간 지연 시간을 최소화하는 방안을 제안한다.The transmission apparatus 110 manages the transmission buffer to transmit the data packet received from the application layer to the reception apparatus 150. The transmission apparatus 110 transmits a buffered data packet to the reception apparatus 150 using a congestion window. In this case, in the embodiment of the present disclosure, the transmission buffer managed by the transmission apparatus 110 is adaptively controlled in accordance with the network conditions, so that the performance of the transmission apparatus 110 can be improved, We propose a method to minimize the delay time.

본 개시의 실시 예에서 전송 장치(110)에서 관리하는 전송 버퍼를 네트워크 상황에 따라 적응적으로 제어하는 방법은, 전송 장치(110), 중계 장치(130) 및 수신 장치(150) 중 적어도 하나의 장치에 의해 수행될 수 있다.The method of adaptively controlling the transmission buffer managed by the transmission apparatus 110 according to the network conditions in the embodiment of the present disclosure is a method of controlling at least one of the transmission apparatus 110, the relay apparatus 130, and the reception apparatus 150 Device. ≪ / RTI >

먼저, 도 2a 및 도 2b를 기반으로 본 개시의 실시 예에 따른 전송 버퍼를 제어하는 방법이 상기 전송 장치(110)에 의해 수행되는 경우에 대하여 설명하기로 한다.First, a description will be made of a case where the transmission apparatus 110 controls the transmission buffer according to the embodiment of the present disclosure based on FIGS. 2A and 2B.

도 2a 및 도 2b는 본 개시의 실시 예에 따른 통신 시스템에서 전송 장치(110)에 의해 전송 버퍼를 제어하는 방법을 보이고 있다. 이때, 본 개시의 실시 예에 따라 전송 장치(110)에서 전송 버퍼를 제어하는 경우, 상기 전송 버퍼는 전송 장치(110)에 포함되어 있으므로 상기 전송 장치(110)는 직접적으로 전송 버퍼의 크기를 제어할 수 있다.2A and 2B illustrate a method of controlling a transmission buffer by a transmission device 110 in a communication system according to an embodiment of the present disclosure. In this case, when the transmission buffer is controlled by the transmission apparatus 110 according to the embodiment of the present disclosure, since the transmission buffer is included in the transmission apparatus 110, the transmission apparatus 110 directly controls the size of the transmission buffer can do.

도 2a 및 도 2b를 참조하면, 상기 전송 장치(110)는 네트워크 환경을 확인하기 위하여, 현재의 RTT 값을 확인한다(201). 상기 현재의 RTT 값은 TCP에서 가장 최근에 측정된 RTT 값으로, 상기 현재의 RTT 값에 높은 가중치를 부여하여 나타낼 수 있다. 이와 같이 상기 현재의 RTT 값에 높은 가중치를 부여하여 나타내는 값은 스무스드 RTT(smoothed RTT) 값으로 칭해질 수 있다.Referring to FIGS. 2A and 2B, the transmission apparatus 110 confirms a current RTT value to identify a network environment (201). The current RTT value is the most recently measured RTT value in the TCP and can be represented by assigning a high weight to the current RTT value. In this manner, a value obtained by assigning a high weight to the current RTT value may be referred to as a smoothed RTT value.

그리고 상기 전송 장치(110)는 상기 확인한 smoothed RTT 값이 현재까지 확인된 최소 RTT(RTTmin) 값보다 작은 값을 갖는지 판단하여(203), 상기 확인한 smoothed RTT 값이 RTTmin 값보다 작은 값을 갖는 경우 RTTmin 값을 상기 확인한 smoothed RTT 값으로 갱신한다(205). 반면, 상기 전송 장치(110)는 상기 확인한 smoothed RTT 값이 RTTmin 값보다 큰 값을 갖는 경우 RTTmin 값을 갱신하지 않고 단계 207로 진행한다.Then, the transmitting apparatus 110 determines (203) whether the confirmed smoothed RTT value has a value smaller than the currently confirmed minimum RTT (RTT min ) value. If the smoothed RTT value is smaller than the RTT min value The RTT min value is updated to the confirmed smoothed RTT value (205). On the other hand, if the smoothed RTT value is greater than the RTT min value, the transmission apparatus 110 proceeds to step 207 without updating the RTT min value.

이후, 상기 전송 장치(110)는 TCP의 현재 단계 및 smoothed RTT 값을 기반으로 전송 버퍼의 크기를 제어한다(207~215). 이때, TCP에 따른 혼잡 제어 방식에서 혼잡 상태에 따라 수행되는 단계들은 구분된 단계들은 슬로우 스타트(slow start) 단계 및 혼잡 회피(congestion avoidance) 단계를 포함한다. 잘 알려진 것처럼 상기 슬로우 스타트 단계는 혼잡 감지 시까지 송신 데이터량을 지수적으로 증가시키는(즉 혼잡 윈도우의 크기를 지수적으로 증가시키는) 단계이다. 상기 혼잡 회피 단계는 상기 혼잡 감지 후 송신 데이터량를 선형적으로 증가시키는(즉 혼합 윈도우의 크기를 선형적으로 증가시키는) 단계이다.Thereafter, the transmission apparatus 110 controls the size of the transmission buffer based on the current stage of the TCP and the smoothed RTT value (207 to 215). At this time, in the congestion control scheme according to TCP, the steps performed according to the congestion state include a slow start step and a congestion avoidance step. As is well known, the slow start step is a step of exponentially increasing the amount of transmission data (i.e., exponentially increasing the size of the congestion window) until the congestion is detected. The congestion avoiding step is a step of linearly increasing the transmission data amount after the congestion detection (i.e., increasing the size of the mixed window linearly).

상세하게 상기 전송 장치(110)는 TCP의 현재 단계가 슬로우 스타트 단계인지에 판단한다(207). 이때, 상기 전송 장치(110)는 TCP의 현재 단계가 슬로우 스타트 단계인지를 판단하는 방법으로, 종래 다양한 방법들 중 하나의 방법을 이용할 수 있다. 일 예로, 상기 전송 장치(110)는 수신 장치(150)로부터 3회 이상 중복적인 정상 응답 신호(TCP acknowledgement)를 수신하기 이전까지를 슬로우 스타트 단계로 판단할 수 있다.In detail, the transmitting apparatus 110 determines whether the current step of TCP is a slow start step (207). At this time, the transmission apparatus 110 determines whether the present stage of the TCP is in a slow start stage, and one of various conventional methods can be used. For example, the transmitting apparatus 110 may determine that the transmitting apparatus 110 is in the slow start phase until receiving a redundant normal acknowledgment signal (TCP acknowledgment) from the receiving apparatus 150 three times or more.

상기 전송 장치(110)는 TCP의 현재 단계가 슬로우 스타트 단계인 경우, 전송 버퍼의 크기를 혼잡 윈도우의 크기에 일정 상수를 곱한 값으로 설정한다(209).If the current step of the TCP is the slow start step, the transmission apparatus 110 sets the size of the transmission buffer to a value obtained by multiplying the size of the congestion window by a predetermined constant (209).

반면, 상기 전송 장치(110)는 TCP의 현재 단계가 슬로우 스타트 단계가 아닌 경우로 판단한 경우, TCP의 현재 단계가 혼잡 회피 단계임을 확인한다(211). 상기 전송 장치(110)는 TCP의 현재 단계가 혼잡 회피(congestion avoidance) 단계임을 확인한 경우, 도 3을 기반으로 전송 버퍼의 크기를 제어할 수 있다. 도 3은 본 개시의 실시 예에서 RTT 값에 따른 TCP의 전송 버퍼의 크기 변화의 일 예를 보이고 있다. 즉, 상기 전송 장치(110)는 상기 smoothed RTT 값과 RTTmin의 차이 값을 고려하여 전송 버퍼의 크기를 조정한다. 이때, 상기 smoothed RTT 값과 RTTmin의 차이 값은 네트워크 상황에 따라 결정되는 변수 값, 미리 정해진 상수 값 또는 미리 정해진 정수 값 중 하나의 값이 될 수 있다. On the other hand, when determining that the current step of TCP is not the slow start step, the transmitting apparatus 110 confirms that the current step of the TCP is the congestion avoiding step (step 211). When the transmission device 110 determines that the current step of TCP is a congestion avoidance step, it can control the size of the transmission buffer based on FIG. FIG. 3 shows an example of the size change of the TCP transmission buffer according to the RTT value in the embodiment of the present disclosure. That is, the transmission apparatus 110 adjusts the size of the transmission buffer considering the difference between the smoothed RTT value and RTT min . At this time, the difference value between the smoothed RTT value and RTT min may be one of a variable value determined according to a network situation, a predetermined constant value, or a predetermined integer value.

상세하게, 상기 전송 장치(110)는 상기 smoothed RTT 값이 RTTmin

Figure pat00001
배보다 작은 경우(213), 도 3과 같이 전송 버퍼의 크기를 점차적으로(additive) 증가시킨다(215). 일 예로, 상기 전송 장치(110)는 상기 전송 버퍼의 크기를 1씩 증가시킬 수 있다. 그리고 상기 전송 장치(110)는 smoothed RTT 값이
Figure pat00002
Figure pat00003
사이에 있는 경우(217), 도 3과 같이 기존의 전송 버퍼의 크기를 유지시킨다(219). 또한 상기 전송 장치(110)는 smoothed RTT 값이
Figure pat00004
보다 큰 경우(221), 도 3과 같이 전송버퍼의 크기를 급격하게(multiplicative) 감소시킨다(223). 여기서, α는 β보다 작은 값을 가지며, 상기
Figure pat00005
Figure pat00006
는 네트워크 상황에 따라 결정되는 변수 값, 미리 정해진 상수 값 또는 미리 정해진 정수 값 중 하나의 값이 될 수 있다.In detail, the transmission apparatus 110 determines whether the smoothed RTT value is RTT min
Figure pat00001
If it is smaller than twice (213), the size of the transmission buffer is gradually increased (215) as shown in FIG. For example, the transmission apparatus 110 may increase the size of the transmission buffer by one. Then, the transmitting apparatus 110 transmits the smoothed RTT value
Figure pat00002
Wow
Figure pat00003
(217), the size of the existing transmission buffer is maintained as shown in FIG. 3 (219). In addition, the transmission apparatus 110 transmits the smoothed RTT value
Figure pat00004
(221), the size of the transmission buffer is multiplicatively reduced (223) as shown in FIG. Here, alpha has a value smaller than beta,
Figure pat00005
And
Figure pat00006
May be one of a variable value determined according to the network conditions, a predetermined constant value, or a predetermined integer value.

이때, Smoothed RTT 값의 증가는 해당 플로우의 전송 경로 상의 버퍼량의 증가, 플로우 간 경쟁 심화, 패킷 손실률의 증가에 따른 지연 시간 증가 등의 결과로 볼 수 있다. 따라서 Smoothed RTT 값이 증가하는 네트워크 환경에서는 전송 버퍼의 크기를 줄임으로써 어플리케이션이 감지하는 지연 시간을 줄여줄 필요가 있다. 그리고 smoothed RTT 값의 감소는 해당 플로우의 전송 경로 상의 버퍼량의 감소, 플로우 간 경쟁 감소, 패킷 손실률의 감소에 따른 지연 시간 감소 등의 결과로 볼 수 있다. 따라서 Smoothed RTT 값이 감소하는 네트워크 환경에서는 전송 버퍼의 크기를 늘림으로써 TCP의 전송 기회 발생 시 최대한의 데이터 패킷을 전송하도록 할 필요가 있다. 또한 전송 버퍼의 크기를 늘릴 때에는 점차적인 증가를 통해 갑작스런 증가로 인한 어플리케이션 지연 시간의 급격한 증가를 방지하고, 전송 버퍼를 감소 시킬 때에는 급격한 감소를 통해 악화된 네트워크 상황에 신속하게 대응하도록 한다. At this time, the increase of the Smoothed RTT value can be seen as the increase of the buffer amount on the transmission path of the flow, the intense competition between the flows, and the increase of the delay time due to the increase of the packet loss rate. Therefore, in the network environment where the smoothed RTT value increases, it is necessary to reduce the delay time that the application detects by reducing the size of the transmission buffer. The reduction of the smoothed RTT value can be seen as the reduction of the buffer amount on the transmission path of the flow, the reduction of the competition between the flows, and the reduction of the delay time due to the decrease of the packet loss rate. Therefore, in the network environment where the smoothed RTT value decreases, it is necessary to increase the size of the transmission buffer so as to transmit the maximum data packet when the TCP transmission opportunity occurs. In addition, when the size of the transmission buffer is increased, a sudden increase causes an abrupt increase in the application latency, thereby preventing a rapid increase in the application latency. In the case of reducing the transmission buffer, the transmission buffer is rapidly reduced to quickly respond to deteriorated network conditions.

상기에서는 도 2a 및 도 2b를 참조하여, 전송 장치(110)에 의해 전송 버퍼의 크기를 직접적으로 제어하는 방법에 대하여 설명하였으며, 하기에서는 도 4를 기반으로 본 개시의 실시 예에 따른 전송 버퍼를 제어하는 방법이 수신 장치(150)에 의해 수행되는 경우에 대하여 설명하기로 한다.In the above, a method of directly controlling the size of a transmission buffer by the transmission apparatus 110 has been described with reference to FIGS. 2A and 2B. In the following, a transmission buffer according to an embodiment of the present disclosure, A description will be given of the case where the receiving apparatus 150 performs the control method.

도 4는 본 개시의 실시 예에 따른 통신 시스템에서 수신 장치(150)에 의해 전송 버퍼를 제어하는 방법을 보이고 있다. 이때, 본 개시의 실시 예에 따라 수신 장치(130)에서 전송 버퍼를 제어하는 경우, 상기 전송 버퍼는 전송 장치(110)에 포함되어 있으므로 상기 수신 장치(150)는 간접적으로 전송 버퍼를 제어할 수 있다.FIG. 4 illustrates a method of controlling a transmit buffer by a receiving apparatus 150 in a communication system according to an embodiment of the present disclosure. In this case, when the transmission buffer is controlled by the reception apparatus 130 according to the embodiment of the present disclosure, since the transmission buffer is included in the transmission apparatus 110, the reception apparatus 150 can indirectly control the transmission buffer have.

도 4를 참조하면, 수신 장치(150)는 송신 장치(110)로 정상 응답 신호를 전송하는 경우의 RTT를 기반으로, TCP의 현재 단계를 예측한다(401). Referring to FIG. 4, the receiving apparatus 150 predicts the current step of the TCP based on the RTT when transmitting the normal response signal to the transmitting apparatus 110 (401).

상기 TCP의 현재 단계를 예측하는 방법은, 일 예로 상기 수신 장치(150)가 송신 장치(110)로 정상 응답 신호를 전송한 경우, 상기 송신 장치(110)로부터 수신되는 패킷 트레인(packet train)의 길이가 단방향 지연 시간(일 예로, 최소 RTT 값의 절반 값)보다 큰 지를 확인한다. 여기서, 상기 패킷 트레인은 수신 장치(150)가 송신 장치(110)로부터 하나의 라운드(round)에서 수신하는 복수개의 데이터 패킷들의 묶음을 의미한다. 그리고 상기 수신 장치(150)는 상기 패킷 트레인 길이가 단방향 지연 시간보다 작거나 같으면 전송 장치(110)의 TCP가 슬로우 스타트 단계임으로 예측하고, 상기 패킷 트레인 길이가 단방향 지연 시간보다 크면 전송 장치(110)의 TCP가 혼잡 회피 단계임으로 예측한다. 이때, 상기 수신 장치(150)는 마지막으로 정상 응답 신호를 전송한 시점과 현재 시점 사이의 시간 간격이 일정 값보다 크면 새로운 라운드(즉, 새로운 패킷 트레인)으로 판단한다. 수신 장치(150)는 전송 장치(110)와 달리 정확히 패킷 트레인의 변경을 알 수 없기 때문에 이와 같은 방법을 사용한다.The method of predicting the current TCP state is a method of estimating the current state of the TCP in a case where the receiving apparatus 150 transmits a normal response signal to the transmitting apparatus 110, It is confirmed that the length is larger than the unidirectional delay time (for example, the half value of the minimum RTT value). Here, the packet train refers to a bundle of a plurality of data packets received by the receiving apparatus 150 in one round from the transmitting apparatus 110. If the length of the packet train is less than or equal to the unidirectional delay time, the receiving apparatus 150 predicts that the TCP of the transmission apparatus 110 is in the slow start phase. If the packet train length is greater than the unidirectional delay time, TCP is a congestion avoidance phase. At this time, if the time interval between the time point at which the last normal response signal is transmitted and the current time point is greater than a predetermined value, the receiving apparatus 150 determines a new round (i.e., a new packet train). Unlike the transmitting apparatus 110, the receiving apparatus 150 uses this method because it can not accurately know the change of the packet train.

상기 TCP의 현재 단계를 예측하는 방법은, 다른 예로 상기 수신 장치(150)는 새로운 패킷 트레인을 수신할 때마다, 패킷 트레인의 처음 미리 정해진 개수의 정상 응답 신호들을 이용하여 RTT 값을 계산한다. 그리고 상기 수신 장치(150)는 k 번째 패킷 트레인에서 계산된 RTT 값이 k-1번째 패킷 트레인에서 계산된 RTT 값에 일정 상수를 더한 값보다 크면, 대역폭 지연 시간 프로덕트(bandwidth delay product : BDP)에 도달하여 전송 장치(110)의 TCP가 혼잡 회피 단계임으로 예측한다. 여기서, 상기 BDP는 대역폭과 지연 시간의 곱으로, 특정 경로를 통해 전송할 수 있는 데이터 패킷의 양의 최대 값을 나타낸다.As another example, the receiving apparatus 150 calculates the RTT value using the first predetermined number of normal response signals of the packet train every time a new packet train is received. If the RTT value calculated in the k-th packet train is larger than the RTT value calculated in the (k-1) -th packet train plus a certain constant, the receiver 150 calculates a bandwidth delay product (BDP) And predicts that the TCP of the transmission apparatus 110 is a congestion avoiding step. Here, the BDP is a product of a bandwidth and a delay time, and represents a maximum value of a data packet that can be transmitted through a specific path.

반면, 상기 상기 수신 장치(150)는 k 번째 패킷 트레인에서 계산된 RTT 값이 k-1번째 패킷 트레인에서 계산된 RTT 값에 일정 상수를 더한 값보다 작으면 전송 장치(110)의 TCP가 슬로우 스타트임으로 예측한다. 한편, 상기 수신 장치(150)는 k 번째 패킷 트레인에서 계산된 RTT 값이 k-1번째 패킷 트레인에서 계산된 RTT 값에 일정 상수를 더한 값과 같은 경우, 내부 설정에 따라서 전송 장치(110)의 TCP가 혼잡 회피 단계 또는 슬로우 스타트 단계임으로 예측할 수 있다.On the other hand, if the RTT value calculated in the k-th packet train is smaller than the RTT value calculated in the (k-1) -th packet train plus a certain constant, the receiving apparatus 150 may determine that the TCP of the transmission apparatus 110 is a slow start I predict. On the other hand, when the RTT value calculated in the k-th packet train is equal to a value obtained by adding a certain constant to the RTT value calculated in the (k-1) -th packet train, It can be predicted that TCP is a congestion avoiding step or a slow start step.

다음으로, 상기 수신 장치(150)는 TCP의 데이터 패킷이 수신될 때마다, 수신된 데이터 패킷의 길이를 알려진(advertise) MSS(maximum segment size)로 나눈 값을 더하여 전송 장치(110)에서 결정된 혼잡 윈도우의 크기를 예측한다(403).Next, the receiving apparatus 150 adds a value obtained by dividing the length of a received data packet by an advertised maximum segment size (MSS) every time a TCP data packet is received, The size of the window is predicted (403).

그리고 수신 장치(150)는 새로운 패킷 트레인이 수신될 때마다, 현재의 RTT(smoothed RTT) 값을 확인한다(405). 상기 수신 장치(150)는 상기 확인한 smoothed RTT 값이 현재까지 확인된 최소 RTT(RTTmin) 값보다 작은 값을 갖는지 판단하여(407), 상기 확인한 smoothed RTT 값이 RTTmin 값보다 작은 값을 갖는 경우 RTTmin 값을 상기 확인한 smoothed RTT 값으로 갱신한다(409). 반면, 상기 수신 장치(150)는 상기 확인한 smoothed RTT 값이 RTTmin 값보다 큰 값을 갖는 경우 RTTmin 값을 갱신하지 않고 단계 411로 진행한다.Then, the receiving apparatus 150 confirms the current RTT value (step 405) whenever a new packet train is received. The receiving device 150, if having a value that is less than the verify smoothed RTT value is determined has the value less than the minimum RTT (RTT min) identified to date value (407), the confirming smoothed RTT value RTT min value The RTT min value is updated to the confirmed smoothed RTT value (409). On the other hand, if the smoothed RTT value is greater than the RTT min value, the receiver 150 proceeds to step 411 without updating the RTT min value.

상기 수신 장치(150)는 상기 예측된 TCP의 현재 단계(즉, 슬로우 스타트 단계 또는 혼잡 회피 단계), 상기 예측된 혼잡 윈도우의 크기, 상기 확인한 smoothed RTT 값 및 RTTmin 값을 기반으로, 송신 장치(110)로 전송할(advertisement) 윈도우의 크기를 결정한다. 이때, 상기 수신 장치(150)는 상기 송신 장치(110)에서 전송 버퍼의 크기를 결정하는 방법과 유사한 방법으로 advertisement 윈도우의 크기를 결정할 수 있다. 즉, 상기 수신 장치(150)는 상기 예측된 TCP의 현재 단계가 슬로우 스타트 단계인 경우, 상기 예측된 혼잡 윈도우의 크기에 일정 상수를 곱하여 advertisement 윈도우의 크기를 결정한다. 그리고 상기 수신 장치(150)는 상기 예측된 TCP의 현재 단계가 혼잡 회피 단계인 경우, 도 2의 단계 211 내지 223과 동일한 방법으로, 도 3을 기반으로 상기 예측된 혼잡 윈도우의 크기, 상기 확인한 smoothed RTT 값 및 RTTmin 값을 이용하여 advertisement 윈도우의 크기를 결정할 수 있다.The receiving device 150 to the current phase of the predicted TCP (i.e., slow start phase or congestion avoidance phase), the predicted congestion window size, based on the check smoothed RTT value and the RTT min value, the transmitting apparatus ( 110 to determine the size of the advertisement window. At this time, the reception apparatus 150 can determine the size of the advertisement window in a manner similar to the method of determining the size of the transmission buffer in the transmission apparatus 110. That is, when the current step of the predicted TCP is the slow start step, the reception apparatus 150 determines the size of the advertisement window by multiplying the predicted congestion window size by a predetermined constant. If the current step of the predicted TCP is the congestion avoiding step, the receiving apparatus 150 calculates the size of the predicted congestion window based on FIG. 3, the confirmed smoothed window size The size of the advertisement window can be determined using RTT value and RTT min value.

그리고 상기 수신 장치(150)는 상기 결정된 advertisement 윈도우의 크기에 미리 정해진 윈도우 스케일(scale)을 적용하여 최종 advertisement 윈도우의 크기를 결정한다(413). 따라서 상기 수신 장치(150)는 패킷 헤더의 advertisement 윈도우 필드에 상기 최종 advertisement 윈도우의 크기를 삽입하여 상기 송신 장치(110)로 전송한다(415).Then, the receiving apparatus 150 determines a size of a final advertisement window by applying a predetermined window scale to the determined size of the advertisement window (step 413). Accordingly, the reception apparatus 150 inserts the size of the final advertisement window into the advertisement window field of the packet header and transmits the size of the final advertisement window to the transmission apparatus 110 (415).

이로부터 상기 수신 장치(150)는 전송 버퍼로부터 출력되는 윈도우의 크기를 결정하여 간접적으로 전송 버퍼를 제어할 수 있다.The receiving apparatus 150 can control the transmission buffer indirectly by determining the window size output from the transmission buffer.

상기에서는 도 4를 기반으로 상기 수신 장치(150)에 의해 전송 버퍼를 간접적으로 제어하는 방법에 대하여 설명하였으며, 이하에서는 도 5를 기반으로 본 개시의 실시 예에 따른 전송 버퍼를 제어하는 방법이 중계 장치(130)에 의해 수행되는 경우에 대하여 설명하기로 한다. 본 개시의 실시 예에 따른 통신 시스템에서는 송신 장치(110) 및 수신 장치(150)의 내부 구성 및 동작을 변경하지 않고, 중계 장치(130)에 의해 전송 버퍼를 제어할 수 있다In the above description, a method of indirectly controlling a transmission buffer by the receiving apparatus 150 based on FIG. 4 has been described. Hereinafter, a method of controlling a transmission buffer according to an embodiment of the present disclosure, The case where it is performed by the apparatus 130 will be described. The relay apparatus 130 can control the transmission buffer without changing the internal configuration and operation of the transmission apparatus 110 and the reception apparatus 150 in the communication system according to the embodiment of the present disclosure

도 5는 본 개시의 실시 예에 따른 통신 시스템에서 중계 장치(130)에 의해 전송 버퍼를 제어하는 방법을 보이고 있다. 5 illustrates a method of controlling a transmission buffer by a relay device 130 in a communication system according to an embodiment of the present disclosure.

도 5를 참조하면, 중계 장치(130)는 전송 장치(110)와 통신을 수행하는 경우 수신 장치로 동작하고, 수신 장치(150)와 통신을 수행하는 경우 송신 장치로 동작할 수 있다. 따라서, 상기 중계 장치(130)는 전송 장치(110)와 통신을 수행하는 경우 도 4와 같이 수신 장치(150)와 동일한 방법(즉, 제1 전송 버퍼 제어 프로토콜, 531)으로 간접적으로 전송 장치(110)에 포함된 전송 버퍼(501)를 제어한다. 그리고 중계 장치(130)는 수신 장치(150)와 통신을 수행하는 경우 도 2a 및 도 2b와 같이 전송 장치(110)와 동일한 방법(즉, 제2 전송 버퍼 제어 프로토콜, 533)으로 직접적으로 중계 장치(130)에 포함된 전송 버퍼(503)를 제어한다. 이때, 상기 중계 장치(130)는 제1 전송 버퍼 제어 프로토콜과 제2 전송 버퍼 제어 프로토콜을 모두 수행함에 따라, 이에 필요한 추가적인 동작을 수행할 수도 있다. 상기 추가적인 동작의 예로는 중계 장치(130)의 내부에서 제1 전송 버퍼 제어 프로토콜에 의해 관리되는 수신 버퍼와 제2 전송 버퍼 제어 프로토콜에 의해 관리되는 송신 버퍼 간의 패킷 전달에서 오버플로우(overflow)로 인한 패킷 손실을 방지하기 위한 내부 버퍼를 제어하는 동작 등이 있다.Referring to FIG. 5, the relay apparatus 130 operates as a receiving apparatus when performing communication with the transmitting apparatus 110, and may operate as a transmitting apparatus when performing communication with the receiving apparatus 150. Accordingly, when the relay apparatus 130 performs communication with the transmission apparatus 110, the relay apparatus 130 indirectly transmits the transmission apparatus 110 (see FIG. 4) by the same method as the receiving apparatus 150 (i.e., the first transmission buffer control protocol 531) 110) included in the transmission buffer (501). When the relay apparatus 130 performs communication with the reception apparatus 150, the relay apparatus 130 directly transmits the relay apparatus 130 to the relay apparatus 130 in the same manner as the transmission apparatus 110 (i.e., the second transmission buffer control protocol 533) And controls the transmission buffer 503 included in the transmission buffer 130. At this time, the relay device 130 may perform additional operations required by performing both the first transmission buffer control protocol and the second transmission buffer control protocol. An example of such an additional operation is that an overflow in the packet transfer between the reception buffer managed by the first transmission buffer control protocol and the transmission buffer managed by the second transmission buffer control protocol within the relay apparatus 130 And an operation of controlling an internal buffer to prevent packet loss.

따라서, 본 개시의 실시 예는 전송 장치(110)에 포함된 전송 버퍼(501) 또는 중계 장치(130)에 포함된 전송 버퍼(503)를 네트워크 상황에 따라 적응적으로 제어하여 데이터 패킷에 대한 처리율 성능을 저하시키지 않으면서 어플리케이션 간 지연 시간을 최소화할 수 있다. 그리고 상기 본 개시의 실시 예에서 어플리케이션 간 지연 시간을 최소화할 수 있음은 지연 시간이 중요한 다양한 어플리케이션의 서비스 품질을 향상시키는데 활용될 수 있다. 또한 본 개시의 실시 예는 전송 장치(110), 수신 장치(130) 및 중계 장치(150) 중 하나의 장치에 의해 수행될 수 있으므로, 다양한 통신 시스템의 환경에서 적용될 수 있다.The embodiment of the present disclosure can adaptively control the transmission buffer 501 included in the transmission apparatus 110 or the transmission buffer 503 included in the relay apparatus 130 in accordance with the network conditions, The latency between applications can be minimized without compromising performance. In addition, minimizing the inter-application delay time in the embodiment of the present disclosure can be utilized to improve the service quality of various applications in which delay time is important. Also, the embodiments of the present disclosure can be performed by one of the transmitting apparatus 110, the receiving apparatus 130, and the relay apparatus 150, and thus can be applied in an environment of various communication systems.

상기에서는 도 5를 기반으로 상기 중계 장치(130)에 의해 전송 버퍼를 직접적 및 간접적으로 제어하는 방법에 대하여 설명하였으며, 이하에서는 도 6 내지 도 8을 기반으로 본 개시의 실시 예를 수행하는 송신 장치(110), 수신 장치(150) 및 중계 장치(130) 각각의 내부 구성을 간략히 설명하기로 한다.In the above description, a method of directly or indirectly controlling the transmission buffer by the relay apparatus 130 based on FIG. 5 has been described. Hereinafter, a transmission apparatus, which performs the embodiment of the present disclosure based on FIG. 6 to FIG. 8, The receiving apparatus 150, and the relay apparatus 130 will be briefly described below.

도 6은 본 개시의 실시 예에 따른 통신 시스템에서 TCP의 전송 버퍼를 제어하는 전송 장치(110)의 내부 구성을 보이고 있다.6 shows an internal configuration of a transmission apparatus 110 for controlling a transmission buffer of TCP in a communication system according to an embodiment of the present disclosure.

도 6을 참조하면, 전송 장치(110)는, 제어부(601), 송신부(603), 수신부(605) 및 저장부(607)를 포함한다.6, the transmission apparatus 110 includes a control unit 601, a transmission unit 603, a reception unit 605, and a storage unit 607. [

상기 제어부(601)는 전송 장치(110)의 전반적인 동작을 제어하며, 특히 본 개시의 실시 예들에 따른 TCP의 전송 버퍼를 제어하는 동작에 관련된 동작을 제어한다. 본 개시의 실시 예에 따른 TCP의 전송 버퍼를 제어하는 동작에 관련된 동작은 상기 도 1 내지 도 3에서 설명한 바와 동일하므로 여기서 그 상세한 설명을 생략하기로 한다. 그리고 상기 제어부(601)는 상기 도 1 내지 도 3 각각에서 설명한 본 개시의 실시 예에 따른 TCP의 전송 버퍼를 제어하는 동작을 각각 또는 적어도 둘 이상의 실시 예들을 조합하여 TCP의 전송 버퍼를 제어할 수 있다. The control unit 601 controls the overall operation of the transmission apparatus 110, and in particular, controls the operation related to the operation of controlling the transmission buffer of the TCP according to the embodiments of the present disclosure. The operations related to the operation of controlling the TCP transmission buffer according to the embodiment of the present disclosure are the same as those described above with reference to FIG. 1 to FIG. 3, and a detailed description thereof will be omitted here. The control unit 601 controls the transmission buffer of the TCP according to the embodiment of the present invention described in each of FIGS. 1 to 3 by combining each or at least two embodiments. have.

상기 송신부(603)는 상기 제어부(601)의 제어에 따라 통신 시스템에 포함되는 다른 엔터티들로부터 각종 신호 및 각종 메시지들을 수신한다. 여기서, 상기 송신부(603)가 수신하는 각종 신호 및 각종 메시지들은 상기 도 2a 및 도 2b에서 설명한 바와 동일하므로 여기서 그 상세한 설명을 생략하기로 한다.The transmitter 603 receives various signals and various messages from other entities included in the communication system under the control of the controller 601. [ Here, various signals and various messages received by the transmitter 603 are the same as those described with reference to FIG. 2A and FIG. 2B, and a detailed description thereof will be omitted.

또한 상기 수신부(605)는 제어부(601)의 제어에 따라 통신 시스템에 포함되는 다른 엔터티들로부터 각종 신호 및 각종 메시지들을 수신한다. 여기서, 상기 수신부(605)가 수신하는 각종 신호 및 각종 메시지들은 상기 도 2a 및 도 2b에서 설명한 바와 동일하므로 여기서는 그 상세한 설명을 생략하기로 한다. The receiving unit 605 receives various signals and various messages from other entities included in the communication system under the control of the controller 601. [ Here, various signals and various messages received by the receiving unit 605 are the same as those described with reference to FIG. 2A and FIG. 2B, and a detailed description thereof will be omitted here.

상기 저장부(607)는 상기 제어기(601)의 제어에 따라 상기 송신 장치(110)가 수행하는 본 개시의 실시 예에 따른 TCP의 전송 버퍼를 제어하는 동작에 관련된 동작과 관련된 프로그램과 각종 데이터 패킷 등을 저장한다. 또한, 상기 저장부(607)는 상기 수신부(605)가 상기 다른 엔터티들로부터 수신한 각종 신호 및 각종 메시지들을 저장한다. The storage unit 607 stores a program related to the operation related to the operation of controlling the TCP transmission buffer according to the present embodiment performed by the transmission apparatus 110 under the control of the controller 601, And so on. In addition, the storage unit 607 stores various signals and various messages received by the receiving unit 605 from the other entities.

한편, 도 6에는 상기 송신 장치(110)가 상기 제어부(601), 송신부(603), 수신부(605) 및 저장부(607)와 같이 별도의 유닛들로 구현된 경우가 도시되어 있으나, 상기 송신 장치(110)는 상기 제어부(601), 송신부(603), 수신부(605) 및 저장부(607) 중 적어도 두 개가 통합된 형태로 구현 가능함은 물론이다. 또한, 상기 송신 장치(110)는 1개의 프로세서로 구현될 수도 있음은 물론이다.6 shows a case where the transmission apparatus 110 is implemented as separate units such as the control unit 601, the transmission unit 603, the reception unit 605, and the storage unit 607, It is needless to say that at least two of the control unit 601, the transmission unit 603, the reception unit 605, and the storage unit 607 may be integrated. In addition, the transmitting apparatus 110 may be implemented by a single processor.

도 7은 본 개시의 실시 예에 따른 통신 시스템에서 TCP의 전송 버퍼를 제어하는 수신 장치(150)의 내부 구성을 보이고 있다.7 illustrates an internal configuration of a receiving apparatus 150 for controlling a transmission buffer of a TCP in a communication system according to an embodiment of the present disclosure.

도 7을 참조하면, 수신 장치(150)는, 제어부(701), 송신부(703), 수신부(705) 및 저장부(707)를 포함한다.7, the receiving apparatus 150 includes a control unit 701, a transmitting unit 703, a receiving unit 705, and a storage unit 707.

상기 제어부(701)는 수신 장치(150)의 전반적인 동작을 제어하며, 특히 본 개시의 실시 예들에 따른 TCP의 전송 버퍼를 제어하는 동작에 관련된 동작을 제어한다. 본 개시의 실시 예에 따른 TCP의 전송 버퍼를 제어하는 동작에 관련된 동작은 상기 도 4에서 설명한 바와 동일하므로 여기서 그 상세한 설명을 생략하기로 한다.The control unit 701 controls the overall operation of the receiving apparatus 150 and in particular controls operations related to controlling the transmission buffer of the TCP according to the embodiments of the present disclosure. Operation related to control of the TCP transmission buffer according to the embodiment of the present disclosure is the same as that described above with reference to FIG. 4, and a detailed description thereof will be omitted.

상기 송신부(703)은 상기 제어부(701)의 제어에 따라 통신 시스템에 포함되는 다른 엔터티들로부터 각종 신호 및 각종 메시지들을 수신한다. 여기서, 상기 송신부(703)가 수신하는 각종 신호 및 각종 메시지들은 상기 도 1, 도 3 및 도 4에서 설명한 바와 동일하므로 여기서 그 상세한 설명을 생략하기로 한다. 그리고 상기 제어부(601)는 상기 도 1, 도 3 및 도 4 각각에서 설명한 본 개시의 실시 예에 따른 TCP의 전송 버퍼를 제어하는 동작을 각각 또는 적어도 둘 이상의 실시 예들을 조합하여 TCP의 전송 버퍼를 제어할 수 있다.The transmitter 703 receives various signals and various messages from other entities included in the communication system under the control of the controller 701. [ Here, the various signals and various messages received by the transmitter 703 are the same as those described above with reference to FIGS. 1, 3 and 4, and a detailed description thereof will be omitted. The controller 601 controls the transmission buffer of the TCP according to the embodiment of the present disclosure described in each of FIGS. 1, 3, and 4, by combining each or at least two embodiments with the transmission buffer of the TCP Can be controlled.

또한 상기 수신부(705)는 제어부(701)의 제어에 따라 통신 시스템에 포함되는 다른 엔터티들로부터 각종 신호 및 각종 메시지들을 수신한다. 여기서, 상기 수신부(705)가 수신하는 각종 신호 및 각종 메시지들은 상기 도 4에서 설명한 바와 동일하므로 여기서는 그 상세한 설명을 생략하기로 한다. The receiving unit 705 receives various signals and various messages from other entities included in the communication system under the control of the controller 701. [ Here, the various signals and various messages received by the receiver 705 are the same as those described with reference to FIG. 4, and a detailed description thereof will be omitted here.

상기 저장부(707)는 상기 제어기(701)의 제어에 따라 상기 수신 장치(150)가 수행하는 본 개시의 실시 예에 따른 TCP의 전송 버퍼를 제어하는 동작에 관련된 동작과 관련된 프로그램과 각종 데이터 패킷 등을 저장한다. 또한, 상기 저장부(707)는 상기 수신부(705)가 상기 다른 엔터티들로부터 수신한 각종 신호 및 각종 메시지들을 저장한다. The storage unit 707 stores the program related to the operation related to the operation of controlling the TCP transmission buffer according to the embodiment of the present disclosure performed by the receiving apparatus 150 under control of the controller 701, And so on. In addition, the storage unit 707 stores various signals and various messages received by the receiving unit 705 from the other entities.

한편, 도 7에는 상기 수신 장치(150)가 상기 제어부(701), 송신부(703), 수신부(705) 및 저장부(707)와 같이 별도의 유닛들로 구현된 경우가 도시되어 있으나, 상기 수신 장치(150)는 상기 제어부(701), 송신부(703), 수신부(705) 및 저장부(707) 중 적어도 두 개가 통합된 형태로 구현 가능함은 물론이다. 또한, 상기 수신 장치(10)는 1개의 프로세서로 구현될 수도 있음은 물론이다.7 shows a case where the receiving apparatus 150 is implemented as separate units such as the control unit 701, the transmitting unit 703, the receiving unit 705 and the storing unit 707. However, It is needless to say that the apparatus 150 may be implemented by integrating at least two of the control unit 701, the transmitting unit 703, the receiving unit 705, and the storing unit 707. In addition, the receiving apparatus 10 may be implemented by a single processor.

도 8은 본 개시의 실시 예에 따른 통신 시스템에서 TCP의 전송 버퍼를 제어하는 중계 장치(130)의 내부 구성을 보이고 있다.8 shows an internal configuration of a relay apparatus 130 for controlling a transmission buffer of a TCP in a communication system according to an embodiment of the present disclosure.

도 8을 참조하면, 중계 장치(130)는, 제어부(801), 송신부(803), 수신부(805) 및 저장부(807)를 포함한다.8, the relay apparatus 130 includes a control unit 801, a transmission unit 803, a reception unit 805, and a storage unit 807.

상기 제어부(801)는 중계 장치(130)의 전반적인 동작을 제어하며, 특히 본 개시의 실시 예들에 따른 TCP의 전송 버퍼를 제어하는 동작에 관련된 동작을 제어한다. 본 개시의 실시 예에 따른 TCP의 전송 버퍼를 제어하는 동작에 관련된 동작은 상기 1 내지 도 5에서 설명한 바와 동일하므로 여기서 그 상세한 설명을 생략하기로 한다. 상기 제어부(601)는 상기 도 1 내지 도 5 각각에서 설명한 본 개시의 실시 예에 따른 TCP의 전송 버퍼를 제어하는 동작을 각각 또는 적어도 둘 이상의 실시 예들을 조합하여 TCP의 전송 버퍼를 제어할 수 있다.The control unit 801 controls the overall operation of the relay device 130 and in particular controls operations related to controlling the TCP transmission buffer according to the embodiments of the present disclosure. The operations related to the operation of controlling the TCP transmission buffer according to the embodiment of the present disclosure are the same as those described in the above 1 to 5, and a detailed description thereof will be omitted here. The controller 601 may control the TCP transmission buffer by combining each or at least two embodiments in order to control the TCP transmission buffer according to the embodiment of the present disclosure described in each of FIGS. 1 to 5 .

상기 송신부(803)은 상기 제어부(801)의 제어에 따라 통신 시스템에 포함되는 다른 엔터티들로부터 각종 신호 및 각종 메시지들을 수신한다. 여기서, 상기 송신부(803)가 수신하는 각종 신호 및 각종 메시지들은 상기 도 2a 및 도 2b 및 도 4에서 설명한 바와 동일하므로 여기서 그 상세한 설명을 생략하기로 한다.Under the control of the controller 801, the transmitter 803 receives various signals and various messages from other entities included in the communication system. Here, the various signals and various messages received by the transmitter 803 are the same as those described with reference to FIGS. 2A, 2B, and 4, and therefore detailed description thereof will be omitted.

또한 상기 수신부(805)는 제어부(801)의 제어에 따라 통신 시스템에 포함되는 다른 엔터티들로부터 각종 신호 및 각종 메시지들을 수신한다. 여기서, 상기 수신부(805)가 수신하는 각종 신호 및 각종 메시지들은 상기 도 2a 및 도 2b 및 도 4에서 설명한 바와 동일하므로 여기서는 그 상세한 설명을 생략하기로 한다. The receiving unit 805 receives various signals and various messages from other entities included in the communication system under the control of the controller 801. [ Here, various signals and various messages received by the receiver 805 are the same as those described with reference to FIG. 2A, FIG. 2B, and FIG. 4, and therefore detailed description thereof will be omitted here.

상기 저장부(807)는 상기 제어기(801)의 제어에 따라 상기 중계 장치(130)가 수행하는 본 개시의 실시 예에 따른 TCP의 전송 버퍼를 제어하는 동작에 관련된 동작과 관련된 프로그램과 각종 데이터 패킷 등을 저장한다. 또한, 상기 저장부(807)는 상기 수신부(805)가 상기 다른 엔터티들로부터 수신한 각종 신호 및 각종 메시지들을 저장한다. The storage unit 807 stores a program related to the operation related to the operation of controlling the transmission buffer of the TCP according to the embodiment of the present disclosure performed by the relay apparatus 130 under the control of the controller 801, And so on. Also, the storage unit 807 stores various signals and various messages received by the receiving unit 805 from the other entities.

한편, 도 8에는 상기 중계 장치(130)가 상기 제어부(801), 송신부(803), 수신부(805) 및 저장부(807)와 같이 별도의 유닛들로 구현된 경우가 도시되어 있으나, 상기 중계 장치(130)는 상기 제어부(801), 송신부(803), 수신부(805) 및 저장부(807) 중 적어도 두 개가 통합된 형태로 구현 가능함은 물론이다. 또한, 상기 중계 장치(130)는 1개의 프로세서로 구현될 수도 있음은 물론이다.8 shows a case in which the relay apparatus 130 is implemented as separate units such as the control unit 801, the transmission unit 803, the reception unit 805, and the storage unit 807, It is needless to say that at least two of the control unit 801, the transmission unit 803, the reception unit 805 and the storage unit 807 may be integrated. In addition, the relay device 130 may be implemented as a single processor.

상기에서는 도 6 내지 도 8을 기반으로 본 개시의 실시 예를 수행하는 송신 장치(110), 수신 장치(150) 및 중계 장치(130) 각각의 내부 구성에 대하여 설명하였으며, 하기에서는 도 9 내지 도 11을 기반으로 실제 통신 시스템에서 본 개시의 실시 예예 따라 통신 시스템에서 TCP의 송신 버퍼를 제어하는 방법을 적용한 결과에 대하여 설명하기로 한다.In the above description, the internal configuration of each of the transmitting apparatus 110, the receiving apparatus 150, and the relay apparatus 130 that performs the embodiment of the present disclosure based on FIGS. 6 to 8 has been described. 11, a method of controlling a transmission buffer of a TCP in a communication system according to an embodiment of the present disclosure in an actual communication system will be described.

도 9는 현재 통신 시스템의 TCP에서 지연 시간이 발생되는 장치를 확인한 결과를 보이고 있다.FIG. 9 shows a result of checking a device in which the delay time is generated in the TCP of the current communication system.

도 9를 참조하면, (a)는 큐빅(cubic)에서 지연 시간이 발생되는 장치를 확인한 결과이고, (b)는 리노(reno)에서 지연 시간이 발생되는 장치를 확인한 결과이다. 도 9의 (a) 및 (b)에서는 모두 대부분의 지연 시간이 전송 장치(110)의 TCP 전송 버퍼에서 발생함을 확인할 수 있다. 그리고 도 9의 (a)에서와 같이, 큐빅의 경우 중계 장치(130)(일 예로, 프록시)의 TCP 전송 버퍼에서도 큰 지연 시간이 발생함을 확인할 수 있다. 이러한 통신 환경에서 송신 장치(110), 중계 장치(130) 및 수신 장치(150) 각각에 본 개시의 실시 예에 따른 TCP의 전송 버퍼를 제어하는 방법을 적용하면, 도 10 및 도 11과 같이 TCP에서의 지연 시간 및 처리율 성능을 최대화할 수 있다.Referring to FIG. 9, (a) shows a result of checking a device in which a delay time occurs in a cubic, and (b) shows a result of checking a device in which a delay time occurs in a reno. 9 (a) and 9 (b), it can be seen that most of the delay time occurs in the TCP transmission buffer of the transmission apparatus 110. As shown in FIG. 9A, it can be seen that a large delay time occurs in the TCP transmission buffer of the relay apparatus 130 (for example, a proxy) in the cubic case. When the method of controlling the transmission buffer of TCP according to the embodiment of the present disclosure is applied to each of the transmitting apparatus 110, the relay apparatus 130 and the receiving apparatus 150 in such a communication environment, Lt; / RTI > and the throughput performance at the < RTI ID = 0.0 >

도 10은 통신 시스템에서 송신 장치(110) 및 수신 장치(150)에 본 개시의 실시 예에 따른 TCP의 전송 버퍼를 제어하는 방법을 적용한 결과를 보이고 있다. 여기서, 도 10의 결과는 실제로 현재 통신 사업자에 의해 운용되고 있는 이동통신 네트워크들 중 한 네트워크에서 실제로 측정한 것이다.FIG. 10 shows a result of applying the method of controlling the transmission buffer of the TCP according to the embodiment of the present disclosure to the transmission apparatus 110 and the reception apparatus 150 in the communication system. Here, the results of FIG. 10 are actually measured in one of the mobile communication networks currently being operated by the communication service provider.

도 10을 참조하면, (a)는 기존 큐빅에서의 지연 시간, 전송 장치(110)에서 본 개시의 실시 예에 따른 TCP의 전송 버퍼를 제어하는 방법을 적용한 결과의 지연 시간 및 수신 장치(150)에서 본 개시의 실시 예에 따른 TCP의 전송 버퍼를 제어하는 방법을 적용한 결과의 지연 시간을 비교한 것이다. 도 10의 (a)에서는 기존 큐빅에서의 지연 시간에 비하여, 전송 장치(110)에서 본 개시의 실시 예에 따른 TCP의 전송 버퍼를 제어하는 방법을 적용한 결과의 지연 시간 및 수신 장치(150)에서 본 개시의 실시 예에 따른 TCP의 전송 버퍼를 제어하는 방법을 적용한 결과의 지연 시간이 확연히 감소하였음을 확인할 수 있다.Referring to FIG. 10, (a) shows a delay time in conventional cubic, a delay time resulting from applying a method of controlling a transmission buffer of TCP according to an embodiment of the present disclosure in transmission apparatus 110, To compare the delay time of the method of controlling the transmission buffer of the TCP according to the embodiment of the present disclosure. 10A, the delay time of the transmission buffer 110 according to the embodiment of the present invention is compared with the delay time of the conventional cubic, It can be confirmed that the delay time as a result of applying the method of controlling the transmission buffer of TCP according to the embodiment of the present disclosure is significantly reduced.

그리고 (b)는 기존 큐빅에서의 평균 처리율, 전송 장치(110)에서 본 개시의 실시 예에 따른 TCP의 전송 버퍼를 제어하는 방법을 적용한 결과의 평균 처리율 및 수신 장치(150)에서 본 개시의 실시 예에 따른 TCP의 전송 버퍼를 제어하는 방법을 적용한 결과의 평균 처리율을 비교한 것이다. 도 10의 (a)에서는 기존 큐빅에서의 평균 처리율과, 전송 장치(110)에서 본 개시의 실시 예에 따른 TCP의 전송 버퍼를 제어하는 방법을 적용한 결과의 평균 처리율 및 수신 장치(150)에서 본 개시의 실시 예에 따른 TCP의 전송 버퍼를 제어하는 방법을 적용한 결과의 평균 처리율이 거의 유사함을 확인할 수 있다.(B) shows the average throughput at the existing cubic, the average throughput of the method of controlling the transmission buffer of the TCP according to the embodiment of the present invention in the transmission apparatus 110, And the average throughput of the result of applying the method of controlling the transmission buffer of the TCP according to the example. In FIG. 10 (a), the average throughput in the existing cubic, the average throughput obtained by applying the method of controlling the transmission buffer of the TCP according to the embodiment of the present disclosure in the transmission apparatus 110, It can be seen that the average throughput of the method of controlling the transmission buffer of the TCP according to the embodiment of the present disclosure is substantially similar.

이로부터, 본 개시의 실시 예에 따른 전송 장치(110)에서 TCP의 전송 버퍼를 제어하는 방법 및 본 개시의 실시 예에 따른 수신 장치(150)에서 TCP의 전송 버퍼를 제어하는 방법 중 하나의 방법을 이용하면, 통신 시스템에서 기존 TCP에 비하여 지연 시간을 최소화하고 평균 처리율을 유지시킬 수 있다.From this, a method of controlling the transmission buffer of the TCP in the transmission apparatus 110 according to the embodiment of the present disclosure and a method of controlling the transmission buffer of the TCP in the reception apparatus 150 according to the embodiment of the present disclosure , It is possible to minimize the delay time and maintain the average throughput in the communication system as compared with the conventional TCP.

도 11은 통신 시스템에서 송신 장치(110), 중계 장치(130) 및 수신 장치(150)에 본 개시의 실시 예에 따른 TCP의 전송 버퍼를 제어하는 방법을 적용한 결과를 보이고 있다. 여기서, 도 11의 결과는 실제로 한국의 이동통신망 중 하나인 SK 텔레콤 네트워크에서 측정한 것이다.11 shows a result of applying the method of controlling the transmission buffer of the TCP according to the embodiment of the present disclosure to the transmission apparatus 110, the relay apparatus 130 and the reception apparatus 150 in the communication system. Here, the result of FIG. 11 is actually measured by a SK Telecom network, which is one of Korea's mobile communication networks.

도 11을 참조하면, (a)는 기존 큐빅에서의 지연 시간, 중계 장치(130)에서 본 개시의 실시 예에 따른 TCP의 전송 버퍼를 제어하는 방법을 적용한 결과의 지연 시간, 전송 장치(110)에서 본 개시의 실시 예에 따른 TCP의 전송 버퍼를 제어하는 방법을 적용한 결과의 지연 시간 및 수신 장치(150)에서 본 개시의 실시 예에 따른 TCP의 전송 버퍼를 제어하는 방법을 적용한 결과의 지연 시간을 비교한 것이다. 도 11의 (a)에서는 기존 큐빅에서의 지연 시간에 비하여, 중계 장치(130)에서 본 개시의 실시 예에 따른 TCP의 전송 버퍼를 제어하는 방법을 적용한 결과의 지연 시간, 전송 장치(110)에서 본 개시의 실시 예에 따른 TCP의 전송 버퍼를 제어하는 방법을 적용한 결과의 지연 시간 및 수신 장치(150)에서 본 개시의 실시 예에 따른 TCP의 전송 버퍼를 제어하는 방법을 적용한 결과의 지연 시간이 확연히 감소하였음을 확인할 수 있다.Referring to FIG. 11, (a) shows a delay time in conventional cubic, a delay time of a result of applying a method of controlling a transmission buffer of TCP according to an embodiment of the present disclosure in the relay apparatus 130, The delay time of the result of applying the method of controlling the transmission buffer of the TCP according to the embodiment of the present disclosure and the delay time of the result of applying the method of controlling the transmission buffer of the TCP according to the embodiment of the present disclosure in the reception apparatus 150 . 11A, the delay time of the transmission buffer 130 according to the embodiment of the present invention is compared with the delay time of the conventional cubic, The delay time resulting from applying the method of controlling the transmission buffer of the TCP according to the embodiment of the present disclosure and the delay time resulting from applying the method of controlling the transmission buffer of the TCP according to the embodiment of the present disclosure in the reception apparatus 150 As shown in Fig.

그리고 (b)는 기존 큐빅에서의 평균 처리율, 중계 장치(130)에서 본 개시의 실시 예에 따른 TCP의 전송 버퍼를 제어하는 방법을 적용한 결과의 평균 처리율, 전송 장치(110)에서 본 개시의 실시 예에 따른 TCP의 전송 버퍼를 제어하는 방법을 적용한 결과의 평균 처리율 및 수신 장치(150)에서 본 개시의 실시 예에 따른 TCP의 전송 버퍼를 제어하는 방법을 적용한 결과의 평균 처리율을 비교한 것이다. 도 10의 (a)에서는 기존 큐빅에서의 평균 처리율과, 중계 장치(130)에서 본 개시의 실시 예에 따른 TCP의 전송 버퍼를 제어하는 방법을 적용한 결과의 평균 처리율, 전송 장치(110)에서 본 개시의 실시 예에 따른 TCP의 전송 버퍼를 제어하는 방법을 적용한 결과의 평균 처리율 및 수신 장치(150)에서 본 개시의 실시 예에 따른 TCP의 전송 버퍼를 제어하는 방법을 적용한 결과의 평균 처리율이 거의 유사함을 확인할 수 있다.(B) shows the average throughput in the existing cubic, the average throughput of the result of applying the method of controlling the transmission buffer of the TCP according to the embodiment of the present disclosure in the relay apparatus 130, The average throughput of the method of controlling the transmission buffer of the TCP according to the example and the average throughput of the result of applying the method of controlling the transmission buffer of the TCP according to the embodiment of the present disclosure in the receiving apparatus 150 are compared. 10A, the average throughput in conventional cubic and the average throughput obtained by applying the method of controlling the TCP transmission buffer according to the embodiment of the present disclosure in the relay apparatus 130, The average throughput of the result of applying the method of controlling the transmission buffer of the TCP according to the embodiment of the present invention and the average throughput of the result of applying the method of controlling the transmission buffer of the TCP according to the present embodiment in the receiving apparatus 150 are almost Similarity can be confirmed.

이로부터, 본 개시의 실시 예에 따른 전송 장치(110)에서 TCP의 전송 버퍼를 제어하는 방법, 중계 장치(130)에서 TCP의 전송 버퍼를 제어하는 방법 및 본 개시의 실시 예에 따른 수신 장치(150)에서 TCP의 전송 버퍼를 제어하는 방법 중 하나의 방법을 이용하면, 통신 시스템에서 기존 TCP에 비하여 지연 시간을 최소화하고 평균 처리율을 유지시킬 수 있다.A method for controlling the transmission buffer of the TCP in the transmission apparatus 110 according to the embodiment of the present disclosure, a method for controlling the transmission buffer of the TCP in the relay apparatus 130, 150), it is possible to minimize the delay time and maintain the average throughput rate in the communication system as compared with the conventional TCP.

한편 본 개시의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 개시의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 개시의 범위는 설명된 실시 예에 국한되어 정해져서는 안되며 후술하는 특허 청구의 범위뿐만 아니라 이 특허 청구의 범위와 균등한 것들에 의해 정해져야 한다.While the invention has been described in connection with what is presently considered to be the most practical and preferred embodiment, it is to be understood that the invention is not limited to the disclosed embodiments. Therefore, the scope of the present disclosure should not be limited to the embodiments described, but should be determined by the scope of the appended claims, as well as the appended claims.

Claims (26)

통신 시스템에서 전송 제어 프로토콜(transport control protocol : TCP)의 전송 버퍼를 제어하는 방법에 있어서,
상기 TCP에서 현재 라운드 트립 타임(round trip time : RTT) 값 및 최소 RTT 값을 확인하는 과정; 및
상기 TCP에 따른 혼잡 제어 방식에서 현재 단계, 상기 현재 RTT 값 및 상기 최소 RTT 값 중 적어도 하나를 기반으로 전송 버퍼의 크기를 조정하는 과정을 포함하는 TCP의 전송 버퍼 제어 방법.
A method of controlling a transport buffer of a transport control protocol (TCP) in a communication system,
Checking a current round trip time (RTT) value and a minimum RTT value in the TCP; And
And adjusting a size of a transmission buffer based on at least one of the current step, the current RTT value, and the minimum RTT value in the congestion control scheme according to the TCP.
제 1 항에 있어서, 상기 전송 버퍼의 크기를 조정하는 과정은,
상기 현재 단계가 슬로우 스타트(slow start) 단계이면, 혼잡 윈도우의 크기에 일정 상수를 곱하여 상기 전송 버퍼의 크기를 조정하는 과정임을 특징으로 하는 TCP의 전송 버퍼 제어 방법.
2. The method of claim 1, wherein the step of adjusting the size of the transmission buffer comprises:
And adjusting the size of the transmission buffer by multiplying the size of the congestion window by a constant if the current step is a slow start step.
제 1 항에 있어서, 상기 전송 버퍼의 크기를 조정하는 과정은,
상기 현재 단계가 혼잡 회피(congestion avoidance) 단계이면, 상기 현재 RTT 값과 상기 최소 RTT 값의 차이 값에 따라 상기 전송 버퍼의 크기를 조정하는 과정임을 특징으로 하는 TCP의 전송 버퍼 제어 방법.
2. The method of claim 1, wherein the step of adjusting the size of the transmission buffer comprises:
And adjusting the size of the transmission buffer according to a difference between the current RTT value and the minimum RTT value if the current step is a congestion avoidance step.
제 3 항에 있어서, 상기 전송 버퍼의 크기를 조정하는 과정은,
상기 현재 RTT 값이 제1 임계 값보다 작은 경우, 상기 전송 버퍼의 크기를 일정 상수만큼(additive) 증가시키는 과정;
상기 현재 RTT 값이 제1 임계 값과 제2 임계 값의 사이 값인 경우, 상기 전송 버퍼의 크기를 유지시키는 과정; 및
상기 현재 RTT 값이 상기 제2 임계 값보다 큰 경우, 전송 버퍼의 크기를 배수(multiplicative)로 감소시키는 과정을 포함하는 TCP의 전송 버퍼 제어 방법.
4. The method of claim 3, wherein the step of adjusting the size of the transmission buffer comprises:
Increasing the size of the transmission buffer by a predetermined number when the current RTT value is smaller than a first threshold value;
Maintaining a size of the transmission buffer when the current RTT value is a value between a first threshold value and a second threshold value; And
And decreasing the transmission buffer size to a multiplicative value when the current RTT value is greater than the second threshold value.
제 4 항에 있어서, 상기 제1 임계 값 및 상기 제2 임계 값은 상기 RTT 최소 값을 기반으로 결정되고, 상기 제2 임계 값은 상기 제1 임계 값보다 큰 값임을 특징으로 하는 TCP의 전송 버퍼 제어 방법.
5. The method of claim 4, wherein the first threshold value and the second threshold value are determined based on the RTT minimum value, and the second threshold value is larger than the first threshold value. Control method.
통신 시스템에서 전송 제어 프로토콜(transport control protocol : TCP)의 전송 버퍼를 제어하는 방법에 있어서,
상대 장치로 정상 응답 신호(TCP acknowledgement)를 전송하는 경우의 라운드 트립 타임(round trip time : RTT) 값을 기반으로 상기 TCP에 따른 혼잡 제어 방식에서 현재 단계를 예측하는 과정;
상기 상대 장치로부터 수신된 데이터 패킷을 기반으로 혼잡 윈도우의 크기를 예측하는 과정;
상기 TCP에서 현재 RTT 값 및 최소 RTT 값을 확인하는 과정; 및
상기 현재 단계, 상기 혼잡 윈도우의 크기, 상기 현재 RTT 값 및 상기 최소 RTT 값 중 적어도 하나를 기반으로 상기 상대 장치로 전송할 윈도우의 크기를 조정하는 과정을 포함하는 TCP의 전송 버퍼 제어 방법.
A method of controlling a transport buffer of a transport control protocol (TCP) in a communication system,
Predicting a current step in a congestion control scheme according to the TCP based on a round trip time (RTT) value when transmitting a normal acknowledgment signal to the counterpart device;
Estimating a size of a congestion window based on a data packet received from the counterpart device;
Checking a current RTT value and a minimum RTT value in the TCP; And
Adjusting a size of a window to be transmitted to the counterpart device based on at least one of the current step, the congestion window size, the current RTT value, and the minimum RTT value.
제 6 항에 있어서, 상기 현재 단계를 예측하는 과정은,
상기 상대 장치로 상기 정상 응답 신호를 전송하는 경우, 상기 상대 장치로부터 하나의 라운드(round)에서 수신된 패킷 트레인의 길이와 상기 최소 RTT 값의 절반 값의 비교 결과에 따라 상기 현재 단계를 예측하는 과정임을 특징으로 하는 TCP의 전송 버퍼 제어 방법.
7. The method of claim 6, wherein the step of predicting the current step comprises:
Predicting the current step according to a result of comparing the length of a packet train received in one round from the counterpart and a half value of the minimum RTT value when the normal response signal is transmitted to the counterpart device The transmission buffer control method of the TCP.
제 6 항에 있어서, 상기 현재 단계를 예측하는 과정은,
상기 상대 장치로부터 하나의 라운드(round)에서 수신된 데이터 패킷에 포함된 소정 개수의 정상 응답 신호들을 이용하여 계산된 RTT 값과, 상기 라운드의 이전 라운드에서 계산된 RTT 값의 차이 값에 따라 상기 현재 단계를 예측하는 과정임을 특징으로 하는 TCP의 전송 버퍼 제어 방법.
7. The method of claim 6, wherein the step of predicting the current step comprises:
The RTT value calculated using the predetermined number of normal response signals included in the data packet received in one round from the counterpart device and the RTT value calculated in the previous round of the round, Wherein the step of estimating the transmission buffer comprises the steps of:
제 6 항에 있어서, 상기 혼잡 윈도우의 크기를 예측하는 과정은,
상기 상대 장치로부터 수신된 데이터 패킷의 총 바이트 크기를 미리 알려진 최대 세그먼트 사이즈(maximum segment size)로 나눈 값을 이용하여 상기 상대 장치에서 결정된 혼잡 윈도우의 크기를 예측하는 과정이며,
상기 혼잡 윈도우의 크기는 패킷 개수의 단위임을 특징으로 하는 TCP의 전송 버퍼 제어 방법.
7. The method of claim 6, wherein the step of estimating the size of the congestion window comprises:
Estimating a size of the congestion window determined by the counterpart apparatus using a value obtained by dividing a total byte size of a data packet received from the counterpart apparatus by a maximum segment size,
Wherein the size of the congestion window is a unit of the number of packets.
제 6 항에 있어서, 상기 상대 장치로 전송할 윈도우의 크기를 조정하는 과정은,
상기 현재 단계가 슬로우 스타트(slow start) 단계이면, 혼잡 윈도우의 크기에 일정 상수를 곱하여 상기 상대 장치로 전송할 윈도우의 크기를 결정하는 과정을 포함함을 특징으로 하는 TCP의 전송 버퍼 제어 방법.
The method as claimed in claim 6, wherein the step of adjusting the window size to be transmitted to the counterpart apparatus comprises:
And determining a size of a window to be transmitted to the counterpart by multiplying the size of the congestion window by a constant if the current step is a slow start step.
제 6 항에 있어서, 상기 상대 장치로 전송할 윈도우의 크기를 조정하는 과정은,
상기 현재 단계가 혼잡 회피(congestion avoidance) 단계이면, 상기 현재 RTT 값과 상기 최소 RTT 값의 차이 값에 따라 상기 상대 장치로 전송할 윈도우의 크기를 결정하는 과정을 포함함을 특징으로 하는 TCP의 전송 버퍼 제어 방법.
The method as claimed in claim 6, wherein the step of adjusting the window size to be transmitted to the counterpart apparatus comprises:
And determining a size of a window to be transmitted to the counterpart device according to a difference between the current RTT value and the minimum RTT value if the current step is a congestion avoidance step, Control method.
제 11 항에 있어서, 상기 상대 장치로 전송할 윈도우의 크기를 조정하는 과정은,
상기 현재 RTT 값이 제1 임계 값보다 작은 경우, 상기 상대 장치로 전송할 윈도우의 크기를 일정 상수만큼(additive) 증가시키는 과정;
상기 현재 RTT 값이 제1 임계 값과 제2 임계 값의 사이 값인 경우, 상기 상대 장치로 전송할 윈도우의 크기를 유지시키는 과정; 및
상기 현재 RTT 값이 상기 제2 임계 값보다 큰 경우, 상기 상대 장치로 전송할 윈도우의 크기를 배수(multiplicative)로 감소시키는 단계를 포함하는 TCP의 전송 버퍼 제어 방법.
The method as claimed in claim 11, wherein the step of adjusting the window size to be transmitted to the counterpart apparatus comprises:
Increasing a size of a window to be transmitted to the counterpart device by a predetermined constant value when the current RTT value is smaller than a first threshold value;
Maintaining a size of a window to be transmitted to the counterpart apparatus when the current RTT value is a value between a first threshold value and a second threshold value; And
And reducing the size of the window to be transmitted to the counterpart device in a multiplicative manner when the current RTT value is larger than the second threshold value.
제 12 항에 있어서, 상기 제1 임계 값 및 상기 제2 임계 값은 상기 RTT 최소 값을 기반으로 결정되고, 상기 제2 임계 값은 상기 제1 임계 값보다 큰 값임을 특징으로 하는 TCP의 전송 버퍼 제어 방법.
13. The method of claim 12, wherein the first threshold value and the second threshold value are determined based on the RTT minimum value, and the second threshold value is larger than the first threshold value. Control method.
통신 시스템에서 전송 제어 프로토콜(transport control protocol : TCP)의 전송 버퍼를 제어하는 장치에 있어서,
데이터 패킷을 송수신하는 송수신부; 및
상기 TCP에서 현재 라운드 트립 타임(round trip time : RTT) 값 및 최소 RTT 값을 확인하고, 상기 TCP에 따른 혼잡 제어 방식에서 현재 단계, 상기 현재 RTT 값 및 상기 최소 RTT 값 중 적어도 하나를 기반으로 전송 버퍼의 크기를 조정하는 제어부를 포함하는 TCP의 전송 버퍼 제어 장치.
An apparatus for controlling a transmission buffer of a transport control protocol (TCP) in a communication system,
A transmitting and receiving unit for transmitting and receiving data packets; And
The method comprising: confirming a current round trip time (RTT) value and a minimum RTT value in the TCP, and transmitting, based on at least one of the current step, the current RTT value, and the minimum RTT value in the congestion control method according to the TCP And a control unit for adjusting the size of the buffer.
제 14 항에 있어서, 상기 제어부는,
상기 현재 단계가 슬로우 스타트(slow start) 단계이면, 혼잡 윈도우의 크기에 일정 상수를 곱하여 상기 전송 버퍼의 크기를 조정함을 특징으로 하는 TCP의 전송 버퍼 제어 장치.
15. The apparatus of claim 14,
Wherein when the current step is a slow start step, the size of the transmission buffer is adjusted by multiplying the size of the congestion window by a constant.
제 14 항에 있어서, 상기 제어부는,
상기 현재 단계가 혼잡 회피(congestion avoidance) 단계이면, 상기 현재 RTT 값과 상기 최소 RTT 값의 차이 값에 따라 상기 전송 버퍼의 크기를 조정함을 특징으로 하는 TCP의 전송 버퍼 제어 장치.
15. The apparatus of claim 14,
And adjusting the size of the transmission buffer according to a difference between the current RTT value and the minimum RTT value if the current step is a congestion avoidance step.
제 16 항에 있어서, 상기 제어부는,
상기 현재 RTT 값이 제1 임계 값보다 작은 경우, 상기 전송 버퍼의 크기를 일정 상수만큼(additive) 증가시키고, 상기 현재 RTT 값이 제1 임계 값과 제2 임계 값의 사이 값인 경우, 상기 전송 버퍼의 크기를 유지시키고, 상기 현재 RTT 값이 상기 제2 임계 값보다 큰 경우, 전송 버퍼의 크기를 배수(multiplicative)로 감소시킴을 특징으로 하는 TCP의 전송 버퍼 제어 장치.
17. The apparatus of claim 16,
When the current RTT value is less than the first threshold value, increases the size of the transmission buffer by a predetermined constant, and when the current RTT value is a value between the first threshold value and the second threshold value, And when the current RTT value is greater than the second threshold value, decreasing the size of the transmission buffer to a multiplicative value.
제 17 항에 있어서, 상기 제1 임계 값 및 상기 제2 임계 값은 상기 RTT 최소 값을 기반으로 결정되고, 상기 제2 임계 값은 상기 제1 임계 값보다 큰 값임을 특징으로 하는 TCP의 전송 버퍼 제어 장치.
The method as claimed in claim 17, wherein the first threshold value and the second threshold value are determined based on the RTT minimum value, and the second threshold value is larger than the first threshold value. controller.
통신 시스템에서 전송 제어 프로토콜(transport control protocol : TCP)의 전송 버퍼를 제어하는 장치에 있어서,
데이터 패킷을 송수신하는 송수신부; 및
상대 장치로 정상 응답 신호(TCP acknowledgement)를 전송하는 경우의 라운드 트립 타임(round trip time : RTT) 값을 기반으로 상기 TCP에 따른 혼잡 제어 방식에서 현재 단계를 예측하고, 상기 송수신부를 통해 수신된 데이터 패킷을 기반으로 혼잡 윈도우의 크기를 예측하고, 상기 TCP에서 현재 RTT 값 및 최소 RTT 값을 확인하여, 상기 현재 단계, 상기 혼잡 윈도우의 크기, 상기 현재 RTT 값 및 상기 최소 RTT 값 중 적어도 하나를 기반으로 상기 상대 장치로 전송할 윈도우의 크기를 조정하는 제어부를 포함하는 TCP의 전송 버퍼 제어 장치.
An apparatus for controlling a transmission buffer of a transport control protocol (TCP) in a communication system,
A transmitting and receiving unit for transmitting and receiving data packets; And
Predicts a current step in a congestion control scheme according to the TCP based on a round trip time (RTT) value in the case of transmitting a normal acknowledgment signal (TCP acknowledgment) to the counterpart device, Based on at least one of the current step, the size of the congestion window, the current RTT value, and the minimum RTT value by predicting the size of the congestion window based on the packet, checking the current RTT value and the minimum RTT value in the TCP, And controlling the size of the window to be transmitted to the counterpart apparatus.
제 19 항에 있어서, 상기 제어부는,
상기 상대 장치로 상기 정상 응답 신호를 전송하는 경우, 상기 송수신부를 통해 상기 상대 장치로부터 하나의 라운드(round)에서 수신된 패킷 트레인의 길이와 상기 최소 RTT 값의 절반 값의 비교 결과에 따라 상기 현재 단계를 예측함을 특징으로 하는 TCP의 전송 버퍼 제어 장치.
20. The apparatus of claim 19,
When the normal response signal is transmitted to the counterpart device, comparing the half of the minimum RTT value with the length of the packet train received in one round from the counterpart through the transceiver, Wherein the transmission buffer control unit estimates a transmission buffer of the TCP.
제 19 항에 있어서, 상기 제어부는,
상기 송수신부를 통해 상기 상대 장치로부터 하나의 라운드(round)에서 수신된 데이터 패킷에 포함된 소정 개수의 정상 응답 신호들을 이용하여 계산된 RRT 값과, 상기 라운드의 이전 라운드에서 계산된 RTT 값의 차이 값에 따라 상기 현재 단계를 예측함을 특징으로 하는 TCP의 전송 버퍼 제어 장치.
20. The apparatus of claim 19,
An RRT value calculated using a predetermined number of normal response signals included in a data packet received in one round from the counterpart device through the transceiver and a difference value between RTT values calculated in the previous round of the round And the current step is predicted according to the current buffer size.
제 19 항에 있어서, 상기 제어부는,
상기 송수신부를 통해 수신된 데이터 패킷의 총 바이트 크기를 미리 알려진 최대 세그먼트 사이즈(maximum segment size)로 나눈 값을 이용하여 상기 상대 장치에서 결정된 혼잡 윈도우의 크기를 예측하며,
상기 혼잡 윈도우의 크기는 패킷 개수의 단위임을 특징으로 하는 TCP의 전송 버퍼 제어 장치.
20. The apparatus of claim 19,
A size of a congestion window determined by the counterpart device is predicted using a value obtained by dividing a total byte size of a data packet received through the transceiver by a maximum segment size,
Wherein the size of the congestion window is a unit of the number of packets.
제 19 항에 있어서, 상기 제어부는,
상기 현재 단계가 슬로우 스타트(slow start) 단계이면, 혼잡 윈도우의 크기에 일정 상수를 곱하여 상기 상대 장치로 전송할 윈도우의 크기를 결정함을 특징으로 하는 TCP의 전송 버퍼 제어 장치.
20. The apparatus of claim 19,
Wherein when the current step is a slow start step, the size of the window to be transmitted to the counterpart device is determined by multiplying the size of the congestion window by a constant.
제 19 항에 있어서, 상기 제어부는,
상기 현재 단계가 혼잡 회피(congestion avoidance) 단계이면, 상기 현재 RTT 값과 상기 최소 RTT 값의 차이 값에 따라 상기 상대 장치로 전송할 윈도우의 크기를 결정함을 특징으로 하는 TCP의 전송 버퍼 제어 장치.
20. The apparatus of claim 19,
Wherein the controller determines the size of a window to be transmitted to the counterpart device according to a difference between the current RTT value and the minimum RTT value when the present step is a congestion avoidance step.
제 24 항에 있어서, 상기 제어부는,
상기 현재 RTT 값이 제1 임계 값보다 작은 경우, 상기 상대 장치로 전송할 윈도우의 크기를 일정 상수만큼(additive) 증가시키고, 상기 현재 RTT 값이 제1 임계 값과 제2 임계 값의 사이 값인 경우, 상기 상대 장치로 전송할 윈도우의 크기를 유지시키고, 상기 현재 RTT 값이 상기 제2 임계 값보다 큰 경우, 상기 상대 장치로 전송할 윈도우의 크기를 배수(multiplicative)로 감소시킴을 특징으로 하는 TCP의 전송 버퍼 제어 장치.
25. The apparatus of claim 24,
When the current RTT value is less than the first threshold, increases the size of a window to be transmitted to the counterpart device by a predetermined constant, and when the current RTT value is a value between the first threshold value and the second threshold value, Wherein when the current RTT value is larger than the second threshold value, the size of the window to be transmitted to the counterpart device is multiplicatively decreased, controller.
제 25 항에 있어서, 상기 제1 임계 값 및 상기 제2 임계 값은 상기 RTT 최소 값을 기반으로 결정되고, 상기 제2 임계 값은 상기 제1 임계 값보다 큰 값임을 특징으로 하는 TCP의 전송 버퍼 제어 장치.The method of claim 25, wherein the first threshold value and the second threshold value are determined based on the RTT minimum value, and the second threshold value is larger than the first threshold value. controller.
KR1020160092784A 2016-07-21 2016-07-21 Method and apparatus for controlling send buffer of transport control protocol in communication system KR102450226B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020160092784A KR102450226B1 (en) 2016-07-21 2016-07-21 Method and apparatus for controlling send buffer of transport control protocol in communication system
US15/656,466 US10560389B2 (en) 2016-07-21 2017-07-21 Method and apparatus for controlling send buffer of transmission control protocol in communication system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160092784A KR102450226B1 (en) 2016-07-21 2016-07-21 Method and apparatus for controlling send buffer of transport control protocol in communication system

Publications (2)

Publication Number Publication Date
KR20180010531A true KR20180010531A (en) 2018-01-31
KR102450226B1 KR102450226B1 (en) 2022-10-05

Family

ID=60990176

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160092784A KR102450226B1 (en) 2016-07-21 2016-07-21 Method and apparatus for controlling send buffer of transport control protocol in communication system

Country Status (2)

Country Link
US (1) US10560389B2 (en)
KR (1) KR102450226B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102214854B1 (en) * 2019-11-13 2021-02-09 연세대학교 산학협력단 MPTCP Congestion Control Device and Method for High Speed and Low Latency Communication

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11070321B2 (en) * 2018-10-26 2021-07-20 Cisco Technology, Inc. Allowing packet drops for lossless protocols
CN109981815B (en) * 2019-03-19 2022-05-27 广州品唯软件有限公司 IP address selection method, terminal, server and system
US10999206B2 (en) 2019-06-27 2021-05-04 Google Llc Congestion control for low latency datacenter networks

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100870619B1 (en) * 2007-06-21 2008-11-25 경북대학교 산학협력단 A new tcp congestion control scheme using packet computer information
KR20120122523A (en) * 2011-04-29 2012-11-07 서강대학교산학협력단 Method of controlling size of cogestion window and TCP system

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8457627B2 (en) * 1999-08-24 2013-06-04 Gogo Llc Traffic scheduling system for wireless communications
US8150995B2 (en) 2005-09-30 2012-04-03 Microsoft Corporation Receive window auto-tuning
AU2007210948A1 (en) * 2006-02-01 2007-08-09 Bob Tang Immediate ready implementation of virtually congestion free guaranteed service capable network: external internet NextGenTCP NextGenFTP NextGenUDPs
CN1976343B (en) * 2006-11-10 2010-07-28 华为技术有限公司 Method and system for raising transmission control protocol data handling capacity
KR100846344B1 (en) 2007-01-05 2008-07-15 삼성전자주식회사 Apparatus and method for reducing transmission control protocol latency in portable communication system
US7894367B2 (en) * 2007-12-31 2011-02-22 Industrial Technology Research Institute Methods and systems for bandwidth protection
US8340099B2 (en) * 2009-07-15 2012-12-25 Microsoft Corporation Control of background data transfers
WO2013052651A2 (en) 2011-10-04 2013-04-11 North Carolina State University Receiver-based methods, systems, and computer readable media for controlling tcp sender behavior in cellular communications networks with large buffer sizes
US9143454B2 (en) * 2012-10-03 2015-09-22 LiveQoS Inc. System and method for a TCP mapper
US9531846B2 (en) * 2013-01-23 2016-12-27 A10 Networks, Inc. Reducing buffer usage for TCP proxy session based on delayed acknowledgement
EP3278500B1 (en) * 2015-03-30 2019-11-13 British Telecommunications public limited company Processing data items in a communications network
US9935991B2 (en) * 2015-10-13 2018-04-03 Cisco Technology, Inc. Pipelining get requests in adaptive streaming
US9979653B2 (en) * 2015-10-21 2018-05-22 Citrix Systems, Inc. System and method of providing improved throughput control under delay-based congestion situation in a network

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100870619B1 (en) * 2007-06-21 2008-11-25 경북대학교 산학협력단 A new tcp congestion control scheme using packet computer information
KR20120122523A (en) * 2011-04-29 2012-11-07 서강대학교산학협력단 Method of controlling size of cogestion window and TCP system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102214854B1 (en) * 2019-11-13 2021-02-09 연세대학교 산학협력단 MPTCP Congestion Control Device and Method for High Speed and Low Latency Communication

Also Published As

Publication number Publication date
US20180026899A1 (en) 2018-01-25
KR102450226B1 (en) 2022-10-05
US10560389B2 (en) 2020-02-11

Similar Documents

Publication Publication Date Title
US8149704B2 (en) Communication apparatus and data communication method
US9641650B2 (en) TCP proxy server
EP3780542B1 (en) Data transmission method and device
EP1698087B1 (en) Transparent optimization for tcp flow control
JP4708978B2 (en) Communication system, communication terminal, session relay device, and communication protocol realizing high throughput
US20080239953A1 (en) Method and apparatus for minimizing congestion in gateways
JP5258938B2 (en) Communication device
US9231829B2 (en) Communication device
US9071452B2 (en) High-speed communication system and high-speed communication method
JPH03174848A (en) Delay base rush evading method in computer network and device
JPWO2012066824A1 (en) Communication apparatus and communication system
KR20180010531A (en) Method and apparatus for controlling send buffer of transport control protocol in communication system
CN102694731B (en) Rate adjusting method, device and the network equipment
CN104683259A (en) TCP congestion control method and device
US20180176136A1 (en) TCP Bufferbloat Resolution
WO2017114231A1 (en) Packet sending method, tcp proxy, and tcp client
JP6963411B2 (en) Communication equipment, communication methods, and programs
US7336607B2 (en) Methods and apparatus for flow control based packet aggregation in a communication network
KR100757894B1 (en) Method for improving tcp performance by congestion window limit
KR100859908B1 (en) Method for tcp congestion control using constant congestion state sensing
CN117676695A (en) TCP transmission method, device and system
KR102176176B1 (en) METHOD AND APPARATUS FOR CONTROLLING CONGESTION IN A WIRELESS NETWORK USING Transmission Control Protocol
KR102626729B1 (en) Apparatus and Method for Controlling MPTCP Congestion Window in Wireless Network
JP7243822B2 (en) Communication system, terminal, control method, and program
KR101933175B1 (en) Mediatioin appratus mediating communication betwwen server and client

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