이 문서에서는 NTP(Network Time Protocol)의 일반적인 문제를 해결하는 방법에 대한 정보를 제공합니다.
시스코는 NTP의 작동 방식과 Network Time Protocol에 대한 지식을 숙지할 것을 권장합니다.
이 문서는 특정 소프트웨어 및 하드웨어 버전으로 한정되지 않습니다.
문서 규칙에 대한 자세한 내용은 Cisco 기술 팁 표기 규칙을 참고하십시오.
NTP(Network Time Protocol)는 컴퓨터를 인터넷 시간 서버 또는 라디오나 위성 수신기, 전화 모뎀 서비스와 같은 기타 소스에 동기화하기 위해 널리 사용됩니다. 일반적으로 LAN에서는 1밀리초 미만, WAN에서는 최대 몇 밀리초의 정확도를 제공합니다. 일반적인 NTP 설정은 정확도와 신뢰성을 높이기 위해 여러 이중화 서버와 다양한 네트워크 경로를 사용합니다.
NTP는 현재 버전의 NTP와 시간을 동기화하기 위해 Marzullo의 알고리즘을 사용합니다. 공용 인터넷을 통해 시간을 10밀리초 이내로 유지할 수 있으며 LAN을 통해 더 나은 성능을 제공할 수 있습니다. NTP 시간 서버는 TCP/IP 제품군 내에서 작동하며 UDP(User Datagram Protocol) 포트 123을 사용합니다.
NTP 서버는 일반적으로 네트워크를 동기화할 수 있는 단일 시간 참조를 사용하는 전용 NTP 디바이스입니다. 이 시간 참조는 대부분의 경우 협정 세계시(UTC) 소스입니다. UTC는 인터넷, 전문 장파 무선 전송 또는 GPS(Global Positioning System) 네트워크를 통한 원자 클럭에 의해 배포되는 전역 시간 규모입니다. 보안, 보호, 정확성, 합법성, 제어를 위해 전용 NTP 서버가 필요합니다.
NTP 알고리즘은 이러한 시간 참조를 사용하여 시스템 또는 네트워크 클럭을 전진 또는 후퇴할 양을 결정합니다. NTP는 타임스탬프 값, 오류 빈도, 안정성을 분석합니다. NTP 서버는 참조 클럭과 해당 품질 추정치를 유지합니다.
이 섹션에서는 NTP에서 발생할 수 있는 몇 가지 일반적인 문제를 나열하고 각 문제에 대한 해결책을 제공합니다.
Cisco 라우터가 Active Directory에 있는 NTP 서버를 사용하도록 구성된 경우 Cisco 라우터는 NTP 서버에서 NTP 패킷을 수신하지 않습니다. 이 문제는 Cisco 라우터가 NTP를 사용하고 Active Directory 도메인이 W32Time 서비스를 사용하기 때문에 발생합니다. W32Time은 시간 동기화를 위해 NTP의 하위 집합인 SNMP(Simple Network Time Protocol)를 사용합니다. SNTP와 NTP는 동일한 네트워크 패킷 형식을 사용합니다. SNTP와 NTP 간의 주요 차이점은 SNTP는 NTP가 제공하는 오류 확인 및 필터링 기능을 제공하지 않는다는 것입니다. Cisco 라우터 및 스위치는 NTP를 사용하며 NTP v3에서 제공하는 모든 오류 확인 및 필터링 기능을 허용합니다.
Windows W32Time은 내부에서 SNTP를 구현하고 있음을 보여줍니다(NTP를 요청함). W32Time과 동기화를 시도하는 Cisco IOS-NTP는 W32Time에 전송하는 고유한 루트-분산 값을 가져오며, 이로 인해 Cisco IOS-NTP가 동기화하는 데 많은 비용이 듭니다. Cisco IOS-NTP의 루트 분산 값이 1000ms보다 높아지므로 자체 동기화가 해제됩니다(클럭 선택 절차). Cisco IOS 기반 라우터는 NTP의 전체 RFC 구현을 실행하므로 SNTP 서버와 동기화되지 않습니다. 이 경우 show ntp associations detail 명령 출력에 서버가 insane, invalid로 플래그 지정되었음이 표시됩니다. 루트 분산 값이 1,000ms를 초과하므로 Cisco IOS NTP 구현에서 연결을 거부합니다. Cisco IOS를 실행하는 라우터가 W32Time 서비스를 실행하는 Windows 시스템인 경우 NTP 서버와 동기화할 수 없습니다. 서버가 동기화되지 않은 경우, 라우터는 서버와 패킷을 주고받을 수 없습니다.
이 문제를 해결하고 Cisco IOS 기반 라우터를 동기화하려면 인터넷에서 권한이 있는 NTP 서버(특정 플랫폼에서 NTPD 또는 GPS를 실행하는 UNIX 시스템)를 사용합니다. 또는 Windows 시스템에서 W32Time 서비스를 실행하지 않도록 선택할 수 있습니다. 대신 NTP 4.x를 사용할 수 있습니다. Windows 2000 버전 이상은 모두 NTP 서버 역할을 할 수 있습니다. 그 다음 네트워크의 다른 시스템에서 NTP 서버를 사용하여 시간을 동기화할 수 있습니다.
라우터가 공용 시간 서버와 동기화할 수 없는 이유는 다음과 같습니다.
UDP 포트 123 패킷의 통과를 허용하지 않는 액세스 제어 목록
clock timezone 및 clock summer-time 명령과 같은 라우터의 잘못된 설정이 라우터에 없음
공용 시간 서버가 다운됨
NT 또는 UNIX의 NTP 서버 소프트웨어가 잘못 구성됨
더 많은 트래픽이 라우터에 있고 더 많은 트래픽이 서버로 이동 중
NTP 마스터 동기화 중단 및 라우터의 주기적 동기화 중단
높은 CPU 사용률
서버와 라우터 간의 상위 오프셋 및 기타 항목( show ntp association detail 명령을 사용하여 확인)
이 오류 메시지는 센서가 해당 계층을 15로 보고하는 서버에 동기화를 시도할 때 나타납니다. 서버 계층값이 15면 센서 계층값이 16이 되는데 이것이 잘못되었기 때문입니다. 따라서 센서는 대신 서버를 거부하고 계층이 너무 높음 - 센서에서 마스터 NTP 서버로의 인디렉션이 너무 많음 오류 메시지를 표시합니다.
NTP는 계층 개념을 사용하여 신뢰할 수 있는 시간 소스에서 시스템을 벗어난 NTP 홉의 수를 설명합니다. 이 오류 메시지는 NTP 서버에서 보고하는 NTP 계층이 너무 높음을 나타냅니다. 계층은 서버가 정밀 참조 클럭에서 얼마나 멀리 제거되었는지를 나타내는 1에서 15 사이의 숫자입니다. 일반적으로 원자 클럭에 직접 동기화되는 시스템은 계층을 1로 보고합니다. 계층 1의 NTP 서버에 동기화되었지만 다른 호스트의 NTP 서버 역할도 하는 호스트는 해당 호스트에 계층을 2로 보고하며, 각 연속 서버 레이어에는 상위 계층보다 한 단계 높은 계층이 있습니다.
Linux 호스트를 NTP 서버로 사용하는 경우 계층을 자동으로 계산하지 않고 보고하는 계층을 하드 코딩합니다. Linux 또는 UNIX 시스템인 경우 NTP 서버는 /etc/ntp.conf 파일로 구성되며, fudge 명령은 계층을 하드 코딩하는 데 사용됩니다. 서버는 항상 fudge 값보다 하나 높은 계층 값을 클라이언트에 보고합니다.
개정 | 게시 날짜 | 의견 |
---|---|---|
1.0 |
07-Oct-2008 |
최초 릴리스 |