KR100672979B1 - Congestion control method - Google Patents
Congestion control method Download PDFInfo
- Publication number
- KR100672979B1 KR100672979B1 KR1020050071403A KR20050071403A KR100672979B1 KR 100672979 B1 KR100672979 B1 KR 100672979B1 KR 1020050071403 A KR1020050071403 A KR 1020050071403A KR 20050071403 A KR20050071403 A KR 20050071403A KR 100672979 B1 KR100672979 B1 KR 100672979B1
- Authority
- KR
- South Korea
- Prior art keywords
- congestion
- size
- congestion window
- packet loss
- window
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/27—Evaluation or update of window size, e.g. using information derived from acknowledged [ACK] packets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0823—Errors, e.g. transmission errors
- H04L43/0829—Packet loss
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/29—Flow control; Congestion control using a combination of thresholds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/37—Slow start
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
Description
도 1은 본 발명의 실시예에 따른 혼잡 제어 방법의 순서도.1 is a flow chart of a congestion control method according to an embodiment of the present invention.
도 2a는 본 발명의 실시예에 따른 혼잡 제어 방법의 슬로우 스타트 단계의 수행 과정을 도시한 순서도.2A is a flowchart illustrating a process of performing a slow start step of a congestion control method according to an exemplary embodiment of the present invention.
삭제delete
도 2b는 본 발명의 실시예에 따른 혼잡 제어 방법의 혼잡 회피 단계의 수행 과정을 도시한 순서도.2B is a flowchart illustrating a process of performing a congestion avoidance step of a congestion control method according to an embodiment of the present invention.
도 2c는 본 발명의 실시예에 따른 혼잡 제어 방법의 컨스턴트 단계의 수행 과정을 도시한 순서도.2C is a flowchart illustrating a process of performing a constant step of a congestion control method according to an embodiment of the present invention.
도 2d는 본 발명의 실시예에 따른 혼잡 제어 방법의 역혼잡 회피 단계의 수행 과정을 도시한 순서도.
도 2e는 본 발명의 실시예에 따른 혼잡 제어 방법의 슬로우 스톱 단계의 수행 과정을 도시한 순서도.2d is a flowchart illustrating a process of performing a congestion avoidance step of a congestion control method according to an exemplary embodiment of the present invention.
Figure 2e is a flow chart illustrating a process of performing a slow stop step of the congestion control method according to an embodiment of the present invention.
도 3은 본 발명의 실시예에 따른 혼잡 제어 방법을 위한 패킷 손실 정도 설정 방법을 설명하기 위한 도면3 is a diagram illustrating a packet loss degree setting method for a congestion control method according to an embodiment of the present invention.
도 4는 본 발명의 실시예에 따른 혼잡 제어 방법을 위한 네트워크 구조도.4 is a network structural diagram for a congestion control method according to an embodiment of the present invention;
<도면의 주요부분에 대한 부호의 설명><Description of the symbols for the main parts of the drawings>
200 : 게이트웨이200: gateway
210, 220, 230 : 베이스 스테이션
240 : 무선 이동 단말장치210, 220, 230: base station
240: wireless mobile terminal device
본 발명은 임베디드 단말의 이동성을 지원하는 데이터그램 혼잡 제어 프로토콜(Datagram Congestion Control Protocol; 이하 "DCCP"라 한다.) 기반의 혼잡 제어 방법에 관한 것으로, 특히 패킷 손실 정도에 따라 혼잡 윈도우의 크기를 조절하여 대역폭을 향상시키고, 게이트웨이를 통하여 공평하게 세션을 관리할 수 있도록 한 혼잡 제어 방법에 관한 것이다.The present invention relates to a congestion control method based on a Datagram Congestion Control Protocol (hereinafter referred to as "DCCP") that supports mobility of an embedded terminal. In particular, the size of the congestion window is adjusted according to packet loss. To improve bandwidth and to manage sessions fairly through a gateway.
유비쿼터스 컴퓨팅 환경에는 이질적인 특성의 다양한 단말들이 유무선망에 존재하고, 여러 종류의 컴퓨팅 능력을 가진 단말들이 공존한다. 특히, 유비쿼터스 네트워크에서는 여러 단말들의 이동성을 극대화하기 위해서 모바일 네트워크나 센스 네트워크와 같은 많은 무선 접속망들이 포함될 것이고, 단말들은 이러한 이동성으로 인하여 경량화, 소형화된 임베디드 단말들이 주를 이룰 것이다. 이동성은 네트워크 대역폭의 빠른 변화를 야기시키고 이를 효율적으로 처리하기 위한 혼잡 제어 방법은 필수적이다.In a ubiquitous computing environment, various terminals having heterogeneous characteristics exist in wired and wireless networks, and terminals with various kinds of computing capabilities coexist. In particular, in the ubiquitous network, in order to maximize the mobility of various terminals, many wireless access networks such as a mobile network or a sense network will be included, and the terminals will be mainly made up of lightweight and miniaturized embedded terminals. Mobility causes a rapid change in network bandwidth and congestion control methods are essential to efficiently handle it.
인터넷에서 멀티미디어나 물류 데이터와 같은 대용량의 연속성 데이터를 신뢰성 있게 전송하기 위하여 전송 제어 프로토콜(Transmission Control Protocol; 이하 "TCP"라 한다.)이나 사용자 데이터그램 프로토콜User Datagram Protocol; 이 하 "UDP"라 한다.)을 사용한다. 그러나 BSD(Berkeley Software Distribution) 소켓 기반의 TCP는 혼잡 제어와 흐름 제어, 그리고 재전송 기법들과 같은 많은 기능들로 인해 두터운 프로토콜 스택으로 구성되었으며, 경량화, 소형화된 임베디드 단말과 같은 하드웨어의 자원이 제한적인 경우에는 매우 큰 부담으로 작용한다. Transmission Control Protocol (hereinafter referred to as "TCP") or User Datagram Protocol to reliably transmit large amounts of continuity data such as multimedia or logistics data over the Internet; Hereinafter referred to as "UDP"). However, BSD (Berkeley Software Distribution) socket-based TCP consists of a thick protocol stack due to many features such as congestion control, flow control, and retransmission techniques, and limited hardware resources such as lightweight, miniaturized embedded terminals. The case is a very big burden.
반면에, UDP는 혼잡 제어 등의 기능이 없는 경량화된 프로토콜 스택을 가지지만 신뢰성을 보장하지 못한다.UDP, on the other hand, has a lightweight protocol stack that lacks features such as congestion control, but does not guarantee reliability.
이에, 경량화된 프로토콜을 가짐과 동시에 약간의 신뢰성을 가지는 DCCP 기반의 TCP-Friendly와 TCP-Like 같은 전송 계층의 혼잡 제어 방법들이 표준으로 제안되었다.Accordingly, congestion control methods of transport layers such as TCP-Friendly and TCP-Like based on DCCP, which have a lightweight protocol and some reliability, have been proposed as a standard.
DCCP기반의 TCP-Friendly 혼잡 제어 방법은 지연 시간을 기반으로 하며, TCP와 거의 유사하게 혼잡을 제어하지만, 전송률 향상을 위하여 여러 개의 ACK 메시지를 한 번에 보내는 ACK 벡터를 사용하여 ACK 메시지를 보내는 빈도를 줄인다. DCCP-based TCP-Friendly congestion control method is based on delay time and controls congestion almost similar to TCP, but sends ACK message using ACK vector which sends several ACK messages at once to improve transmission rate. Reduce
DCCP기반의 TCP-Like 혼잡 제어 방법은 패킷 손실 비율에 기반을 두며, TCP와 친화적인 흐름을 지향하는 TFRC(TCP-Friendly Rate Control) 방식으로서 혼잡 윈도우는 패킷 손실 발생률에 맞춰서 서서히 증가하고, 몇 개의 연속적인 패킷 손실이 발생하면 혼잡 윈도우를 반으로 줄인다. DCCP-based TCP-Like congestion control method is based on the packet loss rate, TCP-Friendly Rate Control (TFRC) method for TCP-friendly flow, the congestion window gradually increases in accordance with the packet loss rate, If consecutive packet loss occurs, reduce the congestion window in half.
이들은 모두 UDP와 마찬가지로 비신뢰적 전송을 하지만 약간의 신뢰성을 부여하기 위한 연결 설정과 해제 과정이 있다. These are all unreliable transmissions, just like UDP, but with connection establishment and teardown to provide some reliability.
이와 같은 종래의 혼잡 제어 방법들은 유선 환경을 기반으로 구현되었으므로 높은 비트 에러율이 발생하는 무선 환경에 수정 없이 도입되면 대역폭의 성능 저하 를 유발시킨다. 이러한 비트 에러율 때문에 패킷이 손실로 처리되면, 혼잡이 발생하지 않았지만 기존의 혼잡 제어 방법들은 그것을 혼잡으로 인식하고 혼잡 윈도우의 크기를 감소시켜서 전송량을 줄인다. 이처럼 종래의 혼잡 제어 방법들은 비트에러에 의한 패킷 손실과 혼잡에 의한 패킷 손실을 구분하지 못하였다.Since the conventional congestion control methods are implemented based on a wired environment, if they are introduced without modification into a wireless environment in which a high bit error rate occurs, bandwidth degradation occurs. If a packet is treated as a loss due to this bit error rate, no congestion has occurred, but conventional congestion control methods recognize it as congestion and reduce the amount of transmission by reducing the size of the congestion window. As such, the conventional congestion control methods cannot distinguish packet loss due to bit error and packet loss due to congestion.
또한, 종래의 TCP나 유사한 정책을 표방하는 프로토콜의 혼잡 제어 방법에서는 손실이 발생하게 되면 혼잡 윈도우를 반으로 줄이게 되고, 그 이후로는 혼잡 윈도우의 크기를 선형적으로 증가시킨다. 하지만, 혼잡이 심하지 않은 경우, 혼잡 윈도우의 크기가 큰 단말에서 동시에 전송률을 반으로 줄이게 되면 네트워크 대역폭의 상당 부분이 사용되지 않을 것이다. 그리고 상대적으로 혼잡 윈도우가 작은 다른 단말에서의 혼잡 윈도우 증가량은 이에 미치지 못하게 되어 일정 시간 동안 네트워크 대역폭이 낭비되는 문제점이 있었다.In addition, in the congestion control method of the conventional TCP or a similar policy, when the loss occurs, the congestion window is reduced in half, and thereafter, the size of the congestion window is linearly increased. However, if the congestion is not severe, a large portion of the network bandwidth will not be used if the transmission rate is cut in half at the same time in a large congestion window. In addition, the amount of congestion window increase in another terminal with a relatively small congestion window is less than this, which causes a problem of wasting network bandwidth for a certain time.
현재의 네트워크 구조는 게이트웨이를 기준으로 단말들이 인터넷에 접속하기 위해서 사용되는 접속망과 인터넷으로 구분된다. 이 중, 접속망은 단말들의 연결 방법에 따라서 무선 접속망과 유선 접속망으로 나뉜다. 유선 접속망의 경우에는 정해진 수의 단말들이 접속해 있기 때문에 인터넷이나 무선 접속망에 비하여 트래픽의 변동이 작다. 그러나 무선 접속망의 경우에는 단말들의 이동성에 기인하여 실질적인 접속점인 베이스 스테이션에 접속할 수 있는 단말들의 수가 가변적이다. 그러므로 트래픽도 매우 가변적이다. 즉, 갑자기 많은 단말들이 이동하여 하나의 베이스 스테이션에 베이스 스테이션의 처리 한계보다 많은 데이터 전송 요구가 들어온다면 그 셀은 혼잡으로 인하여 단말들이 요구하는 모든 데이터를 전송하기는 힘들 다. 종래의 혼잡 제어 방법들은 이러한 혼잡의 구조를 기반으로 설계되지 않았기 때문에 효율적인 혼잡 제어가 어려운 문제점이 있었다.The current network structure is divided into the access network and the Internet used by terminals to access the Internet based on the gateway. Among them, the access network is divided into a wireless access network and a wired access network according to the connection method of the terminals. In the case of a wired access network, since a fixed number of terminals are connected, traffic fluctuations are smaller than that of the Internet or wireless access network. However, in the case of a wireless access network, due to the mobility of the terminals, the number of terminals that can access the base station, which is a practical access point, is variable. The traffic is therefore very variable. That is, if many terminals suddenly move and a data transmission request comes in more than one base station's processing limit, the cell is difficult to transmit all data required by the terminals due to congestion. Conventional congestion control methods have not been designed based on such a congestion structure, and thus, congestion control is difficult.
이에 본 발명은 상기와 같은 제반 문제점을 해소하기 위해 제안된 것으로, 본 발명의 목적은 손실 발생 시 무선 환경의 특성에 의해서 발생하는 비트 에러에 의한 손실과 혼잡에 의한 손실을 구분하기 위하여 혼잡 윈도우의 크기를 선형적으로 감소시킴으로써 혼잡이 아닌 상황에서 혼잡 윈도우가 절반으로 감소되는 가능성을 배제하여 전체적인 대역폭 이용률을 향상시키고, 약간의 혼잡 발생 시 혼잡 윈도우의 크기를 절반이 될 때까지 지수적으로 감소시키면서, 감소되는 과정 속에서 추가적인 에러 발생 시 에러의 발생횟수를 지수적으로 가중치시켜 감소시킴으로써, 대역폭이 큰 폭으로 감소함으로 인해 발생할 수 있는 대역폭의 낭비를 방지하는 혼잡 제어 방법을 제공하는 데 있다.Accordingly, the present invention has been proposed to solve the above problems, and an object of the present invention is to provide a congestion window in order to distinguish between loss due to congestion and loss due to bit error caused by characteristics of a wireless environment. By linearly reducing the size, the overall bandwidth utilization is improved by excluding the possibility of the congestion window being halved in non-congestion situations, and exponentially reducing the size of the congestion window to half when there is some congestion. In addition, by reducing the number of occurrences of an error exponentially when additional errors occur in the process of reducing, to provide a congestion control method to prevent the waste of bandwidth that can occur due to a significant reduction in bandwidth.
본 발명의 다른 목적은 게이트웨이가 전체 단말의 세션을 통합적으로 관리함으로써 전체 단말의 세션에 대하여 공평하게 관리할 수 있는 혼잡 제어 방법을 제공하는 데 있다.Another object of the present invention is to provide a congestion control method in which the gateway can manage the sessions of the entire terminals by managing the sessions of the entire terminals.
상기와 같은 목적을 달성하기 위하여 본 발명의 기술적 사상에 의한 혼잡 제어 방법은 패킷 손실 여부에 따라서 혼잡 윈도우의 크기를 증가시키거나 감소시켜 혼잡을 제어하는 방법에 있어서, 송신측이 상기 혼잡 윈도우 크기만큼의 패킷을 전송하여 패킷이 손실되지 않으면, 상기 혼잡 윈도우의 크기를 지수적으로 증가시키는 슬로우 스타트 단계와, 상기 슬로우 스타트 단계에서 상기 혼잡 윈도우가 상기 슬로우 스타트 임계치 미만이면 상기 슬로우 스타트 단계를 반복 수행하고, 상 기 혼잡 윈도우가 상기 슬로우 스타트 임계치 이상이면 상기 혼잡 윈도우의 크기를 선형적으로 증가시키는 혼잡 회피 단계와, 상기 혼잡 회피 단계에서 상기 혼잡 윈도우의 크기가 최대에 도달하면 상기 혼잡 윈도우의 크기를 최대로 유지하는 컨스턴트 단계와, 상기 송신측이 상기 혼잡 윈도우 크기만큼의 패킷을 전송하여 패킷 손실이 발생하면, 무선 환경의 특성에 의해 발생하는 비트에러와 혼잡에 의해 발생하는 손실을 구분하기 위하여 상기 혼잡 윈도우의 크기를 선형적으로 감소시키는 역혼잡 회피 단계와, 혼잡으로 인한 대역폭의 낭비를 최소화하기 위하여 상기 혼잡 윈도우의 크기가 절반이 될 때까지 상기 혼잡 윈도우의 크기를 지수적으로 감소시키는 슬로우 스톱 단계를 포함하여 이루어지고, 상기 패킷의 손실이 발생하면, 상기 각 단계들은 상기 패킷 손실 정도에 따라서 슬로우 스타트 단계, 역혼잡 회피 단계, 슬로우 스톱 단계 중 어느 하나를 수행하는 것을 그 기술적 구성상의 특징으로 한다. In order to achieve the above object, a congestion control method according to the present invention provides a method of controlling congestion by increasing or decreasing the size of a congestion window according to whether a packet is lost or not. If the packet is not lost due to the packet transmission, the slow start step of exponentially increasing the size of the congestion window, and the slow start step is repeated if the congestion window is less than the slow start threshold in the slow start step A congestion avoidance step of linearly increasing the size of the congestion window if the congestion window is greater than or equal to the slow start threshold; and maximum size of the congestion window if the size of the congestion window reaches a maximum in the congestion avoidance step Constant step to maintain the song When a new side transmits a packet corresponding to the size of the congestion window, and a packet loss occurs, the size of the congestion window is linearly reduced to distinguish between bit error caused by a characteristic of a wireless environment and loss caused by congestion. A congestion avoidance step and a slow stop step of exponentially reducing the size of the congestion window until the size of the congestion window is half to minimize waste of bandwidth due to congestion. When a loss occurs, each of the above steps is characterized by performing any one of a slow start step, a reverse congestion avoidance step, and a slow stop step according to the degree of packet loss.
여기서, 상기 패킷 손실 정도는 증가된 혼잡 윈도우 크기만큼의 패킷 개수에서 패킷 손실 개수를 뺀 값인 것을 특징으로 한다.The packet loss degree is a value obtained by subtracting the packet loss number from the number of packets corresponding to the increased congestion window size.
또한, 상기 슬로우 스타트 단계는, 상기 슬로우 스톱 단계의 수행 여부를 결정하는 슬로우 스톱 플래그를 검사하여 상기 슬로우 스톱 플래그가 1인 경우, 상기 슬로우 스톱 단계를 수행하고, 상기 슬로우 스톱 플래그가 0인 경우, 패킷 손실 개수가 상기 증가된 혼잡 윈도우 크기 절반만큼의 패킷 개수보다 작거나 같으면 역혼잡 회피 단계를 수행하고, 패킷 손실 개수가 상기 증가된 혼잡 윈도우 크기만큼의 패킷 개수보다 작고 상기 증가된 혼잡 윈도우 크기 절반만큼의 패킷 개수보다 크면 슬로우 스톱 단계를 수행하며, 패킷 손실 개수가 상기 증가된 혼잡 윈도우 크기만큼의 패킷 개수보다 크거나 같으면 혼잡 윈도우의 크기를 절반으로 감소시킨 후, 슬로우 스타트 단계를 수행하는 것을 특징으로 한다.The slow start step may include: checking the slow stop flag for determining whether to perform the slow stop step and performing the slow stop step when the slow stop flag is 1, and when the slow stop flag is 0, If the number of packet losses is less than or equal to the number of packets by the increased congestion window size half, a reverse congestion avoidance step is performed, and the number of packet losses is less than the number of packets by the increased congestion window size and the increased congestion window size half If the number of packets is greater than the number of packets, the slow stop step is performed. If the number of packet losses is greater than or equal to the number of packets corresponding to the increased congestion window size, the size of the congestion window is reduced by half, and then the slow start step is performed. It is done.
또한, 상기 혼잡 회피 단계는, 상기 슬로우 스톱 플래그를 검사하여 상기 슬로우 스톱 플래그가 1인 경우, 상기 슬로우 스톱 단계를 수행하고, 상기 슬로우 스톱 플래그가 0인 경우, 패킷 손실 개수가 상기 증가된 혼잡 윈도우 크기의 패킷 하나의 크기와 같으면 역혼잡 회피 단계를 수행하고, 패킷 손실 개수가 상기 증가된 혼잡 윈도우 크기만큼의 패킷 개수보다 크고 이 단계에서 증가된 모든 혼잡 윈도우 크기보다 작다면 슬로우 스톱 단계를 수행하며, 패킷 손실 개수가 이 단계에서 증가된 모든 혼잡 윈도우 크기만큼의 패킷 개수보다 크거나 같으면 현재의 혼잡 윈도우를 절반으로 줄인 후 슬로우 스타트 단계를 수행하는 것을 특징으로 한다.The congestion avoidance step may include: checking the slow stop flag and performing the slow stop step when the slow stop flag is 1; and when the slow stop flag is 0, the number of packet loss increases the congestion window. If the size of one packet equals the size, a congestion avoidance step is performed; if the number of packet losses is greater than the number of packets equal to the increased congestion window size and smaller than all the congestion window sizes increased in this step, a slow stop step is performed. If the number of packet losses is greater than or equal to the number of packets corresponding to all the congestion window sizes increased in this step, the current congestion window is reduced by half, and then a slow start step is performed.
또한, 상기 컨스턴트 단계는, 상기 슬로우 스톱 플래그를 검사하여 상기 슬로우 스톱 플래그가 1인 경우, 상기 슬로우 스톱 단계를 수행하고, 상기 슬로우 스톱 플래그가 0인 경우, 상기의 혼잡 회피 단계와 동일한 혼잡 제어를 수행하는 것을 특징으로 한다.The constant step may include the same congestion control as in the congestion avoidance step when the slow stop flag is inspected and the slow stop flag is 1, and the slow stop flag is 0 and the slow stop flag is 0. It characterized in that to perform.
또한, 상기 역혼잡 회피 단계는, 상기 슬로우 스톱 플래그를 검사하여 상기 슬로우 스톱 플래그가 1인 경우, 상기 슬로우 스톱 단계를 수행하고, 상기 슬로우 스톱 플래그가 0인 경우, 패킷 손실 개수가 0이면 상기 역혼잡 회피 단계의 이전 단계를 수행하고, 패킷 손실 개수가 1이면 상기 역혼잡 회피 단계를 수행하며, 패킷 손실 개수가 상기 역혼잡 회피 단계 이전 단계의 패킷 손실 개수보다 작거나 같으면 슬로우 스톱 단계를 수행하고, 패킷 손실 개수가 상기 역혼잡 회피 단계 이전 단계의 패킷 손실 개수보다 크면 상기 혼잡 윈도우의 크기를 절반으로 감소시킨 후, 상기 슬로우 스타트 단계를 수행하는 것을 특징으로 한다.The reverse congestion avoidance step may include: checking the slow stop flag to perform the slow stop step when the slow stop flag is 1; and when the slow stop flag is 0, when the packet loss count is 0, the reverse stop. Perform the previous step of the congestion avoidance step, perform the reverse congestion avoidance step if the packet loss number is 1, perform the slow stop step if the number of packet loss is less than or equal to the packet loss number of the step before the congestion avoidance step If the number of packet losses is greater than the number of packet losses before the step of avoiding congestion, the size of the congestion window is reduced by half, and then the slow start step is performed.
또한, 상기 슬로우 스톱 단계는, 상기 슬로우 스톱 플래그를 검사하여 상기 슬로우 스톱 플래그가 1인 경우, 상기 슬로우 스톱 단계를 수행하고, 상기 슬로우 스톱 플래그가 0인 경우, 상기 혼잡 윈도우의 크기를 지수적으로 감소시키면서, 감소되는 과정 속에서 추가적인 에러 발생 시 에러의 발생횟수를 지수적으로 가중치시켜 감소시킨 후, 상기 혼잡 회피 단계를 수행하는 것을 특징으로 한다.The slow stop step may include: checking the slow stop flag to perform the slow stop step when the slow stop flag is 1, and when the slow stop flag is 0, exponentially increasing the size of the congestion window. While reducing, by reducing the number of occurrences of an error exponentially weighted in the process of further error reduction, characterized in that the congestion avoidance step is performed.
또한, 상기 최대 혼잡 윈도우 임계치 및 슬로우 스타트 임계치는 게이트웨이 기반의 공평한 세션 관리를 위하여 다음과 같은 수학식에 의해 계산된 값으로 설정되는 것을 특징으로 한다.The maximum congestion window threshold and the slow start threshold may be set to values calculated by the following equation for fair session management based on the gateway.
여기서, T은 세션 의 최대 혼잡 윈도우 임계치를 나타내고, T은 세션 의 슬로우 스타트 임계치를 나타내고, N은 게이트웨이를 통해서 서비스 중인 모든 세션 수를 나타내고, W은 게이트웨이의 최대 가용 윈도우 크기를 나타내 고, W은 세션 의 최대 수신 윈도우 크기를 나타낸다.Where T Session Represents the maximum congestion window threshold of Session Slow start threshold of N, N denotes the number of all sessions in service through the gateway, W Represents the maximum available window size of the gateway, W Session Represents the maximum receive window size.
또한, 상기 게이트웨이는 상기 최대 혼잡 윈도우 임계치 및 슬로우 스타트 임계치를 통하여 상기 게이트웨이에 연결되는 각 단말의 혼잡 윈도우 크기 및 상기 게이트웨이의 가용 윈도우 크기를 인식하는 것을 특징으로 한다.In addition, the gateway recognizes the congestion window size of each terminal connected to the gateway and the available window size of the gateway through the maximum congestion window threshold and the slow start threshold.
또한, 본 발명은 상기 패킷의 손실이 발생하지 않으면, 상기 각 단계들은 상기 혼잡 윈도우 크기가 상기 슬로우 스타트 임계치보다 작으면 상기 슬로우 스타트 단계를 수행하고, 상기 혼잡 윈도우 크기가 상기 슬로우 스타트 임계치보다 크거나 같은 경우, 상기 혼잡 윈도우 크기가 최대이면 컨스턴트 단계를 수행하고, 그렇지 않으면 혼잡 회피 단계를 수행하는 것을 특징으로 한다.In addition, if the packet loss does not occur, the present invention performs the slow start step if the congestion window size is less than the slow start threshold, the congestion window size is greater than the slow start threshold or In the same case, if the congestion window size is maximum, the constant step is performed; otherwise, the congestion avoidance step is performed.
이하, 상기와 같은 본 발명의 기술적 사상에 따른 실시예를 첨부된 도면을 참조하여 구체적으로 설명하면 다음과 같다.Hereinafter, embodiments of the present invention as described above will be described in detail with reference to the accompanying drawings.
도 1은 본 발명의 실시예에 따른 혼잡 제어 방법의 순서도이다.1 is a flowchart of a congestion control method according to an embodiment of the present invention.
도 1에 도시한 바와 같이, 본 발명의 실시예에 따른 혼잡 제어 방법은 송신측이 상기 혼잡 윈도우 크기만큼의 패킷을 전송하여 패킷 손실이 없고, 상기 혼잡 윈도우가 상기 슬로우 스타트 임계치 미만이면 슬로우 스타트 단계(S106)를 수행하고, 상기 혼잡 윈도우가 상기 슬로우 스타트 임계치 이상이면 상기 혼잡 윈도우의 크기를 선형적으로 증가시키는 혼잡 회피 단계(S108)와, 상기 혼잡 회피 단계(S108)에서 상기 혼잡 윈도우의 크기가 최대에 도달하면 상기 혼잡 윈도우의 크기를 최대로 유지하는 컨스턴트 단계(S109)와, 상기 송신측이 상기 혼잡 윈도우 크기만큼의 패킷을 전송하여 패킷 손실이 발생하면, 무선 환경의 특성에 의해 발생하는 비트에러와 혼잡에 의해 발생하는 손실을 구분하기 위하여 상기 혼잡 윈도우의 크기를 선형적으로 감소시키는 역혼잡 회피 단계(S103)와, 상기 송신측이 상기 혼잡 윈도우 크기만큼의 패킷을 전송하여 부정응답을 수신하면, 혼잡으로 인한 대역폭의 낭비를 최소화하기 위하여 상기 혼잡 윈도우의 크기가 절반이 될 때까지 상기 혼잡 윈도우의 크기를 감소시키는 슬로우 스톱 단계(S104)를 포함하여 구성된다.As shown in FIG. 1, in a congestion control method according to an embodiment of the present invention, if a transmitting side transmits a packet corresponding to the congestion window size, there is no packet loss, and a slow start step is performed if the congestion window is less than the slow start threshold. A congestion avoidance step (S108) of linearly increasing the size of the congestion window if the congestion window is greater than or equal to the slow start threshold, and the congestion avoidance step (S108) A constant step (S109) of maintaining the maximum size of the congestion window when the maximum is reached, and a packet loss caused by the transmitting side transmitting a packet as large as the congestion window size, Inversely reducing the size of the congestion window to distinguish between losses caused by bit errors and congestion Job avoidance step (S103), and when the transmitting side transmits a packet corresponding to the size of the congestion window and receives a negative response, until the size of the congestion window is half to minimize waste of bandwidth due to congestion; And a slow stop step S104 of reducing the size of the congestion window.
여기서, 상기 슬로우 스타트 단계, 혼합 회피 단계, 컨스턴트 단계에서 패킷 손실이 발생하면, 패킷 손실 개수에 따른 패킷 손실 정도에 의해 슬로우 스타트 단계(S102), 역혼잡 회피 단계(S103), 슬로우 스톱 단계(S104) 중 어느 하나를 수행한다. 반면에, 패킷의 손실이 발생하지 않으면 혼잡 윈도우와 슬로우 스타트 임계치를 비교하여 다음의 상태를 결정한다(S105). 즉, 패킷의 손실이 발생하지 않고(S101) 혼잡 윈도우의 크기가 슬로우 스타트 임계치보다 작으면(S105) 슬로우 스타트 단계를 수행하고(S106), 패킷의 손실이 발생하지 않고(S101) 혼잡 윈도우의 크기가 슬로우 스타트 임계치보다 작지 않고(S105) 혼잡 윈도우의 크기가 최대 혼잡 윈도우의 크기보다 작으면(S107) 혼잡 회피 단계를 수행하고(S110), 패킷의 손실이 발생하지 않고(S101) 혼잡 윈도우의 크기가 슬로우 스타트 임계치보다 작지 않고(S105) 혼잡 윈도우의 크기가 최대 혼잡 윈도우의 크기보다 작지 않으면(S107) 컨스턴트 단계를 수행한다(S109). 참고로, 여기서 최대 혼잡 윈도우 크기는 가장 많은 패킷을 전송할 수 있는 크기의 윈도우 상태를 의미한다.Here, if packet loss occurs in the slow start step, the mixed avoidance step, and the constant step, the slow start step (S102), the reverse congestion avoidance step (S103), and the slow stop step (depending on the packet loss amount according to the number of packet losses) Perform any one of S104). On the other hand, if no packet loss occurs, the next state is determined by comparing the congestion window and the slow start threshold (S105). That is, if no packet loss occurs (S101) and the size of the congestion window is smaller than the slow start threshold (S105), the slow start step is performed (S106), and no packet loss occurs (S101). Is not smaller than the slow start threshold (S105) and the size of the congestion window is smaller than the maximum congestion window (S107), the congestion avoidance step is performed (S110), and no packet loss occurs (S101). If is not smaller than the slow start threshold (S105) and the size of the congestion window is not smaller than the size of the maximum congestion window (S107) a constant step is performed (S109). For reference, the maximum congestion window size here means a window state of a size that can transmit the most packets.
한편, 상기 패킷 손실 정도는 증가된 혼잡 윈도우 크기에서 손실된 패킷 개수를 뺀 값을 의미한다. Meanwhile, the packet loss degree means a value obtained by subtracting the number of lost packets from the increased congestion window size.
이를 더 구체적으로 설명하면, 도 3에 도시한 바와 같이, i 구간의 혼잡 윈도우의 패킷 개수는 m개이고 손실된 패킷이 없으므로 ACK 벡터의 m비트는 모두 1로 채워진다. 그 결과 i+1 구간에서는 n개의 패킷 개수만큼 혼잡 윈도우가 증가하고 총 m+n개의 패킷을 전송한 후에 k개의 패킷이 손실된다. 이 손실은 i 구간에서 이미 무손실 전송을 확인했던 m개의 패킷이 아닌 n개의 패킷이 새로 증가하였기 때문에 발생한 것이다. 따라서 본 발명의 실시예에서는 패킷 손실 정도를 증가된 n개의 패킷에서 손실된 k개의 손실 패킷 개수를 감한 값으로 정의한다.More specifically, as shown in FIG. 3, since the number of packets of the congestion window in the interval i is m and no packets are lost, all m bits of the ACK vector are filled with one. As a result, the congestion window increases by the number of n packets in the i + 1 interval, and k packets are lost after transmitting a total of m + n packets. This loss is caused by a new increase in n packets instead of m packets which have already confirmed lossless transmission in interval i. Therefore, in the embodiment of the present invention, the degree of packet loss is defined as the value obtained by subtracting the number of k lost packets lost from n increased packets.
한편, 상기 두 개의 임계치(최대 혼잡 윈도우 임계치, 슬로우 스타트 임계치)는 게이트웨이 기반의 공평한 세션 관리를 위하여 다음과 같은 값으로 설정된다. 여기서, 슬로우 스타트 임계치는 단말의 혼잡 윈도우가 선형적 증가를 수행하는 혼잡 회피 단계로 전이하는 슬로우 스타트 단계의 한계를 의미한다. 이러한 임계치 값들은 게이트웨이에서 전체 세션들을 고려하여 구한다.On the other hand, the two thresholds (maximum congestion window threshold, slow start threshold) is set to the following values for fair session management based on the gateway. Here, the slow start threshold means a limit of a slow start step in which a congestion window of the terminal transitions to a congestion avoidance step of performing a linear increase. These threshold values are obtained by considering the entire sessions at the gateway.
여기서, T은 세션 의 최대 혼잡 윈도우 임계치를 나타내고, N은 게이트웨이를 통해서 서비스 중인 모든 세션 수를 나타내고, 는 게이트웨이의 최대 가용 윈도우 크기를 나타내고, W은 세션 의 최대 수신 윈도우 크기를 나타낸다.Where T Session Denotes the maximum congestion window threshold of N, N denotes the number of all sessions in service through the gateway, Represents the maximum available window size of the gateway, W Session Represents the maximum receive window size.
상기의 수학식 1을 이용하여 게이트웨이 기반의 공평한 세션 관리를 위한 최대 혼잡 윈도우 임계치를 설정할 수 있다.
수학식 1을 참조하면, 최대 혼잡 윈도우 임계치는 게이트웨이의 최대 가용 윈도우 크기를 게이트웨이를 통해서 서비스중인 모든 세션 수로 나눈 값과 세션의 최대 수신 윈도우 크기 중에서 최소값으로 설정된다. 다시 말해서, 게이트웨이가 세션에 할당할 수 있는 최대 혼잡 윈도우 크기와 세션의 수신 윈도우 크기 중에서 최소값이 설정된다. 이러한 최대 혼잡 윈도우 임계치는 새로운 세션이 추가되거나 종료되면 그 때마다 그 값을 다시 설정한다. 이로써, 전체 세션에 대하여 공평한 관리가 이루어져 대역폭을 효율적으로 사용할 수 있게 된다.Referring to
여기서, T은 세션 의 슬로우 스타트 임계치이고, T은 세션 의 최대 혼잡 윈도우 임계치이고, N은 게이트웨이를 통해서 서비스 중인 모든 세션 수이고, W은 게이트웨이의 최대 가용 윈도우 크기이다.Where T Session Is the slow start threshold of T Session Is the maximum congestion window threshold of N, N is the number of all sessions in service through the gateway, W Is the maximum available window size of the gateway.
상기의 수학식 2를 이용하여 게이트웨이 기반의 공평한 세션 관리를 위한 슬로우 스타트 임계치를 설정할 수 있다. Using
수학식 2를 참조하면, 슬로우 스타트 임계치는 게이트웨이를 통해서 서비스 중인 모든 세션의 최대 혼잡 윈도우 임계치의 합이 게이트웨이의 최대 가용 윈도우 크기보다 작으면 최대 혼잡 윈도우 임계치로 설정되고, 그렇지 않으면 (1-)× T로 설정된다. 즉, 게이트웨이의 가용 윈도우에 여유가 있을 때는 T(최대 혼잡 윈도우 임계치)가 설정되고, 게이트웨이의 가용 윈도우에 여유가 없을 때는 (1-)× T가 설정된다. 이는 새로운 세션이 들어올 여유 폭을 미리 남겨두어서 혼잡을 사전에 방지하기 위한 것이다. 이러한 슬로우 스타트 임계치는 새로운 세션이 추가되면 수학식 2를 재계산하여 새로운 슬로우 스타트 임계치를 구한다. 이때, 혼잡에 의해서 패킷 손실이 발생하면, 슬로우 스타트 임계치를 최대 혼잡 윈도우 임계치의 절반으로 설정한다. 이로써, 트래픽이 매우 가변적인 무선 접속망에서 갑자기 많은 단말들이 접속함으로 인해 발생하는 혼잡을 효율적으로 제어할 수 있게 된다.Referring to
이와 같이, 게이트웨이는 게이트웨이 기반의 공평한 세션 관리를 위해서 최대 혼잡 윈도우 크기 및 슬로우 스타트 임계치를 설정한다. 따라서, 모든 단말들이 게이트웨이의 통제하에 있게 되어 효율적인 혼잡 제어를 수행할 수 있게 된다.As such, the gateway sets the maximum congestion window size and slow start threshold for gateway-based fair session management. Therefore, all terminals are under the control of the gateway, thereby enabling efficient congestion control.
이하에서는 본 발명의 실시예에 따른 혼잡 제어 방법의 각 단계의 수행 과정을 설명하기로 한다.Hereinafter, a process of performing each step of the congestion control method according to an embodiment of the present invention will be described.
참고로, 본 발명의 실시예에 따른 혼잡 제어 방법의 각 단계를 수행하는 과정에서 먼저 슬로우 스톱 플래그를 검사하게 된다. 슬로우 스톱 플래그는 현재 슬로우 스톱 단계를 수행하고 있는지의 여부를 나타내는 플래그로서, 그 값이 1인 경 우에 현재 슬로우 스톱 단계를 수행하고 있음을 나타낸다. 이와 같이 슬로우 스톱 플래그를 먼저 검사하는 이유는 만약 슬로우 스톱 플래그가 1의 값을 가져 슬로우 스톱 단계를 수행하는 경우, 혼잡 윈도우가 슬로우 스톱 이전 단계에서의 혼잡 윈도우 크기의 절반으로 감소하기 전까지 계속하여 이 슬로우 스톱 단계를 유지할 수 있도록 하기 위함이다.For reference, in the process of performing each step of the congestion control method according to an embodiment of the present invention, the slow stop flag is first examined. The slow stop flag is a flag indicating whether the current slow stop step is being performed. If the value is 1, the slow stop flag indicates that the slow stop step is being performed. The reason for checking the slow stop flag first is that if the slow stop flag has a value of 1 and performs the slow stop step, it continues until the congestion window is reduced to half the size of the congestion window from the step prior to the slow stop. This is to maintain the slow stop phase.
도 2a는 본 발명의 실시예에 따른 혼잡 제어 방법의 슬로우 스타트 단계의 수행 과정을 도시한 순서도로서, 슬로우 스타트 단계에서는 패킷의 손실이 발생하지 않으면 혼잡 윈도우의 크기에 따라서 슬로우 스타트 단계 -> 혼잡 회피 단계 -> 컨스턴트 단계를 차례로 수행하여 전송 가능한 패킷의 수를 증가시킨다. 반면에, 패킷의 손실이 발생하면 패킷의 손실 정도에 따라서 역혼잡 회피 단계 또는 슬로우 스톱 단계 또는 슬로우 스타트 단계를 수행한다.2A is a flowchart illustrating a slow start step of a congestion control method according to an exemplary embodiment of the present invention. In the slow start step, if packet loss does not occur, a slow start step → congestion avoidance depending on the size of a congestion window. Increase the number of packets that can be sent by following the steps-> constant steps. On the other hand, if a packet loss occurs, the reverse congestion avoidance step, the slow stop step, or the slow start step is performed according to the packet loss level.
도 2a에 도시한 바와 같이, 본 발명의 실시예에 따른 혼잡 제어 방법의 슬로우 스타트 단계는 패킷의 손실이 발생하면 먼저 슬로우 스톱 플래그를 검사하여 그 값이 0보다 큰 경우에는(S111) 슬로우 스톱 단계를 수행한다(S112). 반면에, 슬로우 스톱 플래그가 0보다 크지 않은 경우에는(S111) 패킷 손실 정도(p_loss)가 증가된 혼잡 윈도우 크기만큼의 패킷 개수의 절반(w_inc/2)보다 크거나 같고, 증가된 혼잡 윈도우 크기보다 작으면(w_inc/2<=p_loss<w_inc), 역혼잡 회피 단계를 수행하고(S114), 패킷 손실 정도(p_loss)가 증가된 혼합 윈도우 크기 절반보다 작고, 0보다 크면(0<p_loss<w_inc/2)(S115), 슬로우 스톱 단계를 수행하며(S112), 상기의 조건을 모두 만족하지 않으면, 혼잡 윈도우의 크기를 절반으로 감소시킨 후에(S116) 슬로우 스타트 단계를 수행한다(S117).As shown in FIG. 2A, the slow start step of the congestion control method according to the embodiment of the present invention first checks the slow stop flag when a packet loss occurs, and if the value is greater than zero (S111), a slow stop step. To perform (S112). On the other hand, if the slow stop flag is not greater than zero (S111), the packet loss degree (p_loss) is greater than or equal to half (w_inc / 2) of the number of packets by the increased congestion window size and greater than the increased congestion window size. If it is small (w_inc / 2 <= p_loss <w_inc), the congestion avoidance step is performed (S114), and if the packet loss degree (p_loss) is smaller than half of the increased mixed window size, and greater than 0 (0 <p_loss <w_inc / 2) (S115), the slow stop step is performed (S112), if all of the above conditions are not satisfied, the size of the congestion window is reduced to half (S116) and then the slow start step is performed (S117).
한편, 도 2b는 본 발명의 실시예에 따른 혼잡 제어 방법의 혼잡 회피 단계의 수행 과정을 도시한 순서도로서, 혼잡 회피 단계에서는 패킷 손실이 발생하지 않으면 혼잡 윈도우의 크기를 선형적으로 증가시키며, 패킷 손실이 발생하지 않고 혼잡 윈도우의 크기가 최대에 도달하면 컨스턴트 단계를 수행한다. 반면에 패킷의 손실이 발생하면 패킷의 손실 정도에 따라서 슬로우 스타트 단계나 슬로우 스톱 단계 혹은 역혼잡 회피 단계를 수행한다.2B is a flowchart illustrating a congestion avoidance step of the congestion control method according to an embodiment of the present invention. In the congestion avoidance step, if a packet loss does not occur, the size of the congestion window is linearly increased. If no loss occurs and the size of the congestion window reaches its maximum, a constant step is performed. On the other hand, if a packet is lost, a slow start step, a slow stop step, or a reverse congestion avoidance step is performed according to the packet loss level.
도 2b에 도시한 바와 같이, 본 발명의 실시예에 따른 혼잡 제어 방법의 혼잡 회피 단계는 패킷의 손실이 발생하면 먼저 슬로우 스톱 플래그를 검사하여 그 값이 0보다 큰 경우(S121)에는 슬로우 스톱 단계를 수행한다(S122). 반면에, 슬로우 스톱 플래그가 0보다 크지 않은 경우(S121)에는 패킷 손실 정도(p_loss)가 증가된 혼잡 윈도우 크기만큼의 패킷 개수(w_inc)보다 작고 0보다 크거나 같으면(0<=p_loss<w_inc)(S123), 역혼잡 회피 단계를 수행하고(S124), 패킷 손실 정도(p_loss)가 0보다 작고, 슬로우 스타트 임계치 만큼의 패킷 개수(ssthresh)에서 현재 혼잡 윈도우 크기 만큼의 패킷 개수(cwnd)를 뺀 값보다 크면(ssthresh-cwnd<p_loss<0)(S125), 슬로우 스톱 단계를 수행하며(S122), 상기의 조건을 모두 만족하지 않으면, 혼잡 윈도우의 크기를 절반으로 감소시킨 후에(S126) 슬로우 스타트 단계를 수행한다(S127).As shown in FIG. 2B, the congestion avoidance step of the congestion control method according to the embodiment of the present invention first checks the slow stop flag when a packet loss occurs, and if the value is greater than zero (S121), the slow stop step. To perform (S122). On the other hand, if the slow stop flag is not greater than 0 (S121), if the packet loss degree (p_loss) is smaller than the number of packets (w_inc) by the increased congestion window size and is greater than or equal to 0 (0 <= p_loss <w_inc) In step S123, the congestion avoidance step is performed (S124), and the packet loss degree (p_loss) is less than 0, and the packet count (cws) corresponding to the current congestion window size is subtracted from the packet count (ssthresh) by the slow start threshold. If greater than the value (ssthresh-cwnd <p_loss <0) (S125), the slow stop step is performed (S122). If all of the above conditions are not satisfied, the size of the congestion window is reduced to half (S126) and then the slow start is performed. Step S127 is performed.
한편, 도 2c는 본 발명의 실시예에 따른 혼잡 제어 방법의 컨스턴트 단계의 수행 과정을 도시한 순서도로서, 본 발명의 실시예에 따른 혼잡 제어 방법의 컨스턴트 단계는 상기 혼잡 회피 단계의 연장 단계, 즉 패킷의 손실이 발생하지 않고, 혼잡 회피 단계에서 혼잡 윈도우가 최대 혼잡 윈도우에 이르렀을 때 수행되는 단계이다.2C is a flowchart illustrating a process of performing a constant step of a congestion control method according to an embodiment of the present invention. The constant step of the congestion control method according to an embodiment of the present invention is an extension step of the congestion avoidance step. In other words, the packet loss does not occur, and the congestion avoidance step is performed when the congestion window reaches the maximum congestion window.
삭제delete
도 2c에 도시한 바와 같이, 본 발명의 실시예에 따른 혼잡 제어 방법의 컨스턴트 단계는 패킷 손실이 발생하면, 먼저 슬로우 스톱 플래그를 검사하여 그 값이 0보다 큰 경우(S131)에는 슬로우 스톱 단계를 수행한다(S132). 반면에, 슬로우 스톱 플래그가 0보다 크지 않은 경우(S131)에는 패킷 손실 정도(p_loss)가 -1보다 크거나 같고 0보다 작으면(-1<=p_loss<0)(S133), 역혼잡 회피 단계를 수행하고(S134), 패킷 손실 정도(p_loss)가 -1보다 작고 슬로우 스타트 임계치 만큼의 패킷 개수(ssthresh)에서 최대 혼잡 윈도우 임계치 만큼의 패킷 개수(maxthresh)를 뺀 값보다 크면(ssthresh-maxthresh<p_loss<-1)(S135), 슬로우 스톱 단계를 수행하며(S132), 상기의 조건을 모두 만족하지 않으면, 혼잡 윈도우의 크기를 절반으로 감소시킨 후에(S136) 슬로우 스타트 단계를 수행한다(S137).As shown in FIG. 2C, when the packet loss occurs, the constant step of the congestion control method according to the embodiment of the present invention first checks the slow stop flag, and if the value is greater than 0 (S131), the slow stop step. To perform (S132). On the other hand, when the slow stop flag is not greater than 0 (S131), if the packet loss degree (p_loss) is greater than or equal to -1 and less than 0 (-1 <= p_loss <0) (S133), the reverse congestion avoiding step (S134), if the packet loss degree (p_loss) is less than -1 and is greater than the packet count (ssthresh) by the slow start threshold minus the packet count (maxthresh) by the maximum congestion window threshold (ssthresh-maxthresh < p_loss <-1) (S135), the slow stop step is performed (S132), if all of the above conditions are not satisfied, the size of the congestion window is reduced to half (S136) and then the slow start step is performed (S137). .
이와 같은 상기 슬로우 스타트 단계, 혼잡 회피 단계 및 컨스턴트 단계는 패킷 손실 시 혼잡의 정도에 따라서 슬로우 스타트 단계, 역혼잡 회피 단계 또는 슬로우 스톱 단계를 수행한다. 즉, 슬로우 스타트 단계, 혼잡 회피 단계 및 컨스턴트 단계는 패킷 손실이 발생할 경우, 증가된 혼잡 윈도우 크기만큼의 패킷 개수에서 패킷 손실 개수를 뺀 값인 패킷 손실 정도에 따라서 각각 슬로우 스타트 단계, 역혼잡 회피 단계, 슬로우 스톱 단계 중 어느 하나의 단계를 수행한다. The slow start step, congestion avoidance step and constant step perform a slow start step, a reverse congestion avoidance step or a slow stop step depending on the degree of congestion at the time of packet loss. That is, the slow start step, congestion avoidance step, and constant step are each a slow start step and a reverse congestion avoidance step according to the packet loss degree, which is a value obtained by subtracting the packet loss count from the packet count corresponding to the increased congestion window size when packet loss occurs. To perform any one of the steps, slow stop.
이하에서는 혼잡 윈도우의 크기를 증가시키거나 유지하는 단계가 아닌, 혼잡을 효율적으로 처리하기 위해 혼잡 윈도우의 크기를 감소시키는 역혼잡 회피 단계와 슬로우 스톱 단계에 대해서 설명하기로 한다. Hereinafter, the reverse congestion avoidance step and the slow stop step of reducing the size of the congestion window in order to efficiently handle the congestion, rather than increasing or maintaining the size of the congestion window, will be described.
여기서, 상기 역혼잡 회피 단계 또는 슬로우 스톱 단계는 패킷 손실이 발생하지 않은 때에는 수행되지 않는 단계이며, 패킷 손실이 발생한 때에만 수행되는 단계이다. Here, the congestion avoidance step or the slow stop step is not performed when packet loss does not occur, and is performed only when packet loss occurs.
도 2d는 본 발명의 실시예에 따른 혼잡 제어 방법의 역혼잡 회피 단계의 수행 과정을 도시한 순서도로서, 역혼잡 회피 단계에서는 혼잡 윈도우의 크기를 1씩 감소시키면서 현재의 손실 상태가 무선망의 특성에 의한 비트 에러인지 혼잡에 의한 패킷 손실인지를 구분한다. 따라서, 역혼잡 회피 단계는 역혼잡 회피 단계 이전 단계에서 발생한 패킷 손실에 따른 혼잡을 제어한다.2d is a flowchart illustrating a process of performing a congestion avoidance step of a congestion control method according to an embodiment of the present invention. In the reverse congestion avoidance step, a current loss state is a characteristic of a wireless network while decreasing the size of a congestion window by one. It distinguishes between bit error caused by packet loss and packet loss caused by congestion. Therefore, the congestion avoidance step controls congestion due to packet loss occurring in the step before the congestion avoidance step.
도 2d에 도시한 바와 같이, 본 발명의 실시예에 따른 혼잡 제어 방법의 역혼잡 회피 단계는 패킷의 손실이 발생하면 먼저 슬로우 스톱 플래그를 검사하여 그 값이 0보다 큰 경우(S141)에는 슬로우 스톱 단계를 수행한다(S142). 반면에, 슬로우 스톱 플래그가 0보다 크지 않은 경우(S141)에는 손실된 패킷 개수가 0이면(nack=0)(S143), 역혼잡 회피 단계 이전 단계를 수행하고(S144), 손실된 패킷 개수가 1이면(nack=1)(S145), 역혼잡 회피 단계를 수행하며(S146), 손실된 패킷 개수가 역혼잡 회피 단계 이전 단계의 손실된 패킷 개수보다 작거나 같으면(nack<=pre_rca_nack)(S147), 슬로우 스톱 단계를 수행하고(S142), 상기 조건을 모두 만족하지 않으면, 혼잡 윈도우의 크기를 절반으로 감소시킨 후에(S148) 슬로우 스타트 단계를 수행한다(S149).As shown in FIG. 2D, the congestion avoidance step of the congestion control method according to an embodiment of the present invention first checks the slow stop flag when a packet loss occurs, and if the value is greater than zero (S141), a slow stop is performed. To perform the step (S142). On the other hand, if the slow stop flag is not greater than zero (S141), if the number of packets lost is zero (nack = 0) (S143), the previous step of the decongestion avoidance step is performed (S144), and the number of lost packets is If 1 (nack = 1) (S145), the reverse congestion avoidance step is performed (S146), and if the number of lost packets is less than or equal to the number of lost packets from the step before the decongestion avoidance step (nack <= pre_rca_nack) (S147) In step S142, if the above conditions are not satisfied, the size of the congestion window is reduced to half (S148), and then the slow start step is performed (S149).
한편, 도 2e는 본 발명의 실시예에 따른 혼잡 제어 방법의 슬로우 스톱 단계의 수행 과정을 도시한 순서도로서, 슬로우 스톱 단계에서는 패킷의 손실이 작을 때, 즉 혼잡 정도가 약할 때 혼잡으로 인해서 대역폭이 낭비되는 것을 최소화한다. Meanwhile, FIG. 2E is a flowchart illustrating a slow stop step of the congestion control method according to an embodiment of the present invention. In the slow stop step, when the packet loss is small, that is, when the degree of congestion is low, bandwidth is increased due to congestion. Minimize waste.
도 2e에 도시한 바와 같이, 본 발명의 실시예에 따른 혼잡 제어 방법의 슬로우 스톱 단계는 먼저 슬로우 스톱 플래그를 검사하여 그 값이 0보다 큰 경우(S151)에는 슬로우 스톱 단계를 수행하고(S152), 슬로우 스톱 플래그가 0보다 크지 않은 경우(S151)에는 혼잡 회피 단계를 수행한다(S153). 다시 말해서, 슬로우 스톱 단계는 혼잡 윈도우의 크기가 절반이 될 때까지 슬로우 스톱 플래그를 1로 설정하여 혼잡 윈도우의 크기를 지수적으로 감소시킴으로써 슬로우 스톱 단계를 유지하며, 슬로우 스톱 단계의 진행중 추가적으로 에러가 발생할 경우에는 에러의 발생횟수를 지수적으로 가중치 적용하여 감소폭을 증가시키게 된다. 그리고 혼잡 윈도우의 크기가 절반이 되어 슬로우 스톱 단계가 끝나면 슬로우 스톱 플래그를 0으로 설정한 후에 혼잡 회피 단계를 수행한다.As shown in FIG. 2E, the slow stop step of the congestion control method according to the embodiment of the present invention first checks the slow stop flag, and if the value is greater than zero (S151), performs a slow stop step (S152). If the slow stop flag is not greater than zero (S151), a congestion avoidance step is performed (S153). In other words, the slow stop phase maintains the slow stop phase by exponentially reducing the size of the congestion window by setting the slow stop flag to 1 until the size of the congestion window is half the size of the congestion window. In case of occurrence, the decrease is increased by exponentially weighting the number of occurrences of the error. When the congestion window is half the size and the slow stop step is completed, the congestion avoidance step is performed after setting the slow stop flag to zero.
이와 같은 본 발명의 실시예에 따른 혼잡 제어 방법은 도 4에 도시한 바와 같이, 게이트웨이(200)는 베이스 스테이션(210, 220, 230)이 공평하게 세션을 관리할 수 있도록 임계치를 설정함으로써, 베이스 스테이션(210, 220, 230)에 연결되는 단말(240)이 이동하면서 데이터를 전송할 때에도 베이스 스테이션(210, 220, 230)에 혼잡이 일어나지 않도록 한다. 이렇게 설정된 임계치를 통하여 게이트웨이(200)는 패킷 손실 및 지연은 물론, 모든 단말들(240)이 전송과정에서 얻게 되는 혼잡 윈도우의 크기를 알 수 있으며, 현재 게이트웨이(200)가 서비스하고 있는 모든 단말들(240)의 전송 윈도우 총 크기도 알 수 있다. 따라서 패킷 손실과 지연뿐만 아니라 게이트웨이(200)가 관찰하는 각 단말(240)의 윈도우 크기와 게이트웨이(200)의 가용 윈도우 크기를 동시에 고려하여 공평하고 효율적인 혼잡 제어를 수행할 수 있게 된다.In the congestion control method according to the embodiment of the present invention as shown in FIG. 4, the
참고로, 상기 각 단계(슬로우 스타트 단계, 혼잡 회피 단계, 컨스턴트 단계, 역혼잡 회피 단계, 슬로우 스톱 단계)를 수행한 후에는 송신측은 데이터 패킷에 바뀐 혼잡 윈도우 크기를 변화 옵션(change option)으로 추가하여 전송하고, 수신측은 긍정응답률(ack ratio)을 게이트웨이에서 전송한 변화 옵션(change option)의 값으로 바꾸고 이 수만큼의 패킷을 받을 때까지 대기한 후, 변화된 긍정응답률(ack ratio)만큼 패킷을 수신한 후에 다시 ACK 벡터를 송신측에 전송한다. For reference, after performing each of the above steps (slow start step, congestion avoidance step, constant step, reverse congestion avoidance step, slow stop step), the sender changes the congestion window size changed in the data packet to a change option. In addition, the receiving side changes the ack ratio to the value of the change option transmitted from the gateway, waits until receiving the number of packets, and then changes the packet to the changed ack ratio. After receiving, the ACK vector is transmitted to the transmitting side again.
본 발명은 손실 발생 시 무선 환경의 특성에 의해서 발생하는 비트 에러에 의한 손실과 혼잡에 의한 손실을 구분하기 위하여 혼잡 윈도우의 크기를 선형적으로 감소시킴으로써 전체적인 대역폭 이용률을 향상시키고, 약간의 혼잡 발생 시 혼잡 윈도우의 크기를 절반이 될 때까지 지수적으로 감소시키면서, 감소되는 과정 속에서 추가적인 에러 발생 시 에러의 발생횟수를 지수적으로 가중치시켜 감소시킴으로써, 혼잡 윈도우 크기를 큰 폭으로 감소시켜 발생하는 대역폭의 낭비를 방지하면서, 혼잡으로 인한 상황과 비트 에러에 의한 손실을 판단하여 대역폭을 효율적으로 관리할 수 있게 한다.The present invention improves overall bandwidth utilization by linearly reducing the size of the congestion window in order to distinguish between loss due to bit error and loss due to congestion caused by the characteristics of the wireless environment when loss occurs. Bandwidth generated by drastically reducing the size of the congestion window by exponentially reducing the size of the congestion window by half, while exponentially weighting the number of occurrences of the error when additional errors occur in the decreasing process. It is possible to efficiently manage the bandwidth by judging the situation caused by congestion and the loss due to bit error while preventing waste of data.
또한, 본 발명은 게이트웨이가 전체 단말의 세션을 통합적으로 관리함으로써 전체 단말의 세션에 대하여 공평하게 관리할 수 있다.In addition, according to the present invention, the gateway can manage the sessions of all terminals in an integrated manner.
또한, 본 발명은 게이트웨이가 모든 혼잡 제어에 관한 기능을 수행하므로 단말은 데이터를 수신하고 Ack 벡터를 포함하는 응답 메시지를 전송하는 단순한 기능만을 가진 전송계층 프로토콜 스택을 가짐으로써, 전체적인 단말의 부담을 감소시켜 단말의 성능을 향상시킬 수 있다.In addition, in the present invention, since the gateway performs all congestion control functions, the terminal has a transport layer protocol stack having only a simple function of receiving data and transmitting a response message including an Ack vector, thereby reducing the overall burden on the terminal. The performance of the terminal can be improved.
Claims (9)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050071403A KR100672979B1 (en) | 2005-08-04 | 2005-08-04 | Congestion control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050071403A KR100672979B1 (en) | 2005-08-04 | 2005-08-04 | Congestion control method |
Publications (1)
Publication Number | Publication Date |
---|---|
KR100672979B1 true KR100672979B1 (en) | 2007-01-22 |
Family
ID=38014538
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020050071403A KR100672979B1 (en) | 2005-08-04 | 2005-08-04 | Congestion control method |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100672979B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101334990B1 (en) * | 2012-03-06 | 2013-12-02 | 서강대학교산학협력단 | Congestion window control method in Transmission Control Protocol |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20010058119A (en) * | 1999-12-24 | 2001-07-05 | 이계철 | Congestion control method of TCP Vegas |
WO2001097438A2 (en) | 2000-06-14 | 2001-12-20 | Nokia Inc. | Performance enhancement of transmission control protocol (tcp) for wireless network applications |
KR20020093543A (en) * | 2001-06-09 | 2002-12-16 | 주식회사 하이닉스반도체 | Method for controling multi-packet loss |
US6646987B1 (en) | 1998-10-05 | 2003-11-11 | Nortel Networks Limited | Method and system for transmission control protocol (TCP) packet loss recovery over a wireless link |
KR20040027176A (en) * | 2002-09-27 | 2004-04-01 | 주식회사 케이티 | congestion control method over wireless link |
KR20050111194A (en) * | 2004-05-21 | 2005-11-24 | 삼성전자주식회사 | Method for transmitting data in mobile ad hoc network and network apparatus using the same |
-
2005
- 2005-08-04 KR KR1020050071403A patent/KR100672979B1/en not_active IP Right Cessation
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6646987B1 (en) | 1998-10-05 | 2003-11-11 | Nortel Networks Limited | Method and system for transmission control protocol (TCP) packet loss recovery over a wireless link |
KR20010058119A (en) * | 1999-12-24 | 2001-07-05 | 이계철 | Congestion control method of TCP Vegas |
WO2001097438A2 (en) | 2000-06-14 | 2001-12-20 | Nokia Inc. | Performance enhancement of transmission control protocol (tcp) for wireless network applications |
KR20020093543A (en) * | 2001-06-09 | 2002-12-16 | 주식회사 하이닉스반도체 | Method for controling multi-packet loss |
KR20040027176A (en) * | 2002-09-27 | 2004-04-01 | 주식회사 케이티 | congestion control method over wireless link |
KR20050111194A (en) * | 2004-05-21 | 2005-11-24 | 삼성전자주식회사 | Method for transmitting data in mobile ad hoc network and network apparatus using the same |
Non-Patent Citations (1)
Title |
---|
1020010058119 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101334990B1 (en) * | 2012-03-06 | 2013-12-02 | 서강대학교산학협력단 | Congestion window control method in Transmission Control Protocol |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6646987B1 (en) | Method and system for transmission control protocol (TCP) packet loss recovery over a wireless link | |
CN107508655B (en) | Self-adaptive end-to-end network coding transmission method | |
US7706269B2 (en) | Method, system and device for controlling a transmission window size | |
EP2979514B1 (en) | Transmission control protocol in long term evolution radio access network | |
KR100526187B1 (en) | Method of obtaining the optimum rate control in mobile ad hoc network circumstance | |
JP4878391B2 (en) | Scheduling and queue management with adaptive queue latency | |
CN101854738B (en) | Transmission control protocol method for satellite network | |
US7821924B2 (en) | Method and apparatus for timeout reduction and improved wireless network performance by delay injection | |
EP1653678A2 (en) | TCP flow controlling method in high-speed mobile communications network | |
US20050002412A1 (en) | Method and system of retransmission | |
US20220295340A1 (en) | Video pacing based on radio conditions | |
CN108111434A (en) | A kind of aeronautical Ad hoc networks method for reliable transmission based on reliable UDP and fountain codes | |
KR20170097129A (en) | Data transmission method and apparatus | |
US10524175B2 (en) | Data transmission method and network device | |
CN106471847B (en) | Method and apparatus for communicating data communication sessions between radio access networks | |
Najm et al. | Improvement of SCTP congestion control in the LTE-A network | |
KR100672979B1 (en) | Congestion control method | |
RU2340119C2 (en) | Method of adjusting transmit window size on radio channel control level | |
CN117676695A (en) | TCP transmission method, device and system | |
JP2011155406A (en) | Transmitter, transmission method and program | |
CN113347681B (en) | Data transmission method and device, storage medium and electronic device | |
CN113424578B (en) | Acceleration method and device for transmission control protocol | |
Hsieh et al. | Transport over wireless networks | |
US7154850B1 (en) | Wireless data transmission using time out control | |
KR20080044797A (en) | Methods and apparatus for optimizing a tcp session for a wireless network |
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 | ||
FPAY | Annual fee payment |
Payment date: 20110104 Year of fee payment: 5 |
|
LAPS | Lapse due to unpaid annual fee |