KR101694271B1 - Multipath Cubic for Congestion control - Google Patents

Multipath Cubic for Congestion control Download PDF

Info

Publication number
KR101694271B1
KR101694271B1 KR1020150096242A KR20150096242A KR101694271B1 KR 101694271 B1 KR101694271 B1 KR 101694271B1 KR 1020150096242 A KR1020150096242 A KR 1020150096242A KR 20150096242 A KR20150096242 A KR 20150096242A KR 101694271 B1 KR101694271 B1 KR 101694271B1
Authority
KR
South Korea
Prior art keywords
tcp
window
mptcp
congestion
cubic
Prior art date
Application number
KR1020150096242A
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 KR1020150096242A priority Critical patent/KR101694271B1/en
Application granted granted Critical
Publication of KR101694271B1 publication Critical patent/KR101694271B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/15Flow control; Congestion control in relation to multipoint traffic
    • 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
    • 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/25Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations
    • 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/41Flow control; Congestion control by acting on aggregated flows or links

Landscapes

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

Abstract

The present invention relates to a multi-path cubic algorithm for congestion control, which satisfies requirements for multi-path transmission, such as traffic shifting, throughput improvement, fairness, and the like, while maintaining an advantage of a TCP cubic algorithm advantageous in a high-speed long-distance network. A rate of increase of each sub-flow is reduced by a value corresponding to an inverse (r) of the amount of the increase when an MPTCP connection uses a TCP cubic algorithm as a congestion control method, thereby reducing a rate of overall increase related to an MPTCP.

Description

혼잡제어를 위한 다중경로 M-CUBIC{Multipath Cubic for Congestion control}Multipath Cubic for Congestion Control for Congestion Control M-

본 발명은 혼잡제어를 위한 다중경로 CUBIC에 관한 것으로서, 상세하게는 고속의 장거리 네트워크에서 유리한 TCP Cubic의 장점을 유지하면서, 트래픽 이동(traffic shift), 처리율(throughput) 개선 및 공정성(fairness) 등 다중 경로 전송의 요구사항을 만족하는 혼잡제어를 위한 다중경로 CUBIC에 관한 것이다.
The present invention relates to a multi-path CUBIC for congestion control, and more particularly, to a multi-path CUBIC for congestion control, and more particularly, to a multi- Path CUBIC for congestion control satisfying the requirement of path transmission.

통상적으로 데이터 통신에서 사용되는 전송 제어 프로토콜(Transmission Control Protocol; 이하 'TCP'라 한다.)은 통신 네트워크에 적용되어 데이터의 흐름 제어와 오류 제어를 통해 서비스의 신뢰성과 네트워크 적응성을 제공해 준다. 특히, TCP는 고속망에서 적은 지연(delay)과 높은 처리율(throughput)을 보일 뿐만 아니라 혼잡한 네트워크에서도 데이터 흐름을 조절해 끊김이 없는 서비스의 제공이 가능하다.A transmission control protocol (TCP) used in data communication is applied to a communication network to provide service reliability and network adaptability through data flow control and error control. In particular, TCP not only shows low delay and high throughput in a high-speed network, but also provides a seamless service by controlling data flow even in a congested network.

그러나 TCP는 무선 환경과 같이, 신뢰성이 부족한 네트워크에서는 스트리밍 전송이 어려울 뿐만 아니라, 단일TCP 패스가 혼잡 네트워크를 이용하고 있을 때, 그 혼잡 제어가 어려운 문제점가 있다.However, TCP has difficulty in streaming transmission in a network lacking reliability, such as a wireless environment, and congestion control is difficult when a single TCP path uses a congestion network.

이러한 문제점을 해결하기 위하여, 다중경로 전송 제어 프로토콜(Multipath Transmission Control Protocol ;이하 'MPTCP'라 한다.)이 제안되었다.In order to solve this problem, a multipath transmission control protocol (MPTCP) has been proposed.

이러한 MPTCP와 관련된 기술로는 특허문헌 1 및 2를 비롯하여 다양한 것이 있다. There are various technologies related to MPTCP including Patent Documents 1 and 2.

특허문헌 1은 MPTCP에서 대규모 BDP 네트워크에서 이용 효율성을 제공하기 위한 다중 링크에서 다중 경로에 있는 데이터의 병렬 전송 지원 방법에 관한 것이고, Patent Document 1 relates to a method for supporting parallel transmission of data in multiple paths in multiple links in order to provide utilization efficiency in a large-scale BDP network in MPTCP,

특허문헌 2는 (a) 이동 단말이 수직적 핸드오버하는 경우, 이동하는 망이 무선 데이터망인 경우, 이동 통신망을 비활성화시키고, 혼잡 윈도우를 (이전 망의 혼잡윈도우값 ×가중치)로 설정하여 최대치로 설정하는 단계 (b) 상기 이동 단말이 수직적 핸드오버하는 경우, 이동하는 망이 무선 데이터망이 아닌 경우, 이동 통신망을 활성화시키고, 혼잡 윈도우를 (이전 망의 혼잡윈도우값 ×1/가중치)로 설정하는 단계로 이루어진 혼잡제어방법에 관한 것이다. In the case of (a) a mobile terminal performs a vertical handover, if the mobile network is a wireless data network, the mobile terminal disables the mobile communication network and sets the congestion window to a maximum value by setting the congestion window value (B) when the mobile terminal performs a vertical handover, if the mobile network is not a wireless data network, activating a mobile communication network and setting a congestion window (a congestion window value of the previous network × 1 / weight) To a congestion control method.

그러나 혼잡제어와 관련하여 새로운 프로토콜이 설계되고 동작하기 위해서는 다양한 연구가 진행이 되어야 하고, 가장 좋은 경로에서 최소한 단일 경로(single-path) TCP 이상의 성능을 보여야 하므로 처리율(throughput)이 향상되어야 하고, 기존의 TCP에게 해를 주지 않아야 하며(no harm), 가장 혼잡이 적은 경로를 사용할 수 있어야 한다. However, in order to design and operate a new protocol related to congestion control, various researches have to be carried out, and throughput must be improved at least through single-path TCP over the best path, TCP should be harmless (no harm), and the least congested path should be available.

즉, 처리율 향상을 위해서는 단일 경로 TCP와 비교했을 때 활용 가능한 경로를 효율적으로 사용해야 하고, 기존 TCP에 해를 주지않고, 혼잡 균형을 유지하기 위해서는 공정성(fairness), 민감성(responsiveness) 그리고 MPTCP의 트래픽 이동(traffic shifting)을 보장할 수 있어야 한다.In order to improve the throughput, it is necessary to use the available path efficiently compared to the single path TCP. To maintain the congestion balance without harming the existing TCP, fairness, responsiveness, and MPTCP traffic movement it should be possible to guarantee traffic shifting.

따라서 MCCA(Multipath Congestion Control Algorithm)은 위와 같은 요구 사항을 만족시키며, 설계 목적을 달성하기 위해서 서브 플로우(subflow)의 전송 율을 가장 잘 유지하고 조율할 수 있어야 한다. Therefore, the Multipath Congestion Control Algorithm (MCCA) satisfies the above requirements and must be able to best maintain and coordinate the transmission rate of the subflow in order to achieve the design objective.

이러한 요구를 만족시키기 위해 개발된 것이 LIA(Linked Increases Algorithms)이다. Linked Increment Algorithms (LIAs) have been developed to meet these needs.

LIA는 MPTCP의 혼잡제어를 위해서 TCP New RENO를 확장 한 알고리즘이다. LIA는 혼잡 윈도우 크기 증가 인자수식 (1)과LIA is an extension of TCP New RENO for congestion control of MPTCP. LIA is the congestion window size increase factor (1) and

Figure 112015065531381-pat00001
수식(1)
Figure 112015065531381-pat00001
Equation (1)

같이함으로써 RTT의 불일치를 보상한다.By doing so, it compensates for the inconsistency of the RTT.

여기서, α는 알고리즘의 파라미터이며 MPTCP의 공격성(aggressiveness)를 나타낸다. Where α is a parameter of the algorithm and represents the aggressiveness of the MPTCP.

