GradientTop
PC
Vodeći IT časopis u Srbiji
PC #23 > Komunikacije
ARHIVA BROJEVA | O ČASOPISU | POSTANI SARADNIK | PRETRAGA
nopreview
Atomsko vreme
Bojan Stojanović
Neka vreme na vašim računarima otkucava u ritmu svetskog standarda vremena! Bojan Stojanović predlaže da se povežete se sa cezijumskim atomskim časovnicima koji greše manje od sekunda u milion godina...
- PC #23 (April 1997)
- U prodaji po ceni od 200 din

broj

Atomsko vreme

Prema jednoj anegdoti, ruski pesnik Samuil Jakovljevič Maršak je, prilikom prvog boravka u Londonu 1914. godine, sreo čoveka na ulici i upitao ga: "Šta je vreme?" Maršak je, u stvari, hteo da sazna koliko je sati ali, pošto još uvek nije dobro govorio engleski, umesto "What time is it?" pitao je "What is time?" Zbunjeni prolaznik je odgovorio: "Pa to je filozofsko pitanje. Zašto ga meni postavljate?" Zaista, vreme je kompleksna pojava koju nije lako definisati i objasniti bez pomoći fizike, kosmologije, biohemije ili filozofije, pa se zato drugo pitanje čini jednostavnijim. Dakle, koliko je sati?

Ako odgovor potražite konsultujući interni časovnik PC računara, nećete biti mnogo zadovoljni. Ukoliko ga niste skoro doterivali, odstupanja od nekoliko minuta su sasvim uobičajena. U većini današnjih personalaca nalazi se nekompenzirani kvarcni oscilator osetljiv na ambijentalnu temperaturu, pa je prosečno dnevno odstupanje nekoliko sekundi. Istraživanje na tu temu obavljeno pre par godina u Americi obuhvatilo je 5722 računara - šezdeset procenata je pokazivalo vreme sa greškom većom od minuta, kod 10% greška je bila veća od 13 minuta, a na izvesnom broju računara čak ni godina nije bila korektna.

Kakvu korist imamo od toga da nam računar pokazuje tačno vreme? Ako su u pitanju individualni, neumreženi računari, sa aproksimativnim vremenom se može živeti. Uostalom i na ručnim časovnicima, prema kojima usklađujemo dobar deo svakodnevnih aktivnosti, tolerancija od plus-minus minut je podnošljiva. Međutim, tu je i ona principijelna crta - ako sat već postoji, zašto da ne bude tačan? U nekim primenama računara u vojsci, masovnim komunikacijama ili industriji ovakvo razmatranje je bespredmetno. Jednostavno, neophodno je besprekorno tačno vreme (reda veličine milisekunda).

Kada se radi o umreženim računarima (recimo lokalna mreža neke firme) može se govoriti o potrebi da svi računari u mreži pokazuju isto vreme. Zamislite banku ili osiguravajući zavod gde je neophodno pratiti hronologiju transakcija. Ukoliko bi ta banka imala filijale u nekoliko gradova bilo bi razumno upotrebiti neki efikasan metod za sinhronizaciju vremena na svim računarima. Ako problem posmatramo globalno, brzo ćemo stići do Interneta. Pored obilja podataka koji putuju mrežom nad mrežama, kako stoje stvari kada je u pitanju tačno vreme. Sjajno! Internet omogućava da se povežete direktno sa primarnim etalonima vremena - cezijumskim atomskim časovnicima koji greše manje od sekunda u milion godina!

Kako bi informacija o vremenu, koja se prenosi standardnim TCP/IP paketima čije je kašnjenje u uslovima "gustog saobraćaja" veoma teško predvideti, bila pouzdana, razvijen je Network Time Protocol (NTP) koji koristi veoma složene algoritme za proračunavanje i kompenzaciju kašnjenja. Da bismo razjasnili neke pojmove o kojima će u tekstu biti reči i upustili se u opis funkcionisanja NTP-a, napravićemo "mali" skok u prošlost. Spremite se za putovanje, razdaljina je milion godina...

Obrisi vremena

Homo erectus i rani Homo sapiens svakako se nisu bavili slojevitim aspektima vremena, ali su osećali njegov tok. Kako je u osnovi registrovanja vremena neki periodični proces, u davna vremena nije bilo mnogo izbora - na raspolaganju su bili "prirodni oscilatori": Mesec (mesečeve mene, plima i oseka) i Zemlja (rotacija Zemlje oko sopstvene ose, smenjivanje dana i noći, odnosno revolucija Zemlje oko Sunca, smena godišnjih doba). Osnovni ciklus je, naravno, dan-noć, duboko usađen u životni ritam biljnog i životinjskog sveta.

Kako se naš vremeplov pomera ka osvitima civilizacije, primećujemo želju da se uspostavi kontrola nad neumitnim tokom vremena. Dovoljno je bilo razviti nekakav sistem beleženja vremenskih intervala kako bi se moglo predvideti približavanje cikličnih prirodnih pojava. Egipćani su imali potrebu za hronološkim metodom kojim bi mogli da predvide ponašanje Nila i tako prilagode poljoprivredne radove od kojih je zavisilo funkcionisanje celokupne države. Gotovo svi stari narodi razvili su u tu svrhu kalendare zasnovane na kretanju nebeskih tela. Kalendari su bili manje ili više precizni, a cela zbrka oko njih, koja se održala do današnjih dana, zasniva se na činjenici da Zemlja ne obiđe oko Sunca za ceo broj dana, već za 365.2422 dana. Za detaljne informacije o kalendarima pogledajte tekst Dejana Ristanovića "Strogo po kalendaru", koji je objavljen u "Računarima" 94.

