1 분 소요

ns-2 그냥 쓸랬는데..
ns-3이 6lowpan 지원을 한다 하여 이리로 갈아탔다.
설치방법은 나름 쉽다..(중간에 자잘한 에러만 없으면 ㅜ)
스크린샷은 엄청난 귀차니즘으로 안함!!!!!!!!!!

들어가기 전에 미리, tarball 을 이용한 직접설치임을 밝혀둔다.


1. 다운

http://www.nsnam.org

여기 들어가서 ns-3.20 (14.08.08기준 가장 최근버전인듯) 다운받기
ns-allinone-3.20.tar.gz


2. 압축풀기

tar -zxvf ns-allinone-3.20.tar.gz


3. Prerequisite 설치

뭐 이리 미리 설치하라는게 많은지 모르겠지만..
대충 몇 번 재설치 해 본 결과

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

이정도만 있으면 별 에러 안나는거 같다.


4. 빌드하기

ns-3부터는 새로운 waf 라는 builder를 사용하는거 같다.......으어
ns-2의 후속이 아닌, 그냥 새로운 시뮬레이터를 생각하면 될 것 같다(문법도 바뀜..)
기존의 tcl언어도 안쓰고 python을 사용한다.

여튼 build를 해야하는데, waf라는 빌더를 configuration 해주어야 한다.

$cd ns-allinone-3.20/ns-3.20
./waf configure --enable-tests --enable-example
./waf shell

대충 이렇게 하면 되는거 같다.
--enable-tests, examples를 해주어야 나중에 ns-3가 제대로 설치되었는지 확인(validation)할 때 용이하다.
ns-2에서는 default로 enable 이었는데 ns-3에서는 default가 disable이므로..


아니면 일케해도된다
$cd ~/ns-allinone-3.20
$./build.py
이렇게 해주면 알아서~~빌드한다


5. Eclipse IDE 사용하기

ns는 이클립스 위에서 쓸 수 있다.

일단 이클립스 홈페이지에 가서 C/C++용 IDE를 다운받는다.~

workspace는 ns-allinone-3.20으로 설정.

New->C++ project 로 프로젝트를 생성한 후
프로젝트 이름을 ns-3.20으로 한다.

Project type은 Makefile project로, toolchain은 Linux gcc 로 한다.

Next를 누른후, Advance Setting으로 프로젝트 설정에 들어간다.

왼쪽 메뉴에서 C/C++ build 메뉴에 들어간다.

use defauilt build command 에 체크를 풀어주고,
make 대신에 아래와 같이 적어준다
${workspace_loc:/ns-3.20}/waf

build directory는
${workspace_loc:/ns-3.20} 대신에
${workspace_loc:/ns-3.20}/build
라고 적어준다.


옆에 behavior 탭에 들어가서,
밑에 build(incremental build): all 로 되어 있는 곳에, all 을 지우고 build라고 적어준다.

그리고 finish를 누르면 끝


6. RUN

환경변수로
Run->Run configuration 에 가서 새로운 C++ application configuration을 만든다
C/C++ application 항목에는 browse를 눌러서, 내가 실행하고자 하는 binary를 불러오면 된다(아까 빌드한거)

~/ns-allinone-3.20/ns-3.20/build/examples/tutorial/ns3.20-first-debug
난 일단 이걸로 테스트해보았다. 그냥 패킷 주면 다시 반송하는 기초 튜토리얼 1번이다ㅋㅋ

environment 탭에 가서
new를 눌러, 아래와 같이 추가해준다
name: LD_LIBRARY_PATH
value: ${workspace_loc:ns-3.20}/build



7. 참고

더 많은 자료는
http://www.nsnam.org/wiki/Installation
http://www.nsnam.org/wiki/HOWTO_configure_Eclipse_with_ns-3
여기에서 확인할 수 있다. (물론 English)



여튼 대충 끝. ㅠ





카테고리:

업데이트:

댓글남기기