이 파라미터의 계산은 아래의 수식(2)와 같이 주어진다.The calculation of this parameter is given by the following equation (2).

Figure 112015065531381-pat00002
수식(2)
Figure 112015065531381-pat00002
Equation (2)

위 식에서

Figure 112015065531381-pat00003
는 of 서브플로우
Figure 112015065531381-pat00004
의 혼잡 윈도우 크기이고,
Figure 112015065531381-pat00005
는 서브플로우
Figure 112015065531381-pat00006
의 RTT이다. LIA의 설계는 통합 자원을 최적화하는 것과 민감도 사이에서 균형(tradeoff)를 이루는 것이다.In the above equation
Figure 112015065531381-pat00003
Of the subflow
Figure 112015065531381-pat00004
Is the congestion window size of <
Figure 112015065531381-pat00005
Lt; RTI ID =
Figure 112015065531381-pat00006
Of RTT. The design of the LIA is a tradeoff between optimizing integrated resources and sensitivity.

이러한 LIA의 변형으로 OLIA(Opportunistic Linked Increases Algorithm) 알고리즘이 제안되었으며, LIA를 사용하는 MPTCP의 "non-flappy" 현상을 방지할 수 있을 것으로 기대된다. OLIA (Opportunistic Linked Increment Algorithm) algorithm has been proposed as a variant of this LIA, and it is expected to prevent "non-flappy" phenomenon of MPTCP using LIA.

OLIA에서는 서브플로우 r,의 각 ACK마다 아래의 수식(3)에 따라서

Figure 112015065531381-pat00007
를 증가시킨다.In OLIA, for each ACK of subflow r, according to the following equation (3)
Figure 112015065531381-pat00007
.

Figure 112015065531381-pat00008
수식(3)
Figure 112015065531381-pat00008
Equation (3)

여기서

Figure 112015065531381-pat00009
이다.here
Figure 112015065531381-pat00009
to be.

위 수식에서

Figure 112015065531381-pat00010
는 혼잡 윈도우를 나타내고, B는 시간 t에서의 최상의 경로를 갖는 서브플로우의 집합이고, M은 시간 t에서 가장 큰 혼잡 윈도우 크기를 갖는 서브플로우의 집합을 나타낸다. 또한
Figure 112015065531381-pat00011
은 MPTCP 접속의 전체 서브플로우 수를 나타내고,
Figure 112015065531381-pat00012
는 집합 B에는 포함되나 집합 M에는 포함되지 않는 서브플로우의 수를 나타내며,
Figure 112015065531381-pat00013
는 집합 M에는 포함되나 집합 B에는 포함되지 않는 서브플로우의 수를 나타낸다. 따라서 OLIA의 윈도우는 링크 상태가 가장 좋지만 윈도우 크기가 가장 작은 서브플로우의 윈도우 크기가 가장 빠르게 증가하며, 최대 윈도우를 갖는 서브플로우의 윈도우 크기는 늦게 증가한다.In the above formula
Figure 112015065531381-pat00010
B is the set of subflows with the best path at time t and M is the set of subflows with the largest congestion window size at time t. Also
Figure 112015065531381-pat00011
Represents the total number of sub-flows of the MPTCP connection,
Figure 112015065531381-pat00012
Represents the number of sub-flows included in set B but not included in set M,
Figure 112015065531381-pat00013
Represents the number of sub-flows included in the set M but not included in the set B. Therefore, the OLIA window has the best link state, but the window size of the subflow with the smallest window size increases the fastest, and the window size of the subflow with the largest window increases later.

wVegas(weighted Vegas)는 TCP Vegas의 확장된 개념이다. wVegas는 지연에 기반(delay-based)하는 MPTCP 알고리즘이며, 혼잡에 대한 신호로 패킷의 큐잉 지연을 사용한다. 이 알고리즘에서는 가중 인자(weight factor)를 각 서브플로우에 할당하고 혼잡에 따라서 적응적으로 조절한다. 각 RTT마다 서브플로우 r에서

Figure 112015065531381-pat00014
에 의해서 스케일된 임계지점에서의 윈도우 크기의 증가와 감소는 수식(4)와 같다.wVegas (weighted Vegas) is an extended concept of TCP Vegas. wVegas is a delay-based MPTCP algorithm that uses the queuing delay of packets as a signal to congestion. In this algorithm, a weight factor is assigned to each subflow and adaptively adjusted according to congestion. For each RTT,
Figure 112015065531381-pat00014
The increase and decrease of the window size at the critical point scaled by (4) are as shown in Equation (4).

Figure 112015065531381-pat00015
수식(4)
Figure 112015065531381-pat00015
Equation (4)

α와 β는 두 개의 임계값이며 TCP Vegas에 의해서 정의된다.

Figure 112015065531381-pat00016
는 최소의 RTT이며, 서브플로우 r의 현재 RTT를 나타내고,
Figure 112015065531381-pat00017
는 전체 처리율에 대한 기대 처리율의 비율이다.α and β are two threshold values and are defined by TCP Vegas.
Figure 112015065531381-pat00016
Is the minimum RTT and represents the current RTT of subflow r,
Figure 112015065531381-pat00017
Is the ratio of the expected throughput to the total throughput.

한편, TCP Cubic의 주된 특성은 윈도우 증가 함수에 있다. 프로토콜의 이름에서 알 수 있듯이 윈도우 증가 함수는 용적(cubic)에 대한 함수이며 다음 함수에 의해 결정된다.On the other hand, the main characteristic of TCP Cubic is the window increasing function. As the name of the protocol indicates, the window increment function is a function of cubic and is determined by the following function.

Figure 112015065531381-pat00018
수식(5)
Figure 112015065531381-pat00018
Equation (5)

수식(5)에서 C는 스케일 인자(factor)이며, t는 마지막으로 윈도우를 감소시킨 후로부터의 경과한 시간이고,

Figure 112015065531381-pat00019
는 윈도우가 감소하기 이전의 윈도우 크기를 나타낸다. 그리고
Figure 112015065531381-pat00020
이고, β는 패킷 손실이 발생했을 때 윈도우를 감소시키기 위해 적용되는 승수 감소 인자(multiplication decrease factor)를 나타낸다. 즉, 윈도우 크기가
Figure 112015065531381-pat00021
로 감소한다. 도 1은 3개의 서로 다른 K 변수에 대해서 수식(5)에서의 윈도우 증가의 형태를 보여주며,
Figure 112015065531381-pat00022
의 크기를 갖는다. In Equation (5), C is a scale factor, t is the elapsed time since the last window reduction,
Figure 112015065531381-pat00019
Represents the window size before the window is decremented. And
Figure 112015065531381-pat00020
And? Represents a multiplication decrease factor applied to reduce the window when packet loss occurs. That is,
Figure 112015065531381-pat00021
. Figure 1 shows the form of the window increase in equation (5) for three different K variables,
Figure 112015065531381-pat00022
.

일반적으로 윈도우 크기는 감소된 윈도우로부터 매우 빠르게 증가하지만