Ovde će biti dovoljna napomena da je za kalendar kakvog ga danas koristimo usvojen početni trenutak - podne 1. januara 4713. godine pre nove ere. Broj dana protekao od tog trenutka naziva se julijanski broj dana ( Julian Day Number - JDN). Standardni julijanski dan ima 86400 sekundi, a julijanska godina, po kojoj se vrše preračunavanja datuma stare ere, 365.25 dana. Idejni tvorac ovakvog označavanja je Joseph Scaliger , a sistem nosi ime po njegovom oca - Juliusu Caesaru Scaliger -u; julijanski kalendar nazvan je prema imperatoru Juliju Cezaru, pa ne treba mešati ova dva Cezara.

Datumi nove ere preračunavaju se po gregorijanskom kalendaru. Prema navedenoj nomenklaturi, podne prvog dana nove ere nosi oznaku 1,721,426.0 a recimo za ponoć 1. januara 1900. JDN je 2,415,020.5. Postoji i modifikovani julijanski datum (MJD) koji je prikladniji za baratanje novijim datumima. MJD se dobija kao JDN-2,400,000.5. Znači da ponoć 1. januara 1900. godine ima MJD oznaku 15,020. U mnogim programima koji vrše konverziju zadatog datuma u JDN pribegava se zaokruživanju na celobrojnu vrednost, kada se MJD i JDN razlikuju za 2,400,001. Razumevanje ovih elementarnih konvencija je bitno jer je, kao što ćemo kasnije videti, na njima zasnovan i Network Time Protocol.

Doba klepsidri i peščanika

Iako je u poređenju sa našim, život Sumeraca ili Egipćana bio manje dinamičan, postepeno se javljala potreba za merenjem kraćih vremenskih intervala nego što su to dani, meseci i godine. Prvi časovnici nastali su oko 3500 godine p.n.e - bili su to obelisci čija je senka omogućavala podelu dana na pre i posle podne. Obelisk je preteča sunčanih časovnika koji su u Egiptu ušli u upotrebu oko 1500. godine p.n.e. Ovi časovnici su imali precizniju podelu tako da počinje da se koristi termin čas.

Naučnici tog doba već su prilično dobro spoznali vreme i praktične probleme skopčane sa njegovim merenjem. Znali su da mora postojati referentni proces kojim se registruju jednaki vremenski intervali kao i neki način da se dobijeni rezultati merenja prikažu. Sunčani časovnici su u to vreme bili najprecizniji ali, tokom oblačnih ili kišovitih dana, potpuno neupotrebljivi. Zato su se konstruktori bacili na posao pokušavajući da pronađu druge načine za merenje vremena. Tako je tadašnja tehnologija lansirala specijalno baždarene i markirane sveće, zatim petrolejske lampe na čijim je rezervoarima bila označena vremenska skala, peščane i vodene časovnike.

Jedan od najstarijih vodenih časovnika pronađen je u grobnici faraona Amenhotepa I, koji je mumificiran oko 1500. godine p.n.e. Na razvoju vodenih časovnika najviše su radili stari Grci. Njihovi usavršeni modeli nazvani su klepsidre, a pored Grka koristili su ih Rimljani i Kinezi. Klepsidre su zasnovane na principu isticanja vode u tankom mlazu iz rezervoara, pri čemu se puni drugi rezervoar sa plovkom; kretanje plovka pomera kazaljku koja pokazuje vreme. Preciznost ovih časovnika nije bila velika, prvenstveno zbog toga što isticanje mlaza vode nije apsolutno ravnomeran proces (i pored toga što su se konstruktori trudili da obezbede konstantan pritisak), ali je njihov značaj u tome što su omogućavali merenje vremena nezavisno od doba dana. Na žalost, zimski uslovi nisu im bili naklonjeni, jer bi se tada voda jednostavno ledila. Antifriz je izmišljen par hiljada godina kasnije.

Zapinjača i klatno

U srednjem veku nije ostvaren nikakav napredak u oblasti merenja vremena - još uvek su važili principi koje su ustanovili Egipćani i Grci. U X veku u Engleskoj, bili su prilično popularni ručni sunčani časovnici. Renesansa u Italiji, pored ostalog, donela je i velike mehaničke časovnike na tornjevima i crkvama u mnogim gradovima - engleska reč clock (časovnik) etimološki je vezana za francusku reč cloche koja znači zvono. Zvona su igrala važnu ulogu u srednjevekovnom životu i sva je prilika da su mehanizmi kojima su ona pokretana na zvonjavu, načinjeni od zupčastih točkova i oscilirajućih ručki, pripremili put za pronalazak mehaničkih časovnika.

Ključni izum koji je omogućio pojavu mehaničkog časovnika je vretenasta zapinjača ( verge escapement ). Bila je to domišljata naprava u kojoj je jednu tešku šipku sa obrtnom tačkom blizu središta, pokretao najpre na jednu, pa na drugu stranu zupčasti točak čiji je pogon obezbeđivao teg obešen o bubanj. Točak je napredovao za po jedan zubac pri svakoj dvosmernoj oscilaciji šipke. Budući da šipka nije imala svoj prirodni period, ritam časovnika zavisio je od pogonskog točka, ali je on bio pod uticajem različitog trenja u pogonskom mehanizmu. Usled toga je tačnost ovakvih časovnika bila niska - odstupanje od četvrt sata dnevno bilo je sasvim uobičajeno, a ni greška od punog sata nije predstavljala čudo.

Pronalazak mehaničkog časovnika predstavljao je odlučujući korak koji je vodio ka opštem prihvatanju sistema računanja vremena u kome su dan i noć zajedno podeljeni na 24 jednaka časa. U Italiji, gde je prvi javni časovnik postavljen u Milanu 1335. godine, časovnici su otkucavali 24 časa još nekoliko narednih vekova. Većina drugih zemalja zapadne Evrope je prihvatila sistem u kome su se časovi računali u dva niza po 12. Sve do sredine XVII veka mehanički časovnici imali su samo jednu kazaljku, a brojčanik je bio podeljen na časove i četvrti.

