[Simulator] NS-3::소개 및 설치

Juhyun Maeng
juhyun.maeng
Published in
4 min readFeb 16, 2020

맹주현 (Juhyun Maeng)

무선 센서 네트워크에서 노드의 저 전력을 구현하는 것은 매우 중요합니다. 그래서 Quorum으로 MAC Protocol의 저 전력을 구현한 논문을 분석하면서 노드의 저 전력을 구현할 방안을 찾고자 합니다.

이번 게시글은 저 전력을 구현하기 위하여 설계할 알고리즘의 성능평가에 필요한 NS-3에 대한 글로써, 개요와 설치 과정에 관한 내용을 다룹니다.

NS-3 설치에 필요한 S/W로는 VirtualBox가 있다.

  • VirtualBox: 6.0.4

구축한 PC 환경은 다음과 같다.

  • OS: Ubuntu 18.04

NS-3 소개

개요

  • Network Simulator
  • 오픈 소스 소프트웨어
  • GNU GPLv2 License

* 소프트웨어 실행, 연구, 공유, 수정의 자유를 최종 사용자에게 보장

  • 유∙무선 지원
  • 다양한 프로토콜(Wi-Fi, WiMAX, LTE, OLSR, AODV 등) 지원
  • C++과 Python으로 작성
  • 시뮬레이션 인터페이스는 Otcl(Tcl의 객체지향 프로그래밍 확장) 언어를 통하여 제공

NS-3 설치

다운로드

다운로드 명령어 입력 및 실행

빌드

빌드 명령어 입력
빌드 실행
빌드 완료

테스트

테스트 명령어 입력
테스트 완료

예제 구동

예제 예시
예제(hello-simulator.cc) 구동 결과

NS-3 구조

실행 관련 폴더

  • waf: 빌드 및 실행 프로그램
  • scratch: C++로 작성된 시나리오 파일

* 시뮬레이션을 실행(./waf -run)하기 위해서 scratch 폴더 내 시뮬레이션할 시나리오 파일(C++ 작성) 필요

  • src: C++로 작성된 Phy, Link, Network, Transport, Application 계층 관련 파일
실행 관련 폴더 예시

모듈 관련 폴더

  • 다양한 모듈 지원: C++로 작성된 Phy(wifi, lte, point-to-point 등)와 netanim(네트워크 시각화) 등
  • NS-3에서 제공하는 모듈 외 필요한 모듈(프로토콜, 채널 등)은 폴더(/src) 내 추가하여서 사용 가능
모듈 관련 폴더 예시

Edit by

맹주현
한양대학교 컴퓨터·소프트웨어학과 박사과정
maengjuhyun@gmail.com
관심 분야: Blockchain, Network

참고 문헌

--

--

Juhyun Maeng
juhyun.maeng

Hanyang University, Seoul, Republic of Korea Major in Computer·Software, PhD candidate