KR102131427B1 - Method and apparatus for performing a congestion control in stream control transmission protocol - Google Patents

Method and apparatus for performing a congestion control in stream control transmission protocol Download PDF

Info

Publication number
KR102131427B1
KR102131427B1 KR1020140033008A KR20140033008A KR102131427B1 KR 102131427 B1 KR102131427 B1 KR 102131427B1 KR 1020140033008 A KR1020140033008 A KR 1020140033008A KR 20140033008 A KR20140033008 A KR 20140033008A KR 102131427 B1 KR102131427 B1 KR 102131427B1
Authority
KR
South Korea
Prior art keywords
congestion
association
congestion control
new association
window value
Prior art date
Application number
KR1020140033008A
Other languages
Korean (ko)
Other versions
KR20150109767A (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 KR1020140033008A priority Critical patent/KR102131427B1/en
Publication of KR20150109767A publication Critical patent/KR20150109767A/en
Application granted granted Critical
Publication of KR102131427B1 publication Critical patent/KR102131427B1/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/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/12Avoiding congestion; Recovering from congestion
    • H04L47/127Avoiding congestion; Recovering from congestion by using congestion prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations
    • H04L47/283Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/29Flow control; Congestion control using a combination of thresholds

Landscapes

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

Abstract

본 발명은, 서로 다른 IP(Internet Protocol) 주소를 갖는 복수개의 어소시에이션(association)들이 설정된 디바이스 간의 데이터 전송시, 혼잡 윈도우(congestion window) 값을 제어하는 방법에 있어서, 새로운 어소시에이션이 설정되는 경우, 상기 새로운 어소시에이션의 가용 대역폭 정보(available bandwidth information)를 추정하는 단계; 상기 추정된 가용 대역폭 정보를 이용하여 상기 새로운 어소시에이션의 혼잡제어 임계값을 산출하는 단계; 및 상기 산출된 혼잡제어 임계값을 상기 새로운 어소시에이션의 혼잡 윈도우 값으로 설정하는 단계를 포함하되, 상기 혼잡 윈도우 값은, 혼잡 제어를 위한 초기 윈도우 값으로 상기 디바이스 간 처리 가능한 데이터 양을 나타내고, 상기 새로운 어소시에이션의 혼잡제어 임계값은 복수개의 기설정된 어소시에이션들의 혼잡제어 임계값들에 기초하여 결정되는 것을 특징으로 하는 방법을 제공한다.The present invention is a method for controlling a congestion window value when data is transmitted between devices having a plurality of associations having different IP (Internet Protocol) addresses, when a new association is set. Estimating available bandwidth information of the new association; Calculating a congestion control threshold of the new association using the estimated available bandwidth information; And setting the calculated congestion control threshold to a congestion window value of the new association, wherein the congestion window value is an initial window value for congestion control indicating the amount of data that can be processed between the devices, and the new The method provides a method characterized in that the congestion control threshold of an association is determined based on the congestion control thresholds of a plurality of preset associations.

Description

SCTP에서의 혼잡 제어 방법 및 장치{METHOD AND APPARATUS FOR PERFORMING A CONGESTION CONTROL IN STREAM CONTROL TRANSMISSION PROTOCOL}METHOD AND APPARATUS FOR PERFORMING A CONGESTION CONTROL IN STREAM CONTROL TRANSMISSION PROTOCOL}

본 발명은 SCTP(STREAM CONTROL TRANSMISSION PROTOCOL)를 이용하여 데이터를 전송하는 경우, 혼잡 제어를 수행하는 방법 및 장치에 관한 것이다. 보다 구체적으로, 동적으로 추가되는 어소시에이션(association)에 대해 적절한 혼잡 윈도우의 초기값을 설정하는 방법에 관한 것이다.The present invention relates to a method and apparatus for performing congestion control when data is transmitted using a SCTP (STREAM CONTROL TRANSMISSION PROTOCOL). More specifically, it relates to a method of setting an initial value of an appropriate congestion window for dynamically added associations.