Potreba naučnika za merenjem kratkih vremenskih intervala još uvek nije bila zadovoljena pronalaskom mehaničkog časovnika sa zapinjačom. U svojim znamenitim eksperimentima sa puštanjem kugle niz strmu ravan, Galileo Galilej je koristio posudu sa vodom sa čijeg bi otvora sklonio palac u trenutku kada je trebalo da započne merenje, i vraćao ga pri kraju. Moderno merenje vremena temelji se na Galilejevom otkriću jednog prirodnog periodičnog procesa koji se može neograničeno ponavljati i brojati - njihajućeg klatna. Galilej je došao do zaključka da svako klatno ima sopstveni period oscilovanja koji zavisi od njegove dužine. Tek je u starosti počeo da razmišlja o ugradnji klatna u satni mehanizam, tako da je umro ne ostvarivši svoju ideju.

Nekoliko godina kasnije, 1656, to je učinio holandski naučnik Kristijan Hajgens, čiji je sat sa klatnom označio početak ere veoma tačnih časovnika. Njihovo odstupanje bilo je malo. desetak sekundi dnevno. Hajgensov doprinos je i u otkriću da Galilejevo klatno, u kome teg opisuje kružni luk, nije izohrono. Teorijski savršen izohronizam (što znači da je period oscilacija isti za sve uglove njihanja) može se postići tako što će se teg naterati da opisuje cikloidalni (cikloida je kriva koju opisuje tačka na kružnici koja se pomera duž prave linije) luk.

Etalon vremena

Tačnost časovnika je proveravana poređenjem sa referentnim događajem, za koji se pouzdano znalo da se dešava uvek u isto vreme. Tokom hiljada godina to je bilo prividno kretanje Sunca, tačnije trenutak kada Sunce dostigne zenit. Ovaj momenat je moguće veoma precizno ustanoviti astronomskim osmatranjima, pa se za bilo koju tačku na Zemljinoj kugli može uspostaviti lokalno vreme, tako što će se časovnik ravnati prema Suncu. U prvoj polovini XIX veka, razvojem saobraćaja, pokazuje se da nije naročito praktično da svako mesto ili grad ima sopstveno vreme.

Kada su Engleska, Škotska i Vels 1840. godine uvele jedinstveno vreme koje je važilo za celo Ostrvo, počinje bitka za standard vremena, uspešno okončana tek u skorije doba. Za referentnu tačku, po kojoj je Ujedinjeno Kraljevstvo usklađivalo časovnike, uzeta je Kraljevska astronomska opservatorija u Griniču ( Greenwich ). Ova opservatorija odigrala je važnu ulogu u pomorskoj navigaciji u vreme britanske dominacije svetskim morima, upravo zbog preciznog registrovanja vremena.

U akciju su stupile i Sjedinjene Američke Države, koje su 1830. osnovale Pomorsku opservatoriju (USNO - United States Naval Observatory ). Na poziv tadašnjeg Predsednika SAD, delegati iz 25 vodećih zemalja okupili su se oktobra 1884. godine u Vašingtonu, na Međunarodnoj konferenciji o meridijanima. Značaj ove konferencije u smislu uspostavljanja standarda bio je ogroman, a onda donete rezolucije važe i danas.

Odlučeno je da se uspostavi jedinstveni sistem meridijana koji će važiti u celom svetu. Za nulti meridijan ( Zero Longitude ) usvojen je onaj koji prolazi kroz Griničku opservatoriju. Zemljina kugla je podeljena sa 24 standardna meridijana (po 12 istočno i zapadno od Griniča). Za univerzalni dan usvojen je srednji sunčani dan koji počinje u ponoć po Griniču i traje 24 sata. Time je uspostavljeno standardno vreme - Greenwich Mean Time (GMT) i Grinič je, kako to Englezi (neskromno) naglašavaju, postao mesto gde počinje prostor i vreme.

Svet je zatim podeljen na 24 časovne zone čijim sredinama prolaze standardni meridijani. Urađene su i izvesne korekcije kako bi neke države ostale u istoj časovnoj zoni. U odnosu na GMT, zapadna područja imaju negativni ofset (istočna obala SAD je u zoni GMT-5) a istočna pozitivni (SR Jugoslavija - GMT+1). Datumska granica prolazi 180. meridijanom, kroz Tihi okean.

Što se tiče merne jedinica za vreme, logično je bilo da se i ona definiše preko astronomskih osmatranja. I dalje su to bili najravnomerniji periodični procesi za koje se znalo. Tako je sekund definisan najpre kao 1/86400 srednjeg sunčanog dana, a zatim kao 1/31,556,925.9747 tropske godine. Koliko je, međutim, nebeska mehanika precizna?

Veličanstveni cezijum 133

Usavršavanjem hronometara postalo je moguće merenje sve manjih delova sekunda. Tridesetih godina ovog veka u upotrebu su ušli časovnici zasnovani na kvarcnim oscilatorima. Još ranije je kod kristala kvarca primećen je piezoelektrični efekat, pojava kod koje pri prolasku električne struje kroz kristal dolazi do mehaničkih oscilacija, a koje za posledicu imaju generisanje električnog signala određene frekvencije. Pošto nemaju delove kojima bi smetalo trenje ili mehaničke vibracije, kvarcni oscilatori su bolja vremenska baza od časovnika sa klatnom. Međutim, učestanost njihovih oscilacija zavisi od veličine i oblika kristala, a nije moguće naći dva sa istim osobinama. Greška koju oni prave iznosi 0.1 - 1 s dnevno.

