PTP(Precision Time Protocol)는 IEEE 1588이 정하는 프로토콜로, 패킷 네트워크에 연결된 시스템의 시계를 정밀하게 맞춘다.[1][2] 기준이 되는 시계가 시각을 담은 메시지를 보내고, 받는 쪽은 메시지가 오간 시각으로 자기 시계와의 차이를 구해 고친다.[3][4]

시계의 계층

PTP 네트워크의 시계들은 master–slave 계층을 이룬다.[3][4] 네트워크의 모든 시계가 따르는 기준 시계를 grandmaster라 한다.[4][5] 어느 시계가 grandmaster가 될지는 BMCA(Best Master Clock Algorithm)가 정한다.[4][6]

IEEE 1588g-2022는 구현이나 PTP 프로파일에서 master와 slave 대신 쓸 수 있는 대체 용어를 정한다.[7] Microchip 앱노트 AN6354는 master–slave 계층을 timeTransmitter–timeReceiver 계층이라 부르고[4], IEEE 802.1AS-2025는 timing source를 best timeTransmitter라 부른다.[8]

시계들은 Announce 메시지로 우선순위, 클럭 등급 같은 자기 속성을 알린다. BMCA는 포트마다 돌며, 받은 Announce의 속성을 비교해 포트의 역할을 정한다.[5][9] BMCA는 되풀이해 돌므로, 노드가 더해지거나 빠져 네트워크 구성이 바뀌면 best master를 다시 고른다.[3][5]

시계는 포트 수와 역할에 따라 나뉜다.[5][10]

  • ordinary clock: PTP 포트가 하나인 시계. master가 되어 시각을 내주거나, slave로서 다른 시계에 동기화한다.
  • boundary clock: PTP 포트가 여럿인 시계. 한 포트로 상위 master에 동기화하고, 나머지 포트에서는 master로서 하위 시계에 시각을 전한다.
  • transparent clock: master나 slave가 되지 않는다. PTP 메시지가 자기를 지나는 데 걸린 체류 시간을 재어 메시지의 correctionField에 더해 넘긴다.[5][10]

Microchip ZLS30390 API(Application Programming Interface)는 ordinary clock으로 동작할 때 포트 상태로 MASTER, PASSIVE, SLAVE를 둔다.[11]

Micrel 백서에 따르면 boundary clock을 여러 단 이으면 단마다 제어 루프 오차가 더해져 동기화 지터가 커진다. transparent clock은 단마다 동기화를 새로 하지 않고 체류 시간만 보정해 넘기므로, boundary clock을 이을 때보다 오차가 덜 쌓인다.[12]

메시지

PTP 메시지는 두 부류다. 이벤트 메시지는 보내고 받을 때 타임스탬프를 찍는 메시지로 Sync, Delay_Req, Pdelay_Req, Pdelay_Resp가 있다. 일반 메시지는 타임스탬프를 찍지 않으며 Announce, Follow_Up, Delay_Resp, Pdelay_Resp_Follow_Up, Signaling, Management가 있다.[11][13]

지연 요청-응답

master와 slave는 네 시각을 모아 경로 지연과 시계 차이를 구한다.[4][14]

  1. master가 Sync를 보낸 시각이 , slave가 받은 시각이 다.
  2. slave가 Delay_Req를 보낸 시각이 , master가 받은 시각이 다.
  3. master는 Delay_Resp에 를 실어 돌려준다.[4][14]

이 방식은 두 방향의 경로 지연이 같다고 가정한다.[6][13] 평균 경로 지연 는 두 방향 시간 차의 합의 절반이고, slave 시계가 master 시계보다 앞선 양인 offset 는 두 방향 시간 차의 차의 절반이다.[3][4]

slave는 구한 만큼 자기 시계를 고치고, 이 교환을 되풀이해 동기를 유지한다.[3][4]

