Synchronizace hodin - Clock synchronization
Synchronizace hodin je téma v počítačová věda a inženýrství jehož cílem je koordinovat jinak nezávislé hodiny. I když jsou původně nastaveny přesně, skutečné hodiny se po určité době budou lišit drift hodin způsobené časem počítajícím hodiny mírně odlišnou rychlostí. Existuje několik problémů, ke kterým dochází v důsledku rozdílů hodinových frekvencí a několika řešení, některá jsou v určitých kontextech vhodnější než jiná.[1]
Terminologie
v sériová komunikace, synchronizace hodin může odkazovat na zotavení hodin který dosahuje synchronizace frekvence, na rozdíl od plné fázová synchronizace. Taková synchronizace hodin se používá v synchronizace v telekomunikacích a automatická detekce přenosové rychlosti.[2]
Plesiochronní nebo izochronní operace označuje systém s frekvenční synchronizací a volnými omezeními fázové synchronizace. Synchronní provoz předpokládá těsnější synchronizaci založenou na čase, možná kromě frekvence.
Problémy
V důsledku potíží s řízením času v menším měřítku jsou spojeny problémy zkosení hodin které nabyly na složitosti distribuované výpočty ve kterém několik počítačů bude muset realizovat stejný globální čas. Například v Unix systémy udělat příkaz je zvyklý na kompilovat nový nebo upravený kód a snaží se zabránit překompilování nezměněného kódu. The udělat příkaz používá hodiny stroje, na kterém běží, k určení, které zdrojové soubory je třeba překompilovat. Pokud jsou zdroje umístěny na samostatném souborový server a oba stroje mají nesynchronizované hodiny, udělat program nemusí přinést správné výsledky.[3]
Pro přesnou reprodukci je vyžadována synchronizace streamování médií. Synchronizace hodin je významnou součástí audio přes Ethernet systémy.
Řešení
V systému s centrálním serverem je řešení synchronizace triviální; server bude diktovat systémový čas. Cristianův algoritmus a Berkeleyův algoritmus jsou potenciální řešení problému synchronizace hodin v tomto prostředí.
V distribuovaných počítačích problém nabývá na složitosti, protože globální čas není snadno známý. Nejpoužívanějším řešením synchronizace hodin na internetu je Síťový časový protokol (NTP), což je vrstvená architektura klient-server založená na Protokol uživatele Datagram (UDP) předávání zpráv. Lamportova časová razítka a vektorové hodiny jsou pojmy logické hodiny v distribuovaných výpočtech.
V bezdrátová síť, problém se stává ještě náročnějším kvůli možnosti kolize synchronizace balíčky na bezdrátovém médiu a vyšší míře driftu hodin na levných bezdrátových zařízeních.[4][5]
Berkeleyův algoritmus
Algoritmus Berkeley je vhodný pro systémy, kde a rádiové hodiny není k dispozici, tento systém nemá žádný způsob, jak zajistit skutečný čas, kromě udržování globálního průměrného času jako globálního času. A časový server bude pravidelně načítat čas ze všech časových klientů, průměrovat výsledky a poté hlásit klientům úpravy, které je třeba provést v jejich místních hodinách, aby se dosáhlo průměru. Tento algoritmus zdůrazňuje skutečnost, že vnitřní hodiny se mohou lišit nejen v čase, který obsahují, ale také v rychlost hodin.
Vzájemná synchronizace sítě se vzorkováním hodin
Vzájemná synchronizace sítě s hodinovým vzorkováním (CS-MNS) je vhodná pro distribuované a mobilní aplikace. Ukázalo se, že je škálovatelný přes síťové sítě, které zahrnují nepřímo propojené nesousedící uzly, a je kompatibilní s IEEE 802.11 a podobné standardy. Může být přesný v řádu několika mikrosekund, ale vyžaduje přímé fyzické bezdrátové připojení se zanedbatelným zpožděním spojení (méně než 1 mikrosekundu) na spojích mezi sousedními uzly, což omezuje vzdálenost mezi sousedními uzly na několik stovek metrů.[6]
Cristianův algoritmus
Cristianův algoritmus spoléhá na existenci časového serveru.[7] Časový server udržuje své hodiny pomocí rádiových hodin nebo jiného přesného zdroje času, pak s ním zůstanou synchronizovány všechny ostatní počítače v systému. Časový klient udrží své hodiny vytvořením volání procedury na časový server. Variace tohoto algoritmu zpřesňují časové výpočty pomocí faktoringu v síti rádiové šíření čas.
Globální Polohovací Systém
Kromě jeho použití v navigaci, Globální Polohovací Systém (GPS) lze také použít pro synchronizaci hodin. Přesnost časových signálů GPS je ± 10 nanosekund.[8]
Časové kódy přístrojové skupiny Inter-range
IRIG časové kódy jsou standardní formáty pro přenos informací o časování. Atomové frekvenční standardy a přijímače GPS určené pro přesné načasování jsou často vybaveny výstupem IRIG. Standardy byly vytvořeny telekomunikační pracovní skupinou armády Spojených států Inter-Range Instrumentation Group (IRIG), orgán pro standardy Rady velitelů dosahu. Práce na těchto normách byly zahájeny v říjnu 1956 a původní normy byly přijaty v roce 1960.[9]
Síťový časový protokol
Síťový časový protokol (NTP) je vysoce robustní protokol, široce používaný po celém internetu. Dobře testovaný v průběhu let je obecně považován za nejmodernější v protokolech synchronizace distribuovaného času pro nespolehlivé sítě. Může snížit posuny synchronizace na časy řádově několik milisekund přes veřejný internet a na úrovně pod milisekundu přes místní sítě.
Zjednodušená verze protokolu NTP, Jednoduchý síťový časový protokol (SNTP), lze také použít jako čistě jednorázový bez státní příslušnosti primární / sekundární synchronizační protokol, ale postrádá sofistikované funkce NTP, a má tedy mnohem nižší úroveň výkonu a spolehlivosti.
Přesný časový protokol
Přesný časový protokol (PTP) je protokol typu master / slave pro doručování vysoce přesného času přes místní sítě.
Referenční synchronizace vysílání
The Odkaz na synchronizaci času vysílání Algoritmus (RBS) se často používá v bezdrátových sítích a senzorových sítích. V tomto schématu iniciátor vysílá referenční zprávu a naléhá na příjemce, aby nastavili své hodiny.
Referenční synchronizace infrastruktury vysílání
The Referenční synchronizace infrastruktury vysílání (RBIS)[10] Protokol je synchronizační protokol typu master / slave, jako je RBS, založený na paradigmatu synchronizace přijímač / přijímač. Je speciálně přizpůsoben pro použití v bezdrátových sítích IEEE 802.11 nakonfigurovaných v režimu infrastruktury (tj. Koordinovaných přístupovým bodem). Protokol nevyžaduje žádné úpravy přístupového bodu.
Synchronní Ethernet
Synchronní Ethernet používá Ethernet v synchronním způsobem takový, že v kombinaci se synchronizačními protokoly, jako je PTP v případě projekt Bílého králíka, je dosaženo přesnosti synchronizace za nanosekundu.
Bezdrátové sítě ad hoc
Synchronizace je dosažena v bezdrátové sítě ad hoc prostřednictvím odesílání synchronizačních zpráv v a multi-hop způsobem a každý uzel se postupně synchronizuje s uzlem, který je okamžitým odesílatelem synchronizační zprávy. Mezi příklady patří Flotsing Time Synchronization Protocol (FTSP),[4] a Harmonia,[5] oba jsou schopni dosáhnout synchronizace s přesností v řádu mikrosekund.
Viz také
Reference
- ^ Tanenbaum, Andrew S.; van Steen, Maarten (2002), Distribuované systémy: Principy a paradigmata, Prentice Hall, ISBN 0-13-088893-1
- ^ Norman Matloff (3. září 2001), Přenos na sériové lince (PDF), vyvoláno 2018-04-17
- ^ Marco Platania (06.06.2018). „Synchronizace hodin“ (PDF). p. 11.
- ^ A b Maróti, Miklós; Kusy, Branislav; Simon, Gyula; Lédeczi, Ákos (2004). "Protokol synchronizace času zaplavení". Sborník z 2. mezinárodní konference o vestavěných síťových senzorových systémech. SenSys '04. New York, NY, USA: ACM: 39–49. doi:10.1145/1031495.1031501. ISBN 1581138792.
- ^ A b Koo, Jinkyu; Panta, Rajesh K .; Bagchi, Saurabh; Montestruque, Luis (2009). "Příběh dvou synchronizačních hodin". Sborník příspěvků ze 7. konference ACM o vestavěných síťových senzorových systémech. SenSys '09. New York, NY, USA: ACM: 239–252. doi:10.1145/1644038.1644062. ISBN 9781605585192.
- ^ Rentel, Carlos H .; Kunz, Thomas (březen 2005), „Algoritmus vzájemné synchronizace synchronizace hodinových vzorků pro bezdrátové sítě ad hoc“, Konference o bezdrátové komunikaci a sítích IEEE, IEEE Press, 1: 638–644, doi:10.1109 / WCNC.2005.1424575
- ^ Cristian, F. (1989), "Pravděpodobná synchronizace hodin", Distribuované výpočtySpringer, 3 (3): 146–158, doi:10.1007 / BF01784024
- ^ „Common View GPS Time Transfer“. Národní institut pro standardy a technologie. Archivovány od originál dne 2012-10-28.
- ^ Josh Matson (květen 2013). „Výběr správného protokolu synchronizace času a začlenění modulu 1756-TIME do vaší aplikace“ (PDF). Rockwell Automation. Citováno 2019-08-13.
- ^ Cena, G .; Scanzio, S .; Valenzano, A .; Zunino, C. (červen 2015), „Implementace a hodnocení synchronizačního protokolu referenční Broadcast Infrastructure“, Transakce IEEE v průmyslové informatice, IEEE Press, 11 (3): 801–811, doi:10.1109 / TII.2015.2396003
externí odkazy
- Přesný čas vs. PC Clock Rozdíl
- Projekt PTP bílého králíka
- FSMLabs Úvod do synchronizace hodin
- Govindan Kannan, Pravein .; Joshi, Raj .; Chan, Mun Choon. (Duben 2019), „Přesná časová synchronizace v datové rovině pomocí programovatelných přepínacích ASIC“, Sborník sympozia ACM 2019 o výzkumu SDN, ACM: 8–20, doi:10.1145/3314148.3314353, ISBN 9781450367103