Kada govorimo o odstupanju, treba imati u vidu da u mehaničkim i kvarcnim časovnicima dolazi do fizičko - hemijskih promena odnosno do "starenja" ( aging ), koje čini da se preciznost časovnika menja tokom njegove eksploatacije. Ukupno odstupanje ( drift ) definiše se kao aging plus odstupanje do koga dolazi usled delovanja nekih spoljnih faktora, na primer trenja ili jačih vibracija kod mehaničkih časovnika ili promene ambijentalne temperature, koja dovodi do promene oblika kristala kod kvarcnih časovnika.

Zbog sve većih zahteva za visoko preciznim merenjima javila se potreba za nekim još temeljnijim vremenskim standardom od svih onih što se mogu dobiti na osnovu astronomskih osmatranja. Jedan takav standard jeste prirodni period karakterističnih elektromagnetnih talasa koje proizvodi neki vibrirajući atom ili molekul. Ovi elektromagnetni talasi, usled osobenih načina vibriranja, odlikuju se veoma tačnom učestanošću i obrazuju oštre linije u spektru. Optičke spektralne linije nisu pogodne za upotrebu kao vremenski standard, jer nema načina da neposredno mere njihove frekvencije. Izvesni atomi, međutim, izazivaju radio učestanosti, a one se neposredno mogu meriti. Atomi cezijuma stvaraju radio talase učestanosti oko 9200 megaherca. Pogodna je okolnost da se ova talasna dužina nalazi u opsegu koji koriste radari, tako da su već bile veoma razvijene elektronske tehnike kojima su se obrađivale navedene frekvencije.

U američkom Nacionalnom institutu za standarde i tehnologiju (NIST) je 1957. godine napravljen prvi atomski cezijumski časovnik. Časovnik se sastojao od radio primopredajnika podešenog da se poklopi sa učestanošću cezijumovog atoma. Oscilirajuće elektromagnetno polje što ga proizvodi primopredajnik nagoni ove atome da rezoniraju kada je frekvencija tačna. Magnetno polje može se podesiti da se veoma tačno poklopi sa atomskim vibracijama. U slučaju cezijumskog časovnika, podešavanje se može izvesti uz tačnost od jednog dela na 100 biliona, što odgovara odstupanju od jednog sekunda u milion godina. Shodno tome, 1967. godine je uvedena nova definicija sekunda iz perspektive prirodnog perioda atoma a ne više nebeskih tela.

Merna jedinica za vreme, sekunda, redefinisana je kao trajanje koje odgovara dužini 9,192,631,770 perioda zračenja atoma cezijuma 133 pri prelasku elektrona između dva hiperfina nivoa osnovnog stanja. Cezijumski atomski časovnici širom sveta određuju etalon vremena. Statističkim metodima se utvrđuje njihovo prosečno dnevno odstupanje (u nanosekundama), a zatim se svi doteruju prema srednjem vremenu. Ova operacija je u nadležnosti Međunarodnog biroa za tegove i mere u Parizu (BIPM). Ovako dobijeno vreme naziva se internacionalno atomsko vreme (TAI). TAI je sinhronizovano sa GMT 1. januara 1958. godine. Uvođenjem nove vremenske baze, odnosno frekvencionog standarda, eksperimentalno je potvrđeno usporavanje Zemljine rotacije. Na otprilike svakih 500 dana, razlika između GMT i TAI poraste na 1 sekund.

Pošto je naš svakodnevni život i dalje pod neprikosnovenim uticajem smene dana i noći odnosno Zemljinog obrtanja oko sopstvene ose, uvedena je nova vremenska skala na osnovu TAI, ali koja se sinhronizuje prema GMT uvek kada se među njima kumulira razlika veća od 0.9 sekunda. Tada se uvodi prestupna sekunda, odnosno 31.6. ili 31.12. godine u kojoj je nastalo navedeno odstupanje nakon 23:59:59 časovnici otkucaju 23:59:60, pa tek onda 00:00:00. U slučaju kada bi se ovakvim dodavanjima greška akumulirala u suprotnom pravcu, sekund bi trebalo oduzeti - nakon 23:59:58 nastupilo bi 00:00:00. Ovakva realizacija standardnog vremena naziva se koordinirano univerzalno vreme ( Coordinated Universal Time - UTC) - ponoć 1. januara 1972. označila je inicijalni otkucaj UTC ere. Poslednja prestupna sekunda bila je 31.12.1995. a trenutna razlika između TAI i UTC je 30 sekundi.

Emitovanje vremena

Kroz istorijat merenja vremena prošli smo gotovo sve periode ljudske civilizacije, počev od drevnih kalendara, preko obeliska u Egiptu, sunčanih, peščanih, vodenih, mehaničkih, kvarcnih i atomskih časovnika do svetskog standarda vremena - UTC. U trenutku kada je svet postao bogatiji za najprecizniji merni standard koji je nauka izmislila, značajno je informaciju o tačnom vremenu podeliti sa drugima, odnosno učiniti je dostupnom najširijim slojevima tehnike, privrede, industrije i stanovništva.

Tačno vreme se u svetu distribuira na više načina. U SAD postoji nekoliko radio predajnika koji emituju kodiranu UTC informaciju. Najpoznatiji su WWV ( Fort Colins, CO ), WWVB ( Boulder, CO ), WWVH ( Kauai, HI ). U Evropi je najpoznatiji predajnik DCF77 u Majnflingenu (Nemačka) koji emituje na frekvenciji od 77.5 kHz. Tu su, zatim satelitski sistemi - GOES na 468 MHz koji je u nadležnosti NIST-a i GPS ( Global Positioning System ), pod kontrolom američkog ministarstva odbrane. GPS je osmišljen kao konstelacija od 24 satelita, svaki u po jednoj vremenskoj zoni; njihova osnovna namena je navigacija, ali pored toga emituju i UTC signal. Američka obalska straža koristi radio navigacijski sistem LORAN-C koji takođe emituje UTC. Najzad tu je i sistem OMEGA, pod kontrolom američke mornarice.