인터넷 실시간 멀티미디어 응용 서비스를 제공하기 위한 인터넷 수송 계층 프로토콜로 TCP(Transmission Control Protocol, 이하 ‘TCP’라 함) 및 UDP(User Datagram Protocol, 이하 ‘UDP’라 함)에 이어, 최근에는 SCTP(STREAM CONTROL TRANSMISSION PROTOCOL, 이하 ‘SCTP’라 함)가 주목 받고 있다. SCTP는 기존 TCP 및 UDP의 문제점을 극복하도록 설계되었고, 나아가 멀티 스트리밍(Multi-Streaming) 및 멀티 호밍(Multi-Homing) 특성을 제공함으로써 멀티 스트림 특성을 갖는 멀티미디어의 실시간 신뢰 전송 및 이동 단말의 핸드오버 기능을 지원할 수 있다.Internet transport layer protocol for providing Internet real-time multimedia application service, following TCP (Transmission Control Protocol, hereinafter referred to as'TCP') and UDP (User Datagram Protocol, hereinafter referred to as'UDP'), and recently SCTP (STREAM CONTROL TRANSMISSION PROTOCOL (hereinafter referred to as'SCTP') is attracting attention. SCTP is designed to overcome the problems of existing TCP and UDP, and further provides multi-streaming and multi-homing characteristics, real-time trust transmission of multimedia with multi-stream characteristics and handover of mobile terminals Function.

그러나, 많은 사용자들이 네트워크에 데이터 전송을 요청하는 경우, 중간 라우터나 물리 계층에서 혼잡이 발생할 것이며, 이러한 혼잡에도 계속적으로 데이터 양이 줄지 않는다면, 재전송의 폭주로 인해 원활한 데이터 송수신이 이루어지기 어렵다. 따라서, 전송 계층 프로토콜에 존재하는 혼잡제어 알고리즘을 통해 네트워크에 주입되는 데이터 양을 조절할 필요가 있다.However, when many users request data transmission to the network, congestion will occur at an intermediate router or a physical layer, and if the amount of data is not continuously reduced despite such congestion, smooth data transmission and reception is difficult due to congestion of retransmission. Therefore, it is necessary to adjust the amount of data injected into the network through the congestion control algorithm existing in the transport layer protocol.

본 발명에서는, 혼잡제어 알고리즘을 통해 네트워크에 주입되는 데이터 양을 조절하는 방법을 제공하고자 한다.In the present invention, it is intended to provide a method for adjusting the amount of data injected into a network through a congestion control algorithm.

본 발명에서는, 동적으로 추가되는 어소시에이션(association)에 대해 적절한 혼잡 윈도우 값을 설정하는 방법을 제공하고자 한다.In the present invention, it is intended to provide a method for setting an appropriate congestion window value for an association that is dynamically added.

본 발명에서는, 기존 어소시에이션(association)의 네트워크 상태 정보를 이용함으로써 적절한 혼잡 윈도우 값을 설정하는 방법을 제공하고자 한다.In the present invention, it is intended to provide a method for setting an appropriate congestion window value by using network status information of an existing association.

본 발명에서는, 동적으로 추가되는 어소시에이션(association)의 혼잡제어 임계값을 산출하는 방법을 제공하고자 한다.In the present invention, it is intended to provide a method for calculating a congestion control threshold of an association that is dynamically added.

본 발명에서는, 기존 어소시에이션(association)에 적용되는 가중치 정보를 산출하는 방법을 제공하고자 한다.In the present invention, to provide a method for calculating the weight information applied to the existing association (association).

본 발명에서는, 어소시에이션(association)의 가용 대역폭 정보를 산출하는 방법을 제공하고자 한다.In the present invention, it is intended to provide a method of calculating available bandwidth information of an association.

본 발명에서는, 어소시에이션(association)에 대한 데이터 처리 속도를 산출하는 방법을 제공하고자 한다.In the present invention, it is intended to provide a method for calculating a data processing speed for association.

본 발명은, 서로 다른 IP(Internet Protocol) 주소를 갖는 복수개의 어소시에이션(association)들이 설정된 디바이스 간의 데이터 전송시, 혼잡 윈도우(congestion window) 값을 제어하는 방법에 있어서, 새로운 어소시에이션이 설정되는 경우, 상기 새로운 어소시에이션의 가용 대역폭 정보(available bandwidth information)를 추정하는 단계; 상기 추정된 가용 대역폭 정보를 이용하여 상기 새로운 어소시에이션의 혼잡제어 임계값을 산출하는 단계; 및 상기 산출된 혼잡제어 임계값을 상기 새로운 어소시에이션의 혼잡 윈도우 값으로 설정하는 단계를 포함하되, 상기 혼잡 윈도우 값은, 혼잡 제어를 위한 초기 윈도우 값으로 상기 디바이스 간 처리 가능한 데이터 양을 나타내고, 상기 새로운 어소시에이션의 혼잡제어 임계값은 복수개의 기설정된 어소시에이션들의 혼잡제어 임계값들에 기초하여 결정되는 것을 특징으로 하는 방법을 제공한다.The present invention is a method for controlling a congestion window value when data is transmitted between devices having a plurality of associations having different IP (Internet Protocol) addresses, when a new association is set. Estimating available bandwidth information of the new association; Calculating a congestion control threshold of the new association using the estimated available bandwidth information; And setting the calculated congestion control threshold to a congestion window value of the new association, wherein the congestion window value is an initial window value for congestion control indicating the amount of data that can be processed between the devices, and the new The method provides a method characterized in that the congestion control threshold of an association is determined based on the congestion control thresholds of a plurality of preset associations.

본 발명에서, 상기 방법은, 상기 복수개의 기설정된 어소시에이션들의 혼잡제어 임계값들을 획득하는 단계를 더 포함하되, 상기 새로운 어소시에이션의 혼잡제어 임계값은 상기 획득된 복수개의 기설정된 어소시에이션들의 혼잡제어 임계값들의 평균값으로 산출되는 것을 특징으로 한다.In the present invention, the method further includes obtaining congestion control thresholds of the plurality of preset associations, wherein the congestion control threshold of the new association is a congestion control threshold of the obtained plurality of preset associations. Characterized in that it is calculated as the average value of.

본 발명에서, 상기 복수개의 기설정된 어소시에이션들의 혼잡제어 임계값들은 각각 서로 다른 가중치 정보가 적용되는 것을 특징으로 한다.In the present invention, the congestion control thresholds of the plurality of preset associations are characterized in that different weight information is applied to each.

본 발명에서, 상기 가중치 정보는, 상기 복수개의 기설정된 어소시에이션들 각각의 가용 대역폭 정보 대비 상기 새로운 어소시에이션의 상기 추정된 가용 대역폭 정보에 기초하여 산출되는 것을 특징으로 한다.In the present invention, the weight information is calculated based on the estimated available bandwidth information of the new association compared to the available bandwidth information of each of the plurality of preset associations.

본 발명에서, 상기 기설정된 어소시에이션들 또는 상기 새로운 어소시에이션의 가용 대역폭 정보는, 해당 어소시에이션에 대한 송신단과 수신단의 데이터 처리 속도에 기초하여 추정되는 것을 특징으로 한다.In the present invention, the available bandwidth information of the predetermined associations or the new association is characterized in that it is estimated based on the data processing speed of the transmitting end and the receiving end for the association.

본 발명에서, 상기 데이터 처리 속도는 상기 해당 어소시에이션의 혼잡 윈도우 값 및 패킷 왕복 시간(Round Trip Time)에 기초하여 산출되는 것을 특징으로 한다.In the present invention, the data processing speed is characterized in that it is calculated based on the congestion window value and the packet round trip time (Round Trip Time) of the corresponding association.

본 발명에서, 상기 데이터 처리 속도는 연속된 두 패킷의 수신 시간 간격 및 패킷 크기에 기초하여 산출되는 것을 특징으로 한다.In the present invention, the data processing speed is characterized in that it is calculated based on the received time interval and packet size of two consecutive packets.

본 발명에서, 상기 방법은, 상기 설정된 새로운 어소시에이션을 데이터 전송 경로로 결정하는 단계; 및 상기 설정된 초기 윈도우 값에 기초하여, 상기 새로운 어소시에이션을 통해 데이터 전송을 수행하는 단계를 더 포함하는 것을 특징으로 한다.In the present invention, the method includes determining the established new association as a data transmission path; And performing data transmission through the new association based on the set initial window value.

본 발명은, 서로 다른 IP(Internet Protocol) 주소를 갖는 복수개의 어소시에이션(association)들이 설정된 디바이스들 간의 데이터 전송시, 혼잡 윈도우(congestion window) 값을 설정하는 장치에 있어서, 새로운 어소시에이션이 설정되는 경우, 상기 새로운 어소시에이션의 가용 대역폭 정보(available bandwidth information)를 추정하고, 상기 추정된 가용 대역폭 정보를 이용하여 상기 새로운 어소시에이션의 혼잡제어 임계값을 산출하며, 상기 산출된 혼잡제어 임계값을 상기 새로운 어소시에이션의 혼잡 윈도우 값으로 설정하는 혼잡 제어부; 및 상기 설정된 혼잡 윈도우 값에 기초하여, 상기 디바이스들 중 적어도 하나와 데이터 송수신을 수행하는 송수신부를 포함하되, 상기 혼잡 윈도우 값은 혼잡 제어를 위한 초기 윈도우 값으로 상기 디바이스 간 처리 가능한 데이터 양을 나타내고, 상기 새로운 어소시에이션의 혼잡제어 임계값은 복수개의 기설정된 어소시에이션들의 혼잡제어 임계값들에 기초하여 결정되는 것을 특징으로 하는 장치를 제공한다.The present invention is a device for setting a congestion window value when data is transmitted between devices having a plurality of associations having different IP (Internet Protocol) addresses, when a new association is set, The available bandwidth information of the new association is estimated, the congestion control threshold of the new association is calculated using the estimated available bandwidth information, and the calculated congestion control threshold is the congestion of the new association. A congestion control unit that sets a window value; And a transmission/reception unit performing data transmission and reception with at least one of the devices based on the set congestion window value, wherein the congestion window value is an initial window value for congestion control indicating an amount of data that can be processed between the devices, It provides an apparatus characterized in that the congestion control threshold of the new association is determined based on the congestion control thresholds of a plurality of predetermined associations.

본 발명에서, 상기 혼잡 제어부는, 상기 복수개의 기설정된 어소시에이션들의 혼잡제어 임계값들을 획득하고, 상기 새로운 어소시에이션의 혼잡제어 임계값은 상기 획득된 복수개의 기설정된 어소시에이션들의 혼잡제어 임계값들의 평균값으로 산출되는 것을 특징으로 한다.In the present invention, the congestion control unit obtains congestion control thresholds of the plurality of preset associations, and the congestion control threshold of the new association is calculated as an average value of the obtained congestion control thresholds of the plurality of preset associations. It is characterized by being.

본 발명에서, 상기 혼잡 제어부는, 상기 설정된 새로운 어소시에이션을 데이터 전송 경로로 결정하고, 상기 송수신부는, 상기 설정된 초기 윈도우 값에 기초하여 상기 새로운 어소시에이션을 통해 데이터 전송을 수행하는 것을 특징으로 한다.In the present invention, the congestion control unit determines the set new association as a data transmission path, and the transmission/reception unit performs data transmission through the new association based on the set initial window value.

기존 어소시에이션(association)의 네트워크 상태 정보를 활용함으로써, 동적으로 추가되는 어소시에이션(association)에 대해 적절한 혼잡 윈도우의 초기값을 설정할 수 있다. 또한, 새로운 어소시에이션이 구성될 때, 해당 경로의 대역폭 추정 기법과 추정한 네트워크 상태 정보를 이용하여, 새로운 어소시에이션의 적절한 혼잡 윈도우의 초기값을 설정함으로써, 보다 큰 데이터 처리 속도를 확보할 수 있고, 사용 가능한 대역폭의 활용을 극대화할 수 있다.By using the network state information of the existing association, it is possible to set the initial value of the congestion window suitable for the dynamically added association. In addition, when a new association is configured, a larger data processing speed can be secured by setting an initial value of an appropriate congestion window of a new association using a bandwidth estimation technique of the corresponding path and estimated network state information, and It is possible to maximize the utilization of the available bandwidth.

또한, 어소시에이션 전체의 비율에 따라 혼잡 제어 임계값에 적용되는 가중치를 달리함으로써 CMT(Concurrent Multipath Transfer) 형태의 서비스와 non-CMT(Concurrent Multipath Transfer) 형태의 서비스의 대역폭 점유율 측면에서 형평성을 보완할 수 있다.In addition, by varying the weight applied to the congestion control threshold according to the ratio of the entire association, it is possible to compensate for equity in terms of bandwidth share of services of the Concurrent Multipath Transfer (CMT) type service and the Concurrent Multipath Transfer (non-CMT) type service. have.

도 1은 본 발명이 적용되는 실시예로써, SCTP(STREAM CONTROL TRANSMISSION PROTOCOL)가 적용되는 네트워크 구조도를 나타낸다.
도 2는 본 발명이 적용되는 실시예로써, 네트워크 상에서의 혼잡을 제어하기 위한 혼잡 제어 장치의 개략적인 블록도를 나타낸다.
도 3은 본 발명이 적용되는 실시예로써, 적응적인 혼잡 윈도우 값을 설정하기 위한 혼잡 제어부의 개략적인 내부 블록도를 나타낸다.
도 4는 본 발명이 적용되는 실시예로써, SCTP(STREAM CONTROL TRANSMISSION PROTOCOL)가 적용되는 네트워크 상에서 데이터를 전송하는 절차를 설명하기 위한 흐름도를 나타낸다.
도 5는 본 발명이 적용되는 실시예로써, SCTP(STREAM CONTROL TRANSMISSION PROTOCOL)가 적용되는 네트워크 상에서 어소시에이션(association)을 설정하는 절차를 설명하기 위한 흐름도를 나타낸다.
도 6은 본 발명이 적용되는 실시예로써, SCTP(STREAM CONTROL TRANSMISSION PROTOCOL)가 적용되는 네트워크 상에서 혼잡 제어를 수행하는 절차를 설명하기 위한 흐름도를 나타낸다.
도 7은 본 발명이 적용되는 실시예로써, SCTP(STREAM CONTROL TRANSMISSION PROTOCOL)가 적용되는 네트워크 상에서 혼잡 제어 알고리즘을 설명하기 위한 그래프를 나타낸다.
도 8은 본 발명이 적용되는 실시예로써, SCTP(STREAM CONTROL TRANSMISSION PROTOCOL)가 적용되는 네트워크 상에서 적응적인 혼잡 윈도우 값을 설정하는 방법을 설명하기 위한 흐름도를 나타낸다.
도 9는 본 발명이 적용되는 실시예로써, SCTP(STREAM CONTROL TRANSMISSION PROTOCOL)가 적용되는 네트워크 상에서 적응적인 혼잡 윈도우 값을 설정하여 데이터를 전송하는 방법을 설명하기 위한 흐름도를 나타낸다.
도 10은 본 발명이 적용되는 실시예로써, SCTP가 적용되는 네트워크 상에서 노드의 이동으로 핸드 오버가 수행되는 경우를 나타낸다.
1 is an embodiment to which the present invention is applied, and shows a network structure diagram to which a SCTP (STREAM CONTROL TRANSMISSION PROTOCOL) is applied.
2 is an embodiment to which the present invention is applied, and shows a schematic block diagram of a congestion control device for controlling congestion on a network.
3 is an embodiment to which the present invention is applied, and shows a schematic internal block diagram of a congestion control unit for setting an adaptive congestion window value.
4 is an embodiment to which the present invention is applied, and shows a flowchart for explaining a procedure for transmitting data on a network to which SCTP (STREAM CONTROL TRANSMISSION PROTOCOL) is applied.
5 is an embodiment to which the present invention is applied, and a flowchart for explaining a procedure for setting an association on a network to which a SCTP (STREAM CONTROL TRANSMISSION PROTOCOL) is applied.
6 is an embodiment to which the present invention is applied, and shows a flow chart for explaining a procedure for performing congestion control on a network to which a SCTP (STREAM CONTROL TRANSMISSION PROTOCOL) is applied.
7 is an embodiment to which the present invention is applied, and shows a graph for explaining a congestion control algorithm on a network to which SCTP (STREAM CONTROL TRANSMISSION PROTOCOL) is applied.
8 is an embodiment to which the present invention is applied, and shows a flow chart for explaining a method for setting an adaptive congestion window value on a network to which SCTP (STREAM CONTROL TRANSMISSION PROTOCOL) is applied.
9 is an embodiment to which the present invention is applied, and shows a flowchart for explaining a method of transmitting data by setting an adaptive congestion window value on a network to which a SCTP (STREAM CONTROL TRANSMISSION PROTOCOL) is applied.
10 is an embodiment to which the present invention is applied, and shows a case in which handover is performed by moving a node on a network to which SCTP is applied.

이하, 첨부된 도면을 참조하여 본 발명의 실시예의 구성과 그 작용을 설명하며, 도면에 의해서 설명되는 본 발명의 구성과 작용은 하나의 실시예로서 설명되는 것이며, 이것에 의해서 본 발명의 기술적 사상과 그 핵심 구성 및 작용이 제한되지는 않는다.Hereinafter, the configuration and operation of the embodiments of the present invention will be described with reference to the accompanying drawings, and the configuration and operation of the present invention described by the drawings will be described as one embodiment, and thereby the technical spirit of the present invention. And its core composition and function are not limited.

아울러, 본 발명에서 사용되는 용어는 가능한 한 현재 널리 사용되는 일반적인 용어를 선택하였으나, 특정한 경우는 출원인이 임의로 선정한 용어를 사용하여 설명한다. 그러한 경우에는 해당 부분의 상세 설명에서 그 의미를 명확히 기재하므로, 본 발명의 설명에서 사용된 용어의 명칭만으로 단순 해석되어서는 안 될 것이며 그 해당 용어의 의미까지 파악하여 해석되어야 함을 밝혀두고자 한다.
In addition, the terminology used in the present invention has been selected as a general terminology that is currently widely used as much as possible, but in a specific case, the term will be described using an arbitrarily selected term. In such a case, since the meaning is clearly described in the detailed description of the relevant part, it should not be interpreted simply by the name of the term used in the description of the present invention, and the meaning of the term should be understood and interpreted. .

도 1은 본 발명이 적용되는 실시예로써, SCTP(STREAM CONTROL TRANSMISSION PROTOCOL)가 적용되는 네트워크 구조도를 나타낸다.
1 is an embodiment to which the present invention is applied, and shows a network structure diagram to which a SCTP (STREAM CONTROL TRANSMISSION PROTOCOL) is applied.

도 1을 살펴보면, 본 발명이 적용되는 네트워크는 크게 호스트A(10)와 호스트B(20) 간에 인터넷을 통해 연결된 구조로 이루어질 수 있다. 상기 호스트A(10)와 상기 호스트B(20)는 데이터 송수신이 가능한 전자 기기를 나타낼 수 있으며, 예를 들어, 컴퓨터, 이동 단말, 라우터, 기지국 등이 있을 수 있다. 상기 호스트A(10)와 상기 호스트B(20)는 각각 적어도 하나 이상의 IP(Internet Protocol) 주소를 포함할 수 있으며, 예를 들어, 상기 호스트A(10)는 n개의 IP 주소 A1, A2, ¨,An을 포함할 수 있고, 상기 호스트B(20)는 m개의 IP 주소 B1, B2, ¨,Bm을 포함할 수 있다.
Referring to Figure 1, the network to which the present invention is applied can be largely made of a structure connected through the Internet between Host A (10) and Host B (20). The host A 10 and the host B 20 may represent electronic devices capable of transmitting and receiving data, and may include, for example, a computer, a mobile terminal, a router, and a base station. The host A 10 and the host B 20 may each include at least one Internet Protocol (IP) address, for example, the host A 10 may include n IP addresses A1, A2, ¨ ,An may be included, and the host B 20 may include m IP addresses B1, B2, ¨,Bm.

상기 호스트A(10)와 상기 호스트B(20)는 적어도 하나 이상의 인터페이스를 통해 상기 호스트A(10)와 상기 호스트B(20) 사이에 경로를 설정하여 데이터 송수신을 수행할 수 있으며, 이때 적용되는 프로토콜로는 TCP(TRANSMISSION CONTROL PROTOCOL), SCTP(STREAM CONTROL TRANSMISSION PROTOCOL), mSCTP(mobile STREAM CONTROL TRANSMISSION PROTOCOL) 등이 적용될 수 있다. The host A 10 and the host B 20 may establish data paths between the host A 10 and the host B 20 through at least one interface to perform data transmission and reception. TCP (TRANSMISSION CONTROL PROTOCOL), SCTP (STREAM CONTROL TRANSMISSION PROTOCOL), mSCTP (mobile STREAM CONTROL TRANSMISSION PROTOCOL) may be applied as the protocol.

예를 들어, 상기 호스트A(10)의 IP 주소 A1과 상기 호스트B(20)의 IP 주소 B1이 서로 연결되어 제 1 경로가 설정될 수 있고, 상기 호스트A(10)의 IP 주소 A2와 상기 호스트B(20)의 IP 주소 B2가 서로 연결되어 제 2 경로가 설정될 수 있다. 그리고, 상기 호스트A(10)와 상기 호스트B(20)는 상기 제 1 경로를 이용하여 데이터를 송수신할 수 있으며, 상기 제 1 경로 상에서의 송수신되는 데이터가 손상되거나 손실되는 경우 상기 호스트A(10)와 상기 호스트B(20)는 상기 제 2 경로를 이용하여 데이터를 송수신할 수 있다. 여기서, 상기 제 1 경로를 주 경로(primary path)라 하고, 상기 제 2 경로를 대체 경로(alternative path)라고 할 수 있다.For example, the IP address A1 of the host A 10 and the IP address B1 of the host B 20 may be connected to each other to establish a first path, and the IP address A2 of the host A 10 and the The IP address B2 of the host B 20 may be connected to each other to establish a second path. In addition, the host A 10 and the host B 20 may transmit and receive data using the first path, and when the data transmitted and received on the first path is damaged or lost, the host A 10 ) And the host B 20 may transmit and receive data using the second path. Here, the first path may be referred to as a primary path, and the second path may be referred to as an alternative path.

