WO2016200154A1 - 통신 시스템에서 tcp 기반의 전송 제어 방법 및 장치 - Google Patents

통신 시스템에서 tcp 기반의 전송 제어 방법 및 장치 Download PDF

Info

Publication number
WO2016200154A1
WO2016200154A1 PCT/KR2016/006078 KR2016006078W WO2016200154A1 WO 2016200154 A1 WO2016200154 A1 WO 2016200154A1 KR 2016006078 W KR2016006078 W KR 2016006078W WO 2016200154 A1 WO2016200154 A1 WO 2016200154A1
Authority
WO
WIPO (PCT)
Prior art keywords
rtt
cwnd
tcp
tput
factor
Prior art date
Application number
PCT/KR2016/006078
Other languages
English (en)
French (fr)
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 US15/735,012 priority Critical patent/US10374958B2/en
Publication of WO2016200154A1 publication Critical patent/WO2016200154A1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/19Flow control; Congestion control at layers above the network layer
    • H04L47/193Flow control; Congestion control at layers above the network layer at the transport layer, e.g. TCP related
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/11Identifying congestion
    • 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/22Traffic shaping
    • H04L47/225Determination of shaping rate, e.g. using a moving window
    • 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/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
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/37Slow start

Definitions

  • the present disclosure relates to a transmission control method and a device based on a transmission control protocol (TCP) in a communication system, and to a transmission control method and a device based on a TCP that can consider both a transmission rate and a delay time.
  • TCP transmission control protocol
  • a 5G communication system or a pre-5G communication system is called a after 4G network communication system or a post-LTE system.
  • 5G communication systems are being considered for implementation in the ultra-high frequency (mmWave) band (eg, 60 gigabyte (60 GHz) band).
  • mmWave ultra-high frequency
  • FD-MIMO massive array multiple input / output
  • FD-MIMO full dimensional MIMO
  • 5G communication system has evolved small cells, advanced small cells, cloud radio access network (cloud RAN), ultra-dense network , Device to device communication (D2D), wireless backhaul, mobile network, cooperative communication, coordinated multi-points, and interference cancellation
  • cloud RAN cloud radio access network
  • D2D Device to device communication
  • wireless backhaul mobile network
  • cooperative communication coordinated multi-points
  • interference cancellation The development of such technology is being done.
  • FQAM hybrid FSK and QAM modulation
  • SWSC sliding window superposition coding
  • ACM advanced coding modulation
  • FBMC advanced access bank filter bank multi carrier
  • NOMA NOMA Non-orthogonal multiple access and sparse code multiple access
  • the TCP algorithm for stable transmission control in a communication system operates at the transport layer in the Open Systems Interconnection Reference Model (OSI) layer classification or the classification of the Internet Protocol (TCP / IP). .
  • OSI Open Systems Interconnection Reference Model
  • IP Internet Protocol
  • the role of the transport layer in TCP is largely divided into flow control and congestion control.
  • the flow control is to adjust the amount of data transmitted from the transmitter to the network in accordance with the status and performance of the receiver in a network composed of multiple hops including the Internet.
  • the congestion control is to reduce packet loss due to network load in accordance with the state and performance of the links in the network.
  • the congestion control also serves to ensure fairness among a plurality of network flows that share the network in common.
  • TCP algorithms include, for example, TCP Tahoe, TCP Reno, TCP New Reno, TCP Vegas, highspeed TCP, FAST TCP, TCP Westwood, TCP FIT, Compound TCP, TCP BIC, TCP CUBIC.
  • the primary goal to consider in designing a TCP algorithm is to probe the available bandwidth of a given network in a short time, to maximize the utilization of the available bandwidth (ie, to maximize the transmission rate). )to be.
  • TCP CUBIC which is used as the default TCP in Linux, including the operating system of an Android-based terminal, has high aggression but temporarily converts it to low aggression. It is designed to ensure fairness with other TCP flows at the same time as bandwidth search.
  • TCP algorithms determine congestion into loss-based TCP and delay-based TCP
  • almost all TCP algorithms determine congestion as loss-based TCP.
  • the loss-based TCP it is determined that the network is congested based on a packet drop
  • an initial delay of a delay time eg, round trip time (RTT), which is a round trip delay time. It is determined (preemptively) that the network is congested based on the increase over time (base RTT).
  • RTT round trip time
  • Loss-based TCP algorithms which make up the majority of existing TCP algorithms, have the advantage of accurately finding the maximum available bandwidth, but have the disadvantage of continuously generating packet loss. In case of loss, there is a fundamental limit to failing accurate bandwidth search. However, if the wireless channel of cellular networks after 3G fails in packet transmission, it recovers it from the MAC (Media Access Control) layer, and adaptively sets the modulation and coding scheme (MCS) level with respect to the channel state. Since packet loss occurring in a wireless channel may not be detected by the TCP transceiver, the operation of loss-based TCP in a modern wireless environment may not cause significant performance degradation in terms of data rate.
  • MCS modulation and coding scheme
  • delay-based TCP algorithms can perform congestion control based on the increase in delay before direct packet loss occurs in the network. Therefore, delay-based TCP algorithms have the advantage of preventing packet loss and maintaining proper delay time.
  • bandwidth is difficult to find the maximum available bandwidth due to a conservative bandwidth search operation compared to the loss-based TCP algorithm, or if the initial delay time based on the TCP algorithm operation is not valid due to a sudden change in network conditions, the available bandwidth search function It can be a serious problem to lose.
  • TCP New Reno which has been standardized in RFC (Request for Comments) 6582
  • TCP CUBIC which is used as the basic TCP algorithm of the Linux operating system
  • RTT round trip delay time
  • CWND congestion window
  • CWND is a congestion window
  • i is an RTT time slot
  • SSThreshold is a threshold for determining the rate of increase of the CWND
  • W_max is a window size immediately before packet loss occurs.
  • 1 illustrates an example of an operation of a congestion window of TCP New Reno.
  • Figure 2 shows an example of the operation of the congestion window of the TCP CUBIC.
  • FAST TCP which is used in CDN (Content Delivery Network) field among delay-based TCP algorithms, updates the congestion window using Equation 2 below.
  • the congestion window update of FAST TCP is a constant of a new congestion window and a congestion window determined by a combination of a constant and a ratio of the currently observed delay time to the initial delay time. Is determined by the intermediate value according to ( ⁇ (0,1)). ( ⁇ (0,1)) means the weighted moving average, which considers the ratio of past and present values to obtain the average value. It means the number of packets to be stored in the buffer all the time.
  • the congestion window of FAST TCP has the characteristic of increasing and decreasing by combination of linear increase component by constant similar to TCP New Reno and proportional decrease component by RTT increase.
  • the congestion window of the FAST TCP may converge to a point where the increase and decrease components are balanced (CWND convergence).
  • CWND convergence Generally Wow are set to values around 200 and 0.5 respectively.
  • the existing TCP algorithms have focused their efforts on maximizing throughput within the available bandwidth. As a result, the existing TCP algorithms have a high maximum transmission rate overall, and the difference between the existing TCP algorithms is that most of the time it takes to achieve the maximum transmission rate, a congestion window increase method to increase the transmission rate, and congestion detected by packet loss Congestion avoidance scheme, transmission rate loss in case packet loss occurs continuously.
  • the present disclosure provides a TCP-based transmission control method and apparatus capable of reducing a delay time while increasing a transmission rate in a communication system.
  • the present disclosure also provides a TCP-based transmission control method and apparatus capable of guaranteeing a maximum transmission rate and a minimum delay time in a communication system.
  • the present disclosure also provides a TCP-based transmission control method and apparatus capable of adaptively controlling a transmission rate and a delay time in a communication system.
  • a TCP-based transmission control method may include determining a target maximum data rate for TCP control by using a maximum congestion window CWND estimated at a predetermined time, and estimating at each predetermined time. Determining a target minimum RTT for the TCP control using the minimum round trip delay time (RTT), and using the target maximum data rate and the target minimum RTT, a congestion window (CWND) and a reception window in an RTT time slot. RWND).
  • the target maximum for TCP control using a transceiver for transmitting and receiving data through the network and the maximum congestion window (CWND) estimated every predetermined time Determine a transmission rate, determine a target minimum RTT for the TCP control using the estimated minimum round trip delay time (RTT) at each predetermined time, and congestion in an RTT time slot using the target maximum rate and the target minimum RTT And a control unit for updating at least one of the window CWND and the reception window RWND.
  • CWND maximum congestion window
  • 1 is a diagram illustrating an operation example of a congestion window of TCP New Reno
  • FIG. 2 is a diagram illustrating an operation example of a congestion window of a TCP CUBIC
  • FIG. 3 is a diagram illustrating an operation example of a congestion window of FAST TCP
  • 4A and 4B illustrate examples of a congestion window (CWND) and a delay time (RTT) of a TCP CUBIC measured in an HSPA + mobile communication network, respectively.
  • CWND congestion window
  • RTT delay time
  • 5A and 5B illustrate examples of a congestion window (CWND) and a delay time (RTT) of a TCP CUBIC measured in an LTE mobile communication network, respectively.
  • CWND congestion window
  • RTT delay time
  • 6a and 6b are diagrams illustrating an example of throughput that each flow takes when two TCP CUBIC flows share a downlink in one terminal in an LTE mobile communication network;
  • FIG. 7 is a diagram illustrating a communication system for performing TCP-based transmission control capable of lowering a delay time while increasing a transmission rate according to an embodiment of the present disclosure.
  • FIG. 8 is a diagram illustrating an example of a configuration of a terminal according to an embodiment of the present disclosure.
  • FIG. 9 is a view showing the experimental results of the proposed TCP algorithm between the fixed terminal and the server in the communication system according to an embodiment of the present disclosure
  • FIG. 10 is a view showing an experimental result of a proposed TCP algorithm between a mobile terminal and a server in a communication system according to an embodiment of the present disclosure
  • FIG. 11 is a diagram illustrating TCP performance when the existing TCP algorithm is simultaneously applied in the same situation as the experiment of FIG. 9;
  • FIG. 12 is a diagram illustrating TCP performance when a conventional TCP algorithm is simultaneously applied in the same situation as the experiment of FIG. 10.
  • An embodiment of the present disclosure proposes a TCP-based transmission control scheme capable of guaranteeing a low delay time with a high transmission rate in a communication system.
  • the TCP CUBIC algorithm exhibits high and inconsistent latency performance when operated in a mobile communication network, and it is fundamentally impossible to guarantee high transmission rate and low latency at the same time in the TCP CUBIC algorithm.
  • the maximum transmission rate of TCP CUBIC is known to be very close to the available bandwidth
  • the latency performance is, for example, hundreds of milliseconds (ms) in a High Speed Packet Data Access Plus (HSPA +) based mobile network based on 3rd Generation Partnership Project (3GPP).
  • HSPA + High Speed Packet Data Access Plus
  • 3GPP 3rd Generation Partnership Project
  • 4A and 4B illustrate examples of a congestion window (CWND) and a delay time (RTT) of a TCP CUBIC measured in an HSPA + mobile communication network, respectively.
  • CWND congestion window
  • RTT delay time
  • the latency of loss-based TCP is closely related to the length of the queue in the network path. Dividing the length of the queue in terms of bits by the bottleneck transmission rate (that is, the bottleneck bandwidth) estimates the latency caused by queuing when the packet is full on the queue, and this delay value is determined by the network path. In addition to the minimum latency (Propagation latency + Processing latency) experienced, this results in a final RTT. If, for example, a 2MB queue exists in the network path and a bottleneck bandwidth of 50Mbps is given, then an additional delay of 0.32 seconds or 320ms occurs.
  • FIG. 5A and 5B illustrate examples of a congestion window (CWND) and a delay time (RTT) of a TCP CUBIC measured in an LTE mobile communication network, respectively.
  • CWND congestion window
  • RTT delay time
  • FIG. 5A the CWND operation of the TCP CUBIC enforces the aforementioned Queuing delay time.
  • AWND decimated window
  • min CWND, RWND
  • the AWND is a transmission window size corresponding to the number of segments that can be transmitted without an acknowledgment
  • the RWND is a reception window size indicating a buffer available capacity of a receiver.
  • the receiver transmits a preset RWND (e.g., "tcp_rmem_max" constant) to the transmitter according to the network characteristics, so that the transmitter cannot transmit any more CWND, resulting in a moderately reduced RTT as shown in FIG. 5B.
  • tcp_rmem_max e.g., "tcp_rmem_max” constant
  • FAST TCP is the best performing TCP algorithm among the existing TCP algorithms in terms of high transmission rate and low latency.
  • FAST TCP compares the amount of delay increase with the initial RTT and adjusts the congestion window to secure a delay that does not deviate significantly from the initial RTT. By adjusting the value, you can trade off the rate and latency performance to obtain an appropriate rate.
  • FAST TCP is not suitable for use in wireless communication systems such as next-generation 5G mobile communication networks due to problems such as a) and b) below.
  • Equation 2 The value means the number of packets to be always stored in the queue according to FAST TCP in the network. Therefore, when a plurality of TCP flows are introduced into the network, As the value is accumulated and linearly increases the total number of packets in the queue, low latency cannot be guaranteed.
  • the initial RTT which is the basis of FAST TCP operation, has a larger value as the TCP flows in the latter part when a plurality of TCP flows are introduced, and maintains a high initial RTT value even when the existing TCP flows are terminated. There is no way to recover to the low latency that can be achieved if there is only a few or only a few TCP flows in the terminal. (In this case, due to the difference in the initial RTT estimate, the initial incoming TCP flows and the latter half) Fairness cannot be ensured between incoming TCP flows.)
  • Bidirectional TCP can directly search for the maximum bandwidth (Tput_max) and update the congestion window using the PI control equation of Equation 3 below to ensure approximately 95% or more of the maximum bandwidth performance.
  • the PI control of Equation 3 below is proportional integral control, and the PI control is a proportional term and steady-state that performs control proportional to the magnitude of the error value in the current state. It is a representative type of control technique that consists of integral terms that perform integral type control to eliminate errors in the state.
  • the queue size accumulated on the link can be kept significantly smaller than when operating at the maximum bandwidth. This means that the RTT of Bidirectional TCP can be close to the minimum RTT of the link.
  • Tput_max means the maximum available bandwidth
  • G is a congestion window control constant set at, for example, a value of 50 or around. The different rates of rise and fall in congestion window control are to ensure a more stable maximum rate.
  • E (i) means P (proportional) control of the rate of over and under rate calculated by the difference between the current rate and the rate threshold
  • intE (i) means the rate of excess and rate calculated by the difference between the rate and the rate threshold
  • I integral control of the cumulative value of the under ratio.
  • I a weight constant in the moving average to replace an integral equation that is difficult to compute in the kernel, eg, set at a value around 1/8.
  • the CWND is increased or decreased to search for the maximum available bandwidth (Tput_max) for a new channel environment while the terminal moves. . Therefore, unlike the stable TCP performance of devices that require light-weight TCP, such as the Internet of Things (IoT) devices and little mobility, the terminal such as a relatively mobile smartphone In the mobile situation, it is not possible to prevent the RTT from being temporarily increased by the operation of searching for the maximum available bandwidth Tput_max.
  • IoT Internet of Things
  • the flow control and fairness in the TCP algorithm should be guaranteed even in the network environment that is continuously changed by the mobility of the terminal in the network.
  • FIG. 7 illustrates a communication system for performing TCP-based transmission control capable of lowering a delay time while increasing a transmission rate according to an exemplary embodiment of the present disclosure
  • FIG. 8 illustrates an example of a configuration of a terminal of FIG. 7.
  • the server 700 and the terminal 800 perform transmission control according to the TCP algorithm proposed in the embodiment of the present disclosure.
  • the server 700 and the terminal 800 transmit and receive packets through an IP-based network such as the Internet 71 and a mobile communication network 73, and TCP transmission control is performed in the process of transmitting and receiving packets.
  • the algorithm operating at the TCP transmitter is applicable to both the server 700 and the terminal 800.
  • changing the TCP algorithm of the server involves a complicated process, and thus the TCP algorithm of the present disclosure is applied to the TCP transmitter of the terminal 800. This can be applied.
  • the TCP algorithm operating at the TCP receiving end may serve to guide the server 700 to be forced to operate as the TCP algorithm of the present disclosure through the RWND at the TCP receiving end of the terminal 800 when using the existing TCP algorithm. Therefore, the TCP algorithm of the present disclosure may be applied to the TCP receiving end of the terminal 800.
  • the terminal 800 is connected to any server 700. Even if uplink and downlink are performed, the operation of the TCP algorithm proposed in the embodiment of the present disclosure can be performed.
  • FIG. 8 is a diagram illustrating a configuration of a terminal 800 in a communication system that performs transmission control based on TCP according to an embodiment of the present disclosure.
  • the configuration of the terminal 800 of FIG. 8 illustrates the configuration of the TCP receiver and the TCP transmitter.
  • the TCP receiving terminal of the terminal 800 includes an RTT measuring unit 851a, an RTT factor calculating unit 853a, a Tput measuring unit 851b, and a Tput factor calculating unit 853b.
  • a control unit 850 including a maximum congestion window (CWND_max) & maximum transmission rate and a minimum RTT (MTmR (Max Throughput min RTT)) estimator (hereinafter referred to as CWND_max & MTmR estimator) 855, and an RWND control unit 830 may be implemented.
  • the transmitter 830 piggybacks and transmits the RWND transmitted from the controller 850 to the Window field of the ACK.
  • the TCP transmitter of the terminal 800 includes an RTT measuring unit 851a, an RTT factor calculating unit 853a, a Tput measuring unit 851b, and a Tput factor calculating unit 853b. ), A CWND_max & MTmR estimator 855, and a controller 850 including a CWND controller, a receiver 810, and a transmitter 830.
  • the receiver 810 receives an ACK indicating a packet acknowledgment from the server 700
  • the transmitter 830 transmits an amount of packets to the server 700 based on the CWND transmitted from the controller 850. To control.
  • the RWND control unit and the CWND control unit are shown together as the RWND & CWND control unit 857 in FIG. 8 for convenience.
  • the configuration of the terminal 800 of FIG. 8 illustrates an example of configuration of related functional blocks, and a person skilled in the art can implement the terminal 800 with various types of functional blocks for performing a TCP algorithm according to an embodiment of the present disclosure to be described below.
  • the transmitter 830 and the receiver 810 include a communication interface for transmitting and receiving a packet through the server 700 and the mobile communication network 73.
  • the RWND & CWND controller 857 may perform a known congestion window update algorithm that increases or decreases the congestion window CWND similarly to existing TCP algorithms.
  • the CWND_max & MTmR estimator 855 estimates the value of CWND_max that can achieve the maximum rate and the minimum RTT according to an embodiment of the present disclosure, and calculates the maximum rate in the current channel situation that can be achieved through the estimated CWND_max and A configuration added in the TCP algorithm of the present disclosure to estimate the minimum RTT (MTmR).
  • the CWND_max & MTmR estimator 855 estimates the CWND_max value required to achieve the maximum transmission rate and the minimum RTT by raising the congestion window, and combines the estimated CWND_max and the measured RTT to achieve the maximum channel environment. Further estimate the rate and minimum RTT. Through this, the TCP algorithm of the present disclosure can update the CWND in a direction of achieving maximum transmission rate and minimum RTT.
  • the existing loss-based TCP algorithm increases the congestion window until the loss occurs, and sets the congestion window when the loss occurs. Decrease by percentage and then increase again.
  • the existing delay period TCP algorithm increases the congestion window, but proportionally reduces the congestion window when the current RTT increases with respect to the minimum RTT. That is, the above-mentioned TCP algorithms estimated loss or increased delay time at the time of maximum transmission rate, and delay-based TCP algorithms additionally estimated minimum RTT through measurement.
  • the TCP algorithm of the present disclosure is updated at every RTT in common at the TCP transmitting end and the TCP receiving end, and the estimation of the CWND_max (or RWND_max) is determined at the point where the maximum value of the transmission rate measurement is no longer increased but converged.
  • the product of the minimum RTT value measurement it can be performed in the same manner as Equation 4 below.
  • the max_Tput (i) and min_RTT (i) may be updated every RTT by using Equation 5 below, and the update period may be changed to a value larger than the RTT according to network conditions. .
  • the terminal 800 determines that the rate measurement reaches the maximum value, so that max_Tput (i-1) is not updated by the current rate (current_Tput) by a predetermined multiple of the RTT (for example, 3 * RTT time). ), Or updated by the current transfer rate (current_Tput) to get a faster peak, but with an update rate that is past a fixed rate (eg 3 * RTT time with less than 3%). It can also be used.
  • the 3 * RTT and 3% are arbitrary criteria for convenience of explanation, and may wait longer for a more accurate judgment, or extend the update range to 5% for a faster judgment, and the like. Changes will also be possible.
  • the terminal 800 calculates the maximum data rate and the minimum RTT for each RTT.
  • the estimation result As a Target (or Threshold) value of the TCP control, CWND (i) or RWND (i) in the i-th RTT time slot can be updated as shown in Equation 7 below. have.
  • the target maximum data rate may be set to an upward value by a predetermined ratio relative to the maximum available data rate to achieve the maximum data rate in a given channel environment.
  • RTT_factor (i) and Tput_factor (i) are CWND control amount (value) (or RWND control amount (value)) and Tput_target for reducing the increased RTT compared to RTT_target in the i-th RTT time slot, respectively.
  • the RTT_factor (i) has a negative value and Tput_factor (i) has a positive value.
  • G1 and G2 are, for example, control constants of a congestion window set at a value around 50 or 50, and mean a control gain (maximum control range) by RTT and Tput.
  • CWND (i) CWND (i-1) + 0 + 0.
  • the situation in which both the RTT_factor and the Tput_factor become 0 may be regarded as an ideal control situation because the RTT_target and the Tput_target are simultaneously achieved.
  • the controller 850 controls the operation of increasing or decreasing the RWND or the CWND to simultaneously achieve the maximum transmission rate and the minimum RTT for each RTT even when the channel is changed using the TCP algorithm of the present disclosure.
  • the CWND (i) and the RWND (i) may be adaptively increased or decreased to satisfy the maximum data rate and the minimum RTT.
  • TCP-based transmission control using Equations 7 and 8 calculates the RTT_factor and the Tput_factor to add an additive increase additive decay (AIAD) and an additive increase (AIMD).
  • AIAD additive increase additive decay
  • MIMD Multiplicative Increase Multiplicative Decrease
  • MIAD Multiplicative Increase Adaptive Decrease
  • CWND (i) in AIMD transmission control * CWND (i-1) * RTT_factor (i) + (1- ) CWND can be controlled like (CWND (i-1) + G * Tput gain (i)). (0 ⁇ ⁇ 1, G is a constant)
  • CWND (i) in MIMD transmission control.
  • * CWND (i-1) * RTT_factor (i) + (1- CWND can be controlled as follows: * CWND * Tput gain (i). (0 ⁇ ⁇ 1)
  • CWND (i) in MIAD transmission control * CWND (i-1) + G * RTT_factor (i) + (1- ) CWND can be controlled as (CWND (i-1) * Tput gain (i)). (0 ⁇ ⁇ 1, G is a constant)
  • the CWND control schemes can be applied to RWND control.
  • a server Intel IvyBridge i5 CPU, 128GB SSD, 8GB RAM
  • Ubuntu 13.10 Liux Kernel 3.10
  • Android 4.4.2 Linux (Linux Kernel) Measurement results using a test bed consisting of terminals (Nexus 5, Krait 400, Adreno 330, 2GB RAM) operating as 3.4.10) will be described.
  • the TCP algorithm of the present disclosure can be implemented in the Linux kernel of the terminal 800, by installing the TCP-probe module in the server 700 to measure TCP performance, the value itself in the Linux kernel of the terminal 800 Were measured.
  • a TCP transmitter and a TCP receiver code exist separately, and the algorithms of the TCP transmitter and the TCP receiver are implemented, respectively.
  • the server 700 and the terminal 800 are connected to each other through the Internet 71 and the mobile communication network 73.
  • the base station of the mobile communication network 73 maintained a signal strength of about -80 dBm to -90 dBm in a good channel environment, and decreased to about -105 dBm in a bad channel environment.
  • the signal strength of -90 dBm or more is sufficient signal strength to obtain a speed close to the maximum speed of the mobile communication network 73 (eg, LTE system), and at a signal strength of -115 dBm or less, the transmission rate approaches zero.
  • the server 700 and the terminal 800 are set to transmit large files to each other to the terminal 800 for 25 to 60 seconds according to the experimental scenario using TCP, and may simultaneously generate several flows as necessary. .
  • LTE system has a maximum transmission rate of 85Mbps when connected to a base station capable of supporting broadband and a maximum 50Mbps when connected to a base station that cannot support broadband. Were observed at about 40 ms and 45 ms, respectively.
  • FIG. 9 uses a TCP probe in LTE downlink (server: TCP CUBIC, terminal: using proposed TCP) between a terminal and a server having a fixed location in a communication system according to an embodiment of the present disclosure. It shows the measured AWND, RTT, Throughput, RWND and RTT, Throughput, RWND (y-axis lable starts with k) recorded in the kernel of the terminal.
  • AWND, RTT, Throughput, RWND and RTT, Throughput, and RWND recorded by the kernel of UE are measured.
  • FIG. 9 and 10 show the measured results when the terminal is stationary (FIG. 9) or moves (FIG. 10) in the LTE downlink, respectively.
  • the server plays the role of TCP transmitter, so the server's TCP receiver is guided through RWND to the final AWND.
  • the transmission control is done.
  • RWND guide value is measured until the maximum transmission rate is measured. Since it is generally larger than CWND, the control form of TCP CUBIC, which is the TCP algorithm of the server, is obtained. More specifically, referring to the operation observed in FIG.
  • the transmission rate measured by the kernel of the terminal achieves an average of 47 Mbps.
  • the average RTT achieves 65 ms, and the average data rate is You can see that it achieves 33 Mbps.
  • the minimum RTT and the maximum data rate measured in the bad channel are 55ms and 30Mbps, it can be seen that the performance corresponding to the minimum RTT and the maximum data rate that can be achieved in the changed channel environment is always achieved even in the mobile station. .
  • FIGS. 12A and 12B respectively illustrate existing TCP algorithms (for example, TCP CUBIC and RWND) under the same conditions as the experiments of FIGS.
  • TCP CUBIC and RWND existing TCP algorithms
  • the TCP algorithm according to the embodiment of the present disclosure it is possible to satisfy the simultaneous achievement of the maximum transmission rate and the minimum delay time in the mobile station as well as the stationary situation. And as a result of the applicant's experiment, the maximum transmission rate can achieve a transmission rate of more than 95% of the available bandwidth, the minimum delay time can achieve a delay time within 1.5 times the minimum delay time that can be achieved. In addition, if the TCP algorithm is applied according to an embodiment of the present disclosure, regardless of the channel change caused by the movement of the terminal, it is possible to adaptively guarantee the maximum transmission rate and the minimum delay time corresponding to the network situation.

