이질적무선망사이의수직적핸드오프에서의 TCP 성능분석 TCP Performance Study in Vertical Handoff across Heterogeneous Wireless Networks 백상헌 ( 白尙憲, Sangheon Pack), 최양희 ( 崔陽熙, Yanghee Choi) 서울대학교 (Seoul National University) * 연구세부분야 : 정보통신 주소 : (151-742) 서울시관악구신림동산 56-1 서울대학교 301동 518호멀티미디어통신연구실 전화 : 02-880-1832 FAX : 02-872-2045 E-Mail : 백상헌 : shpack@mmlab.snu.ac.kr, 최양희 : yhchoi@snu.ac.kr 이질적무선망사이의수직적핸드오프에서의 TCP 성능분석 TCP Performance Study in Vertical Handoff across Heterogeneous Wireless Networks 요약 TCP는웹브라우징, 이메일, 파일전송등에서사용되는가장중요한인터넷프로토콜중의하나이다. 하지만 TCP는링크에러율이극히적은유선망에적합하도록설계되었기때문에무선망에적용되었을경우성능저하현상을가져오게된다. 이러한문제의해결을위해서많은연구가진행되었다. 하지만기존연구의경우단일링크특성을가지는무선망 ( 즉, 동질적무선망 ) 에서의이동성만을고려하여 TCP의성능을분석하였다. 하지만차세대무선 / 이동통신망의경우여러다양한무선망이혼합된이질적무선망이될것이다. 따라서이러한이질적무선망에서의 TCP의성능을분석하는것이필요하다. 본논문에서는이러한이질적무선망에서의단말기의이동성에따른 TCP 성능을분석한다. 그결과기존의연구결과에서는볼수없던다른형태의 TCP 성능저하현상을경험할수있었는데이는이질적무선망사이의수직적핸드오프로인한패킷손실과링크특성 ( 대역폭과링크지연시간 ) 의급격한변화로인해 TCP의재전송타이머등이새로운링크특성에맞지않게설정되기때문에발생하는것이다. 다양한시뮬레이션분석결과기존의다양한 TCP 개선기법으로는이러한문제를완전히해결할수없고새로운접근기법이필요하다는것을알수있었다. * 키워드 : TCP, 성능분석, 수직적핸드오프, 이질적무선망, 시뮬레이션 Abstract
TCP (Transmission Control Protocol) is one of the most important Internet protocols, which is widely used in wireless networks as well as wired networks. However, when TCP is deployed for wireless networks, it takes severe performance degradation because TCP was designed for wired network. To overcome this drawback, a number of TCP variants have been proposed in the literature. However, most previous schemes did not consider TCP enhancement over heterogeneous networks. In heterogeneous networks, an mobile node (MN) may move from one access network to another (i.e., vertical handover). In the case of vertical handover, an MN experiences a TCP performance degradation caused by the packet loss and the sudden change of link characteristics between two different access networks. In this work, we investigate the TCP performance degradation occurred in vertical handover across heterogeneous networks. First, we have conducted the measurement study over GPRS-WLAN testbed. In the measurement study, we observed the TCP performance degradation in the case of handover from WLAN to GPRS. In order to study more different TCP behaviors during vertical handover, we performed comprehensive simulations using a network simulator 2 (ns-2). Based on measurement and simulation results, we investigated how to improve TCP performance in vertical handover and we concluded that the existing mechanisms cannot be perfect solutions and new mechanisms are strongly required. * Keyword : TCP, Performance analysis, Vertical handoff, Heterogeneous wireless networks, Simulation 1. 서론 TCP (Transmission Control Protocol) 는현재가장널리쓰이는인터넷프로토콜중의하나로웹브라우징, 이메일, 파일전송등과같은여러프로그램에서사용되는아주중요한프로토콜이다. 이러한 TCP는기본적으로유선망에서사용되기위해서만들어졌기때문에무선망에서사용될경우심각한성능하락을가져오게된다. 이러한성능하락의기본적인이유는 TCP는패킷손실의이유를항상네트워크의혼잡 (Congestion) 이라고판단하여네트워크로보내는패킷의전송률을크게낮추기때문이다 [1]. 하지만무선망의경우네트워크의혼잡이전혀없는경우에도무선링크의높은에러율과가변적인채널상태등으로인해서패킷손실이발생할수있다. 이런경우 TCP의전송측에서전송율을떨어뜨리게되면결국전체네트워크의효용성 (Utilization) 이떨어지는문제가발생하게된다. 이러한문제를해결하기위해서 Indirect TCP [2], M-TCP [3], Snoop 프로토콜 [4] 등과같은많은기법들이제안되었다. 이러한방법들은접근방법에따라종단간기법, 분리형기법, 지역적재전송기법등으로나뉘어볼수있다 [1]. 하지만이러한기법들은하나의무선엑세스망으로구성된균질한무선망 (Homogeneous wireless networks) 을대상으로하였기때문에서로다른링크특성을가지는무선엑세스망이혼합된이질적무선망 (Heterogeneous wireless networks) 에서발생하는 TCP의성능저하에대해서는고려하고있지않다. 최근의몇몇연구를 [5, 6] 통해이질적무선망에서의 TCP 성능이분석되었지만대부분 TCP 자체의개선보다는핸드오프지연시간이 TCP 성능에미치는영향과지연시간을줄이는방법을주로연구하였다. 본연구에서는이러한이질적인무선엑세스망의핸드오프과정에서발생하는 TCP 성능저하문제를분석하고 TCP의개선을통한성능향상기법을고려하였다. 이질적인무선엑세스망이란서로다른특성을가지는무선엑세스망이서로연동되어운영되는무선망을의미한
다. 유럽식무선데이터서비스표준인 GPRS (General Packet Radio Service) [7] 와최근무선인터넷수요가많은공공장소에설치되고있는무선랜 (WLAN: Wireless Local Area Network) [8] 을연동하여 GRPS-WLAN 망을구성하는것이이러한이질적인무선엑세스망의좋은예이다. 차세대인터넷의경우비단 GPRS와 WLAN 뿐만이아니라블루투스, 3세대이동통신망등의기술이적용되면보다다양한형태의이질적인무선엑세스망이나타나게될것이다. 무선 / 이동통신망의경우이동단말기가네트웍에대한자신의접속지점을수시로바꾸기때문에사용자들에게지속적인서비스의제공을위해서는핸드오프 (Handoff) 라는기술이필요하다. 이질적무선엑세스망에서의핸드오프는서로다른엑세스망사이를이동하는것이기때문에기존의핸드오프 ( 즉, 수평적핸드오프 (Horizontal Handoff)) 와구별하여수직적핸드오프 (Vertical Handoff) 라고불린다. 수직적핸드오프의경우서로다른엑세스망사이를이동하기때문에 AAA (Authentication, Authorizing, and Accounting) 과정등으로인해보다큰핸드오프지연시간이발생하게된다. 앞서소개한무선망에서의 TCP 성능개선을위한방법들은모두이러한이질적무선엑세스망에서의링크특성의변화는고려하지않았다. 하지만, 수직적핸드오프가발생하는경우에는무선링크특성의갑작스런변화로인해새로운형태의 TCP 성능저하현상을겪게된다. 본논문에서는이러한이질적무선엑세스망에서의수직적핸드오프로인해발생하는 TCP 성능변화를분석하고자한다. 본논문의구성은다음과같다. 2절에서는수직적핸드오프로인해발생할수있는 TCP 성능저하의요인을소개한다. 3절에서는 GPRS-WLAN 테스트베드에서관찰한 TCP의성능변화를기술하고 4절에서는모의실험을통해보다구체적인형태의 TCP 성능변화를분석한다. 5절에서는이러한 TCP 성능저하현상을완화시킬수있는접근방법을제시하고 6장에서결론을맺는다. 2. 수직적핸드오프에서의 TCP 성능저하요인 앞에서언급한바와같이본연구에서는서로다른링크특성을가지는무선엑세스망사이를무선단말기가이동하 는경우에발생하는 TCP 의성능저하문제를다루고있다. 이러한성능저하의원인은크게 2 가지로분석해볼수있다. 2.1 핸드오프과정에서의패킷손실 한무선단말기가한엑세스라우터에서다른엑세스라우터로이동하는경우새로운엑세스라우터의발견과위치등록, 인증과정등을거쳐야하기때문에핸드오프지연시간이발생하게된다. 따라서이러한지연시간내에도착한패킷들은손실이된다. 이러한손실을최소화하기위해서버퍼링, 다중연결등의기법들이제안되었지만실제네트워크에서실험결과이러한방법들을사용하는경우에도일부패킷의손실은피할수없다는사실을알수있었다. 더군다나서로다른네트워크사이의핸드오프과정에서는사용자인증, 등록등을위해서더많은시간이소비되기때문에더많은패킷손실이발생하게된다. TCP 성능의관점에서볼때패킷손실이발생한경우 TCP의전송측은네트워크에서혼잡이발생한것으로간주하여전송율을크게떨어뜨리게된다. 하지만핸드오프에의한패킷손실은네트워크의혼잡에의해서발생한것이아니기때문에이는결국네트워크의효용성을떨어뜨리는결과를가져오게된다. 2.2 갑작스런 RTT 의변화 앞에서설명한핸드오프로인한패킷손실은널리알려진문제이다. 하지만본연구에서초점을맞춘부분은이질적
인네트워크사이의핸드오프에서발생하는 RTT(Round Trip Time) 의갑작스런변화에의한 TCP의성능저하문제이다. TCP는신뢰성있는전송을위해서데이터를보내고그것에대한 ACK을받는과정을반복하면서데이터를전송한다. 이때데이터가제대로전송되었는지여부는 ACK이오느냐오지않느냐로판단할수있는데전송측에서는하나의재전송타이머 (Retransmission timer) 를통해 ACK이올때까지기다리게된다. 만약타이머가다경과할때까지 ACK이오지않았다면전송측은그패킷이손실되었다고가정을하고그패킷을재전송하고전송율을제어하는 cwnd와 ssthresh의값을각각 1과 cwnd/2로줄이게된다. 이러한재전송타이머의값은현재네트워크의상태를반영하기위해서데이터전송과정에서얻게된 RTT 값을이용하여타이머의값을변화시키게된다 [9]. 바로이러한 TCP의동작방식으로인해서서로다른특성의엑세스망을이동하는경우에문제가발생한다. 예를들어, 대역폭이아주높고지연시간이아주짧은네트워크 (A) 에서대역폭이낮고지연시간이긴네트워크 (B) 로이동하는경우를생각해보자. 이경우네트워크 (A) 에서처음에 TCP의재전송타이머는짧은 RTT 값으로인해아주짧은값으로설정되어있을것이다. 하지만네트워크 (B) 로무선단말기가이동한경우에는패킷손실이없다고하더라도네트워크의지연시간이아주길기때문에네트워크 (A) 에서설정된재전송타이머가경과한후에야 ACK이도착하는문제가발생하게된다. 이런경우에는전송측은불필요한재전송을하게되고 cwnd, ssthresh 등의값을크게줄이기때문에전체적인 TCP 성능과네트워크의효용성이떨어지는문제가발생한다. 이렇게네트워크의큰지연시간으로인해타이머종료가성급하게발생하는문제를의심스러운타임아웃 (Spurious timeout) 이라고한다. 이러한의심스러운타임아웃의문제를해결하기위해서 TCP eifel 이란방법이제안되었다 [10]. 이방법은첫번째재전송의시점을기억한뒤에 ACK이도착하게되면기억한시점과비교를해서앞서발생한타임아웃이의심스러운타임아웃인지여부를결정하게된다. 만약의심스러운타임아웃이라면타임아웃이전의 cwnd와 ssthresh 값을복원해서뒤에이어지는패킷을전송하게되고의심스러운타임아웃이아니라면그대로전송을계속하게된다. 이러한 TCP eifel 기법이의심스러운타임아웃의문제를해결해줄수는있지만본연구에서대상으로하는이질적인네트워크의핸드오프과정에서는핸드오프로인한패킷손실이발생하기때문에 TCP eifel 만으로는효과적으로 TCP 의성능저하를막을수없다. 이문제는 4.3절에서시뮬레이션결과를통해분석할것이다. 3. GPRS-WLAN 테스트베드에서의 TCP 성능측정 3.1 시스템아키텍쳐 이질적인무선엑세스망에서의핸드오프과정에서발생하는 TCP 성능저하현상을파악하기위해서먼저 Fraunhofer FOKUS의 MOBIS 팀에서구축한 GRPS-WLAN 테스트베드 [11] 를통해그현상을관찰해보았다. 그림 1은 MOBIS 팀에서구축한 GRPS-WLAN의전체적인아키텍쳐를보여준다. GPRS는유럽의이동통신표준인 GSM에서무선데이터서비스를지원하기위해서확장된패킷서비스전용무선망이다 [7]. 반면 WLAN은현재국내에서도활발히서비스가시작되고있는 IEEE 802.11b에기반한무선랜시스템이다. 이러한 GPRS-WLAN 테스트베드상에서무선단말기의이동성을지원하기위해서 Mobile IPv4 프로토콜스택을설치하였다. Mobile IPv4 프로토콜은헬싱키대학에서배포한프로토콜스택을이용하였다 [12]. 최근에 Mobile IPv6에대한표준화작업이완료되었지만현재의 GPRS, UMTS 망의경우 Mobile IPv4만을기본적으로지원하기때문에 [6] 본연구에서도 Mobile IPv4를가정하였다. 향후연구에서는 Mobile IPv6와그와관련된여러확장기법을통해이동통신망과 WLAN을연동할수있을것이다.
그림 1) GPRS-WLAN 테스트베드아키텍쳐 3.2 테스트베드에서의 TCP 성능분석 아래의그림 2는 GPRS-WLAN 테스트베드에서의 TCP를사용하였을때의데이터전송결과를보여준다. 여기서는한호스트 (CN:Correspondent node) 가이동단말기 (MN: Mobile node) 로 TCP를사용하여데이터를전송하고 MN가 WLAN에서 GPRS로핸드오프를하는경우의 TCP 패킷의시퀀스를보여준다. 그림 2 의결과를보면핸드오프가발생한경우다수의타임아웃이발생하였음을알수있다. 타임아웃이발생한시 점은송신측이재전송을수행하는시점과일치한다. 이렇게다수의타임아웃이발생하는이유는 WLAN 의경우네트워크
의지연시간이아주짧아서 TCP의재전송타이머가아주짧게설정이되기때문이다. 이러한짧은재전송타이머를네트워크의지연시간이긴 GPRS 네트워크에서그대로사용하게되면송신측은성급하게타임아웃을발생시키고해당패킷을재전송하게된다. 그림 2를보면송신측이재전송을하고난뒤에다수의중복된 ACK이도착하는것을알수있다. 중복된 ACK은순서가틀리게패킷이도착했거나중간에일부패킷이손실이있는경우에발생한다. 따라서여기서는핸드오프과정에서일부패킷이손실되었다는것을알수있다. 여기서관찰할수있는 TCP 성능저하현상은바로재전송이후에 cwnd의크기를 1로줄여서 slow start (SS) 를시작함으로써 1) 전체네트워크의효용성이떨어진다는사실이다. 하지만이경우의패킷손실은네트워크의혼잡으로인해서발생한것이아니고핸드오프과정에서새로운경로를설정하고등록하는데걸린지연시간으로인해발생한것이므로 TCP 전송측이전송률을떨어트리는것은효용성의측면에서효과적이지못하다. 따라서이를위한 TCP의개선이필요하다. 4. 시뮬레이션을통한 TCP 성능분석 GPRS-WLAN 테스트베드에서의 TCP 성능분석후보다구체적인성능분석을위해서네트워크시뮬레이터인 NS-2 [13] 를이용하여 TCP의성능을분석해보았다. NS-2 는패킷네트워크상에서의시뮬레이션을위해서만들어진시뮬레이션툴로서그정확성과다양한프로토콜지원특성으로인해가장널리사용되는시뮬레이션툴중의하나이다. 4.1 시뮬레이션방법론 본연구에서는앞서말한바와같이 NS-2를이용하여무선링크의특성변화가 TCP의성능에미치는영향을분석하고자하였다. 이를위해우선 NS-2에서지원하는 TCP 모듈을일부수정하였다. 즉, 기존의 TCP 모듈의경우연결중간에하위링크의특성이바뀌는것을지원하지않기때문에이에대한수정이필요하다. 이러한수정을위해우리는문맥전달 (context transfer) 의개념을이용하였다. 즉, 하나의 TCP 연결을생성시켜 A 형식의링크상에서동작시킨다음, 핸드오프가발생하는시점을고려해서그 TCP 연결을중단시킨다. 그리고는중단된 TCP 연결의다양한상태정보 ( 현재의시퀀스번호, 마지막 ack 번호, cwnd의크기, 타이머, ssthresh의크기등등 ) 의값을얻어낸다. 그런다음얻어낸정보를 B 형식의링크상에서동작하게될또다른 TCP 연결의초기값으로설정하게된다. 그런다음 B 형식의링크상에서의문맥이전달된 TCP를실행하게되면기존의 TCP가핸드오프과정을거친후의 TCP로동작하는것과같은동일한효과를얻을수있다. 이러한과정을지원하기위해서 NS-2의기존 TCP 모듈에몇개의상태정보를나타내는변수를추가로선언하였다. 시뮬레이션에사용한기본적인링크특성은다음과같이설정되었다. -. 링크 A 의특성 : 40Kbps 의대역폭과 800ms 의지연시간 -. 링크 B 의특성 : 4Mbps 의대역폭과 80ms 의지연시간 위의링크특성은링크 A 의경우 GPRS 의링크특성을, 링크 B 의경우 IEEE 802.11b 의링크특성을반영하기위한 값들이다. IEEE 802.11b 는이론상으로 11Mbps 까지의대역폭을지원할수있지만여러단말기가존재하는경우충돌로 인한대역폭감소와무선링크의가변적인특성으로인해실제로는약 3-4Mbps 의대역폭을얻을수있다. GPRS 링크의
경우더가변적인링크지연시간을가지게되는데참고문헌에의하면수백 ms 의지연시간을가지는것으로알려 져있다 [14]. 그리고 awnd 는 20, 패킷사이즈는 1000 바이트로설정되었다. 4.2 시뮬레이션결과 I: A 링크에서 B 링크로의핸드오프 우선낮은대역폭의무선엑세스망에서높은대역폭의무선엑세스망으로핸드오프를하는경우의 TCP 동작을살 펴보았다. 그림 3 은시뮬레이션에의한 TCP 의동작과정을보여준다. 본시뮬레이션을위한시나리오는아래와같다. 표 1 링크 A 에서링크 B 로의핸드오프시나리오 시간 동작 0.0 tcp0 시작 14.63 이동단말기가핸드오프를시작 14.67 이동단말기의핸드오프가이전엑세스라우터에통보되 고버퍼링이시작 14.71 tcp0 에서 tcp1 으로의정보전달 14.71 tcp1 시작 17.50 종료 4.2.1 핸드오프로인한패킷손실과포워딩과정 시뮬레이션시나리오에따라이동단말기가구간 C의시간 14.63에핸드오프를시작하게된다. 따라서시간 14.63 이후에전송된 48-61번패킷은모두손실이된다. 핸드오프가완료된시간 14.71에서이전엑세스라우터 (old access router: oar) 는이동단말기로버퍼링된 64번패킷을보내게된다. 여기서 64번패킷만이버퍼링되어서전달되는이유는이동단말기가핸드오프이전에보낸 45-47번에대한 ACK의경우링크 A의높은지연시간으로인해시간 14.71 이후에도착하기때문에핸드오프진행되는시점에서송신측이가지고있는가장높은 ACK 번호는여전히 44번이기때문이다. 따라서송신측의유효한윈도우크기는 45번에서 64번까지 20개 (=min{cwnd, awnd}) 가되는것이다. 결국, 14.71 이후에도착하는 45-47번에대한 ACK은누적된 ACK (cumulative ACK) 기법에의해무시된다. 4.2.2 중복된 ACK의수신과재전송 송신측은시간 14.87216에 14.71에서전송한패킷 64번에대한 ACK을받게되는데, 이경우 48-61까지의패킷손실이있었기때문에 64번이아닌 47번에대한 ACK을받게된다. 그러면송신측의입장에서는 47번에대한 ACK은새로운 ACK이므로이에대해서다시 65, 66, 67번패킷을보내게되고이를받은수신측은다시중복된 ACK인 47번에대한 ACK을보내게된다. 결국 65, 66, 67번패킷에대해서계속해서중복된 ACK이오게되므로시간 15.03848에서세번째중복된 ACK을받게된다. 그러면송신측은세번째중복된 ACK에대해서 Fast retransmission을수행하게
그림 2) 링크 A 에서링크 B 로의핸드오프시뮬레이션결과 되므로시간 15.03848 에 48 번패킷을재전송하고 TCP Tahoe 알고리즘에의해 SS 상태로들어가서 cwnd 는 1 이되고 ssthresh 는 10(=20/2) 이된다. 4.3 시뮬레이션결과 II: B 링크에서 A 링크로의핸드오프 - 패킷무손실의경우 다음으로는링크 B에서링크 A로의핸드오프가발생할때의 TCP의성능을분석하였다. 우선핸드오프로인한패킷손실이없는경우를살펴보자. 이를위한시뮬레이션시나리오는표 2와같다. 우선시간 0.0에서 tcp0이시작하고시간 2.07에서 TCP의수신측 ( 즉, 이동단말기 ) 이핸드오프를시작한다. 그러면이동단말기가이동한사실은시간 2.10 에송신측에감지되어송신측은전송을중단한다. 핸드오프를시작한무선단말기는시간 2.15에핸드오프를완료하고 tcp0에서의 TCP 관련정보를얻은다음에새로운 tcp1을시작하게된다. 즉, 이경우에서의핸드오프지연시간은 2.15-
2.07=0.08s=80ms 가된다. 이와같은시나리오에서발생한 TCP 동작은그림 4 에나와있다. 그림 4 에서각부분의 TCP 동작을살펴보자. 시간 동작 0.0 tcp0 시작 2.07 이동단말기이핸드오프를시작 2.10 이동단말기의핸드오프가이전엑세스라우터에통보되 고버퍼링이시작 2.15 tcp0에서 tcp1으로의정보전달 2.15 tcp1 시작 39.0 종료 4.3.1 패킷버퍼링을통한무손실핸드오프 이전시뮬레이션과마찬가지로 A구간과 B구간에서는각각 SS와혼잡방지 (Congestion Avoidance: CA) 에의해서패킷을전송하게된다. 구간 C의시간 2.07에이동단말기는핸드오프를시작한다. 하지만송신측이수신측으로보냈던모든패킷은시간 2.07 이전에도착하기때문에핸드오프로인한패킷손실은발생하지않는다. 패킷손실을막기위해서이동단말기는시간 2.10에핸드오프를시작했다는사실을이전의엑세스라우터에알리게된다. 그러면이전엑세스라우터는그이후에도착하는패킷은전송하지않고버퍼링을시작하게된다. 4.3.2 타임아웃의발생과 ACK 모호성문제 시간 3.15에서이동단말기는새로운엑세스라우터 (new access router: nar) 에연결이되고 HA와 CN에대한바인딩업데이트를완료하게된다. 그런다음에이전엑세스라우터에버퍼링되었던 20개의패킷 (192번부터 211번 ) 이이동단말기로일괄적으로전송된다. 이상황에서송신측은여전히 192번패킷에대한 ACK을기다리고있다. 이때 192번에대한 ACK을기다리고있는재전송타이머는링크지연시간이아주짧은링크 B에서측정된 RTT에기반하여설정이된것이기때문에상당히짧게설정되어있다. 따라서송신측은충분한시간동안 ACK을기다리지않고성급하게시간 3.15 에서타이아웃을발생시키고패킷을재전송하게된다. (RFC 2988 [15] 에의하면아주짧은재전송타이머가설정되는것을방지하기위해서재전송타이머의최소값을 1.0으로규정하고있고 NS-2도이값을따르고있다.) 시간 3.966에송신측은패킷 192에대한 ACK을받게된다. 하지만송신측은이 ACK이처음에보낸 192번에대한 ACK인지재전송한 192번에대한 ACK인지를구별할수없다. 즉, 이경우에 ACK 모호성 (ambiguity) 문제가발생한다. 결국송신측은 192번 ACK을재전송에의한 ACK으로간주하여 cwnd를 1에서 2로증가시켜 193, 194 패킷을보내면서 SS
를시작한다. 4.3.3 의심스러운타임아웃 (spurious timeout) 현상 D 구간의시간 8.126에송신측은패킷 211에대한중복된 ACK을받게된다. 이는시간 3.15에서송신측이성급하게패킷 192를재전송하였기때문에발생한중복된 ACK이다. 이러한 211에대한중복된 ACK은시간 8.334, 8.542에도계속수신된다. 하지만이경우 3번째중복 ACK에대해서 Fast retransmission은적용되지않는다. 왜냐하면이미 3.15에서타임아웃이발생했었고타임아웃이발생한시점에서유효한데이터 (outstanding data, 패킷을보냈고아직 ACK을받지못한데이터 ) 는 192번부터 211번까지이기때문이다. 즉, TCP에서는중복된 ACK에의해서여러번패킷이재전송되는현상을막기위해서재전송되는시점에서의유효데이터에대해서모두 ACK을수신할때까지는추가적인재전송을금지하고있다. 이와같은중복된 ACK은시간 12.078까지계속되는데이는실제핸드오프과정에서패킷손실이없었는데도불구하고시간 3.15에서타임아웃이걸린뒤에이미제대로전송된데이터를다시재전송을했기때문에발생한것이다. 즉, 이는의심스러운타임아웃에의한현상이다. 4.3.4 RTT의갱신과혼잡방지과정 시간 12.286에는패킷 212에대한새로운 ACK이도착하고이로인해 cwnd는 2로증가한후 SS에의해서전송을계속하게된다. 또한새로운 ACK을수신하였으므로송신측은현재링크의 RTT를갱신하게되고이후부터는링크 A에대한 RTT값에기반한새로운재전송타이머가사용된다. 시간 13.742에서는 219번패킷에대한새로운 ACK이도착하고 cwnd는 ssthresh와같은 5가되면서이후부터송신측은 CA 과정을수행하게된다. 그림 3) 링크 A 에서링크 B 로의핸드오프시뮬레이션결과 ( 패킷무손실 )
4.4 시뮬레이션결과 III: B 링크에서 A 링크로의핸드오프 -패킷손실의경우 세번째시뮬레이션은두번째시뮬레이션과거의유사한시나리오에서이루어졌다. 다만무선단말기가핸드오프를시작하는시점이시간 2.06이기때문에이경우이동단말기는 189-191, 3개의패킷을받지못하게된다. 이외의시나리오는패킷손실이없는경우와동일하다. 표 3 링크 B 에서링크 A 로의핸드오프시나리오 ( 패킷손실 ) 시간 동작 0.0 tcp0 시작 2.06 이동단말기가핸드오프를시작 2.10 이동단말기의핸드오프가이전엑세스라우터에통보되 고버퍼링이시작 2.14 tcp0에서 tcp1으로의정보전달 2.14 tcp1 시작 39.0 종료 4.4.1 패킷손실의발생 세번째시뮬레이션에이동단말기는시간 2.06에핸드오프를시작한다. 시간 2.06까지는 172번에서 188번까지의패킷만이수신측에도착했기때문에결국 189-191, 3개의패킷은손실되는결과를초래한다. 시간 2.10에이전엑세스라우터는수신측이핸드오프한사실을알게되고그러면이전엑세스라우터는수신측이위치등록과정을마칠때까지수신측으로패킷을보내는것을중단하고그이후에오는패킷 (192-208) 을모두버퍼링하게된다. 여기서총 17개의패킷만이전송되는이유는앞선과정에서 3개의패킷이손실되어송신측에도달한 ACK 패킷의개수가총 17개이기때문이다. 4.4.2 타임아웃의발생 시간 2.14에수신측은새로운엑세스라우터로핸드오프를완료한다. 그러면이전의엑세스라우터는버퍼링된 17 개의패킷을수신측으로전송한다. 이때송신측은 189번에대한 ACK을기다리고있다. 하지만앞에서말한대로 189번부터 191번까지의패킷이손실되었기때문에 189번에대한 ACK은도착하지않는다. 뿐만아니라링크 B 상에서설정된재전송타이머가사용되기때문에재전송타이머는아주짧은값을유치하게된다. 따라서시간 3.14에첫번째타임아웃이발생하고구간 C의시간 3.956에패킷 188에대한 ACK이도착한다. 이는버퍼링후수신측으로전송된 192번에대한 ACK인데 189-191번패킷이손실되어수신되지못했기때문에수신측은계속해서 188번에대한 ACK을보내는것이다. 이러한모든 ACK들은새로운 ACK이아니기때문에무시되고시간 5.14(=3.14*1.0*2) 에두번째타임아웃이발생한다.
두번째타임아웃후에는 cwnd는 1로 ssthresh는기존 cwnd의값의 1/2인 0.5 가되어야하지만 NS-2의 TCP 구현에서사용되는최소 ssthresh 값이 2이기때문에 2로설정된다. 두번째타임아웃이후에도계속해서 188번에대한중복된 ACK이도착하다가시간 7.492에서 189번에대한새로운 ACK이도착하게된다. 그러면 cwnd는 SS 과정에의해서 2가되고 190과 191, 두개의패킷을전송하게된다. 그러면 ssthresh 값이앞에서 2로설정되었기때문에 TCP 송신측은그이후로는 CA를수행하게된다. 4.4.3 CA 과정과추가의중복된 ACK 수신 그림 4) 링크 B 에서 A 로의핸드오프 ( 패킷손실 ) 시간 9.308에는 190번에대한새로운 ACK을받게되므로 cwnd는 CA에의해 2.5(=2+1/2) 이되고 192번패킷을전송한다. 여기서 cwnd가 2.5이기때문에 2개의패킷을보낼수있지만현재 sliding window의범위에있는것이 191, 192 번이므로 192번만보내게된다. 이는 191번에대한 ACK은아직받지못했기때문이다. 시간 9.516에는 208번에대한 ACK이도착하는데그러면송신측은 208번까지의모든데이터는올바르게수신되었다고가정하고 209, 210 번패킷을보내게된다. 구간 E의시간 11.124에는또다른중복 ACK인 208번에대한 ACK이도착한다. 이는시간 9.308에서 192번을재전송했기때문에발생하는것인데실제 192번은손실되지않고제대로수신이되었기때문에수신측은 192번패킷을받은뒤에중복 ACK을발생시키게되는것이다. 즉, 재전송된 191번까지의패킷을수신한뒤에수신측은 189번에서 208번까지의모든패킷을제대로수신하였는데그뒤에다신 192번이도착했기때문에중복된 ACK을발생시킨다. 하지만송신측은첫번째중복 ACK이므로이를무시하게되고시간 11.332에 209번에대한새로운 ACK을받게되면 211, 212번패킷을보내면서 CA에의해전송을계속하게된다.
5. TCP 성능개선을위한방안 본논문에서는이질적인무선엑세스망에서수직적핸드오프가발생할때의 TCP 성능저하현상을파악하였다. 이러한성능저하의주된원인은 4장에서제시한시뮬레이션결과에서도알수있듯이핸드오프과정에서발생하는패킷손실과링크특성의변화로인해적합하지않은재전송타이머의값이사용되기때문이다. 4.2장과 4.4장의시뮬레이션결과에서볼수있듯이핸드오프과정에서의패킷손실은 TCP 성능저하를초래하게된다. 이러한패킷손실을최소화하기위해서는현재 IETF에서논의되고있는핸드오프기법을활용할수있다. 즉, 지역에이젼트 (Local Agent) 를통해홈에이젼트 (Home Agent) 로의등록지연시간을줄이는 Hierarchical Mobile IP, Regional registration 등과같은지역적이동관리기법이나링크계층에서의핸드오프에대한힌트를 IP 계층에서의핸드오프처리과정에활용하는 Fast Handover, Low latency handoff 등의기법이그대표적인예이다. 뿐만아니라이러한기법들은엑세스라우터간의터널링이나동시바인딩 (Simultaneous binding) 등의기법을활용하여패킷손실을줄이게된다. 4.3장에서살펴보았듯이핸드오프과정에서의패킷손실뿐만아니라부적절한재전송타이머값역시 TCP 성능저하의중요한한요인이다. 이러한재전송타이머로인한성능저하를줄이기위해서는발생한타임아웃이의심스러운타임아웃인지를우선구별할필요가있다. 이를위해서 TCP Eifel [10, 16], Freeze [17] 등의기법을이용할수있다. 이방법의경우발생한타임아웃이의심스러운타임아웃인경우 TCP의상태값을이전의값으로복구함으로써 TCP 성능저하를막게된다. 하지만링크지연시간이짧은곳에서큰곳으로핸드오프를한경우이러한의심스러운타임아웃을판별하기이전에다수의재전송이발생할수도있기때문에 TCP Eifel만으로도 TCP 성능저하를완벽하게막을수는없다. 따라서수직적핸드오프과정에서링크특성의변화를빠르게감지할수있는기법이필요하다. 뿐만아니라 TCP Eifel은핸드오프에의한패킷손실은고려하지않았기때문에수직적핸드오프에서의 TCP 성능저하를막기위해서는앞에서말한개선된핸드오프기법과의심스러운타임아웃을모두고려하는기법이필요하다. 이와같은수직적핸드오프에서의 TCP 성능을개선하기위해서는 [18] 에서논의된바와같이 Cross layer의개념을적용할수있을것이다. 즉, 링크계층의정보를이용하여핸드오프를예측하여핸드오프로인한패킷손실을줄이고링크계층의지연시간을고려해서새로운링크에맞는 RTT를설정하는등의기법을적용할수있을것이다. 전자에해당하는기법으로는현재 IETF에서논의되고있는 low latency handoff, fast handover 등이있고후자에해당하는기법으로는임시재전송타이머 (Temporary retransmission timer) 의개념을생각해볼수있다. 즉, 임시재전송타이머의경우 WLAN에서 GPRS로핸드오프하였을경우짧은재전송타이머로인해여러번재전송이발생하는것을막기위해서이동단말기가 GPRS로이동한후링크계층의연결을설정하는과정에서파악한링크지연시간에기반하여임시로사용될새로운재전송타이머값을추정하여설정하는것이다. 추후연구에서이러한임시재전송타이머의성능을 TCP Eifel 등의기법과비교할것이다. 6. 결론
본논문에서는이질적인무선엑세스망에서무선단말기가링크특성이서로다른네트워크사이를이동하는경우 ( 즉, 수직적핸드오프 ) 에발생하는 TCP 성능저하문제에대해서살펴보았다. 기존연구 [5] 에서시뮬레이션을통해이러한영향을분석해보았지만 [5] 에서는링크지연시간이큰곳에서작은곳으로핸드오프하는경우만을살펴보았기때문에재전송타이머의부적절한값에의해다수의재전송이일어나는경우는살펴보지않았다. 이에비해본연구에서는다양한핸드오프과정에서발생하는 TCP 성능저하현상을관찰하였다. 이러한성능저하현상을막기위해서몇몇방법들이제안되었지만수직적핸드오프의특성, 특히, 링크특성변화로인한부적절한재전송타이머의사용문제를해결할수있는방법은아직제안된바가없다. 따라서향후연구에서는 IETF에서제안된개선된핸드오프방안과임시재전송타이머의개념을결합하여수직적핸드오프에서의 TCP 성능저하를막을수있는방법을제안할것이다. 참고문헌 [1] H. Balakrishnan, V. Padmanabhan, S. Seshan, R. H. Katz, "A Comparison of Mechanisms for Improving TCP Performance over Wireless Links," IEEE/ACM Trans. on Networking, Vol. 5, No. 6, Dec. 1997. [2] A. V. Bakre, B. R. Badrinath," Implementation and Performance Evaluation of Indirect TCP," IEEE Trans. on Computers, Vol. 46, No. 3, March 1997. [3] K. Brown and S. Singh, "M-TCP: TCP for mobile cellular networks," ACM Computer Communication Review, Vol. 27, No. 5, Oct. 1997. [4] H. Balakrishnan, S. Seshan, R. H. Katz, "Improving Reliable Transport and Handoff Performance in Cellular Wireless Networks," ACM Wireless Network, Vol. 1, No. 4, Dec. 1995. [5] W. Hansmann, M. Frank, and M. Wolf, "Performance Analysis of TCP Handover in a Wireless/Mobile Multi-Radio Environment," in Proc. of IEEE LCN 2002, Nov. 2002. [6] R. Chakravorty, P. Vidales, K. Subramanian, I. Pratt, and J. Crowcroft, "Practical Experiences with Wireless Integration using Mobile IPv6," ACM Mobile Computing and Communication Review, 7(4), October 2003. [7] B. Ghribi and L. Logrippo, "Understanding GPRS: the GSM packet radio service," Computer Network, Vol. 34, No. 5, Nov. 2000. [8] B.P. Crow, I. Widjaja, J.G. Kim, and P.T. Sakai, "IEEE 802.11 Wireless Local Area Networks," IEEE Communication Magazine, Sep. 1997. [9] W.R. Stevens, "TCP/IP Illustrated," Vol. 1, Addison-Wesley, 1996. [10] R. Ludwig and R. H. Katz, "The Eifel Algorithm: Making TCP Robust Against Spurious Retransmissions," ACM Computer Communication Review, 30(1), January 2000. [11] Fraunhofer FOKUS: http://www.fokus.gmd.de/fokus/ [12] HUT Mobile IP: http://www.cs.hut.fi/research/dynamics/ [13] UCB/LBNL/VINT Network Simulator - ns, http://www.isi.edu/nsnam/ns/ [14] R. Chakravorty, J. Cartwright, and I. Pratt, "Practical Experience with TCP over GPRS," in Proc. of
Globecom 2002, Dec. 2002. [15] V. Paxson and M. Allmanrfc, "Computing TCP's Retransmission Timer," IETF RFC 1988, Nov. 2000. [16] A. Gurtov and R. Ludwig, "Responding to Spurious Timeouts in TCP," in Proc. INFOCOM 2003, June 2003. [17] T. Goff, J. Moronski, D. S. Phatak, and V. Gupta, "Freeze-TCP: A True End-to-End TCP Enhancement Mechanism for Mobile Environments," in Proc. of INFOCOM 2000, June 2000. [18] G. Carneiro, J. Ruela, and M. Ricardo, "Cross-Layer Desgin in 4G Wireless Terminals," IEEE Wireless Communications, vol. 11, no. 2, April 2004. 1) 본연구에서는여러 TCP 버전중에서 TCP Tahoe 를사용하였다.