네트워크 시뮬레이터
Network Simulators
키워드: Networks simulators, 네트워크 시뮬레이터, NS-2, NS2, OPNET, GloMoSim, TOSSIM, NetSim
네트워크 시뮬레이터(Network Simulators)
네트워크 시뮬레이터는 실제 동작을 관찰하지 않고, 네트워크의 동작과 영향을 예측하고 분석하기 위한 장치 또는 소프트웨어다. 엔지니어는 이를 이용해서 DDoS와 같이 실제 일어나기 어려운 상황을 구성하거나, 대량의 센서 노드와 같이 비싼 실험 환경을 에뮬레이트하여 그 영향을 예측한다. 특히 새로운 네트워크 프로토콜을 테스트하거나, 기존의 프로토콜에 대한 환경의 영향을 테스트하는데 주로 사용한다.
현상을 검증하는 데는 수학적 분석, 실제 측정, 시뮬레이션 세 가지 접근 방식이 있다. 이 방식을 평가하는 기준은 현실성, 비용, 구현의 세 가지를 든다. 시뮬레이션은 이 세 가지 기준으로 봤을 때, 세 가지 방식 중에서 평균적으로는 가장 우수하다. 또한 시뮬레이션 방식은 연속 시간, 이산 시간, 이산 이벤트 방식으로 나눌 수 있는데, 대부분의 시뮬레이터가 이산시간 이벤트 방식을 이용한다.
일반적인 네트워크 시뮬레이터는 넓은 범위의 네트워크 기술을 포함하고, 노드와 링크를 기본 단위로 하여 복잡한 환경을 구축한다. 계층적인 네트워크 환경을 구성할 수도 있고, PC, 허브, 브릿지, 라우터, 무선 노드, 광케이블, 동축케이블 등의 구성요소를 사용할 수도 있다. 시뮬레이터의 구성요소는 일반적으로 스케쥴러, 프로토콜, 노드, 링크, 패킷으로 이루어져 작은 네트워크부터 대형 네트워크까지 유연하게 구성할 수 있다. 일부 시뮬레이터는 초대형 네트워크 환경을 지원하기도 하고, 어떤 시뮬레이터는 특정 네트워크 장비를 CPU 명령어 단위까지 에뮬레이션하여 아주 미세한 관찰을 가능하게 해주기도 한다.
네트워크 시뮬레이터의 종류
l NS-2 (The Network
Simulator -2)
NS-2는 연구용으로 개발된 오픈소스 시뮬레이터다.
현재 연구용으로는 가장 많이 사용되고 있으며, 다양한 분야의 인력들의 참여로 인해 성능과
품질이 우수하고, 다양한 기능을 지원한다. 이산 이벤트 시뮬레이션
방식을 사용하였고, 유무선을 모두 지원하고, 패킷 단위로
동작하며, 필요한 대부분의 프로토콜 레이어를 구현하였다. 오픈소스답게
기능과 네트워크 구성요소들이 철저히 모듈화되어 있어 일반 사용자도 기능을 수정하거나 새로운 프로토콜을 추가하기가 쉽다. 현재 NS-3 버전까지 나와있지만 아직까지 훨씬 많은 사람들이 NS-2를 사용하고 있다. 유닉스 환경의 대부분의 OS 플랫폼을 지원하고, 시뮬레이션 환경 구성에는 TCL이라는 스크립트 언어를 사용하며, NAM(NS AniMator)나 XGraph 같은 시각화 도구를 제공한다.
l OPNET
OPNET은 최초의 상업 네트워크 시뮬레이터로써,
현재도 상용 분야에서 가장 높은 점유율을 차지하고 있다. OPNET은 객체 지향적 모델링을
지원하며, 프로세스 모델링, 노드 모델링, 장비 모델링, 네트워크 모델링의 흐름을 따른다. 또한 잘 짜여진 FSM(Finite State Machine)은
세부단계까지 제어가 가능해 거의 모든 상황을 재현할 수 있다. OPNET은 기능 제약 또는 분야에 따라
여러 버전이 존재하며, 자유도가 높은 버전은 모델링 할 수 있는 구성요소들의 소스 코드를 완전히 개방하여
사용자의 자유도를 최대로 보장하고 있다. 또한 현존하는 거의 모든 프로토콜을 지원하며, 표준장비의 라이브러리를 제공하고, 시뮬레이션 환경 개발에서 분석까지의
전 과정을 GUI 도구를 통해서 편리하게 할 수 있다. 이는
대부분의 윈도우 플랫폼과 솔라리스 플랫폼을 지원한다.
l GloMoSim
GloMoSim은 대형 시뮬레이션 환경을 위해 개발되었다. 이는 병렬 컴퓨팅을 위한 이산 이벤트 컴퓨팅 시뮬레이터인 Parsec을
이용하여 개발하였다. 다른 시뮬레이터와 유사하게 OSI 계층에
따라 프로토콜을 모듈화하여 개발하였으며, 현재는 무선 네트워크만 지원한다.
l TOSSIM
TOSSIM(TinyOS Simulator)은 센서 네트워크에 사용하는 못(Mote)의 OS인 TinyOS를
에뮬레이션하여 어플리케이션의 동작과 하드웨어의 영향을 분석하는 소프트웨어이다. 이는 엄밀한 네트워크
시뮬레이터의 범주에서는 벗어난다. 이는 OS가 CPU에 내리는 명령 하나까지 에뮬레이션 하기 때문에 매우 정밀한 분석이 가능하다.
l NetSim
NetSim은 분석 도구가 아니라 네트워크 설정을 학습하기 위한 시뮬레이션 소프트웨어이다. 사용자와 상호작용을 위해 시뮬레이션은 실시간으로 이루어진다. 전송
프로토콜, MAC 프로토콜, 라우팅 프로토콜은 물론이고 스위치, 라우터, AP 등의 장비를 시뮬레이션할 수 있다.
참고자료
OPNET Modeler and Ns-2: Comparing the Accuracy Of Network Simulators for Packet-Level Analysis using a Network Testbed
http://privatewww.essex.ac.uk/~fleum/weas.pdf
The Network Simulator - ns-2
OPNET Technologies
GloMoSim
http://pcl.cs.ucla.edu/projects/glomosim/
TOSSIM