NS3


논문 때문에 종종 사용하는 Network simulator(ns)가 3로 버젼 업 하였네요..

전에 듣기로는 3개발은 좀 시간이 걸리고...GUI 기반일꺼라고 하던데...

이렇게 빨리 나올줄이야...대충 소개글을 읽어 보면 GUI는 아닌거 같고...

설치 해보고 추가 글 올릴께요...

다음은 관련 링크 입니다.


공식 홈페이지 : http://www.nsnam.org/
소개 블로그 : http://ns-2.blogspot.com/2008/07/ns-31-stable-release.html
다운 받기 : http://www.nsnam.org/releases/ns-3.1.tar.bz2
공식 메뉴얼 : http://www.nsnam.org/tutorials.html

특징
ns-3 is written in C++
Bindings in Python
Can run programs through a special waf shell; e.g. ?./waf --run simple-point-to-point

ns-3 is regularly tested on the following platforms:
- linux x86 gcc 4.2, 4.1, and, 3.4.6.
- linux x86_64 gcc 4.1.3, 4.2.1, 3.4.6
- MacOS X ppc and x86
- cygwin gcc 3.4.4 (debug only)

알려진 문제점 (ns-3 is known to fail on the following platforms)
- gcc 3.3 and earlier
- optimized builds on gcc 3.4.4 and 3.4.5
- optimized builds on linux x86 gcc 4.0.x


추가계획
Our next release, which is expected to happen in 2 to 4 months from now,
will feature the merging of some of our projects currently in
development: python scripting, IPv6, a statistics framework
and synchronous posix sockets.


간단 설치법

시스템 사양
유분투 8.04, Kernel 2.6.22, gcc 4.1.3

설치
wget http://www.nsnam.org/releases/ns-3.1.tar.bz2
tar xjvf ./ns-3.1.tar.bz2
cd ns-3.1
./waf   지져분하게 설치 되지만 빠르다고 하네요 -_-;
./waf --run simple-global-routing



=2008.07.02 추가=

NS3는 ns2의 확장이 아니라 전혀 새로운 시뮬레이션 툴이라고 합니다.
  • Simulation programs are C++ executables (python scripts)?
  • 그 예로 OTcl API를 포함 하고 있지 않다고 합니다.
  • 하지만 ns2와 어느 정도 호환이 가능하게 할려고 개발 중이라는군요
 GUI 기반으로 하지만. 현재 개발 중인거 같습니다.  아래가 그 예시 인듯합니다.
사용자 삽입 이미지
아래는 현재 ns2 와 ns3의기능을 구분한것입니다. 아직 개발 중이라.ns3가 많이 부족하네요.
사용자 삽입 이미지
하지만 2008.12월 까지 아래 내용을 완료할 계획이랍니다.
  • June 2008: ns-3 first stable release
    - simulator core, TCP/IPv4, point-to-point, CSMA,WiFi device models, mobility models
  • September 2008:
    - Python bindings, real-time scheduler, emulation, posix-like process API, initial IPv6 support, statistics framework
  • December 2008:
    - additional IPv6, quagga routing, Linux TCP port, others TBD
크게 정리 하면 2008년도 말에 구현된 내용은 아래와 같습니다.emulation modes, statistics, support for real code, additional ns-2 porting/integration, distributed simulation, visualization
waf를 사용 한다고 합니다.
waf는 Python기반의 프레임워크로 설정, 컴파일, 어플리케이션 설치가 가능하다고 하네요..(waf는 저도 처음 들어서리..)프로그램 실행도 ./waf --run simple-point-to-point 하면 tr파일이 생성되는듯 합니다.

또 다른 큰 특징은 실제 어플리케이션이나 리눅스 커널 네트워크 스택을 쉽게 통합할수 있게 한다고 합니다. 이렇게 할경우 추가 모듈 구현이 쉬워지고, 테스트 베드 구현시 추가 작업이 덜 들어 가게 하기 위해서 라고 하네요.
-결론 : (개인적 생각)
개발중이라 기능이 많이 부족하다.
ns2의 확장이 아니기에 새로 배워야 한다.
tr파일의 포맷이 바뀌면 여러 프로그램(ethereal)서 활용 가능하다
시뮬레이션 = 테스트 베드 구현...이 가능해진다.

p.s 처음 ns3 릴리즈 소식 듣고, 간략히 관련 문서 보고 정리 한것이라. 비 정확할수도 있습니다. 오역이 있을수도 ^^ 자세한 내용은 해당 링크를 참조 하세요.

p.s 좀 여유가 생기면 한번 돌려 보고 추가 하겠습니다.
작성 : 20080701 by 임헌정
추가 : 20080702 by 임헌정
http://www.4ellene.net
2008/07/01 23:52 2008/07/01 23:52

Trackback Address >> http://4ellene.net/tt/trackback/1241

[로그인][오픈아이디란?]
오픈아이디로만 댓글을 남길 수 있습니다