본문 바로가기

IT/OMNET++

[OMNET++] Messages and Packets(2)

<본 게시글은 OMNET++SimualtionManual을 공부하면서 개인적으로 저장해놓은 글입니다>

 

Control Info

 

protocol layers에서 패킷 교환을 하는 모듈을 구현한다. 하지만 전 게시글에서 설명한 packet의 정보들 외에도 protocol layers들 간의 통신에 있어서는 추가적인 정보가 패킷에 더해져야 한다. 대표적으로는 TCPIP에 특정 목적지 IP 주소를 내려 보내야 하고 IPIP header를 통해 TCPsource address를 알도록 해야 하는데 이때 필요한 정보를 설정할 수 있다.

 

<control info를 설정하는 함수와 가져오는, 제거하는 함수, 써본 적은 없음>

 

잘 쓰지 않는 기능 같지만, data packet에서 TCP CLOSE 같은 command를 포함하지 않을 시 dummy packet(empty cMessage)가 보내질 수 있다.

 

 

Information About the Last Arrival

 

packet을 보낸 시간과 도착한 시간은 다음 함수들로 알 수 있다,

 

<패킷의 전송시간과 도착시간을 받을 수 있는 함수, 자주 사용하는 함수들>

 

 

다음 함수들을 통해서 어디서 메시지가 왔고 어느 게이트로 도착했는지(혹은 도착할 것인지)를 알 수 있다.

 

<함수명을 보면 어떠한 기능을 하는지 유추가 가능하다>

 

 

또한 편의 기능으로써 어느 게이트에 도착했는지, 해당 index는 어떻게 되는지 등의 여부를 판별할 수 있는 함수도 존재한다.

 

<packet이 해당 Gate로, 해당 index로 도착했는지 그 여부를 알 수 있게 해주는 함수, 써본적은 없음> 

 

Self-Message

 

메세지는 종종 시간 만료를 나타내기 위해 주기적으로 발생하는 타이머처럼 내부 이벤트를 나타내기 위해 사용된다. 위와 같은 시나리오로써 사용되는 메시지를 self-message라고 정의하고 그렇지 않으면 cMessage의 평범한 message거나 cMessage class에서 파생된 것이다.

 

말을 어렵게 써놨는데, 쉽게 말해서 scheduledAt()을 이용해 메시지를 보냈다면 isSelfMessage()라는 판별함수를 사용했을 때 true를 반환한다. scheduledAt()을 통해 보내진 메시지는 self-message라고 할 수 있다.

 

<self-message인지, scheduled message인지 판별하는 함수, 경우에 따라 많이 사용된다>

 

 

 

 

 

'IT > OMNET++' 카테고리의 다른 글

[OMNET++] 시뮬레이션 도중 발생한 문제  (0) 2020.04.21
[OMNET++] Messages and Packets(3)  (0) 2020.04.06
[OMNET++] Messages and Packets(1)  (0) 2020.04.04