Kada je u pitanju sinhronizovanje računara sa standardnim vremenom, jedan od veoma popularnih servisa u Americi je Automated Computer Time Service (ACTS) koji obezbeđuje NIST. Dovoljno je modemom pozvati (303) 494-4774 i računar će primiti informaciju o vremenu u ASCII obliku. Format informacije je JJJJ YR-MO-DA HH:MM:SS TT L UT1 msADV UTC(NIST) OTM. Pri tome je JJJJ modifikovani julijanski datum (MJD), YR-MO-DA je standardno predstavljanje, godine, meseca i dana, HH:MM:SS je UTC vreme na koje treba primeniti ofset u skladu sa vremenskom zonom. TT može da ima vrednosti od 00 do 99 i označava da li je na snazi standardno vreme (ST - Standard Time ) ili letnje vreme ( Daylight Saving Time - DST). U praksi je tokom ST vrednost 00, a tokom DST vrednost je 50. Prvog dana meseca, kada dolazi do promene ST/DST, ovaj broj se menja u konkretan broj dana do promene vremena, a onda umanjuje za 1 svakog dana, dok ne dostigne nulu na dan smene.

L označava približavanje prestupne sekunde - kada je L=0, prestupne sekunde nema. Jedinica označava da će poslednjeg dana u tekućem mesecu biti ubačena prestupna sekunda, a dvojka da će sekunda biti izbrisana. DUT1 je korekcioni faktor kojim se UTC konvertuje u stariji oblik univerzalnog vremena i može da ima vrednosti između - 0.8 i +0.8 s. msADV označava kompenzaciju koju NIST unosi zbog eventualnog kašnjenja telefonskog signala; standardno iznosi 45 ms.

UTC(NIST) označava "vremenskog provajdera" a OTM ( on-time-marker ) je zvezdica (*). Prosleđeno vreme je regularno tek u trenutku prijema OTM-a, a najbolji rezultati se postižu kada se, posredstvom softvera koji komunicira sa NIST-om, tri puta uzastopno "vrati" OTM, čime se dopušta NIST-u da proračuna realnu vrednost za msADV. ACTS je veoma popularan izvor vremena: 12 telefonskih linija dnevno opsluži oko 10,000 poziva. Prethodno opisano kodiranje vremenske informacije se, inače, naziva Daytime Protocol .

Network Time Protocol

Sredinom osamdesetih godina, kada su u Americi kompjuterske mreže zasnovane na TCP/IP protokolu bile u velikoj ekspanziji, Denis Ferguson ( Dennis Ferguson ) sa Univerziteta u Torontu osmislio je Network Time Protocol - NTP. Kompletnu specifikaciju NTP (RFC-1305) napisao je Dejvid Mils ( David Mills ) sa Univerziteta u Delaveru. NTP je dizajniran za distribuiranje vremenske informacije posredstvom Interneta, pri čemu je poseban akcenat stavljen na pouzdanost. NTP je u stanju da izmeri kašnjenje TCP/IP paketa i proračuna kompenzacioni faktor. Veoma je robustan i u praksi potvrđen, tako da se njegovim korišćenjem može računati na odstupanje od svega 1 do 10 ms od UTC. NTP se može upotrebiti za sinhronizaciju jednog kompjutera ili cele kompjuterske mreže pomoću hijerarhijske strukture servera i klijenata.

U osnovi NTP nalazi se primarni vremenski server, računar koji je neposredno povezan sa referentim izvorom vremena, cezijumskim atomskim časovnikom. Ovakav računar naziva se stratum 1 (latinski: sloj) i na njemu je instaliran NTP softver. Računari opremljeni sličnim softverom, nazovimo ih stratum 2 , komuniciraju posredstvom TCP/IP protokola sa stratumom 1, dobijaju informaciju o tačnom vremenu i sinhronizuju svoje časovnike. Svaki računar na koji je instaliran NTP softver istovremeno je klijent višim stratumima i server nižim. NTP podržava 16 ovakvih nivoa. Idući od stratuma 1 prema nižim nivoima, tačnost opada, ali odstupanje u praksi ne prelazi 100 ms. Da bi se povećala pouzdanost, svaki klijent može imati nekoliko servera u višim stratumima, pri čemu NTP, upoređivanjem dobijenih podataka, smanjuje mogućnost greške.

Na slici 2 su prikazane neke tipične šeme NTP sinhronizacije. Računar BX je sinhronizovan neposredno pomoću primarnog ( stratum 1 ) servera. Računar BY, radi povećanja pouzdanosti, koristi usluge dva primarna servera. LANZ je lokalna mreža firme koja želi da sinhronizuje svoje računare. Upotrebljeno je klasično rešenje: dva računara (B1, B2) su konfigurisana kao vremenski serveri koji su sinhronizovani pomoću tri primarna servera (A1, A2, A3). Ostali računari u firmi (C1, C2, ..., Cn) sinhronizuju se preko lokalnih servera.

NTP je prvobitno razvijen za Unix , ali je njegova puna implementacija sada na raspolaganju i za Windows NT . Kompletan paket se može besplatno preuzeti sa Interneta ( www.eecis.udel.edu/~ntp/software.html ) i koristiti bez ograničenja. Na raspolaganju je obimna dokumentacija, kao i drajveri za skoro sve poznate specijalizovane kartice koje primaju UTC signal posredstvom nekog od navedenih sistema (GPS, GEOS, DCF77...).

