KR102214854B1 - MPTCP Congestion Control Device and Method for High Speed and Low Latency Communication - Google Patents

MPTCP Congestion Control Device and Method for High Speed and Low Latency Communication Download PDF

Info

Publication number
KR102214854B1
KR102214854B1 KR1020190144857A KR20190144857A KR102214854B1 KR 102214854 B1 KR102214854 B1 KR 102214854B1 KR 1020190144857 A KR1020190144857 A KR 1020190144857A KR 20190144857 A KR20190144857 A KR 20190144857A KR 102214854 B1 KR102214854 B1 KR 102214854B1
Authority
KR
South Korea
Prior art keywords
path
packets
target
rtt
congestion window
Prior art date
Application number
KR1020190144857A
Other languages
Korean (ko)
Inventor
정종문
이창성
정재욱
Original Assignee
연세대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 연세대학교 산학협력단 filed Critical 연세대학교 산학협력단
Priority to KR1020190144857A priority Critical patent/KR102214854B1/en
Application granted granted Critical
Publication of KR102214854B1 publication Critical patent/KR102214854B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/56Queue scheduling implementing delay-aware scheduling
    • 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/12Avoiding congestion; Recovering from congestion
    • H04L47/14
    • 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/18End to end
    • 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/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
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/14Multichannel or multilink protocols
    • 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/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/326Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the transport layer [OSI layer 4]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/02Processing of mobility data, e.g. registration information at HLR [Home Location Register] or VLR [Visitor Location Register]; Transfer of mobility data, e.g. between HLR, VLR or external networks
    • H04W8/04Registration at HLR or HSS [Home Subscriber Server]

Abstract

Disclosed are an MPTCP congestion control apparatus for high-speed and low-latency communication and a method thereof. The disclosed apparatus includes: an RTT obtaining part obtaining a current RTT value by route; a queuing packet number calculation part calculating the number of packets currently queued in each route; and a target packet number control part resetting the number of queueable packets (target packet number) by route if realignment latency is determined to occur. The target packet number control part resets the target packet number so as to minimize a difference between RTT values by route. Through the apparatus and the method, high-speed transmission and low latency can be achieved at the same time, and realignment latency occurring at a receiver can be reduced to improve end-to-end QoE.

Description

고속-저지연 통신을 위한 MPTCP 혼잡 제어 장치 및 방법{MPTCP Congestion Control Device and Method for High Speed and Low Latency Communication}MPTCP Congestion Control Device and Method for High Speed and Low Latency Communication

본 발명은 혼잡 제어 장치 및 방법에 관한 것으로서, 더욱 상세하게는 고속-저지연 통신을 위한 혼잡 제어 장치 및 방법에 관한 것이다. The present invention relates to a congestion control apparatus and method, and more particularly, to a congestion control apparatus and method for high-speed-low-delay communication.

5G 네트워크의 높은 전송속도 요구사항을 만족시키기 위해 3GPP는 밀리미터웨이브 기술을 도입하였다. 이는 밀리미터웨이브 대역이 기존의 3 GHz 대역보다 높은 대역폭을 제공해 줄 수 있기 때문이다. 그러나 밀리미터웨이브 대역은 높은 전송 용량을 장점으로 하지만, 채널의 상태가 환경에 따라 심하게 변화하는 특징이 있다. 밀리미터웨이브 링크는 LOS(line-of-sight) 환경에서 높은 전송률을 보여주지만, NLOS(non-LOS) 환경에서는 SINR이 최대 35 dB 만큼 떨어질 수 있다. 이는 밀리미터웨이브 신호가 건물, 나무, 사람 등에 의한 장애물에 취약하기 때문이다. 이러한 밀리미터웨이브의 채널 특성으로 인해 PHY나 MAC 뿐만 아니라 전송 계층(transport layer)에서의 개선된 전송기법이 요구된다. In order to meet the high transmission speed requirements of 5G networks, 3GPP introduced millimeter wave technology. This is because the millimeter wave band can provide a higher bandwidth than the existing 3 GHz band. However, the millimeter wave band has an advantage of high transmission capacity, but has a characteristic that the state of the channel changes severely depending on the environment. The millimeter wave link shows a high transmission rate in a line-of-sight (LOS) environment, but the SINR may drop by up to 35 dB in a non-LOS (NLOS) environment. This is because the millimeter wave signal is vulnerable to obstacles such as buildings, trees, and people. Due to the channel characteristics of the millimeter wave, an improved transmission technique is required in the transport layer as well as the PHY or MAC.

최근 연구에 따르면 밀리미터웨이브 대역에서의 잦은 LOS-NLOS 전환은 전송 계층의 성능을 심하게 저해한다는 결과가 있다.According to a recent study, there is a result that frequent LOS-NLOS switching in the millimeter wave band severely impairs the performance of the transport layer.

또한 증강 현실(AR) 및 가상 현실(VR)과 같은 5G 네트워크를 통한 차세대 애플리케이션은 높은 데이터 전송 속도와 더불어 낮은 지연 시간도 요구한다. 예를 들어, 고해상도 VR 애플리케이션은 10 ms 미만의 왕복 지연 시간과 1 Gbps를 초과하는 데이터 전송 속도가 필요하다. 결과적으로 빠른 전송속도와 낮은 지연 시간 요구 사항을 동시에 달성하려면 매우 가변적인 밀리미터웨이브 링크를 고려하여 전송 계층을 재설계해야 한다.In addition, next-generation applications over 5G networks such as augmented reality (AR) and virtual reality (VR) require high data rates as well as low latency. For example, high-resolution VR applications require round-trip latency of less than 10 ms and data rates in excess of 1 Gbps. As a result, the transport layer needs to be redesigned to take into account the highly variable millimeter wave link to simultaneously achieve the high transmission rate and low latency requirements.

MPTCP (Multipath TCP)는 2013 년 IETF Working Group에서 표준화한 전송 프로토콜의 새로운 기술 중 하나이다. MPTCP는 기존 TCP의 다중 경로 버전으로서 여러 경로를 병렬로 활용하여 네트워크 자원을 보다 효율적으로 활용한다. MPTCP의 두 가지 이점은 향상된 전송 속도 성능과 네트워크 장애에 대한 향상된 복원능력이다. 따라서 5G 네트워크에서 MPTCP를 활용하는 것은 차세대 애플리케이션의 높은 데이터 전송률 요구 사항을 충족시키는 E2E 솔루션 중 하나이다. 예를 들어 사용자는 다중 연결을 사용하여 LTE eNB 및 밀리미터웨이브 gNB에 모두 연결할 수 있으며 MPTCP는 두 경로를 동시에 사용하여 전송 성능을 높일 수 있다.MPTCP (Multipath TCP) is one of the new technologies of transport protocol standardized by IETF Working Group in 2013. MPTCP is a multipath version of the existing TCP and utilizes network resources more efficiently by using multiple paths in parallel. Two advantages of MPTCP are improved transmission rate performance and improved resilience to network failures. Therefore, using MPTCP in 5G networks is one of the E2E solutions that meet the high data rate requirements of next-generation applications. For example, a user can connect to both an LTE eNB and a millimeter wave gNB using multiple connections, and MPTCP can increase transmission performance by using both paths simultaneously.

MPTCP의 핵심 구성 요소는 혼잡 제어 기법이다. MPTCP 혼잡제어 기법은 각 서브 플로우의 혼잡 상태가 혼잡 윈도우에 의해 제어되는 방식으로 수행된다. 첫 번째 MPTCP 혼잡제어 기법으로서 LIA(Linked Increases Algorithm)가 제안되었고 LIA에 대한 개선으로서 OLIA(Opportunistic LIA)와 Balia(Balanced LIA)가 제안되었다. 이러한 방식은 혼잡의 신호로 패킷 손실을 이용하므로 손실 기반 기법으로 분류 할 수 있다. 반면 wVegas(weighted Vegas)는 TCP Vegas 대한 확장으로 제안되었다. wVegas는 혼잡의 신호로 증가 된 지연시간을 사용하기 때문에 지연 기반 기법으로 분류한다. 위에서 언급 한 LIA, OLIA, Balia 및 wVegas는 현재 Linux Kernel의 기본 MPTCP 혼잡제어 기법이다.A key component of MPTCP is a congestion control technique. The MPTCP congestion control scheme is performed in such a way that the congestion state of each sub-flow is controlled by a congestion window. As the first MPTCP congestion control scheme, LIA (Linked Increases Algorithm) was proposed, and OLIA (Opportunistic LIA) and Balia (Balanced LIA) were proposed as improvements to LIA. This method can be classified as a loss-based method because packet loss is used as a congestion signal. On the other hand, wVegas (weighted Vegas) was proposed as an extension to TCP Vegas. wVegas is classified as a delay-based technique because it uses an increased delay time as a congestion signal. LIA, OLIA, Balia and wVegas mentioned above are the basic MPTCP congestion control techniques of the current Linux Kernel.

