GH GambleHub

시간 동기화

왜 필요합니까?

단일 및 정확한 시간은 이벤트 구성, 로그/트레일 올바르게 상관 관계, 거래 서명 및보고 재현성의 기초입니다. 현금 흐름이있는 플랫폼의 경우 규정 준수 및 신뢰의 문제입니다. "누가 먼저", "결과가 기록 될 때", "어떤 씨앗이 사용되었는지".

기본 개념

UTC vs TAI: UTC에는 두 번째 도약 인서트가 포함되어 있습니 TAI-그들없이. 대부분의 시스템은 UTC에서 작동합니

두 번째 도약: 두 번째 삽입/삭제. 원활한 작업에는 지원/완화 (번짐) 가 중요합니다.
Stratum (NTP): 표준으로부터의 거리 수준 (0 - 원자/GNSS, 1 - 서버, 2 + - 클라이언트).
PTP ро독점: 그랜드 마스터 (GM) → 경계 시계 (BC )/투명 시계 (TC) → 슬레이브.
PPS: GNSS/생성기의 정확한 정렬을위한 초당 펄스.
Servo: 로컬 시계의 주파수/위상을 수정하는 알고리즘 (chrony/ptp4l/phc2sys).

PTP 일 때 NTP

NTP (Chrony): 밀리 초/100 밀리 초 정확도; WAN/인터넷; 간단하고 신뢰할 수 있습니다

PTP (IEEE 1588): 하드웨어 마크가있는 밀리 초 미만 및 최대 마이크로 초; 네트워크 규율 (L2/multicast/QoS) 이 필요합니다.
하이브리드: NTP/Chrony는 PTP-GM에 대한 참조를 제공합니다. HW 타임 스탬프가있는 데이터 센터-PTP.

시간 소스 및 복원력

GNSS (GPS/GLONASS/Galileo/BeiDou) + PPS 기본 참조.
위성이 손실 될 때 인계를위한 OCXO/TCXO (발전기).
백업 참조: 두 개의 독립적 인 GNSS 수신기, 다른 안테나/케이블, 방해 장벽.
2 차 NTP 풀: VPN을 통한 외부 신뢰할 수있는 공급자 및 개인 서버.
BMC (Best Master Clock) 및 수동 장애 계획이있는 그랜드 마스터 x2.

PTP 네트워크 아키텍처

프로필: 기본, 통신 (G.8275. x), 힘. 데이터 센터의 경우 기본 또는 공급 업체 프로필이 더 일반적입니

스위치가 보정 필드를 추가하는 투명 시계 (TC) 는 정확도를 향상시킵니다.
경계 시계 (BC): 스위치/라우터-클라이언트를 최고로, 하위 세그먼트를 마스터합니다.
QoS: PTP 멀티 캐스트/유니 캐스트 우선 순위, 큐 최소화.
격리: 시간을위한 전용 VLAN/VRF; PTP 경로에 L3-NAT가 없습니다.

보안: NTP를위한 NTS, PTP 보호

NTP: NTS (Network Time Security, RFC 8915) -시간 서버의 TLS 인증 사용. 주변 내부에는 대칭 키 (클래식 지정) 가 허용됩니다. 오토 키는 더 이상 사용되지 않습니다.
PTP: 기본 MAC/인증은 거의 사용되지 않습니다. L2/L3의 네트워크 격리, ACL, MACsec/IPsec으로 보상하십시오.
GNSS: 방해/스푸핑 보호-신호 품질 모니터, DOP 감시, 지리 필터, 이상 감지.

도약 제 2 치료 및 윤활

도약 발표: NTP/Chrony는 다가오는 두 번째 삽입물을 발표합니다.
스미어: 일일 스트레칭은 λ0입니다. 단계를 피하면서 5 초 (또는 다른 창). Google과 같은 도말은 "점프" 를 포기하는 데 편리하지만 모든 서비스는 단일 정책 (또는 윤곽 분리) 을 따라야합니다.

시간 SLO (예)

p95 클라이언트 참조 오프셋 0ms (데이터 센터 NTP 회로), p99 소 5ms.
HW 타임 스탬프가있는 PTP: 도메인 내부에서 p95 λ20 μs, p99 λ100 μs 오프셋.
Jitter (stddev) 2 ms (NTP )/λ5 μs (PTP-HW).
시계 단계 이벤트 = 0; 프로덕션 클래스에서만 죽었습니다 (부드러운 수정).

홀드 오버 OCXO에서 드리프트:

엔지니어링 관행 (NTP/Chrony)

Chrony: 패킷 손실/비대칭, 유연한 NTS에 강한 "잡음" 네트워크에서 더 잘 수렴합니다.

