1049. NTP / GPS 동기화 - Network Time Protocol 인터넷 표준 시각 동기 계층적 스트라텀(Stratum) 구조 밀리초 동기화 GNSS 원자시계 결합망

핵심 인사이트: 세상의 모든 컴퓨터 시계가 제각각 돌아가면 로그 기록 순서가 엉망이 되어 해커를 잡을 수 없고, 은행 결제가 터진다. "전 세계 수십억 대의 컴퓨터 시간을 어떻게 1초의 오차도 없이 맞출까? 우주에 떠 있는 인공위성(GPS) 안에는 지구상에서 가장 100% 완벽한 시계인 '원자시계'가 들어있다! 저 위성한테 절대 시간을 전파로 받아오는 큰 서버(Stratum 1)들을 지구 곳곳에 세워두고, 일반 컴퓨터들은 윈도우 부팅할 때마다 그 서버에 몰래 접속해서 시간을 훔쳐 와서 자기 시계를 맞추자!" 인터넷을 지탱하는 거대한 피라미드형 다단계 시간 릴레이, NTP와 GPS의 동기화다.

Ⅰ. 컴퓨터 하드웨어 시계의 저주 (RTC의 오차)

  • 컴퓨터 안에는 수은 건전지로 돌아가는 조그만 시계(RTC, Real Time Clock) 칩이 있습니다.
  • 이 싸구려 칩은 수정 발진자를 쓰기 때문에 기온이 변하거나 건전지가 닳으면 하루에 몇 초씩 시간이 멋대로 빨라지거나 느려지는 끔찍한 오차(Clock Drift)를 냅니다. 서버 2대의 시계가 1분 차이 나면 데이터베이스 동기화가 박살이 납니다.

Ⅱ. 100% 절대 시간의 출처: GPS (GNSS) 🌟

시간 동기화의 피라미드 꼭대기, 절대 권력자입니다.

  • 우주에 떠 있는 30여 개의 GPS 인공위성들 뱃속에는 무려 수만 년에 1초 오차가 나는 완벽한 '세슘 원자시계'가 박혀있습니다.
  • GPS 위성은 이 절대 시간을 전파에 실어 계속 지구로 쏴 내립니다.
  • 지구에 있는 국가 표준 서버(한국표준과학연구원 타임 서버 등)는 지붕에 GPS 안테나를 달아놓고 이 우주 전파를 받아서 **지구상의 절대 시간(UTC)**을 확정합니다.

Ⅲ. NTP (Network Time Protocol)의 개념과 아키텍처 🌟

1048번 PTP가 나노초(10억분의 1초) 강박증 환자라면, NTP는 적당히 밀리초(0.001초)만 맞춰도 감사한 일반 인터넷 환경의 갓성비 표준입니다.

  • 개념: 인터넷망에 물린 컴퓨터들의 시간을 절대 시간(UTC)으로 동기화시키기 위해 UDP 기반(포트 123)으로 통신하는 30년 넘은 고전적이고 강력한 글로벌 시간 동기화 프로토콜입니다.

스트라텀 (Stratum) 계층 구조 (시험 단골) 🌟 핵심 🌟

NTP망은 10억 대의 PC가 하나의 원자시계 서버로 몰려들어 서버가 터지는 걸 막기 위해, 거대한 **피라미드 다단계 구조(계층형)**로 짜여 있습니다.

  • Stratum 0 (절대 신): GPS 원자시계 자체입니다. 네트워크 통신 기능이 없는 순수 하드웨어 시계입니다.
  • Stratum 1 (1차 서버): GPS 안테나(Stratum 0)를 전선으로 직접 꽂아 직빵으로 절대 시간을 받아오는 극강의 정확도를 가진 최상위 컴퓨터 타임 서버들입니다. (국가 기관 등)
  • Stratum 2 (중간 도매상): 수만 대의 일반 PC가 Stratum 1에 몰리면 뻗으니까, 방패막이로 세워둔 중간 타임 서버들입니다. 얘네들은 인터넷(LAN)을 통해 Stratum 1에게 시간을 물어보고(동기화), 자기가 다시 하위 서버들에게 뿌립니다.
  • Stratum 3 ~ 15 (하위 소매상 및 개인 PC): 계속 다단계로 내려가며 우리 집 윈도우 PC는 대략 Stratum 3이나 4급 서버(time.windows.com)에 접속해 시간을 맞춰옵니다. (Stratum 번호가 16이면 동기화 불가를 뜻합니다.)

Ⅳ. NTP의 통신 방식과 오차(Delay) 보정 꼼수

  • 내 PC가 타임 서버에 "지금 몇 시야?" 물어봅니다. 서버가 "3시 정각!" 대답했는데 우리 집에 패킷이 도착할 때까지 인터넷이 막혀서 1초가 걸렸습니다. 나는 3시 1초에 3시로 맞추는 오차가 생깁니다.
  • 오차 보정 마법 (알고리즘): NTP는 편지를 한 번 보내고 마는 게 아닙니다. 내 PC가 편지를 보낸 시간($T_1$), 서버가 받은 시간($T_2$), 서버가 답장 쏜 시간($T_3$), 내 PC가 최종 답장 받은 시간($T_4$) 4가지 도장을 쾅쾅 찍어 왕복합니다.
  • 내 PC의 NTP 데몬(소프트웨어)은 이 4가지 숫자를 수학 공식에 넣어, '인터넷망에서 패킷이 날아오느라 허공에서 버린 편도 지연 시간(Delay)'을 기가 막히게 역산하여 빼버립니다. 이 꼼수 덕분에 일반 인터넷망에서도 수십 밀리초(ms) 이내의 쓸만한 동기화가 성립되는 것입니다.

📢 섹션 요약 비유: 컴퓨터의 자체 시계는 밥을 제때 안 주면 하루에 1분씩 오차가 나는 **'싸구려 태엽 시계'**입니다. 이 시계를 전 세계인이 똑같이 맞추기 위한 NTP 피라미드 아키텍처는 **'거대한 다단계 시계 맞추기 전파망'**입니다. 맨 꼭대기(Stratum 0)에는 절대 틀리지 않는 **'우주 GPS 원자시계'**가 있습니다. 한국표준과학연구원(Stratum 1 대장)은 망원경으로 그 우주 시계를 쳐다보며 자기 손목시계를 정확히 맞춥니다. KT 통신사 서버(Stratum 2 중간 보스)는 표준연구원 대장에게 전화를 걸어 "대장님 지금 몇 시입니까?" 묻고 자기 시계를 맞춥니다. 우리 집 윈도우 PC(Stratum 3 쫄따구)는 KT 서버에 다시 전화해서 시간을 물어보고 내 컴퓨터 시계를 고칩니다. 전화 통화를 하느라 발생하는 목소리 전달 딜레이조차 수학 공식으로 다 깎아내어, 전 세계 수십억 대의 싸구려 태엽 시계들이 다단계 릴레이로 우주의 절대 시간과 0.01초 차이로 심장을 같이 뛰게 만드는 인터넷의 위대한 시계탑 시스템입니다.