이처럼, 데이터를 송수신하기 위해 노드 간에 설정된 커넥션을 어소시에이션(association)이라 한다. SCTP의 경우 하나의 어소시에이션에 복수개의 스트림(stream)을 가질 수 있으며, 복수개의 스트림을 이용하여 데이터 전송을 할 수 있다. 멀티 스트리밍을 수행하기 위해 스트림의 개수는 어소시에이션 설정 단계에서 결정되고, 전송 순서 번호(TSN, Transmission Sequence Number)와 스트림 식별자(Stream Identifier)가 이용될 수 있다.
In this way, a connection established between nodes in order to transmit and receive data is referred to as an association. In the case of SCTP, a single association may have a plurality of streams, and data transmission may be performed using a plurality of streams. In order to perform multi-streaming, the number of streams is determined in an association setting step, and a transmission sequence number (TSN) and a stream identifier (Stream Identifier) may be used.

한편, SCTP가 적용되는 네트워크에 있어서, 하나의 호스트는 복수개의 인터페이스를 포함할 수 있고, 각 인터페이스마다 서로 다른 IP 주소의 할당이 가능하며, 서로 다른 IP 주소를 통해 다중 경로를 설정할 수 있다. 따라서, 호스트들 간의 어소시에이션 설정 시, 각 호스트가 보유하고 있는 IP 주소 목록을 서로 교환하고, 그 중 하나의 IP 주소를 주 경로로 설정하여 데이터를 전송할 수 있다. 이때, 나머지 IP 주소들은 대체 경로로 설정되어, 데이터 재전송이나 주 경로 상의 데이터 전송 에러가 발생하였을 경우 상기 대체 경로를 통해 데이터가 전송될 수 있다.
Meanwhile, in a network to which SCTP is applied, one host may include a plurality of interfaces, different IP addresses may be assigned to each interface, and multiple paths may be set through different IP addresses. Therefore, when associating between hosts, a list of IP addresses held by each host can be exchanged with each other, and data can be transmitted by setting one of the IP addresses as a main route. At this time, the rest of the IP addresses are set as an alternative path, and data may be transmitted through the alternative path when a data retransmission or data transmission error occurs on the main path.

상기와 같이, 호스트 간에 설정된 어소시에이션을 통해 데이터 송수신이 수행되는 경우, 수신 호스트에서 버퍼 오버플로우(buffer overflow)가 발생하지 않도록 하기 위해서, 수신 호스트는 사용 가능한 버퍼 크기를 송신 호스트에 알려줄 수 있다. 따라서, 수신 호스트의 가용 버퍼 크기를 넘지 않도록 하기 위해서 데이터 전송률을 조절하게 된다.
As described above, when data transmission/reception is performed through an association established between hosts, in order to prevent a buffer overflow from occurring in the receiving host, the receiving host may inform the transmitting host of the available buffer size. Therefore, the data transmission rate is adjusted so as not to exceed the available buffer size of the receiving host.

또한, 네트워크 내에서 혼잡이 발생하지 않도록 하기 위해서, 송신 호스트는 혼잡 윈도우의 크기를 증가 또는 감소시킴으로써 데이터 전송률을 조절할 수 있다. 예를 들어, 혼잡 윈도우의 크기를 증가시키는 경우로, 슬로우 스타트(slow start) 알고리즘 및 혼잡 회피(congestion avoidance) 알고리즘이 이용될 수 있다. 그리고, 혼잡 윈도우의 크기를 감소시키는 경우로, 빠른 재전송(fast retransmission) 알고리즘 및 타임아웃 재전송(timeout retransmission) 알고리즘이 이용될 수 있다.In addition, in order to prevent congestion from occurring in the network, the transmitting host can adjust the data rate by increasing or decreasing the size of the congestion window. For example, in the case of increasing the size of the congestion window, a slow start algorithm and a congestion avoidance algorithm may be used. And, as a case of reducing the size of the congestion window, a fast retransmission algorithm and a timeout retransmission algorithm can be used.

이와 같이, 네트워크 내에서 혼잡이 발생하지 않도록 하는 것을 혼잡 제어(congestion control)라고 하며, 본 발명에서는 상기 혼잡 제어를 효율적으로 할 수 있는 방안을 제공한다.
As such, it is referred to as congestion control so that congestion does not occur in the network, and the present invention provides a method for efficiently performing the congestion control.

도 2는 본 발명이 적용되는 실시예로써, 네트워크 상에서의 혼잡을 제어하기 위한 혼잡 제어 장치의 개략적인 블록도를 나타낸다.
2 is an embodiment to which the present invention is applied, and shows a schematic block diagram of a congestion control device for controlling congestion on a network.

본 발명이 적용되는 혼잡 제어 장치(200)는 크게 어소시에이션 관리부(210), 경로 설정부(220), 흐름 제어부(230), 혼잡 제어부(240), 송신부(250) 및 수신부(260)을 포함할 수 있다.
The congestion control apparatus 200 to which the present invention is applied largely includes an association management unit 210, a route setting unit 220, a flow control unit 230, a congestion control unit 240, a transmission unit 250, and a reception unit 260. Can.

