RTO를 계산하기 위해서는 RTT 측정값이 필요하다("TCP 재전송(2) - Timeout이 발생하지 않았을 때의 RTO 계산" 참조). 하지만, 재전송이 발생할 경우, 수신된 ACK가 먼저 전송한 세그먼트에 의한 것인지 나중에 재전송한 세그먼트에 의한 것인지를 구분할 수 없어서 RTT를 정확히 측정할 수 없는 문제가 발생한다.
이러한 문제를 해결하기 위해서 Karn 알고리즘이 제안되었으며, OPNET 역시 Karn 알고리즘을 지원한다. "TCP 재전송(1) - RTO 파라미터 설정"에서 언급하였듯이, OPNET에서 제공하는 TCP 속성에는 Karn's Algorithm 적용 여부를 설정할 수 있는 기능이 있다. Karn 알고리즘의 사용은 TCP에서 필수 사항이므로, 특수한 목적을 가진 경우가 아니라면 TCP를 사용하는 시뮬레이션에서 이 속성은 Enabled(Default 값)로 설정되어 있어야 한다.
OPNET TCP 모델에서 Karn 알고리즘이 Enabled로 되어 있고 타임 스탬프 옵션이 사용되고 있지 않으면(타임 스탬프에 대해서는 이후의 글에서 다시 살펴보기로 한다), 재전송된 패킷에 대하여 측정된 RTT는 RTO 계산에 사용되지 않는다.

 

Posted by 신상헌
,

Timeout이 발생하면 RTO는 2배씩 증가함을 "TCP 재전송(4) - Timeout이 발생하였을 때의 RTO 계산"에서 설명하였다. 이 과정을 시뮬레이션을 통해 확인해보기로 하자.
"TCP 재전송(3) - Timeout"에서 사용한 시나리오를 수정하여 200초에서 400초 사이에 Discarder_2 노드를 지나는 모든 패킷을 폐기하도록 설정하고, 시뮬레이션을 수행한다.

 


다음은 연속된 timeout이 발생하였을 때의 RTO 값 변화를 확인하기 위해서 Server 노드에서 송신한 Retransmission Count와 Retransmission Timeout을 보인 것이다.

 


RTO가 1, 2, 4, 8, 16, 32, 64초로 2배씩 증가하고 있으며, 이에 따라 재전송이 일어나는 간격도 1, 2, 4, 8, 16, 32초로 증가하고 있음을 확인할 수 있다. (마지막 재전송때 RTO가 64로 설정되었음에도 불구하고, 64초 뒤에 재전송이 수행되지 않은 것은 최대 재전송 횟수가 6회로 설정되어 있기 때문이다. 최대 재전송 횟수에 대해서는 별도의 글에서 다룰 것이다.)

 

Posted by 신상헌
,

ITU Pedestrian은 NLOS 환경에서의 pathloss 모델로서 다음과 같은 수식에 의해서 계산된다.

 


이 수식은 ITU M.1225 표준문서[1]의 "outdoor to indoor and pedestrian"을 위한 pathloss 모델 수식과 정확히 동일하다. 이 pathloss 수식은 shadow fading을 포함하여, shadow fading 값을 GUI를 통해 설정된 표준편차 값을 이용하여 시뮬레이션 수행시에 랜덤하게 생성된다. Pathloss 모델로 "Pedestrian"을 선택하면 표준편차 값은 10으로 자동 설정된다(변경도 가능하다).
ITU Pedestrian 모델의 입력값과 출력값을 개념적으로 살펴보면, 거리, 주파수를 입력받아서 shadow fading을 포함하는 pathloss 값을 결과값으로 출력한다.

 


[1] ITU-R Recommendation M.1225, "Guidelines for evaluation of radio transmission technologies for IMT-2000," 1997.

Posted by 신상헌
,

