PTP(Precision Time Protocol)는 네트워크로 연결된 측정·제어 시스템의 클럭들을 정밀 동기화하기 위한 표준 프로토콜로, IEEE 1588이 규정한다 — 정밀도·안정도가 저마다 다른 이기종 클럭들이 하나의 그랜드마스터 클럭에 서브마이크로초 수준으로 맞춰지도록 설계됐다[1]. Ethernet AVB가 시간 동기화 축으로 쓰는 gPTP는 이 프로토콜의 특정 프로필이다.
클럭 계층과 BMCA
PTP 네트워크는 마스터-슬레이브 계층 구조를 이룬다. 트리 최상위에서 시각 기준을 제공하는 클럭이 그랜드마스터이고, 그 아래 각 세그먼트에서 시각을 내보내는 쪽이 마스터, 이를 받아 맞추는 쪽이 슬레이브다. 후보 클럭이 여럿일 때 어느 클럭이 그랜드마스터가 될지는 각 클럭이 광고하는 우선순위·클럭 등급·정확도 같은 품질 속성을 비교해 자동으로 정하는데, 이 분산 알고리즘이 BMCA(Best Master Clock Algorithm)다 — 모든 노드가 같은 속성 집합을 비교하므로 별도 조정 없이 네트워크 전체가 같은 그랜드마스터에 합의한다[1].
메시지 교환과 오프셋·지연 계산
슬레이브가 자신의 클럭을 맞추려면 마스터와의 시각 차이(오프셋)와 둘 사이의 네트워크 전달 지연을 모두 알아야 한다. PTP는 이 두 값을 Sync·Follow_Up·Delay_Req·Delay_Resp 네 메시지의 왕복 교환으로 구한다 — 마스터가 슬레이브로 Sync를 보내면(필요시 정확한 송신 시각을 뒤따르는 Follow_Up에 담아), 슬레이브도 Delay_Req로 응답해 마스터로부터 수신 시각을 돌려받는다[1].
마스터가 Sync를 보낸 시각을 , 슬레이브가 이를 받은 시각을 , 슬레이브가 Delay_Req를 보낸 시각을 , 마스터가 이를 받은 시각을 라 하면 — 왕복 경로의 전달 지연이 대칭이라는 가정 아래 지연과 오프셋은 다음과 같이 구해진다[1].
클럭 종류: Ordinary·Boundary·Transparent Clock
PTP 노드는 역할에 따라 세 클럭 유형으로 나뉜다. 포트가 하나뿐이라 마스터 아니면 슬레이브로만 동작하는 클럭이 Ordinary Clock(OC)이고, 포트를 여러 개 가져 상류 세그먼트에는 슬레이브로, 하류 세그먼트들에는 마스터로 동작해 시각을 중계하는 클럭이 Boundary Clock(BC)이다[1]. 이와 달리 Transparent Clock(TC)은 PTP 도메인에 마스터·슬레이브로 참여하지 않고, 메시지가 통과하며 스위치 내부에 머무는 시간(residence time)을 측정해 보정 필드에 누적하기만 한다 — 스위치를 지날 때 생기는 처리 지연을 슬레이브가 오프셋 계산에서 미리 빼낼 수 있게 해 준다[2].
TC는 이 residence time을 전달하는 방식에 따라 다시 나뉜다. End-to-End(E2E) TC는 Sync·Delay_Req 경로에서 측정한 residence time만 누적해 Follow_Up에 실어 보내고, Peer-to-Peer(P2P) TC는 여기에 각 링크 구간의 전파 지연까지 별도의 Pdelay_Req/Pdelay_Resp 교환으로 측정해 함께 보정한다[2].
PTPv1에서 PTPv2로
초기 버전인 PTPv1(IEEE 1588-2002)은 Boundary Clock을 여러 단 거치는 네트워크에서 각 단의 측정 오차가 누적돼 하위 노드로 갈수록 지터가 커지는 문제가 있었다. IEEE 1588-2008(PTPv2)은 Transparent Clock을 도입해 이 문제를 해결했다 — 스위치가 자신의 처리 지연을 보정 필드로 알려 주므로, 다단 스위칭 구간을 거쳐도 오차가 쌓이지 않는다[2]. 이 밖에도 PTPv2는 그랜드마스터 후보 정보를 Sync 메시지가 아닌 별도의 Announce 메시지로 분리해 Sync 메시지를 더 가볍고 빈번하게 보낼 수 있게 했고, 유니캐스트 옵션을 추가했으며, 정밀도를 서브나노초 수준까지 끌어올렸다[1].
타임스탬프 정밀도: 소프트웨어 대 하드웨어
PTP 메시지의 송수신 시각을 어느 계층에서 타임스탬프하는지가 실제 달성 가능한 정밀도를 좌우한다. 애플리케이션 계층에서 소프트웨어로 타임스탬프하면 운영체제의 인터럽트·큐잉 지연이 그대로 섞여 들어가지만, MAC과 PHY 경계에서 전용 하드웨어가 타임스탬프를 찍으면 이런 운영체제 지연을 배제해 훨씬 높은 정밀도를 낼 수 있다[3].