'전체보기'에 해당되는 글 384건

  1. 2010.05.09 Delay Variation과 Jitter의 차이 1
  2. 2010.01.17 노드의 위치정보 획득시 주의사항
  3. 2010.01.03 OPNET Modeler 16.0.A PL1 발표
  4. 2010.01.03 블로그 용도 결정
Voice Application의 Statistic 결과 항목들을 보면 다음 그림과 같이 "Packet Delay Variation" 항목과는 별도로 "Jitter (sec)" 항목도 있다.


일반적으로 Jitter는 패킷 전달 지연시간의 편차로 해석되기 때문에, 거의 동일한 의미로 해설될 수 있는 Packet Delay Variatioin 항목이 같이 있는 것은 사용자들에게 곧잘 혼란을 불러일으키고는 한다. 이 두 가지 값의 정확한 차이를 알아보도록 하자.
먼저 Packet Delay Variation의 (OPNET에서 사용하고 있는) 정의는 다음과 같다.
"Variance among end to end delays for voice packets received by this node. End to end delay for a voice packet is measured from the time it is created to the time it is received. "
실제로 delay variation 값은 gna_stat_variance_obtain() 함수에서 계산되는데, 해당 코드는 다음과 같다. (gna_support.ex.c 파일)
-----------------------------------------------------------------------------------
  mean_value = stat_data_ptr->sample_sum / stat_data_ptr->sample_count;
  variance_value = (stat_data_ptr->sample_sq_sum / stat_data_ptr->sample_count) -
   (mean_value * mean_value);
-----------------------------------------------------------------------------------
소스코드를 수식으로 변환하여 표현하면, 다음과 같다.


따라서, 소스코드와 Statistics 항목의 설명에서 명확하게 알 수 있듯이, 여기에서 variance가 의미하는 것은 일반적인 뜻인 '변화량'이 아니라 통계에서 사용하는 '분산'인 것이다.

다음으로 Jitter의 (OPNET에서 사용하는 있는) 정의는 다음과 같다.
"If two consequetive packets leave the source node with time stamps t1 & t2 and are played back at the destination node at time t3 & t4, then:
jitter = (t4 - t3) - (t2 - t1)
Negative jitter indicates that the time difference between the packets at the destination node was less than that at the source node."
실제로 jitter 값은 gna_voice_called_mgr (또는 gna_voice_calling_mgr) 프로세스 모델에서 계산되는데, 해당 코드는 다음과 같다.
-------------------------------------------------------------------------------------
/* Compute the jitter */
jitter = (op_sim_time () - prev_pk_info_ptr->play_back_time) - (rtp_pk_info_ptr->time_stamp - prev_pk_info_ptr->time_stamp);
-------------------------------------------------------------------------------------

Statistic 항목의 설명과 동일하게 jitter = (현재시간 - 이전 패킷의 수신시간) - (패킷을 송신한 시간 - 이전 패킷을 송신한 시간)으로 계산되고 있음을 확인할 수 있다. 즉, Jitter는 연속된 두 패킷에서 송신 노드에서 보내질 때의 시간 간격과 수신노드에 도착할 때의 시간 간격의 차이를 의미하는 것이다.

시뮬레이션 결과를 살펴보면 다음과 같이 전혀 다른 값이 기록되어 있는 것을 확인할 수 있으며, 그 이유는 앞에서 설명한 것처럼 서로 계산하는 방식이 전혀 다르기 때문이다.

Posted by 신상헌
,

시뮬레이션을 하다보면, 노드의 위치정보를 사용해야하는 경우가 종종 발생한다. 특히, 무선망이나 이동성을 시험하는 경우에는 필수적이다. OPNET에서 노드의 위치정보를 획득할 수 있는 수단은 두가지이다.
1. op_ima_obj_pos_get(site_objid, lat_ptr, long_ptr, alt_ptr, x_ptr, y_ptr, z_ptr) 함수를 통해 지구중심좌표계(geocentric coordinate system) 상의 값을 구하는 방법.
2. op_ima_obj_attr_get_dbl(objid, attr_name, value_ptr) 함수를 통해 "x position"과 "y position" 값, 즉 평면상에서의 2D 좌표를 구하는 방법.

2번 방안의 경우 화면상의 표시와 쉽게 매칭되기 때문에, 이해하기 쉽다. 하지만, x/y 좌표를 구하기 위해서는 함수를 2번 호출해야한다는 번거로움(?)이 있다. 1번 방안의 경우 한번의 호출로 모든 좌표정보를 알아낼 수 있으며, 좀 더 멋있어(?) 보인다는 장점도 있다.
그런데, 1번 방안을 통해 알아낸 좌표값을 사용할 경우, latitude / longitude / altitude는 표현 자체가 완전히 다르므로 헷갈릴 일이 없지만, 뒷 부분의 x/y/z 좌표값을 혼동의 여지가 있으므로 사용에 주의할 필요가 있는데 여기에서 말하는 x/y/z 좌표값은 지표면을 기준으로 하는 값이 아니라는 점이다. 즉, 1번 방안을 통해 알아낸 x/y 좌표값과, 2번 방안을 통해 알아낸 x/y 좌표값은 서로 완전히 다른다. 그러므로, 사용하고자 하는 목적에 따라 두 방법 중 적절한 방법을 선택해서 사용해야만 한다.
일반적으로 1번 방안은 특정 서브네트워크에 대해서 지구상에서의 위치를 파악할 때 사용되고, 2번 방안은 서브네트워크안에서 노드들 사이의 (우리가 흔히 생각하는) 거리를 계산할 때 사용된다. 두 방안의 x/y 좌표값을 혼동해서 사용할 경우, 예상치 못한 엉뚱한 결과가 나올 수도 있으므로 주의할 필요가 있다.

