검색 전체 메뉴
PDF
맨 위로
OA 학술지
광대역 무선 네트워크에서 효율적인 멀티미디어 전송을 위한 혼잡 제어 기법 Congestion Control Scheme for Efficient Multimedia Transmission in Broadband Wireless Networks
  • 비영리 CC BY-NC
  • 비영리 CC BY-NC
ABSTRACT
광대역 무선 네트워크에서 효율적인 멀티미디어 전송을 위한 혼잡 제어 기법

TCP does not ensure the bandwidth and delay bound required for multimedia streaming services in broadband wireless network environments. In this paper, we propose a new congestion control scheme for efficient multimedia transmission, called COLO TCP (Concave Increase Slow Start Logarithmic Increase Congestion Avoidance TCP). The COLO TCP prevents the burst packet loss by applying the concave increase algorithm in slow start phase. In the congestion avoidance phase, COLO TCP uses the logarithmic increase algorithm that quickly recovers congestion window after packet loss. To highly utilize network bandwidth and reduce packet loss ratio, COLO TCP uses additive increase algorithm and adaptive decrease algorithm. Through simulation results, we prove that our COLO TCP is more robust for random loss. It is also possible for efficient multimedia transmission.

KEYWORD
멀티미디어 스트리밍 , 손실 기반 혼잡 제어 , 광대역 무선 네트워크
  • Ⅰ. 서 론

    최근 LTE (Long Term Evolution), WiMAX (Worldwide Interoperability for Microwave Access)와 같은 광대역 무선 네트워크 기술이 보편화 되었다. 또한 급속도로 발전하는 하드웨어 기술을 통해 다양한 형태의 스 마트폰, 태블릿 PC 등 고성능의 모바일 단말들이 널리 보급되었다. 이에 따라 다양한 모바일 단말들을 통해 언제, 어디서나 광대역 무선 네트워크에 접속하여 초고속 인터넷 서비스의 이용이 가능해져, 화상 통화나 모바일 IPTV 서비스 등 실시간 멀티미디어 스트리밍 서비스에 대한 이용이 증가하고 있다[1, 2].

    TCP (Transmission Control Protocol)는 인터넷에서 가장 널리 사용되는 전송 프로토콜로 FTP (File Transfer Protocol), HTTP (Hyper Text Transfer Protocol)와 같은 다양한 응용 프로그램들의 기반 프로토콜로 사용된다. TCP는 혼잡 제어 기법을 통해 신뢰성 있는 데이터 전송이 가능하고 네트워크의 가용 대역폭에 따라 전송 속도를 조절함으로써 네트워크의 혼잡 붕괴 (Congestion Collapse)를 방지한다. 그러나 광대역 무선 네트워크에서 TCP의 혼잡 제어 알고리즘은 혼잡 윈도우를 느리게 증가시키는 반면 패킷 손실 발생 시 혼잡 윈도우를 급격하게 감소시키는 특성으로 인해 넓은 대역폭을 충분히 활용하지 못하는 문제가 있다. 이러한 문제를 해결하기 위해 TCP의 혼잡 제어 알고리즘을 개선하여 멀티미디어 트래픽을 효율적으로 전송하기 위한 네트워크 적응적인 전송률 조절 기법들이 연구되었다. 그러나 기존 연구들은 다량의 패킷 손실을 야기시키고, 랜덤 손실에 의한 성능 저하를 유발하여 비디오의 화질 열화를 발생시킨다 [3, 4].

    본 논문에서는 효율적인 멀티미디어 전송을 위해 새로운 혼잡 제어 기법인 COLO TCP를 제안한다. COLO TCP는 TCP의 저속 증가 구간과 혼잡 회피 구간에서의 혼잡 윈도우 조절 알고리즘을 개선한 기법이다. 저속 증가 구간에서 오목 증가 알고리즘을 적용하여 고속 네트워크에서 다량의 패킷 손실이 발생하는 것을 방지하였다. 혼잡 회피 구간에서는 라우터 큐의 데이터 양에 따라 증가율을 조절하는 로그 증가 알고리즘을 통해 가용 대역폭을 빠르게 점유하여 처리량을 향상시켰다. 또 한 가산 증가 알고리즘을 통해 패킷 손실률을 감소시켰고, 현재 RTT와 최소 RTT의 비율에 따른 감소율을 이용하는 적응 감소 알고리즘을 적용하여 전송률 진동 및 처리량 저하 문제를 완화하였다.

    본 논문의 구성은 다음과 같다. 2장에서는 혼잡 제어 기법에 대하여 기술한다. 3장에서는 제안하는 COLO TCP를 상세히 기술한다. 4장에서는 실험을 통해 제안한 COLO TCP의 성능을 검증하였고, 5장에서는 결론을 맺는다.

    Ⅱ. 관련연구

    고속 네트워크에서 TCP의 성능을 향상시키기 위한 혼잡 제어 기법에 관한 다양한 연구들이 진행되었다. STCP(Scalable TCP)는 TCP의 AIMD(Additive Increase Multiplicative Decrease) 알고리즘이 광대역 네트워크의 넓은 대역폭을 느리게 점유하는 문제를 해결하기 위해 제안되었다[5]. STCP는 송신측에서 ACK를 받을 때마다 혼잡 윈도우 크기를 0.01 MSS (Maximum Segment Size)만큼 증가시키고, 패킷 손실 발생 시 혼잡 윈도우의 크기를 0.875배로 감소시키는 MIMD (Multiplicative Increase Multiplicative Decrease)를 수행한다. 혼잡 윈도우 크기가 지수적으로 증가하기 때문에 빠른 대역폭 점유가 가능하고 패킷 손실에 의한 전송률 감소폭이 적어 처리율이 향상되지만, 큰 값으로 고정된 혼잡 윈도우의 증가율과 낮은 혼잡 윈도우의 감소율로 인해 다량의 패킷 손실이 유발되는 문제가 있다.

    HSTCP (HighSpeed TCP)는 기존의 AIMD 기법의 혼잡 윈도우를 Low_Window High_Window 구간으로 나눈다 [6]. Low_Window는 Well- Behaving 영역을 위한 변수이며, High_Window는 10 Gbps의 고속 인터넷 환경을 위한 변수이다. Well-Behaving 영역은 손실률이 10−2에서 10−4정도인 저속 네트워크 구간을 의미한다. 또한 HSTCP는 패킷 손실률 변수인 Low_PHigh_P를 가진다. 이러한 변수들을 이용하여 HSTCP는 현재 혼잡 윈도우에 따라 AIMD의 증가 및 감소 변수를 동적으로 선택한다. HSTCP의 혼잡 제어 알고리즘은 고속 네트워크의 넓은 대역폭을 빠르게 점유하여 높은 네트워크 활용도를 갖는 장점이 있다. 그러나 혼잡 윈도우의 급격한 증가와 지수 감소로 인한 동적 진동 문제가 발생하며, 짧은 RTT를 가진 플로우가 큰 RTT를 가진 플로우에 비해 높은 전송률을 나타내는 RTT 불공정성 (Unfairness) 문제가 발생하는 단점이 있다.

    Cubic TCP는 혼잡 윈도우 크기를 마지막으로 발생한 혼잡 이벤트 이후의 경과 시간에 대한 3차 함수를 이용하여 조절한다 [7]. 혼잡 윈도우 크기를 3차 함수를 통해 조절하기 때문에 윈도우 크기를 증가시키는 두 가지 방식이 있다. 첫 번째로 혼잡 윈도우 크기를 오목 함수 (Concave Function) 형태로 증가시키는 방식으로 마지막 혼잡 이벤트가 발생하기 이전의 혼잡 윈도우 크기까지 윈도우 크기를 빠르게 증가시킨다. 두 번째로 혼잡 윈도우 크기를 볼록 함수 (Convex Function) 형태로 증가시키는 방식으로 추가적인 대역폭을 점유하기 위해 혼잡 윈도우 크기를 처음에는 느리게 증가시키다가 점차 증가 속도를 높인다. Cubic TCP는 삼차함수를 활용한 혼잡 윈도우 증가를 통해 고속 네트워크에서 높은 활용도를 나타내지만 추가적인 대역폭 점유를 위해 혼잡 윈도우를 급격하게 증가시켜 다량의 패킷 손실을 유발하는 문제가 있다.

    Compound TCP는 혼잡을 판단하기 위해 송신측에 서 예측한 큐잉 지연을 이용하여 전송률을 조절한다[8]. 예측한 큐잉 지연이 작은 경우 네트워크의 혼잡이 없다고 판단하여 전송률을 빠르게 증가시킨다. Compound TCP 기법은 TCP-Reno의 AIMD 방식과 지연 기반의 혼잡 윈도우 조절 방식 모두를 이용하여 두 개의 혼잡 윈도우를 유지한다. 실제 혼잡 윈도우 크기는 두 윈도우 크기를 합한 값을 사용한다. 네트워크 상태가 혼잡하지 않으면 지연 기반의 윈도우를 증가시켜 가용 대역폭을 빠르게 점유하고, 큐잉 지연이 발생하면 지연 기반의 윈도우는 감소시키지만 AIMD 기반의 윈도우는 증가하고 있기 때문에 두 윈도우를 합한 크기가 가용 대역폭과 유사하게 유지되어 처리량 향상을 이루었다. 그러나 패킷 손실이 발생하면 TCP-Reno와 같은 방식으로 혼잡 윈도우의 크기를 감소시켜 랜덤 손실에 의한 성능 저하가 문제가 발생한다.

    기존 연구들은 TCP의 보수적인 혼잡 제어 기법을 개선하여 광대역 무선 네트워크의 대역폭 활용도를 향상 시켰지만, 다량의 패킷 손실을 야기하고 랜덤 손실에 의한 성능 저하를 유발하는 문제가 있다. 이를 해결하기 위해 저속 증가 구간과 혼잡 회피 구간에서의 혼잡 윈도우 조절 알고리즘을 개선한 COLO TCP 기법을 제안한다.

    Ⅲ. COLO TCP 기법

    본 논문에서 제안하는 COLO TCP는 TCP의 저속 증가 구간과 혼잡 회피 구간에서의 혼잡 윈도우 조절 알고리즘을 개선한 기법으로 전체적인 동작 방식은 그림 1과 같다. COLO TCP의 저속 증가 구간은 기존의 TCP와 동일하게 혼잡 윈도우를 증가시키는 지수 증가 알고리즘과 다량의 패킷 손실을 방지하기 위한 오목 증가 알고리즘으로 구성된다. 혼잡 회피 구간은 패킷 손실로 인해 감소된 혼잡 윈도우를 빠르게 복구하기 위한 로그 증가 알고리즘, 다량의 패킷 손실을 회피하기 위한 가산 증가 알고리즘, 그리고 RTT에 따라 적응적으로 혼잡 윈도우를 감소시키는 적응 감소 알고리즘으로 구성 된다.

    저속 증가 구간의 지수 증가 알고리즘은 기존 TCP와 동일하게 매 RTT 마다 혼잡 윈도우를 두 배로 증가시키는 알고리즘을 사용하며, ssthresh가 1/2인 구간까지 동작한다. 오목 증가 알고리즘은 저속 증가의 급격한 혼잡 윈도우 증가로 인한 다량의 패킷 손실을 방지하고 최대 혼잡 윈도우를 탐색한다. 혼잡 회피 구간의 로그 증가 알고리즘은 감소한 혼잡 윈도우를 빠르게 복구하며, 병목 링크의 라우터 큐의 데이터 양에 따라 증가율을 조절한다. 혼잡 윈도우의 증가율이 최대 윈도우에 가까워질수록 감소하므로 패킷 손실률을 감소시키고 처리량을 향상시킨다. 가산 증가 알고리즘은 증가율이 1이하로 감소하였을 때 기존 TCP와 동일하게 매 RTT마다 혼잡 윈도우를 1씩 증가시킨다. 적응 감소 알고리즘은 현재 RTT와 최소 RTT의 비율에 따른 감소율을 이용하여 혼잡 윈도우를 감소시킨다.

       3.1. 저속 증가 구간

    TCP의 저속 증가는 매 RTT마다 혼잡 윈도우를 두 배로 증가시킨다. 네트워크의 대역폭이 넓지 않을 경우 혼잡 윈도우의 증가폭이 크지 않아 저속 증가 구간에서 손실 되는 패킷의 수가 적다. 그러나 고속 네트워크에서 혼잡 윈도우를 두 배로 증가시키는 동작은 상당히 많은 양의 패킷 손실을 유발할 수 있다. 예를 들어 RTT가 100ms인 네트워크에서 2초 동안 저속 증가를 수행하였을 경우 1,048,576 패킷을 전송하게 되는데 가용 대역폭이 이 패킷의 만 수용이 가능할 경우 699,050 패킷이라는 상당량의 패킷이 손실된다. 저속 증가 구간에서 다량의 패킷 손실은 네트워크의 지연을 유발하므로 스트리밍 초기에 영상이 끊기는 현상이 발생할 수 있다

    본 논문에서 제안하는 저속 증가는 RTT를 이용하여 저속 증가 구간에서의 혼잡 윈도우 증가율을 감소시켜 다량의 패킷 손실이 발생하는 것을 방지한다. 기존의 고속 TCP 관련 연구들은 ssthresh를 과도하게 큰 값으로 설정하여 최대 혼잡 윈도우를 빠르게 탐색하지만 다량의 패킷 손실로 인한 지연을 발생시킨다. 이러한 문제를 해결하기 위해 제안하는 저속 증가는 기존 지수 증가 알고리즘에 오목 증가 알고리즘을 추가하여 혼잡 윈도우를 증가시킨다.

    먼저 지수 증가 알고리즘은 기존 TCP의 저속 증가와 동일하게 매 RTT 마다 혼잡 윈도우를 식 (1)과 같이 두 배씩 증가시킨다. 제안 기법과 기존 TCP와의 차이점은 혼잡 윈도우를 ssthresh의 절반까지만 증가시키는 점이다. 이때 ssthresh는 수신측의 버퍼 크기로 설정한다. 혼잡 윈도우가 1/2 ssthresh보다 커지면 오목 증가 알고리즘으로 동작한다.

    오목 증가 알고리즘은 최대 윈도우 크기를 다량의 패킷 손실 없이 탐색하기 위한 알고리즘으로 현재 RTT에 따라 혼잡 윈도우의 증가율을 두 배보다 작게 조절한다. 네트워크에 패킷이 가용 대역폭 보다 많이 유입되면 라우터 큐에 패킷이 쌓이게 되고 RTT가 점차 증가한다. 패킷이 라우터 큐의 용량을 초과하도록 유입되면 패킷 손실이 발생한다. 제안하는 오목 증가 알고리즘은 패킷이 라우터 큐에 쌓이기 시작하면 RTT가 증가하는 것을 통해 증가율을 조절한다. RTT 변화에 따른 혼잡 윈도우는 식 (2)과 같다. baseRTT는 세션 연결 후 측정된 최소 RTT를 나타낸다. 네트워크가 혼잡하지 않을 경우 현재 RTT가 baseRTT와 유사하여 혼잡 윈도우를 두 배 가까이 증가시키지만, 네트워크에 패킷이 다량으로 유입되어 RTT가 증가할 경우 baseRTT와의 비율에 γ제곱만큼 증가율이 감소한다. 현재 RTT가 증가 할수록 증가율은 지수적으로 감소하므로 혼잡 윈도우가 가용 대역폭을 급격하게 초과하지 않게 되어 다량의 패킷 손실을 유발하지 않는다.

    그림 2는 RTT 변화에 따른 오목 증가 알고리즘을 적용한 저속 증가의 혼잡 윈도우 변화를 나타낸다. 현재 RTT가 증가하여 기존에 두 배로 증가하던 혼잡 윈도우보다 낮게 증가하는 것을 보여준다.

       3.2. 혼잡 회피 구간

    TCP는 혼잡 회피 알고리즘으로 AIMD를 사용한다. AIMD는 패킷 손실이 발생하기 전까지 지속적으로 전송률을 증가시키고, 패킷 손실이 발생하면 네트 워크에 혼잡이 발생하였다고 판단하여 혼잡 윈도우를 반으로 축소한다. 이를 통해 네트워크의 가용 대역폭의 예측이 가능하고, 네트워크 혼잡에 대한 빠른 대처가 가능하다. 그러나 고속 네트워크에서 매 RTT마 다 혼잡 윈도우를 1씩 증가시키는 TCP의 가산 증가와 절반으로 감소시키는 지수 감소는 넓은 대역폭을 효율적으로 활용하지 못하는 문제가 있다.

    표 1은 고속 TCP Variant들이 혼잡 회피를 통해 가용 대역폭에 도달하기까지의 소요 시간을 나타낸다. AIMD를 사용하는 TCP NewReno의 경우 RTT가 100ms라고 가정하였을 때 1 Gbps의 가용 대역폭을 점유하기까지 20분이 소요된다. 또한 패킷 손실이 발생하여 혼잡 윈도우가 절반으로 감소하였을 때 다시 혼잡 윈도우를 복구하기 위해 10분정도의 긴 시간이 다시 소요되기 때문에 대역폭을 충분히 활용하기 어렵다[9].

    [표 1.] 다양한 TCP 프로토콜들의 가용 대역폭 점유 소요 시간

    label

    다양한 TCP 프로토콜들의 가용 대역폭 점유 소요 시간

    본 논문에서 제안하는 혼잡 회피는 패킷 손실 발생으로 인해 감소된 혼잡 윈도우를 빠르게 복구하기 위한 로그 증가 알고리즘, 다량의 패킷 손실을 회피하기 위해 혼잡 윈도우를 TCP와 동일하게 증가시키는 가산 증가 알고리즘, RTT의 비율에 따라 적응적으로 혼잡 윈도우의 감소율을 조절하는 적응 감소 알고리즘으로 구성된다.

    로그 증가 알고리즘에서 혼잡 윈도우의 증가율은 병목 링크의 라우터 큐에 있는 데이터의 양에 따라 조절 된다. 혼잡 윈도우의 크기는 ACK 패킷이 도착할 때마다 식 (3)과 같이 증가한다. cwndi+1은 다음 혼잡 윈도우의 크기, cwndi는 현재 혼잡 윈도우의 크기, α는 혼잡 윈도우의 증가율을 나타낸다. 가산 증가 알고리즘에서 혼잡 윈도우는 TCP와 동일하게 RTT마다 1씩 증가한다. 적응 감소 알고리즘에서 혼잡 윈도우는 RTT 비율에 따른 혼잡 윈도우 감소율에 의해 식 (4)와 같이 감소한다.

       3.2.1. 로그 증가 알고리즘

    광대역 무선 네트워크에서 TCP는 혼잡 윈도우를 보수적으로 증가시켜 넓은 대역폭을 효율적으로 사용하지 못하는 문제가 있다. COLO TCP는 혼잡 회피 구간 에서 혼잡 윈도우를 대수적으로 증가시켜 패킷 손실에 의한 혼잡 윈도우 감소를 빠르게 복구한다. 혼잡 윈도우의 증가율은 병목 링크에서 라우터 큐의 데이터 양에 따라 조절된다. 라우터 큐에 데이터 양이 적을 경우 네트워크의 상태가 원활하다고 판단되므로 혼잡 윈도우의 증가율을 높게 설정하여 가용대역폭을 빠르게 점유한다. 라우터 큐에 데이터 양이 많을 경우 네트워크 상태가 혼잡하다고 판단하여 혼잡 윈도우의 증가율을 낮게 설정함으로써 다량의 패킷 손실을 방지한다.

    로그 증가 알고리즘에서 매 RTT마다 혼잡 윈도우는 식 (5)와 같이 증가한다. 혼잡 윈도우의 증가율인 α는 현재 라우터 큐의 데이터 양인 Diff가 작을수록 혼잡 윈도우의 최대 증가율인 αmax로 설정되며, 네트워크 상태가 원활한 상황에서 가용 대역폭을 빠르게 점유하는 것이 가능하다. Diff가 점차 증가할수록 혼잡 윈도우의 증가율은 감소하게 되며, 라우터 큐의 최대값인 Qmax에 가까워질수록 혼잡 윈도우의 증가율은 최소 증가율인 αmin으로 설정된다. 이와 같이 혼잡 윈도우를 조절함으로써 가용 대역폭을 천천히 점유하여 다량의 패킷 손실을 방지한다.

    COLO TCP는 식 (6)과 같이 혼잡 윈도우를 현재 라우터 큐의 데이터 양을 기반으로 라우터 큐의 크기를 예측한다. 라우터 큐의 데이터 양은 네트워크 경로에서 패킷의 전송 지연을 나타내기 위해 세션 연결이 유지되는 동안 측정된 RTT 중 최소값을 가지는 baseRTT, 현재 측정된 RTT를 평활화한 SRTT (Smoothed Round Trip Time), 그리고 혼잡 윈도우 크기를 이용하여 계산한다.

    Expexted는 네트워크 경로의 전송 지연에 대한 예측 처리량이고, Actual은 전송 지연과 큐잉 지연에 대한 예측 처리량을 나타낸다. Diff는 현재 라우터 큐의 데이터 양을 나타내는 값으로 Expexted, Actual, 그리고 baseRTT를 통해 계산한다. 라우터 큐의 최대 크기인 Qmax는 패킷 손실 발생 직전의 RTT (lastRTT)를 이용하여 계산한 Actual을 통해 얻은 Diff와 같다.

       3.2.2. 가산 증가 알고리즘

    광대역 무선 네트워크를 위해 높은 값으로 고정된 혼잡 윈도우의 증가율과 낮은 값으로 고정된 혼잡 윈도우의 감소율을 사용할 경우 혼잡 상황 발생 시 많은 양의 패킷 손실을 유발하는 Heavy Congestion이 발생한다. Heavy Congestion은 네트워크 용량을 초과하도록 혼잡 윈도우를 증가시켜 다량의 패킷 손실을 발생시키는 현상이다. Heavy Congestion으로 인해 순간적으로 발생하는 다량의 패킷 손실은 하나의 손실 이벤트로 고려되므로, 패킷 손실 확률 또는 손실 이벤트 확률이 높은 것을 의미하지는 않는다. 그러나 다량의 패킷 손실로 인해 TCP의 타임아웃 시간을 증가시키고 잦은 저속 증가 진입을 유발하여 급격한 처리량 저하를 야기한다

    COLO TCP는 Heavy Congestion을 방지하기 위해 Diff가 Qmax에 가까워질수록 혼잡 윈도우의 증가율을 최소값인 1까지 감소시킨다. 따라서 혼잡 윈도우를 TCP와 동일하게 매 RTT마다 1씩 증가시키는 가산 증가를 수행한다. 네트워크의 혼잡 정도가 상승할 경우 로그 증가 알고리즘 대신 가산 증가 알고리즘을 수행하여 다량의 패킷 손실을 방지하고, 최소 TCP 이상의 성능을 발휘하는 효과가 있다.

       3.2.3. 적응 간소 알고리즘

    TCP의 혼잡 제어 알고리즘은 패킷 손실이 발생하면 혼잡 윈도우의 크기를 반으로 줄이도록 혼잡 윈도우의 감소율인 β가 0.5로 고정되어 있다. 광대역 무선 네트워크에서 0.5로 고정된 β는 혼잡 윈도우를 급격하게 감소시키는 경향이 있다. 네트워크의 상태를 고려하지 않고 높은 값으로 고정된 β는 지수 감소 이후 혼잡 윈도우를 다시 복구하는데 상당히 긴 시간이 필요하기 때문에 가용 대역폭을 효율적으로 사용하지 못하는 문제가 발생한다.

    COLO TCP는 광대역 무선 네트워크의 넓은 대역폭을 효율적으로 사용하기 위해 RTT를 기반으로 네트워크 상태를 예측하여 β를 적응적으로 조절한다. 식 (7) 은 RTT에 따라 변화하는 β를 나타낸다. RTT가 baseRTT와 비슷하게 작은 값을 가질 경우 네트워크 상태가 원활하다고 판단하여 β를 1에 가깝게 설정한다. 반면 RTT가 점차 증가하여 baseRTT의 두 배가 되면 TCP와 동일하게 β를 0.5로 설정하게 된다. β를 RTT에 따라 조절함으로써 무선 손실과 같이 네트워크가 혼잡하지 않은 상태에서 발생하는 패킷 손실로 인한 처리량 저하를 방지할 수 있다.

    TCP는 무선 손실과 혼잡 손실을 구분하지 않기 때문에 네트워크가 혼잡하지 않은 상태에서 무선 손실이 발생하면 혼잡 윈도우를 감소시켜 처리량의 저하를 유발한다. 제안하는 적용 감소 알고리즘은 무선 손실의 경우 네트워크 혼잡에 의한 패킷 손실이 아니므로 RTT값이 작아 혼자 윈도우의 감소가 거의 없기 때문에 처리량 저하가 발생하지 않는다. 이와 같이 제안하는 적응 감소 알고리즘은 무손 손실을 구분하여 처리하는 추가적인 알고리즘의 적용 없이 무선 손실에 의한 처리량 감소를 방지하는 장점이 있다.

       3.3 COLO TCP의 반응함수

    혼잡 제어 프로토콜의 반응함수는 RTT 공정성, TCP Friendliness, 그리고 확장성과 같은 프로토콜의 다양한 특성을 나타낸다. 반응함수는 c/pd로 일반화가 가능하며 c와 d는 상수이고 p는 패킷 손실률이다. d가 증가하면 반응함수의 기울기와 RTT 불공정성이 증가한다.

    고속 네트워크에서 가용 대역폭의 높은 활용도는 낮은 패킷 손실률과 높은 전송률을 통해 가능하다. 그림 3은 다양한 TCP Variant들의 패킷 손실률에 대한 평균 혼잡 윈도우인 반응함수를 도시한 것이다. 낮은 패킷 손실률에서 높은 전송률을 갖는 STCP와 HSTCP가 고속 네트워크에서도 가용 대역폭을 충분히 활용 가능함을 나타내는 확장성이 높음을 확인할 수 있다.

    프로토콜의 TCP Friendliness는 반응함수 그래프에서 TCP의 그래프와의 교차점으로 나타내며, 교차점 보다 높은 패킷 손실률에서는 TCP와 유사하게 동작함을 의미한다. 따라서 교차점이 낮은 패킷 손실률에서 나타날수록 TCP Friendliness가 높다. 그러나 교차점이 지나치게 왼쪽으로 이동할 경우 반응함수 그래프의 기울기가 증가하여 RTT 공정성을 저하시키므로 적절한 교차점을 찾는 것이 중요하다.

    COLO TCP의 반응함수 그래프는 기울기가 Cubic TCP나 HSTCP와 유사하고 교차점 또한 같다. 따라서 제안하는 COLO TCP가 기존의 고속 TCP와 같은 TCP Friendliness와 높은 확장성 통해 가용 대역폭을 빠르게 점유하여 높은 처리량을 갖는다. 또한 Diff를 통한 혼잡 윈도우 증가와 RTT를 이용한 혼잡 윈도우 감소를 통해 향상된 RTT 공정성과 TCP Friendlinsee를 나타낸다.

    IV. 실험 결과

    COLO TCP의 성능 평가를 위하여 NS-2 (Network Simulator)를 이용하여 다양한 실험을 수행하였다. 그림 4는 제안한 COLO TCP를 평가하기 위한 실험 환경을 나타낸다.

    실험을 위한 네트워크 토폴로지는 멀티미디어 데이터를 전송한 송신 노드, 데이터를 수신하는 수신 노드, 병목 링크를 구성하는 두 라우터 R1과 R2 그리고 배경 트래픽을 생성하는 노드로 구성되어 있다. 노드와 라우터 사이의 링크는 대역폭이 200Mb, 전송 지연이 10ms이고 라우터 사이의 링크는 대역폭이 100Mb, 전송 지연이 100ms이다. 실험은 송신 노드에서 TCP-Reno, Cubic TCP, Compound TCP 기법과 제안하는 COLO TCP를 사용하여 멀티미디어 데이터를 전송하고 저속 구간에서는 패킷 손실률을 혼잡 회피 구간에서는 혼잡 윈도우 및 처리량 변화, 공정성, 그리고 TCP Friendliness를 비교하였다.

       4.1. 저속 증가 구간에서의 패킷 손실률

    그림 5는 COLO TCP의 저속 증가와 기존 TCP의 저속 증가의 패킷 손실률을 비교한 실험 결과를 나타낸다. COLO TCP의 저속 증가가 기존 TCP의 저속 증가에 비해 패킷 손실률이 낮은 것을 확인할 수 있다.

       4.2. 혼잡 회피 구간에서의 혼잡 윈도우 및 처리량

    그림 6 은COLO TCP와 기존 기법들과의 혼잡 윈도우 변화를 비교한 실험 결과를 나타낸다.TCP-Reno는 느린 대역폭 점유와 급격한 혼잡 윈도우 감소를 보인다. Compound TCP와 Cubic TCP는 초기에 대역폭을 빠르게 점유하지만 예측한 가용 대역폭 보다 낮게 대역폭을 점유하고 혼잡 윈도우의 진동이 심하다. COLO TCP는 가용 대역폭을 빠르게 점유할 뿐만 아니라 가산 증가 알고리즘과 적응 감소 알고리즘을 통해 효율적인 대역폭 점유가 가능한 것을 확인하였다.

    그림 7은 랜덤 손실률이 10−5인 환경에서 COLO TCP와 기존 기법들과의 혼잡 윈도우 변화를 비교한 실험 결과를 나타낸다. TCP-Reno는 랜덤 손실이 발생하지 않았을 때보다 혼잡 윈도우가 급격히 감소하였고, Compound TCP와 Cubic TCP는 랜덤 손실에 대한 알고리즘이 없기 때문에 패킷 손실로 인한 혼잡 윈도우 변동폭이 크다. COLO TCP는 현재 RTT와 최소 RTT의 비율에 따른 적응 감소를 사용하여 RTT가 증가하지 않는 랜덤 손실에 의한 혼잡 윈도우 감소폭이 작다.

    그림 8은 COLO TCP와 기존 기법들과의 처리량을 비교한 실험 결과를 나타낸다. TCP-Reno는 혼잡 윈도우 증가율이 낮은 가산 증가 알고리즘을 사용하여 전체적으로 가용 대역폭을 충분히 점유하지 못하고 있다. Compound TCP는 지연 기반의 혼잡 제어 알고리즘으로 대역폭을 빠르게 점유하지만 예측한 가용 대역폭의 70% 정도만을 점유한다. Cubic TCP는 혼잡 윈도우의 심한 진동으로 인해 COLO TCP 보다 낮은 처리량을 보인다.

    그림 9는 랜덤 손실률이 10−5인 환경에서 COLO TCP와 기존 기법들과의 처리량을 비교한 실험 결과를 나타낸다. TCP-Reno는 낮은 혼잡 윈도우 증가율로 인해 패킷 손실 이후 감소된 혼잡 윈도우를 복구하지 못하여 낮은 처리량을 보인다. Compound TCP와 Cubic TCP는 랜덤 손실로 인해 혼잡 윈도우가 심하게 진동하여 처리량이 감소하였다. COLO TCP 또한 랜덤 손실로 패킷 손실률이 증가함에 처리량이 감소하였지만, RTT의 비율에 따라 감소율을 조정하는 알고리즘으로 인해 RTT가 증가하지 않는 랜덤 손실에 의한 혼잡 윈도우 감소폭이 적어 높은 처리량을 나타낸다.

       4.3. 공정성

    그림 10은 COLO TCP를 포함한 TCP Variant들의 공정성을 Jain's Faimess Index를 통해 비교한 실험 결과를 나타낸다. 동일한 기법을 적용한 세 개의 플로우를 경쟁시켰을 때 대역폭을 공평하게 점유하는 정도를 나타낸 것으로 1에 가까울수록 공정성이 높다. TCP-Reno와 Compound TCP는 Faimess Index 값이 0.7이하로 떨어지며 진동하는 구간이 존재하지만 COLO TCP와 Cubic TCP는 거의 1에 가까운 Fairness Index 값을 유지하는 것을 확인할 수 있다.

    그림 11은 서로 다른 RTT를 갖는 세 COLO TCP 플로우를 경쟁시켜 RTT 공정성을 나타내는 실험 결과이다. 실험은 RTT가 50, 75, 그리고 100ms인 COLO TCP의 혼잡 윈도우 변화를 측정하였다. RTT가 점차 증가 할수록 혼잡 윈도우가 더 크게 증가하지만 RTT가 큰 플로우와 작은 플로우 간의 차이는 크지 않은 것을 확인 할 수 있다. 실제 네트워크에서 RTT가 증가할 경우 네트워크의 BDP (Bandwidth Delay Product)와 버퍼의 크기가 증가하기 때문에 가용 대역폭 또한 증가한다. 따라서 RTT가 큰 플로우와 RTT가 작은 플로우의 최대 혼잡 윈도우 크기가 달라진다. 실험 결과는 이러한 차이를 제거한 후 그래프로 도시화 한 것이다.

       4.4 TCT Friendliness

    그림 12는 COLO TCP와 기존 기법들과의 TCP Friendliness를 비교한 실험 결과를 나타낸다. 실험은 하나의 TCP Variant 플로우와 네 개의 TCP-Reno 플로우를 경쟁시켰을 대의 대역폭 활용도를 비교하였다. Compound TCP는 패킷 손실 기반의 프로토콜과 경쟁할 경우 지연 기반의 혼잡 제어 알고리즘에 의해 처리량이 감소하지만 초기에 빠른 대역폭 점유로 인해 TCP와 유사한 대역폭 활용도를 나타냈다. Cubic TCP는 지나치게 공격적으로 혼잡 윈도우를 증가시켜 TCP-Reno 플로우가 정상동작하기 어려울 정도로 많은 대역폭을 점유하고 있다. COLO TCP는 TCP-Reno가 점유하지 못하고 남은 대역폭을 빠르게 점유함으로써 높은 대역폭 활용도를 나타냈다.

    V. 결 론

    다양한 고성능 모바일 단말의 보급과 네트워크의 급속한 발전으로 멀티미디어 스트리밍 서비스의 이용이 증가하였다. 그러나 TCP는 고속 네트워크에서 다량의 패킷 손실을 유발하며, 전송률을 보수적으로 증가시키는 가산 증가 알고리즘과 전송률을 급격하게 감소시키는 지수 감소 알고리즘으로 인해 네트워크를 충분히 활용하지 못하는 문제가 있다.

    본 논문에서는 효율적인 멀티미디어 전송을 위한 혼잡 제어 기법인 COLO TCP를 제안하였다. 제안하는 COLO TCP는 저속 증가 구간에 오목 증가 알고리즘을 적용하여 다량의 패킷 손실에 의한 성능 저하를 방지하였다. 혼잡 회피 구간에서는 라우터 큐의 데이터 양에 따라 혼잡 윈도우 증가율을 조절하여 패킷 손실 이후 감소된 혼잡 윈도우를 빠르게 복구하는 로그 증가 알고리즘을 적용하였다. 또한 높은 네트워크 활용도와 패킷 손실률을 감소시키기 위해 혼잡 윈도우가 가용 대역폭에 가까워질수록 혼잡 윈도우를 매 RTT마다 1씩 증가시키는 가산 증가 알고리즘과 현재 RTT와 최소 RTT의 비율에 따라 적응적으로 혼잡 윈도우를 감소시키는 적응 감소 알고리즘을 적용하였다. 적응 감소 알고리즘은 현재 RTT와 최소 RTT의 비율에 따라 감소율을 조절하므로 랜덤 손실에 의한 성능 저하를 방지한다. 실험을 통해 제안하는 COLO TCP가 기존의 혼잡 제어 기법에 비해 높은 전송률과 처리량을 보였고, 랜덤 손실에 강인한 특성을 나타냈다. 또한 COLO TCP는 높은 처리량을 유지하면서 동일 플로우간 공평성, RTT 공평성, 그리고 TCP Friendliness를 향상시켰다.

    향후 연구과제로 고속 네트워크의 버퍼 크기 증가로 인한 네트워크 지연 현상인 Bufferbloat 현상을 고려한 AQM (Active Queue Management)에 관한 연구와 지연 기반의 혼잡 제어 기법을 연구하여 손실 기반의 혼잡 제어 기법인 COLO TCP의 성능을 향상시킬 수 있는 알고리즘에 대한 연구를 수행할 것이다.