Riverbed Modeler(OPNET)에서 제공하는 모델을 사용하다 보면, 모델명에 'adv'라는 접미사가 붙어있는 모델과 붙어있지 않은 모델이 있다. (예: 'wlan_wkstn_adv' 노드 모델과 'wlan_wkstn' 노드 모델) 이 모델들간의 차이 점은 무엇인지 한번 살펴보자.


- 'adv' 접미사가 붙는 모델: 기본이 되는 모델로서, 모델 파일의 확장자가 '.m'으로 끝난다. (예: 'wlan_wkstn_adv.nd.m') 'adv'는 'Advanced'를 의미한다. 모델에 포함된 모든 파라미터를 사용할수 있다.


 

- 'int' 접미사가 붙는 모델: 기본 모델로부터 파생된(derived) 모델로서, 모델 파일의 확장자가 '.d'로 끝난다. (예: 'ethernet_wkstn_int.nd.d') 'int'는 Intermediate'를 위미한다. 모델의 일부 파라미터들이 사용자가 변경할 수 없도록 숨겨져 있다.


- 접미사가 붙지 않는 모델: 기본 모델(Advanced 모델) 또는 중간 파생 모델(Intermediate 모델)로부터 파생된 모델로서, 모델 파일의 확장자가 '.d'로 끝난다. (예: 'wlan_wkstn.nd.d') 모델의 일부 파라미터들이 사용자가 변경할 수 없도록 숨겨져 있다. Final 모델이라고도 한다.

 

Advanced, Intermediate, Final 모델간의 관계를 그림으로 표현하면 다음과 같다. 접미사 사용은 Riverbed Modeler(OPNET)에서 제공하는 모델들이 따라는 규칙일 뿐이며, 사용자가 신규 모델 개발시에 반드시 따라야만 하는 것은 아니다. (즉, 노드 모델을 새롭게 작성하였을 때에도, 'adv' 접미사를 붙이지 않아도 사용하는데 아무런 문제가 없다.)

 


즉, 'adv' 접미사가 붙는 모델(Advanced 모델)이 '진짜' 모델이며, 접미사가 없거나 'int' 접미사를 가진 모델은 Advanced 모델의 일부 파라미터 값들을 사전에 설정한 후 사용자가 변경할 수 없도록 막아놓은 파생 모델이다. 이렇게 하는 이유는 너무 많은 파라미터가 제공되면 사용자가 설정에 어려움을 느낄 수 있으므로, 전형적인 값으로 설정되는 파라미터들에 대해서는 사용자가 설정할 필요가 없도록 해주기 위함이다.
단, 이렇게 일부 파라미터가 숨겨짐으로 인해서, 특정 목적의 시뮬레이션시에는 해당 모델은 사용할 수 없는 경우가 있으므로 주의하여야 한다. 예를 들어 'wlan_wkstn' 노드 모델은 Custom 어플리케이션의 목적지 노드로 지정되지 않으므로, Custom 어플리케이션을 사용하고자 하는 경우 'wlan_wkstn' 노드 모델(Final 모델) 대신 'wlan_wkstn_adv' 노드 모델(Advanced 모델)을 사용하여야 한다.

Posted by 신상헌
,

지난 10월3일자로 Riverbed Modeler 18.0.1 버전이 발표되었습니다(이전 버전에 관한 내용은 "Riverbed Modeler 18.0 발표" 참조).
그런데, Release note의 내용이 지난 번 18.0 버전과 동일하네요. 심지어 Release note에는 버전조차도 18.0.0으로 변경없이 표기되어 있습니다. 아마도 기능상의 변화없이 버그만 수정된 버전이 아닌가 짐작됩니다만, OPNET Modeler 시절에는 이런 적이 없었던 터라 당혹스럽네요. 정확히는 직접 사용해봐야 알 수 있을 것 같습니다.

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