그러나 앞서 언급한 MPTCP 혼잡제어 기법들이 5G 네트워크에서 높은 처리량과 낮은 지연 시간을 동시에 달성하는 것은 불가능하다. 첫째, 손실 기반 기법(LIA, OLIA, Balia)은 낮은 E2E 지연 시간을 달성 할 수 없다. 밀리미터웨이브 네트워크에서는 LOS에서 NLOS 상태로의 갑작스런 전환으로 인해 패킷 손실이 자주 발생할 수 있다. 그러나, 링크 계층 재전송 기법들 (예를 들어, MAC 계층에서의 HARQ(Hybrid Automatic Repeat Request) 및 RLC(Radio Link Control) 계층에서의 AM(Acknowledged Mode))은 발생한 패킷 손실을 전송 계층으로 알리지 않고 처리하기 때문에, 손실 기반 기법은 패킷 손실이 일어나도 전송속도를 감소시키지 않는다. 이러한 재전송 방식은 전송 계층에서의 처리량 저하를 피할 수 있지만 MPTCP는 밀리미터웨이브의 저하된 전송 능력을 인식하지 못한다. 이는 병목 버퍼에서 매우 긴 큐잉 지연을 초래하며, 이를 bufferbloat 현상이라고 부른다. 5G 네트워크에서는 가변적인 밀리미터웨이브 링크의 채널 변화를 완화하기 위해 RLC 버퍼 크기를 크게 설정하고 이에 따라 bufferbloat 현상이 더 심각해진다. 둘째, 현재 지연 기반 기법(wVegas)는 높은 전송속도를 달성할 수 없다. wVegas는 TCP Vegas를 기반으로 하기 때문에 TCP Vegas와 동일한 단점을 지니고 있다. 그렇기 때문에 wVegas는 낮은 공격성(aggressiveness)으로 인해 BDP(bandwidth delay product)를 가진 경로를 사용할 때 성능을 제대로 발휘할 수 없다. wVegas는 손실 기반 기법과 비교할 때 공정성(fairness)과 혼잡 균형(balanced congestion)에 중점을 크게 두기 때문이다.However, it is impossible for the aforementioned MPTCP congestion control techniques to simultaneously achieve high throughput and low latency in 5G networks. First, loss-based techniques (LIA, OLIA, Balia) cannot achieve low E2E latency. In millimeter wave networks, packet loss can occur frequently due to sudden transition from LOS to NLOS state. However, link layer retransmission techniques (e.g., HARQ (Hybrid Automatic Repeat Request) in the MAC layer and AM (Acknowledged Mode) in the Radio Link Control (RLC) layer) process the packet loss without notifying the transport layer. Therefore, the loss-based technique does not reduce the transmission speed even when packet loss occurs. This retransmission scheme avoids the decrease in throughput at the transport layer, but MPTCP does not recognize the reduced transmission capability of the millimeter wave. This causes a very long queuing delay in the bottleneck buffer, which is called a bufferbloat phenomenon. In 5G networks, the RLC buffer size is set to be large to mitigate the channel change of the variable millimeter wave link, and the bufferbloat phenomenon becomes more serious accordingly. Second, the current delay-based technique (wVegas) cannot achieve a high transmission rate. Since wVegas is based on TCP Vegas, it has the same disadvantages as TCP Vegas. Therefore, wVegas cannot perform properly when using a path with bandwidth delay product (BDP) due to its low aggressiveness. This is because wVegas places great emphasis on fairness and balanced congestion when compared to loss-based techniques.

또한, 현재 MPTCP 혼잡제어 기법은 MPTCP의 경로 이질성으로 인한 추가적인 재정렬 지연(reordering delay)를 고려하지 않는다. MPTCP는 다른 RTT(round-trip time)를 갖는 이종 경로를 이용하기 때문에 수신단에 패킷이 순서에 맞지 않게 도착할 수 있다. 이로 인해 수신 버퍼에서 HOL(head-of-line) blocking이 발생하는데, 여기서 수신단은 누락 된 패킷이 도착할 때까지 기다려야 한다. 수신 버퍼에서 이러한 추가 큐잉 지연을 재정렬 지연이라고 하며, 애플리케이션 계층에서 패킷 지연을 증가시키기 때문에 사용자 경험 품질(QoE)을 저하시킬 수 있다.In addition, the current MPTCP congestion control scheme does not take into account an additional reordering delay due to path heterogeneity of MPTCP. Since MPTCP uses heterogeneous paths with different round-trip times (RTT), packets may arrive out of order at the receiving end. As a result, HOL (head-of-line) blocking occurs in the receive buffer, where the receiving end has to wait until the dropped packet arrives. This additional queuing delay in the receive buffer is referred to as reordering delay, and increases the packet delay at the application layer, which can degrade the quality of user experience (QoE).

본 발명은 고속 전송 및 저지연을 동시에 도모할 수 있는 MPTCP 혼잡 제어 방법 및 장치를 제안한다. The present invention proposes an MPTCP congestion control method and apparatus capable of simultaneously achieving high-speed transmission and low delay.

또한, 본 발명은 수신단에서 발생하는 재정렬 지연을 감소시켜 종단간 QoE를 향상시킬 수 있는 MPTCP 혼잡 제어 방법 및 장치를 제안한다. In addition, the present invention proposes an MPTCP congestion control method and apparatus capable of improving end-to-end QoE by reducing the rearrangement delay occurring at the receiving end.

상기와 같은 목적을 달성하기 위해, 본 발명의 일 측면에 따르면, 경로별로 현재 RTT 값을 획득하는 RTT 획득부; 각 경로별로 현재 큐잉되어 있는 패킷의 수를 연산하는 큐잉 패킷 수 연산부; 및 재정렬 지연이 발생된다고 판단되는 경우 각 경로별로 큐잉 가능한 패킷 수(목표 패킷 수)를 재설정하는 목표 패킷 수 제어부를 포함하되. 상기 목표 패킷 수 제어부는 각 경로별 RTT 값의 차이가 최소화되도록 상기 목표 패킷 수를 재설정하는 MPTCP 혼잡 제어 장치가 제공된다. In order to achieve the above object, according to an aspect of the present invention, the RTT acquisition unit for obtaining a current RTT value for each path; A queuing packet number calculating unit for calculating the number of packets currently queued for each path; And a target packet number control unit for resetting the number of queuable packets (target packet number) for each path when it is determined that the rearrangement delay occurs. The target packet number control unit is provided with an MPTCP congestion control device that resets the target packet number so that a difference in RTT value for each path is minimized.

상기 목표 패킷 수 제어부는 전체 경로에 큐잉되어 있는 패킷 수와 전체 경로의 목표 패킷 수를 비교하여 재정렬 지연이 발생되는지 여부를 판단한다. The target packet number control unit compares the number of packets queued in the entire path with the target number of packets in the entire path to determine whether a rearrangement delay occurs.

상기 목표 패킷 수 제어부는 전체 경로에 큐잉되어 있는 패킷 수가 전체 경로의 목표 패킷 수보다 큰 상태가 지속될 경우 재정렬 지연이 발생된다고 판단한다. The target packet number control unit determines that a rearrangement delay occurs when the number of packets queued in the entire path is greater than the target packet number of the entire path.

상기 큐잉 패킷 수 연산부는 각 경로의 현재 RTT, 각 경로별 최소 RTT 및 각 경로별 혼잡 윈도우의 크기를 이용하여 연산된다. The queuing packet number calculation unit is calculated using the current RTT of each path, the minimum RTT for each path, and the size of a congestion window for each path.

상기 큐잉 패킷 수 연산부는 다음의 수학식과 같이 경로 r의 큐잉 패킷 수를 연산한다. The queuing packet number calculation unit calculates the number of queuing packets in the path r as shown in the following equation.

Figure 112019116355342-pat00001
Figure 112019116355342-pat00001

위 수학식에서

Figure 112019116355342-pat00002
은 경로 r에서의 혼잡 윈도우의 크기이고,
Figure 112019116355342-pat00003
은 경로 r에서의 최소 RTT이고,
Figure 112019116355342-pat00004
은 경로 r에서의 현재 RTT임. In the above equation
Figure 112019116355342-pat00002
Is the size of the congestion window in path r,
Figure 112019116355342-pat00003
Is the minimum RTT in path r,
Figure 112019116355342-pat00004
Is the current RTT in path r.

