OPNET은 분류를 하자면 NLS(Network-level simulation)을 위한 툴로 분류된다. NLS와 비교되는 개념으로는 SLS(System-level simulation)와 LLS(Link-level simulation)가 있다. 그러면, NLS, SLS, LLS는 무엇이며 서로간의 차이점은 무엇인지 살펴보기로 하자. 다만, 다음의 분류는 필자의 과거 업무 경험에 따른 것이며, 작성자에 따라 다른 기준이나 방식으로 분류하기도 한다. (실제로 WiMAX Forum의 경우 LLS와 SLS로만 구분하며, 이 때의 SLS는 다음에서 설명하는 NLS와 거의 동일하다)
1) LLS: 무선통신에서 기지국과 단말 사이의 point-to-point 링크 특성을 분석하기 위해서 사용하며, 주된 결과물은 수신 신호 강도(SNR 또는 SINR)와 부호 오류율(BER 또는 BLER)의 상관관계이다. 주로 PHY 계층의 기능들(예: coding, interleaving, modulation)이 주된 모델링 대상이며, 경우에 따라 MAC 계층과 관련된 기능들(예: HARQ, AMC, Power Control)도 반영되기도 한다. 다중 셀이나 다중 사용자는 고려하지 않는다. LLS 결과는 그 자체로서 모뎀의 성능을 평가하는데 사용되기도 하지만, 많은 경우에 있어 SLS의 입력값으로 사용된다. 주로 사용되는 툴은 MATLAB/Simulink이다.
2) SLS: 무선통신에서 주변 셀과 다중 사용자를 모두 고려한 상태에서의 시스템(주로 기지국)의 성능을 분석하기 위해서 사용하며, 주된 결과물은 기지국의 throughput이나 셀당 가입자 수 등이다. 주로 MAC 계층의 기능들(예: scheduling algorithm, radio resource management, mobility)이 주된 모델링 대상이며, PHY 계층의 기능은 대부분 LLS의 결과를 가져와서 사용한다. MAC보다 상위 계층은 필요에 따라 특정 기능만을 모델링하여 사용하는데, 많은 경우에 있어 (상위 계층이 완전히 추상화된) full-buffer traffic 모델을 사용하거나, 다른 곳에서 이미 측정된 (MAC 계층의 현재 동작에 영향을 받지 않는) traffic 패턴을 사용한다. 주로 사용되는 툴은 MATLAB/Simulink이다.
3) NLS: 유/무선통신에서 모든 네트워크 구성요소들과 프로토콜이 고려된 상태에서 네트워크의 전체적인 성능을 분석하기 위해서 사용하며, 주된 결과물은 전체 네트워크나 End-to-end 어플리케이션의 성능(예: delay, error rate, throughput)이다. PHY 계층에서부터 Application 계층까지의 모든 프로토콜이 모델링 대상이나, 다른 계층에 비해 PHY 계층의 기능은 간략하게 모델링하며 LLS 결과(SNR-BER 커브)도 입력값으로 사용한다. 주로 사용되는 툴은 OPNET, NS-2, QualNet이다.
LLS와 SLS라는 표현은 학계와 기업체에서 널리 사용되는 반면, NLS라는 표현은 학계에서는 거의 사용되지 않으며 주로 기업체에서 사용되고 있다. 하지만, NLS라는 용어를 사용하지 않는다는 것 뿐이지, 실제 NLS 내용은 학계에서도 빈번하게 작업하고 있는 사항이다. 다만, NLS라고 부르지 않고 "네트워크 시뮬레이션", 혹은 그냥 "시뮬레이션"이라고만 부르는 경우가 대부분이다.
용어 사용상의 이러한 차이는 역사적인 배경에서 비롯된 것으로 생각된다. LLS와 SLS는 주로 CDMA/W-CDMA 쪽에서 사용되어온 개념인데, 필요에 따라 두 개의 시뮬레이션이 선택적으로 사용되므로 용어 또한 명확히 구분지어진 것으로 보인다. 반면, NLS는 (비록 NLS라는 용어는 사용하지 않았다고 하더라도) 라우터나 패킷망 쪽에서 사용되어온 개념인데, 이 분야에서는 한 개의 시뮬레이션 개념밖에 없으므로 NLS와 같은 별도의 용어가 사용되지 않았다. 하지만, 근래에 All-IP 네트워킹이 중요해짐에 따라서 WiMAX, LTE 등의 무선 장비를 개발하는 기업체에서도 전체 네트워크 관점에서의 성능분석 결과가 필요하게 되었고, 이러한 시뮬레이션을 LLS나 SLS와 구분하기 위해서 NLS라는 용어를 만들어서 사용한 것이라고 생각된다. 물론, 이러한 Network "level"이라는 명칭 덕분에, 간혹 NLS는 네트워크 계층(즉, IP)까지만을 대상으로 하는 것이라고 잘못 받아들이는 분들도 있는데, 이는 혼란스러운(?) 명칭 사용에 따른 오해이다. (필자와 같이 일하던 분은 이러한 오해를 피하고자 NLS 대신 ALS(Application level simulation)라는 용어를 사용할 것을 주장하기도 했었다.)
이러한 역사적인 배경 탓에 LLS와 SLS, LLS와 NLS는 비교적 구분이 쉬운 편이지만, SLS와 NLS는 상당히 유사한 영역을 다루고 있으며 상호간의 경계가 애매한 것이 사실이다. 하지만, 그 동안 실무에서 NLS 업무를 수행하면서 SLS를 담당하시는 분들과 만나면서 느낀 것은 SLS는 대부분 MAC-PHY 계층에 집중하고 있으며 보고자 하는 결과에 대한 관점이 NLS와 다르다는 점이었다. 즉, SLS에서 시스템을 모델링한다고는 하지만, TCP나 OSPF를 제대로 모델링해서 시뮬레이션하는 경우는 거의 보지 못했다. 대부분 MAC 계층까지만 모델링하고, 상위계층은 아주 간략하게 추상화시켜서 사용한다. 예를 들어 상위계층에서 MAC으로 내려오는 트래픽의 경우 full-buffer를 적용하거나, 다른 툴에서 생성/측정된 트래픽 패턴을 그냥 가져다 쓰는 것이다. 이것을 또다른 관점에서 표현하자면 NLS는 개별 service flow의 특성에도 많은 관심을 두는 경향이 있고, SLS는 해당 시스템의 전체적인 performance에 많은 관심을 두는 경향이 있다고 할 수도 있을 것이다. 또한 NLS는 End-to-end 서비스 품질에 많은 관심을 두는 경향이 있고, SLS는 억세스 망에서의 서비스 품질에 많은 관심을 두는 경향이 있다고도 보여진다. 일반적으로 NLS는 상대적으로 SLS보다 많은 프로토콜 계층과 네트워크 장비들을 다루는데, 이는 시뮬레이션 결과를 도출하는데 있어 NLS가 SLS 보다 훨씬 많은 인력과 시간을 필요로 한다는 단점으로 작용하기도 한다.
NLS, SLS, LLS의 개념과 사용되는 툴들에 대한 더 자세한 설명은 다음의 참고문헌을 참조하기 바란다.
[1] William T. Kash, Jon R. Ward and Julia Andrusenko, "Wireless Networking Modeling and Simulation Tools for Designers and Developers," IEEE Communication Magazine, Volue 47, Issue 3, pp. 120-127, March 2009.
[2] R. Jain, C. So-In, and A.-K. Tamimi, "System-level modeling of IEEE 802.16E mobile WiMAX networks: Key issues," IEEE Wireless Communications, Vol. 15, No. 5, pp.73-79, 2008.
[3] WiMAX Forum, "WiMAX System Evaluation Methodology v2.1," July 2008.
[4] Yuehong Gao, Xin Zhang, Dacheng Yang and Yuming Jiang, "Unified Simulation Evaluation for Mobile Broadband Technologies," IEEE Communication Magazine, Volume 47, Issue 3, pp.142-149, March 2009.