본문 바로가기
IT 인터넷

SpecialPollInterval 적용 안 되는 이유

by 로맨틱스터디 2025. 7. 10.
728x90
반응형

왜 regedit에 넣었는데도 적용 안 돼?

  • SpecialPollInterval 값 자체는 항상 레지스트리에 존재 가능
  • 그런데:
    • /query /configuration 명령에서 NtpClient 의 SpecialPollInterval 값이 활성 값(Active) 으로 안 뜸
    • 이유: flag 값(0x8)이 없어서 w32time이 이 값을 실제로 안 쓰고 있기 때문

즉, 값은 저장되어 있지만, w32time 서비스가 “안 써!” 라고 무시하는 상태

 

왜 값이 점점 늘어나 보이나?

  • w32time은 가변 polling interval 구조:
    • 초기 sync 성공 → 점점 polling 간격을 늘려서 네트워크 부하 줄임
    • jitter, 지연, 서버 품질 따라 poll 간격 조정
  • flag=0x8 없이 Client 모드(flag=0x1 등)만 쓰면 →
    기본 값(1024초=약 17분)을 시작으로, 점점 더 늘어나서 몇 천 초까지 가기도 함

 

🧪 동작 예제

  • flag=0x9 → 0x8(SPECIAL_INTERVAL) + 0x1(CLIENT)
  • 이렇게 해야 SpecialPollInterval 값(예: 60초)을 무조건 사용
  • flag=0x1만 있으면 → SpecialPollInterval 무시, w32time이 자체 계산으로 poll 간격 설정
  •  

정리

regedit 값은? 단순 데이터, 적용 여부는 flag 설정에 달림
적용되려면? /manualpeerlist 설정 + flag=0x9 필요
왜 값이 늘어나? 기본 클라이언트 모드에선 동적 poll 간격으로 점점 증가

 

✅ 플래그의 의미 (핵심 요약)

NTP 서버 주소 뒤에 붙는 ,0x숫자 값은
w32time 서비스가 이 서버를 어떤 모드로 사용할지 알려주는 설정입니다.


📌 가장 많이 쓰는 값

0x1 CLIENT 모드 (단순 클라이언트) poll interval은 w32time이 자동으로 계산, 동적 증가
0x8 SPECIAL_INTERVAL 모드 (특수 폴링 사용) SpecialPollInterval 값을 무조건 사용 (poll interval 고정)
0x9 CLIENT + SPECIAL_INTERVAL (0x1 + 0x8) 둘 다: 클라이언트로 동작하면서, poll interval은 SpecialPollInterval 값 사용

현실적인 설정 팁

  • 0x8만 쓰면?
    • 제대로 동작하지 않을 수 있음 → 서버랑 대화 자체를 안 하거나 sync 실패하는 사례 많음
    • 이유: CLIENT 플래그 없이 SPECIAL_INTERVAL만 쓰면, 서버를 제대로 피어로 인식 못 하는 버그/특성
  • 그래서 Microsoft 공식 문서/운영자 가이드에서도 권장:
    • 0x9 → CLIENT + SPECIAL_INTERVAL 같이 설정

📍 요약

서버랑 단순 클라이언트로만 sync (poll interval 자동 증가) 0x1 poll interval 자동 계산
서버랑 sync + poll interval 고정 (SpecialPollInterval 값 사용) 0x9 추천
특별히 실험/테스트용으로만 poll interval 강제 0x8 동작 불안정 가능
 

정리

  • 안정성과 실전용: 0x9 (CLIENT + SPECIAL_INTERVAL) → 거의 표준
  • 0x8만 쓰면 이론상 SpecialPollInterval 사용하지만, 서버와 sync가 안 되거나 적용 안 되는 사례 잦음
  • 0x1만 쓰면 poll interval 자동 증가 (SpecialPollInterval 무시)

⚙️ 기본 동작 정리:

ntp.server.com 기본값 0x1 poll interval 자동 증가, SpecialPollInterval 무시
ntp.server.com,0x8 SPECIAL_INTERVAL만 poll interval은 고정, but 동작 불안정 가능
ntp.server.com,0x9 CLIENT+SPECIAL_INTERVAL poll interval 고정, 안정적 동작 (권장)

✅ 왜 안 뜰 수 있나?

w32tm /query /configuration 명령어는
실제 레지스트리에 설정된 값 중에서 시스템에 적용된 값만 보여주는데,
다음과 같은 경우엔 syncfromflags 항목이 안 보일 수 있어요:

아직 수동으로 설정한 적 없음 /syncfromflags:manual 같은 명령을 안 했거나, /update를 안 해서 적용 안 됨
설정이 초기화됨 w32tm /unregister → w32tm /register 같은 초기화 명령 이후 초기 상태
기본값 사용 중 기본적으로 도메인 조인 안 된 워크스테이션은 NtpServer 대신 “Local CMOS Clock” 같은 기본값만 적용
잘못된 순서 설정 변경 후 net stop w32time && net start w32time 안 해서 적용 안 됨

레지스트리

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\w32time\Parameters

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\w32time\TimeProviders\NtpClient

 

w32tm /config /manualpeerlist:"서버들" /syncfromflags:manual /update

-> 위 명령어는 W32Time\Parameters - NtpServer(REG_SZ) 값을 변경합니다

-> 실제로 NTP 동기화에 사용

 

반면 TimeProviders\NtpClient\ManualPeerList 값은 일반적으로 명령어로 변경되지 않으며,
기본값이나 과거 설정값이 남아있을 수 있습니다.

-> 읽기 전용이거나 레거시(과거) 설정일 가능성이 높고,
직접 수정해도 무시되거나 쓰기 권한이 제한될 수 있습니다.

 

TimeProviders\NtpClient 영역은 설정 값 일부(예: SpecialPollInterval, Enabled 등)를 담고는 있지만,
서버 리스트 관련 값들은 실제 동기화 프로세스에 직접 반영되지 않는 경우가 많습니다.

정리

...W32Time\Parameters\NtpServer 실제 수동 NTP 서버 리스트 w32tm /config 명령어로 변경됨
...W32Time\TimeProviders\NtpClient\ManualPeerList 과거 또는 내부용 설정 명령어로 안 바뀌거나 무시됨

1. SpecialPollInterval 위치

  • SpecialPollInterval 은 실제로는경로에 저장됩니다.
  • sql
    복사편집
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\w32time\TimeProviders\NtpClient
  • 이 값은 NTP 클라이언트(TimeProviders\NtpClient)가 사용하는 폴링 간격 설정입니다.
  • 반면,에는 SpecialPollInterval 값이 기본적으로 없습니다.
  • sql
    복사편집
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\w32time\Parameters

2. SyncFromFlags 위치

  • SyncFromFlags (또는 Type 값)은에 Type이라는 이름으로 존재합니다.
  • sql
    복사편집
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\w32time\Parameters
  • 이 값은 동기화 모드를 지정하며, 주요 값 예시는 다음과 같습니다:
    • NTP : 외부 NTP 서버에서 동기화
    • NT5DS : 도메인 컨트롤러에서 동기화 (도메인 계층)
    • NoSync : 동기화 하지 않음
    • Manual : 수동 설정으로 동기화
  • 실제로 w32tm /config /syncfromflags:manual 같은 명령어가 이 값을 변경합니다.

3. 요약

SpecialPollInterval TimeProviders\NtpClient NTP 클라이언트 폴링 간격 설정
SyncFromFlags (Type) Parameters 동기화 모드 설정 (manual, NTP, NT5DS 등)

4. 참고

  • w32tm /query /configuration 명령어 출력에 반영되는 내용은 위 두 위치에서 읽어온 값들의 조합입니다.
  • 명령어로 설정할 때는
    • manualpeerlist → Parameters\NtpServer
    • syncfromflags → Parameters\Type
    • SpecialPollInterval → TimeProviders\NtpClient\SpecialPollInterval
      이 각각 다르게 적용됩니다.

TYPE

