KR101981722B1 - 처리율과 패킷 손실에 기반하여 cwnd를 제어하는 최적화 방법과 시스템 - Google Patents

처리율과 패킷 손실에 기반하여 cwnd를 제어하는 최적화 방법과 시스템 Download PDF

Info

Publication number
KR101981722B1
KR101981722B1 KR1020177014364A KR20177014364A KR101981722B1 KR 101981722 B1 KR101981722 B1 KR 101981722B1 KR 1020177014364 A KR1020177014364 A KR 1020177014364A KR 20177014364 A KR20177014364 A KR 20177014364A KR 101981722 B1 KR101981722 B1 KR 101981722B1
Authority
KR
South Korea
Prior art keywords
cwnd
throughput
increase
smoothing
mode
Prior art date
Application number
KR1020177014364A
Other languages
English (en)
Other versions
KR20170076759A (ko
Inventor
하오 주앙
용동 왕
시펭 통
Original Assignee
베이징 후아시아추앙신 테크놀러지 리미티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 베이징 후아시아추앙신 테크놀러지 리미티드 filed Critical 베이징 후아시아추앙신 테크놀러지 리미티드
Publication of KR20170076759A publication Critical patent/KR20170076759A/ko
Application granted granted Critical
Publication of KR101981722B1 publication Critical patent/KR101981722B1/ko

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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • H04L43/0829Packet loss
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0888Throughput
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/19Flow control; Congestion control at layers above the network layer
    • H04L47/193Flow control; Congestion control at layers above the network layer at the transport layer, e.g. TCP related
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/25Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions

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

본 발명은 처리율과 패킷 손실에 기반하여 CWND를 제어하는 최적화 방법과 시스템을 제공한다. 상기 방법은, ACK응답을 수신한 데이터 메시지에 대하여, 그 실제적인 순간 처리율을 계산하는 단계; 상기 순간 처리율에 의해 스무딩 처리율을 계산하는 단계; 스무딩 처리율B의 변화 상태를 판단하고, CWND증가 모드를 상응하게 제어하는 단계; 및 언제든지 패킷 손실이 발생하면, Recovery모드에 진입하고, Recovery모드에서 CWND감소 계수에 따라 CWND를 감소시키는 단계를 포함한다. 본 발명은 집중적으로 무선 통신 환경하의 지연 변화가 큰 문제를 해결하고, 대역폭 불안정 등 악렬한 환경하에서 CWND를 계산하여 바람직한 처리율을 보장한다.

Description

처리율과 패킷 손실에 기반하여 CWND를 제어하는 최적화 방법과 시스템{OPTIMIZATION METHOD AND SYSTEM BASED ON THROUGHPUT RATE AND PACKET LOSS CONTROL CWND}
본 발명은 TCP 프로토콜의 네트워크 혼잡을 방지하는 기술에 관한 것으로, 더욱 구체적으로 처리율과 패킷 손실에 기반하여 CWND를 제어하는 최적화 방법과 시스템에 관한 것이다.
CWND(Congestion Window, 혼잡 윈도우)의 계산은 TCP 프로토콜이 네트워크 혼잡을 방지하고, 연결 처리율을 보장하는 관건이다. 따라서, 각종 TCP 알고리즘 최적화와 기술 개선의 초점이기도 하다.
CWND는 ACK를 수신하지 않은 정황하에서 발송 허용하는 최대 데이터 메시지 세그먼트 수량을 대표한다. 당연한 것은, CWND가 크게 설정될수록 데이터 메시지의 발송이 빠르지만, 네트워크가 혼잡할 가능성도 높다. 반대로, CWND가 작게 설정될수록, 심지어 1로 설정하면, 매번 하나의 데이터 메시지를 발송할 때 무조건 상응한 ACK를 수신한 다음 계속하여 다음 데이터 메시지를 발송하기에, 당연하게 네트워크가 쉽게 혼잡되지 않지만, 발송 효율 저하를 일으킨다. 따라서, 각종 TCP CWND 알고리즘 최적화는 발송 효율과 네트워크 혼잡 등 두 개 요소 사이에서 평형되고, 바람직한 CWND값을 선택하여, 네트워크의 처리량을 최대화하여 혼잡이 발생하는 것을 방지해야 한다.
현재 선행기술 중 공개된 TCP CWND 알고리즘은 NewReno, CUBIC, Westwood, Vegas 등과 같은 많은 것이 있다. 그 중 다수는 패킷 손실을 혼잡 신호의 AIMD(Additive-Increase/Multiplicative-Decrease, 가산 증가/곱셈 감소)알고리즘으로 한다. 그러나, Vegas 및 그 파생 알고리즘은 다른 방법으로, 네트워크 지연의 증가를 혼잡 신호로 하여 CWND를 조정한다. 아래에서 선행기술 중 비교적 전형적인 몇 개의 TCP CWND 알고리즘에 대해 설명한다.
인터넷에서 가장 광범위하게 적용되는 TCP CWND 알고리즘은 NewReno과 CUBIC이다. NewReno는 최초의 TCP CWND 알고리즘 중의 하나이고, Windows, BSD와 2.6.19버전 이전의 Linux가 기본적으로 사용하는 알고리즘이기에 가장 광범위하게 사용하는 CWND 알고리즘으로 되었다. CUBIC은 NewReno의 기초상에서 비교적 큰 변화를 하였고, 특히 패킷 손실 후 어떻게 신속하게 실제 대역폭에 근접한 처리를 할지에 집중하였다. CUBIC은 현재 Linux커널 2.6.19버전 이상의 기본 알고리즘이고, Android기기와 각종 Linux 기반 네트워크 기기, 서버, 클라우드 기술 기기 등의 분야에서 광범위하게 적용된다.
CUBIC는 패킷 손실에 기반하는 알고리즘이다. 이의 출발점은 전통적인 AIMD알고리즘을 개선하여 패킷 손실 후 CWND가 신속하게 대역폭의 수준으로 수렴할 수 있게 하는 것을 편리하게 한다. 전통적인 NewReno AIMD 알고리즘은 패킷 손실 후, CWND는 대략 패킷 손실 전의 1/2로 감소된다. 이후, CWND는 단지 선형 증가하기에 긴 시간이 지나야만 실제 대역폭에 도달할 수 있으며, 특히는 우연한 패킷 손실의 정황하에서 그렇다. CUBIC은 이에 대해 하기와 같은 개선을 한다. (1) 패킷 손실 후, CWND는 고정 비례에 따라 감소한다. CWND=β*Wmax(예를 들면 Linux 커널 3.x 중 β=0.7, NewReno의 0.5보다 높다), 여기서 감소하기 이전의 CWND를 Wmax로 표기한다. (2) 그 다음 CWND는 시간의 세제곱에 따라 증가한다. CWND=C*(t-K)3+Wmax, 여기서 C는 하나의 스케일링 상수(Linux 커널 3.x 중 C=0.4를 사용함)이고, t는 시간이며, 패킷 손실에 의해 CWND가 감소된 시각을 t=0으로 정하고, K는 하나의 상수이며, K는 0시각의 CWND를 β*Wmax와 같도록 한다. 이로부터 알 수 있는바, CWND는 패킷 손실로 인해 감소한 후, 먼저 3차 곡선이 위로 돌출되는 방식으로 Wmax(t≤K)만큼 증가하고, 패킷 손실이 없으면, 또 계속하여 3차 곡선이 아래로 돌출되는 방식으로 CWND의 증가를 점차 빨리한다. 이로써, 실제 대역폭이 β*Wmax 내지 Wmax 사이에 있으면, 3차 곡선 위로 돌출되는 구간의 성질에 의해 CWND는 한번에 많이 돌출되지 않고, 실제 대역폭이 Wmax을 초과하면, 3차 곡선의 아래 돌출 구간은 CWND를 빨리 증가하도록 할 수 있으며, 신속하게 대역폭을 검색할 수 있다. CUBIC의 다른 한 독특한 점은 CWND의 증가는 왕복 지연 RTT와 관련되지 않는다는 것이다. 동일한 Wmax하에서, 장기 지연과 단기 지연 CWND 증가 속도는 동일하게 빠르다.
Vegas 알고리즘은 하나의 상태 변량 BaseRTT(기초 왕복 지연)를 정의하고, 이론 값은 “혼잡하지 않을 경우에 연결되는 왕복 지연”이어야하지만, 실질적으로 단말 기기가 혼잡이 발생하는 지의 여부를 판단하기 어렵기에, 이러한 변량은 실제 계산에서 측정되어 얻은 최소 왕복 지연을 사용하는 것으로 실현한다. Vegas 알고리즘은 예기 처리율 BE=CWND/BaseRTT를 계산한다. 동시에, 이는 현재의 실제 처리율 BA=InFlight/RTT도 계산하고, 여기서 InFlight는 이미 발송하였지만 응답이 없는 메시지 데이터량이며, RTT는 현재 응답한 메시지의 왕복 지연이다. Vegas 알고리즘은 진일보로 양자의 차이값 Δ=BE-BA를 계산하고, 최저치 α와 최고치 β를 정의한다. Δ<α이면, CWND를 높이고, Δ>β이면, CWND를 낮춘다. 지연을 사용하기에, Vegas 알고리즘은 네트워크 혼잡의 판단에 더욱 민감하고, 따라서 네트워크의 패킷 손실률을 크게 감소시킬 수 있으며, Vegas 알고리즘을 사용하는 모든 네트워크에서 아주 좋은 평균 처리율을 획득할 수 있다. 그러나, 패킷 손실에 기반하는 알고리즘과 혼합하는 네트워크 환경에서, 지연의 신속한 상승에 의해 항상 패킷 손실 이전에 발생하고, 이로써 Vegas는 항상 패킷 손실에 기반하는 알고리즘 이전에 CWND를 축소하고 발송 속도를 감소하여, 전체 성능이 패킷 손실에 기반하는 알고리즘보다 뒤떨어지게 된다.
선행기술에 존재하는 결함은, CUBIC 알고리즘이 비교적 안정적인 네트워크 조건하에서 매우 뛰어난 성능이 있다는 것이다. “안정”은 여기서 네트워크 유효 대역폭이 상대적으로 항상 일정함을 가리키고, 왕복 지연의 기복이 크지 않다. 그러나, 무선 통신 기술의 폭발적인 성장에 따라, 무선 통신 채널 중 안정적이라는 전제는 존재하지 않는다. 신호 페이딩(fading)은 무선 채널에서 불가피한 문제이기에, 유효 대역폭과 지연은 보통 대폭적인 변화가 발생한다. 패킷 손실률을 감소시키기 위하여, 무선 통신 네트워크에서 패킷 대열을 확장하여 송신 데이터를 완충한다. 이러한 배치하에서, 어떠한 원인에 의해 유효 대역폭이 불시로 저하되면, 즉 전자기 간섭, 4G가 3G로 저하되는 등 경우, TCP의 왕복 지연 RTT는 불시로 직선 상승하고, 보통 10배 이상 증가하며, 수백 밀리 초에서부터 수초, 심지어 10초 이상으로 상승된다. 이러한 정황하에서, CUBIC 알고리즘에 의한 CWND의 증가는 RTT와 관련되지 않기에, RTT가 지속적으로 증가하는 동시에 각각의 ACK 응답은 더욱 많은 데이터 패킷이 송출하는 것을 유발하며, 따라서 RTT 증가 제어가 불가능해지고, 혼잡의 위험성을 신속하게 증가시킨다. RTT가 과대한 다른 한 부정적 영향은 패킷 손실이 회복 상태에 진입하면, 재송하는 패킷은 적어도 현재의 RTT를 통과하여야만 응답할 수 있다는 것이다. 이 기간에 CWND는 증가하지 못하고, 처리율의 뒤쳐진 상승을 초래한다. 이러한 지연 파동의 환경에서, Vegas 알고리즘은 더욱 효과적으로 RTT의 증가를 제어할 수 있고, 평균 처리율은 CUBIC보다 우수하다. 그러나 상술한 바와 같이, Vegas 알고리즘은 패킷 손실에 기반하는 알고리즘과 혼합 배치할 경우 대역폭을 점유하는 방면에서 불리하게 된다.
선행기술 중의 상기 결함을 감안하여, 본 발명은 처리율과 패킷 손실에 기반하여 CWND를 제어하는 최적화 방법과 시스템을 제공한다. 본 발명은 Vegas와 CUBIC 알고리즘의 본질을 참고하여, 집중적으로 무선 통신 환경하의 지연 변화가 큰 문제를 해결하고, 대역폭 불안정 등 악렬 환경하에서 CWND를 계산하여 바람직한 처리율을 보장한다.
본 발명에 따른 처리율과 패킷 손실(Packet loss)에 기반하여 CWND를 제어하는 최적화 방법에 있어서, ACK응답을 수신한 데이터 메시지에 대하여, 그 실제적인 순간 처리율을 계산하는 단계; 상기 순간 처리율에 의해 스무딩 처리율을 계산하는 단계; 스무딩 처리율B의 변화 상태를 판단하고, CWND 증가 모드를 상응하게 제어하는 단계; 및 언제든지 패킷 손실이 발생하면, Recovery모드에 진입하고, Recovery모드에서 CWND감소 계수에 따라 CWND를 감소하는 단계를 포함하는 것을 특징으로 한다.
바람직하게는, ACK 응답을 수신한 최고 일련 번호를 갖는 데이터 메시지에 대하여, 상기 실제적인 순간 처리율BC=FS/(T-TS)를 계산하고; 여기서, T는 현재 시간이고; TS는 상기 최고 일련 번호를 갖는 데이터 메시지의 발송 시간이며; FS는 상기 TS시각에 이미 발송했으나 ACK에 의해 응답이 아직 되지않은 데이터 총량이고; 상기 TS와 FS는 상기 최고 일련 번호를 갖는 데이터 메시기가 발송시 기록된 것이다.
바람직하게는, 상기 스무딩 처리율은 B=(1-α)*B’+α*BC이고; 여기서 α는 상수 매개 변수이며, BC는 상기 실제적인 순간 처리율이고; B’는 이전 스무딩 처리율이다.
바람직하게는, 상기 CWND증가 모드는 지수 증가, 선형 증가 및 정지를 포함한다.
바람직하게는, 초기 상태 및 Recovery모드를 종료할 경우, CWND증가 모드를 지수 증가로 설정한다.
바람직하게는, 스무딩 처리율이 이전 스무딩 처리율에 대한 증가가 처리율 증가 임계 값을 초과하면, CWND증가 모드를 지수 증가로 설정한다.
바람직하게는, 스무딩 처리율이 연속적으로 소정 횟수 하강하고, 스무딩 처리율의 하강 총량이 처리율 하강 임계 값보다 작지않으면, 진일보로 현재의 스무딩 왕복 지연SRTT가 η*RTTMIN 보다 작거나 같은지의 여부를 판단하고; 여기서, RTTMIN은 최소 왕복 지연이고, η은 상수 매개 변수이며; “예”이면, CWND증가 모드를 선형 증가로 설정하고; “아니요”이면, CWND증가 모드를 정지로 설정한다.
바람직하게는, 패킷 손실의 발생에 의해 Recovery모드에 진입할 경우, CWND=β*CWND로 설정하고, 또한 CWND 감소 계수β=0.7이다. 더욱 바람직하게, Recovery모드하에서 CWND 증가 모드를 정지로 설정한다.
본 발명에 따른 처리율과 패킷 손실에 기반하여 CWND를 제어하는 시스템에 있어서, ACK응답을 수신한 데이터 메시지에 대하여, 실제적인 순간 처리율을 계산하기 위한 순간 처리율 계산 유닛; 상기 순간 처리율에 의해 스무딩 처리율을 계산하는 처리율 스무딩 유닛; 스무딩 처리율B의 변화 상태를 판단하고, CWND증가 모드를 상응하게 제어하기 위한 CWND증가 모드 설정 유닛; 및 언제든지 패킷 손실이 발생하여 Recovery모드에 진입하는 정황하에, CWND 감소 계수에 따라 CWND를 감소하기 위한 CWND 감소 유닛을 포함하는 것을 특징으로 한다.
바람직하게는, 순간 처리율 계산 유닛은 ACK 응답을 수신한 최고 일련 번호를 갖는 데이터 메시지에 대하여, 상기 실제적인 순간 처리율BC=FS/(T-TS)를 계산하고; 여기서, T는 현재 시간이고; TS는 상기 최고 일련 번호를 갖는 데이터 메시지의 발송 시간이며; FS는 상기 TS시각에 이미 발송했으나 ACK에 의해 응답이 아직 되지않은 데이터 총량이고; 여기서, 상기 TS와 FS는 상기 최고 일련 번호를 갖는 데이터 메시지가 발송시 기록된 것이다.
바람직하게는, 처리율 스무딩 유닛은 상기 스무딩 처리율 B=(1-α)*B’+α*BC를 계산하고; 여기서 α는 상수 매개 변수이며, BC는 상기 실제적인 순간 처리율이고; B’는 이전 스무딩 처리율이다.
바람직하게는, 상기 CWND증가 모드는 지수 증가, 선형 증가 및 정지를 포함한다.
바람직하게는, CWND증가 모드 설정 유닛이 초기 상태 및 Recovery모드를 종료할 경우, CWND증가 모드를 지수 증가로 설정한다.
바람직하게는, 스무딩 처리율이 이전 스무딩 처리율에 대한 증가가 처리율 증가 임계 값을 초과하면, CWND증가 모드를 지수 증가로 설정한다.
바람직하게는, 스무딩 처리율이 연속적으로 소정 횟수 하강하고, 스무딩 처리율의 하강 총량이 처리율 하강 임계 값보다 작지않으면, 진일보로 현재의 스무딩 왕복 지연SRTT가 η*RTTMIN 보다 작거나 같은지의 여부를 판단하고; 여기서, RTTMIN은 최소 왕복 지연이고, η은 상수 매개 변수이며; “예”이면, CWND증가 모드를 선형 증가로 설정하고; “아니요”이면, CWND증가 모드를 정지로 설정한다.
이로부터 알 수 있는 바, 본 발명은 선행기술에 비해 하기와 같은 특징과 진보가 있다.
첫째, 처리율의 최대화의 원칙에 기반하여, 안정적인 경우와 변화되는 경우의 네트워크 환경하에서, 특히는 무선 네트워크에서 모두 양호한 처리율을 획득할 수 있고, 성능은 광범위하게 사용되는 CUBIC, NewReno 등과 같은 기타 TCP 알고리즘에 비해 뒤쳐지지 않는다. 또한 이러한 알고리즘은 정확하게 추정하기 힘든 BaseRTT를 포기하였다. 둘째, 처리율과 지연을 유입한 CWND 제어를 증가하였지만 여전히 패킷 손실을 CWND를 감소하는 기준으로 사용하기에, 패킷 손실에 기반하는 알고리즘과 혼합 배치할 경우에도 결함이 없다. 셋째, 패킷 손실 회복 후, 처리율을 제어하는 기하 증가를 사용하여, 대역폭 검색 속도를 향상시키는데 이는, CUBIC보다 우수하다. 넷째, CUBIC과 일치한 CWND 감소 계수를 사용하여 패킷 손실시 CWND감소는 CUBIC에 비해 불리하지 않다.
아래, 첨부 도면과 구체적 실시예를 결부하여 본 발명을 진일보로 상세하게 설명한다.
도1은 본 발명의 실시예에 따른 처리율과 패킷 손실에 기반하여 CWND를 제어하는 최적화 알고리즘 흐름도이다.
본 발명이 속하는 기술분야의 통상의 기술자로 하여금 더욱 편리하게 본 발명의 기술적 해결수단을 이해하고, 본 발명의 상기 목적, 특징 및 이점을 더 명확하게 할 수 있게 하기 위하여, 이하 도면과 구체적인 실시형태를 결부하여 본 발명에 대해 진일보로 상세하게 설명한다.
본 발명은 실제 처리율과 왕복 지연 요소에 기반하여 CWND의 증가 모드를 제어한다. 또한, 본 발명은 스무딩 처리율을 정의하고, 스무딩 처리율을 통해 상기 실제 처리율과 왕복 지연을 반영한다. 본 발명은 상기 스무딩 처리율의 변화 상태에 의해 사용되는 CWND 증가 모드를 결정하고, 여기서 처리율의 최대화의 원칙을 사용하며, 다만 CWND값을 증가하는 것이 스무딩 처리율에 대해 향상을 일으키면, 계속하여 CWND값을 증가한다. 그러나 본 발명은 스무딩 처리율을 CWND 감소의 의거로 하지 않는다. CWND의 감소는 여전히 패킷 손실에 의해 결정된다.
본 발명에서, CWND의 증가는 지수 증가, 선형 증가 및 정지 등 3가지 모드로 나누어질 수 있다. 예들 들면, 지수 증가 모드하에, 현재 CWND값이 1이라고 하면, 제1차 증가를 통한 CWND값은 2이고, 제2차 증가를 통한 CWND값은 4이며, 제3차 증가를 통한 CWND값은 8이고, 이러한 방식으로 유추한다. 선형 증가 모드하에, CWND값은 매번 증가할 때마다 하나의 고정된 량 값만큼 증가한다. 정지 상태하에 CWND값은 증가를 정지하고 변화하지 않는다.
도1을 참조하면, 본 발명의 CWND 최적화 알고리즘은 구체적으로 하기와 같은 단계를 포함한다. 지적해야 하는 것은, 하기에 기재된 각 상수 매개 변수의 값은 모두 예시적인 건의 값이고, 본 발명이 속하는 기술분야의 통상의 기술자는 실제 정황에 맞게 조정할 수 있다.
단계1: 초기 상태하에서, 스무딩 처리율 B=0으로 설정하고, CWND증가 모드 GM=지수 증가로 설정한다.
단계2: 하나의 신규 데이터 메시지를 발송할 때마다, 상기 메시지의 발송 시간 TS와 상기 시간에 발송되었으나 ACK에 의해 응답되지 않은 데이터 총량FS를 기록한다.
단계3: 하나의 ACK(응답)를 수신할 때마다, 상기 ACK가 하나 또는 다수의 이미 발송한 데이터 메시지를 응답하고 그 중 재송한 데이터 메시지가 없으면, 응답된 데이터 메시지 중 최고 SEQ(일련 번호)를 갖는 데이터 메시지에 대해, 하기와 같은 매개 변수를 계산한다.
a. 순간 처리율: BC=FS/(T-TS). 여기서, T는 현재 시간이고; TS는 상기 최고 SEQ를 갖는 데이터 메시지의 발송 시간이며; FS는 상기 TS 시각에 이미 발송되었으나 ACK에 의해 응답되지 않은 데이터 총량이고; 상기와 같이, TS와 FS는 상기 최고 SEQ를 갖는 데이터 메시지가 발송될 시 기록된 것이다. 이로부터 알 수 있는 바, 여기서 순간 처리율을 계산하는 알고리즘과 Vegas 알고리즘도 구별점이 있다. Vegas의 “실제 처리율”은 RTT을 계산하여 획득하는 시각에 ACK에 의해 응답되지 않은 데이터량과 RTT의 나눈 값이기에 “선험적”의 순간 처리율이다. 그러나, 본 발명이 여기서 계산하는 순간 처리율은 “후험적”이고, 즉 상기 최고 SEQ를 갖는 데이터 메시지 점검을 통과한 실제적인 처리율 값을 반영한다.
b. 스무딩 처리율: B=(1-α)*B’+α*BC. 여기서 α는 상수 매개 변수이고, α=1/4로 설정할 수 있으며, B’는 초기 상태하에 설정되거나 이전에 계산하여 획득한 이전 스무딩 처리율이다. 여기서 본 발명은 일차 지수 평활 공식을 사용하여 스무딩 처리율을 계산하는데, 이는 통상 각종 원인에 의해 네트워크 지연이 계속하여 변동하기에, 순간 처리율이 상하 파동하게 된다. 이로써 평활 후 일부 고주파 노이즈를 제거하여 네트워크에 대한 처리율이 더욱 정확해 질 수 있다. Vegas 알고리즘은 평활을 사용하지 않는다.
단계4: 스무딩 처리율 B의 변화 상태를 판단하고, CWND 증가 모드GM을 상응하게 제어한다. 구체적으로 하기와 같은 몇가지 경우가 있다.
a. B가 초기 상태하에 설정되거나 이전에 계산하여 획득한 이전 스무딩 처리율에 대한 증가가 γ 를 초과하면, GM=지수 증가이고; 상수 매개 변수 γ=1/32이다.
b. B가 연속적으로 3번 감소하고, 3번 감소한 총 량이 Δ보다 작지 않으면, 진일보로 SRTT를 판단하며, 현재의 SRTT≤η*RTTMIN이면, GM=선형 증가이고; 그렇지 않으면, GM=정지이다. 여기서 Δ=1/16이고, η=10이다. SRTT는 스무딩 왕복 지연이고, SRTT의 개념과 알고리즘은 TCP 프로토콜 중 공지된 것이며, 예를 들면, 이가 RFC793(tools.ietf.org/html/rfc793)에서 상응한 설명을 갖고; RTTMIN은 최소 왕복 지연이며; RTTMIN도 TCP 프로토콜의 표준 개념과 알고리즘이다.
단계5: 언제든지 패킷 손실이 발생하면, Recovery모드(회복 모드)에 진입할 경우, CWND=β*CWND로 설정하고; GM=정지로 설정하며; 여기서 β=0.7이고, 상기 값0.7은 하나의 경험 수치이며, 본 발명이 속하는 기술분야의 통상의 기술자는 실제 정황에 맞게 기타 값으로 설정할 수 있다.
단계6: 혼잡 상태로부터 회복됨에 따라 Recovery(회복 모드)를 종료시, GM=지수 증가로 설정하고, 상기 초기 상태와 유사한 동작을 실행하지만; Recovery 모드를 종료 후, 상기 스무딩 처리율 B는 0으로 클리어링(zero clearing)하지 않고, 원래 있는 스무딩 처리율의 기초상에 계속하여 초기 상태와 유사한 동작을 실행한다.
본 발명은 상응하게, ACK응답을 수신한 데이터 메시지에 대하여, 그 실제적인 순간 처리율을 계산하는 순간 처리율 계산 유닛; 상기 순간 처리율에 의해 스무딩 처리율을 계산하는 처리율 스무딩 유닛; 스무딩 처리율B의 변화 상태를 판단하고, CWND증가 모드를 상응하게 제어하는 CWND증가 모드 설정 유닛; 및 언제든지 패킷 손실이 발생하면, Recovery모드에 진입하고, Recovery모드에서 CWND감소 계수에 따라 CWND를 감소하는 CWND 감소 유닛을 포함하는, 상기 처리율과 패킷 손실에 기반하여 CWND를 제어하는 최적화 시스템을 제공한다. 이상 각 유닛이 기능을 수행하는 구체적 알고리즘은 상기 방법에 대한 설명에서 상세하게 설명하였기에, 여기서 더 반복하여 설명하지 않는다.
이로부터 알 수 있는 바, 본 발명은 선행기술에 비해 하기와 같은 특징과 진보가 있다.
첫째, 처리율의 최대화의 원칙에 기반하여, 안정적인 경우와 변화되는 경우의 네트워크 환경하에서, 특히는 무선 네트워크에서 모두 양호한 처리율을 획득할 수 있고, 성능은 광범위하게 사용되는 CUBIC, NewReno 등과 같은 기타 TCP 알고리즘에 비해 뒤쳐지지 않는다. 또한 이러한 알고리즘은 정확하게 추정하기 힘든 BaseRTT를 포기하였다. 둘째, 처리율과 지연을 유입한 CWND 제어를 증가하였지만 여전히 패킷 손실을 CWND를 감소하는 기준으로 사용하기에, 패킷 손실에 기반하는 알고리즘과 혼합 배치할 경우에도 결함이 없다. 셋째, 패킷 손실 회복 후, 처리율을 제어하는 기하 증가를 사용하여, 대역폭 검색 속도를 향상시키는데 이는, CUBIC보다 우수하다. 넷째, CUBIC과 일치한 CWND 감소 계수를 사용하여 패킷 손실시 CWND감소는 CUBIC에 비해 불리하지 않다.
상술한 내용은 단지 본 발명의 구체적 실시형태이고, 본 발명은 기타 기기에 적용할 수 있으며; 이상 설명 중의 사이즈와 수량은 모두 단지 참고적인 것이고, 본 발명이 속하는 기술분야의 통상의 기술자는 실제 수요에 의해 합리하게 적용 사이즈를 선택할 수 있으며, 이는 본 발명의 보호범위를 벗어나지 않는다. 본 발명의 보호범위는 이에 한정되지 않고, 본 발명이 속하는 기술분야의 통상의 기술자가 본 발명이 공개한 기술범위 내에서 용이하게 진행하는 변화 또는 대체는 모두 본 발명의 범위 내에 포함되어야 한다. 따라서, 본 발명의 보호범위는 응당 특허청구범위에 의해 한정된 보호범위를 기준으로 해야 한다.

Claims (18)

  1. 처리율(Throughput)과 패킷 손실(Packet loss)에 기반하여 CWND(Congestion Window, 혼잡 윈도우)를 제어하는 최적화 방법에 있어서,
    ACK응답을 수신한 데이터 메시지에 대하여 순간 처리율 계산 유닛이 순간 처리율을 계산하는 단계;
    상기 순간 처리율에 의해 처리율 스무딩 유닛이 스무딩 처리율을 계산하는 단계;
    스무딩 처리율B의 변화 상태를 판단하고, CWND증가 모드 설정 유닛이 CWND증가 모드를 상응하게 제어하는 단계; 및
    언제든지 패킷 손실이 발생하면, Recovery모드에 진입하고, Recovery모드에서 CWND감소 계수에 따라 CWND감소 유닛이 CWND를 감소시키는 단계; 를 포함하는 것을 특징으로 하는, 처리율과 패킷 손실에 기반하여 CWND를 제어하는 최적화 방법.
  2. 제1항에 있어서,
    ACK 응답을 수신한 최고 일련 번호를 갖는 데이터 메시지에 대하여, 상기 순간 처리율BC=FS/(T-TS)를 계산하고;
    상기 식에서, T는 현재 시간이고; TS는 상기 최고 일련 번호를 갖는 데이터 메시지의 발송 시간이며; FS는 상기 TS시각에 이미 발송했으나 ACK에 의해 응답이 아직 되지 않은 데이터 총량이고; 상기 TS와 FS는 상기 최고 일련 번호를 갖는 데이터 메시지가 발송시 기록된 것인 것을 특징으로 하는, 최적화 방법.
  3. 제1항에 있어서,
    상기 스무딩 처리율은 B=(1-α)*B’+a*BC이고; α는 상수 매개 변수이며, BC는 상기 순간 처리율이고; B’는 이전 스무딩 처리율인 것을 특징으로 하는, 최적화 방법.
  4. 제1항에 있어서,
    상기 CWND증가 모드는 지수 증가, 선형 증가 및 정지를 포함하는 것을 특징으로 하는, 최적화 방법.
  5. 제1항에 있어서,
    초기 상태 및 Recovery모드를 종료할 경우, CWND증가 모드를 지수 증가로 설정하는 것을 특징으로 하는, 최적화 방법.
  6. 제3항에 있어서,
    상기 이전 스무딩 처리율의 증가가 상기 스무딩 처리율의 처리율 증가 임계값을 초과하면, CWND증가 모드를 지수 증가로 설정하는 것을 특징으로 하는, 최적화 방법.
  7. 제1항에 있어서,
    상기 스무딩 처리율이 연속적으로 소정 횟수 하강하고, 스무딩 처리율의 하강 총량이 처리율 하강 임계 값보다 작지 않으면, 진일보로 현재의 스무딩 왕복 지연SRTT가 η*RTTMIN 보다 작거나 같은 지의 여부를 판단하고;
    RTTMIN은 최소 왕복 지연이고, η은 상수 매개 변수이며; “예”이면, CWND증가 모드를 선형 증가로 설정하고; “아니요”이면, CWND증가 모드를 정지로 설정하는 것을 특징으로 하는, 최적화 방법.
  8. 제1항에 있어서,
    패킷 손실의 발생에 의해 Recovery모드에 진입할 경우, CWND=β*CWND로 설정하고, 또한 CWND 감소 계수β=0.7인 것을 특징으로 하는, 최적화 방법.
  9. 제8항에 있어서,
    Recovery모드하에 CWND증가 모드를 정지로 설정하는 것을 특징으로 하는, 최적화 방법.
  10. 처리율과 패킷 손실에 기반하여 CWND를 제어하는 최적화 시스템에 있어서,
    ACK응답을 수신한 데이터 메시지에 대하여, 순간 처리율을 계산하기 위한 순간 처리율 계산 유닛;
    상기 순간 처리율에 의해 스무딩 처리율을 계산하는 처리율 스무딩 유닛;
    스무딩 처리율B의 변화 상태를 판단하고, CWND증가 모드를 상응하게 제어하기 위한 CWND증가 모드 설정 유닛; 및
    언제든지 패킷 손실이 발생하여 Recovery모드에 진입하는 정황하에, CWND 감소 계수에 따라 CWND를 감소시키기 위한 CWND 감소 유닛을 포함하는 것을 특징으로 하는, 처리율과 패킷 손실에 기반하여 CWND를 제어하는 최적화 시스템.
  11. 제10항에 있어서,
    순간 처리율 계산 유닛은 ACK 응답을 수신한 최고 일련 번호를 갖는 데이터 메시지에 대하여, 상기 순간 처리율BC=FS/(T-TS)를 계산하고;
    상기 식에서, T는 현재 시간이고; TS는 상기 최고 일련 번호를 갖는 데이터 메시지의 발송 시간이며; FS는 상기 TS시각에 이미 발송했으나 ACK에 의해 응답이 아직 되지 않은 데이터 총량이고; 상기 TS와 FS는 상기 최고 일련 번호를 갖는 데이터 메시지가 발송시 기록된 것인 것을 특징으로 하는, 최적화 시스템.
  12. 제10항에 있어서,
    처리율 스무딩 유닛은 상기 스무딩 처리율 B=(1-α)*B’+α*BC를 계산하고; α는 상수 매개 변수이며, BC는 상기 순간 처리율이고; B’는 이전 스무딩 처리율인 것을 특징으로 하는, 최적화 시스템.
  13. 제10항에 있어서,
    상기 CWND증가 모드는 지수 증가, 선형 증가 및 정지를 포함하는 것을 특징으로 하는, 최적화 시스템.
  14. 제10항에 있어서,
    CWND증가 모드 설정 유닛이 초기 상태 및 Recovery모드를 종료할 경우, CWND증가 모드를 지수 증가로 설정하는 것을 특징으로 하는, 최적화 시스템.
  15. 제12항에 있어서,
    상기 이전 스무딩 처리율의 증가가 상기 스무딩 처리율의 처리율 증가 임계값을 초과하면, CWND증가 모드 설정 유닛이 CWND증가 모드를 지수 증가로 설정하는 것을 특징으로 하는, 최적화 시스템.
  16. 제10항에 있어서,
    스무딩 처리율이 연속적으로 소정 횟수 하강하고, 스무딩 처리율의 하강 총량이 처리율 하강 임계 값보다 작지 않으면, 진일보로 현재의 스무딩 왕복 지연SRTT가 η*RTTMIN 보다 작거나 같은 지의 여부를 판단하고;
    RTTMIN은 최소 왕복 지연이고, η은 상수 매개 변수이며; “예”이면, CWND증가 모드를 선형 증가로 설정하고; “아니요”이면, CWND증가 모드를 정지로 설정하는 것을 특징으로 하는, 최적화 시스템.
  17. 제10항에 있어서,
    패킷 손실의 발생에 의해 Recovery모드에 진입할 경우, CWND=β*CWND로 설정하고, 또한 CWND 감소 계수β=0.7인 것을 특징으로 하는, 최적화 시스템.
  18. 제17항에 있어서,
    Recovery모드하에 CWND증가 모드를 정지로 설정하는 것을 특징으로 하는, 최적화 시스템.
KR1020177014364A 2014-10-27 2014-11-19 처리율과 패킷 손실에 기반하여 cwnd를 제어하는 최적화 방법과 시스템 KR101981722B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201410584462.2 2014-10-27
CN201410584462.2A CN104378307B (zh) 2014-10-27 2014-10-27 基于吞吐率和丢包控制cwnd的优化方法和系统
PCT/CN2014/091559 WO2016065676A1 (zh) 2014-10-27 2014-11-19 基于吞吐率和丢包控制cwnd的优化方法和系统

Publications (2)

Publication Number Publication Date
KR20170076759A KR20170076759A (ko) 2017-07-04
KR101981722B1 true KR101981722B1 (ko) 2019-05-23

Family

ID=52556972

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177014364A KR101981722B1 (ko) 2014-10-27 2014-11-19 처리율과 패킷 손실에 기반하여 cwnd를 제어하는 최적화 방법과 시스템

Country Status (3)

Country Link
KR (1) KR101981722B1 (ko)
CN (1) CN104378307B (ko)
WO (1) WO2016065676A1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107231315A (zh) * 2016-03-24 2017-10-03 阿里巴巴集团控股有限公司 一种拥塞控制方法及系统
CN106230654B (zh) * 2016-07-22 2019-12-24 安徽皖通邮电股份有限公司 一种快速实现rfc2544带背景流下最大吞吐率的方法
KR102096719B1 (ko) * 2018-10-19 2020-05-27 고려대학교 산학협력단 V2g 네트워크에서의 혼잡을 제어하기 위한 혼잡 윈도우의 크기를 설정하는 단말 장치 및 방법
KR102389104B1 (ko) 2019-04-08 2022-04-21 한국전자통신연구원 Tcp 혼잡 윈도우를 최적화하는 통신 장치 및 방법
KR102208856B1 (ko) 2019-10-31 2021-01-27 고려대학교 산학협력단 통신 제어 장치 및 통신 제어 방법
CN113904989B (zh) * 2021-10-21 2023-11-07 北京理工大学 一种基于NewReno的吞吐率提升方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090073975A1 (en) 2007-09-19 2009-03-19 Nec Corporation Communication method and communication device
CN103051554A (zh) 2013-01-05 2013-04-17 北京航空航天大学 基于吞吐量变化率和ecn机制的tcp拥塞控制方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100526187B1 (ko) * 2003-10-18 2005-11-03 삼성전자주식회사 모바일 애드 혹 네트워크 환경에서 최적의 전송율을 찾기위한 조절 방법
CN101094047A (zh) * 2007-07-06 2007-12-26 中国人民解放军国防科学技术大学 基于网络状态测量的分阶段慢启动传输控制方法
CN102291389A (zh) * 2011-07-14 2011-12-21 南京邮电大学 一种卫星网络中跨层拥塞控制方法
CN102694736A (zh) * 2012-06-15 2012-09-26 华为技术有限公司 吞吐率的获取方法和装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090073975A1 (en) 2007-09-19 2009-03-19 Nec Corporation Communication method and communication device
CN103051554A (zh) 2013-01-05 2013-04-17 北京航空航天大学 基于吞吐量变化率和ecn机制的tcp拥塞控制方法

Also Published As

Publication number Publication date
KR20170076759A (ko) 2017-07-04
WO2016065676A1 (zh) 2016-05-06
CN104378307A (zh) 2015-02-25
CN104378307B (zh) 2017-11-21

Similar Documents

Publication Publication Date Title
KR101981722B1 (ko) 처리율과 패킷 손실에 기반하여 cwnd를 제어하는 최적화 방법과 시스템
WO2021012869A1 (zh) 传输速率的确定方法、装置、设备和存储介质
US9112799B2 (en) Network packet loss processing method and apparatus
KR100717219B1 (ko) 시간-파라미터를 결정하는 방법 및 장치
CN106789718B (zh) 数据传输的拥塞控制方法、设备、服务器及可编程设备
KR102363534B1 (ko) 통신 시스템에서 tcp 기반의 전송 제어 방법 및 장치
EP1793557A1 (en) Adaptive delayed ACK switching for TCP applications
CN107800642A (zh) 一种拥塞控制方法及装置
KR20160092737A (ko) 통신 시스템에서 혼잡 제어 방법 및 장치
US8730799B2 (en) Dynamic adjustment of receive window utilized by a transmitting device
WO2009146726A1 (en) Technique for improving congestion control
WO2014062682A1 (en) Method and system for determining sustainable throughput over wireless networks
CN106789702B (zh) 控制tcp传输性能的方法及装置
CN105471757B (zh) 一种tcp拥塞控制方法及装置
US9432296B2 (en) Systems and methods for initializing packet transfers
CN104683259A (zh) Tcp拥塞控制方法及装置
CN110730469A (zh) 一种基于扩展卡尔曼无线网络带宽预测方法及其拥塞控制
CN114422443A (zh) 基于带宽估计和拥塞预测的卫星网络tcp拥塞控制方法
US10952102B2 (en) Method and apparatus for controlling data transmission speed in wireless communication system
JP5308364B2 (ja) 送信装置、送信方法及びプログラム
WO2024001763A1 (zh) 一种数据传输处理方法、装置、存储介质及电子装置
JP2008259164A (ja) 通信端末、通信制御方法および通信制御プログラム
US9537778B2 (en) Traffic shaping drive method and driver
KR101334990B1 (ko) 전송 제어 프로토콜의 혼잡 윈도우 제어 방법
CN105337704B (zh) 报文处理方法及装置

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