Abstract
Tho existing TCP(Transmission Control Protocol) is known to be unsuitable for a network with the characteristics of high RDP(Bandwidth-Delay Product) because of the fixed small or large buffer size at the TCP sender and receiver. Thus, some trial cases of adjusting the buffer sizes automatically with respect to network condition have been proposed to improve the end-to-end TCP throughput. ATBT(Automatic TCP fluffer Tuning) attempts to assure the buffer size of TCP sender according to its current congestion window size but the ATBT assumes that the buffer size of TCP receiver is maximum value that operating system defines. In DRS(Dynamic Right Sizing), by estimating the TCP arrival data of two times the amount TCP data received previously, the TCP receiver simply reserves the buffer size for the next arrival, accordingly. However, we do not need to reserve exactly two times of buffer size because of the possibility of TCP segment loss. We propose an efficient TCP buffer tuning technique(called TBT-PLR: TCP buffer tuning algorithm based on packet loss ratio) since we adopt the ATBT mechanism and the TBT-PLR mechanism for the TCP sender and the TCP receiver, respectively. For the purpose of testing the actual TCP performance, we implemented our TBT-PLR by modifying the linux kernel version 2.4.18 and evaluated the TCP performance by comparing TBT-PLR with the TCP schemes of the fixed buffer size. As a result, more balanced usage among TCP connections was obtained.
기존 TCP 기술은 송${\cdot}$수신측에 각각 고정된 크기의 버퍼를 할당하기 때문에 높은 대역폭(High-Bandwidth) 및 큰 전송지연(High Delay)을 가진 통신에는 적합하지 못하다. 따라서 종단간의 TCP 처리량을 개선하기 위해 통신망 상황에 따라 자동으로 TCP 버퍼를 조절하려는 시도가 있어왔다. ATBT(Automatic TCP Buffer Tuning)에서 송신측은 현재의 혼잡 제어 윈도우(CWND)의 값에 따라 송신 버퍼 크기를 조절하고 수신측은 운영체제가 정해ens 최대 크기의 TCP 버퍼 값으로 수신 버퍼 크기를 고정한다. DRS(Dynamic Right Sizing) 에서는 이전에 수신한 TCP 데이터의 두 배를 현재 송신할 TCP 데이터라고 예측함으써, TCP 수신측은 단순히 이에 따라 수신 버퍼 크기를 동적으로 변화시킨다. 그렇지만 TCP 세그먼트의 손실 가능성으로 인해 정확히 두 배로 버퍼 크기를 변화시킬 필요는 없다. 따라서 우리가 제안한 패킷 손실률에 기반한 효율적인 TCP 버퍼 조절 알고리즘(TBT-PLR:TCP Buffer Tuning Algorithm based on Packet Loss Ratio)은 TCP 송신측에는 ATBT 방법을 TCP 수신측에는 TBT-PLR 방법을 적용하였다. 실제 TCP 성능을 테스트하기 위해서 리눅스 커널 2.4.18을 수정하여 구현하였으며 기존의 고정된 크기의 TCP 버퍼를 가진 경우와 버퍼 크기가 동적으로 변하는 TBT-PLR을 적용한 경우를 비교하였다. 결과적으로, TCP 연결들간의 균형있는 메모리 사용으로 인해 성능 향상을 얻을 수 있었다.