상기 혼잡 제어 장치는 상기 큐잉되어 있는 패킷 수와 목표 패킷 수를 비교하여 혼잡 윈도우의 크기를 제어하는 혼잡 윈도우 제어부를 더 포함한다. The congestion control apparatus further includes a congestion window controller configured to control a size of a congestion window by comparing the number of queued packets with the number of target packets.

상기 혼잡 윈도우 제어부는 상기 큐잉되어 있는 패킷 수(

Figure 112019116355342-pat00005
)가 목표 패킷 수(
Figure 112019116355342-pat00006
)보다 작을 경우, 상기 혼잡 윈도우의 크기를
Figure 112019116355342-pat00007
만큼 증가시키며,
Figure 112019116355342-pat00008
은 현재 혼잡 윈도우의 크기이고,
Figure 112019116355342-pat00009
는 미리 설정되는 상수이다. The congestion window control unit includes the number of queued packets (
Figure 112019116355342-pat00005
) Is the target packet count (
Figure 112019116355342-pat00006
), the size of the congestion window
Figure 112019116355342-pat00007
Increases by
Figure 112019116355342-pat00008
Is the size of the current congestion window,
Figure 112019116355342-pat00009
Is a preset constant.

상기 혼잡 윈도우 제어부는 상기 큐잉되어 있는 패킷 수(

Figure 112019116355342-pat00010
)가 목표 패킷 수(
Figure 112019116355342-pat00011
)보다 클 경우 상기 혼잡 윈도우의 크기를
Figure 112019116355342-pat00012
만큼 감소시킨다. The congestion window control unit includes the number of queued packets (
Figure 112019116355342-pat00010
) Is the target packet count (
Figure 112019116355342-pat00011
), the size of the congestion window
Figure 112019116355342-pat00012
Decrease by

본 발명의 다른 측면에 따르면, 경로별로 현재 RTT 값을 획득하는 단계(a); 각 경로별로 현재 큐잉되어 있는 패킷의 수를 연산하는 단계(b); 및 재정렬 지연이 발생된다고 판단되는 경우 각 경로별로 큐잉 가능한 패킷 수(목표 패킷 수)를 재설정하는 단계(c)를 포함하되. 상기 단계(c)는 각 경로별 RTT 값의 차이가 최소화되도록 상기 목표 패킷 수를 재설정하는 MPTCP 혼잡 제어 방법이 제공된다. According to another aspect of the present invention, obtaining a current RTT value for each path (a); Calculating the number of packets currently queued for each path (b); And (c) resetting the number of queuable packets (number of target packets) for each path when it is determined that the reordering delay occurs. In step (c), an MPTCP congestion control method is provided in which the number of target packets is reset so that the difference in RTT values for each path is minimized.

본 발명의 또 다른 측면에 따르면, 경로별로 현재 RTT 값을 획득하는 단계(a); 각 경로별로 현재 큐잉되어 있는 패킷의 수를 연산하는 단계(b); 및 재정렬 지연이 발생된다고 판단되는 경우 각 경로별로 큐잉 가능한 패킷 수(목표 패킷 수)를 재설정하는 단계(c)를 포함하되. 상기 단계(c)는 전체 경로에 큐잉되어 있는 패킷 수와 전체 경로의 목표 패킷 수를 비교하여 재정렬 지연이 발생되는지 여부를 판단하는 MPTCP 혼잡 제어 방법이 제공된다. According to another aspect of the present invention, obtaining a current RTT value for each path (a); Calculating the number of packets currently queued for each path (b); And (c) resetting the number of queuable packets (number of target packets) for each path when it is determined that the reordering delay occurs. In step (c), an MPTCP congestion control method is provided for determining whether a rearrangement delay occurs by comparing the number of packets queued in the entire path with the number of target packets in the entire path.

본 발명에 의하면, 고속 전송 및 저지연을 동시에 도모할 수 있으며, 수신단에서 발생하는 재정렬 지연을 감소시켜 종단간 QoE를 향상시킬 수 있는 장점이 있다. According to the present invention, high-speed transmission and low delay can be simultaneously achieved, and end-to-end QoE can be improved by reducing a rearrangement delay occurring at a receiving end.

도 1은 MPTCP 스택 구조를 설명하기 위한 도면.
도 2는 MPTCP의 개념을 설명하기 위한 도면.
도 3은 본 발명의 혼잡 제어 자치 및 방법이 적용되는 MPTCP 시스템 구조를 도시한 도면.
도 4는 본 발명의 일 실시예에 따른 혼잡 제어 장치의 개념적 구조를 도시한 블록도.
도 5는 본 발명의 일 실시예에 따른 혼잡 제어 방법의 흐름을 나타낸 순서도.
도 6은 본 발명의 일 실시예에 따른 혼잡 제어 방법과 종래의 혼잡 제어 방법의 전송량을 비교한 그래프.
도 7은 본 발명의 일 실시에에 따른 혼잡 제어 방법과 종래의 혼잡 제어 방법의 지연 시간을 비교한 그래프.
1 is a diagram for explaining an MPTCP stack structure.
2 is a diagram for explaining the concept of MPTCP.
3 is a diagram showing the structure of an MPTCP system to which the congestion control autonomy and method of the present invention is applied.
4 is a block diagram showing a conceptual structure of a congestion control apparatus according to an embodiment of the present invention.
5 is a flow chart showing the flow of a congestion control method according to an embodiment of the present invention.
6 is a graph comparing transmission amounts of a congestion control method according to an embodiment of the present invention and a conventional congestion control method.
7 is a graph comparing delay times between a congestion control method according to an embodiment of the present invention and a conventional congestion control method.

이하에서는 첨부한 도면을 참조하여 본 발명을 설명하기로 한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며, 따라서 여기에서 설명하는 실시예로 한정되는 것은 아니다.Hereinafter, the present invention will be described with reference to the accompanying drawings. However, the present invention may be implemented in various different forms, and therefore is not limited to the embodiments described herein.

그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.In the drawings, parts irrelevant to the description are omitted in order to clearly describe the present invention, and similar reference numerals are assigned to similar parts throughout the specification.

명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 부재를 사이에 두고 "간접적으로 연결"되어 있는 경우도 포함한다.Throughout the specification, when a part is said to be "connected" to another part, this includes not only "directly connected" but also "indirectly connected" with another member interposed therebetween. .

또한 어떤 부분이 어떤 구성 요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 구비할 수 있다는 것을 의미한다.In addition, when a certain part "includes" a certain component, it means that other components may be further provided without excluding other components unless otherwise specified.

이하 첨부된 도면을 참고하여 본 발명의 실시예를 상세히 설명하기로 한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 MPTCP 스택 구조를 설명하기 위한 도면이고, 도 2는 MPTCP의 개념을 설명하기 위한 도면이다. FIG. 1 is a diagram for explaining an MPTCP stack structure, and FIG. 2 is a diagram for explaining the concept of MPTCP.

도1 에서 (a)는 기존의 TCP 통신을 위한 스택 구조를 나타내고, (b)는 MPTCP 통신을 위한 스택 구조를 나타낸다. (b)에 도시된 바와 같이 MPTCP에서는 TCP 계층을 하나의 MPTCP 계층과 그 하위에 다수의 TCP 서브플로우(subflow)로 구분하고, 다수의 TCP 서브 플로우 개수에 대응하여 IP 계층 또한 또한 다수 개로 구분한다.In FIG. 1, (a) shows a stack structure for a conventional TCP communication, and (b) shows a stack structure for MPTCP communication. As shown in (b), in MPTCP, the TCP layer is divided into one MPTCP layer and a number of TCP subflows below it, and the IP layer is also divided into a plurality of IP layers corresponding to the number of TCP subflows. .

여기서 TCP 서브플로우는 각각의 네트워크 인터페이스를 통해 설정된 종단간 연결에 흐르는 패킷의 흐름을 의미한다.Here, the TCP subflow refers to the flow of packets flowing through the end-to-end connection established through each network interface.

즉 도2 에 도시된 바와 같이, MPTCP에서는 하나의 어플리케이션(Application) 또는 호스트(Host)가 각각 서로 다른 다수의 경로를 구성하고, 다수의 경로를 통해 동시에 하나의 데이터를 송수신할 수 있다.That is, as shown in FIG. 2, in MPTCP, one application or host may configure a plurality of different paths, respectively, and transmit and receive one data simultaneously through the plurality of paths.