Figure 112015065531381-pat00023
에 가까워질수록 증가율이 감소하며,
Figure 112015065531381-pat00024
값에 이르면 증가는 거의 멈춘다. 그리고 그 다음에 더 이상의 대역폭이 있는지를 확인하면서 다시 윈도우가 천천히 증가하기 시작하여
Figure 112015065531381-pat00025
에서 멀어지면 증가속도를 높인다. 이와 같이
Figure 112015065531381-pat00026
근처에서 증가 속도를 줄이는 것은 프로토콜의 안정성을 향상시키고, 네트워크 자원의 활용성을 높이며,
Figure 112015065531381-pat00027
에서 멀어질수록 윈도우 증가 속도가 높아지는 것은 프로토콜의 확장성을 보장한다. 종래의 TCP Cubic 소스 코드에서 K 변수는 혼잡 윈도의 크기가
Figure 112015065531381-pat00028
값에 도달할 때까지의 시간으로 나타나 있다. 실제로 도 1 (a)에 나타난 것과 같이 K 값이 증가함에 따라
Figure 112015065531381-pat00029
Figure 112015065531381-pat00030
에 도달하는 시간이 증가하는 것을 알 수 있으며, 선의 경사가 감소하는 것을 알 수 있다. 이것은 K 값이 TCP Cubic의 윈도우 증가 정도를 결정한다는 것을 나타낸다.
In general, the window size increases very rapidly from the reduced window
Figure 112015065531381-pat00023
The rate of increase is decreased,
Figure 112015065531381-pat00024
When the value is reached, the increase almost stops. And then the window starts to slowly increase again, making sure that there is more bandwidth
Figure 112015065531381-pat00025
The speed of increase is increased. like this
Figure 112015065531381-pat00026
Reducing the rate of increase in the vicinity increases the stability of the protocol, increases the availability of network resources,
Figure 112015065531381-pat00027
Increasing the window growth rate as the distance from the window increases is the protocol scalability. In the conventional TCP Cubic source code, the K variable is the size of the congested window
Figure 112015065531381-pat00028
And the time until the value is reached. Actually, as K value increases as shown in Fig. 1 (a)
Figure 112015065531381-pat00029
Figure 112015065531381-pat00030
, And it can be seen that the slope of the line decreases. This indicates that the value of K determines the degree of window increase of TCP Cubic.

1. 대한민국 공개특허 제10-2012-0065867호1. Korean Patent Publication No. 10-2012-0065867 2. 대한민국 등록특허 제1478751호2. Korean Patent No. 1478751

상기한 바와 같이, 기존의 혼잡제어 알고리즘은 다음과 같은 두 가지의 일반적인 설계 제약에 의해 제안되었다.As described above, the existing congestion control algorithm is proposed by the following two general design constraints.

첫째는 단일 TCP와 링크를 공유할 때 각 서브플로우의 공격성(aggressiveness)를 감소시킨다는 것이다. 각 서브플로우는 단일 TCP와 링크를 공유할 때 공정성(fairness)를 만족시키기 위해 윈도우 증가율이 느려서 각 서브플로우가 점유하는 링크가 단일 TCP 플로우가 동일한 링크에서 점유하는 것보다 작게 한다. 그러나 모드 서브플로우의 전송율은 최소한 단일 TCP가 최상의 경로에서 보여주는 최대 전송율 만큼은 보장이 되어야 한다. 이러한 제약은 MPTCP가 처리율 향상과, 기존 TCP에 해를 주지않기 위한 목표를 이루기 위한 가장 중요한 요소이며, 예로 LIA와 OLIA에서는 모든 서브플로우에 동일한 α파라미터를 사용해서 전체 플로우의 공격성(aggressiveness)를 제어한다. α값은 항상 1보다 작아서 다중 경로 플로우가 단일 경로 TCP가 점유할 수 있는 용량보다 크지 않도록 보장한다.The first is to reduce the aggressiveness of each sub-flow when sharing a link with a single TCP. Each sub-flow has a slower window growth rate to satisfy fairness when sharing a link with a single TCP, so that the link occupied by each sub-flow is smaller than a single TCP flow occupies on the same link. However, the transmission rate of the mode sub-flow should be guaranteed to be at least as high as the maximum transmission rate of a single TCP in the best path. This constraint is the most important factor for MPTCP to improve the throughput and achieve the goal of not harming the existing TCP. For example, LIA and OLIA use the same α parameter for all subflows to control the aggressiveness of the whole flow. do. The value of alpha is always less than one to ensure that the multipath flow is not larger than the capacity that a single path TCP can occupy.

둘째로는 모든 서브플로우의 전송률이 협력해서 민감성(responsiveness) 뿐만 아니라 트래픽 이동(traffic shifting)이 발생할 수 있도록 한다. 네트워크의 상태는 항상 일정한 것이 아니기 때문에 네트워크의 상태가 바뀔 때에 신속하게 대역폭을 획득하거나 해제하는 것도 매우 중요하다. 민감성(responsiveness) 특성은 얼마나 빨리 MPTCP 알고리즘이 네트워크 상태에 따라서 반응을 하는지를 나타내는 것이다. 따라서 알고리즘의 핵심 중에 하나는 각 서브플로우에서 전송율을 처리하는 절차를 결합시키고 서로 협력하도록 함으로써 트래픽 이동(traffic shifting) 뿐만 아니라 부하 균형(load balancing)이 되도록 하는 것이다. 따라서 혼잡에 의해 발생하는 대역폭 손실은 보상될 수 있으며, 다른 서브플로우의 전송율을 높임으로써 회복될 수 있다. 결과적으로 한 서브플로우에서 발생하는 혼잡은 다른 경로의 전송율을 높일 수 있게 된다. 이러한 알고리즘은 모든 서브플로우의 품질 지수의 함수를 사용함으로써 가능하게 된다. 만일 이 품질 지수 중에 하나가 자신의 상태를 변화하면, 이 변화에 반응해서 다른 서브플로우에 즉시 변화를 일으키게 한다. 예로 LIA와 OLIA에서 사용되는 α인자는 모든 서브플로우의 예상되는 전송율에 대한 함수이며, 공격성뿐만 아니라 가장 혼잡이 적은 경로로 트래픽을 이동시키는 제어를 하는데 사용된다. 반면에 wVegas에서 사용되는 가중치는 예상되는 전송율을 모든 서브플로우의 전체 전송율과 비교해서 대역폭 경쟁에 대한 공격성을 정량화한다. 결과적으로 혼잡이 적은 서브플로우 경로는 더 큰 가중치를 얻어서 공격적으로 대역폭을 얻기 위해 경쟁을 할 수 있다. 따라서 wVegas는 네트워크의 혼잡 상황이 변화하는 것에 좀 더 민감하고 트래픽 이동을 적절하게 이룰 수 있고 더 빠르게 수렴하게 된다.Second, the transmission rates of all sub-flows cooperate to allow traffic shifting as well as responsiveness. Since the state of the network is not always constant, it is very important to acquire or release bandwidth quickly when the state of the network changes. The responsiveness characteristic indicates how quickly the MPTCP algorithm responds to network conditions. Therefore, one of the key points of the algorithm is to combine the procedures of processing the rate in each sub-flow and cooperate with each other so that load balancing as well as traffic shifting is achieved. Therefore, the bandwidth loss caused by congestion can be compensated and can be recovered by increasing the transmission rate of other sub-flows. As a result, congestion occurring in one sub-flow can increase the transmission rate of another path. This algorithm is made possible by using a function of the quality index of all sub-flows. If one of these quality indices changes its state, it reacts to this change and immediately causes another subflow to change. For example, the α factor used in the LIA and OLIA is a function of the expected transmission rate of all sub-flows and is used to control not only aggression but also the traffic with the least congestion. On the other hand, the weights used in wVegas quantify the aggressiveness of bandwidth competition by comparing the expected rate with the total rate of all sub-flows. As a result, less congested sub-flow paths can compete for aggressive bandwidth gain by getting larger weights. Thus, wVegas is more sensitive to changes in the congestion situation of the network, can achieve the traffic movement properly, and converges faster.

즉, 본 발명은 상기와 같은 종래 기술의 문제점을 해소하기 위해 개발된 것으로서, 지연이 높을 수 있는 광역망에서 높은 처리율을 갖을 뿐만 아니라, 기존 TCP에 해를 주지않고 혼잡 균형을 유지하기 위해서는 공정성(fairness), 민감성(responsiveness) 그리고 MPTCP의 트래픽 이동(traffic shifting)을 보장할 수 있는 혼잡제어를 위한 다중경로 CUBIC을 제공하는 것을 목적으로 한다.
That is, the present invention has been developed in order to overcome the problems of the related art as described above. In order to maintain the congestion balance without harming the existing TCP as well as having high throughput in the wide area network with high delay, fairness, responsiveness, and multipoint CUBIC for congestion control that can guarantee traffic shifting of MPTCP.