상기 어소시에이션 관리부(210)는 노드 간 어소시에이션을 설정하고 종료하는 역할을 수행한다. SCTP의 경우 하나의 어소시에이션에 복수개의 스트림(stream)을 가질 수 있으며, 복수개의 스트림을 이용하여 데이터 전송을 할 수 있다. SCTP 어소시에이션의 설정에 대해서는 도 5에서 상세히 설명하기로 한다.
The association management unit 210 serves to set and end the association between nodes. In the case of SCTP, a single association may have a plurality of streams, and data transmission may be performed using a plurality of streams. The setting of the SCTP association will be described in detail in FIG. 5.

상기 경로 설정부(220)는, 노드 간의 어소시에이션 설정 시 각 노드가 보유하고 있는 IP 주소 목록을 서로 교환하고, 그 중 하나의 IP 주소를 주 경로로 설정하는 역할을 수행한다. 상기 경로 설정부(220)는 서로 다른 IP 주소를 통해 다중 경로를 설정할 수 있고, 상기 주 경로가 아닌 다른 나머지 IP 주소들에 대해서는 대체 경로로 설정할 수 있다.
The route setting unit 220 exchanges a list of IP addresses held by each node when establishing associations between nodes, and serves to set one of the IP addresses as a main route. The route setting unit 220 may set multiple routes through different IP addresses, and may set an alternative route for other IP addresses other than the main route.

상기 흐름 제어부(230)는 수신 노드에서 버퍼 오버플로우(buffer overflow)가 발생하지 않도록 데이터 전송률을 조절하는 역할을 수행한다. 예를 들어, 상기 흐름 제어부(230)는 수신 노드의 사용 가능한 버퍼 크기를 송신 노드에 알려줌으로써 수신 노드의 가용 버퍼 크기를 넘지 않도록 할 수 있다.
The flow control unit 230 serves to adjust the data transfer rate so that a buffer overflow does not occur at the receiving node. For example, the flow control unit 230 may inform the transmitting node of the available buffer size of the receiving node so as not to exceed the available buffer size of the receiving node.

상기 혼잡 제어부(240)는 네트워크 내에서 혼잡이 발생하지 않도록 혼잡 윈도우의 크기를 증가 또는 감소시키는 역할을 하며, 상기 혼잡 윈도우의 크기를 증가 또는 감소시킴으로써 데이터 전송률을 조절할 수 있다. 예를 들어, 상기 혼잡 제어부(240)는 슬로우 스타트(slow start) 알고리즘, 혼잡 회피(congestion avoidance) 알고리즘, 빠른 재전송(fast retransmission) 알고리즘 및 타임아웃 재전송(timeout retransmission) 알고리즘 중 적어도 하나를 이용하여 혼잡 제어를 수행할 수 있다.The congestion control unit 240 serves to increase or decrease the size of the congestion window so that congestion does not occur in the network, and adjust the data transmission rate by increasing or decreasing the size of the congestion window. For example, the congestion control unit 240 may be congested using at least one of a slow start algorithm, a congestion avoidance algorithm, a fast retransmission algorithm, and a timeout retransmission algorithm. Control can be performed.

본 발명이 적용되는 실시예로써, 상기 혼잡 제어부(240)는 동적으로 추가되는 어소시에이션(association)에 대해 적절한 혼잡 윈도우 값을 설정하는 방법을 제공한다. 이때, 기존 어소시에이션(association)의 네트워크 상태 정보를 이용함으로써 적절한 혼잡 윈도우 값을 설정할 수 있다. 또한, 상기 기존 어소시에이션에 가중치 정보를 적용함으로써 적응적인 혼잡 윈도우 값을 산출할 수 있다. 상기 실시예들의 상세한 내용은 도 3 내지 도 9에서 설명하도록 한다.As an embodiment to which the present invention is applied, the congestion control unit 240 provides a method of setting an appropriate congestion window value for dynamically added associations. At this time, an appropriate congestion window value can be set by using the network status information of the existing association. In addition, an adaptive congestion window value may be calculated by applying weight information to the existing association. Details of the above embodiments will be described with reference to FIGS. 3 to 9.

상기 송신부(250) 및 상기 수신부(260)는 노드 간 데이터를 송수신하는 역할을 수행한다.
The transmitting unit 250 and the receiving unit 260 serves to transmit and receive data between nodes.

도 3은 본 발명이 적용되는 실시예로써, 적응적인 혼잡 윈도우 값을 설정하기 위한 혼잡 제어부의 개략적인 내부 블록도를 나타낸다.
3 is an embodiment to which the present invention is applied, and shows a schematic internal block diagram of a congestion control unit for setting an adaptive congestion window value.

본 발명이 적용되는 혼잡 제어부(240)는 크게 대역폭 측정부(241), 혼잡제어 임계값 산출부(242), 가중치 산출부(243) 및 혼잡 윈도우 초기값 설정부(244)를 포함할 수 있다.
The congestion control unit 240 to which the present invention is applied may largely include a bandwidth measurement unit 241, a congestion control threshold calculation unit 242, a weight calculation unit 243, and a congestion window initial value setting unit 244. .

상기 대역폭 측정부(241)는, 서로 다른 IP(Internet Protocol) 주소를 갖는 복수개의 어소시에이션(association)들이 설정된 노드 간 데이터 전송 도중 새로운 어소시에이션이 설정되는 경우, 상기 새로운 어소시에이션의 가용 대역폭 정보(available bandwidth information)를 추정할 수 있다. The bandwidth measurement unit 241, when a new association is set during data transmission between nodes in which a plurality of associations having different IP (Internet Protocol) addresses are set, available bandwidth information of the new association ) Can be estimated.

본 발명은 새로운 어소시에이션이 설정되는 경우 기존 어소시에이션의 네트워크 상태 정보를 이용하여 적절한 혼잡 윈도우 값을 설정할 수 있다. 따라서, 상기 대역폭 측정부(241)는 복수개의 기설정된 어소시에이션들의 가용 대역폭 정보도 추정할 수 있다.
In the present invention, when a new association is set, an appropriate congestion window value can be set using the network status information of the existing association. Accordingly, the bandwidth measurement unit 241 may also estimate available bandwidth information of a plurality of preset associations.

상기 혼잡제어 임계값 산출부(242)는 상기 추정된 복수개의 기설정된 어소시에이션들의 가용 대역폭 정보와 상기 새로운 어소시에이션의 가용 대역폭 정보 중 적어도 하나를 이용하여 상기 새로운 어소시에이션의 혼잡제어 임계값을 산출할 수 있다.
The congestion control threshold calculating unit 242 may calculate the congestion control threshold of the new association by using at least one of the estimated available bandwidth information of the predetermined associations and the available bandwidth information of the new association. .

상기 가중치 산출부(243)는 복수개의 기설정된 어소시에이션들의 혼잡제어 임계값들에 적용할 가중치 정보를 산출할 수 있다. 여기서, 상기 가중치 정보는 상기 복수개의 기설정된 어소시에이션들 각각의 가용 대역폭 정보 대비 상기 새로운 어소시에이션의 추정된 가용 대역폭 정보에 기초하여 산출될 수 있다.
The weight calculator 243 may calculate weight information to be applied to congestion control thresholds of a plurality of preset associations. Here, the weight information may be calculated based on the estimated available bandwidth information of the new association compared to the available bandwidth information of each of the plurality of preset associations.

상기 혼잡 윈도우 초기값 설정부(244)는 상기 새로운 어소시에이션의 혼잡제어 임계값을 상기 새로운 어소시에이션의 혼잡 윈도우 값(cwnd, congestion window)으로 설정할 수 있다. 여기서, 상기 혼잡 윈도우 값은, 혼잡 제어를 위한 초기 윈도우 값으로 상기 디바이스 간 처리 가능한 데이터 양을 나타낸다. The congestion window initial value setting unit 244 may set the congestion control threshold of the new association to a congestion window value (cwnd, congestion window) of the new association. Here, the congestion window value is an initial window value for congestion control and indicates the amount of data that can be processed between the devices.

상기 새로운 어소시에이션의 혼잡제어 임계값은 복수개의 기설정된 어소시에이션들의 혼잡제어 임계값들에 기초하여 결정될 수 있다. 예를 들어, 상기 새로운 어소시에이션의 혼잡제어 임계값은 복수개의 기설정된 어소시에이션들의 혼잡제어 임계값들의 평균값으로 산출될 수 있다. 또한, 복수개의 기설정된 어소시에이션들의 혼잡제어 임계값들은 각각 서로 다른 가중치 정보가 적용될 수 있다.
The congestion control threshold of the new association may be determined based on the congestion control thresholds of a plurality of preset associations. For example, the congestion control threshold of the new association may be calculated as an average value of the congestion control thresholds of a plurality of preset associations. In addition, different weight information may be applied to congestion control thresholds of a plurality of preset associations.

도 4는 본 발명이 적용되는 실시예로써, SCTP(STREAM CONTROL TRANSMISSION PROTOCOL)가 적용되는 네트워크 상에서 데이터를 전송하는 절차를 설명하기 위한 흐름도를 나타낸다.4 is an embodiment to which the present invention is applied, and shows a flowchart for explaining a procedure for transmitting data on a network to which SCTP (STREAM CONTROL TRANSMISSION PROTOCOL) is applied.

먼저, 노드 간 데이터 전송을 위해서는 노드 간 어소시에이션을 설정하여야 한다(S410). SCTP 어소시에이션의 설정에 대해서는 도 5에서 상세히 설명하기로 한다.First, in order to transmit data between nodes, an association between nodes must be set (S410). The setting of the SCTP association will be described in detail in FIG. 5.

노드 간의 어소시에이션이 설정되면, 각 노드는 자신이 보유하고 있는 IP 주소 목록을 서로 교환하고, 그 중 하나의 IP 주소를 주 경로로 설정하고 나머지 IP 주소들을 대체 경로로 설정할 수 있다. 이와 같이, 주 경로가 설정되면 노드는 상기 주 경로를 통해 데이터 전송을 수행할 수 있다(S430).When the association between nodes is established, each node can exchange its own IP address list with each other, set one of the IP addresses as the main path, and set the remaining IP addresses as an alternative path. In this way, when the main path is established, the node may perform data transmission through the main path (S430).

한편, 데이터 전송 도중, 수신 노드에서 버퍼 오버플로우(buffer overflow)가 발생하지 않도록 하기 위해 데이터의 흐름을 제어할 필요가 있다(S450). 예를 들어, 수신 노드의 사용 가능한 버퍼 크기를 송신 노드에 알려줌으로써 데이터의 흐름을 제어하게 된다. Meanwhile, it is necessary to control the flow of data in order to prevent a buffer overflow from occurring in the receiving node during data transmission (S450). For example, the flow of data is controlled by informing the transmitting node of the available buffer size of the receiving node.