도2 에서는 클라이언트(client)-서버(server)의 2개의 호스트가 MPTCP 통신 방식에 따라 3개의 서로 다른 경로를 통해 통신을 수행하는 경우를 도시하였다.2 shows a case in which two hosts, a client-server, perform communication through three different paths according to the MPTCP communication method.

도2 에 나타난 바와 같이, 2개의 호스트는 각각 3개의 경로를 통해 통신을 수행하며, 이중 제1 경로(TCP sub-flow1)는 6mbps의 속도로 통신을 수행할 수 있고, 제2 경로(TCP sub-flow2)는 2mbps의 속도로 통신을 수행할 수 있으며, 제3 경로(TCP sub-flow3)는 1mbps의 속도로 통신을 수행할 수 있다.As shown in Fig. 2, two hosts each perform communication through three paths, of which the first path (TCP sub-flow1) can perform communication at a rate of 6 mbps, and the second path (TCP sub-flow1) -flow2) may perform communication at a rate of 2 mbps, and a third path (TCP sub-flow3) may perform communication at a rate of 1 mbps.

따라서 2개의 호스트는 3개의 경로를 통해 9mbps의 속도로 통신을 수행할 수 있게 되며, 3개의 경로 중 적어도 하나가 혼잡하거나 차단되더라도, 데이터를 송수신 할 수 있게 된다.Accordingly, two hosts can perform communication at a speed of 9 mbps through three paths, and even if at least one of the three paths is congested or blocked, data can be transmitted and received.

즉 MPTCP는 다수의 경로를 이용하므로, 특정 경로에 혼잡(congestion)이 발생하거나 연결이 끊어지더라도 다른 경로를 통해 연속적으로 데이터를 주고 받을 수 있어 항상 최선의 연결을 보장하는 장점이 있다.That is, since MPTCP uses a plurality of paths, even if congestion occurs in a specific path or connection is disconnected, data can be continuously exchanged through other paths, thereby ensuring the best connection at all times.

도 3은 본 발명의 혼잡 제어 자치 및 방법이 적용되는 MPTCP 시스템 구조를 도시한 도면이다. 3 is a diagram showing the structure of an MPTCP system to which the congestion control self-governance and method of the present invention is applied.

현재 3GPP에서는 5G 네트워크의 최초 버전으로 5G NR과 4G LTE 자원을 동시에 이용하는 NSA(non-standalone)을 고려하고 있다. 이에 도3 에서도 5G NR과 4G LTE의 이종 네트워크 경로를 이용하는 MPTCP를 도시하였다. 즉 MPTCP는 단지 상이한 경로를 통한 데이터 전송을 의미하는 것이 아니라 이종 네트워크의 경로를 이용할 수 있다.Currently, 3GPP is considering a non-standalone (NSA) that uses 5G NR and 4G LTE resources simultaneously as the first version of the 5G network. Accordingly, FIG. 3 also shows an MPTCP using a heterogeneous network path of 5G NR and 4G LTE. That is, MPTCP does not just mean data transmission through different paths, but can use paths of heterogeneous networks.

MPTCP를 이용한 5G NR과 LTE의 어그리게이션(aggregation)은 5G eMBB 서비스의 높은 데이터 전송량 요구조건을 만족시키기 위한 기술 중 하나이다. 하지만 5G NR과 LTE가 어그리게이션 되어 동시에 사용될 지라도, 상기한 바와 같이, 밀리미터파의 장애물에 취약한 채널 특성은 전송 계층의 성능을 심각하게 저하할 수 있다. 이에 5G NR 경로의 혼잡 윈도우 크기를 조절하여 최적의 오프로딩(offloading)을 통해 최적의 전송률을 달성할 필요가 있다.Aggregation of 5G NR and LTE using MPTCP is one of the technologies for satisfying the high data transmission requirements of 5G eMBB service. However, even if 5G NR and LTE are aggregated and used at the same time, as described above, channel characteristics that are vulnerable to millimeter wave obstacles can seriously degrade the performance of the transport layer. Accordingly, it is necessary to achieve an optimal transmission rate through optimal offloading by adjusting the size of the congestion window of the 5G NR path.

한편, 도 3에는 5G NR 경로 및 LTE 경로의 두가지 경로가 도시되어 있으나, 이는 예시적인 것이며 보다 다양한 경로에 대한 MPTCP가 가능하다는 것은 당업자에게 있어 자명할 것이다. Meanwhile, although two paths of a 5G NR path and an LTE path are shown in FIG. 3, this is exemplary and it will be apparent to those skilled in the art that MPTCP for more various paths is possible.

도 4는 본 발명의 일 실시예에 따른 혼잡 제어 장치의 개념적 구조를 도시한 블록도이다. 4 is a block diagram showing a conceptual structure of a congestion control apparatus according to an embodiment of the present invention.

도 4를 참조하면, 본 발명의 일 실시예에 따른 혼잡 제어 장치는 RTT 획득부(400), 최소 RTT 저장부(410), 큐잉 패킷수 연산부(420), 목표 패킷 수 제어부(430) 및 혼잡 윈도우 제어부(440)를 포함한다. 4, the congestion control apparatus according to an embodiment of the present invention includes an RTT acquisition unit 400, a minimum RTT storage unit 410, a queuing packet number calculation unit 420, a target packet number control unit 430, and a congestion. It includes a window control unit 440.

RTT 획득부(400)는 통신 가능한 경로별로 현재 RTT(Round Trip Time)를 획득한다. RTT는 테스트 패킷을 수신단에 전송한 후 돌아오는 시간으로서 RTT는 경로의 상태에 따라 가변된다.The RTT acquisition unit 400 acquires a current Round Trip Time (RTT) for each communication path. RTT is the time to return after transmitting the test packet to the receiving end, and RTT varies according to the state of the path.

RTT 획득부(400)는 미리 설정된 주기 또는 미리 설정된 이벤트 발생 시에 현재의 RTT를 획득한다. The RTT acquisition unit 400 acquires the current RTT when a preset period or a preset event occurs.

최소 RTT 저장부(410)는 RTT 획득부(400)에서 주기적으로 획득되는 RTT 값들 중 최소 RTT 값을 저장한다. 최소 RTT 저장부(410)에는 미리 설정된 기간동안 수집된 RTT 값들 중 최소의 RTT 값이 저장되는 것이다. 최소 RTT 값은 경로별로 저장되며, 경로별 최소 RTT 값은 각 경로에서 네트워크 상태가 가장 양호할 때의 RTT 값으로 정의될 수 있을 것이다. The minimum RTT storage unit 410 stores a minimum RTT value among RTT values periodically obtained from the RTT acquisition unit 400. The minimum RTT storage unit 410 stores the minimum RTT value among RTT values collected during a preset period. The minimum RTT value is stored for each path, and the minimum RTT value for each path may be defined as the RTT value when the network state is the best in each path.

큐잉 패킷수 연산부(420)는 각 경로별로 큐잉(Queueing)되어 있는 패킷의 수를 연산한다. 특정 경로에 큐잉되어 있는 패킷의 수는 각 경로의 혼잡 정도를 판단하기 위한 파라미터로 활용될 수 있다. 큐잉 패킷 수 연산부(420)는 현재 혼잡 윈도우의 크기, 현재 RTT 값 및 최소 RTT 값을 이용하여 현재 큐잉되어 있는 패킷의 수를 연산한다. The queuing packet number calculating unit 420 calculates the number of packets queued for each path. The number of packets queued in a specific path can be used as a parameter for determining the degree of congestion of each path. The queuing packet number calculating unit 420 calculates the number of currently queued packets using the size of the current congestion window, the current RTT value, and the minimum RTT value.

경로 r의 현재 혼잡 윈도우의 크기가

Figure 112019116355342-pat00013
이고, 경로 r에서 획득된 최소 RTT 값이
Figure 112019116355342-pat00014
이며, 경로 r의 현재 RTT가
Figure 112019116355342-pat00015
로 정의될 때, 경로 r에 큐잉되어 있는 패킷의 수(
Figure 112019116355342-pat00016
)는 다음의 수학식 1과 같이 연산될 수 있다. The size of the current congestion window of path r is
Figure 112019116355342-pat00013
And the minimum RTT value obtained in path r is
Figure 112019116355342-pat00014
And the current RTT of path r is
Figure 112019116355342-pat00015
When defined as, the number of packets queued in path r (
Figure 112019116355342-pat00016
) Can be calculated as in Equation 1 below.

Figure 112019116355342-pat00017
Figure 112019116355342-pat00017

