통신/NS-3

Network Simulator (NS-3)

gmwoo 2021. 6. 24. 16:57

<본 설명은 NS-3 공식 홈페이지에서 참고 했습니다.>

https://www.nsnam.org/about/

 

 

About

a discrete-event network simulator for internet systems

www.nsnam.org

 

 

NS-3란

 

네트워크 시뮬레이터(Network Simulator)를 위한 하나의 장치입니다. 즉, 네트워크의 동작을 예측, 분석하는 장치를 의미하고 NS-3는 주로 연구 및 교육용에 있어서 공개적으로 사용할 수 있으며 대부분의 통신하는 분들은 NS-3를 사용한다고 합니다.

 

 

 

NS-3 설치

저는 우분투(Ubuntu) 18.04 64bit 환경에서 NS-3를 설치했습니다. 아래는 제 PC의 기본 환경 세팅입니다.

 

 

  - Ubuntu 18.04 64bit

  - Memory 32GB

  - CPU 16 core

  

 

우분투의 터미널을 통해서 NS-3를 위한 패키지들을 설치해줍니다. 패키지 설치에 대한 코드는 아래 출처를 통해 참고하였습니다.

 

 

[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

 

 

 - 출처: https://jwprogramming.tistory.com/87?category=680194 [개발자를 꿈꾸는 프로그래머]

 

NS-3 및 패키지를 설치한 후의 생성된 파일

 

 

아래 그림은 테스트를 위해 example/tutorial/ 에 있는 first.cc 파일을 가져와 실행 후 결과 사진입니다.

 

--- 예제 first.cc 실행 예시 ---

 

 


다음 포스팅에는 NS-3에 있는 쉬운 example를 통해 시뮬레이션을 하려 합니다. 저 또한 NS-3가 아직은 낯설고 어렵지만 하나하나 뜯어보면 언젠가 익술해질 수 있겠죠? 

 

여러분들도 화이팅입니다!!

반응형