UDP는 분할(segmentaiton) 및 재조립(reassembly) 기능을 제공하지 않으므로, UDP 패킷 크기를 초과하는 크기의 데이터는 전달할 수 없다. OPNET에도 이러한 UDP의 특성이 모델링되어 있어서, 일정 크기 이상의 데이터 패킷이 UDP로 전달되면, 패킷을 전송하지 않고 폐기한다. 따라서, 이 특성을 정확하게 이해하지 못하면, 사용자가 설정한 트래픽이 실제로는 시뮬레이션에 영향을 미치지 않을 수도 있으므로 주의하여야 한다.
다음 그림은 표준[1]에 정의된 UDP 패킷 구조를 나타낸 것이며, 2Bytes의 Length 필드로 표현할 수 있는 UDP 패킷의 최대 크기는 65,535Bytes이다. 따라서, UDP 패킷 헤더 8Bytes를 제외하면, UDP 페이로드의 최대 크기는 65,527Bytes가 된다.

 

 

Custom Application을 이용하면 다음 그림과 같이 Transport Protocol을 UDP로 손쉽게 변경할 수 있다(Custom Application을 이용하여 트래픽을 설정하는 방법은 "OPNET 기초다지기" 3.2.2절 예제 참조).

 

다음 그림은 Custom Application을 이용하여 65,527Bytes와 65,528Bytes 크기의 데이터 패킷을 0.1sec 간격으로 발생시켜 UDP를 통해 전송하려고 하였을 때 UDP 계층을 거쳐 전달되는 트래픽을 측정한 것이다. 65,527Bytes 크기의 데이터 패킷을 발생시켰을 때에는 트래픽이 잘 전달되는 반면, 65,528Bytes 크기의 데이터 패킷을 발생시켰을 때에는 트래픽이 전혀 전달되지 않는 것을 확인할 수 있다.

 


이렇게 사용자가 설정해준 트래픽이 실제로는 네트워크로 전혀 전달되지 않고 UDP 계층에서 폐기되지만, 이는 UDP의 정상적인 동작이므로 시뮬레이션 수행시 에러 메시지는 발생하지 않는다. 다만, 패킷 폐기시 WARNING 메시지를 남겨주므로, Log Viewer를 통해 확인할 수 있다.

 

 

[1] RFC 768, "User Datagram Protocol," IETF, 1980.

Posted by 신상헌
,