SW/IoT

시간 서버 구축하기: PTP와 NTP를 이용한 네트워크 시간 동기화

얇은생각 2024. 11. 14. 07:30
반응형

이번 포스팅에서는 네트워크 시간 동기화의 개념과, 나만의 시간 서버를 구축하는 방법에 대해 설명합니다. 특히 PTP(Precision Time Protocol)를 이용해 높은 수준의 시간 정확도를 달성하는 과정과 NTP(Network Time Protocol)를 대체하는 이유를 다룹니다.

 

시간 서버 구축하기: PTP와 NTP를 이용한 네트워크 시간 동기화

 

시간 서버 설치의 필요성

대부분의 컴퓨터와 네트워크 장치는 시간을 얻기 위해 외부 서버와 통신합니다. 하지만 외부에 의존하지 않고 자체 시간 서버를 운영하면 네트워크 내 모든 기기들이 나노초 수준의 시간 정확도를 유지할 수 있습니다.

이를 위해 '타임 비트(Time Beat)'에서 제공한 "오픈 타임 카드(Open Time Card)"를 사용했습니다. 이 장치는 GPS 모듈을 통해 위성에서 신호를 받고, 라즈베리 파이 CM4가 서버 역할을 하여 네트워크 내 모든 장치들을 나노초 수준으로 동기화합니다.

 

기존 시간 동기화 방식: NTP

기존의 NTP(Network Time Protocol)는 인터넷에 있는 다른 서버와 통신해 약 1~10밀리초 수준의 시간 정확도를 제공합니다. 그러나 더 높은 정확도가 필요한 경우, PTP(Precision Time Protocol)가 필요합니다. PTP는 나노초 수준의 정확도를 제공합니다.

 

시간의 역사와 시간 동기화의 필요성

시간 동기화는 전 세계 어디서나 동일한 시간을 공유하기 위해 필요합니다. 시간 측정은 기원전 1500년경 이집트의 해시계에서 시작되었고, 이후 물시계, 기계식 시계, 펜듈럼 시계, 쿼츠 시계, 원자 시계 등 다양한 방식으로 발전해 왔습니다. 1970년대에는 원자 시계를 위성에 탑재하고 GPS를 통해 정확한 시간 신호를 제공하게 되었습니다. 이를 통해 우리가 사용하는 모든 컴퓨터와 장치들이 매우 정확한 시간 동기화를 할 수 있게 되었습니다.

 

PTP와 NTP의 차이점

PTP는 기존의 NTP보다 더 높은 정확도를 제공합니다. 금융 거래나 정밀 산업과 같은 경우에는 나노초 단위의 정확도가 필요합니다. PTP는 네트워크 내에서 하드웨어 타임스탬프 패킷을 사용해 나노초 수준의 시간 정확도를 제공하며, 멀티캐스트 방식을 통해 네트워크 내 장치들이 가장 정확한 시간을 가진 장치를 기준으로 동기화합니다.

또한, PTP는 하드웨어 타임스탬핑을 사용해 소프트웨어로 인한 지연을 제거하고, 네트워크 카드(NIC) 자체에서 시간 동기화를 처리함으로써 더 높은 정확도를 제공합니다. 이를 위해 PTP를 지원하는 네트워크 카드가 필요합니다.

 

시간 서버 구축 과정

'오픈 타임 카드 미니(Open Time Card Mini)'를 사용해 스튜디오에 시간 서버를 구축했습니다. 이 장비는 라즈베리 파이 CM4와 GPS 모듈을 사용하여 매우 정확한 시간 신호를 받습니다. GPS 모듈은 위성에서 원자 시계 신호를 받아 라즈베리 파이로 전달하고, 이를 통해 네트워크 내 다른 장치들에게 정확한 시간을 제공합니다.

라즈베리 파이 CM4는 일반적인 라즈베리 파이 4의 컴팩트한 버전으로, 산업용이나 임베디드 애플리케이션에 사용됩니다. 설치 과정에서 GPS 신호를 제대로 받는 것이 중요하며, 이를 위해 GPS 안테나를 옥외에 설치하여 여러 위성으로부터 신호를 받아 정확한 시간을 동기화했습니다.

 

 

PTP 설정과 타임 비트 소프트웨어

GPS로부터 받은 신호를 바탕으로 라즈베리 파이가 네트워크 시간 서버 역할을 할 수 있도록 타임 비트(Time Beat) 소프트웨어를 사용했습니다. 이 소프트웨어는 PTP 서버와 클라이언트 역할을 모두 수행할 수 있습니다. 라즈베리 파이는 PTP 서버로 동작하며, 네트워크 내 다른 장치들은 이 서버로부터 시간을 동기화합니다.

PTP를 사용하면 네트워크 내에서 그랜드마스터라고 불리는 주요 서버가 가장 정확한 시간을 가지게 됩니다. 이 서버는 네트워크 내 다른 장치들이 신뢰할 수 있는 시간 소스로, 모든 클라이언트 장치들이 이 서버의 시간을 기준으로 동기화됩니다. 이를 통해 네트워크 내 모든 장치들이 나노초 수준의 동기화를 달성할 수 있습니다.

 

 

결론: 나만의 시간 서버 구축의 장점

나만의 시간 서버를 구축하면 외부에 의존하지 않고 네트워크 내 모든 장치들이 정확한 시간을 가질 수 있습니다. 특히 PTP를 통해 나노초 수준의 정확도를 달성함으로써 금융 거래와 같은 정밀도가 요구되는 작업에서도 큰 이점을 얻을 수 있습니다. 또한, 네트워크 보안 측면에서도 외부 서버와의 통신을 줄임으로써 보안성을 강화할 수 있습니다.

반응형