Microsoft Word - CPL-TR LNP-guide.doc

Similar documents
Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

Microsoft PowerPoint - 02_Linux_Fedora_Core_8_Vmware_Installation [호환 모드]

Microsoft Word - VMware와 리눅스 설치_v0.11.doc

SCTP 표준기술 동향

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

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

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

Microsoft Word - CPL-TR wireshark.doc

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

ICAS CADWorx SPLM License 평가판설치가이드

°í¼®ÁÖ Ãâ·Â

PowerPoint 프레젠테이션

vRealize Automation용 VMware Remote Console - VMware

System Recovery 사용자 매뉴얼

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

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

JDK이클립스

SCTP 표준기술 동향

server name>/arcgis/rest/services server name>/<web adaptor name>/rest/services ArcGIS 10.1 for Server System requirements - 지

Copyright 2012, Oracle and/or its affiliates. All rights reserved.,.,,,,,,,,,,,,.,...,. U.S. GOVERNMENT END USERS. Oracle programs, including any oper

<4D F736F F D D31312D30312D53572D30312DBBE7BFEBC0DABCB3B8EDBCAD5FBFDCBACEB9E8C6F7BFEB2E646F63>

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

네이버블로그 :: 포스트내용 Print VMw are 에서 Linux 설치하기 (Centos 6.3, 리눅스 ) Linux 2013/02/23 22:52 /carrena/ VMware 에서 l

Microsoft Word - Armjtag_문서1.doc

Chapter 1

Install stm32cubemx and st-link utility

CD-RW_Advanced.PDF

슬라이드 제목 없음

Cubase AI installation guide

Copyright 0, Oracle and/or its affiliates. All rights reserved.,.,,,,,,,,,,,,.,...,. U.S. GOVERNMENT RIGHTS Programs, software, databases, and related

MF5900 Series MF Driver Installation Guide

Title Here

Windows 8에서 BioStar 1 설치하기

Studuino소프트웨어 설치

10X56_NWG_KOR.indd

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

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

MF3010 MF Driver Installation Guide

Microsoft Word - src.doc

RaspberryPi 개발환경구축 I 1 제 01 강 실습일정및가상머신구축 교과소개및실습일정 실습실안전교육 가상머신환경구축 (VMware Player, VM(Ubuntu), VMTools, 폴더공유 ) 참고 )

Microsoft Word - Network Programming_01.docx

Creativity Extension

PowerPoint 프레젠테이션

1. What is AX1 AX1 Program은 WIZnet 사의 Hardwired TCP/IP Chip인 iinchip 들의성능평가및 Test를위해제작된 Windows 기반의 PC Program이다. AX1은 Internet을통해 iinchip Evaluation

Solaris Express Developer Edition

Copyright 2012, Oracle and/or its affiliates. All rights reserved.,,,,,,,,,,,,,.,..., U.S. GOVERNMENT END USERS. Oracle programs, including any operat

B.3 JDBC 설치 JDBC Java DataBase Connectivity 는자바에서 DBMS의종류에상관없이일관된방법으로 SQL을수행할수있도록해주는자바 API Application Program Interface 다. 이책에서는톰캣과 SQL Server 간의연결을위

歯홍원기.PDF

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

전체설치와사용자지정설치중원하는설치방식을선택합니다. ArcGIS Desktop 설치경로를지정하면설치가짂행됩니다.

NTD36HD Manual

Assign an IP Address and Access the Video Stream - Installation Guide

목차 제 1 장 inexio Touch Driver소개 소개 및 주요 기능 제품사양... 4 제 2 장 설치 및 실행 설치 시 주의사항 설치 권고 사양 프로그램 설치 하드웨

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

DR-M140 사용 설명서

DE1-SoC Board

Microsoft PowerPoint - 안드로이드 개발 환경 구축(170411)

EEAP - Proposal Template

Getting Started With Parallels Desktop¢ç 9

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O

Microsoft PowerPoint - AME_InstallRoutine_ver8.ppt

SMB_ICMP_UDP(huichang).PDF

<4D F736F F F696E74202D E20B3D7C6AEBFF6C5A920C7C1B7CEB1D7B7A1B9D62E >

Windows Server 2012

APOGEE Insight_KR_Base_3P11

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

PowerPoint 프레젠테이션