목표 패킷 수 제어부(430)는 각 경로별 목표 패킷의 수를 제어한다. 경로별 목표 패킷 수 제어부(430)는 패킷의 재정렬로 인한 지연이 발생된다고 판단되는 경우 경로별 목표 패킷 수를 재설정한다. The target packet number control unit 430 controls the number of target packets for each path. When it is determined that the delay due to rearrangement of packets occurs, the target packet number for each path controller 430 resets the target packet number for each path.

기존의 MPTCP 혼잡 제어 기법에서는 경로 내에서 혼잡 제어 방식만을 제시할 뿐 수신단에서 수시된 패킷을 재정렬하는 과정으로 인해 발생하는 지연은 고려하지 않았다. In the existing MPTCP congestion control scheme, only the congestion control scheme in the path is presented, and the delay caused by the process of rearranging received packets at the receiving end is not considered.

MPTCP 기법이 이용될 때 다수의 경로를 통해 패킷이 전달되고 각 경로별로 전송 시간이 상이하므로 패킷은 정해진 순서대로 도착하지 않게 되고, 따라서 순서에 맞게 도달하지 않은 패킷들을 재정열하는 지연이 발생하게 된다. When the MPTCP technique is used, packets are transmitted through multiple paths, and the transmission time is different for each path, so the packets do not arrive in the specified order, and a delay occurs in rearranging packets that did not arrive in order. .

본 발명에서는 이와 같은 패킷 재정렬 지연이 발생한다고 판단되는 경우, 목표 패킷의 수를 재설정하도록 한다. In the present invention, when it is determined that the packet rearrangement delay occurs, the number of target packets is reset.

본 발명의 일 실시예에 따르면, 모든 경로의 큐잉되어 있는 패킷 수의 합이 모든 경로에서의 목표 패킷의 수의 합보다 크고 이러한 상태가 지속될 경우 패킷 재정렬 지연이 발생한다고 판단한다. According to an embodiment of the present invention, when the sum of the number of queued packets in all paths is greater than the sum of the number of target packets in all paths and this state persists, it is determined that a packet rearrangement delay occurs.

모든 경로에서의 목표 패킷 수의 합이

Figure 112019116355342-pat00018
로 정의될 때, 다음의 수학식 2와 같은 조건이 만족되는지 여부가 1차적으로 판단된다. The sum of the number of target packets on all routes is
Figure 112019116355342-pat00018
When defined as, it is primarily determined whether the condition as in Equation 2 below is satisfied.

Figure 112019116355342-pat00019
Figure 112019116355342-pat00019

위 수학식 2와 같은 판단은 주기적으로 이루어지며, 모든 경로의 목표 패킷 수의 합보다 모든 경로에 큐잉되어 있는 패킷의 수가 더 크면 각 주기별로 카운터가 증가되며, 증가된 카운터가 미리 설정된 임계치 이상일 경우 재정렬 지연이 발생한다고 판단한다. The determination as in Equation 2 above is made periodically, and if the number of packets queued in all routes is larger than the sum of the target packets in all routes, the counter is incremented for each period, and if the increased counter is more than a preset threshold It is determined that there is a delay in reordering.

모든 경로의 목표 패킷의 수의 합이 모든 경로에 큐잉되어 있는 패킷의 수보다 더 많은 상태는 일시적으로 발생할 수도 있다. 이러한 일시적 상태가 발생할 때마다 목표 패킷 수를 재설정하게 될 경우 불필요한 자원이 낭비될 수도 있으므로 수학식 2의 상태가 지속될 경우에 목표 패킷의 수를 재설정하는 것이 바람직하다. A condition in which the sum of the number of target packets in all paths is greater than the number of packets queued in all paths may occur temporarily. If the number of target packets is reset whenever such a temporary state occurs, unnecessary resources may be wasted. Therefore, it is preferable to reset the number of target packets when the state of Equation 2 persists.

특정 경로 r의 재정렬 시간을

Figure 112019116355342-pat00020
이라고 정의할 때 재정렬 지연 시간은 다음의 수학식 3과 같은 범위를 가질 수 있다. Reorder time for a specific path r
Figure 112019116355342-pat00020
When defined as, the rearrangement delay time may have a range as shown in Equation 3 below.

Figure 112019116355342-pat00021
Figure 112019116355342-pat00021

위 수학식 3에서 Rs는 모든 경로의 집합을 의미한다. In Equation 3 above, Rs means a set of all paths.

본 발명의 바람직한 실시예에 따르면, 재졍렬로 인한 지연 최소화를 위해 모든 경로의 RTT 값이 균일화되도록 경로별 목표 패킷의 수를 제어한다. 경로 r의 RTT는 MPTCP fluid model에 따를 때 다음의 수학식 4와 같이 모델링될 수 있다. According to a preferred embodiment of the present invention, the number of target packets per path is controlled so that RTT values of all paths are uniform in order to minimize delay due to re-alignment. The RTT of the path r may be modeled as shown in Equation 4 below when following the MPTCP fluid model.

Figure 112019116355342-pat00022
Figure 112019116355342-pat00022

위 수학식 4에서,

Figure 112019116355342-pat00023
은 경로 r에 대한 전송량으로
Figure 112019116355342-pat00024
로 계산될 수 있다. 모든 경로의 RTT를 균일화시키기 위한 목표 RTT값을
Figure 112019116355342-pat00025
로 정의할 때, 목표 RTT는 다음의 수학식 5과 같이 표현될 수 있다. 수학식 5은 가비의 리를 따른 것이다. In Equation 4 above,
Figure 112019116355342-pat00023
Is the amount of transmission over path r
Figure 112019116355342-pat00024
Can be calculated as Target RTT value to equalize RTT of all paths
Figure 112019116355342-pat00025
When defined as, the target RTT may be expressed as in Equation 5 below. Equation 5 follows Gaby's Lee.

Figure 112019116355342-pat00026
Figure 112019116355342-pat00026

목표 패킷 수 제어부(430)는 목표 RTT 값과 현재 RTT 값의 차이가 최소화되도록 목표 패킷 수(

Figure 112019116355342-pat00027
)를 재설정한다. 이 최적화 문제는 다음의 수학식 6과 같이 표현될 수 있다. The target packet number control unit 430 is configured to minimize the target RTT value and the current RTT value.
Figure 112019116355342-pat00027
). This optimization problem can be expressed as Equation 6 below.

Figure 112019116355342-pat00028
Figure 112019116355342-pat00028

위 수학식 6에서,

Figure 112019116355342-pat00029
은 현재 사용중인 경로의 비율을 나타내는 값으로
Figure 112019116355342-pat00030
로 계산된다. 또한, 위 수학식 6에서 In Equation 6 above,
Figure 112019116355342-pat00029
Is a value representing the percentage of the path currently being used
Figure 112019116355342-pat00030
Is calculated as Also, in Equation 6 above

위 수학식 6에 대해 Gradient Projection Method를 적용하면 수학식 7과 같이 정리될 수 있다. When the gradient projection method is applied to Equation 6 above, it can be summarized as Equation 7.

Figure 112019116355342-pat00031
Figure 112019116355342-pat00031

위 수학식 7에서 얻은 결과를 바탕으로 아래의 수학식 8을

Figure 112019116355342-pat00032
Figure 112019116355342-pat00033
가 수렴할 때까지 반복해서 업데이트 하면서 최적의 목표 패킷 수인
Figure 112019116355342-pat00034
을 획득한다. Based on the result obtained in Equation 7 above, Equation 8 below is
Figure 112019116355342-pat00032
Wow
Figure 112019116355342-pat00033
It is updated repeatedly until the convergence of
Figure 112019116355342-pat00034
To obtain.

Figure 112019116355342-pat00035
Figure 112019116355342-pat00035

Figure 112019116355342-pat00036
Figure 112019116355342-pat00036

위 수학식 8에서

Figure 112019116355342-pat00037
Figure 112019116355342-pat00038
는 스텝 사이즈이며
Figure 112019116355342-pat00039
는 실현 가능한 정의역 (
Figure 112019116355342-pat00040
Figure 112019116355342-pat00041
)으로의 프로젝션 연산을 의미한다.In Equation 8 above
Figure 112019116355342-pat00037
Wow
Figure 112019116355342-pat00038
Is the step size
Figure 112019116355342-pat00039
Is the feasible domain (
Figure 112019116355342-pat00040
Wow
Figure 112019116355342-pat00041
) Means a projection operation.

수학식 7내지 수학식 8에 의한 목표 패킷 수 연산은 일 실시예에 불과하며, 모든 경로의 RTT를 균일화시키기 위한 목표 패킷 수는 다른 방식으로도 연산할 수 있다는 점은 당업자에게 있어 자명할 것이다. It will be apparent to those skilled in the art that the calculation of the number of target packets according to Equations 7 to 8 is only one embodiment, and that the number of target packets for equalizing the RTT of all paths can be calculated in other ways.