1. Type 값의 의미

  • Type = "NTP"
    → 외부 NTP 서버(예: pool.ntp.org, time.google.com 등)와 동기화합니다.
    → ManualPeerList에 지정된 서버들에서 동기화하죠.
  • Type = "Manual"
    → 직접 지정한 서버들과 수동 동기화합니다.
    → 보통 ManualPeerList 와 함께 쓰이고, 서버 리스트가 명확할 때 씁니다.
  • Type = "NT5DS"
    도메인 컨트롤러(AD 환경)에서 시간 동기화합니다.
    도메인에 속한 PC에 기본 설정입니다.

2. 언제 어떤 값을 써야 하나?

  • 도메인에 속해 있다면 보통 NT5DS가 기본이며, 변경 권장하지 않습니다.
  • 도메인 환경이 아니라면, 특히 정확한 서버를 지정하려면
    → Manual 로 설정하고, ManualPeerList 에 원하는 서버를 넣는 게 맞습니다.
  • NTP도 외부 서버와 동기화하는 모드지만, 자동으로 풀 서버 중 하나를 고르는 경우가 많아
    서버 리스트를 명확히 관리하고 싶다면 Manual이 더 적합합니다.

3. 요약

도메인 환경(회사 네트워크 등) NT5DS 유지
개인 PC, 정확한 서버 직접 지정 Manual + ManualPeerList 설정
자동 NTP 서버 선택 원할 때 NTP
 

4. 결론

  • Type을 Manual로 고쳐도 됩니다.
  • 다만 도메인 환경에서는 도메인 정책과 충돌할 수 있으니 주의해야 합니다.
  • 그리고 바꾼 뒤에는 w32time 서비스 재시작과 w32tm /resync 꼭 하셔야 효과 있습니다.

 


도메인 환경이란?

Windows 컴퓨터가 Active Directory(AD) 라는 중앙 서버(도메인 컨트롤러, DC)가입된 상태를 말해요.

쉽게 말해:

  • 회사나 기관에서 ID/PW로 로그인 → 로그인하면 네트워크를 통해 중앙 서버가 계정과 정책을 관리
  • 중앙 서버(도메인 컨트롤러)가 컴퓨터 계정, 사용자 계정, 보안 정책, 그룹 정책(GPO) 등을 관리

🖥 예시

  • 회사 노트북, 관공서·학교 PC, 병원 PC 같은 곳:
    • 로그인 화면에 회사도메인\사용자명 또는 user@company.com 처럼 뜨면 도메인 환경
    • 회사 메일/공용 드라이브/프린터 같은 리소스를 중앙에서 통제
  • 집에서 쓰는 개인 PC:
    • 도메인에 가입 안 돼 있음 → Workgroup(작업 그룹) 환경

🧩 왜 이게 중요하냐?

  • Windows 시간 동기화(w32time)는 도메인 환경이면:
    • 기본적으로 NT5DS 모드로 설정
    • 도메인 컨트롤러에서 시간 가져오도록 강제됨
  • 이때 syncfromflags:manual 이나 Type: Manual 로 바꿔도
    • 그룹 정책(GPO) 가 다시 덮어씌워서 원래 값(NT5DS)으로 돌아감
  • 즉, 도메인 환경에선 수동 설정이 유지가 잘 안 됨

한줄 요약

도메인 환경 = 회사/기관/학교처럼 중앙 AD 서버가 관리
개인 PC나 집 컴퓨터 = 도메인에 가입 안 된 Workgroup 환경

 

 


✅ 핵심 요약

NTP 표준 NTP 클라이언트 모드 ManualPeerList(NtpServer)에 지정한 서버 자동 poll interval(동적 조정), 기본 client poll 알고리즘 사용
Manual 수동 모드 ManualPeerList(NtpServer)에 지정한 서버 SpecialPollInterval 값만 사용 (고정 poll 간격)
 

📍 좀 더 구체적으로:

