[Simulator] NS-3::소개 및 설치
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 설치
다운로드
빌드
테스트
예제 구동
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
참고 문헌
- https://www.nsnam.org/docs/release/3.7/tutorial/tutorial_11.html#Getting-Started
- https://ko.wikipedia.org/wiki/Ns_(시뮬레이터)
- https://www.nsnam.org/about/
- https://www.nsnam.org/docs/tutorial/html/introduction.html#about-ns-3
- https://ko.wikipedia.org/wiki/GNU_일반_공중_사용_허가서