Microsoft Word - CPL-TR NS3.docx

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

1217 WebTrafMon II

<4D F736F F D FB1E2BCFAB5BFC7E2BAD0BCAE2DB8F0B9D9C0CF20B3D7C6AEBFF6C5A92DC3D6BFCF2E646F6378>

TTA Journal No.157_서체변경.indd

歯이시홍).PDF

bn2019_2

Windows 8에서 BioStar 1 설치하기

1. 기술배경 NFV는 Consortium of Service Provider들에의해서만들어졌다. 현재 Network Operation은규모가큰전용 Hardware appliances가계속해서증가하고있다. 새로운 Network Service를 Launching할때마다에

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D D382E687770>

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

1.LAN의 특징과 각종 방식

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

1. GigE Camera Interface를 위한 최소 PC 사양 CPU : Intel Core 2 Duo, 2.4GHz이상 RAM : 2GB 이상 LANcard : Intel PRO/1000xT 이상 VGA : PCI x 16, VRAM DDR2 RAM 256MB


Analytics > Log & Crash Search > Unity ios SDK [Deprecated] Log & Crash Unity ios SDK. TOAST SDK. Log & Crash Unity SDK Log & Crash Search. Log & Cras

TTA Verified : HomeGateway :, : (NEtwork Testing Team)

PowerPoint 프레젠테이션

Ä¡¿ì³»ÁöÃÖÁ¾

서현수

<4D F736F F F696E74202D E20B3D7C6AEBFF6C5A920C7C1B7CEB1D7B7A1B9D62E >

