SCTP 핸드오버분석 (Linux) <CPL-TR-05-01> 2005 년 1 월 고석주 (sjkoh@cs.knu.ac.kr) 요약본문서에서는차세대수송계층프로토콜인 SCTP(Stream Control Transmission Protocol) 기반핸드오버기법에대하여논의한다. 이를위해, 리눅스플랫폼에서 SCTP 핸드오버실험을위한테스트베드를구성하고, dual-homing 이동단말과 single-homing 이동단말에대한핸드오버성능을분석하였다. 실험결과에따르면, dual-homing 이동단말의경우중첩지역에서두개의 IP 주소를동시에사용할수있어서핸드오버지연은이동단말과외부단말간의 RTT(Round Trip Time) 시간에영향을받으며, 특히본실험의경우전체핸드오버과정이 1초이내에완료되었다. 한편, single-homing 이동단말의경우, 한순간에하나의 IP 주소만을사용함에따라서핸드오버지연은 RTT보다는하위링크및네트웍계층의핸드오버시간에크게좌우됨을확인하였다. 목 차 1. 서론...2 2. SCTP 기반 IP 이동성지원모델...3 2.1 SCTP 이동성기법...3 2.2 MIP와 SCTP 특성비교...4 3. SCTP 핸드오버기법...5 3.1 핸드오버알고리즘및시나리오...5 3.2 핸드오버구현을위한 SCTP APIS...6 4. 실험및성능분석...7 4.1 실험환경및시나리오...7 4.2 DUAL-HOMING MT의핸드오버실험결과...8 A. 시나리오 1에대한실험결과...9 B. 시나리오 2에대한실험결과...11 4.3 SINGLE-HOMING MT의핸드오버실험결과...12 5. 결론및향후연구...15 참고문헌...15 1
1. 서론 차세대통신망이 All-IP 기반의유무선통합망으로발전해나감에따라, IP 이동성 (mobility) 요구사항이증가하고있다. 기존의 WLAN, 3G 셀룰러시스템과함께 IEEE 802.16 기반의 WiBro(Wireless Broadband) 서비스가활성화될수록 IP 이동성에대한필요성은더욱증가할것이다. 특히, 차세대통신망에서의 IP 이동성기술은 동일망내 에서의이동뿐만아니라, 이종망간 ( 예 : 3G-WLAN, 3G- WiBro) 이동에대해서도 Seamless 서비스를제공해야한다. [1] IP 이동성기술은크게위치관리 (Location Management) 기술과핸드오버 (Handover Management) 기술로구분된다. 위치관리기술은이동단말 (Mobile Terminal, MT) 이현재사용중인 IP 주소정보를위치관리서버에등록하는기술이며, 궁극적으로외부단말이 MT에연결설정을요구할때에적용된다. 반면에, 핸드오버기술은 MT의이동중에 IP 주소가바뀌어도, 진행중인세션이끊기지않도록세션의연속성을제공하는기술이다. 핸드오버기술의주요목표는핸드오버동안에발생할수있는데이터손실및핸드오버지연시간을최소화하는것이다. 현재까지주로연구되어온 IP 이동성기술로는 MIP(Mobile IP) 가있다. MIP에서 MT는 HA(Home Agent) 에현재의위치를등록한다. 한편, 핸드오버지원을위해 MIP를확장한 FMIP(Fast Handover for MIP) 및 HMIP(Hierarchical MIP) 방식이제안되어왔다. MIP는네트웍계층의이동성지원기술로써, 특히핸드오버지원을위해서는라우터간핸드오버터널을설정해야하며, 이는기본적으로망에투자를요구한다. 본문서에서는수송계층 (Transport Layer) 에서의이동성기술인 SCTP(Stream Control Transmission Protocol)[2, 3] 이동성기법에대하여논의한다. SCTP는 TCP/UDP에이은 3번째수송계층프로토콜표준으로써향후에이동단말에널리사용될것으로전망된다. 본문서는이동단말에 SCTP가탑재되어핸드오버를지원하는 SCTP 핸드오버 기법에대한성능분석결과를기술한다. SCTP는멀티홈잉 (multi-homing) 특성을제공하며, 하나의세션에두개이상의 IP 주소를바인딩 (binding) 할수있다 [4]. 이를활용하여 SCTP는 IP 주소가바뀌어도새로운주소를세션에추가함으로써핸드오버기능을수행할수있다. 기존연구에서는 [5, 6, 7] SCTP 핸드오버에대한성능분석을위해 ns-2(network Simulator) 를사용하였다 [8,9]. 특히, 하위무선링크계층의신호세기를토대로, 언제새로운 IP 주소를추가하고기존 IP 주소를삭제할것인지에대한실험분석결과를제공하고있다. 본문서에서는리눅스 (Linux) 플랫폼기반테스트베드에서 SCTP 핸드오버성능분석결과에대하여기술한다. 리눅스커널 2.6.0 이상에서제공되는 SCTP API(Application Programming Interfaces) 를토대로 [10, 11] 핸드오버성능분석을위한테스트베드를구축하고, 관련실험을통해소요되는핸드오버지연 (latency) 시간을분석하였다. 특히, 동일망간 Horizontal 핸드오버와이종망간 Vertical 핸드오버환경에따라실험시나리오를구성하였으며, 각시나리오별 SCTP 핸드오버성능을비교, 측정및분석하였다. 본문서는다음과같이구성된다. 먼저, 2절에서는 SCTP 수송계층이동성지원모델에대하여간략히언급하고, 기존 MIP 방식과의차이점을기술한다. 3절에서는 SCTP 핸드오버알고리즘및이를리눅스플랫폼에서구현하기위한 SCTP API 함수의사용방법에대하여기술한다. 4절에서는동일망간및이종망간핸드오버시나리오에대한테스트베드실험결과를기술하고, 각시나리오에대한핸드오버성능분석결과를기술한다. 마지막으로 5절에서향후연구이슈와함께결론을기술한다. 2
2. SCTP 기반 IP 이동성지원모델 SCTP는 TCP/UDP에이은 3번째수송계층프로토콜로써종단간데이터신뢰전송기능을제공한다. 주요특징으로는 멀티스트리밍 (multi-streaming) 및 멀티홈잉 (multi-homing) 기능이있다. 먼저 SCTP 멀티스트리밍을통해하나의세션에서여러개의응용스트림을식별하여전송할수있으며, 멀티홈잉특성을통해여러개의 IP 주소를 SCTP 세션에바인딩할수있다. [2] 그림 1은 SCTP 멀티홈잉개념을보여준다. SCTP는등록된여러 IP 주소중의하나로데이터를전송할수있다. 특히, 최근에개발중인 동적 IP 주소설정 (Dynamic Address Configuration) 방식에서는, 세션도중에새로운 IP 주소를추가하고 (Add-IP), 주요데이터전송경로를변경하거나 (Primary-Change), 기존 IP 주소를삭제하는 (Delete-IP) 기능이추가되었다. [3] 그림 1. SCTP 멀티홈잉 SCTP 이동성기법은상기와같은 멀티홈잉 특성및 동적 IP 주소설정 기능을활용하여, 이동단말의 IP 주소변경시에핸드오버를지원하는기술이다. 2.1 SCTP 이동성기법 SCTP는이동단말 MT의이동으로 IP 주소가변경된경우에도, 바뀐주소를세션에바인딩함으로써세션이중단되지않는핸드오버기능을제공한다. 그림 2는 SCTP 핸드오버모델을보여준다. FS(SCTP) Router Internet Router IP-based BS MT(SCTP) Movement IP-based BS MT(SCTP) 그림 2. SCTP 핸드오버모델 3
그림에서 SCTP가탑재된 MT에서인터넷망에있는 FS(Fixed Server) 에연결을설정한다. FS도역시 SCTP를사용한다고가정한다. 연결설정후에 MT와 FS간에데이터송수신을수행되고, 일정시점에 MT는새로운네트웍으로진입하여 IP 주소를할당받는다. MT는새로운할당받은 IP 주소를 SCTP 세션에바인딩함으로써핸드오버를수행할수있다. 만약, SCTP 연결설정이 MT가아닌 FS에서시작되는경우, FS는 MT의현재위치 (IP 주소 ) 에대한정보를필요로하고, 이경우 MIP와같은별도의위치관리기법이요구된다. MIP와함께사용되는경우, MIP HA는 FS에서 MT로향하는첫번째 SCTP INIT 패킷을 MT로전달해주기만하면된다. 그이후의핸드오버기능은 SCTP 핸드오버기법에의해서지원될수있다. [5, 6, 7] 한편, 현재까지 SCTP 프로토콜은리눅스및 Solaris 플랫폼에서개발되고있으며 [12, 13, 14], 사용자레벨의라이브러리형태로구현된 SCTPLIB 구현코드도공개되어있다. [15] 2.2 MIP와 SCTP 특성비교기존 MIP와는달리 SCTP는수송계층에서의이동성지원기술이다. 또한, MIP는본래 위치관리 기능을제공하는반면에, SCTP는 핸드오버 지원을위한기술이다. 표 1은 MIP와 SCTP의특징을이동성지원관점에서비교한다. 표 1. MIP와 SCTP의이동성지원특성비교 분류 SCTP Mobile IP 해당계층 수송계층 (Transport) 네트웍계층 (Network) 수송계층서비스 SCTP TCP/UDP 위치관리 MIP 등의별도위치관리기법이요구됨 제공 핸드오버 제공 핸드오버지원을위해 MIP 확장필요 (FMIP/HMIP) 경로최적화 본질적으로제공됨추가확장기능사용 ( 종단단말간통신 ) ( 예 : Route Optimization) 라우터지원 ( 핸드오버 ) 필요없음 요구됨 ( 라우터간터널링 ) 요구사항 ( 보급측면 ) 단말에 SCTP 탑재 라우터및단말에서 MIP 탑재 MIP의경우, 핸드오버지원을위해 FMIP/HMIP 등의프로토콜확장이요구되며, 현재까지다양한세부기법들이제안되어왔으나아직표준화및상용화를위해서는좀더연구가필요해보인다. 반면에, SCTP는 IP 핸드오버를위해사용될수있으며, 위치관리가필요한경우 (FS에서 MT로연결설정이요구되는경우 ), MIP 혹은다른위치관리기법과함께사용될수있다. 경로최적화 (Route Optimization) 관점에서, SCTP는본질적으로종단간통신프로토콜이기때문에최적화된경로로데이터가전송되는반면에, MIP의경우 경로최적화 옵션이요구된다. 특히, 프로토콜보급및적용관점에서, SCTP는라우터의별도도움이요구되지않고이동단말에 SCTP 프로토콜만탑재하면되는반면에, MIP의경우핸드오버를위해라우터간핸드오버터널설정이요구되며이를위한망투자비용이소요된다. 종합해보면, MIP와 SCTP는경쟁관계에있는기술이라기보다는, 네트웍및서비스보급상황에따라함께사용될수있는보완관계기술로볼수있다. 4
3. SCTP 핸드오버기법 3.1 핸드오버알고리즘및시나리오 SCTP를탑재한이동단말 MT가외부서버 FS와의세션도중에, 단말의이동으로인해 IP주소를바꾸게되는경우 SCTP 핸드오버는다음과같은절차에따라수행된다. [5, 6] 1 MT는 L2/L3에서새로운영역의 Link-Up 신호를감지하고, 새로운 IP 주소를설정한다. 2 3 SCTP 세션에새로운 IP 주소를추가 (Add-IP) 하고, ASCONF chunk를 FS에게보내면, FS가 ASCONF-ACK chunk로응답한다. 이후, MT는기존및새로운주소로 DATA를받을수있다. 새로운영역의신호세기가좀더강해지면, MT는 주요 IP 주소변경 (Primary-Change) 을위한 ASCONF chunk를보내고, FS는 ASCONF-ACK로응답한다. 이후, FS는 DATA chunks를새로운 IP 주소로보낸다. 4 MT 는기존영역을완전히벗어나, Link-Down 신호를감지한다. 5 MT 는기존 IP 주소삭제 (Delete-IP) 를위해, ASCONF chunk 를 FS 에게보내고, FS 는 ASCONF- ACK chunk 로응답한다. 이후, MT 는새로운주소만사용한다. 한편, 상기핸드오버알고리즘은네트웍환경에따라다음두가지시나리오에적용될수있다. A. 시나리오 1 ( 그림 3(a) 참조 ): Dual-homing MT 3G-WLAN 혹은 3G-WiBro 연동처럼이종망간 Vertical Handover 상황에적용될수있다. MT 단말에두개의 NIC가탑재되고, 핸드오버동안에동시에두개의 NIC가활성화된다. 즉, MT는 dual-homing 상태에서패킷송수신을수행한다. B. 시나리오 2( 그림 3(b) 참조 ): Single-homing MT 3G 혹은 WiBro 등의동일망에서의 Horizontal Handover 상황에적용될수있다. MT는한순간에하나의 NIC 및 IP 주소를사용하며, single-homing 상태에서패킷송수신을수행한다. 그림 3에서처럼 시나리오 1 에서는중첩영역에서두개의 NIC가동시에활성화될수있는이종망간 Vertical 핸드오버를가정한다. 반면에 시나리오 2 에서는동일망간 Horizontal 핸드오버를가정하고, 한순간에 NIC를통해하나의 IP 주소만사용할수있다. 즉, 하위 L2/L3 계층에서 Link-Up 및 Link- Down이동시에발생하는 Hard Handoff를가정한다. 이경우, SCTP 계층에서 Add-IP, Primary-Change 및 Delete-IP 절차가거의동시에수행되어야한다. MT(old) MT(dual) MT(new) MT(old) MT(new) (a) Dual-homing MT (b) Single-homing MT 그림 3. SCTP 핸드오버적용시나리오 5
3.2 핸드오버구현을위한 SCTP APIs 본문서에서는 Linux 커널 2.6.8에탑재된 SCTP 프로토콜기능을사용하여 SCTP 핸드오버실험을수행하였다 [12, 13]. 리눅스환경에서 SCTP 핸드오버를지원하기위해서는다음과같은 SCTP API 함수의사용이요구된다. [10, 11] sctp_bindx(add): 새로운 IP 주소를 SCTP 세션에추가 sctp_bindx(remove): 기존 IP 주소를 SCTP 세션에추가 setsockopt(primary_peer_addr): Primary IP 주소변경을상대방 SCTP에통보위에서 Add-IP 함수는하위네트웍인터페이스및 IP 주소설정이완료된후에수행될수있다. 아울러, SCTP 응용에서하위 SCTP에서발생하는 IP 주소변경사항을검사하기위해서는, 다음과같은 SCTP 구조체변수및 setsockopt() 함수를사용해야한다. [11] struct sctp_event_subscribe event; setsockopt(sock, IPPROTO_SCTP, SCTP_EVENTS, &event, sizeof(event)); 다음그림은 3.1 절의 SCTP 핸드오버알고리즘을구현하기위한 Linux SCTP API 사용법을순서대로 기술하고있다. Link-Up (new) Add-IP Primary-Change Link-Down (old) Delete-IP sctp_bindx(add) ASCONF & ACK setsockopt (PRIMARY_PEER_ADDR) ASCONF & ACK sctp_bindx(remove) ASCONF & ACK time 그림 4. 핸드오버를위한 SCTP API 호출순서 그림에서알수있듯이, MT의이동으로인해새로운영역의 Link-Up 신호가감지되고 IP 계층에서새로운 IP 주소를얻게되면, SCTP에서 sctp_bindx() 함수를호출하여 Add-IP 기능을수행한다. Add- IP 함수호출후에, SCTP ASCONF 패킷이 FS에게전달되며, FS는 ASCONF-ACK 패킷으로 MT에게응답한다. 새로운 Link 신호가강해지는경우혹은별도로정한규칙에의해, MT는 Primary-Change 패킷을 FS에게전송하고이를위해 setsockopt() 함수를호출한다. 구체적인 Primary-Change 발생시점은구현및적용시나리오에따라다를수있다. MT의추가적인이동으로기존 Link의신호를감지하지못하는경우, 기존 IP 주소는 SCTP 세션에서삭제되며이를위해 sctp_bindx() 함수가사용된다. 함수호출후에기존 IP 주소는더이상 SCTP 세션에서사용되지않는다. 6
4. 실험및성능분석 본절에서는 Linux 테스트베드환경에서수행한 SCTP 핸드오버성능분석실험결과를기술한다. 4.1 실험환경및시나리오먼저 SCTP 핸드오버실험을위해 1대의라우터와 2대의단말기로 ( 각각 FS 및 MT) 구성되는테스트베드를구축하였다. 각단말기에는 Linux Kernel 2.6.8 [12] 및 LK-SCTP 도구 [13] 를설치하고, 이동단말 MT에는두개의 NIC를탑재하였다. 실험환경은 MT에장착된 NIC의활성화여부에따라크게다음두가지로구분된다. A. 실험환경 1: Dual-homing MT MT에두개의 NIC가탑재되고, 동시에두개의 NIC가활성화된다. MT는 dual-homing 상태에서패킷송수신을수행한다. 이종망간 Vertical Handover 상황을연출하기위한것으로, 3G-WLAN 연동처럼 MT는두종류의 NIC를탑재하는것으로가정한다. B. 실험환경 2: Single-homing MT MT에두개의 NIC가탑재되어있지만, 한순간에하나의 NIC만활성화된다. 즉, MT는 singlehoming 상태에서패킷송수신을수행한다. 이는동일망간 Horizontal Handover 상황을연출하기위한것으로, L2/L3 하위계층에서 Hard Handoff가발생하는것으로가정한다. 다음그림은실험에사용된테스트베드구성도이다. 본문서에서는 MT의핸드오버상황을제한된실험실환경에서구현하기위해매우단순화된네트웍모형으로구성하였다. FS는 192.168.0.100 주소를사용하고, MT는 NIC별로 192.168.0.101 및 192.168.0.102 주소를사용한다. 192.168.0.1 192.168.0.100 192.168.0.101 FS Router/Switch 그림 5. 테스트베드구성도 192.168.0.102 MT 실험환경 1(dual-homing) 에서는중첩 (overlapping) 영역에서일시적으로두개의 NIC가동시에활성화되도록하였다. 반면에 실험환경 2(single-homing) 에서는비록 NIC는두개가있지만, 한순간에하나의 NIC만활성화되도록하였다. 한편, 모든실험에공통적으로적용된 SCTP 핸드오버시나리오는다음과같다. 1 세션초기화 먼저, FS 는고정서버로써동작하며, 192.168.0.100 주소를이용하여 bind() 함수를수행한후에 MT 의접속을기다린다. 처음에 MT 는 192.168.0.101 주소를사용하여 FS 서버에접속한다. 두 단말간에 SCTP 세션이설정된후에 FS 와 MT 는데이터를교환한다. 2 Add-IP MT 는 sctp_bindx(add) 함수를사용하여새로운 IP 주소 192.168.0.102 를 추가 (add) 한다. 7
3 Primary-Change MT 는 setsockopt(peer_primary_addr) 함수를사용하여, FS 에게 Primary-Change 를 요청한다. 이후에, FS 는데이터를새로운 IP 주소 192.168.0.102 로전송한다. 4 Delete-IP MT 는 sctp_bindx(remove) 함수를사용하여기존 IP 주소 192.168.0.101 를 SCTP 세션에서 삭제 (delete) 한다. 이는 MT 가기존 IP 주소영역을이탈하여해당 NIC 인터페이스의동작이 멈추었음을의미한다. 5 세션종료 단말간데이터송수신을완료한후, SCTP 세션을종료한다. 위와같은핸드오버시나리오에따라 FS와 MT 간에 SCTP 세션이진행되며, FS는 1,000 바이트크기의 DATA 패킷을지속적으로 MT에전송하고, MT 또한소량의데이터를 FS에전송하도록하였다. 기타다른조건은통상적인네트웍프로그래밍관례에따라수행되었다. SCTP 핸드오버성능분석을위해먼저각실험환경및시나리오에대한 SCTP 패킷교환과정을분석하였다. 이를위해, ethereal [16] 을사용하여 SCTP 세션에서송수신되는패킷들을 capturing 하였다. 아울러, 핸드오버성능변수로써 핸드오버지연 (handover latency) 를측정하였으며, 본실험에서 핸드오버지연시간 은 이전 IP에서마지막으로데이터를수신한시각 과 새로운 IP에서처음으로데이터를수신한시각 과의차이로정의한다 [6]. 즉, Handover Latency = 새로운 IP에서의데이터수신시각 기존 IP에서의데이터수신시각. 4.2 Dual-homing MT의핸드오버실험결과본절에서는 MT에두개의네트웍인터페이스를동시에사용하는 dual-homing MT의핸드오버실험결과를분석한다. 핸드오버실험을위해본문서에서다음사항을가정한다. MT는기존 NIC를사용하여 SCTP 세션을수행하면서새로운망에진입한다. 이때, 기존 SCTP 세션을유지하면서 별도의독립적인프로세스 를통해새로운망에대한 NIC 활성화 (Link-Up) 작업및신규 IP 주소설정작업을수행한다. 즉, 신규 IP 주소에대한설정작업이진행중인 SCTP 세션의처리시간에영향을주지않는다. MT는일정시간동안기존 IP 주소와신규 IP 주소를동시에사용하는 dual-homing 상태에서 SCTP 세션을수행한다. 상기와같은실험환경에대하여, 기존네트웍인터페이스의 Link-Down 시점에따라, 다음두가지의세부실험시나리오를수행하였다. 1 시나리오 1: Link-Down이 Delete-IP 이후에발생 ( 그림 6 참조 ) 이시나리오는 MT의이동속도가느린경우에해당한다. MT의이동에따라, Add-IP, Primary- Change, Delete-IP가수행된후에기존인터페이스의 Link-Down이발생하는경우이다. 2 시나리오 2: Link-Down이 Add-IP 이후에발생 ( 그림 7 참조 ) 이시나리오는 MT의이동속도가매우빠른경우에해당한다. MT가 Add-IP 직후에바로 Link-Down이발생한다. 기존인터페이스의 Link-Down 이후, 새로운 NIC만사용되며, Primary-Change, Delete-IP 절차는모두새로운인터페이스의 IP 주소로전송된다. 8
그림 6 은시나리오 1( 기존인터페이스의 Link-Down 사건이 Delete-IP 이후에발생 ) 을보여준다. 그림에서새로운인터페이스의 Link-Up 직후에 Add-IP 가수행되고, 기존인터페이스의 Link-Down 직전에 Delete-IP 가수행된다. Link-UP (new) Link-Down (old) time Add-IP Primary-Change Delete-IP 그림 6. 핸드오버시나리오 1 (Delete-IP < Link-Down) 그림 7 은시나리오 2(MT 의빠른이동으로인해 Link-Up 과 Link-Down 이거의동시에발생하는 경우 ) 를보여준다. Link-Up 직후에 Add-IP 가수행되고, 곧바로 Link-Down 사건이발생한다. Link-UP (new) Link-Down (old) time Add-IP Primary-Change Delete-IP 그림 7. 핸드오버시나리오 2 (Add-IP < Link-Down < Primary-Change) A. 시나리오 1 에대한실험결과 그림 8 은 dual-homing MT 의시나리오 1 에대한패킷 capturing 결과이다. 그림 8. Dual-homing MT 의핸드오버시나리오 1 실험결과 9
그림에서알수있듯이, FS(192.168.0.100) 와 MT(192.168.0.101) 은 1 ~ 4번패킷을통해 SCTP 세션초기화과정을마치고 DATA 패킷교환을시작한다. 6번패킷에서 MT는 FS에게 ADD-IP ASCONF 패킷을전송하여, 192.168.0.102 주소를추가한다. (dual-homing MT 이므로, 그전에두번째 NIC가활성화되어있다 ). 8번패킷에서 FS는 ASCONF- ACK 패킷으로응답한다. 17번패킷에서 MT는 FS에게 Primary-Change ASCONF 패킷을전송한다. 이에응답하여 18번패킷에서 FS는 MT에게 ASCONF-ACK 패킷을 새로운주소 (192.168.0.102) 로전송한다. Primary IP 주소가바뀌었으므로, 이후에 FS는 MT의새로운주소로 DATA 패킷을전송한다. (23번패킷참조 ) 기존 NIC의 Link-Down 직전에, 27번패킷에서 MT는 FS에게 Delete-IP ASCONF 패킷을전송하여, 192.168.0.101 주소를삭제한다. 28번패킷에서 FS는 MT에게 ASCONF-ACK 패킷을전송한다. 이후, 34 ~ 38번패킷에서 SCTP 세션을종료한다 (37번패킷은 35번 SACK 수신으로인해 FS가재전송한패킷이다 ). 상기실험결과에서다음과같은흥미로운점을관측할수있었다. a) Add-IP chunk와 Primary-Change chunk가동일한패킷에 piggybacking 되지않고, 별도의패킷으로전송된다. 즉, sctp_bindx(add) 함수호출후에 Add-IP 패킷이전송되고, setsockopt(peer_primary_addr) 함수호출후에 Primary-Change 패킷이전송된다 (6, 17번패킷참조 ). 이점은현재 Linux 기반 SCTP 구현방식에따른문제점으로보이며, 추후두가지 chunks를 piggybacking 하는방법에대한연구가필요해보인다. b) Primary-Change 이후에, FS는 MT에게새로운 IP 주소로 (192.168.0.102) DATA 패킷을전송하지만, MT는여전히기존 IP 주소를 Source IP 주소로하여 FS에게 DATA를전송한다. (19번및 22번패킷참조 ). 사실상, SCTP의 Primary-Change 요구는 MT 가 FS 에게이후 DATA를새로운 Primary 주소로보내달라는의미이며, 자신의 (MT의) DATA 전송은 Kernel에있는인터페이스의포워딩테이블설정에의존한다. c) Delete-IP 이후에, MT는새로운 IP를 Source로하여 DATA를전송한다. (29번, 31번패킷참조 ) 그림 8의실험결과에서 handover Latency는 15번패킷과 23번패킷의시간차이인 0.030 0.008 = 0.022 ( 초 ) = 22 (ms) 로관측되었다. 그림 8의 15 ~ 23번사이에서관측된패킷정보를토대로분석하면, 전체핸드오버지연에소요되는시간은대략적으로다음과같이나누어볼수있다. 1 Primary-Change 수행에필요한 ASCONF/ASCONF-ACK 교환시간 (1 RTT) 17, 18번패킷 2 상대방단말 (FS) 에서바뀐 Primary IP 주소를인식하고, DATA 전송에바뀐주소를사용하도록설정하는시간 (SACK 처리및주소설정을포함한커널에서의처리시간 ) 20 ~ 23번패킷그림 8에서는두번째요소인 커널처리시간 이가장큰값으로관측되었으나, 커널에서의처리시간은 RTT에관계없이일정한값이며, 일반적인네트웍상황에서 RTT 값에비해상대적으로매우작은시간으로볼수있다. 따라서, dual-homing MT의핸드오버지연은 RTT + 기타커널처리시간 으로볼수있다. 특히, RTT (Round Trip Time) 은두단말간의거리에비례하여증가하고, 일반적으로커널처리시간보다매우큰값이므로, 대략적인핸드오버지연시간은 Primary-Change 수행을위한 RTT 값에의존한다고볼수있다. 10
B. 시나리오 2 에대한실험결과 한편, 그림 9 는 dual-homing MT 의핸드오버시나리오 2( 새로운 IP 주소에대한 Add-IP 직후에기존 NIC 에대한 Link-Down 이발생하는경우 ) 에대한패킷 capturing 결과이다. 그림 9. Dual-homing MT의핸드오버시나리오 2 실험결과그림 9는그림 8과유사한결과를보여주고있으나다음과같은차이점을보인다. a) 시나리오 1과는달리, MT는 ADD-IP 직후에 (10, 11번패킷참조 ) 기존 NIC의 Link-Down이발생하여, FS에게새로운 IP 주소로 DATA를전송한다 (14번패킷참조 ). 그림 8에서는 Primary- Change 이후에도 MT는 FS에게보내는 DATA에대하여기존 IP를 source IP로사용하였다. b) 17번패킷에서 Primary-Change를수행한이후에, FS와 MT간에주고받는모든패킷은 MT의새로운 IP 주소를사용하여이루어진다. 한편, 그림 9의실험결과에서 handover Latency는 12번패킷과 21번패킷의시간차이인 0.104 0.011 = 0.093 ( 초 ) = 93 (ms) 로관측되었다. 그림 8의시나리오 1에비해핸드오버지연시간이 70 ms 정도 증가한이유는, 13 ~ 14번패킷과정에서 MT가 기존 NIC의 Link-Down 사건을인식하고처리하는데에소요된시간 때문이다. 즉, MT의 Add-IP 직후에 Link-Down 사건이발생하였고, 이를상위의 SCTP에서인식하고처리하는데에소요된시간이다. 만약, Link-Down 처리시간을무시할만한고정된시간으로본다면, 시나리오 1에서처럼핸드오버지연은 Primary-Change ASCONF 패킷을처리하기위한 RTT 시간에의존한다고볼수있다. 그림 9에서한가지흥미로운점은, FS가 12번 DATA 패킷을전송한이후에, 17번 Primary-Change ASCONF 패킷을받기까지 MT에게 DATA를전송하지못하고있다는점이다. MT의 Link-Down으로인해기존 IP로 DATA 패킷을보낼수없기때문이다. 따라서, 시나리오 2와같이 MT의빠른이동속도로인해기존네트웍인터페이스의 Link-Down이비교적빨리발생하는경우에는, 되도록 Primary-Change 절차를빨리수행하는것이핸드오버지연을감소시키는데에도움이된다는것을알수있다. 11
4.3 Single-homing MT의핸드오버실험결과본절에서는 MT가한순간에하나의네트웍인터페이스만사용하는 single-homing 경우에대하여실험결과를분석한다. 동일망에서의핸드오버분석을위해다음사항을가정한다. MT는하나의네트웍인터페이스를가지며, 한순간에하나의 IP 주소만사용하는 singlehoming 상태에서 SCTP 세션을수행한다. MT가 SCTP 세션도중에새로운망에진입하는경우, 하위계층 (L2/L3) 의 Link-Up 및 Link- Down 등을거친후에, DHCP 등을사용하여새로운 IP 주소를얻는다. 즉, L2/L3 핸드오버지연이전체적인 SCTP 세션에대한핸드오버지연에영향을준다. 위와같은시나리오는 3G, WLAN 등동일망에서이동하는단말에적용될수있다. 위와같은시나리오를실험하기위해, MT의핸드오버시점에 Link-Up(new), Add-IP, Link-Down(old) 사건이거의같은시점에일어나도록설정하였다. 즉, SCTP 세션도중에핸드오버로인한 Link-Up 및 Link-Down 처리시간이핸드오버지연에영향을준다. 그림 10은상기와같은 single-homing MT의핸드오버에대한패킷 capturing 결과이다. 그림 10. Single-homing MT의핸드오버실험결과그림 10의 single-homing MT 실험결과는이전에수행한 dual-homing MT 실험결과와대체적으로유사하지만, 다음과같은특징을보여준다. a) 본실험에서는 Add-IP 패킷전송시점에서 새로운 NIC의활성화 및 기존 NIC의비활성화 작업이함께수행되고있다. 11번패킷과 12번패킷간의시간간격에서알수있듯이, 본실험의경우 Linux 환경에서 NIC 활성화 / 비활성화에대략 2.2초의시간이소요됨을알수있다. 12
b) 사실상, 17, 19번의 Primary-Change를위한 ASCONF 패킷들과, 25, 26번의 Delete-IP를위한 ASCONF 패킷들은별의미가없다. 즉, 그와관계없이 FS와 MT는새로운 IP만을사용하여 SCTP 데이터통신을수행한다. c) 핸드오버지연시간은 10번패킷과 21번패킷의시간차이인 2.263 0.004 = 2.259( 초 ) 이다. 거의대부분의시간이상기한 NIC 활성화 / 비활성화시간이다. 즉, Primary-Change를위한 ASCONF 패킷교환시간 (RTT) 은상대적으로매우작다. d) 13번패킷이후에 MT의기존 IP 주소는사용할수없으므로, FS는 MT로부터 Primary-Change ASCONF 패킷이올때까지 DATA 패킷전송을하지않는다. 즉, FS는 Primary-Change 패킷혹은 Delete-IP 패킷이도착할때까지, DATA 전송을보류하고있다. 따라서, single-homing MT의경우, Primary-Change를빨리수행하는것이핸드오버지연단축에도움이된다. Single-homing MT의핸드오버에대한위와같은실험결과로부터, SCTP 핸드오버지연은하부의네트웍인터페이스의활성화및비활성화시간에큰영향을받음을알수있다. NIC의활성화과정에는링크계층의 Link-Up/Link-Down 뿐만아니라, IP 계층의주소설정 (DHCP 등 ) 및 AAA 인증과정도포함된다. 실제로, 하부계층의핸드오버지연이전체적인 SCTP 핸드오버지연에미치는영향 을분석하기위해, 본문서에서는 네트웍인터페이스 Up/Down 시간 을인위적으로 1초씩증가시키며실험을수행하였다. 실험결과, 상기한예측대로 SCTP 핸드오버지연이 하위계층인터페이스활성화 시간에비례하여증가함을확인할수있었다. 그림 11은그중한예로써, L2/L3 핸드오버 시간을대략 30초로설정한경우에대한결과이다. 그림 11. Single-homing 핸드오버 (L2/L3 핸드오버 = 30 초 ) 13
그림에서볼수있듯이, 11번패킷이후에 L2/L3 핸드오버가 30초정도진행되다가, 35번패킷에서새로운주소가 FS에게전달되고있다. 한편, 각 IP 주소에대한유지관리를위해서 SCTP 프로토콜에따라 HEARTBEAT 패킷이 30초주기로 FS와 MT간에교환되고있다. 한편, 24번패킷에서 MT는새로운주소로 DATA를전송하며, 핸드오버지연은 10번패킷과의시간간격인 35초정도가소요된다. 한가지주목할만한점은, Single-homing으로인한네트웍인터페이스활성화 / 비활성화지연이 SCTP 세션자체의중단을초래하지는않는다. 즉, SCTP 단말간의통신은종단간 SCTP 프로토콜메커니즘에의해유지된다. 한편, 그림 12는그림 10에대한실험에서 Primary-Change 발생시간을인위적으로지연시킨실험에대한결과이다. 그림 10에서는 17번 Primary-Change 패킷이 2.2초경에발생되는데비해, 그림 12에서는 25번 Primary-Change 패킷이 3.2초경에발생되고있다. 그림 12. Primary-Change 지연에따른 SCTP 핸드오버그림에서, 이전주소에대한 Link-Down이발생했음에도불구하고, Add-IP 이후에 Primary-Change가완료되기까지 FS는이전주소 (192.168.0.101) 로 DATA로전송하고있다. (19번패킷참조 ). 실제 19번 DATA 패킷은손실되었으며, Primary-Change 시점이후인 28번패킷에서 DATA가재전송됨을확인하였다. (20, 21번패킷은동일한방식으로복구되나, 본실험에서는그전에세션을종료하였음 ). 지금까지의 single-homing MT의핸드오버실험결과, 핸드오버지연은하위계층의 Link-Up 및 Link- Down 소요시간에크게영향을받음을알수있었고, 상대적으로 ASCONF 패킷교환에소요되는 RTT 시간은무시할만한다. 또한, Single-homing MT의경우, Add-IP 직후에바로 Primary-Change 절차를수행하는것이핸드오버지연감소에바람직해보인다. 한편, 하위 L2/L3 계층의핸드오버시간이매우긴경우에도, SCTP 세션의종료에는영향을주지않고 SCTP 프로토콜메커니즘에의해 Soft Handover가지원된다. 14
5. 결론및향후연구지금까지리눅스플랫폼에서 SCTP 기반핸드오버기법에대한성능분석에대하여기술하였다. 소규모실험실규모의테스트베드를구축하여, 이종망간핸드오버시나리오및동일망간핸드오버시나리오에대한 SCTP 핸드오버동작패턴을분석하고핸드오버지연관점에서성능을비교하였다. 실험결과, 이종망간 dual-homing SCTP 핸드오버의경우, 핸드오버지연은이동단말과외부단말간의 RTT 시간에영향을받는다. 본실험의경우, RTT 값이매우작아전체핸드오버과정에 1초이내에완료되었다. 한편, 동일망간 single-homing 핸드오버의경우, 핸드오버지연시간은 RTT 보다는하위링크 / 네트웍계층의활성화시간에크게영향을받는것을확인하였다. 특히, 이경우에는 Add-IP 직후에바로 Primary-Change를수행하는것이핸드오버지연감소에도움을준다. 주목할만한점은하위계층의활성화시간에관계없이 SCTP 세션은 SCTP 프로토콜동작방식에따라연속성이유지된다는점이다. 향후연구로써, 본연구에서수행한실험을좀대규모의테스트베드환경혹은실제인터넷망에서수행할필요가있으며, 기존 MIP와의구체적인연계방안에대한실험, 분석및검증작업도고려해볼만하다. 참고문헌 [1] ITU-T Supplement to Recommendations Q.sup52, Technical Report on Mobility Management Requirements for Systems Beyond IMT-2000, 2005 [2] Stewart R., et al., "Stream Control Transmission Protocol", IETF RFC 2960, October 2000 [3] Stewart, R., et al., "Stream Control Transmission Protocol (SCTP) Dynamic Address Reconfiguration", IETF Internet Draft, draft-ietf-tsvwg-addip-sctp-08.txt, June 2004 [4] 송정화외, "SCTP의멀티호밍특성에대한성능평가, 정보처리학회문서지 (C), 제11-C권제2호, pp. 245 ~ 252, 2004년 4월 [5] 장문정외, "msctp를이용한종단간이동성지원방안," 정보과학회문서지 : 정보통신, 제 31권제 4호, pp. 393 ~ 404, 2004년 8월 [6] Chang M., et al., "Transport Layer Mobility Support Utilizing Link Signal Strength Information", IEICE Transations on Communications, Vol. E87-B, No. 9, pp. 2548-2556, September 2004. [7] Chang M., et al., "A Transport Layer Mobility Support Mechanism", LNCS 3090, Vol. 3090, pp. 287-296, May 2004. [8] Network Simulator 2, Available from http://www.isi.edu/nsnam/ns/ [9] ns-2 modules for SCTP, Available from http://www.cis.udel.edu/~iyengar/research/ [10] Stewart, R., et al., Sockets API Extensions for Stream Control Transmission Protocol, IETF Internet Draft, draft-ietf-tsvwg-sctpsocket-09.txt, September 2004 [11] Stevens R. et al., Unix Network Programming: The Sockets Networking API, Vol. 1, 3 rd ed., 2004 [12] Linux Kernel Archives, Available from http://www.kernel.org/ [13] Linux Kernel SCTP Project, Available from http://lksctp.sourceforge.net/ [14] Solaris SCTP, Available from http://playground.sun.com/sctp/ [15] SCTPLIB, Available from http://www.sctp.de/sctp-download.html [16] Ethereal, Available from http://www.ethereal.com/ 15