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 메시지 덤프화면이다. ^^