참고문헌
  • 1. Oyman O., Foerster J., Tcha Y., Lee S. 2010 “Toward Enhanced Mobile Video Services over WiMAX and LTE,” [IEEE Communications Magazine] Vol.48 P.68-76 google cross ref
  • 2. Thompson G., Chen Y. 2009 “IPTV: Reinventing Television in the Internet Age,“ [IEEE Internet Computing] Vol.12 P.11-14 google
  • 3. Begen C., Akgul T., Baugher M. 2011 “Watching Video over the Web Part 1: Streaming Protocols,” [IEEE Internet Computing] Vol.15 P.54-63 google cross ref
  • 4. Floyd S., Ratnasamy S., Shenker S. 2002 “Modifying TCP's Congestion Control for High Speeds,” google
  • 5. Kelly T. 2003 “Scalable TCP: Improving Performance in HighSpeed Wide Area Networks,” [ACM SIGCOMM Computer Communication Review] Vol.33 P.83-91 google
  • 6. Floyd S. 2003 “HighSpeed TCP for Large Congestion Windows,” RFC 3649 google
  • 7. Ha S., Rhee I., Xu L. 2008 “CUBIC: A New TCP-friendly High-speed TCP Variant,” [ACM SIGOPS Operating System Review] Vol.42 P.64-74 google
  • 8. Tan K., Song J., Zhang Q., Sridharan M. 2006 “A Compound TCP Approach for High-speed and Long Distance Networks,” [in Proc. of the IEEE INFOCOM] P.1-12 google
  • 9. Konda V., Kaur J. 2009 “RAPID: Shrinking the Congestioncontrol Timescale,” [in Proc. of the IEEE INFOCOM] P.1-9 google