혼잡 윈도우 제어부(440)는 혼잡 윈도우의 크기를 제어하는 기능을 한다. 혼잡 윈도우 제어부(440)는 미리 설정된 혼잡 윈도우 제어 주기(TR)마다 해당 경로가 혼잡 상태인지 여부를 판단하여 혼잡 윈도우의 크기를 제어한다. The congestion window control unit 440 functions to control the size of the congestion window. The congestion window control unit 440 controls the size of the congestion window by determining whether a corresponding path is congested every preset congestion window control period T R.

특정 목표 패킷의 수와 해당 경로의 큐잉되어 있는 패킷의 수를 비교하여 혼잡 상태인지 여부를 판단한다. 목표 패킷의 수가 큐잉되어 있는 패킷의 수보다 클 경우 혼잡 상태가 아니라고 판단하고 혼잡 윈도우를 증가시킨다. 그러나, 목표 패킷의 수보다 큐잉되어 있는 패킷의 수가 클 경우 혼잡 상태라고 판단하여 혼잡 윈도우의 크기를 감소시킨다. The number of specific target packets and the number of queued packets in the corresponding path are compared to determine whether they are congested. If the number of target packets is larger than the number of queued packets, it is determined that there is no congestion and the congestion window is increased. However, when the number of queued packets is larger than the number of target packets, it is determined that the packet is congested and the size of the congestion window is reduced.

본 발명의 바람직한 실시예에 따르면,

Figure 112019116355342-pat00042
, 일 경우, 경로 r의 혼잡 윈도우 크기(
Figure 112019116355342-pat00043
)를
Figure 112019116355342-pat00044
만큼 증가한다. 여기서,
Figure 112019116355342-pat00045
는 혼잡 윈도우 크기 변화의 민감성을 조절하는 상수로서 미리 설정되며
Figure 112019116355342-pat00046
사이의 값을 가진다. 혼잡 윈도우의 크기를 목표 패킷수에 대해
Figure 112019116355342-pat00047
를 곱한 값만큼 증가시키되, 현재 혼잡 윈도우 크기의 2배 이상 증가시키지 않도록 하는 것이다. According to a preferred embodiment of the present invention,
Figure 112019116355342-pat00042
If,, the congestion window size of path r (
Figure 112019116355342-pat00043
)
Figure 112019116355342-pat00044
Increases by here,
Figure 112019116355342-pat00045
Is preset as a constant that controls the sensitivity of the change in the size of the congested window.
Figure 112019116355342-pat00046
It has a value between. The size of the congestion window to the target number of packets
Figure 112019116355342-pat00047
It increases by the multiplied value of, but does not increase more than twice the size of the current congestion window.

한편,

Figure 112019116355342-pat00048
일 경우, 경로 r의 혼잡 윈도우(
Figure 112019116355342-pat00049
)를
Figure 112019116355342-pat00050
만큼 감소시킨다. 이러한 본 발명의 혼잡 윈도우 제어 방법은 가변적인 감소 비율을 가지기 때문에 현재 큐잉되어 있는 패킷의 수가 목표 패킷의 수와 차이가 클 경우 큰 감소율을 가지게 되며, 이를 통해 큐잉 지연 시간이 발생하였을 때 이를 효과적으로 줄일 수 있게 된다. Meanwhile,
Figure 112019116355342-pat00048
In the case of, the congestion window of path r (
Figure 112019116355342-pat00049
)
Figure 112019116355342-pat00050
Decrease by Since the congestion window control method of the present invention has a variable reduction ratio, it has a large reduction ratio when the number of currently queued packets is larger than the number of target packets, which effectively reduces the queuing delay time when a You will be able to.

아울러, 본 발명의 목표 패킷 수는 혼잡 상황에 대한 빠른 반응을 위해 다음의 수학식 9와 같은 조건을 만족하도록 설정된다. In addition, the number of target packets of the present invention is set to satisfy the condition of Equation 9 below for a quick response to a congestion situation.

Figure 112019116355342-pat00051
Figure 112019116355342-pat00051

위 수학식 9의 조건은 수학식 6에도 설정되어 있다. TR은 앞서 정의한 바와 같이 혼잡 윈도우의 제어 주기이다. 즉, 경로 별 목표 패킷 수는 혼잡 윈도우 제어 주기를

Figure 112019116355342-pat00052
로 나눈 값에 비해 크게 설정되는 것이다. The condition of Equation 9 above is also set in Equation 6. T R is the control period of the congestion window as previously defined. That is, the number of target packets per route is the congestion window control period.
Figure 112019116355342-pat00052
It is set larger than the value divided by.

도 5는 본 발명의 일 실시예에 따른 혼잡 제어 방법의 흐름을 나타낸 순서도이다. 5 is a flow chart showing the flow of a congestion control method according to an embodiment of the present invention.

도 5를 참조하면, 주기적으로 각 경로별로 현재 RTT 값을 획득한다(단계 500). Referring to FIG. 5, a current RTT value is periodically acquired for each path (step 500).

또한, 각 경로별로 주기적으로 현재 큐잉되어 있는 패킷의 수를 연산한다(단계 502). 물론, 큐잉되어 있는 패킷의 수는 주기적으로 이루어지지 않고 혼잡 윈도우 제어 시점 또는 목표 패킷 수 재설정 시점에 연산될 수도 있을 것이다. In addition, the number of currently queued packets is periodically calculated for each path (step 502). Of course, the number of queued packets may not be performed periodically and may be calculated at the time of controlling the congestion window or resetting the number of target packets.

앞서 설명한 바와 같이, 큐잉되어 있는 패킷의 수는 현재 RTT, 최소 RTT 및 혼잡 윈도우의 크기를 이용하여 수학식 1과 같이 연산될 수 있다. As described above, the number of queued packets may be calculated as in Equation 1 using the current RTT, the minimum RTT, and the size of the congestion window.

재전송 지연이 발생할 수 있는 상태인지 여부를 판단한다(단계 504). 앞서 설명한 바와 같이, 본 발명의 일 실시예에 따르면, 모든 경로에 큐잉되어 있는 패킷의 수가 모든 경로의 목표 패킷 수보다 큰 상태이고 이러한 상태가 지속될 경우 재전송 지연이 발생할 수 있다고 판단한다. It is determined whether a retransmission delay can occur (step 504). As described above, according to an embodiment of the present invention, it is determined that the number of packets queued in all paths is greater than the number of target packets in all paths, and if this state persists, a retransmission delay may occur.

재전송 지연이 발생할 수 있다고 판단되면, 각 경로별 목표 패킷의 수를 재설정한다(단계 506). 재전송 지연을 최소화하기 위해 모든 경로의 목표 패킷 수가 균일해지도록 경로별 목표 패킷 수를 재설정하며, 수학식 6내지 수학식 8에 의해 경로별 목표 패킷의 수가 재설정될 수 있을 것이다. If it is determined that a retransmission delay may occur, the number of target packets for each path is reset (step 506). In order to minimize the retransmission delay, the number of target packets for each path is reset so that the number of target packets for all paths becomes uniform, and the number of target packets for each path may be reset by Equations 6 to 8.

또한, 혼잡 윈도우 제어 주기인지 여부가 판단된다(단계 508). 혼잡 윈도우 제어 주기일 경우 혼잡 상태에 따른 혼잡 윈도우 크기 제어가 이루어진다(단계 510). 혼잡 윈도우 크기 제어는 특정 경로에 큐잉되어 있는 패킷의 수와 목표 패킷의 수를 비교한 후 비교 결과에 기초하여 이루어진다. 앞서 설명한 바와 같이, 목표 패킷의 수는 재정렬 지연 발생 여부에 따라 재설정될 수도 있다. Further, it is determined whether it is a congestion window control period (step 508). In the case of the congestion window control period, the congestion window size is controlled according to the congestion state (step 510). The congestion window size control is performed based on the comparison result after comparing the number of packets queued in a specific path with the number of target packets. As described above, the number of target packets may be reset according to whether or not a rearrangement delay occurs.

큐잉되어 있는 패킷의 수가 목표 패킷의 수보다 작을 경우 혼잡 상태가 아니라고 판단하여 혼잡 윈도우의 크기를 증가시키도록 혼잡 윈도우 크기 제어가 이루어진다. When the number of queued packets is smaller than the number of target packets, it is determined that the congestion is not present and the congestion window size is controlled to increase the size of the congestion window.