이러한 목적을 이루기 위한 본 발명에 따른 혼잡제어를 위한 다중경로 CUBIC은 MPTCP 접속이 혼잡 제어 방식으로 TCP Cubic을 사용할 때, 각 서브플로우의 증가율을 증가분(

Figure 112015065531381-pat00031
)의 역에 해당하는 만큼 감소시켜 전체 MPTCP의 증가율을 감소시킨 것을 특징으로 한다.In order to achieve the above object, the multipath CUBIC for congestion control according to the present invention increases the rate of increase of each sub-flow when the MPTCP connection uses TCP Cubic as a congestion control scheme
Figure 112015065531381-pat00031
), Thereby decreasing the rate of increase of the entire MPTCP.

서브플로우의 품질 지표의 함수의 변수(

Figure 112015065531381-pat00032
)가 TCP Cubic 윈도우 증가 함수에서 윈도우 최대 크기에 도달해서 링크의 제한된 용량까지 도달할 때까지의 시간인 변수(K)보다 큰 것이 바람직하다.Variables of function of quality index of subflow (
Figure 112015065531381-pat00032
) Is greater than the variable K, which is the time from reaching the window maximum size to reaching the limited capacity of the link in the TCP Cubic window increasing function.

이 때 MPTCP 접속의 전송율은 At this time, the transmission rate of the MPTCP connection is

Figure 112015065531381-pat00033
Figure 112015065531381-pat00033

이다. to be.

서브플로우의 품질이 일정한 경우, 즉

Figure 112015065531381-pat00034
일 때
Figure 112015065531381-pat00035
이 되며 MPTCP의 전송율은 다음과 같이 된다.If the quality of the subflow is constant,
Figure 112015065531381-pat00034
when
Figure 112015065531381-pat00035
And the transmission rate of MPTCP is as follows.

Figure 112015065531381-pat00036
Figure 112015065531381-pat00036

이것은 M-CUBIC을 사용함으로써 예상되는 MPTCP 접속의 전송율은 항상 단일 경로 TCP의 전송율보다 높다는 것을 의미하며, 또한 TCP Cubic과도 함께 잘 동작할 수 있다는 것을 의미한다.This means that the transmission rate of the MPTCP connection expected by using M-CUBIC is always higher than the transmission rate of single-path TCP, and it also works well with TCP Cubic.

상술한 바와 같이, 본 발명에 따른 혼잡제어를 위한 다중경로 CUBIC은 MPTCP의 각 서브플로우는 링크를 공유하는 단일 경로 TCP에 대해서 공격성(aggressiveness)을 낮출 수 있고, 서브플로우 사이에 공정성(fairness)와 부하 균형을 유지하기 위해서 트래픽 이동(traffic shifting)이 이루어질 수 있는 효과가 있다. As described above, the multi-path CUBIC for congestion control according to the present invention allows each sub-flow of the MPTCP to lower the aggressiveness of the single-path TCP sharing the link, There is an effect that traffic shifting can be performed in order to maintain the load balance.

따라서, 분리된 병목을 갖는 시나리오와 공유하는 병목 링크를 갖는 시나리오에서 제안된 MCubic은 MPTCP의 성능을 향상시킬 수 있는 효과가 있는 것이다.
Therefore, the MCubic proposed in the scenario with the bottleneck link and the scenario with the bottleneck link with the separated bottleneck can improve the performance of MPTCP.

도 1은 3개의 서로 다른 K 변수에 대해서 TCP Cubic 및 M-CUBIC의 윈도우 증가의 형태를 도시한 그래프
도 2는 본 발명에 따른 혼잡제어를 위한 다중경로 CUBIC가 적용된 분리된 병목 시나리오를 갖는 통신시스템의 구성예
도 3은 분리된 병목 시나리오에서 다양한 혼잡제어 방식에 대한 단일 경로 TCP 플로우와 MPTCP 접속의 처리율
도 4는 분리된 병목 시나리오에서 다양한 혼잡제어 방식에 대한 단일 경로 TCP 플로우와 MPTCP 접속의 공정성 지수
도 5는 본 발명에 따른 혼잡제어를 위한 다중경로 CUBIC가 적용된 공유된 병목 시나리오를 갖는 통신시스템의 구성예
도 6은 공유된 병목 시나리오에서 링크의 지연이 동일한 경우 단일 경로 TCP와 MPTCP의 비교표
도 7은 공유된 병목 시나리오에서 링크의 지연이 다른 경우 단일 경로 TCP와 MPTCP의 비교표
FIG. 1 is a graph showing a form of window increase of TCP Cubic and M-CUBIC for three different K variables.
FIG. 2 is a block diagram illustrating a configuration example of a communication system having a separated bottleneck scenario to which a multipath CUBIC for congestion control according to the present invention is applied
Figure 3 illustrates the throughput of a single path TCP flow and MPTCP connection for various congestion control schemes in a separate bottleneck scenario
FIG. 4 illustrates a single path TCP flow for various congestion control schemes in a separate bottleneck scenario and a fairness index of an MPTCP connection
5 is a block diagram showing a configuration example of a communication system having a shared bottleneck scenario to which a multipath CUBIC for congestion control according to the present invention is applied
Figure 6 shows a comparison table of single-path TCP and MPTCP when link delays are the same in the shared bottleneck scenario
Figure 7 shows a comparison table of single path TCP and MPTCP when link delays are different in the shared bottleneck scenario

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail. It is to be understood, however, that the invention is not to be limited to the specific embodiments, but includes all modifications, equivalents, and alternatives falling within the spirit and scope of the invention.

각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
Like reference numerals are used for like elements in describing each drawing. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.

본 발명에 따른 혼잡제어를 위한 다중경로 CUBIC는 MPTCP 접속이 혼잡 제어 방식으로 TCP Cubic을 사용할 때, 각 서브플로우의 증가율을 증가분()의 역에 해당하는 만큼 감소시켜 전체 MPTCP의 증가율을 감소시킨 것을 특징으로 한다. The multi-path CUBIC for congestion control according to the present invention reduces the rate of increase of the entire MPTCP by decreasing the rate of increase of each sub-flow corresponding to the inverse of increment () when the MPTCP connection uses TCP Cubic as a congestion control scheme .

또한, 서브플로우의 품질 지표의 함수의 변수(

Figure 112015065531381-pat00037
)가 TCP Cubic 윈도우 증가 함수에서 윈도우 최대 크기에 도달해서 링크의 제한된 용량까지 도달할 때까지의 시간인 변수(K)보다 큰 것이 바람직하다. In addition, the variable of the function of the quality index of the sub-
Figure 112015065531381-pat00037
) Is greater than the variable K, which is the time from reaching the window maximum size to reaching the limited capacity of the link in the TCP Cubic window increasing function.

MPTCP 접속의 전송율은 The transfer rate of an MPTCP connection is

Figure 112015065531381-pat00038
으로 정의 될 수 있다.
Figure 112015065531381-pat00038
. ≪ / RTI >

이하 본 발명의 바람직한 실시 예에 대하여, 첨부도면이 참조되어 상세하게 설명한다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Reference will now be made in detail to the preferred embodiments of the present invention, examples of which are illustrated in the accompanying drawings.

전술한 바와 같이, K 변수는 혼잡 윈도의 크기가 윈도우가 감소하기 이전의 윈도우 크기(

Figure 112015065531381-pat00039
) 값에 도달할 때까지의 시간으로, TCP Cubic을 사용하는 각 플로우의 전송율을 결정한다. 따라서 K 값이 크면 증가율이 낮게 된다.As described above, the K variable indicates that the size of the congestion window is smaller than the window size before the window decreases
Figure 112015065531381-pat00039
) Value is reached, the transmission rate of each flow using TCP Cubic is determined. Therefore, if the value of K is large, the rate of increase is low.

본 발명에서는 다중 경로 전송을 위해서 서브플로우의 품질 지표의 함수의 변수(

Figure 112015065531381-pat00040
)라고 부르는 수정된 K 값을 사용한다. In the present invention, for the multipath transmission, the variable of the function of the quality index of the sub-
Figure 112015065531381-pat00040
). ≪ / RTI >