OAK XML 통계
이미지 / 테이블
  • [ 그림 1. ]  COLO TCP의 혼잡 윈도우 제어
    COLO TCP의 혼잡 윈도우 제어
  • [ 그림 2. ]  저속 증가 구간에서 오목 증가
    저속 증가 구간에서 오목 증가
  • [ 표 1. ]  다양한 TCP 프로토콜들의 가용 대역폭 점유 소요 시간
    다양한 TCP 프로토콜들의 가용 대역폭 점유 소요 시간
  • [ 그림 3. ]  반응함수
    반응함수
  • [ 그림 4. ]  실험 환경
    실험 환경
  • [ 그림 5. ]  저속 증가 구간에서 패킷 손실률 비교
    저속 증가 구간에서 패킷 손실률 비교
  • [ 그림 6. ]  혼잡 윈도우 크기 변화
    혼잡 윈도우 크기 변화
  • [ 그림 7. ]  랜덤 손실이 있는 환경에서 혼잡 윈도우 변화
    랜덤 손실이 있는 환경에서 혼잡 윈도우 변화
  • [ 그림 8. ]  처리량 변화
    처리량 변화
  • [ 그림 9. ]  랜덤 손실이 있는 환경에서 처리량 변화
    랜덤 손실이 있는 환경에서 처리량 변화
  • [ 그림 10. ]  다중 플로우의 공정성 비교
    다중 플로우의 공정성 비교
  • [ 그림 11. ]  RTT 공정성 비교
    RTT 공정성 비교
  • [ 그림 12. ]  TCP friendliness 비교
    TCP friendliness 비교
(우)06579 서울시 서초구 반포대로 201(반포동)
Tel. 02-537-6389 | Fax. 02-590-0571 | 문의 : oak2014@korea.kr
Copyright(c) National Library of Korea. All rights reserved.