Posted by 신상헌
,

지난 연말(2009년 12월)에 Modeler 16.0.A 버전이 발표되었습니다. 요즘은 새롭게 추가되는 모델 feature에 큰 관심이 없던터라 바로 살펴보지는 않았었는데, 티스토리 블로그 오픈(?)을 기념하여 한번 살펴봅니다. 먼저, User forum에 올라온 주요 특징은 다음의 사항들입니다.

- New WiMAX model features
- Enhancements to the LTE model, including eNodeB uplink scheduler and enriched set of LTE statistics
- Support for modeling vendor-specific HAIPE device behavior in the HAIPE model


WiMAX나 LTE는 요즘 많은 관심을 받고있는 분야이니까 반가운 소식이기는 한데, 이 정보만으로는 뭐가 개선되었는지 알수가 없네요. Release note에서 관련된 항목들을 다시 살펴보았습니다. 먼저 WiMAX 모델,
- Partial Usage of Subchannels (PUSC)
- Multiple Input/Multiple Outout (MIMO)
- 802.16j
- IPv6 for WiMAX
- MAP over PHY support
- UL Burst Transmission delay

꽤나 의미있는 개선이 이루어진 것 같습니다. PUSC는 관심 사항이 아니라 패스. MIMO는 기존에 DL STC 2x1만 지원되던 것이 DL/UL STC 2x2까지로 확장되었네요. 그외에 receive diversity 1x2도 지원된다는데 이건 정확히 무엇을 의미하는 건지 애매하네요. 나중에 코드를 살펴봐야 할듯.
802.16j가 벌써 지원된다길래 내심 놀랐는데, 역시나 아직까지 기능상에 제약이 많네요. Centralized 모드에서 UL 링크에 대한 transparent operating만 지원된다고 합니다. 802.16j 기능이 구현되고 있다는 정도를 아는 선에서 만족해야할 듯.
IPv6 for WiMAX는 상당히 유용한 업데이트네요. WiMAX모델에서 IPv6가 동작하지 않는다는 사실은 그동안 아는 분들은 다 아시는 버그(?)였는데, 이제서야 고쳐진 모양입니다.
MAP over PHY는 이번 WiMAX 모델 업데이트에서 제일 중요한 사항일 것 같습니다. 그동안 OPNET WiMAX 모델의 치명적인 단점으로 늘 공격받던 사항이니까요. 많이 늦은 감이 있지만, 다행입니다.
UL burst transmission delay도 상당히 어이없던 모델 설계상의 문제였는데 이번 수정에 반영되었네요. UL MAP 에서 grant해준 resource는 실제로는 다음번 frame에 대한 것이니까요. 그래도 자존심이 있는지 무조건 한 프레임 뒤에 반영되도록 하지 않고, parameter로 변경가능하게만 해놨네요.

다음으로 LTE 모델,
- Increased data rates and high efficiency
- Increased signal range
- Increased spectrum flexibility
- Interoperability with legacy networks

이 설명만 보고는 여전히 어떤 사항들이 개선되었는지 구체적으로 파악할 수가 없네요. 어쩔 수 없이 소스 코드를 살펴봐야할 듯.

이외에도 여러가지 수정된 사항이 있지만, 특별히 관심가는 내용이 없어서 생략합니다.

'Riverbed Modeler(OPNET) > Release notes' 카테고리의 다른 글

OPNET Modeler 17.1 PL2 발표  (0) 2012.08.01
OPNET Modeler 17.1 PL1 발표  (0) 2011.10.23
OPNET Modeler 16.1 PL1 발표  (0) 2011.06.07
OPNET Modeler 16.0 PL6 발표  (0) 2010.11.09
OPNET Modeler 16.0 PL4 발표  (0) 2010.08.17
Posted by 신상헌
,

블로그 용도 결정

etc 2010. 1. 3. 15:42
개설만 해놓고 방치하던 티스토리를 2010년을 맞아 네트워크 시뮬레이션 정보 기록용으로 사용하기로 결정. 배운게 도둑질이라고 OPNET 관련 내용이 주가 되겠지만, 네트워크 시뮬레이션에 관한 것이라면 어떤 것도 배제할 생각은 없다.

'etc' 카테고리의 다른 글

Visual Studio Community 2013 설치  (0) 2022.01.19
네트워크 시뮬레이션 opnet카페 폐쇄  (0) 2018.10.07
블로그 명칭 변경  (0) 2014.09.17
NLS와 SLS  (0) 2010.12.15
Posted by 신상헌
,