Doctor Pepper

NTP(Network Time Protocol) 본문

자격증/CCNA

NTP(Network Time Protocol)

Doctor Pepper 2024. 10. 19. 01:33

 

1. NTP(Network Time Protocol)

 컴퓨터나 스마트폰은 항상 정확한 시간을 표시하지만, 실제로는 시간이 지남에 따라 장치 간의 시계가 조금씩 어긋날 수 있다. 특히 서버와 네트워크 장비에서는 로그를 기록할 때 이벤트 발생 시간을 타임스탬프로 남기는데, 만약 각 장치의 시간이 다르면 로그의 시간 순서를 정확하게 파악할 수 없게 된다. 이는 데이터의 일관성을 보장하고 다양한 시스템 간의 상호작용을 원활하게 하는 데 큰 문제가 될 수 있다.

 

 

 따라서, 컴퓨터와 네트워크 장비는 항상 정확한 시간을 유지해야 하며, 이를 위해 NTP(Network Time Protocol)이라는 프로토콜을 사용한다. NTP를 통해 인터넷이나 LAN에 존재하는 NTP 서버와 시간을 동기화함으로써 각 장치는 정확한 시간을 유지할 수 있다.

 

 NTP는 다양한 네트워크 장비와 컴퓨터의 시계를 동기화하여 시간 정확성을 유지하는 것을 목표로 한다. 시간 동기화는 분산 시스템, 데이터베이스, 로그 파일, 실시간 데이터 처리 등에서 중요한 역할을 하며, 올바른 시간 설정은 시스템의 신뢰성을 높이고, 여러 장비 간의 로그 분석을 효율적으로 수행할 수 있도록 돕는다.

 

 결국, NTP를 활용하여 시간 동기화를 자동화함으로써, 수동으로 장치의 시간을 정확히 맞추는 어려움을 덜고, 각 장치 간의 시간 일관성을 유지할 수 있게 된다.

 

2. NTP 계층 구조

 NTP(Network Time Protocol)에서는 NTP 서버와 NTP 클라이언트가 서로 통신하여, NTP 서버로부터 받은 시간 정보를 바탕으로 클라이언트의 시간을 수정한다. NTP 서버가 보내는 정보에는 서버의 현재 시간뿐만 아니라, 네트워크 지연 및 서버 측 처리에 걸리는 시간도 고려된 정보가 포함되어 있다. 이를 통해 클라이언트는 보다 정확한 시간을 추정하고 설정할 수 있습니다. NTP는 UDP 프로토콜의 포트 번호 123을 사용한다.

 

 NTP 서버는 계층 구조로 동작하며, 각 계층을 나타내는 값을 스트라텀(stratum)이라고 한다. 스트라텀은 0부터 15까지 정의되어 있으며, 각 스트라텀 번호는 서버의 정확성과 신뢰성을 나타낸다.

  • 스트라텀 0: 원자시계나 GPS와 같은 매우 정밀한 시간을 유지하는 매체를 의미하며, 이러한 장비를 일반적으로 reference clock이라고 부른다.
  • 스트라텀 1: 스트라텀 0과 동기화되는 NTP 서버이다.
  • 스트라텀 2: 스트라텀 1과 동기화되는 서버로, 이와 같은 방식으로 스트라텀 번호는 서버를 경유할 때마다 증가한다.

 국내외에서 다양한 기관이 스트라텀 1 또는 2의 NTP 서버를 공개하고 있습니다. 한국에서는 한국표준과학연구원(KRISS, time2.kriss.re.kr)이나 LG유플러스(time.bora.net) 등의 NTP 서버를 무료로 이용할 수 있다.

 

 LAN 내에서 여러 서버나 네트워크 장비를 운용하는 경우, 외부 NTP 서버와 동기화하는 장치를 한 대 준비하고, 다른 장치들은 이 NTP 서버에 대해 동기화하는 구성을 취할 수 있다. 이러한 방식으로 내부 네트워크의 모든 장비가 일관된 시간을 유지할 수 있다.

NITZ
(Network Identity
and Time Zone)
스마트폰에서 NTP 대신 사용하는 표준 중 하나임.
NITZ는 통신사로부터 제공되는 시간 정보를 기지국을 통해 수신하여, 스마트폰의 시간을 자동으로 보정하는 방식임.
이는 특히 이동통신 네트워크를 사용하는 기기에서 유용함.
일본의 경우, 모든 주요 통신사에서 NITZ를 지원하며, MVNO(가상 이동통신망 사업자)를 포함한 다양한 회선에서도 NITZ 표준을 사용하여 시간을 동기화할 수 있음.