[go: up one dir, main page]

KR20180013597A - Method for controlling a congestion window for multi path TCP in heterogeneous network - Google Patents

Method for controlling a congestion window for multi path TCP in heterogeneous network Download PDF

Info

Publication number
KR20180013597A
KR20180013597A KR1020160097537A KR20160097537A KR20180013597A KR 20180013597 A KR20180013597 A KR 20180013597A KR 1020160097537 A KR1020160097537 A KR 1020160097537A KR 20160097537 A KR20160097537 A KR 20160097537A KR 20180013597 A KR20180013597 A KR 20180013597A
Authority
KR
South Korea
Prior art keywords
mptcp
congestion window
congestion
tcp
throughput
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
KR1020160097537A
Other languages
Korean (ko)
Other versions
KR101849302B1 (en
Inventor
노승환
Original Assignee
공주대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 공주대학교 산학협력단 filed Critical 공주대학교 산학협력단
Priority to KR1020160097537A priority Critical patent/KR101849302B1/en
Publication of KR20180013597A publication Critical patent/KR20180013597A/en
Application granted granted Critical
Publication of KR101849302B1 publication Critical patent/KR101849302B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/12Avoiding congestion; Recovering from congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • H04L43/0829Packet loss
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0888Throughput
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/19Flow control; Congestion control at layers above the network layer
    • H04L47/193Flow control; Congestion control at layers above the network layer at the transport layer, e.g. TCP related
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/27Evaluation or update of window size, e.g. using information derived from acknowledged [ACK] packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations
    • H04L47/283Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • H04L43/0864Round trip delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/14Multichannel or multilink protocols

Landscapes

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

Abstract

본 발명은 이종 망에서 다중 경로 전송제어프로토콜(TCP)의 혼잡 윈도우 제어 방법에 관한 것으로서, 그 혼잡 윈도우 제어 방법은 패킷 손실이 발생하지 않고 정상적으로 패킷의 송수신이 이루어지면 혼잡윈도우 크기를 증가하는 단계; 및 패킷의 손실이 발생하면 혼잡윈도우 크기를 감소시키는 단계를 포함하고, 혼잡윈도우의 크기를 감소시키는 감소인자는 각 서브 플로우의 처리율에 따라 달리 결정되며, 처리율이 높은 서브 플로우의 감소인자는 처리율이 낮은 서브 플로우의 감소인자보다 큰 값을 갖도록 결정되어 서브 플로우의 혼잡 윈도우 크기 감소가 작게 되는 것을 특징으로 한다.
본 발명에 의하면, 가장 혼잡이 적은 경로에서 실패로부터 회복시간을 줄임으로써 트래픽 이동을 향상시키고, 이종망에서 MPTCP의 처리율을 높일 수 있다. 또한 TCP와 MPTCP 프로토콜의 경쟁을 위해 분리된 병목 시나리오에서는 공정성이 개선되고, 공유된 병목 시나리오에서는 처리율이 향상된다
A congestion window control method of a multi-path transmission control protocol (TCP) in a heterogeneous network, the congestion window control method comprising: increasing a congestion window size when packet transmission / reception is normally performed without packet loss; And decreasing the size of the congestion window when a packet loss occurs, wherein a reduction factor for reducing the size of the congestion window is determined differently according to the throughput of each sub-flow, and the reduction factor of the sub- It is determined to have a larger value than the decrease factor of the lower sub-flow, so that the decrease in the congestion window size of the sub-flow is reduced.
According to the present invention, it is possible to improve the traffic mobility by reducing the recovery time from failure in the path with the smallest congestion, and to increase the throughput of the MPTCP in the heterogeneous network. It also improves fairness in separate bottleneck scenarios for competing TCP and MPTCP protocols, and improves throughput in shared bottleneck scenarios

Description

이종 망에서 다중 경로 전송제어프로토콜(TCP)의 혼잡 윈도우 제어 방법{Method for controlling a congestion window for multi path TCP in heterogeneous network} [0001] The present invention relates to a congestion window control method for a multi-path transmission control protocol (TCP) in a heterogeneous network,

본 발명은 전송제어 프로토콜(TCP)의 혼잡 제어에 관한 것으로서, 특히 이종 망에서 다중 경로 전송 프로토콜(TCP)의 혼잡 윈도우 제어 방법에 관한 것이다.The present invention relates to congestion control of a transmission control protocol (TCP), and more particularly, to a congestion window control method of a multipath transmission protocol (TCP) in a heterogeneous network.

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

TCP는 흐름제어와 혼잡제어의 메카니즘을 이용하여 종단간(end-to-end)의 신뢰성 있는 전송을 보장한다. 흐름제어는 송신자(sender)가 수신자(receiver)로부터 advertised window 크기를 받은 후 그것보다는 적게 보냄으로써 네트워크상의 흐름을 조절하는 방법이고, 혼잡제어는 송신자가 네트워크 상황을 보고 스스로 흐름을 조절하는 방법이다.TCP uses a mechanism of flow control and congestion control to guarantee end-to-end reliable transmission. Flow control is a method by which the sender adjusts the flow on the network by receiving less advertised window size from the receiver, and congestion control is the method by which the sender controls the flow itself by looking at the network conditions.

하지만, TCP는 무선 환경과 같이 신뢰성이 부족한 네트워크에서는 스트리밍(streaming) 전송이 어려울 뿐만 아니라, 단일 TCP 경로(path)가 혼잡 네트워크를 이용하고 있을 때 그 혼잡 네트워크를 피하지 못하게 되는 문제점이 있다.However, TCP has a problem in that streaming transmission is difficult in a network with low reliability such as a wireless environment, and a congestion network can not be avoided when a single TCP path uses a congested network.

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

최근 이동 단말이 다중 홈(home) 기능을 갖게 됨으로써 다중 경로 전송이 가능하게 되었다. MPTCP는 여러 경로를 통해서 데이터를 전달할 수 있게 한다. TCP 프로토콜에서는 혼잡제어를 성공적으로 수행 함으로써 인터넷 기능을 효율적으로 사용할 수 있게 한다. 이러한 혼잡제어는 혼잡제어 알고리즘에 의해서 이루어졌으며, 전송율을 혼잡 정도와 링크의 용량에 따라서 능동적으로 제어할 수 있게 하였다. Recently, a mobile terminal has a multi-home function, which enables multi-path transmission. MPTCP allows data to be transmitted over multiple paths. In the TCP protocol, congestion control is successfully performed to enable efficient use of Internet functions. This congestion control is done by congestion control algorithm and it is able to actively control the rate according to congestion degree and link capacity.

TCP의 혼잡제어(congestion control)는 다수의 네트워크 사용자 간의 효율적인 자원 활용을 위해 반드시 필요한 기법이다. 혼잡제어는 혼잡이 우려되는 상황 근거가 수집되면, 수집된 상황 근거를 바탕으로 발신측 장치(source)의 전송 성능을 자발적으로 줄임으로써 혼잡 상황을 타개하고, 발신측 장치(source) 와 수신측 장치(destination) 간의 원활한 네트워크 자원 활용이 가능하도록 하는 기법이다. TCP congestion control is a necessary technique for efficient resource utilization among a large number of network users. The congestion control is a method for congestion control that automatically reduces the transmission performance of the source device based on the gathered context and collects the congestion situation when the context for the congestion is collected. it is possible to utilize network resources smoothly between destinations.

여기서, 혼잡이란 패킷(packet)을 다른 네트워크로 전달하는 역할을 하는 라우터(router)가 처리할 수 있는 능력보다 상회하는 패킷이 네트워크에 유입될 경우 일정 패킷들이 올바르게 처리되지 못하는 현상을 말한다.Here, congestion refers to a phenomenon in which certain packets are not correctly processed when a packet exceeding the capability of a router, which is responsible for delivering a packet to another network, is introduced into the network.

일반적으로, TCP는 신뢰성을 위하여 수신측 장치가 수신한 패킷에 대해 해당 패킷의 순서번호를 발신측 장치에 보내어 해당 패킷이 무사히 도착하였다는 것을 알려준다. 여기서, 만일 순서에 맞지 않은 패킷을 수신측 장치가 수신하게 되면, 수신하고자 하는 차례에 맞는 순서번호를 발신측 장치에게 다시 보내어 패킷이 정상적으로 도착하지 않았음을 알린다. 이 때, 발신측 장치가 수신한 응답의 순서번호가 동일할 경우 이를 중복 응답이라 하며, 이전에 수신한 순서 보다 더 큰 순서 번호를 수신할 경우 긍정 응답이라 한다. 패킷 손실이 발생하면 이러한 중복 응답이 다수 발생하기 때문에 기존의 TCP는 이러한 중복 응답을 상황 근거로 수집하여 혼잡제어(Congestion Control)를 수행한다.Generally, for reliability, TCP sends a sequence number of a packet received by a receiving-side apparatus to a calling apparatus to inform that the packet arrived safely. Here, if the receiving device receives a packet that does not match the order, it sends back a sequence number corresponding to the order to be received to the calling device to inform that the packet has not arrived normally. In this case, when the sequence number of the response received by the source apparatus is the same, it is referred to as a duplicate response, and when receiving a sequence number larger than the previously received sequence, it is referred to as an acknowledgment. In the case of packet loss, many of these duplicated responses occur. Therefore, conventional TCP collects the redundant responses based on the situation and performs congestion control.

다시 말해, 혼잡 제어는 네트워크 장비가 처리할 수 있는 능력 이상으로 입력되는 트래픽 혹은 특정 포트에 집중된 트래픽으로 인해 발생하는 혼잡 현상, 즉 장비가 계속해서 과부하 상태에 있는 것을 해결하는 기술을 말한다. TCP 혼잡 제어의 주목적은 송신 단말의 전송률을 직접 제어하여 혼잡으로 인해 손실된 데이터를 재전송하기 위함이다. TCP는 OSI 참조 모델의 4 계층에 속하는 프로토콜로서, 송신 단말과 수신 단말 사이의 노드의 수에 상관없이 종단간 동작한다. TCP는 송신 단말과 수신 단말을 양끝으로 하는 하나의 루프(loop)를 형성하여 이 루프에 수신측이 전송하는 확인(Acknowledge) 정보와 윈도우(Window) 그리고 타임아웃(timeout) 기능을 이용하여 혼잡 제어 메카니즘을 구현하고 있다.In other words, congestion control refers to a technique that resolves congestion that is caused by traffic entering a network device beyond the capabilities it can handle, or traffic concentrated on a particular port, that is, the device is continuously overloaded. The main purpose of TCP congestion control is to directly control the transmission rate of the transmitting terminal to retransmit the lost data due to congestion. TCP is a protocol belonging to the four layers of the OSI reference model, and operates end-to-end regardless of the number of nodes between the transmitting terminal and the receiving terminal. TCP forms a loop that connects the transmitting terminal and the receiving terminal at both ends and transmits the acknowledgment information, the window, and the timeout function transmitted from the receiving side to the loop, Mechanism.

보다 상세하게는 빠른 혼잡제어를 위해 하나의 순서 번호에 대하여 3개 이상의 중복 응답을 수신하게 되면 해당 패킷이 손실되었다고 판단하며, 그 손실은 네트워크에 혼잡이 일어나 발생한 것으로 판단하여 혼잡제어를 수행하게 된다. 혼잡제어가 발생하면 해당 세션에 대해 전송률을 반으로 줄이는 등 성능을 큰 폭으로 줄이고, 손실된 것으로 판단되는 패킷을 다시 전송한다.More specifically, if three or more duplicate responses are received for one sequence number for fast congestion control, it is determined that the corresponding packet is lost, and congestion control is performed by determining that the packet has been lost due to congestion in the network . When congestion control occurs, the transmission rate is halved for the session, and the performance is greatly reduced, and the packet determined to be lost is retransmitted.

일반적으로 TCP 혼잡제어 알고리즘은 패킷 손실(packet loss)이 발생하면 전송율을 낮춤으로써 혼잡을 감소시킨다. 다중 경로의 경우에는 패킷이 다른 대역폭, 지연 그리고 혼잡의 형태를 갖는 경로를 통해서 전달되기 때문에 공정성(fairness), 처리율(throughput) 등과 같은 혼잡제어의 고유 기능을 지키는 것 뿐만 아니라 트래픽 이동(traffic shifting), 부하 균형(load balancing) 등과 같이 다중 경로로 인해서 발생할 수 있는 새로운 특성들도 만족해야 한다. 따라서 다중경로 혼잡제어 알고리즘(MCCA : Multipath Congestion Control Algorithm)의 필요조건은 다음과 같다.In general, TCP congestion control algorithms reduce congestion by lowering the transmission rate when packet loss occurs. In the case of multipath, since packets are transmitted through paths having different bandwidths, delays and congestion patterns, not only the inherent functions of congestion control such as fairness and throughput but also traffic shifting, , Load balancing, and so on, must also be satisfied. Therefore, the requirements of Multipath Congestion Control Algorithm (MCCA) are as follows.

첫째, 처리율(throughput)이 향상 되어야 한다. MPTCP는 최소한 가장 좋은 경로로 전송되는 단일 경로 TCP보다 처리율이 높아야 한다. 둘째, 다른 TCP 경로에 피해가 없어야 한다.(no harm). MPTCP는 기존의 TCP에게 해를 주지 않는 방식으로 동작 해야 한다. 즉, 병목 링크에서는 단일 경로 TCP와 같이 동작을 해야 한다. 셋째, 혼잡의 균형이 있어야 한다. MPTCP는 가장 혼잡이 적은 경로를 사용해야 한다.First, throughput should be improved. MPTCP should have higher throughput than single-path TCP, which is transmitted at least the best route. Second, there should be no harm to other TCP routes (no harm). MPTCP should operate in a way that does not harm existing TCP. In other words, the bottleneck link should behave like single path TCP. Third, there must be a balance of congestion. MPTCP should use the least congested path.

이러한 필요조건 중에서 첫 번째 조건은 단일 경로 TCP와 비교했을 때 활용 가능한 경로를 효율적으로 사용해야 한다는 것을 나타내며, 두 번째와 세 번째는 공정성(fairness), 민감성(responsiveness) 그리고 MPTCP의 트래픽 이동(traffic shifting)을 보장하는 것이다.The first of these requirements indicates that the available path should be used efficiently compared to the single path TCP. The second and third are the fairness, the responsiveness, and the traffic shifting of MPTCP. .

이와 같은 필요조건을 지키기 위해서는 다중경로 혼잡제어 알고리즘(MCCA)은 모든 서브 플로우(sub flow)의 전송율을 유지하며, 설계 목표를 만족시킬 수 있는 수준으로 조절해야 한다. 다중경로 혼잡제어 알고리즘이 사용되는 MPTCP로는 Linked Increases Algorithm(LIA), weighted Vegas(wVegas) 및 Opportunistic Linked Increases Algorithm(OLIA) 등과 같은 다수의 MPTCP 프로토콜들이 있다.In order to meet such a requirement, the multi-path congestion control algorithm (MCCA) maintains the transmission rate of all sub-flows and must be adjusted to a level that can satisfy the design goal. There are many MPTCP protocols such as Linked Increase Algorithm (LIA), Weighted Vegas (wVegas), and Opportunistic Linked Increase Algorithm (OLIA).

종래의 MPTCP 프로토콜 가운데 본 발명에서 다루게 될 LIA 알고리즘은 매우 잘 동작하지만, 이 알고리즘은 기존의 단일 경로 TCP Reno에서 응답 패킷이 성공적으로 수신되었을 때만 고려되었으며, 패킷 손실이 발생한 경우에는 기존의 TCP Reno에서 변경된 것이 없다. 따라서 MPTCP에서 패킷 손실이 발생했을 때 MPTCP의 설계 목표를 만족하기 위해 알고리즘을 개선하는 것이 필요하다. Among the conventional MPTCP protocols, the LIA algorithm, which will be described in the present invention, works very well. However, this algorithm is considered only when a response packet is successfully received in the existing single-path TCP Reno. If packet loss occurs, Nothing has changed. Therefore, it is necessary to improve the algorithm to meet MPTCP design goals when packet loss occurs in MPTCP.

본 발명이 해결하고자 하는 과제는 MPTCP에서 패킷 손실이 발생했을 때 MPTCP 혼잡제어 알고리즘을 개선하기 위해, 패킷 손실이 발생하는 경우 가장 혼잡이 적은 경로에서 실패로부터 회복하는 시간을 줄임으로써 트래픽 이동을 향상시키고 이종망에서 MPTCP의 처리율을 향상시킬 수 있는, 다중 경로 전송제어 프로토콜(TCP)의 혼잡 윈도우 제어 방법을 제공하는 것이다. In order to improve the MPTCP congestion control algorithm when packet loss occurs in the MPTCP, the present invention improves the traffic movement by reducing the recovery time from the failure in the path with the least congestion when packet loss occurs And to provide a congestion window control method of a multipath transmission control protocol (TCP) capable of improving the throughput of MPTCP in heterogeneous networks.

상기 기술적 과제를 이루기 위한 본 발명에 의한 다중 경로 전송제어프로토콜 (TCP)의 혼잡 윈도우 제어 방법은, 다중경로 전송제어 프로토콜(MPTCP)의 혼잡 윈도우 제어 방법에 있어서 패킷 손실이 발생하지 않고 정상적으로 패킷의 송수신이 이루어지면 혼잡윈도우 크기를 증가하는 단계; 및 패킷의 손실이 발생하면 혼잡윈도우 크기를 감소시키는 단계를 포함하고, 상기 혼잡윈도우의 크기를 감소시키는 감소인자는 각 서브 플로우의 처리율에 따라 달리 결정되며, 처리율이 높은 서브 플로우의 감소인자는 처리율이 낮은 서브 플로우의 감소인자보다 큰 값을 갖도록 결정되어 서브 플로우의 혼잡 윈도우 크기 감소가 작게 되는 것을 특징으로 한다.According to another aspect of the present invention, there is provided a congestion window control method for a multi-path transmission control protocol (TCP) according to the present invention. The congestion window control method for a multipath transmission control protocol (MPTCP) Increasing the congestion window size; And decreasing a congestion window size when a packet loss occurs, wherein a reduction factor for reducing the size of the congestion window is determined differently according to the throughput of each sub-flow, and the reduction factor of the higher- Is determined to have a larger value than the reduction factor of the lower sub-flow, so that the decrease in the size of the congestion window of the sub-flow is reduced.

상기 감소인자는 각 서브 플로우의 RTT(round trip time)에 대한 혼잡 윈도우의 크기 비율에 따라 달리 결정되고, The reduction factor is determined differently according to the size ratio of the congestion window to the round trip time (RTT) of each sub-flow,

[수학식 5]&Quot; (5) "

Figure pat00001
Figure pat00001

MPTCP 접속의 평균 처리율을 획득하는 단계; 및 소정의 서브 플로우에서 발생한 패킷 손실에 대해 MPTCP의 평균처리율을 획득하여 상기 수학식 5에 의해 계산되는 단계를 포함하는 것을 특징으로 한다.Obtaining an average throughput of the MPTCP connection; And calculating the average throughput of the MPTCP with respect to a packet loss occurring in a predetermined sub-flow by using Equation (5).

상기 혼잡윈도우 크기는 현재의 혼잡윈도우 크기와 상기 계산된 감소인자를 곱하여 결정되는 것을 특징으로 한다.Wherein the congestion window size is determined by multiplying the current congestion window size by the computed reduction factor.

본 발명에 따른 이종 망에서 다중 경로 TCP 전송 혼잡제어 방법에 의하면, 가장 혼잡이 적은 경로에서 실패로부터 회복시간을 줄임으로써 트래픽 이동(traffic shift)을 향상시키고, 이종망(heterogeneous network)에서 MPTCP의 처리율을 높일 수 있다. According to the multi-path TCP transmission congestion control method in the heterogeneous network according to the present invention, it is possible to improve the traffic shift by reducing the recovery time from the failure in the path with the smallest congestion and to improve the traffic rate of the MPTCP in the heterogeneous network, .

그리고 기존의 LIA(Linked Increases Algorithm)에서 패킷 손실이 발생했을 때의 동작을 정의하고, TCP와 MPTCP 프로토콜의 경쟁을 위해 분리된 병목 시나리오에서는 공정성이 개선되고, 공유된 병목 시나리오에서는 처리율이 향상된다. In addition, the existing LIA (Linked Increment Algorithm) defines the behavior when packet loss occurs, improves fairness in separate bottleneck scenarios for TCP and MPTCP protocol competition, and improves throughput in shared bottleneck scenarios.

도 1은 본 발명에 의한 MPTCP의 혼잡윈도우 제어방법에 대한 일실시예를 흐름도로 나타낸 것이다.
도 2는 분리된 병목 시나리오를 설명하기 위한 병목 링크 시나리오를 나타내고 있다.
도 3은 단일경로 TCP 플로우와 다른 혼잡제어 알고리즘을 사용하는 MPTCP 접속의 처리율을 나타낸 것으로서, 두 개의 단일 TCP 플로우와 다양한 혼잡제어 알고리즘을 사용했을 때 전체 다중 경로의 처리율을 보여준다.
도 4는 공유된 병목 시나리오를 설명하기 위한 공유 링크 시나리오를 나타내고 있다.
도 5는 공유된 병목 시나리오에서 단일 경로 TCP와 다양한 MPTCP의 혼잡제어 알고리즘의 처리율을 비교한 것이다.
FIG. 1 is a flow chart illustrating an embodiment of a congestion window control method for an MPTCP according to the present invention.
FIG. 2 shows a bottleneck link scenario for explaining the separated bottleneck scenario.
Figure 3 shows the throughput of MPTCP connections using a single path TCP flow and other congestion control algorithms and shows throughput of the entire multipath using two single TCP flows and various congestion control algorithms.
Figure 4 shows a shared link scenario to illustrate a shared bottleneck scenario.
5 compares the throughputs of the congestion control algorithms of the single path TCP and the various MPTCPs in the shared bottleneck scenario.

이하, 첨부된 도면을 참조로 본 발명의 바람직한 실시예를 상세히 설명하기로 한다. 본 명세서에 기재된 실시예와 도면에 도시된 구성은 본 발명의 바람직한 일 실시예에 불과할 뿐이고, 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형예들이 있을 수 있음을 이해하여야 한다. Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. The embodiments described in the present specification and the configurations shown in the drawings are merely preferred embodiments of the present invention and are not intended to represent all of the technical ideas of the present invention and therefore various equivalents And variations are possible.

MPTCP는 TCP의 확장으로서 IETF(Internet Engineering Task Force)에서 표준화 되었다. MPTCP는 단일 TCP가 클라이언트 또는 서버에서 여러 개의 인터페이스를 사용할 수 있게 한다. MPTCP는 응용 프로그램을 수정하지 않으며, 기존의 인터넷에서 동작할 수 있다. MPTCP는 호스트 사이에 다른 인터페이스로 트래픽을 확산(spread)시키며, 단일 경로 TCP와 균형(fair)을 이루면서 혼잡이 발생하는 링크에서 다른 링크로 트래픽을 이동시킨다. MPTCP에서 중요한 것은 응용 계층(application layer)과 네트워크의 하위 호환성(backward compatibility)에 있다. MPTCP는 대부분의 응용계층에서 사용되는 소켓(socket) API를 보전(preserve)한다.MPTCP is an extension of TCP standardized by the Internet Engineering Task Force (IETF). MPTCP allows a single TCP to use multiple interfaces on a client or server. MPTCP does not modify applications and can operate on existing Internet. MPTCP spreads traffic to other interfaces between hosts and moves traffic from congested links to other links while balancing them with single-path TCP. What matters in MPTCP is the application layer and network backward compatibility. MPTCP preserve the socket API used by most application layers.

하나의 MPTCP 플로우(flow)는 둘 이상의 서브 플로우(sub-flow)를 가지며, 각각은 단일 TCP와 같이 동작한다. 접속이 시작되면 MPTCP 옵션이 SYN 세그먼트에 포함되어 목적지 노드가 MPTCP를 지원하는지를 확인할 수 있게 하며, 또한 접속을 식별하기 위한 토큰을 교환하기 위해서 사용된다. 참고로, TCP 접속을 처음 시작할 때 목적지 노드로 SYN 이라는 세그먼트를 전송하면서 접속을 시작한다. 이 때 MPTCP 접속이 가능하기 위해서는 source와 destination 모두 MPTCP 프로토콜을 지원해야 하므로 SYN 세그먼트에서 MPTCP 옵션을 포함하여 목적지로 보낸다.One MPTCP flow has two or more sub-flows, each operating as a single TCP. When the connection is initiated, the MPTCP option is included in the SYN segment, allowing the destination node to verify that it supports MPTCP, and is also used to exchange tokens to identify the connection. For reference, when starting a TCP connection for the first time, a segment called SYN is transmitted to the destination node to start the connection. In order to enable MPTCP access at this time, both the source and the destination must support the MPTCP protocol. Therefore, the MPTCP option is included in the SYN segment and is sent to the destination.

추가적인 TCP 서브 플로우(sub flow)가 MPTCP에 연관될 수 있으며 이 때 three-way handshake에서 교환되었던 토큰을 전달한다. MPTCP는 사용 가능한 자원을 최대로 활용하기 위해서 응용 계층의 데이터를 설정된 모든 서브 플로우로 분리한다. 다중경로 혼잡제어 알고리즘(MCCA)는 각 서브 플로우로 어느 정도의 트래픽이 전달될 것인가를 고려한다. 따라서 각 서브 플로우에 트래픽을 할당하는 것이 각 알고리즘의 효율을 결정한다. 상술한 바와 같이 전송제어 프로토콜(TCP)을 구현하기 위한 여러 종류의 혼잡제어 알고리즘이 제안되었으며, 그 중에서 LIA는 TCP New Reno의 확장이다. LIA는 혼잡 윈도우 크기(congestion window size)의 증가 인자(increase factor)에서 데이터 전송시 왕복에 걸리는 시간인RTT(Round Trip Time)를 고려함으로써 RTT의 불일치를 보상하였다. An additional TCP subflow may be associated with the MPTCP, which carries the token that was exchanged in the three-way handshake. MPTCP separates application layer data into all configured sub-flows to maximize the available resources. Multipath congestion control algorithm (MCCA) considers how much traffic is delivered to each sub-flow. Therefore, allocating traffic to each sub-flow determines the efficiency of each algorithm. As described above, various types of congestion control algorithms for implementing the transmission control protocol (TCP) have been proposed, among which LIA is an extension of TCP New Reno. The LIA compensates for the inconsistency of the RTT by considering the round trip time (RTT), which is the time taken for the round trip in the data transmission, from the increase factor of the congestion window size.

여기서, New Reno는 TCP의 한 프로토콜이며 이 프로토콜을 MPTCP에 적용해서 수정한 것이 LIA 이다. TCP의 흐름제어(flow control)은 링크의 상태가 나쁘면 전송 속도를 낮춰서 패킷 손실이 발생하지 않도록 하며, 다시 링크의 상태가 좋아지면 속도를 증가시키는 방식이 기본인데, RTT는 링크 상태를 알 수 있는 가장 기본적인 기준이다. 그런데 일반 TCP의 경우에는 flow가 하나이지만, MPTCP에서는 flow가 2개 이상이므로 두 링크 사이의 RTT가 달라질 수 있기 때문에 두 링크 사이의 전송 속도의 불일치가 발생할 수 있다. LIA는 이러한 점을 보완한 프로토콜이다Here, New Reno is a protocol of TCP, and LIA is modified by applying this protocol to MPTCP. TCP's flow control is based on the principle that if the state of the link is bad, the packet loss will not occur by lowering the transmission speed, and if the state of the link is further improved, the speed is increased. It is the most basic standard. However, in the case of normal TCP, there is one flow. In MPTCP, since there are two or more flows, the RTT between the two links may be different, so that a discrepancy in transmission speed may occur between the two links. LIA is a complement to this point

[수학식 1][Equation 1]

Figure pat00002
Figure pat00002

수학식 1에서 α는 MPTCP 알고리즘의 파라미터(parameter)이며, MPTCP 접속의 공격성을 나타낸다. 이 값은 수학식 2와 같이 계산된다.In Equation (1), a is a parameter of the MPTCP algorithm and indicates the aggressiveness of the MPTCP connection. This value is calculated as shown in Equation (2).

[수학식 2]&Quot; (2) "

α =

Figure pat00003
α =
Figure pat00003

수학식 2에서

Figure pat00004
Figure pat00005
번째 서브 플로우의 혼잡 윈도우 크기이며,
Figure pat00006
Figure pat00007
번째 서브 플로우의 RTT를 나타낸다. 따라서 LIA는 최적의 자원 관리와 민감성(responsiveness) 사이의 균형을 이루는 것이다. 최근에 LIA의 변형으로 OLIA(Opportunistic Linked Increases Algorithm)가 제안되었으며, 이 알고리즘은 LIA에서 발생하는 “flappy” 현상을 방지할 수 있다. 참고로, MPTCP에서는 다수의 경로가 존재하기 때문에 여러 개의 경로가 좋은 상태이면 트래픽(traffic)이 임의로 아무 경로를 선택해서 전송될 수 있으며, 이러한 현상을 “floppiness”라고 한다. 따라서 이러한 현상은 가능한 제거되어야 한다. 즉 non-flappy가 보장되어야 한다.In Equation 2,
Figure pat00004
The
Figure pat00005
Th sub-flow,
Figure pat00006
The
Figure pat00007
Th sub-flow. Thus, the LIA is a balance between optimal resource management and responsiveness. Recently, OLIA (Opportunistic Linked Increasing Algorithm) has been proposed as a variant of LIA, and this algorithm can prevent "flappy" phenomenon in LIA. For reference, since there are many paths in MPTCP, if several paths are in good condition, traffic can be arbitrarily selected in any path, and this phenomenon is called "floppiness". Therefore, this phenomenon should be removed as much as possible. That is, non-flappy should be guaranteed.

각 서브 플로우 r의 ACK에 대해서 수학식 3과 같이 혼잡 윈도우

Figure pat00008
이 증가한다.For the ACK of each sub-flow r, a congestion window
Figure pat00008
.

[수학식 3]&Quot; (3) "

Figure pat00009
Figure pat00009

여기서,

Figure pat00010
here,
Figure pat00010

수학식 3에서 B는 서브 플로우의 집합으로써 시간 t에서 처리율 관점에서 최적의 경로를 나타내며, M은 시간 t에서 가장 큰 혼잡 윈도우 크기를 갖는 서브 플로우의 집합을 나타낸다.

Figure pat00011
은 MPTCP 접속의 전체 서브 플로우 수를 나타내며,
Figure pat00012
는 집합 B에는 속하지만 집합 M에는 속하지 않는 서브 플로우의 수를 나타내고,
Figure pat00013
는 반대로 집합 M에는 속하지만 집합B에는 속하지 않는 서브 프로우의 수를 나타낸다. 따라서 OLIA에서 링크의 상태는 좋지만 윈도우 크기가 작은 서브 플로우의 윈도우는 빠르게 증가하지만, 최대 윈도우 크기를 갖는 서브 플로우의 윈도우 크기는 그 보다 느리게 증가한다.In Equation (3), B represents an optimal path from the viewpoint of throughput at time t as a set of sub-flows, and M represents a set of sub-flows having the largest congestion window size at time t.
Figure pat00011
Represents the total number of sub-flows of the MPTCP connection,
Figure pat00012
Represents the number of sub-flows belonging to set B but not set M,
Figure pat00013
Represents the number of subroutines belonging to the set M but not belonging to the set B, on the contrary. Therefore, the window of a subflow with a small window size increases rapidly but the window size of a subflow with a maximum window size increases more slowly.

wVegas는 TCP Vegas를 확장한 알고리즘이다. 참고로, Vegas는 TCP 프로토콜 가운데 하나이며 이를 MPTCP에 적용하기 위해서 확장한 알고리즘이 wVagas이다.wVegas is an algorithm that extends TCP Vegas. For reference, Vegas is one of the TCP protocols and wVagas is an algorithm that is extended to apply it to MPTCP.

이 알고리즘은 다중 경로 TCP(MPTCP)를 위한 지연 기반(delay-based) 알고리즘이며, 혼잡 신호로 패킷의 큐 지연시간을 이용한다. wVegas는 각 서브 플로우의 증가율 또는 감소율에 가중치(weight factor)를 할당하고 혼잡 정도에 따라서 이 값들을 조정한다. wVegas에서는 서브 플로우 r에 대해서 RTT마다 수학식 4와 같이 계산하여

Figure pat00014
Figure pat00015
에 의해 계수화된 임계 값(threshold)과 비교해서 혼잡 윈도우 크기를 증가 또는 감소시킨다.This algorithm is a delay-based algorithm for multipath TCP (MPTCP) and uses the queue delay time of the packet as a congestion signal. wVegas assigns a weight factor to the rate of increase or decrease of each sub-flow and adjusts these values according to the degree of congestion. wVegas calculates the sub-flow r for each RTT as shown in Equation 4
Figure pat00014
Figure pat00015
To increase or decrease the congestion window size compared to the threshold value that is digitized by the receiver.

[수학식 4]&Quot; (4) "

Figure pat00016
Figure pat00016

수학식 4에서 α와 β는 TCP Vegas에서 정의된 임계 값이다.

Figure pat00017
Figure pat00018
는 서브 플로우 r에 대한 최소 RTT와 현재의 RTT를 각각 나타내며,
Figure pat00019
은 기대 처리율(expected throughput)/전체 처리율(total throughput)의 비율이다.In Equation (4), α and β are threshold values defined in TCP Vegas.
Figure pat00017
Wow
Figure pat00018
Represents the minimum RTT and the current RTT for the sub-flow r, respectively,
Figure pat00019
Is the ratio of expected throughput / total throughput.

도 1은 본 발명에 의한 MPTCP의 혼잡윈도우 제어방법에 대한 일실시예를 흐름도로 나타낸 것이다. 도 1을 참조하면, 이종망에서 다중경로 전송제어 프로토콜(MPTCP) 전송 혼잡제어 알고리즘을 이용하여 데이터를 전송한다.(S100 단계) 전송되는 패킷에 손실이 발생하는지와 패킷 데이터의 송수신이 정상적인지 체크한다.(S110 단계) 패킷 손실이 발생하지 않고 정상적으로 패킷의 송수신이 이루어지면 혼잡윈도우 크기를 증가한다.(S120 단계) 하지만, 패킷의 손실이 발생하면 혼잡윈도우 크기를 감소시킨다.(S130 단계) FIG. 1 is a flow chart illustrating an embodiment of a congestion window control method for an MPTCP according to the present invention. 1, data is transmitted using a multi-path transmission control protocol (MPTCP) transmission congestion control algorithm in a heterogeneous network (step S100). In step S100, whether a loss occurs in a packet to be transmitted and whether transmission / reception of packet data is normal (Step S110) If the packet transmission / reception is normally performed without packet loss, the congestion window size is increased (Step S120). However, if packet loss occurs, the congestion window size is decreased (Step S130)

이 때, 상기 혼잡윈도우의 크기를 감소시키는 감소인자는 각 서브 플로우의 처리율에 따라 달리 결정한다. 즉, 처리율이 높은 서브 플로우의 감소인자는 처리율이 낮은 서브 플로우의 감소인자보다 큰 값을 갖도록 결정함으로써 서브 플로우의 혼잡 윈도우 크기 감소가 작게 되도록 한다. 상기 감소인자는 각 서브 플로우의 RTT(round trip time)에 대한 혼잡 윈도우의 크기 비율에 따라 달리 결정한다. At this time, the reduction factor for reducing the size of the congestion window is determined differently depending on the throughput of each sub-flow. That is, the decrease factor of the subflow having a high throughput rate is determined to have a value larger than the decreasing factor of the subflow having a low throughput, so that the decrease in the congestion window size of the subflow is made small. The reduction factor is determined according to the size ratio of the congestion window to the RTT (round trip time) of each sub-flow.

상기 감소인자 결정은 MPTCP 접속의 평균 처리율을 획득하고, 소정의 서브 플로우에서 발생한 패킷 손실에 대해 MPTCP의 평균처리율을 획득하여 하기의 수학식 5에 의해 계산할 수 있다. 이 때, 상기 혼잡윈도우 크기는 현재의 혼잡윈도우 크기와 상기 계산된 감소인자를 곱하여 결정되는 것이 바람직하다. The reduction factor determination may be performed by obtaining the average throughput of the MPTCP connection and obtaining the average throughput of the MPTCP with respect to the packet loss occurring in the predetermined subflow, In this case, the congestion window size is preferably determined by multiplying the current congestion window size by the calculated reduction factor.

본 발명에 의한 MPTCP의 혼잡윈도우 제어방법을 보다 상세히 설명하기로 한다. 본 발명에 의한 MPTCP의 혼잡윈도우 제어방법은 패킷 손실이 발생했을 때의 혼잡 윈도우 크기의 변화와 MCCA의 세 번째 필요 조건인 혼잡 균형에 중점을 둔다. 이는 MPTCP가 가장 혼잡이 낮은 링크를 이용해야 한다는 것을 의미하며, 혼잡이 많은 경로의 부하를 감소시킨다. 이렇게 하기 위해서 본 발명에서는 다음과 같은 기술적 사상에 의해서 혼잡윈도우 제어방법을 제시한다. 즉, 상태가 좋은 서브 플로우에서 혼잡이 발생한 이후에 다시 대역폭을 회복하기 위한 시간은 상태가 좋지 않은 서브 플로우에서 대역폭을 회복하는 시간보다 짧다는 것이다. 따라서 표준 TCP에서 사용하는 감소 인자(decrease factor) 0.5 대신에 각 서브 플로우에서 처리율이 어느 정도인지에 따라서 감소 인자가 결정되어야 한다. 따라서 본 발명에서는 일실시예로 감소인자 β를 다음과 같이 정의한다.The congestion window control method of the MPTCP according to the present invention will be described in more detail. The congestion window control method of the MPTCP according to the present invention focuses on the change of the congestion window size when the packet loss occurs and the congestion balance which is the third necessary condition of the MCCA. This implies that MPTCP should use the least congested link, which reduces the load on the congested path. To this end, the present invention proposes a congestion window control method according to the following technical idea. In other words, the time to recover bandwidth again after congestion occurs in a good subflow is shorter than the time to recover the bandwidth in a bad subflow. Therefore, instead of the decrease factor 0.5 used in the standard TCP, the reduction factor should be determined according to the throughput in each sub-flow. Therefore, in the present invention, the reduction factor? Is defined as follows in one embodiment.

[수학식 5]&Quot; (5) "

Figure pat00020
Figure pat00020

수학식 5에서

Figure pat00021
=
Figure pat00022
는 혼잡 윈도우 크기
Figure pat00023
와 RTT 값
Figure pat00024
를 갖는
Figure pat00025
서브 플로우의 RTT에 대한 혼잡 윈도우 크기의 비율이며,
Figure pat00026
는 n개의 서브 플로우를 갖는 MPTCP 접속의 혼잡 윈도우 크기에 대한 RTT의 평균 비율이다. 그리고 수학식 6과 같이 LIA이 적용되었다.In Equation (5)
Figure pat00021
=
Figure pat00022
Congestion window size
Figure pat00023
And the RTT value
Figure pat00024
Having
Figure pat00025
The ratio of the congestion window size to the RTT of the subflow,
Figure pat00026
Is the average ratio of the RTT to the congestion window size of the MPTCP connection with n sub-flows. And LIA is applied as shown in Equation (6).

[수학식 6]&Quot; (6) "

Figure pat00027
=
Figure pat00028
Figure pat00027
=
Figure pat00028

β의 범위에서 최소 값은 0.5가 사용되며, 이 값은 단일 전송인 경우 또는 낮은 비율의 경로에 혼잡된 경로에 낮은 비율에 적용된다. β 계수의 중간 값은 처리율이 평균보다 높은 경로는 대역폭을 다른 경로보다 더 빨리 복구를 할 것이라는 것을 보여준다. 결과적으로 혼잡이 가장 적은 경로에서 많은 트래픽을 전송하도록 한다. 그러나 이러한 경로도 혼잡이 발생하면 전송률을 감소시켜야 한다. β 계수의 높은 값인 0.8은 전송률을 낮춰야 한다는 것을 의미한다.The minimum value in the range of β is used as 0.5, which applies to the low rate for a single transmission or to a congested path on a low rate path. The median of the β coefficient shows that the path with higher throughput than the average will recover the bandwidth faster than the other path. As a result, traffic is transmitted in the least congested path. However, this path also has to reduce the transmission rate if congestion occurs. A high β value of 0.8 means that the transmission rate should be lowered.

본 발명에 의한 MPTCP 혼잡 윈도우 제어 방법을 이용하여 ALIA에 대한 실시예로 MPTCP를 지원하는 리눅스 커널에서 ALIA를 구현 하였다. 기본적으로 ALIA는 LIA를 확장한 형태이다. 본 발명에 의한 MPTCP의 혼잡 윈도우 제어 방법에서는 패킷 손실이 발생해서 윈도우 크기를 감소할 때 b계수를 적용하는 것이며, 혼잡 회피(congestion avoidance) 단계에서 가법적 증가(additive increase) 뿐만 아니라 빠른 재전송과 복구는 LIA와 동일하다. 본 발명에서 중요한 부분은 MPTCP 접속의 평균 처리율과 혼잡된 서브 플로우 사이의 비율이다. 여기서, MPTCP 접속의 평균 처리율이란 MPTCP에는 다수의 경로가 존재하는데, 이 경로상의 트래픽을 평균한 값을 말하고, 혼잡된 서브플로우란 여러 경로 중에서 혼잡이 발생해서 처리율 또는 전송율이 떨어지는 flow를 나타낸다.ALIA is implemented in a Linux kernel supporting MPTCP as an embodiment of ALIA using the MPTCP congestion window control method according to the present invention. ALIA is basically an extension of LIA. In the congestion window control method of MPTCP according to the present invention, the b coefficient is applied when the window size is reduced due to packet loss. In the congestion avoidance step, not only the additive increase but also the fast retransmission and recovery Is the same as LIA. An important part of the present invention is the ratio between the average throughput of the MPTCP connection and the congested sub-flows. Here, the average throughput of the MPTCP connection refers to a value obtained by averaging the traffic on the MPTCP, and a congested subflow represents a flow in which the throughput or the transmission rate drops due to congestion among the various paths.

이 비율은 전체 MPTCP 접속의 평균 처리율을 ACK가 발생할 때마다 자주 갱신함으로써 다음과 같이 쉽게 계산이 된다.This ratio is easily calculated by updating the average throughput of the entire MPTCP connection every time an ACK occurs, as follows:

경로 r에 대한 각 ACK에 대해서, LIA에서와 같이 α 계수를 갱신하고, 수학식 6에 따라 혼잡 윈도우 크기

Figure pat00029
를 증가시킨다. MPTCP 접속의 평균 처리율을 갱신한다. 경로 r에서 발생한 패킷 손실에 대해서 MPTCP의 평균 처리율을 알아내고, 수학식 5에 의해서 β 계수를 계산한다. 혼잡 윈도우 크기
Figure pat00030
를 β*
Figure pat00031
만큼 감소시킨다.For each ACK for path r, the alpha coefficient is updated as in the LIA and the congestion window size < RTI ID = 0.0 >
Figure pat00029
. Update the average throughput of the MPTCP connection. The average throughput of the MPTCP is calculated for the packet loss occurring at the path r, and the beta coefficient is calculated by the equation (5). Congestion window size
Figure pat00030
Lt; RTI ID =
Figure pat00031
.

한편, MPTCP의 목적을 만족하기 위한 이종 네트워크에서 ALIA의 처리율과 트래픽 이동(traffic shifting)에 대한 성능평가를 실시하고 다른 MPTCP 혼잡제어 알고리즘(MCCA)와 비교하였다. 본 발명에 의한 MPTCP 혼잡윈도우 제어 방법을 이용한 ALIA와 LIA, OLIA 및 wVegas와 같은 다른 MPTCP 알고리즘을 리눅스 커널에서 구현하였다. 그리고 테스트 베드를 구성하여 실험실 환경에서 각각의 알고리즘을 수행하였다. 테스트 베드에는 프로토콜이 구현된 호스트 뿐만 아니라 라우터, 스위치 등을 포함한다. 이 외에도 다양한 RTT 지연을 발생시키기 위해서 dummynet을 실행할 수 있는 소프트웨어 브리지를 사용하였다. 트래픽을 발생하고 측정하기 위해서 서버와 클라이언트에서 iperf가 사용되었다.On the other hand, performance evaluation of ALIA throughput and traffic shifting is performed in heterogeneous networks to meet the purpose of MPTCP and compared with other MPTCP Congestion Control Algorithm (MCCA). Other MPTCP algorithms such as ALIA, LIA, OLIA, and wVegas using the MPTCP congestion window control method according to the present invention are implemented in the Linux kernel. Then, a test bed was constructed and each algorithm was performed in a laboratory environment. The testbed includes routers, switches, etc., as well as hosts that implement the protocol. In addition, we use a software bridge that can run dummynet to generate various RTT delays. Iperf was used on servers and clients to generate and measure traffic.

도 2은 분리된 병목 시나리오를 설명하기 위한 병목 링크 시나리오를 나타내고 있다. 도 2를 참조하면, 첫 번째 테스트 베드에서 MCCA에서 요구되는 공정성(fairness) 관점에서 ALIA 성능이 평가되었으며, 다른 MCCA, 특히 ALIA의 원래 알고리즘인 LIA의 성능과 비교하였다. 테스트 베드의 토폴로지(topology)는 대칭 형태이며, A1-B1과 A2-B2는 병목링크로써 각 링크는 하나의 MPTCP 플로우와 공유된다. 알고리즘의 두 경로간 트래픽 이동 효과를 관찰하기 위해서 두 경로의 부하를 다르게 하였다. FIG. 2 shows a bottleneck link scenario for explaining the separated bottleneck scenario. Referring to FIG. 2, the ALIA performance was evaluated in terms of fairness required in the MCCA in the first test bed and compared with the performance of another MCCA, especially the original algorithm of ALIA, LIA. The topology of the test bed is symmetric, and A1-B1 and A2-B2 are bottleneck links, with each link shared with one MPTCP flow. In order to observe the traffic movement effect between the two paths of the algorithm, the load of the two paths is different.

따라서 첫 번째 경로 A1-B1의 링크 용량은 100Mbps로 하고, 두 번째 경로 A2-B2의 용량은 테스트 경우에 따라서 30, 50, 75 그리고 100 Mbps로 변화를 주어 실험을 하였다. 링크의 용량을 조절하기 위해서 두 번째 경로에 dummynet bridge를 사용하여 원하는 용량으로 설정하였다. 단일 경로 TCP와 MPTCP는 동시에 시작하고 종료를 하였으며, 각 접속의 처리율(Mb/s)을 관찰하였다. Therefore, the link capacity of the first path A1-B1 is set to 100 Mbps, and the capacity of the second path A2-B2 is changed to 30, 50, 75 and 100 Mbps according to the test case. To adjust the link capacity, we set the desired capacity using the dummynet bridge on the second path. Single path TCP and MPTCP started and ended simultaneously, and observed the throughput (Mb / s) of each connection.

도 3은 단일경로 TCP 플로우와 다른 혼잡제어 알고리즘을 사용하는 MPTCP 접속의 처리율을 나타낸 것으로서, 두 개의 단일 TCP 플로우와 다양한 혼잡제어 알고리즘을 사용했을 때 전체 다중 경로의 처리율을 보여준다. 도 3을 참조하면, ALIA를 사용하는 다중 경로 접속은 다른 알고리즘을 사용할 때와 비교했을 때 조금 낮은 처리율을 나타내는 것을 알 수 있으며, 특히 3가지 경우의 링크 용량에서 LIA 보다 낮은 처리율을 보여주고 있다. 그러나 MPTCP의 처리율은 다른 단일 경로 TCP 보다는 높은 것을 알 수 있으며, 이것은 ALIA가 다른 MPTCP 알고리즘과 비교했을 때 두 개의 단일 경로 TCP와 친화적(friendly)이라는 것을 알 수 있다. Figure 3 shows the throughput of MPTCP connections using a single path TCP flow and other congestion control algorithms and shows throughput of the entire multipath using two single TCP flows and various congestion control algorithms. Referring to FIG. 3, it can be seen that the multipath access using ALIA exhibits a slightly lower throughput as compared with the use of other algorithms, and in particular, the throughput of the link capacity of three cases is lower than that of the LIA. However, we can see that the throughput of MPTCP is higher than that of other single-path TCPs, and it can be seen that ALIA is friendly to two single-path TCPs compared to other MPTCP algorithms.

이 결과는 표 1에서 계산된 공정성 지표(fairness index)에서 다시 확인할 수 있다. 표 1은 다른 혼잡제어 알고리즘을 사용했을 경우의 공정성 지수를 비교한 것이다. 표1을 참조하면, ALIA를 사용했을 때의 공정성 지표는 모든 테스트의 경우에서 가장 높은 것을 알 수 있다. 평균 사용자 처리율에 대한 공정성 지수를 계산하기 위해서 수학식 7과 같이 Jain's Fairness Index(JFI)을 사용하였다.This result can be confirmed again in the fairness index calculated in Table 1. Table 1 compares fairness indices for different congestion control algorithms. As shown in Table 1, the fairness index using ALIA is the highest in all tests. The Jain's Fairness Index (JFI) was used to calculate the fairness index for the average user throughput as shown in Equation (7).

[수학식 7]&Quot; (7) "

Figure pat00032
Figure pat00032

수학식 7 에서

Figure pat00033
Figure pat00034
번째 접속의 처리율이며, n은 경쟁하는 접속의 수이다.In Equation (7)
Figure pat00033
silver
Figure pat00034
Th connection, and n is the number of competing connections.

[표 1][Table 1]

Figure pat00035
Figure pat00035

도 4는 공유된 병목 시나리오를 설명하기 위한 공유 링크 시나리오를 나타내고 있다. 도 4를 참조하면, 두 개의 서브 플로우를 갖는 MPTCP와 단일 경로 TCP Cubic이 병목 링크를 공유하도록 테스트 베드가 구성되었다. 이 시나리오에서는 첫 번째 MPTCP의 목표인 단일 경로 TCP보다 처리율이 향상되는지에 대해서 실험을 하였다. 이 테스트 베드에서는 모든 링크는 100Mbps의 대역폭을 갖도록 설정되었으며, dummynet bridge를 사용해서 다양한 지연이 발생하도록 하였다. Figure 4 shows a shared link scenario to illustrate a shared bottleneck scenario. Referring to FIG. 4, a test bed is configured such that MPTCP having two sub-flows and single-path TCP Cubic share a bottleneck link. In this scenario, we tested whether the throughput of the first MPTCP is better than that of the single-path TCP. In this test bed, all links are set to have a bandwidth of 100 Mbps, and various delays are generated using the dummynet bridge.

특히 이 시나리오에서는 첫 번째 MPTCP 서브 플로우와 단일 경로 TCP 플로우의 지연을 동일하게 하였으며, 100ms의 좋은 상태를 갖도록 하였다. 그러나 두 번째 서브 플로우는 50, 100, 150 그리고 200ms의 4가지 지연 조건을 갖도록 설정하였다. 이러한 설정을 하기 위해서 dummynet bridge의 IP address filter(ipfw) 기능을 사용하였다. 이 시나리오에서도 단일 경로 TCP와 MPTCP 플로우는 동시에 시작하고 동시에 종료되었다.Especially, in this scenario, the delay of the first MPTCP subflow and the single path TCP flow are made equal and 100 ms is good. However, the second sub-flow is set to have four delay conditions of 50, 100, 150 and 200 ms. To do this, I used the IP address filter (ipfw) function of the dummynet bridge. In this scenario, single-path TCP and MPTCP flows were started and concurrently started at the same time.

도 5는 공유된 병목 시나리오에서 단일 경로 TCP와 다양한 MPTCP의 혼잡제어 알고리즘의 처리율을 비교한 것이다. 일반적으로 이종 네트워크 환경은 MPTCP에 큰 영향을 미친다. 지연이 100ms 미만의 좋은 네트워크 환경에서는 MPTCP의 성능은 TCP보다 높지만 지연이 커 질수록 처리율이 낮아지거나 단일 경로 TCP 보다 낮아지는 경우도 있다. 그 이유는 수신 버퍼에서 수신되는 패킷의 재정렬(reordering)을 처리하는 시간이 크게 증가하기 때문이다. 지연이 다른 것과 같이 다른 특성을 갖는 경로를 통해서 들어오는 패킷의 재정렬을 처리하는데 걸리는 시간 지연을 극복하는 것은 쉽지 않다. 다중 경로 TCP에서 패킷이 순서에 맞지 않게 수신되면 처리율을 크게 떨어뜨린다. 5 compares the throughputs of the congestion control algorithms of the single path TCP and the various MPTCPs in the shared bottleneck scenario. In general, heterogeneous network environments have a large impact on MPTCP. In a good network environment with a delay of less than 100 ms, the performance of MPTCP is higher than that of TCP, but the higher the delay, the lower the throughput or the lower the single-path TCP. This is because the time for processing the reordering of packets received in the receiving buffer is greatly increased. It is not easy to overcome the time delay involved in reordering incoming packets through paths with different characteristics, such as different delays. In multipath TCP, if the packets are received out of order, the throughput is greatly reduced.

그러나 새로운 β 계수를 사용함으로써 ALIA는 혼잡이 적은 링크를 사용하게 함으로써 지연이 낮을 때나 높을 때 처리율을 높게 유지할 수 있도록 한다. 따라서 ALIA는 다른 알고리즘보다 효율적으로 혼잡이 적은 경로를 사용할 수 있게 함으로써 처리율을 향상시키는 것을 알 수 있다.However, by using the new β factor, ALIA makes it possible to keep the throughput high when the delay is low or high, by using less congested links. Thus, it can be seen that ALIA improves the throughput by making it possible to use less congested paths more efficiently than other algorithms.

본 발명은 기존 MPTCP 알고리즘인 LIA를 확장한 개념인 Adaptive Linked Increase Algorithm(ALIA) 혼잡제어 알고리즘을 제안하였다. ALIA의 성능을 평가하기 위해서 리눅스에서 프로토콜을 구현하였으며, 구현된 프로토콜로 테스트 베드를 구성하여 처리율(throughput)과 공정성(fairness)을 평가하였다. ALIA 성능은 TCP와 MPTCP 프로토콜의 경쟁을 위해서 분리된 병목 링크 시나리오와 공유된 병목 시나리오에서 다른 알고리즘과 비교되었다. 테스트 결과 본 발명을 이용한 ALIA 알고리즘은 분리된 병목 시나리오에서 공정성이 개선되고, 공유된 병목 시나리오에서는 처리율이 향상되는 것을 알 수 있었다.The present invention proposes an Adaptive Linked Increase Algorithm (ALIA) congestion control algorithm, which is an extension of the existing MPTCP algorithm, LIA. In order to evaluate the performance of ALIA, a protocol was implemented in Linux and a throughput and fairness were evaluated by constructing a test bed with the implemented protocol. ALIA performance was compared with other algorithms in separate bottleneck link scenarios and shared bottleneck scenarios in order to compete with TCP and MPTCP protocols. The test results show that the ALIA algorithm using the present invention improves the fairness in the separate bottleneck scenario and improves the throughput in the shared bottleneck scenario.

본 발명은 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터(정보 처리 기능을 갖는 장치를 모두 포함한다)가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 장치의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광데이터 저장장치 등이 있다. The present invention can be embodied as a computer readable code on a computer-readable recording medium (including all devices having an information processing function). A computer-readable recording medium includes all kinds of recording apparatuses in which data that can be read by a computer system is stored. Examples of computer-readable recording devices include ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage, and the like.

본 발명은 도면에 도시된 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다. While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is evident that many alternatives, modifications and variations will be apparent to those skilled in the art. Accordingly, the true scope of the present invention should be determined by the technical idea of the appended claims.

Claims (4)

다중경로 전송제어 프로토콜(MPTCP)의 혼잡 윈도우 제어 방법에 있어서,
패킷 손실이 발생하지 않고 정상적으로 패킷의 송수신이 이루어지면 혼잡윈도우 크기를 증가하는 단계; 및
패킷의 손실이 발생하면 혼잡윈도우 크기를 감소시키는 단계를 포함하고,
상기 혼잡윈도우의 크기를 감소시키는 감소인자는
각 서브 플로우의 처리율에 따라 달리 결정되며, 처리율이 높은 서브 플로우의 감소인자는 처리율이 낮은 서브 플로우의 감소인자보다 큰 값을 갖도록 결정되어 서브 플로우의 혼잡 윈도우 크기 감소가 작게 되는 것을 특징으로 하는 다중경로 전송제어 프로토콜(MPTCP)의 혼잡 윈도우 제어 방법.
A congestion window control method of a multipath transmission control protocol (MPTCP)
Increasing the congestion window size if packet transmission / reception is normally performed without packet loss; And
Reducing the congestion window size if packet loss occurs,
The reduction factor that reduces the size of the congestion window is
And the reduction factor of the subflow with a high throughput is determined to be larger than the factor of decrease of the subflow with a low throughput so that the decrease in the size of the congestion window of the subflow becomes small. Congestion Window Control Method of Path Transmission Control Protocol (MPTCP).
제1항에 있어서, 상기 감소인자는
각 서브 플로우의 RTT(round trip time)에 대한 혼잡 윈도우의 크기 비율에 따라 달리 결정되는 것을 특징으로 하는 다중경로 전송제어 프로토콜(MPTCP)의 혼잡 윈도우 제어 방법.
2. The method of claim 1,
Wherein the congestion window size is determined differently according to the size ratio of the congestion window to the round trip time (RTT) of each sub-flow.
제2항에 있어서, 상기 감소인자는
[수학식 5]
Figure pat00036

MPTCP 접속의 평균 처리율을 획득하는 단계; 및
소정의 서브 플로우에서 발생한 패킷 손실에 대해 MPTCP의 평균처리율을 획득하여 상기 수학식 5에 의해 계산되는 단계를 포함하는 것을 특징으로 하는 다중경로 전송제어 프로토콜(MPTCP)의 혼잡 윈도우 제어 방법.
3. The method of claim 2, wherein the reduction factor is
&Quot; (5) "
Figure pat00036

Obtaining an average throughput of the MPTCP connection; And
And obtaining the average throughput of the MPTCP for a packet loss occurring in a predetermined sub-flow, and calculating the average throughput of the MPTCP according to Equation (5).
제3항에 있어서, 상기 혼잡윈도우 크기는
현재의 혼잡윈도우 크기와 상기 계산된 감소인자를 곱하여 결정되는 것을 특징으로 하는 다중경로 전송제어 프로토콜(MPTCP)의 혼잡 윈도우 제어 방법.
4. The method of claim 3, wherein the congestion window size is
And multiplying the current congestion window size by the computed reduction factor. ≪ RTI ID = 0.0 > 8. < / RTI >
KR1020160097537A 2016-07-29 2016-07-29 Method for controlling a congestion window for multi path TCP in heterogeneous network Active KR101849302B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160097537A KR101849302B1 (en) 2016-07-29 2016-07-29 Method for controlling a congestion window for multi path TCP in heterogeneous network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160097537A KR101849302B1 (en) 2016-07-29 2016-07-29 Method for controlling a congestion window for multi path TCP in heterogeneous network

Publications (2)

Publication Number Publication Date
KR20180013597A true KR20180013597A (en) 2018-02-07
KR101849302B1 KR101849302B1 (en) 2018-04-16

Family

ID=61204582

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160097537A Active KR101849302B1 (en) 2016-07-29 2016-07-29 Method for controlling a congestion window for multi path TCP in heterogeneous network

Country Status (1)

Country Link
KR (1) KR101849302B1 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020045797A1 (en) * 2018-08-31 2020-03-05 연세대학교 산학협력단 Device and method for controlling congestion window for multipath transmission control protocol
KR102093351B1 (en) 2018-11-20 2020-03-25 울산과학기술원 Method and apparatus for scheduling of packets to multiple-interfaces
KR20200092250A (en) * 2019-01-24 2020-08-03 고려대학교 산학협력단 System for multipath packet scheduling method therefor
KR102471228B1 (en) * 2022-04-04 2022-11-28 서울대학교산학협력단 Method and apparatus for dynamic adjustment of aggressiveness parameters for packet flow in the network
CN115643212A (en) * 2022-10-17 2023-01-24 联想(北京)有限公司 Method and device for processing data in user space and electronic equipment
US20230216804A1 (en) * 2022-01-04 2023-07-06 Vmware, Inc. Efficient mechanism for the transmission of multipath duplicate packets
CN117880183A (en) * 2023-12-30 2024-04-12 国网湖北省电力有限公司信息通信公司 A datagram congestion control method for unreliable multipath transmission based on DCCP

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020045797A1 (en) * 2018-08-31 2020-03-05 연세대학교 산학협력단 Device and method for controlling congestion window for multipath transmission control protocol
KR20200025590A (en) * 2018-08-31 2020-03-10 연세대학교 산학협력단 Congestion window control method for multipath transmission control protocol
KR102093351B1 (en) 2018-11-20 2020-03-25 울산과학기술원 Method and apparatus for scheduling of packets to multiple-interfaces
KR20200092250A (en) * 2019-01-24 2020-08-03 고려대학교 산학협력단 System for multipath packet scheduling method therefor
US20230216804A1 (en) * 2022-01-04 2023-07-06 Vmware, Inc. Efficient mechanism for the transmission of multipath duplicate packets
KR102471228B1 (en) * 2022-04-04 2022-11-28 서울대학교산학협력단 Method and apparatus for dynamic adjustment of aggressiveness parameters for packet flow in the network
CN115643212A (en) * 2022-10-17 2023-01-24 联想(北京)有限公司 Method and device for processing data in user space and electronic equipment
CN117880183A (en) * 2023-12-30 2024-04-12 国网湖北省电力有限公司信息通信公司 A datagram congestion control method for unreliable multipath transmission based on DCCP

Also Published As

Publication number Publication date
KR101849302B1 (en) 2018-04-16

Similar Documents

Publication Publication Date Title
KR101849302B1 (en) Method for controlling a congestion window for multi path TCP in heterogeneous network
JP7556579B2 (en) Packet transmission system and method
EP3278514B1 (en) Data transmission
US8149704B2 (en) Communication apparatus and data communication method
US8943206B2 (en) Network bandwidth detection and distribution
Tian et al. TCP in wireless environments: problems and solutions
US9088511B2 (en) Multi-hop error recovery
CN101895466B (en) Method for reducing influence of data packet disorder on SCTP multipath transmission
JP6473688B2 (en) Data stream splitting to increase data transfer rate
EP3255847A1 (en) Transmission control protocol data packet transmission method, transmission device and system
Sinky et al. Proactive multipath TCP for seamless handoff in heterogeneous wireless access networks
WO2016162501A1 (en) Method and system for the scheduling of packets in a bundling scenario based on tcp tunnels and native tcp information
Alheid et al. An analysis of the impact of out-of-order recovery algorithms on MPTCP throughput
JP2021505042A (en) Real-time transport network Systems and methods for accelerating or decelerating data transport networks based on congestion conditions
Nguyen et al. Evaluation of multipath TCP load sharing with coupled congestion control option in heterogeneous networks
TWI757887B (en) Method, network controller, and computer program product for facilitating multipath transmission of a data stream from a sender to a receiver
Halepoto et al. Management of buffer space for the concurrent multipath transfer over dissimilar paths
Kokku et al. A multipath background network architecture
Ayar et al. A transparent reordering robust TCP proxy to allow per-packet load balancing in core networks
CN116389363A (en) Congestion control for networks using deployable INT
US20140369189A1 (en) Method of controlling packet transmission in network system and network system transmitting packet using pseudo-tcp agent
Bhat et al. MPTCP combining congestion window adaptation and packet scheduling for multi-homed device
JP2012134907A (en) Tcp transfer apparatus and program thereof
Prokopiak et al. Application aware concurrent multipath transmission in hybrid wireless networks
Karlsson et al. The interaction between tcp reordering mechanisms and multi-path forwarding in wireless mesh networks

Legal Events

Date Code Title Description
A201 Request for examination
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20160729

PA0201 Request for examination
E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20171211

Patent event code: PE09021S01D

PG1501 Laying open of application
E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20180327

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20180410

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20180411

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
PR1001 Payment of annual fee

Payment date: 20210401

Start annual number: 4

End annual number: 4

PR1001 Payment of annual fee

Payment date: 20230321

Start annual number: 6

End annual number: 6

PR1001 Payment of annual fee

Payment date: 20240326

Start annual number: 7

End annual number: 7

PR1001 Payment of annual fee

Payment date: 20250331

Start annual number: 8

End annual number: 8