C1에서 각 서브플로우는 단일 경로 TCP 플로우보다 혼잡 윈도우를 더 빠르게 증가시키지 않으므로

Figure 112015065531381-pat00041
는 원래의 K보다 커야 하며, C2에서 변수
Figure 112015065531381-pat00042
는 서브플로우의 품질 지표의 함수이어야 한다. In C1, each sub-flow does not increase the congestion window faster than a single-path TCP flow
Figure 112015065531381-pat00041
Must be greater than the original K, and the variable in C2
Figure 112015065531381-pat00042
Should be a function of the quality index of the subflow.

따라서 MCubic의 값을 결정하고 분석해야 하고, TCP Cubic 윈도우 증가 함수에서 K 변수는 윈도우 최대 크기에 도달해서 링크의 제한된 용량까지 도달할 때까지의 시간을 나타낸다. 비율

Figure 112015065531381-pat00043
는 플로우의 증가율을 나타낸다. Therefore, the value of MCubic must be determined and analyzed. In the TCP Cubic window increase function, the K variable represents the time until the window reaches the maximum size and reaches the limited capacity of the link. ratio
Figure 112015065531381-pat00043
Represents the rate of increase of the flow.

만일 MPTCP에 속하는 n개의 플로우가 있다고 가정하면, 각 플로우의 윈도우 증가함수는 변수

Figure 112015065531381-pat00044
를 갖는 혼잡 제어 알고리즘을 사용하며, 증가율은
Figure 112015065531381-pat00045
이 된다. 따라서 MPTCP 접속의 증가율은
Figure 112015065531381-pat00046
이 된다. 단일 경로와 비교했을 때 MPTCP 접속은 서브플로우의 증가율을 증가분(
Figure 112015065531381-pat00047
) 시간보다 빠르고, 이는 MPTCP 접속이 TCP Cubic을 사용하는 단일 경로 TCP에 대해서 공정하지 못 하다는 것을 의미한다. 따라서 공정성을 확보하기 위해서 MCubic는 MPTCP 접속이 혼잡 제어 방식으로 TCP Cubic을 사용할 때, 각 서브플로우의 증가율을 증가분(
Figure 112015065531381-pat00048
)의 역에 해당하는 만큼 감소시킨다. 그렇게 하면 전체 MPTCP의 증가율은 감소할 것이고, 감소시킨 후에
Figure 112015065531381-pat00049
번째 서브플로우의 증가율은 수식(6)과 같이 일정하게 된다. Assuming that there are n flows belonging to MPTCP,
Figure 112015065531381-pat00044
Lt; / RTI > using a congestion control algorithm with
Figure 112015065531381-pat00045
. Therefore, the rate of increase of MPTCP connection is
Figure 112015065531381-pat00046
. Compared to a single path, an MPTCP connection increases the growth rate of the subflow (
Figure 112015065531381-pat00047
) Time, which means that MPTCP connections are not fair for single-path TCP using TCP Cubic. Therefore, in order to ensure fairness, MCubic increases the rate of increase of each sub-flow when MPTCP connection uses TCP Cubic as a congestion control method
Figure 112015065531381-pat00048
), As shown in FIG. This will reduce the rate of growth of the entire MPTCP,
Figure 112015065531381-pat00049
Th sub-flow is constant as shown in Equation (6).

Figure 112015065531381-pat00050
수식(6)
Figure 112015065531381-pat00050
Equation (6)

예상되는 MPTCP 접속의 전송율은 수식(7)과 같다.The expected rate of MPTCP connection is shown in Equation (7).

Figure 112015065531381-pat00051
수식(7)
Figure 112015065531381-pat00051
Equation (7)

서브플로우의 품질이 일정한 경우, 즉

Figure 112015065531381-pat00052
일 때
Figure 112015065531381-pat00053
이 되며, 수식(7)을 다시 정리하면 수식(8)과 같이 된다. If the quality of the subflow is constant,
Figure 112015065531381-pat00052
when
Figure 112015065531381-pat00053
(7) is rearranged as shown in Expression (8).

Figure 112015065531381-pat00054
수식(8)
Figure 112015065531381-pat00054
Equation (8)

이것은 MCubic을 사용함으로써 예상되는 MPTCP 접속의 전송율은 항상 단일 경로 TCP의 전송율보다 높다는 것을 의미하며, 또한 TCP Cubic과도 함께 잘 동작할 수 있다는 것을 의미한다. 따라서 MCubic는 위에서 언급한 처리율 향상을 위해서는 단일 경로 TCP와 비교했을 때 활용 가능한 경로를 효율적으로 사용해야 하고, 기존 TCP에 해를 주지않는 다는 목표를 충분히 만족시킨다는 것을 알 수 있는 것이다. This means that the expected rate of MPTCP connection using MCubic is always higher than that of single-path TCP, and it also works well with TCP Cubic. As a result, MCubic satisfies the goal of efficiently using the available paths when compared with single-path TCP and improving the existing TCP.

이 결과는 도 1 (b)에 나타나 있으며, 변수(

Figure 112015065531381-pat00055
)를 갖는 단일 경로 TCP Cubic과 변수(
Figure 112015065531381-pat00056
)를 갖는 두 개의 서브플로우로 이루어진 MCubic의 윈도우 증가함수를 보여주고 있다. MCubic을 사용함으로써 변수(
Figure 112015065531381-pat00057
)를 갖는 서브플로우의 각 전송율은 변수(
Figure 112015065531381-pat00058
)를 갖는 단일 경로 TCP의 전송율보다 항상 낮다는 것을 알 수 있다. 반면에 증가분(
Figure 112015065531381-pat00059
)에 의해서 하나의 서브플로우는
Figure 112015065531381-pat00060
비율만큼 감소하게 되며, 전체적으로
Figure 112015065531381-pat00061
만큼 감소하게 된다. 따라서 다른 서브플로우의 전송율을 즉시 증가할 수 있게 하며, 혼잡이 발생했을 때 트래픽 이동이 가능해지는 것이다. 마지막으로 MCubic을 사용함으로써 n개의 서브플로우에 속하는 각
Figure 112015065531381-pat00062
서브플로우는 아래의 수식(9)에 따라서 자신의 윈도우 크기를 주기적으로 조정한다.This result is shown in Fig. 1 (b)
Figure 112015065531381-pat00055
) And a single-path TCP Cubic with variable
Figure 112015065531381-pat00056
), Which is composed of two subflows. By using MCubic variable (
Figure 112015065531381-pat00057
) ≪ / RTI > is < RTI ID = 0.0 >
Figure 112015065531381-pat00058
Which is always lower than the transmission rate of a single-path TCP. On the other hand,
Figure 112015065531381-pat00059
) ≪ / RTI >
Figure 112015065531381-pat00060
Ratio, and as a whole
Figure 112015065531381-pat00061
. Therefore, it is possible to immediately increase the transmission rate of other sub-flows, and traffic can be moved when congestion occurs. Finally, by using MCubic, the angles belonging to n subflows
Figure 112015065531381-pat00062
The subflow periodically adjusts its window size according to the following equation (9).

Figure 112015065531381-pat00063
수식(9)
Figure 112015065531381-pat00063
Equation (9)

여기서

Figure 112015065531381-pat00064
이다.here
Figure 112015065531381-pat00064
to be.

정상적인 조건에서

Figure 112015065531381-pat00065
는 항상 원래의 값
Figure 112015065531381-pat00066
보다 크다. 하나의 서브플로우에서 혼잡이 발생했을 때 다른 서브플로우의
Figure 112015065531381-pat00067
가 즉시 감소함으로써 다른 서브프로우의 전송율이 증가하고 혼잡되는 서브플로우의 전송율을 보상하게 된다.
Under normal conditions
Figure 112015065531381-pat00065
Is always the original value
Figure 112015065531381-pat00066
Lt; / RTI > When congestion occurs in one sub-flow,
Figure 112015065531381-pat00067
The transmission rate of the other sub-flows is increased and the transmission rate of the congested sub-flows is compensated.