Type="NTP"

  • 기본 NTP 클라이언트 알고리즘을 사용:
    • poll interval(동기화 간격)을 네트워크 상황, 지터(jitter), 서버 응답 품질 등에 따라 자동으로 증가/감소
  • registry SpecialPollInterval 값은 무시
  • 서버 리스트는 NtpServer 값(ManualPeerList)에 지정한 서버에서만 동기화

✅ 즉:

  • 동적 간격(8분 → 17분 → 34분… 식으로)
  • 서버는 지정된 서버만 사용

Type="Manual"

  • manual 모드에서는 poll interval 조정 알고리즘을 안 씀
  • 대신 SpecialPollInterval 값만 고정으로 사용 (예: 60초)
  • 서버도 마찬가지로 NtpServer 값에 지정한 서버에서만 동기화

✅ 즉:

  • poll interval이 무조건 고정 (SpecialPollInterval)
  • 서버는 동일하게 manualpeerlist(NtpServer) 기준

왜 이 차이가 중요?

  • Type="NTP" 쓰면: 자동 poll 간격 조정 → 초기엔 짧아도 점점 길어져서 1024초, 2048초까지 늘어남
  • Type="Manual" + 0x9 플래그 쓰면: poll 간격을 SpecialPollInterval 값으로 고정 (예: 60초)

즉, 시간 정확도가 중요한 상황엔 "Manual + 0x9" 조합으로 고정 폴링을 쓰는 게 유리

 

 

한줄 핵심 요약

둘 다 서버는 동일, 차이는 "poll interval":

  • NTP → 자동 조정
  • Manual → SpecialPollInterval 값 고정

 

 

📍 정확한 동작 구조

syncfromflags:manual "수동 서버만 동기화 대상으로 사용" Config\AnnounceFlags 값 변경
Type= "NTP" 외부 NTP 서버와 동기화 (수동 설정 서버 포함) 그대로 유지 (변경 안 됨)
Type= "Manual" 정말 완전한 수동 모드 (특수) 명령어로는 안 됨, 수동으로 regedit 필요

 


Windows 시간 서비스 핵심 문제

  • W32Time은 본래 AD(도메인) 환경에 맞춰져 설계된 서비스라, 완전 실시간 고정 간격 동기화에는 적합하지 않음
  • SpecialPollInterval 설정이 있어도,
    Type=NTP 모드에서 Poll 간격 자동 증가를 막는 건 사실상 불가능에 가깝습니다.
  • Microsoft 공식 문서에도 “SpecialPollInterval은 Manual 모드에서만 확실히 동작한다” 고 명시돼있어요.
  • Type=Manual로 바꾸면 서비스가 시작조차 안 되는 환경도 많아, 사실상 쓰기 힘들고요.

현실적인 대안

  1. 외부 툴이나 NTP 클라이언트 소프트웨어 활용
    • 예: Meinberg NTP, Chrony(리눅스용), 별도 서비스로 운영하는 NTP 클라이언트
    • Windows 기본 w32time 대신, 이런 도구들은 훨씬 더 세밀한 Poll 제어가 가능합니다.
  2. 하드웨어 기반 동기화 (GPS NTP 서버 등)
    • 완전한 초정밀이 필요하면 전문 장비 필요
  3. 윈도우 기본 w32time 세팅 타협
    • syncfromflags:manual + ManualPeerList + 0x9 + SpecialPollInterval 최대한 최적화하되
    • 간격이 조금씩 늘어나는 건 감내
728x90
반응형

'IT 인터넷' 카테고리의 다른 글

광랜 FTTH 공유기 란? FTTC, FTTB, VDSL  (0) 2025.07.10
DNS 캐시 삭제  (1) 2025.07.10
시간 동기화 비교 사이트 time.is 외  (3) 2025.07.10
레지스트리 권한  (2) 2025.07.10
DNS 란? cloudflare vs google vs 통신사 isp  (0) 2025.07.09
NTP 서버란? NTP 서버 종류  (4) 2025.07.09
CMD vs PowerShell  (0) 2025.07.09
ping 테스트 응답 안 하는 이유  (0) 2025.07.09