Pozabavimo se sada načinom na koji NTP prenosi informaciju o vremenu. NTP vremenska oznaka je 64-bitni neoznačeni broj u fiksnom zarezu i predstavlja broj sekundi proteklih od ponoći 1. januara 1900. godine. Inicijalni otkucaj UTC ere (0h 1.1.1972. MJD 41,317.0) odgovara NTP vremenu 2,272,060,800.0. Prva 32 bita predstavljaju cele sekunde, a ostatak je razlomljeni deo. Rezolucija NTP formata je oko 200 pikosekundi, što je dovoljno i za najezoteričnije primene. Postojeći NTP format omogućava upotrebu do 2036. godine (32 bitni integer registruje maksimalnu vrednost od 4,294,967,295 sekundi, što odgovara intervalu od oko 136 godina i dva meseca). Ukoliko NTP i tada bude bio u upotrebi, moraće da se uspostavi nekakva konvencija za datume u ciklusima od po 136 godina.

Kompletan NTP vremenski paket je prikazan na slici 3. LI ( Leap Indicator ) je dvobitni podatak koji predstavlja upozorenje o prestupnoj sekundi, koje se dodaje/briše poslednjeg minuta tekućeg dana. Kodiranje je sledeće:

LI	Vred.	Značenje
00	0	bez upozorenja
01	1	poslednji minut ima 61 sekund
10	2	poslednji minut ima 59 sekundi
11	3	časovnik nije sinhronizovan

VN - Version Number: tri bita koja predstavljaju tekuću verziju NTP protokola.

Mode: Tri bita koja označavaju trenutni režim definisan na sledeći način:

Mode	Značenje
	0	rezervisano
	1	symmetric active
	2	symmetric passive
	3	klijent
	4	server
	5	broadcast
	6	NTP kontrolna poruka
	7	rezervisano

NTP može da funkcioniše na dva osnovna načina: unicast i broadcast. U prvom slučaju klijenti periodično pozivaju server, a u drugom server periodično kroz mrežu šalje vremenske poruke koje klijenti primaju. U unicast režimu klijent postavi mode na 3 prilikom zahteva za vremenom, a server prilikom odgovora ovu vrednost postavi na 4. U broadcast režimu je mode postavljen na 5.

Stratum: Osam bitova čine neoznačeni ceo broj koji predstavlja nivo sinhronizacije.

Stratum	Značenje
	0	nije naznačen - nedostupan
	1	primarni (link sa DCF77 ili GPS)
	2-15	sinhronizacija preko NTP
	16-255	rezervisano

Poll Interval: Osmobitni označen ceo broj koji definiše maksimalni interval između dve uzastopne vremenske poruke u sekundama zaokružen na najbliži stepen dvojke.

Precision je rezolucija časovnika na klijentu (milisekunde, mikrosekunde), a Reference Clock Identifier bliže objašnjava način na koji server sinhronizuje svoje vreme.

Sledeća polja (T1, T2, T3), kojima ćemo pridodati i T4 (Destination Timestamp), su u standardnom obliku NTP vremenske oznake. Ključ funkcionisanja NTP-a leži u uspostavljanju odgovarajućih odnosa između četiri trenutka. Neka je u trenutku T1 klijent konvertovao vreme na lokalnom časovniku u NTP format i poslao zahtev serveru. U trenutku T2 (prema časovniku servera) server prima zahtev, prevodi svoje lokalno vreme u NTP format i šalje ga natrag klijentu (trenutak T3). Kada poruka stigne do klijenta u trenutku T4 (Destination Timestamp), načinjen je kompletan NTP ciklus, na osnovu koga se može odrediti kašnjenje vremenskog paketa (d) i ofset lokalnog časovnika klijenta (t):

d = (T4 - T1) - (T2 - T3)
c = ((T2 - T1) + (T3 - T4)) / 2

Osnovni metod izgleda prilično jednostavno, ali na scenu stupa statistika, koja će od niza dobijenih vrednosti d i c odrediti "najbolje" i tek onda korigovati vreme na lokalnom časovniku klijenta. Polja Root Delay i Root Dispersion u formatu NTP poruke koristi statistički deo protokola, dok je Authenticator predviđen za eventualnu DES kriptovanu proveru kako bi klijent bio siguran da nije došlo do presretanja TCP/IP paketa i "lažiranja" informacije o vremenu. Najzad, Reference Timestamp označava vreme poslednje sinhronizacije klijenta sa serverom.

Jednostavnije rešenje - SNTP

Za individualne korisnike i manje mreže pogodnije bi bilo ipak neko jednostavnije rešenje. Na sreću, 1995. godine objavljena je pojednostavljena verzija NTP-a, Simplified Network Time Protocol - SNTP.

Jedan od najboljih shareware programa je WinSNTP firme Coetanian Software; preuzmite ga sa www.coetanian.com. Upotreba je veoma jednostavna: nakon instalacije unesite Internet adresu vremenskog servera, što može da bude adresa nekog računara u lokalnoj mreži. Dovoljno je da jedan računar usklađuje svoj časovnik prema nekom spoljnom referentnom izvoru, a WinSNTP će se pobrinuti da isto vreme "vidi" i ostatak računara u mreži. Naravno, najbolje rešenje je nabaviti (ili napraviti) specijalizovanu PC karticu koja bi primala DCF77 radio signal. Na ovaj način praktično se dobija stratum 1 server i postiže visoka tačnost na časovnicima računara u lokalnoj mreži.

Neumreženi korisnici se moraju opredeliti za neki javni vremenski server, recimo tempo.cstv.to.cnr.it (150.145.33.1). Bitno je još razumeti opcije Initial Poll i Max Delta. Po instalaciji programa, Initial Poll je automatski postavljen na 60 s i označava interval između uzastopnih poziva vremenskog servera.

