지난 포스팅에서 NS-3에 대한 first.cc와 second.cc에 대한 포스팅을 먼저 올렸었는데, NS-3가 무엇인가에 대한 설명을 드리고자합니다.


네트워크 시뮬레이터(Network Simulator) 란, 실제 동작을 관찰하지 않고, 네트워크의 동작과 영향을 예측하고 분석하기 위한 장치 또는 소프트웨어를 말합니다. 그 종류의 하나로 NS-3가 있습니다.


NS-3는 NS-2에 이어 새롭게 개발된 네트워크 시뮬레이터 입니다.

최신 무선 네트워크 모델을 비롯한 다양한 유/무선 네트워크 모델을 지원하며 빠른 개발속도와 여러 장점을 바탕으로 점차 사용자가 증가하고 있습니다. 그러나 NS-3를 기반으로 한 시각화 도구는 아직 개발 초기단계에 머물러있으며 특히 무선 네트워크를 위한 시각화도구의 이용은 매우 제한적인 상황입니다.


[Basic NS-3 Data Flow Model]

NS-3의 데이터 흐름에 대한 Model입니다. 보다시피 Application에서 원래 네트워크에서 Socket API를 사용하는 것과 같이하여 프로토콜 스택에서 패킷을 NetDevice(Hardware Device)를 이용하여 channel을 통해 다른 NetDevice로 보내는 과정을 이용하여 Data를 이동시킵니다.


[NS-3 설치하여 이용하기]

제가 NS-3를 사용하는데 있어서 노트북의 사양은 Windows7 RAM4GB  였으며, 우분투버전과 메모리크기는 Ubuntu 12.04 LTS 32bit에 RAM1024MB 입니다.

주로 가상머신으로 Virtualbox나 VM Ware를 사용하는데 저는 Virtualbox를 사용하였습니다.


NS-3는 www.nsnam.org 가 공식홈페이지입니다.

우분투 Linux Programming에서 다룬 포스팅을 이용하여 잘 설치했다는 가정하에, 우분투 내에서 ns-3의 공식홈페이지에 들어가서 ns-3를 설치하고 압축을 풉니다.

그리고 메뉴얼이나 정보를 원하시면 Download 하는 곳에 tutorialmenual이 있는데 둘다 다운받으셔서 공부하는데 도움이 될수도 있습니다.



처음 NS-3를 이용하기 위해 최소 요구되는 Package들을 설치해 줍니다.

[C++을 위한 최소 요구]

$sudo apt-get install gcc g++ python

[Python을 위한 최소 요구]

$sudo apt-get install gcc g++ python python-dev

[NS-3개발에 함께 필요한 Mercurial 설치]

$sudo apt-get install mercurial

[NS-3개발로부터 python binding 을 Running 하기 위한 bazaar 설치]

$sudo apt-get install bzr


NS-3 다운 후, 


[tar로 압축 풀기]

$tar xvf ns-allinone-3.19.tar.bz2

[build.py Building]

$./build.py --enable-examples --enable-tests

[NS-3 테스트]

$./test.py -c core

[기본 스크립트 Running]

$./waf --run scratch/example

위 패키지들을 설치하고 다운받은 ns-3를 설치한 후 예제소스를 실행시킨 화면입니다.

Scratch-simulation이 실행되고 나면, 보시는 것과 같이 화면이 띄워집니다.

'Network' 카테고리의 다른 글

TCP의 기능 및 전송 프레임 구조 특성  (0) 2016.05.03
Gnuplot 사용하기  (0) 2016.04.26
NS-3 Network Simulation (second.cc)  (0) 2016.04.26
NS-3 Network Simulation (first.cc)  (0) 2016.04.26
IP주소 체계  (0) 2016.04.24

WRITTEN BY
SiriusJ

,