티스토리 뷰

안녕하세요.

구스입니다.


오늘은 NTP 통신 방식에 대해서 알아볼까 합니다.

먼저 NTP 통신이란 무엇일까요?



NTP 통신 방식 이란?


NTP는 Network Time Protocol의 준말입니다. 먼가 네트워크를 통해서 시간을 동기화 하는 프로토콜일 것 같은 느낌이 Network Time Protocol를 통해서 강력하게 느껴지는 것 같습니다. NTP는 미국 델라웨어 대학에서 개발이 되었으나, 이후 인터넷 표준이 되어 많은 사람들이 쓰고 있습니다. 



정보통신용어 해설 사이트를 기반으로 NTP 통신을 정의하면 아래와 같습니다.


인터넷을 통해 컴퓨터 시간을 최상위 동기 클럭원(Master Clock)에 동기시키는 프로토콜 

- 네트워크 상에 분산된 시간 서버들로부터 클라이언트(호스트,라우터 등)의 동기화


네 맞습니다.


컴퓨터 시간을 설정하는데 있어 필요한 Clock을 최상위 Clock과 동기화하여 여러대의 PC에서도 최상위 Clock을 기반으로 시간을 결정하게 됩니다. 즉 PC에 있는 Local 시간이 아닌 Online을 통해서 시간을 받아오는 것이라고 할 수도 있겠습니다. 





따라서 여러대의 PC 혹은 디바이스의 시간을 인터넷상으로 동기화하여 모든 장비의 시간을 똑같이 만들어주는 통신이라고 볼 수 있겠습니다.

NTP의 경우는 최소 0.001 초단위까지 동기화가 가능합니다.  이를 위해서 UTC 기반으로 이루어집니다. 


간단히 결론을 지어보면, NTP는 인터넷을 통해서 여러 장비에 시간을 동기화 할 수 있다는 것이 되겠네요. 


NTP 통신은 UDP 기반으로 이루어집니다.

따라서 서버에서 브로드캐스팅 방식으로 시간의 정보가 전달이 되며, 이를 호스트가 받아서 시간을 설정하게 됩니다. 서버와 클라이언트의 계층을 표현하기 위해서 NTP는 Stratum이라는 용어를 사용합니다.



일반적으로 Stratum 구조는 트리구조로 이루어지며, 가장 최상위의 서버를 Stratum 0으로 표현을 합니다. (Stratum 0은 원자시계를 의미함)

한국에는 time.kriss.re.kr, ntp.postch.ac.kr과 같은 Stratum 1 버전이 존재하며, 대게 클라이언트는 Stratum 2, 3, 4에 접속을 하여 시간을 받아오게 됩니다. 



NTP 통신 방식의 장점


- 데이터의 손실을 방지한다.

- 로그에 대한 분석이 용이하다.

- 예약된 작업을 정상적으로 가능하게 한다.


NTP 통신 방식의 단점


- 외부 서버를 통해서 시간을 동기화하는 부분으로 인해 보안상의 취약하다. (이를 해결하기 위해서 별도의 Time Server를 이용할 수 있다.)



NTP 통신 방식의 표준은 아래와 같습니다.


ㅇ RFC 5905: Network Time Protocol Version 4: Protocol and Algorithms Specification 

ㅇ RFC 5906: Network Time Protocol Version 4: Autokey Specification 

ㅇ RFC 5907: Definitions of Managed Objects for Network Time Protocol Version 4 (NTPv4) 

ㅇ RFC 5908: Network Time Protocol (NTP) Server Option for DHCPv6



좀더 상세한 자료는 위의 표준을 통해서 확인을 할 수 있을 것으로 생각합니다. 



마지막으로 NTP 통신 방식에 대해서 간략히 정리를 해보도록 합시다.


- NTP는 서버/클라이언트 기반의 프로토콜이다.

- NTP는 시간을 동기화하는데 사용하는 프로토콜이다.

- NTP는 인터넷을 기반으로 UDP 방식를 사용한다.

- NTP는 트리구조로 이루어지며, 대게 클라이언트는 최상위로부터 시간을 받아오는 것이 아니라 2,3,4단계의 서버에서 시간을 가져온다.




이상으로 NTP 통신 방식이란? (Network Time Protocol) 장점, 단점에 대해서 알아보았습니다.

다음에 시간이 되면 NI CompactRIO에서 NTP를 설정하는 방법 알아보도록 하겠습니다.


그럼 이만 줄이겠습니다.


댓글