네트워크는 어렵다? 아니! 한드림넷을 만나면 즐겁다! 10장으로 끝내는 네트워크 기초 다지기, Network is Fun! 20번째 주제는 NTP(Network Time Protocol)입니다.
01234567891011
네트워크는 어렵다? 아니! 한드림넷을 만나면 즐겁다!
10장으로 끝내는 네트워크 기초 다지기, Network is Fun! 20번째 주제는 NTP(Network Time Protocol)입니다.
장비에 장애가 발생한 경우, Log를 통해 원인을 찾고 분석하게 됩니다.
(19번째 Syslog편 참고!)
특히 장애가 발생했을 때, Log 정보 중에서 '시간'은 가장 중요한 정보입니다.
만약 장애가 발생했을 때 장비의 시간이 맞지 않으면 발생한 현상을 시간대별로 나열할 수 없고, 정보를 정리할 수도 없습니다.
이러한 이유로 네트워크 장비에 NTP 서버를 지정하여 정확한 시간을 알려주도록 설정합니다.
NTP는 Network Time Protocol의 약자이며, 클라이언트의 시간 요청에 대해 시간을 알려주는 매우 심플한 동작을 합니다.
이러한 동작을 하는 NTP는 신뢰성보다 신속성이 요구되기 때문에 UDP를 사용합니다.
NTP 서버는 'Stratum'이라는 값을 사용한 계층 구조로 되어 있습니다.
Stratum0은 최상위 계층으로 원자 시계나 GPS, 표준 전파 등 오차가 없는 정확한 기본 참조 시계입니다. 계층이 내려갈 때마다 Stratum1, Stratum2 등으로 숫자가 커집니다.
또한 상위 NTP 서버와 시간을 동기화할 수 없는 경우, 하위 NTP 서버와도 시간을 동기화하지 않도록 만들어져 있습니다. 예를 들어, Stratum2인 NTP 서버는 Stratum3의 NTP 서버임과 동시에 Stratum1의 NTP 클라이언트이기도 합니다. 따라서 Stratum1과 시간을 동기화할 수 없으면 Stratum3과도 시간을 동기화하지 않습니다.
모든 서버가 상위 NTP 서버에 접근하여 시간을 동기화할 경우, 부하가 발생하여 서비스에 문제가 발생되기 때문에 부하 분산을 위해 NTP 서버는 계층 구조를 사용합니다.