KR20040027176A - 무선 환경에서의 혼잡제어방법 및 기록매체 - Google Patents
무선 환경에서의 혼잡제어방법 및 기록매체 Download PDFInfo
- Publication number
- KR20040027176A KR20040027176A KR1020020058946A KR20020058946A KR20040027176A KR 20040027176 A KR20040027176 A KR 20040027176A KR 1020020058946 A KR1020020058946 A KR 1020020058946A KR 20020058946 A KR20020058946 A KR 20020058946A KR 20040027176 A KR20040027176 A KR 20040027176A
- Authority
- KR
- South Korea
- Prior art keywords
- packet
- congestion window
- congestion
- mode
- bandwidth
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 57
- 238000011084 recovery Methods 0.000 claims description 38
- 230000005540 biological transmission Effects 0.000 abstract description 8
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000015556 catabolic process Effects 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000005562 fading Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/0289—Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
-
- 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
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/04—Error control
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
본 발명은 무선 환경에서 에러가 발생할 때 손실된 패킷 개수와 계산된 대역폭을 이용하여 혼잡 윈도우 크기를 조절하여 TCP 성능을 향상하기 위한 혼잡제어방법에 관한 것이다.
무선망 환경은 유선망 환경과는 달리, 경로손실, 페이딩, 노이즈 간섭, 핸드오프 등으로 높은 BER과 간헐적인 연결두절이 발생한다. 유선망 환경에서 제안된 TCP 혼잡제어방법을 무선망 환경에 그대로 사용하면, 무선 링크에서 전송에러로 인해 패킷 손실이 발생하더라도 혼잡제어로 인한 패킷 손실로 인식하고 혼잡제어를 하게 된다. 이는 불필요한 동작일 뿐만 아니라 상당한 성능 저하를 초래하는 문제점이 있다. 본 발명은 패킷 손실이 발생하였을 때, 손실된 패킷수와 대역폭을 사용하여 혼잡 윈도우와 그의 임계치를 조절함으로써, 가용 대역폭까지 빠른 시간내에 도달할 수 있고, 유연하게 혼잡 윈도우의 크기를 설정할 수 있는 효과가 있다.
Description
본 발명은 무선 환경에서 에러가 발생할 때 손실된 패킷 개수와 계산된 대역폭을 이용하여 혼잡 윈도우 크기를 조절하여 TCP 성능을 향상하기 위한 혼잡제어방법에 관한 것이다. 또한, 본 발명은 컴퓨터에 혼잡제어방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것이기도 하다.
기존의 전송제어프로토콜(TCP : transmission control protocol)은 유한한 네트워크 자원을 효율적으로 공유하기 위하여 혼잡제어방법을 사용한다. 이 혼잡제어방법은 느린 시작(Slow Start)모드, 혼잡 회피(Congestion Avoidance)모드, 빠른 재전송(Fast Retransmission)모드, 빠른 회복(Fast Recovery)모드로 이루어진다. 이러한 모드들은 TCP Tahoe, TCP Reno, TCP Newreno 등과 같은 혼잡제어방법을 구성한다.
그 중, TCP Tahoe 혼잡제어방법은 느린 시작(slow start)모드와 혼잡 회피(congestion Avoidance)모드와 빠른 재전송(Fast retransmission)모드로 이루어진다. 느린 시작(Slow Start)모드는 TCP 연결이 설정된 후 처음 패킷을 보내기 시작할 때 수행되는 것으로서, 긍정응답(이하, ACK라고 한다)을 수신할 때마다 송신 패킷의 크기를 지수적으로 증가시킨다. 즉, 송신측은 패킷의 일 회 왕복시간(RTT : Round Trip Time)마다 수신측으로부터의 ACK를 수신하면 혼잡 윈도우(CWND : Congesion WiNDow) 크기만큼의 패킷을 전송하는데, 느린 시작모드에서는 ACK가 수신될 때마다 이 혼잡 윈도우(CWND)를 지수적으로 증가시킴으로써 전송 가능한 패킷량도 지수적으로 증가시킨다. 느린 시작모드에서 이 CWND는 패킷 손실이 인식되거나 임계치에 도달할 때까지 점차 증가한다. 이 느린 시작모드에서의 CWND 임계치를 SSTHRESH(slow-start threshold)라고 한다. 여기서, RTT는 한 패킷의 왕복시간을 의미한다.
느린 시작모드에서 CWND가 SSTHRESH에 다다르면 혼잡 회피(Congestion Avoidance)모드가 수행된다. 혼잡 회피모드는 ACK 수신시마다 CWND의 크기를 선형적으로 증가(즉, 한 패킷의 왕복시간(RTT)동안 CWND는 1씩 증가)시키는 방식으로서, 이때 SSTHRESH는 최대 윈도우 크기로 설정한다. 혼잡 회피(Congestion Avoidance)모드에서 CWND는 패킷 손실이 감지될 때까지 계속 증가된다. 패킷 손실은 병목 게이트웨이의 큐 오버플로우에 의해 발생되는데, 송신측은 3개의 중복 ACK가 발생되거나 재전송 타임아웃이 발생하면 패킷 손실이 발생한 것으로 인지한다. 패킷 손실이 감지되면 송신측은 SSTHRESH 값을 현 CWND 크기의 반으로 설정하고, 빠른 재전송(Fast Retransmission)모드를 수행한 후 느린 시작(Slow Start)모드부터 다시 시작한다.
즉, 송신측에 3개의 중복 ACK가 발생하면, 송신측은 패킷 손실로 판단하고 빠른 재전송(Fast Retransmission)모드를 수행하여 손실 패킷을 재전송한다. 이렇게 3개의 중복 ACK가 발생한 것을 패킷 손실로 인식하는 방법은 재전송 타임아웃에 의해 감지하는 것보다 빨리 패킷 손실을 감지할 수 있다. 송신측은 3개의 중복 ACK가 발생하면 패킷 손실을 감지하고 재전송 타임아웃 시간까지 기다리지 않고 손실 패킷을 수신측에게 재전송한다.
패킷 재전송 후 빠른 재전송모드에서 느린 시작모드로 전환되는데, 앞서 설명한 바와 같이 느린 시작모드에서 CWND는 1로 초기화된 후 RTT마다 지수적으로 증가한다.
다음, TCP Reno 혼잡제어방법은 TCP Tahoe에서 발전된 방법으로서, 기존의 TCP Tahoe 혼잡제어방법인 느린 시작모드, 혼잡 회피모드, 빠른 재전송모드에 빠른 회복(Fast Recovery)모드를 추가 적용한 방법이다.
TCP Reno의 혼잡제어방법은 느린 시작모드에서는 CWND를 지수적으로 증가시키고 혼잡 회피모드에서는 CWND를 선형적으로 증가시키는 것까지는 앞서 설명한 TCP Tahoe와 동일하다. 그러나, 패킷 손실을 인식할 경우 재전송 타임아웃으로부터 패킷 손실을 인식한 것과, 3개의 중복 ACK 수신으로부터 패킷 손실을 인식한 것을 다르게 처리한다. 즉, 재전송 타임아웃에 의해 패킷 손실을 인식했을 경우에는 빠른 재전송모드를 거쳐 느린 시작모드부터 다시 시작한다. 그러나, 3개의 중복 ACK 수신에 의해 패킷 손실을 인식한 경우에는 빠른 재전송모드를 거쳐 빠른 회복모드를 수행한 후 혼잡 회피모드로 되돌아간다.
빠른 회복(Fast Recovery)모드는 패킷 손실을 감지했을 때 손실 패킷을 재전송한 후 윈도우의 평형상태에 최대한 빨리 도달하기 위한 방안으로서, CWND를 최대한 빨리 패킷 손실 이전의 윈도우 크기 상태로 복구하고자 하는 것이다. 3개의 중복 ACK가 수신되면 송신측은 빠른 재전송모드를 수행하여, SSTHRESH값을 현 CWND의 반으로 설정하고 CWND는 1로 설정한 후 손실 패킷을 재전송한다. 손실 패킷을 재전송한 다음에 송신측은 빠른 회복모드를 수행한다.
빠른 회복모드에서 송신측은 CWND를 SSTHRESH+3으로 설정하고 중복 ACK 수신시마다 1씩 증가시킨다. 연속된 중복 ACK에 의해 CWND가 증가하여 손실 직전의 CWND 크기를 초과하면 송신측은 그 양만큼의 패킷 전송이 가능하다. 이때, 재전송한 패킷의 ACK가 수신되면 CWND를 SSTHRESH값으로 설정하고 혼잡 회피(Congestion Avoidance)모드로 되돌아간다.
다음, TCP Newreno 혼잡제어방법은 한 CWND 안에서 여러 개의 패킷 손실이발생할 경우 재전송 타임아웃에 의해 패킷을 재전송하는 TCP Reno방식의 단점을 보완한 방식이다. TCP Newreno 방식에서는 파셜 ACK(Partial ACK)을 이용하여 빠른 회복모드의 종료 여부를 결정한다. 파셜 ACK는 손실된 패킷을 재전송하기 전에 마지막으로 전송한 패킷의 시퀀스보다 작은 시퀀스를 갖는 패킷의 ACK를 말한다. TCP는 누적(Cumulative) ACK를 사용하기 때문에 수신자가 재전송된 손실 패킷을 수신하면 지금까지 순서대로 받은 시퀀스 중 가장 높은 시퀀스를 갖는 패킷에 대한 ACK를 송신측에게 전송한다. 따라서, 송신자는 자신이 재전송 전에 보냈던 마지막 시퀀스보다 더 작은 시퀀스를 갖는 패킷의 ACK를 수신한다면 또 다른 패킷에 손실이 발생한 것을 알 수 있다. TCP Newreno 방식은 이러한 파셜 ACK를 수신하면 빠른 회복모드를 종료하지 않고 손실된 패킷을 바로 재전송한다. 그리고, 한 CWND안에 손실된 모든 패킷에 대한 복구가 완료가 되면 빠른 회복모드를 종료한다.
이와 같은 현재의 TCP의 혼잡제어방법은 모든 패킷 손실을 혼잡으로 인한 것으로 가정하고 혼잡을 해소하기 위한 필요한 조치들을 수행하여 패킷 손실과 종단간의 지연에 잘 대처하여 유선망에서 최적의 성능을 나타낼 수 있도록 개선되어 왔다.
이러한 종래의 혼잡제어방법은 고정된 호스트로 구성된 전통적인 유선망에는 적합하다. 그러나, 경로 손실, 페이딩, 노이즈, 간섭, 핸드오프 등으로 높은 BER과 간헐적인 연결두절 등의 특징을 가진 무선망에서는 혼잡 손실뿐만 아니라 전송 에러로 인한 패킷이 손실될 수도 있다. 이러한 무선망에 기존의 TCP 혼잡제어방법을 그대로 적용할 경우 전송에러에 의한 패킷 손실들도 모두 혼잡 손실로 인식하고혼잡제어를 할 것이며, 이것은 매우 불필요한 동작일 뿐만 아니라 상당한 성능 저하를 초래하는 문제점이 있다.
본 발명은 종래기술의 문제점을 해결하기 위한 것으로, 무선 환경에서 패킷 손실이 발생하면 손실된 패킷수와 대역폭 정보을 사용하여 혼잡 윈도우(CWND)의 크기를 조절하여, 전송 에러로 인한 패킷 손실시 CWND의 크기가 과도하게 줄어들지 않도록 하는 무선망에서의 혼잡제어방법을 제공하는 데 그 목적이 있다.
도 1은 본 발명에 따른 무선 환경에서의 혼잡제어방법을 도시한 동작 흐름도,
도 2는 본 발명에 따른 무선 환경에서의 혼잡제어방법과 종래기술에 따른 혼잡제어방법을 비교하기 위하여 도시한 그래프,
도 3a는 종래의 Newreno 혼잡제어방법을 적용할 경우, 혼잡 윈도우의 크기의 변화를 도시한 그래프,
도 3b는 본 발명에 따른 무선 환경에서의 혼잡제어방법을 적용할 경우, 혼잡 윈도우의 크기의 변화를 도시한 그래프이다.
상기한 목적을 달성하기 위한 본 발명에 따른 무선 환경에서의 혼잡제어방법은, 송신측이 혼잡 윈도우 크기만큼의 패킷을 전송하고 상기 전송한 패킷에 대한 긍정응답이 수신되면, 상기 혼잡 윈도우의 크기를 지수적으로 증가시키는 느린 시작모드 수행단계와;
상기 느린 시작모드 수행단계에서 상기 혼잡 윈도우가 임계치 이하이면 상기 느린 시작모드 수행단계를 반복 수행하고, 상기 혼잡 윈도우가 임계치보다 커지면 현재 여유 대역폭을 관측하는 대역폭 관측단계와;
상기 대역폭 관측단계에서 상기 여유 대역폭이 0보다 크면 상기 여유 대역폭을 반영하여 상기 혼잡 윈도우의 임계치를 재설정한 후 상기 느린 시작모드 수행단계로 되돌아가고, 상기 대역폭 관측단계에서 상기 여유 대역폭이 0보다 크지 않으면 혼잡 회피모드를 수행하는 느린 시작모드 피드백단계를 포함하는 것을 특징으로 한다.
또한 본 발명에 따른 무선 환경에서의 혼잡제어방법은,
송신측이 혼잡 윈도우 크기만큼의 패킷을 전송하는 도중에 3개의 중복 ACK가 수신되어 패킷 손실이 감지되면, 손실된 패킷을 재전송하고, 상기 혼잡 윈도우의 임계치를 대역폭과 패킷의 최소 왕복시간을 곱한 값으로 재설정하고, 상기 혼잡 윈도우를 현재 혼잡 윈도우 또는 수신측 윈도우 중 작은 값의 절반으로 재설정하는 빠른 재전송모드 수행단계와;
상기 재전송한 손실 패킷에 대해 중복 ACK가 수신될 때마다 상기 혼잡 윈도우의 크기를 선형적으로 증가시키면서 새로운 데이터 패킷을 전송하는 빠른 회복모드 수행단계와;
상기 빠른 회복모드 수행단계를 진행하는 도중에 파셜 ACK가 수신되면, 손실 패킷을 재전송하고 손실 패킷의 개수를 계산하는 손실 패킷수 계산단계와;
상기 빠른 회복모드 수행단계를 진행하는 도중에 상기 새로운 데이터 패킷에 대한 ACK가 수신되면, 빠른 회복모드를 종료하고, 패킷 손실이 발생하기 전의 혼잡 윈도우에서 상기 손실 패킷의 개수를 감산한 값과 상기 패킷 손실이 발생하기 전의 혼잡 윈도우의 1/2값 중 하나를 혼잡 윈도우로 설정한 후 상기 느린 시작모드를 수행하는 혼잡제어 종료단계를 포함하는 것을 특징으로 한다.
또한, 본 발명에 따르면 컴퓨터에 상술한 바와 같은 무선 환경에서의 혼잡제어방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체가 제공된다.
이하, 첨부된 도면을 참조하면서 본 발명에 따른 "무선 환경에서의 혼잡제어방법"의 바람직한 실시예를 설명하면 다음과 같다.
본 발명에 따른 혼잡제어방법은 종래의 유선망에 적용되는 TCP Newreno 혼잡제어방법을 무선 환경에 맞춰 변형한 방법이다. 이 본 발명에 따른 무선 환경에서의 혼잡제어방법은 느린 시작(Slow Start)모드, 혼잡 회피(Congestion Avoidance)모드, 빠른 재전송(Fast Retransmit)모드, 빠른 회복(Fast Recovery)모드로 이루어진다.
도 1은 본 발명의 한 실시예에 따른 무선 환경에서의 혼잡제어방법을 도시한 동작 흐름도이다. 먼저, 송신측은 느린 시작모드를 수행하는데(S101), 느린 시작모드에서에서는 혼잡 윈도우(CWND)가 임계치(SSTHRESH)가 될 때까지 혼잡 윈도우(CWND)를 지수적으로 증가시키면서 대역폭을 관측한다. 본 발명에 따른 혼잡제어방법은, 전송율이 송신단과 수신단간의 실제 가용 대역폭과 같은 상황에서 동작한다고 가정한다.
혼잡 윈도우(CWND)의 크기가 임계치보다 커지고(CWND > SSTHRESH)(S102), 대역폭(S_BWE)과 패킷의 최소 왕복시간(RTTmin)을 곱한 값보다는 작으면(CWND < S_BWE*RTTmin)(S103), 수학식 1과 같이 혼잡 윈도우의 임계치(SSTHRESHnew)를 새롭게 갱신한다(S104).
여기서, 패킷의 최소 왕복시간(RTTmin)이란 TCP 연결이 확립된 후 기록된 가장 작은 패킷의 왕복시간(RTT)을 의미하고, S_BWE는 대역폭을 의미한다.
현재 혼잡 윈도우(CWND)의 크기보다 큰 새로운 혼잡 윈도우의 임계치(SSTHRESH)가 구해지면, 느린 시작모드를 지속적으로 수행하여 혼잡 윈도우의 크기가 새로운 임계치에 도달할 때까지 패킷의 왕복시간(RTT)마다 혼잡 윈도우의 크기를 지수적으로 증가시킨다.
한편, 느린 시작모드에서 혼잡 윈도우의 크기가 임계치보다 커지더라도, 혼잡 윈도우의 크기가 대역폭(S_BWE)과 패킷의 최소 왕복시간(RTTmin)의 곱보다 작지 않으면, 혼잡 회피모드를 수행하여 혼잡 윈도우의 크기를 패킷의 왕복시간(RTT)마다 1씩 선형적으로 증가시킨다(S105).
혼잡 회피모드에서 패킷 손실이 발생하고(S106), 해당 패킷 손실이 3개의 중복 ACK 수신으로 감지한 것이 아니라 재전송 타임아웃으로부터 발생한 것이면(S107), 빠른 재전송모드를 거쳐(S108) 느린 시작모드부터 다시 시작한다. 이는 종래의 혼잡제어방법과 동일하다. 한편, 혼잡 회피모드에서 패킷 손실이 발생하고(S106), 해당 패킷 손실이 3개의 중복 ACK 수신에 의해 발생한 것이면(S107), 빠른 재전송모드를 거쳐 빠른 회복모드를 수행한 후 느린 시작모드로 되돌아간다.
3개의 중복 ACK 수신으로 패킷 손실을 감지한 것이면(S107), 빠른 재전송모드를 수행하는데, 손실 패킷을 재전송하고 이미 전송된 가장 높은 값의 시퀀스(maxseq) 번호를 변수 recover에 저장하며, 혼잡 윈도우 임계치(SSTHRESH)를 대역폭과 패킷 왕복시간의 최소값(RTTmin)의 곱으로 설정하고, 혼잡 윈도우(CWND)의 크기는 현재 CWND의 크기와 수신측 윈도우 중 작은 값의 절반으로 설정한다.이 변수 recover는 추후에 손실된 패킷의 개수를 계산할 때 사용된다. 그리고, 현재 CWND의 크기와 수신측 윈도우 중 작은 값을 변수 last_cwnd에 저장한다(S109). 이 last_cwnd는 패킷 손실이 발생하기 전의 혼잡 윈도우의 크기이며, 추후 손실된 패킷을 모두 전송한 후 혼잡 윈도우(CWND)의 크기를 재설정할 때 사용된다.
다음, 중복 ACK가 수신되는 지를 감지하여(S110), 중복 ACK가 수신되지 않으면 재전송 타임아웃이 발생하는 지를 감지한다(S111). 재전송 타임아웃이 될 때까지 중복 ACK가 수신되지 않으면, 현재 CWND를 1로 설정하고, 혼잡 윈도우 임계치(SSTHRESH)를 대역폭(S_BWE)과 패킷의 최소 왕복시간(RTTmin)을 곱한 값으로 설정한(S114) 후 단계 S101로 되돌아간다.
한편, 재전송 타임아웃이 발생하기 전까지 중복 ACK가 수신되면, 빠른 회복모드를 수행하는데, 혼잡 윈도우의 크기(CWND)를 1 증가시키고 새로운 데이터 패킷을 전송한다(S112). 이 빠른 회복모드는 파셜 ACK가 수신될 때까지 지속된다.
한편, 파셜 ACK가 수신되면(S113) 손실 패킷을 재전송하고 손실된 패킷의 개수를 아래의 수학식 2와 같이 계산한다(S115).
여기서, num_lost_pkt는 손실된 패킷의 개수, recover는 이미 전송된 가장 높은 값의 시퀀스 번호, dupACKs는 중복 ACK의 개수, last_ack는 송신측에서 마지막으로 받은 ACK 번호이다.
다음, 새로운 ACK가 수신되면(S116), 혼잡이 발생하기 전 최종윈도우(last_cwnd)에서 손실 패킷수(num_lost_pkt)를 뺀 값을 임시값(temp_cwnd)으로 저장하고, 현재 혼잡 윈도우의 크기(CWND)를 최종 윈도우(last_cwnd)의 절반 또는 임시값(temp_cwnd) 중 큰 값으로 설정한(S117) 후 단계 S101의 느린 시작모드를 수행한다.
본 발명에 따르면 도 2에 도시된 바와 같이 느린 시작모드에서 혼잡회피모드로 진행할 때, 그 대역폭을 관측하고 그 대역폭이 가용하면, 혼잡 윈도우의 크기의 임계치(SSTHRESH)를 재계산하여 주기적으로 증가시킴으로써, 혼잡 윈도우의 크기를 빠른 시간내에 가용 대역폭까지 증가시킬 수 있다.
도 3은 한 윈도우에서 두 개의 패킷이 손실된 경우, TCP Newreno 혼잡제어방식과 본 발명에 따른 무선 환경에서의 혼잡제어방식의 혼잡 윈도우의 크기 변화를 비교한 그래프이다. 두 혼잡제어방식의 차이점은 파셜 ACK를 수신하고 빠른 회복모드를 벗어나면서 발생하는데, 종래의 TCP Newreno 혼잡제어방식은 빠른 회복모드를 벗어날 때, 혼잡 윈도우의 크기를 임계치(SSTHRESH)로 설정한 후 혼잡 회피모드롤 수행하여 혼잡 윈도우를 RTT마다 1씩 증가시킨다. 한편, 본 발명에 따른 무선 환경에서의 혼잡제어방법은 빠른 회복모드를 벗어날 때, CWND를 최종 윈도우의 반 값 또는 최종 윈도우에서 손실 패킷수를 뺀 값 중 더 큰 값으로 설정한 후, 느린 시작모드를 수행함으로써, 혼잡 윈도우를 RTT마다 지수적으로 증가시킨다. 그리고, 본 발명에 따른 무선 환경에서의 혼잡제어방법은 지속으로 대역폭을 감시하여 그 대역폭에 따라 혼잡 윈도우의 임계치(SSTHRESH)를 증가시킨다.
이러한 본 발명에 따르면 한 혼잡 윈도우(CWND) 안에서 다수 개의 패킷 손실이 발생하는 경우에도 타임아웃없이 복구할 수 있으며, 가용한 대역폭까지 빠른 시간 내에 도달할 수 있는 장점이 있다.
위에서 양호한 실시예에 근거하여 이 발명을 설명하였지만, 이러한 실시예는 이 발명을 제한하려는 것이 아니라 예시하려는 것이다. 이 발명이 속하는 분야의 숙련자에게는 이 발명의 기술사상을 벗어남이 없이 위 실시예에 대한 다양한 변화나 변경 또는 조절이 가능함이 자명할 것이다. 그러므로, 이 발명의 보호범위는 첨부된 청구범위에 의해서만 한정될 것이며, 위와 같은 변화예나 변경예 또는 조절예를 모두 포함하는 것으로 해석되어야 할 것이다.
이상과 같이 본 발명에 따르면, 무선 링크에서 전송 에러로 인하여 패킷 손실이 발생할 때, 대역폭과 손실 패킷의 개수를 이용하여 혼잡 윈도우의 임계치와 혼잡 윈도우의 크기를 계산함으로써, 혼잡 윈도우의 크기가 가용 대역폭까지 빠른 시간내에 도달하고, 링크의 상태에 따라 혼잡 윈도우의 크기를 유연하게 설정할 수 있는 효과가 있다.
Claims (8)
- 송신측이 패킷을 전송하면서 수행하며, 느린 시작모드와 혼잡 회피모드와 빠른 재전송모드와 빠른 회복모드를 포함하는 혼잡제어방법에 있어서,송신측이 혼잡 윈도우 크기만큼의 패킷을 전송하고 상기 전송한 패킷에 대한 긍정응답이 수신되면, 상기 혼잡 윈도우의 크기를 지수적으로 증가시키는 느린 시작모드 수행단계와;상기 느린 시작모드 수행단계에서 상기 혼잡 윈도우가 임계치 이하이면 상기 느린 시작모드 수행단계를 반복 수행하고, 상기 혼잡 윈도우가 임계치보다 커지면 현재 여유 대역폭을 관측하는 대역폭 관측단계와;상기 대역폭 관측단계에서 상기 여유 대역폭이 0보다 크면 상기 여유 대역폭을 반영하여 상기 혼잡 윈도우의 임계치를 재설정한 후 상기 느린 시작모드 수행단계로 되돌아가고, 상기 대역폭 관측단계에서 상기 여유 대역폭이 0보다 크지 않으면 상기 혼잡 회피모드를 수행하는 느린 시작모드 피드백단계를 포함하는 것을 특징으로 하는 무선 환경에서의 혼잡제어방법.
- 제 1 항에 있어서, 상기 대역폭 관측단계에서 상기 여유 대역폭은,현재 대역폭과 패킷의 최소 왕복시간을 곱한 값에서, 상기 혼잡 윈도우를 감산한 값인 것을 특징으로 하는 무선 환경에서의 혼잡제어방법.
- 제 2 항에 있어서, 상기 느린 시작모드 피드백단계에서 상기 혼잡 윈도우의 임계치를 아래의 수식에 의해 재설정하는 것을 특징으로 하는 무선 환경에서의 혼잡제어방법.〔수식〕여기서, SSTHRESHnew는 혼잡 윈도우의 임계치의 재설정값, SSTHRESH는 혼잡 윈도우의 임계치, S_BWE는 현재 대역폭, RTTmin은 패킷의 최소 왕복시간으로서, TCP 연결이 확립된 후 기록된 패킷의 왕복시간 중 최소값을 의미한다.
- 제 1 항에 있어서, 상기 느린 시작모드 피드백단계 이후,상기 송신측이 상기 혼잡 회피모드를 수행하여 혼잡 윈도우 크기만큼의 패킷을 전송하는 도중에 3개의 중복 ACK가 수신되어 패킷 손실이 감지되면, 손실된 패킷을 재전송하고, 상기 혼잡 윈도우의 임계치를 대역폭과 패킷의 최소 왕복시간을 곱한 값으로 재설정하고, 상기 혼잡 윈도우를 현재 혼잡 윈도우 또는 수신측 윈도우 중 작은 값의 절반으로 재설정하는 빠른 재전송모드 수행단계와;상기 재전송한 손실 패킷에 대해 중복 ACK가 수신될 때마다 상기 혼잡 윈도우의 크기를 선형적으로 증가시키면서 새로운 데이터 패킷을 전송하는 빠른 회복모드 수행단계와;상기 빠른 회복모드 수행단계를 진행하는 도중에 파셜 ACK가 수신되면, 손실 패킷을 재전송하고 손실 패킷의 개수를 계산하는 손실 패킷수 계산단계와;상기 빠른 회복모드 수행단계를 진행하는 도중에 상기 새로운 데이터 패킷에 대한 ACK가 수신되면, 빠른 회복모드를 종료하고, 패킷 손실이 발생하기 전의 혼잡 윈도우에서 상기 손실 패킷의 개수를 감산한 값과 상기 패킷 손실이 발생하기 전의 혼잡 윈도우의 1/2값 중 하나를 혼잡 윈도우로 설정한 후 상기 느린 시작모드 수행단계로 되돌아가는 혼잡제어 종료단계를 더 포함하는 것을 특징으로 하는 무선 환경에서의 혼잡제어방법.
- 송신측이 패킷을 전송하면서 수행하며 느린 시작모드와 빠른 재전송모드와 빠른 회복모드를 포함하는 혼잡제어방법에 있어서,송신측이 혼잡 윈도우 크기만큼의 패킷을 전송하는 도중에 3개의 중복 ACK가 수신되어 패킷 손실이 감지되면, 손실된 패킷을 재전송하고, 상기 혼잡 윈도우의 임계치를 대역폭과 패킷의 최소 왕복시간을 곱한 값으로 재설정하고, 상기 혼잡 윈도우를 현재 혼잡 윈도우 또는 수신측 윈도우 중 작은 값의 절반으로 재설정하는 빠른 재전송모드 수행단계와;상기 재전송한 손실 패킷에 대해 중복 ACK가 수신될 때마다 상기 혼잡 윈도우의 크기를 선형적으로 증가시키면서 새로운 데이터 패킷을 전송하는 빠른 회복모드 수행단계와;상기 빠른 회복모드 수행단계를 진행하는 도중에 파셜 ACK가 수신되면, 손실 패킷을 재전송하고 손실 패킷의 개수를 계산하는 손실 패킷수 계산단계와;상기 빠른 회복모드 수행단계를 진행하는 도중에 상기 새로운 데이터 패킷에대한 ACK가 수신되면, 빠른 회복모드를 종료하고, 패킷 손실이 발생하기 전의 혼잡 윈도우에서 상기 손실 패킷의 개수를 감산한 값과 상기 패킷 손실이 발생하기 전의 혼잡 윈도우의 1/2값 중 하나를 혼잡 윈도우로 설정한 후 상기 느린 시작모드를 수행하는 혼잡제어 종료단계를 포함하는 것을 특징으로 하는 무선 환경에서의 혼잡제어방법.
- 제 4 항 또는 제 5 항에 있어서, 상기 손실 패킷수 계산단계에서 상기 손실 패킷의 개수는, 패킷 손실이 발생하기 전에 전송된 패킷의 가장 높은 시퀀스 번호에서, 상기 중복 ACK의 개수와 마지막으로 수신한 ACK 번호를 감산하여 구하는 것을 특징으로 하는 무선 환경에서의 혼잡제어방법.
- 제 4 항 또는 제 5 항에 있어서, 상기 빠른 재전송모드 또는 빠른 회복모드를 수행하는 도중에 재전송 타임아웃이 발생하면, 상기 혼잡 윈도우를 1로 설정하고, 상기 혼잡 윈도우의 임계치를 대역폭과 패킷의 최소 왕복시간의 곱으로 설정한 후 상기 느린 시작모드 수행단계로 되돌아가는 타임아웃 처리단계를 포함하는 것을 특징으로 하는 무선 환경에서의 혼잡제어방법.
- 컴퓨터에,혼잡 윈도우 크기만큼의 패킷을 전송하고 상기 전송한 패킷에 대한 긍정응답이 수신되면, 상기 혼잡 윈도우의 크기를 지수적으로 증가시키는 느린 시작모드 수행단계와;상기 느린 시작모드 수행단계에서 상기 혼잡 윈도우가 임계치 이하이면 상기 느린 시작모드 수행단계를 반복 수행하고, 상기 혼잡 윈도우가 임계치보다 커지면 현재 여유 대역폭을 관측하는 대역폭 관측단계와;상기 대역폭 관측단계에서 상기 여유 대역폭이 0보다 크면 상기 여유 대역폭을 반영하여 상기 혼잡 윈도우의 임계치를 재설정한 후 상기 느린 시작모드 수행단계로 되돌아가고, 상기 대역폭 관측단계에서 상기 여유 대역폭이 0보다 크지 않으면 혼잡 회피모드를 수행하는 느린 시작모드 피드백단계와;상기 혼잡 회피모드에서 혼잡 윈도우 크기만큼의 패킷을 전송하는 도중에 3개의 중복 ACK가 수신되어 패킷 손실이 감지되면, 손실된 패킷을 재전송하고, 상기 혼잡 윈도우의 임계치를 대역폭과 패킷의 최소 왕복시간을 곱한 값으로 재설정하고, 상기 혼잡 윈도우를 현재 혼잡 윈도우 또는 수신측 윈도우 중 작은 값의 절반으로 재설정하는 빠른 재전송모드 수행단계와;상기 재전송한 손실 패킷에 대해 중복 ACK가 수신될 때마다 상기 혼잡 윈도우의 크기를 선형적으로 증가시키면서 새로운 데이터 패킷을 전송하는 빠른 회복모드 수행단계와;상기 빠른 회복모드 수행단계를 진행하는 도중에 파셜 ACK가 수신되면, 손실 패킷을 재전송하고 손실 패킷의 개수를 계산하는 손실 패킷수 계산단계와;상기 빠른 회복모드 수행단계를 진행하는 도중에 상기 새로운 데이터 패킷에 대한 ACK가 수신되면, 빠른 회복모드를 종료하고, 패킷 손실이 발생하기 전의 혼잡윈도우에서 상기 손실 패킷의 개수를 감산한 값과 상기 패킷 손실이 발생하기 전의 혼잡 윈도우의 1/2값 중 하나를 혼잡 윈도우로 설정한 후 상기 느린 시작모드 수행단계로 진행하는 혼잡제어 종료단계를 포함하는 혼잡제어방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020020058946A KR100912178B1 (ko) | 2002-09-27 | 2002-09-27 | 무선 환경에서의 혼잡제어방법 및 기록매체 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020020058946A KR100912178B1 (ko) | 2002-09-27 | 2002-09-27 | 무선 환경에서의 혼잡제어방법 및 기록매체 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20040027176A true KR20040027176A (ko) | 2004-04-01 |
KR100912178B1 KR100912178B1 (ko) | 2009-08-14 |
Family
ID=37329768
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020020058946A KR100912178B1 (ko) | 2002-09-27 | 2002-09-27 | 무선 환경에서의 혼잡제어방법 및 기록매체 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100912178B1 (ko) |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100529931B1 (ko) * | 2003-12-09 | 2005-11-22 | 엘지전자 주식회사 | 무선 네트워크망을 통해 통신하는 서버 시스템 |
KR100640450B1 (ko) * | 2005-07-07 | 2006-11-23 | 삼성전자주식회사 | 무선단말기에서 tcp/ip를 지원하는 서버로부터데이터를 수신하는 방법 |
KR100672979B1 (ko) * | 2005-08-04 | 2007-01-22 | 부산대학교 산학협력단 | 혼잡 제어 방법 |
KR100678965B1 (ko) * | 2005-12-27 | 2007-02-06 | 삼성전자주식회사 | Tcp 컨제스쳔 제어 장치 및 방법 |
KR100728275B1 (ko) * | 2005-02-18 | 2007-06-13 | 삼성전자주식회사 | QoS 보장형 네트워크에서의 적응형 서비스 대역폭 조절장치 및 방법 |
KR100739805B1 (ko) * | 2006-06-01 | 2007-07-13 | 삼성전자주식회사 | 스루풋을 향상시키기 위한 핸드오버 방법 및 장치 |
CN100382478C (zh) * | 2004-05-21 | 2008-04-16 | 三星电子株式会社 | 移动自组织网中发送数据的方法及利用该方法的网络设备 |
KR100915996B1 (ko) * | 2007-11-13 | 2009-09-10 | 에스케이 텔레콤주식회사 | 대역폭변화에 따른 적응형 전송 제어 프로토콜을 이용한데이터 패킷 전송 방법 및 그를 위한 송신측 단말장치 |
KR100969154B1 (ko) * | 2008-06-04 | 2010-07-08 | 주식회사 팬택 | Tcp에 의한 통신 방법 및 이를 위한 이동통신단말기 |
KR101006463B1 (ko) * | 2010-06-30 | 2011-01-06 | (주)시그너스시스템 | 일체형 표준 분전반 |
CN101977151A (zh) * | 2010-11-09 | 2011-02-16 | 中南大学 | 一种用于高丢包率广域网环境下的拥塞控制方法 |
WO2012148214A2 (ko) * | 2011-04-29 | 2012-11-01 | 서강대학교 산학협력단 | 혼잡 윈도우 크기 조절 방법 및 그에 따른 tcp 시스템 |
KR101231793B1 (ko) * | 2004-11-24 | 2013-02-08 | 아이에스티 인터내셔널 인코포레이티드 | Tcp 세션 최적화 방법 및 네트워크 노드 |
KR101365182B1 (ko) * | 2008-01-09 | 2014-03-13 | 성균관대학교산학협력단 | 전송 제어 프로토콜 기반의 패킷 전송 제어 방법 및 시스템 |
CN104768081A (zh) * | 2015-04-17 | 2015-07-08 | 武汉兴图新科电子股份有限公司 | 一种实现流量控制的丢包重传方法 |
CN112054965A (zh) * | 2019-06-05 | 2020-12-08 | 阿里巴巴集团控股有限公司 | 一种拥塞控制方法、设备及计算机可读介质 |
CN114363426A (zh) * | 2021-12-13 | 2022-04-15 | 北京快乐茄信息技术有限公司 | 基于udt协议的数据传输方法及装置、电子设备和存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100301708B1 (ko) * | 1998-10-09 | 2001-10-27 | 오길록 | 폭주방지를 위한 윈도우 관리 방법 |
KR20010058119A (ko) * | 1999-12-24 | 2001-07-05 | 이계철 | 전송제어프로토콜 베가스(TCP Vegas)의 혼잡제어방법 |
US6757248B1 (en) * | 2000-06-14 | 2004-06-29 | Nokia Internet Communications Inc. | Performance enhancement of transmission control protocol (TCP) for wireless network applications |
KR100343745B1 (ko) * | 2000-10-30 | 2002-07-20 | 엘지전자 주식회사 | 무선망에서의 데이터 전송 방법 |
US7099273B2 (en) * | 2001-04-12 | 2006-08-29 | Bytemobile, Inc. | Data transport acceleration and management within a network communication system |
-
2002
- 2002-09-27 KR KR1020020058946A patent/KR100912178B1/ko not_active IP Right Cessation
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100529931B1 (ko) * | 2003-12-09 | 2005-11-22 | 엘지전자 주식회사 | 무선 네트워크망을 통해 통신하는 서버 시스템 |
CN100382478C (zh) * | 2004-05-21 | 2008-04-16 | 三星电子株式会社 | 移动自组织网中发送数据的方法及利用该方法的网络设备 |
KR101231793B1 (ko) * | 2004-11-24 | 2013-02-08 | 아이에스티 인터내셔널 인코포레이티드 | Tcp 세션 최적화 방법 및 네트워크 노드 |
KR100728275B1 (ko) * | 2005-02-18 | 2007-06-13 | 삼성전자주식회사 | QoS 보장형 네트워크에서의 적응형 서비스 대역폭 조절장치 및 방법 |
KR100640450B1 (ko) * | 2005-07-07 | 2006-11-23 | 삼성전자주식회사 | 무선단말기에서 tcp/ip를 지원하는 서버로부터데이터를 수신하는 방법 |
KR100672979B1 (ko) * | 2005-08-04 | 2007-01-22 | 부산대학교 산학협력단 | 혼잡 제어 방법 |
KR100678965B1 (ko) * | 2005-12-27 | 2007-02-06 | 삼성전자주식회사 | Tcp 컨제스쳔 제어 장치 및 방법 |
KR100739805B1 (ko) * | 2006-06-01 | 2007-07-13 | 삼성전자주식회사 | 스루풋을 향상시키기 위한 핸드오버 방법 및 장치 |
KR100915996B1 (ko) * | 2007-11-13 | 2009-09-10 | 에스케이 텔레콤주식회사 | 대역폭변화에 따른 적응형 전송 제어 프로토콜을 이용한데이터 패킷 전송 방법 및 그를 위한 송신측 단말장치 |
KR101365182B1 (ko) * | 2008-01-09 | 2014-03-13 | 성균관대학교산학협력단 | 전송 제어 프로토콜 기반의 패킷 전송 제어 방법 및 시스템 |
KR100969154B1 (ko) * | 2008-06-04 | 2010-07-08 | 주식회사 팬택 | Tcp에 의한 통신 방법 및 이를 위한 이동통신단말기 |
KR101006463B1 (ko) * | 2010-06-30 | 2011-01-06 | (주)시그너스시스템 | 일체형 표준 분전반 |
CN101977151A (zh) * | 2010-11-09 | 2011-02-16 | 中南大学 | 一种用于高丢包率广域网环境下的拥塞控制方法 |
WO2012148214A3 (ko) * | 2011-04-29 | 2013-01-17 | 서강대학교 산학협력단 | 혼잡 윈도우 크기 조절 방법 및 그에 따른 tcp 시스템 |
WO2012148214A2 (ko) * | 2011-04-29 | 2012-11-01 | 서강대학교 산학협력단 | 혼잡 윈도우 크기 조절 방법 및 그에 따른 tcp 시스템 |
CN104768081A (zh) * | 2015-04-17 | 2015-07-08 | 武汉兴图新科电子股份有限公司 | 一种实现流量控制的丢包重传方法 |
CN104768081B (zh) * | 2015-04-17 | 2017-08-08 | 武汉兴图新科电子股份有限公司 | 一种实现流量控制的丢包重传方法 |
CN112054965A (zh) * | 2019-06-05 | 2020-12-08 | 阿里巴巴集团控股有限公司 | 一种拥塞控制方法、设备及计算机可读介质 |
CN114363426A (zh) * | 2021-12-13 | 2022-04-15 | 北京快乐茄信息技术有限公司 | 基于udt协议的数据传输方法及装置、电子设备和存储介质 |
CN114363426B (zh) * | 2021-12-13 | 2024-02-09 | 北京快乐茄信息技术有限公司 | 基于udt协议的数据传输方法及装置、电子设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
KR100912178B1 (ko) | 2009-08-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7460472B2 (en) | System and method for transmitting information in a communication network | |
Sarolahti et al. | F-RTO: an enhanced recovery algorithm for TCP retransmission timeouts | |
EP1793557B1 (en) | Adaptive delayed ACK switching for TCP applications | |
KR100912178B1 (ko) | 무선 환경에서의 혼잡제어방법 및 기록매체 | |
KR100789035B1 (ko) | 통신 방법 | |
KR100785293B1 (ko) | 다중 tcp확인응답을 이용한 tcp 혼잡 제어 시스템및 그 방법 | |
JP4778453B2 (ja) | 通信端末、輻輳制御方法および輻輳制御プログラム | |
US7061856B2 (en) | Data throughput over lossy communication links | |
JP4708978B2 (ja) | 高スループットを実現する通信システム、通信端末、セッション中継装置、及び通信プロトコル | |
US6958997B1 (en) | TCP fast recovery extended method and apparatus | |
JP5020076B2 (ja) | 低頻度ackのシステムに適した高性能tcp | |
KR100547749B1 (ko) | 재전송 타임아웃 수를 줄이기 위한 전송 제어 프로토콜의혼잡제어 방법과 시스템 | |
Francis et al. | Techniques for enhancing TCP performance in wireless networks | |
Wang et al. | Use of TCP decoupling in improving TCP performance over wireless networks | |
JP4599554B2 (ja) | 広帯域、高遅延無線ネットワークにおけるtcp輻輳制御方式 | |
WO2012132283A1 (ja) | 通信装置およびその通信制御方法 | |
KR100915996B1 (ko) | 대역폭변화에 따른 적응형 전송 제어 프로토콜을 이용한데이터 패킷 전송 방법 및 그를 위한 송신측 단말장치 | |
KR100913897B1 (ko) | 재전송 타임아웃 수를 줄이기 위한 전송 제어 프로토콜혼잡제어방법 | |
TWI308012B (en) | Method for adaptive estimation of retransmission timeout in wireless communication systems | |
Anjum et al. | Performance of TCP over lossy upstream and downstream links with link-level retransmissions | |
KR100999118B1 (ko) | 애드혹 네트워크에서의 데이터 전송 방법 | |
Torkey et al. | Enhanced Fast Recovery Mechanism for improving TCP NewReno | |
Pujeri et al. | Survey of End-to-End TCP Congestion Control Protocols | |
Gonnade et al. | Recovery of loss of packet in network using constant packet reordering | |
KR20050103543A (ko) | Tcp 전송제어에서 패킷 전송률 결정 방법 |
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: 20120801 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20130801 Year of fee payment: 5 |
|
LAPS | Lapse due to unpaid annual fee |