실시예 1(구현 및 성능 평가)Example 1 (Implementation and performance evaluation)

상기와 같은 본 발명의 혼잡제어를 위한 다중경로 CUBIC는 리눅스 커널 3.14.17에서 지원되는 MPTCP에 MCubic을 구현하였다. 기본적으로 MCubic는 Cubic과 유사하며, 본 발명의 알고리즘은 Cubic 증가 함수에서의 K변수에 적용되었다. 패킷 손실이 발생했을 때 느린 시작(slow start)과 승수 감소(multiplicative decrease) 방식은 TCP Cubic과 동일하다. 아래의 알고리즘(Algorithm) 1은 Cubic 알고리즘을 위한 주 함수의 의사 코드(pseudo code)를 보여준다.The multi-path CUBIC for congestion control according to the present invention implements MCubic in the MPTCP supported by the Linux kernel 3.14.17. Basically, MCubic is similar to Cubic, and the algorithm of the present invention is applied to the K variable in the Cubic increasing function. Slow start and multiplicative decrease when packet loss occurs are the same as TCP Cubic. The following Algorithm 1 shows the pseudo code of the main function for the Cubic algorithm.

Figure 112015065531381-pat00068
Figure 112015065531381-pat00068

실시예 2(테스트베드와 성능평가 - 분리된 병목 시나리오)Example 2 (Test Bed and Performance Evaluation-Discrete Bottleneck Scenario)

도 2에 도시한 일예의 시스템은 분리 병목된 시나리오로 이루어진 시스템으로, 공정성(fairness)과 트래픽 이동(traffic shifting) 관점에서 다른 MCCA, 특히 TCP Cubic과 비교해서 MCubic의 성능을 평가하기 위한 것이다. 도 2의 테스트베드는 대칭적인 토폴로지를 가지며, 플로우 A1-B1과 A2-B2 플로우 서로 분리된 병목 링크를 갖고, 단일 경로 TCP Cubic과 링크를 공유한다. 알고리즘의 트래픽 이동(traffic shifting) 능력을 관찰하기 위해 두 개의 경로를 비대칭적으로 구성하였으며, A1-B1은 100Mbps, 그리고 두 번째 링크 A2-B2는 다양한 조건에서 측정하기 위해 10, 20, 30 그리고 50Mbps 용량으로 변화를 주었다. The system shown in FIG. 2 is a system composed of split bottleneck scenarios and is intended to evaluate the performance of MCubic in comparison with other MCCAs, especially TCP Cubic, in terms of fairness and traffic shifting. The testbed of FIG. 2 has a symmetrical topology and has bottleneck links that are separate from each other in flows A1-B1 and A2-B2 flows, sharing a link with a single-path TCP Cubic. Two paths are asymmetrically constructed to observe the traffic shifting capability of the algorithm. The A1-B1 is 100 Mbps and the second link A2-B2 is 10, 20, 30 and 50 Mbps The change in capacity was given.

링크의 용량을 수월하게 제어하기 위해서 각 경로에 dummynet bridge를 사용하여 링크의 용량을 원하는 대로 설정하였다. 단일 경로 TCP와 MPTCP의 플로우는 동일하게 시작하고 종료하였으며, 시간 동안 각 링크의 처리율(Mb/s)을 측정하였다. In order to control the capacity of the link easily, we used the dummynet bridge in each path to set the link capacity as desired. The flow of single path TCP and MPTCP started and ended identically, and the throughput (Mb / s) of each link was measured over time.

도 3은 다른 혼잡제어 방식에 따른 두 개의 단일 경로 TCP 플로우와 다중 경로 접속의 전체 처리율을 보여준다. 그도 3에서, MCubic 방식의 다중 경로 접속은 다른 방식보다 가장 적은 대역폭을 갖게 하며, 특히 TCP Cubic 인 경우에 가장 적은 대역폭을 갖게 한다. 이것은 설계 제약 C1을 적용한 결과이며, 링크를 공유하는 MCubic의 각 서브플로우의 전송율을 낮춤으로써 이루어졌다. Figure 3 shows the overall throughput of two single-path TCP flows and multipath connections according to different congestion control schemes. In FIG. 3, the MCubic multi-path connection has the least bandwidth than the other schemes. In particular, it has the smallest bandwidth in the case of TCP Cubic. This is the result of applying the design constraint C1, and by lowering the transmission rate of each sub-flow of the MCubic sharing the link.

또한 이는 링크를 공유하는 각 서브플로우가 덜 공격적이 되게 하기 위한 것이다. 결과적으로 MCubic가 다른 알고리즘보다 두 개의 단일 경로 TCP 플로우와 친화적(friendly) 하다는 것을 보여준다. 또한 이 결과는 수식(9)와 같이 계산된 공정성 지수(fairness index)에서도 알 수 있으며, 도 4는 계산결과를 보여준다. This is also to make each sub-flow sharing the link less aggressive. As a result, we show that MCubic is more friendly to two single-path TCP flows than other algorithms. Also, this result can be known from the fairness index calculated as in Equation (9), and FIG. 4 shows the calculation result.

이 시나리오에서는 TCP 플로우와 MPTCP 접속이 병목 링크를 공유하기 위해서는 공정성이 필요하다. 사용자 평균 처리율에 대한 공정성을 계산하기 위해서 아래의 수식(10)와 같이 Jain's Fairness Index가 사용되었다.In this scenario, fairness is required for TCP flows and MPTCP connections to share bottleneck links. To calculate the fairness of the user average throughput, Jain's Fairness Index is used as shown in Equation (10) below.

Figure 112015065531381-pat00069
수식(10)
Figure 112015065531381-pat00069
Equation (10)

수식(10)에서

Figure 112015065531381-pat00070
Figure 112015065531381-pat00071
접속의 처리율이고, 경쟁하는 n개의 개체가 있다. 실험 결과 MCubic의 트래픽 이동 효과로 인해서 모든 테스트의 경우에 MCubic의 공정성 지수가 가장 높았으며, 특히 원래의 TCP Cubic과 비교했을 때 가장 좋은 결과를 보여줬다.
In Equation (10)
Figure 112015065531381-pat00070
silver
Figure 112015065531381-pat00071
The throughput of the connection, there are n competing entities. Experimental results showed that MCubic 's fairness index was the highest in all tests due to MCubic' s traffic movement effect, and it showed the best result especially compared with the original TCP Cubic.

실시예 3(테스트베드와 성능평가 - 공유된 병목 시나리오)Example 3 (performance evaluation with a test bed - shared bottleneck scenario)

실시예 3은 도 5에 도시한 바와 같이, MPTCP와 단일 경로 TCP Cubic 간에 병목 링크를 공유하도록 구성하였다. 테스트베드의 모든 링크는 100Mbps의 용량을 갖는다. 분리된 병목 시나리오와 동일하게 단일 경로 TCP 플로우와 MPTCP 플로우는 동시에 시작되고 종료된다. In the third embodiment, as shown in FIG. 5, the bottleneck link is configured to be shared between the MPTCP and the single-path TCP Cubic. All links in the test bed have a capacity of 100 Mbps. As with the separate bottleneck scenario, the single path TCP flow and the MPTCP flow are started and terminated at the same time.

공유된 병목 시나리오에는 두 가지 경우가 있으며, 하나는 MPTCP 내의 접속이 동일한 지연을 갖는 경우(경우 1 : 링크의 지연이 동일한 경우)와 다른 지연을 갖는 경우(경우 2 : 링크의 지연이 다른 경우)로 구분된다.There are two cases of shared bottleneck scenarios: one in which the connections in MPTCP have the same delay (case 1: when the delay of the link is the same) and another case (case 2: the delay of the link is different) Respectively.

