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 PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/56—Queue scheduling implementing delay-aware scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0852—Delays
- H04L43/0864—Round trip delays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
-
- H04L47/14—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/18—End to end
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/19—Flow control; Congestion control at layers above the network layer
- H04L47/193—Flow control; Congestion control at layers above the network layer at the transport layer, e.g. TCP related
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/27—Evaluation or update of window size, e.g. using information derived from acknowledged [ACK] packets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/14—Multichannel or multilink protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/326—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the transport layer [OSI layer 4]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/02—Processing 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/04—Registration at HLR or HSS [Home Subscriber Server]
Abstract
Description
본 발명은 혼잡 제어 장치 및 방법에 관한 것으로서, 더욱 상세하게는 고속-저지연 통신을 위한 혼잡 제어 장치 및 방법에 관한 것이다. 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.
위 수학식에서 은 경로 r에서의 혼잡 윈도우의 크기이고, 은 경로 r에서의 최소 RTT이고, 은 경로 r에서의 현재 RTT임. In the above equation Is the size of the congestion window in path r, Is the minimum RTT in path r, 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.
상기 혼잡 윈도우 제어부는 상기 큐잉되어 있는 패킷 수()가 목표 패킷 수()보다 작을 경우, 상기 혼잡 윈도우의 크기를 만큼 증가시키며, 은 현재 혼잡 윈도우의 크기이고, 는 미리 설정되는 상수이다. The congestion window control unit includes the number of queued packets ( ) Is the target packet count ( ), the size of the congestion window Increases by Is the size of the current congestion window, Is a preset constant.
상기 혼잡 윈도우 제어부는 상기 큐잉되어 있는 패킷 수()가 목표 패킷 수()보다 클 경우 상기 혼잡 윈도우의 크기를 만큼 감소시킨다. The congestion window control unit includes the number of queued packets ( ) Is the target packet count ( ), the size of the congestion window 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 획득부(400)는 통신 가능한 경로별로 현재 RTT(Round Trip Time)를 획득한다. RTT는 테스트 패킷을 수신단에 전송한 후 돌아오는 시간으로서 RTT는 경로의 상태에 따라 가변된다.The
RTT 획득부(400)는 미리 설정된 주기 또는 미리 설정된 이벤트 발생 시에 현재의 RTT를 획득한다. The
최소 RTT 저장부(410)는 RTT 획득부(400)에서 주기적으로 획득되는 RTT 값들 중 최소 RTT 값을 저장한다. 최소 RTT 저장부(410)에는 미리 설정된 기간동안 수집된 RTT 값들 중 최소의 RTT 값이 저장되는 것이다. 최소 RTT 값은 경로별로 저장되며, 경로별 최소 RTT 값은 각 경로에서 네트워크 상태가 가장 양호할 때의 RTT 값으로 정의될 수 있을 것이다. The minimum
큐잉 패킷수 연산부(420)는 각 경로별로 큐잉(Queueing)되어 있는 패킷의 수를 연산한다. 특정 경로에 큐잉되어 있는 패킷의 수는 각 경로의 혼잡 정도를 판단하기 위한 파라미터로 활용될 수 있다. 큐잉 패킷 수 연산부(420)는 현재 혼잡 윈도우의 크기, 현재 RTT 값 및 최소 RTT 값을 이용하여 현재 큐잉되어 있는 패킷의 수를 연산한다. The queuing packet
경로 r의 현재 혼잡 윈도우의 크기가 이고, 경로 r에서 획득된 최소 RTT 값이 이며, 경로 r의 현재 RTT가 로 정의될 때, 경로 r에 큐잉되어 있는 패킷의 수()는 다음의 수학식 1과 같이 연산될 수 있다. The size of the current congestion window of path r is And the minimum RTT value obtained in path r is And the current RTT of path r is When defined as, the number of packets queued in path r ( ) Can be calculated as in
목표 패킷 수 제어부(430)는 각 경로별 목표 패킷의 수를 제어한다. 경로별 목표 패킷 수 제어부(430)는 패킷의 재정렬로 인한 지연이 발생된다고 판단되는 경우 경로별 목표 패킷 수를 재설정한다. The target packet
기존의 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.
모든 경로에서의 목표 패킷 수의 합이 로 정의될 때, 다음의 수학식 2와 같은 조건이 만족되는지 여부가 1차적으로 판단된다. The sum of the number of target packets on all routes is When defined as, it is primarily determined whether the condition as in
위 수학식 2와 같은 판단은 주기적으로 이루어지며, 모든 경로의 목표 패킷 수의 합보다 모든 경로에 큐잉되어 있는 패킷의 수가 더 크면 각 주기별로 카운터가 증가되며, 증가된 카운터가 미리 설정된 임계치 이상일 경우 재정렬 지연이 발생한다고 판단한다. The determination as in
모든 경로의 목표 패킷의 수의 합이 모든 경로에 큐잉되어 있는 패킷의 수보다 더 많은 상태는 일시적으로 발생할 수도 있다. 이러한 일시적 상태가 발생할 때마다 목표 패킷 수를 재설정하게 될 경우 불필요한 자원이 낭비될 수도 있으므로 수학식 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
특정 경로 r의 재정렬 시간을 이라고 정의할 때 재정렬 지연 시간은 다음의 수학식 3과 같은 범위를 가질 수 있다. Reorder time for a specific path r When defined as, the rearrangement delay time may have a range as shown in
위 수학식 3에서 Rs는 모든 경로의 집합을 의미한다. In
본 발명의 바람직한 실시예에 따르면, 재졍렬로 인한 지연 최소화를 위해 모든 경로의 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
위 수학식 4에서, 은 경로 r에 대한 전송량으로 로 계산될 수 있다. 모든 경로의 RTT를 균일화시키기 위한 목표 RTT값을 로 정의할 때, 목표 RTT는 다음의 수학식 5과 같이 표현될 수 있다. 수학식 5은 가비의 리를 따른 것이다. In
목표 패킷 수 제어부(430)는 목표 RTT 값과 현재 RTT 값의 차이가 최소화되도록 목표 패킷 수()를 재설정한다. 이 최적화 문제는 다음의 수학식 6과 같이 표현될 수 있다. The target packet
위 수학식 6에서, 은 현재 사용중인 경로의 비율을 나타내는 값으로 로 계산된다. 또한, 위 수학식 6에서 In
위 수학식 6에 대해 Gradient Projection Method를 적용하면 수학식 7과 같이 정리될 수 있다. When the gradient projection method is applied to
위 수학식 7에서 얻은 결과를 바탕으로 아래의 수학식 8을 와 가 수렴할 때까지 반복해서 업데이트 하면서 최적의 목표 패킷 수인 을 획득한다. Based on the result obtained in Equation 7 above, Equation 8 below is Wow It is updated repeatedly until the convergence of To obtain.
위 수학식 8에서 와 는 스텝 사이즈이며 는 실현 가능한 정의역 (와 )으로의 프로젝션 연산을 의미한다.In Equation 8 above Wow Is the step size Is the feasible domain ( Wow ) 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
특정 목표 패킷의 수와 해당 경로의 큐잉되어 있는 패킷의 수를 비교하여 혼잡 상태인지 여부를 판단한다. 목표 패킷의 수가 큐잉되어 있는 패킷의 수보다 클 경우 혼잡 상태가 아니라고 판단하고 혼잡 윈도우를 증가시킨다. 그러나, 목표 패킷의 수보다 큐잉되어 있는 패킷의 수가 클 경우 혼잡 상태라고 판단하여 혼잡 윈도우의 크기를 감소시킨다. 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.
본 발명의 바람직한 실시예에 따르면, , 일 경우, 경로 r의 혼잡 윈도우 크기()를 만큼 증가한다. 여기서, 는 혼잡 윈도우 크기 변화의 민감성을 조절하는 상수로서 미리 설정되며 사이의 값을 가진다. 혼잡 윈도우의 크기를 목표 패킷수에 대해 를 곱한 값만큼 증가시키되, 현재 혼잡 윈도우 크기의 2배 이상 증가시키지 않도록 하는 것이다. According to a preferred embodiment of the present invention, If,, the congestion window size of path r ( ) Increases by here, Is preset as a constant that controls the sensitivity of the change in the size of the congested window. It has a value between. The size of the congestion window to the target number of packets It increases by the multiplied value of, but does not increase more than twice the size of the current congestion window.
한편, 일 경우, 경로 r의 혼잡 윈도우()를 만큼 감소시킨다. 이러한 본 발명의 혼잡 윈도우 제어 방법은 가변적인 감소 비율을 가지기 때문에 현재 큐잉되어 있는 패킷의 수가 목표 패킷의 수와 차이가 클 경우 큰 감소율을 가지게 되며, 이를 통해 큐잉 지연 시간이 발생하였을 때 이를 효과적으로 줄일 수 있게 된다. Meanwhile, In the case of, the congestion window of path r ( ) 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.
위 수학식 9의 조건은 수학식 6에도 설정되어 있다. TR은 앞서 정의한 바와 같이 혼잡 윈도우의 제어 주기이다. 즉, 경로 별 목표 패킷 수는 혼잡 윈도우 제어 주기를 로 나눈 값에 비해 크게 설정되는 것이다. The condition of Equation 9 above is also set in
도 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
재전송 지연이 발생할 수 있는 상태인지 여부를 판단한다(단계 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
또한, 혼잡 윈도우 제어 주기인지 여부가 판단된다(단계 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 및 각 경로별 혼잡 윈도우의 크기를 이용하여 연산되며,
상기 큐잉 패킷 수 연산부는 다음의 수학식과 같이 경로 r의 큐잉 패킷 수를 연산하는 것을 특징으로 하는 MPTCP 혼잡 제어 장치.
위 수학식에서 은 경로 r에서의 혼잡 윈도우의 크기이고, 은 경로 r에서의 최소 RTT이고, 은 경로 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.
In the above equation Is the size of the congestion window in path r, Is the minimum RTT in path r, Is the current RTT in path r.
상기 목표 패킷 수 제어부는 전체 경로에 큐잉되어 있는 패킷 수와 전체 경로의 목표 패킷 수를 비교하여 재정렬 지연이 발생되는지 여부를 판단하는 것을 특징으로 하는 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.
상기 목표 패킷 수 제어부는 전체 경로에 큐잉되어 있는 패킷 수가 전체 경로의 목표 패킷 수보다 큰 상태가 지속될 경우 재정렬 지연이 발생된다고 판단하는 것을 특징으로 하는 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.
상기 큐잉되어 있는 패킷 수와 목표 패킷 수를 비교하여 혼잡 윈도우의 크기를 제어하는 혼잡 윈도우 제어부를 더 포함하는 것을 특징으로 하는 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.
상기 혼잡 윈도우 제어부는 상기 큐잉되어 있는 패킷 수()가 목표 패킷 수()보다 작을 경우, 상기 혼잡 윈도우의 크기를 만큼 증가시키며, 은 현재 혼잡 윈도우의 크기이고, 는 미리 설정되는 상수인 것을 특징으로 하는 MPTCP 혼잡 제어 장치.
The method of claim 6,
The congestion window control unit includes the number of queued packets ( ) Is the target packet count ( ), the size of the congestion window Increases by Is the size of the current congestion window, MPTCP congestion control apparatus, characterized in that the constant set in advance.
상기 혼잡 윈도우 제어부는 상기 큐잉되어 있는 패킷 수()가 목표 패킷 수()보다 클 경우 상기 혼잡 윈도우의 크기를 만큼 감소시키는 것을 특징으로 하는 MPTCP 혼잡 제어 장치.
The method of claim 7,
The congestion window control unit includes the number of queued packets ( ) Is the target packet count ( ), the size of the congestion window MPTCP congestion control device, characterized in that reduced by.
각 경로별로 현재 큐잉되어 있는 패킷의 수를 연산하는 단계(b); 및
재정렬 지연이 발생된다고 판단되는 경우 각 경로별로 큐잉 가능한 패킷 수(목표 패킷 수)를 재설정하는 단계(c)를 포함하되,
상기 단계(c)는 각 경로별 RTT 값의 차이가 최소화되도록 상기 목표 패킷 수를 재설정하고,
상기 단계(b)는 각 경로의 현재 RTT, 각 경로별 최소 RTT 및 각 경로별 혼잡 윈도우의 크기를 이용하여 연산되며,
상기 단계(b)는 다음의 수학식과 같이 경로 r의 큐잉 패킷 수를 연산하는 것을 특징으로 하는 MPTCP 혼잡 제어 방법.
위 수학식에서 은 경로 r에서의 혼잡 윈도우의 크기이고, 은 경로 r에서의 최소 RTT이고, 은 경로 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.
In the above equation Is the size of the congestion window in path r, Is the minimum RTT in path r, Is the current RTT in path r.
상기 단계(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.
상기 단계(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.
상기 큐잉되어 있는 패킷 수와 목표 패킷 수를 비교하여 혼잡 윈도우의 크기를 제어하는 단계(d)를 더 포함하되,
상기 단계(d)는 상기 큐잉되어 있는 패킷 수()가 목표 패킷 수()보다 작을 경우, 상기 혼잡 윈도우의 크기를 만큼 증가시키고, 상기 큐잉되어 있는 패킷 수()가 목표 패킷 수()보다 작을 경우, 상기 혼잡 윈도우의 크기를 만큼 감소시키며, 은 현재 혼잡 윈도우의 크기이고, 는 미리 설정되는 상수인 것을 특징으로 하는 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 ( ) Is the target packet count ( ), the size of the congestion window And the number of queued packets ( ) Is the target packet count ( ), the size of the congestion window Decrease by Is the size of the current congestion window, Is a preset constant MPTCP congestion control method, characterized in that.
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)
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 |
-
2019
- 2019-11-13 KR KR1020190144857A patent/KR102214854B1/en active IP Right Grant
Patent Citations (1)
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)
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 |