큐잉되어 있는 패킷의 수가 목표 패킷의 수보다 클 경우 혼잡 상태라고 판단하여 혼잡 윈도우의 크기를 감소시키도록 혼잡 윈도우 크기 제어가 이루어진다. When the number of queued packets is larger than the number of target packets, it is determined that the packet is congested and the size of the congestion window is controlled to reduce the size of the congestion window.

도 6은 본 발명의 일 실시예에 따른 혼잡 제어 방법과 종래의 혼잡 제어 방법의 전송량을 비교한 그래프이다. 6 is a graph comparing a transmission amount of a congestion control method according to an embodiment of the present invention and a conventional congestion control method.

도 6에서 본 발명에 의한 혼잡 제어 방법은 DEFT로 표시되어 있으며, 본 발명의 혼잡 제어 방법을 종래의 혼잡 제어 방법인 Balia, DA-MPTCP, wVegas와 비교하였다. 본 발명의 전송량(Goodput)을 종래의 방법들과 비교해볼 때 Balia 대비 156.62%, DA-MPTCP 대비 119.86%, wVegas 대비 131.48% 성능 이득을 얻을 수 있다는 것을 확인할 수 있다. In FIG. 6, the congestion control method according to the present invention is indicated by DEFT, and the congestion control method of the present invention is compared with the conventional congestion control methods Balia, DA-MPTCP, and wVegas. When comparing the goodput of the present invention with conventional methods, it can be seen that performance gains of 156.62% compared to Balia, 119.86% compared to DA-MPTCP, and 131.48% compared to wVegas can be obtained.

도 7은 본 발명의 일 실시에에 따른 혼잡 제어 방법과 종래의 혼잡 제어 방법의 지연 시간을 비교한 그래프이다. 7 is a graph comparing delay times between a congestion control method according to an embodiment of the present invention and a conventional congestion control method.

도 7을 참조하면, 본 발명의 혼잡 제어 방법(DEFT)을 종래의 혼잡 제어 방법(Balia, DA-MPTCP, wVegas)와 본 발명의 종단간 지연시간을 비교해 보면 평균적으로 Balia 대비 28..04%, DA-MPTCP 대비 18.91%, wVegas 대비 1.80% 지연 시간 감소효과를 얻을 수 있다는 것을 확인할 수 있다. 또한 종단간 지연시간 표준 편차를 비교해 보면 Balia 대비 75.99%, DA-MPTCP 대비 77.29%, wVegas 대비 43.42% 지연 시간 감소효과를 얻을 수 있다.Referring to FIG. 7, when comparing the congestion control method (DEFT) of the present invention with the conventional congestion control method (Balia, DA-MPTCP, wVegas) and the end-to-end delay time of the present invention, on average is 28..04% compared to Balia. , It can be seen that the delay time reduction effect of 18.91% compared to DA-MPTCP and 1.80% compared to wVegas can be obtained. In addition, when comparing the standard deviation of the end-to-end delay time, the effect of reducing the delay time by 75.99% compared to Balia, 77.29% compared to DA-MPTCP, and 43.42% compared to wVegas can be obtained.

전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다.The above description of the present invention is for illustrative purposes only, and those of ordinary skill in the art to which the present invention pertains will be able to understand that it can be easily modified into other specific forms without changing the technical spirit or essential features of the present invention. will be.

그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.Therefore, it should be understood that the embodiments described above are illustrative in all respects and not limiting.

예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.For example, each component described as a single type may be implemented in a distributed manner, and similarly, components described as being distributed may also be implemented in a combined form.

본 발명의 범위는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.The scope of the present invention is indicated by the claims to be described later, and all changes or modified forms derived from the meaning and scope of the claims and their equivalent concepts should be interpreted as being included in the scope of the present invention.

Claims (15)

경로별로 현재 RTT 값을 획득하는 RTT 획득부;
각 경로별로 현재 큐잉되어 있는 패킷의 수를 연산하는 큐잉 패킷 수 연산부; 및
재정렬 지연이 발생된다고 판단되는 경우 각 경로별로 큐잉 가능한 패킷 수(목표 패킷 수)를 재설정하는 목표 패킷 수 제어부를 포함하되,
상기 목표 패킷 수 제어부는 각 경로별 RTT 값의 차이가 최소화되도록 상기 목표 패킷 수를 재설정하고,
상기 큐잉 패킷 수 연산부는 각 경로의 현재 RTT, 각 경로별 최소 RTT 및 각 경로별 혼잡 윈도우의 크기를 이용하여 연산되며,
상기 큐잉 패킷 수 연산부는 다음의 수학식과 같이 경로 r의 큐잉 패킷 수를 연산하는 것을 특징으로 하는 MPTCP 혼잡 제어 장치.
Figure 112020132050760-pat00084

위 수학식에서
Figure 112020132050760-pat00085
은 경로 r에서의 혼잡 윈도우의 크기이고,
Figure 112020132050760-pat00086
은 경로 r에서의 최소 RTT이고,
Figure 112020132050760-pat00087
은 경로 r에서의 현재 RTT임.
An RTT acquisition unit that acquires a current RTT value for each path;
A queuing packet number calculating unit for calculating the number of packets currently queued for each path; And
Includes a target packet number control unit for resetting the number of queuable packets (target packet number) for each path when it is determined that a rearrangement delay occurs,
The target packet number control unit resets the target packet number so that the difference in RTT value for each path is minimized,
The queuing packet number calculation unit is calculated using the current RTT of each path, the minimum RTT for each path, and the size of the congestion window for each path,
The MPTCP congestion control apparatus, wherein the queuing packet number calculating unit calculates the number of queuing packets in the path r as shown in the following equation.
Figure 112020132050760-pat00084

In the above equation
Figure 112020132050760-pat00085
Is the size of the congestion window in path r,
Figure 112020132050760-pat00086
Is the minimum RTT in path r,
Figure 112020132050760-pat00087
Is the current RTT in path r.
제1항에 있어서,
상기 목표 패킷 수 제어부는 전체 경로에 큐잉되어 있는 패킷 수와 전체 경로의 목표 패킷 수를 비교하여 재정렬 지연이 발생되는지 여부를 판단하는 것을 특징으로 하는 MPTCP 혼잡 제어 장치.
The method of claim 1,
And the target packet number control unit determines whether a rearrangement delay occurs by comparing the number of packets queued in the entire path with the number of target packets in the entire path.
제2항에 있어서,
상기 목표 패킷 수 제어부는 전체 경로에 큐잉되어 있는 패킷 수가 전체 경로의 목표 패킷 수보다 큰 상태가 지속될 경우 재정렬 지연이 발생된다고 판단하는 것을 특징으로 하는 MPTCP 혼잡 제어 장치.
The method of claim 2,
And the target packet number control unit determines that a rearrangement delay occurs when the number of packets queued in the entire path continues to be greater than the target packet number of the entire path.
삭제delete 삭제delete 제1항에 있어서,
상기 큐잉되어 있는 패킷 수와 목표 패킷 수를 비교하여 혼잡 윈도우의 크기를 제어하는 혼잡 윈도우 제어부를 더 포함하는 것을 특징으로 하는 MPTCP 혼잡 제어 장치.
The method of claim 1,
And a congestion window control unit configured to control the size of the congestion window by comparing the number of queued packets with the number of target packets.
제6항에 있어서,
상기 혼잡 윈도우 제어부는 상기 큐잉되어 있는 패킷 수(
Figure 112019116355342-pat00057
)가 목표 패킷 수(
Figure 112019116355342-pat00058
)보다 작을 경우, 상기 혼잡 윈도우의 크기를
Figure 112019116355342-pat00059
만큼 증가시키며,
Figure 112019116355342-pat00060
은 현재 혼잡 윈도우의 크기이고,
Figure 112019116355342-pat00061
는 미리 설정되는 상수인 것을 특징으로 하는 MPTCP 혼잡 제어 장치.
The method of claim 6,
The congestion window control unit includes the number of queued packets (
Figure 112019116355342-pat00057
) Is the target packet count (
Figure 112019116355342-pat00058
), the size of the congestion window
Figure 112019116355342-pat00059
Increases by
Figure 112019116355342-pat00060
Is the size of the current congestion window,
Figure 112019116355342-pat00061
MPTCP congestion control apparatus, characterized in that the constant set in advance.
제7항에 있어서,
상기 혼잡 윈도우 제어부는 상기 큐잉되어 있는 패킷 수(
Figure 112019116355342-pat00062
)가 목표 패킷 수(
Figure 112019116355342-pat00063
)보다 클 경우 상기 혼잡 윈도우의 크기를
Figure 112019116355342-pat00064
만큼 감소시키는 것을 특징으로 하는 MPTCP 혼잡 제어 장치.
The method of claim 7,
The congestion window control unit includes the number of queued packets (
Figure 112019116355342-pat00062
) Is the target packet count (
Figure 112019116355342-pat00063
), the size of the congestion window
Figure 112019116355342-pat00064
MPTCP congestion control device, characterized in that reduced by.
경로별로 현재 RTT 값을 획득하는 단계(a);
각 경로별로 현재 큐잉되어 있는 패킷의 수를 연산하는 단계(b); 및
재정렬 지연이 발생된다고 판단되는 경우 각 경로별로 큐잉 가능한 패킷 수(목표 패킷 수)를 재설정하는 단계(c)를 포함하되,
상기 단계(c)는 각 경로별 RTT 값의 차이가 최소화되도록 상기 목표 패킷 수를 재설정하고,
상기 단계(b)는 각 경로의 현재 RTT, 각 경로별 최소 RTT 및 각 경로별 혼잡 윈도우의 크기를 이용하여 연산되며,
상기 단계(b)는 다음의 수학식과 같이 경로 r의 큐잉 패킷 수를 연산하는 것을 특징으로 하는 MPTCP 혼잡 제어 방법.
Figure 112020132050760-pat00088