최소한의 크로니. (PHP 3 = 3.0.6, PHP

conf
Sources (top-level servers)
server ntp1. example iburst nts server ntp2. example iburst nts
Local GNSS with PPS (if any)
refclock SHM 0 poll 4 refid GNSS refclock PPS /dev/pps0 poll 4 refid PPS lock GNSS
Access restrictions allow 10. 0. 0. 0/8 deny all
makestep adjustment policy 0. 1 3 rtcsync log tracking measurements statistics
검증 및 모니터링:
bash chronyc tracking chronyc sources -v chronyc sourcestats -v

고객: 최소 두 개의 서버를 지정합니다. 초기 시작을위한 'makestep' 과 필요에 따라 'maxslewrate' 를 포함합니다.

엔지니어링 관행 (PTP/linuxptp)

하드웨어 타임 스탬프 (HW-TS): PHC (PHC = PTP 하드웨어 시계) 로 NIC/드라이버를 요구합니다.

확인:
bash ethtool -T eth0      grep timestamp phc2sys -l
ptp4l (슬레이브/GM/BC) - 설정의 예:
conf
[global]
twoStepFlag      1 time_stamping     hardware tx_timestamp_timeout 30 logging_level     6 clock_class      248 clock_accuracy    0x20 priority1       128 priority2       128 delay_mechanism    E2E network_transport   L2 dsptp_domain     0

[eth0]
delay_filter     moving_average delay_filter_length  10 announceReceiptTimeout 3 syncReceiptTimeout   3
PHC 번들 → 시스템 시계:
bash
PHC NIC -> system clock (slew)
phc2sys -s /dev/ptp0 -c CLOCK_REALTIME -O 0 -E ntpshm -w
경계/투명 시계의 경우: BC/TC 지원 스위치의 펌웨어/이미지를 사용하고 프로파일을 활성화하십시오. pmc의 보정 필드 모니터:
bash pmc -u -b 0 "GET TIME_STATUS_NP"

Kubernetes, 가상화 및 컨테이너

노드는 일반 호스트와 동기화 된 K8입니다. 컨테이너는 호스트 시간을 사용합니다

PTP의 경우: HW-TS가있는 전용 노드의 PTP Operator/DaemonSet (예: 'linuxptp-daemonset'); PHC로 NIC를 표시하기위한 'NodeFeatureDiscovery'.
시간 감도에 따른 워크로드 격리 (RNG/게임 이벤트): 더 나은 동기화를 가진 공차/공차 → 노드.
가상화에서 하이퍼 바이저의 공격적인 "가상" 드리프트 교정기를 비활성화하고 하나의 시간 분야 (게스트 NTP/PTP 또는 하이퍼 바이저) 를 사용하십시오.

네트워크 및 QoS

별도의 시간 -VLAN/VRF, 지연 및 지터를 최소화하십시오.
PTP E2E의 경우-경로 비대칭 성을 피하십시오. P2P의 경우-링크 로컬 지연 사용.
모든 곳에서 합의 된 경우에만 점보 MTU 엔드 투 엔드 사용 사용; 그렇지 않으면 표준 MTU이지만 안정적인 대기열입니다.
UDP/123을 통한 경로 NTP는 NTS-SL 포트를 허용합니다. PTP의 경우 올바른 멀티 캐스트 ACL (224. 0. 1. 129/130).

모니터링 및 경고

측정해야 할 사항:
  • 오프셋, 지터, 주파수 드리프트, 수정/초
  • PTP: 'offsetFromMaster', 'meanPathDelay', 'grandmasterIdentity', 'stepsRemoved'.
  • GNSS: SNR, DOP, 가시 위성, PPS 지터.
툴박스:
  • 'Chrony' Prometheus (chrony-producter) 로 내보내기, 텍스트 로그 → Loki.
  • 'linuxptp' 통계 ('ptp4l -m'), 노드 내보내기 텍스트 파일을 통한 메트릭.
  • 네트워크 카운터: time-VLAN에서 드롭/재전송/큐-len.
경고 (아이디어):
  • NTP 오프셋 p95> 5 분 동안 1 ms.
  • PTP offsetFromMaster> 25 μs (p95) 5
  • GNSS/PPS> 1 분 손실 (인계로 전환).
  • 계획된 창 밖에서 그랜드 마스터 변경 (BMC).
  • RTC 시스템 클럭> 부팅 임계 값 차이.

운영 및 업데이트

시작/중지-먼저 네트워크/GNSS/PPS → GM → BC/TC → 클라이언트를 복원하십시오.
도약 초: 미리 발표하고 도말 정책 및 호환성을 확인하십시오.
업데이트: 펌웨어 NIC/스위치, 'linuxptp/chrony' -오프셋 제어로 단계적입니다.
런북: GNSS 손실, GM 교체, PTP 도메인 재배치, 클러스터 오정렬, VLAN 충돌.

구현 체크리스트

  • 서비스 및 로그에 대한 SLO (오프셋/지터) 가 정의됩니다.
  • 2 개의 독립 시간 소스 (GNSS + NTP), 2 개의 GM, IUD/수동 Feilover Plan.
  • 전용 시간 -VLAN/VRF, QoS, ACL/MACsec; BC/TC PTP가 활성화되었습니다.
  • 단일 도약 정책 (판매시 번짐/단계 금지).
  • 연대기 NTS; ptp4l/phc2sys - PHC가있는 노드에서 설정 servv.
  • 오프셋/지터/GM/GNSS 손실, 경고 및 대시 보드 모니터링.
  • 런북: GNSS, GM 장애 감소, 도약 초, 드리프트 헌트.
  • 감사 문서-출처, 구성 요소, SLO 보고서, GM 시프트 로그.

공통 오류

보호되지 않은 시간 서버 하나; 통제없이 공공 수영장과 개인 수영장을 혼합합니다.
"잡음" L3 경로/비대칭을 통한 PTP, BC/TC 없음.
NTS/격리 없음-NTP 스푸핑/PTP 스푸핑 기능.
서브 시스템의 다른 도약 정책 → 서비스 간 시간의 "균열".
드리프트/홀드 오버 모니터링, 갑작스런 단계 수정 무시하십시오.
이중 규율 가상 머신 (호스트 + 게스트) → 불일치.

iGaming/fintech 특정

법적으로 중요한 타임 스탬프: 트랜잭션/이벤트 로그의 상점 오프셋 및 동기화 상태 (유효성을 입증하기 위해).
이벤트 순서: 교차 서비스 상관 관계자는 "벽" 뿐만 아니라 단조 논리 시계 + UTC 레이블을 사용합니다.
토너먼트/일치: 단일 시간 소스 (PTP- 도메인/NTP- 서버), 전면의 TTL 캐시, "휘파람" 전에 점검을 수정하십시오.
RNG/시드 초기화: 암호화 소스에서 초기화하고 SLO 내에서 오프셋을 확인하여 구성 요소로만 시간을 사용하십시오.
보고/규제 기관: 정기 시간 SLO 보고서 및 GM/소스 시프트 로그.

미니 플레이 북

1) 빠른 클러스터 시간 감사