Riverbed Modeler 18.0.3 발표  (0) 2015.04.07
Riverbed Modeler 18.0.2 발표  (1) 2015.01.05
Riverbed Modeler 18.0 발표  (4) 2014.08.29
OPNET Modeler 17.5 PL6 발표  (0) 2014.03.14
OPNET Modeler 17.5 PL5 발표  (0) 2013.08.16
Posted by 신상헌
,

RTT를 기반으로 계산된 RTO("TCP 재전송(2) - Timeout이 발생하지 않았을 때의 RTO 계산" 참조)는 Timeout 발생때까지만 사용되며("TCP 재전송(3) - Timeout" 참조), Timeout이 발생하면 RTO는 2배씩 증가한다[1]. Timeout에 의한 재전송이 수행될 때 마다 2배씩 증가하므로, 결과적으로는 지수함수적으로 증가하는 형태가 된다.
다만, 이 때에도 RTO의 최대값은 "TCP 재전송(1) - RTO 파라미터 설정"에서 설명한 Maximum RTO를 넘어설 수는 없다.

 

[1] RFC 6298, "Computing TCP's Retransmission Timer," IETF, Jun. 2011.

Posted by 신상헌
,

TCP에서의 재전송은 Timeout과 중복된(Duplicated) ACK의 두가지 요소에 의해서 제어되며, OPNET TCP 모델 또한 이 두가지 요소 기능을 모두 제공한다. 그 중 Timeout에 의한 재전송이 어떻게 수행되는지 살펴보기로 하자.
TCP 재전송 시험망을 다음 그림과 같은 토폴로지로 구성하고("TCP Window Scaling(1) - LFN에서의 동작"의 시험망 토폴로지 참조), Server 노드와 STA 노드 사이의 RTT는 100ms가 되도록 설정한다.

 


패킷 손실을 발생시키기 위해서 Packet Discard 노드의 Packet Discard Configuration 속성을 다음 그림과 같이 200초에 패킷 1개를 폐기하도록 설정한다.

 


STA 노드와 Server 노드의 TCP Window Scaling은 Disabled 시킨다. Timeout에 의한 재전송만을 명확하게 관찰하기 위해서, Server 노드의 TCP Fast Retransmit는 Disabled 시킨다.
다음은 재전송이 일어났음을 확인하기 위해서 Server 노드에서 송신한 Retransmission Count와 Retransmission Timeout을 보인 것이다.

 