경우 1은 네트워크의 지연이 높은 상황에서 다양한 테스트를 했을 때 MPTCP의 효율을 관찰하기 위한 것으로, 인터넷의 지연이 100ms 이하이면 정상적인 경우로 간주되지만 위성을 통한 인터넷의 지연은 통상적으로 500ms 또는 그 이상으로 알려져 있다. 따라서 본 실시 예에서는 그 이상의 지연을 갖는 조건을 dummy-net bridge를 사용해서 구성하였다. Case 1 is intended to observe the efficiency of MPTCP in various tests under high network latency conditions. It is considered normal if the delay of the Internet is less than 100 ms, but the latency of the Internet via satellite is typically 500 ms or more It is known. Therefore, in this embodiment, a condition having a further delay is configured by using a dummy-net bridge.

송신 측에서 개별 접속에 대한 처리율(Mb/s)을 측정하였으며, 도 6에 그 결과를 도시하였다. The throughput (Mb / s) for the individual connections at the transmitting end was measured, and the results are shown in FIG.

지연이 100ms 이하의 좋은 조건에서는 다른 프로토콜과 유사하게 MCubic으로 구현된 MPTCP의 결과가 단일 경로 TCP의 처리율보다 높다는 것을 알 수 있다. 그러나 위성 인터넷 수준으로 지연(500ms)이 증가해도 TCP Cubic의 장점을 유지하며, 처리율은 단일 TCP 보다 높거나 같은 수준을 유지한다. 다른 방식과 비교할 때에는 단일 TCP 플로우보다 감소한다. 이것은 단일 경로 TCP와 비교했을 때 활용 가능한 경로를 효율적으로 사용할 수 있게 한다는 설계 목표를 달성하지 못하는 결과이며, 아래의 표 1에서 다중 경로 대 단일 경로의 비율을 계산함으로써 다시 설명되었다. MCubic을 사용함으로써 비율은 항상 1보다 크거나 같은 값을 유지하는 반면에 다른 프로토콜은 지연이 큰 네트워크에서는 1보다 작은 값을 보였다. 따라서 MCubic은 지연은 큰 네트워크에서 장점을 갖는다는 것을 알 수 있다.In a good condition with a delay of 100ms or less, we can see that the result of MPTCP implemented in MCubic is higher than that of single-path TCP, similar to other protocols. However, even if the delay (500 ms) increases to the satellite Internet level, the advantage of TCP Cubic is maintained, and the throughput is higher than or equal to a single TCP. Compared with other approaches, it is less than a single TCP flow. This is the result of not achieving the design goal of making the available paths efficient when compared to single-path TCP, and is re-described by calculating the ratio of multipath to single path in Table 1 below. By using MCubic, the ratio is always greater than or equal to 1 while the other protocols are smaller than 1 for large latency networks. Therefore, it can be seen that MCubic has advantages in large networks.

표 1Table 1

Figure 112015065531381-pat00072
Figure 112015065531381-pat00072

경우 2는 상기한 바와 같이, 공유된 병목 시나리오에서 링크의 지연이 다른 경우로, MPTCP의 첫 번째 서브플로우와 단일 경로 TCP 플로우를 동일하게 좋은 조건인 100ms 지연을 갖도록 하였다. 그러나 두 번째 서브플로우의 링크는 dummynet bridge를 사용해서 300, 400 그리고 500ms의 높은 지연을 갖도록 변화시켜가면서 실험을 하였다. In case 2, as described above, the delay of the link in the shared bottleneck scenario is different, so that the first sub-flow of the MPTCP and the single-path TCP flow have the same good 100 ms delay. However, the link of the second sub-flow was experimented by using a dummynet bridge to change the delay to 300, 400 and 500 ms.

도 7은 두 개의 서브플로우가 비대칭일 때의 테스트 결과를 보여준다. 그림 7에서 MPTCP의 성능은 단일 경로 TCP 보다 떨어진다. 그 이유는 MPTCP의 수신 버퍼에서 패킷의 순서를 재 정렬하는데 시간이 많이 걸리는 때문이다. 따라서 RTT(Round Trip Time)이 증가할수록 성능은 저하된다. 그리고 MCubic을 사용하는 MPTCP에서도 이러한 현상은 발생한다. 그럼에도 불구하고 MCubic은 MPTCP와 단일 경로 TCP와의 처리율 비(throughput ratio)를 유지하며, 이 결과는 아래의 표 2에서 알 수 있다.Figure 7 shows the test results when two sub-flows are asymmetric. In Figure 7, the performance of MPTCP is lower than that of single-path TCP. This is because it takes a long time to rearrange the order of the packets in the MPTCP receive buffer. Therefore, the performance decreases as the RTT (Round Trip Time) increases. This phenomenon also occurs in MPTCP using MCubic. Nevertheless, MCubic maintains a throughput ratio between MPTCP and single-path TCP, and the results are shown in Table 2 below.

표 2Table 2

Figure 112015065531381-pat00073
Figure 112015065531381-pat00073

본 발명은 상기한 바와 같이, MPTCP의 각 서브플로우는 링크를 공유하는 단일 경로 TCP에 대해서 공격성(aggressiveness)을 낮출 수 있고, 서브플로우 사이에 공정성(fairness)와 부하 균형을 유지하기 위해서 트래픽 이동(traffic shifting)이 이루어질 수 있게 하였다.
As described above, each sub-flow of the MPTCP can reduce the aggressiveness of the single-path TCP sharing the link, and can reduce the traffic mobility to maintain fairness and load balance between the sub- traffic shifting.

Claims (10)

다중경로 전송 제어 프로토콜(MPTCP)을 이용하는 네트워크에서 혼잡을 제어하는 방법에 있어서,
MPTCP로 접속된 클라이언트-서버 사이의 데이터 통신을 위한 n개의 TCP 서브플로우에 대해서 품질지표의 함수 변수(Kmptcp)를 도입하여 하기의 [수학식 1]과 같이 i번째 TCP 서브플로우의 윈도우 크기 증가율을 결정하는 과정;
하기의 [수학식 2]를 이용하여 MPTCP 접속 클라이언트-서버 사이의 데이터 전송율을 결정하는 과정; 및
i번째 TCP 서브플로우는 하기의 [수학식 3]의 윈도우 증가함수를 이용하여 윈도우 크기를 조절하는 과정을 포함하는, 다중경로 전송 제어 프로토콜을 이용하는 네트워크에서 혼잡을 제어하는 방법.

[수학식 1]
Figure 112016072158453-pat00096

(여기에서, Ki는 TCP Cubic 알고리즘에서 i번째 TCP 서브플로우의 혼잡 윈도우의 크기가 윈도우가 감소하기 이전의 윈도우 크기(Wmax) 값에 도달할 때까지의 시간, 1/Ki는 TCP Cubic 알고리즘에서 i번째 TCP 서브플로우의 윈도우 크기 증가율)

[수학식 2]
Figure 112016072158453-pat00097


[수학식 3]
Figure 112016072158453-pat00098

(여기에서,
Figure 112016072158453-pat00099
, C는 스케일인자, t는 마지막으로 혼잡 윈도우를 감소시킨 후로부터의 경과 시간, Wmax는 혼잡 윈도우가 감소하기 이전의 윈도우 크기, β는 패킷 손실이 발생했을때 윈도우를 감소시키기 위해 적용되는 승수 감소 인자)
A method for controlling congestion in a network using a Multipath Transmission Control Protocol (MPTCP), the method comprising:
The function variable (Kmptcp) of the quality index is introduced for n TCP subflows for data communication between a client and a server connected by MPTCP to calculate the window size increase rate of the i-th TCP subflow as shown in the following Equation (1) A process of determining;
Determining a data transmission rate between the MPTCP access client and the server using Equation (2) below; And
wherein the i-th TCP sub-flow comprises adjusting the window size using the window increasing function of Equation (3) below.

[Equation 1]
Figure 112016072158453-pat00096

(Here, Ki is the time until the size of the congestion window of the ith TCP subflow in the TCP Cubic algorithm reaches the window size (Wmax) before the window is decremented, 1 / Ki is i Th < / RTI > TCP subflow)

&Quot; (2) "
Figure 112016072158453-pat00097


&Quot; (3) "
Figure 112016072158453-pat00098

