NTP의 Stratum 계층: 시간 소스의 계층 구조

Stratum이란?

NTP에서 stratum은 시간 소스의 기본 기준 시계로부터의 거리를 나타냅니다. 0에서 15까지의 숫자로 표현되며, 0이 가장 정확(원자 시계, GPS)하고 네트워크를 통한 각 홉마다 1씩 증가합니다. Stratum 16 기기는 비동기화 상태로 간주됩니다.

Stratum 계층 구조

Stratum 0: 기본 기준 소스

이들은 NTP 서버 자체가 아니라 Stratum 1 서버에 타이밍 신호를 제공합니다:

  • 세슘, 루비듐 원자 시계
  • GPS 수신기
  • 라디오 시간 신호 (미국 WWVB, 독일 DCF77, 일본 JJY)

Stratum 1: 기본 타임 서버

GPS 또는 PPS 신호를 통해 Stratum 0에 직접 연결됩니다:

  • time.google.com (GPS + 원자 시계)
  • time.cloudflare.com
  • time.nist.gov (미국 NIST)

Stratum 2: 보조 타임 서버

Stratum 1에서 동기화합니다. 대부분의 조직에서 로컬 NTP 서버로 사용해야 하는 수준입니다. pool.ntp.org 프로젝트가 전 세계에 Stratum 2 서버를 제공합니다.

Stratum 확인하기

# chrony
chronyc tracking | grep Stratum

# ntpq
ntpq -p
# st 열이 stratum 표시
# * = 동기화됨, + = 후보, x = 거짓 참조

내부 NTP 인프라 구축

# /etc/chrony.conf (내부 Stratum 2용)
server time.google.com iburst prefer
server time.cloudflare.com iburst

# 내부 네트워크에서 이 서버로 동기화 허용
allow 10.0.0.0/8

왜 모든 것을 Stratum 1에 동기화하지 않나?

공용 Stratum 1 서버는 해당 정확도가 정말 필요한 경우가 아니면 직접 쿼리하지 말 것을 명시적으로 요청합니다. 대부분의 서버에는 Stratum 2가 충분한 정확도(보통 5ms 미만)를 제공하며 공용 인프라의 부하를 줄입니다.