PTP는 두 방향 경로 지연의 차이를 보정하지 못한다. 그래서 지연이 비대칭이면 그만큼 동기화 오차가 생긴다.[6][15] gPTP에서 링크의 두 방향 전파 시간이 다를 때 생기는 오차는 두 전파 시간 차의 절반이고, 이 오차는 홉을 거듭하며 쌓이거나 부호가 서로 다르면 상쇄된다.[8]

One-step과 two-step

one-step 방식에서는 Sync가 나가는 순간 하드웨어가 송신 시각 을 Sync 메시지 안에 써 넣는다. two-step 방식은 Sync를 먼저 보내고, 실제 송신 시각 을 뒤따르는 Follow_Up에 실어 보낸다.[3][13]

피어 지연

지연 요청-응답은 master와 slave 사이 경로 전체의 지연을 한 번에 잰다. 피어 지연 방식은 직접 이어진 두 포트 사이의 링크마다 Pdelay_Req, Pdelay_Resp, Pdelay_Resp_Follow_Up으로 지연을 따로 잰다.[6][10] peer-to-peer transparent clock은 이렇게 잰 상류 링크 지연과 자기 체류 시간을 correctionField에 더한다.[5][10]

하드웨어 타임스탬프

타임스탬프를 소프트웨어에서 찍으면 운영체제와 프로토콜 스택의 들쭉날쭉한 지연이 섞여 정밀도가 떨어진다.[3][15] 그래서 정밀한 구현은 MAC(Medium Access Control)이나 PHY 가까이의 하드웨어가 프레임이 오가는 순간의 시각을 찍는다.[3][13] TI 앱노트 AN-1728에 따르면 소프트웨어만으로 구현한 PTP는 단일 링크에서 100 µs 안팎의 동기화에 이르고, 나노초 영역의 동기화에는 하드웨어 지원이 필요하다.[15]

프로파일

IEEE 1588-2019는 응용 분야에 맞춘 설정을 프로파일로 정하게 한다.[1] IEEE 802.1AS-2025는 해당하는 곳에 IEEE 1588 규격을 쓰도록 정하고[8], 그 시각 동기화 프로토콜을 gPTP라 부른다.[16] gPTP는 IEEE 1588-2019의 PTP에 바탕을 두며, 특정한 구성에서는 IEEE 1588-2019의 프로파일이다. 전이중 이더넷 링크에서 gPTP는 피어 지연 방식을 요구하고, IEEE 1588-2019는 종단 간(end-to-end) 지연 측정도 허용한다. 같은 링크에서 gPTP는 two-step 방식을 요구하고, Sync의 one-step 방식은 선택으로 둔다.[8]