위 수학식에서
Figure 112020132050760-pat00089
은 경로 r에서의 혼잡 윈도우의 크기이고,
Figure 112020132050760-pat00090
은 경로 r에서의 최소 RTT이고,
Figure 112020132050760-pat00091
은 경로 r에서의 현재 RTT임.
Obtaining a current RTT value for each path (a);
Calculating the number of packets currently queued for each path (b); And
Including the step (c) of resetting the number of queuable packets (the number of target packets) for each path when it is determined that the rearrangement delay occurs,
The step (c) resets the number of target packets so that the difference in RTT values for each path is minimized,
The step (b) is calculated using the current RTT of each path, the minimum RTT for each path, and the size of the congestion window for each path,
The step (b) is an MPTCP congestion control method, characterized in that calculating the number of queuing packets in the path r as shown in the following equation.
Figure 112020132050760-pat00088

In the above equation
Figure 112020132050760-pat00089
Is the size of the congestion window in path r,
Figure 112020132050760-pat00090
Is the minimum RTT in path r,
Figure 112020132050760-pat00091
Is the current RTT in path r.
제9항에 있어서,
상기 단계(c)는 전체 경로에 큐잉되어 있는 패킷 수와 전체 경로의 목표 패킷 수를 비교하여 재정렬 지연이 발생되는지 여부를 판단하는 것을 특징으로 하는 MPTCP 혼잡 제어 방법.
The method of claim 9,
In the step (c), the number of packets queued in the entire path is compared with the number of target packets in the entire path to determine whether a rearrangement delay occurs.
제10항에 있어서,
상기 단계(c)는 전체 경로에 큐잉되어 있는 패킷 수가 전체 경로의 목표 패킷 수보다 큰 상태가 지속될 경우 재정렬 지연이 발생된다고 판단하는 것을 특징으로 하는 MPTCP 혼잡 제어 방법.
The method of claim 10,
In the step (c), when the number of packets queued in the entire path continues to be greater than the number of target packets in the entire path, it is determined that a rearrangement delay occurs.
삭제delete 삭제delete 제9항에 있어서,
상기 큐잉되어 있는 패킷 수와 목표 패킷 수를 비교하여 혼잡 윈도우의 크기를 제어하는 단계(d)를 더 포함하되,
상기 단계(d)는 상기 큐잉되어 있는 패킷 수(
Figure 112020132050760-pat00069
)가 목표 패킷 수(
Figure 112020132050760-pat00070
)보다 작을 경우, 상기 혼잡 윈도우의 크기를
Figure 112020132050760-pat00071
만큼 증가시키고, 상기 큐잉되어 있는 패킷 수(
Figure 112020132050760-pat00072
)가 목표 패킷 수(
Figure 112020132050760-pat00073
)보다 작을 경우, 상기 혼잡 윈도우의 크기를
Figure 112020132050760-pat00074
만큼 감소시키며,
Figure 112020132050760-pat00075
은 현재 혼잡 윈도우의 크기이고,
Figure 112020132050760-pat00076
는 미리 설정되는 상수인 것을 특징으로 하는 MPTCP 혼잡 제어 방법.







The method of claim 9,
Comparing the number of queued packets and the number of target packets to control the size of the congestion window (d),
The step (d) is the number of queued packets (
Figure 112020132050760-pat00069
) Is the target packet count (
Figure 112020132050760-pat00070
), the size of the congestion window
Figure 112020132050760-pat00071
And the number of queued packets (
Figure 112020132050760-pat00072
) Is the target packet count (
Figure 112020132050760-pat00073
), the size of the congestion window
Figure 112020132050760-pat00074
Decrease by
Figure 112020132050760-pat00075
Is the size of the current congestion window,
Figure 112020132050760-pat00076
Is a preset constant MPTCP congestion control method, characterized in that.







삭제delete
KR1020190144857A 2019-11-13 2019-11-13 MPTCP Congestion Control Device and Method for High Speed and Low Latency Communication KR102214854B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190144857A KR102214854B1 (en) 2019-11-13 2019-11-13 MPTCP Congestion Control Device and Method for High Speed and Low Latency Communication

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190144857A KR102214854B1 (en) 2019-11-13 2019-11-13 MPTCP Congestion Control Device and Method for High Speed and Low Latency Communication

Publications (1)

Publication Number Publication Date
KR102214854B1 true KR102214854B1 (en) 2021-02-09

Family

ID=74559110

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190144857A KR102214854B1 (en) 2019-11-13 2019-11-13 MPTCP Congestion Control Device and Method for High Speed and Low Latency Communication

Country Status (1)

Country Link
KR (1) KR102214854B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180010531A (en) * 2016-07-21 2018-01-31 삼성전자주식회사 Method and apparatus for controlling send buffer of transport control protocol in communication system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180010531A (en) * 2016-07-21 2018-01-31 삼성전자주식회사 Method and apparatus for controlling send buffer of transport control protocol in communication system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
‘Bufferbloat 경로를 가지는 MPTCP의 성능 향상을 위한 수신 버퍼 HoL 패킷 재전송 알고리즘 설계’, 전자공학회 논문지, 55(2), pp.39-49, 2018.2.* *

Similar Documents

Publication Publication Date Title
US10594596B2 (en) Data transmission
CN110431809B (en) Method and apparatus for distributing packets over multiple links in a mobile communication network
Ferlin-Oliveira et al. Tackling the challenge of bufferbloat in multi-path transport over heterogeneous wireless networks
US8547839B2 (en) TCP congestion control for heterogeneous networks
US9980156B2 (en) Optimization of downlink throughput
KR102187810B1 (en) Apparatus and method for controlling data flow in a communication system
US9503377B2 (en) System and method for a TCP mapper
KR20150089853A (en) Traffic split control method and apparatus in heterogeneous wireless networks
US8472316B2 (en) Utilization of data links
KR102318284B1 (en) Congestion detection method for data transmission and device therefor
KR20200083582A (en) Systems and methods for accelerating or decelerating data transmission network protocols based on real-time transmission network congestion conditions
EP3682665B1 (en) Packet latency reduction in mobile radio access networks
KR101849302B1 (en) Method for controlling a congestion window for multi path TCP in heterogeneous network
Chiariotti et al. LEAP: A latency control protocol for multi-path data delivery with pre-defined QoS guarantees
KR102214854B1 (en) MPTCP Congestion Control Device and Method for High Speed and Low Latency Communication
KR102094988B1 (en) Congestion window control method for multipath transmission control protocol
Armitage et al. Using delay-gradient TCP for multimedia-friendly ‘background’transport in home networks
KR101515595B1 (en) System and method for TCP packet transmission for wireless network transmission enhancement
KR102626729B1 (en) Apparatus and Method for Controlling MPTCP Congestion Window in Wireless Network
Choi et al. Research challenge on mptcp in 5g/6g networks
Raniwala et al. Evaluation of a stateful transport protocol for multi-channel wireless mesh networks
Felix et al. CD-ASM: A new queuing paradigm to overcome bufferbloat effects in HetNets
Subash et al. mpQUAD: Multipath Quad TCP Congestion Control in FANETs
Prokopiak et al. Application aware concurrent multipath transmission in hybrid wireless networks
Keceli et al. Fair and efficient TCP access in the IEEE 802.11 infrastructure basic service set

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant