본 글은 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으로 뭔가를 작성할 일은 거의 없다고 봐도 무방하다.
'컴퓨터 네트워크 프로토콜 > NS-3(Network Simulator 3)' 카테고리의 다른 글
NS-3 UAN 모듈에 IPv6를 올리다가 생긴 PacketSocketHelper 중복 사용 문제 (0) | 2020.10.13 |
---|---|
NS-3에 적합한 통합개발환경(IDE)은 무엇일까? (0) | 2020.10.13 |
NS-3에서 데이터형을 변환 하는 법 (0) | 2020.10.11 |
NS-3에서 수중 통신 시뮬레이션하는 방법 조사 (0) | 2020.05.19 |
NS-3에서 프로토콜 모듈을 추가해보자 (0) | 2019.04.14 |
댓글