Kod podešavanja vremenskih zona (Set TZ) treba obratiti pažnju na to da WinSNTP koristi jednu nestandardnu konvenciju. Uobičajeno je da područja istočno od Griniča imaju pozitivan, a zapadna negativan ofset u odnosu na UTC. Kod WinSNTP-a, to je obrnuto. Dakle u polju Offset from UTC unećete: -01:00. Autori naglašavaju da će se u narednim verzijama WinSNTP-a primeniti mehanizam iz Windows 95.

WinSNTP u lokalnoj mreži

Atraktivnija je mrežna primena. WinSNTP ćemo staviti u Start Up folder, a u Shortcut Properties postavićemo da se program poziva sa Winsntp.exe -s. Time se postiže da WinSNTP postane potpuno nevidljiv za korisnika: nema ga čak ni na taskbar-u, ali ćemo, ako želimo da promenimo neko podešavanje, morati da restartujemo kompjuter uz brisanje parametra -s. WinSNTP je veoma "pitoma" aplikacija koja ne ugrožava stabilnost sistema, ima skromne memorijske apetite i, ako ste jednom sve dobro podesili, garantovano ćete zaboraviti na WinSNTP, a vreme na vašem računaru će uvek biti ukorak sa standardnim, uz prosečno odstupanje od 100 ms.

WinSNTP podržava broadcast režim, ali samo na nivou klijenta. Ako želite da koristite ovaj režim, vaš vremenski server mora biti zasnovan na potpunom NTP protokolu. U toj situaciji se WinSNTP startuje sa Winsntp.exe -b. Ako vam ovakav način rada nije neophodan, WinSNTP se bez ikakvih problema koristi i na serveru. Preporučeno je da se u slučaju koriščenja SNTP protokola na serveru, sinhronizacija obavi spoljnim izvorom, na primer radio vezom sa DCF77 - ne preporučuje se sinhronizacija preko Interneta. Ako vam ne smeta nešto manja tačnost, (maksimalno odstupanje teško da će preći 200 ms) i ovakav način sinhronizacije je upotrebljiv.

Posebno je zanimljiva mogućnost da WinSNTP radi kao Windows NT servis. Ova opcija nije sastavni deo uobičajene 32-bitne WinSNTP distribucije, već morate preuzeti posebnu arhivu (www.coetanian.com). Ako ste ga podesili kao servis, na raspolaganju su vam uobičajeni NT načini podešavanja. U Control Panel/Services kliknite na WinSNTP Time Synchronization i obavite standardna podešavanja. Na raspolaganju su i dodatne opcije, recimo Allow Interaction with Desktop, gde određujete da li će WinSNTP biti vidljiv, upravo ono što nedostaje na Windows 95.

Ako je vaša jedina želja da svi računari u lokalnoj mreži pokazuju isto vreme koje ne mora da bude besprekorno tačno, WinSNTP ima odgovor. Program će odbaciti NTP poruke koje šalje nesinhronizovani server. Podatak o sinhronizaciji se, da se podsetimo nalazi u prva dva bita NTP poruke. Ako su oba setovana, server nije sinhronizovan. Međutim ako se WinSNTP startuje sa Winsntp.exe -u, zanemariće se ovo upozorenje, pa se dobija izolovana grupa računara čije je vreme usklađeno sa vremenom na serveru, koji možda i ne pokazuje tačno vreme.

Za sladokusce

WinSNTP je izuzetno moćan program, mada na prvi pogled ne deluje atraktivno. Sve potrebne opcije su tu, jednostavan je za korišćenje i korektno obavlja svoj zadatak. Jedino mu se može zameriti nedostatak nekih podešavanja u samom programu i preterana upotreba parametara u komandnoj liniji, ali to i nije neka ozbiljna zamerka. Na Internetu se može pronaći još nekoliko programa koji pristupaju serverima atomskog vremena. Ovi programi su uglavnom zasnovani na SNTP protokolu, mogućnosti su im znatno skromnije, ali su zato vizuelno ubedljiviji.

AtomTime95 pristupa serveru u Koloradu (time-a.timefreq.bldrdoc.gov). Prikazuje UTC vreme na serveru, lokalno vreme na računaru i odstupanje, nakon čega se klikom na Adjust vrši korekcija vremena. Moguće je podesiti i pristup nekom drugom serveru koji vreme emituje u NIST (ACTS) obliku, recimo tycho.usno.navy.mil.

AccuSet 4.1 prikazuje i druge korisne informacije kao što je vreme u nekim svetskim metropolama, a u stanju je i da izgovori tačno vreme, naravno na engleskom. Komercijalna verzija programa pokazuje i astronomske zanimljivosti, (mesečeve mene, pomračenja Sunca). Posetite ourworld.compuserve.com/homepages/retsik_software.

Dimension 4 je veoma upotrebljiva alatka koja se može uspešno koristiti u kombinaciji sa WinSNTP. Osnovna prednost mu je mogućnost definisanja velikog broja servera tako da će se, ako neki od njih "ćuti" automatski uspostaviti veza sa sledećim. (www.thinkman.com/~thinkman).

ID Logic World Time je grafički najatraktivniji program za podešavanje vremena na računaru. Prilikom startovanja vidite animaciju Zemlje koja se okreće oko svoje ose, a zatim se prikazuje karta sveta sa vremenskim zonama i aktivnim časovnicima. Da bi se ubacio Beograd, program treba registrovati (28 dolara); registrovani program omogućava i pristup najvažnijim serverima (NIST i USNO) i sinhronizaciju vremena.