(From here,
Figure 112016072158453-pat00099
, C is the scale factor, t is the elapsed time since the congestion window was last reduced, Wmax is the window size before the congestion window decreased, and β is the multiplier applied to reduce the window when packet loss occurs factor)
삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 청구항 1에 있어서,
상기 n개의 TCP 서브플로우 중 하나의 TCP 서브플로우에서 혼잡이 발생했을 때 다른 TCP 서브플로우의
Figure 112016072158453-pat00084
가 즉시 감소하여 윈도우 크기가 증가됨으로써, 혼잡이 발생한 TCP 서브플로우의 전송율을 보상하는 것을 특징으로 하는, 다중경로 전송 제어 프로토콜을 이용하는 네트워크에서 혼잡을 제어하는 방법.
The method according to claim 1,
When congestion occurs in one of the n TCP sub-flows,
Figure 112016072158453-pat00084
And the window size is increased to compensate for the transmission rate of the congested TCP sub-flow.
삭제delete 삭제delete 청구항 1에 있어서,
단일 경로 TCP Cubic 네트워크와 MPTCP 네트워크가 라우터를 공유하도록 구성되는 경우에, 상기 혼잡을 제어하는 방법을 MPTCP 네트워크에 구현할 수 있는 것을 특징으로 하는, 다중경로 전송 제어 프로토콜을 이용하는 네트워크에서 혼잡을 제어하는 방법.
The method according to claim 1,
A method for controlling congestion in a network using a multipath transmission control protocol, characterized in that a method for controlling the congestion can be implemented in an MPTCP network when a single path TCP Cubic network and an MPTCP network are configured to share a router .
KR1020150096242A 2015-07-07 2015-07-07 Multipath Cubic for Congestion control KR101694271B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150096242A KR101694271B1 (en) 2015-07-07 2015-07-07 Multipath Cubic for Congestion control

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150096242A KR101694271B1 (en) 2015-07-07 2015-07-07 Multipath Cubic for Congestion control

Publications (1)

Publication Number Publication Date
KR101694271B1 true KR101694271B1 (en) 2017-01-23

Family

ID=57989784

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150096242A KR101694271B1 (en) 2015-07-07 2015-07-07 Multipath Cubic for Congestion control

Country Status (1)

Country Link
KR (1) KR101694271B1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107147619A (en) * 2017-04-12 2017-09-08 北京交通大学 Data transmission method based on multi-source, multipath cooperative transmission control protocol
CN110784399A (en) * 2019-11-04 2020-02-11 海南大学 Multi-path optimization combined transmission method and system for MPTCP (Multi-path Transmission control protocol) network
KR20200081120A (en) * 2018-12-27 2020-07-07 울산과학기술원 Server and mobile device, and method for transmitting/receiving packets
KR102184144B1 (en) 2019-11-01 2020-11-30 경북대학교 산학협력단 Ack message process method in mptcp and system thereof

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100034553A (en) * 2008-09-24 2010-04-01 성균관대학교산학협력단 Appratus for tcp congestion control, a method thereof and recorded medium recorded with a program executing the same
KR20120065867A (en) 2010-12-13 2012-06-21 경희대학교 산학협력단 Multipath tcp with end-to-end energy saving for large bandwidth delay product networks
KR20130018914A (en) * 2010-06-04 2013-02-25 알까뗄 루슨트 Quality of service aware rate throttling of delay tolerant traffic for energy efficient routing
KR101478751B1 (en) 2013-03-05 2015-01-05 서강대학교산학협력단 MPTCP Congestion control method for vertical handover and mobile terminal using the method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100034553A (en) * 2008-09-24 2010-04-01 성균관대학교산학협력단 Appratus for tcp congestion control, a method thereof and recorded medium recorded with a program executing the same
KR20130018914A (en) * 2010-06-04 2013-02-25 알까뗄 루슨트 Quality of service aware rate throttling of delay tolerant traffic for energy efficient routing
KR20120065867A (en) 2010-12-13 2012-06-21 경희대학교 산학협력단 Multipath tcp with end-to-end energy saving for large bandwidth delay product networks
KR101478751B1 (en) 2013-03-05 2015-01-05 서강대학교산학협력단 MPTCP Congestion control method for vertical handover and mobile terminal using the method

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Tuan-Anh Le et al. "A multipath cubic TCP congestion control with multipath fast recovery over high bandwidth-delay product networks", IEICE transactions on communications 95(7) pp.2232-2244, 2012.07.* *
오준열, 윤두열, 정광수 "초고화질 스트리밍 서비스의 QoS 를 향상시키기 위한 라우터 버퍼 기반의 혼잡 제어 기법", 정보과학회논문지 41(11), pp.974-981, 2014.11 30.* *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107147619A (en) * 2017-04-12 2017-09-08 北京交通大学 Data transmission method based on multi-source, multipath cooperative transmission control protocol
CN107147619B (en) * 2017-04-12 2019-12-13 北京交通大学 Data transmission method based on multi-source and multi-path cooperative transmission control protocol
KR20200081120A (en) * 2018-12-27 2020-07-07 울산과학기술원 Server and mobile device, and method for transmitting/receiving packets
KR102139379B1 (en) * 2018-12-27 2020-07-29 울산과학기술원 Server and mobile device, and method for transmitting/receiving packets
KR102184144B1 (en) 2019-11-01 2020-11-30 경북대학교 산학협력단 Ack message process method in mptcp and system thereof
CN110784399A (en) * 2019-11-04 2020-02-11 海南大学 Multi-path optimization combined transmission method and system for MPTCP (Multi-path Transmission control protocol) network

Similar Documents

Publication Publication Date Title
Kliazovich et al. Cross-layer congestion control in ad hoc wireless networks
KR101694271B1 (en) Multipath Cubic for Congestion control
EP1850538A1 (en) Radio communication device, communication route control device, communication route control method, and communication system
CN110351187B (en) Load balancing method for path switching granularity self-adaption in data center network
US8695047B2 (en) Video stream protection
CN113207147A (en) MPTCP congestion control method based on deep reinforcement learning and storage medium thereof
CN111542089B (en) Multipath congestion control method and device based on time delay and window jitter
US10367739B2 (en) Load balancing among alternative paths
Nandiraju et al. A novel queue management mechanism for improving performance of multihop flows in IEEE 802.11 s based mesh networks
Song et al. Threshold optimization for rate adaptation algorithms in IEEE 802.11 WLANs
Felix et al. Redundant packet scheduling by uncorrelated paths in heterogeneous wireless networks
Zhao et al. A fluid model of multipath TCP algorithm: Fairness design with congestion balancing
KR20170142513A (en) Apparatus for multinet aggregation transmission, and packet scheduling method thereof
Liu et al. Mobile accelerator: A new approach to improve TCP performance in mobile data networks
EP2292060A1 (en) Method for achieving an optimal shaping rate for a new packet flow
Mizanian et al. RACE: a real-time scheduling policy and communication architecture for large-scale wireless sensor networks
CN115665060A (en) Multi-path transmission scheduling method and device for heterogeneous network
Gawas et al. Efficient multi objective cross layer approach for 802.11 e over MANETs
JP5306595B2 (en) COMMUNICATION CONTROL DEVICE, RADIO COMMUNICATION DEVICE, COMMUNICATION CONTROL METHOD, AND RADIO COMMUNICATION METHOD
Zhao et al. AIMD-PQ: A path quality based TCP-friendly AIMD algorithm for multipath congestion control in heterogeneous wireless networks
Ou et al. Out-of-order transmission enabled congestion and scheduling control for multipath TCP
JP5306596B2 (en) COMMUNICATION CONTROL DEVICE, RADIO COMMUNICATION DEVICE, COMMUNICATION CONTROL METHOD, AND RADIO COMMUNICATION METHOD
CN112787919A (en) Message transmission method and device and readable medium
CN110753000A (en) Communication improvement method
Wang et al. Bandwidth scheduling for multipath TCP based concurrent multipath transfer

Legal Events

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

Payment date: 20200218

Year of fee payment: 4