또한, 네트워크 내에서 혼잡이 발생하지 않도록 혼잡 윈도우의 크기를 증가 또는 감소시킴으로써 혼잡 제어를 수행할 수 있다(S470). 혼잡 윈도우의 크기를 증가시키는 예로, 슬로우 스타트(slow start) 알고리즘 및 혼잡 회피(congestion avoidance) 알고리즘이 이용될 수 있으며, 이에 대해서는 도 6에서 상세히 설명하도록 한다. In addition, congestion control may be performed by increasing or decreasing the size of the congestion window so that congestion does not occur in the network (S470). As an example of increasing the size of the congestion window, a slow start algorithm and a congestion avoidance algorithm may be used, which will be described in detail in FIG. 6.

상기와 같은 혼잡 제어 알고리즘을 통해 네트워크 혼잡을 방지함으로써 데이터 전송 효율을 증대시킬 수 있다. Data transmission efficiency can be increased by preventing network congestion through the above congestion control algorithm.

상기와 같은 과정을 통해 데이터 전송이 완료되거나 노드의 이동으로 인한 어소시에이션이 변경되는 경우 기존 어소시에이션은 종료하게 된다(S490).
When the data transmission is completed through the above process or the association due to the movement of the node is changed, the existing association is terminated (S490).

도 5는 본 발명이 적용되는 실시예로써, SCTP(STREAM CONTROL TRANSMISSION PROTOCOL)가 적용되는 네트워크 상에서 어소시에이션(association)을 설정하는 절차를 설명하기 위한 흐름도를 나타낸다.5 is an embodiment to which the present invention is applied, and a flowchart for explaining a procedure for setting an association on a network to which a SCTP (STREAM CONTROL TRANSMISSION PROTOCOL) is applied.

SCTP에서 노드 간의 어소시에이션 설정은 도 5에서와 같이 4단계를 통해 이루어진다.In SCTP, association between nodes is set through 4 steps as shown in FIG. 5.

먼저, 제 1 SCTP노드(10)는 제 2 SCTP노드(20)에 초기화 메시지를 전송한다(S510). 여기서, 상기 제 1 SCTP노드(10)는 클라이언트를 나타내고, 상기 제 2 SCTP노드(20)는 서버를 의미할 수 있다. 또한, 상기 제 1 SCTP노드(10)와 상기 제 2 SCTP노드(20)는 호스트 디바이스를 의미할 수도 있다. 그리고, 상기 메시지는 청크(chunk) 단위로 전송될 수 있다. 상기 청크(chunk)란, SCTP 패킷 내에 들어가는 정보의 단위를 의미할 수 있으며, 하나의 SCTP 패킷은 복수개의 패킷을 포함할 수 있다. 상기 초기화 메시지는 SCTP 어소시에이션의 시작을 위해 이용되며, 상기 초기화 메시지는 상기 제 1 SCTP노드(10)에서 사용할 IP 주소 목록을 포함할 수 있다.First, the first SCTP node 10 transmits an initialization message to the second SCTP node 20 (S510). Here, the first SCTP node 10 may indicate a client, and the second SCTP node 20 may refer to a server. Also, the first SCTP node 10 and the second SCTP node 20 may refer to a host device. Further, the message may be transmitted in chunk units. The chunk may mean a unit of information included in the SCTP packet, and one SCTP packet may include a plurality of packets. The initialization message is used for the start of the SCTP association, and the initialization message may include a list of IP addresses to be used by the first SCTP node 10.

상기 제 2 SCTP노드(20)가 상기 초기화 메시지를 수신하면 초기화 응답 메시지를 상기 제 1 SCTP노드(10)에 전송한다(S520). 상기 초기화 응답 메시지는 상기 초기화 메시지에 대한 응답을 나타내며, 상기 초기화 응답 메시지는 상기 제 2 SCTP노드(20)에서 사용할 IP 주소 목록을 포함할 수 있다.When the second SCTP node 20 receives the initialization message, it transmits an initialization response message to the first SCTP node 10 (S520). The initialization response message indicates a response to the initialization message, and the initialization response message may include a list of IP addresses to be used by the second SCTP node 20.

상기 제 1 SCTP노드(10)가 상기 초기화 응답 메시지를 수신하면 쿠키(cookie) 상태를 포함한 쿠키 에코 메시지를 상기 제 2 SCTP노드(20)에 전송하고(S530), 상기 제 2 SCTP노드(20)가 상기 쿠키 에코 메시지를 수신하면 쿠키 에코 응답 메시지를 상기 제 1 SCTP노드(10)에 전송한다(S540). 이러한 과정을 통해 어소시에이션 초기화 과정이 마무리 된다. 이러한 쿠키의 사용은 어소시에이션에 대한 사용자 인증 기능을 제공한다.When the first SCTP node 10 receives the initialization response message, it sends a cookie echo message including a cookie state to the second SCTP node 20 (S530), and the second SCTP node 20 When the cookie echo message is received, the cookie echo response message is transmitted to the first SCTP node 10 (S540). Through this process, the association initialization process is completed. The use of these cookies provides a user authentication function for the association.

한편, 상기 S530단계 및 상기 S540단계에서, 상기 제 1 SCTP노드(10)와 상기 제 2 SCTP노드(20)는 각각 PCB(Protocol Control Block) 상태 정보를 생성함으로써 블라인드 어택 문제를 해결할 수 있다.
Meanwhile, in steps S530 and S540, the first SCTP node 10 and the second SCTP node 20 may respectively solve the blind attack problem by generating protocol control block (PCB) state information.

도 6은 본 발명이 적용되는 실시예로써, SCTP(STREAM CONTROL TRANSMISSION PROTOCOL)가 적용되는 네트워크 상에서 혼잡 제어를 수행하는 절차를 설명하기 위한 흐름도를 나타낸다.6 is an embodiment to which the present invention is applied, and shows a flow chart for explaining a procedure for performing congestion control on a network to which a SCTP (STREAM CONTROL TRANSMISSION PROTOCOL) is applied.

SCTP가 적용되는 네트워크 상에서 혼잡 제어를 수행하기 위해서는 다음과 제어 변수가 필요하다. The following control variables are needed to perform congestion control on a network to which SCTP is applied.

첫 번째는 수신 윈도우 크기 정보(rwnd, receiver advertised window size)로써, 수신 노드의 수신 가능한 버퍼의 크기를 나타낸다. The first is receiver advertised window size (rwnd), which indicates the size of a receive node's receive buffer.

두 번째는 혼잡 윈도우 정보(cwnd, congestion control window)로써, 전송되는 데이터의 양을 제한하기 위한 혼잡 윈도우 값을 나타내며 네트워크 상태 정보에 기초하여 송신 노드가 제어할 수 있다. 즉, 상기 혼잡 윈도우 정보는 네트워크의 혼잡이 발생하지 않도록 하기 위해 전송가능한 데이터 양을 나타낸다.The second is congestion window information (cwnd, congestion control window), which indicates a congestion window value for limiting the amount of data transmitted and can be controlled by a transmitting node based on network status information. That is, the congestion window information indicates the amount of data that can be transmitted to prevent congestion in the network.

세 번째는 혼잡 제어 임계값으로써, 슬로우 스타트 상태와 혼잡 회피 상태를 구분하기 위해 필요한 값을 나타낸다. 예를 들어, 상기 혼잡 윈도우 정보가 상기 혼잡 제어 임계값보다 작거나 같은 경우에는 슬로우 스타트 알고리즘이 수행되고, 상기 혼잡 윈도우 정보가 상기 혼잡 제어 임계값보다 큰 경우에는 혼잡 회피 알고리즘이 수행된다.
The third is a congestion control threshold value, which represents a value necessary to distinguish between a slow start state and a congestion avoidance state. For example, a slow start algorithm is performed when the congestion window information is less than or equal to the congestion control threshold, and a congestion avoidance algorithm is performed when the congestion window information is greater than the congestion control threshold.

상기 도 6을 살펴보면, 먼저 노드 간 데이터 전송을 위해 노드 간 어소시에이션이 설정될 수 있다(S610).Referring to FIG. 6, first, an inter-node association may be set for data transmission between nodes (S610).

어소시에이션이 설정되면, 데이터 전송이 시작되며 슬로우 스타트 알고리즘이 수행될 수 있다(S620). 이때, 어소시에이션이 설정되면 혼잡 제어 임계값이 결정될 수 있다. 상기 혼잡 제어 임계값이 큰 값으로 정의될 경우 손실이 발생하지 않는다면 슬로우 스타트 상태에서 데이터 전송이 종료될 수 있다.
When the association is set, data transmission starts and a slow start algorithm may be performed (S620). At this time, the congestion control threshold may be determined when the association is established. When the congestion control threshold is defined as a large value, data transmission may be ended in a slow start state if no loss occurs.

한편, 네트워크 상에서 혼잡이 발생하지 않도록 하기 위해서는, 상기 혼잡 윈도우 정보와 상기 혼잡 제어 임계값을 비교하는 과정이 필요하다(S630). 상기 혼잡 윈도우 정보가 상기 혼잡 제어 임계값보다 작거나 같은 경우 상기 혼잡 윈도우 정보는 증가한다(S640). 슬로우 스타트 상태에서 상기 혼잡 윈도우 정보는 패킷 왕복 시간(RTT, Round Trip Time)마다 두 배씩 증가할 수 있다.Meanwhile, in order to prevent congestion from occurring on the network, a process of comparing the congestion window information and the congestion control threshold is necessary (S630). If the congestion window information is less than or equal to the congestion control threshold, the congestion window information is increased (S640). In the slow start state, the congestion window information may be doubled for each round trip time (RTT).

반면, 상기 혼잡 윈도우 정보가 상기 혼잡 제어 임계값보다 큰 경우, 혼잡 회피 알고리즘이 수행될 수 있다.On the other hand, if the congestion window information is greater than the congestion control threshold, a congestion avoidance algorithm may be performed.

상기 슬로우 스타트 알고리즘과 상기 혼잡 회피 알고리즘에 대해서는 이하 도 7에서 설명하기로 한다.
The slow start algorithm and the congestion avoidance algorithm will be described in FIG. 7 below.

도 7은 본 발명이 적용되는 실시예로써, SCTP(STREAM CONTROL TRANSMISSION PROTOCOL)가 적용되는 네트워크 상에서 혼잡 제어 알고리즘을 설명하기 위한 그래프를 나타낸다.7 is an embodiment to which the present invention is applied, and shows a graph for explaining a congestion control algorithm on a network to which SCTP (STREAM CONTROL TRANSMISSION PROTOCOL) is applied.