Landscapes

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

Abstract

본 개시는 LTE와 같은 4G 통신 시스템 이후 보다 높은 데이터 전송률을 지원하기 위한 5G 또는 pre-5G 통신 시스템에 관련된 것이다. 또한 본 개시는 통신 시스템에서 전송률을 높이면서 지연 시간을 낮출 수 있는 TCP 기반의 전송 제어 방법 및 장치에 대한 것으로서, 본 개시의 실시 예에 따른 통신 시스템에서 TCP 기반의 전송 제어 방법은, 정해진 시간 마다 추정된 최대 혼잡 윈도우(CWND)를 이용하여 TCP 제어를 위한 목표 최대 전송률을 결정하는 과정과, 상기 정해진 시간 마다 추정된 최소 왕복 지연 시간(RTT)을 이용하여 상기 TCP 제어를 위한 목표 최소 RTT를 결정하는 과정과, 상기 목표 최대 전송률과 상기 목표 최소 RTT를 이용하여 RTT 시간 슬롯에서 혼잡 윈도우(CWND)와 수신 윈도우(RWND) 중 적어도 하나를 업데이트하는 과정을 포함한다.

Description

통신 시스템에서 TCP 기반의 전송 제어 방법 및 장치
본 개시는 통신 시스템에서 TCP(Transmission Control Protocol) 기반의 전송 제어 방법 및 장치에 대한 것으로서, 전송률과 지연 시간의 양 자를 고려할 수 있는 TCP 기반의 전송 제어 방법 및 장치 에 대한 것이다.
4G(4th-Generation) 통신 시스템 상용화 이후 증가 추세에 있는 무선 데이터 트래픽 수요를 충족시키기 위해, 개선된 5G(5th-Generation) 통신 시스템 또는 pre-5G 통신 시스템을 개발하기 위한 노력이 이루어지고 있다. 이러한 이유로, 5G 통신 시스템 또는 pre-5G 통신 시스템은 4G 네트워크 이후(beyond 4G network) 통신 시스템 또는 LTE 이후(post LTE)의 시스템이라 불리고 있다.
높은 데이터 전송률을 달성하기 위해, 5G 통신 시스템은 초고주파(mmWave) 대역(예를 들어, 60기가 (60GHz) 대역과 같은)에서의 구현이 고려되고 있다. 초고주파 대역에서 전파의 경로 손실 완화 및 전파의 전달 거리를 증가시키기 위해, 5G 통신 시스템에서는 빔포밍(beamforming), 거대 배열 다중 입출력(massive MIMO), 전차원 다중입출력(full dimensional MIMO: FD-MIMO), 어레이 안테나(array antenna), 아날로그 빔형성(analog beam-forming), 및 대규모 안테나(large scale antenna) 기술들이 논의되고 있다.
또한 시스템의 네트워크 개선을 위해, 5G 통신 시스템에서는 진화된 소형 셀, 개선된 소형 셀(advanced small cell), 클라우드 무선 액세스 네트워크(cloud radio access network: cloud RAN), 초고밀도 네트워크(ultra-dense network), 기기 간 통신(device to device communication: D2D), 무선 백홀(wireless backhaul), 이동 네트워크(moving network), 협력 통신(cooperative communication), CoMP(coordinated multi-points), 및 수신 간섭 제거(interference cancellation) 등의 기술 개발이 이루어지고 있다.
이 밖에도, 5G 시스템에서는 진보된 코딩 변조(advanced coding modulation: ACM) 방식인 FQAM(hybrid FSK and QAM modulation) 및 SWSC(sliding window superposition coding)과, 진보된 접속 기술인 FBMC(filter bank multi carrier), NOMA(non-orthogonal multiple access), 및 SCMA(sparse code multiple access) 등이 개발되고 있다.
통신 시스템에서 안정적인 전송 제어를 위한 TCP 알고리즘은 네트워크 구조를 계층적으로 구분한 OSI(Open Systems Interconnection Reference Model) 계층 분류 또는 TCP/IP(Internet Protocol)의 계층 분류에서 전송 계층(Transport layer)에서 동작한다. TCP에서 상기 전송 계층의 역할은 크게 흐름 제어(flow control)과 혼잡 제어(congestion control)로 구분된다.
상기 흐름 제어는 인터넷을 포함하는 다중 홉(hop)으로 구성된 네트워크에서, 송신기에서 네트워크로 전송하는 데이터의 양을 수신기의 상태 및 성능에 맞게 조절하기 위한 것이다. 상기 혼잡 제어는 네트워크에서 링크들의 상태 및 성능에 맞게 네트워크 부하로 인한 패킷 손실을 줄이기 위한 것이다. 상기 혼잡 제어는 또한 네트워크를 공용으로 사용하는 다수의 네트워크 플로우들 간에 공평성(fairness)을 확보하는 역할을 수행한다.
기존의 TCP 알고리즘들은 예를 들어, TCP Tahoe, TCP Reno, TCP New Reno, TCP Vegas, highspeed TCP, FAST TCP, TCP Westwood, TCP FIT, Compound TCP, TCP BIC, TCP CUBIC 등이 있다. TCP 알고리즘을 설계 함에 있어 고려하는 최우선 목표는 주어진 네트워크의 가용 대역폭(available bandwidth)를 단시간 내에 탐색(probing)하여, 가용 대역폭의 활용율(utilization)을 최대로 높이는 것(즉, 전송률을 최대로 높이는 것)이다.
이를 위해 대다수의 TCP 알고리즘들은 전송 제어를 시작함과 동시에 공격적으로 네트워크로 전송하는 패킷 양을 늘려 최대 가용 대역폭(즉 최대 전송률)을 짧은 시간에 찾아내는 동작을 한다. 이와 같이 패킷 전송의 공격성(aggressiveness)을 높이면, 빠른 시간에 가용 대역폭 탐색이 가능하지만, 다른 TCP 플로우들과의 공평성을 해치는 요인으로 작용하게 된다. 따라서 이러한 공평성 문제를 보완하기 위해 예컨대, 안드로이드 기반 단말의 운영 체제를 포함한 리눅스(Linux) 등에서 default TCP 로 사용되는 TCP CUBIC은 높은 공격성을 가지되, 낮은 공격성으로 임시로 변환하는 부분을 두어, 빠른 가용 대역폭 탐색과 동시에 다른 TCP 플로우들과의 공평성도 확보할 수 있도록 설계 되었다.
기존 TCP 알고리즘들의 가용 대역폭 탐색에서 주목할 점은, 네트워크의 가용 대역폭을 직접적으로 관리하고 기록하지 않는다는 점이다. 네트워크의 가용 대역폭은 다수의 TCP 플로우들이 시시각각 진입하고 종료되는 특성상, 일정하게 유지되기 어려우므로 특정한 상수 값으로 대변될 수 없다. 따라서 TCP 알고리즘에 따라 네트워크로 전송(주입)하는 패킷 양을 증가시키는 과정에서 가용 대역폭의 도달 여부 판단은, 네트워크가 "혼잡해졌음(congested)"을 판단하는 것으로 대치될 수 있다. 이러한 대치의 근거는 혼잡의 의미인 "더 이상의 패킷을 주입하는 것은 전체 네트워크 성능을 오히려 저하시킴"이 가용 대역폭의 의미인 "주입할 수 있는 적정 패킷 양의 최대값"과 본질적으로 동일한 것에 있다.
TCP 알고리즘들이 혼잡을 판단하는 방법은 크게 손실 기반(Loss-based) TCP와 지연기반(delay-based) TCP로 구분되지만, 거의 대부분의 TCP 알고리즘들은 손실 기반 TCP로 혼잡을 판단한다. 여기서 상기 손실 기반 TCP에서는 패킷 손실(packet drop)을 기준으로 네트워크가 혼잡해졌음(congested)을 판단하며, 상기 지연 기반 TCP에서는 지연 시간(예컨대, 왕복 지연 시간인 RTT(Round Trip Time))의 초기 지연 시간(base RTT) 대비 증가량을 기준으로 네트워크가 혼잡해졌음을 (선제적으로) 판단한다.
 기존 TCP 알고리즘들 중 대다수를 차지하는 손실 기반 TCP 알고리즘들은 가용 대역폭의 최대치를 정확하게 찾아낼 수 있다는 장점을 가지나, 이를 위해 지속적으로 패킷 손실을 발생시켜야 하는 단점을 가지며, 패킷 손실의 원인이 무선 채널로 인한 손실인 경우에는 정확한 대역폭 탐색에 실패하는 근본적인 한계를 가진다. 다만 3G 이후의 이동통신망(cellular networks)의 무선 채널은 패킷 전달에 실패할 경우 이를 MAC(Media Access Control) 계층에서 복구하며, 채널 상태 대비 MCS(Modulation and Coding Scheme) 레벨을 적응적으로 설정하는 방법 등을 이용하여 무선 채널에서 발생하는 패킷 손실을 TCP 송수신단이 감지하지 못하도록 감출 수 있으므로 손실 기반 TCP를 최신 무선 환경에서 구동하는 것은 전송률 측면에서는 큰 성능 저하 문제를 발생시키지 않을 수 있다.