1. 각 노드의 '크로니크 추적' → 오프셋/지터를 수집합니다.
2. PTP 노드의 'ptp4l -m '/' pmc' → GM, 지연, 단계 제거 확인.
3. 도약 정책을 검증하고 균일성을 유지하십시오.

2) GNSS의 상실

1. 홀드 오버 (OCXO) 경고로 이동하십시오.
2. VPN을 통해 외부 NTP를 임시 참조로 연결하십시오.
3. 안테나/케이블/수신기를 확인하십시오 교체 계획.

3) 그랜드 마스터 변경

1. 우선 순위 BMC 확인; 두 번째 GM을 수동으로 올립니다.
2. 항공기/클라이언트의 오프셋 제어; 필요한 경우 phc2sys를 다시 시작하십시오.
3. 시계열 상쇄 사건 보고서.

결과

안정적인 시간 루프는 안정적인 참조 (GNSS + PPS + OCXO), 올바른 PTP 네트워크 아키텍처 (BC/TC/QoS/격리), NTS를 통한 보안 NTP, 일관된 도약 정책, 수정 수정 규칙 및 SLO 관찰 가능성 (오프셋/지터/홀드 오버). 런북에 모든 것을 기록하고 정기적으로 오프셋을 확인하고 운동을 통해 배우십시오. 다른 모든 것이 "트럼블" 하더라도 시간은 정확하게 유지됩니다.

Contact

문의하기

질문이나 지원이 필요하시면 언제든지 연락하십시오.우리는 항상 도울 준비가 되어 있습니다!

Telegram
@Gamble_GC
통합 시작

Email — 필수. Telegram 또는 WhatsApp — 선택 사항.

이름 선택 사항
Email 선택 사항
제목 선택 사항
메시지 선택 사항
Telegram 선택 사항
@
Telegram을 입력하시면 Email과 함께 Telegram에서도 답변드립니다.
WhatsApp 선택 사항
형식: +국가 코드 + 번호 (예: +82XXXXXXXXX).

버튼을 클릭하면 데이터 처리에 동의하는 것으로 간주됩니다.