PowerPoint Presentation

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 (

[ 네트워크 1] 3 주차 1 차시. IPv4 주소클래스 3 주차 1 차시 IPv4 주소클래스 학습목표 1. IP 헤더필드의구성을파악하고요약하여설명할수있다. 2. Subnet ID 및 Subnet Mask 를설명할수있고, 각클래스의사용가능한호스트수와사설 IP 주소및네트

Microsoft PowerPoint - L4-7Switch기본교육자료.ppt


Microsoft PowerPoint - 04-UDP Programming.ppt

歯I-3_무선통신기반차세대망-조동호.PDF

TCP.IP.ppt

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

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

Subnet Address Internet Network G Network Network class B networ

Microsoft Word - KPMC-400,401 SW 사용 설명서

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

제20회_해킹방지워크샵_(이재석)

자바-11장N'1-502

untitled

놀이동산미아찾기시스템

Microsoft Word - src.doc

The Pocket Guide to TCP/IP Sockets: C Version

Portal_9iAS.ppt [읽기 전용]

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

특허청구의 범위 청구항 1 게임 서버 또는 미들웨어에 의해, 사용자 단말기로부터, GPS 정보, IP 정보, 중계기 정보 중 적어도 하나를 이 용한 위치 정보와, 상기 사용자 단말기에 설정된 언어 종류를 포함하는 사용자 정보를 수신하는 단계; 상기 게임 서버 또는 미들

SMB_ICMP_UDP(huichang).PDF

Sena Device Server Serial/IP TM Version

Microsoft Word doc

歯김병철.PDF


Backup Exec

사물인터넷비즈니스빅뱅_내지_11차_ indd

4.18.국가직 9급_전산직_컴퓨터일반_손경희_ver.1.hwp

The Pocket Guide to TCP/IP Sockets: C Version

Switching

슬라이드 제목 없음

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

¨ìÃÊÁ¡2

VZ94-한글매뉴얼

Layout 1

Network seminar.key

untitled

<4D F736F F F696E74202D C61645FB3EDB8AEC7D5BCBA20B9D720C5F8BBE7BFEBB9FD2E BC8A3C8AF20B8F0B5E55D>

PBNM CIM(Common Information Model) DEN, COPS LDAP 21 CIM (Common Information Model) CIM, specification schema [7]

Microsoft Word - CPL-TR wireshark.doc

기술 이력서 2.0

UDP Flooding Attack 공격과 방어

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

04_오픈지엘API.key

08SW

°í¼®ÁÖ Ãâ·Â

BJFHOMINQJPS.hwp

API STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Docum

슬라이드 제목 없음

歯Cablexpert제안서.PDF

untitled

Microsoft Word - release note-VRRP_Korean.doc

1ºÎ


Install stm32cubemx and st-link utility

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

일반적인 네트워크의 구성은 다음과 같다

untitled

Microsoft PowerPoint - 06-IPAddress [호환 모드]

Multi Channel Analysis. Multi Channel Analytics :!! - (Ad network ) Report! -! -!. Valuepotion Multi Channel Analytics! (1) Install! (2) 3 (4 ~ 6 Page

Secure Programming Lecture1 : Introduction

기타자료.PDF

슬라이드 1

vm-웨어-앞부속

Agenda 1 Network Virtualization Today 2 Management Plane Scale-Out 3 Control Plane Evolution 4 High-Performance Data Plane 5 NSX Vision : Driving NSX

<4D F736F F F696E74202D20C1A63235C0E520B3D7C6AEBFF6C5A920C7C1B7CEB1D7B7A1B9D628B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

Microsoft Word - How to make a ZigBee Network_kr

P2P Content Distribution Technologies

통신서비스품질평가보고서 2017 Evaluation Report for the Quality of Communication Services

WiseNet SmartCam 제품사용설명서 Copyright 2017 Hanwha Techwin Co., Ltd. All rights reserved. Trademark 여기에기재된상표는모두등록된것으로이매뉴얼에기재된이상품의이름과다른상표는각회사로부터등록된상표입니다. R

Microsoft PowerPoint _TCP_IP


1

소프트웨어 융합 개론

클라우드컴퓨팅확산에따른국내경제시사점 클라우드컴퓨팅확산에따른국내경제시사점 * 1) IT,,,, Salesforce.com SaaS (, ), PaaS ( ), IaaS (, IT ), IT, SW ICT, ICT IT ICT,, ICT, *, (TEL)

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


ICT EXPERT INTERVIEW ITS/ ICT? 차량과 인프라 간 통신(V2I) Nomadic 단말 통신(V2P) 차량 간 통신(V2V) IVN IVN [ 1] ITS/ ICT TTA Journal Vol.160 l 9

Transcription:

NS-3 Tutorial, Manual, Testing Documents 2011 년 2 월 경북대학교통신프로토콜연구실 최상일 (overcycos@gmail.com) 요약 Ns-3는 ns-2와같은 Network simulator이지만 ns-2와는완전히다르다. 이런차이로 ns-2에서동작되는 simulation이 ns-3에서는동작하지않을수도있지만, ns-3의경우 C++ 을사용함으로써객체지향적성격을가지게되었고 ns-2에서는구현되지못했던여러부분들을구현해낼수있게되었다. 본문서에서는 ns-3를접하는사용자들을위해 nsnam [1] 에서제공하는세가지문서 (Tutorial, Manual, Testing) 를통해알수있는바를간략하게기술하고있다. 목 차 1. 서론... 2 2. NS-3 TUTORIAL 문서... 2 3. NS-3 MANUAL 문서... 4 3.1 CORE... 4 3.2 NODE AND NETDEVICES... 5 3.3 EMULATION... 5 3.4 SOCKETS APIS... 6 4. NS-3 TESTING AND VALIDATION 문서... 6 5. 결론... 7 참고문헌... 7 1

1. 서론 Ns-3는 C++ 과 Python으로구현된문서이며, C++ 언어를사용함에따라객체지향의성격을가진다. Ns-3는기존의 ns-2와는다른형태를가지기때문에처음접하는사용자는 Simulation 제작에어려움을가질수도있다. 이를위해이문서에서는 nsnam [1] 에서제공하는 Tutorial, Manual, Testing 문서의내용에대해간략히기술하도록한다. 2. Ns-3 Tutorial 문서 Ns-3는 Otcl과 C++ 로구현된 ns-2와는달리 Python과 C++ 로구현되어있으며 ns-2의후속버전이아닌새로운 simulator로서제작이되었기때문에기존에 ns-2에서사용되었던모든모델을지원하지는못하지만 ns-2에서지원되지않았던 Multiple interface, IP addressing 등을지원할수있다. Ns-3 의 resource 는 http://www.nsnam.org [1] 에서다운받을수있다. Ns-3 는 Linux 혹은 Linux-like 환경에서만동작이가능하며 C++, Python 등몇가지패키지를설치해놓아야한다. 필요한패키지는위의웹페이지에서확인할수있다. 개념적으로 ns-3에는 Node, Application, Channel, NetDevice, Helper가있다. 빈 Node에특정기능을가진 application을넣어특별한 node를만들고, NIC의역할을하는 NetDevice를 Node 에붙여준다. 그리고통신에사용될 Channel을생성해각 NetDevice에연결하면노드간에패킷전송이가능하게된다. 마지막으로 Helper는각개념의생성시필요한복잡한내부설정에관련된코드를묶어놓은것으로사용자는이 Helper를사용함으로써위의개념들을간단한몇줄의코드로생성및설정을할수있다. Ns-3의 sample코드중하나인 firse.cc(point-to-point link, 두노드사이에서단일패킷되풀이 ) 를통해위의개념들을살펴보겠다. 코드 1. node, channel, device 생성및설정 2

NodeContainer 를이용해 Node 를생성하고, PointToPointHelper 를이용해 Channel 을생성하 며채널의값을설정한다. 그리고 NetdeviceContainer 로 NetDevice 를생성하고 Install 멤버 함수를통해 node 와 Netdevice 를연결. 코드 2. Internet stack 생성및설정 InternetStackHelper 를이용하여 internet stack 을생성하고, node 를 stack 에넣는다. 코드 3. Address 생성및설정 Ipv4AddressHelper 를이용해 Ipv4 주소를생성하고, Gateway 및 Subnetmask 를설정하고 device 에해당인터페이스를등록한다. 코드 4. Interface 설정및 Client, Server 생성 이후, 서버와클라이언트를만들고 port 번호등을설정하여패킷을보낸다. Ns-3에서 simulation이제대로동작되었는지확인하기위해 tracing을하여야한다. 코드내부에 cout<<endl 을이용한화면출력함수를이용하여도되지만, 내부에서 TraceHelper를이용해 tracing 파일을생성하는것이확인하기에더편리하다. 생성된파일은.pcap 확장자를가지고있으며이파일을 WireShark로불러오면전송된패킷들의정보를확인할수있다. 3

3. NS-3 Manual 문서 그림 1. Software organization of ns-3 Ns-3 는 simulation core 와 model 이 C++ 로구현되어있는네트워크시뮬레이터로이장에서는 위의그림에서알아야할부분에대해서살펴보겠다. 3.1 Core Core 부분에서 attribute, tracing, real time, distributed, packet, helper 에대해서알아보겠다. Attribute 는말그대로속성을나타내며 ns-3 의 class 들은각기여러개의 attribute 를가진다. 특별한점은 AddAttribute 를이용해 class 에인위적으로 attribute 를추가할수있다는것이다. 코드 5. AddAttribute 사용 위의코드는 m_maxpackets 에접근할수있는 MaxPackets 라는속성을추가한것으로위에위 부터 Attribute 명, 설명, 기본값, 접근할변수, 오류체크에대한내용이있다. Tracing 은사용자가제안한환경에서시뮬레이션을한뒤, 성능의차이를확인하거나오류를찾 기위해서는시뮬레이션동안에발생한내용들을사용자가볼수있도록해주는것이다. Ns-3 에 서는 pcap tracing 과 ascii tracing 을제공하고있다. 4

Real time은실제네트워크스택에시뮬레이션을구현하기위해각장비들이같은시뮬레이션 clock을가지도록하드웨어 clock으로고정시키는것을말한다. 초기에는시뮬레이션과정에서지정된시간이초과되는것을특정범위내에서허가하는 BestEffort 모드와초과시시뮬레이션을종료시키는 HardLimit모드가있었지만, 현재에는 ns-3 tree에서제외된상태이다. Distributed는 multiple processor에서단일시뮬레이션프로그램이동작되는것을말하는것이다. 이를위해서는 logical process간에메시지교환이필요하고이교환에는 Message Passing Interface(MPI) 가있어야한다. 현재 Distributed는 Point-to-Point Link에서만동작이가능하다. Packet은 Byte buffer, Byte tags, Packet tags, metadata로구성되어있다. Byte buffer는헤더와트레일러의정보를가지고있고, Byte tag는 packet byte buffer의 byte subset에 tag를붙이기위해사용이되며, Packet tag는 packet 자체의 tag를위해사용된다. 마지막으로 metadata 는 byte buffer에있는헤더와트레일러의정보를가져 context 없이패킷의헤더를확인하기편하게출력하는데사용된다. Helper 는 low-level API 를사용하여구현을하는데코드가너무길고어렵기때문에해당 API 들을모아사용자가손쉽게 API 를사용할수있도록도와주도록 ns-3 에서제공하는것이다. 3.2 Node and NetDevices Ns-3 에서 node 는빈공백과같은것으로 NetDevice, protocol, application 을추가하며특정한 기능을하게된다. Ns-3 에서는다양한 net device 와 framework 를지원한다. Point-to-Point NetDevice를통해 Point-to-Point link를이용할수있으며, CSMA NetDevice를통해 bus network link를이용하고, Wifi NetDevice를통해 802.11 기반의 infrastructure와 ad hoc network를이용하고, Wimax NetDevice를통해 802.16 기반의 network model을이용한다. 또한 LTE Module을통해 3GPP E-UTRAN infrastructure와 LTE(Long Term Evolution) 모델을제공하고, UAN Framework를통해수중네트워크를사용할수있다. 3.3 Emulation Ns-3는 testbed와가상환경의통합을위해 Emu NetDevice와 Tap NetDevice를제공한다. Emu NetDevice를통해실제네트워크에 Packet을보낼수있고, Tap NetDevice를통해시뮬레이션노드를실제네트워크내의호스트가되도록할수있다. 이두 NetDevice를통해실제네트워크와가상환경이서로데이터를주고받을수있다. 5

3.4 Sockets APIs Ns-3에는 Native ns-3 API와 POSIX-like API 이렇게두가지 socket API가있다. POSIX-like API는아직구현되지않았지만 Native ns-3 API는 C++ 로구현되었으며여러종류의 transport protocol을제공할수있다. ns-3 에서는 buffer variant 를통해 application 단에서유용한정보를 packet 에 encode 할수 있다. 4. Ns-3 Testing and Validation 문서 Software testing은에러를찾기위해프로그램을동작시키는방법이다. 일반적으로이 testing 에서는프로그램이구현하려고했던프로그램과일치하는지, target system에적용가능한지, simulation이나타내는결과가믿을만한지, 외부적혹은내부적압박에정상적종료가되어사용자에게피해가가지않는지, 현재적용되어있는시스템에비해성능이뛰어난지, 오랜시간이지나도안정된상태가지속되는지등에대한내용을확인하는것이다. Ns-3 에서는 test.py 라는파일이있는데, 이파일은모든테스트를구동하고사용자가읽을수 있는폼으로결과를모으는기능을수행한다. 그림 2. test.py 옵션값 6

5. 결론 지금까지본문서에서는 ns-3를처음접하는사용자를위해 nsnam [1] 에서제공하는세가지문서가설명하는바를기록하였다. 본문서가기반한세가지문서는 ns-3를이용해코드를작성하는부분에대한설명보다는기본개념과제공가능한모델들에대해설명하고있다. 이문서를통해 ns-3에대한넓은바탕을가진후, 제공되는 sample 코드를이용해코드분석을한다면훨씬수월하게 ns-3에대해이해할수있으리라생각된다. 참고문헌 [1] The ns-3 network simulator, http://nsnam.org/ 7