반면 지연 기반 TCP 알고리즘들은 네트워크에서 직접적인 패킷 손실이 발생하기 이전에 지연 시간의 증가를 기준으로 혼잡 제어를 수행할 수 있으므로, 패킷 손실을 방지할 수 있는 장점과 지연 시간을 적정선에서 유지할 수 있는 장점을 가지나, 손실 기반 TCP 알고리즘 대비 보수적인 대역폭 탐색 동작으로 가용 대역폭의 최대치 탐색에 어려움을 겪거나, 네트워크의 상황이 급변하여 TCP 알고리즘 동작의 기준으로 삼는 초기 지연 시간이 유효하지 않는 경우에는 가용 대역폭 탐색 기능을 상실하는 심각한 문제를 가질 수 있다.
구체적으로 상기 손실 기반 TCP 알고리즘 중, 예컨대 RFC(Request for Comments) 6582로 표준화되어 널리 사용되었던 TCP New Reno와 Linux 운영체제의 기본 TCP 알고리즘으로 사용중인 TCP CUBIC은 주어진 왕복지연시간(RTT) 단위에서 네트워크로 전송하는(주입하는) 패킷 양을 결정하는 혼잡 윈도우(congestion window: CWND)를 각각 아래 <수학식 1>를 이용하여 업데이트 한다.
수학식 1
Figure PCTKR2016006078-appb-M000001
상기 <수학식 1>에서 CWND는 혼잡 윈도우, i는 RTT 시간 슬롯, SSThreshold는 상기 CWND의 증가 속도 구분을 판단하기 위한 임계값, W_max는 패킷 손실이 일어나기 바로 직전 윈도우 크기를 의미한다.
도 1은 TCP New Reno의 혼잡 윈도우의 일 동작 예를 나타낸 것이다.
도 1을 참조하면, TCP New Reno의 혼잡 윈도우(CWND)는 매 RTT마다 SSThreshold(Slow start threshold) 구간에서는 2배씩 증가하고, SSThreshold 이상의 구간에서는 1씩 증가하는 특징을 가진다. 패킷 손실(101, 103)이 발생하면, SSThreshold = CWND(i)/2 로 설정되며, CWND(i+1) = SSThreshold(111)로 감소된 이후, 다시 증가를 시작한다. 그리고 도 1의 예와 같이 손실된 패킷이 정해진 기간 동안 복구되지 못하는 재전송 타임 아웃(retransmission timeout : RTO)이 발생할 경우 SSThreshold = CWND(i)/2(113)로 설정되고, CWND(i+1)= 1로 초기화되어 다시 증가를 시작한다.
도 2는 TCP CUBIC의 혼잡 윈도우의 일 동작 예를 나타낸 것이다.
도 2를 참조하면, TCP CUBIC 의 혼잡 윈도우(CWND)는 지난번 패킷 손실(201, 203)이 발생한 이후의 시간(그리고 지난번 패킷 손실 시간이 정해지지 않은 초기에는 플로우 시작시간 이후의 시간)인 t에 대해 3차 함수 즉 CUBIC 함수 형태로 증가하는 특징을 가진다. 패킷 손실이 발생하면, W_max =
Figure PCTKR2016006078-appb-I000001
*CWND(i-1), K =(
Figure PCTKR2016006078-appb-I000002
*W_max /C)1/3(213, 223)로 재설정된다. 여기서 와 C는 상수이며, 각각 0.8과 0.4 주변 값에서 튜닝될 수 있다.
지연 기반 TCP 알고리즘 중 CDN(Content Delivery Network) 분야에서 활용되고 있는 FAST TCP는 혼잡 윈도우를 아래 <수학식 2>를 이용하여 업데이트 한다.
수학식 2
Figure PCTKR2016006078-appb-M000002
상기 <수학식 2>를 설명하면, FAST TCP의 혼잡 윈도우 업데이트는 초기 지연 시간 대비 현재 관찰된 지연 시간의 비율과 상수 의 조합에 의해 결정된 새로운 혼잡 윈도우와 과거 혼잡 윈도우의 상수
Figure PCTKR2016006078-appb-I000003
(∈(0,1])에 따른 중간 값으로 결정된다. 상기
Figure PCTKR2016006078-appb-I000004
(∈(0,1])는 과거 값과 현재 값을 어떠한 비율로 반영해서 평균 값을 구할 것인지를 고려하는 가중 이동 평균(weighted moving average)를 의미한다. 상수 값은 네트워크에서 FAST TCP에 따라 네트워크 버퍼에 항시 저장하고자 하는 패킷들의 개수를 의미한다. FAST TCP의 혼잡 윈도우는 TCP New Reno와 유사한 상수 에 의한 선형적인 증가 성분과 RTT 증가에 따른 비율적인 감소 성분의 조합에 의해 증감하는 특성이 있다.
도 3은 FAST TCP의 혼잡 윈도우의 일 동작 예를 나타낸 것으로서, FAST TCP의 혼잡 윈도우는 그 증감 성분이 균형을 이루는 지점으로 수렴할 수 있다(CWND convergence). 일반적으로
Figure PCTKR2016006078-appb-I000005
Figure PCTKR2016006078-appb-I000006
는 각각 200 과 0.5 주변의 값으로 설정된다.
상기한 기존 TCP 알고리즘들은 가용 대역폭 내에서의 전송률(throughput) 최대화에 노력이 집중되었다. 이로 인해 기존 TCP 알고리즘들은 전반적으로 높은 최대 전송률을 보이며, 기존 TCP 알고리즘들 간의 차이점은 대부분 최대 전송률을 달성하는데 까지 걸리는 시간, 전송률을 끌어올리기 위한 혼잡 윈도우 증가 방식, 패킷 손실에 의해 혼잡이 감지되었을 경우의 혼잡 회피 방식, 패킷 손실이 지속적으로 발생할 경우의 전송률 손실량 등에 있다.
이와 같은 전송률 중심의 TCP 알고리즘 설계가 오랜 기간 지속되면서, 또 하나의 중요한 성능 지표인 지연 시간 성능은 기존 TCP 알고리즘들에서 직접적으로 고려되지 않았다. 따라서, 원격 수술 및 햅틱 제어, 실감 통신 등 차세대 고부가가치 네트워크 서비스들을 실현하기 위해 필수적인 높은 전송률과 낮은 지연 시간을 동시에 일관성 있게 보장할 수 있는 개선된 TCP 알고리즘이 요구된다.
본 개시는 통신 시스템에서 전송률을 높이면서 지연 시간을 낮출 수 있는 TCP 기반의 전송 제어 방법 및 장치를 제공한다.
또한 본 개시는 통신 시스템에서 최대 전송률과 최소 지연 시간을 보장할 수 있는 TCP 기반의 전송 제어 방법 및 장치를 제공한다.
또한 본 개시는 통신 시스템에서 전송률과 지연 시간을 적응적으로 제어할 수 있는 TCP 기반의 전송 제어 방법 및 장치를 제공한다.
본 개시의 실시 예에 따른 통신 시스템에서 TCP 기반의 전송 제어 방법은, 정해진 시간 마다 추정된 최대 혼잡 윈도우(CWND)를 이용하여 TCP 제어를 위한 목표 최대 전송률을 결정하는 과정과, 상기 정해진 시간 마다 추정된 최소 왕복 지연 시간(RTT)을 이용하여 상기 TCP 제어를 위한 목표 최소 RTT를 결정하는 과정과, 상기 목표 최대 전송률과 상기 목표 최소 RTT를 이용하여 RTT 시간 슬롯에서 혼잡 윈도우(CWND)와 수신 윈도우(RWND) 중 적어도 하나를 업데이트하는 과정을 포함한다.
또한 본 개시의 실시 예에 따른 통신 시스템에서 TCP 기반의 전송 제어 장치는, 네트워크를 통해 데이터를 송수신하는 송수신부와, 정해진 시간 마다 추정된 최대 혼잡 윈도우(CWND)를 이용하여 TCP 제어를 위한 목표 최대 전송률을 결정하고, 상기 정해진 시간 마다 추정된 최소 왕복 지연 시간(RTT)을 이용하여 상기 TCP 제어를 위한 목표 최소 RTT를 결정하며, 상기 목표 최대 전송률과 상기 목표 최소 RTT를 이용하여 RTT 시간 슬롯에서 혼잡 윈도우(CWND)와 수신 윈도우(RWND) 중 적어도 하나를 업데이트하는 제어부를 포함한다.
도 1은 TCP New Reno 의 혼잡 윈도우의 일 동작 예를 나타낸 도면,
도 2는 TCP CUBIC의 혼잡 윈도우의 일 동작 예를 나타낸 도면,
도 3은 FAST TCP의 혼잡 윈도우의 일 동작 예를 나타낸 도면,
도 4a 및 도 4b는 각각 HSPA+ 이동 통신망에서 측정된 TCP CUBIC의 혼잡 윈도우(CWND)와 지연 시간(RTT)의 일 예를 나타낸 도면,
도 5a 및 도 5b는 각각 LTE 이동 통신망에서 측정된 TCP CUBIC의 혼잡 윈도우(CWND)와 지연 시간(RTT)의 일 예를 나타낸
도 6a 및 도 6b는 LTE 이동 통신망에서 2개의 TCP CUBIC flow 가 하나의 단말에서 downlink 를 공유할 때, 각 flow 가 가져가는 Throughput의 일 예를 각각 나타낸 도면,
도 7은 본 개시의 실시 예에 따라 전송률을 높이면서 지연 시간을 낮출 수 있는 TCP 기반의 전송 제어를 수행하는 통신 시스템을 나타낸 도면,
도 8은 본 개시의 실시 예에 따른 단말의 일 구성 예를 나타낸 도면,
도 9는 본 개시의 실시 예에 따른 통신 시스템에서 위치가 고정된 단말과 서버 사이에서 제안된 TCP 알고리즘의 실험 결과를 나타낸 도면,
도 10은 본 개시의 실시 예에 따른 통신 시스템에서 이동하는 단말과 서버 사이에서 제안된 TCP 알고리즘의 실험 결과를 나타낸 도면,
도 11은 도 9의 실험과 동일한 상황에서 기존 TCP 알고리즘을 동시 적용한 경우 TCP 성능을 나타낸 도면,
도 12는 도 10의 실험과 동일한 상황에서 기존 TCP 알고리즘을 동시 적용한 경우 TCP 성능을 나타낸 도면.
하기에서 본 개시의 실시 예들을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 개시의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다.
본 개시의 실시 예는 통신 시스템에서 높은 전송률과 함께 낮은 지연 시간을 보장할 수 있는 TCP 기반의 전송 제어 방안을 제안한 것이다.
먼저 본 개시의 이해를 돕기 위해, 기존 TCP 알고리즘에서 지연 발생에 대해 구체적으로 설명하기로 한다.
일 예로 TCP CUBIC 알고리즘의 경우, 이동 통신망에서 운영될 경우 높고, 일관되지 않은 지연 시간 성능을 보이며, TCP CUBIC 알고리즘에서 높은 전송률과 낮은 지연 시간을 동시에 보장하는 것은 근본적으로 불가능하다. 구체적으로 TCP CUBIC의 최대 전송률은 가용 대역폭에 매우 근접하는 것으로 알려져 있는 것에 반해, 지연 시간 성능은 예컨대, 3GPP(3rd Generation Partnership Project) 기반의 HSPA+(High Speed Packet data Access Plus) 이동 통신망에서는 수백 ms 내지 수초, LTE(Long Term Evolution) 이동 통신망에서는 150 내지 300 ms에 이르는 것으로 알려져 있다.
도 4a 및 도 4b는 각각 HSPA+ 이동 통신망에서 측정된 TCP CUBIC의 혼잡 윈도우(CWND)와 지연 시간(RTT)의 일 예를 나타낸 것이다.
TCP CUBIC과 같은 손실 기반 TCP의 지연 시간은 네트워크 경로에서 큐(Queue)의 길이와 밀접한 관계가 있다. 비트 단위로 환산된 Queue의 길이를 병목(Bottleneck) 전송률(즉 병목 대역폭)로 나누면 Queue에 패킷이 가득 찼을 경우에 발생하는 Queuing으로 인한 지연(Latency) 값이 추정되고, 이 지연 값이 네트워크 경로에서 겪는 최소의 지연 시간(Propagation latency + Processing latency)에 더해짐으로써 최종적인 RTT로 나타난다. 만약 예컨대, 2MB의 Queue가 네트워크 경로에 존재하고, 50Mbps의 병목 대역폭이 주어진다면, 0.32초 즉 320 ms의 추가적인 지연 시간이 발생된다. 3G, 4G를 포괄하는 이동 통신망은 큰 크기의 Queue를 가지도록 설계되어 왔으며, 이는 차세대 통신망인 5G 이동 통신망에서도 적용될 것으로 예측된다. 따라서 손실 기반 TCP는 최소 지연 시간 이외에도 수십 내지 수백 ms에 달하는 추가적인 Queuing 지연 시간을 피할 수 없다.
도 5a 및 도 5b는 각각 LTE 이동 통신망에서 측정된 TCP CUBIC의 혼잡 윈도우(CWND)와 지연 시간(RTT)의 일 예를 나타낸 것으로서, 도 5a에서 TCP CUBIC의 CWND 동작은 상기한 Queuing 지연 시간을 강제로 줄이기 위해 Linux 커널에서 적용중인 스마트 단말을 위한 수신 윈도우(RWND) Cropping 기술의 효과를 보여준다. 상기 RWND Cropping은 CWND가 Queue를 가득 채울 때까지 증가되는 상황을 방지하기 위해 AWND(advertised window)= min(CWND, RWND)를 사용하여 최종적으로 흐름 제어를 하는 TCP의 특성을 활용한다. 상기 AWND은 확인 응답 없이 송신할 수 있는 세그먼트 수에 해당되는 전송 윈도우 크기, 상기 RWND는 수신기의 버퍼 가용 용량을 나타내는 수신 윈도우 크기이다. Downlink에서, 네트워크 특성에 따라 미리 설정된(preset) RWND(예컨대, "tcp_rmem_max" 상수)를 수신기가 송신기에 전송해 줌으로써 송신기는 그 이상의 CWND를 전송할 수 없게 되고, 이는 결과적으로 도 5b와 같이 적당히 줄어든 RTT를 갖도록 해준다. 그러나 이러한 Ad-hoc 방식의 해결책은 아래 1), 2)와 같은 또 다른 문제점들을 발생시킨다.
1) 상기 미리 설정된 RWND(tcp_rmem_max)가 현재 네트워크 상황에 비해 너무 크거나 너무 작은 경우에 과도한 RTT가 발생하거나, 최대 가용 대역폭을 활용하지 못하는 문제가 발생한다. 상기 미리 설정된 RWND(tcp_rmem_max)가 너무 크거나 너무 작은 경우는 채널 상황이 극단적으로 좋지 않은 경우이며, 해외 Roaming 중인 상황 등에서 흔하게 관찰될 수 있다.
2) 수신기가 다중의 TCP flow를 이용할 때, TCP flow들 간의 공평성은 중요한 문제이며, TCP CUBIC의 경우 공평성이 확보되는 것으로 널리 알려져 있다. 그러나, TCP CUBIC과 같은 손실 기반 TCP의 경우 "손실"이 발생할 때 비로소 공평성이 보장되도록 설계 되어있으므로, RWND Cropping 기술이 사용되어 도 5a와 같이 손실이 거의 발생하지 않는 형태로 동작한다면 TCP flow들 간의 공평성은 전혀 보장되지 않는다. 도 6a 및 도 6b는 LTE 이동 통신망에서 2개의 TCP CUBIC flow가 하나의 단말(수신기)에서 downlink를 공유할 때, 각 flow가 가져가는 Throughput의 일 예를 각각 나타낸 것으로서, 이는 LTE 이동 통신망의 downlink에서 10 초 간격으로 2 개의 flow 를 발생시킨 경우의 예를 나타낸 것이다.
한편 높은 전송률과 낮은 지연 시간의 동시 보장 측면에서 기존 TCP 알고리즘들 중 가장 좋은 성능을 보이는 TCP 알고리즘은 FAST TCP이다. FAST TCP는 지연 시간의 증가 량을 초기 RTT와 비교하며 혼잡 윈도우를 조절하는 설계 덕분에 초기 RTT에서 크게 벗어나지 않는 지연 시간을 확보할 수 있으며, 상기 <수학식 2>에서 상수
Figure PCTKR2016006078-appb-I000007
값을 조절하여 전송률과 지연 시간 성능을 trade-off 함으로써, 적정한 수준의 전송률을 확보할 수 있다. 그러나 FAST TCP는 아래 a), b)와 같은 문제점으로 인해 차세대 5G 이동 통신망과 같은 무선 통신 시스템에서 사용되기에 부적절하다.
a) 상기 <수학식 2>에서 상수
Figure PCTKR2016006078-appb-I000008
값은 네트워크에서 FAST TCP에 따라 Queue에 항시 저장하고자 하는 패킷들의 개수를 의미한다. 따라서 네트워크에 다수의 TCP 플로우들이 유입될 경우, 상기
Figure PCTKR2016006078-appb-I000009
값은 누적되어 Queue에 존재하는 패킷들의 총 개수를 선형적으로 증가시키므로 낮은 지연 시간의 보장은 불가능하다.
b) FAST TCP 동작의 기준이 되는 초기 RTT는 다수의 TCP 플로우들이 유입될 경우, 후반부에 유입된 TCP 플로우로 갈수록 점차 큰 값을 가지게 되고, 기존의 TCP 플로우들이 종료되더라도 높은 초기 RTT 값을 그대로 유지하게 되므로, 단말의 또는 소수의 TCP 플로우만 존재할 경우에 달성할 수 있는 낮은 지연 시간으로 회복할 수 있는 방법이 없다.(이 경우 초기 RTT 추정 값의 차이로 인해, 초기에 유입된 TCP 플로우와 후반부에 유입된 TCP 플로우 간에 공평성을 확보할 수 없다.)
c) 가장 중요한 문제로, 수신기(단말)가 이동하는 상황에서 초기 RTT를 업데이트할 수 있는 방법이 없다. 예를 들어 단말이 채널 상황이 좋지 않은 장소로 이동하여 초기 RTT 자체의 값이 높아져야 하는 상황이 되었다고 하더라도, FAST TCP는 초기 RTT를 업데이트할 수 있는 방법이 없다. 이와 같이 초기 RTT가 업데이트 되지 못할 경우, 초기 RTT를 부적절하게 키우거나 가용 대역폭을 모두 활용하지 못하는 등의 문제가 발생할 수 있다.
한편 또 다른 TCP 알고리즘으로 Bidirectional TCP는 직접적으로 최대 대역폭(Tput_max)을 탐색하며 혼잡 윈도우를 아래 <수학식 3>의 PI 제어 수식을 이용하여 업데이트하여 최대 대역폭의 대략 95% 이상의 성능을 보장할 수 있다. 아래 <수학식 3>의 PI 제어는 비례 적분 제어(Proportional-Integral control)를 의미하며, 상기 PI 제어는 현재 상태에서의 오차값의 크기에 비례한 제어를 수행하는 비례 항과 정상 상태(steady-state)에서의 오차를 없애기 위해 적분 형태의 제어를 수행하는 적분 항으로 이루어진 대표적인 형태의 제어 기법이다. Queuing 이론에 따라, 주어진 링크의 최대 대역폭을 하회하는 수준의 전송률을 목표로 동작할 경우, 최대 대역폭에서 동작하는 경우보다 링크에 누적되는 Queue의 크기를 현저히 작게 유지할 수 있는 특징이 있다. 이것은 양방향(Bidirectional) TCP 의 RTT가 해당 링크의 최소 RTT에 근접하는 수준이 될 수 있음을 의미한다.
수학식 3
Figure PCTKR2016006078-appb-M000003
상기 <수학식 3>에서 Tput_max은 최대 가용 대역폭을 의미하며, G는 예컨대, 50 또는 그 주변의 값에서 설정되는 혼잡 윈도우 제어 상수이다. 혼잡 윈도우 제어에서 상승과 하강의 속도가 다른 것은 최대 전송률을 보다 안정적으로 보장하기 위함이다. E(i)는 현재 전송률과 전송률 Threshold의 차이에 의해 계산되는 전송률 초과 및 부족 비율에 대한 P(proportional) 제어를 의미하며, intE(i)는 전송률과 전송률 Threshold의 차이에 의해 계산되는 전송률 초과 및 부족 비율의 누적값에 대한 I(integral) 제어를 의미한다.
Figure PCTKR2016006078-appb-I000010
는 커널에서 계산하기 어려운 적분식을 대체하기 위한 이동 평균에서의 가중치 상수로 예컨대, 1/8 주변의 값에서 설정된다.
상기 양방향(Bidirectional) TCP의 경우 높은 전송률과 낮은 지연 시간을 손쉽게 달성할 수 있으나, 단말이 이동하는 상황에서 새로운 채널 환경에 맞는 최대 가용 대역폭(Tput_max)을 탐색하기 위해 CWND를 증감하는 동작이 반복된다. 따라서 예를 들어 사물 인터넷(Internet of Things : IoT) 장치들과 같이 경량(light-weight) TCP를 요구하면서 이동성은 거의 없는 장치들에서의 안정적인 TCP 성능과 달리, 비교적 이동성이 큰 스마트 폰 등의 단말에서는 이동 상황에서 상기 최대 가용 대역폭 Tput_max를 탐색하는 동작에 의해 RTT가 일시적으로 증가되는 것을 방지할 수 없다.
따라서 TCP 알고리즘에서 흐름 제어와 공평성 확보는 네트워크에서 단말의 이동성에 의해 지속적으로 변화하는 네트워크 환경에서도 보장되어야 한다.
도 7은 본 개시의 실시 예에 따라 전송률을 높이면서 지연 시간을 낮출 수 있는 TCP 기반의 전송 제어를 수행하는 통신 시스템을 나타낸 것이고, 도 8은 도 7의 단말의 일 구성 예를 나타낸 것이다.
도 7을 참조하면, 서버(700)와 단말(800)은 본 개시의 실시 예에서 제안하는 TCP 알고리즘에 따라 전송 제어를 수행한다. 서버(700)와 단말(800)은 인터넷(71) 등의 IP 기반 네트워크와 이동 통신망(73)를 통해 패킷들을 송수신하고, 패킷들의 송수신 과정에서 TCP 전송 제어가 수행된다. TCP 송신단에서 동작하는 알고리즘은 서버(700)와 단말(800)에 모두 적용 가능하며, 일반적으로 서버의 TCP 알고리즘을 변경하는 것은 복잡한 과정을 수반하므로 단말(800)의 TCP 송신단에 본 개시의 TCP 알고리즘이 적용될 수 있다. TCP 수신단에서 동작하는 TCP 알고리즘은 서버(700)가 기존의 TCP 알고리즘을 사용할 때, 단말(800)의 TCP 수신단에서 RWND를 통해 본 개시의 TCP 알고리즘으로 강제적으로 동작하도록 가이드해주는 역할을 할 수 있다. 따라서 단말(800)의 TCP 수신단에 본 개시의 TCP 알고리즘이 적용될 수 있다. 결국 본 개시의 실시 예에서는 단말(800)의 TCP 송신단과 TCP 수신단을 하나의 OTA(Over the Air) 업데이트 패키지로 제작하여 단말(800)에게 제공한다면, 단말(800)은 어떠한 서버(700)와 송신(uplink) 및 수신(downlink)을 하더라도 본 개시의 실시 예에서 제안하는 TCP 알고리즘의 동작을 수행할 수 있다.
도 8은 본 개시의 실시 예에 따른 TCP 기반의 전송 제어를 수행하는 통신 시스템에서 단말(800)의 구성을 나타낸 도면이다. 도 8의 단말(800) 구성은 설명의 편의를 위해, TCP 수신단과 TCP 송신단의 구성을 함께 도시한 것이다.
도 8을 참조하면, 단말(800)의 TCP 수신단은 RTT 측정부(851a), RTT 인자 계산부(853a), 전송률(Tput) 측정부(851b), 전송률 인자(Tput factor) 계산부(853b), 최대 혼잡윈도우(CWND_max) & 최대 전송률 및 최소 RTT(MTmR(Max Throughput min RTT)) 추정부(이하, CWND_max & MTmR 추정부)(855), 및 RWND 제어부를 포함하는 제어부(850), 송신부(830)를 포함하여 구현될 수 있다. 그리고 상기 송신부(830)는 제어부(850)로부터 전달되는 RWND를 ACK의 윈도우(Window) 필드에 피기백(piggyback)하여 송신한다.
또한 도 8을 참조하면, 단말(800)의 TCP 송신단은 RTT 측정부(851a), RTT 인자 계산부(853a), 전송률(Tput) 측정부(851b), 전송률 인자(Tput factor) 계산부(853b), CWND_max & MTmR 추정부(855), 및 CWND 제어부를 포함하는 제어부(850), 수신부(810), 그리고 송신부(830)를 포함하여 구현될 수 있다. 그리고 상기 수신부(810)는 서버(700)로부터 패킷 수신 확인을 나타내는 ACK를 수신하고, 상기 송신부(830)는 제어부(850)로부터 전달되는 CWND를 근거로 서버(700)로 송신하는 패킷의 양을 제어한다.
그리고 상기 RWND 제어부와 CWND 제어부는 편의상 도 8에서 RWND & CWND 제어부(857)로 함께 도시되어 있다. 도 8의 단말(800) 구성은 관련 기능 블록들의 일 구성 예를 나타낸 것이며, 당업자는 아래 설명될 본 개시의 실시 예에 따른 TCP 알고리즘을 수행하는 다양한 형태의 기능 블록들로 단말(800)을 구현할 수 있을 것이다. 도 8에서 송신부(830)와 수신부(810)는 서버(700)와 이동 통신망(73)을 통해 패킷을 송수신하기 위한 통신 인터페이스를 포함한다.
도 8에서 RWND & CWND 제어부(857)은 기존의 TCP 알고리즘들과 유사하게 혼잡 윈도우(CWND)를 증감시키는 공지된 혼잡 윈도우 업데이트 알고리즘을 수행할 수 있다. CWND_max & MTmR 추정부(855)는 본 개시의 실시 예에 따라 최대 전송률과 최소 RTT를 달성할 수 있는 CWND_max의 값을 추정하고, 추정된 CWND_max를 통해 달성할 수 있는 현재 채널 상황에서의 최대 전송률 및 최소 RTT(MTmR)를 추정하도록 본 개시의 TCP 알고리즘에서 추가된 구성이다. 즉 상기 CWND_max & MTmR 추정부(855)는 혼잡 윈도우를 끌어올려 최대 전송률과 최소 RTT 를 달성하기 위해 필요한 CWND_max 값을 추정하고, 추정된 CWND_max 와 실측된 RTT를 조합하여 주어진 채널 환경에서 낼 수 있는 최대 전송률 및 최소 RTT를 추가로 추정한다. 이를 통해 본 개시의 TCP 알고리즘은 CWND를 최대 전송률과 최소 RTT를 달성하는 방향으로 업데이트할 수 있다.
이해를 돕기 위해, 기존 손실 기반 또는 지연 기반 TCP 알고리즘과 본 개시의 TCP 알고리즘을 비교하여 설명하면, 기존 손실 기반 TCP 알고리즘은 혼잡 윈도우를 손실이 발생할 때까지 증가시키고, 손실이 발생하면 혼잡 윈도우를 정해진 비율(%) 만큼 감소시킨 후, 다시 증가시키는 방식이다. 기존 지연 기간 TCP 알고리즘은 혼잡 윈도우를 증가시키되 최소 RTT 대비 현재 RTT가 증가할 경우, 비례적으로 혼잡 윈도우를 감소시키는 방식이다. 즉 상기한 기존의 TCP 알고리즘들은 손실이 발생하거나, 지연 시간이 증가하는 것을 최대 전송률이 발생한 시점으로 추정하였고, 지연 기반 TCP 알고리즘들은 추가적으로 측정값을 통해 최소 RTT를 추정하였다. 이러한 기존의 TCP 알고리즘들에 의한 전송 제어가 최대 전송률과 최소 RTT를 달성하지 못하는 상황에서 이루어진다면, 앞서 언급한 것처럼 혼잡에 의한 손실이 발생한 경우, 다른 TCP 플로우 유입 및 채널 환경 변화에 따라 최소 RTT 값의 추정이 부정확한 경우 TCP 알고리즘은 비정상적인 동작을 하게 된다.
반면 본 개시의 TCP 알고리즘은 TCP 송신단과 TCP 수신단에서 공통적으로 매 RTT마다 업데이트가 이루어지며, 상기 CWND_max(또는 RWND_max)의 추정은 전송률 측정치의 최대값이 더 이상 증가하지 않고 수렴했다고 판단되는 시점에, 최소 RTT 값 측정치와의 곱에 의해 아래 <수학식 4>와 같은 방식으로 수행될 수 있다.
수학식 4
Figure PCTKR2016006078-appb-M000004
상기 <수학식 4>에서 C는 단말(800)에서 i 번째 RTT 시간 슬롯까지 관찰된 최소 RTT의 추정 (i.e. min_RTT(i) = min (min_RTT(i-1), RTT(i))) 과, 단말(800)에서 i 번째 RTT 시간 슬롯까지 관찰된 최대 전송률의 추정(i.e. max_Tput(i) = max (max_Tput(i-1), Tput(i)))에서 발생할 수 있는 오류를 보정하고, 최대 전송률을 달성하기 위해 공격적으로 CWND를 설정하기 위한 임의의 상수이며, 대략 1 내지 1.5 사이의 값 중에서 선택될 수 있다. 본 실시 예에서는 C 값을 1.2로 가정하였다.
본 개시의 실시 예에서 상기 max_Tput(i)와 min_RTT(i)는 아래 <수학식 5>를 이용하여 매 RTT 마다 업데이트될 수 있으며, 네트워크 상태에 따라 그 업데이트 주기는 RTT보다 큰 값으로 변경할 수도 있다.
수학식 5
Figure PCTKR2016006078-appb-M000005
단말(800)은 전송률 측정치가 최대값에 도달했음을 판단하기 위해, 상기 max_Tput(i-1)이 현재 전송률(current_Tput)에 의해 업데이트되지 않은 채 RTT의 정해진 배수만큼(예를 들어, 3*RTT 시간만큼) 지난 것을 활용하거나, 보다 빠른 최대값 도달 시점 파악을 위해 현재 전송률(current_Tput)에 의해 업데이트되지만 그 업데이트 폭이 정해진 비율만큼(예를 들어, 3% 미만인 상태로 3*RTT 시간 만큼) 지난 것을 활용할 수도 있다. 상기 3*RTT 및 3%는 설명의 편의상 예시한 임의의 기준이며, 보다 정확한 판단을 위해 더 긴 시간을 기다리거나, 더 빠른 판단을 위해 5% 등으로 업데이트 범위를 확장할 수도 있으며, 업데이트 범위의 변경 또한 가능할 것이다.
상기한 동작에 따라 CWND_max 또는 RWND_max가 설정되면(즉, 최대 전송률을 찾았음을 의미하는 max_Tput_found = 1이 되면), 단말(800)은 매 RTT마다 최대 전송률과 최소 RTT를 아래 <수학식 6>을 이용하여 추정하고, 그 추정 결과를 TCP 제어의 Target(또는 Threshold) 값으로 이용하여, i 번째 RTT 시간 슬롯에서의 CWND(i) 또는 RWND(i)를 아래 <수학식 7>과 같이 업데이트할 수 있다. 그리고 목표 최대 전송률은 최대 가용 전송률 대비 정해진 비율 만큼 상향된 값으로 설정하여 주어진 채널 환경에서 최대 전송률을 달성하는 것도 가능하다.
수학식 6
Figure PCTKR2016006078-appb-M000006
수학식 7
Figure PCTKR2016006078-appb-M000007
상기 <수학식 7>에서 RTT_factor(i)와 Tput_factor(i)는 각각 i 번째 RTT 시간 슬롯에서 RTT_target 대비 증가된 RTT를 감소시키기 위한 CWND 제어 양(값)(또는 RWND 제어 양(값))과 Tput_target 대비 감소된 Tput을 증가시키기 위한 CWND 제어 양(값)(또는 RWND 제어 양(값))을 의미하며, 도 8의 RTT factor 계산부(853a)와 Tput factor 계산부(853b)에서 아래 <수학식 8>과 같이 계산된다. 상기 RTT_factor(i)는 음수의 값을 가지며, Tput_factor(i)는 양수의 값을 가진다.
수학식 8
Figure PCTKR2016006078-appb-M000008
상기 <수학식 8>에서 G1, G2는 예컨대, 50 또는 50 주변의 값에서 설정되는 혼잡 윈도우의 제어 상수이며, RTT와 Tput에 의한 제어 Gain(최대 제어 범위)을 의미한다.
상기한 본 개시의 TCP 알고리즘은 CWND(i)= CWND(i-1)+ 0 + 0 에서 평형을 이룬다. 이때, 상기 RTT_factor와 Tput_factor가 모두 0이 되는 상황은 RTT_target과 Tput_target이 동시에 달성되는 상황이므로 이상적인 제어 상황으로 볼 수 있다.
그리고 상기한 본 개시의 TCP 알고리즘을 이용하여 제어부(850)는 채널이 변화하는 상황에서도 매 RTT마다 최대 전송률과 최소 RTT를 동시에 달성하도록 RWND 또는 CWND을 증감시키는 동작을 제어한다.
상기 <수학식 7>, <수학식 8>에서 상기 CWND(i)와 RWND(i)는 최대 전송률과 최소 RTT를 만족하도록 적응적으로 증가 또는 감소될 수 있다. 또한 본 개시의 실시 예에서 상기 <수학식 7>, <수학식 8>을 이용한 TCP 기반의 전송 제어는 상기 RTT_factor 및 상기 Tput_factor 을 계산하여 제어 방식 중 AIAD(Additive Increase Additive Decrease), AIMD(Additive Increase Multiplicative Decrease), MIMD(Multiplicative Increase Multiplicative Decrease), 또는 MIAD (Multiplicative Increase Adaptive Decrease) 형태로 수행될 수 있다.
예를 들어 AIAD 형태의 전송 제어에서 CWND(i) = CWND(i-1) + G*RTT_factor(i) + G*Tput_factor(i)와 같이 CWND를 제어할 수 있다.(G는 상수)
또한 AIMD 형태의 전송 제어에서 CWND(i) =
Figure PCTKR2016006078-appb-I000011
*CWND(i-1)*RTT_factor(i) + (1-
Figure PCTKR2016006078-appb-I000012
)*CWND(i-1) + G*Tput gain(i)와 같이 CWND를 제어할 수 있다.(0<
Figure PCTKR2016006078-appb-I000013
<1, G는 상수)
또한 AIMD 형태의 전송 제어에서 CWND(i) = CWND(i-1)*RTT_factor(i) + G*Tput gain(i)와 같이 CWND를 제어할 수 있다.(G는 상수)
또한 MIMD 형태의 전송 제어에서 CWND(i) =
Figure PCTKR2016006078-appb-I000014
*CWND(i-1)*RTT_factor(i) + (1-
Figure PCTKR2016006078-appb-I000015
)*CWND*Tput gain(i)와 같이 CWND를 제어할 수 있다.(0<
Figure PCTKR2016006078-appb-I000016
<1)
또한 MIAD 형태의 전송 제어에서 CWND(i) =
Figure PCTKR2016006078-appb-I000017
*CWND(i-1) + G*RTT_factor(i) +(1-
Figure PCTKR2016006078-appb-I000018
)*CWND(i-1)*Tput gain(i)와 같이 CWND를 제어할 수 있다.(0<
Figure PCTKR2016006078-appb-I000019
<1, G는 상수)
또한 MIAD 형태의 전송 제어에서 CWND(i) = G*RTT_factor(i) + CWND*Tput gain(i)와 같이 CWND를 제어할 수 있다.(G는 상수)
그리고 상기한 CWND 제어 방식들은 RWND 제어에도 적용될 수 있다.
이하 본 개시의 TCP 알고리즘의 효과를 실제 통신 시스템에서 실측하기 위해 예컨대, Ubuntu 13.10(Linux Kernel 3.10)로 동작하는 서버(Intel IvyBridge i5 CPU, 128GB SSD, 8GB RAM)와, Android 4.4.2(Linux Kernel 3.4.10)로 동작하는 단말(Nexus 5, Krait 400, Adreno 330, 2GB RAM)으로 이루어진 테스트 베드를 이용한 실측 결과를 설명하기로 한다. 그리고 본 개시의 TCP 알고리즘은 단말(800)의 Linux 커널에 구현될 수 있으며, 서버(700)에 TCP-probe 모듈을 설치하여 TCP 성능을 측정하도록 하고, 단말(800)의 Linux 커널에서도 자체적으로 값들을 측정하도록 하였다. 그리고 단말(800)의 Linux 커널에는 TCP 송신단과 TCP 수신단 코드가 별도로 존재하며, TCP 송신단과 TCP 수신단의 알고리즘을 각각 구현하였다. 그리고 서버(700)와 단말(800)은 인터넷(71)과 이동통신망(73)을 통해 통신 연결되는 네트워크 환경을 가정한다.
상기한 실측 환경에서 이동통신망(73)의 기지국은 Good 채널 환경에서 약 -80dBm 에서 -90dBm 사이의 신호 세기를 유지하였으며, Bad 채널 환경에서는 약 -105dBm 까지 저하되기도 하였다. 그리고 -90dBm 이상의 신호 세기는 이동통신망(73)(예컨대, LTE 시스템)의 최대 속도에 근접한 속도를 얻을 수 있는 충분한 신호 세기이며, -115dBm 이하의 신호 세기에서는 전송률이 0에 근접한다. 서버(700)와 단말(800)은 TCP를 이용하여 대용량 파일을 실험 시나리오에 따라 25초 ~ 60초 동안 단말(800)로 서로에게 전송하도록 설정되었으며, 필요에 따라 동시에 여러 개의 flow 를 생성하기도 하였다.
각 이동통신망의 사업자가 운용하는 LTE 시스템에서 실험된 측정치에 따르면 LTE 시스템은 광대역 지원이 가능한 기지국과 접속하였을 때 최대 85Mbps, 광대역 지원이 불가능한 기지국과 접속하였을 때 최대 50Mbps의 전송률이 관찰되었으며, 최소 RTT는 각각 약 40ms, 45ms 로 관찰되었다.
도 9의 (a) 내지 (g)는 본 개시의 실시 예에 따른 통신 시스템에서 위치가 고정된 단말과 서버 사이에서 LTE Downlink(서버: TCP CUBIC, 단말: 제안된 TCP 사용)에서 TCP Probe를 이용하여 측정한 AWND, RTT, Throughput, RWND 및 단말의 kernel에서 기록한 RTT, Throughput, RWND(y축 lable 이 k 로 시작)를 나타낸 것이다.
도 10의 (a) 내지 (g)는 본 개시의 실시 예에 따른 통신 시스템에서 채널 환경이 Good => Bad => Good으로 변화하는 이동 단말과 서버 사이에서 LTE Downlink(서버: TCP CUBIC, 단말: 제안된 TCP 사용)에서 TCP Probe를 이용하여 측정한 AWND, RTT, Throughput, RWND 및 단말의 kernel에서 기록한 RTT, Throughput, RWND를 나타낸 것이다.
상기 실험 결과를 정리하면, 도 9와 도 10은 각각 LTE Downlink에서 단말이 정지해 있거나(도 9), 이동하는 상황에서(도 10) 측정된 결과를 보여준다. Downlink의 경우에는 서버가 TCP 송신단의 역할을 하므로 단말의 TCP 수신단이 RWND를 통해 guide를 해주는 값을 서버가 최종 AWND로 출력하는 형태로 전송 제어가 이루어 지며, 최대 전송률을 측정할 때까지는 RWND 가이드 값이 CWND 보다 일반적으로 크게 주어지므로, 서버의 TCP 알고리즘인 TCP CUBIC의 제어 형태를 띄게 된다. 보다 구체적으로 도 9에서 관찰된 동작을 살펴보면, 본 개시의 TCP 알고리즘은 대략 AWND = 320에서 최대 전송률과 최소 RTT 를 달성하는 형태로 수렴되었으며, 이때 단말의 커널에서 측정된 RTT는 평균 50ms를 달성하며(도 9의 (c)), 단말의 커널에서 측정된 전송률은 평균 47Mbps를 달성한다.(도 9의 (e))
도 10의 실험 결과를 상세히 살펴보면, Good 채널에서 측정을 시작한 후 약 10초부터 단말이 Bad 채널로 이동하였다가 약 25초부터 Good 채널로 돌아오는 시나리오에서도 평균 RTT는 65ms를 달성하고, 평균 전송률은 33 Mbps를 달성하는 것을 알 수 있다. Bad 채널에서 측정한 최소의 RTT 와 최대 전송률이 55ms 와 30Mbps 인것을 감안하면, 변화한 채널 환경에서 달성할 수 있는 최소 RTT와 최대 전송률에 준하는 성능을 단말의 이동 상황에서도 항시 달성한 것을 확인할 수 있다.
한편 도 11의 (a) 내지 (g)와, 도 12의 (a) 내지 (g)는 각각 상기한 도 9와 도 10의 실험과 동일한 상황에서 기존 TCP 알고리즘(예를 들어, TCP CUBIC 과 RWND cropping)를 동시 적용한 경우 TCP 성능을 보여주며, 각각 평균 220ms, 380ms 의 RTT를 가짐을 보여준다. 이러한 비교 실험 결과를 통해, 본 개시의 TCP 알고리즘은 기존 TCP 알고리즘에 비해 전송률 손실 없이 약 80% 의 RTT 절감 효과를 가짐을 알 수 있다.
따라서 상기한 본 개시의 실시 예에 따른, TCP 알고리즘을 적용하면, 단말의 정지 상황은 물론 이동 상황에서도 최대 전송률과 최소 지연 시간의 동시 달성을 만족할 수 있다. 그리고 본 출원인의 실험 결과, 상기 최대 전송률은 가용 대역폭의 95% 이상의 전송률을 달성할 수 있으며, 상기 최소 지연 시간은 달성 가능한 최소 지연 시간의 1.5배 이내의 지연 시간을 달성할 수 있다. 또한 본 개시의 실시 예에 따른, TCP 알고리즘을 적용하면 단말의 이동에 따른 채널 변화에 관계 없이, 적응적으로 네트워크 상황에 대응하여 최대 전송률 및 최소 지연 시간을 보장할 수 있는 효과가 있다.