도 7을 살펴보면, 혼잡 윈도우 정보의 변화에 따라 슬로우 스타트 알고리즘과 혼잡 회피 알고리즘이 수행되는 것을 확인할 수 있다.Referring to FIG. 7, it can be seen that the slow start algorithm and the congestion avoidance algorithm are performed according to the change in the congestion window information.

상기 혼잡 윈도우 정보의 초기값이 1*MTU(Maximum Transmission Unit)이고, 패킷 왕복 시간(RTT, Round Trip Time)마다 두 배씩 증가하는 것을 나타낸다. 그리고, 혼잡 제어 임계값은 8*MTU이며 슬로우 스타트 상태와 혼잡 회피 상태의 경계를 나타낸다.
It indicates that the initial value of the congestion window information is 1*MTU (Maximum Transmission Unit), and doubles for each round trip time (RTT). In addition, the congestion control threshold is 8*MTU and represents the boundary between the slow start state and the congestion avoidance state.

먼저, 송신 노드에서 첫번째 패킷 왕복 시간동안 상기 혼잡 윈도우 정보의 초기값인 1*MTU가 전송될 수 있다. 이에 응답하여, 수신 노드로부터 응답이 전송되면 상기 혼잡 윈도우 정보의 초기값의 두 배인 2*MTU가 두번째 패킷 왕복 시간동안 전송될 수 있다. 이와 같은 과정을 통해 전송되는 혼잡 윈도우 정보가 상기 혼잡 제어 임계값에 도달하게 되면, 슬로우 스타트 상태에서 혼잡 회피 상태로 변경된다. 혼잡 회피 상태에서, 상기 혼잡 윈도우 정보는 패킷 왕복 시간동안 1*MTU씩 선형적으로 증가하게 된다.First, 1*MTU, which is an initial value of the congestion window information, may be transmitted during a first packet round-trip time at a transmitting node. In response, when a response is transmitted from the receiving node, 2*MTU, which is twice the initial value of the congestion window information, may be transmitted during the second packet round-trip time. When the congestion window information transmitted through the above process reaches the congestion control threshold, it changes from a slow start state to a congestion avoidance state. In the congestion avoidance state, the congestion window information is linearly increased by 1*MTU during the round-trip packet time.

데이터 전송 시 손실이 없는 경우에는 슬로우 스타트 상태에서 데이터 전송이 종료되기 때문에, 상기 혼잡 윈도우 정보의 초기값은 데이터 전송 시간에 영향을 미친다. 따라서, 복수개의 어소시에이션이 설정되어 있는 상황에서 새로운 어소시에이션이 추가되는 경우, 상기 혼잡 윈도우 정보의 초기값을 적응적으로 설정할 필요가 있다. 이하에서는, 본 발명의 실시예로서 상기 혼잡 윈도우 정보의 초기값을 적응적으로 설정하는 방법을 제안한다.
When there is no loss during data transmission, since data transmission is ended in a slow start state, the initial value of the congestion window information affects data transmission time. Therefore, when a new association is added in a situation where a plurality of associations are set, it is necessary to adaptively set the initial value of the congestion window information. Hereinafter, as an embodiment of the present invention, a method for adaptively setting the initial value of the congestion window information is proposed.

도 8은 본 발명이 적용되는 실시예로써, SCTP(STREAM CONTROL TRANSMISSION PROTOCOL)가 적용되는 네트워크 상에서 적응적인 혼잡 윈도우 값을 설정하는 방법을 설명하기 위한 흐름도를 나타낸다.8 is an embodiment to which the present invention is applied, and shows a flow chart for explaining a method for setting an adaptive congestion window value on a network to which SCTP (STREAM CONTROL TRANSMISSION PROTOCOL) is applied.

노드 간 설정된 제 1 어소시에이션(association)을 통해 데이터 전송 도중 제 2 어소시에이션이 추가되는 경우, 혼잡 윈도우 정보의 초기값을 적응적으로 설정함으로써 보다 효율적인 데이터 전송을 수행할 수 있다. 여기서, 상기 제 1 어소시에이션은 적어도 하나의 어소시에이션을 포함할 수 있다.When a second association is added during data transmission through a first association established between nodes, more efficient data transmission can be performed by adaptively setting an initial value of congestion window information. Here, the first association may include at least one association.

본 발명에서는, 혼잡 윈도우 정보의 초기값을 적응적으로 설정하기 위해 이전에 설정된 어소시에이션의 네트워크 상태 정보를 이용할 수 있다. 예를 들어, 상기 네트워크 상태 정보는 가용 대역폭 정보, 혼잡 윈도우 관련 파라미터, 데이터 처리 속도, 패킷 도달 시간, 패킷 크기 등을 포함할 수 있다.
In the present invention, network status information of a previously established association can be used to adaptively set the initial value of the congestion window information. For example, the network status information may include available bandwidth information, congestion window related parameters, data processing speed, packet arrival time, packet size, and the like.

먼저, 상기 제 1 어소시에이션의 제 1 가용 대역폭 정보를 추정할 수 있다(S810). 여기서, 상기 제 1 어소시에이션은 복수개의 어소시에이션일 수 있다. 그리고, 상기 추가된 제 2 어소시에이션의 제 2 가용 대역폭 정보를 추정할 수 있다(S830). 이때, 상기 제 1 가용 대역폭 정보와 상기 제 2 가용 대역폭 정보는 해당 어소시에이션에 대한 송신 노드와 수신 노드의 데이터 처리 속도에 기초하여 추정될 수 있다. 또한, 상기 데이터 처리 속도는 해당 어소시에이션의 혼잡 윈도우 초기값 및 패킷 왕복 시간(RTT) 중 적어도 하나에 기초하여 산출될 수 있다. 또는 상기 데이터 처리 속도는 연속된 두 패킷의 수신 시간 간격 및 패킷 크기 중 적어도 하나에 기초하여 산출될 수도 있다.
First, the first available bandwidth information of the first association may be estimated (S810). Here, the first association may be a plurality of associations. Then, the second available bandwidth information of the added second association may be estimated (S830). In this case, the first available bandwidth information and the second available bandwidth information may be estimated based on the data processing speeds of the transmitting node and the receiving node for the corresponding association. In addition, the data processing speed may be calculated based on at least one of a congestion window initial value of the association and a packet round trip time (RTT). Alternatively, the data processing rate may be calculated based on at least one of a reception time interval and a packet size of two consecutive packets.

상기 추정된 제 1 가용 대역폭 정보와 제 2 가용 대역폭 정보를 이용하여, 상기 제 2 어소시에이션의 혼잡 제어 임계값을 산출할 수 있다(S850). 이때, 상기 제 2 어소시에이션의 혼잡 제어 임계값은 상기 제 1 어소시에이션의 혼잡 제어 임계값 및 가중치 정보 중 적어도 하나에 기초하여 산출될 수 있으며, 상기 가중치 정보는 상기 제 1 가용 대역폭 정보에 기초하여 산출될 수 있다.The estimated congestion control threshold of the second association may be calculated using the estimated first available bandwidth information and second available bandwidth information (S850). At this time, the congestion control threshold of the second association may be calculated based on at least one of the congestion control threshold of the first association and weight information, and the weight information may be calculated based on the first available bandwidth information. Can.

예를 들어, 상기 제 1 어소시에이션이 복수개인 경우, 상기 제 2 어소시에이션의 혼잡 제어 임계값은 가중치 적용된 상기 제 1 어소시에이션의 혼잡 제어 임계값들의 평균값으로 산출될 수 있다. 상기 제 1 어소시에이션의 혼잡 제어 임계값들은 각각 서로 다른 가중치 정보가 적용될 수 있다. 예를 들어, 상기 가중치 정보는 상기 복수개의 제 1 어소시에이션들 각각의 가용 대역폭 정보 대비 상기 제 2 어소시에이션의 제 2 가용 대역폭 정보에 기초하여 산출될 수 있다.For example, when there are multiple first associations, the congestion control threshold of the second association may be calculated as an average value of the congestion control thresholds of the weighted first association. Different weight information may be applied to the congestion control thresholds of the first association. For example, the weight information may be calculated based on the second available bandwidth information of the second association to the available bandwidth information of each of the plurality of first associations.

이를 수학식으로 나타내면 다음과 같다.This is expressed by the following equation.

Figure 112014027061601-pat00001
Figure 112014027061601-pat00001

여기서, Sref는 상기 제 2 어소시에이션의 혼잡 제어 임계값을 나타내고, Si는 i번째 설정되었던 이전 어소시에이션의 혼잡 제어 임계값, 즉 제 1 어소시에이션의 혼잡 제어 임계값을 나타내고, Ri는 Si에 적용될 가중치 정보를 나타낸다. Bn_available 은 n번째 어소시에이션의 가용 대역폭 정보를 나타내고, Bi _ available는 i번째 어소시에이션의 가용 대역폭 정보를 나타낸다.
Here, S ref denotes the congestion control threshold of the second association, S i denotes the congestion control threshold of the previous associative association, i.e., the congestion control threshold of the first association, and R i denotes S i Indicates weight information to be applied. B n_available represents available bandwidth information of the n-th association, and B i _ available represents available bandwidth information of the i-th association.

상기와 같이 산출된 혼잡 제어 임계값을 상기 제 2 어소시에이션의 혼잡 윈도우 값으로 설정할 수 있다(S870). 여기서, 상기 혼잡 윈도우 값은, 혼잡 제어를 위한 초기 윈도우 값으로 상기 디바이스 간 처리 가능한 데이터 양을 나타낸다. The congestion control threshold calculated as above may be set as the congestion window value of the second association (S870). Here, the congestion window value is an initial window value for congestion control and indicates the amount of data that can be processed between the devices.

이와 같이, 이전 어소시에이션의 네트워크 상태 정보를 이용하여 새로운 어소시에이션의 혼잡 윈도우 초기값을 적응적으로 설정함으로써, 보다 큰 데이터 처리 속도를 확보할 수 있고, 사용 가능한 대역폭의 활용을 극대화할 수 있다.
As described above, by adaptively setting the initial value of the congestion window of the new association using the network status information of the previous association, a larger data processing speed can be secured, and the utilization of available bandwidth can be maximized.

도 9는 본 발명이 적용되는 실시예로써, SCTP(STREAM CONTROL TRANSMISSION PROTOCOL)가 적용되는 네트워크 상에서 적응적인 혼잡 윈도우 값을 설정하여 데이터를 전송하는 방법을 설명하기 위한 흐름도를 나타낸다.9 is an embodiment to which the present invention is applied, and shows a flowchart for explaining a method of transmitting data by setting an adaptive congestion window value on a network to which a SCTP (STREAM CONTROL TRANSMISSION PROTOCOL) is applied.

