Cristianův algoritmus - Cristians algorithm - Wikipedia
Cristianův algoritmus (představil Flaviu Cristian v roce 1989)[1] je metoda pro synchronizace hodin který lze použít v mnoha oborech distribuční informatiky, ale primárně se používá s nízkou latencí intranety. Cristian poznamenal, že tento jednoduchý algoritmus je pravděpodobnostní v tom, že dosahuje synchronizace pouze tehdy, když zpáteční čas (RTT) požadavku je krátký ve srovnání s požadovanou přesností. Trpí také při implementacích využívajících jeden server, takže je nevhodný pro mnoho distribučních aplikací, kde může být rozhodující redundance.
Popis
Cristianův algoritmus pracuje mezi procesem P a časovým serverem S připojeným ke zdroji časového odkazu. Jednoduše řečeno:
- P požaduje čas od S
- Po obdržení požadavku od P připraví S odpověď a připojí čas T ze svých vlastních hodin.
- P poté nastaví svůj čas na T + RTT / 2
Tato metoda předpokládá, že RTT je rozdělen rovnoměrně mezi požadavek a odpověď, což nemusí vždy platit, ale je rozumným předpokladem pro připojení LAN.
Další přesnosti lze dosáhnout zadáním více požadavků na S a použitím odpovědi s nejkratším RTT.
Přesnost systému můžeme odhadnout následovně. Nechat min minimální doba pro jednosměrný přenos zprávy. Nejstarší bod, ve kterém S mohl umístit čas T, byl min poté, co P zaslal svůj požadavek. Proto je čas v S, když je přijata zpráva P, v rozsahu (T + min) do (T + RTT - min). Šířka tohoto rozsahu je (RTT - 2 *min). To dává přesnost (RTT / 2 - min).
Viz také
- Allanův rozptyl
- Berkeleyův algoritmus
- Synchronizace hodin
- Denní protokol, starší protokol synchronizace času pomocí portu TCP nebo UDP 13
- ICMP časové razítko a Odpověď ICMP na časové razítko, starší protokol synchronizace času pomocí ICMP
- Mezinárodní atomový čas
- Fond NTP, kolekce celosvětových počítačů, které poskytují velmi přesný čas prostřednictvím protokolu Network Time Protocol
- Zneužití a zneužití serveru NTP
- ntpd, OpenNTPD a Ntpdate
- Přesný časový protokol
- Synchronizace
- Časový protokol, starší protokol synchronizace času pomocí portu TCP nebo UDP 37
- Časový server
Reference
- ^ Cristian, F. (1989), "Pravděpodobná synchronizace hodin", Distribuované výpočtySpringer, 3 (3): 146–158, doi:10.1007 / BF01784024