Claims (12)

  1. 통신 시스템에서 TCP(Transmission Control Protocol) 기반의 전송 제어 방법에 있어서,
    정해진 시간 마다 추정된 최대 혼잡 윈도우(CWND)를 이용하여 TCP 제어를 위한 목표 최대 전송률을 결정하는 과정;
    상기 정해진 시간 마다 추정된 최소 왕복 지연 시간(RTT)을 이용하여 상기 TCP 제어를 위한 목표 최소 RTT를 결정하는 과정; 및
    상기 목표 최대 전송률과 상기 목표 최소 RTT를 이용하여 RTT 시간 슬롯에서 혼잡 윈도우(CWND)와 수신 윈도우(RWND) 중 적어도 하나를 업데이트하는 과정을 포함하는 전송 제어 방법.
  2. 제 1 항에 있어서,
    상기 업데이트하는 과정은, 현재까지 관찰된 최대 전송률과 현재까지 관찰된 최소 RTT를 업데이트하는 과정을 더 포함하는 전송 제어 방법.
  3. 제 1 항에 있어서,
    상기 정해진 시간은 RTT 또는 상기 RTT의 배수인 전송 제어 방법.
  4. 제 1 항에 있어서,
    상기 업데이트하는 과정은, 상기 목표 최대 전송률과 상기 목표 최소 RTT를 이용하여 상기 목표 최대 전송률 대비 감소된 전송률을 증가시키기 위한 CWND의 제어 값과 RWND의 제어 값 중 적어도 하나를 계산하는 과정을 더 포함하는 전송 제어 방법.
  5. 제 1 항에 있어서,
    상기 업데이트하는 과정은, 상기 목표 최대 전송률과 상기 목표 최소 RTT를 이용하여 상기 목표 최소 RTT 대비 증가된 RTT를 감소시키기 위한 CWND의 제어 값과 RWND의 제어 값 중 적어도 하나를 계산하는 과정을 더 포함하는 전송 제어 방법.
  6. 제 1 항에 있어서,
    상기 목표 최대 전송률은 최대 가용 전송률 대비 정해진 비율 만큼 상향된 값으로 더 설정되는 전송 제어 방법.
  7. 제 1 항에 있어서,
    상기 업데이트하는 과정은 아래 수학식에 의해 수행되며,
    Figure PCTKR2016006078-appb-I000020
    상기 수학식에서 CWND(i)는 i 번째 RTT 시간 슬롯에서 업데이트된 CWND, RWND(i)는 i 번째 RTT 시간 슬롯에서 업데이트된 RWND, RTT_factor(i)은 상기 i 번째 RTT 시간 슬롯에서 상기 목표 최소 RTT 대비 증가된 RTT를 감소시키기 위한 CWND 제어 값(또는 RWND 제어 값), Tput_factor(i)는 상기 i 번째 RTT 시간 슬롯에서 상기 목표 최대 전송률 대비 감소된 Tput을 증가시키기 위한 CWND 제어 값(또는 RWND 제어 값), 그리고 min_RTT(i)= min(min_RTT(i-1), current_RTT)를 의미하는 전송 제어 방법.
  8. 제 7 항에 있어서,
    상기 RTT_factor(i)와 상기 Tput_factor(i)는 아래 수학식에 의해 계산되는 전송 제어 방법,
    Figure PCTKR2016006078-appb-I000021
    상기 수학식에서 RTT_target은 상기 목표 최소 RTT, Tput_target은 상기 목표 최대 전송률, current_RTT는 현재 관찰된 RTT, current_Tput은 현재 관찰된 전송률, 그리고 G1, G2는 상수임.
  9. 제 8 항에 있어서,
    상기 RTT_factor(i)는 음수의 값을 가지며, 상기 Tput_factor(i)는 양수의 값을 갖는 전송 제어 방법.
  10. 제 1 항에 있어서,
    상기 CWND의 업데이트는 아래 수학식 중 하나에 의해 수행되는 전송 제어 방법,
    AIAD 형태의 전송 제어에서 CWND(i) = CWND(i-1) + G*RTT_factor(i) + G*Tput_factor(i),
    AIMD 형태의 전송 제어에서 CWND(i) =
    Figure PCTKR2016006078-appb-I000022
    *CWND(i-1)*RTT_factor(i) + (1-
    Figure PCTKR2016006078-appb-I000023
    )*CWND(i-1) + G*Tput gain(i),
    상기 AIMD 형태의 전송 제어에서 CWND(i) = CWND(i-1)*RTT_factor(i) + G*Tput gain(i),
    MIMD 형태의 전송 제어에서 CWND(i) =
    Figure PCTKR2016006078-appb-I000024
    *CWND(i-1)*RTT_factor(i) + (1-
    Figure PCTKR2016006078-appb-I000025
    )*CWND*Tput gain(i),
    MIAD 형태의 전송 제어에서 CWND(i) =
    Figure PCTKR2016006078-appb-I000026
    *CWND(i-1) + G*RTT_factor(i) +(1-
    Figure PCTKR2016006078-appb-I000027
    )*CWND(i-1)*Tput gain(i), 및
    상기 MIAD 형태의 전송 제어에서 CWND(i) = G*RTT_factor(i) + CWND*Tput gain(i),
    상기 수학식들에서 0<
    Figure PCTKR2016006078-appb-I000028
    <1, G는 상수, CWND(i)는 i 번째 RTT 시간 슬롯에서 업데이트된 CWND, RTT_factor(i)은 상기 i 번째 RTT 시간 슬롯에서 상기 목표 최소 RTT 대비 증가된 RTT를 감소시키기 위한 CWND 제어 값, Tput_factor(i)는 상기 i 번째 RTT 시간 슬롯에서 상기 목표 최대 전송률 대비 감소된 Tput을 증가시키기 위한 CWND 제어 값을 의미함.
  11. 통신 시스템에서 TCP(Transmission Control Protocol) 기반의 전송 제어를 수행하는 장치에 있어서,
    네트워크를 통해 데이터를 송수신하는 송수신부; 및
    정해진 시간 마다 추정된 최대 혼잡 윈도우(CWND)를 이용하여 TCP 제어를 위한 목표 최대 전송률을 결정하고, 상기 정해진 시간 마다 추정된 최소 왕복 지연 시간(RTT)을 이용하여 상기 TCP 제어를 위한 목표 최소 RTT를 결정하며, 상기 목표 최대 전송률과 상기 목표 최소 RTT를 이용하여 RTT 시간 슬롯에서 혼잡 윈도우(CWND)와 수신 윈도우(RWND) 중 적어도 하나를 업데이트하는 제어부를 포함하는 장치.
  12. 제 2 항 내지 제 10 항 중 어느 한 항의 방법에 따라 동작하도록 적용된 제 11 항의 장치.