Yet Another Time Synchronizer i Tardis for Windows 95 su programi koji takođe mogu da pristupaju velikom broju servera. YATS veoma pregledno prikazuje tok komunikacije sa serverom i može se upotrebiti za nadgledanje, ako se opredeljujete za neki nov i neproveren vremenski server. I ovi programi do punog izražaja dolaze ako se upotrebljavaju istovremeno sa WinSNTP, jer ga veoma uspešno dopunjavaju tamo gde mu je "Ahilova peta".

RealClock95 na vaš desktop dovodi realistične fotografije satova koji, što je najlepše, rade prikazujući vreme na osnovu internog časovnika. Na raspolaganju je nekoliko veoma lepih klasičnih zidnih satova, a kolekcija uključuje i one sa klatnom ili kukavicom.

Horizonti vremena

Uspostavljanje veze sa etalonima vremena dovodi na vaš računar jedinstveni ritam kojim otkucavaju milioni časovnika širom sveta. Veoma lep osećaj, verujte na reč, pruža saznanje da Internet nije samo Web, ftp ili email , već uvek i nešto više, a upravo se u tim još neotkrivenim potencijalima krije njegova prava snaga. Sinhronizacija vremena je samo jedan korak u nekom budućem globalnom objedinjavanju o kome, sa današnjeg aspekta, ipak može samo da se nagađa.

Razmišljajte i onoj drugoj strani, a to je približavanje 2000. godine i problemi koji će se pojaviti u prilagođavanju postojećih programa i računara. Baš me zanima da li će novi standard biti primenljiv i 1. januara 10000. godine... ili ćemo lopticu kratkovidosti prebaciti budućim generacijama.

Primarno vreme

Prilikom konfiguracije NTP softvera, treba dobro izabrati vremenske servere. Ažurnu listu stratum 1 servera naći ćete na adresi www.eecis.udel.edu/~mills/ntp/ clock1.html. Vodite računa da se opredelite za pouzdan server sa kojim ostvarujete dobru vezu preko Interneta. U praksi je najbolje odlučiti se za oficijelne servere SAD (USNO Master Clock) koji su povezani direktno sa H-maser atomskim časovnicima. Adrese su tick.usno.navy.mil i tock.usno.navy.mil.

Od evropskih servera mogu se izdvojiti tempo.cstv.to.cnr.it, na Elektrotehničkom institutu u Torinu, ntps1-0.cs.tu-berlin.de sa Tehničkog univerziteta u Berlinu ili francuski canon.inria.fr. Ovi serveri nisu neposredno povezani sa atomskim časovnicima, već koriste radio sinhronizaciju, pretežno GPS ili DCF77.

Radio signal tačnog vremena

Ako želite da imate sopstveni stratum 1 vremenski server, najbolje je da nabavite specijalizovanu PC karticu koja će vam obezbediti radio sinhronizaciju sa nekim od atomskih časovnika. Najefikasnije i najjeftinije rešenje (oko 200 DEM) je nabaviti karticu koja prima DCF77 signal. Ovakve kartice sa softverom se prodaju u Conrad -ovim prodavnicama u Nemačkoj, a mnogim časopisima za elektroniku su objavljivane šeme za njihovu samogradnju. Kompletne podatke o radio signalu koji emituje DCF77 naći ćete na www.eecis.udel.edu/~mills/ntp/dcf77.html .

DCF77 je radio predajnik koji se nalazi u Majnflingenu, 25 km jugoistočno od Frankfurta. Emitovani signal tačnog vremena dobija od Fizičko-tehničkog instituta u Braunšvejgu, dok je sam predajnik u nadležnosti nemačke pošte. Snaga predajnika je 50 kW dok se emitovana snaga procenjuje na 25 kW. Visina glavne antene je 150 m, a sporedne 200 m. Predajnik emituje na frekvenciji 77.5 kHz i domet mu je oko 1500 km vazdušnom linijom. Signal se može bez ikakvih problema primiti u severnim delovima SR Jugoslavije, što uključuje i širu okolinu Beograda. Za prijem signala u južnijim predelima neophodna je specijalna antena.

DCF77 emituje oficijelno vreme Nemačke koje je identično našem. U Conrad -u se takođe mogu nabaviti jeftini zidni, stoni i ručni satovi koji primaju ovaj signal i automatski u dugom periodu održavaju besprekorno tačno vreme. Mnogi od ovih satova nemaju mogućnosti podešavanja vremena - dovoljno je samo staviti baterije i sačekati nekoliko minuta - sat sam podesi tačno vreme. Posebno je atraktivna pogodnost automatskog prelaska na letnje i zimsko vreme, kada takođe nije potrebna nikakva intervencija. Kada su u pitanju analogni radio-controlled satovi, primetio sam da neupućene fascinira njihovo samopodešavanje: trenutak kada kazaljke počnu besomučno da se vrte, a potom zaustave na tačnom vremenu, deluje šokantno i izaziva nevericu.

Osim DCF77, u Evropi postoje još dva slična predajnika. TDF u Francuskoj ima snagu od 2000 kW i emituje na frekvenciji od 162 kHz. Servis je dostupan non-stop izuzev utorkom od 02:00 do 06:00 prema srednjeevropskom vremenu. U Engleskoj postoji predajnik MSF koji je lociran u Rugby -ju. Snaga ovog predajnika je 16 kW, a frekvencija emitovanja je 60 kHz. Za TDF i MSF su takođe na raspolaganju kartice za PC, kao i časovnici, ali je sve znatno skuplje nego kada je u pitanju DCF77. Nije mi poznat kvalitet prijema ovih signala u našim krajevima.

SLEDEĆI TEKST U PC #23
nopreview
Miki Maus i programiranje
Voja Antonić


Nordeus

BIZIT plus

DigitalDay

Računari i Galaksija


YuNet

PC Press Studio

Čitaj PC Press

Excel kuhinjica

.

PC
Twitter Facebook Feed Newsletter