SCTP 표준기술 동향

Similar documents
SCTP 표준기술 동향

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론

Microsoft Word - src.doc

Enhanced Communications Transport Protocol: Overview & Implementations

DBPIA-NURIMEDIA

Windows 8에서 BioStar 1 설치하기

목차 윈도우드라이버 1. 매뉴얼안내 운영체제 (OS) 환경 윈도우드라이버준비 윈도우드라이버설치 Windows XP/Server 2003 에서설치 Serial 또는 Parallel 포트의경우.

MVVM 패턴의 이해

시스코-Unified Wireless

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자

°í¼®ÁÖ Ãâ·Â

Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx

Microsoft Word - CPL-TR LNP-guide.doc

임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

슬라이드 1

Install stm32cubemx and st-link utility

The Pocket Guide to TCP/IP Sockets: C Version

MF5900 Series MF Driver Installation Guide

Microsoft PowerPoint SDK설치.HelloAndroid(1.5h).pptx

메일서버등록제(SPF) 인증기능적용안내서 (Exchange Windows 2000) OS Mail Server SPF 적용모듈 작성기준 Windows Server 2000 Exchange Server 2003 GFI MailEssentials 14 for

C. KHU-EE xmega Board 에서는 Button 을 2 개만사용하기때문에 GPIO_PUSH_BUTTON_2 과 GPIO_PUSH_BUTTON_3 define 을 Comment 처리 한다. D. AT45DBX 도사용하지않기때문에 Comment 처리한다. E.

<4D F736F F F696E74202D E20B3D7C6AEBFF6C5A920C7C1B7CEB1D7B7A1B9D62E >

Microsoft PowerPoint - Lecture_Note_5.ppt [Compatibility Mode]

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D>

Windows 10 General Announcement v1.0-KO

PowerPoint 프레젠테이션

메일서버등록제(SPF) 인증기능적용안내서 (HP-UX - postfix) OS Mail Server SPF 적용모듈 (Perl 기반) 작성기준 HP-UX 11.11i postfix spf-filter 년 6 월

[Brochure] KOR_TunA

이 발명을 지원한 국가연구개발사업 과제고유번호 A 부처명 지식경제부 연구관리전문기관 연구사업명 IT핵심기술개발 연구과제명 융합형 포털서비스를 위한 이용자 참여형 방송기술개발 기여율 주관기관 전자부품연구원 연구기간 2008년 03월 01일 ~ 2

The Pocket Guide to TCP/IP Sockets: C Version

임베디드시스템설계강의자료 6 system call 1/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

bn2019_2

tiawPlot ac 사용방법

게시판 스팸 실시간 차단 시스템

< 목차 > Ⅰ. 개요 3 Ⅱ. 실시간스팸차단리스트 (RBL) ( 간편설정 ) 4 1. 메일서버 (Exchange Server 2007) 설정변경 4 2. 스팸차단테스트 10

Microsoft PowerPoint - chap01-C언어개요.pptx

Microsoft PowerPoint - MobileIPv6_김재철.ppt

1. 안드로이드개발환경설정 안드로이드개발을위해선툴체인을비롯한다양한소프트웨어패키지가필요합니다 툴체인 (Cross-Compiler) 설치 안드로이드 2.2 프로요부터는소스에기본툴체인이 prebuilt 라는이름으로포함되어있지만, 리눅스 나부트로더 (U-boot)

메일서버등록제(SPF) 인증기능적용안내서 (Exchange Windows 2003) OS Mail Server SPF 적용모듈 작성기준 Windows Server 2003 Exchange Server 2003 GFI MailEssentials 2010 fo

6. 설치가시작되는동안 USB 드라이버가자동으로로드됩니다. USB 드라이버가성공적으로로드되면 Setup is starting( 설치가시작되는중 )... 화면이표시됩니다. 7. 화면지침에따라 Windows 7 설치를완료합니다. 방법 2: 수정된 Windows 7 ISO

커알못의 커널 탐방기 이 세상의 모든 커알못을 위해서

소프트웨어설치 1. 소프트웨어설치및제거 ( 소스코드 ) 소스코드컴파일을이용한 S/W 설치 1. 소스코드다운로드 - 예 ) httpd tar.gz - 압축해제 : #tar xzvf httpd tar.gz - INSTALL 또는 README파일참조

Microsoft Word - windows server 2003 수동설치_non pro support_.doc

ISP and CodeVisionAVR C Compiler.hwp

HLS(HTTP Live Streaming) 이용가이드 1. HLS 소개 Apple iphone, ipad, ipod의운영체제인 ios에서사용하는표준 HTTP 기반스트리밍프로토콜입니다. 2. HLS 지원대상 - 디바이스 : iphone/ipad/ipod - 운영체제 :

AGENDA 모바일 산업의 환경변화 모바일 클라우드 서비스의 등장 모바일 클라우드 서비스 융합사례

Adobe Flash 취약점 분석 (CVE )

RHEV 2.2 인증서 만료 확인 및 갱신

Network seminar.key

1,000 AP 20,000 ZoneDirector IT 5, WLAN. ZoneFlex AP ZoneDirector. WLAN. WLAN AP,,,,,,., Wi-Fi. AP. PSK PC. VLAN WLAN.. ZoneDirector 5000 WLAN L

