OPNET에서 제공하는 라플라스 분포(laplace distribution) 함수는 2 개의 인수를 사용한다. 첫 번째 인수는 평균(mean)이며, 두 번째 인수는 scale이다. OPNET에 정의된 라플라스 분포를 이용 하여 laplace(0, 1), laplace(0, 2), laplace(0, 4), laplace(-5, 4) 경우에 대한 PDF를 그려보면 다음과 같다. 위키피디아에서 설명하고 있는 라플라스 분포(http://en.wikipedia.org/wiki/Laplace_distribution)의 PDF 결과와 정확히 일치하는 것을 알 수 있다.

 


[1] http://en.wikipedia.org/wiki/Laplace_distribution

 

Posted by 신상헌
,

OPNET에서 제공하는 정규분포(normal distribution) 함수는 2 개의 인수를 사용한다. 첫 번째 인수는 평균(mean)이며, 두 번째 인수는 분산(variance)이다. OPNET에 정의된 정규분포를 이용하여 noraml(0, 0.2), normal(0, 1.0), normal(0, 5.0), normal(-2, 0.5) 경우에 대한 PDF를 그려보면 다음과 같다. 위키피디아에서 설명하고 있는 정규분포(http://en.wikipedia.org/wiki/Normal_distribution)의 PDF 결과와 정확히 일치하는 것을 알 수 있다.

 


[1] http://en.wikipedia.org/wiki/Normal_distribution

 

Posted by 신상헌
,

DTED Level 0 데이터는 공개되어 있으므로 쉽게 구할 수 있기는 하지만, 해상도가 낮아서 활용 가치는 그리 높지 않다. 한반도에 대한 예를 통해 DTED Level 0가 어느 정도 유용한지 한번 확인해 보자. 다음 그림은 한반도 지역에 대한 DTED Level 0 지형정보를 적용한 것이다.

 


수원 광교산에서 성남 남한산성간의 지형을 확인해보기 위해서, Topology-->Terrain-->View Terrain Profile 메뉴를 실행한 후 광교산 시루봉과 남한산성 수어장대에 해당하는 좌표를 차례로 클릭한다.

 


두 지점의 좌표값은 다음과 같다.

 


다음의 View Terrain Profile 창에서 왼쪽이 광교산 시루봉, 오른쪽이 남한산성 수어장대에 해당한다. 광교산 시루봉의 실제 해발고도는 581m이지만, DTED Level 0 지도를 통해서는 400m를 조금 넘는 높이로 표시된다. 남한산성 수어장대의 경우에도 실제 해발고도는 498m이지만, DTED Level 0 지도를 통해서는 400m 미만으로 표시된다.

 


DTED Level 0의 해상도는 30 arc second로서 약 1Km에 해당한다. 산악지형에서는 거리가 1Km 떨어지면 고도는 수백m 차이가 발생할 수도 있으므로, 위 예제와 같은 오차가 발생하는 것은 피할 수 없는 현상일 것이다. 따라서, DTED Level 0 지형정보를 이용하여 시뮬레이션을 할 경우, 지형에 의한 효과를 어느 정도 반영하는 것은 가능하지만, 해당 지역의 정확한 지형 효과를 반영한 시뮬레이션 결과라고 얘기하기는 어렵다.

Posted by 신상헌
,

"OPNET 기초다지기"에서 설명하였듯이, 32비트 윈도우에서 Visual Studio .NET 2003을 컴파일러로 사용하기 위한 환경 변수 설정은 다음과 같다.

======================================================================
INCLUDE:
C:\Program Files\Microsoft Visual Studio .NET\Vc7\atlmfc\include;
C:\Program Files\Microsoft Visual Studio .NET\Vc7\include;
C:\Program Files\Microsoft Visual Studio .NET\Vc7\PlatformSDK\Include;
C:\Program Files\Microsoft Visual Studio .NET\SDK\v1.1\include

 

LIB:
C:\Program Files\Microsoft Visual Studio .NET\Vc7\atlmfc\lib;
C:\Program Files\Microsoft Visual Studio .NET\Vc7\lib;
C:\Program Files\Microsoft Visual Studio .NET\Vc7\PlatformSDK\Lib;
C:\Program Files\Microsoft Visual Studio .NET\SDK\v1.1\Lib

 

PATH:
C:\Program Files\Microsoft Visual Studio .NET\Common7\IDE;
C:\Program Files\Microsoft Visual Studio .NET\VC7\BIN;
C:\Program Files\Microsoft Visual Studio .NET\Common7\Tools;
C:\Program Files\Microsoft Visual Studio .NET\Common7\Tools\bin;
C:\Program Files\Microsoft Visual Studio .NET\SDK\v1.1\bin;
C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322;

 

DevEnvDir:
C:\Program Files\Microsoft Visual Studio .NET\Common7\IDE

 

MSVCDir:
C:\Program Files\Microsoft Visual Studio .NET\Vc7

 

VCINSTALLDIR:
C:\Program Files\Microsoft Visual Studio .NET

 

VSINSTALLDIR:
C:\Program Files\Microsoft Visual Studio .NET\Common7\IDE
======================================================================

 

그런데, 경우에 따라서는  Visual Studio .NET 2003이 설치된 경로가 "\Program Files\Microsoft Visual Studio .NET\"이 아니라 "\Program Files\Microsoft Visual Studio .NET 2003\"으로 되어 있는 경우도 있다. 이럴 때에는 다음과 같이 Visual Studio .NET 2003이 설치된 경로대로 변경해서 설정해주면 된다.

======================================================================
INCLUDE:
C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\atlmfc\include;
C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include;
C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include;
C:\Program Files\Microsoft Visual Studio .NET 2003\SDK\v1.1\include

 

LIB:
C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\atlmfc\lib;
C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\lib;
C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Lib;
C:\Program Files\Microsoft Visual Studio .NET 2003\SDK\v1.1\Lib

 

PATH:
C:\Program Files\Microsoft Visual Studio .NET 2003\Common7\IDE;
C:\Program Files\Microsoft Visual Studio .NET 2003\VC7\BIN;
C:\Program Files\Microsoft Visual Studio .NET 2003\Common7\Tools;
C:\Program Files\Microsoft Visual Studio .NET 2003\Common7\Tools\bin;
C:\Program Files\Microsoft Visual Studio .NET 2003\SDK\v1.1\bin;
C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322;

 

DevEnvDir:
C:\Program Files\Microsoft Visual Studio .NET 2003\Common7\IDE

 

MSVCDir:
C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7

 

VCINSTALLDIR:
C:\Program Files\Microsoft Visual Studio .NET 2003

 

VSINSTALLDIR:
C:\Program Files\Microsoft Visual Studio .NET 2003\Common7\IDE
======================================================================

 

요즘 Visual Studio .NET 2003을 사용하는 사람이 많지는 않겠지만, 몇일전까지 Visutal C++ 6.0을 사용했던 본인도 있었으니까...

 

Posted by 신상헌
,

현재 WiBro는 KT의 에그(Egg)나 SKT의 WiBro 브릿지(Bridge)처럼, WiFi 테더링을 위한 WiBro-WiFi 라우터 용도로 많이 사용되고 있다. OPNET WiMAX 모델에서는 이러한 WiMAX-WiFi 라우터에 해당하는 wimax_ss_wlan_router와 wimax_ss_wlan_router_adv 노드 모델을 제공하고 있어서, 시뮬레이션에 손쉽게 적용할 수 있다.
다음은 "OPNET 중급입문"의 WiMAX_example 시나리오에 wimax_ss_wlan_router_adv 노드 모델을 적용하여 WiMAX를 통한 WiFi 테더링을 모델링한 예이다. (별도의 라우팅 프로토콜 설정은 필요하지 않다)

 


시뮬레이션을 수행하고 결과를 살펴보면, WiMAX 구간을 통과한 트래픽이 WiFi 테더링을 통해 잘 전달되고 있음을 알 수 있다.

 


GW_2 노드의 라우팅 테이블을 살펴보면 다음 그림처럼 모든 서브네트워크에 대한 정보가 정상적으로 구성되어 있는 것을 확인할 수 있다. (IP 주소는 Auto-Assign으로 설정되어 있으며, 이 시뮬레이션에서 192.0.5.0/24는 WiFi 구간, 192.0.6.0/24는 WiMAX 구간이다.)

 

 

Posted by 신상헌
,

 "OPNET 기초다지기"의 개정판을 출판하였습니다. 역시 홍릉과학출판사이고, ISBN도 978-89-7283-659-9 으로 동일합니다. 다만 개정판임을 구분할 수 있도록 표지에 "개정판" 표기를 추가하였습니다. 서점에도 수일내로 공급될 것으로 생각합니다.

 

 

 첫 번째 OPNET 한글 교재인 "OPNET 기초다지기"가 2008년 1월에 나왔으니 벌써 5년이 지났네요. 개정판의 주요 변경사항은 OPNET 버전업에 따른 화면 구성 변화 및 기존 방식으로 예제 수행시 에러가 발생하는 부분들에 대한 보완입니다. 기존 교재는 OPNET 12.0을 기준으로 하고 있었으나, 개정판에서는 OPNET 17.1("OPNET Modeler 17.1 PL1 발표" 참고)에 맞추어 화면 캡춰 및 예제 설명이 업데이트 되었습니다.
사실, 이번 "OPNET 기초다지기" 개정판 출판에는 예상치 못했던 우여곡절이 많아서, 원고가 작성된 후 실제로 출판되기까지 거의 1년이나 걸렸습니다. 현재의 OPNET 최신 버전이 17.5("OPNET Modeler 17.5 PL3 발표" 참고)인데도 불구하고 개정판의 기준 버전이 17.1인 것도 원고가 1년전에 작성되었기 때문이며, 대단히 아쉽게 생각하는 부분입니다. 다행히도 17.1 버전과 17.5 버전은 화면 구성이나 기존 모델 사용법에는 큰 변화가 없어서 17.5 버전을 사용하시는 분들에게도 별 어려움은 없을 것으로 생각합니다.

 

이 책이 국내의 OPNET 사용자들에게 많은 도움이 되기를 바랍니다.

 

                                                                                                         - 신상헌

Posted by 신상헌
,

TMM(Terrain Modeling Module)은 지형에 의한 경로 손실을 OPNET에서 시뮬레이션할 수 있는 기능을 제공한다. TMM을 사용하기 위해서는 대상 지역에 대한 지형정보(DTED 혹은 USGS DEM)가 필요한데, 이러한 지형정보를 OPNET에서 자체적으로 제공하지는 않는다.
DTED Level 0는 정밀도가 떨어지기는 하지만, 파일을 인터넷에서 쉽게 다운로드 받을 수 있다. 다음 그림은 한반도 지역에 대한 DTED Level 0를 적용한 결과이다.

 

Posted by 신상헌
,

향후에는 OPNET Modeler 제품에서 Red Hat Enterprise Linux(RHEL) 4와 Fedora Linux 6에 대한 지원이 이루어지지 않을 것이라는 발표가 지난 12월 6일에 있었습니다. 다만, 이는 Linux OS 자체에 대한 지원이 중단된다는 의미가 아니며, 해당 버전의 Linux에 대한 지원을 중단한다는 것입니다. 얼마전에 발표되었던 OPNET Modeler 17.5 버전("OPNET Modeler 17.5 PL3 발표" 참조)에서는 RHEL 4, 5, 6 버전과 Fedora Linux 6 버전의 Linux를 지원하고 있습니다. 따라서, 17.5 버전이 RHEL 4와 Fedora 6를 지원하는 마지막 버전이 될 것이라고 합니다.
국내에서는 Linux 환경에서 OPNET을 사용하는 사용자가 매우 적은 것으로 알고 있어서, 큰 영향은 없을 것 같기는 합니다.

Posted by 신상헌
,

OPNET 버전간의 호환성 문제에 관한 또다른 간단한 예는 VoIP 성능 분석에 관한 것이다. 가장 대표적인 VoIP 성능지표인 MOS 측정에 있어, 16.0 이전 버전에 의한 결과와 16.1 이후 버전에 의한 결과는 동일한 시나리오라 할지라도 큰 차이를 보인다. 다음 그림은 "OPNET 중급입문" 5.5절의 VoIP_example_delay 시나리오를 15.0 버전과 16.1 버전에서 각각 실행하여 그 결과를 비교한 것이다. ("OPNET 중급입문"의 모든 예제는 15.0 PL3 버전을 기준으로 작성되었다.)

 

 


MOS 결과값이 이렇게 큰 차이를 보이는 이유는 무엇일까? 그 이유는 바로 VoIP에 사용되는 Jitter Buffer(OPNET에서는 Playout Delay로 표현, Jitter Buffer에 대해서는 이후에 별도의 글에서 다룰 것이다)의 기본값이 변경되었기 때문이다. 즉, 16.0 버전까지의 Jitter Buffer 기본값이 200ms였는데, 16.1 버전에서 40ms로 변경되었다. 따라서, Jitter Buffer의 크기를 사용자가 직접 설정해주지 않았다면, 16.0 이전 버전에 의한 결과와 16.1 이후 버전에 의한 MOS 결과값은 차이가 나는 것이 당연하다. ("OPNET 중급입문" 5장 예제의 MOS 결과가 일반적인 상황과 비교하여 전반적으로 낮게 보여지는 것도 이 때문이다.) 15.0 버전에서도 Jitter Buffer의 크기를 직접 40ms로 설정하고 시뮬레이션을 수행하면, 다음 그림과 같이 16.1 버전과 동일한 MOS 결과 값이 나오는 것을 확인할 수 있다.

 

 

 

 

 

Posted by 신상헌
,

OPNET Technologies사가 Riverbed Technology에 팔렸다고 합니다.
http://www.ddaily.co.kr/news/news_view.php?uid=96948

 

OPNET사는 그동안 상당히 실적이 좋았던 터라, 매각은 의외의 소식이네요. 그리고, 매각 가격도 상당히 놀랍습니다. 오늘 환율이 1,092원이니까, 10억불이면 1조1천억원정도네요. OPNET사의 가치가 이렇게 높으리라고는 생각하지 못했습니다.
하여간, 앞으로 OPNET 제품이나 라이센스 정책에 어떤 변화가 있을지 흥미로워집니다.

Posted by 신상헌
,