본문 바로가기
컴퓨터 네트워크 프로토콜/NS-3(Network Simulator 3)

NS-3(Network Simulator 3) 소개

by 연구자 공학코드 2019. 3. 25.

공지사항

  1. 제가 운영하는 네이버 카페 개발자 커뮤니티 코어큐브(https://cafe.naver.com/ewsncube)에 가입하시면 컴퓨터 관련 학습 자료와 질의응답을 제공받으실 수 있습니다.

728x90
반응형

 본 글은 2016년 8월 8일 21시 34분에 썼던 글이며 블로그 자료 이전으로 날짜만 갱신된 글입니다.

 

NS-3 개요

NS-3(Network Simulator 3, http://www.nsnam.org/) 시뮬레이터는 2006년에 오픈소스 프로젝트로 시작된 무료 네트워크 시뮬레이션 프로그램이다. NS-3는 discrete-event 기반 네트워크 시뮬레이터로써 주로 연구 및 교육용으로 사용한다. NS-3는 독립 이벤트 시뮬레이터로 패킷레벨의 시뮬레이션이 가능하며 계층구조, 유선 및 무선 네트워크를 지원한다.

 

 

NS-3 특징

NS-3는 FreeBSD와 Linux, SunOS, Solaris, Windows(Cygwin) 플랫폼을 지원하며 C++로 작성되었다. NS-3는 현재도 활발히 사용 되는 NS-2와 호환되지 않는 새로운 시뮬레이터이다. 기존의 시뮬레이터인 NS-2는 C++와 Otcl로 작성되었으나 설계적으로 구조가 복잡한 문제가 있었고 계층 구조를 단순하게만 지원하는 문제(TCP/IP의 인터넷 계층과 전송계층, 응용계층만 지원), 한 노드가 한 개의 네트워크 인터페이스만을 지원하는 문제가 있었다. 이런 문제를 해결한 것이 NS-3이다.

반응형

NS-3 시뮬레이션 구현 방법

NS-3에서는 C++와 Otcl이 아닌 C++와 Python으로 시뮬레이션을 구성하는데 Otcl을 필수적으로 알아야만 하는 NS-2와 달리 Python을 몰라도 시뮬레이션 구동이 가능하다는 점과 현재 상황에서 Python을 구사할 수 있는 유저가 Otcl보다는 훨씬 많은 부분이 있어서 네트워크 시뮬레이터를 처음 접하는 학생 및 연구자에게는 NS-2보다 접근하기가 좀 더 유리한 점이 있다. C++로는 시뮬레이션 프로그램의 동작을 작성하고 Python으로는 프로그램의 바인딩을 구성한다(자세한 것은 https://www.nsnam.org/overview/key-technologies/를 참조). 굳이 바인딩할 일이 없다면 Python으로 뭔가를 작성할 일은 거의 없다고 봐도 무방하다.

 

728x90
반응형

댓글