슬라이드 1

리눅스설치가이드 3. 3Rabbitz Book 을리눅스에서설치하기위한절차는다음과같습니다. 설치에대한예시는우분투서버 기준으로진행됩니다. 1. Java Development Kit (JDK) 또는 Java Runtime Environment (JRE) 를설치합니다. 2.

Raspbian 설치 라즈비안 OS (Raspbian OS) 라즈베리파이 3 Model B USB 마우스 USB 키보드 마이크로 SD 카드 마이크로 SD 카드리더기 HDM I 케이블모니터

지난시간에... 우리는 kernel compile을위하여 cross compile 환경을구축했음. UBUNTU 12.04에서 arm-2009q3를사용하여 간단한 c source를빌드함. 한번은 intel CPU를위한 gcc로, 한번은 ARM CPU를위한 gcc로. AR

JDK이클립스

목차 데모 홖경 및 개요... 3 테스트 서버 설정... 4 DC (Domain Controller) 서버 설정... 4 RDSH (Remote Desktop Session Host) 서버 설정... 9 W7CLIENT (Windows 7 Client) 클라이얶트 설정

1. Windows 설치 (Client 설치 ) 원하는위치에다운받은발송클라이언트압축파일을해제합니다. Step 2. /conf/config.xml 파일수정 conf 폴더에서 config.xml 파일을텍스트에디터를이용하여 Open 합니다. config.xml 파일에서, 아

Network Security - Wired Sniffing 실습 ICNS Lab. Kyung Hee University

U.Tu System Application DW Service AGENDA 1. 개요 4. 솔루션 모음 1.1. 제안의 배경 및 목적 4.1. 고객정의 DW구축에 필요한 메타정보 생성 1.2. 제품 개요 4.2. 사전 변경 관리 1.3. 제품 특장점 4.3. 부품화형

메일서버등록제(SPF) 인증기능적용안내서 (AIX - sendmail) OS Mail Server SPF 적용모듈 (Perl 기반) 작성기준 AIX 5.3 sendmail spf-filter 년 6 월

untitled

제3회 정보통신표준화 우수논문집 CONTENTS 회장 발간사 4 심사위원장 심사후기 5 최우수상 논문 ( 정보통신부 장관상 ) 촉각 정보 메타데이터 표준 개발 및 국제 표준화 전략 7 I 경기욱, 이준영, 이용희 (한국전자통신연구원) 우수상 논문 ( 한국정보통신기술협회

Microsoft PowerPoint - 11주차_Android_GoogleMap.ppt [호환 모드]

Copyright 2004 Sun Microsystems, Inc Network Circle, Santa Clara, CA U.S.A..,,. Sun. Sun. Berkeley BSD. UNIX X/Open Company, Ltd.. Sun, Su

PCServerMgmt7

시스코 무선랜 설치운영 매뉴얼(AP1200s_v1.1)

목 차 1. 드라이버 설치 설치환경 드라이버 설치 시 주의사항 USB 드라이버 파일 Windows XP에서 설치 Windows Vista / Windows 7에서 설치 Windows

tut_modelsim(student).hwp

2 노드

DE1-SoC Board

Keil Flexlm 라이선스 설명서

표준프레임워크 Nexus 및 CI 환경구축가이드 Version 3.8 Page 1

MF Driver Installation Guide

Snort Install Manual Ad2m VMware libnet tar.gz DebianOS libpcap tar.gz Putty snort tar.gz WinSCP snort rules 1. 첫번째로네트워크설정 1) ifconf

OM2M 기반의 OHP-M2M 오픈소스설치가이드 2015 년 8 월 경북대학교통신프로토콜연구실 최예찬, 강형우 요약 사물인터넷 (Internet of Things: IoT) 이이슈가되면서다양한사

untitled

Microsoft Word - CPL-TR IETF-mobility.doc

NTD36HD Manual

개요 IPv6 개요 IPv6 주소 IPv4와공존 IPv6 전환기술 (Transition Technologies)

2009년 상반기 사업계획

소개 TeraStation 을 구입해 주셔서 감사합니다! 이 사용 설명서는 TeraStation 구성 정보를 제공합니다. 제품은 계속 업데이트되므로, 이 설명서의 이미지 및 텍스트는 사용자가 보유 중인 TeraStation 에 표시 된 이미지 및 텍스트와 약간 다를 수

iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다.

Microsoft PowerPoint - Supplement-02-Socket Overview.ppt [호환 모드]

Microsoft PowerPoint - 02_Linux_Fedora_Core_8_Vmware_Installation [호환 모드]

Level 학습 성과 내용 1수준 (이해) 1. 기본적인 Unix 이용법(명령어 또는 tool 활용)을 습득한다. 2. Unix 운영체계 설치을 익힌다. 모듈 학습성과 2수준 (응용) 1. Unix 가상화 및 이중화 개념을 이해한다. 2. 하드디스크의 논리적 구성 능력

슬라이드 제목 없음

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp");

1. efolder 시스템구성 A. DB B. apache - mod-perl - PHP C. SphinxSearch ( 검색서비스 ) D. File Storage 2. efolder 설치순서 A. DB (MySQL) B. efolder Service - efolder

