Windows 시간 서비스는 클라이언트 및 서버 시간 동기화 공급자를 위한 플러그 인 모델을 사용하는 구성 요소입니다. Windows에는 두 개의 기본 제공 클라이언트 공급자가 있으며, 사용 가능한 타사 플러그 인이 있습니다. 한 공급자는 NTP(RFC 1305) 또는 MS NTP를 사용하여 로컬 시스템 시간을 NTP 및/또는 MS NTP 규격 참조 서버와 동기화합니다. 다른 공급자는 Hyper-v 용 하 고 Hyper-v 호스트에 가상 컴퓨터 (VM)를 동기화 합니다. 여러 공급자가 존재하는 경우 Windows는 먼저 계층 수준을 사용하여 최상의 공급자를 선택하고, 그 다음으로 루트 지연, 루트 분산 및 시간 오프셋을 차례로 선택합니다.
Note
Windows 시간 서비스에 대한 간략한 개요는 이 고급 개요 비디오를 살펴보세요.
이 항목에서는 정확한 시간 설정과 관련된 다음 항목에 대해 설명합니다.
- Improvements
- Measurements
- 모범 사례
Important
Windows 2016 정확한 시간 문서에서 참조된 추록은 여기에서 다운로드할 수 있습니다. 이 문서에서는 테스트 및 측정 방법에 대한 자세한 정보를 제공합니다.
Note
Windows 시간 공급자 플러그 인 모델은 TechNet에 문서화되어 있습니다.
도메인 계층 구조
도메인 및 독립 실행형 구성을 다르게 작동합니다.
도메인 멤버 인증을 사용 하 여 보안 및 시간 참조의 신뢰성을 보장 하는 보안 NTP 프로토콜을 사용 합니다. 도메인 구성원이 도메인 계층 구조 및 점수 매기기 기준 마스터 시계와 동기화 합니다. 도메인에는 계층적 시간 계층이 있으며, 각 DC는 보다 정확한 시간 계층이 있는 상위 DC를 가리킵니다. 계층은 PDC나 루트 포리스트의 DC 또는 GTIMESERV 도메인 플래그가 있는 DC로 해석되며, 이는 도메인에 적합한 시간 서버를 나타냅니다. 아래의 [GTIMESERV를 사용하는 신뢰할 수 있는 로컬 시간 서비스 지정] 섹션을 참조하세요.
독립 실행형 컴퓨터는 기본적으로 time.windows.com를 사용 하도록 구성 됩니다. 이 이름은 Microsoft가 소유한 리소스를 가리키는 DNS 서버에 의해 확인됩니다. 네트워크 장애는 모든 원격 시간 참조와 마찬가지로 동기화를 방해할 수 있습니다. 네트워크 트래픽 로드 하 고 비대칭 네트워크 경로 시간 동기화의 정확도 줄일 수 있습니다. 1밀리초의 정확도는 원격 시간 원본에 종속될 수 없습니다.
Hyper-V 게스트는 두 개 이상의 Windows 시간 공급자, 즉 호스트 시간과 NTP를 선택할 수 있게 되므로, 게스트로 실행할 때 도메인 또는 독립 실행형 환경에서 서로 다른 동작을 볼 수 있습니다.
Note
도메인 계층 구조 및 채점 시스템에 대한 자세한 내용은 "Windows 시간 서비스란?" 블로그 포스트를 참조하세요.
Note
계층의 NTP와 Hyper-V 공급자에서 사용되는 개념이며, 해당 값은 계층 구조에서 시계의 위치를 나타냅니다. 계층 1은 최상위 시계용으로 예약되어 있으며 계층 0은 정확하다고 간주되는 하드웨어용으로 예약되어 있으며, 관련된 지연은 거의 또는 전혀 없는 것으로 간주됩니다. 계층 2는 계층 1 서버와 통신하고, 계층 3은 계층 2와 통신합니다. 하위 계층이 더 정확한 시계를 나타내는 경우가 많지만, 불일치가 발생할 수 있습니다. 또한 W32time은 시간 계층 15 이하의 시간만 수용합니다. 클라이언트의 계층값을 확인하려면 w32tm /query /status를 사용하세요.
정확한 시간에 대한 중요한 요인
정확한 시간에 대 한 모든 경우는 다음과 같이 세 가지 중요 한 요인이 있습니다.
- 안정적인 소스 클록 - 도메인 내 소스 시계는 안정적이고 정확해야 합니다. 이는 일반적으로 GPS 장치를 설치하거나 #3을 고려하여 계층 1 소스를 참조하는 것을 의미합니다. 비유적으로 말하자면, 물 위에 두 배가 있을 때, 한 배의 고도를 다른 배에 비해 측정하려면, 기준이 되는 배가 매우 안정적이고 움직이지 않을 때 가장 정확합니다. 시간적으로도 동일한데 소스 시계가 안정적이지 않으면 동기화된 시계의 전체 체인은 각 단계에서 영향을 받고 확대됩니다. 또한 연결 중단이 시간 동기화를 방해하기 때문에 액세스할 수 있어야 합니다. 마지막으로 안전해야 합니다. 시간 참조가 적절하게 유지되지 않거나 잠재적으로 악의적인 당사자에 의해 운영되지 않은 경우, 도메인을 시간 기반 공격에 노출시킬 수 있습니다.
- 안정적인 클라이언트 시계 - 안정적인 클라이언트 시계는 발진기의 자연스러운 드리프트가 제어 가능함을 보장합니다. NTP는 여러 NTP 서버에서 얻은 여러 샘플을 사용하여 로컬 컴퓨터의 시계를 조정하고 동기화합니다. 시간 변경 단계를 거치지 않고 정확한 시간에 빠르게 접근하고 NTP 요청 간에 정확한 시간을 유지하기 위해 로컬 시계를 느리게 하거나 빠르게 합니다. 그러나 클라이언트 컴퓨터 시계의 오실레이터가 안정적이지 않으면 조정 사이에 더 많은 변동이 발생할 수 있으며 Windows가 시계를 조정하는 데 사용하는 알고리즘이 정확하게 작동하지 않습니다. 일부 경우에 정확한 시간에 대 한 펌웨어 업데이트가 필요할 수 있습니다.
- 대칭 NTP 통신 - NTP 통신의 연결이 대칭이어야 합니다. NTP는 계산을 사용하여 네트워크 경로가 대칭이라고 가정하는 시간을 조정합니다. NTP 패킷이 서버로 가는 경로와 다른 경로를 통해 돌아오면, 정확도가 영향을 받습니다. 예를 들어, 네트워크 토폴로지 변경 또는 서로 다른 인터페이스 속도를 가진 장치를 통한 패킷 경로가 변경될 수 있습니다.
배터리로 작동하는 모바일 장치든 휴대용 장치든, 다양한 전략을 고려해야 합니다. 우리가 권장하는 바에 따르면, 정확한 시간을 유지하기 위해 시계는 1초마다 한번씩 조정되어야 하며, 이는 시계 업데이트 빈도와 관련이 있습니다. 이 설정은 예상보다 더 많은 배터리 전력을 소모하며, 이러한 디바이스에 대해 Windows의 전력 절약 모드를 방해할 수 있습니다. 또한 배터리 구동 디바이스에는 모든 애플리케이션의 실행을 중지하는 특정 전원 모드가 있으며, 이는 시계를 조절하고 정확한 시간을 유지하는 W32time의 기능을 방해합니다. 모바일 기기의 시계는 처음부터 아주 정확하지 않을 수 있습니다. 주변 환경 조건은 시계의 정확도에 영향을 미치며, 모바일 기기는 다양한 환경 조건 사이를 이동하면서 시각을 정확하게 유지하는 능력이 방해받을 수 있습니다. Microsoft는 배터리로 구동되는 휴대용 디바이스를 높은 정확도 설정으로 설정하지 않기를 권장합니다.
시간이 중요 한 이유는 무엇입니까?
여러 가지 이유가 정확한 시간이 필요할 수 있습니다. Windows의 일반적인 경우는 클라이언트와 서버 사이에 5분의 시간 정확도를 요구하는 Kerberos입니다. 그러나 시간의 정확도가 영향을 받을 수 있는 다른 여러 분야가 있습니다.
- 다음과 같은 정부 규제:
- 미국에서 FINRA의 50 밀리초 정확도
- 1 ms ESMA (MiFID II) EU에 있습니다.
- 암호화 알고리즘
- 문서 Db 및 클러스터/SQL/Exchange 같은 분산된 시스템
- Bitcoin 트랜잭션에 대 한 Blockchain 프레임 워크
- 분산된 로그 및 위협 분석
- Active Directory 복제
- PCI (결제 카드 산업), 현재 1초 정확도