을풀면된다. 2. JDK 설치 JDK 는 Sun Developer Network 의 Java( 혹은 에서 Download > JavaSE 에서 JDK 6 Update xx 를선택하면설치파일을

CODESYS 런타임 설치과정

4S 1차년도 평가 발표자료

SAS9.2_SAS_Enterprise_Miner_install_guide_single_user_v2

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 (

ArcGIS Desktop 9.2 Install Guide

chapter1,2.doc

Sena Device Server Serial/IP TM Version

TOOLS Software Installation Guide

ODS-FM1

Microsoft Word - 2. °í¼®ÁÖ_ÃÖÁ¾_.doc

Oracle VM VirtualBox 설치 VirtualBox에서 가상머신 설치 가상머신에 Ubuntu 설치

Mango220 Android How to compile and Transfer image to Target

USB USB DV25 DV25 REC SRN-475S REC SRN-475S LAN POWER LAN POWER Quick Network Setup Guide xdsl/cable Modem PC DVR 1~3 1.. DVR DVR IP xdsl Cable xdsl C

ArcGIS Desktop 9.2 Install Guide

!K_InDesginCS_NFH

untitled

Sun Java System Messaging Server 63 64

Microsoft Word ARM_ver2_0a.docx

vm-웨어-앞부속

Microsoft Word - CPL-TR IETF-ID.doc

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

ISP and CodeVisionAVR C Compiler.hwp

chapter4

슬라이드 1

목차 1. 개요 USB 드라이버 설치 (FTDI DRIVER) FTDI DRIVER 실행파일 USB 드라이버 확인방법 DEVICE-PROGRAMMER 설치 DEVICE-PROGRAMMER

untitled

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

슬라이드 1

PowerPoint Template

Solaris 10 (x86) Installation Guide for VMware 7 Writer : 이경호

vm-웨어-01장

Transcription:

Linux Network Programming (LNP): 환경구축안내서 <CPL-TR-09-03> 2009 년 2 월 경북대학교통신프로토콜연구실 김지인 (jiin16@gmail.com) 박재완 (jwparkinf8@gmail.com) 요약 본문서에서는 Linux에서의 TCP, UDP Socket 프로그래밍뿐만아니라, SCTP (Stream Control Transmission Protocol) 에대하여학습할수있는기회를제공한다. SCTP는 TCP와유사한연결지향성프로토콜이나, Multi-Stream을비롯한 Multi-Homing 특성을제공할뿐만아니라, 몇가지특징들을통하여 TCP에서의문제점들을개선한프로토콜이다. 1

목 차 1. 서론... 3 2. VMWARE 를이용한 LNP 환경구축... 3 2.1 VMWARE... 3 2.1.1 VMware 설치... 3 2.1.2 VMware 실행및 VM 생성... 9 2.1.3 Ubuntu 설치...14 2.2 SCTP (STREAM CONTROL TRANSMISSION PROTOCOL)...19 2.2.1 SCTP의특징...19 3. SCTP 예제실행을위한 LKSCTP 설치...21 3.1 VMWARE...21 3.2 LKSCTP 설치...23 4. 결론...23 5. 참고문헌...24 2

1. 서론 본문서는 Linux Network Programming에대한전반적인이해를돕기위하여, 예제를실습할수있는환경을구축하는방법을제시한다. Linux를운영체제로사용하여프로그래밍환경을구성하지만, 여기서다루는예제들이 Unix 환경으로구축되었기때문에몇가지수정이필요하다. 따라서, 관련하여몇가지패치작업이요구될수도있다. 2. VMware 를이용한 LNP 환경구축 이장에서는 VMware 와 Ubuntu Linux 를이용한 LNP 환경구축에대해서언급한다. 사용한 Linux 는 Ubuntu 8.04 버전이다. 2.1 VMware VMware란 Virtual Machine Software의약자로말그대로가상의머신을위한소프트웨어이다. 주로기존의운영체제위에서다른운영체제를사용하기위해서사용된다. 예를들면, Windows에서 Linux를사용하거나, Linux에서 Windows를동시에사용하기위해서사용하는소프트웨어이다. 2.1.1 VMware 설치 VMware 의설치는아주간단하다. 일반적인 Windows program 과다른점이없다. 다음은 VMware 설치과정을설명하고있다. 3

그림 1. VMware 설치화면 간단하게 Next 를선택함으로써다음단계로넘어간다. 그림 2. VMware 설치화면 라이선스에대해서사용자의동의를구하는화면이다. Yes, I accept the terms in the license agreement 를선택한후 Next 를선택하여다음단계로넘어간다. 4

그림 3. VMware 설치화면 설치경로를선택하는화면이다. 기본값으로는 C:\Program Files\VMware\VMware Workstation\ 이되어있다. 값을바꾸고싶다면 Change 를통하여변경한후 Next 를 선택하여다음단계로넘어간다. 그림 4. VMware 설치화면 바로가기를설정하는화면이다. 기본적으로바탕화면, 시작메뉴, 빠른실행모든메뉴에바 로가기가생성되도록체크되어있다. 사용자가원하는대로조작후 Next 를선택하여다 음단계로넘어간다. 5

그림 5. VMware 설치화면 CD-ROM의자동실행을설정하는화면이다. CD-ROM 자동실행이설정되어있을경우예상하지못한 Virtual Machine과의 interaction으로인해문제가발생할수있으므로, VMware 에서는 CD-ROM 자동실행을방지할것을권고하고있다. 실제로 Disable하지않고 VMware를설치, 사용해보았으나별다른문제는발생하지않았다. 그림 6. VMware 설치화면 6

이제설치준비가끝나본격적인설치화면이나온다. VMware 를설치할준비가끝났다면 Install 을선택하여설치를시작한다. 그림 7. VMware 설치화면 VMware 설치진행화면이다. Status 에서설치상태를알수있다. 그림 8. VMware 설치화면 7

VMware 설치가종료된후등록정보를입력하는화면이다. 사용자이름, 회사, Serial Number 를입력하는화면이다. 위정보들을작성하고 Enter 를선택하여다음단계로넘어 간다. 그림 9. VMware 설치화면 설치가완료되었다. 이제 Finish 를선택하여설치마법사를종료한다. 8

2.1.2 VMware 실행및 VM 생성 그림 10. VMware 실행화면 VMware 실행화면이다. VMware를실행화면위와같은화면이나온다. 간단한 VMware에대한설명과함께아래에는세가지메뉴가존재한다. New Virtual Machine 에서는새로운 Virtual Machine을만들수있고, New Team 에서는여러개의 Virtual Machine으로 private 네트워크를구축할수있으며, Open Existing VM or Team 에서는기존의 VM이나 team을불러올수있다. 여기에서는새로운 VM 에 Linux 를설치할것이므로 New Virtual Machine 을선택한다. New Virtual Machine 을선택하면아래와같은마법사가실행이되며, VM 구성을위한몇가지 설정들을하게된다. 9

그림 11. VM 생성화면 VM 을생성하는마법사의첫화면이다. 지금부터는메뉴가한글로표시되므로설치하기가 더욱쉽다. 다음 을선택하여다음단계로넘어간다. 그림 12. VM 생성화면 설정을선택하는화면으로 Typical ( 일반 ) 과 Custum ( 사용자정의 ) 두가지가존재한다. 일반설정과사용자정의설정의차이의경우사용자정의설치가몇가지설정을더하게된다. 추가되는설정으로는 VM의 memory size를정의하는것등이있다. 여기서는일반적인방법인 Typical을선택하여설치를하도록하겠다. 10

그림 13. VM 생성화면 게스트 OS 를선택하는화면이다. 게스트 OS 로는 Microsoft Windows 와 Linux, Nevell Netware, Sun Solaris, 등이있다. 여기서는 Ubuntu Linux 를설치할것이기때문에 Linux 와 Ubuntu 를선택하였다. 다음단계로넘어가기위해서 다음 을선택한다. 그림 14. VM 생성화면 11

VM 의이름과경로를지정하는화면이다. VM 의이름은기본값으로운영체제의이름으로되 어있고경로또한내문서안 My Virtual Machine 으로되어있다. 변경을원하는사람은변 경을한후 다음 을선택하여다음단계로넘어간다. 그림 15. VM 생성화면 다음은네트워크종류를설정하는화면이다. 기본적으로세가지유형이존재한다. Use bridged networking 의경우, 게스트 OS가하나의독립된 IP 주소를가질수있을때사용하는것이고, Use network address translation(nat) 의경우, 게스트 OS가독립된 IP 주소를가질수없을때 NAT를활용해서사설망을구축하여사용하는경우에사용된다. 그리고 Use host-only networking 의경우 host에서가상사설망을사용할경우에쓰이며, Do not use a network connection 의경우네트워크를사용하지않을때사용하는것이다. 12

다음은 VM 의디스크크기를설정하는화면이다. 기본값으로는 8GB 가설정이되어있다. 하 드디스크의여유가있다면좀더늘릴것을권장한다. 그림 16. VM 생성 VM 생성이완료되었다. 이제부터는 Ubuntu Linux 설치에대해서알아볼것이다. 13

2.1.3 Ubuntu 설치 Ubuntu 를설치하기위해서우선 Ubuntu 를다운받아야한다. 다운로드는 Ubuntu 공식사이 트 (http://www.ubuntu.com/) 에서가능하다. iso 파일을사이트에서다운받은후 VMware 에서별도의 CD 없이바로설치가가능하다. VM 은가상으로만든머신이므로 iso 파일을바로 CD-ROM 에서읽을수있기때문이다. 설 정방법은다음과같다. 그림 17. VM CD-ROM 설정 먼저 CD-ROM 을더블클릭한다. 그러면 CD-ROM 을설정하는화면이나타난다. 14

그림 18. VM CD-ROM 설정 Use ISO image 를선택하여 Ubuntu 사이트에서다운받은이미지파일을선택한다. 로컬 머신에있는 CD-ROM 을사용하려면 Use physical drive 를선택하면알아서설정을해준다. 그림 19. VM start 15

이제모든설정이끝났다. Start this virtual machine 을선택하여 VMware 를시작하도록한 다. 그림 20. VM 실행 VM 을시작한화면이다. 시작후아래와같은 Ubuntu 기본화면이나타난다. 그림 21. Ubuntu 설치 16

Ubuntu 초기화면이다. 여기서는 Ubuntu 를설치하기위해서제일위에있는 Start or install Ubuntu 를선택한다. 그럼아래와같은로딩화면이나타난다. 그림 22. Ubuntu 설치 Ubuntu 설치를위한로딩화면이다. 로딩이끝난후아래와같은화면이나타난다. 그림 23. Ubuntu 설치 17

install 을더블클릭하면설치가시작이되며, 설치는마법사를통해진행이되어 Windows 설치보다간단하다. 설치는간단한설정작업으로이루어져있으며, 언어, 키보드, 파티션, 계정, 관리자계정에대한설정을하면모든설정이끝나고설치가이루어진다. 대표적으로시작부분에있는언어설정부분만을설명하고나머지부분은쉽게설정후설 치를할수있을것이다. 그림 24. Ubuntu 설치 언어설정부분이다. 여기서한국어를선택할경우이후모든설치과정은한글로진행이 된다. 모르는부분이있다면천천히읽어보면서설치를진행할수있으므로자세한과정 은생략하도록하겠다. VMware 사용시 Tip : VMware 를사용하다가 local machine 으로나오기위해서는 Alt + Ctrl 키를동시에누르면 local machine 으로나올수있다. 18

2.2 SCTP (Stream Control Transmission Protocol) SCTP 의경우, 앞서언급한바와마찬가지로 TCP 와마찬가지로연결지향성프로토콜이지 만, 이와는몇가지차이점을가지고있는데, 대표적으로 Multi-Stream 과 Multi-Homing 이 있다. 2.2.1 SCTP 의특징 Multi-Stream의경우하나의 association (TCP에서의 connection 개념 ) 에여러개의 stream을통하여파일을전송하게된다. 이러한전송방법은 Head-of-Line Blocking 문제 (TCP에서 packet이손실될경우, 그 packet을다시전송받기전까지, 그이후에수신되는 packet을처리하지못하는문제 ) 가생긴다. 이를해결하는방안으로제시된방법이 SCTP의 Multi-Stream 전송이다. 이방법을사용할경우, 각각의독립적인 Stream을통하여 packet이전송된다. 그렇기때문에만약하나의 Stream에서 packet손실이일어날경우, 그하나의 Stream에한해서만재전송이일어나기때문에, 이후에도착하는 packet들이불필요하게대기하는일이없어진다. TCP 에서의파일전송및재전송 19

SCTP에서 Multi-Stream을사용한전송 Multi-Homing은여러개의네트워크 IP를주소를바인딩하는것이다. 이렇게될경우, 정해진순위에따라 primary IP address를사용하여통신을하다가, 통신이끊어지게되면바인딩된나머지 IP address를사용한다. 아래그림은 SCTP의구조를큰그림으로써보여주고있다. SCTP 프로토콜구조 20

3. SCTP 예제실행을위한 lksctp 설치 3.1 VMware 우선, SCTP 예제들을실행하기에앞서, 파일을다운받아야한다. 이문서에서는 Unix Network Programming 에서의예제코드들을사용하되, linux 환경에서는몇가지수정작업 이필요하다. 우선, UNP 예제파일들을다운받는다. tar zxvf unpv13e.tar.gz 명령어를통해서압축을풀게되면, unpv13e 라는폴더가새로생성 되었음을볼수있다. unpv13e 폴더안의 README 파일을읽어보게되면, 해야할작업들을제시하고있다. 21

그중, unpv13e 폴더안에서아래명령어들을순서대로입력한다../configure cd lib make cd../libfree make 그후에, 각예제를실행하기위해서는해당하는폴더에서 make를입력하면된다. TCP, UDP 관련예제의경우거의대부분문제없이컴파일될것이다. 그렇지만, 몇가지함수선언과관련한문제들을수정하기위하여, 자체적인패치파일을다음경로에서제공한다. 패치파일은 http://protocol.knu.ac.kr/pub에서다운로드할수있다. linux 상에서는다음과같이다운받는다. wget http://protocol.knu.ac.kr/pub/sw/unpv13e-patch-20080908.sh 을입력하면다운로드하고 sh unpv13e-patch-20080908.sh 를입력하면패치를완료한다. 이후다시./configure 및이전과정들을한번더수정한다. 여기까지완료하게되면, tcpcliserv 및 udpcliserv 폴더에서 make 하면성공적으로예제들이 컴파일될것이다. 그렇지만, sctp 의경우기본적으로헤더파일이포함되어있지않기때문에 linux 상에서 구현된 lksctp 를설치하여야한다. 22

3.2 lksctp 설치 lksctp 는 sctp 를 linux kernel level 에서구현해놓은것이다. http://lksctp.sourceforge.net/ 에 서 download 링크를따라가면다운받을수있다. 문서작성기준일 2009 년 2 월 12 일자로 lksctp-tools-1.0.9.tar.gz 파일이최신 version 이다. 이파일을다운받고 1. tar zxvf lksctp-tools-1.0.9.tar.gz를입력하여압축을풀어준다. 2. cd lksctp-tools-1.0.9를입력하여폴더를이동한다. 3../configure. 4. make 5. make install를하게되면 lksctp의설치가완료된다. ( 만약권한문제가발생한다면 ubuntu 의경우명령어앞에 sudo 를붙여주어실행할것 ) 여기까지완료한후에, unpv13e/sctp 폴더에서 make 를통해일부예제를제외하고컴파일 가능하다. 4. 결론 지금까지본문서에서는리눅스네트워크프로그래밍을위한환경및네트워크프로그래밍을학습하는데필요한예제를위한환경을구성하는방법에대하여소개하였다. 뿐만아니라, SCTP 프로토콜의기본특징및주요확장기능에대하여살펴보았다. SCTP는 TCP 이후의차세대수송계층프로토콜로써지속적인표준확장및보급이이어질것으로전망된다. 시간이지남에따라 SCTP 보급이확대되면, 기존에 TCP를통해제공되던응용들도 SCTP를통해보다효율적으로제공될수있을것으로전망된다. 특히, 실시간멀티미디어전송및고도의신뢰성이요구되는응용에대해서는 SCTP 의적 용이선호된다. 또한, 차세대이동통신망에서의 IP 이동성제공측면에서도 SCTP 의사용이 긍정적으로검토될수있을것이다. 23

5. 참고문헌 [1] Stewart R., et al., "Stream Control Transmission Protocol", IETF RFC 2960, October 2000 [2] Pastor J. and Belinchon M., SCTP Management Information Base, IETF Internet Draft, draft-ietf-sigtran-sctp-mib-08.txt, November 2002 [3] SCTP implementations by Linux, http://rivus.sourceforge.net/ [4] SCTP ns-2 simulations codes, http://pel.cis.udel.edu/#downloads [5] SCTP tutorial, http://www.iec.org/online/tutorials/sctp/ [6] Stewart, R., et al., "SCTP Partial Reliability Extension", IETF Internet Draft, draft-stewarttsvwg-prsctp-02.txt, December 2002 [7] Stewart, R., et al., " SCTP Dynamic Address Reconfiguration", IETF Internet Draft, draftietf-tsvwg-addip-sctp-05.txt, May 2002 24