PWR PWR HDD HDD USB USB Quick Network Setup Guide xdsl/cable Modem PC DVR 1~3 1.. DVR DVR IP xdsl Cable xdsl Cable PC PC DDNS (

Data Sync Manager(DSM) Example Guide Data Sync Manager (DSM) Example Guide DSM Copyright 2003 Ari System, Inc. All Rights reserved. Data Sync Manager

JDBC 소개및설치 Database Laboratory

Splentec V-WORM Quick Installation Guide Version: 1.0 Contact Information 올리브텍 주소 : 경기도성남시분당구구미로 11 ( 포인트타운 701호 ) URL: E-M

슬라이드 제목 없음

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

기존에 Windchill Program 이 설치된 Home Directory 를 선택해준다. 프로그램설치후설치내역을확인해보면 Adobe Acrobat 6.0 Support 내역을확인할수 있다.


슬라이드 제목 없음

SBR-100S User Manual

chapter4

Transcription:

msctp-hss: msctp Handover Supporting System (CPL-TR-07-08) 2007년 8월경북대학교통신프로토콜연구실김동필 (dpkim@cs.knu.ac.kr) 요약 본문서는리눅스플랫폼환경에서이동단말의새로운망으로의이동을탐지하고 msctp 핸드오버를자동적으로수행하는시스템의설계및개발에관해언급한다. 또한, 개발된시 스템을노트북과같은이동단말에설치하는과정을상세히설명한다. 목 차 1. 서론... 2 2. 시스템설계... 2 2.1 링크정보관리자 (LINK INFORMATION MANAGER)... 3 2.2 이동탐지 (MOVEMENT DETECTION)... 4 2.3 핸드오버결정엔진 (HANDOVER DECISION ENGINE)... 4 2.4 핸드오버관리자 (HANDOVER MANAGER)... 4 3. 시스템개발코드분석... 7 4. 시스템개발및설치...11 4.1 프로그램요구사항...11 4.1.1 Mobile Terminal (MT)...11 4.1.2 Fixed Server (FS)...12 4.2 MOBILE SCTP IPTV 프로그램설치...12 4.3 MOBILE SCTP IPTV 프로그램동작방법...14 4.3.1 Fixed Server (FS)...14 4.3. 2 Mobile Termi nal (MT)...15 4.4 테스트베드구성및실행...15 4.5 참고사항...17 5. 결론...17 1

1. 서론본문서는리눅스플랫폼환경에서두개의 WLAN 인터페이스를장착한이동단말이새로운망으로이동하였을때, 자동적으로 msctp 핸드오버를수행할수있는시스템의설계및개발에관한내용이다. 또한, 개발된시스템을리눅스플랫폼에서설치하는과정을담고있다. 본시스템은이동단말이서로다른 IP 정보를가지는두개의 WLAN 망을이동할때, 하부계층 (L2 레벨 ) 의 Link-Up/Down을탐지하여새로운망으로의이동을탐지하고, 해당네트워크의 AR(Access Router) 로부터네트워크정보를수신한후, msctp 핸드오버를수행하도록개발되었다. 본문서에서는 msctp 핸드오버지원시스템의구조를설명하고, 구현된시스템의개발코드를간략히분석한다. 또한, 개발된시스템을리눅스플랫폼환경에서설치하는과정을가능한자세히설명하도록한다. 2. 시스템설계본시스템은 4개의기능모듈로써, 링크정보관리자 (Link Information Manager), 이동성탐지 (Movement Detection), 핸드오버결정 (Handover Engine), 핸드오버수행 (Handover Manager), msctp API로구성된다. 다음은 msctp 핸드오버시스템의구성도이다. Mobile SCTP API Handover Decision Engine Handover Manager Movement Detection User Space RAW SOCKET Kernel Space ICMPv6 Link Information Manager NETLINK SOCKET SCTP IPv6 Link Information LLC 그림 1. SCTP 핸드오버시스템구성도 그림 1 에서와같이, SCTP 핸드오버시스템은 User Space 와 Kernel Space 로나누어설계하였 다. User Space 는 SCTP 핸드오버시스템을지원하기위해요구되는기능모듈들이요구되는 부분이고, Kernel Space 는운영체제에서제공하고있는프로토콜스택들이존재하는부분이 2

다. 실제로 SCTP 핸드오버시스템이동작하기위해서는운영체제에서제공하고있는기존프로토콜들및 Kernel 레벨에서제공하는유틸리티들과상호연동이이루어져야한다. 예를들어, 이동단말시스템이이동성을탐지하기위해서는 L2 (Data Link Layer) 레벨에서 RSSI (Received Signal Strength Indication) 정보를수집하거나, L3 레벨에서 IPv6 주소의 Prefix 정보를수신하여야한다. 이를위해본시스템에서는 User Space에서는 SCTP 핸드오버를지원하기위한기능모듈들을설계하였고, Kernel레벨에서제공하고있는프로토콜들및 Kernel API들을이용하여 Kernel 레벨과의상호협력할수있도록설계하였다. SCTP 핸드오버를지원하기위해설계한기능모듈들은링크정보관리자 (Link Information Manager), 이동성탐지 (Movement Detection), 핸드오버관리자 (Handover Manager), 핸드오버결정엔진 (Handover Decision Engine) 등이다. 링크정보관리자는단말의이동성을탐지하기위해요구되는기능모듈로써, L2 레벨의정보를지속적으로수신한다. 이동성탐지기능모듈은링크정보관리자로부터단말의이동성을감지하면새로운 Prefix를받아들여 IP 핸드오버의수행을결정하고, 핸드오버결정엔진과핸드오버관리자에의해 SCTP 핸드오버를수행하게된다. 각기능모듈들의세부적인설명은다음과같다. 2.1 링크정보관리자 (Link Information Manager) 링크정보관리자는단말의이동및핸드오버수행을결정하기위한링크정보를탐지하는역할을수행한다. 또한, 이동단말이두개이상의서로다른미디어의네트워크인터페이스들을탑재하고있는경우, 새로운전송미디어를사용하는영역으로이동하였을때, 해당인터페이스가활성화됨을탐지하게된다. 본시스템에서설계한링크정보관리자는 NETLINK LIBRARY를이용하여새로운영역의링크, 즉이동단말과 AR간의링크를탐지한다. 단말이이동하여해당 AR과의접속링크가끊어졌을경우링크다운메시지가발생하고, 단말이새로운영역으로이동하여해당 AR과접속링크가새로이생성된경우링크업메시지가발생되도록설계하였다. 데이터링크계층과링크정보관리자간의링크모니터링을위해사용된메시지들은다음과같다. RTM_NEWLINK RTM_DELLINK // 이동단말과해당 AR 간의링크가활성화되었을경우 // 이동단말과해당 AR 간의링크가비활성화되었을경우 링크정보관리자가 L2 레벨로부터 NETLINK LIBRARY를통하여 RTM_NEWLINK 메시지를수신하였을경우, 링크정보관리자는곧바로이동성탐지모듈을호출하여 IPv6의 Router Discovery 절차를수행하도록한다. 반면, 링크정보관리자가 RTM_DELLINK 메시지를수신하였을경우에는핸드오버결정엔진을호출하여핸드오버수행관리자에게해당링크의 IPv6 주소를삭제하도록 (DELETE-IP) 하도록요청한다. 또한, 링크정보관리자는이동단말의핸드오버수행을결정하는변수로사용하기위해해당링크의신호세기를주기적으로수집하여핸드오버결정엔진에전송하도록한다. 3

2.2 이동탐지 (Movement Detection) 이동탐지기능모듈은 AR로부터새로운네트워크 Prefix를수신하고, IPv6의자동주소설정방식에의해새로운 Stateless IPv6 주소를생성하도록하는역할을수행한다. 이를위해, 링크정보관리자가 RTM_NEWLINK 메시지를수신하여이동탐지모듈을호출하게되면, 곧바로 IPv6의 Router Discovery 절차를수행시킨다. 이동탐지모듈은 Kernel Space의 ICMPv6을사용하기위해 ICMPv6 Raw Socket API를사용하여 Router Solicitation (RS) 메시지를전송하고, AR로부터 Router Advertisement (RA) 메시지를수신하게된다. 수신한 RA 메시지에는 Network Prefix를포함하고있고, 이를추출하여현재사용중인 Prefix와비교한다. 만일수신 Network Prefix가기존의것과다르다면, 이동단말이새로운 IP 영역으로이동하였다고판단하고해당 IPv6 주소를생성하게된다. 생성된 IPv6 주소는핸드오버결정엔진에등록되고, 핸드오버관리자에게 SCTP의 ADD-IP 기능을수행하도록요청한다. 2.3 핸드오버결정엔진 (Handover Decision Engine) 핸드오버결정엔진은핸드오버수행여부 ( 주요 IP 전송경로변경요청 ) 를결정하는모듈로써, 링크정보관리자로부터수신한링크신호강도, 네트워크지연시간및사용되고있는대역폭등을고려한핸드오버수행결정알고리즘에의거하여핸드오버수행여부를판단한다. 구체적인핸드오버수행결정알고리즘에대해서는언급하지않는다. 2.4 핸드오버관리자 (Handover Manager) 핸드오버관리자는링크정보관리자나이동탐지기능모듈로부터 SCTP의핸드오버수행을요청받으면, Kernel Space의 SCTP 프로토콜스택을참조하여 SCTP 핸드오버수행을위해 SCTP의제어메시지인 Address Configuration (ASCONF) Chunk을생성하도록한다. 즉, 이동탐지모듈로부터새로운 IPv6주소가생성되고, 이를보고받으면핸드오버관리자는 SCTP의 ADD-IP 기능을수행하기위해 SCTP_BINDX() 함수를호출하여 SCTP 스택이 ASCONF Chunk를생성하도록한다. 이동단말이 ADD-IP를위해 ASCONF Chunk를전송하면상대노드는이에대한응답으로 ASCONF-ACK chunk를전송하게되고, 이동단말이이를정상적으로수신하게되면두노드간의 SCTP 세션에서새로운주소가 Binding되게된다. 더욱이, 링크정보관리자로부터 DELTET-IP 수행을요청받으면, 같은방식으로핸드오버관리자는 ASCONF/ASCONF-ACK를송수신하여 SCTP DELTE-IP 기능을수행하도록한다. 한편, 핸드오버결정엔진이지속적으로수신한링크정보를비교하여새로이이동한영역의링크정보가훨씬좋다고판단하였을경우, 핸드오버관리자는 SETSOCKOPT(PRIMARY CHANGE) API를호출하여주요데이터전송경로를변경하게된다. 이와같은경우에도역시 ASCONF/ASCONF-ACK Chunk를송수신하여수행하게된다. 아래의 Flow Charter 들은 SCTP 핸드오버수행을위한 ADD-IP, Primary-Change 그리고 DELTE-IP 기능에따른각기능모듈간의수행절차를보여주고있다. 4

NEW AR LIM MD HDE HM FS RTM_NEWLINK ROUTER SOLICITATION ROUTER ADVERTISEMENT Prefix Matching NEW IPv6 Address Reg. ADD-IP Request (NEW IPv6 Address) ASCONF (ADD-IP) ASCONF-ACK (ADD-IP) 그림 2 SCTP 핸드오버를위한 ADD-IP 수행흐름도 위의그림에서같이, 링크정보관리자 (LIM) 가 RTM_NEWLINK 메시지를수신하면이동탐지기능모듈 (MD) 와해당 AR (NEW AR) 는 IPv6 RS/RA 메시지를송수신하고, 이동탐지기능모듈 (MD) 은새로이수신한 Prefix를기존의것과비교한다. 새로이수신한 Prefix가새로운영역의것이라면 IPv6 주소를 Stateless하게생성하고이를핸드오버결정엔진 (HDE) 에게등록한후, HM은상대노드 (FS) 에게 ASCONF를송신하고, 이에대한응답으로 ASCONF-ACK를수신하면, SCTP 핸드오버수행을위한 ADD-IP가완료되게된다. LIM HDE HM FS Link Info. Request Link Info. Response Link Info. Matching Primary-Change Request ASCONF (P-C) ASCONF-ACK (P-C) 그림 3 SCTP 핸드오버를위한 Primary-Change 수행흐름도 5

위의그림에서같이, 핸드오버결정엔진 (HDE) 은주기적으로활성화된네트워크인터페이스에대해해당링크정보를링크정보관리자 (LIM) 에게요청한다. 링크정보관리자는 L2 레벨의정보를수집하여이를핸드오버결정엔진에보고하고, 핸드오버결정엔진은이를비교하여새로이추가된경로의링크정보가좋을경우, 핸드오버관리자 (HM) 에게주요데이터전송경로를새로운경로로변경 (Primary-Change) 하도록요청한다. 핸드오버관리자는상대노드 (FS) 에게 ASCONF를보내고, ASCONF-ACK를수신하면이후주요데이터전송경로는새로운경로로변경되어데이터송수신이이루어지게된다. LIM HDE HM FS RTM_DELLINK Old IPv6 Address De-Reg. SCTP DELETE-IP Request ASCONF(DEL-IP) ASCONF-ACK(DEL-IP) 그림 4 msctp 핸드오버를위한 DELETE-IP 수행흐름도 그림 4와같이, 링크정보관리자 (LIM) 가 RTM-DELLINK를수신하면핸드오버관리자 (HM) 가핸드오버결정엔진에해당 IPv6 주소를등록풀 (pool) 에서삭제하도록요청한다. 이후, 핸드오버결정엔진은핸드오버관리자에게 SCTP DLETE-IP를요청하고핸드오버관리자와상대노드 (FS) 사이에 ASCONF/ASCONF-ACK 메시지가정상적으로송수신되면 DLETE-IP 수행이완료된다. 6

3. 시스템개발코드분석 msctp 핸드오버시스템은앞서언급하였듯이, NETLINK를사용하여하부계층의링크정보 (e.g., Link-Up 또는 Link-Down) 를탐지하는부분과, ICMPv6 소켓을활용하여 IPv6 RS 및 RA메시지를생성한후전송하고, 수신하는부분, 그리고 msctp 핸드오버를실제수행하는부분으로구성된다. 본시스템에서는기존의시스템라이브러리인 NETLINK를수정하여이동단말과해당액세스포인트간의링크업 / 다운을탐지하도록하였다. 다음그림은링크정보관리자가 RTM_NEWLINK와 RTM_DELLINK를수신하여처리하는루틴을보여주고있다. 그림 5 링크정보관리자의 RTM_NEWLINK/RTM_DELLINK 처리루틴 위의그림에서와같이, process_nlmsg() 함수가본시스템에서데몬프로그램으로동작하게되고, L2 레벨에서새로운링크가활성화되면 RTM_NEWLINK 메시지가링크정보관리자에수신하게된다. RTM_NEWLINK나 RTM_DELLINK 메시지가입력되면링크정보관리자의 process_link() 함수에의해해당루틴으로연결되게된다. RTM_NEWLINK의경우에는 process_new_link() 를호출하게되고, RTM_DELLINK는 process_del_link() 를호출하게된다. process_new_link는이동성탐지기능모듈에속하는함수로써 ICMPv6 Raw Socket을생성하여 IPv6 RS 메시지를전송하도록한다. 그림 6은이동성탐지기능모듈에서 ICMPv6 raw Socket을이용하여 RS메시지를전송하는루틴을보여준다. 7

그림 7 이동성탐지기능모듈에서 RS 메시지전송루틴 위의그림과같이, ICMPv6 Raw Socket 과 RS 메시지를생성하여해당 AR 의링크주소로전 송하게된다. 이동단말은이에대한응답으로 RA 메시지를수신하게된다. 다음그림은송 신한 RS 에대한응답으로수신할 RA 메시지처리루틴을보여주고있다. 그림 8 이동성탐지기능모듈에서수신 RA 메시지처리루틴 8

그림 8에서와같이, recv_ra() 함수가 thread로써동작하게되고, 수신한 RA가이미보낸 RS 에대한응답 RA인지를 md_get_inet6_iface() 를통하여확인한다. md_get_inet6_iface() 의반환값이 NULL이아닐경우, RA메시지가 RS의응답으로간주하고, RA에포함된 Network Prefix를추출한다. 추출된 Prefix가새로운 IP 영역에서수신된것인지를확인하기위해 ipv6_pfx_cmp() 를호출한다. Ipv6_pfx_cmp() 의반환값이참이면이는새로운 Network Prefix로간주하고핸드오버관리자에게 ADD-IP 수행을요청한다. 다음그림은핸드오버관리자기능모듈에서 SCTP 핸드오버를수행하기위한루틴을보여준다. 그림 9 핸드오버관리자기능모듈에서 ADD-IP 수행루틴 위의그림에서와같이, 핸드오버관리자에서 sctp_bindx() 함수를호출하여새로이생성된 IPv6 주소를동적으로 SCTP 세션에바인딩한다. 또한, setsockopt() 함수를호출하여 Primary-Change를수행하고있다. 다음그림은핸드오버관리자가 DELTE-IP를수행하기위한처리루틴을보여준다. 9

그림 10 핸드오버관리자기능모듈에서 DLETE-IP 수행루틴 위의그림과같이, 링크정보관리자가 RTM_DELLINK 를수신하면핸드오버관리자의 process_del_inet6_iface() 함수를호출하고, process_del_inet6_iface() 에서 sctp_bindx() API 를 호출하여 SCTP DELETE-IP 를수행하게된다. 10

4. 시스템개발및설치 본장에서는 msctp 핸드오버지원시스템개발에관해설명한다. 4.1 프로그램요구사항본프로그램은이동단말 (MT) 과고정된서버 (FS) 상에서동작한다. MT는 FS와 SCTP 세션을시작하고 IPTV 서비스를제공받기위해서비스를요청한다. 반면, FS는 IPTV 서비스를제공하는주체로써 SCTP 세션요청을기다리고이를수락하게된다. Mobile SCTP IPTV 프로그램을 MT와 FS에각각동작시키기위해서는다음과같은 OS와응용프로그램들이두단말에설치되어있기를권장한다. 4.1.1 Mobile Terminal (MT) Fedora 5 with Kernel 2.6.16 (kernel 2.6.16으로 kernel compile) Kernel 2.6.16으로 kernel compile 시, kernel option에서가능한 SCTP 관련부분들이모두 built in (*) 으로설정되어있어야한다. LKSCTP-TOOLS-1.0.1 LKSCTP-TOOLS-1.0.1은 SOURCEFORGE의 OPEN PROJECT로써 SCTP API들을응용레벨에서쉽게사용할수있도록하는 UTILITY이다. 따라서, SCTP 핸드오버를지원하는본프로그램에서는꼭설치가되어있어야한다. 참고로, LKSCTP TOOL은현재까지 1.0.6 버전까지출시되어있다. 그러나, 가능하면 LKSCTP-TOOLS-1.0.1로설치하여본프로그램과호환성이있도록하는것이좋을듯하다. UNP 코드 UNP 소스코드는 Unix Network Programming 책에서제공하는예제코드로써 MSCTP- IPTV 프로그램에서 Primary Address 를화면에출력시키기위해사용되고있다. WIRELESS_TOOLS WIRELESS_TOOLS.28 는하부레벨에서 AP와의연결성에관한이벤트를제공하기위해사용되는 UTILITY이다. MT가새로운영역으로이동하여새로운 AP와연결이설정되면 WIRLEESS_TOOLS에서새로운링크업에대한이벤트를상위응용프로그램을송신한다. 본프로그램에서는이를수신하여 SCTP 핸드오버를수행하게되도록설계및개발되어있다. 본프로그램의정확한명칭은 wireless-tools_28.orig.tar.gz 이다. QT-X11-OPENSOURCE-SRC-4.1.4 QT-X11-OPENSOURCE-SRC-4.1.4는 MT가 IPTV서비스를제공받기위해설치하는프로그램의 UI를지원하기위한응용프로그램이다. 참고로, 본프로그램의 UI는 QT4를이용하여개발되었다. 11

MPLAYER-1.0PRE8 MPLAYER-1.0PRE8 은 IPTV 서비스에서멀티미디어서비스를지원하기위한응용프로그램 으로써각종멀티미디어 CODEC 을지원하고있다. 4.1.2 Fixed Server (FS) FS 에는특별한 UI 가제공되지않고텍스트기반으로서비스를제공한다. 따라서, 다음과같 이 3 개의프로그램만설치되어있다면간단히동작하게된다. Fedora 5 with Kernel 2.6.16 (kernel 2.6.16 으로 kernel compile) LKSCTP-TOOLS-1.0.1 UNP 코드 4.2 Mobile SCTP IPTV 프로그램설치 2장에서언급한응용프로그램및 OS가올바르게설치되어있다면, Mobile SCTP IPTV 프로그램을설치해야한다. 먼저, MT용 Mobile SCTP IPTV 프로그램을설치해보자. MT용프로그램명은 s-tv-0.4.tar.gz이고, /usr/local/src/ 에해당소스코드를설치하도록한다. 먼저 s-tv-0.4.tar.gz 의압축파일을풀고, 다음과같은절차로컴파일할수있다. $ tar zxvf s-tv-0.4.tar.gz $ cd s-tv-0.4 $ ls ChangeLog Makefile Makefile.vars READEME gui Modules msctp ref temvod test trace.dat $ cd msctp $ make lib MT 용프로그램인 /usr/local/src/s-tv-0.4/msctp 디렉토리안에서위와같이컴파일하는 도중 RTNL 관련컴파일에러가발생한다면다음과같이수정해보자. 12

RTNL 관련에러수정 ------------------------------------------------------------------------------------------------------ cd s-tv-0.4 mv /usr/include/linux/rtnetlink.h /usr/include/linux/rtnetlink.h.back cp /usr/local/src/linux-2.6.16/include/linux/rtnetlink.h /usr/include/linux/ ---------------------------------------------------------------------------------------------------- 또한, NETLINK_ADD_MEMEBERSHIP 관련컴파일에러가발생한다면다음과같이수정해 보자. NETLINK_ADD_MEMEBERSHIP 관련에러수정 -------------------------------------------------------------------------------------------------------- mv /usr/include/linux/netlink.h /usr/include/linux/netlink.h.back cp /usr/local/src/linux-2.6.16/include/linux/netlink.h /usr/include/linux/ ---------------------------------------------------------------------------------------------------------- 만일, 위와다른컴파일에러가발생한다면 dpkim@cs.knu.ac.kr 로에러를보고해주기바란 다. msctp 폴더안에서정상적으로컴파일이수행되었다면 msctp 폴더안에 libmsctp.a 라는 라이브러리가생성되었을것이다. 그후, 다음과같이 msctp 폴더를나와 gui 폴더안으로들어가서 compile 을수행하도록한 다. $ cd.. $ cd gui $ make gui 폴더안에서컴파일에러가발생되었다면 Makefile 에명시되어있는경로에해당라이 브러리와실행파일들이제대로있는지확인해봐야한다. 만약, gui 폴더안에서컴파일이올바르게수행되었다면, /usr/local/src/s-tv-0.4 폴더안에 s-tv 라는실행파일이생성되었을것이다. 13

다음으로 FS 에서 MSCTP-IPTV 프로그램을설치해보자. FS 에서본프로그램은별문제없이 설치가될것이다. FS 용프로그램은 /usr/local/src 에있으며다음과같은파일로구성된다. $ tar zxvf vod-etri-server.tar.gz $ cd vod-etri-server $ ls Makefile libunp.a print.c vod_24s1e1.avi vodserv6 vodserv6_print.c client.h net.sh server.h vod_losts1e1.avi vodserv6.c $ make 위와같이컴파일을수행하면 vodserv6 라는실행파일이생성된다. 만일컴파일에러가 발생한다면 vodserv6.c 파일의 137 라인에서.avi 파일의경로를수정해주기바란다. 4.3 mobile SCTP IPTV 프로그램동작방법 3 장에서언급한대로 MT 와 FS 에 Mobile SCTP IPTV 프로그램이정상적으로설치가되었다 면, 이제실행시켜보자. 두 MT와 FS에서프로그램을실행시키기전에소스코드에서주소를바로잡도록하자. 본프로그램은 SCTP 초기화를위해기본적으로 MT에 2001:220:0:1:20d:28ff:fe46:4c3b 가 BINDING 되도록설정되어있고, MT에서 FS로연결하기위해 MT는서버용주소 2001:220:10::155를알고있다고가정한다. 만일, MT에서자신의주소를변경하고자할때는 gui 폴더안의 vodclnt6.c에서 203 라인에새로운주소를설정하면된다. 또한, MT에서연결하고자하는 FS의주소를변경하고자할경우에는역시 MT에서 gui 폴더안의 main_gui.cpp 파일에서 66 라인의주소를변경하면된다. 주소를변경하였다면다시 3장에서언급한대로 s-tv-0.4 (MT용프로그램 ) 과 vod-server ( 서버용 ) 프로그램들을재컴파일하고프로그램을실행시켜보자. MT 와 FS 에서프로그램을실행시키기위해서는다음과같은절차로수행하면된다. 단, FS 가 MT 보다먼저프로그램이실행되어있어야한다. 이는 FS 가서버로써 SCTP 세션초기화를 기다리고있고, MT 는 SCTP 세션을요청하기때문이다. 4.3.1 Fixed Server (FS) $ cd vod-etri-server //Mobile SCTP IPTV 의 FS 용프로그램이름 $./vodserv6 9998 // 9998 는포트번호이다. 14

4.3.2 Mobile Terminal (MT) $ cd s-tv-0.4 // Mobile SCTP IPTV 의 MT 용프로그램이름 $./s-tv MT에서프로그램이동작하여 GUI 화면이디스플레이되면 Home ( 집모양 ) 을클릭하고 Server 주소를선택한다. 본프로그램에서는 CINEMA Server라고명시되어있는것을클릭하고 Connect 버튼을누르면 FS와의연결이진행된다. 정상적으로연결이되면서비스제공목록이서버로부터전송되고, MT에서는서비스번호 1 번을입력하고 Request Contents를클릭한다. 그런후, 화면표시를클릭하고 play버튼을누르면 IPTV 서비스가시작된다. 이후, 새로운 AP가나타나면자동적으로 SCTP 핸드오버가수행되게된다. 4.4 테스트베드구성및실행 다음그림은실험에사용된테스트베드구성도이다. IP-1 Network Prefix: 2001:220:0:1 AP1 LAN 1 Network Prefix: 2001:220:0:10 ROUTER LAN 3 IP-3 AP2 LAN 2 FS MT IP-2 Network Prefix: 2001:220:0:2 그림 10 실험을위한테스트베드구성도 위의그림에서와같이, 테스트베드는 3 개의다른 IP 영영으로구성된다. 서버 (FS) 는 IP-3 영 역에서 IPTV 서비스를제공하고, 이동단말은 IP-1 영역에서 IP-2 영역으로이동하게된다. 제안시스템을평가하기위해적용된실험시나리오는다음과같다. 15

가. 세션초기화먼저서버는 2001:220:0:3::/64의 Network Prefix를사용하며, AP1영역에서 2001:220:0:1::/64의 Network Prefix를가지는이동단말클라이언트와 SCTP세션을초기화한다. 이후, 클라이언트는서버로부터 IPTV 서비스를제공받는다. 나. ADD-IP 단말이 2001:220:0:2::/64 의 Network Prefix 를사용하는 AP2 로부터새로운신호를수신하면, SCTP 세션에동적으로새로이생성된 IPv6 주소를추가 (Binding) 한다. 다. Primary Change (AP1->AP2) 단말이 AP1와 AP2사이에있고, AP2 영역의링크정보가 AP1보다좋을때, 새로이추가된 IPv6주소를주요데이터전송경로로변경하고자서버에게요청하고, 이에대한응답을받는다. 라. Primary Change (AP2->AP1) 단말이 AP2와 AP1사이에있고, AP1 영역의링크정보가 AP2보다좋을때, 새로이추가된 IPv6 주소를주요데이터전송경로로변경하고자서버에게요청하고, 이에대한응답을받는다. 마. Delete-IP 이동단말이 HOTSPOT 영역을완전히벗어나해당 AP로부터더이상신호를받지않을시점에, 이동단말은해당주소를진행중인 SCTP 세션에서삭제하고, IPTV 서비스를지속적으로진행한다. 본실험을통해, 제안된설계를통해개발된 IPTV 시스템이잘동작하고있음을알수있 다. 그림 11 은본시스템에의해동작되는화면을보여주고있다. 16

IPTV Service Controller Play Controller 그림 11 실험결과화면 그림 11과같이, 개발된시스템은클라이언트의 GUI를통해서버로부터채널목록을수신하고, 사용자가원하는채널을선택하면, 해당멀티미디어컨텐츠를플레이하여볼수있도록되어있다. 더욱이, SCTP 핸드오버시스템은이동단말의하위계층 (L2 및 L3) 정보를분석하여응용레벨에서동작하는시스템과독립적으로수행하도록개발되었다. 다시말해, 이동단말이새로운 IP 영역으로이동하여 SCTP핸드오버가수행되더라도응용레벨의 IPTV 시스템에는어떠한영향도미치지않는다. 4.5 참고사항본프로그램에서 SCTP 핸드오버를수행시키기위해서는 CISCO AIRONET 350 시리즈의 WLAN카드와 INTEL 2100 BG나 INTEL 2200 BG WLAN 카드가구비되어있어야한다. 더욱이, CISCO WLAN 카드가 eth1이고 INTEL WLAN 카드가 eth2로설정되어있어야정상적으로동작하게된다. 5. 결론본문서에서는이동단말이새로운망으로이동하였음을탐지하고, 새로운망으로 msctp 핸드오버를자동적으로수행하는시스템에관한설계및개발에대해상세히설명하였다. 현재개발된시스템은 WLAN 간 IP 이동성을지원하는시스템으로써노트북과같은이동단말에두개의 WLAN 카드를장착하고있어야하며, 단말의이동성을연출하기위해 AP 와의링크를빼고꼽는방식으로 msctp 핸드오버를실행시킬수있도록하였다. 향후연구로써본시스템을 WiBro나 3G와같은이기종무선인터페이스를장착하여실제이기종망에서 msctp 핸드오버를지원할수있는시스템으로확장할계획이다. 17