201.5초에 재전송이 TImeout에 의해서 일어났으며, 사용된 RTO(Retransmission TImeout) 값은 1초임을 확인할 수 있다. 200초 무렵의 RTO 값이 1초인 것은 TCP 파라미터의 Minimum RTO 속성값이 1초이기 때문이며("TCP 재전송(1) - RTO 파라미터 설정" 및" TCP 재전송(2) - Timeout이 발생하지 않았을 때의 RTO 계산" 참조, 1초의 RTO 값이 사용되었음에도 실제 재전송은 거의 1.5초 이후에 수행된 것은 TCP 파라미터의 Timer Granularity가 0.5초이기 때문이다(Timer Granularity의 영향에 대해서는 이후의 글에서 다시 설명할 것이다).
다음 그림은 Server 노드의 CWND 크기 변화를 보인 것이다. CWND 크기가 200초 무렵까지는 계속 증가하다가 패킷 손실을 201.5초에  Timeout에 의해 감지하면서 크게 낮아진 것을 확인할 수 있다.

 

 

Posted by 신상헌
,

OPNET의 Erceg 모델은 IEEE 모델[1]을 사용한 것으로, 원래의 Erceg 모델[2]과는 약간 다른다. 물론, 이 IEEE 모델[1]은 WiMAX를 위해 정의된 것이므로 OPNET Erceg 모델은 표준에 잘 맞다고 볼 수 있다.

 


Gamma 계산시 OPNET Erceg 모델은 원래의 Erceg 모델[2]에 비해 간략화되어 있다. Shadow fading(s) 역시 OPNET Erceg 모델은 원래의 Erceg 모델[2]에 비해 간략화되어 있으며, 지정된 표준편차 값을 가지는 lognormal 분포함수를 이용하여 시뮬레이션 수행시에 랜덤하게 생성된다.
Frequency 보정 항목(PLf)과 Antenna Height 보정항목(PLh)은 원래의 Erceg 모델[2]에는 없고 IEEE 모델[1]에서 추가된 것이다. 이는 원래의 Erceg 모델[2]이 1.9GHz 주파수 대역을 사용하고 단말 안테나가 2미터 높이에 위치한 경우를 가정한 것이기 때문에, 그 차이를 보정해주기 위해서이다. Frequency 보정항목(PLf)은 [3, 4]에 기반한 것이며, Antenna Height 보정항목(PLh)은 [5, 6]에 기반한 것이다.

 

[1] V. Erceg, etal., "Channel Models for Fixed Wireless Applications," IEEE 802.16.3c-01/29r4, July 2001.
[2] V. Erceg, et al., "An empirically based path loss model for wireless channels in suburban environments," IEEE JSAC, vol. 17, no. 7, July 1999, pp. 1205-1211.
[3] Chu, T.-S. and Greenstein, L.J., "A Quantification of Link Budget Differences Between the Cellular and PCS Bands," IEEE Trans. Veh. Technol., vol. 48, no. 1, January 1999, pp. 60-65.
[4] Jakes W.C. and Jr. Reudink D.O., "Comparison of mobile radio transmission at UHF and X band," IEEE Trans. Veh. Technol., vol. 16, pp10-13, Oct. 1967.
[5] K.V.S. Hari, and Carl Bushue, "Interim Channel Models for G2 MMDS Fixed Wireless Applications," IEEE 802.16.3c-00/49r2, November 2000.
[6] Y. Okumura, E. Ohmori, T. Kawano, and K. Fukuda, "Field Strength and its Variability in VHF and UHF Land-Mobile Radio Service," Rev. Elec. Comm. Lab. No.9-10pp. 825 - 873, 1968.

Posted by 신상헌
,

"Riverbed Modeler 18.0 발표"에서 살펴본 것처럼, OPNET Modeler가 18.0 버전부터 Riverbed Modeler로 제품명이 변경되었다. 또한, 이름 변경과 더불어 로고와 심볼도 Riverbed 것으로 변경되었다.
다음 그림은 17.5 버전("OPNET Modeler 17.5 PL6 발표" 참조)의 메인 화면이며, 기존의 익숙하던 OPNET 로고와 심볼을 볼 수 있다.

 


다음 그림은 18.0 버전("Riverbed Modeler 18.0 발표" 참조)의 메인 화면이다. 로고는 모두 riverbed로 교체되었고, 기존의 OPNET 심볼도 더 이상 사용되지 않는다. OPNET이라는 이름이 역사속으로 사라졌음을 피부로 느낄 수 있는 증거인 셈이다.

 

 

Posted by 신상헌
,

SITL을 사용한 시뮬레이션 수행시 다음과 같이 패킷 억세스 에러 및 이와 연속된 Invalid Memory Access 에러로 인하여 시뮬레이션이 중단되는 경우가 있다.

 


이러한 문제가 발생하는 원인은 OPNET에서 처리할 수 없는 패킷이 실세계 장비로부터 유입되었기 때문이다. NetBIOS 패킷은 이러한 문제를 일으키는 대표적인 사례인데, 단순히 윈도우즈 PC를 SITL 포트에 연결시켜 두기만 해도 발생한다. 하지만, 대부분의 경우 NetBIOS 패킷은 시뮬레이션 목적과는 관련이 없는 경우가 많다. 이런 경우에는 NetBIOS 패킷이 OPNET으로 유입되지 않도록 SITL 패킷 필터("SITL 패킷 필터" 참조)를 설정해주면 간단히 문제를 해결할 수 있다.

 

Posted by 신상헌
,