PCT/KR2016/006078 2015-06-08 2016-06-08 통신 시스템에서 tcp 기반의 전송 제어 방법 및 장치 WO2016200154A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US15/735,012 US10374958B2 (en) 2015-06-08 2016-06-08 Method and apparatus for TCP-based transmission control in communication system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020150080840A KR102363534B1 (ko) 2015-06-08 2015-06-08 통신 시스템에서 tcp 기반의 전송 제어 방법 및 장치
KR10-2015-0080840 2015-06-08

Publications (1)

Publication Number Publication Date
WO2016200154A1 true WO2016200154A1 (ko) 2016-12-15

Family

ID=57503472

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2016/006078 WO2016200154A1 (ko) 2015-06-08 2016-06-08 통신 시스템에서 tcp 기반의 전송 제어 방법 및 장치

Country Status (3)

Country Link
US (1) US10374958B2 (ko)
KR (1) KR102363534B1 (ko)
WO (1) WO2016200154A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111886875A (zh) * 2018-03-27 2020-11-03 英国电讯有限公司 及时媒体传送的拥塞响应

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102210738B1 (ko) * 2015-01-28 2021-02-02 삼성전자주식회사 통신 시스템에서 혼잡 제어 방법 및 장치
KR101941362B1 (ko) * 2017-02-24 2019-01-24 한국과학기술원 Mptcp 성능 향상을 위한 전송 지연 측정 방법 및 시스템
KR101966284B1 (ko) * 2017-06-16 2019-04-08 성균관대학교 산학협력단 상태 기반 포워딩을 수행하는 네트워크에서의 능동적인 요청 패킷 관리 장치 및 그 방법
CN109309934B (zh) * 2017-07-27 2021-01-15 华为技术有限公司 一种拥塞控制方法及相关设备
CN108011780B (zh) * 2017-12-01 2019-01-22 北京百度网讯科技有限公司 一种数据传输速率测量方法、装置、设备和计算机可读介质
KR102044455B1 (ko) * 2018-01-03 2019-11-13 중앙대학교 산학협력단 사물인터넷 저전력 멀티홉 무선 네트워크를 위한 tcp 보조 방법 및 장치
KR102094988B1 (ko) * 2018-08-31 2020-03-30 연세대학교 산학협력단 다중경로 전송제어프로토콜을 위한 혼잡 윈도우 제어 장치 및 방법
US10732900B2 (en) 2018-10-24 2020-08-04 Western Digital Technologies, Inc. Bounded latency and command non service methods and apparatus
KR102139378B1 (ko) * 2018-11-20 2020-07-29 울산과학기술원 혼잡 제어 방법 및 장치
US11212227B2 (en) * 2019-05-17 2021-12-28 Pensando Systems, Inc. Rate-optimized congestion management
US10999206B2 (en) 2019-06-27 2021-05-04 Google Llc Congestion control for low latency datacenter networks
US11190448B2 (en) 2019-11-26 2021-11-30 Verizon Patent And Licensing Inc. Transport congestion control optimization based on network context
CN113518040B (zh) * 2021-04-30 2022-12-09 东北大学 一种面向时延敏感业务的多径耦合拥塞控制方法
US20220103484A1 (en) * 2021-12-08 2022-03-31 Intel Corporation Congestion control

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6643259B1 (en) * 1999-11-12 2003-11-04 3Com Corporation Method for optimizing data transfer in a data network
US20060034286A1 (en) * 2004-07-29 2006-02-16 Koning G P High performance TCP for systems with infrequent ACK
US20110013516A1 (en) * 2009-07-15 2011-01-20 Microsoft Corporation Control of Background Data Transfers
US20140281018A1 (en) * 2013-03-13 2014-09-18 Futurewei Technologies, Inc. Dynamic Optimization of TCP Connections
KR20140143355A (ko) * 2011-12-28 2014-12-16 씨디에프 케 유안 지연이 큰 네트워크들에 대한 tcp 혼잡 제어

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7310682B2 (en) * 2004-01-08 2007-12-18 Lsi Corporation Systems and methods for improving network performance
US8639835B2 (en) 2010-11-29 2014-01-28 Verizon Patent And Licensing Inc. TCP window size performance optimization in wireless networks
US10547555B2 (en) 2011-10-04 2020-01-28 North Carolina State University Methods, systems, and computer readable media for reducing Wi-Fi scanning using cellular network to Wi-Fi access point mapping information
US9929956B2 (en) * 2015-02-26 2018-03-27 Citrix Systems, Inc. System for bandwidth optimization with initial congestion window determination
CN105991462B (zh) * 2015-03-02 2019-05-28 华为技术有限公司 传输控制协议tcp数据包的发送方法、发送装置和系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6643259B1 (en) * 1999-11-12 2003-11-04 3Com Corporation Method for optimizing data transfer in a data network
US20060034286A1 (en) * 2004-07-29 2006-02-16 Koning G P High performance TCP for systems with infrequent ACK
US20110013516A1 (en) * 2009-07-15 2011-01-20 Microsoft Corporation Control of Background Data Transfers
KR20140143355A (ko) * 2011-12-28 2014-12-16 씨디에프 케 유안 지연이 큰 네트워크들에 대한 tcp 혼잡 제어
US20140281018A1 (en) * 2013-03-13 2014-09-18 Futurewei Technologies, Inc. Dynamic Optimization of TCP Connections

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111886875A (zh) * 2018-03-27 2020-11-03 英国电讯有限公司 及时媒体传送的拥塞响应