[1]
IEEE, “IEEE 1588-2019 IEEE Standard for a Precision Clock Synchronization Protocol for Networked Measurement and Control Systems.” 2019. Accessed: Sep. 29, 2026. [Online]. Available: https://web.archive.org/web/20260914180756/https://standards.ieee.org/ieee/1588/6825/
[2]
IEEE 1588 Working Group, “Changes to IEEE 1588 in the 2019 edition compared to the 2008 edition.” 2020. Accessed: Sep. 29, 2026. [Online]. Available: https://sagroups.ieee.org/1588/wp-content/uploads/sites/144/2020/04/IEEE-1588-2019-changes.pdf
[3]
“AN12149 Implementing an IEEE 1588 V2 on i.MX RT Using PTPd, FreeRTOS, and lwIP TCP/IP Stack,” NXP Semiconductors, 2025. Accessed: Sep. 29, 2026. [Online]. Available: https://web.archive.org/web/20251104203112/https://www.nxp.com/docs/en/nxp/application-notes/AN12149.pdf
[4]
“AN6354 Implementing IEEE 1588-2008 with PCI11010/PCI11414,” Microchip Technology, 2026. Accessed: Sep. 29, 2026. [Online]. Available: https://ww1.microchip.com/downloads/aemDocuments/documents/UNG/ApplicationNotes/ApplicationNotes/AN6354-Implementing-IEEE-1588-2008-with-PCI11010-PCI11414-DS00006354.pdf
[5]
“Overview of IEEE 802.1AS Generalized Precision Time Protocol (gPTP) — Intel Edge Controls for Industrial 3.3,” Intel, 2024. Accessed: Sep. 29, 2026. [Online]. Available: https://eci.intel.com/docs/3.3/development/performance/tsnrefsw/tsn-overview.html
[6]
J. Wu and R. Peloquin, “Synchronizing Device Clocks Using IEEE 1588 and Blackfin Embedded Processors,” Analog Dialogue, vol. 43, 2009, Accessed: Sep. 29, 2026. [Online]. Available: https://web.archive.org/web/20260517063832/https://www.analog.com/en/resources/analog-dialogue/articles/clock-synchro-with-ieee-1588-and-blackfin.html
[7]
IEEE, “IEEE 1588g-2022 IEEE Standard for a Precision Clock Synchronization Protocol for Networked Measurement and Control Systems — Amendment 2: Master-Slave Optional Alternative Terminology.” 2022. Accessed: Sep. 29, 2026. [Online]. Available: https://web.archive.org/web/20250812052217/https://standards.ieee.org/ieee/1588g/10478/
[8]
IEEE, “IEEE 802.1AS-2025 IEEE Standard for Local and Metropolitan Area Networks — Timing and Synchronization for Time-Sensitive Applications.” 2025. Accessed: Sep. 29, 2026. [Online]. Available: https://web.archive.org/web/20260610222839/https://standards.ieee.org/ieee/802.1AS/11968/
[9]
“AN1295 PTP Configuration Guide,” Microchip Technology, 2026. Accessed: Sep. 29, 2026. [Online]. Available: https://ww1.microchip.com/downloads/aemDocuments/documents/UNG/ApplicationNotes/ApplicationNotes/AN1295-PTP_Configuration_Guide.pdf
[10]
“AN-1838 IEEE 1588 Boundary Clock and Transparent Clock Implementation Using the DP83640,” Texas Instruments, 2013. Accessed: Sep. 29, 2026. [Online]. Available: https://www.ti.com/lit/an/snla104a/snla104a.pdf
[11]
“AN4025 IEEE 1588-2019 Edition 3 Conformance Information,” Microchip Technology, 2022. Accessed: Sep. 29, 2026. [Online]. Available: https://ww1.microchip.com/downloads/aemDocuments/documents/TCG/ApplicationNotes/ApplicationNotes/AN4025-IEEE-1588-2019-Edition-3-Conformance-Information-DS00004025.pdf
[12]
“Get In Sync! IEEE1588v2 Transparent Clock Benefits for Industrial Control Distributed Networks,” Micrel, 2012. Accessed: Sep. 29, 2026. [Online]. Available: https://ww1.microchip.com/downloads/aemDocuments/documents/OTH/ApplicationNotes/ApplicationNotes/GetinSync-WP.pdf
[13]
“Intel Ethernet Controller I210 Datasheet,” Intel, 2019. Accessed: Sep. 29, 2026. [Online]. Available: https://web.archive.org/web/20190622103502/https://www.intel.com/content/dam/www/public/us/en/documents/datasheets/i210-ethernet-controller-datasheet.pdf
[14]
“AN-1963 IEEE 1588 Synchronization Over Standard Networks Using the DP83640,” Texas Instruments, 2013. Accessed: Sep. 29, 2026. [Online]. Available: https://www.ti.com/lit/an/snla116a/snla116a.pdf
[15]
“AN-1728 IEEE 1588 Precision Time Protocol Time Synchronization Performance,” Texas Instruments, 2013. Accessed: Sep. 29, 2026. [Online]. Available: https://www.ti.com/lit/an/snla098a/snla098a.pdf
[16]
IEEE, “IEEE 802.1ASed-2026 IEEE Standard for Local and Metropolitan Area Networks — Timing and Synchronization for Time-Sensitive Applications — Amendment 1: Fault-Tolerant Timing with Time Integrity.” 2026. Accessed: Sep. 29, 2026. [Online]. Available: https://web.archive.org/web/20260517153500/https://standards.ieee.org/ieee/802.1ASed/11749/