먼저, 노드 간 데이터 전송을 위해서는 노드 간 어소시에이션을 설정하여야 하며, 설정된 어소시에이션을 통해 데이터 전송 도중 새로운 어소시에이션이 추가될 수 있다(S910). 새로운 어소시에이션이 추가되면, 상기 새로운 어소시에이션을 데이터 전송 경로로 결정할 수 있다(S920).First, in order to transmit data between nodes, an association between nodes must be set, and a new association may be added during data transmission through the established association (S910). When a new association is added, the new association may be determined as a data transmission path (S920).

이때, 상기 새로운 어소시에이션이 추가되기 전에 기존 어소시에이션이 존재하는지 여부를 확인할 수 있다(S930). 또는, 상기 어소시에이션이 추가되기 전에 기존 어소시에이션이 복수개 이상 존재하는지 여부를 확인할 수 있다.At this time, before the new association is added, it may be checked whether an existing association exists (S930). Alternatively, it may be confirmed whether a plurality of existing associations exist before the association is added.

만약, 상기 어소시에이션이 추가되기 전에 기존 어소시에이션이 존재한다면, 기존 어소시에이션의 혼잡제어 임계값과 새로운 어소시에이션의 가용대역폭 정보를 이용하여 새로운 어소시에이션의 혼잡제어 임계값을 산출할 수 있다(S950). If the existing association exists before the association is added, the congestion control threshold of the new association may be calculated using the congestion control threshold of the existing association and the available bandwidth information of the new association (S950).

반면, 상기 어소시에이션이 추가되기 전에 기존 어소시에이션이 존재하지 않는다면, 새로운 어소시에이션의 가용 대역폭 정보를 이용하여 새로운 어소시에이션의 혼잡 제어 임계값을 산출할 수 있다(S940).On the other hand, if the existing association does not exist before the association is added, the congestion control threshold of the new association may be calculated using the available bandwidth information of the new association (S940).

상기와 같이 산출된 새로운 어소시에이션의 혼잡 제어 임계값을 상기 새로운 어소시에이션의 혼잡 윈도우 값으로 설정할 수 있다(S960).The congestion control threshold of the new association calculated as described above may be set as the congestion window value of the new association (S960).

예를 들어, 기존 어소시에이션의 혼잡 윈도우 값은 아래 수학식 2와 같이 설정될 수 있다.For example, the congestion window value of the existing association may be set as in Equation 2 below.

Figure 112014027061601-pat00002
Figure 112014027061601-pat00002

여기서, C는 기존 어소시에이션의 혼잡 윈도우 값을 나타내고, 각각 to일 때, 빠른 재전송(fast retransmission)일 때, 타임아웃 재전송(timeout retransmission)일 때의 혼잡 윈도우 값을 나타낸다. MSS는 최대 세그먼트 크기(Maximum Segment Size)로, 전체 패킷에 포함되는 데이터 청크(chunk)의 크기를 결정한다.
Here, C denotes the congestion window value of the existing association, and when it is to, respectively, it represents the congestion window value when it is a fast retransmission or when it is a timeout retransmission. MSS is a maximum segment size (Maximum Segment Size), and determines the size of a data chunk included in the entire packet.

한편, 네트워크 상에서 전송된 데이터가 손실되면 송신 노드에서는 이를 중복된 선별적 확인 메시지(SACK, selective acknowledgement)를 수신하거나 재전송 타이머 만료를 통해 감지할 수 있다. 송신 노드가 중복된 선별적 확인 메시지를 수신하면 네트워크가 혼잡하지는 않지만 재전송이 필요함을 인지하고 재전송을 수행하게 되며, 이 경우 빠른 재전송 알고리즘이 적용될 수 있다.On the other hand, if data transmitted on the network is lost, the transmitting node may detect this by receiving a duplicate selective acknowledgment (SACK) or expiring the retransmission timer. When the transmitting node receives the redundant selective confirmation message, the network is not congested, but recognizes the need for retransmission and performs retransmission. In this case, a fast retransmission algorithm can be applied.

또한, 상기 타임아웃 재전송(timeout retransmission) 알고리즘은, 전송한 데이터들이 타임아웃될 때까지 확인 응답을 받지 못했을 경우 재전송하는 경우에 적용된다.
In addition, the timeout retransmission (timeout retransmission) algorithm is applied to the case of retransmitting if the acknowledgment is not received until the transmitted data is timed out.

본 발명이 적용되는 실시예로써, 새로운 어소시에이션이 추가되는 경우, 새로운 어소시에이션의 혼잡 윈도우 값은 아래 수학식 3과 같이 설정될 수 있다.As an embodiment to which the present invention is applied, when a new association is added, the congestion window value of the new association may be set as in Equation 3 below.

Figure 112014027061601-pat00003
Figure 112014027061601-pat00003

Sref는 새로운 어소시에이션의 혼잡 제어 임계값을 나타내고, 앞서 설명한 수학식 1에 의해 산출될 수 있다.S ref represents the congestion control threshold of the new association, and can be calculated by Equation 1 described above.

상기 새로운 어소시에이션의 혼잡 윈도우 값에 기초하여, 상기 새로운 어소시에이션을 통해 데이터 전송을 수행할 수 있다(S970).
Based on the congestion window value of the new association, data transmission may be performed through the new association (S970).

도 10은 본 발명이 적용되는 실시예로써, SCTP가 적용되는 네트워크 상에서 노드의 이동으로 핸드 오버가 수행되는 경우를 나타낸다. 10 is an embodiment to which the present invention is applied, and shows a case in which handover is performed by moving a node on a network to which SCTP is applied.

노드 A(10)와 노드 B(20) 사이에 제 1 액세스 망을 통해 제 1 세션이 형성되어 있는 도중, 상기 노드 A(10)가 제 2 액세스 망으로 이동하게 되는 경우 상기 제 1 세션은 변경될 수 있다. While the first session is established through the first access network between the node A (10) and the node B (20), when the node A (10) moves to the second access network, the first session is changed. Can be.

여기서, 상기 제 1 액세스 망은 노드 A(10)와 노드 B(20) 사이에 라우터1(31)과 라우터 3(33)을 통해 연결될 수 있고, 상기 제 3 액세스 망은 노드 A(10)와 노드 B(20) 사이에 라우터2(32)와 라우터 3(33)을 통해 연결될 수 있다. 그리고, 상기 제 2 액세스 망은 상기 제 1 액세스 망과 상기 제 3 액세스 망이 중첩된 영역을 나타내며, 여기서는 상기 제 1 액세스 망의 IP 주소와 상기 제 3 액세스 망의 IP 주소를 통해서 데이터를 수신할 수 있게 된다.Here, the first access network can be connected between the Node A (10) and the Node B (20) through Router 1 (31) and Router 3 (33), and the third access network is connected to Node A (10). It may be connected between the Node B 20 through Router 2 32 and Router 3 33. In addition, the second access network indicates an area where the first access network and the third access network overlap, where data is received through the IP address of the first access network and the IP address of the third access network. It becomes possible.

본 발명은 상기 제 2 액세스 망에서처럼, 복수개의 경로를 통한 데이터 전송시 네트워크 상의 혼잡을 효율적으로 제어하기 위해 본 명세서에서 설명하는 다양한 실시예들이 모두 적용될 수 있다.
In the present invention, as in the second access network, various embodiments described herein may be applied to efficiently control congestion on a network when data is transmitted through a plurality of paths.

이상, 전술한 본 발명의 바람직한 실시예는, 예시의 목적을 위해 개시된 것으로, 당업자라면 이하 첨부된 특허청구범위에 개시된 본 발명의 기술적 사상과 그 기술적 범위 내에서, 다양한 다른 실시예들을 개량, 변경, 대체 또는 부가 등이 가능할 것이다.The preferred embodiments of the present invention described above are disclosed for the purpose of illustration, and those skilled in the art can improve and change various other embodiments within the technical spirit and the technical scope of the present invention disclosed in the appended claims. , Replacement or addition may be possible.

Claims (16)

서로 다른 IP(Internet Protocol) 주소를 갖는 복수개의 어소시에이션(association)들이 설정된 디바이스 간의 데이터 전송시, 혼잡 윈도우(congestion window) 값을 제어하는 방법에 있어서,
새로운 어소시에이션이 설정되는 경우, 상기 새로운 어소시에이션의 가용 대역폭 정보(available bandwidth information)를 추정하는 단계;
상기 추정된 가용 대역폭 정보 및 복수개의 기설정된 어소시에이션들의 혼잡제어 임계값(slow start threshold)에 기초하여 상기 새로운 어소시에이션의 혼잡제어 임계값을 산출하는 단계,
상기 새로운 어소시에이션의 혼잡제어 임계값은 상기 복수개의 기설정된 어소시에이션들의 혼잡제어 임계값들의 평균값으로 산출되고; 및
상기 산출된 혼잡제어 임계값을 상기 새로운 어소시에이션의 혼잡 윈도우 값(cwnd, congestion window)으로 설정하는 단계를 포함하되,
상기 혼잡 윈도우 값은, 혼잡 제어를 위한 초기 윈도우 값으로 상기 디바이스 간 처리 가능한 데이터 양을 나타내는 것을 특징으로 하는 방법.
In a method of controlling a congestion window value when data is transmitted between devices having a plurality of associations having different IP (Internet Protocol) addresses,
Estimating available bandwidth information of the new association when a new association is established;
Calculating a congestion control threshold of the new association based on the estimated available bandwidth information and a congestion control threshold of a plurality of preset associations,
The congestion control threshold of the new association is calculated as an average value of the congestion control thresholds of the plurality of preset associations; And
And setting the calculated congestion control threshold to a congestion window value (cwnd) of the new association.
The congestion window value is an initial window value for congestion control, characterized in that it indicates the amount of data that can be processed between the devices.
제1항에 있어서, 상기 방법은,
상기 복수개의 기설정된 어소시에이션들의 혼잡제어 임계값들을 획득하는 단계를 더 포함하는 것을 특징으로 하는 방법.

According to claim 1, The method,
And obtaining congestion control thresholds of the plurality of predetermined associations.

