전송기술

IEEE-1588v2 메세지 흐름

트릭맨 2013. 1. 29. 10:00

IEEE-1588v2 메시지의 처리 순서는 다음과 같다.



1. Slave -> Master 에게 REQUEST_UNICAST_TRANSMISSION Signaling 요청 메시지를 송신한다.
   (Announce 주기를 요청, Lease Duration 포함)

2. Master -> Slave 에게 GRANT_UNICAST_TRANSMISSION Signaling 응답 메시지를 전송한다.

3. Master -> Slave에게 Announce 메시지를 요청한 갯수만큼 초당 n개씩 메시지를 전달한다.

4. Slave는 다시 Master에게 REQUEST_UNICAST_TRANSMISSION Signaling 요청 메시지를 송신한다.
   (Sync 주기를 요청, Lease Duration 포함)

5. Master -> Slave에게 GRANT_UNICAST_TRANSMISSION Signaling 응답 메시지를 전송한다.

6. Master -> Slave에게 Sync 메시지를 요청한 갯수만큼 초당 n개씩 메시지를 전달한다. 
   * TWO_STEP Clock 인 경우에는 Follow_Up 메시지를 이어서 전송한다.

7. Slave -> Master 에게 네트워크 DELAY 보정용 DELAY_REQ 메시지를 송신한다.

8. Master -> Slave 에게 DELAY_RESP 메시지로 응답한다.

9. Lease Duration이 지나면 Slave는 Master에게 CANCEL_UNICAST_TRANSMISSION Signaling 요청 메시지를
   송신하여 세션을 종료한다.

10. Master -> Slave 에게 ACKNOWLEDGE_CANCEL_UNICAST_TRANSMISSION 메시지로 응답하고 세션을
    종료한다.
 

1 ~ 10 번과정을 반복하여 Slave는 Master의 클럭으로 동기화한다.

---8< --- Cut Here --- >8 ---

/* TLV Types */

#define PTP_V2_TLV_TYPE_RESERVED 0x0000
#define PTP_V2_TLV_TYPE_MANAGEMENT 0x0001
#define PTP_V2_TLV_TYPE_MANAGEMENT_ERROR_STATUS 0x0002
#define PTP_V2_TLV_TYPE_ORGANIZATION_EXTENSION 0x0003
#define PTP_V2_TLV_TYPE_REQUEST_UNICAST_TRANSMISSION        0x0004
#define PTP_V2_TLV_TYPE_GRANT_UNICAST_TRANSMISSION 0x0005
#define PTP_V2_TLV_TYPE_CANCEL_UNICAST_TRANSMISSION 0x0006
#define PTP_V2_TLV_TYPE_ACKNOWLEDGE_CANCEL_UNICAST_TRANSMISSION 0x0007
#define PTP_V2_TLV_TYPE_PATH_TRACE 0x0008
#define PTP_V2_TLV_TYPE_ALTERNATE_TIME_OFFSET_INDICATOR        0x0009
#define PTP_V2_TLV_TYPE_AUTHENTICATION 0x2000
#define PTP_V2_TLV_TYPE_AUTHENTICATION_CHALLENGE 0x2001
#define PTP_V2_TLV_TYPE_SECURITY_ASSOCIATION_UPDATE 0x2002
#define PTP_V2_TLV_TYPE_CUM_FREQ_SCALE_FACTOR_OFFSET        0x2003

---8< --- Cut Here --- >8 ---

* 아래 그림은 SLAVE -> MASTER tlvType이 4인 REQUEST_UNICAST_TRANSMISSION 메시지 덤프화면이다. ^^