Also Published As

Publication number Publication date
US20180159778A1 (en) 2018-06-07
KR102363534B1 (ko) 2022-02-17
KR20160144257A (ko) 2016-12-16
US10374958B2 (en) 2019-08-06

Similar Documents

Publication Publication Date Title
WO2016200154A1 (ko) 통신 시스템에서 tcp 기반의 전송 제어 방법 및 장치
Zhang et al. Will TCP work in mmWave 5G cellular networks?
EP3637706B1 (en) Apparatus and method for controlling congestion in wireless communication system
US9548936B2 (en) Method and system for improved TCP performance over mobile data networks
EP2962434B1 (en) Apparatus and method for measuring and using congestion in a wireless communication system
US11025531B2 (en) Packet transmission method and hybrid access gateway
US20060277450A1 (en) Adaptive radio resource management for wireless local area networks
JP5391830B2 (ja) 無線基地局装置、通信システムおよびデータ転送方法
WO2016122225A1 (ko) 통신 시스템에서 혼잡 제어 방법 및 장치
US9407734B2 (en) System and method for efficient frame aggregation based on aggregation limits or parameters
US8463278B2 (en) Communication apparatus and communication method
US20190007324A1 (en) Threshold for reduced latency mechanisms
KR102665409B1 (ko) 다중 접속에서 데이터 분할을 위한 방법 및 장치
Karmakar et al. IEEE 802.11 ac link adaptation under mobility
JP2013085135A (ja) ネットワーク端末装置およびデータ伝送方法
US10517014B2 (en) Controlling performance of a wireless device in a heterogeneous network
CN108650258B (zh) 窄带物联网无线链路协议子层am实体数据传输自适应方法
KR20050103939A (ko) 패킷의 처리량을 최대화하는 방법 및 장치
Chang et al. Adaptive cross-layer-based TCP congestion control for 4G wireless mobile cloud access
US20210127301A1 (en) Application Notifications from Network for Throughput and Flow Control Adaptation
Raniwala et al. Evaluation of a stateful transport protocol for multi-channel wireless mesh networks
Statkus et al. Improving TCP performance in IEEE 802.11 networks
CN106165331B (zh) 用于动态传输窗口的装置和方法
Chang et al. Cross-layer-based adaptive TCP algorithm in 4G packet service LTE-advanced relaying communications
Chang et al. Cross-Layer-Based Adaptive TCP Algorithm in 4G Packet Service LTE-Advanced Relaying Communications

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16807794

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 15735012

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16807794

Country of ref document: EP

Kind code of ref document: A1