제1항에 있어서,
상기 복수개의 기설정된 어소시에이션들의 혼잡제어 임계값들은 각각 서로 다른 가중치 정보가 적용되는 것을 특징으로 하는 방법.
According to claim 1,
The method of claim 1, wherein different weight information is applied to the congestion control thresholds of the plurality of preset associations.
제3항에 있어서,
상기 가중치 정보는, 상기 복수개의 기설정된 어소시에이션들 각각의 가용 대역폭 정보 대비 상기 새로운 어소시에이션의 상기 추정된 가용 대역폭 정보에 기초하여 산출되는 것을 특징으로 하는 방법.
According to claim 3,
And the weight information is calculated based on the estimated available bandwidth information of the new association compared to available bandwidth information of each of the plurality of preset associations.
제4항에 있어서,
상기 기설정된 어소시에이션들 또는 상기 새로운 어소시에이션의 가용 대역폭 정보는, 해당 어소시에이션에 대한 송신단과 수신단의 데이터 처리 속도에 기초하여 추정되는 것을 특징으로 하는 방법.
According to claim 4,
The preset bandwidth or the available bandwidth information of the new association is characterized in that it is estimated based on the data processing speed of the transmitting end and the receiving end for the association.
제5항에 있어서,
상기 데이터 처리 속도는 상기 해당 어소시에이션의 혼잡 윈도우 값 및 패킷 왕복 시간(Round Trip Time)에 기초하여 산출되는 것을 특징으로 하는 방법.
The method of claim 5,
The data processing rate is calculated based on the congestion window value and the packet round-trip time (Round Trip Time) of the corresponding association.
제5항에 있어서,
상기 데이터 처리 속도는 연속된 두 패킷의 수신 시간 간격 및 패킷 크기에 기초하여 산출되는 것을 특징으로 하는 방법.
The method of claim 5,
The method is characterized in that the data processing rate is calculated based on the reception time interval and packet size of two consecutive packets.
제1항에 있어서, 상기 방법은,
상기 설정된 새로운 어소시에이션을 데이터 전송 경로로 결정하는 단계; 및
상기 설정된 초기 윈도우 값에 기초하여, 상기 새로운 어소시에이션을 통해 데이터 전송을 수행하는 단계를 더 포함하는 것을 특징으로 하는 방법.
According to claim 1, The method,
Determining the set new association as a data transmission path; And
And performing data transmission through the new association based on the set initial window value.
서로 다른 IP(Internet Protocol) 주소를 갖는 복수개의 어소시에이션(association)들이 설정된 디바이스들 간의 데이터 전송시, 혼잡 윈도우(congestion window) 값을 설정하는 장치에 있어서,
새로운 어소시에이션이 설정되는 경우, 상기 새로운 어소시에이션의 가용 대역폭 정보(available bandwidth information)를 추정하고, 상기 추정된 가용 대역폭 정보 및 복수개의 기설정된 어소시에이션들의 혼잡제어 임계값(slow start threshold)에 기초하여 상기 새로운 어소시에이션의 혼잡제어 임계값을 산출하며, 상기 산출된 혼잡제어 임계값을 상기 새로운 어소시에이션의 혼잡 윈도우 값(cwnd, congestion window)으로 설정하는 혼잡 제어부; 및
상기 설정된 혼잡 윈도우 값에 기초하여, 상기 디바이스들 중 적어도 하나와 데이터 송수신을 수행하는 송수신부
를 포함하되,
상기 혼잡 윈도우 값은 혼잡 제어를 위한 초기 윈도우 값으로 상기 디바이스 간 처리 가능한 데이터 양을 나타내고,
상기 새로운 어소시에이션의 혼잡제어 임계값은 상기 복수개의 기설정된 어소시에이션들의 혼잡제어 임계값들의 평균값으로 산출되는 것을 특징으로 하는 장치.
An apparatus for setting a congestion window value when data is transmitted between devices having a plurality of associations having different IP (Internet Protocol) addresses,
When a new association is established, the available bandwidth information of the new association is estimated, and the new bandwidth is calculated based on the estimated available bandwidth information and a plurality of preset associations. A congestion control unit calculating a congestion control threshold of an association, and setting the calculated congestion control threshold to a congestion window value (cwnd, congestion window) of the new association; And
A transceiver that performs data transmission and reception with at least one of the devices based on the set congestion window value.
Including,
The congestion window value is an initial window value for congestion control and indicates the amount of data that can be processed between the devices.
And the congestion control threshold of the new association is calculated as an average value of the congestion control thresholds of the plurality of preset associations.
제9항에 있어서, 상기 혼잡 제어부는,
상기 복수개의 기설정된 어소시에이션들의 혼잡제어 임계값들을 획득하는 것을 특징으로 하는 장치.
10. The method of claim 9, The congestion control unit,
And acquiring congestion control thresholds of the plurality of preset associations.
제9항에 있어서,
상기 복수개의 기설정된 어소시에이션들의 혼잡제어 임계값들은 각각 서로 다른 가중치 정보가 적용되는 것을 특징으로 하는 장치.
The method of claim 9,
A device characterized in that different weighting information is applied to the congestion control thresholds of the plurality of preset associations.
제11항에 있어서,
상기 가중치 정보는, 상기 복수개의 기설정된 어소시에이션들 각각의 가용 대역폭 정보 대비 상기 새로운 어소시에이션의 상기 추정된 가용 대역폭 정보에 기초하여 산출되는 것을 특징으로 하는 장치.
The method of claim 11,
And the weight information is calculated based on the estimated available bandwidth information of the new association with respect to available bandwidth information of each of the plurality of preset associations.
제12항에 있어서,
상기 기설정된 어소시에이션들 또는 상기 새로운 어소시에이션의 가용 대역폭 정보는, 해당 어소시에이션에 대한 송신단과 수신단의 데이터 처리 속도에 기초하여 추정되는 것을 특징으로 하는 장치.
The method of claim 12,
An apparatus characterized in that the preset associations or the available bandwidth information of the new association is estimated based on the data processing speeds of the transmitting end and the receiving end for the association.
제13항에 있어서,
상기 데이터 처리 속도는 상기 해당 어소시에이션의 혼잡 윈도우 값 및 패킷 왕복 시간(Round Trip Time)에 기초하여 산출되는 것을 특징으로 하는 장치.
The method of claim 13,
The data processing rate is calculated based on the congestion window value and the packet round-trip time (Round Trip Time) of the corresponding association.
제13항에 있어서,
상기 데이터 처리 속도는 연속된 두 패킷의 수신 시간 간격 및 패킷 크기에 기초하여 산출되는 것을 특징으로 하는 장치.
The method of claim 13,
The device is characterized in that the data processing rate is calculated based on the reception time interval and packet size of two consecutive packets.
제9항에 있어서,
상기 혼잡 제어부는, 상기 설정된 새로운 어소시에이션을 데이터 전송 경로로 결정하고,
상기 송수신부는, 상기 설정된 초기 윈도우 값에 기초하여 상기 새로운 어소시에이션을 통해 데이터 전송을 수행하는 것을 특징으로 하는 장치.
The method of claim 9,
The congestion control unit determines the set new association as a data transmission path,
The transmission/reception unit performs data transmission through the new association based on the set initial window value.
KR1020140033008A 2014-03-20 2014-03-20 Method and apparatus for performing a congestion control in stream control transmission protocol KR102131427B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140033008A KR102131427B1 (en) 2014-03-20 2014-03-20 Method and apparatus for performing a congestion control in stream control transmission protocol

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140033008A KR102131427B1 (en) 2014-03-20 2014-03-20 Method and apparatus for performing a congestion control in stream control transmission protocol

Publications (2)

Publication Number Publication Date
KR20150109767A KR20150109767A (en) 2015-10-02
KR102131427B1 true KR102131427B1 (en) 2020-07-08

Family

ID=54341034

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140033008A KR102131427B1 (en) 2014-03-20 2014-03-20 Method and apparatus for performing a congestion control in stream control transmission protocol

Country Status (1)

Country Link
KR (1) KR102131427B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108965150B (en) * 2018-07-27 2021-11-16 广东电网有限责任公司 Data transmission system with direct acceleration framework

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007089155A (en) * 2005-09-23 2007-04-05 Samsung Electronics Co Ltd Method of controlling transmission rate, and communications device using the same

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100887129B1 (en) * 2007-07-05 2009-03-04 에스케이 텔레콤주식회사 Method for Congestion Control in Transport Control Protocol, and Recorded Medium for them
KR101048251B1 (en) * 2009-02-17 2011-07-08 경북대학교 산학협력단 Adaptive Congestion Control Method and Device of Mobile SCTP for Vertical Handover between Heterogeneous Wireless Networks

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007089155A (en) * 2005-09-23 2007-04-05 Samsung Electronics Co Ltd Method of controlling transmission rate, and communications device using the same

Also Published As

Publication number Publication date
KR20150109767A (en) 2015-10-02

Similar Documents

Publication Publication Date Title
US9210238B2 (en) Method and system for network data flow management
JP4430597B2 (en) NETWORK SYSTEM, TRANSMITTER DISTRIBUTION DEVICE, PACKET COMMUNICATION METHOD, AND PACKET COMMUNICATION PROGRAM
EP3780542B1 (en) Data transmission method and device
KR102187810B1 (en) Apparatus and method for controlling data flow in a communication system
EP3075110B1 (en) Controlling a transmission control protocol window size
EP3761591B1 (en) Tcp link configuration method, apparatus, and computer program product
JP4377326B2 (en) How to calculate send window size
JP5867160B2 (en) COMMUNICATION CONTROL DEVICE, COMMUNICATION CONTROL METHOD, AND COMMUNICATION CONTROL PROGRAM
CN102843257A (en) Path estimating method and device
JP2006509426A (en) Method for improving the transmission quality of streaming media
KR20060100512A (en) Method and system for estimating average bandwidth in a communication network based on transmission control protocol
Najmuddin et al. A BBR-based congestion control for delay-sensitive real-time applications
JP5506591B2 (en) Communication system and communication quality control method
Schier et al. Using DCCP: Issues and improvements
Man et al. ImTCP: TCP with an inline measurement mechanism for available bandwidth
Halepoto et al. Management of buffer space for the concurrent multipath transfer over dissimilar paths
KR102131427B1 (en) Method and apparatus for performing a congestion control in stream control transmission protocol
JP2011166418A (en) Communication control method for improving throughput, communication system, and program for the same
Hisamatsu et al. Non bandwidth-intrusive video streaming over TCP
Ko et al. A handover-aware seamless video streaming scheme in heterogeneous wireless networks
JP6200870B2 (en) Data transfer control device, method and program
US20140369189A1 (en) Method of controlling packet transmission in network system and network system transmitting packet using pseudo-tcp agent
US20150012792A1 (en) Method and apparatus for providing a transmission control protocol minimum retransmission timer
Bhat et al. MPTCP combining congestion window adaptation and packet scheduling for multi-homed device
KR101609922B1 (en) Apparatus and method for peer-to-peer based data trasnfer

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant