본문 바로가기
Computer-Sience

[CS] NTP(Network Time Protocol)

by dev_ss 2024. 11. 19.

 

 


NTP

 

시간은 현대 컴퓨팅 시스템에서 가장 중요한 요소 중 하나이며 분산 시스템, 로그 분석 등 많은 영역에서 정확한 시간 동기화가 필수적으로 요구된다.

 

분산된 환경에서의 시간 동기화를 가능하게 하는 것이 바로 NTP(Network Time Protocol)이다.

 

NTP는 컴퓨터 시스템 간의 시간 동기화를 위하여 개발이 된 네트워킹 프로토콜이다..

 

 

 

 

데이비드 밀스(David L. Mills)가 1985년에 개발한 이후, 현재는 널리 사용되는 인터넷 프로토콜 중 하나이다.

 

주로 UDP 포트 123을 사용하며, Miliseconds 단위의 정확도로 시간을 동기화할 수 있다.

 


동작 원리

 

NTP는 클라이언트와 동기화 서버 간의 패킷을 교환하여 시간을 동기화한다.

 

아래의 4 단계를 거쳐서 동기화가 이루어진다.

 

 

1. 클라이언트가 서버에 시간 요청 패킷 전송

 

2. 서버가 응답 패킷 전송

 

3. 네트워크 지연시간을 계산하여 보정

 

4. 여러 서버의 응답을 비교하여 가장 정확한 시간 선택

 

 

 

지연 시간은 아래와 같이 계산한다.

 

 

1. 클라이언트 -> 서버 (t1: 전송 시간)
2. 클라이언트 <- 서버 (t2: 수신 시간)

 

 

지연시간 = (t2 - t1) / 2

 

 


 

 

 

 

 

반응형

'Computer-Sience' 카테고리의 다른 글

[Database] ORM(Object-Relational Mapping)  (0) 2022.12.23