%!PS-Adobe-1.0 %%Title: GEM Document %%Creator: GEM %%Pages: (atend) %%BoundingBox: 0 0 611 791 %%EndComments % Copyright (C) Digital Research, Inc. 1986-1988. All rights reserved. systemdict /setpacking known {/svp currentpacking def true setpacking}if /gemdict 250 dict def gemdict begin /bd{bind def}bind def /ed{exch def}bind def % User defined Start of Page procedure: this operator will be % executed at the beginning of each page output through GEM % and is provided to allow user-defined page initialization. /UserSoP{}bd % Halftone screen spot function procedure array: this array is indexed % into as follows: 0 = dot screen, 1 = line screen, 2 = ellipse screen, % 3 = custom (user-definable) screen. /ScreenProc[ { % Dot screen abs exch abs 2 copy add 1 gt{ 1 sub dup mul exch 1 sub dup mul add 1 sub}{ dup mul exch dup mul add 1 exch sub}ifelse}bind { % Line screen pop}bind { % Ellipse screen dup 5 mul 8 div mul exch dup mul exch add sqrt 1 exch sub}bind { % Custom screen dup mul exch dup mul add sqrt 1 exch sub}bind ]def /GEMINISUB{pop pop pop pop pop}bd /GEMINIDOC{dup userdict exch known{cvx exec}{pop}ifelse /#copies ed settray statusdict /setpageparams known {statusdict begin 0 1 setpageparams end}{pop pop}ifelse}bd /geminit{np 1 setlinejoin /mpf true def /cmat matrix def /smat matrix def /rmat matrix def /encstr 80 string def /patname null def /patbits null def gs}bd /GEMMATSUB{pop pop pop pop gr 72 300 div exch div dup scale gs}bd /GEMMATINI{/landscape ed /p3 ed /p2 ed /p1 ed gr 72 300 div exch div dup scale clippath pathbbox exch /prx ed exch dup /ply ed sub 1 add p3 sub 2 div ply add /ty ed dup prx exch sub 1 add p2 sub 2 div add landscape{p1 add}if ty translate landscape{90 rotate}if gs}bd /gr /grestore load def /np /newpath load def /cp /currentpoint load def /gi /getinterval load def /lto /lineto load def /mto /moveto load def /cto /curveto load def /clw /currentlinewidth load def /gs /gsave load def /greset{gr gs}bd /settray{dup 0 lt mf dup 0 ge{tray}{pop}ifelse}bd /mf{statusdict /manualfeed known {statusdict begin /manualfeed ed end}{pop}ifelse}bd /tray{statusdict begin true product(Dataproducts LZR 1260)eq{not exch dup 2 gt{pop 0}if dup 0 eq{pop defaultpapertray}if setpapertray}if product(QMS-PS 1200)eq product(Silentwriter)eq or{not exch dup 1 gt {pop 0}if defaultpapertray exch 0 ne{3 exch sub}if setpapertray}if product dup(PrintServer 40)eq exch(QMS-PS 2400)eq or{ not exch dup 2 gt{pop 0}if dup 0 eq{pop defaultpapertray} {dup defaultpapertray ge{1 add}if}ifelse setpapertray}if {statusdict /defaultpapertray known statusdict /setpapertray known and {defaultpapertray exch 0 ne{1 exch sub}if setpapertray} {pop}ifelse}if end}bd /R{findfont begin currentdict dup maxlength dict begin {1 index /FID ne{def}{pop pop}ifelse}forall /FontName ed dup length 0 ne{ /Encoding Encoding 256 array copy def 0 exch {dup type /nametype eq{ Encoding 2 index 2 index put pop 1 add} {exch pop}ifelse}forall}if pop currentdict dup end end /FontName get exch definefont pop}bd /gemenvec[8#200 /Ccedilla 8#201 /udieresis 8#202 /eacute 8#203 /acircumflex 8#204 /adieresis 8#205 /agrave 8#206 /aring 8#207 /ccedilla 8#210 /ecircumflex 8#211 /edieresis 8#212 /egrave 8#213 /idieresis 8#214 /icircumflex 8#215 /igrave 8#216 /Adieresis 8#217 /Aring 8#220 /Eacute 8#221 /ae 8#222 /AE 8#223 /ocircumflex 8#224 /odieresis 8#225 /ograve 8#226 /ucircumflex 8#227 /ugrave 8#230 /ydieresis 8#231 /Odieresis 8#232 /Udieresis 8#233 /cent 8#234 /sterling 8#235 /yen 8#236 /currency 8#237 /florin 8#240 /aacute 8#241 /iacute 8#242 /oacute 8#243 /uacute 8#244 /ntilde 8#245 /Ntilde 8#246 /ordfeminine 8#247 /ordmasculine 8#250 /questiondown 8#251 /quotedblleft 8#252 /quotedblright 8#253 /guilsinglleft 8#254 /guilsinglright 8#255 /exclamdown 8#256 /guillemotleft 8#257 /guillemotright 8#260 /atilde 8#261 /otilde 8#262 /Oslash 8#263 /oslash 8#264 /oe 8#265 /OE 8#266 /Agrave 8#267 /Atilde 8#270 /Otilde 8#271 /section 8#272 /daggerdbl 8#273 /dagger 8#274 /paragraph 8#300 /quotedblbase 8#301 /ellipsis 8#302 /perthousand 8#303 /bullet 8#304 /endash 8#305 /emdash 8#306 /ring 8#307 /Aacute 8#310 /Acircumflex 8#311 /Egrave 8#312 /Ecircumflex 8#313 /Edieresis 8#314 /Igrave 8#315 /Iacute 8#316 /Icircumflex 8#317 /Idieresis 8#320 /Ograve 8#321 /Oacute 8#322 /Ocircumflex 8#323 /Scaron 8#324 /scaron 8#325 /Ugrave 8#326 /Uacute 8#327 /Ucircumflex 8#330 /Ydieresis 8#331 /germandbls 8#332 /Zcaron 8#333 /zcaron 8#334 /fraction 8#335 /space 8#336 /space 8#337 /space 8#340 /grave 8#341 /acute 8#342 /circumflex 8#343 /tilde 8#344 /dieresis 8#345 /ring 8#346 /cedilla 8#347 /caron version(23.0)eq{8#275 /space 8#276 /space 8#277 /space} {8#275 /copyright 8#276 /registered 8#277 /trademark}ifelse]def /addfont{fonts exch fpt exch put /fpt fpt 1 add def}bd /encfont{gemenvec exch fonts exch get dup encstr cvs length 1 sub encstr exch 1 exch getinterval cvn R}bd /dpath{mto{lto}repeat}bd /path{np dpath}bd /addpath{lto{lto}repeat}bd /rxy{.25 sub round .25 add}bd /rpt{transform rxy exch rxy exch itransform}bd /fa{np rpt mto 3{rpt lto}repeat}bd /circle{np 0 0 1 0 360 arc}bd /dot{gs np 2 copy mto lto 1 setlinecap stroke gr}bd /rend{gs 1 setlinecap np mto cp 0.1 add lto stroke gr}bd /rl{gs 1 setlinecap stroke gr}bd /vl{dup /st ed dup apath exch get tx sub dup mul exch 1 add apath exch get ty sub dup mul add sqrt}bd /doarrow{/rot ed /ty ed /tx ed 6 array currentmatrix tx ty translate clw 4 lt{4}{clw}ifelse dup scale rot rotate np 0 0 mto -3 1.5 lto -3 -1.5 lto fill setmatrix}bd /arpath{np apath 0 get apath 1 get mto 2 2 points 1 sub {dup apath exch get exch 1 add apath exch get lto}for}bd /arrowline{/apath ed /lend ed /lbeg ed /len clw 3 mul def /points apath length def lbeg {apath 0 get dup /tx ed /x1 ed apath 1 get dup /ty ed /y1 ed true 2 2 points 1 sub {vl len ge{pop false exit}if}for {/lbeg false def /lend false def} {apath 2 apath st points st sub gi putinterval /r1 y1 apath 3 get sub x1 apath 2 get sub atan def apath 0 x1 r1 cos len mul sub put apath 1 y1 r1 sin len mul sub put /points points st 2 sub sub def}ifelse}if lend{apath points 2 sub get dup /tx ed /x2 ed apath points 1 sub get dup /ty ed /y2 ed true points 4 sub -2 0 {vl len ge{pop false exit}if}for {/lbeg false def /lend false def} {/r2 y2 apath st 1 add get sub x2 apath st get sub atan def /st st 2 add def apath st x2 r2 cos len mul sub put apath st 1 add y2 r2 sin len mul sub put /points st 2 add def}ifelse}if lbeg{x1 y1 r1 doarrow}if lend{x2 y2 r2 doarrow}if arpath}bd /ac{6 array currentmatrix xt yt translate xs ys scale}bd /shorten{dup mul exch dup mul add sqrt clw 150 mul exch div}bd /xang{dup 360 ge{360}{0}ifelse exch dup sin xs mul exch cos ys mul atan dup 360 lt{add}{exch pop}ifelse}bd /arrowarc{/eang ed /bang ed /ys ed /xs ed /yt ed /xt ed /lend ed /lbeg ed ac np 0 0 1 bang xang eang xang arc setmatrix cp /y2 ed /x2 ed ac np 0 0 1 bang xang dup arc setmatrix cp /y1 ed /x1 ed lbeg {/bang bang xs ys shorten add def}if lend{/eang eang xs ys shorten sub def}if ac np 0 0 1 bang xang eang xang arc setmatrix gs stroke gr lend{x2 y2 cp y2 exch sub exch x2 exch sub atan doarrow}if lbeg{ac np 0 0 1 bang xang dup arc setmatrix x1 y1 cp y1 exch sub exch x1 exch sub atan doarrow}if}bd /rbox{/ury ed /urx ed /lly ed /llx ed urx llx sub 4 div dup 50 gt{pop 50}if /radius ed ury lly sub 4 div dup radius gt{pop radius}if /radius ed np urx radius sub ury mto llx ury llx lly radius arcto 4{pop}repeat llx lly urx lly radius arcto 4{pop}repeat urx lly urx ury radius arcto 4{pop}repeat urx ury llx ury radius arcto 4{pop}repeat}bd /marker{1 sub mdef exch get /mproc ed 32 div /msize ed {gs np translate msize dup scale mproc stroke gr}repeat}bd /mdef[{0 0 mto 1 0 lto 1 1 lto 0 1 lto closepath}bind {-16 0 mto 16 0 lto 0 -16 mto 0 16 lto}bind {0 -16 mto 0 16 lto 13.9 8 mto -13.9 -8 lto 13.9 -8 mto -13.9 8 lto}bind {16 16 mto -16 16 lto -16 -16 lto 16 -16 lto closepath}bind {16 16 mto -16 -16 lto -16 16 mto 16 -16 lto}bind {16 0 mto 0 16 lto -16 0 lto 0 -16 lto closepath}bind]def /bon{2 mul exch dup 3 1 roll 8 idiv add pstr exch get exch 8 mod 7 exch sub 1 exch bitshift and 0 ne}bd /bpsf{1 add 8 mul cvi exch 1 add 8 mul cvi exch bon {/onb onb 1 add def 1}{/ofb ofb 1 add def 0}ifelse}bd /frs{72 0 rmat defaultmatrix dtransform dup mul exch dup mul add sqrt}bd /sus{/m cmat currentmatrix def /sm 32 dup smat scale def sm m m concatmatrix pop 1 0 m dtransform dup abs 0.1 gt{exch 90}{0}ifelse exch pop exch dup 0 lt{exch 180 add exch neg}if frs exch div exch /bpsf load setscreen}bd /setpat{/onb 0 def /ofb 0 def sus{}settransfer ofb ofb onb add div setgray}bd /ellpie{/pie ed /eang ed /bang ed /ys ed /xs ed /yt ed /xt ed 6 array currentmatrix xt yt translate xs ys scale np pie{0 0 mto}if 0 0 1 bang xang eang xang arc setmatrix}bd /roundarc{gs 1 setlinecap cp np mto cp lto stroke gr}bd /ss{currentscreen /scp ed /sca ed /scf ed dup 0 lt{pop}{ScreenProc exch get /scp ed}ifelse dup 0 lt{pop}{/sca ed}ifelse dup 0 le{pop}{/scf ed}ifelse scf sca /scp load setscreen}bd /grayimg{{vrep 0.1 gt{/vrep vrep 1 sub def}{ {currentfile token pop 0 eq {currentfile scan readhexstring pop pop exit} {/vrep currentfile token pop def}ifelse }loop}ifelse scan}image}bd /fstimg{{vrep 0.1 gt{/vrep vrep 1 sub def}{ {currentfile token pop 0 eq {currentfile scan readhexstring pop pop exit} {/vrep currentfile token pop def}ifelse }loop}ifelse scan}imagemask}bd /decode{/patstring patlen string def /bonestr 1 string def {vrep 0.1 gt{/vrep vrep 1 sub def scan} {/spos 0 def {currentfile token pop currentfile token pop exch imop exch get exec spos smax ge {scan exit}if}loop}ifelse}imagemask}bd /imop[{ psc}bind {<00> psc}bind {currentfile patstring readhexstring pop psc}bind {1 exch 1 exch {pop currentfile bonestr readhexstring pop scan exch spos exch 0 get put /spos spos 1 add def}for}bind {1 sub /vrep ed}bind]def /psc{dup length /plen ed exch -1 1 {pop dup scan exch spos exch putinterval /spos spos plen add def}for pop}bd /gtext{gs /msg ed /ty ed /tx ed tx ty translate trotate rotate 10 setflat horz halign get exec vert valign get exec np tx ty mto msg show tunder {cp cp extents pop pop 5 div dup neg setlinewidth [] 0 setdash 1.5 mul ty add /ty ed pop np pop ty mto tx ty lto stroke np mto}if gr}bd /etext{gs translate trotate rotate /tx 0 def /ty 0 def {tx add dup /tx ed np ty mto show}repeat gr}bd /jtext{/msg ed /sps ed /dx ed /ty ed /tx ed gs tx ty translate trotate rotate 10 setflat jhorz halign get exec vert valign get exec msg stringwidth pop dx exch sub sps 0 eq{pop 0}{sps div}ifelse /xsp ed msg jo gr}bd /fet{gs translate /tx 0 def /ty 0 def {tx add dup /tx ed np ty mto show}repeat gr}bd /fjt{/msg ed /sps ed /dx ed /ty ed gs ty translate 10 setflat /tx 0 def /ty 0 def msg stringwidth pop dx exch sub sps 0 eq{pop 0}{sps div}ifelse /xsp ed msg jo gr}bd /tsel{tszabs{dup /FontBBox get aload pop exch pop dup 3 1 roll exch sub exch dup 0 eq{pop pop 1.25}{div}ifelse exch pop}{1}ifelse}bd /sf{fonts tface get findfont tsel dup txscale mul exch tyscale mul matrix scale makefont setfont}bd /jo{xsp exch 0 exch 32 exch np tx ty mto widthshow tunder {cp cp extents pop pop 5 div dup neg setlinewidth 1.5 mul ty add /ty ed []0 setdash pop np pop ty mto tx ty lto stroke np mto}if}bd /horz[{/tx 0 def}bind {msg stringwidth pop -2 div /tx ed}bind {msg stringwidth pop neg /tx ed}bind]def /extents{(_)bbox pop pop msg stringwidth pop (])bbox 3{exch pop}repeat}bd /bbox{np 0 0 mto false charpath flattenpath pathbbox np}bd /vert[{/ty 0 def}bind {extents -2 div /ty ed pop pop pop}bind {extents neg /ty ed pop pop pop}bind {extents pop pop neg /ty ed pop}bind]def /jhorz[{/tx 0 def}bind {/tx dx -2 div def}bind {/tx dx neg def}bind]def /symindex 12 def /CR{/ah 0 def}bd /LF{0 -50 translate}bd /atext{gs np ah av mto show tunder{cp cp (_)bbox pop pop exch pop 5 div dup neg setlinewidth 1.5 mul add dup ah exch [] 0 setdash np mto lto stroke np mto}if cp pop /ah ed gr}bd /colmap[ [1 1 1] [0 0 0] [1 0 0] [0 1 0] [0 0 1] [0 1 1] [1 1 0] [1 0 1] [.5 .5 .5] [0 0 0] [.5 0 0] [0 .5 0] [0 0 .5] [0 .5 .5] [.5 .5 0] [.5 0 .5] ]def /sci{colmap exch get aload pop setrgbcolor}bd /stint{/tint ed currentrgbcolor 3{dup 0 eq{pop tint}if 3 1 roll}repeat setrgbcolor}bd end /vpdict 1 dict def systemdict /setpacking known{svp setpacking}if %%EndProlog gsave currentdict /gemdict known not { /Times-Roman findfont 12 scalefont setfont newpath 72 700 moveto (Error: the GEM PostScript preamble is not available on your)show newpath 72 686 moveto ( printer. Pre-download the preamble or include it with)show newpath 72 672 moveto( your print job.)show newpath 72 658 moveto(This print job has been aborted.)show showpage stop}if gemdict begin 684 864 0 1 /letter GEMINIDOC geminit 1 2549 2550 3300 false GEMMATINI /fonts 128 array def /fpt 0 def /GCourier addfont /GCourier-Bold addfont /GCourier-Oblique addfont /GCourier-BoldOblique addfont /GHelvetica addfont /GHelvetica-Bold addfont /GHelvetica-Oblique addfont /GHelvetica-BoldOblique addfont /GTimes-Roman addfont /GTimes-Bold addfont /GTimes-Italic addfont /GTimes-BoldItalic addfont /Symbol addfont /GAvantGarde-Book addfont /GAvantGarde-BookOblique addfont /GAvantGarde-Demi addfont /GAvantGarde-DemiOblique addfont /GBookman-Light addfont /GBookman-LightItalic addfont /GBookman-Demi addfont /GBookman-DemiItalic addfont /GHelvetica-Narrow addfont /GHelvetica-Narrow-Oblique addfont /GHelvetica-Narrow-Bold addfont /GHelvetica-Narrow-BoldOblique addfont /GPalatino-Roman addfont /GPalatino-Italic addfont /GPalatino-Bold addfont /GPalatino-BoldItalic addfont /GNewCenturySchlbk-Roman addfont /GNewCenturySchlbk-Italic addfont /GNewCenturySchlbk-Bold addfont /GNewCenturySchlbk-BoldItalic addfont /GZapfChancery-MediumItalic addfont /ZapfDingbats addfont /GAmericanTypewriter-Medium addfont /GAmericanTypewriter-Bold addfont /GBenguiat-Book addfont /GBenguiat-Bold addfont /GBodoni addfont /GBodoni-Italic addfont /GBodoni-Bold addfont /GBodoni-BoldItalic addfont /GBodoni-Poster addfont /GCenturyOldStyle-Regular addfont /GCenturyOldStyle-Italic addfont /GCenturyOldStyle-Bold addfont /GCheltenham-Book addfont /GCheltenham-BookItalic addfont /GCheltenham-Bold addfont /GCheltenham-BoldItalic addfont /GFranklinGothic-Book addfont /GFranklinGothic-BookOblique addfont /GFranklinGothic-Demi addfont /GFranklinGothic-DemiOblique addfont /GFranklinGothic-Heavy addfont /GFranklinGothic-HeavyOblique addfont /GFrizQuadrata addfont /GFrizQuadrata-Bold addfont /GGalliard-Roman addfont /GGalliard-Italic addfont /GGalliard-Bold addfont /GGalliard-BoldItalic addfont /GGaramond-Light addfont /GGaramond-LightItalic addfont /GGaramond-Bold addfont /GGaramond-BoldItalic addfont /GGlypha addfont /GGlypha-Oblique addfont /GGlypha-Bold addfont /GGlypha-BoldOblique addfont /GGoudy addfont /GGoudy-Italic addfont /GGoudy-Bold addfont /GGoudy-BoldItalic addfont /GHelvetica-Light addfont /GHelvetica-LightOblique addfont /GHelvetica-Black addfont /GHelvetica-BlackOblique addfont /GHelvetica-Condensed-Light addfont /GHelvetica-Condensed-LightObl addfont /GHelvetica-Condensed addfont /GHelvetica-Condensed-Oblique addfont /GHelvetica-Condensed-Bold addfont /GHelvetica-Condensed-BoldObl addfont /GHelvetica-Condensed-Black addfont /GHelvetica-Condensed-BlackObl addfont /GKorinna-Regular addfont /GKorinna-KursivRegular addfont /GKorinna-Bold addfont /GKorinna-KursivBold addfont /GLetterGothic addfont /GLetterGothic-Slanted addfont /GLetterGothic-Bold addfont /GLetterGothic-BoldSlanted addfont /GLubalinGraph-Book addfont /GLubalinGraph-BookOblique addfont /GLubalinGraph-Demi addfont /GLubalinGraph-DemiOblique addfont /GMachine addfont /GMelior addfont /GMelior-Italic addfont /GMelior-Bold addfont /GMelior-BoldItalic addfont /GNewBaskerville-Roman addfont /GNewBaskerville-Italic addfont /GNewBaskerville-Bold addfont /GNewBaskerville-BoldItalic addfont /GOptima addfont /GOptima-Oblique addfont /GOptima-Bold addfont /GOptima-BoldOblique addfont /GOrator addfont /GOrator-Slanted addfont /GParkAvenue addfont /GPrestigeElite addfont /GPrestigeElite-Slanted addfont /GPrestigeElite-Bold addfont /GPrestigeElite-BoldSlanted addfont /Sonata addfont /GSouvenir-Light addfont /GSouvenir-LightItalic addfont /GSouvenir-Demi addfont /GSouvenir-DemiItalic addfont /GTrumpMediaeval-Roman addfont /GTrumpMediaeval-Italic addfont /GTrumpMediaeval-Bold addfont /GTrumpMediaeval-BoldItalic addfont /svobj save def %Begin page UserSoP greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 3374 2624 3374 2624 -75 -75 -75 np mto lto lto lto clip np /tface 5 def 5 encfont /mpf true def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 1743 473 3 (Status of this Memo)fjt /tface 8 def 8 encfont sf 300 1655 1950 12 (This document describes the Network Time Protocol \(NTP\), specifies its formal structure and)fjt (o)14 (t)25 ( )20 (s)40 (m)20 (s)14 (i)26 (n)23 (a)26 (h)22 (c)23 (e)40 (m)25 ( )22 (e)26 (h)15 (t)25 ( )20 (s)22 (e)26 (d)15 (i)25 (v)26 (o)17 (r)26 (p)25 ( )29 (P)31 (T)37 (N)25 ( )13 (.)26 (n)25 (o)15 (i)15 (t)23 (a)14 (t)26 (n)23 (e)40 (m)23 (e)15 (l)26 (p)40 (m)14 (i)25 ( )21 (s)14 (t)15 (i)25 ( )18 (r)26 (o)17 (f)25 ( )15 (l)26 (u)17 (f)23 (e)21 (s)26 (u)25 ( )26 (n)26 (o)14 (i)15 (t)23 (a)40 (m)17 (r)26 (o)18 (f)26 (n)15 (i)25 ( )20 (s)23 (e)23 (z)15 (i)17 (r)23 (a)40 (m)40 (m)26 (u)20 (s)0 84 300 1597 fet 300 1539 1788 13 (synchronize time and coordinate time distribution in a large, diverse internet operating at ra)fjt 2088 1539 162 1 (tes from)fjt 300 1481 1867 15 (mundane to lightwave. It uses a returnable-time design in which a distributed subnet of time ser)fjt 2167 1481 83 0 (vers)fjt 300 1422 1859 8 (operating in a self-organizing, hierarchical-master-slave configuration synchronizes local cl)fjt 2159 1422 91 0 (ocks)fjt 300 1364 1834 16 (within the subnet and to national time standards via wire or radio. The servers can also redist)fjt 2134 1364 116 0 (ribute)fjt 300 1306 1237 8 (reference time via local routing algorithms and time daemons.)fjt 300 1219 1845 12 (This is an Internet Standard Recommended Protocol. Distribution of this memo is unlimited.)fjt 300 1131 1874 8 (Keywords: network clock synchronization, standard time distribution, fault-tolerant architect)fjt 2174 1131 76 0 (ure,)fjt 300 1073 1782 7 (maximum-likelihood estimation, disciplined oscillator, internet protocol, formal specifica)fjt 2082 1073 90 0 (tion.)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset 483 2746 2068 2746 2068 1832 483 1832 np mto lto lto lto clip np greset 483 2746 2068 2746 2068 1832 483 1832 np mto lto lto lto clip np /tface 5 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1400 3 mul 72 div def /tyscale 1400 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf (\))32 (2)16 ( )36 (n)35 (o)16 (i)33 (s)22 (r)32 (e)36 (V)19 (\()16 ( )16 (l)36 (o)32 (c)36 (o)19 (t)35 (o)23 (r)39 (P)16 ( )32 (e)52 (m)16 (i)34 (T)16 ( )32 (k)23 (r)35 (o)46 (w)19 (t)32 (e)42 (N)0 33 804 2306 fet (n)35 (o)16 (i)19 (t)33 (a)19 (t)35 (n)33 (e)51 (m)33 (e)16 (l)35 (p)52 (m)16 (I)16 ( )35 (d)36 (n)32 (a)16 ( )36 (n)35 (o)16 (i)19 (t)33 (a)32 (c)16 (i)19 (f)16 (i)32 (c)33 (e)35 (p)39 (S)0 32 813 2238 fet greset 483 2746 2068 2746 2068 1832 483 1832 np mto lto lto lto clip np greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 3368 2624 3368 2624 1727 -75 1727 np mto lto lto lto clip np /tface 4 def 4 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 3034 532 2 (Network Working Group)fjt 1954 3034 296 2 (David L. Mills)fjt 300 2976 651 3 (Request for Comments: 1119)fjt 1752 2976 498 2 (University of Delaware)fjt 300 2918 712 2 (Obsoletes: RFC-1059, RFC-958)fjt 1882 2918 369 1 (September 1989)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 474 2624 474 2624 -75 -75 -75 np mto lto lto lto clip np /tface 4 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 279 100 0 (Mills)fjt 2109 279 141 1 (Page i)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np %End page showpage svobj restore gr gs /svobj save def %Begin page UserSoP greset -75 3374 2624 3374 2624 -75 -75 -75 np mto lto lto lto clip np /tface 5 def 5 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2841 421 2 (Table of Contents)fjt /tface 8 def 8 encfont sf 300 2729 38 0 (1.)fjt 450 2729 259 1 ( Introduction)fjt 713 2729 1500 40 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .)fjt 2225 2729 25 0 (1)fjt 300 2671 75 0 (1.1.)fjt 450 2671 415 2 ( Related Technology)fjt 900 2671 1313 35 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .)fjt 2225 2671 25 0 (2)fjt 300 2613 38 0 (2.)fjt 450 2613 420 2 ( System Architecture)fjt 900 2613 1313 35 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .)fjt 2225 2613 25 0 (3)fjt 300 2554 75 0 (2.1.)fjt 450 2554 470 2 ( Implementation Model)fjt 938 2554 1275 34 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .)fjt 2225 2554 25 0 (4)fjt 300 2496 75 0 (2.2.)fjt 450 2496 498 2 ( Network Configurations)fjt 975 2496 1238 33 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .)fjt 2225 2496 25 0 (5)fjt 300 2438 75 0 (2.3.)fjt 450 2438 413 3 ( The NTP Timescale)fjt 900 2438 1313 35 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .)fjt 2225 2438 25 0 (7)fjt 300 2380 75 0 (2.4.)fjt 450 2380 389 3 ( The NTP Calendar)fjt 863 2380 1350 36 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .)fjt 2225 2380 25 0 (8)fjt 300 2321 75 0 (2.5.)fjt 450 2321 725 4 ( Time and Frequency Dissemination)fjt 1200 2321 975 26 ( . . . . . . . . . . . . . . . . . . . . . . . . . .)fjt 2200 2321 50 0 (10)fjt 300 2263 38 0 (3.)fjt 450 2263 486 3 ( Network Time Protocol)fjt 938 2263 1238 33 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .)fjt 2200 2263 50 0 (11)fjt 300 2205 75 0 (3.1.)fjt 450 2205 282 2 ( Data Formats)fjt 750 2205 1425 38 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .)fjt 2200 2205 50 0 (11)fjt 300 2147 75 0 (3.2.)fjt 450 2147 632 4 ( State Variables and Parameters)fjt 1088 2147 1088 29 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . .)fjt 2200 2147 50 0 (12)fjt 300 2088 113 0 (3.2.1.)fjt 450 2088 401 2 ( Common Variables)fjt 863 2088 1313 35 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .)fjt 2200 2088 50 0 (12)fjt 300 2030 113 0 (3.2.2.)fjt 450 2030 362 2 ( System Variables)fjt 825 2030 1350 36 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .)fjt 2200 2030 50 0 (14)fjt 300 1972 113 0 (3.2.3.)fjt 450 1972 304 2 ( Peer Variables)fjt 788 1972 1388 37 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .)fjt 2200 1972 50 0 (16)fjt 300 1914 113 0 (3.2.4.)fjt 450 1914 348 2 ( Packet Variables)fjt 825 1914 1350 36 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .)fjt 2200 1914 50 0 (17)fjt 300 1855 113 0 (3.2.5.)fjt 450 1855 454 3 ( Clock Filter Variables)fjt 938 1855 1238 33 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .)fjt 2200 1855 50 0 (17)fjt 300 1797 113 0 (3.2.6.)fjt 450 1797 233 1 ( Parameters)fjt 713 1797 1463 39 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .)fjt 2200 1797 50 0 (18)fjt 300 1739 75 0 (3.3.)fjt 450 1739 414 3 ( Modes of Operation)fjt 900 1739 1275 34 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .)fjt 2200 1739 50 0 (19)fjt 300 1681 75 0 (3.4.)fjt 450 1681 357 2 ( Event Processing)fjt 825 1681 1350 36 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .)fjt 2200 1681 50 0 (21)fjt 300 1622 113 0 (3.4.1.)fjt 450 1622 406 2 ( Transmit Procedure)fjt 863 1622 1313 35 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .)fjt 2200 1622 50 0 (21)fjt 300 1564 113 0 (3.4.2.)fjt 450 1564 387 2 ( Receive Procedure)fjt 863 1564 1313 35 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .)fjt 2200 1564 50 0 (23)fjt 300 1506 113 0 (3.4.3.)fjt 450 1506 359 2 ( Packet Procedure)fjt 825 1506 1350 36 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .)fjt 2200 1506 50 0 (24)fjt 300 1448 113 0 (3.4.4.)fjt 450 1448 509 2 ( Primary-clock procedure)fjt 975 1448 1200 32 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .)fjt 2200 1448 50 0 (26)fjt 300 1389 113 0 (3.4.5.)fjt 450 1389 492 2 ( Clock-update procedure)fjt 975 1389 1200 32 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .)fjt 2200 1389 50 0 (27)fjt 300 1331 113 0 (3.4.6.)fjt 450 1331 481 2 ( Initialization Procedure)fjt 938 1331 1238 33 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .)fjt 2200 1331 50 0 (28)fjt 300 1273 113 0 (3.4.7.)fjt 450 1273 334 2 ( Clear Procedure)fjt 788 1273 1388 37 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .)fjt 2200 1273 50 0 (29)fjt 300 1215 113 0 (3.4.8.)fjt 450 1215 454 2 ( Poll-update procedure)fjt 938 1215 1238 33 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .)fjt 2200 1215 50 0 (30)fjt 300 1156 75 0 (3.5.)fjt 450 1156 452 3 ( Access Control Issues)fjt 938 1156 1238 33 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .)fjt 2200 1156 50 0 (30)fjt 300 1098 38 0 (4.)fjt 450 1098 705 4 ( Filtering and Selection Algorithms)fjt 1163 1098 1013 27 ( . . . . . . . . . . . . . . . . . . . . . . . . . . .)fjt 2200 1098 50 0 (31)fjt 300 1040 75 0 (4.1.)fjt 450 1040 456 2 ( Clock-filter procedure)fjt 938 1040 1238 33 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .)fjt 2200 1040 50 0 (31)fjt 300 982 75 0 (4.2.)fjt 450 982 536 2 ( Clock-selection procedure)fjt 1013 982 1163 31 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .)fjt 2200 982 50 0 (32)fjt 300 923 38 0 (5.)fjt 450 923 277 2 ( Local Clocks)fjt 750 923 1425 38 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .)fjt 2200 923 50 0 (34)fjt 300 865 75 0 (5.1.)fjt 450 865 417 2 ( Standard Oscillators)fjt 900 865 1275 34 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .)fjt 2200 865 50 0 (34)fjt 300 807 75 0 (5.2.)fjt 450 807 428 2 ( Mathematical Model)fjt 900 807 1275 34 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .)fjt 2200 807 50 0 (36)fjt 300 749 75 0 (5.3.)fjt 450 749 511 2 ( Fuzzball Implementation)fjt 975 749 1200 32 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .)fjt 2200 749 50 0 (38)fjt 300 690 75 0 (5.4.)fjt 450 690 577 3 ( Uniform Phase Adjustments)fjt 1050 690 1125 30 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .)fjt 2200 690 50 0 (39)fjt 300 632 75 0 (5.5.)fjt 450 632 652 3 ( Nonuniform Phase Adjustments)fjt 1125 632 1050 28 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . .)fjt 2200 632 50 0 (40)fjt 300 574 75 0 (5.6.)fjt 450 574 564 4 ( Maintaining Date and Time)fjt 1050 574 1125 30 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .)fjt 2200 574 50 0 (40)fjt 300 516 38 0 (6.)fjt 450 516 386 1 ( Acknowledgments)fjt 863 516 1313 35 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .)fjt 2200 516 50 0 (41)fjt 300 457 38 0 (7.)fjt 450 457 233 1 ( References)fjt 713 457 1463 39 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .)fjt 2200 457 50 0 (41)fjt 300 399 38 0 (8.)fjt 450 399 876 8 ( Appendix A. NTP Data Format - Version 2)fjt 1350 399 825 22 ( . . . . . . . . . . . . . . . . . . . . . .)fjt 2200 399 50 0 (45)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 3374 2624 3374 2624 2825 -75 2825 np mto lto lto lto clip np /tface 4 def 4 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2979 230 0 (RFC-1119)fjt 1024 2979 504 2 (Network Time Protocol)fjt 1882 2979 369 1 (September 1989)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 474 2624 474 2624 -75 -75 -75 np mto lto lto lto clip np /tface 4 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 279 100 0 (Mills)fjt 2098 279 152 1 (Page ii)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np %End page showpage svobj restore gr gs /svobj save def %Begin page UserSoP greset -75 3374 2624 3374 2624 -75 -75 -75 np mto lto lto lto clip np /tface 8 def 8 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2841 38 0 (9.)fjt 450 2841 745 5 ( Appendix B. NTP Control Messages)fjt 1200 2841 975 26 ( . . . . . . . . . . . . . . . . . . . . . . . . . .)fjt 2200 2841 50 0 (48)fjt 300 2782 75 0 (9.1.)fjt 450 2782 614 4 ( NTP Control Message Format)fjt 1088 2782 1088 29 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . .)fjt 2200 2782 50 0 (49)fjt 300 2724 75 0 (9.2.)fjt 450 2724 279 2 ( Status Words)fjt 750 2724 1425 38 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .)fjt 2200 2724 50 0 (51)fjt 300 2666 113 0 (9.2.1.)fjt 450 2666 419 3 ( System Status Word)fjt 900 2666 1275 34 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .)fjt 2200 2666 50 0 (51)fjt 300 2608 113 0 (9.2.2.)fjt 450 2608 361 3 ( Peer Status Word)fjt 825 2608 1350 36 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .)fjt 2200 2608 50 0 (52)fjt 300 2549 113 0 (9.2.3.)fjt 450 2549 392 3 ( Clock Status Word)fjt 863 2549 1313 35 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .)fjt 2200 2549 50 0 (53)fjt 300 2491 113 0 (9.2.4.)fjt 450 2491 378 3 ( Error Status Word)fjt 863 2491 1313 35 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .)fjt 2200 2491 50 0 (53)fjt 300 2433 75 0 (9.3.)fjt 450 2433 240 1 ( Commands)fjt 713 2433 1463 39 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .)fjt 2200 2433 50 0 (54)fjt 300 2375 63 0 (10.)fjt 450 2375 710 4 ( Appendix C. Authentication Issues)fjt 1163 2375 1013 27 ( . . . . . . . . . . . . . . . . . . . . . . . . . . .)fjt 2200 2375 50 0 (56)fjt 300 2316 100 0 (10.1.)fjt 450 2316 660 3 ( NTP Authentication Mechanism)fjt 1125 2316 1050 28 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . .)fjt 2200 2316 50 0 (57)fjt 300 2258 100 0 (10.2.)fjt 450 2258 649 3 ( NTP Authentication Procedures)fjt 1125 2258 1050 28 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . .)fjt 2200 2258 50 0 (58)fjt 300 2200 63 0 (11.)fjt 450 2200 1012 6 ( Appendix D. Differences from Previous Versions.)fjt 1463 2200 713 19 ( . . . . . . . . . . . . . . . . . . .)fjt 2200 2200 50 0 (60)fjt /tface 5 def 5 encfont sf 300 2113 343 2 (List of Figures)fjt /tface 8 def sf 300 2025 650 3 (Figure 1. Implementation Model)fjt 975 2025 1238 33 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .)fjt 2225 2025 25 0 (4)fjt 300 1967 774 5 (Figure 2. Calculating Delay and Offset)fjt 1088 1967 1088 29 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . .)fjt 2200 1967 50 0 (25)fjt 300 1909 688 4 (Figure 3. Phase-Lock Loop Model)fjt 1013 1909 1163 31 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .)fjt 2200 1909 50 0 (35)fjt 300 1850 509 3 (Figure 4. Clock Registers)fjt 825 1850 1350 36 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .)fjt 2200 1850 50 0 (37)fjt 300 1792 629 4 (Figure 5. NTP Message Header)fjt 938 1792 1238 33 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .)fjt 2200 1792 50 0 (45)fjt 300 1734 794 5 (Figure 6. NTP Control Message Header)fjt 1125 1734 1050 28 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . .)fjt 2200 1734 50 0 (49)fjt 300 1676 616 4 (Figure 7. Status Word Formats)fjt 938 1676 1238 33 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .)fjt 2200 1676 50 0 (50)fjt 300 1617 622 3 (Figure 8. Authenticator Format)fjt 938 1617 1238 33 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .)fjt 2200 1617 50 0 (58)fjt /tface 5 def sf 300 1530 321 2 (List of Tables)fjt /tface 8 def sf 300 1442 807 5 (Table 1. Dates of Leap-Second Insertion)fjt 1125 1442 1088 29 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . .)fjt 2225 1442 25 0 (8)fjt 300 1384 525 3 (Table 2. System Variables)fjt 825 1384 1350 36 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .)fjt 2200 1384 50 0 (14)fjt 300 1326 467 3 (Table 3. Peer Variables)fjt 788 1326 1388 37 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .)fjt 2200 1326 50 0 (15)fjt 300 1268 511 3 (Table 4. Packet Variables)fjt 825 1268 1350 36 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .)fjt 2200 1268 50 0 (16)fjt 300 1209 396 2 (Table 5. Parameters)fjt 713 1209 1463 39 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .)fjt 2200 1209 50 0 (17)fjt 300 1151 563 4 (Table 6. Modes and Actions)fjt 900 1151 1275 34 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .)fjt 2200 1151 50 0 (24)fjt 300 1093 942 5 (Table 7. Characteristics of Standard Oscillators)fjt 1275 1093 900 24 ( . . . . . . . . . . . . . . . . . . . . . . . .)fjt 2200 1093 50 0 (34)fjt 300 1035 528 3 (Table 8. Clock Parameters)fjt 863 1035 1313 35 ( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .)fjt 2200 1035 50 0 (38)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 3374 2624 3374 2624 2825 -75 2825 np mto lto lto lto clip np /tface 4 def 4 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2979 230 0 (RFC-1119)fjt 1024 2979 504 2 (Network Time Protocol)fjt 1882 2979 369 1 (September 1989)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 474 2624 474 2624 -75 -75 -75 np mto lto lto lto clip np /tface 4 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 279 100 0 (Mills)fjt 2087 279 163 1 (Page iii)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np %End page showpage svobj restore gr gs /svobj save def %Begin page UserSoP svobj restore gr end grestore %%Trailer %%Pages: 3 %%EOF %!PS-Adobe-1.0 %%Title: GEM Document %%Creator: GEM %%Pages: (atend) %%BoundingBox: 0 0 611 791 %%EndComments % Copyright (C) Digital Research, Inc. 1986-1988. All rights reserved. systemdict /setpacking known {/svp currentpacking def true setpacking}if /gemdict 250 dict def gemdict begin /bd{bind def}bind def /ed{exch def}bind def % User defined Start of Page procedure: this operator will be % executed at the beginning of each page output through GEM % and is provided to allow user-defined page initialization. /UserSoP{}bd % Halftone screen spot function procedure array: this array is indexed % into as follows: 0 = dot screen, 1 = line screen, 2 = ellipse screen, % 3 = custom (user-definable) screen. /ScreenProc[ { % Dot screen abs exch abs 2 copy add 1 gt{ 1 sub dup mul exch 1 sub dup mul add 1 sub}{ dup mul exch dup mul add 1 exch sub}ifelse}bind { % Line screen pop}bind { % Ellipse screen dup 5 mul 8 div mul exch dup mul exch add sqrt 1 exch sub}bind { % Custom screen dup mul exch dup mul add sqrt 1 exch sub}bind ]def /GEMINISUB{pop pop pop pop pop}bd /GEMINIDOC{dup userdict exch known{cvx exec}{pop}ifelse /#copies ed settray statusdict /setpageparams known {statusdict begin 0 1 setpageparams end}{pop pop}ifelse}bd /geminit{np 1 setlinejoin /mpf true def /cmat matrix def /smat matrix def /rmat matrix def /encstr 80 string def /patname null def /patbits null def gs}bd /GEMMATSUB{pop pop pop pop gr 72 300 div exch div dup scale gs}bd /GEMMATINI{/landscape ed /p3 ed /p2 ed /p1 ed gr 72 300 div exch div dup scale clippath pathbbox exch /prx ed exch dup /ply ed sub 1 add p3 sub 2 div ply add /ty ed dup prx exch sub 1 add p2 sub 2 div add landscape{p1 add}if ty translate landscape{90 rotate}if gs}bd /gr /grestore load def /np /newpath load def /cp /currentpoint load def /gi /getinterval load def /lto /lineto load def /mto /moveto load def /cto /curveto load def /clw /currentlinewidth load def /gs /gsave load def /greset{gr gs}bd /settray{dup 0 lt mf dup 0 ge{tray}{pop}ifelse}bd /mf{statusdict /manualfeed known {statusdict begin /manualfeed ed end}{pop}ifelse}bd /tray{statusdict begin true product(Dataproducts LZR 1260)eq{not exch dup 2 gt{pop 0}if dup 0 eq{pop defaultpapertray}if setpapertray}if product(QMS-PS 1200)eq product(Silentwriter)eq or{not exch dup 1 gt {pop 0}if defaultpapertray exch 0 ne{3 exch sub}if setpapertray}if product dup(PrintServer 40)eq exch(QMS-PS 2400)eq or{ not exch dup 2 gt{pop 0}if dup 0 eq{pop defaultpapertray} {dup defaultpapertray ge{1 add}if}ifelse setpapertray}if {statusdict /defaultpapertray known statusdict /setpapertray known and {defaultpapertray exch 0 ne{1 exch sub}if setpapertray} {pop}ifelse}if end}bd /R{findfont begin currentdict dup maxlength dict begin {1 index /FID ne{def}{pop pop}ifelse}forall /FontName ed dup length 0 ne{ /Encoding Encoding 256 array copy def 0 exch {dup type /nametype eq{ Encoding 2 index 2 index put pop 1 add} {exch pop}ifelse}forall}if pop currentdict dup end end /FontName get exch definefont pop}bd /gemenvec[8#200 /Ccedilla 8#201 /udieresis 8#202 /eacute 8#203 /acircumflex 8#204 /adieresis 8#205 /agrave 8#206 /aring 8#207 /ccedilla 8#210 /ecircumflex 8#211 /edieresis 8#212 /egrave 8#213 /idieresis 8#214 /icircumflex 8#215 /igrave 8#216 /Adieresis 8#217 /Aring 8#220 /Eacute 8#221 /ae 8#222 /AE 8#223 /ocircumflex 8#224 /odieresis 8#225 /ograve 8#226 /ucircumflex 8#227 /ugrave 8#230 /ydieresis 8#231 /Odieresis 8#232 /Udieresis 8#233 /cent 8#234 /sterling 8#235 /yen 8#236 /currency 8#237 /florin 8#240 /aacute 8#241 /iacute 8#242 /oacute 8#243 /uacute 8#244 /ntilde 8#245 /Ntilde 8#246 /ordfeminine 8#247 /ordmasculine 8#250 /questiondown 8#251 /quotedblleft 8#252 /quotedblright 8#253 /guilsinglleft 8#254 /guilsinglright 8#255 /exclamdown 8#256 /guillemotleft 8#257 /guillemotright 8#260 /atilde 8#261 /otilde 8#262 /Oslash 8#263 /oslash 8#264 /oe 8#265 /OE 8#266 /Agrave 8#267 /Atilde 8#270 /Otilde 8#271 /section 8#272 /daggerdbl 8#273 /dagger 8#274 /paragraph 8#300 /quotedblbase 8#301 /ellipsis 8#302 /perthousand 8#303 /bullet 8#304 /endash 8#305 /emdash 8#306 /ring 8#307 /Aacute 8#310 /Acircumflex 8#311 /Egrave 8#312 /Ecircumflex 8#313 /Edieresis 8#314 /Igrave 8#315 /Iacute 8#316 /Icircumflex 8#317 /Idieresis 8#320 /Ograve 8#321 /Oacute 8#322 /Ocircumflex 8#323 /Scaron 8#324 /scaron 8#325 /Ugrave 8#326 /Uacute 8#327 /Ucircumflex 8#330 /Ydieresis 8#331 /germandbls 8#332 /Zcaron 8#333 /zcaron 8#334 /fraction 8#335 /space 8#336 /space 8#337 /space 8#340 /grave 8#341 /acute 8#342 /circumflex 8#343 /tilde 8#344 /dieresis 8#345 /ring 8#346 /cedilla 8#347 /caron version(23.0)eq{8#275 /space 8#276 /space 8#277 /space} {8#275 /copyright 8#276 /registered 8#277 /trademark}ifelse]def /addfont{fonts exch fpt exch put /fpt fpt 1 add def}bd /encfont{gemenvec exch fonts exch get dup encstr cvs length 1 sub encstr exch 1 exch getinterval cvn R}bd /dpath{mto{lto}repeat}bd /path{np dpath}bd /addpath{lto{lto}repeat}bd /rxy{.25 sub round .25 add}bd /rpt{transform rxy exch rxy exch itransform}bd /fa{np rpt mto 3{rpt lto}repeat}bd /circle{np 0 0 1 0 360 arc}bd /dot{gs np 2 copy mto lto 1 setlinecap stroke gr}bd /rend{gs 1 setlinecap np mto cp 0.1 add lto stroke gr}bd /rl{gs 1 setlinecap stroke gr}bd /vl{dup /st ed dup apath exch get tx sub dup mul exch 1 add apath exch get ty sub dup mul add sqrt}bd /doarrow{/rot ed /ty ed /tx ed 6 array currentmatrix tx ty translate clw 4 lt{4}{clw}ifelse dup scale rot rotate np 0 0 mto -3 1.5 lto -3 -1.5 lto fill setmatrix}bd /arpath{np apath 0 get apath 1 get mto 2 2 points 1 sub {dup apath exch get exch 1 add apath exch get lto}for}bd /arrowline{/apath ed /lend ed /lbeg ed /len clw 3 mul def /points apath length def lbeg {apath 0 get dup /tx ed /x1 ed apath 1 get dup /ty ed /y1 ed true 2 2 points 1 sub {vl len ge{pop false exit}if}for {/lbeg false def /lend false def} {apath 2 apath st points st sub gi putinterval /r1 y1 apath 3 get sub x1 apath 2 get sub atan def apath 0 x1 r1 cos len mul sub put apath 1 y1 r1 sin len mul sub put /points points st 2 sub sub def}ifelse}if lend{apath points 2 sub get dup /tx ed /x2 ed apath points 1 sub get dup /ty ed /y2 ed true points 4 sub -2 0 {vl len ge{pop false exit}if}for {/lbeg false def /lend false def} {/r2 y2 apath st 1 add get sub x2 apath st get sub atan def /st st 2 add def apath st x2 r2 cos len mul sub put apath st 1 add y2 r2 sin len mul sub put /points st 2 add def}ifelse}if lbeg{x1 y1 r1 doarrow}if lend{x2 y2 r2 doarrow}if arpath}bd /ac{6 array currentmatrix xt yt translate xs ys scale}bd /shorten{dup mul exch dup mul add sqrt clw 150 mul exch div}bd /xang{dup 360 ge{360}{0}ifelse exch dup sin xs mul exch cos ys mul atan dup 360 lt{add}{exch pop}ifelse}bd /arrowarc{/eang ed /bang ed /ys ed /xs ed /yt ed /xt ed /lend ed /lbeg ed ac np 0 0 1 bang xang eang xang arc setmatrix cp /y2 ed /x2 ed ac np 0 0 1 bang xang dup arc setmatrix cp /y1 ed /x1 ed lbeg {/bang bang xs ys shorten add def}if lend{/eang eang xs ys shorten sub def}if ac np 0 0 1 bang xang eang xang arc setmatrix gs stroke gr lend{x2 y2 cp y2 exch sub exch x2 exch sub atan doarrow}if lbeg{ac np 0 0 1 bang xang dup arc setmatrix x1 y1 cp y1 exch sub exch x1 exch sub atan doarrow}if}bd /rbox{/ury ed /urx ed /lly ed /llx ed urx llx sub 4 div dup 50 gt{pop 50}if /radius ed ury lly sub 4 div dup radius gt{pop radius}if /radius ed np urx radius sub ury mto llx ury llx lly radius arcto 4{pop}repeat llx lly urx lly radius arcto 4{pop}repeat urx lly urx ury radius arcto 4{pop}repeat urx ury llx ury radius arcto 4{pop}repeat}bd /marker{1 sub mdef exch get /mproc ed 32 div /msize ed {gs np translate msize dup scale mproc stroke gr}repeat}bd /mdef[{0 0 mto 1 0 lto 1 1 lto 0 1 lto closepath}bind {-16 0 mto 16 0 lto 0 -16 mto 0 16 lto}bind {0 -16 mto 0 16 lto 13.9 8 mto -13.9 -8 lto 13.9 -8 mto -13.9 8 lto}bind {16 16 mto -16 16 lto -16 -16 lto 16 -16 lto closepath}bind {16 16 mto -16 -16 lto -16 16 mto 16 -16 lto}bind {16 0 mto 0 16 lto -16 0 lto 0 -16 lto closepath}bind]def /bon{2 mul exch dup 3 1 roll 8 idiv add pstr exch get exch 8 mod 7 exch sub 1 exch bitshift and 0 ne}bd /bpsf{1 add 8 mul cvi exch 1 add 8 mul cvi exch bon {/onb onb 1 add def 1}{/ofb ofb 1 add def 0}ifelse}bd /frs{72 0 rmat defaultmatrix dtransform dup mul exch dup mul add sqrt}bd /sus{/m cmat currentmatrix def /sm 32 dup smat scale def sm m m concatmatrix pop 1 0 m dtransform dup abs 0.1 gt{exch 90}{0}ifelse exch pop exch dup 0 lt{exch 180 add exch neg}if frs exch div exch /bpsf load setscreen}bd /setpat{/onb 0 def /ofb 0 def sus{}settransfer ofb ofb onb add div setgray}bd /ellpie{/pie ed /eang ed /bang ed /ys ed /xs ed /yt ed /xt ed 6 array currentmatrix xt yt translate xs ys scale np pie{0 0 mto}if 0 0 1 bang xang eang xang arc setmatrix}bd /roundarc{gs 1 setlinecap cp np mto cp lto stroke gr}bd /ss{currentscreen /scp ed /sca ed /scf ed dup 0 lt{pop}{ScreenProc exch get /scp ed}ifelse dup 0 lt{pop}{/sca ed}ifelse dup 0 le{pop}{/scf ed}ifelse scf sca /scp load setscreen}bd /grayimg{{vrep 0.1 gt{/vrep vrep 1 sub def}{ {currentfile token pop 0 eq {currentfile scan readhexstring pop pop exit} {/vrep currentfile token pop def}ifelse }loop}ifelse scan}image}bd /fstimg{{vrep 0.1 gt{/vrep vrep 1 sub def}{ {currentfile token pop 0 eq {currentfile scan readhexstring pop pop exit} {/vrep currentfile token pop def}ifelse }loop}ifelse scan}imagemask}bd /decode{/patstring patlen string def /bonestr 1 string def {vrep 0.1 gt{/vrep vrep 1 sub def scan} {/spos 0 def {currentfile token pop currentfile token pop exch imop exch get exec spos smax ge {scan exit}if}loop}ifelse}imagemask}bd /imop[{ psc}bind {<00> psc}bind {currentfile patstring readhexstring pop psc}bind {1 exch 1 exch {pop currentfile bonestr readhexstring pop scan exch spos exch 0 get put /spos spos 1 add def}for}bind {1 sub /vrep ed}bind]def /psc{dup length /plen ed exch -1 1 {pop dup scan exch spos exch putinterval /spos spos plen add def}for pop}bd /gtext{gs /msg ed /ty ed /tx ed tx ty translate trotate rotate 10 setflat horz halign get exec vert valign get exec np tx ty mto msg show tunder {cp cp extents pop pop 5 div dup neg setlinewidth [] 0 setdash 1.5 mul ty add /ty ed pop np pop ty mto tx ty lto stroke np mto}if gr}bd /etext{gs translate trotate rotate /tx 0 def /ty 0 def {tx add dup /tx ed np ty mto show}repeat gr}bd /jtext{/msg ed /sps ed /dx ed /ty ed /tx ed gs tx ty translate trotate rotate 10 setflat jhorz halign get exec vert valign get exec msg stringwidth pop dx exch sub sps 0 eq{pop 0}{sps div}ifelse /xsp ed msg jo gr}bd /fet{gs translate /tx 0 def /ty 0 def {tx add dup /tx ed np ty mto show}repeat gr}bd /fjt{/msg ed /sps ed /dx ed /ty ed gs ty translate 10 setflat /tx 0 def /ty 0 def msg stringwidth pop dx exch sub sps 0 eq{pop 0}{sps div}ifelse /xsp ed msg jo gr}bd /tsel{tszabs{dup /FontBBox get aload pop exch pop dup 3 1 roll exch sub exch dup 0 eq{pop pop 1.25}{div}ifelse exch pop}{1}ifelse}bd /sf{fonts tface get findfont tsel dup txscale mul exch tyscale mul matrix scale makefont setfont}bd /jo{xsp exch 0 exch 32 exch np tx ty mto widthshow tunder {cp cp extents pop pop 5 div dup neg setlinewidth 1.5 mul ty add /ty ed []0 setdash pop np pop ty mto tx ty lto stroke np mto}if}bd /horz[{/tx 0 def}bind {msg stringwidth pop -2 div /tx ed}bind {msg stringwidth pop neg /tx ed}bind]def /extents{(_)bbox pop pop msg stringwidth pop (])bbox 3{exch pop}repeat}bd /bbox{np 0 0 mto false charpath flattenpath pathbbox np}bd /vert[{/ty 0 def}bind {extents -2 div /ty ed pop pop pop}bind {extents neg /ty ed pop pop pop}bind {extents pop pop neg /ty ed pop}bind]def /jhorz[{/tx 0 def}bind {/tx dx -2 div def}bind {/tx dx neg def}bind]def /symindex 12 def /CR{/ah 0 def}bd /LF{0 -50 translate}bd /atext{gs np ah av mto show tunder{cp cp (_)bbox pop pop exch pop 5 div dup neg setlinewidth 1.5 mul add dup ah exch [] 0 setdash np mto lto stroke np mto}if cp pop /ah ed gr}bd /colmap[ [1 1 1] [0 0 0] [1 0 0] [0 1 0] [0 0 1] [0 1 1] [1 1 0] [1 0 1] [.5 .5 .5] [0 0 0] [.5 0 0] [0 .5 0] [0 0 .5] [0 .5 .5] [.5 .5 0] [.5 0 .5] ]def /sci{colmap exch get aload pop setrgbcolor}bd /stint{/tint ed currentrgbcolor 3{dup 0 eq{pop tint}if 3 1 roll}repeat setrgbcolor}bd end /vpdict 1 dict def systemdict /setpacking known{svp setpacking}if %%EndProlog gsave currentdict /gemdict known not { /Times-Roman findfont 12 scalefont setfont newpath 72 700 moveto (Error: the GEM PostScript preamble is not available on your)show newpath 72 686 moveto ( printer. Pre-download the preamble or include it with)show newpath 72 672 moveto( your print job.)show newpath 72 658 moveto(This print job has been aborted.)show showpage stop}if gemdict begin 684 864 0 1 /letter GEMINIDOC geminit 1 2549 2550 3300 false GEMMATINI /fonts 128 array def /fpt 0 def /GCourier addfont /GCourier-Bold addfont /GCourier-Oblique addfont /GCourier-BoldOblique addfont /GHelvetica addfont /GHelvetica-Bold addfont /GHelvetica-Oblique addfont /GHelvetica-BoldOblique addfont /GTimes-Roman addfont /GTimes-Bold addfont /GTimes-Italic addfont /GTimes-BoldItalic addfont /Symbol addfont /GAvantGarde-Book addfont /GAvantGarde-BookOblique addfont /GAvantGarde-Demi addfont /GAvantGarde-DemiOblique addfont /GBookman-Light addfont /GBookman-LightItalic addfont /GBookman-Demi addfont /GBookman-DemiItalic addfont /GHelvetica-Narrow addfont /GHelvetica-Narrow-Oblique addfont /GHelvetica-Narrow-Bold addfont /GHelvetica-Narrow-BoldOblique addfont /GPalatino-Roman addfont /GPalatino-Italic addfont /GPalatino-Bold addfont /GPalatino-BoldItalic addfont /GNewCenturySchlbk-Roman addfont /GNewCenturySchlbk-Italic addfont /GNewCenturySchlbk-Bold addfont /GNewCenturySchlbk-BoldItalic addfont /GZapfChancery-MediumItalic addfont /ZapfDingbats addfont /GAmericanTypewriter-Medium addfont /GAmericanTypewriter-Bold addfont /GBenguiat-Book addfont /GBenguiat-Bold addfont /GBodoni addfont /GBodoni-Italic addfont /GBodoni-Bold addfont /GBodoni-BoldItalic addfont /GBodoni-Poster addfont /GCenturyOldStyle-Regular addfont /GCenturyOldStyle-Italic addfont /GCenturyOldStyle-Bold addfont /GCheltenham-Book addfont /GCheltenham-BookItalic addfont /GCheltenham-Bold addfont /GCheltenham-BoldItalic addfont /GFranklinGothic-Book addfont /GFranklinGothic-BookOblique addfont /GFranklinGothic-Demi addfont /GFranklinGothic-DemiOblique addfont /GFranklinGothic-Heavy addfont /GFranklinGothic-HeavyOblique addfont /GFrizQuadrata addfont /GFrizQuadrata-Bold addfont /GGalliard-Roman addfont /GGalliard-Italic addfont /GGalliard-Bold addfont /GGalliard-BoldItalic addfont /GGaramond-Light addfont /GGaramond-LightItalic addfont /GGaramond-Bold addfont /GGaramond-BoldItalic addfont /GGlypha addfont /GGlypha-Oblique addfont /GGlypha-Bold addfont /GGlypha-BoldOblique addfont /GGoudy addfont /GGoudy-Italic addfont /GGoudy-Bold addfont /GGoudy-BoldItalic addfont /GHelvetica-Light addfont /GHelvetica-LightOblique addfont /GHelvetica-Black addfont /GHelvetica-BlackOblique addfont /GHelvetica-Condensed-Light addfont /GHelvetica-Condensed-LightObl addfont /GHelvetica-Condensed addfont /GHelvetica-Condensed-Oblique addfont /GHelvetica-Condensed-Bold addfont /GHelvetica-Condensed-BoldObl addfont /GHelvetica-Condensed-Black addfont /GHelvetica-Condensed-BlackObl addfont /GKorinna-Regular addfont /GKorinna-KursivRegular addfont /GKorinna-Bold addfont /GKorinna-KursivBold addfont /GLetterGothic addfont /GLetterGothic-Slanted addfont /GLetterGothic-Bold addfont /GLetterGothic-BoldSlanted addfont /GLubalinGraph-Book addfont /GLubalinGraph-BookOblique addfont /GLubalinGraph-Demi addfont /GLubalinGraph-DemiOblique addfont /GMachine addfont /GMelior addfont /GMelior-Italic addfont /GMelior-Bold addfont /GMelior-BoldItalic addfont /GNewBaskerville-Roman addfont /GNewBaskerville-Italic addfont /GNewBaskerville-Bold addfont /GNewBaskerville-BoldItalic addfont /GOptima addfont /GOptima-Oblique addfont /GOptima-Bold addfont /GOptima-BoldOblique addfont /GOrator addfont /GOrator-Slanted addfont /GParkAvenue addfont /GPrestigeElite addfont /GPrestigeElite-Slanted addfont /GPrestigeElite-Bold addfont /GPrestigeElite-BoldSlanted addfont /Sonata addfont /GSouvenir-Light addfont /GSouvenir-LightItalic addfont /GSouvenir-Demi addfont /GSouvenir-DemiItalic addfont /GTrumpMediaeval-Roman addfont /GTrumpMediaeval-Italic addfont /GTrumpMediaeval-Bold addfont /GTrumpMediaeval-BoldItalic addfont /svobj save def %Begin page UserSoP greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 3374 2624 3374 2624 -75 -75 -75 np mto lto lto lto clip np /tface 5 def 5 encfont /mpf true def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2841 42 0 (1.)fjt (n)30 (o)12 (i)16 (t)27 (c)29 (u)30 (d)29 (o)18 (r)16 (t)29 (n)13 (I)13 ( )0 13 350 2841 fet /tface 8 def 8 encfont sf 300 2751 1950 13 (This document constitutes a formal specification of the Network Time Protocol \(NTP\), which is)fjt 300 2692 1903 15 (used to synchronize timekeeping among a set of distributed time servers and clients. It defines t)fjt 2203 2692 47 0 (he)fjt 300 2634 1895 13 (architectures, algorithms, entities and protocols used by NTP and is intended primarily for i)fjt 2195 2634 39 0 (m)fjt 2234 2634 17 0 (-)fjt 300 2576 1934 10 (plementors. A companion document [44] summarizes the requirements, analytical models, algo)fjt 2234 2576 17 0 (-)fjt 300 2518 1925 12 (rithmic analysis and performance under typical Internet conditions. NTP was first described i)fjt 2225 2518 25 0 (n)fjt 300 2459 1950 15 (RFC-958 [30], but has evolved in significant ways, culminating in the most recent NTP Version 1)fjt 300 2401 1889 16 (described in RFC-1059 [42]. It is built on the Internet Protocol \(IP\) [14] and User Datagram Proto)fjt 2189 2401 61 0 (col)fjt 300 2343 1914 12 (\(UDP\) [9], which provide a connectionless transport mechanism; however, it is readily adaptab)fjt 2214 2343 36 0 (le)fjt 300 2285 1950 15 (to other protocol suites. NTP is evolved from the Time Protocol [19] and the ICMP Timestamp)fjt 300 2226 1950 13 (message [15], but is specifically designed to maintain accuracy and robustness, even when used)fjt 300 2168 1818 11 (over typical Internet paths involving multiple gateways, highly dispersive delays and unr)fjt 2118 2168 132 0 (eliable)fjt 300 2110 93 0 (nets.)fjt 300 2017 1950 11 (The service environment consists of the implementation model, service model and timescale)fjt 300 1959 1876 13 (described in Section 2. The implementation model is based on a multiple-process operating sys)fjt 2176 1959 75 0 (tem)fjt 300 1901 1888 14 (architecture, although other architectures could be used as well. The service model is based o)fjt 2188 1901 62 1 (n a)fjt 300 1842 1914 13 (returnable-time design which depends only on measured clock offsets, but does not require reliab)fjt 2214 1842 36 0 (le)fjt 300 1784 1928 8 (message delivery. The synchronization subnet uses a self-organizing, hierarchical-master-slav)fjt 2228 1784 22 0 (e)fjt 300 1726 1950 10 (configuration, with synchronization paths determined by a minimum-weight spanning tree. While)fjt 300 1668 1854 13 (multiple masters \(primary servers\) may exist, there is no requirement for an election protocol)fjt 2154 1668 13 0 (.)fjt 300 1575 1950 15 (NTP itself is described in Section 3. It provides the protocol mechanisms to synchronize time in)fjt 300 1517 1911 14 (principle to precisions in the order of nanoseconds while preserving a non-ambiguous date well in)fjt 2211 1517 39 0 (to)fjt 300 1458 1889 13 (the next century. The protocol includes provisions to specify the characteristics and estimate )fjt 2189 1458 61 0 (the)fjt 300 1400 1950 17 (error of the local clock and the time server to which it may be synchronized. It also includes)fjt 300 1342 1834 11 (provisions for operation with a number of mutually suspicious, hierarchically distributed pr)fjt 2134 1342 116 0 (imary)fjt 300 1284 770 5 (reference sources such as radio clocks.)fjt 300 1191 1845 11 (Section 4 describes algorithms useful for deglitching and smoothing clock-offset samples coll)fjt 2145 1191 105 0 (ected)fjt 300 1132 1950 15 (on a continuous basis. These algorithms evolved from with suggested in [28], were refined as the)fjt 300 1074 1808 12 (results of experiments described in [29] and further evolved under typical operating conditio)fjt 2108 1074 143 1 (ns over)fjt 300 1016 1820 14 (the last three years. In addition, as the result of experience in operating multiple-server s)fjt 2120 1016 130 0 (ubnets)fjt 300 958 1950 15 (including radio-synchronized clocks at several sites in the U.S. and with clients in the U.S. and)fjt 300 899 1812 12 (Europe, reliable algorithms for selecting good clocks from a population possibly including )fjt 2112 899 139 0 (broken)fjt 300 841 1145 9 (ones have been developed and are described in Section 4.)fjt 300 749 1950 13 (The accuracies achievable by NTP depend strongly on the precision of the local-clock hardware)fjt 300 690 1928 14 (and stringent control of device and process latencies. Provisions must be included to adjust th)fjt 2228 690 22 0 (e)fjt 300 632 1925 13 (software logical-clock time and frequency in response to corrections produced by NTP. Section )fjt 2225 632 25 0 (5)fjt 300 574 1896 13 (describes a local-clock design evolved from the Fuzzball implementation described in [21] and [4)fjt 2196 574 54 0 (3].)fjt 300 516 1950 9 (This design includes offset-slewing, drift-compensation and deglitching mechanisms capable of)fjt 300 457 1950 13 (accuracies in the order of a millisecond, even after extended periods when synchronization to)fjt 300 399 798 5 (primary reference sources has been lost.)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 3374 2624 3374 2624 2825 -75 2825 np mto lto lto lto clip np /tface 4 def 4 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2979 230 0 (RFC-1119)fjt 1024 2979 504 2 (Network Time Protocol)fjt 1882 2979 369 1 (September 1989)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 474 2624 474 2624 -75 -75 -75 np mto lto lto lto clip np /tface 4 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 279 100 0 (Mills)fjt 2092 279 158 1 (Page 1)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np %End page showpage svobj restore gr gs /svobj save def %Begin page UserSoP greset -75 3374 2624 3374 2624 -75 -75 -75 np mto lto lto lto clip np /tface 8 def 8 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2841 1950 14 (Details specific to NTP packet formats used with the Internet Protocol \(IP\) and User Datagram)fjt 300 2782 1950 14 (Protocol \(UDP\) are presented in Appendix A, while details of a suggested auxiliary NTP Control)fjt 300 2724 1950 11 (Message, which may be used when comprehensive network-monitoring facilities are not available,)fjt 300 2666 1874 12 (are presented in Appendix B. Appendix C contains specification and implementation details o)fjt 2174 2666 76 1 (f an)fjt 300 2608 1925 12 (optional authentication mechanism which can be used to control access and prevent unauthorize)fjt 2225 2608 25 0 (d)fjt 300 2549 1925 14 (data modification. Appendix D contains a listing of differences between Version 2 of NTP an)fjt 2225 2549 25 0 (d)fjt 300 2491 362 1 (previous versions.)fjt /tface 5 def 5 encfont sf 300 2398 83 0 (1.1.)fjt (y)29 (g)30 (o)12 (l)30 (o)29 (n)30 (h)27 (c)26 (e)26 (T)13 ( )30 (d)26 (e)16 (t)27 (a)12 (l)27 (e)35 (R)13 ( )0 19 383 2398 fet /tface 8 def sf 300 2308 1889 15 (Other mechanisms have been specified in the Internet protocol suite to record and transmit the ti)fjt 2189 2308 61 0 (me)fjt 300 2250 1950 14 (at which an event takes place, including the Daytime protocol [18], Time Protocol [19], ICMP)fjt 300 2191 1950 12 (Timestamp message [15] and IP Timestamp option [13]. Experimental results on measured times)fjt 300 2133 1851 15 (and roundtrip delays in the Internet are discussed in [20], [29], [41] and [42]. Other synchroniz)fjt 2151 2133 100 0 (ation)fjt 300 2075 1828 15 (algorithms are discussed in [4], [22], [23], [24], [25], [27], [28], [29], [30], [31], [33], [35])fjt 2128 2075 122 1 (, [38],)fjt 300 2017 1896 17 ([39], [40], [42] and [44], while protocols based on them are described in [11], [12], [21], [26], [3)fjt 2196 2017 54 0 (0],)fjt 300 1958 1950 14 ([35], [42] and [44]. NTP uses techniques evolved from them and both linear-systems and agreement)fjt 300 1900 1950 10 (methodologies. Linear methods for digital telephone network synchronization are summarized in)fjt 300 1842 1603 10 ([6], while agreement methods for clock synchronization are summarized in [25].)fjt 300 1749 1873 10 (The Fuzzball routing protocol [21], sometimes called Hellospeak, incorporates time synchroniza)fjt 2173 1749 78 0 (tion)fjt 300 1691 1821 13 (directly into the routing-protocol design. One or more processes synchronize to an external ref)fjt 2121 1691 130 0 (erence)fjt 300 1633 1950 15 (source, such as a radio clock or NTP daemon, and the routing algorithm constructs a minimum-)fjt 300 1575 1860 14 (weight spanning tree rooted on these processes. The clock offsets are then distributed along the)fjt 2160 1575 90 1 ( arcs)fjt 300 1516 1900 16 (of the spanning tree to all processes in the system and the various process clocks corrected usi)fjt 2200 1516 50 0 (ng)fjt 300 1458 1950 17 (the procedure described in Section 5 of this document. While it can be seen that the design of)fjt 300 1400 1828 13 (Hellospeak strongly influenced the design of NTP, Hellospeak itself is not an Internet protoc)fjt 2128 1400 122 1 (ol and)fjt 300 1342 1042 7 (is unsuited for use outside its local-net environment.)fjt 300 1249 623 5 (The Unix 4.3bsd time daemon )fjt /tface 10 def 10 encfont sf 923 1249 111 0 (timed)fjt /tface 8 def sf 1033 1249 1217 10 ( [26] uses a single master-time daemon to measure offsets of)fjt 300 1191 1809 17 (a number of slave hosts and send periodic corrections to them. In this model the master is dete)fjt 2109 1191 141 0 (rmined)fjt 300 1132 1909 15 (using an election algorithm [31] designed to avoid situations where either no master is elected )fjt 2209 1132 42 0 (or)fjt 300 1074 1911 15 (more than one master is elected. The election process requires a broadcast capability, which is n)fjt 2211 1074 39 0 (ot)fjt 300 1016 1854 14 (a ubiquitous feature of the Internet. While this model has been extended to support hierarc)fjt 2154 1016 97 0 (hical)fjt 300 958 1950 17 (configurations in which a slave on one network serves as a master on the other [35], the model)fjt 300 899 1879 12 (requires handcrafted configuration tables in order to establish the hierarchy and avoid loops)fjt 2179 899 71 1 (. In)fjt 300 841 1781 12 (addition to the burdensome, but presumably infrequent, overheads of the election process, t)fjt 2081 841 170 1 (he offset)fjt 300 783 1706 10 (measurement/correction process requires twice as many messages as NTP per update.)fjt 300 690 1912 16 (A scheme with features similar to NTP is described in [39]. This scheme is intended for multi-serv)fjt 2212 690 39 0 (er)fjt 300 632 1853 15 (LANs where each of a set of possibly many time servers determines its local-time offset relati)fjt 2153 632 97 1 (ve to)fjt 300 574 1950 14 (each of the other servers in the set using periodic timestamped messages, then determines the)fjt 300 516 1950 11 (local-clock correction using the Fault-Tolerant Average \(FTA\) algorithm of [24]. The FTA)fjt 300 457 812 7 (algorithm, which is useful where up to )fjt /tface 10 def sf 1112 457 22 0 (k)fjt /tface 8 def sf 1134 457 1095 10 ( servers may be faulty, sorts the offsets, discards the )fjt /tface 10 def sf 2228 457 22 0 (k)fjt /tface 8 def sf 300 399 1950 17 (highest and lowest ones and averages the rest. The scheme, as described in [39], is most suitable to)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 3374 2624 3374 2624 2825 -75 2825 np mto lto lto lto clip np /tface 4 def 4 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2979 230 0 (RFC-1119)fjt 1024 2979 504 2 (Network Time Protocol)fjt 1882 2979 369 1 (September 1989)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 474 2624 474 2624 -75 -75 -75 np mto lto lto lto clip np /tface 4 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 279 100 0 (Mills)fjt 2092 279 158 1 (Page 2)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np %End page showpage svobj restore gr gs /svobj save def %Begin page UserSoP greset -75 3374 2624 3374 2624 -75 -75 -75 np mto lto lto lto clip np /tface 8 def 8 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2841 1950 12 (LAN environments which support broadcast and would result in unacceptable overhead in an)fjt 300 2782 1879 14 (internet environment. In addition, for reasons given in Section 4 of this paper, the statist)fjt 2179 2782 72 0 (ical)fjt 300 2724 1786 15 (properties of the FTA algorithm are not likely to be optimal in an internet environment wit)fjt 2086 2724 164 1 (h highly)fjt 300 2666 354 1 (dispersive delays.)fjt 300 2577 1912 17 (A good deal of research has gone into the issue of maintaining accurate time in a community whe)fjt 2212 2577 39 0 (re)fjt 300 2518 686 6 (some clocks cannot be trusted. A )fjt /tface 10 def 10 encfont sf 986 2518 218 0 (truechimer)fjt /tface 8 def sf 1204 2518 1047 9 ( is a clock that maintains timekeeping accuracy to a)fjt 300 2460 1023 7 (previously published \(and trusted\) standard, while a )fjt /tface 10 def sf 1323 2460 207 0 (falseticker)fjt /tface 8 def sf 1529 2460 721 7 ( is a clock that does not. Determining)fjt 300 2402 1749 14 (whether a particular clock is a truechimer or falseticker is an interesting abstract problem )fjt 2049 2402 201 1 (which can)fjt 300 2344 1341 9 (be attacked using agreement methods summarized in [25] and [38].)fjt 300 2252 1903 15 (A convergence function operates upon the offsets between the clocks in a system to increase t)fjt 2203 2252 47 0 (he)fjt 300 2194 1950 13 (accuracy by reducing or eliminating errors caused by falsetickers. There are two classes of)fjt 300 2136 1823 8 (convergence functions, those involving interactive-convergence algorithms and those inv)fjt 2123 2136 128 0 (olving)fjt 300 2078 1698 5 (interactive-consistency algorithms. Interactive-convergence algorithms use statistic)fjt 1998 2078 253 1 (al clustering)fjt 300 2019 1928 14 (techniques such as the fault-tolerant average algorithm of [23], the CNV algorithm of [24], th)fjt 2228 2019 22 0 (e)fjt 300 1961 1807 11 (majority-subset algorithm of [28], the non-Byzantine algorithm of [40], the egocentric algor)fjt 2107 1961 143 1 (ithm of)fjt 300 1903 1076 9 ([33] and the algorithms in Section 4 of this document.)fjt 300 1812 1911 10 (Interactive-consistency algorithms are designed to detect faulty clock processes which mig)fjt 2211 1812 39 0 (ht)fjt 300 1753 1686 11 (indicate grossly inconsistent offsets in successive readings or to different readers. The)fjt 1986 1753 265 1 (se algorithms)fjt 300 1695 1873 12 (use an agreement protocol involving successive rounds of readings, possibly relayed and poss)fjt 2173 1695 78 0 (ibly)fjt 300 1637 1820 13 (augmented by digital signatures. Examples include the fireworks algorithm of [23] and the op)fjt 2120 1637 130 0 (timum)fjt 300 1579 1830 11 (algorithm of [38]. However, these algorithms require large numbers of messages, especially)fjt 2130 1579 121 1 ( when)fjt 300 1520 1900 16 (large numbers of clocks are involved, and are designed to detect faults that have rarely been fou)fjt 2200 1520 50 0 (nd)fjt 300 1462 1845 14 (in the Internet experience. For these reasons they are not considered further in this document)fjt 2145 1462 13 0 (.)fjt 300 1371 1910 15 (In practice it is not possible to determine the truechimers from the falsetickers on other than)fjt 2210 1371 40 1 ( a)fjt 300 1312 1658 10 (statistical basis, especially with hierarchical configurations and a statistically noisy )fjt 1958 1312 292 1 (Internet. Thus,)fjt 300 1254 1831 12 (the approach taken in this document and its predecessors involves mutually coupled oscillato)fjt 2131 1254 119 1 (rs and)fjt 300 1196 1903 11 (maximum-likelihood estimation and selection procedures. From the analytical point of view, t)fjt 2203 1196 47 0 (he)fjt 300 1138 1950 14 (system of distributed NTP peers operates as a set of coupled phase-locked oscillators, with the)fjt 300 1079 1762 14 (update algorithm functioning as a phase detector and the local clock as a disciplined oscill)fjt 2062 1079 189 1 (ator. This)fjt 300 1021 1790 14 (similarity is not accidental, since systems like this have been studied extensively [6], [7] a)fjt 2090 1021 133 1 (nd [8].)fjt 300 930 1879 12 (The particular choice of offset measurement and computation procedure described in Section )fjt 2179 930 72 1 (3 is)fjt 300 872 1870 15 (a variant of the returnable-time system used in some digital telephone networks [6]. The clock f)fjt 2170 872 80 0 (ilter)fjt 300 814 1873 12 (and selection algorithms are designed so that the clock synchronization subnet self-organizes )fjt 2173 814 78 0 (into)fjt 300 755 1950 12 (a hierarchical-master-slave configuration [8]. What makes the NTP model unique is the adaptive)fjt 300 697 1805 12 (configuration, polling, filtering and selection functions which tailor the dynamics of the sy)fjt 2105 697 145 1 (stem to)fjt 300 639 784 4 (fit the ubiquitous Internet environment.)fjt /tface 5 def 5 encfont sf 300 547 42 0 (2.)fjt (e)19 (r)29 (u)16 (t)26 (c)27 (e)16 (t)12 (i)30 (h)27 (c)18 (r)35 (A)12 ( )43 (m)27 (e)15 (t)27 (s)27 (y)32 (S)12 ( )0 20 350 547 fet /tface 8 def sf 300 457 1889 15 (The purpose of NTP is to connect a number of primary reference sources, synchronized to natio)fjt 2189 457 61 0 (nal)fjt 300 399 1950 13 (standards by wire or radio, to widely accessible resources such as backbone gateways. These)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 3374 2624 3374 2624 2825 -75 2825 np mto lto lto lto clip np /tface 4 def 4 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2979 230 0 (RFC-1119)fjt 1024 2979 504 2 (Network Time Protocol)fjt 1882 2979 369 1 (September 1989)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 474 2624 474 2624 -75 -75 -75 np mto lto lto lto clip np /tface 4 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 279 100 0 (Mills)fjt 2092 279 158 1 (Page 3)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np %End page showpage svobj restore gr gs /svobj save def %Begin page UserSoP greset -75 3374 2624 3374 2624 -75 -75 -75 np mto lto lto lto clip np /tface 8 def 8 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2014 1950 14 (gateways, acting as primary time servers, use NTP between them to cross-check the clocks and)fjt 300 1956 1950 13 (mitigate errors due to equipment or propagation failures. Some number of local-net hosts or)fjt 300 1898 1950 16 (gateways, acting as secondary time servers, run NTP with one or more of the primary servers. In)fjt 300 1840 1848 15 (order to reduce the protocol overhead, the secondary servers distribute time via NTP to the rema)fjt 2148 1840 103 0 (ining)fjt 300 1781 1850 14 (local-net hosts. In the interest of reliability, selected hosts can be equipped with less accurat)fjt 2150 1781 100 1 (e but)fjt 300 1723 1909 16 (less expensive radio clocks and used for backup in case of failure of the primary and/or seconda)fjt 2209 1723 42 0 (ry)fjt 300 1665 937 5 (servers or communication paths between them.)fjt 300 1571 1931 14 (There is no provision for peer discovery or virtual-circuit management in NTP. Data integrity i)fjt 2231 1571 19 0 (s)fjt 300 1513 1934 11 (provided by the IP and UDP checksums. No circuit-management, duplicate-detection or retransmis)fjt 2234 1513 17 0 (-)fjt 300 1454 1950 15 (sion facilities are provided or necessary. The service can operate in a symmetric mode, in which)fjt 300 1396 1826 12 (servers and clients are indistinguishable, yet maintain a small amount of state information)fjt 2126 1396 124 2 (, or in)fjt 300 1338 1889 15 (client/server mode, in which servers need maintain no state other than that contained in the cli)fjt 2189 1338 61 0 (ent)fjt 300 1280 1950 8 (request. A lightweight association-management capability, including dynamic reachability and)fjt 300 1221 1950 12 (variable polling-rate mechanisms, is included only to manage the state information and reduce)fjt 300 1163 1950 14 (resource requirements. Since only a single NTP message format is used, the protocol is easily)fjt 300 1105 1769 13 (implemented and can be used in a variety of solicited or unsolicited polling mechanisms.)fjt 300 1004 1876 14 (It should be recognized that clock synchronization requires by its nature long periods and mult)fjt 2176 1004 75 0 (iple)fjt 300 945 1911 13 (comparisons in order to maintain accurate timekeeping. While only a few measurements are usual)fjt 2211 945 39 0 (ly)fjt 300 887 1884 17 (adequate to reliably determine local time to within a second or so, periods of many hours and doz)fjt 2184 887 66 0 (ens)fjt 300 829 1871 15 (of measurements are required to resolve oscillator drift and maintain local time to the order )fjt 2171 829 79 1 (of a)fjt 300 771 1950 14 (millisecond. Thus, the accuracy achieved is directly dependent on the time taken to achieve it.)fjt 300 712 1897 12 (Fortunately, the frequency of measurements can be quite low and almost always non-intrusive)fjt 2197 712 53 1 ( to)fjt 300 654 447 2 (normal net operations.)fjt /tface 5 def 5 encfont sf 300 552 83 0 (2.1.)fjt (l)27 (e)29 (d)30 (o)40 (M)13 ( )30 (n)29 (o)13 (i)15 (t)27 (a)16 (t)29 (n)27 (e)43 (m)27 (e)13 (l)29 (p)43 (m)13 (I)13 ( )0 21 383 552 fet /tface 8 def sf 300 457 1950 18 (In what may be the most common client/server model a client sends an NTP message to one or more)fjt 300 399 1740 13 (servers and processes the replies as received. The server interchanges addresses and ports, )fjt 2040 399 210 0 (overwrites)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset 225 2976 2324 2976 2324 2122 225 2122 np mto lto lto lto clip np greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset 732 2947 1767 2947 1767 2156 732 2156 np mto lto lto lto clip np 1125 2901 1126 2901 1126 2676 1125 2676 fa colmap 1 [0 0 0 ] put 1 sci gs eofill gr 1125 2901 1400 2901 1400 2900 1125 2900 fa gs eofill gr 1125 2676 1400 2676 1400 2675 1125 2675 fa gs eofill gr 1400 2901 1401 2901 1401 2676 1400 2676 fa gs eofill gr greset 1050 2947 1474 2947 1474 2602 1050 2602 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 1191 2803 144 0 (Update)fjt 1162 2745 202 0 (Procedure)fjt greset 732 2947 1767 2947 1767 2156 732 2156 np mto lto lto lto clip np 800 2626 801 2626 801 2401 800 2401 fa colmap 1 [0 0 0 ] put 1 sci gs eofill gr 800 2626 1075 2626 1075 2625 800 2625 fa gs eofill gr 800 2401 1075 2401 1075 2400 800 2400 fa gs eofill gr 1075 2626 1076 2626 1076 2401 1075 2401 fa gs eofill gr greset 732 2701 1149 2701 1149 2327 732 2327 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 858 2528 160 0 (Receive)fjt 862 2470 152 0 (Process)fjt greset 732 2947 1767 2947 1767 2156 732 2156 np mto lto lto lto clip np 1125 2626 1126 2626 1126 2401 1125 2401 fa colmap 1 [0 0 0 ] put 1 sci gs eofill gr 1125 2626 1401 2626 1401 2625 1125 2625 fa gs eofill gr 1125 2401 1401 2401 1401 2400 1125 2400 fa gs eofill gr 1401 2626 1402 2626 1402 2401 1401 2401 fa gs eofill gr greset 1050 2701 1475 2701 1475 2327 1050 2327 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 1141 2528 245 1 (Local Clock)fjt 1187 2470 152 0 (Process)fjt greset 732 2947 1767 2947 1767 2156 732 2156 np mto lto lto lto clip np 1450 2626 1451 2626 1451 2401 1450 2401 fa colmap 1 [0 0 0 ] put 1 sci gs eofill gr 1450 2626 1700 2626 1700 2625 1450 2625 fa gs eofill gr 1450 2401 1700 2401 1700 2400 1450 2400 fa gs eofill gr 1700 2626 1701 2626 1701 2401 1700 2401 fa gs eofill gr greset 1375 2701 1767 2701 1767 2327 1375 2327 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 1485 2528 180 0 (Transmit)fjt 1499 2470 152 0 (Process)fjt greset 732 2947 1767 2947 1767 2156 732 2156 np mto lto lto lto clip np colmap 1 [0 0 0 ] put 1 sci 950 2801 1 950 2626 path stroke false true[950 2801 1121 2801 ]arrowline stroke 1575 2801 1 1400 2801 path stroke false true[1575 2801 1575 2632 ]arrowline stroke false true[1250 2676 1250 2626 ]arrowline stroke false true[1500 2401 1500 2304 ]arrowline stroke false true[1650 2401 1650 2304 ]arrowline stroke true false[850 2401 850 2301 ]arrowline stroke true false[1025 2401 1025 2301 ]arrowline stroke 15 setlinewidth 1700 2301 1 800 2301 path stroke 1 setlinewidth 800 2301 801 2301 801 2201 800 2201 fa gs eofill gr 800 2301 1700 2301 1700 2300 800 2300 fa gs eofill gr 800 2201 1700 2201 1700 2200 800 2200 fa gs eofill gr 1700 2301 1701 2301 1701 2201 1700 2201 fa gs eofill gr greset 732 2376 1767 2376 1767 2156 732 2156 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 1163 2237 174 0 (Network)fjt greset 732 2947 1767 2947 1767 2156 732 2156 np mto lto lto lto clip np greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset 225 2272 2324 2272 2324 2005 225 2005 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 950 2113 650 3 (Figure 1. Implementation Model)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 3374 2624 3374 2624 2825 -75 2825 np mto lto lto lto clip np /tface 4 def 4 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2979 230 0 (RFC-1119)fjt 1024 2979 504 2 (Network Time Protocol)fjt 1882 2979 369 1 (September 1989)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 474 2624 474 2624 -75 -75 -75 np mto lto lto lto clip np /tface 4 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 279 100 0 (Mills)fjt 2092 279 158 1 (Page 4)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np %End page showpage svobj restore gr gs /svobj save def %Begin page UserSoP greset -75 3374 2624 3374 2624 -75 -75 -75 np mto lto lto lto clip np /tface 8 def 8 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2841 1913 12 (certain fields in the message, recalculates the checksum and returns the message immediatel)fjt 2213 2841 38 0 (y.)fjt 300 2782 1810 15 (Information included in the NTP message allows the client to determine the server time with )fjt 2110 2782 141 0 (respect)fjt 300 2724 1770 14 (to local time and adjust the local clock accordingly. In addition, the message includes inf)fjt 2070 2724 180 0 (ormation)fjt 300 2666 1776 14 (to calculate the expected timekeeping accuracy and reliability, as well as select the best from)fjt 2076 2666 174 1 ( possibly)fjt 300 2608 306 1 (several servers.)fjt 300 2514 1820 16 (While the client/server model may suffice for use on local nets involving a public server and p)fjt 2120 2514 130 0 (erhaps)fjt 300 2455 1848 13 (many workstation clients, the full generality of NTP requires distributed participation of a nu)fjt 2148 2455 102 0 (mber)fjt 300 2397 1864 10 (of client/servers or peers arranged in a dynamically reconfigurable, hierarchically distrib)fjt 2164 2397 86 0 (uted)fjt 300 2339 1748 10 (configuration. It also requires sophisticated algorithms for association management, data )fjt 2048 2339 185 0 (manipula)fjt 2234 2339 17 0 (-)fjt 300 2281 561 3 (tion and local-clock control.)fjt 300 2180 169 1 (Figure 1)fjt 469 2180 1782 12 ( shows an implementation model for a time-server host including three processes sharing)fjt 300 2121 1826 15 (a partitioned data base, with a partition dedicated to each peer, and interconnected by a me)fjt 2126 2121 124 0 (ssage-)fjt 300 2063 1892 13 (passing system. The transmit process, driven by independent timers for each peer, collects inf)fjt 2192 2063 42 0 (or)fjt 2234 2063 17 0 (-)fjt 300 2005 1950 16 (mation in the data base and sends NTP messages to the peers. Each message contains the local)fjt 300 1947 1950 12 (timestamp when the message is sent, together with previously received timestamps and other)fjt 300 1888 1950 11 (information necessary to determine the hierarchy and manage the association. The message)fjt 300 1830 1815 16 (transmission rate is determined by the accuracy required of the local clock, as well as the est)fjt 2115 1830 135 0 (imated)fjt 300 1772 450 3 (accuracies of its peers.)fjt 300 1671 1950 14 (The receive process receives NTP messages and perhaps messages in other protocols, as well as)fjt 300 1613 1950 12 (information from directly connected timecode receivers. When an NTP message is received, the)fjt 300 1554 1909 16 (offset between the peer clock and the local clock is computed and incorporated into the data ba)fjt 2209 1554 41 0 (se)fjt 300 1496 1792 13 (along with other information useful for error estimation and peer selection. A filtering al)fjt 2092 1496 158 0 (gorithm)fjt 300 1438 1461 10 (described in Section 4 improves the estimates by discarding inferior data.)fjt 300 1337 1781 16 (The update procedure is initiated upon receipt of a message and at other times. It processes t)fjt 2081 1337 169 1 (he offset)fjt 300 1279 1950 17 (data from each peer and selects the best one using the algorithms of Section 4. This may involve)fjt 300 1220 1851 16 (many observations of a few peers or a few observations of many peers, depending on the accur)fjt 2151 1220 99 0 (acies)fjt 300 1162 178 0 (required.)fjt 300 1061 1898 14 (The local-clock process operates upon the offset data produced by the update procedure and adju)fjt 2198 1061 52 0 (sts)fjt 300 1003 1950 16 (the phase and frequency of the local clock using the mechanisms described in Section 5. This may)fjt 300 945 1863 17 (result in either a step-change or a gradual slew adjustment of the local clock to reduce the offs)fjt 2163 945 87 1 (et to)fjt 300 887 1878 17 (zero. The local clock provides a stable source of time information to other users of the system )fjt 2178 887 72 0 (and)fjt 300 828 782 5 (for subsequent reference by NTP itself.)fjt /tface 5 def 5 encfont sf 300 726 83 0 (2.2.)fjt (s)30 (n)29 (o)13 (i)16 (t)26 (a)19 (r)29 (u)30 (g)12 (i)16 (f)29 (n)30 (o)35 (C)13 ( )26 (k)19 (r)29 (o)38 (w)15 (t)27 (e)35 (N)13 ( )0 23 383 726 fet /tface 8 def sf 300 632 1917 13 (The synchronization subnet is a connected network of primary and secondary time servers, clien)fjt 2217 632 33 0 (ts)fjt 300 574 1793 13 (and interconnecting transmission paths. A primary time server is directly synchronized to a )fjt 2093 574 158 0 (primary)fjt 300 516 1938 11 (reference source, usually a timecode receiver. A secondary time server derives synchronization)fjt 2238 516 13 0 (,)fjt 300 457 1805 13 (possibly via other secondary servers, from a primary server over network paths possibly shar)fjt 2105 457 145 1 (ed with)fjt 300 399 1793 13 (other services. Under normal circumstances it is intended that the synchronization subnet of )fjt 2093 399 158 0 (primary)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 3374 2624 3374 2624 2825 -75 2825 np mto lto lto lto clip np /tface 4 def 4 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2979 230 0 (RFC-1119)fjt 1024 2979 504 2 (Network Time Protocol)fjt 1882 2979 369 1 (September 1989)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 474 2624 474 2624 -75 -75 -75 np mto lto lto lto clip np /tface 4 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 279 100 0 (Mills)fjt 2092 279 158 1 (Page 5)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np %End page showpage svobj restore gr gs /svobj save def %Begin page UserSoP greset -75 3374 2624 3374 2624 -75 -75 -75 np mto lto lto lto clip np /tface 8 def 8 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2841 1892 10 (and secondary servers assumes a hierarchical-master-slave configuration with the primary serv)fjt 2192 2841 58 0 (ers)fjt 300 2782 1861 14 (at the root and secondary servers of decreasing accuracy at successive levels toward the leave)fjt 2161 2782 32 0 (s.)fjt 300 2686 1886 12 (Following conventions established by the telephone industry [34], the accuracy of each serve)fjt 2186 2686 65 1 (r is)fjt 300 2628 1950 15 (defined by a number called its stratum, with the topmost level \(primary servers\) assigned as one)fjt 300 2569 1950 14 (and each level downwards \(secondary servers\) in the hierarchy assigned as one greater than the)fjt 300 2511 1851 10 (preceding level. With current technology and available timecode receivers, single-sample accur)fjt 2151 2511 99 0 (acies)fjt 300 2453 1810 17 (in the order of a millisecond can be achieved at the network interface of a primary server. Acc)fjt 2110 2453 141 0 (uracies)fjt 300 2395 1827 15 (of this order require special care in the design and implementation of the operating system a)fjt 2127 2395 123 1 (nd the)fjt 300 2336 1096 7 (local-clock mechanism, such as described in Section 5.)fjt 300 2231 1925 12 (As the stratum increases from one, the single-sample accuracies achievable will degrade dependin)fjt 2225 2231 25 0 (g)fjt 300 2172 1950 14 (on the network paths and local-clock stabilities. In order to avoid the tedious calculations [7])fjt 300 2114 1812 14 (necessary to estimate errors in each specific configuration, it is useful to assume the measu)fjt 2112 2114 138 0 (rement)fjt 300 2056 1875 14 (errors accumulate approximately in proportion to the total roundtrip path delay to the root of)fjt 2175 2056 76 1 ( the)fjt 300 1998 1340 7 (synchronization subnet, which is called the synchronizing distance.)fjt 300 1892 1950 13 (Again drawing from the experience of the telephone industry, which learned such lessons at)fjt 300 1834 1950 12 (considerable cost [45], the synchronization subnet should be organized to produce the highest)fjt 300 1775 1950 14 (accuracy, but must never be allowed to form a loop, regardless of synchronizing distance. An)fjt 300 1717 1629 12 (additional factor is that each increment in stratum involves a potentially unreliable ti)fjt 1929 1717 321 2 (me server which)fjt 300 1659 1833 12 (introduces additional measurement errors. The selection algorithm used in NTP uses a vari)fjt 2133 1659 117 1 (ant of)fjt 300 1601 1870 11 (the Bellman-Ford distributed routing algorithm [37] to compute the minimum-weight spanning t)fjt 2170 1601 80 0 (rees)fjt 300 1542 1925 15 (rooted on the primary servers. With the foregoing factors in mind, the distance metric was chose)fjt 2225 1542 25 0 (n)fjt 300 1484 1929 14 (using the stratum number as the high-order bits and synchronizing distance as the low-order bits.)fjt 300 1378 1903 12 (As a result of this design, the subnet reconfigures automatically in a hierarchical-master-sla)fjt 2203 1378 47 0 (ve)fjt 300 1320 1950 15 (configuration to produce the most accurate and reliable time, even when one or more primary or)fjt 300 1262 1914 15 (secondary servers or the network paths between them fail. This includes the case where all norm)fjt 2214 1262 36 0 (al)fjt (t)20 (s)22 (e)37 (w)26 (o)14 (l)25 ( )23 (e)26 (h)14 (t)25 ( )15 (t)23 (a)25 ( )25 (g)26 (n)15 (i)14 (t)23 (a)17 (r)23 (e)26 (p)25 (o)25 ( )18 (r)22 (e)26 (v)15 (i)22 (e)23 (c)23 (e)17 (r)25 ( )23 (e)26 (d)25 (o)23 (c)23 (e)39 (m)15 (i)14 (t)25 ( )34 (B)37 (V)48 (W)48 (W)25 ( )23 (e)15 (t)23 (a)17 (r)26 (u)23 (c)23 (c)23 (a)25 ( )26 (y)15 (l)26 (h)26 (g)15 (i)26 (h)25 ( )13 (,)14 (.)26 (g)13 (.)23 (e)18 (\()25 ( )20 (s)18 (r)23 (e)26 (v)17 (r)23 (e)20 (s)25 ( )26 (y)18 (r)23 (a)40 (m)14 (i)18 (r)26 (p)0 85 300 1204 fet 300 1145 1834 13 (synchronization distances\) on a possibly partitioned subnet fail, but one or more backup pr)fjt 2134 1145 116 0 (imary)fjt 300 1087 1864 11 (servers \(e.g., less accurate WWV receiver operating at higher synchronization distances\) cont)fjt 2164 1087 86 0 (inue)fjt 300 1029 1887 12 (operation. However, should all primary servers throughout the subnet fail, the remaining second)fjt 2187 1029 64 0 (ary)fjt 300 971 1950 11 (servers will synchronize among themselves while distances ratchet upwards to a preselected)fjt 300 912 1925 12 (maximum infinity due to the well-known properties of the Bellman-Ford algorithm. Upon reachin)fjt 2225 912 25 0 (g)fjt 300 854 1878 17 (the maximum on all paths, a server will drop off the subnet and free-run using its last determi)fjt 2178 854 72 0 (ned)fjt 300 796 1950 13 (time and frequency. Since these computations are expected to be very precise, especially in)fjt 300 738 1864 13 (frequency, even extended outage periods should result in timekeeping errors not greater than a)fjt 2164 738 86 1 ( few)fjt 300 679 424 2 (milliseconds per day.)fjt 300 574 1796 13 (In the case of multiple primary servers, the spanning-tree computation will usually select th)fjt 2096 574 154 1 (e server)fjt 300 516 1889 12 (at minimum synchronization distance. However, when these servers are at approximately the sa)fjt 2189 516 61 0 (me)fjt 300 457 1950 14 (distance, the computation may result in random selections among them as the result of normal)fjt 300 399 1845 13 (dispersive delays. Ordinarily, this does not degrade accuracy as long as any discrepancy bet)fjt 2145 399 105 0 (ween)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 3374 2624 3374 2624 2825 -75 2825 np mto lto lto lto clip np /tface 4 def 4 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2979 230 0 (RFC-1119)fjt 1024 2979 504 2 (Network Time Protocol)fjt 1882 2979 369 1 (September 1989)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 474 2624 474 2624 -75 -75 -75 np mto lto lto lto clip np /tface 4 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 279 100 0 (Mills)fjt 2092 279 158 1 (Page 6)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np %End page showpage svobj restore gr gs /svobj save def %Begin page UserSoP greset -75 3374 2624 3374 2624 -75 -75 -75 np mto lto lto lto clip np /tface 8 def 8 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2841 1793 15 (the primary servers is small compared to the synchronization distance. If not, the filter and s)fjt 2093 2841 157 0 (election)fjt 300 2782 1739 14 (algorithms will select the best of the available servers and cast out outlyers as intended.)fjt /tface 5 def 5 encfont sf 300 2675 83 0 (2.3.)fjt (e)13 (l)27 (a)27 (c)26 (s)27 (e)43 (m)13 (i)29 (T)13 ( )31 (P)30 (T)35 (N)12 ( )27 (e)30 (h)29 (T)13 ( )0 18 383 2675 fet /tface 8 def sf 300 2570 1906 15 (For many years the most important use of time information was for worldwide navigation and spa)fjt 2206 2570 44 0 (ce)fjt 300 2511 1928 14 (science, which depend on astronomical observations of the Sun, Moon and stars [32]. Sidereal tim)fjt 2228 2511 22 0 (e)fjt 300 2453 1878 17 (is based on the transit of stars across the celestial meridian of an observer. The mean sidereal )fjt 2178 2453 72 0 (day)fjt 300 2395 1950 17 (is 23 hours, 56 minutes and 4.09 seconds, but is not uniform due to variations in Earth orbit.)fjt 300 2337 1934 17 (Ephemeris time is based on tables with which a standard time interval such as the tropical year )fjt 2234 2337 17 0 (-)fjt 300 2278 1934 15 (one complete revolution of the Earth around the Sun - can be determined through observations o)fjt 2234 2278 17 0 (f)fjt 300 2220 1950 15 (the Sun, Moon and planets. In 1958 the standard second was defined as 1/31,556,925.9747 of the)fjt 300 2162 1928 16 (tropical year that began this century. On this scale the tropical year is 365.2421987 days and th)fjt 2228 2162 22 0 (e)fjt 300 2104 1950 16 (lunar month - one complete revolution of the Moon around the Earth - is 29.53059 days; however,)fjt 300 2045 1823 18 (the actual tropical year can be determined only to an accuracy of about 50 ms and has been incr)fjt 2123 2045 127 0 (easing)fjt 300 1987 505 5 (by about 5.3 ms per year.)fjt 300 1863 1950 20 (In order to measure the span of the universe or the decay of the proton, it is necessary to have a)fjt 300 1805 1852 10 (standard day numbering plan. Accordingly, the International Astronomical Union has adopte)fjt 2152 1805 98 1 (d the)fjt 300 1746 1950 15 (use of the standard second and Julian Day Number \(JDN\) to date cosmological events and related)fjt 300 1688 1950 14 (phenomena. The standard day consists of 86,400 standard seconds, where time is expressed as a)fjt 300 1630 1950 16 (fraction of the whole day, and the standard year consists of 365.25 standard days. In the scheme)fjt 300 1572 1950 15 (devised in 1583 by the French scholar Joseph Julius Scaliger and named after his father, Julius)fjt 300 1513 885 6 (Caesar Scaliger, JDN 0.0 corresponds to 12)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 1185 1537 21 0 (h)fjt /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 1206 1513 1045 11 ( \(noon\) on the first day of the Julian Era, 1 January)fjt 300 1455 1921 16 (4713 BC. The years prior to the Christian Era \(BC\) are reckoned according to the Julian calenda)fjt 2221 1455 29 0 (r,)fjt 300 1397 1950 15 (while the years of the Christian Era \(AD\) are reckoned according to the Gregorian calendar \(see)fjt 300 1339 1950 19 (next section\). Since there is no year zero or day zero and 1 BC is a leap year, JDN 1,721,426.0)fjt 300 1280 352 2 (corresponds to 12)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 652 1304 21 0 (h)fjt /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 673 1280 1577 16 ( on the first day of the Christian Era, 1 January 1 AD. The Modified Julian Date)fjt 300 1222 1911 16 (\(MJD\), which is sometimes used to represent dates near our own era in conventional time and wi)fjt 2211 1222 39 0 (th)fjt 300 1164 1021 9 (fewer digits, is defined as MJD = JD - 2,400,000.5.)fjt 300 1040 1925 13 (In 1967 the standard second was redefined as 9,192,631,770 periods of the radiation correspondin)fjt 2225 1040 25 0 (g)fjt 300 982 1896 16 (to the transition between the two hyperfine levels of the ground state of the cesium-133 atom [)fjt 2196 982 54 0 (1].)fjt 300 923 1876 15 (Since 1972 the time and frequency standards of the world have been based on International Ato)fjt 2176 923 75 0 (mic)fjt 300 865 1950 14 (Time \(TAI\), which is defined in terms of the standard second and currently maintained using)fjt 300 807 1313 11 (multiple cesium-beam clocks to an accuracy of a few parts in 10)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 1613 831 42 0 (13)fjt /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 1654 807 596 4 (. The Bureau International de)fjt 300 749 1950 12 (l'Heure \(BIH\) uses astronomical observations provided by the U.S. Naval Observatory and other)fjt 300 690 1934 11 (observatories to determine Coordinated Universal Time \(UTC\). Starting from apparent mean sola)fjt 2234 690 17 0 (r)fjt 300 632 1851 14 (time as observed, the UT0 timescale is determined using corrections for Earth orbit and inclin)fjt 2151 632 100 0 (ation)fjt 300 574 1867 14 (\(the Equation of Time, as used by sundials\), the UT1 \(navigator's\) timescale by adding correct)fjt 2167 574 83 0 (ions)fjt 300 516 1855 13 (for polar migration and the UT2 timescale by adding corrections for known periodicity variat)fjt 2155 516 96 0 (ions.)fjt 300 457 1950 15 (While standard frequencies are based on TAI, conventional civil time is based on UT1, which is)fjt 300 399 1950 16 (presently slowing relative to TAI by a fraction of a second per year. When the magnitude of)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 3374 2624 3374 2624 2825 -75 2825 np mto lto lto lto clip np /tface 4 def 4 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2979 230 0 (RFC-1119)fjt 1024 2979 504 2 (Network Time Protocol)fjt 1882 2979 369 1 (September 1989)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 474 2624 474 2624 -75 -75 -75 np mto lto lto lto clip np /tface 4 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 279 100 0 (Mills)fjt 2092 279 158 1 (Page 7)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np %End page showpage svobj restore gr gs /svobj save def %Begin page UserSoP greset -75 3374 2624 3374 2624 -75 -75 -75 np mto lto lto lto clip np /tface 8 def 8 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2409 1889 16 (correction approaches 0.7 second, a leap second is inserted or deleted in the UTC timescale on )fjt 2189 2409 61 0 (the)fjt 300 2350 594 5 (last day of June or December.)fjt 300 2263 1914 15 (For the most precise coordination and timestamping of events since 1972, it is necessary to kno)fjt 2214 2263 36 0 (w)fjt 300 2205 1950 15 (when leap seconds are implemented in UTC and how the seconds are numbered. As specified in)fjt 300 2147 1950 15 (CCIR Report 517, which is reproduced in [1], a leap second is inserted following second 23:59:59)fjt 300 2088 1950 18 (on the last day of June or December and becomes second 23:59:60 of that day. A leap second would)fjt 300 2030 1950 15 (be deleted by omitting second 23:59:59 on one of these days, although this has never happened.)fjt 300 1972 1750 15 (Leap seconds were inserted prior to 1 January 1989 on the occasions listed in Table 1)fjt 2050 1972 201 1 ( \(courtesy)fjt 300 1914 1878 13 (U.S. Naval Observatory\). Published BIH corrections consist not only of leap seconds, which re)fjt 2178 1914 72 0 (sult)fjt 300 1855 1950 13 (in step discontinuities relative to TAI, but 100-ms UT1 adjustments called DUT1, which provide)fjt 300 1797 1048 6 (increased accuracy for navigation and space science.)fjt 300 1710 826 8 (The NTP timescale is based on UTC. At 0)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 1126 1734 21 0 (h)fjt /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 1147 1710 1103 9 ( 1 January 1972 \(MJD 41,318.0\) the NTP timescale was)fjt 300 1651 1481 10 (set to 2,272,060,800, representing the number of standard seconds since 0)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 1781 1675 21 0 (h)fjt /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 1801 1651 449 4 ( 1 January 1900 \(MJD)fjt 300 1593 1852 15 (15,021.0\). The insertion of leap seconds in UTC does not affect the NTP oscillator itself, onl)fjt 2152 1593 99 1 (y the)fjt 300 1535 1859 11 (correspondence with conventional civil time. However, since the only institutional memory a)fjt 2159 1535 75 0 (vail)fjt 2234 1535 17 0 (-)fjt 300 1477 1950 18 (able to NTP is the UTC broadcast services, the NTP timescale is in effect reset to UTC as each)fjt 300 1418 1950 15 (offset estimate is computed. When a leap second is inserted in UTC and subsequently in NTP,)fjt 300 1360 1950 17 (knowledge of all previous leap seconds is lost. Thus, if a clock synchronized to NTP in early 1989)fjt 300 1302 1861 17 (was used to establish the time of an event that occurred in early 1972 without correction, it w)fjt 2161 1302 89 0 (ould)fjt 300 1244 492 3 (be fourteen seconds late.)fjt /tface 5 def 5 encfont sf 300 1155 83 0 (2.4.)fjt (r)27 (a)29 (d)30 (n)26 (e)13 (l)27 (a)35 (C)13 ( )31 (P)30 (T)35 (N)12 ( )27 (e)30 (h)29 (T)13 ( )0 17 383 1155 fet /tface 8 def sf 300 1068 1862 14 (The calendar systems used in the ancient world reflect the agricultural, political and ritual n)fjt 2162 1068 88 0 (eeds)fjt 300 1010 1818 11 (characteristic of the societies in which they flourished. Astronomical observations to establ)fjt 2118 1010 132 1 (ish the)fjt 300 951 1950 17 (winter and summer solstices were in use three to four millennia ago. By the 14th century BC the)fjt 300 893 1950 17 (Shang Chinese had established the solar year as 365.25 days and the lunar month as 29.5 days. The)fjt 300 835 1928 17 (lunisolar calendar, in which the ritual month is based on the Moon and the agricultural year on th)fjt 2228 835 22 0 (e)fjt 300 777 1950 14 (Sun, was used throughout the ancient Near East \(except Egypt\) and Greece from the third)fjt 300 718 1886 14 (millennium BC. Early calendars used either thirteen lunar months of 28 days or twelve alternat)fjt 2186 718 64 0 (ing)fjt 300 660 1950 16 (lunar months of 29 and 30 days and haphazard means to reconcile the 354/364-day lunar year with)fjt 300 602 588 4 (the 365-day vague solar year.)fjt 300 514 1950 14 (The ancient Egyptian lunisolar calendar had twelve 30-day lunar months, but was guided by the)fjt 300 456 1804 15 (seasonal appearance of the star Sirius \(Sothis\). In order to reconcile this calendar with the sol)fjt 2104 456 146 1 (ar year,)fjt 300 398 1885 16 (a civil calendar was invented by adding five intercalary days for a total of 365 days. However)fjt 2185 398 65 1 (, in)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset 225 2975 2324 2975 2324 2505 225 2505 np mto lto lto lto clip np 650 2899 1901 2899 1901 2898 650 2898 fa colmap 1 [0 0 0 ] put 1 sci gs eofill gr 650 2587 1901 2587 1901 2588 650 2588 fa gs eofill gr 650 2899 651 2899 651 2587 650 2587 fa gs eofill gr 1901 2899 1900 2899 1900 2587 1901 2587 fa gs eofill gr /tface 8 def /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 726 2838 204 1 (June 1972)fjt 1142 2838 205 1 (Dec. 1972)fjt 1558 2838 205 1 (Dec. 1973)fjt 726 2778 205 1 (Dec. 1974)fjt 1142 2778 205 1 (Dec. 1975)fjt 1558 2778 205 1 (Dec. 1976)fjt 726 2718 205 1 (Dec. 1977)fjt 1142 2718 205 1 (Dec. 1978)fjt 1558 2718 205 1 (Dec. 1979)fjt 726 2658 204 1 (June 1981)fjt 1142 2658 204 1 (June 1982)fjt 1558 2658 204 1 (June 1983)fjt 726 2598 204 1 (June 1985)fjt 1142 2598 205 1 (Dec. 1987)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset 225 2654 2324 2654 2324 2393 225 2393 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 871 2496 807 5 (Table 1. Dates of Leap-Second Insertion)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 3374 2624 3374 2624 2825 -75 2825 np mto lto lto lto clip np /tface 4 def 4 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2979 230 0 (RFC-1119)fjt 1024 2979 504 2 (Network Time Protocol)fjt 1882 2979 369 1 (September 1989)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 474 2624 474 2624 -75 -75 -75 np mto lto lto lto clip np /tface 4 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 279 100 0 (Mills)fjt 2092 279 158 1 (Page 8)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np %End page showpage svobj restore gr gs /svobj save def %Begin page UserSoP greset -75 3374 2624 3374 2624 -75 -75 -75 np mto lto lto lto clip np /tface 8 def 8 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2841 1912 17 (time it was observed that the civil year was about one-fourth day shorter than the actual solar ye)fjt 2212 2841 39 0 (ar)fjt 300 2782 1928 17 (and thus would precess relative to it over a 1460-year cycle called the Sothic cycle. Along with th)fjt 2228 2782 22 0 (e)fjt 300 2724 1911 15 (Shang Chinese, the ancient Egyptians had thus established the solar year at 365.25 days, or with)fjt 2211 2724 39 0 (in)fjt 300 2666 1950 17 (about 11 minutes of the present measured value. In 432 BC, about a century after the Chinese had)fjt 300 2608 1950 15 (done so, the Greek astronomer Meton calculated there were 110 29-day lunar months and 125 30-day)fjt 300 2549 1950 19 (lunar months for a total of 235 lunar months in 6940 solar days, or just over 19 years. The 19-year)fjt 300 2491 1950 15 (cycle, called the Metonic cycle, established the lunar month at 29.532 solar days, or within about)fjt 300 2433 864 6 (two minutes of the present measured value.)fjt 300 2321 1950 18 (The Roman republican calendar was based on a lunar year and by 50 BC was eight weeks out of)fjt 300 2263 1928 14 (step with the solar year. Julius Caesar invited the Alexandrian astronomer Sosigenes to redesign th)fjt 2228 2263 22 0 (e)fjt 300 2205 1854 18 (calendar, which led to the adoption in 46 BC of the Julian calendar. This calendar is based on a)fjt 2154 2205 96 1 ( year)fjt 300 2147 1870 17 (of 365.25 days and has an intercalary day inserted every four years. However, for the first 36 y)fjt 2170 2147 80 0 (ears)fjt 300 2088 1860 14 (an intercalary day was mistakenly inserted every three years instead of every four. The result)fjt 2160 2088 90 1 ( was)fjt 300 2030 1817 16 (12 intercalary days instead of nine, and a series of corrections that was not complete until 8)fjt 2117 2030 97 1 ( AD.)fjt 300 1894 1934 14 (The seven-day Sumerian week was introduced only in the fourth century AD by Emperor Constan)fjt 2234 1894 17 0 (-)fjt 300 1836 1892 16 (tine I. During the Roman era a 15-year census cycle, called the Indiction cycle, was instituted )fjt 2192 1836 58 0 (for)fjt 300 1778 1869 12 (taxation purposes. The sequence of day-names for consecutive occurrences of a particular da)fjt 2169 1778 81 1 (y of)fjt 300 1719 1889 18 (the year does not recur for 28 years, called the solar cycle. Thus, the least common multiple of )fjt 2189 1719 61 0 (the)fjt 300 1661 1934 14 (28-year solar cycle, 19-year Metonic cycle and 15-year Indiction cycle results in a grand 7980-yea)fjt 2234 1661 17 0 (r)fjt 300 1603 1934 16 (supercycle called the Julian Era, which began in 4713 BC. A particular combination of the day o)fjt 2234 1603 17 0 (f)fjt 300 1545 1950 19 (the week, day of the year, phase of the Moon and round of the census will recur beginning in 3268)fjt 300 1486 85 0 (AD.)fjt 300 1351 1893 17 (By 1545 the discrepancy in the Julian year relative to the solar year had accumulated to ten da)fjt 2193 1351 57 0 (ys.)fjt 300 1292 1950 12 (In 1582, following suggestions by the astronomers Christopher Clavius and Luigi Lilio, Pope)fjt 300 1234 1903 16 (Gregory XIII issued a papal bull which decreed, among other things, that the solar year would cons)fjt 2203 1234 47 0 (ist)fjt 300 1176 1931 15 (of 365.2422 days. In order to more closely approximate the new value, only those centennial year)fjt 2231 1176 19 0 (s)fjt 300 1118 1950 15 (divisible by 400 would be leap years, while the remaining centennial years would not, making the)fjt 300 1059 1950 14 (actual value 365.2425, or within about 26 seconds of the current measured value. While the)fjt 300 1001 1950 16 (Gregorian calendar is in use throughout most of the world today, some countries did not adopt it)fjt 300 943 699 5 (until early in the twentieth century.)fjt 300 807 1889 13 (While it remains a fascinating field for time historians, the above narrative provides conclus)fjt 2189 807 61 0 (ive)fjt 300 749 1925 12 (evidence that conjugating calendar dates of significant events and assigning NTP timestamps t)fjt 2225 749 25 0 (o)fjt 300 690 1876 15 (them is approximate at best. In principle, reliable dating of such events requires only an accu)fjt 2176 690 74 0 (rate)fjt 300 632 1903 16 (count of the days relative to some globally alarming event, such as a comet passage or superno)fjt 2203 632 47 0 (va)fjt 300 574 1734 11 (explosion; however, only historically persistent and politically stable societies, such as )fjt 2034 574 217 1 (the ancient)fjt 300 516 1950 15 (Chinese and Egyptian, and especially the classic Maya, possessed the means and will to do so.)fjt 300 457 1862 14 (Therefore, intercalary dating is considered beyond the scope of this specification and NTP is b)fjt 2162 457 88 0 (ased)fjt 300 399 888 5 (solely on the Julian-Day numbering scheme.)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 3374 2624 3374 2624 2825 -75 2825 np mto lto lto lto clip np /tface 4 def 4 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2979 230 0 (RFC-1119)fjt 1024 2979 504 2 (Network Time Protocol)fjt 1882 2979 369 1 (September 1989)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 474 2624 474 2624 -75 -75 -75 np mto lto lto lto clip np /tface 4 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 279 100 0 (Mills)fjt 2092 279 158 1 (Page 9)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np %End page showpage svobj restore gr gs /svobj save def %Begin page UserSoP greset -75 3374 2624 3374 2624 -75 -75 -75 np mto lto lto lto clip np /tface 5 def 5 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2841 83 0 (2.5.)fjt (n)30 (o)13 (i)15 (t)27 (a)29 (n)13 (i)43 (m)27 (e)27 (s)27 (s)12 (i)35 (D)13 ( )27 (y)27 (c)29 (n)27 (e)29 (u)30 (q)27 (e)18 (r)29 (F)13 ( )30 (d)29 (n)27 (a)13 ( )26 (e)44 (m)12 (i)29 (T)13 ( )0 33 383 2841 fet /tface 8 def 8 encfont sf 300 2751 1853 14 (In order that atomic and civil time can be coordinated throughout the world, national administra)fjt 2153 2751 97 0 (tions)fjt 300 2692 1950 12 (operate primary time and frequency standards and maintain TAI and UTC cooperatively by)fjt 300 2634 1887 13 (observing various radio broadcasts and through occasional use of portable atomic clocks. A prim)fjt 2187 2634 64 0 (ary)fjt 300 2576 1829 11 (frequency standard is an oscillator that can maintain extremely precise frequency relativ)fjt 2129 2576 121 2 (e to a)fjt 300 2518 1854 14 (physical phenomenon, such as a transition in the orbital states of an electron. Presently avai)fjt 2154 2518 97 0 (lable)fjt 300 2459 1912 15 (atomic oscillators are based on the transitions of the hydrogen, cesium and rubidium atoms and a)fjt 2212 2459 39 0 (re)fjt 300 2401 1160 9 (capable of maintaining reliable agreement to the order of 10)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 1460 2425 55 0 (-13)fjt /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 1516 2401 735 5 ( when operated in multiple ensembles)fjt 300 2343 1173 7 (at various national standards laboratories \(see Section 5.1\).)fjt 300 2250 1896 15 (Most seafaring nations of the world operate some sort of broadcast time service for the purpose)fjt 2196 2250 54 1 ( of)fjt 300 2192 1934 12 (calibrating chronographs, which are used in conjunction with ephemeris data to determine naviga)fjt 2234 2192 17 0 (-)fjt 300 2134 1855 13 (tional position. In many countries the service is primitive and limited to seconds-pips broadca)fjt 2155 2134 95 1 (st by)fjt 300 2075 1950 13 (marine communication stations at certain hours. For instance, a chronograph error of one second)fjt 300 2017 1623 12 (represents a longitudinal position error of about 0.23 nautical mile at the Equator.)fjt 300 1924 1950 13 (The U.S. National Institute of Standards and Technology \(NIST - formerly National Bureau of)fjt 300 1866 1815 13 (Standards\) operates three radio services for the distribution of primary time and frequency st)fjt 2115 1866 136 0 (andard)fjt 300 1808 1895 13 (information. One of these uses high-frequency \(HF or CCIR band 7\) transmissions on frequenc)fjt 2195 1808 55 0 (ies)fjt 300 1750 1950 17 (of 2.5, 5, 10, 15 and 20 MHz from Fort Collins, CO \(WWV\), and Kauai, HI \(WWVH\). Signal)fjt 300 1691 1950 14 (propagation is usually by reflection from the upper ionospheric layers, which vary in height and)fjt 300 1633 1950 13 (composition throughout the day and season and result in unpredictable delay variations at the)fjt 300 1575 1826 18 (receiver. The timecode is transmitted over a 60-second interval at a data rate of 1 bps using a 1)fjt 2126 1575 125 0 (00-Hz)fjt 300 1517 1887 14 (subcarrier on the broadcast signal. While these transmissions and those of Canada \(CHU\) and ot)fjt 2187 1517 64 0 (her)fjt 300 1458 1848 13 (countries can be received over large areas in the western hemisphere, reliable frequency compar)fjt 2148 1458 102 0 (isons)fjt 300 1400 710 8 (can be made only to the order of 10)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 1010 1424 35 0 (-7)fjt /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 1045 1400 1206 11 ( and time accuracies are limited to the order of a millisecond)fjt 300 1342 71 0 ([1].)fjt 300 1249 1950 16 (A second service operated by NIST is the low-frequency \(LF or CCIR band 5\) transmissions on 60)fjt 300 1191 1950 14 (kHz from Boulder, CO \(WWVB\), which can be received over the continental U.S. and adjacent)fjt 300 1132 1785 13 (coastal areas. Signal propagation is via the lower ionospheric layers, which are relatively st)fjt 2085 1132 165 1 (able and)fjt 300 1074 1851 13 (have predictable diurnal variations in height. The timecode is transmitted over a 60-second int)fjt 2151 1074 99 0 (erval)fjt 300 1016 1950 15 (at a rate of 1 pps using periodic reductions in carrier power. With appropriate receiving and)fjt 300 958 1925 10 (averaging techniques and corrections for diurnal and seasonal propagation effects, frequenc)fjt 2225 958 25 0 (y)fjt 300 899 499 3 (comparisons to within 10)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 799 923 55 0 (-11)fjt /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 854 899 1396 13 ( are possible and time accuracies of from a few to 50 microseconds can)fjt 300 841 1794 15 (be obtained [1]. However, there is only one station and it operates at modest power levels.)fjt 300 749 1950 14 (The third service operated by NIST uses ultra-high frequency \(UHF or CCIR band 9\) transmissions)fjt 300 690 1950 12 (on 468 MHz from the Geosynchronous Orbiting Environmental Satellite \(GOES\). The timecode is)fjt 300 632 1815 13 (interleaved with messages used to interrogate remote sensors and consists of 60 4-bit binary)fjt 2115 632 136 0 (-coded)fjt 300 574 1903 13 (decimal words transmitted over an interval of 30 seconds. The timecode information includes t)fjt 2203 574 47 0 (he)fjt 300 516 1839 15 (UTC time of year, satellite position and UTC correction. There is some speculation on the cont)fjt 2139 516 111 0 (inued)fjt 300 457 1950 13 (operation of GOES, especially if the LORAN-C [16] and Global Positioning System \(GPS\) [17])fjt 300 399 1889 13 (radiopositioning systems operated by other U.S. agencies continue to evolve as expected. While )fjt 2189 399 61 0 (the)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset 225 3074 393 3074 393 2925 225 2925 np mto lto lto lto clip np greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset 1249 3074 1417 3074 1417 2925 1249 2925 np mto lto lto lto clip np greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 3374 2624 3374 2624 2825 -75 2825 np mto lto lto lto clip np /tface 4 def 4 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2979 230 0 (RFC-1119)fjt 1024 2979 504 2 (Network Time Protocol)fjt 1882 2979 369 1 (September 1989)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 474 2624 474 2624 -75 -75 -75 np mto lto lto lto clip np /tface 4 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 279 100 0 (Mills)fjt 2065 279 186 1 (Page 10)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np %End page showpage svobj restore gr gs /svobj save def %Begin page UserSoP greset -75 3374 2624 3374 2624 -75 -75 -75 np mto lto lto lto clip np /tface 8 def 8 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2841 1950 14 (OMEGA [3] radionavigation system operated by the U.S. Navy and other countries can in principle)fjt 300 2782 1889 13 (provide worldwide frequency and time distribution, this system is unlikely to long survive )fjt 2189 2782 61 0 (the)fjt 300 2724 642 3 (operational deployment of GPS.)fjt 300 2635 1906 15 (Note that the current formats used by NIST radio broadcast services [5] do not include provisio)fjt 2206 2635 44 0 (ns)fjt 300 2577 1846 14 (for advance notice of leap seconds, so this information must be determined from other sources.)fjt 2146 2577 104 1 ( NTP)fjt 300 2518 1931 12 (includes provisions to distribute advance warnings of leap seconds using the leap-indicator bit)fjt 2231 2518 19 0 (s)fjt 300 2460 1848 18 (described in Section 3. The protocol is designed so that these bits can be set manually at the pri)fjt 2148 2460 102 0 (mary)fjt 300 2402 1873 12 (time servers and then automatically distributed throughout the synchronization subnet to all o)fjt 2173 2402 77 0 (ther)fjt 300 2344 761 6 (time servers as described in Section 5.)fjt /tface 5 def 5 encfont sf 300 2251 42 0 (3.)fjt (l)30 (o)27 (c)29 (o)16 (t)29 (o)18 (r)33 (P)12 ( )27 (e)43 (m)13 (i)29 (T)13 ( )26 (k)19 (r)29 (o)38 (w)15 (t)27 (e)35 (N)13 ( )0 22 350 2251 fet /tface 8 def sf 300 2162 1777 14 (This section consists of a formal definition of the Network Time Protocol, including its data)fjt 2077 2162 173 1 ( formats,)fjt 300 2104 1826 11 (entities, state variables, events and event-processing procedures. The specification is based )fjt 2126 2104 124 1 (on the)fjt 300 2045 1826 16 (implementation model illustrated in Figure 1, but it is not intended that this model is the on)fjt 2126 2045 124 1 (ly one)fjt 300 1987 1793 14 (upon which a specification can be based. In particular, the specification is intended to illust)fjt 2093 1987 157 1 (rate and)fjt 300 1929 1918 17 (clarify the intrinsic operations of NTP, as well as to serve as a foundation for a more rigorou)fjt 2218 1929 32 0 (s,)fjt 300 1871 867 3 (comprehensive and verifiable specification.)fjt /tface 5 def sf 300 1778 83 0 (3.1.)fjt (s)15 (t)27 (a)43 (m)18 (r)30 (o)29 (F)13 ( )27 (a)15 (t)27 (a)35 (D)13 ( )0 13 383 1778 fet /tface 8 def sf 300 1689 1950 10 (All mathematical operations expressed or implied herein are in two's-complement, fixed-point)fjt 300 1630 1925 13 (arithmetic. Data are specified as integer or fixed-point quantities, with bits numbered from zer)fjt 2225 1630 25 0 (o)fjt 300 1572 1876 12 (starting at the left, or high-order, position. Since various implementations may scale extern)fjt 2176 1572 75 0 (ally)fjt 300 1514 1831 12 (derived quantities for internal use, neither the precision nor decimal-point placement for fixed)fjt 2131 1514 119 0 (-point)fjt 300 1456 1852 12 (quantities is specified. Unless specified otherwise, all quantities are unsigned and may occup)fjt 2152 1456 99 1 (y the)fjt 300 1397 1950 14 (full field width with an implied zero preceding bit zero. Hardware and software packages designed)fjt 300 1339 1870 14 (to work with signed quantities will thus yield surprising results when the most significant \(sign)fjt 2170 1339 80 1 (\) bit)fjt 300 1281 1773 13 (is set. It is suggested that externally derived, unsigned fixed-point quantities such as times)fjt 2073 1281 177 1 (tamps be)fjt 300 1223 1763 16 (shifted right one bit for internal use, since the precision represented by the full field width )fjt 2063 1223 187 1 (is seldom)fjt 300 1164 175 0 (justified.)fjt 300 1073 1950 15 (Since NTP timestamps are cherished data and, in fact, represent the main product of the protocol,)fjt 300 1015 1950 13 (a special timestamp format has been established. NTP timestamps are represented as a 64-bit)fjt 300 956 1052 7 (unsigned fixed-point number, in seconds relative to 0)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 1352 980 21 0 (h)fjt /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 1373 956 878 10 ( on 1 January 1900. The integer part is in the)fjt 300 898 1729 16 (first 32 bits and the fraction part in the last 32 bits. This format allows convenient multipl)fjt 2029 898 221 0 (e-precision)fjt 300 840 1950 11 (arithmetic and conversion to Time Protocol representation \(seconds\), but does complicate the)fjt 300 782 1950 10 (conversion to ICMP Timestamp message representation \(milliseconds\). The precision of this)fjt 300 723 1950 13 (representation is about 200 picoseconds, which should be adequate for even the most exotic)fjt 300 665 272 0 (requirements.)fjt 300 574 1950 15 (Timestamps are determined by copying the current value of the local clock to a timestamp when)fjt 300 516 1895 16 (some significant event, such as the arrival of a message, occurs. In order to maintain the high)fjt 2195 516 55 0 (est)fjt 300 457 1805 16 (accuracy, it is important that this be done as close to the hardware or software driver associat)fjt 2105 457 145 1 (ed with)fjt 300 399 1837 13 (the event as possible. In particular, departure timestamps should be redetermined for each link)fjt 2137 399 113 0 (-level)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 3374 2624 3374 2624 2825 -75 2825 np mto lto lto lto clip np /tface 4 def 4 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2979 230 0 (RFC-1119)fjt 1024 2979 504 2 (Network Time Protocol)fjt 1882 2979 369 1 (September 1989)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 474 2624 474 2624 -75 -75 -75 np mto lto lto lto clip np /tface 4 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 279 100 0 (Mills)fjt 2065 279 186 1 (Page 11)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np %End page showpage svobj restore gr gs /svobj save def %Begin page UserSoP greset -75 3374 2624 3374 2624 -75 -75 -75 np mto lto lto lto clip np /tface 8 def 8 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2841 1950 15 (retransmission. In some cases a particular timestamp may not be available, such as when the host)fjt 300 2782 1800 18 (is rebooted or the protocol first starts up. In these cases the 64-bit field is set to zero, indica)fjt 2100 2782 150 1 (ting the)fjt 300 2724 582 4 (value is invalid or undefined.)fjt 300 2634 1854 19 (Note that since some time in 1968 the most significant bit \(bit 0 of the integer part\) has been se)fjt 2154 2634 96 1 (t and)fjt 300 2575 1936 18 (that the 64-bit field will overflow some time in 2036. Should NTP be in use in 2036, some externa)fjt 2236 2575 14 0 (l)fjt 300 2517 1950 16 (means will be necessary to qualify time relative to 1900 and time relative to 2036 \(and other)fjt 300 2459 1914 13 (multiples of 136 years\). Timestamped data requiring such qualification will be so precious th)fjt 2214 2459 36 0 (at)fjt 300 2401 1950 11 (appropriate means should be readily available. There will exist an 200-picosecond interval,)fjt 300 2342 1899 15 (henceforth ignored, every 136 years when the 64-bit field will be zero and thus considered inval)fjt 2199 2342 51 0 (id.)fjt /tface 5 def 5 encfont sf 300 2247 83 0 (3.2.)fjt (s)18 (r)27 (e)16 (t)26 (e)44 (m)26 (a)19 (r)26 (a)33 (P)12 ( )30 (d)29 (n)27 (a)13 ( )27 (s)26 (e)13 (l)30 (b)26 (a)13 (i)18 (r)27 (a)30 (V)12 ( )27 (e)16 (t)26 (a)16 (t)32 (S)13 ( )0 31 383 2247 fet /tface 8 def sf 300 2156 1950 15 (Following is a summary of the various state variables and parameters used by the protocol. They)fjt 300 2098 1808 13 (are separated into classes of system variables, which relate to the operating system environm)fjt 2108 2098 143 1 (ent and)fjt 300 2040 1950 12 (local-clock mechanism; peer variables, which represent the state of the protocol machine specific)fjt 300 1982 1918 14 (to each peer; packet variables, which represent the contents of the NTP message; and parameter)fjt 2218 1982 32 0 (s,)fjt 300 1923 1803 11 (which represent fixed configuration constants for all implementations of the current versi)fjt 2103 1923 147 1 (on. For)fjt 300 1865 1864 17 (each class the description of the variable is followed by its name and the procedure or value w)fjt 2164 1865 86 0 (hich)fjt 300 1807 1914 15 (controls it. Note that variables are in lower case, while parameters are in upper case. Addition)fjt 2214 1807 36 0 (al)fjt 300 1749 1464 11 (details on formats and use are presented in later sections and Appendices.)fjt /tface 5 def sf 300 1654 125 0 (3.2.1.)fjt (s)27 (e)12 (l)30 (b)27 (a)12 (i)19 (r)26 (a)30 (V)13 ( )29 (n)30 (o)43 (m)43 (m)30 (o)35 (C)12 ( )0 17 425 1654 fet /tface 8 def sf 300 1559 1950 15 (The following variables are common to two or more of the system, peer and packet classes.)fjt 300 1500 1789 12 (Additional variables are specific to the optional authentication mechanism as described in A)fjt 2089 1500 161 0 (ppendix)fjt 300 1442 46 0 (C.)fjt 300 1346 1950 11 (Peer Address \(peer.srcadr, pkt.srcadr\), Peer Port \(peer.srcport, pkt.srcport\): These are the 32-bit)fjt 375 1286 1175 9 (Internet address and 16-bit port number of the remote host.)fjt 300 1189 1923 11 (Local Address \(peer.dstadr, pkt.dstadr\), Local Port \(peer.dstport, pkt.dstport\): These are the 32-b)fjt 2223 1189 28 0 (it)fjt 375 1129 1875 15 (Internet address and 16-bit port number of the local host. They are included among the state)fjt 375 1069 692 3 (variables to support multi-homing.)fjt 300 973 1881 14 (Leap Indicator \(sys.leap, peer.leap, pkt.leap\): This is a two-bit code warning of an impending l)fjt 2181 973 69 0 (eap)fjt 375 913 1850 18 (second to be inserted in the NTP timescale. The bits are set before 23:59 on the day of insertio)fjt 2225 913 25 0 (n)fjt 375 853 1823 15 (and reset after 00:00 on the following day. This causes the number of seconds \(rollover interv)fjt 2198 853 52 0 (al\))fjt 375 793 1875 18 (in the day of insertion to be increased or decreased by one. In the case of primary servers the)fjt 375 733 1825 17 (bits are set by operator intervention, while in the case of secondary servers the bits are set )fjt 2200 733 50 0 (by)fjt 375 673 1527 14 (the protocol. The two bits, bit 0 and bit 1, respectively, are coded as follows:)fjt 533 579 50 0 (00)fjt 700 579 226 1 (no warning)fjt 533 519 50 0 (01)fjt 700 519 531 4 (last minute has 61 seconds)fjt 533 459 50 0 (10)fjt 700 459 547 4 (last minute has 59 seconds\))fjt 533 399 50 0 (11)fjt 700 399 821 4 (alarm condition \(clock not synchronized\))fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 3374 2624 3374 2624 2825 -75 2825 np mto lto lto lto clip np /tface 4 def 4 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2979 230 0 (RFC-1119)fjt 1024 2979 504 2 (Network Time Protocol)fjt 1882 2979 369 1 (September 1989)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 474 2624 474 2624 -75 -75 -75 np mto lto lto lto clip np /tface 4 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 279 100 0 (Mills)fjt 2065 279 186 1 (Page 12)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np %End page showpage svobj restore gr gs /svobj save def %Begin page UserSoP greset -75 3374 2624 3374 2624 -75 -75 -75 np mto lto lto lto clip np /tface 8 def 8 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 375 2839 705 6 (In all except the alarm condition \(11)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 1080 2834 21 0 (2)fjt /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 1101 2839 1150 10 (\), NTP itself does nothing with these bits, except pass them)fjt 375 2781 1875 15 (on to the time-conversion routines that are not part of NTP. The alarm condition occurs when,)fjt 375 2722 1875 16 (for whatever reason, the local clock is not synchronized, such as when first coming up or after)fjt 375 2664 1307 9 (an extended period when no outside reference source is available.)fjt 300 2561 1950 12 (Mode \(peer.hmode, pkt.pmode\): This is an integer indicating the association mode, with values)fjt 375 2501 348 2 (coded as follows:)fjt 533 2404 25 0 (0)fjt 700 2404 229 0 (unspecified)fjt 533 2344 25 0 (1)fjt 700 2344 341 1 (symmetric active)fjt 533 2284 25 0 (2)fjt 700 2284 369 1 (symmetric passive)fjt 533 2224 25 0 (3)fjt 700 2224 110 0 (client)fjt 533 2164 25 0 (4)fjt 700 2164 121 0 (server)fjt 533 2104 25 0 (5)fjt 700 2104 191 0 (broadcast)fjt 533 2044 25 0 (6)fjt 700 2044 655 4 (reserved for future NTP versions)fjt 533 1984 25 0 (7)fjt 700 1984 468 3 (reserved for private use)fjt 300 1888 1823 12 (Stratum \(sys.stratum, peer.stratum, pkt.stratum\): This is an integer indicating the stratum of th)fjt 2123 1888 127 1 (e local)fjt 375 1828 752 5 (clock, with values defined as follows:)fjt 533 1731 25 0 (0)fjt 700 1731 229 0 (unspecified)fjt 533 1671 25 0 (1)fjt 700 1671 720 4 (primary reference \(e.g., radio clock\))fjt 533 1611 117 0 (2-255)fjt 700 1611 612 3 (secondary reference \(via NTP\))fjt 375 1515 1875 15 (For comparison purposes a value of zero is considered greater than any other value. Note that)fjt 375 1457 1875 15 (the maximum value of the integer encoded as a packet variable is limited by the parameter)fjt 375 1398 638 4 (NTP.INFIN, currently set to 15.)fjt 300 1295 1812 13 (Peer Poll Interval \(peer.ppoll, pkt.ppoll\): This is a signed integer indicating the minimum i)fjt 2112 1295 138 0 (nterval)fjt 375 1235 1875 18 (between messages sent by the peer, in seconds as a power of two. For instance, a value of six)fjt 375 1175 881 6 (indicates a minimum interval of 64 seconds.)fjt 300 1071 1950 10 (Precision \(sys.precision, peer.precision, pkt.precision\): This is a signed integer indicating the)fjt 375 1011 1875 17 (precision of the local clock, in seconds to the nearest power of two. For instance, a 50-Hz or)fjt 375 951 1875 12 (60-Hz line-frequency clock would be assigned the value -6, while a 1000-Hz crystal-controlled)fjt 375 891 773 6 (clock would be assigned the value -10.)fjt 300 787 1912 9 (Synchronizing Distance \(sys.distance, peer.distance, pkt.distance\): This is a fixed-point numb)fjt 2212 787 39 0 (er)fjt 375 727 1454 10 (indicating the estimated roundtrip delay to the primary clock, in seconds.)fjt 300 623 1831 8 (Synchronizing Dispersion \(sys.dispersion, peer.dispersion, pkt.dispersion\): This is a fixed)fjt 2131 623 119 0 (-point)fjt 375 563 1518 10 (number indicating the estimated dispersion to the primary clock, in seconds.)fjt 300 459 1847 11 (Reference Clock Identifier \(sys.refid, peer.refid, pkt.refid\): This is a 32-bit code identifyin)fjt 2147 459 103 1 (g the)fjt 375 399 1777 14 (particular reference clock. In the case of stratum 0 \(unspecified\) or stratum 1 \(primary refere)fjt 2152 399 98 0 (nce\),)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 3374 2624 3374 2624 2825 -75 2825 np mto lto lto lto clip np /tface 4 def 4 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2979 230 0 (RFC-1119)fjt 1024 2979 504 2 (Network Time Protocol)fjt 1882 2979 369 1 (September 1989)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 474 2624 474 2624 -75 -75 -75 np mto lto lto lto clip np /tface 4 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 279 100 0 (Mills)fjt 2065 279 186 1 (Page 13)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np %End page showpage svobj restore gr gs /svobj save def %Begin page UserSoP greset -75 3374 2624 3374 2624 -75 -75 -75 np mto lto lto lto clip np /tface 8 def 8 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 375 2033 1875 13 (this is a four-octet, left-justified, zero-padded ASCII string, for example \(see Appendix A for)fjt 375 1973 405 1 (comprehensive list\):)fjt 651 1853 1900 1853 1900 1852 651 1852 fa gs eofill gr 650 1923 1901 1923 1901 1922 650 1922 fa gs eofill gr 650 1541 1901 1541 1901 1542 650 1542 fa gs eofill gr 650 1923 651 1923 651 1541 650 1541 fa gs eofill gr 1901 1923 1900 1923 1900 1541 1901 1541 fa gs eofill gr 700 1862 158 0 (Stratum)fjt 978 1862 105 0 (Code)fjt 1255 1862 177 0 (Meaning)fjt 700 1792 25 0 (0)fjt 978 1792 105 0 (DCN)fjt 1255 1792 440 2 (DCN routing protocol)fjt 700 1732 25 0 (0)fjt 978 1732 86 0 (TSP)fjt 1255 1732 365 2 (TSP time protocol)fjt 700 1672 25 0 (1)fjt 978 1672 163 0 (WWVB)fjt 1255 1672 529 4 (WWVB LF \(band 5\) radio)fjt 700 1612 25 0 (1)fjt 978 1612 130 0 (GOES)fjt 1255 1612 589 4 (GOES UHF \(band 9\) satellite)fjt 700 1552 25 0 (1)fjt 978 1552 130 0 (WWV)fjt 1255 1552 489 3 (WWV HF \(band 7\)radio)fjt 375 1450 1802 15 (In the case of type 2 and greater \(secondary reference\) this is the four-octet Internet addres)fjt 2177 1450 73 1 (s of)fjt 375 1391 366 2 (the reference host.)fjt 300 1296 1851 11 (Reference Timestamp \(sys.reftime, peer.reftime, pkt.reftime\): This is the local time, in times)fjt 2151 1296 100 0 (tamp)fjt 375 1236 1875 15 (format, when the local clock was last updated. If the local clock has never been synchronized,)fjt 375 1176 337 3 (the value is zero.)fjt 300 1079 1950 14 (Originate Timestamp \(peer.org, pkt.org\): This is the local time, in timestamp format, at the peer)fjt 375 1019 1875 17 (when its latest NTP message was sent. If the peer becomes unreachable the value is set to zero.)fjt 300 922 1917 14 (Receive Timestamp \(peer.rec, pkt.rec\): This is the local time, in timestamp format, when the late)fjt 2217 922 33 0 (st)fjt 375 862 1846 16 (NTP message from the peer arrived. If the peer becomes unreachable the value is set to zero.)fjt 300 766 1928 14 (Transmit Timestamp \(peer.xmt, pkt.xmt\): This is the local time, in timestamp format, at which th)fjt 2228 766 22 0 (e)fjt 375 706 687 4 (NTP message departed the sender.)fjt /tface 5 def 5 encfont sf 300 611 125 0 (3.2.2.)fjt (s)26 (e)13 (l)30 (b)26 (a)13 (i)18 (r)27 (a)30 (V)12 ( )44 (m)26 (e)16 (t)27 (s)26 (y)33 (S)12 ( )0 17 425 611 fet /tface 8 def sf 300 516 1864 15 (Table 2 shows the complete set of system variables. In addition to the common variables descr)fjt 2164 516 86 0 (ibed)fjt 300 457 1903 14 (previously, the following variables are used by the operating system in order to synchronize t)fjt 2203 457 47 0 (he)fjt 300 399 229 1 (local clock.)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset 225 2980 2324 2980 2324 2129 225 2129 np mto lto lto lto clip np 526 2828 2024 2828 2024 2827 526 2827 fa colmap 1 [0 0 0 ] put 1 sci gs eofill gr 525 2899 2025 2899 2025 2898 525 2898 fa gs eofill gr 525 2207 2025 2207 2025 2208 525 2208 fa gs eofill gr 525 2899 526 2899 526 2207 525 2207 fa gs eofill gr 2025 2899 2024 2899 2024 2207 2025 2207 fa gs eofill gr /tface 8 def /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 576 2838 349 1 (System Variables)fjt 1218 2838 119 0 (Name)fjt 1646 2838 202 0 (Procedure)fjt 576 2768 292 1 (Leap Indicator)fjt 1218 2768 159 0 (sys.leap)fjt 1646 2768 253 1 (clock update)fjt 576 2708 158 0 (Stratum)fjt 1218 2708 225 0 (sys.stratum)fjt 1646 2708 253 1 (clock update)fjt 576 2648 185 0 (Precision)fjt 1218 2648 258 0 (sys.precision)fjt 1646 2648 138 0 (system)fjt 576 2588 477 1 (Synchronizing Distance)fjt 1218 2588 239 0 (sys.distance)fjt 1646 2588 253 1 (clock update)fjt 576 2528 519 1 (Synchronizing Dispersion)fjt 1218 2528 281 0 (sys.dispersion)fjt 1646 2528 253 1 (clock update)fjt 576 2468 530 2 (Reference Clock Identifier)fjt 1218 2468 170 0 (sys.refid)fjt 1646 2468 253 1 (clock update)fjt 576 2408 438 1 (Reference Timestamp)fjt 1218 2408 219 0 (sys.reftime)fjt 1646 2408 253 1 (clock update)fjt 576 2348 284 1 (Logical Clock)fjt 1218 2348 184 0 (sys.clock)fjt 1646 2348 253 1 (clock update)fjt 576 2288 231 1 (Clock Hold)fjt 1218 2288 165 0 (sys.hold)fjt 1646 2288 253 1 (clock update)fjt 576 2218 270 1 (Clock Source)fjt 1218 2218 162 0 (sys.peer)fjt 1646 2218 177 0 (selection)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset 225 2278 2324 2278 2324 2022 225 2022 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 1013 2120 525 3 (Table 2. System Variables)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 3374 2624 3374 2624 2825 -75 2825 np mto lto lto lto clip np /tface 4 def 4 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2979 230 0 (RFC-1119)fjt 1024 2979 504 2 (Network Time Protocol)fjt 1882 2979 369 1 (September 1989)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 474 2624 474 2624 -75 -75 -75 np mto lto lto lto clip np /tface 4 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 279 100 0 (Mills)fjt 2065 279 186 1 (Page 14)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np %End page showpage svobj restore gr gs /svobj save def %Begin page UserSoP greset -75 3374 2624 3374 2624 -75 -75 -75 np mto lto lto lto clip np /tface 8 def 8 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 818 1903 15 (Local Clock \(sys.clock\): This is the current local time, in timestamp format. Local time is deriv)fjt 2203 818 47 0 (ed)fjt 375 758 1875 14 (from the hardware clock of the particular machine and increments at intervals depending on the)fjt 375 698 1875 10 (design used. An appropriate design, including slewing and drift-compensation mechanisms, is)fjt 375 638 454 3 (described in Section 5.)fjt 300 519 1934 16 (Clock Hold \(sys.hold\): This is a counter used to avoid premature resetting of the local clock afte)fjt 2234 519 17 0 (r)fjt 375 459 1863 18 (the clock is reset to a new value, rather than being slewed gradually. Once set to a nonzero value)fjt 2238 459 13 0 (,)fjt 375 399 1567 10 (this counter decrements at one-second intervals until reaching zero, then stops.)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset 225 2978 2324 2978 2324 922 225 922 np mto lto lto lto clip np 526 2828 2024 2828 2024 2827 526 2827 fa colmap 1 [0 0 0 ] put 1 sci gs eofill gr 525 2899 2025 2899 2025 2898 525 2898 fa gs eofill gr 525 1007 2025 1007 2025 1008 525 1008 fa gs eofill gr 525 2899 526 2899 526 1007 525 1007 fa gs eofill gr 2025 2899 2024 2899 2024 1007 2025 1007 fa gs eofill gr /tface 8 def /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 576 2838 291 1 (Peer Variables)fjt 1218 2838 119 0 (Name)fjt 1646 2838 202 0 (Procedure)fjt 576 2768 300 1 (Configured Bit)fjt 1218 2768 225 0 (peer.config)fjt 1646 2768 251 0 (initialization)fjt 576 2708 472 1 (Authentication Enabled)fjt 576 2648 61 0 (Bit)fjt 1218 2708 314 0 (peer.authenable)fjt 1646 2708 251 0 (initialization)fjt 576 2588 369 1 (Authentication Bit)fjt 1218 2588 280 0 (peer.authentic)fjt 1646 2588 143 0 (receive)fjt 576 2528 264 1 (Peer Address)fjt 1218 2528 219 0 (peer.srcadr)fjt 1646 2528 143 0 (receive)fjt 576 2468 184 1 (Peer Port)fjt 1218 2468 236 0 (peer.srcport)fjt 1646 2468 143 0 (receive)fjt 576 2408 289 1 (Local Address)fjt 1218 2408 220 0 (peer.dstadr)fjt 1646 2408 143 0 (receive)fjt 576 2348 209 1 (Local Port)fjt 1218 2348 236 0 (peer.dstport)fjt 1646 2348 143 0 (receive)fjt 576 2288 292 1 (Leap Indicator)fjt 1218 2288 181 0 (peer.leap)fjt 1646 2288 130 0 (packet)fjt 576 2228 223 1 (Host Mode)fjt 1218 2228 234 0 (peer.hmode)fjt 1646 2228 130 0 (packet)fjt 576 2168 158 0 (Stratum)fjt 1218 2168 247 0 (peer.stratum)fjt 1646 2168 130 0 (packet)fjt 576 2108 348 2 (Peer Poll Interval)fjt 1218 2108 201 0 (peer.ppoll)fjt 1646 2108 130 0 (packet)fjt 576 2048 354 2 (Host Poll Interval)fjt 1218 2048 201 0 (peer.hpoll)fjt 1646 2048 223 1 (poll update)fjt 576 1988 185 0 (Precision)fjt 1218 1988 280 0 (peer.precision)fjt 1646 1988 130 0 (packet)fjt 576 1928 477 1 (Synchronizing Distance)fjt 1218 1928 261 0 (peer.distance)fjt 1646 1928 130 0 (packet)fjt 576 1868 519 1 (Synchronizing Dispersion)fjt 1218 1868 303 0 (peer.dispersion)fjt 1646 1868 130 0 (packet)fjt 576 1808 530 2 (Reference Clock Identifier)fjt 1218 1808 192 0 (peer.refid)fjt 1646 1808 130 0 (packet)fjt 576 1748 438 1 (Reference Timestamp)fjt 1218 1748 241 0 (peer.reftime)fjt 1646 1748 130 0 (packet)fjt 576 1688 424 1 (Originate Timestamp)fjt 1218 1688 165 0 (peer.org)fjt 1646 1688 251 1 (packet, clear)fjt 576 1628 396 1 (Receive Timestamp)fjt 1218 1628 159 0 (peer.rec)fjt 1646 1628 251 1 (packet, clear)fjt 576 1568 416 1 (Transmit Timestamp)fjt 1218 1568 176 0 (peer.xmt)fjt 1646 1568 284 1 (transmit, clear)fjt 576 1508 429 1 (Reachability Register)fjt 1218 1508 206 0 (peer.reach)fjt 1646 1508 251 1 (packet, trans)fjt 1897 1508 17 0 (-)fjt 1646 1448 188 1 (mit, clear)fjt 576 1388 390 2 (Valid Data Counter)fjt 1218 1388 198 0 (peer.valid)fjt 1646 1388 251 1 (packet, trans)fjt 1897 1388 17 0 (-)fjt 1646 1328 188 1 (mit, clear)fjt 576 1268 222 1 (Peer Timer)fjt 1218 1268 203 0 (peer.timer)fjt 1646 1268 265 1 (receive, trans)fjt 1911 1268 17 0 (-)fjt 1646 1208 314 2 (mit, poll update)fjt 576 1148 286 1 (Filter Register)fjt 1218 1148 194 0 (peer.filter)fjt 1646 1148 218 1 (filter, clear)fjt 576 1088 305 1 (Delay Estimate)fjt 1218 1088 261 0 (peer.estdelay)fjt 1646 1088 96 0 (filter)fjt 576 1018 310 1 (Offset Estimate)fjt 1218 1018 266 0 (peer.estoffset)fjt 1646 1018 96 0 (filter)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset 225 1072 2324 1072 2324 817 225 817 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 1042 913 467 3 (Table 3. Peer Variables)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 3374 2624 3374 2624 2825 -75 2825 np mto lto lto lto clip np /tface 4 def 4 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2979 230 0 (RFC-1119)fjt 1024 2979 504 2 (Network Time Protocol)fjt 1882 2979 369 1 (September 1989)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 474 2624 474 2624 -75 -75 -75 np mto lto lto lto clip np /tface 4 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 279 100 0 (Mills)fjt 2065 279 186 1 (Page 15)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np %End page showpage svobj restore gr gs /svobj save def %Begin page UserSoP greset -75 3374 2624 3374 2624 -75 -75 -75 np mto lto lto lto clip np /tface 8 def 8 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 1678 1815 14 (Clock Source \(sys.peer\): This is a selector identifying the current clock source. Usually this )fjt 2115 1678 136 1 (will be)fjt 375 1618 1046 8 (a pointer to a structure containing the peer variables.)fjt /tface 5 def 5 encfont sf 300 1522 125 0 (3.2.3.)fjt (s)27 (e)12 (l)30 (b)27 (a)12 (i)19 (r)26 (a)30 (V)13 ( )18 (r)27 (e)26 (e)33 (P)12 ( )0 15 425 1522 fet /tface 8 def sf 300 1425 1925 15 (Table 3 shows the complete set of peer variables. In addition to the common variables describe)fjt 2225 1425 25 0 (d)fjt 300 1367 1912 12 (previously, the following variables are used by the peer management and measurement function)fjt 2212 1367 32 0 (s.)fjt 300 1271 1950 13 (Configured Bit \(peer.config\): This is a bit indicating that the association was created from)fjt 375 1211 1806 11 (configuration information and should not be demobilized if the peer becomes unreachable.)fjt 300 1113 1892 12 (Authentication Enabled Bit \(peer.authenable\): This is a bit indicating that the association is)fjt 2192 1113 58 1 ( to)fjt 375 1053 1875 15 (operate in the authenticated mode. It may be set to one only if the optional authentication)fjt 375 993 1066 6 (mechanism described in Appendix C is implemented.)fjt 300 895 1812 13 (Authenticated Bit \(peer.authentic\): This is a bit indicating that the last message received fr)fjt 2112 895 138 1 (om the)fjt 375 835 1811 15 (peer has been correctly authenticated. It may be set to one only if the optional authenticat)fjt 2186 835 64 0 (ion)fjt 375 775 1066 6 (mechanism described in Appendix C is implemented.)fjt 300 677 1881 14 (Host Poll Interval \(peer.hpoll\): This is a signed integer used to indicate the interval betw)fjt 2181 677 69 0 (een)fjt 375 617 1875 17 (messages transmitted to the peer, in seconds as a power of two. For instance, a value of six)fjt 375 557 881 6 (indicates a minimum interval of 64 seconds.)fjt 300 459 1950 13 (Reachability Register \(peer.reach\): This is a shift register of NTP.WINDOW bits used to determine)fjt 375 399 1861 14 (the reachability status of the peer, with bits entering from the least significant \(rightmost\) end)fjt 2236 399 13 0 (.)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset 225 2979 2324 2979 2324 1776 225 1776 np mto lto lto lto clip np 526 2828 2024 2828 2024 2827 526 2827 fa colmap 1 [0 0 0 ] put 1 sci gs eofill gr 525 2899 2025 2899 2025 2898 525 2898 fa gs eofill gr 525 1857 2025 1857 2025 1858 525 1858 fa gs eofill gr 525 2899 526 2899 526 1857 525 1857 fa gs eofill gr 2025 2899 2024 2899 2024 1857 2025 1857 fa gs eofill gr /tface 8 def /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 576 2838 335 1 (Packet Variables)fjt 1218 2838 119 0 (Name)fjt 1646 2838 202 0 (Procedure)fjt 576 2768 264 1 (Peer Address)fjt 1218 2768 198 0 (pkt.srcadr)fjt 1646 2768 163 0 (transmit)fjt 576 2708 184 1 (Peer Port)fjt 1218 2708 214 0 (pkt.srcport)fjt 1646 2708 163 0 (transmit)fjt 576 2648 289 1 (Local Address)fjt 1218 2648 198 0 (pkt.dstadr)fjt 1646 2648 163 0 (transmit)fjt 576 2588 209 1 (Local Port)fjt 1218 2588 215 0 (pkt.dstport)fjt 1646 2588 163 0 (transmit)fjt 576 2528 292 1 (Leap Indicator)fjt 1218 2528 159 0 (pkt.leap)fjt 1646 2528 163 0 (transmit)fjt 576 2468 333 1 (Version Number)fjt 1218 2468 223 0 (pkt.version)fjt 1646 2468 163 0 (transmit)fjt 576 2408 217 1 (Peer Mode)fjt 1218 2408 212 0 (pkt.pmode)fjt 1646 2408 163 0 (transmit)fjt 576 2348 158 0 (Stratum)fjt 1218 2348 225 0 (pkt.stratum)fjt 1646 2348 163 0 (transmit)fjt 576 2288 348 2 (Peer Poll Interval)fjt 1218 2288 179 0 (pkt.ppoll)fjt 1646 2288 163 0 (transmit)fjt 576 2228 185 0 (Precision)fjt 1218 2228 259 0 (pkt.precision)fjt 1646 2228 163 0 (transmit)fjt 576 2168 477 1 (Synchronizing Distance)fjt 1218 2168 239 0 (pkt.distance)fjt 1646 2168 163 0 (transmit)fjt 576 2108 519 1 (Synchronizing Dispersion)fjt 1218 2108 281 0 (pkt.dispersion)fjt 1646 2108 163 0 (transmit)fjt 576 2048 530 2 (Reference Clock Identifier)fjt 1218 2048 170 0 (pkt.refid)fjt 1646 2048 163 0 (transmit)fjt 576 1988 438 1 (Reference Timestamp)fjt 1218 1988 220 0 (pkt.reftime)fjt 1646 1988 163 0 (transmit)fjt 576 1928 424 1 (Originate Timestamp)fjt 1218 1928 143 0 (pkt.org)fjt 1646 1928 163 0 (transmit)fjt 576 1868 396 1 (Receive Timestamp)fjt 1218 1868 137 0 (pkt.rec)fjt 1646 1868 163 0 (transmit)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset 225 1925 2324 1925 2324 1667 225 1667 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 1020 1766 511 3 (Table 4. Packet Variables)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 3374 2624 3374 2624 2825 -75 2825 np mto lto lto lto clip np /tface 4 def 4 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2979 230 0 (RFC-1119)fjt 1024 2979 504 2 (Network Time Protocol)fjt 1882 2979 369 1 (September 1989)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 474 2624 474 2624 -75 -75 -75 np mto lto lto lto clip np /tface 4 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 279 100 0 (Mills)fjt 2065 279 186 1 (Page 16)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np %End page showpage svobj restore gr gs /svobj save def %Begin page UserSoP greset -75 3374 2624 3374 2624 -75 -75 -75 np mto lto lto lto clip np /tface 8 def 8 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 1734 1881 14 (Valid Data Counter \(peer.valid\): This is an integer counter used to determine the interval betw)fjt 2181 1734 69 0 (een)fjt 375 1674 372 2 (valid data updates.)fjt 300 1584 1862 14 (Peer Timer \(peer.timer\): This is an integer counter used to control the interval between transm)fjt 2162 1584 88 0 (itted)fjt 375 1524 307 1 (NTP messages.)fjt /tface 5 def 5 encfont sf 300 1436 125 0 (3.2.4.)fjt (s)27 (e)13 (l)29 (b)27 (a)13 (i)18 (r)27 (a)29 (V)13 ( )15 (t)27 (e)27 (k)27 (c)26 (a)33 (P)12 ( )0 17 425 1436 fet /tface 8 def sf 300 1348 1864 15 (Table 4 shows the complete set of packet variables. In addition to the common variables descr)fjt 2164 1348 86 0 (ibed)fjt 300 1289 941 5 (previously, the following variables are defined.)fjt 300 1200 1832 13 (Version Number \(pkt.version\): This is an integer indicating the version number of the sender)fjt 2132 1200 118 1 (. NTP)fjt 375 1140 1875 13 (messages will always be sent with the current version number NTP.VERSION and will always)fjt 375 1080 1875 13 (be accepted if the version number matches NTP.VERSION. Exceptions may be advised on a)fjt 375 1020 1875 12 (case-by-case basis at times when the version number is changed. Specific guidelines for)fjt 375 960 1850 12 (interoperation between this version and previous versions of NTP are summarized in Appendi)fjt 2225 960 25 0 (x)fjt 375 900 49 0 (D.)fjt /tface 5 def sf 300 812 125 0 (3.2.5.)fjt (s)27 (e)12 (l)30 (b)27 (a)12 (i)19 (r)26 (a)30 (V)13 ( )18 (r)27 (e)15 (t)13 (l)13 (i)29 (F)13 ( )27 (k)26 (c)30 (o)13 (l)35 (C)12 ( )0 23 425 812 fet /tface 8 def sf 300 724 1741 14 (When the filter and selection algorithms suggested in Section 4 are used, the following stat)fjt 2041 724 209 1 (e variables)fjt (v)10 ( )22 (e)19 (s)22 (e)25 (h)14 (t)9 ( )17 (f)25 (o)9 ( )14 (t)22 (e)19 (s)10 ( )22 (e)25 (n)25 (o)9 ( )19 (s)14 (i)10 ( )22 (e)16 (r)22 (e)25 (h)31 (T)9 ( )13 (.)25 (y)13 (l)20 (s)25 (u)25 (o)13 (i)25 (v)22 (e)17 (r)25 (p)9 ( )25 (d)22 (e)25 (b)14 (i)17 (r)22 (c)19 (s)22 (e)25 (d)9 ( )20 (s)22 (e)13 (l)25 (b)22 (a)14 (i)17 (r)22 (a)25 (v)9 ( )17 (r)22 (e)22 (e)25 (p)9 ( )22 (e)25 (h)14 (t)9 ( )25 (o)14 (t)10 ( )25 (n)25 (o)13 (i)14 (t)14 (i)25 (d)25 (d)22 (a)9 ( )25 (n)14 (i)10 ( )9 ( )25 (d)22 (e)25 (n)14 (i)17 (f)22 (e)25 (d)9 ( )22 (e)17 (r)22 (a)0 96 300 666 fet (s)22 (e)14 (l)25 (b)22 (a)14 (i)16 (r)22 (a)0 8 2096 666 fet 300 607 1100 9 (for every peer operating in an active mode \(see below\).)fjt 300 518 1892 14 (Filter Register \(peer.filter\): This is a shift register of PEER.SHIFT stages, where each stage sto)fjt 2192 518 58 0 (res)fjt 375 458 1875 14 (a tuple consisting of the measured delay together with the measured offset associated with a)fjt 375 398 1798 10 (single observation. Delay/offset observations enter from the least significant \(rightmost\) r)fjt 2173 398 78 0 (ight)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset 225 3031 2324 3031 2324 1837 225 1837 np mto lto lto lto clip np 526 2828 2024 2828 2024 2827 526 2827 fa colmap 1 [0 0 0 ] put 1 sci gs eofill gr 525 2899 2025 2899 2025 2898 525 2898 fa gs eofill gr 525 1917 2025 1917 2025 1918 525 1918 fa gs eofill gr 525 2899 526 2899 526 1917 525 1917 fa gs eofill gr 2025 2899 2024 2899 2024 1917 2025 1917 fa gs eofill gr /tface 8 def /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 576 2838 221 0 (Parameters)fjt 1138 2838 119 0 (Name)fjt 1699 2838 119 0 (Value)fjt 576 2768 333 1 (Version Number)fjt 1138 2768 323 0 (NTP.VERSION)fjt 1699 2768 25 0 (2)fjt 576 2708 190 1 (NTP Port)fjt 1138 2708 234 0 (NTP.PORT)fjt 1699 2708 75 0 (123)fjt 576 2648 261 1 (Max Stratum)fjt 1138 2648 240 0 (NTP.INFIN)fjt 1699 2648 50 0 (15)fjt 576 2588 318 2 (Max Clock Age)fjt 1138 2588 326 0 (NTP.MAXAGE)fjt 1699 2588 213 1 (86,400 sec)fjt 576 2528 215 1 (Max Skew)fjt 1138 2528 334 0 (NTP.MAXSKW)fjt 1699 2528 138 1 (.01 sec)fjt 576 2468 269 1 (Min Distance)fjt 1138 2468 314 0 (NTP.MINDIST)fjt 1699 2468 138 1 (.02 sec)fjt 576 2408 407 2 (Min Polling Interval)fjt 1138 2408 328 0 (NTP.MINPOLL)fjt 1699 2408 196 2 (6 \(64 sec\))fjt 576 2348 415 2 (Max Polling Interval)fjt 1138 2348 348 0 (NTP.MAXPOLL)fjt 1699 2348 271 2 (10 \(1024 sec\))fjt 576 2288 429 1 (Reachability Register)fjt 576 2228 86 0 (Size)fjt 1138 2288 325 0 (NTP.WINDOW)fjt 1699 2288 25 0 (8)fjt 576 2168 384 2 (Max Select Weight)fjt 1138 2168 337 0 (NTP.MAXWGT)fjt 1699 2168 25 0 (8)fjt 576 2108 323 2 (Max Select Size)fjt 1138 2108 328 0 (NTP.MAXLIST)fjt 1699 2108 25 0 (5)fjt 576 2048 353 2 (Max Select Strata)fjt 1138 2048 351 0 (NTP.MAXSTRA)fjt 1699 2048 25 0 (2)fjt 576 1988 280 1 (Select Weight)fjt 1138 1988 290 0 (NTP.SELECT)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 1699 2012 21 0 (3)fjt /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 1720 1988 14 0 (/)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 1734 1983 21 0 (4)fjt /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 576 1928 206 1 (Filter Size)fjt 1138 1928 273 0 (PEER.SHIFT)fjt 1699 1928 117 2 (4 or 8)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset 225 1987 2324 1987 2324 1720 225 1720 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 1077 1828 396 2 (Table 5. Parameters)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 3374 2624 3374 2624 2825 -75 2825 np mto lto lto lto clip np /tface 4 def 4 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2979 230 0 (RFC-1119)fjt 1024 2979 504 2 (Network Time Protocol)fjt 1882 2979 369 1 (September 1989)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 474 2624 474 2624 -75 -75 -75 np mto lto lto lto clip np /tface 4 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 279 100 0 (Mills)fjt 2065 279 186 1 (Page 17)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np %End page showpage svobj restore gr gs /svobj save def %Begin page UserSoP greset -75 3374 2624 3374 2624 -75 -75 -75 np mto lto lto lto clip np /tface 8 def 8 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 375 2839 1875 13 (and are shifted towards the most significant \(leftmost\) end and eventually discarded as new)fjt 375 2779 1859 14 (observations arrive. The register is cleared to zeros when \(a\) the peer becomes unreachable o)fjt 2234 2779 17 0 (r)fjt 375 2719 1823 17 (\(b\) the local clock has just been reset so as to cause a significant discontinuity in local time.)fjt 300 2625 1914 12 (Delay Estimate \(peer.estdelay\): This is a fixed-point number indicating the latest delay estima)fjt 2214 2625 36 0 (te)fjt 375 2565 665 5 (output from the filter, in seconds.)fjt 300 2467 1837 12 (Offset Estimate \(peer.estoffset\): This is a signed, fixed-point number indicating the latest )fjt 2137 2467 113 0 (offset)fjt 375 2407 843 6 (estimate output from the filter, in seconds.)fjt 300 2309 1867 11 (Dispersion Estimate \(peer.estdisp\): This is a fixed-point number indicating the latest disper)fjt 2167 2309 83 0 (sion)fjt 375 2249 843 6 (estimate output from the filter, in seconds.)fjt /tface 5 def 5 encfont sf 300 2153 125 0 (3.2.6.)fjt (s)18 (r)27 (e)16 (t)26 (e)44 (m)26 (a)19 (r)26 (a)33 (P)12 ( )0 11 425 2153 fet /tface 8 def sf 300 2056 151 1 (Table 5)fjt 451 2056 1799 13 ( shows the parameters assumed for all implementations operating in the Internet system. It)fjt 300 1998 1950 15 (is necessary to agree on the values for these parameters in order to avoid unnecessary network)fjt 300 1940 778 4 (overheads and stable peer associations.)fjt 300 1843 1740 11 (Version Number \(NTP.VERSION\): This is the NTP version number, currently two \(2\).)fjt 300 1745 1950 14 (NTP Port \(NTP.PORT\): This is the port number \(123\) assigned by the Internet Assigned Numbers)fjt 375 1685 364 2 (Authority to NTP.)fjt 300 1587 1950 15 (Maximum Strata \(NTP.INFIN\): This is the maximum stratum value that can be encoded as a packet)fjt 375 1527 1732 12 (variable, also interpreted as "infinity" or unreachable by the routing algorithm and curre)fjt 2107 1527 144 1 (ntly set)fjt 375 1467 1875 19 (to 15. In some cases it may be desirable to set NTP.INFIN to a lower value in order to avoid)fjt 375 1407 726 3 (long, unstable synchronizing chains.)fjt 300 1309 1950 12 (Maximum Clock Age \(NTP.MAXAGE\): This is the maximum interval, in seconds, a reference)fjt 375 1249 1774 16 (clock will be considered valid after its last update, currently set to 86,400 seconds \(one full )fjt 2149 1249 101 0 (day\).)fjt 300 1151 1950 13 (Maximum Skew \(NTP.MAXSKW\): This is the maximum allowance for the skew between the local)fjt 375 1091 1875 13 (clock and a peer clock over the maximum update interval determined by NTP.MAXPOLL \(1024)fjt 375 1031 755 5 (seconds\), currently set to .01 seconds.)fjt 300 933 1950 10 (Minimum Distance \(NTP.MINDIST\): This is the minimum synchronization distance between the)fjt 375 873 881 8 (host and a peer, currently set to .02 seconds.)fjt 300 775 1911 12 (Minimum Polling Interval \(NTP.MINPOLL\): This is the minimum polling interval, in seconds )fjt 2211 775 39 0 (to)fjt 375 715 1850 17 (the power of two, allowed by any peer of the Internet system, currently set to 6 \(64 seconds\).)fjt 300 617 1911 12 (Maximum Polling Interval \(NTP.MAXPOLL\): This is the maximum polling interval, in seconds )fjt 2211 617 39 0 (to)fjt 375 557 1827 17 (the power of two, allowed by any peer of the Internet system, currently set to 10 \(1024 second)fjt 2202 557 48 0 (s\).)fjt (r)23 (e)14 (t)19 (s)14 (i)25 (g)23 (e)33 (R)25 ( )25 (y)14 (t)14 (i)14 (l)14 (i)26 (b)22 (a)25 (h)22 (c)23 (a)22 (e)33 (R)25 ( )23 (e)25 (h)14 (t)25 ( )17 (f)25 (o)25 ( )22 (e)22 (z)14 (i)20 (s)25 ( )22 (e)25 (h)14 (t)25 ( )20 (s)14 (i)25 ( )19 (s)14 (i)26 (h)30 (T)25 ( )14 (:)17 (\))47 (W)37 (O)36 (D)36 (N)17 (I)47 (W)13 (.)28 (P)31 (T)36 (N)17 (\()25 ( )22 (e)22 (z)14 (i)28 (S)25 ( )17 (r)22 (e)14 (t)20 (s)14 (i)25 (g)23 (e)34 (R)25 ( )25 (y)14 (t)15 (i)14 (l)14 (i)26 (b)22 (a)26 (h)22 (c)23 (a)22 (e)34 (R)0 86 300 459 fet 375 399 612 4 (\(peer.reach\), currently set to 8.)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 3374 2624 3374 2624 2825 -75 2825 np mto lto lto lto clip np /tface 4 def 4 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2979 230 0 (RFC-1119)fjt 1024 2979 504 2 (Network Time Protocol)fjt 1882 2979 369 1 (September 1989)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 474 2624 474 2624 -75 -75 -75 np mto lto lto lto clip np /tface 4 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 279 100 0 (Mills)fjt 2065 279 186 1 (Page 18)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np %End page showpage svobj restore gr gs /svobj save def %Begin page UserSoP greset -75 3374 2624 3374 2624 -75 -75 -75 np mto lto lto lto clip np /tface 8 def 8 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2839 1950 11 (Maximum Select Weight \(NTP.MAXWGT\): When the selection algorithm suggested in Section 4)fjt 375 2779 1363 11 (is used, this is the maximum allowable dispersion, currently set to 8.)fjt 300 2687 1950 12 (Maximum Select Size \(NTP.MAXLIST\): When the selection algorithm suggested in Section 4 is)fjt 375 2627 1373 13 (used, this is the maximum size of the selection list, currently set to 5.)fjt 300 2535 1950 11 (Maximum Select Strata \(NTP.MAXSTRA\): When the selection algorithm suggested in Section 4)fjt 375 2475 1787 15 (is used, this is the maximum number of strata represented in the selection list, currently s)fjt 2162 2475 88 1 (et to)fjt 375 2415 38 0 (2.)fjt 300 2323 1950 13 (Select Weight \(NTP.SELECT\): When the selection algorithm suggested in Section 4 is used, this)fjt 375 2263 1219 11 (is the weight used to compute the dispersion, currently set to )fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 1594 2287 21 0 (3)fjt /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 1615 2263 14 0 (/)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 1629 2258 21 0 (4)fjt /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 1650 2263 13 0 (.)fjt 300 2171 1840 15 (Filter Size \(PEER.SHIFT\): When the filter algorithm suggested in Section 4 is used, this is th)fjt 2140 2171 110 1 (e size)fjt 375 2111 1743 12 (of the Clock Filter \(peer.filter\) shift register. For crystal-stabilized oscillators a value )fjt 2118 2111 132 2 (of 8 is)fjt 375 2051 1759 12 (suggested, while for mains-frequency oscillators a value of 4 is suggested. Additional cons)fjt 2134 2051 99 0 (idera)fjt 2234 2051 17 0 (-)fjt 375 1991 556 5 (tions are given in Section 5.)fjt 300 1899 1925 11 (Maximum Filter Dispersion \(PEER.MAXDISP\): When the filter algorithm suggested in Section )fjt 2225 1899 25 0 (4)fjt 375 1839 1352 11 (is used, this is the maximum dispersion, currently set to 64 seconds.)fjt 300 1747 1950 12 (Filter Threshold \(PEER.THRESHOLD\): When the filter algorithm suggested in Section 4 is used,)fjt 375 1687 1801 15 (this is the threshold used to determine whether to increase or decrease the polling interval. W)fjt 2176 1687 75 0 (hile)fjt 375 1627 206 3 (a value of )fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 581 1651 21 0 (1)fjt /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 602 1627 14 0 (/)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 616 1622 21 0 (2)fjt /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 636 1627 1614 14 ( is suggested, the value may be changed to suit local conditions on particular peer)fjt 375 1567 118 0 (paths.)fjt 300 1475 1859 14 (Filter Weight \(PEER.FILTER\): When the filter algorithm suggested in Section 4 is used, this i)fjt 2159 1475 91 1 (s the)fjt 375 1415 1025 10 (weight used to discard noisy data. While a value of )fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 1400 1439 21 0 (1)fjt /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 1421 1415 14 0 (/)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 1435 1410 21 0 (2)fjt /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 1455 1415 795 7 ( is suggested, the value may be changed)fjt 375 1355 945 7 (to suit local conditions on particular peer paths.)fjt /tface 5 def 5 encfont sf 300 1265 83 0 (3.3.)fjt (n)29 (o)13 (i)16 (t)26 (a)19 (r)26 (e)30 (p)38 (O)12 ( )16 (f)29 (o)13 ( )27 (s)27 (e)29 (d)30 (o)40 (M)13 ( )0 19 383 1265 fet /tface 8 def sf 300 1177 1950 16 (An NTP association is formed when two peers exchange messages and one or both of them create)fjt 300 1119 1841 12 (and maintain an instantiation of the protocol machine, called an association. The associatio)fjt 2141 1119 109 1 (n can)fjt 300 1060 1877 14 (operate in one of five modes as indicated by the host-mode variable \(peer.hmode\): symmetric act)fjt 2177 1060 73 0 (ive,)fjt 300 1002 1548 10 (symmetric passive, client, server and broadcast, which are defined as follows:)fjt 300 911 1950 14 (Symmetric Active \(1\): A host operating in this mode sends periodic messages regardless of the)fjt 375 851 1875 15 (reachability state or stratum of its peer. By operating in this mode the host announces its)fjt 375 791 1199 8 (willingness to synchronize and be synchronized by the peer.)fjt 300 699 1775 14 (Symmetric Passive \(2\): This type of association is ordinarily created upon arrival of a mess)fjt 2075 699 176 1 (age from)fjt 375 639 1853 17 (a peer operating in the symmetric active mode and persists only as long as the peer is reachabl)fjt 2228 639 22 0 (e)fjt 375 579 1875 16 (and operating at a stratum level less than or equal to the host; otherwise, the association is)fjt 375 519 1814 14 (dissolved. However, the association will always persist until at least one message has been s)fjt 2189 519 61 0 (ent)fjt 375 459 1875 15 (in reply. By operating in this mode the host announces its willingness to synchronize and be)fjt 375 399 512 3 (synchronized by the peer.)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 3374 2624 3374 2624 2825 -75 2825 np mto lto lto lto clip np /tface 4 def 4 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2979 230 0 (RFC-1119)fjt 1024 2979 504 2 (Network Time Protocol)fjt 1882 2979 369 1 (September 1989)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 474 2624 474 2624 -75 -75 -75 np mto lto lto lto clip np /tface 4 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 279 100 0 (Mills)fjt 2065 279 186 1 (Page 19)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np %End page showpage svobj restore gr gs /svobj save def %Begin page UserSoP greset -75 3374 2624 3374 2624 -75 -75 -75 np mto lto lto lto clip np /tface 8 def 8 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2839 1825 14 (Client \(3\): A host operating in this mode sends periodic messages regardless of the reachabilit)fjt 2125 2839 125 1 (y state)fjt 375 2779 1875 16 (or stratum of its peer. By operating in this mode the host, usually a LAN workstation, announces)fjt 375 2719 1390 11 (its willingness to be synchronized by, but not to synchronize the peer.)fjt 300 2627 1821 15 (Server \(4\): This type of association is ordinarily created upon arrival of a client request m)fjt 2121 2627 130 0 (essage)fjt 375 2567 1875 16 (and exists only in order to reply to that request, after which the association is dissolved. By)fjt 375 2507 1875 14 (operating in this mode the host, usually a LAN time server, announces its willingness to)fjt 375 2447 1041 8 (synchronize, but not to be synchronized by the peer.)fjt 300 2356 1870 14 (Broadcast \(5\): A host operating in this mode sends periodic messages regardless of the reachab)fjt 2170 2356 80 0 (ility)fjt 375 2296 1875 17 (state or stratum of the peers. By operating in this mode the host, usually a LAN time server)fjt 375 2236 1875 12 (operating on a high-speed broadcast medium, announces its willingness to synchronize all of)fjt 375 2176 1070 10 (the peers, but not to be synchronized by any of them..)fjt 300 2086 1950 14 (The peer mode can be determined explicitly from the packet-mode variable \(pkt.pmode\) if it is)fjt 300 2027 1818 12 (nonzero and implicitly from the source port \(pkt.srcport\) and destination port \(pkt.dstport\) va)fjt 2118 2027 132 0 (riables)fjt 300 1969 1950 16 (if it is zero. For the case where pkt.pmode is zero, included for compatibility with previous NTP)fjt 300 1911 984 7 (versions, the peer mode is determined as follows:)fjt 526 1790 2024 1790 2024 1789 526 1789 fa gs eofill gr 525 1860 2025 1860 2025 1859 525 1859 fa gs eofill gr 525 1538 2025 1538 2025 1539 525 1539 fa gs eofill gr 525 1860 526 1860 526 1538 525 1538 fa gs eofill gr 2025 1860 2024 1860 2024 1538 2025 1538 fa gs eofill gr 576 1799 214 0 (pkt.srcport)fjt 1075 1799 215 0 (pkt.dstport)fjt 1574 1799 116 0 (Mode)fjt 576 1729 234 0 (NTP.PORT)fjt 1075 1729 234 0 (NTP.PORT)fjt 1574 1729 341 1 (symmetric active)fjt 576 1669 234 0 (NTP.PORT)fjt 1075 1669 311 1 (not NTP.PORT)fjt 1574 1669 121 0 (server)fjt 576 1609 311 1 (not NTP.PORT)fjt 1075 1609 234 0 (NTP.PORT)fjt 1574 1609 110 0 (client)fjt 576 1549 311 1 (not NTP.PORT)fjt 1075 1549 311 1 (not NTP.PORT)fjt 1574 1549 239 1 (not possible)fjt 300 1451 1914 15 (Note that it is not possible in this case to distinguish between symmetric active and symmetr)fjt 2214 1451 36 0 (ic)fjt 300 1393 1950 14 (passive modes. Use of the pkt.pmode and NTP.PORT variables in this way is not recommended)fjt 300 1334 1207 11 (and may not be supported in future versions of the protocol. )fjt 300 1245 1934 16 (A host operating in client mode occasionally sends an NTP message to a host operating in serve)fjt 2234 1245 17 0 (r)fjt 300 1187 1864 12 (mode, perhaps right after rebooting and at periodic intervals thereafter. The server respond)fjt 2164 1187 87 1 (s by)fjt 300 1129 1820 11 (simply interchanging addresses and ports, filling in the required information and returni)fjt 2120 1129 130 1 (ng the)fjt 300 1071 1789 13 (message to the client. Servers need retain no state information between client requests, whil)fjt 2089 1071 161 1 (e clients)fjt 300 1012 1887 15 (are free to manage the intervals between sending NTP messages to suit local conditions. In th)fjt 2187 1012 63 0 (ese)fjt 300 954 1950 14 (modes the protocol machine described in this document can be considerably simplified to a simple)fjt 300 896 1925 9 (remote-procedure-call mechanism without significant loss of accuracy or robustness, especiall)fjt 2225 896 25 0 (y)fjt 300 838 787 4 (when operating over high-speed LANs.)fjt 300 749 1828 10 (In the symmetric modes the client/server distinction \(almost\) disappears. Symmetric passive)fjt 2128 749 123 1 ( mode)fjt 300 690 1851 16 (is intended for use by time servers operating near the root nodes \(lowest stratum\) of the synchro)fjt 2151 690 83 0 (niza)fjt 2234 690 17 0 (-)fjt 300 632 1853 16 (tion subnet and with a relatively large number of peers on an intermittent basis. In this mod)fjt 2153 632 97 1 (e the)fjt 300 574 1862 16 (identity of the peer need not be known in advance, since the association with its state variabl)fjt 2162 574 88 1 (es is)fjt 300 516 1950 15 (created only when an NTP message arrives. Furthermore, the state storage can be reused when the)fjt 300 457 1950 15 (peer becomes unreachable or is operating at a higher stratum level and thus ineligible as a)fjt 300 399 473 1 (synchronization source.)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 3374 2624 3374 2624 2825 -75 2825 np mto lto lto lto clip np /tface 4 def 4 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2979 230 0 (RFC-1119)fjt 1024 2979 504 2 (Network Time Protocol)fjt 1882 2979 369 1 (September 1989)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 474 2624 474 2624 -75 -75 -75 np mto lto lto lto clip np /tface 4 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 279 100 0 (Mills)fjt 2065 279 186 1 (Page 20)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np %End page showpage svobj restore gr gs /svobj save def %Begin page UserSoP greset -75 3374 2624 3374 2624 -75 -75 -75 np mto lto lto lto clip np /tface 8 def 8 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2841 1950 15 (Symmetric active mode is intended for use by time servers operating near the end nodes \(highest)fjt 300 2782 1889 13 (stratum\) of the synchronization subnet. Reliable time service can usually be maintained with t)fjt 2189 2782 61 0 (wo)fjt 300 2724 1900 19 (peers at the next lower stratum level and one peer at the same stratum level, so the rate of ongoi)fjt 2200 2724 50 0 (ng)fjt 300 2666 1801 15 (polls is usually not significant, even when connectivity is lost and error messages are being r)fjt 2101 2666 149 0 (eturned)fjt 300 2608 284 2 (for every poll.)fjt 300 2518 1950 14 (Normally, one peer operates in an active mode \(symmetric active, client or broadcast modes\) as)fjt 300 2460 1829 16 (configured by a startup file, while the other operates in a passive mode \(symmetric passive or )fjt 2129 2460 121 0 (server)fjt 300 2401 1903 14 (modes\), often without prior configuration. However, both peers can be configured to operate in t)fjt 2203 2401 47 0 (he)fjt 300 2343 1950 15 (symmetric active mode. An error condition results when both peers operate in the same mode, but)fjt 300 2285 1950 16 (not symmetric active mode. In such cases each peer will ignore messages from the other, so that)fjt 300 2227 1447 10 (prior associations, if any, will be demobilized due to reachability failure.)fjt 300 2137 1950 12 (Broadcast mode is intended for operation on high-speed LANs with numerous workstations and)fjt 300 2078 1900 16 (where the highest accuracies are not required. In the typical scenario one or more time servers )fjt 2200 2078 50 0 (on)fjt 300 2020 1931 15 (the LAN send periodic broadcasts to the workstations, which then determine the time on the basi)fjt 2231 2020 19 0 (s)fjt 300 1962 1950 16 (of a preconfigured latency in the order of a few milliseconds. As in the client/server modes the)fjt 300 1904 1950 14 (protocol machine can be considerably simplified in this mode; however, a modified form of the)fjt 300 1845 1950 14 (clock selection algorithm may prove useful in cases where multiple time servers are used for)fjt 300 1787 406 1 (enhanced reliability.)fjt /tface 5 def 5 encfont sf 300 1696 83 0 (3.4.)fjt (g)30 (n)13 (i)26 (s)27 (s)27 (e)27 (c)29 (o)18 (r)33 (P)12 ( )16 (t)29 (n)27 (e)27 (v)32 (E)13 ( )0 17 383 1696 fet /tface 8 def sf 300 1608 1850 15 (The significant events of interest in NTP occur upon expiration of a peer timer \(peer.timer\), o)fjt 2150 1608 100 1 (ne of)fjt 300 1549 1950 16 (which is dedicated to each peer with an active association, and upon arrival of an NTP message)fjt 300 1491 1950 17 (from the various peers. An event can also occur as the result of an operator command or detected)fjt 300 1433 1903 14 (system fault, such as a primary clock failure. This section describes the procedures invoked wh)fjt 2203 1433 47 0 (en)fjt 300 1375 377 2 (these events occur.)fjt /tface 5 def sf 300 1284 125 0 (3.4.1.)fjt (e)18 (r)29 (u)30 (d)27 (e)26 (c)30 (o)18 (r)32 (P)13 ( )16 (t)12 (i)44 (m)26 (s)30 (n)27 (a)18 (r)27 (T)12 ( )0 19 425 1284 fet /tface 8 def sf 300 1193 1950 14 (The transmit procedure is called when the peer timer \(peer.timer\) decrements to zero, which can)fjt 300 1135 1950 16 (occur in all modes except server mode. First, an NTP message is constructed and sent as follows)fjt 300 1077 1931 16 (\(see Appendix A for format\). The IP and UDP packet variables are copied from the peer variable)fjt 2231 1077 19 0 (s)fjt 300 1018 1361 9 (\(note the interchange of source and destination addresses and ports\):)fjt ( )17 (r)25 (d)22 (a)22 (c)16 (r)19 (s)13 (.)14 (t)25 (k)25 (p)0 11 1029 928 fet /tface 12 def /mpf false def sf (\254)0 1 1239 928 fet /tface 8 def /mpf true def sf (r)25 (d)22 (a)14 (t)19 (s)25 (d)12 (.)17 (r)22 (e)22 (e)25 (p)12 ( )0 12 1289 928 fet ( )14 (t)16 (r)25 (o)25 (p)22 (c)17 (r)19 (s)13 (.)13 (t)25 (k)25 (p)0 12 1013 870 fet /tface 12 def /mpf false def sf (\254)0 1 1239 870 fet /tface 8 def /mpf true def sf (t)17 (r)25 (o)25 (p)14 (t)19 (s)25 (d)12 (.)17 (r)22 (e)22 (e)25 (p)12 ( )0 13 1289 870 fet ( )16 (r)25 (d)22 (a)14 (t)19 (s)25 (d)13 (.)14 (t)25 (k)25 (p)0 11 1029 812 fet /tface 12 def /mpf false def sf (\254)0 1 1240 812 fet /tface 8 def /mpf true def sf (r)25 (d)22 (a)22 (c)16 (r)20 (s)12 (.)17 (r)22 (e)22 (e)25 (p)12 ( )0 12 1289 812 fet ( )14 (t)16 (r)25 (o)25 (p)14 (t)19 (s)25 (d)13 (.)13 (t)25 (k)25 (p)0 12 1013 754 fet /tface 12 def /mpf false def sf (\254)0 1 1240 754 fet /tface 8 def /mpf true def sf (t)17 (r)25 (o)25 (p)22 (c)16 (r)20 (s)12 (.)17 (r)22 (e)22 (e)25 (p)12 ( )0 13 1289 754 fet 300 664 1950 14 (Next, the NTP packet variables are copied \(rescaled as necessary\) from the system and peer)fjt 300 606 193 0 (variables:)fjt ( )25 (p)22 (a)22 (e)14 (l)12 (.)14 (t)25 (k)25 (p)0 9 1079 516 fet /tface 12 def /mpf false def sf (\254)0 1 1251 516 fet /tface 8 def /mpf true def sf (p)22 (a)22 (e)14 (l)12 (.)19 (s)25 (y)20 (s)12 ( )0 9 1300 516 fet ( )25 (n)25 (o)14 (i)19 (s)17 (r)22 (e)25 (v)12 (.)14 (t)25 (k)25 (p)0 12 965 457 fet /tface 12 def /mpf false def sf (\254)0 1 1200 457 fet /tface 8 def /mpf true def sf (N)36 (O)17 (I)27 (S)34 (R)30 (E)36 (V)13 (.)27 (P)31 (T)36 (N)12 ( )0 12 1250 457 fet ( )22 (e)25 (d)25 (o)39 (m)25 (p)12 (.)14 (t)25 (k)25 (p)0 10 1015 399 fet /tface 12 def /mpf false def sf (\254)0 1 1240 399 fet /tface 8 def /mpf true def sf (e)25 (d)25 (o)39 (m)25 (h)12 (.)17 (r)22 (e)22 (e)25 (p)12 ( )0 11 1289 399 fet greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 3374 2624 3374 2624 2825 -75 2825 np mto lto lto lto clip np /tface 4 def 4 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2979 230 0 (RFC-1119)fjt 1024 2979 504 2 (Network Time Protocol)fjt 1882 2979 369 1 (September 1989)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 474 2624 474 2624 -75 -75 -75 np mto lto lto lto clip np /tface 4 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 279 100 0 (Mills)fjt 2065 279 186 1 (Page 21)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np %End page showpage svobj restore gr gs /svobj save def %Begin page UserSoP greset -75 3374 2624 3374 2624 -75 -75 -75 np mto lto lto lto clip np /tface 8 def 8 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf ( )39 (m)25 (u)13 (t)22 (a)17 (r)14 (t)19 (s)12 (.)14 (t)25 (k)25 (p)0 12 1013 2841 fet /tface 12 def /mpf false def sf (\254)0 1 1251 2841 fet /tface 8 def /mpf true def sf (m)25 (u)14 (t)22 (a)17 (r)13 (t)20 (s)12 (.)19 (s)25 (y)20 (s)12 ( )0 12 1300 2841 fet ( )14 (l)13 (l)25 (o)25 (p)25 (p)13 (.)14 (t)25 (k)25 (p)0 10 1048 2782 fet /tface 12 def /mpf false def sf (\254)0 1 1240 2782 fet /tface 8 def /mpf true def sf (l)14 (l)25 (o)25 (p)25 (h)12 (.)17 (r)22 (e)22 (e)25 (p)12 ( )0 11 1289 2782 fet ( )25 (n)25 (o)14 (i)19 (s)14 (i)22 (c)22 (e)16 (r)25 (p)13 (.)13 (t)25 (k)25 (p)0 14 980 2724 fet /tface 12 def /mpf false def sf (\254)0 1 1251 2724 fet /tface 8 def /mpf true def sf (n)25 (o)14 (i)19 (s)14 (i)22 (c)22 (e)17 (r)25 (p)12 (.)19 (s)25 (y)20 (s)12 ( )0 14 1300 2724 fet ( )22 (e)22 (c)25 (n)22 (a)14 (t)19 (s)14 (i)25 (d)12 (.)14 (t)25 (k)25 (p)0 13 999 2666 fet /tface 12 def /mpf false def sf (\254)0 1 1251 2666 fet /tface 8 def /mpf true def sf (e)22 (c)25 (n)22 (a)14 (t)19 (s)14 (i)25 (d)12 (.)19 (s)25 (y)20 (s)12 ( )0 13 1300 2666 fet ( )25 (n)25 (o)14 (i)19 (s)16 (r)22 (e)25 (p)20 (s)13 (i)25 (d)13 (.)14 (t)25 (k)25 (p)0 15 957 2608 fet /tface 12 def /mpf false def sf (\254)0 1 1251 2608 fet /tface 8 def /mpf true def sf (n)25 (o)14 (i)19 (s)17 (r)22 (e)25 (p)19 (s)14 (i)25 (d)12 (.)19 (s)25 (y)20 (s)12 ( )0 15 1300 2608 fet ( )25 (d)14 (i)16 (f)22 (e)17 (r)12 (.)14 (t)25 (k)25 (p)0 10 1068 2549 fet /tface 12 def /mpf false def sf (\254)0 1 1251 2549 fet /tface 8 def /mpf true def sf (d)14 (i)16 (f)22 (e)17 (r)12 (.)19 (s)25 (y)20 (s)12 ( )0 10 1300 2549 fet ( )22 (e)39 (m)13 (i)14 (t)17 (f)22 (e)16 (r)13 (.)13 (t)25 (k)25 (p)0 12 1019 2491 fet /tface 12 def /mpf false def sf (\254)0 1 1251 2491 fet /tface 8 def /mpf true def sf (e)39 (m)14 (i)14 (t)16 (f)22 (e)17 (r)12 (.)19 (s)25 (y)20 (s)12 ( )0 12 1300 2491 fet ( )25 (g)16 (r)25 (o)13 (.)14 (t)25 (k)25 (p)0 8 1084 2433 fet /tface 12 def /mpf false def sf (\254)0 1 1240 2433 fet /tface 8 def /mpf true def sf (g)17 (r)25 (o)12 (.)17 (r)22 (e)22 (e)25 (p)12 ( )0 9 1289 2433 fet ( )22 (c)22 (e)16 (r)13 (.)14 (t)25 (k)25 (p)0 8 1090 2375 fet /tface 12 def /mpf false def sf (\254)0 1 1240 2375 fet /tface 8 def /mpf true def sf (c)22 (e)17 (r)12 (.)17 (r)22 (e)22 (e)25 (p)12 ( )0 9 1289 2375 fet ( )14 (t)39 (m)25 (x)12 (.)14 (t)25 (k)25 (p)0 8 1069 2316 fet /tface 12 def /mpf false def sf (\254)0 1 1235 2316 fet /tface 8 def /mpf true def sf (k)22 (c)25 (o)14 (l)22 (c)12 (.)20 (s)25 (y)19 (s)12 ( )0 10 1285 2316 fet ( )14 (t)39 (m)25 (x)12 (.)17 (r)22 (e)22 (e)25 (p)0 9 1073 2258 fet /tface 12 def /mpf false def sf (\254)0 1 1261 2258 fet /tface 8 def /mpf true def sf (t)39 (m)25 (x)12 (.)14 (t)25 (k)25 (p)12 ( )0 8 1311 2258 fet 300 2161 1925 13 (If message authentication is implemented the encrypt procedure \(See Appendix C\) is called t)fjt 2225 2161 25 0 (o)fjt 300 2103 1307 8 (generate the authenticator, which follows the NTP message itself.)fjt 300 1995 1836 16 (Note that the transmit timestamp \(peer.xmt\), which is updated at this time, will be used later in)fjt 2136 1995 115 1 ( order)fjt 300 1937 1863 14 (to validate the reply; thus, implementations must take care to save the value actually transmi)fjt 2163 1937 87 0 (tted.)fjt 300 1878 1950 14 (However, if message authentication is implemented it is likely that the time to compute the)fjt 300 1820 1862 10 (authentication information, which involves a crypto-checksum, can seriously affect the ov)fjt 2162 1820 88 0 (erall)fjt 300 1762 1950 10 (accuracy. Therefore, implementations should include a system state variable \(not mentioned)fjt 300 1704 1950 14 (elsewhere in this document\) which contains an offset calculated to match the expected time to)fjt 300 1645 1950 15 (compute this value and which is added to the transmit timestamp as obtained from the operating)fjt 300 1587 1950 16 (system. In addition, the order of copying the timestamps should be designed so that the time to)fjt 300 1529 1950 11 (perform the copy operations themselves does not degrade the measurement accuracy, which)fjt 300 1471 1123 9 (suggests that the variables be copied in the order shown.)fjt 300 1363 1829 14 (Next, the reachability register \(peer.reach\) is shifted one position to the left, with zero replaci)fjt 2129 1363 122 1 (ng the)fjt 300 1305 1837 14 (vacated bit. If the reachability register \(peer.reach\) is zero and the association was not confi)fjt 2137 1305 114 0 (gured)fjt 300 1246 1765 12 (by the initialization procedure \(peer.config bit set to zero\), the association is demobilize)fjt 2065 1246 185 2 (d and the)fjt 300 1188 1770 14 (transmit procedure exits. If peer.reach is zero and peer.config is set, the clear procedure is)fjt 2070 1188 180 2 ( called to)fjt 300 1130 1273 10 (purge the clock filter and reselect the clock source, if necessary.)fjt 300 1022 1729 16 (If the valid data counter \(peer.valid\) is less than two, it is incremented; otherwise, at least t)fjt 2029 1022 221 1 (wo timeout)fjt 300 964 1871 15 (intervals have passed since valid data were shifted into the filter register. If the latter case)fjt 2171 964 79 1 ( the)fjt 300 906 1818 14 (clock-filter procedure is called with zeros as the offset and delay arguments. Then, the clock)fjt 2118 906 116 0 (-selec)fjt 2234 906 17 0 (-)fjt 300 847 1764 17 (tion procedure is called to reselect the clock source, if necessary. If this results in a new clo)fjt 2064 847 186 1 (ck source)fjt 300 789 1839 12 (\(sys.peer\), the poll-update procedure is called for sys.peer with argument peer.hpoll, since th)fjt 2139 789 112 1 (e poll)fjt 300 731 1950 14 (interval for the new clock source must be clamped at NTP.MINPOLL. Note that the zeros)fjt 300 673 1779 11 (\(undefined\) argument will cause the computed dispersion to increase significantly and subs)fjt 2079 673 172 0 (equently)fjt 300 614 847 6 (affect the poll interval and clock selection.)fjt 300 507 987 7 (Next, the peer.timer is reinitialized with the value)fjt ( )16 (r)22 (e)39 (m)14 (i)14 (t)12 (.)17 (r)22 (e)22 (e)25 (p)0 11 397 399 fet /tface 12 def /mpf false def sf (\254)0 1 613 399 fet /tface 8 def /mpf true def sf ( )25 (1)12 ( )0 3 662 399 fet /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf (<)23 (<)0 2 712 399 fet /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf (])30 (L)31 (L)36 (O)28 (P)36 (N)16 (I)44 (M)13 (.)28 (P)30 (T)36 (N)13 ( )12 (,)17 (\))30 (L)31 (L)36 (O)27 (P)36 (X)36 (A)45 (M)12 (.)28 (P)30 (T)36 (N)13 ( )12 (,)14 (l)14 (l)25 (o)25 (p)25 (h)12 (.)17 (r)22 (e)22 (e)25 (p)12 ( )13 (,)14 (l)13 (l)25 (o)25 (p)25 (p)13 (.)16 (r)22 (e)22 (e)25 (p)17 (\()25 (n)14 (i)38 (m)17 ([)25 (x)22 (a)39 (m)12 ( )0 59 759 399 fet greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 3374 2624 3374 2624 2825 -75 2825 np mto lto lto lto clip np /tface 4 def 4 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2979 230 0 (RFC-1119)fjt 1024 2979 504 2 (Network Time Protocol)fjt 1882 2979 369 1 (September 1989)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 474 2624 474 2624 -75 -75 -75 np mto lto lto lto clip np /tface 4 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 279 100 0 (Mills)fjt 2065 279 186 1 (Page 22)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np %End page showpage svobj restore gr gs /svobj save def %Begin page UserSoP greset -75 3374 2624 3374 2624 -75 -75 -75 np mto lto lto lto clip np /tface 8 def 8 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2841 1837 12 (The host-poll variable \(peer.hpoll\) is then updated as follows. If the estimated-dispersion va)fjt 2137 2841 113 0 (riable)fjt 300 2782 1950 10 (\(peer.estdisp\) is greater than the filter-threshold parameter \(PEER.THRESHOLD, currently set to)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 300 2748 21 0 (1)fjt /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 321 2724 14 0 (/)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 335 2719 21 0 (2)fjt /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 355 2724 1895 14 (\), the poll-update procedure is called with argument peer.hpoll-1 to reduce its value by one;)fjt 300 2666 1814 13 (otherwise, that procedure is called with argument peer.hpoll+1 to increase its value by one.)fjt /tface 5 def 5 encfont sf 300 2569 125 0 (3.4.2.)fjt (e)18 (r)29 (u)30 (d)27 (e)26 (c)30 (o)18 (r)32 (P)13 ( )27 (e)27 (v)12 (i)27 (e)27 (c)27 (e)35 (R)12 ( )0 18 425 2569 fet /tface 8 def sf 300 2472 1928 16 (The receive procedure is executed upon arrival of an NTP message. If the version number of th)fjt 2228 2472 22 0 (e)fjt 300 2414 1950 11 (message \(pkt.version\) does not match the current version number \(NTP.VERSION\), the message)fjt 300 2356 1898 14 (is discarded and the procedure exits; however, exceptions may be advised on a case-by-case ba)fjt 2198 2356 52 0 (sis)fjt 300 2297 1890 14 (at times when the version number is changed. Next, the source and destination Internet addres)fjt 2190 2297 61 0 (ses)fjt 300 2239 1900 19 (and ports in the IP and UDP headers are matched to the correct peer. If there is a match, processi)fjt 2200 2239 50 0 (ng)fjt 300 2181 1859 17 (continues at the next step below. If there is no match a new instantiation of the protocol machi)fjt 2159 2181 92 1 (ne is)fjt 300 2123 975 6 (created and the association mobilized as follows:)fjt ( )17 (r)25 (d)22 (a)22 (c)16 (r)19 (s)13 (.)16 (r)22 (e)22 (e)25 (p)0 12 1030 2027 fet /tface 12 def /mpf false def sf (\254)0 1 1261 2027 fet /tface 8 def /mpf true def sf (r)25 (d)22 (a)22 (c)16 (r)20 (s)12 (.)14 (t)25 (k)25 (p)12 ( )0 11 1311 2027 fet ( )14 (t)16 (r)25 (o)25 (p)22 (c)17 (r)19 (s)13 (.)16 (r)22 (e)22 (e)25 (p)0 13 1013 1969 fet /tface 12 def /mpf false def sf (\254)0 1 1261 1969 fet /tface 8 def /mpf true def sf (t)17 (r)25 (o)25 (p)22 (c)16 (r)20 (s)12 (.)14 (t)25 (k)25 (p)12 ( )0 12 1311 1969 fet ( )17 (r)25 (d)22 (a)13 (t)20 (s)25 (d)12 (.)17 (r)22 (e)22 (e)25 (p)0 12 1029 1910 fet /tface 12 def /mpf false def sf (\254)0 1 1261 1910 fet /tface 8 def /mpf true def sf (r)25 (d)22 (a)13 (t)20 (s)25 (d)12 (.)14 (t)25 (k)25 (p)12 ( )0 11 1311 1910 fet ( )14 (t)16 (r)25 (o)25 (p)14 (t)19 (s)25 (d)13 (.)16 (r)22 (e)22 (e)25 (p)0 13 1013 1852 fet /tface 12 def /mpf false def sf (\254)0 1 1261 1852 fet /tface 8 def /mpf true def sf (t)17 (r)25 (o)25 (p)13 (t)20 (s)25 (d)12 (.)14 (t)25 (k)25 (p)12 ( )0 12 1311 1852 fet ( )25 (g)14 (i)16 (f)25 (n)25 (o)22 (c)13 (.)16 (r)22 (e)22 (e)25 (p)0 12 1113 1794 fet /tface 12 def /mpf false def sf (\254)0 1 1351 1794 fet /tface 8 def /mpf true def sf (0)12 ( )0 2 1400 1794 fet ( )22 (e)14 (l)25 (b)22 (a)25 (n)22 (e)25 (h)13 (t)25 (u)22 (a)13 (.)16 (r)22 (e)22 (e)25 (p)0 16 1069 1736 fet /tface 12 def /mpf false def sf (\254)0 1 1395 1736 fet /tface 8 def /mpf true def sf (0)12 ( )0 2 1444 1736 fet ( )22 (c)14 (i)14 (t)25 (n)22 (e)25 (h)13 (t)25 (u)22 (a)13 (.)16 (r)22 (e)22 (e)25 (p)0 15 983 1677 fet /tface 12 def /mpf false def sf (\254)0 1 1275 1677 fet /tface 8 def /mpf true def sf (\))36 (w)25 (o)14 (l)22 (e)25 (b)12 ( )22 (e)22 (e)19 (s)17 (\()12 ( )0 12 1325 1677 fet ( )22 (e)25 (d)25 (o)39 (m)25 (h)13 (.)16 (r)22 (e)22 (e)25 (p)0 11 1006 1619 fet /tface 12 def /mpf false def sf (\254)0 1 1252 1619 fet /tface 8 def /mpf true def sf (\))36 (w)25 (o)14 (l)22 (e)25 (b)12 ( )22 (e)22 (e)20 (s)16 (\()13 ( )0 12 1301 1619 fet ( )25 (h)22 (c)22 (a)22 (e)16 (r)13 (.)16 (r)22 (e)22 (e)25 (p)0 11 1123 1561 fet /tface 12 def /mpf false def sf (\254)0 1 1341 1561 fet /tface 8 def /mpf true def sf (0)12 ( )0 2 1390 1561 fet ( )25 (y)22 (a)13 (l)22 (e)25 (d)14 (t)19 (s)22 (e)13 (.)16 (r)22 (e)22 (e)25 (p)0 14 973 1503 fet /tface 12 def /mpf false def sf (\254)0 1 1246 1503 fet /tface 8 def /mpf true def sf (\))25 (d)22 (e)25 (n)14 (i)16 (f)22 (e)25 (d)25 (n)25 (u)17 (\()12 ( )25 (0)13 ( )0 14 1295 1503 fet ( )14 (t)22 (e)19 (s)16 (f)17 (f)25 (o)14 (t)19 (s)22 (e)12 (.)17 (r)22 (e)22 (e)25 (p)0 15 970 1444 fet /tface 12 def /mpf false def sf (\254)0 1 1249 1444 fet /tface 8 def /mpf true def sf (\))25 (d)22 (e)25 (n)14 (i)17 (f)22 (e)25 (d)25 (n)25 (u)16 (\()13 ( )25 (0)12 ( )0 14 1298 1444 fet 300 1348 1950 12 (If the optional authentication mechanism described in Appendix C is not implemented, the)fjt 300 1290 1812 13 (peer.authentic bit is ordinarily set to one, which allows non-preconfigured peers to become th)fjt 2112 1290 139 1 (e clock)fjt 300 1232 1834 16 (source. If this bit is set to zero, a non-preconfigured peer cannot become the clock source, rega)fjt 2134 1232 116 0 (rdless)fjt 300 1174 1931 13 (of stratum or mode. If the mechanism is implemented, additional variables are initialized a)fjt 2231 1174 19 0 (s)fjt 300 1115 1928 14 (described in Appendix C. The values of these variables are obtained using procedures beyond th)fjt 2228 1115 22 0 (e)fjt 300 1057 1771 17 (scope of NTP itself. Ordinarily in this case the peer.authentic bit is set to zero, so that only)fjt 2071 1057 180 1 ( properly)fjt 300 999 979 6 (authenticated peers can become the clock source.)fjt 300 903 1917 18 (If the message is from a peer operating in client mode \(3\), as determined in Section 3.3, the ho)fjt 2217 903 33 0 (st)fjt 300 845 1950 16 (mode \(peer.hmode\) is set to server mode \(4\); otherwise, it is set to symmetric passive mode \(2\).)fjt 300 786 1863 14 (This may be modified in case the access-controls suggested in Section 3.5 are implemented. Fin)fjt 2163 786 87 0 (ally,)fjt 300 728 1713 13 (the clear procedure is called to initialize the remaining peer variables. Finally, the timer)fjt 2013 728 237 1 ( mechanism)fjt 300 670 1229 8 (is armed and begins decrementing the peer timer \(peer.timer\).)fjt 300 574 1876 13 (If the authentication mechanism is implemented, the decrypt procedure \(see Appendix C\) is ca)fjt 2176 574 75 0 (lled)fjt 300 516 1801 15 (to verify the authenticator and set the peer.authentic bit. Next, if pkt.pmode is nonzero, this b)fjt 2101 516 149 0 (ecomes)fjt 300 457 1906 19 (the value of the peer mode used in the following step. If pkt.pmode is zero, the peer is a previo)fjt 2206 457 44 0 (us)fjt 300 399 1950 15 (NTP version and the peer mode is determined from the port numbers as described previously. Table)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 3374 2624 3374 2624 2825 -75 2825 np mto lto lto lto clip np /tface 4 def 4 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2979 230 0 (RFC-1119)fjt 1024 2979 504 2 (Network Time Protocol)fjt 1882 2979 369 1 (September 1989)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 474 2624 474 2624 -75 -75 -75 np mto lto lto lto clip np /tface 4 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 279 100 0 (Mills)fjt 2065 279 186 1 (Page 23)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np %End page showpage svobj restore gr gs /svobj save def %Begin page UserSoP greset -75 3374 2624 3374 2624 -75 -75 -75 np mto lto lto lto clip np /tface 8 def 8 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 1842 25 0 (6)fjt 325 1842 1925 15 ( shows for each combination of peer mode and host mode \(peer.hmode\) the resulting action, which)fjt 300 1784 1653 12 (consists of one of the following steps, following which the receive procedure exits.)fjt 300 1687 1776 14 (error: The packet is discarded. If the association was not configured by the initialization p)fjt 2076 1687 174 0 (rocedure)fjt 375 1627 1115 8 (\(peer.config bit not set\), the association is demobilized. )fjt 300 1521 1938 17 (recv: The packet procedure is called. If any of the sanity checks fail, proceed in the error step)fjt 2238 1521 13 0 (.)fjt 375 1461 1859 13 (Otherwise, the low-order bit of the reachability register \(peer.reach\) is set \(indicating the pee)fjt 2234 1461 17 0 (r)fjt 375 1401 813 6 (is reachable\) and the packet is discarded.)fjt 300 1295 1811 14 (xmit: The packet procedure is called \(to latch the packet variables\) and the packet discarded)fjt 2111 1295 139 1 (. Then,)fjt 375 1235 1837 14 (the poll-update procedure is called with argument peer.ppoll \(to insure the reply has the prop)fjt 2212 1235 39 0 (er)fjt 375 1175 1875 15 (value in the pkt.poll field\). Finally, the transmit procedure is called \(to send the packet and)fjt 375 1115 735 3 (possibly demobilize the association\).)fjt 300 1008 1950 17 (pkt: The packet procedure is called. If any of the sanity checks fail, proceed in the xmit step.)fjt 375 948 1859 13 (Otherwise, the low-order bit of the reachability register \(peer.reach\) is set \(indicating the pee)fjt 2234 948 17 0 (r)fjt 375 888 813 6 (is reachable\) and the packet is discarded.)fjt /tface 5 def 5 encfont sf 300 784 125 0 (3.4.3.)fjt (e)19 (r)29 (u)30 (d)26 (e)27 (c)30 (o)18 (r)32 (P)13 ( )15 (t)27 (e)27 (k)27 (c)26 (a)33 (P)12 ( )0 17 425 784 fet /tface 8 def sf 300 679 1873 14 (The packet procedure checks the validity of the data, computes delay/offset samples and calls o)fjt 2173 679 77 0 (ther)fjt 300 621 1898 14 (procedures to select the peer and update the local clock. First, the following preliminary san)fjt 2198 621 53 0 (ity)fjt 300 563 442 2 (checks are performed:)fjt 300 457 38 0 (1.)fjt 375 457 1875 14 (The transmit timestamp \(pkt.xmt\) must not match the last one received from the same peer)fjt 375 399 1109 9 (\(peer.org\); if so, the message might be an old duplicate.)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset 225 2969 2324 2969 2324 1931 225 1931 np mto lto lto lto clip np 300 2894 2250 2894 2250 2893 300 2893 fa colmap 1 [0 0 0 ] put 1 sci gs eofill gr 300 2005 2250 2005 2250 2006 300 2006 fa gs eofill gr 300 2894 301 2894 301 2005 300 2005 fa gs eofill gr 2250 2894 2249 2894 2249 2005 2250 2005 fa gs eofill gr 776 2885 777 2885 777 2779 776 2779 fa gs eofill gr 527 2780 2024 2780 2024 2779 527 2779 fa gs eofill gr 776 2780 777 2780 777 2720 776 2720 fa gs eofill gr 776 2720 777 2720 777 2660 776 2660 fa gs eofill gr 776 2660 777 2660 777 2600 776 2600 fa gs eofill gr 776 2600 777 2600 777 2540 776 2540 fa gs eofill gr 776 2540 777 2540 777 2470 776 2470 fa gs eofill gr 526 2886 2026 2886 2026 2885 526 2885 fa gs eofill gr 526 2469 2026 2469 2026 2470 526 2470 fa gs eofill gr 526 2886 527 2886 527 2469 526 2469 fa gs eofill gr 2026 2886 2025 2886 2025 2469 2026 2469 fa gs eofill gr /tface 8 def /tszabs false def /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 597 2837 69 0 (host)fjt /tface 12 def /mpf false def sf 666 2837 41 0 (\256)fjt /tface 8 def /mpf true def sf 603 2788 72 0 (peer)fjt /tface 12 def /mpf false def sf 675 2788 25 0 (\257)fjt /tface 8 def /mpf true def sf 837 2837 128 1 (sym act)fjt 891 2788 21 0 (1)fjt 1083 2837 135 1 (sym pas)fjt 1140 2788 21 0 (2)fjt 1354 2837 92 0 (client)fjt 1390 2788 21 0 (3)fjt 1599 2837 101 0 (server)fjt 1639 2788 21 0 (4)fjt 1866 2837 67 0 (bcst)fjt 1889 2788 21 0 (5)fjt /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 552 2720 153 1 (sym act)fjt 801 2720 86 0 (recv)fjt 1051 2720 64 0 (pkt)fjt 1300 2720 86 0 (recv)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 1386 2744 21 0 (2)fjt /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 1550 2720 91 0 (xmit)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 1641 2744 21 0 (2)fjt /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 1799 2720 91 0 (xmit)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 1891 2744 52 0 (1,2)fjt /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 552 2660 162 1 (sym pas)fjt 801 2660 86 0 (recv)fjt 1051 2660 97 0 (error)fjt 1300 2660 86 0 (recv)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 1386 2684 21 0 (2)fjt /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 1550 2660 97 0 (error)fjt 1799 2660 97 0 (error)fjt 552 2600 110 0 (client)fjt 801 2600 91 0 (xmit)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 893 2624 21 0 (2)fjt /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 1051 2600 91 0 (xmit)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 1142 2624 21 0 (2)fjt /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 1300 2600 97 0 (error)fjt 1550 2600 91 0 (xmit)fjt 1799 2600 91 0 (xmit)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 1891 2624 21 0 (1)fjt /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 552 2540 121 0 (server)fjt 801 2540 86 0 (recv)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 887 2564 21 0 (2)fjt /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 1051 2540 97 0 (error)fjt 1300 2540 86 0 (recv)fjt 1550 2540 97 0 (error)fjt 1799 2540 97 0 (error)fjt 552 2480 80 0 (bcst)fjt 801 2480 86 0 (recv)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 887 2504 52 0 (1,2)fjt /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 1051 2480 97 0 (error)fjt 1300 2480 86 0 (recv)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 1386 2504 21 0 (1)fjt /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 1550 2480 97 0 (error)fjt 1799 2480 97 0 (error)fjt 308 2381 130 0 (Notes:)fjt 308 2291 38 0 (1.)fjt (c)22 (e)17 (r)16 (r)25 (o)22 (c)14 ( )25 (g)25 (n)13 (i)25 (n)14 (i)22 (a)14 (t)25 (n)25 (o)22 (c)13 ( )22 (c)22 (e)17 (r)12 (.)14 (t)25 (k)25 (p)13 ( )25 (d)25 (n)22 (a)13 ( )25 (g)17 (r)25 (o)12 (.)14 (t)25 (k)25 (p)13 ( )25 (h)14 (t)14 (i)36 (w)13 ( )13 ( )14 (t)25 (n)22 (e)14 (i)14 (l)22 (c)13 ( )22 (e)25 (h)14 (t)13 ( )25 (o)14 (t)13 ( )25 (y)14 (l)13 (t)22 (c)22 (e)17 (r)14 (i)25 (d)13 ( )19 (s)25 (d)25 (n)25 (o)25 (p)19 (s)22 (e)17 (r)13 ( )17 (r)22 (e)25 (v)16 (r)22 (e)19 (s)14 ( )13 (t)20 (s)22 (a)22 (c)25 (d)22 (a)25 (o)16 (r)25 (b)14 ( )36 (A)0 94 383 2291 fet (t)0 1 2230 2291 fet 383 2233 1860 15 (values. At other times the server simply broadcasts the local time with pkt.org and pkt.rec set)fjt 383 2175 149 1 (to zero.)fjt 308 2086 38 0 (2.)fjt 383 2086 1860 13 (Ordinarily, these mode combinations would not be used; however, within the limits of the)fjt 383 2028 939 6 (specification, they would result in correct time.)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset 225 2081 2324 2081 2324 1827 225 1827 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 994 1922 563 4 (Table 6. Modes and Actions)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 3374 2624 3374 2624 2825 -75 2825 np mto lto lto lto clip np /tface 4 def 4 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2979 230 0 (RFC-1119)fjt 1024 2979 504 2 (Network Time Protocol)fjt 1882 2979 369 1 (September 1989)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 474 2624 474 2624 -75 -75 -75 np mto lto lto lto clip np /tface 4 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 279 100 0 (Mills)fjt 2065 279 186 1 (Page 24)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np %End page showpage svobj restore gr gs /svobj save def %Begin page UserSoP greset -75 3374 2624 3374 2624 -75 -75 -75 np mto lto lto lto clip np /tface 8 def 8 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2340 38 0 (2.)fjt 375 2340 1875 15 (The originate timestamp \(pkt.org\) must match the last one sent to the same peer \(peer.xmt\); if)fjt 375 2282 1108 10 (not, the message might be out of order, bogus or worse.)fjt 300 2190 1802 18 (If either of these checks fail, a sanity flag is set which will be tested later. Before proceeding )fjt 2102 2190 148 0 (further,)fjt 300 2132 828 6 (the state variables are updated as follows:)fjt ( )25 (p)22 (a)22 (e)14 (l)12 (.)17 (r)22 (e)22 (e)25 (p)0 10 1068 2040 fet /tface 12 def /mpf false def sf (\254)0 1 1261 2040 fet /tface 8 def /mpf true def sf (p)22 (a)22 (e)14 (l)12 (.)14 (t)25 (k)25 (p)12 ( )0 9 1311 2040 fet ( )39 (m)25 (u)14 (t)22 (a)16 (r)14 (t)19 (s)13 (.)16 (r)22 (e)22 (e)25 (p)0 13 1002 1981 fet /tface 12 def /mpf false def sf (\254)0 1 1261 1981 fet /tface 8 def /mpf true def sf (m)25 (u)14 (t)22 (a)17 (r)13 (t)20 (s)12 (.)14 (t)25 (k)25 (p)12 ( )0 12 1311 1981 fet ( )14 (l)14 (l)25 (o)25 (p)25 (p)12 (.)17 (r)22 (e)22 (e)25 (p)0 11 1048 1923 fet /tface 12 def /mpf false def sf (\254)0 1 1261 1923 fet /tface 8 def /mpf true def sf (l)14 (l)25 (o)25 (p)25 (p)12 (.)14 (t)25 (k)25 (p)12 ( )0 10 1311 1923 fet ( )25 (n)25 (o)14 (i)19 (s)14 (i)22 (c)22 (e)16 (r)25 (p)13 (.)16 (r)22 (e)22 (e)25 (p)0 15 969 1865 fet /tface 12 def /mpf false def sf (\254)0 1 1261 1865 fet /tface 8 def /mpf true def sf (n)25 (o)14 (i)19 (s)14 (i)22 (c)22 (e)17 (r)25 (p)12 (.)14 (t)25 (k)25 (p)12 ( )0 14 1311 1865 fet ( )22 (e)22 (c)25 (n)22 (a)14 (t)19 (s)14 (i)25 (d)12 (.)17 (r)22 (e)22 (e)25 (p)0 14 988 1807 fet /tface 12 def /mpf false def sf (\254)0 1 1261 1807 fet /tface 8 def /mpf true def sf (e)22 (c)25 (n)22 (a)14 (t)19 (s)14 (i)25 (d)12 (.)14 (t)25 (k)25 (p)12 ( )0 13 1311 1807 fet ( )25 (n)25 (o)14 (i)19 (s)17 (r)22 (e)25 (p)19 (s)14 (i)25 (d)12 (.)17 (r)22 (e)22 (e)25 (p)0 16 946 1748 fet /tface 12 def /mpf false def sf (\254)0 1 1261 1748 fet /tface 8 def /mpf true def sf (n)25 (o)14 (i)19 (s)17 (r)22 (e)25 (p)19 (s)14 (i)25 (d)12 (.)14 (t)25 (k)25 (p)12 ( )0 15 1311 1748 fet ( )25 (d)14 (i)16 (f)22 (e)17 (r)12 (.)17 (r)22 (e)22 (e)25 (p)0 11 1057 1690 fet /tface 12 def /mpf false def sf (\254)0 1 1261 1690 fet /tface 8 def /mpf true def sf (d)14 (i)16 (f)22 (e)17 (r)12 (.)14 (t)25 (k)25 (p)12 ( )0 10 1311 1690 fet ( )22 (e)39 (m)14 (i)13 (t)17 (f)22 (e)16 (r)13 (.)16 (r)22 (e)22 (e)25 (p)0 13 1008 1632 fet /tface 12 def /mpf false def sf (\254)0 1 1261 1632 fet /tface 8 def /mpf true def sf (e)39 (m)14 (i)14 (t)16 (f)22 (e)17 (r)12 (.)14 (t)25 (k)25 (p)12 ( )0 12 1311 1632 fet ( )25 (g)16 (r)25 (o)13 (.)16 (r)22 (e)22 (e)25 (p)0 9 1079 1574 fet /tface 12 def /mpf false def sf (\254)0 1 1256 1574 fet /tface 8 def /mpf true def sf (t)39 (m)25 (x)13 (.)13 (t)25 (k)25 (p)13 ( )0 8 1305 1574 fet ( )22 (c)22 (e)16 (r)13 (.)16 (r)22 (e)22 (e)25 (p)0 9 1067 1515 fet /tface 12 def /mpf false def sf (\254)0 1 1238 1515 fet /tface 8 def /mpf true def sf (k)22 (c)25 (o)13 (l)22 (c)13 (.)19 (s)25 (y)19 (s)13 ( )0 10 1287 1515 fet 300 1424 1873 14 (At this point the poll-update procedure is called with argument peer.hpoll \(the peer poll inte)fjt 2173 1424 77 0 (rval)fjt 300 1365 1536 10 (\(peer.ppoll\) may have changed\). Then, the final sanity checks are performed:)fjt 300 1272 38 0 (3.)fjt 375 1272 1242 10 (The peer clock must be synchronized \(peer.leap not equal to 11)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 1617 1267 21 0 (2)fjt /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 1638 1272 612 6 (\) and the interval since the peer)fjt 375 1213 591 4 (clock was last updated satisfy)fjt (,)30 (E)36 (G)36 (A)36 (X)36 (A)44 (M)13 (.)28 (P)30 (T)36 (N)13 ( )28 (<)12 ( )22 (e)39 (m)14 (i)13 (t)17 (f)22 (e)16 (r)13 (.)14 (t)25 (k)25 (p)12 ( )17 (-)12 ( )14 (t)39 (m)25 (x)12 (.)14 (t)25 (k)25 (p)0 35 872 1122 fet 375 1028 1432 10 (where NTP.MAXAGE is currently set to 86,400 seconds \(one full day\).)fjt 300 934 38 0 (4.)fjt 375 934 1775 15 (The peer.authentic bit must be set to one, either as the result of initial configuration \(recei)fjt 2150 934 101 1 (ve or)fjt 375 876 1011 5 (initialization procedures\) or the decrypt procedure.)fjt 300 782 38 0 (5.)fjt 375 782 1875 18 (If the peer.config bit is not set, the host must be able to synchronize to the peer; otherwise the)fjt 375 724 1693 11 (association will be demobilized; so, pkt.stratum must be not greater than sys.stratum.)fjt 300 632 1848 19 (If any of these checks fail, the sanity flag is set. If following all checks the sanity flag is se)fjt 2148 632 102 1 (t, the)fjt (i)14 (t)15 ( )22 (c)22 (e)16 (r)13 (.)13 (t)25 (k)25 (p)15 ( )25 (d)25 (n)22 (a)15 ( )25 (g)16 (r)25 (o)13 (.)14 (t)25 (k)25 (p)14 ( )25 (h)14 (t)25 (o)25 (b)15 ( )13 (,)25 (n)25 (o)13 (i)14 (t)14 (i)25 (d)25 (d)22 (a)15 ( )25 (n)16 (I)15 ( )13 (.)19 (s)14 (t)14 (i)25 (x)22 (e)15 ( )22 (e)16 (r)25 (u)25 (d)22 (e)22 (c)25 (o)17 (r)25 (p)15 ( )13 (t)22 (e)25 (k)22 (c)22 (a)25 (p)15 ( )22 (e)25 (h)14 (t)15 ( )25 (d)25 (n)22 (a)15 ( )25 (d)22 (e)25 (d)17 (r)22 (a)22 (c)19 (s)14 (i)25 (d)15 ( )19 (s)14 (i)15 ( )22 (e)25 (g)22 (a)19 (s)19 (s)22 (e)39 (m)0 93 300 574 fet (s)22 (e)38 (m)0 3 2154 574 fet (-)0 1 2234 574 fet 300 516 1845 16 (tamps must be nonzero; if either is zero, the association has not synchronized or has lost reacha)fjt 2145 516 105 0 (bility)fjt 300 457 1811 18 (in one direction. In this case the packet procedure exits, but the sanity flag is not set. Note )fjt 2111 457 139 1 (that, in)fjt (m)9 ( )14 (t)19 (s)22 (a)22 (c)25 (d)22 (a)25 (o)16 (r)25 (b)10 ( )25 (n)13 (i)10 ( )25 (g)25 (n)14 (i)13 (t)22 (a)17 (r)22 (e)25 (p)25 (o)9 ( )20 (s)13 (i)10 ( )16 (r)22 (e)22 (e)25 (p)10 ( )22 (e)25 (h)14 (t)9 ( )25 (d)25 (n)22 (a)10 ( )25 (o)16 (r)22 (e)22 (z)10 ( )25 (o)13 (t)10 ( )14 (l)22 (a)25 (u)25 (q)22 (e)9 ( )22 (e)17 (r)22 (a)9 ( )22 (c)22 (e)17 (r)12 (.)14 (t)25 (k)25 (p)9 ( )25 (d)25 (n)22 (a)10 ( )25 (g)16 (r)25 (o)13 (.)14 (t)25 (k)25 (p)9 ( )25 (h)14 (t)25 (o)25 (b)9 ( )22 (e)17 (r)22 (e)25 (h)36 (w)9 ( )22 (e)20 (s)22 (a)22 (c)9 ( )22 (e)25 (h)14 (t)0 98 300 399 fet (e)25 (d)25 (o)0 3 2178 399 fet greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset 225 2980 2324 2980 2324 2434 225 2434 np mto lto lto lto clip np greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset 804 2951 1645 2951 1645 2471 804 2471 np mto lto lto lto clip np colmap 1 [0 0 0 ] put 1 sci 1100 2517 1 1100 2905 path stroke 1425 2517 1 1425 2905 path stroke false true[1100 2880 1425 2880 ]arrowline stroke true false[1100 2780 1425 2780 ]arrowline stroke false true[1100 2680 1425 2680 ]arrowline stroke true false[1100 2580 1425 2580 ]arrowline stroke 850 2680 dot greset 1350 2951 1574 2951 1574 2734 1350 2734 np mto lto lto lto clip np /tface 10 def 10 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 1445 2842 14 0 (t)fjt /tface 8 def /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 1459 2837 21 0 (2)fjt greset 804 2951 1645 2951 1645 2471 804 2471 np mto lto lto lto clip np greset 1350 2905 1574 2905 1574 2659 1350 2659 np mto lto lto lto clip np /tface 10 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 1445 2767 14 0 (t)fjt /tface 8 def /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 1459 2762 21 0 (3)fjt greset 804 2951 1645 2951 1645 2471 804 2471 np mto lto lto lto clip np greset 1350 2805 1574 2805 1574 2559 1350 2559 np mto lto lto lto clip np /tface 10 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 1445 2667 14 0 (t)fjt /tface 8 def /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 1459 2662 21 0 (6)fjt greset 804 2951 1645 2951 1645 2471 804 2471 np mto lto lto lto clip np greset 1350 2705 1574 2705 1574 2471 1350 2471 np mto lto lto lto clip np /tface 10 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 1445 2567 14 0 (t)fjt /tface 8 def /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 1459 2562 21 0 (7)fjt greset 804 2951 1645 2951 1645 2471 804 2471 np mto lto lto lto clip np greset 950 2951 1174 2951 1174 2734 950 2734 np mto lto lto lto clip np /tface 10 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 1045 2842 14 0 (t)fjt /tface 8 def /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 1059 2837 21 0 (1)fjt greset 804 2951 1645 2951 1645 2471 804 2471 np mto lto lto lto clip np greset 950 2905 1174 2905 1174 2659 950 2659 np mto lto lto lto clip np /tface 10 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 1045 2767 14 0 (t)fjt /tface 8 def /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 1059 2762 21 0 (4)fjt greset 804 2951 1645 2951 1645 2471 804 2471 np mto lto lto lto clip np greset 950 2805 1174 2805 1174 2559 950 2559 np mto lto lto lto clip np /tface 10 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 1045 2667 14 0 (t)fjt /tface 8 def /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 1059 2662 21 0 (5)fjt greset 804 2951 1645 2951 1645 2471 804 2471 np mto lto lto lto clip np greset 950 2705 1174 2705 1174 2471 950 2471 np mto lto lto lto clip np /tface 10 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 1045 2567 14 0 (t)fjt /tface 8 def /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 1059 2562 21 0 (8)fjt greset 804 2951 1645 2951 1645 2471 804 2471 np mto lto lto lto clip np greset 1400 2855 1645 2855 1645 2609 1400 2609 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 1494 2717 88 0 (Peer)fjt greset 804 2951 1645 2951 1645 2471 804 2471 np mto lto lto lto clip np greset 850 2855 1124 2855 1124 2609 850 2609 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 941 2717 94 0 (Host)fjt greset 804 2951 1645 2951 1645 2471 804 2471 np mto lto lto lto clip np greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset 225 2583 2324 2583 2324 2328 225 2328 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 888 2425 774 5 (Figure 2. Calculating Delay and Offset)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 3374 2624 3374 2624 2825 -75 2825 np mto lto lto lto clip np /tface 4 def 4 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2979 230 0 (RFC-1119)fjt 1024 2979 504 2 (Network Time Protocol)fjt 1882 2979 369 1 (September 1989)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 474 2624 474 2624 -75 -75 -75 np mto lto lto lto clip np /tface 4 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 279 100 0 (Mills)fjt 2065 279 186 1 (Page 25)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np %End page showpage svobj restore gr gs /svobj save def %Begin page UserSoP greset -75 3374 2624 3374 2624 -75 -75 -75 np mto lto lto lto clip np /tface 8 def 8 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2841 1842 16 (on a high-speed LAN, the timestamps can optionally be used as-is. If the host happens to synchr)fjt 2142 2841 108 0 (onize)fjt 300 2782 1828 14 (on the peer, the resulting systematic errors may be acceptable with or without further correc)fjt 2128 2782 90 0 (tion.)fjt 300 2692 1811 15 (The roundtrip delay and clock offset relative to the peer are calculated as follows. Number th)fjt 2111 2692 140 1 (e times)fjt 300 2634 1206 10 (of sending and receiving NTP messages as shown in Figure 2)fjt 1506 2634 153 3 ( and let )fjt /tface 10 def 10 encfont sf 1659 2634 14 0 (i)fjt /tface 8 def sf 1672 2634 506 6 ( be an even integer. Then )fjt /tface 10 def sf 2178 2634 14 0 (t)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 2192 2629 12 0 (i)fjt /tface 8 def sf 2203 2629 35 0 (-3)fjt /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 2238 2634 13 0 (,)fjt /tface 10 def sf 300 2575 14 0 (t)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 314 2570 12 0 (i)fjt /tface 8 def sf 325 2570 35 0 (-2)fjt /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 360 2575 27 1 (, )fjt /tface 10 def sf 387 2575 14 0 (t)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 400 2570 12 0 (i)fjt /tface 8 def sf 412 2570 35 0 (-1)fjt /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 446 2575 101 2 ( and )fjt /tface 10 def sf 547 2575 14 0 (t)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 561 2570 12 0 (i)fjt /tface 8 def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 572 2575 1678 12 ( are the contents of the pkt.org, pkt.rec, pkt.xmt and peer.rec variables respectively.)fjt 300 2517 408 3 (The roundtrip delay )fjt /tface 10 def sf 708 2517 25 0 (d)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 733 2512 12 0 (i)fjt /tface 8 def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 745 2517 343 4 ( and clock offset )fjt /tface 10 def sf 1088 2517 22 0 (c)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 1110 2512 12 0 (i)fjt /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 1121 2517 13 1 ( )fjt /tface 8 def sf 1134 2517 1018 9 (of the receiving host relative to the sending peer is:)fjt /tface 10 def sf (d)0 1 991 2423 fet /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf (i)0 1 1016 2417 fet /tface 8 def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf ( )0 1 1028 2423 fet /tface 12 def /mpf false def sf (=)0 1 1040 2423 fet /tface 8 def /mpf true def sf ( )0 1 1067 2423 fet /tface 12 def /mpf false def sf (\()0 1 1080 2423 fet /tface 10 def /mpf true def sf (t)0 1 1096 2423 fet /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf (i)0 1 1110 2417 fet /tface 8 def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf ( )0 1 1122 2423 fet /tface 12 def /mpf false def sf (-)0 1 1134 2423 fet /tface 8 def /mpf true def sf ( )0 1 1161 2423 fet /tface 10 def sf (t)0 1 1174 2423 fet /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf (i)0 1 1188 2417 fet /tface 12 def /mpf false def sf (-)0 1 1199 2417 fet /tface 8 def /mpf true def sf (3)0 1 1222 2417 fet /tface 12 def /mpf false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf (\))0 1 1243 2423 fet /tface 8 def /mpf true def sf ( )0 1 1259 2423 fet /tface 12 def /mpf false def sf (-)0 1 1272 2423 fet /tface 8 def /mpf true def sf ( )0 1 1299 2423 fet /tface 12 def /mpf false def sf (\()0 1 1311 2423 fet /tface 10 def /mpf true def sf (t)0 1 1328 2423 fet /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf (i)0 1 1342 2417 fet /tface 12 def /mpf false def sf (-)0 1 1353 2417 fet /tface 8 def /mpf true def sf (1)0 1 1376 2417 fet /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf ( )0 1 1397 2423 fet /tface 12 def /mpf false def sf (-)0 1 1409 2423 fet /tface 8 def /mpf true def sf ( )0 1 1436 2423 fet /tface 10 def sf (t)0 1 1449 2423 fet /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf (i)0 1 1463 2417 fet /tface 12 def /mpf false def sf (-)0 1 1474 2417 fet /tface 8 def /mpf true def sf (2)0 1 1497 2417 fet /tface 12 def /mpf false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf (\))0 1 1518 2423 fet /tface 8 def /mpf true def sf 1534 2423 25 1 ( ,)fjt /tface 10 def sf (c)0 1 990 2327 fet /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf (i)0 1 1012 2322 fet /tface 8 def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf ( )0 1 1023 2327 fet /tface 12 def /mpf false def sf (=)0 1 1036 2327 fet /tface 8 def /mpf true def sf ( )0 1 1063 2327 fet /tface 12 def /mpf false def sf (\()0 1 1078 2361 fet /tface 10 def /mpf true def sf (t)0 1 1095 2361 fet /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf (i)0 1 1109 2356 fet /tface 12 def /mpf false def sf (-)0 1 1120 2356 fet /tface 8 def /mpf true def sf (2)0 1 1143 2356 fet /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf ( )0 1 1164 2361 fet /tface 12 def /mpf false def sf (-)0 1 1176 2361 fet /tface 8 def /mpf true def sf ( )0 1 1203 2361 fet /tface 10 def sf (t)0 1 1216 2361 fet /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf (i)0 1 1230 2356 fet /tface 12 def /mpf false def sf (-)0 1 1241 2356 fet /tface 8 def /mpf true def sf (3)0 1 1264 2356 fet /tface 12 def /mpf false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf (\))0 1 1285 2361 fet /tface 8 def /mpf true def sf ( )0 1 1301 2361 fet /tface 12 def /mpf false def sf (+)0 1 1314 2361 fet /tface 8 def /mpf true def sf ( )0 1 1341 2361 fet /tface 12 def /mpf false def sf (\()0 1 1353 2361 fet /tface 10 def /mpf true def sf (t)0 1 1370 2361 fet /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf (i)0 1 1384 2356 fet /tface 12 def /mpf false def sf (-)0 1 1395 2356 fet /tface 8 def /mpf true def sf (1)0 1 1418 2356 fet /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf ( )0 1 1439 2361 fet /tface 12 def /mpf false def sf (-)0 1 1451 2361 fet /tface 8 def /mpf true def sf ( )0 1 1478 2361 fet /tface 10 def sf (t)0 1 1491 2361 fet /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf (i)0 1 1505 2356 fet /tface 12 def /mpf false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf (\))0 1 1516 2361 fet /tface 8 def /mpf true def sf (2)0 1 1293 2296 fet 1075 2346 1534 2346 1534 2345 1075 2345 fa gs eofill gr 1536 2327 25 1 ( .)fjt 300 2202 1950 13 (This method amounts to a continuously sampled, returnable-time system, which is used in some)fjt 300 2143 1884 15 (digital telephone networks [34]. Among the advantages are that the order and timing of the messa)fjt 2184 2143 66 0 (ges)fjt 300 2085 1889 12 (is unimportant and that reliable delivery is not required. Obviously, the accuracies achieva)fjt 2189 2085 61 0 (ble)fjt 300 2027 1848 13 (depend upon the statistical properties of the outbound and inbound data paths. Further analysi)fjt 2148 2027 102 1 (s and)fjt 300 1969 1251 10 (experimental results bearing on this issue can be found in [44].)fjt 300 1875 1903 14 (In systems involving high-speed LANs, it may happen that, due to small differences in frequen)fjt 2203 1875 47 0 (cy)fjt 300 1816 1144 10 (and precision between the host and peer clocks, the delay )fjt /tface 10 def sf 1444 1816 25 0 (d)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 1469 1811 12 0 (i)fjt /tface 8 def sf 1481 1811 12 1 ( )fjt /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 1492 1816 758 7 (may appear to be not greater than zero)fjt 300 1758 486 3 (\(possibly negative\). Let )fjt /tface 12 def /mpf false def sf 786 1758 25 0 (d)fjt /tface 10 def /mpf true def /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 811 1753 12 0 (i)fjt /tface 8 def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 822 1758 1428 11 ( be the maximum error accumlated over the longest update interval due)fjt 300 1700 1354 10 (to the different rates and precisions of the local oscillators involved:)fjt /tface 12 def /mpf false def sf 603 1606 25 0 (d)fjt /tface 10 def /mpf true def /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 628 1601 12 0 (i)fjt /tface 8 def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf ( )0 1 639 1606 fet /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf (=)0 1 652 1606 fet /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf ( )25 (1)16 (\()13 ( )0 4 675 1606 fet /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf ( )24 (<)23 (<)0 3 742 1606 fet /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf ( )16 (\))25 (n)25 (o)14 (i)19 (s)14 (i)22 (c)22 (e)17 (r)25 (p)12 (.)19 (s)25 (y)20 (s)0 15 801 1606 fet /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf ( )23 (+)0 2 1089 1606 fet /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf (<)13 ( )25 (1)16 (\()0 4 1125 1606 fet /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf ( )23 (<)0 2 1207 1606 fet /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf ( )16 (\))25 (n)25 (o)14 (i)19 (s)14 (i)22 (c)22 (e)16 (r)25 (p)13 (.)16 (r)22 (e)22 (e)25 (p)0 16 1243 1606 fet /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf (+)0 1 1552 1606 fet /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf (.)12 ( )47 (W)36 (K)28 (S)36 (X)36 (A)44 (M)13 (.)28 (P)30 (T)36 (N)13 ( )0 13 1575 1606 fet 300 1512 130 1 (Then, )fjt /tface 10 def sf 430 1512 25 0 (d)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 455 1507 12 0 (i)fjt /tface 8 def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 466 1512 57 2 ( = )fjt /tface 10 def sf 523 1512 25 0 (d)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 548 1507 12 0 (i)fjt /tface 8 def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 560 1512 57 2 ( + )fjt /tface 12 def /mpf false def sf 617 1512 25 0 (d)fjt /tface 10 def /mpf true def /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 641 1507 12 0 (i)fjt /tface 8 def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 653 1512 75 2 (. If )fjt /tface 10 def sf 727 1512 25 0 (d)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 752 1507 12 0 (i)fjt /tface 8 def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 764 1512 1487 13 ( is still not greater than zero after this adjustment, the sample is discarded)fjt 300 1454 689 6 (and the packet procedure exits. If )fjt /tface 10 def sf 989 1454 25 0 (d)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 1014 1449 12 0 (i)fjt /tface 8 def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 1026 1454 1224 13 ( is greater than zero it is advisable to clamp it to a minimum)fjt 300 1395 1950 13 (value to prevent route flaps that can happen with Bellman-Ford algorithms and large delay)fjt 300 1337 827 5 (dispersions. The following adjustment to )fjt /tface 10 def sf 1127 1337 25 0 (d)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 1152 1332 12 0 (i)fjt /tface 8 def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 1164 1337 893 6 ( reduces \(but cannot eliminate\) this problem:)fjt /tface 10 def sf 969 1243 39 0 (di)fjt /tface 8 def sf (\()25 (x)22 (a)39 (m)12 ( )28 (=)13 ( )0 7 1008 1243 fet /tface 10 def sf (d)0 1 1163 1243 fet /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf (i)0 1 1188 1238 fet /tface 8 def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf (.)12 ( )17 (\))30 (T)28 (S)17 (I)36 (D)36 (N)16 (I)44 (M)13 (.)28 (P)30 (T)36 (N)13 ( )12 (,)0 16 1200 1243 fet 300 1149 1950 12 (Appropriate values for NTP.MAXSKW and NTP.MINDIST are given in Table 5. These values)fjt 300 1091 978 7 (may have to be altered for special circumstances.)fjt 300 997 1914 14 (If processing reaches this point the received timestamps are considered valid and peer.valid is s)fjt 2214 997 36 0 (et)fjt 300 939 1052 9 (to zero. The clock-filter procedure is then called with )fjt /tface 10 def sf 1352 939 22 0 (c)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 1374 934 12 0 (i)fjt /tface 8 def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 1385 939 340 4 ( and the adjusted )fjt /tface 10 def sf 1725 939 25 0 (d)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 1750 934 12 0 (i)fjt /tface 8 def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 1761 939 489 4 ( as arguments to produce)fjt (e)14 (t)23 (a)40 (m)14 (i)15 (t)20 (s)22 (e)25 ( )26 (n)26 (o)14 (i)20 (s)18 (r)22 (e)26 (p)20 (s)15 (i)25 (d)25 ( )26 (d)26 (n)23 (a)25 ( )17 (\))14 (t)23 (e)20 (s)17 (f)18 (f)25 (o)15 (t)20 (s)23 (e)13 (.)17 (r)23 (e)23 (e)25 (p)18 (\()25 ( )22 (e)15 (t)23 (a)39 (m)15 (i)14 (t)20 (s)23 (e)25 ( )14 (t)23 (e)20 (s)17 (f)18 (f)25 (o)25 ( )14 (,)17 (\))26 (y)22 (a)15 (l)23 (e)25 (d)15 (t)20 (s)23 (e)13 (.)17 (r)23 (e)23 (e)26 (p)17 (\()25 ( )23 (e)15 (t)23 (a)40 (m)14 (i)15 (t)20 (s)23 (e)25 ( )26 (y)23 (a)15 (l)23 (e)26 (d)25 ( )23 (e)26 (h)15 (t)0 92 300 880 fet (n)14 (i)15 ( )25 (n)22 (a)15 ( )14 (t)25 (o)25 (n)16 ( )19 (s)14 (i)15 ( )39 (m)25 (h)14 (t)13 (i)17 (r)25 (o)25 (g)14 (l)22 (a)15 ( )17 (r)22 (e)13 (t)14 (l)14 (i)16 (f)16 ( )25 (k)22 (c)25 (o)14 (l)22 (c)15 ( )22 (e)25 (h)14 (t)15 ( )17 (f)25 (o)15 ( )25 (n)25 (o)14 (i)14 (t)22 (a)22 (c)14 (i)16 (f)14 (i)22 (c)22 (e)25 (p)28 (S)15 ( )16 ( )12 (.)25 (d)22 (e)25 (v)14 (l)25 (o)25 (v)25 (n)14 (i)15 ( )17 (r)22 (e)22 (e)25 (p)15 ( )22 (e)25 (h)14 (t)15 ( )17 (r)25 (o)16 (f)16 ( )16 (\))25 (p)20 (s)13 (i)25 (d)14 (t)19 (s)22 (e)13 (.)16 (r)22 (e)22 (e)25 (p)17 (\()0 95 300 822 fet (l)22 (a)16 (r)25 (g)22 (e)14 (t)0 6 2137 822 fet 300 764 1950 15 (part of the NTP specification; however, one found to work well in the Internet environment is)fjt 300 706 1835 14 (described in Section 4. Finally, the clock-update procedure is called to reselect the clock sou)fjt 2135 706 116 1 (rce, if)fjt 300 647 750 5 (necessary, and update the local clock.)fjt /tface 5 def 5 encfont sf 300 552 125 0 (3.4.4.)fjt (e)18 (r)29 (u)30 (d)27 (e)26 (c)30 (o)18 (r)30 (p)12 ( )27 (k)27 (c)29 (o)13 (l)27 (c)15 (-)27 (y)18 (r)27 (a)43 (m)13 (i)18 (r)33 (P)12 ( )0 24 425 552 fet /tface 8 def sf 300 457 1835 15 (When a primary clock is connected to the host, it is convenient to incorporate its informatio)fjt 2135 457 116 1 (n into)fjt 300 399 1915 18 (the data base as if the clock were represented as an ordinary peer. The clock can be polled once)fjt 2215 399 35 1 ( a)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 3374 2624 3374 2624 2825 -75 2825 np mto lto lto lto clip np /tface 4 def 4 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2979 230 0 (RFC-1119)fjt 1024 2979 504 2 (Network Time Protocol)fjt 1882 2979 369 1 (September 1989)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 474 2624 474 2624 -75 -75 -75 np mto lto lto lto clip np /tface 4 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 279 100 0 (Mills)fjt 2065 279 186 1 (Page 26)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np %End page showpage svobj restore gr gs /svobj save def %Begin page UserSoP greset -75 3374 2624 3374 2624 -75 -75 -75 np mto lto lto lto clip np /tface 8 def 8 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2841 1950 17 (minute or so and the returned timecheck used to produce a new update for the local clock. The)fjt 300 2782 1772 13 (following peer variables can be established upon instantiation of the protocol machine for t)fjt 2072 2782 178 1 (he clock:)fjt ( )25 (p)22 (a)22 (e)14 (l)12 (.)17 (r)22 (e)22 (e)25 (p)0 10 947 2694 fet /tface 12 def /mpf false def sf (\254)0 1 1141 2694 fet /tface 8 def /mpf true def sf (r)25 (o)13 (t)22 (a)17 (r)22 (e)25 (p)25 (o)12 ( )25 (y)25 (b)13 ( )25 (d)22 (e)14 (t)22 (c)22 (e)13 (l)22 (e)20 (s)12 ( )0 21 1190 2694 fet ( )39 (m)25 (u)14 (t)22 (a)16 (r)14 (t)19 (s)13 (.)16 (r)22 (e)22 (e)25 (p)0 13 1102 2636 fet /tface 12 def /mpf false def sf (\254)0 1 1361 2636 fet /tface 8 def /mpf true def sf (0)12 ( )0 2 1411 2636 fet ( )13 (l)14 (l)25 (o)25 (p)25 (p)13 (.)16 (r)22 (e)22 (e)25 (p)0 11 964 2577 fet /tface 12 def /mpf false def sf (\254)0 1 1177 2577 fet /tface 8 def /mpf true def sf (L)31 (L)36 (O)27 (P)36 (X)36 (A)45 (M)12 (.)28 (P)30 (T)36 (N)13 ( )0 12 1226 2577 fet ( )13 (l)14 (l)25 (o)25 (p)25 (h)13 (.)16 (r)22 (e)22 (e)25 (p)0 11 1003 2519 fet /tface 12 def /mpf false def sf (\254)0 1 1216 2519 fet /tface 8 def /mpf true def sf (d)22 (e)16 (r)25 (u)25 (g)14 (i)17 (f)25 (n)25 (o)22 (c)12 ( )19 (s)22 (a)13 ( )0 14 1265 2519 fet ( )22 (e)22 (c)25 (n)22 (a)14 (t)19 (s)14 (i)25 (d)12 (.)17 (r)22 (e)22 (e)25 (p)0 14 992 2461 fet /tface 12 def /mpf false def sf (\254)0 1 1266 2461 fet /tface 8 def /mpf true def sf (\))36 (w)25 (o)13 (l)22 (e)25 (b)13 ( )22 (e)22 (e)19 (s)17 (\()12 ( )0 12 1315 2461 fet ( )25 (n)25 (o)14 (i)19 (s)17 (r)22 (e)25 (p)19 (s)14 (i)25 (d)12 (.)17 (r)22 (e)22 (e)25 (p)0 16 1074 2403 fet /tface 12 def /mpf false def sf (\254)0 1 1389 2403 fet /tface 8 def /mpf true def sf (0)13 ( )0 2 1438 2403 fet ( )16 (r)25 (d)22 (a)22 (c)17 (r)19 (s)12 (.)17 (r)22 (e)22 (e)25 (p)0 12 1013 2344 fet /tface 12 def /mpf false def sf (\254)0 1 1245 2344 fet /tface 8 def /mpf true def sf (\))36 (w)25 (o)14 (l)22 (e)25 (b)13 ( )22 (e)22 (e)19 (s)16 (\()13 ( )0 12 1294 2344 fet ( )25 (y)22 (a)14 (l)22 (e)25 (d)14 (t)19 (s)22 (e)12 (.)17 (r)22 (e)22 (e)25 (p)0 14 1095 2286 fet /tface 12 def /mpf false def sf (\254)0 1 1368 2286 fet /tface 8 def /mpf true def sf (0)12 ( )0 2 1418 2286 fet ( )25 (p)19 (s)14 (i)25 (d)13 (t)20 (s)22 (e)12 (.)17 (r)22 (e)22 (e)25 (p)0 13 1107 2228 fet /tface 12 def /mpf false def sf (\254)0 1 1356 2228 fet /tface 8 def /mpf true def sf (0)13 ( )0 2 1405 2228 fet 300 2138 1895 14 (In this case the peer.distance and peer.srcadr can be constants reflecting the accuracy and type)fjt 2195 2138 56 1 ( of)fjt 300 2080 1850 13 (the clock, respectively. By convention, the value for peer.distance, which will become the val)fjt 2150 2080 100 1 (ue of)fjt 300 2021 1877 14 (sys.distance when the clock-update procedure is called, is ten times the expected mean error of)fjt 2177 2021 73 1 ( the)fjt 300 1963 1950 15 (clock, for instance, 100 milliseconds for a WWVB clock and 1000 milliseconds for a less accurate)fjt 300 1905 1950 15 (WWV clock. Also, the value for peer.srcadr, which will become the value of sys.refid when the)fjt 300 1847 1861 15 (clock-update procedure is called, is set to an ASCII string describing the clock type \(see Appe)fjt 2161 1847 89 0 (ndix)fjt 300 1788 65 0 (A\).)fjt 300 1698 1903 17 (When a valid timecode is received from the clock it is converted to internal timecheck form and t)fjt 2203 1698 47 0 (he)fjt 300 1640 467 2 (following variables set:)fjt ( )22 (c)22 (e)16 (r)13 (.)16 (r)22 (e)22 (e)25 (p)0 9 1057 1550 fet /tface 12 def /mpf false def sf (\254)0 1 1228 1550 fet /tface 8 def /mpf true def sf (k)22 (c)22 (e)25 (h)22 (c)22 (e)39 (m)14 (i)14 (t)12 ( )0 10 1277 1550 fet ( )14 (t)22 (e)19 (s)16 (f)17 (f)25 (o)14 (t)19 (s)22 (e)12 (.)17 (r)22 (e)22 (e)25 (p)0 15 890 1492 fet /tface 12 def /mpf false def sf (\254)0 1 1169 1492 fet /tface 8 def /mpf true def sf (k)22 (c)25 (o)14 (l)22 (c)12 (.)20 (s)25 (y)19 (s)12 ( )17 (-)12 ( )25 (k)22 (c)22 (e)25 (h)22 (c)22 (e)39 (m)14 (i)14 (t)12 ( )0 22 1218 1492 fet 300 1402 1842 14 (Finally, the clock-update procedure is called to reselect the clock source, if necessary, and u)fjt 2142 1402 108 0 (pdate)fjt 300 1344 303 2 (the local clock.)fjt 300 1253 1903 15 (Since current broadcast time formats do not include advance notice of leap seconds, it may happ)fjt 2203 1253 47 0 (en)fjt 300 1195 1826 16 (that a leap second is correctly incorporated in the local timescale, but the radio clock may co)fjt 2126 1195 125 0 (ntinue)fjt 300 1137 1879 13 (at its old timescale until resynchronized. To avoid disruptions when a leap-second event occurs,)fjt 2179 1137 71 1 ( the)fjt 300 1079 1950 15 (clock should be disabled for some interval, depending on the clock type, until it has reliably)fjt 300 1020 775 4 (resynchronized to the broadcast signal.)fjt 300 930 1900 15 (With a little ingenuity the unused peer variables can be converted to control the clock polli)fjt 2200 930 50 0 (ng)fjt 300 872 1736 13 (interval, to determine its operating condition and even to use the clock-filter procedure i)fjt 2036 872 214 2 (n the usual)fjt 300 814 574 4 (way to improve its accuracy.)fjt /tface 5 def 5 encfont sf 300 723 125 0 (3.4.5.)fjt (e)18 (r)30 (u)29 (d)27 (e)27 (c)29 (o)19 (r)29 (p)13 ( )27 (e)15 (t)27 (a)29 (d)30 (p)29 (u)16 (-)27 (k)26 (c)30 (o)13 (l)35 (C)12 ( )0 23 425 723 fet /tface 8 def sf 300 632 1950 14 (The clock-update procedure is called for a selected peer when a new delay/offset estimate is)fjt 300 574 1861 14 (available. First, the clock-selection procedure is called to determine the best peer on the bas)fjt 2161 574 90 1 (is of)fjt 300 516 1892 14 (estimated accuracy and reliability. If this results in a new clock source \(sys.peer\), the poll-upd)fjt 2192 516 58 0 (ate)fjt 300 457 1830 14 (procedure is called for sys.peer with argument peer.hpoll, since the poll interval for the new)fjt 2130 457 120 1 ( clock)fjt 300 399 1950 15 (source must be clamped at NTP.MINPOLL. If sys.hold is nonzero or sys.peer is not the selected)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 3374 2624 3374 2624 2825 -75 2825 np mto lto lto lto clip np /tface 4 def 4 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2979 230 0 (RFC-1119)fjt 1024 2979 504 2 (Network Time Protocol)fjt 1882 2979 369 1 (September 1989)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 474 2624 474 2624 -75 -75 -75 np mto lto lto lto clip np /tface 4 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 279 100 0 (Mills)fjt 2065 279 186 1 (Page 27)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np %End page showpage svobj restore gr gs /svobj save def %Begin page UserSoP greset -75 3374 2624 3374 2624 -75 -75 -75 np mto lto lto lto clip np /tface 8 def 8 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2841 1825 14 (peer in the procedure call, the procedure exits. Otherwise, the state variables of the selecte)fjt 2125 2841 125 1 (d peer)fjt 300 2782 1109 9 (are used to update the system state variables as follows:)fjt ( )25 (p)22 (a)22 (e)14 (l)12 (.)20 (s)25 (y)19 (s)0 9 1068 2694 fet /tface 12 def /mpf false def sf (\254)0 1 1239 2694 fet /tface 8 def /mpf true def sf (p)22 (a)22 (e)14 (l)12 (.)17 (r)22 (e)22 (e)25 (p)12 ( )0 10 1289 2694 fet ( )39 (m)25 (u)14 (t)22 (a)16 (r)14 (t)19 (s)13 (.)19 (s)25 (y)19 (s)0 12 963 2636 fet /tface 12 def /mpf false def sf (\254)0 1 1200 2636 fet /tface 8 def /mpf true def sf (1)12 ( )28 (+)13 ( )39 (m)25 (u)13 (t)22 (a)17 (r)14 (t)19 (s)12 (.)17 (r)22 (e)22 (e)25 (p)12 ( )0 17 1250 2636 fet ( )22 (e)22 (c)25 (n)22 (a)14 (t)19 (s)14 (i)25 (d)13 (.)19 (s)25 (y)19 (s)0 13 819 2577 fet /tface 12 def /mpf false def sf (\254)0 1 1070 2577 fet /tface 8 def /mpf true def sf (y)22 (a)13 (l)22 (e)25 (d)14 (t)19 (s)22 (e)13 (.)16 (r)22 (e)22 (e)25 (p)13 ( )12 ( )28 (+)13 ( )12 ( )22 (e)22 (c)25 (n)22 (a)14 (t)19 (s)14 (i)25 (d)13 (.)16 (r)22 (e)22 (e)25 (p)13 ( )0 32 1119 2577 fet ( )25 (n)25 (o)13 (i)20 (s)16 (r)22 (e)25 (p)19 (s)14 (i)25 (d)13 (.)19 (s)25 (y)19 (s)0 15 802 2519 fet /tface 12 def /mpf false def sf (\254)0 1 1095 2519 fet /tface 8 def /mpf true def sf (p)19 (s)14 (i)25 (d)14 (t)19 (s)22 (e)12 (.)17 (r)22 (e)22 (e)25 (p)12 ( )28 (+)13 ( )25 (n)25 (o)14 (i)19 (s)16 (r)22 (e)25 (p)20 (s)13 (i)25 (d)13 (.)16 (r)22 (e)22 (e)25 (p)13 ( )0 31 1144 2519 fet ( )25 (d)14 (i)16 (f)22 (e)17 (r)12 (.)19 (s)25 (y)20 (s)0 10 1043 2461 fet /tface 12 def /mpf false def sf (\254)0 1 1226 2461 fet /tface 8 def /mpf true def sf (r)25 (d)22 (a)22 (c)16 (r)20 (s)12 (.)17 (r)22 (e)22 (e)25 (p)12 ( )0 12 1275 2461 fet ( )22 (e)38 (m)14 (i)14 (t)16 (f)22 (e)17 (r)12 (.)20 (s)25 (y)19 (s)0 12 1049 2403 fet /tface 12 def /mpf false def sf (\254)0 1 1281 2403 fet /tface 8 def /mpf true def sf (c)22 (e)16 (r)13 (.)16 (r)22 (e)22 (e)25 (p)13 ( )0 9 1330 2403 fet 300 2313 1749 13 (Finally, the local-clock procedure is called with peer.estoffset as argument to update the l)fjt 2049 2313 201 1 (ocal clock)fjt 300 2254 1885 17 (\(sys.clock\). It may happen that the local clock may be reset, rather than slewed to its final value)fjt 2185 2254 66 1 (. In)fjt 300 2196 1795 16 (this case the clear procedure is called repeatedly for every active peer to purge the clock filt)fjt 2095 2196 156 1 (er, reset)fjt 300 2138 1854 14 (the polling interval and reselect the clock source, if necessary. In addition, the system var)fjt 2154 2138 97 0 (iable)fjt 300 2080 329 3 (sys.hold is set to)fjt ( )25 (d)14 (l)25 (o)25 (h)13 (.)19 (s)25 (y)19 (s)0 9 761 1989 fet /tface 12 def /mpf false def sf (\254)0 1 938 1989 fet /tface 8 def /mpf true def sf ( )31 (T)27 (F)17 (I)36 (H)28 (S)12 (.)33 (R)31 (E)30 (E)28 (P)13 ( )0 12 987 1989 fet /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf (*)0 1 1285 1989 fet /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf ( )25 (1)16 (\()13 ( )0 4 1306 1989 fet /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf ( )24 (<)23 (<)0 3 1373 1989 fet /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf (\))31 (L)30 (L)36 (O)28 (P)36 (N)16 (I)45 (M)12 (.)28 (P)30 (T)36 (N)13 ( )0 13 1432 1989 fet 300 1899 1936 14 (and subsequently decrements at one-second intervals to zero. This is necessary so that the loca)fjt 2236 1899 14 0 (l)fjt 300 1841 1805 16 (clock will not be updated until all clock filters fill up again and the dispersions settle down)fjt 2105 1841 13 0 (.)fjt 300 1751 1856 15 (Specification of the clock selection and local-clock algorithms is not an integral part of the )fjt 2156 1751 94 0 (NTP)fjt 300 1693 1950 13 (specification. A clock selection algorithm found to work well in the Internet environment is)fjt 300 1635 1873 15 (described in Section 4, while a local-clock algorithm is described in Section 5. The clock selec)fjt 2173 1635 78 0 (tion)fjt 300 1577 1867 15 (algorithm described in Section 4 usually picks the server at the lowest stratum and minimum d)fjt 2167 1577 83 0 (elay)fjt 300 1518 1889 16 (among all those available, unless that server appears to be a falseticker. The result is that )fjt 2189 1518 61 0 (the)fjt 300 1460 1900 14 (algorithms all work to build a minimum-weight spanning tree relative to the primary servers a)fjt 2200 1460 50 0 (nd)fjt 300 1402 1117 4 (thus a hierarchical-master-slave synchronization subnet.)fjt 300 1312 1950 18 (The basic NTP robustness model is that a host has no other means to verify time other than NTP)fjt 300 1253 1889 14 (itself. In some equipment a battery-backed clock/calendar is available for a sanity check. In )fjt 2189 1253 61 0 (the)fjt 300 1195 1794 13 (common assumption \(not always justified\) that the clock/calendar is more reliable, but less a)fjt 2094 1195 156 0 (ccurate,)fjt 300 1137 1899 15 (than the NTP synchronization subnet, the system clock can be set upon reboot by the clock/calend)fjt 2199 1137 51 0 (ar.)fjt 300 1079 1950 14 (Subsequent corrections can be determined by NTP as available, but only if the adjusted clock)fjt 300 1020 1950 14 (remains within a preconfigured range of the clock/calendar. When this is done an operator alarm)fjt 300 962 1474 13 (should be signalled if the adjustment is determined to be out of this range.)fjt /tface 5 def 5 encfont sf 300 871 125 0 (3.4.6.)fjt (e)18 (r)29 (u)30 (d)27 (e)26 (c)30 (o)18 (r)32 (P)13 ( )30 (n)29 (o)13 (i)15 (t)27 (a)24 (z)13 (i)13 (l)26 (a)13 (i)16 (t)12 (i)30 (n)13 (I)12 ( )0 25 425 871 fet /tface 8 def sf 300 780 1365 10 (Upon reboot the NTP host initializes all system variables as follows:)fjt ( )25 (p)22 (a)22 (e)13 (l)13 (.)19 (s)25 (y)19 (s)0 9 943 690 fet /tface 12 def /mpf false def sf (\254)0 1 1114 690 fet /tface 8 def /mpf true def sf (1)25 (1)13 ( )0 3 1163 690 fet /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf (2)0 1 1226 685 fet /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf (\))25 (d)22 (e)22 (z)14 (i)25 (n)25 (o)16 (r)25 (h)22 (c)25 (n)25 (y)20 (s)25 (n)25 (u)16 (\()13 ( )0 17 1246 690 fet ( )39 (m)25 (u)14 (t)22 (a)16 (r)14 (t)19 (s)13 (.)19 (s)25 (y)19 (s)0 12 991 632 fet /tface 12 def /mpf false def sf (\254)0 1 1228 632 fet /tface 8 def /mpf true def sf (\))25 (d)22 (e)25 (n)14 (i)16 (f)22 (e)25 (d)25 (n)25 (u)17 (\()12 ( )25 (0)13 ( )0 14 1277 632 fet ( )25 (n)25 (o)13 (i)20 (s)13 (i)22 (c)22 (e)17 (r)25 (p)12 (.)20 (s)25 (y)19 (s)0 14 999 574 fet /tface 12 def /mpf false def sf (\254)0 1 1270 574 fet /tface 8 def /mpf true def sf (d)22 (e)16 (r)14 (i)25 (u)25 (q)22 (e)17 (r)12 ( )19 (s)22 (a)13 ( )0 12 1319 574 fet ( )22 (e)22 (c)25 (n)22 (a)13 (t)20 (s)13 (i)25 (d)13 (.)19 (s)25 (y)19 (s)0 13 984 516 fet /tface 12 def /mpf false def sf (\254)0 1 1235 516 fet /tface 8 def /mpf true def sf (\))25 (d)22 (e)25 (n)14 (i)16 (f)22 (e)25 (d)25 (n)25 (u)17 (\()12 ( )25 (0)13 ( )0 14 1284 516 fet ( )25 (n)25 (o)13 (i)20 (s)16 (r)22 (e)25 (p)19 (s)14 (i)25 (d)13 (.)19 (s)25 (y)19 (s)0 15 963 457 fet /tface 12 def /mpf false def sf (\254)0 1 1256 457 fet /tface 8 def /mpf true def sf (\))25 (d)22 (e)25 (n)14 (i)16 (f)22 (e)25 (d)25 (n)25 (u)17 (\()12 ( )25 (0)13 ( )0 14 1305 457 fet ( )25 (d)14 (i)16 (f)22 (e)17 (r)12 (.)20 (s)25 (y)19 (s)0 10 1018 399 fet /tface 12 def /mpf false def sf (\254)0 1 1200 399 fet /tface 8 def /mpf true def sf (\))25 (d)22 (e)25 (n)13 (i)17 (f)22 (e)25 (d)25 (n)25 (u)16 (\()13 ( )25 (0)12 ( )0 14 1250 399 fet greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 3374 2624 3374 2624 2825 -75 2825 np mto lto lto lto clip np /tface 4 def 4 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2979 230 0 (RFC-1119)fjt 1024 2979 504 2 (Network Time Protocol)fjt 1882 2979 369 1 (September 1989)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 474 2624 474 2624 -75 -75 -75 np mto lto lto lto clip np /tface 4 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 279 100 0 (Mills)fjt 2065 279 186 1 (Page 28)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np %End page showpage svobj restore gr gs /svobj save def %Begin page UserSoP greset -75 3374 2624 3374 2624 -75 -75 -75 np mto lto lto lto clip np /tface 8 def 8 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf ( )22 (e)39 (m)14 (i)14 (t)16 (f)22 (e)17 (r)12 (.)19 (s)25 (y)20 (s)0 12 993 2841 fet /tface 12 def /mpf false def sf (\254)0 1 1225 2841 fet /tface 8 def /mpf true def sf (\))25 (d)22 (e)25 (n)14 (i)16 (f)22 (e)25 (d)25 (n)25 (u)17 (\()12 ( )25 (0)13 ( )0 14 1274 2841 fet ( )25 (k)22 (c)25 (o)14 (l)22 (c)12 (.)19 (s)25 (y)20 (s)0 10 921 2782 fet /tface 12 def /mpf false def sf (\254)0 1 1118 2782 fet /tface 8 def /mpf true def sf (e)14 (t)22 (a)39 (m)13 (i)14 (t)19 (s)22 (e)13 ( )22 (e)14 (l)25 (b)22 (a)13 (l)14 (i)22 (a)25 (v)22 (a)13 ( )13 (t)20 (s)22 (e)25 (b)12 ( )0 24 1167 2782 fet ( )25 (d)14 (l)25 (o)25 (h)12 (.)20 (s)25 (y)19 (s)0 9 1143 2724 fet /tface 12 def /mpf false def sf (\254)0 1 1320 2724 fet /tface 8 def /mpf true def sf (0)12 ( )0 2 1370 2724 fet ( )16 (r)22 (e)22 (e)25 (p)13 (.)19 (s)25 (y)19 (s)0 9 1091 2666 fet /tface 12 def /mpf false def sf (\254)0 1 1265 2666 fet /tface 8 def /mpf true def sf (L)31 (L)36 (U)36 (N)12 ( )0 5 1314 2666 fet 300 2571 1950 13 (The local clock \(sys.clock\) is presumably undefined at reboot; however, in some equipment an)fjt 300 2513 1903 12 (estimate is available from the reboot environment, such as a battery-backed clock/calendar. T)fjt 2203 2513 47 0 (he)fjt 300 2455 1812 12 (precision variable \(sys.precision\) is determined by the intrinsic architecture of the local ha)fjt 2112 2455 138 0 (rdware)fjt 300 2397 120 0 (clock.)fjt 300 2295 1779 12 (Next, an implementation-specific procedure is called repeatedly to mobilize a set of associ)fjt 2079 2295 171 1 (ations as)fjt 300 2236 1879 13 (required. The modes and addresses of these peers are determined using information read during)fjt 2179 2236 72 1 ( the)fjt 300 2178 1117 8 (reboot procedure or as the result of operator commands:)fjt ( )17 (r)25 (d)22 (a)22 (c)16 (r)20 (s)12 (.)17 (r)22 (e)22 (e)25 (p)0 12 976 2076 fet /tface 12 def /mpf false def sf (\254)0 1 1208 2076 fet /tface 8 def /mpf true def sf (s)19 (s)22 (e)16 (r)25 (d)25 (d)22 (a)13 ( )28 (P)16 (I)13 ( )16 (r)22 (e)22 (e)25 (p)13 ( )0 16 1257 2076 fet ( )14 (t)17 (r)25 (o)25 (p)22 (c)16 (r)19 (s)13 (.)16 (r)22 (e)22 (e)25 (p)0 13 975 2018 fet /tface 12 def /mpf false def sf (\254)0 1 1223 2018 fet /tface 8 def /mpf true def sf (t)17 (r)25 (o)25 (p)12 ( )28 (P)36 (D)36 (U)13 ( )16 (r)22 (e)22 (e)25 (p)13 ( )0 14 1272 2018 fet ( )16 (r)25 (d)22 (a)14 (t)19 (s)25 (d)13 (.)16 (r)22 (e)22 (e)25 (p)0 12 978 1960 fet /tface 12 def /mpf false def sf (\254)0 1 1210 1960 fet /tface 8 def /mpf true def sf (s)19 (s)22 (e)16 (r)25 (d)25 (d)22 (a)13 ( )28 (P)16 (I)13 ( )13 (t)20 (s)25 (o)25 (h)12 ( )0 16 1259 1960 fet ( )14 (t)16 (r)25 (o)25 (p)14 (t)19 (s)25 (d)13 (.)16 (r)22 (e)22 (e)25 (p)0 13 836 1901 fet /tface 12 def /mpf false def sf (\254)0 1 1085 1901 fet /tface 8 def /mpf true def sf (\))31 (T)33 (R)36 (O)28 (P)12 (.)28 (P)31 (T)36 (N)16 (\()13 ( )13 (t)17 (r)25 (o)25 (p)12 ( )28 (P)36 (D)36 (U)13 ( )13 (t)20 (s)25 (o)25 (h)12 ( )0 25 1134 1901 fet ( )25 (g)14 (i)16 (f)25 (n)25 (o)22 (c)13 (.)16 (r)22 (e)22 (e)25 (p)0 12 1113 1843 fet /tface 12 def /mpf false def sf (\254)0 1 1351 1843 fet /tface 8 def /mpf true def sf (1)12 ( )0 2 1400 1843 fet ( )22 (e)13 (l)25 (b)22 (a)25 (n)22 (e)25 (h)14 (t)25 (u)22 (a)13 (.)16 (r)22 (e)22 (e)25 (p)0 16 966 1785 fet /tface 12 def /mpf false def sf (\254)0 1 1292 1785 fet /tface 8 def /mpf true def sf (\))36 (w)25 (o)14 (l)22 (e)25 (b)13 ( )22 (e)22 (e)19 (s)16 (\()13 ( )0 12 1341 1785 fet ( )22 (c)14 (i)14 (t)25 (n)22 (e)25 (h)13 (t)25 (u)22 (a)13 (.)16 (r)22 (e)22 (e)25 (p)0 15 983 1727 fet /tface 12 def /mpf false def sf (\254)0 1 1275 1727 fet /tface 8 def /mpf true def sf (\))36 (w)25 (o)14 (l)22 (e)25 (b)12 ( )22 (e)22 (e)19 (s)17 (\()12 ( )0 12 1325 1727 fet ( )22 (e)25 (d)25 (o)39 (m)25 (h)13 (.)16 (r)22 (e)22 (e)25 (p)0 11 995 1668 fet /tface 12 def /mpf false def sf (\254)0 1 1241 1668 fet /tface 8 def /mpf true def sf (\))25 (d)22 (e)17 (r)13 (i)25 (u)25 (q)22 (e)17 (r)12 ( )20 (s)22 (a)16 (\()13 ( )0 14 1290 1668 fet 300 1566 1950 12 (If the optional authentication mechanism described in Appendix C is not implemented, the)fjt 300 1508 1931 15 (peer.authenable bit is set to zero and the peer.authentic bit ordinarily set to one, which allow)fjt 2231 1508 19 0 (s)fjt 300 1450 1837 15 (preconfigured peers to become the clock source. If peer.authentic bit is set to zero, a preconfi)fjt 2137 1450 114 0 (gured)fjt 300 1392 1934 15 (peer cannot become the clock source, regardless of stratum or mode. If the mechanism is imple)fjt 2234 1392 17 0 (-)fjt 300 1333 1741 13 (mented, additional variables are initialized as described in Appendix C. The values of thes)fjt 2041 1333 210 1 (e variables)fjt (e)25 (h)14 (t)25 ( )22 (e)19 (s)22 (a)22 (c)25 ( )19 (s)14 (i)25 (h)14 (t)25 ( )25 (n)13 (i)25 ( )25 (y)14 (l)14 (i)16 (r)22 (a)25 (n)14 (i)25 (d)17 (r)36 (O)25 ( )12 (.)17 (f)13 (l)22 (e)20 (s)13 (t)14 (i)25 ( )28 (P)30 (T)36 (N)25 ( )17 (f)25 (o)25 ( )22 (e)25 (p)25 (o)23 (c)19 (s)25 ( )22 (e)26 (h)14 (t)25 ( )25 (d)25 (n)25 (o)26 (y)22 (e)25 (b)25 ( )20 (s)22 (e)17 (r)25 (u)25 (d)22 (e)23 (c)25 (o)17 (r)25 (p)25 ( )25 (g)25 (n)14 (i)20 (s)25 (u)25 ( )25 (d)23 (e)25 (n)14 (i)22 (a)14 (t)25 (b)26 (o)25 ( )22 (e)17 (r)22 (a)0 89 300 1275 fet 300 1217 1818 16 (peer.authenable bit is set to one and the peer.authentic bit to zero, so that only properly authen)fjt 2118 1217 132 0 (ticated)fjt 300 1159 702 5 (peers can become the clock source.)fjt 300 1057 1873 14 (FInally, the clear procedure is called to initialize the remaining peer variables and the ti)fjt 2173 1057 77 0 (mer)fjt 300 998 1468 9 (mechanism is armed and begins decrementing the peer timer \(peer.timer\).)fjt /tface 5 def 5 encfont sf 300 895 125 0 (3.4.7.)fjt (e)18 (r)29 (u)30 (d)27 (e)26 (c)30 (o)18 (r)32 (P)13 ( )18 (r)27 (a)27 (e)13 (l)35 (C)12 ( )0 16 425 895 fet /tface 8 def sf 300 792 1950 15 (The clear procedure is called when some event occurs that results in a significant change in)fjt 300 734 1760 14 (reachability state or potential disruption of the local clock. The peer variables are updated a)fjt 2060 734 191 1 (s follows:)fjt ( )14 (l)13 (l)25 (o)25 (p)25 (h)13 (.)16 (r)22 (e)22 (e)25 (p)0 11 974 632 fet /tface 12 def /mpf false def sf (\254)0 1 1187 632 fet /tface 8 def /mpf true def sf (L)30 (L)36 (O)28 (P)36 (N)17 (I)44 (M)12 (.)28 (P)31 (T)36 (N)12 ( )0 12 1236 632 fet ( )25 (p)20 (s)13 (i)25 (d)14 (t)19 (s)22 (e)13 (.)16 (r)22 (e)22 (e)25 (p)0 13 941 574 fet /tface 12 def /mpf false def sf (\254)0 1 1189 574 fet /tface 8 def /mpf true def sf (P)28 (S)16 (I)36 (D)36 (X)36 (A)45 (M)12 (.)33 (R)31 (E)30 (E)28 (P)13 ( )0 13 1238 574 fet ( )16 (r)22 (e)14 (t)14 (l)13 (i)17 (f)12 (.)17 (r)22 (e)22 (e)25 (p)0 12 908 516 fet /tface 12 def /mpf false def sf (\254)0 1 1115 516 fet /tface 8 def /mpf true def sf (\))25 (d)22 (e)25 (n)14 (i)17 (f)22 (e)25 (d)25 (n)25 (u)12 ( )19 (s)22 (e)25 (g)22 (a)14 (t)19 (s)13 ( )14 (l)13 (l)22 (a)17 (\()12 ( )25 (0)13 ( )0 25 1164 516 fet ( )25 (d)14 (i)13 (l)22 (a)25 (v)13 (.)16 (r)22 (e)22 (e)25 (p)0 11 1127 457 fet /tface 12 def /mpf false def sf (\254)0 1 1337 457 fet /tface 8 def /mpf true def sf (0)12 ( )0 2 1386 457 fet ( )25 (g)17 (r)25 (o)12 (.)17 (r)22 (e)22 (e)25 (p)0 9 1143 399 fet /tface 12 def /mpf false def sf (\254)0 1 1320 399 fet /tface 8 def /mpf true def sf (0)13 ( )0 2 1369 399 fet greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 3374 2624 3374 2624 2825 -75 2825 np mto lto lto lto clip np /tface 4 def 4 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2979 230 0 (RFC-1119)fjt 1024 2979 504 2 (Network Time Protocol)fjt 1882 2979 369 1 (September 1989)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 474 2624 474 2624 -75 -75 -75 np mto lto lto lto clip np /tface 4 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 279 100 0 (Mills)fjt 2065 279 186 1 (Page 29)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np %End page showpage svobj restore gr gs /svobj save def %Begin page UserSoP greset -75 3374 2624 3374 2624 -75 -75 -75 np mto lto lto lto clip np /tface 8 def 8 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf ( )22 (c)22 (e)17 (r)12 (.)17 (r)22 (e)22 (e)25 (p)0 9 1146 2841 fet /tface 12 def /mpf false def sf (\254)0 1 1317 2841 fet /tface 8 def /mpf true def sf (0)13 ( )0 2 1366 2841 fet ( )14 (t)38 (m)25 (x)13 (.)16 (r)22 (e)22 (e)25 (p)0 9 1138 2782 fet /tface 12 def /mpf false def sf (\254)0 1 1326 2782 fet /tface 8 def /mpf true def sf (0)12 ( )0 2 1375 2782 fet 300 2693 1863 14 (Next, the poll-update procedure is called with argument peer.hpoll to reset the peer timer. Fin)fjt 2163 2693 87 0 (ally,)fjt 300 2635 1773 15 (the clock-selection procedure is called. If this results in a new clock source \(sys.peer\), the po)fjt 2073 2635 177 0 (ll-update)fjt 300 2576 1830 14 (procedure is called for sys.peer with argument peer.hpoll, since the poll interval for the new)fjt 2130 2576 120 1 ( clock)fjt 300 2518 894 6 (source must be clamped at NTP.MINPOLL. )fjt /tface 5 def 5 encfont sf 300 2425 125 0 (3.4.8.)fjt (e)18 (r)29 (u)30 (d)27 (e)26 (c)30 (o)18 (r)30 (p)12 ( )27 (e)16 (t)26 (a)30 (d)29 (p)30 (u)15 (-)13 (l)13 (l)29 (o)33 (P)12 ( )0 22 425 2425 fet /tface 8 def sf 300 2332 1896 15 (The poll-update procedure is called when a significant event occurs that may result in a change)fjt 2196 2332 54 1 ( of)fjt 300 2274 1950 13 (the host-poll variable \(peer.hpoll\) or peer timer \(peer.timer\). The new value requested in the)fjt 300 2216 1950 13 (argument is first clamped to the range NTP.MINPOLL and NTP.MAXPOLL. If the peer happens)fjt 300 2158 1773 17 (to be the current clock source \(sys.peer\) or if the local clock is not crystal controlled, the n)fjt 2073 2158 177 1 (ew value)fjt 300 2099 1950 15 (is clamped to NTP.MINPOLL in order to avoid instabilities that can occur with larger values. Next,)fjt 300 2041 830 6 (compute the new poll interval in seconds:)fjt ( )25 (p)39 (m)22 (e)13 (t)0 5 456 1949 fet /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf (=)0 1 568 1949 fet /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf (1)13 ( )0 2 591 1949 fet /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf (<)24 (<)12 ( )0 3 629 1949 fet /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf (.)17 (])30 (L)31 (L)36 (O)27 (P)36 (N)17 (I)44 (M)13 (.)27 (P)31 (T)36 (N)12 ( )13 (,)16 (\))31 (L)30 (L)36 (O)28 (P)36 (X)36 (A)44 (M)13 (.)28 (P)30 (T)36 (N)13 ( )12 (,)14 (l)14 (l)25 (o)25 (p)25 (h)12 (.)17 (r)22 (e)22 (e)25 (p)12 ( )13 (,)13 (l)14 (l)25 (o)25 (p)25 (p)13 (.)16 (r)22 (e)22 (e)25 (p)17 (\()25 (n)13 (i)39 (m)17 ([)25 (x)22 (a)38 (m)13 ( )0 60 688 1949 fet 300 1857 1878 18 (If temp is equal to peer.timer, no change is necessary and the procedure exits. If temp is less t)fjt 2178 1857 72 0 (han)fjt 300 1799 1053 7 (peer.timer, peer.timer must be clamped to that value:)fjt ( )16 (r)22 (e)39 (m)14 (i)13 (t)13 (.)16 (r)22 (e)22 (e)25 (p)0 11 1081 1707 fet /tface 12 def /mpf false def sf (\254)0 1 1296 1707 fet /tface 8 def /mpf true def sf (.)25 (p)39 (m)22 (e)13 (t)13 ( )0 6 1345 1707 fet 300 1615 1834 16 (When the poll interval is changed and possibly large numbers of peers are involved, it is imp)fjt 2134 1615 116 0 (ortant)fjt 300 1557 1889 11 (to discourage tendencies to synchronize transmissions between the peers. A prudent preventat)fjt 2189 1557 61 0 (ive)fjt 300 1498 1468 11 (is to randomize the first transmission after the polling interval is changed:)fjt ( )17 (r)22 (e)39 (m)13 (i)14 (t)13 (.)16 (r)22 (e)22 (e)25 (p)0 11 958 1406 fet /tface 12 def /mpf false def sf (\254)0 1 1173 1406 fet /tface 8 def /mpf true def sf ( )17 (r)22 (e)39 (m)13 (i)14 (t)13 (.)16 (r)22 (e)22 (e)25 (p)13 ( )0 12 1222 1406 fet /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf ( )21 (*)0 2 1450 1406 fet /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf (,)17 (\))16 (\()25 (n)22 (a)17 (r)0 6 1483 1406 fet ( )25 (0)13 ( )13 (l)22 (a)25 (v)17 (r)22 (e)14 (t)25 (n)13 (i)13 ( )22 (e)25 (h)14 (t)12 ( )17 (r)22 (e)25 (v)25 (o)12 ( )19 (s)22 (e)25 (u)14 (l)22 (a)25 (v)13 ( )38 (m)25 (o)25 (d)25 (n)22 (a)17 (r)12 ( )20 (s)22 (e)22 (c)25 (u)25 (d)25 (o)16 (r)25 (p)13 ( )13 (t)22 (a)25 (h)14 (t)13 ( )25 (n)25 (o)13 (i)14 (t)22 (c)25 (n)25 (u)17 (f)12 ( )39 (m)22 (e)14 (t)19 (s)25 (y)19 (s)13 ( )22 (e)25 (h)13 (t)13 ( )19 (s)14 (i)12 ( )17 (\))16 (\()25 (n)22 (a)17 (r)12 ( )22 (e)17 (r)22 (e)25 (h)36 (w)0 83 300 1314 fet /tface 12 def /mpf false def sf (\243)0 1 1950 1314 fet /tface 8 def /mpf true def sf (.)25 (1)12 ( )28 (<)13 ( )25 (x)12 ( )0 7 1978 1314 fet /tface 5 def sf 300 1221 83 0 (3.5.)fjt (s)27 (e)29 (u)27 (s)27 (s)13 (I)12 ( )12 (l)30 (o)18 (r)16 (t)29 (n)30 (o)35 (C)12 ( )27 (s)26 (s)27 (e)27 (c)27 (c)35 (A)12 ( )0 22 383 1221 fet /tface 8 def sf 300 1132 1900 13 (The NTP design is such that accidental or malicious data modification \(tampering\) or destructi)fjt 2200 1132 50 0 (on)fjt 300 1073 1950 15 (\(jamming\) at a time server should not in general result in timekeeping errors elsewhere in the)fjt 300 1015 1914 12 (synchronization subnet. However, the success of this approach depends on redundant time serve)fjt 2214 1015 36 0 (rs)fjt 300 957 1934 14 (and diverse network paths, together with the assumption that tampering or jamming will not occu)fjt 2234 957 17 0 (r)fjt 300 899 1839 15 (at many time servers throughout the synchronization subnet at the same time. In principle, the s)fjt 2139 899 111 0 (ubnet)fjt 300 840 1950 14 (vulnerability can be engineered through the selection of time servers known to be trusted and)fjt 300 782 1950 12 (allowing only those time servers to become the clock source. The authentication procedures)fjt 300 724 1950 12 (described in Appendix C represent one mechanism to enforce this; however, the encryption)fjt 300 666 1849 11 (algorithms can be quite CPU-intensive and can seriously degrade accuracy, unless precautions)fjt 2149 666 101 1 ( such)fjt 300 607 1331 10 (as mentioned in the description of the timeout procedure are taken.)fjt 300 516 1895 13 (While not a required feature of NTP itself, some implementations may include an access-cont)fjt 2195 516 55 0 (rol)fjt 300 457 1867 14 (feature that prevents unauthorized access and controls which peers are allowed to update the l)fjt 2167 457 83 0 (ocal)fjt 300 399 1803 15 (clock. For this purpose it is useful to distinguish between three categories of access: those )fjt 2103 399 148 1 (that are)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 3374 2624 3374 2624 2825 -75 2825 np mto lto lto lto clip np /tface 4 def 4 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2979 230 0 (RFC-1119)fjt 1024 2979 504 2 (Network Time Protocol)fjt 1882 2979 369 1 (September 1989)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 474 2624 474 2624 -75 -75 -75 np mto lto lto lto clip np /tface 4 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 279 100 0 (Mills)fjt 2065 279 186 1 (Page 30)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np %End page showpage svobj restore gr gs /svobj save def %Begin page UserSoP greset -75 3374 2624 3374 2624 -75 -75 -75 np mto lto lto lto clip np /tface 8 def 8 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2841 1950 10 (preauthorized as trusted, preauthorized as friendly and all other \(non-preauthorized\) accesses.)fjt 300 2782 1909 13 (Presumably, preauthorization is accomplished by entries in the configuration file or some kind )fjt 2209 2782 42 0 (of)fjt 300 2724 1903 14 (ticket-management system such as Kerberos. In this model only trusted accesses can result in t)fjt 2203 2724 47 0 (he)fjt 300 2666 1903 14 (peer becoming the clock source. While friendly accesses cannot result in the peer becoming t)fjt 2203 2666 47 0 (he)fjt 300 2608 1402 9 (clock source, NTP messages and timestamps are returned as specified.)fjt 300 2513 1851 15 (It does not seem useful to maintain a secret clock, as would result from restricting non-preautho)fjt 2151 2513 99 0 (rized)fjt 300 2455 1757 14 (accesses, unless the intent is to hide the existence of the time server itself. Well-behave)fjt 2057 2455 194 1 (d Internet)fjt 300 2397 1950 14 (hosts should always return an ICMP error message if the service or resources are unavailable;)fjt 300 2338 1870 17 (however, in the case of NTP the resources required are minimal, so there is little need to res)fjt 2170 2338 80 0 (trict)fjt 300 2280 1878 14 (requests intended only to read the clock. A simple but effective access-control mechanism is t)fjt 2178 2280 72 0 (hen)fjt 300 2222 1934 16 (to consider all associations preconfigured in a symmetric mode or client mode \(modes 1, 2 and 3)fjt 2234 2222 17 0 (\))fjt 300 2164 1386 10 (as trusted and all other associations, preconfigured or not, as friendly.)fjt 300 2062 1903 16 (If a more comprehensive trust model is required, the design can be based on an access-control l)fjt 2203 2062 47 0 (ist)fjt 300 2003 1805 15 (with each entry consisting of a 32-bit Internet address, 32-bit mask and three-bit mode. If the)fjt 2105 2003 145 1 ( logical)fjt 300 1945 1931 15 (AND of the source address \(pkt.srcadr\) and the mask in an entry matches the corresponding addres)fjt 2231 1945 19 0 (s)fjt 300 1887 1895 17 (in the entry and the mode \(pkt.mode\) matches the mode in the entry, the access is allowed; otherw)fjt 2195 1887 55 0 (ise)fjt 300 1829 1950 15 (an ICMP error message is returned to the requestor. Through appropriate choice of mask, it is)fjt 300 1770 1819 14 (possible to restrict requests by mode to individual addresses, a particular subnet or net add)fjt 2119 1770 131 0 (resses,)fjt 300 1712 1789 15 (or have no restriction at all. The access-control list would then serve as a filter controllin)fjt 2089 1712 161 1 (g which)fjt 300 1654 624 3 (peers could create associations.)fjt /tface 5 def 5 encfont sf 300 1551 42 0 (4.)fjt (s)43 (m)30 (h)15 (t)13 (i)18 (r)30 (o)29 (g)13 (l)35 (A)12 ( )30 (n)29 (o)13 (i)16 (t)26 (c)27 (e)13 (l)27 (e)32 (S)12 ( )30 (d)29 (n)27 (a)12 ( )30 (g)29 (n)13 (i)18 (r)27 (e)15 (t)13 (l)13 (i)29 (F)13 ( )0 35 350 1551 fet /tface 8 def sf 300 1456 1748 14 (A very important factor affecting the accuracy and reliability of time distribution is the c)fjt 2048 1456 203 1 (omplex of)fjt 300 1398 1873 16 (algorithms used to deglitch and smooth the offset estimates and to cast out outlyers due to fai)fjt 2173 1398 77 0 (lure)fjt 300 1339 1886 13 (of the primary reference sources or propagation media. The algorithms suggested in this sect)fjt 2186 1339 64 0 (ion)fjt 300 1281 1879 14 (were developed and refined over several years of operation in the Internet under widely varying)fjt 2179 1281 71 1 ( net)fjt 300 1223 1796 12 (configurations and utilizations. While these algorithms are believed the best available at the)fjt 2096 1223 154 1 ( present)fjt 300 1165 1928 15 (time, they are not an integral part of the NTP specification. A comprehensive discussion of th)fjt 2228 1165 22 0 (e)fjt 300 1106 1015 7 (design principles and performance is given in [44].)fjt 300 1004 1872 13 (There are two procedures described in the following, the clock-filter procedure, which is use)fjt 2172 1004 79 1 (d to)fjt 300 946 1884 15 (select the best offset samples from a given clock, and the clock-selection procedure, which is u)fjt 2184 946 66 0 (sed)fjt 300 888 1153 10 (to select the best clock among a hierarchical set of clocks.)fjt /tface 5 def sf 300 785 83 0 (4.1.)fjt (e)18 (r)29 (u)30 (d)27 (e)26 (c)30 (o)18 (r)30 (p)12 ( )19 (r)26 (e)16 (t)13 (l)12 (i)16 (f)15 (-)27 (k)27 (c)29 (o)13 (l)35 (C)13 ( )0 23 383 785 fet /tface 8 def sf 300 690 1903 15 (The clock-filter procedure is executed upon arrival of an NTP message or other event that resu)fjt 2203 690 47 0 (lts)fjt 300 632 1721 13 (in new delay/offset sample pairs. The filter register \(peer.filter\) is initialized with zeros )fjt 2021 632 229 2 (by the clear)fjt 300 574 1864 15 (procedure. New sample pairs are shifted into peer.filter from the left end, causing first zeros )fjt 2164 574 86 0 (then)fjt 300 516 1803 17 (old sample pairs to shift off the right end. The transmit procedure will also shift zeros into pe)fjt 2103 516 147 0 (er.filter)fjt 300 457 1835 14 (when two polling intervals elapse without a fresh update. Then those sample pairs in peer.filte)fjt 2135 457 115 1 (r with)fjt 300 399 1903 16 (nonzero delay are inserted on a temporary list and sorted in order of increasing delay. The del)fjt 2203 399 47 0 (ay)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 3374 2624 3374 2624 2825 -75 2825 np mto lto lto lto clip np /tface 4 def 4 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2979 230 0 (RFC-1119)fjt 1024 2979 504 2 (Network Time Protocol)fjt 1882 2979 369 1 (September 1989)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 474 2624 474 2624 -75 -75 -75 np mto lto lto lto clip np /tface 4 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 279 100 0 (Mills)fjt 2065 279 186 1 (Page 31)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np %End page showpage svobj restore gr gs /svobj save def %Begin page UserSoP greset -75 3374 2624 3374 2624 -75 -75 -75 np mto lto lto lto clip np /tface 8 def 8 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2841 1848 11 (estimate \(peer.estdelay\) and offset estimate \(peer.estoffset\) are chosen as the delay/offset v)fjt 2148 2841 102 0 (alues)fjt 300 2782 1756 13 (corresponding to the minimum-delay sample. In case of ties an arbitrary choice is made.)fjt 300 2686 1903 15 (The dispersion estimate \(peer.estdisp\) is then computed as the weighted sum of the offsets in t)fjt 2203 2686 47 0 (he)fjt 300 2628 466 5 (list. Assume the list has )fjt /tface 10 def 10 encfont sf 766 2628 25 0 (n)fjt /tface 8 def sf ( )14 (t)19 (s)16 (r)14 (i)17 (f)10 ( )22 (e)25 (h)13 (t)11 ( )12 (,)19 (s)22 (e)14 (i)17 (r)13 (t)25 (n)22 (e)11 ( )30 (T)28 (F)16 (I)36 (H)28 (S)13 (.)33 (R)30 (E)31 (E)28 (P)10 ( )28 (=)10 ( )0 33 791 2628 fet /tface 10 def sf (m)0 1 1438 2628 fet /tface 8 def sf (r)22 (e)25 (d)17 (r)25 (o)9 ( )25 (n)14 (i)9 ( )19 (s)22 (e)14 (l)25 (p)38 (m)22 (a)20 (s)9 ( )25 (d)13 (i)14 (l)22 (a)25 (v)9 ( )25 (n)14 (i)22 (a)14 (t)25 (n)25 (o)22 (c)9 ( )25 (h)22 (c)13 (i)25 (h)36 (w)9 ( )17 (f)25 (o)9 ( )0 40 1474 2628 fet 300 2570 449 4 (of increasing delay. If )fjt /tface 10 def sf 749 2570 31 0 (X)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 780 2565 12 0 (i)fjt /tface 8 def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf ( )25 (0)16 (\()13 ( )0 4 791 2570 fet /tface 12 def /mpf false def sf (\243)0 1 858 2570 fet /tface 8 def /mpf true def sf ( )0 1 885 2570 fet /tface 10 def sf ( )14 (i)0 2 897 2570 fet /tface 8 def sf ( )28 (<)0 2 924 2570 fet /tface 10 def sf (m)0 1 964 2570 fet /tface 8 def sf ( )22 (e)25 (h)14 (t)12 ( )17 (f)25 (o)12 ( )14 (t)22 (e)19 (s)17 (f)16 (f)25 (o)13 ( )22 (e)25 (h)13 (t)13 ( )19 (s)14 (i)12 ( )17 (\))0 23 1000 2570 fet /tface 10 def sf (i)0 1 1401 2570 fet /tface 8 def sf (s)22 (e)25 (u)14 (l)22 (a)25 (v)13 ( )22 (e)25 (h)13 (t)13 ( )22 (e)14 (t)25 (u)25 (p)38 (m)25 (o)22 (c)13 ( )25 (n)22 (e)25 (h)14 (t)12 ( )13 (,)22 (e)13 (l)25 (p)39 (m)22 (a)19 (s)13 ( )25 (h)14 (t)0 34 1414 2570 fet /tface 10 def sf 700 2465 25 0 (d)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 725 2460 12 0 (i)fjt /tface 8 def sf ( )0 1 737 2460 fet ( )24 (=)0 2 749 2465 fet /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf ( )10 (|)0 2 785 2465 fet /tface 10 def sf (X)0 1 808 2465 fet /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf (i)0 1 838 2460 fet /tface 8 def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf ( )0 1 850 2465 fet /tface 12 def /mpf false def sf (-)0 1 862 2465 fet /tface 8 def /mpf true def sf ( )0 1 889 2465 fet /tface 10 def sf (X)0 1 902 2465 fet /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf (0)0 1 932 2460 fet /tface 8 def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf (f)14 (i)12 ( )10 (|)13 ( )0 5 953 2465 fet /tface 10 def sf (i)13 ( )0 2 1018 2465 fet /tface 8 def sf ( )0 1 1045 2465 fet /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf ( )24 (<)0 2 1057 2465 fet /tface 10 def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf (m)0 1 1093 2465 fet /tface 8 def sf ( )10 (|)12 ( )25 (d)25 (n)22 (a)13 ( )0 7 1129 2465 fet /tface 10 def sf (X)0 1 1249 2465 fet /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf (i)0 1 1279 2460 fet /tface 8 def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf ( )0 1 1291 2465 fet /tface 12 def /mpf false def sf ( )27 (-)13 ( )0 3 1303 2465 fet /tface 10 def /mpf true def sf (X)0 1 1355 2465 fet /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf ( )21 (0)0 2 1386 2460 fet /tface 8 def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf ( )10 (|)0 2 1419 2465 fet /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf ( )23 (<)0 2 1442 2465 fet /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf (;)27 (P)28 (S)17 (I)36 (D)36 (X)36 (A)44 (M)12 (.)34 (R)30 (E)31 (E)27 (P)0 13 1478 2465 fet /tface 10 def sf 944 2407 25 0 (d)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 969 2402 12 0 (i)fjt /tface 8 def sf (=)12 ( )0 2 981 2407 fet /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf (,)22 (e)20 (s)13 (i)36 (w)17 (r)22 (e)25 (h)14 (t)25 (o)12 ( )28 (P)28 (S)16 (I)36 (D)36 (X)36 (A)44 (M)13 (.)33 (R)31 (E)30 (E)28 (P)12 ( )0 24 1017 2407 fet ( )25 (p)19 (s)14 (i)25 (d)14 (t)19 (s)22 (e)13 (.)16 (r)22 (e)22 (e)25 (p)0 13 1047 2239 fet /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf (=)0 1 1295 2239 fet /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf ( )0 1 1319 2239 fet /tface 12 def /mpf false def /txscale 1800 3 mul 72 div def /tyscale 1800 3 mul 72 div def sf (\345)0 1 1331 2227 fet /tface 8 def /mpf true def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf ( )0 1 1385 2239 fet /tface 10 def /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf (i)0 1 1320 2175 fet /tface 8 def sf ( )0 1 1332 2175 fet /tface 12 def /mpf false def sf (=)0 1 1342 2175 fet /tface 8 def /mpf true def sf ( )0 1 1365 2175 fet (0)0 1 1375 2175 fet /tface 10 def sf (n)0 1 1316 2310 fet /tface 8 def sf ( )0 1 1336 2310 fet /tface 12 def /mpf false def sf (-)0 1 1347 2310 fet /tface 8 def /mpf true def sf ( )0 1 1369 2310 fet (1)0 1 1380 2310 fet /tface 10 def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf (d)0 1 1397 2239 fet /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf (i)0 1 1422 2234 fet /tface 8 def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf ( )0 1 1434 2239 fet /tface 10 def sf (w)0 1 1446 2239 fet /tface 8 def sf ( )0 1 1479 2239 fet /tface 10 def /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf (i)0 1 1492 2263 fet /tface 8 def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 300 2072 136 1 (where )fjt /tface 10 def sf 436 2072 33 0 (w)fjt /tface 8 def sf ( )25 (o)13 (t)14 ( )14 (t)22 (e)19 (s)14 ( )25 (y)14 (l)14 (t)25 (n)22 (e)16 (r)17 (r)25 (u)22 (c)14 ( )12 (,)17 (\))16 (r)22 (e)14 (t)22 (e)39 (m)22 (a)16 (r)22 (a)25 (p)14 ( )34 (R)30 (E)31 (T)30 (L)17 (I)27 (F)13 (.)33 (R)31 (E)30 (E)28 (P)14 ( )22 (e)25 (h)14 (t)14 ( )25 (d)22 (e)13 (l)14 (l)22 (a)22 (c)14 ( )25 (o)19 (s)14 (l)22 (a)17 (\()14 ( )16 (r)25 (o)14 (t)22 (c)22 (a)16 (f)14 ( )25 (g)25 (n)14 (i)14 (t)25 (h)25 (g)14 (i)22 (e)36 (w)14 ( )22 (a)14 ( )19 (s)14 (i)14 ( )25 (1)14 ( )28 (<)14 ( )0 85 469 2072 fet /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf (1)0 1 2182 2096 fet /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf (/)0 1 2203 2072 fet /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf (2)0 1 2217 2067 fet /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf (,)0 1 2238 2072 fet 300 2014 1766 10 (experimentally adjusted to match typical offset distributions. The peer.estdisp variable is)fjt 2066 2014 184 1 ( intended)fjt 300 1956 1864 14 (for use as a quality indicator, with increasing values associated with decreasing quality and g)fjt 2164 1956 86 0 (iven)fjt 300 1897 830 6 (less weight in the clock selection process.)fjt 300 1793 1934 14 (The peer.estdisp variable is used in the transmit procedure to determine whether to increase o)fjt 2234 1793 17 0 (r)fjt 300 1735 1950 12 (decrease the polling interval. If peer.estdisp is greater than the PEER.THRESHOLD parameter, the)fjt 300 1676 1792 13 (path quality is deteriorating and the polling interval is decreased; otherwise, the polling in)fjt 2092 1676 159 1 (terval is)fjt 300 1618 1886 12 (increased. The peer.estdisp variable is also used in the clock-selection procedure in conjunct)fjt 2186 1618 64 0 (ion)fjt 300 1560 1870 13 (with the peer.dispersion variable as a means to select candidate peers for clock synchronizatio)fjt 2170 1560 38 0 (n.)fjt /tface 5 def 5 encfont sf 300 1454 83 0 (4.2.)fjt (e)18 (r)30 (u)29 (d)27 (e)27 (c)29 (o)19 (r)29 (p)13 ( )29 (n)30 (o)13 (i)15 (t)27 (c)27 (e)12 (l)27 (e)27 (s)15 (-)27 (k)27 (c)29 (o)13 (l)35 (C)13 ( )0 26 383 1454 fet /tface 8 def sf 300 1358 1847 10 (The clock-selection procedure uses the values of delay \(peer.estdelay\), offset \(peer.estoffset)fjt 2147 1358 103 1 (\) and)fjt 300 1299 1803 12 (dispersion \(peer.estdisp\) calculated by the clock-filter procedure for each peer and is calle)fjt 2103 1299 147 1 (d when)fjt 300 1241 1838 15 (these values change or when the reachability status changes. It constructs a list of candidate se)fjt 2138 1241 112 0 (rvers,)fjt 300 1183 1854 17 (then sorts it in order of estimated robustness and trims it to manageable size. Next, it sorts th)fjt 2154 1183 96 1 (e list)fjt 300 1125 1810 15 (in order of estimated accuracy and repeatedly casts out outlyers on the basis of dispersion un)fjt 2110 1125 140 1 (til only)fjt 300 1066 1757 15 (the most reliable, most accurate candidates are left. The only output from this procedure is t)fjt 2057 1066 193 1 (he system)fjt 300 1008 1783 18 (variable sys.peer, which is set as a pointer to a surviving candidate, if there is one, or to th)fjt 2083 1008 167 1 (e NULL)fjt 300 950 239 2 (value if not.)fjt 300 845 1878 14 (The first subprocedure begins by constructing a list of candidates sorted first by peer.stratum )fjt 2178 845 72 0 (and)fjt 300 787 1082 8 (then by the sum of peer.estdisp, peer.dispersion and )fjt /tface 12 def /mpf false def sf 1382 787 25 0 (d)fjt /tface 8 def /mpf true def sf 1407 787 843 7 ( \(see Section 3.4.3\). The only criteria for)fjt 300 729 1417 12 (membership on this list is that the peer must pass certain sanity checks:)fjt 300 622 38 0 (1.)fjt 375 622 1875 15 (The variable peer.stratum must be greater than zero and less than the maximum that can be)fjt 375 564 867 5 (encoded as a packet variable \(NTP.INFIN\).)fjt 300 457 38 0 (2.)fjt 375 457 1875 13 (If peer.stratum is greater than one \(synchronized by NTP\), peer.refid must not match peer.dstadr;)fjt 375 399 1038 6 (otherwise, a synchronization loop would be formed.)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 3374 2624 3374 2624 2825 -75 2825 np mto lto lto lto clip np /tface 4 def 4 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2979 230 0 (RFC-1119)fjt 1024 2979 504 2 (Network Time Protocol)fjt 1882 2979 369 1 (September 1989)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 474 2624 474 2624 -75 -75 -75 np mto lto lto lto clip np /tface 4 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 279 100 0 (Mills)fjt 2065 279 186 1 (Page 32)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np %End page showpage svobj restore gr gs /svobj save def %Begin page UserSoP greset -75 3374 2624 3374 2624 -75 -75 -75 np mto lto lto lto clip np /tface 8 def 8 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2839 38 0 (3.)fjt 375 2839 1875 11 (Both peer.estdelay and peer.estdisp must be less than NTP.MAXWGT \(currently 8\), which)fjt 375 2781 1875 16 (insures that the filter register is at least half full, yet avoids using data from very noisy)fjt 375 2722 802 3 (associations or broken implementations.)fjt 300 2627 1853 16 (If no candidates survive the above sanity checks, the current clock source \(sys.peer\) is set to N)fjt 2153 2627 97 0 (ULL)fjt 300 2569 789 4 (and the clock-selection procedure exits.)fjt 300 2474 1950 17 (The list is then pruned from the end to be no longer than the maximum select size parameter)fjt 300 2415 1950 14 (\(NTP.MAXLIST\), currently set to five; however, the current clock source is not pruned from the)fjt 300 2357 1950 12 (list, regardless of position. This feature minimizes clock wander \(see below\) on high-speed,)fjt (t)25 (n)22 (e)13 ( )13 (t)20 (s)16 (r)14 (i)16 (f)13 ( )22 (e)25 (h)14 (t)13 ( )14 (t)22 (a)13 ( )25 (d)22 (e)14 (t)22 (a)22 (c)25 (n)25 (u)16 (r)14 (t)13 ( )20 (s)13 (i)14 ( )13 (t)20 (s)13 (i)14 (l)13 ( )22 (e)25 (h)14 (t)13 ( )25 (g)25 (n)14 (i)25 (n)25 (n)14 (i)25 (g)22 (e)25 (b)13 ( )22 (e)25 (h)14 (t)13 ( )39 (m)25 (o)16 (r)17 (f)13 ( )25 (g)25 (n)14 (i)14 (t)16 (r)22 (a)14 (t)28 (S)13 ( )13 ( )13 (.)19 (s)25 (k)16 (r)25 (o)36 (w)14 (t)22 (e)25 (n)13 ( )17 (r)22 (e)25 (v)16 (r)22 (e)20 (s)16 (-)22 (e)14 (l)25 (p)14 (i)13 (t)14 (l)25 (u)39 (m)0 93 300 2299 fet (e)16 (r)22 (e)25 (h)36 (w)13 ( )25 (y)17 (r)0 8 2074 2299 fet (r)24 (e)15 (t)23 (e)40 (m)23 (a)18 (r)23 (a)26 (p)25 ( )24 (a)15 (t)23 (a)18 (r)15 (t)20 (s)25 ( )15 (t)23 (c)24 (e)15 (l)23 (e)20 (s)25 ( )40 (m)27 (u)40 (m)15 (i)26 (x)23 (a)40 (m)25 ( )23 (e)27 (h)15 (t)25 ( )20 (s)26 (d)24 (e)23 (e)23 (c)26 (x)24 (e)25 ( )15 (t)20 (s)15 (i)15 (l)25 ( )23 (e)27 (h)15 (t)25 ( )26 (n)15 (i)25 ( )23 (a)15 (t)23 (a)18 (r)15 (t)21 (s)25 ( )15 (t)26 (n)23 (e)18 (r)23 (e)18 (f)18 (f)15 (i)27 (d)25 ( )18 (f)26 (o)25 ( )18 (r)24 (e)26 (b)41 (m)26 (u)27 (n)25 ( )23 (e)27 (h)15 (t)0 86 300 2241 fet (e)14 (l)25 (b)22 (a)14 (i)14 (l)23 (e)16 (r)25 ( )23 (e)22 (c)25 (u)25 (d)26 (o)16 (r)26 (p)25 ( )25 (o)14 (t)25 ( )25 (d)25 (n)26 (u)25 (o)17 (f)25 ( )25 (n)22 (e)22 (e)26 (b)25 ( )22 (e)25 (v)22 (a)26 (h)25 ( )19 (s)22 (e)14 (l)26 (u)16 (r)25 ( )23 (e)19 (s)22 (e)26 (h)30 (T)25 ( )13 (.)26 (o)36 (w)15 (t)25 ( )25 (o)14 (t)25 ( )15 (t)22 (e)20 (s)25 ( )25 (y)15 (l)14 (t)25 (n)23 (e)17 (r)17 (r)25 (u)23 (c)25 ( )13 (,)17 (\))36 (A)34 (R)31 (T)28 (S)37 (X)36 (A)45 (M)13 (.)28 (P)31 (T)37 (N)17 (\()0 84 300 2182 fet 300 2124 1873 12 (synchronization candidates over a wide range of system environments while minimizing the pul)fjt 2173 2124 78 0 (ling)fjt 300 2066 1827 12 (effect of high-stratum, high-dispersion peers, especially when large numbers of peers are inv)fjt 2127 2066 123 0 (olved.)fjt 300 1971 1898 13 (The next subprocedure is designed to detect falsetickers or other conditions which might result)fjt 2198 1971 52 1 ( in)fjt 300 1912 1831 13 (gross errors. This is done by repeatedly casting out outlyers which exhibit significant dispe)fjt 2131 1912 119 0 (rsions)fjt 300 1854 1815 13 (relative to the other members of the list. However, indiscriminately casting out outlyers be)fjt 2115 1854 136 1 (yond a)fjt 300 1796 1892 16 (limit set by the intrinsic precisions of the local clocks can result in wandering among the serv)fjt 2192 1796 58 0 (ers)fjt 300 1738 1903 10 (without producing meaningful improvements in reliability or accuracy, especially on high-spe)fjt 2203 1738 47 0 (ed)fjt 300 1679 1846 13 (LANs using several redundant time servers with similar delays, offsets and dispersions. In add)fjt 2146 1679 104 0 (ition,)fjt 300 1621 1950 12 (wandering causes needless network overhead, since the poll interval is clamped at NTP.MINPOLL)fjt 300 1563 1753 14 (for each server selected and only slowly increases when the server is no longer selected.)fjt 300 1467 1950 11 (The subprocedure is designed to strike a balance between falseticker discrimination, accuracy)fjt 300 1409 1950 14 (optimization and wander avoidance. First, the candidate list is resorted in the order first by)fjt 300 1351 859 6 (peer.stratum and then by peer.estdelay. Let )fjt /tface 10 def 10 encfont sf 1159 1351 36 0 (m)fjt /tface 8 def sf 1195 1351 1055 10 ( be the number of candidates remaining in the list and)fjt 300 1293 148 2 (for the )fjt /tface 10 def sf 448 1293 14 0 (i)fjt /tface 8 def sf 462 1293 323 3 (th candidate let )fjt /tface 10 def sf 785 1293 31 0 (X)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 816 1288 12 0 (i)fjt /tface 8 def sf 827 1288 15 1 ( )fjt /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 842 1293 684 6 (be the value of peer.estoffset and )fjt /tface 12 def /mpf false def sf 1525 1293 25 0 (d)fjt /tface 10 def /mpf true def /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 1550 1288 12 0 (i)fjt /tface 8 def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 1561 1293 689 6 ( as described in Section 3.4.3. For)fjt 300 1234 104 1 (each )fjt /tface 10 def sf 404 1234 14 0 (i)fjt /tface 8 def sf ( )25 (0)16 (\()13 ( )0 4 417 1234 fet /tface 12 def /mpf false def sf (\243)0 1 484 1234 fet /tface 8 def /mpf true def sf ( )0 1 511 1234 fet /tface 10 def sf (i)0 1 524 1234 fet /tface 8 def sf ( )28 (<)13 ( )0 3 537 1234 fet /tface 10 def sf (m)0 1 590 1234 fet /tface 8 def sf ( )25 (n)25 (o)14 (i)19 (s)16 (r)22 (e)25 (p)20 (s)13 (i)25 (d)13 ( )22 (e)25 (h)14 (t)12 ( )22 (e)14 (t)25 (u)25 (p)39 (m)25 (o)22 (c)12 ( )17 (\))0 25 626 1234 fet /tface 10 def sf (d)0 1 1130 1234 fet /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf (i)0 1 1155 1229 fet /tface 8 def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf ( )25 (o)14 (t)12 ( )22 (e)25 (v)14 (i)14 (t)22 (a)14 (l)22 (e)16 (r)13 ( )13 (t)20 (s)13 (i)14 (l)13 ( )22 (e)25 (h)13 (t)13 ( )16 (f)25 (o)13 ( )0 25 1166 1234 fet /tface 10 def sf (i)0 1 1591 1234 fet /tface 8 def sf (:)0 1 1605 1234 fet /tface 10 def sf (d)0 1 1065 1077 fet /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf (i)0 1 1090 1071 fet /tface 8 def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf ( )0 1 1102 1077 fet /tface 12 def /mpf false def sf (=)0 1 1114 1077 fet /tface 8 def /mpf true def sf ( )0 1 1142 1077 fet /tface 12 def /mpf false def /txscale 1800 3 mul 72 div def /tyscale 1800 3 mul 72 div def sf (\345)0 1 1154 1068 fet /tface 8 def /mpf true def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf ( )0 1 1207 1077 fet /tface 10 def /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf (j)0 1 1143 1012 fet /tface 8 def sf ( )0 1 1154 1012 fet /tface 12 def /mpf false def sf (=)0 1 1165 1012 fet /tface 8 def /mpf true def sf ( )0 1 1187 1012 fet (0)0 1 1198 1012 fet /tface 10 def sf (m)0 1 1134 1147 fet /tface 8 def sf ( )0 1 1164 1147 fet /tface 12 def /mpf false def sf (-)0 1 1174 1147 fet /tface 8 def /mpf true def sf ( )0 1 1197 1147 fet (1)0 1 1207 1147 fet /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf (|)0 1 1220 1077 fet ( )0 1 1230 1077 fet /tface 10 def sf (X)0 1 1242 1077 fet /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf (i)0 1 1273 1071 fet /tface 8 def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf ( )0 1 1284 1077 fet /tface 12 def /mpf false def sf (-)0 1 1297 1077 fet /tface 8 def /mpf true def sf ( )0 1 1324 1077 fet /tface 10 def sf (X)0 1 1337 1077 fet /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf (j)0 1 1367 1071 fet /tface 8 def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf ( )0 1 1379 1077 fet (|)0 1 1391 1077 fet ( )0 1 1401 1077 fet /tface 10 def sf (v)0 1 1414 1077 fet /tface 8 def sf ( )0 1 1436 1077 fet /tface 10 def /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf (j)0 1 1448 1100 fet /tface 8 def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf ( )0 1 1460 1077 fet (,)0 1 1472 1077 fet 300 919 135 1 (where )fjt /tface 10 def sf 435 919 22 0 (v)fjt /tface 8 def sf (\))16 (])25 (4)25 (4)17 ([)13 ( )22 (e)22 (e)19 (s)17 (\()13 ( )22 (c)14 (i)14 (t)19 (s)14 (i)16 (r)22 (e)14 (t)22 (c)22 (a)16 (r)22 (a)25 (h)22 (c)14 ( )25 (d)22 (e)16 (r)14 (i)19 (s)22 (e)25 (d)13 ( )22 (e)25 (h)14 (t)13 ( )17 (r)25 (o)16 (f)14 ( )25 (d)22 (e)13 (t)20 (s)25 (u)13 (j)25 (d)22 (a)14 ( )25 (y)14 (l)13 (l)22 (a)14 (t)25 (n)22 (e)39 (m)14 (i)16 (r)22 (e)25 (p)25 (x)22 (e)14 ( )16 (r)25 (o)14 (t)22 (c)22 (a)16 (f)14 ( )25 (g)25 (n)14 (i)13 (t)25 (h)25 (g)14 (i)22 (e)36 (w)14 ( )22 (a)13 ( )19 (s)14 (i)14 ( )25 (1)13 ( )28 (<)14 ( )0 92 457 919 fet (.)0 1 2238 919 fet 300 861 205 2 (Note that )fjt /tface 10 def sf 505 861 25 0 (d)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 530 856 12 0 (i)fjt /tface 8 def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 541 861 805 7 ( represents the actual dispersion of the )fjt /tface 10 def sf 1346 861 14 0 (i)fjt /tface 8 def sf 1360 861 598 5 (th candidate, while the skew )fjt /tface 12 def /mpf false def sf 1958 861 25 0 (d)fjt /tface 10 def /mpf true def /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 1982 856 12 0 (i)fjt /tface 8 def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 1994 861 256 2 ( represents a)fjt 300 802 1852 13 (dispersion limit below which increased accuracy is doubtful and increased wander is likely. I)fjt 2152 802 17 0 (f)fjt (x)22 (a)38 (m)0 3 1086 659 fet /tface 10 def /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf (i)0 1 1101 609 fet /tface 12 def /mpf false def sf (=)0 1 1112 609 fet /tface 8 def /mpf true def sf (0)0 1 1135 609 fet /tface 10 def sf (m)0 1 1092 715 fet /tface 12 def /mpf false def sf (-)0 1 1122 715 fet /tface 8 def /mpf true def sf (1)0 1 1144 715 fet /tface 12 def /mpf false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf (\()0 1 1171 659 fet /tface 10 def /mpf true def sf (d)0 1 1188 659 fet /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf (i)0 1 1213 654 fet /tface 12 def /mpf false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf (\))0 1 1224 659 fet /tface 8 def /mpf true def sf ( )0 1 1241 659 fet /tface 12 def /mpf false def sf (>)0 1 1253 659 fet /tface 8 def /mpf true def sf ( )0 1 1281 659 fet (n)14 (i)39 (m)0 3 1293 659 fet /tface 10 def /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf (i)0 1 1304 609 fet /tface 12 def /mpf false def sf (=)0 1 1316 609 fet /tface 8 def /mpf true def sf (0)0 1 1339 609 fet /tface 10 def sf (m)0 1 1295 715 fet /tface 12 def /mpf false def sf (-)0 1 1325 715 fet /tface 8 def /mpf true def sf (1)0 1 1348 715 fet /tface 12 def /mpf false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf (\()0 1 1371 659 fet (d)0 1 1387 659 fet /tface 10 def /mpf true def /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf (i)0 1 1412 654 fet /tface 12 def /mpf false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf (\))0 1 1423 659 fet /tface 8 def /mpf true def sf ( )0 1 1440 659 fet (,)0 1 1452 659 fet 300 516 886 7 (then cast out the candidate with maximum )fjt /tface 10 def sf 1186 516 25 0 (d)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 1211 511 12 0 (i)fjt /tface 8 def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 1222 516 698 8 ( or, in case of ties, the maximum )fjt /tface 10 def sf 1920 516 14 0 (i)fjt /tface 8 def sf 1933 516 317 3 (, and repeat the)fjt 300 457 1950 13 (subprocedure; otherwise, stop. If the current clock source \(sys.peer\) is one of the surviving)fjt 300 399 1876 16 (candidates in the list and there is no other surviving candidate of lower stratum, then simply )fjt 2176 399 75 0 (exit)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 3374 2624 3374 2624 2825 -75 2825 np mto lto lto lto clip np /tface 4 def 4 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2979 230 0 (RFC-1119)fjt 1024 2979 504 2 (Network Time Protocol)fjt 1882 2979 369 1 (September 1989)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 474 2624 474 2624 -75 -75 -75 np mto lto lto lto clip np /tface 4 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 279 100 0 (Mills)fjt 2065 279 186 1 (Page 33)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np %End page showpage svobj restore gr gs /svobj save def %Begin page UserSoP greset -75 3374 2624 3374 2624 -75 -75 -75 np mto lto lto lto clip np /tface 8 def 8 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2157 1831 11 (the clock-selection procedure without doing anything further. Otherwise, set sys.peer to point)fjt 2131 2157 120 2 ( to the)fjt 300 2099 1262 9 (first candidate in the list and exit the clock-selection procedure.)fjt 300 2006 1928 17 (This subprocedure is designed to favor those candidates near the head of the list, which are at th)fjt 2228 2006 22 0 (e)fjt 300 1948 1950 14 (lowest stratum and lowest delay and presumably can provide the most precise time. With proper)fjt 300 1890 609 4 (selection of weighting factor )fjt /tface 10 def 10 encfont sf 909 1890 22 0 (v)fjt /tface 8 def sf 931 1890 939 7 ( \(also called NTP.SELECT\), currently set to )fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 1870 1914 21 0 (3)fjt /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 1890 1890 14 0 (/)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 1904 1885 21 0 (4)fjt /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 1925 1890 325 3 (, entries will be)fjt 300 1831 1873 15 (trimmed from the tail of the list, unless a few outlyers disagree significantly with respect to)fjt 2173 1831 77 1 ( the)fjt 300 1773 1917 13 (remaining entries, in which case the outlyers are discarded first. The termination condition )fjt 2217 1773 33 0 (is)fjt 300 1715 1872 11 (designed to avoid needless switching between clock sources when not statistically justified,)fjt 2172 1715 78 1 ( yet)fjt 300 1657 1950 13 (maintain a bias toward the low-stratum, low-delay peers. In some situations, such as multiple)fjt 300 1598 1886 14 (broadcast servers on a high-capacity LAN, it may be useful to fine-tune the termination condit)fjt 2186 1598 64 0 (ion)fjt 300 1540 1793 18 (even more, such as always permitting a switch to the first candidate in the list if that peer is)fjt 2093 1540 158 1 ( already)fjt 300 1482 1032 6 (operating at a host-poll interval of NTP.MINPOLL.)fjt /tface 5 def 5 encfont sf 300 1383 42 0 (5.)fjt (s)27 (k)27 (c)29 (o)13 (l)35 (C)13 ( )13 (l)26 (a)27 (c)30 (o)29 (L)13 ( )0 13 350 1383 fet /tface 8 def sf 300 1290 1912 17 (In order to implement a precise and accurate local clock, the host must be equipped with a hardwa)fjt 2212 1290 39 0 (re)fjt 300 1232 1785 14 (clock consisting of an oscillator and interface and capable of the required precision and sta)fjt 2085 1232 165 1 (bility. A)fjt 300 1173 1903 13 (logical clock is then constructed using these components plus software components that adjust t)fjt 2203 1173 47 0 (he)fjt 300 1115 1934 14 (apparent time and frequency in response to periodic corrections computed by NTP or some othe)fjt 2234 1115 17 0 (r)fjt 300 1057 1950 13 (time-synchronization protocol such as Hellospeak [21] or the Unix 4.3bsd TSP [26]. This section)fjt 300 999 1851 13 (includes a summary of the characteristics of various standard oscillators, followed by the m)fjt 2151 999 83 0 (athe)fjt 2234 999 17 0 (-)fjt 300 940 1950 14 (matical model of a method to synchronize an oscillator to a reference standard. The section)fjt 300 882 1950 11 (concludes with a description of the Fuzzball logical-clock model and implementation, which)fjt 300 824 1928 14 (includes provisions for precise time and frequency adjustment and can maintain time to within )fjt 2228 824 22 0 (a)fjt 300 766 1171 8 (millisecond and frequency to within a millisecond per day.)fjt /tface 5 def sf 300 667 83 0 (5.1.)fjt (s)18 (r)30 (o)15 (t)27 (a)13 (l)12 (l)13 (i)27 (c)27 (s)37 (O)13 ( )30 (d)18 (r)27 (a)29 (d)30 (n)26 (a)16 (t)32 (S)13 ( )0 21 383 667 fet /tface 8 def sf 300 574 1812 13 (As mentioned previously, a primary frequency standard is an oscillator that can maintain ext)fjt 2112 574 138 0 (remely)fjt 300 516 1782 14 (precise frequency relative to a physical phenomenon, such as a transition in the orbital sta)fjt 2082 516 168 2 (tes of an)fjt 300 457 1799 12 (electron. Presently available atomic oscillators are based on the transitions of the hydrogen,)fjt 2099 457 152 1 ( cesium)fjt 300 399 557 4 (and rubidium atoms. Table 7)fjt 857 399 1393 10 ( shows the characteristics for typical oscillators of these types compared)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset 225 2975 2324 2975 2324 2261 225 2261 np mto lto lto lto clip np 451 2768 2099 2768 2099 2767 451 2767 fa colmap 1 [0 0 0 ] put 1 sci gs eofill gr 450 2899 2100 2899 2100 2898 450 2898 fa gs eofill gr 450 2337 2100 2337 2100 2338 450 2338 fa gs eofill gr 450 2899 451 2899 451 2337 450 2337 fa gs eofill gr 2100 2899 2099 2899 2099 2337 2100 2337 fa gs eofill gr /tface 8 def /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 476 2838 294 1 (Oscillator type)fjt 1094 2838 362 2 (Stability \(per day\))fjt 1712 2838 340 2 (Drift /Aging \(per)fjt 1712 2778 89 0 (day\))fjt 476 2708 331 1 (Hydrogen maser)fjt 1094 2708 125 2 (2 x 10)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 1219 2732 55 0 (-14)fjt /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 1712 2708 125 2 (1 x 10)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 1837 2732 55 0 (-12)fjt /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 1892 2708 55 0 (/yr)fjt 476 2648 272 1 (Cesium beam)fjt 1094 2648 125 2 (3 x 10)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 1219 2672 55 0 (-13)fjt /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 1712 2648 125 2 (3 x 10)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 1837 2672 55 0 (-12)fjt /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 1892 2648 55 0 (/yr)fjt 476 2588 362 2 (Rubidium gas cell)fjt 1094 2588 125 2 (5 x 10)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 1219 2612 55 0 (-12)fjt /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 1712 2588 125 2 (3 x 10)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 1837 2612 55 0 (-11)fjt /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 1892 2588 78 0 (/mo)fjt 476 2528 471 1 (Oven-controlled crystal)fjt 1094 2528 125 2 (1 x 10)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 1219 2552 35 0 (-9)fjt /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 1254 2528 234 3 ( 0-50 deg C)fjt 1712 2528 125 2 (1 x 10)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 1837 2552 55 0 (-10)fjt /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 476 2468 410 1 (Digital-comp crystal)fjt 1094 2468 125 2 (5 x 10)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 1219 2492 35 0 (-8)fjt /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf (C)12 ( )25 (g)22 (e)25 (d)13 ( )25 (0)25 (6)16 (-)25 (0)13 ( )12 ( )0 12 1254 2468 fet 1712 2468 125 2 (1 x 10)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 1837 2492 35 0 (-9)fjt /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 476 2408 537 1 (Temp-compensated crystal)fjt 1094 2408 125 2 (5 x 10)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 1219 2432 35 0 (-7)fjt /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 1254 2408 234 3 ( 0-60 deg C)fjt 1712 2408 125 2 (3 x 10)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 1837 2432 35 0 (-9)fjt /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 476 2348 466 1 (Uncompensated crystal)fjt 1094 2348 152 2 (~1 x 10)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 1246 2372 35 0 (-6)fjt /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 1281 2348 206 3 ( per deg C)fjt 1712 2348 184 1 (don't ask)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset 225 2410 2324 2410 2324 2146 225 2146 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 804 2251 942 5 (Table 7. Characteristics of Standard Oscillators)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 3374 2624 3374 2624 2825 -75 2825 np mto lto lto lto clip np /tface 4 def 4 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2979 230 0 (RFC-1119)fjt 1024 2979 504 2 (Network Time Protocol)fjt 1882 2979 369 1 (September 1989)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 474 2624 474 2624 -75 -75 -75 np mto lto lto lto clip np /tface 4 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 279 100 0 (Mills)fjt 2065 279 186 1 (Page 34)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np %End page showpage svobj restore gr gs /svobj save def %Begin page UserSoP greset -75 3374 2624 3374 2624 -75 -75 -75 np mto lto lto lto clip np /tface 8 def 8 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2242 1840 13 (with those for various types of quartz-crystal oscillators found in electronic equipment. For re)fjt 2140 2242 111 0 (asons)fjt 300 2184 1950 12 (of cost and robustness cesium oscillators are used worldwide for national primary frequency)fjt 300 2126 1878 14 (standards. On the other hand, local clocks used in computing equipment almost always are desig)fjt 2178 2126 72 0 (ned)fjt 300 2067 785 3 (with uncompensated crystal oscillators.)fjt 300 1971 1895 15 (For the three atomic oscillators listed in Table 7 the Drift/Aging column shows the maximum off)fjt 2195 1971 55 0 (set)fjt 300 1913 1819 12 (per day from nominal standard frequency due to systematic mechanical and electrical characte)fjt 2119 1913 131 0 (ristics.)fjt 300 1855 1848 16 (In the case of crystal oscillators this offset is not constant, which results in a gradual chan)fjt 2148 1855 102 1 (ge in)fjt 300 1796 1808 13 (frequency with time, called aging. Even if a crystal oscillator is temperature compensated b)fjt 2108 1796 142 1 (y some)fjt 300 1738 1950 15 (means, it must be periodically compared to a primary standard in order to maintain the highest)fjt 300 1680 1806 14 (accuracy. For all types of oscillators the Stability column shows the maximum variation in fre)fjt 2106 1680 144 0 (quency)fjt 300 1622 1085 8 (per day due to circuit noise and environmental factors.)fjt 300 1516 1886 13 (As the telephone networks of the world are evolving rapidly to digital technology, considerat)fjt 2186 1516 64 0 (ion)fjt 300 1458 1851 14 (should be given to the methods used for frequency synchronization in digital networks. The ind)fjt 2151 1458 100 0 (ustry)fjt 300 1400 1848 14 (has agreed on a classification of clock oscillators as a function of minimum accuracy, mini)fjt 2148 1400 103 0 (mum)fjt 300 1342 1797 13 (stability and other factors [36]. There are three factors which determine the classification: s)fjt 2097 1342 153 0 (tability,)fjt 300 1283 1950 14 (jitter and wander. Stability refers to the systematic variation of frequency with time and is)fjt 300 1225 1950 13 (synonymous with aging, drift, trends, etc. Jitter \(also called timing jitter\) refers to short-term)fjt 300 1167 1950 13 (variations in frequency with components greater than 10 Hz, while wander refers to long-term)fjt 300 1109 1810 13 (variations in frequency with components less than 10 Hz. The classification determines the os)fjt 2110 1109 141 0 (cillator)fjt 300 1050 1889 15 (stratum \(not to be confused with the NTP stratum\), with the more accurate oscillators assigned )fjt 2189 1050 61 0 (the)fjt 300 992 1145 8 (lower strata and less accurate oscillators the higher strata:)fjt 526 863 2024 863 2024 862 526 862 fa gs eofill gr 525 933 2025 933 2025 932 525 932 fa gs eofill gr 525 611 2025 611 2025 612 525 612 fa gs eofill gr 525 933 526 933 526 611 525 611 fa gs eofill gr 2025 933 2024 933 2024 611 2025 611 fa gs eofill gr 576 872 158 0 (Stratum)fjt 875 872 480 3 (Min Accuracy \(per day\))fjt 1474 872 458 3 (Min Stability \(per day\))fjt 576 802 25 0 (1)fjt 875 802 125 2 (1 x 10)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 1000 826 55 0 (-11)fjt /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 1474 802 256 1 (not specified)fjt 576 742 25 0 (2)fjt 875 742 163 2 (1.6 x 10)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 1038 766 35 0 (-8)fjt /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 1474 742 125 2 (1 x 10)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 1599 766 55 0 (-10)fjt /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 576 682 25 0 (3)fjt 875 682 163 2 (4.6 x 10)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 1038 706 35 0 (-6)fjt /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 1474 682 163 2 (3.7 x 10)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 1637 706 35 0 (-7)fjt /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 576 622 25 0 (4)fjt 875 622 163 2 (3.2 x 10)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 1038 646 35 0 (-5)fjt /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 1474 622 256 1 (not specified)fjt 300 516 1843 12 (The construction, operation and maintenance of stratum-one oscillators is assumed to be cons)fjt 2143 516 108 0 (istent)fjt 300 457 1889 11 (with national standards and often includes cesium oscillators or precision crystal oscillat)fjt 2189 457 61 0 (ors)fjt 300 399 1950 10 (synchronized via LORAN-C to NIST standards. Stratum-two oscillators represent the stability)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset 225 2980 2324 2980 2324 2349 225 2349 np mto lto lto lto clip np greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset 754 2925 2020 2925 2020 2261 754 2261 np mto lto lto lto clip np greset 800 2655 1074 2655 1074 2406 800 2406 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 893 2516 90 1 (Osc )fjt greset 754 2925 2020 2925 2020 2261 754 2261 np mto lto lto lto clip np colmap 1 [0 0 0 ] put 1 sci 938 2530 88 75 0 360 false ellpie gs stroke gr greset 754 2925 999 2925 999 2731 754 2731 np mto lto lto lto clip np /tface 10 def 10 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 826 2822 22 0 (x)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 848 2817 12 0 (i)fjt /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 859 2822 13 1 ( )fjt /tface 8 def sf 872 2822 28 0 (+)fjt greset 754 2925 2020 2925 2020 2261 754 2261 np mto lto lto lto clip np greset 1450 2380 1599 2380 1599 2261 1450 2261 np mto lto lto lto clip np greset 754 2925 2020 2925 2020 2261 754 2261 np mto lto lto lto clip np greset 1900 2530 2020 2530 2020 2381 1900 2381 np mto lto lto lto clip np greset 754 2925 2020 2925 2020 2261 754 2261 np mto lto lto lto clip np greset 1300 2380 1449 2380 1449 2261 1300 2261 np mto lto lto lto clip np greset 754 2925 2020 2925 2020 2261 754 2261 np mto lto lto lto clip np greset 754 2855 999 2855 999 2631 754 2631 np mto lto lto lto clip np /tface 10 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 827 2722 22 0 (c)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 849 2717 12 0 (i)fjt /tface 8 def sf 861 2717 13 1 ( )fjt /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 873 2722 25 0 (\304)fjt greset 754 2925 2020 2925 2020 2261 754 2261 np mto lto lto lto clip np 1100 2805 1101 2805 1101 2705 1100 2705 fa colmap 1 [0 0 0 ] put 1 sci gs eofill gr 1100 2805 1550 2805 1550 2804 1100 2804 fa gs eofill gr 1100 2705 1550 2705 1550 2704 1100 2704 fa gs eofill gr 1550 2805 1551 2805 1551 2705 1550 2705 fa gs eofill gr greset 1025 2880 1624 2880 1624 2631 1025 2631 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 1206 2741 239 1 (Clock Filter)fjt greset 754 2925 2020 2925 2020 2261 754 2261 np mto lto lto lto clip np 1100 2580 1101 2580 1101 2480 1100 2480 fa colmap 1 [0 0 0 ] put 1 sci gs eofill gr 1100 2580 1550 2580 1550 2579 1100 2579 fa gs eofill gr 1100 2480 1550 2480 1550 2479 1100 2479 fa gs eofill gr 1550 2580 1551 2580 1551 2480 1550 2480 fa gs eofill gr greset 1025 2655 1624 2655 1624 2406 1025 2406 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 1212 2516 226 1 (Loop Filter)fjt greset 754 2925 2020 2925 2020 2261 754 2261 np mto lto lto lto clip np colmap 1 [0 0 0 ] put 1 sci true false[1025 2530 1100 2530 ]arrowline stroke 1625 2755 1 1550 2755 path stroke true false[1550 2530 1625 2530 ]arrowline stroke 1650 2530 1 1650 2755 path stroke false true[1000 2755 1100 2755 ]arrowline stroke 1000 2755 1 925 2830 path stroke 925 2680 1 1000 2755 path stroke 925 2680 1 925 2830 path stroke 850 2530 1 800 2530 path stroke false true[800 2805 925 2805 ]arrowline stroke false true[800 2705 925 2705 ]arrowline stroke 800 2530 1 800 2705 path stroke greset 1475 2680 1724 2680 1724 2457 1475 2457 np mto lto lto lto clip np /tface 10 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 1564 2547 25 0 (d)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 1589 2542 46 0 (i-1)fjt greset 754 2925 2020 2925 2020 2261 754 2261 np mto lto lto lto clip np greset 950 2680 1174 2680 1174 2456 950 2456 np mto lto lto lto clip np /tface 10 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 1046 2547 22 0 (e)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 1068 2542 12 0 (i)fjt greset 754 2925 2020 2925 2020 2261 754 2261 np mto lto lto lto clip np greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset 225 2498 2324 2498 2324 2234 225 2234 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 931 2340 688 4 (Figure 3. Phase-Lock Loop Model)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 3374 2624 3374 2624 2825 -75 2825 np mto lto lto lto clip np /tface 4 def 4 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2979 230 0 (RFC-1119)fjt 1024 2979 504 2 (Network Time Protocol)fjt 1882 2979 369 1 (September 1989)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 474 2624 474 2624 -75 -75 -75 np mto lto lto lto clip np /tface 4 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 279 100 0 (Mills)fjt 2065 279 186 1 (Page 35)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np %End page showpage svobj restore gr gs /svobj save def %Begin page UserSoP greset -75 3374 2624 3374 2624 -75 -75 -75 np mto lto lto lto clip np /tface 8 def 8 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2841 1950 12 (required for interexchange toll switches such as the AT&T 4ESS and interexchange digital)fjt 300 2782 1784 10 (cross-connect systems, while stratum-three oscillators represent the stability required for e)fjt 2084 2782 166 0 (xchange)fjt 300 2724 1950 11 (switches such as the AT&T 5ESS and local cross-connect systems. Stratum-four oscillators)fjt 300 2666 1492 9 (represent the stability required for digital channel-banks and PBX systems.)fjt /tface 5 def 5 encfont sf 300 2564 83 0 (5.2.)fjt (l)26 (e)30 (d)29 (o)41 (M)13 ( )12 (l)27 (a)27 (c)13 (i)15 (t)27 (a)43 (m)27 (e)29 (h)16 (t)27 (a)40 (M)13 ( )0 19 383 2564 fet /tface 8 def sf 300 2463 1241 9 (The Fuzzball logical-clock model, which is shown in Figure 3)fjt 1541 2463 709 6 (, can be represented as an adaptive-)fjt 300 2405 1925 11 (parameter, first-order, phase-lock loop, which continuously adjusts the clock phase and frequenc)fjt 2225 2405 25 0 (y)fjt 300 2347 1416 12 (to compensate for its intrinsic jitter, wander and drift. In the figure, )fjt /tface 10 def 10 encfont sf 1716 2347 22 0 (x)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 1738 2342 12 0 (i)fjt /tface 8 def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 1750 2347 501 3 ( represents the reference)fjt 300 2288 308 2 (timestamp and )fjt /tface 10 def sf 608 2288 22 0 (c)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 630 2283 12 0 (i)fjt /tface 8 def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 642 2288 553 6 ( the local timestamp of the )fjt /tface 10 def sf 1194 2288 14 0 (i)fjt /tface 8 def sf 1208 2288 1042 6 (th update. The difference between these timestamps)fjt /tface 10 def sf (x)0 1 300 2230 fet /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf (i)0 1 322 2225 fet /tface 8 def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf ( )0 1 334 2230 fet /tface 12 def /mpf false def sf (-)0 1 346 2230 fet /tface 8 def /mpf true def sf ( )0 1 373 2230 fet /tface 10 def sf (c)0 1 386 2230 fet /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf (i)0 1 408 2225 fet /tface 8 def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 419 2230 1831 16 ( is the input offset, which is processed by the clock filter. The clock filter previously saved)fjt 300 2168 948 9 (the most recent offsets and selected one of them )fjt /tface 10 def sf 1248 2168 25 0 (d)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 1273 2163 25 0 (i-)fjt /tface 8 def sf 1298 2163 21 0 (1)fjt /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 1319 2168 931 7 (as the output offset. The loop filter, represented)fjt 300 2110 1333 9 (by the equations given below, produces the oscillator correction )fjt /tface 10 def sf 1633 2110 22 0 (e)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 1655 2105 12 0 (i)fjt /tface 8 def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 1667 2110 583 6 (, which is used to adjust the)fjt 300 2052 751 5 (oscillator period. During the interval )fjt /tface 10 def sf 1051 2052 25 0 (u)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 1076 2047 12 0 (i)fjt /tface 8 def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 1087 2052 1163 10 ( until the next correction the, clock is slewed gradually to)fjt 300 1994 307 3 (the given value )fjt /tface 10 def sf 607 1994 22 0 (e)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 629 1989 12 0 (i)fjt /tface 8 def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 641 1994 1609 15 (. This is done in order to smooth the time indications and insure they are monotone)fjt 300 1935 217 0 (increasing.)fjt 300 1821 1900 16 (The behavior of the phase-lock loop can be described by a set of recurrence equations, which depe)fjt 2200 1821 50 0 (nd)fjt 300 1763 1876 15 (upon several variables and constants. The variables used in these equations are \(in SI units, un)fjt 2176 1763 74 0 (less)fjt 300 1704 415 1 (specified otherwise\):)fjt /tface 10 def sf 883 1602 25 0 (d)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 908 1597 12 0 (i)fjt /tface 8 def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 1006 1602 482 3 (clock filter output offset)fjt /tface 10 def sf 883 1542 25 0 (u)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 908 1537 12 0 (i)fjt /tface 8 def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 1006 1542 499 3 (interval until next update)fjt /tface 10 def sf 883 1482 22 0 (e)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 905 1477 12 0 (i)fjt /tface 8 def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 1006 1482 399 1 (oscillator correction)fjt /tface 10 def sf 883 1422 14 0 (f)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 897 1417 12 0 (i)fjt /tface 8 def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 1006 1422 308 1 (frequency error)fjt /tface 10 def sf 883 1362 25 0 (g)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 908 1357 12 0 (i)fjt /tface 8 def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 1006 1362 222 1 (phase error)fjt /tface 10 def sf 883 1302 25 0 (h)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 908 1297 12 0 (i)fjt /tface 8 def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 1006 1302 229 0 (compliance)fjt 300 1201 1811 19 (These variables are set to zero on startup of the protocol. In case the local clock is to be reset)fjt 2111 1201 139 1 (, rather)fjt 300 1143 1185 9 (than adjusted gradually as described below, the phase error )fjt /tface 10 def sf 1485 1143 25 0 (g)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 1510 1138 12 0 (i)fjt /tface 8 def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 1521 1143 729 8 ( is set to zero, but the other variables)fjt 300 1084 1913 12 (remain undisturbed. Various constants determine the stability and transient response of the loo)fjt 2213 1084 38 0 (p.)fjt 300 1026 1391 10 (The constants used in the equations, along with suggested values, are:)fjt /tface 10 def sf 883 924 36 0 (U)fjt /tface 8 def sf 1009 924 25 0 (2)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 1034 948 21 0 (2)fjt /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 1204 924 383 1 (adjustment interval)fjt /tface 10 def sf 883 864 33 0 (K)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 916 859 12 0 (f)fjt /tface 8 def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 1009 864 25 0 (2)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 1034 888 42 0 (10)fjt /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 1204 864 347 1 (frequency weight)fjt /tface 10 def sf 883 804 33 0 (K)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 916 799 21 0 (g)fjt /tface 8 def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 1009 804 25 0 (2)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 1034 828 21 0 (8)fjt /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 1204 804 261 1 (phase weight)fjt /tface 10 def sf 883 744 33 0 (K)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 916 739 21 0 (h)fjt /tface 8 def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 1009 744 25 0 (2)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 1034 768 21 0 (8)fjt /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 1204 744 377 1 (compliance weight)fjt /tface 10 def sf 883 684 25 0 (S)fjt /tface 8 def sf 1009 684 25 0 (2)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 1034 708 21 0 (4)fjt /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 1204 684 444 1 (compliance maximum)fjt /tface 10 def sf 883 624 28 0 (T)fjt /tface 8 def sf 1009 624 25 0 (2)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 1034 648 42 0 (18)fjt /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 1204 624 358 1 (compliance factor)fjt 300 523 86 1 (Let )fjt /tface 10 def sf (d)0 1 386 523 fet /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf (i)0 1 411 517 fet /tface 8 def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf ( )0 1 422 523 fet /tface 12 def /mpf false def sf (\()0 1 435 523 fet /tface 10 def /mpf true def sf (i)0 1 451 523 fet /tface 8 def sf ( )0 1 465 523 fet /tface 12 def /mpf false def sf (=)0 1 478 523 fet /tface 8 def /mpf true def sf ( )0 1 505 523 fet (,)25 (0)0 2 517 523 fet ( )0 1 555 523 fet (,)25 (1)0 2 567 523 fet ( )0 1 605 523 fet (.)12 (.)13 (.)0 3 617 523 fet /tface 12 def /mpf false def sf (\))0 1 655 523 fet /tface 8 def /mpf true def sf 671 523 792 8 ( be a sequence of updates, with each )fjt /tface 10 def sf 1463 523 25 0 (d)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 1488 518 12 0 (i)fjt /tface 8 def sf 1500 518 44 0 (+1)fjt /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 1544 523 229 2 ( occurring )fjt /tface 10 def sf 1773 523 25 0 (u)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 1798 518 12 0 (i)fjt /tface 8 def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 1810 523 306 3 ( seconds after )fjt /tface 10 def sf 2116 523 25 0 (d)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 2141 518 12 0 (i)fjt /tface 8 def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 2152 523 98 1 (. Let)fjt /tface 10 def sf (q)0 1 300 461 fet /tface 8 def sf ( )0 1 325 461 fet /tface 12 def /mpf false def sf (=)0 1 338 461 fet /tface 8 def /mpf true def sf ( )0 1 365 461 fet (1)0 1 377 461 fet ( )0 1 402 461 fet /tface 12 def /mpf false def sf (-)0 1 415 461 fet /tface 8 def /mpf true def sf ( )0 1 442 461 fet /txscale 900 3 mul 72 div def /tyscale 900 3 mul 72 div def sf (1)0 1 455 473 fet /tface 12 def /mpf false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf (\244)0 1 473 461 fet /tface 10 def /mpf true def /txscale 900 3 mul 72 div def /tyscale 900 3 mul 72 div def sf (K)0 1 482 459 fet /txscale 800 3 mul 72 div def /tyscale 800 3 mul 72 div def sf (g)0 1 507 454 fet /tface 8 def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 523 461 100 2 ( and )fjt /tface 10 def sf 623 461 25 0 (n)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf ( )12 (i)0 2 648 456 fet /tface 8 def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf ( )25 (n)14 (i)14 ( )16 (r)22 (e)25 (g)22 (e)14 (t)25 (n)14 (i)14 ( )13 (t)20 (s)22 (e)13 (t)22 (a)22 (e)17 (r)25 (g)14 ( )22 (e)25 (h)14 (t)14 ( )22 (e)25 (b)0 27 672 461 fet /tface 10 def sf (u)0 1 1181 461 fet /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf (i)0 1 1206 455 fet /tface 8 def /txscale 900 3 mul 72 div def /tyscale 900 3 mul 72 div def sf ( )0 1 1218 473 fet /tface 12 def /mpf false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf (\244)0 1 1227 461 fet /tface 10 def /mpf true def /txscale 900 3 mul 72 div def /tyscale 900 3 mul 72 div def sf (U)0 1 1235 458 fet /tface 8 def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf ( )0 1 1262 461 fet (;)0 1 1275 461 fet (n)14 (i)14 ( )16 (r)25 (u)22 (c)22 (c)25 (o)14 ( )14 (t)22 (a)25 (h)14 (t)14 ( )19 (s)14 (t)25 (n)22 (e)38 (m)14 (t)19 (s)25 (u)14 (j)25 (d)22 (a)14 ( )17 (f)25 (o)14 ( )16 (r)22 (e)25 (b)39 (m)25 (u)25 (n)14 ( )22 (e)25 (h)14 (t)14 ( )12 (,)19 (s)14 (i)14 ( )14 (t)22 (a)25 (h)14 (t)14 ( )0 49 1288 461 fet 300 399 74 1 (the )fjt /tface 10 def sf 374 399 14 0 (i)fjt /tface 8 def sf ( )16 (r)25 (o)17 (r)16 (r)22 (e)14 ( )22 (e)19 (s)22 (a)25 (h)25 (p)13 ( )22 (e)25 (h)14 (t)13 ( )13 (,)25 (d)22 (e)25 (v)13 (i)22 (e)22 (c)22 (e)17 (r)13 ( )19 (s)14 (i)13 ( )22 (e)14 (t)22 (a)25 (d)25 (p)25 (u)13 ( )25 (h)22 (c)22 (a)22 (e)14 ( )19 (s)36 (A)13 ( )13 (.)13 (l)22 (a)25 (v)17 (r)22 (e)14 (t)25 (n)13 (i)14 ( )25 (h)13 (t)14 ( )0 58 388 399 fet /tface 10 def sf (g)0 1 1500 399 fet /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf (i)0 1 1525 394 fet /tface 8 def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf ( )16 (r)25 (o)17 (r)16 (r)22 (e)13 ( )25 (y)22 (c)25 (n)22 (e)25 (u)25 (q)22 (e)17 (r)16 (f)14 ( )12 (,)0 18 1537 399 fet /tface 10 def sf (f)0 1 1885 399 fet /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf (i)0 1 1898 394 fet /tface 8 def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf (e)22 (c)25 (n)22 (a)14 (i)13 (l)25 (p)39 (m)25 (o)22 (c)13 ( )25 (d)25 (n)22 (a)14 ( )12 (,)0 16 1910 399 fet greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 3374 2624 3374 2624 2825 -75 2825 np mto lto lto lto clip np /tface 4 def 4 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2979 230 0 (RFC-1119)fjt 1024 2979 504 2 (Network Time Protocol)fjt 1882 2979 369 1 (September 1989)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 474 2624 474 2624 -75 -75 -75 np mto lto lto lto clip np /tface 4 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 279 100 0 (Mills)fjt 2065 279 186 1 (Page 36)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np %End page showpage svobj restore gr gs /svobj save def %Begin page UserSoP greset -75 3374 2624 3374 2624 -75 -75 -75 np mto lto lto lto clip np /tface 10 def 10 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2031 25 0 (h)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 325 2026 12 0 (i)fjt /tface 8 def 8 encfont /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf ( )14 (t)22 (e)30 (L)15 ( )13 (.)25 (d)22 (e)14 (t)25 (u)25 (p)38 (m)25 (o)22 (c)22 (e)17 (r)15 ( )22 (e)16 (r)22 (a)15 ( )0 21 337 2031 fet /tface 10 def sf (a)0 1 771 2031 fet /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf (i)0 1 796 2026 fet /tface 8 def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf ( )14 (:)25 (n)13 (i)22 (a)25 (g)15 ( )25 (y)22 (c)25 (n)22 (e)25 (u)25 (q)22 (e)17 (r)16 (f)15 ( )22 (e)25 (h)14 (t)15 ( )25 (d)22 (e)14 (l)14 (l)22 (a)22 (c)15 ( )25 (y)14 (t)13 (i)14 (t)25 (n)22 (a)25 (u)25 (q)15 ( )22 (a)16 ( )22 (e)25 (b)15 ( )0 42 807 2031 fet /tface 10 def sf (a)0 1 1638 2031 fet /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf (i)0 1 1663 2025 fet /tface 8 def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf ( )0 1 1675 2031 fet /tface 12 def /mpf false def sf (=)0 1 1687 2031 fet /tface 8 def /mpf true def sf ( )0 1 1714 2031 fet (x)22 (a)39 (m)0 3 1727 2031 fet /tface 12 def /mpf false def sf (\()0 1 1813 2031 fet /tface 10 def /mpf true def sf (S)0 1 1829 2031 fet /tface 8 def sf ( )0 1 1854 2031 fet /tface 12 def /mpf false def sf (-)0 1 1867 2031 fet /tface 8 def /mpf true def sf ( )0 1 1894 2031 fet /tface 10 def sf (T)0 1 1906 2031 fet /tface 8 def sf ( )0 1 1934 2031 fet (|)0 1 1947 2031 fet ( )0 1 1957 2031 fet /tface 10 def sf (h)0 1 1969 2031 fet /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf (i)0 1 1994 2025 fet /tface 8 def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf ( )0 1 2006 2031 fet (,)10 (|)0 2 2018 2031 fet ( )0 1 2041 2031 fet (1)0 1 2053 2031 fet /tface 12 def /mpf false def sf (\))0 1 2078 2031 fet /tface 8 def /mpf true def sf ( )0 1 2095 2031 fet (.)0 1 2107 2031 fet (,)25 (n)22 (e)25 (h)31 (T)15 ( )0 6 2120 2031 fet 300 1969 387 4 (upon receipt of the )fjt /tface 10 def sf 687 1969 25 0 (d)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 712 1964 12 0 (i)fjt /tface 8 def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf (:)22 (e)14 (t)22 (a)25 (d)25 (p)25 (u)12 ( )0 8 724 1969 fet /tface 10 def sf (g)0 1 1178 1882 fet /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf (i)0 1 1203 1876 fet /tface 12 def /mpf false def sf (+)0 1 1215 1876 fet /tface 8 def /mpf true def sf (1)0 1 1237 1876 fet /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf ( )0 1 1258 1882 fet /tface 12 def /mpf false def sf (=)0 1 1271 1882 fet /tface 8 def /mpf true def sf ( )0 1 1298 1882 fet /tface 10 def sf (d)0 1 1310 1882 fet /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf (i)0 1 1335 1876 fet /tface 8 def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf ( )0 1 1347 1882 fet (,)0 1 1359 1882 fet /tface 10 def sf (f)0 1 902 1757 fet /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf (i)0 1 916 1751 fet /tface 12 def /mpf false def sf (+)0 1 927 1751 fet /tface 8 def /mpf true def sf (1)0 1 950 1751 fet /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf ( )0 1 971 1757 fet /tface 12 def /mpf false def sf (=)0 1 983 1757 fet /tface 8 def /mpf true def sf ( )0 1 1010 1757 fet /tface 10 def sf (f)0 1 1023 1757 fet /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf (i)0 1 1037 1751 fet /tface 8 def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf ( )0 1 1048 1757 fet /tface 12 def /mpf false def sf (+)0 1 1061 1757 fet /tface 8 def /mpf true def sf ( )0 1 1088 1757 fet /tface 10 def sf (d)0 1 1171 1791 fet /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf (i)0 1 1196 1785 fet /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf (a)0 1 1103 1725 fet /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf (i)0 1 1128 1720 fet /tface 12 def /mpf false def sf (-)0 1 1140 1720 fet /tface 8 def /mpf true def sf (1)0 1 1163 1720 fet /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf ( )0 1 1183 1725 fet /tface 10 def sf (u)0 1 1196 1725 fet /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf (i)0 1 1221 1720 fet /tface 12 def /mpf false def sf (-)0 1 1232 1720 fet /tface 8 def /mpf true def sf (1)0 1 1255 1720 fet 1100 1775 1278 1775 1278 1774 1100 1774 fa gs eofill gr /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf ( )0 1 1279 1757 fet ( )0 1 1291 1757 fet /tface 12 def /mpf false def sf (\()0 1 1304 1757 fet /tface 10 def /mpf true def sf (f)0 1 1320 1757 fet /tface 8 def /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf (,)21 (0)0 2 1334 1751 fet /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf ( )0 1 1365 1757 fet /tface 10 def sf (f)0 1 1378 1757 fet /tface 8 def /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf (1)0 1 1391 1751 fet /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf ( )0 1 1412 1757 fet /tface 12 def /mpf false def sf (=)0 1 1425 1757 fet /tface 8 def /mpf true def sf ( )0 1 1452 1757 fet (;)25 (0)0 2 1464 1757 fet ( )0 1 1503 1757 fet /tface 10 def sf (i)0 1 1516 1757 fet /tface 8 def sf ( )0 1 1529 1757 fet /tface 12 def /mpf false def sf (>)0 1 1542 1757 fet /tface 8 def /mpf true def sf ( )0 1 1569 1757 fet (0)0 1 1582 1757 fet /tface 12 def /mpf false def sf (\))0 1 1607 1757 fet /tface 8 def /mpf true def sf ( )0 1 1623 1757 fet (,)0 1 1636 1757 fet /tface 10 def sf (h)0 1 996 1600 fet /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf (i)0 1 1021 1595 fet /tface 12 def /mpf false def sf (+)0 1 1032 1595 fet /tface 8 def /mpf true def sf (1)0 1 1055 1595 fet /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf ( )0 1 1076 1600 fet /tface 12 def /mpf false def sf (=)0 1 1088 1600 fet /tface 8 def /mpf true def sf ( )0 1 1116 1600 fet /tface 10 def sf (h)0 1 1128 1600 fet /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf (i)0 1 1153 1595 fet /tface 8 def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf ( )0 1 1165 1600 fet /tface 12 def /mpf false def sf (+)0 1 1177 1600 fet /tface 8 def /mpf true def sf ( )0 1 1204 1600 fet /tface 10 def sf (d)0 1 1220 1634 fet /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf (i)0 1 1245 1629 fet /tface 8 def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf ( )0 1 1256 1634 fet /tface 12 def /mpf false def sf (-)0 1 1269 1634 fet /tface 8 def /mpf true def sf ( )0 1 1296 1634 fet /tface 10 def sf (h)0 1 1309 1634 fet /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf (i)0 1 1334 1629 fet /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf (K)0 1 1255 1569 fet /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf (h)0 1 1289 1563 fet 1217 1619 1347 1619 1347 1618 1217 1618 fa gs eofill gr /tface 8 def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf ( )0 1 1348 1600 fet ( )0 1 1361 1600 fet /tface 12 def /mpf false def sf (\()0 1 1373 1600 fet /tface 10 def /mpf true def sf (h)0 1 1390 1600 fet /tface 8 def /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf (0)0 1 1415 1595 fet /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf ( )0 1 1435 1600 fet /tface 12 def /mpf false def sf (=)0 1 1448 1600 fet /tface 8 def /mpf true def sf ( )0 1 1475 1600 fet (0)0 1 1488 1600 fet /tface 12 def /mpf false def sf (\))0 1 1513 1600 fet /tface 8 def /mpf true def sf ( )0 1 1529 1600 fet (,)0 1 1542 1600 fet 300 1444 835 6 (At each adjustment interval the quantity )fjt /tface 10 def sf (g)0 1 1138 1478 fet /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf (i)0 1 1163 1472 fet /tface 12 def /mpf false def sf (+)0 1 1175 1472 fet /tface 8 def /mpf true def sf (1)0 1 1198 1472 fet /tface 10 def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf (K)0 1 1151 1412 fet /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf (g)0 1 1185 1407 fet 1135 1459 1220 1459 1220 1458 1135 1458 fa gs eofill gr /tface 8 def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf ( )0 1 1221 1444 fet /tface 12 def /mpf false def sf (+)0 1 1234 1444 fet /tface 8 def /mpf true def sf ( )0 1 1261 1444 fet /tface 10 def sf (f)0 1 1277 1478 fet /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf (i)0 1 1290 1472 fet /tface 12 def /mpf false def sf (+)0 1 1302 1472 fet /tface 8 def /mpf true def sf (1)0 1 1325 1472 fet /tface 10 def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf (K)0 1 1289 1412 fet /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf (f)0 1 1322 1407 fet 1274 1459 1348 1459 1348 1458 1274 1458 fa gs eofill gr /tface 8 def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 1348 1444 902 9 ( is added to the local clock and the quantity)fjt /tface 10 def sf (g)0 1 303 1350 fet /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf (i)0 1 328 1345 fet /tface 12 def /mpf false def sf (+)0 1 340 1345 fet /tface 8 def /mpf true def sf (1)0 1 362 1345 fet /tface 10 def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf (K)0 1 316 1285 fet /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf (g)0 1 349 1279 fet 300 1332 385 1332 385 1331 300 1331 fa gs eofill gr /tface 8 def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 386 1317 357 3 ( subtracted from )fjt /tface 10 def sf 743 1317 25 0 (g)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 768 1312 12 0 (i)fjt /tface 8 def sf 780 1312 44 0 (+1)fjt /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 824 1317 527 7 (. Thus, at the end of the )fjt /tface 10 def sf 1351 1317 14 0 (i)fjt /tface 8 def sf 1365 1317 562 6 ( th interval just before the )fjt /tface 10 def sf 1926 1317 25 0 (d)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 1951 1312 12 0 (i)fjt /tface 8 def sf 1963 1312 44 0 (+1)fjt /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 2007 1317 243 2 ( update, the)fjt 300 1223 525 2 (accumulated correction is:)fjt /tface 10 def sf (e)0 1 919 1073 fet /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf (i)0 1 941 1068 fet /tface 12 def /mpf false def sf (+)0 1 952 1068 fet /tface 8 def /mpf true def sf (1)0 1 975 1068 fet /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf ( )0 1 996 1073 fet /tface 12 def /mpf false def sf (=)0 1 1008 1073 fet /tface 8 def /mpf true def sf ( )0 1 1036 1073 fet /tface 10 def sf (d)0 1 1060 1107 fet /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf (i)0 1 1085 1102 fet /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf (K)0 1 1051 1042 fet /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf (g)0 1 1084 1036 fet 1048 1092 1107 1092 1107 1091 1048 1091 fa gs eofill gr /tface 8 def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf ( )0 1 1108 1073 fet /tface 10 def sf (q)0 1 1124 1104 fet /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf (n)0 1 1149 1127 fet /txscale 800 3 mul 72 div def /tyscale 800 3 mul 72 div def sf (i)0 1 1169 1122 fet /tface 8 def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf ( )0 1 1179 1104 fet /tface 12 def /mpf false def sf (-)0 1 1191 1104 fet /tface 8 def /mpf true def sf ( )0 1 1218 1104 fet (1)0 1 1231 1104 fet /tface 10 def sf (q)0 1 1139 1042 fet /tface 8 def sf ( )0 1 1164 1042 fet /tface 12 def /mpf false def sf (-)0 1 1176 1042 fet /tface 8 def /mpf true def sf ( )0 1 1203 1042 fet (1)0 1 1216 1042 fet 1121 1092 1258 1092 1258 1091 1121 1091 fa gs eofill gr ( )0 1 1259 1073 fet /tface 12 def /mpf false def sf (+)0 1 1271 1073 fet /tface 8 def /mpf true def sf ( )0 1 1299 1073 fet (1)0 1 1324 1104 fet /tface 10 def sf (K)0 1 1314 1042 fet /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf (f)0 1 1347 1036 fet 1311 1092 1361 1092 1361 1091 1311 1091 fa gs eofill gr /tface 8 def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf ( )0 1 1362 1073 fet /tface 12 def /mpf false def /txscale 1800 3 mul 72 div def /tyscale 1800 3 mul 72 div def sf (\345)0 1 1374 1064 fet /tface 8 def /mpf true def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf ( )0 1 1428 1073 fet /tface 10 def /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf (j)0 1 1373 1009 fet /tface 12 def /mpf false def sf (=)0 1 1385 1009 fet /tface 8 def /mpf true def sf (1)0 1 1408 1009 fet /tface 10 def sf (i)0 1 1395 1144 fet /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf (n)0 1 1487 1107 fet /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf (j)0 1 1512 1102 fet /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf (d)0 1 1523 1107 fet /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf (j)0 1 1548 1102 fet /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf (a)0 1 1443 1042 fet /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf (j)0 1 1468 1036 fet /tface 12 def /mpf false def sf (-)0 1 1480 1036 fet /tface 8 def /mpf true def sf (1)0 1 1502 1036 fet /tface 10 def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf (u)0 1 1523 1042 fet /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf (j)0 1 1548 1036 fet /tface 12 def /mpf false def sf (-)0 1 1560 1036 fet /tface 8 def /mpf true def sf (1)0 1 1582 1036 fet 1440 1092 1605 1092 1605 1091 1440 1091 fa gs eofill gr /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf ( )0 1 1606 1073 fet (.)0 1 1619 1073 fet 300 923 1864 13 (This can be seen to be the characteristic equation of an adaptive-parameter, first-order, phase-)fjt 2164 923 86 0 (lock)fjt 300 865 1807 15 (loop. Simulation of this loop with the variables and constants specified and the clock filter de)fjt 2107 865 144 0 (scribed)fjt 300 807 1909 15 (in Section 4 results in the following characteristics: For a 100-ms phase change the loop reach)fjt 2209 807 41 0 (es)fjt 300 749 1950 20 (zero error in 39 minutes, overshoots 7 ms in 54 minutes and settles to less than 1 ms in about six)fjt 300 690 1950 18 (hours. For a 50-ppm frequency change the loop reaches 1 ppm in about 16 hours and 0.1 ppm in)fjt 300 632 1950 16 (about 26 hours. When the magnitude of correction exceeds a few milliseconds or a few ppm for)fjt 300 574 1950 15 (more than a few minutes, the compliance begins to increase, which causes the frequency gain to)fjt 300 516 1853 15 (decrease, eventually to unity, and the loop to loosen. When the magnitude of correction falls b)fjt 2153 516 97 0 (elow)fjt 300 457 1950 16 (about 0.1 ppm for a few hours, the compliance begins to decrease, which causes the frequency gain)fjt 300 399 1764 17 (to increase, eventually to 16, and the loop to stiffen. The effect is to provide a broad capt)fjt 2064 399 187 1 (ure range)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset 225 2976 2324 2976 2324 2128 225 2128 np mto lto lto lto clip np greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset 829 2948 1796 2948 1796 2181 829 2181 np mto lto lto lto clip np 875 2901 876 2901 876 2826 875 2826 fa colmap 1 [0 0 0 ] put 1 sci gs eofill gr 875 2901 1750 2901 1750 2900 875 2900 fa gs eofill gr 875 2826 1750 2826 1750 2825 875 2825 fa gs eofill gr 1750 2901 1751 2901 1751 2826 1750 2826 fa gs eofill gr greset 829 2948 1796 2948 1796 2752 829 2752 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf (\))25 (8)25 (4)17 (\()12 ( )13 ( )25 (k)22 (c)25 (o)14 (l)33 (C)0 11 1199 2843 fet greset 829 2948 1796 2948 1796 2181 829 2181 np mto lto lto lto clip np 1150 2751 1151 2751 1151 2676 1150 2676 fa colmap 1 [0 0 0 ] put 1 sci gs eofill gr 1150 2751 1750 2751 1750 2750 1150 2750 fa gs eofill gr 1150 2676 1750 2676 1750 2675 1150 2675 fa gs eofill gr 1750 2751 1751 2751 1751 2676 1750 2676 fa gs eofill gr greset 1075 2826 1796 2826 1796 2602 1075 2602 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 1268 2693 364 1 (Clock-Adjust \(32\))fjt greset 829 2948 1796 2948 1796 2181 829 2181 np mto lto lto lto clip np 1150 2451 1151 2451 1151 2376 1150 2376 fa colmap 1 [0 0 0 ] put 1 sci gs eofill gr 1150 2451 1450 2451 1450 2450 1150 2450 fa gs eofill gr 1150 2376 1450 2376 1450 2375 1150 2375 fa gs eofill gr 1450 2451 1451 2451 1451 2376 1450 2376 fa gs eofill gr greset 1075 2526 1524 2526 1524 2302 1075 2302 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 1172 2393 256 1 (Counter \(16\))fjt greset 829 2948 1796 2948 1796 2181 829 2181 np mto lto lto lto clip np 1150 2601 1151 2601 1151 2526 1150 2526 fa colmap 1 [0 0 0 ] put 1 sci gs eofill gr 1150 2601 1750 2601 1750 2600 1150 2600 fa gs eofill gr 1150 2526 1750 2526 1750 2525 1150 2525 fa gs eofill gr 1750 2601 1751 2601 1751 2526 1750 2526 fa gs eofill gr greset 1075 2676 1796 2676 1796 2452 1075 2452 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 1202 2543 496 1 (Drift-Compensation \(32\))fjt greset 829 2948 1796 2948 1796 2181 829 2181 np mto lto lto lto clip np colmap 1 [0 0 0 ] put 1 sci 1450 2776 1 1450 2801 path stroke 1450 2601 1 1450 2676 path stroke 1450 2451 1 1450 2526 path stroke 1450 2751 1 1450 2826 path stroke greset 1375 2751 1599 2751 1599 2527 1375 2527 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 1463 2618 50 0 (16)fjt greset 829 2948 1796 2948 1796 2181 829 2181 np mto lto lto lto clip np greset 1375 2901 1599 2901 1599 2677 1375 2677 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 1463 2768 50 0 (32)fjt greset 829 2948 1796 2948 1796 2181 829 2181 np mto lto lto lto clip np 1125 2301 1126 2301 1126 2226 1125 2226 fa colmap 1 [0 0 0 ] put 1 sci gs eofill gr 1125 2301 1750 2301 1750 2300 1125 2300 fa gs eofill gr 1125 2226 1750 2226 1750 2225 1125 2225 fa gs eofill gr 1750 2301 1751 2301 1751 2226 1750 2226 fa gs eofill gr greset 1050 2376 1796 2376 1796 2181 1050 2181 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 1269 2243 336 1 (Compliance \(32\))fjt greset 829 2948 1796 2948 1796 2181 829 2181 np mto lto lto lto clip np greset 1450 2576 1774 2576 1774 2327 1450 2327 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 1533 2443 157 0 (decimal)fjt greset 829 2948 1796 2948 1796 2181 829 2181 np mto lto lto lto clip np colmap 1 [0 0 0 ] put 1 sci true false[1450 2451 1525 2451 ]arrowline stroke greset 1375 2601 1599 2601 1599 2377 1375 2377 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 1463 2468 50 0 (16)fjt greset 829 2948 1796 2948 1796 2181 829 2181 np mto lto lto lto clip np greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset 225 2278 2324 2278 2324 2020 225 2020 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 1021 2120 509 3 (Figure 4. Clock Registers)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 3374 2624 3374 2624 2825 -75 2825 np mto lto lto lto clip np /tface 4 def 4 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2979 230 0 (RFC-1119)fjt 1024 2979 504 2 (Network Time Protocol)fjt 1882 2979 369 1 (September 1989)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 474 2624 474 2624 -75 -75 -75 np mto lto lto lto clip np /tface 4 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 279 100 0 (Mills)fjt 2065 279 186 1 (Page 37)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np %End page showpage svobj restore gr gs /svobj save def %Begin page UserSoP greset -75 3374 2624 3374 2624 -75 -75 -75 np mto lto lto lto clip np /tface 8 def 8 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2148 1798 15 (exceeding four seconds per day, yet the capability to resolve oscillator drift well below a mill)fjt 2098 2148 152 0 (isecond)fjt 300 2089 1835 10 (per day. These characteristics are appropriate for typical crystal-controlled oscillators w)fjt 2135 2089 115 1 (ith or)fjt 300 2031 1021 5 (without temperature compensation or oven control.)fjt /tface 5 def 5 encfont sf 300 1943 83 0 (5.3.)fjt (n)30 (o)12 (i)16 (t)27 (a)15 (t)30 (n)26 (e)44 (m)26 (e)13 (l)30 (p)43 (m)13 (I)12 ( )13 (l)13 (l)27 (a)29 (b)24 (z)24 (z)30 (u)29 (F)13 ( )0 24 383 1943 fet /tface 8 def sf 300 1856 1950 13 (The Fuzzball logical clock is implemented using a 48-bit Clock Register, which increments at)fjt 300 1797 1950 15 (1000-Hz \(at the decimal point\), a 32-bit Clock-Adjust Register, which is used to slew the Clock)fjt 300 1739 1832 13 (Register in response to offset corrections, and a Drift-Compensation Register, which is used t)fjt 2132 1739 118 1 (o trim)fjt 300 1681 1812 14 (the oscillator frequency. In some interface designs such as the DEC KWV11, an additional ha)fjt 2112 1681 138 0 (rdware)fjt 300 1623 1950 14 (Counter Register is used as an auxiliary counter. The configuration and decimal point of these)fjt 300 1564 616 5 (registers are shown in Figure 4.)fjt 916 1564 1334 10 ( The Watchdog Timer and Compliance Register shown in the figure)fjt 300 1506 1950 12 (are used to determine validity, compute frequency corrections and adjust the clock tracking)fjt 300 1448 309 1 (characteristics. )fjt 300 1360 1950 10 (The Clock Register, Clock-Adjust Register and Drift-Compensation Register are implemented in)fjt 300 1302 1950 14 (memory. In typical clock interface designs such as the DEC KWV11, the Counter Register is)fjt 300 1244 1784 13 (implemented as a 16-bit buffered counter driven by a crystal-controlled oscillator at a rate)fjt 2084 1244 166 2 ( of 1000)fjt 300 1186 1925 16 (Hz. A counter overflow is signalled by an interrupt, which results in an increment of the Cloc)fjt 2225 1186 25 0 (k)fjt 300 1127 1950 17 (Register at bit 15. The time of day is determined by reading the Counter Register, which does not)fjt 300 1069 1892 16 (disturb the counting process, and adding its value to that of the Clock Register with decimal poi)fjt 2192 1069 58 0 (nts)fjt 300 1011 1925 15 (aligned. In other interface designs such as the LSI-11 event-line mechanism, each tick of the cloc)fjt 2225 1011 25 0 (k)fjt 300 953 918 8 (is signalled by an interrupt at intervals of 16-)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 1218 977 21 0 (2)fjt /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 1238 953 14 0 (/)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 1252 948 21 0 (3)fjt /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 1273 953 977 9 ( ms or 20 ms, depending on interface and mains)fjt 300 894 1911 13 (frequency. When this occurs the appropriate increment in milliseconds, expressed to 32 bits )fjt 2211 894 39 0 (in)fjt 300 836 1950 14 (precision, is added to the Clock Register with decimal points aligned. Monotonicity is insured with)fjt 300 778 669 5 (the parameters shown in Table 8)fjt 969 778 1281 12 (, as long as the increment is at least 2 ms for crystal-stabilized)fjt 300 720 883 6 (clocks or 16 ms for mains-frequency clocks.)fjt 300 632 1824 13 (When the system is initialized all registers, counters and timers are cleared, the leap-indicat)fjt 2124 632 126 1 (or bits)fjt 300 574 435 4 (\(sys.leap\) are set to 11)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 735 569 21 0 (2)fjt /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 756 574 1495 9 ( \(unsynchronized\) and the Watchdog Timer begins incrementing at intervals)fjt 300 516 1950 15 (of one second. As each update is received the Watchdog Timer is reset and resumes incrementing)fjt 300 457 1950 15 (from zero. If the value of the Watchdog Timer exceeds NTP.MAXAGE \(one full day\), sys.leap is)fjt 300 399 169 2 (set to 11)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 469 394 21 0 (2)fjt /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 490 399 13 0 (.)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset 225 2977 2324 2977 2324 2258 225 2258 np mto lto lto lto clip np 451 2828 2098 2828 2098 2827 451 2827 fa colmap 1 [0 0 0 ] put 1 sci gs eofill gr 450 2899 2100 2899 2100 2898 450 2898 fa gs eofill gr 450 2337 2100 2337 2100 2338 450 2338 fa gs eofill gr 450 2899 451 2899 451 2337 450 2337 fa gs eofill gr 2100 2899 2099 2899 2099 2337 2100 2337 fa gs eofill gr /tface 8 def /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 476 2838 201 0 (Parameter)fjt 1025 2838 119 0 (Name)fjt 1574 2838 144 0 (Crystal)fjt 1849 2838 124 0 (Mains)fjt 476 2768 311 1 (Update Interval)fjt 1025 2768 378 0 (CLOCK.UPDATE)fjt 1574 2768 25 0 (8)fjt 1849 2768 25 0 (8)fjt 476 2708 399 1 (Adjustment Interval)fjt 1025 2708 273 0 (CLOCK.ADJ)fjt 1574 2708 25 0 (2)fjt 1849 2708 25 0 (0)fjt 476 2648 369 1 (Frequency Weight)fjt 1025 2648 309 0 (CLOCK.FREQ)fjt 1574 2648 50 0 (10)fjt 1849 2648 50 0 (10)fjt (t)25 (h)25 (g)14 (i)22 (e)47 (W)12 ( )13 ( )22 (e)19 (s)22 (a)25 (h)28 (P)0 13 476 2588 fet 1025 2588 340 0 (CLOCK.PHASE)fjt 1574 2588 25 0 (8)fjt 1849 2588 25 0 (6)fjt (t)25 (h)25 (g)13 (i)22 (e)47 (W)13 ( )12 ( )22 (e)22 (c)25 (n)22 (a)14 (i)14 (l)25 (p)39 (m)25 (o)33 (C)0 18 476 2528 fet 1025 2528 351 0 (CLOCK.TRACK)fjt 1574 2528 25 0 (8)fjt 1849 2528 168 1 (not used)fjt 476 2468 461 1 (Compliance Maximum)fjt 1025 2468 323 0 (CLOCK.COMP)fjt 1574 2468 25 0 (4)fjt 1849 2468 168 1 (not used)fjt 476 2408 364 1 (Compliance Mask)fjt 1025 2408 326 0 (CLOCK.MASK)fjt 1574 2408 50 0 (37)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 1624 2403 21 0 (8)fjt /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 1849 2408 168 1 (not used)fjt 476 2348 397 1 (Maximum Aperture)fjt 1025 2348 298 0 (CLOCK.MAX)fjt /tface 12 def /mpf false def sf 1574 2348 27 0 (\261)fjt /tface 8 def /mpf true def sf 1601 2348 125 1 ( 0.128)fjt /tface 12 def /mpf false def sf 1849 2348 27 0 (\261)fjt /tface 8 def /mpf true def sf 1876 2348 125 1 ( 0.512)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset 225 2408 2324 2408 2324 2156 225 2156 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 1011 2250 528 3 (Table 8. Clock Parameters)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 3374 2624 3374 2624 2825 -75 2825 np mto lto lto lto clip np /tface 4 def 4 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2979 230 0 (RFC-1119)fjt 1024 2979 504 2 (Network Time Protocol)fjt 1882 2979 369 1 (September 1989)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 474 2624 474 2624 -75 -75 -75 np mto lto lto lto clip np /tface 4 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 279 100 0 (Mills)fjt 2065 279 186 1 (Page 38)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np %End page showpage svobj restore gr gs /svobj save def %Begin page UserSoP greset -75 3374 2624 3374 2624 -75 -75 -75 np mto lto lto lto clip np /tface 5 def 5 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2841 83 0 (5.4.)fjt (s)15 (t)30 (n)26 (e)44 (m)15 (t)27 (s)29 (u)13 (j)30 (d)35 (A)12 ( )26 (e)27 (s)27 (a)29 (h)33 (P)12 ( )43 (m)18 (r)30 (o)15 (f)13 (i)30 (n)35 (U)12 ( )0 26 383 2841 fet /tface 8 def 8 encfont sf ( )25 (n)36 (A)13 ( )12 ( )12 (.)22 (e)14 (t)22 (a)25 (d)25 (p)25 (u)12 ( )14 (t)19 (s)22 (a)14 (l)12 ( )20 (s)13 (t)14 (i)12 ( )17 (f)25 (o)12 ( )25 (y)22 (c)25 (n)22 (e)25 (u)25 (q)22 (e)17 (r)16 (f)12 ( )25 (d)25 (n)22 (a)13 ( )13 (t)22 (e)20 (s)16 (f)17 (f)25 (o)12 ( )22 (e)25 (h)14 (t)12 ( )14 (t)22 (a)12 ( )19 (s)25 (n)25 (u)17 (r)12 ( )25 (k)22 (c)25 (o)14 (l)22 (c)12 ( )14 (l)22 (a)22 (c)13 (i)25 (g)25 (o)14 (l)12 ( )22 (e)25 (h)14 (t)12 ( )13 (,)25 (d)22 (e)14 (t)22 (c)22 (e)16 (r)17 (r)25 (o)22 (c)25 (n)25 (u)12 ( )14 (t)16 (f)22 (e)31 (L)0 93 300 2737 fet (s)14 (i)12 ( )22 (e)14 (t)22 (a)25 (d)25 (p)25 (u)0 9 2072 2737 fet 300 2679 523 4 (introduced at intervals of 2)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 823 2703 315 0 (CLOCK.UPDATE)fjt /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 1138 2679 1113 9 ( seconds as a signed 32-bit integer in milliseconds. When)fjt 300 2621 1950 15 (the magnitude of a correction is less than the maximum aperture CLOCK.MAX, bits 16-31 of the)fjt 300 2563 1829 15 (update replace bits 0-15 of the Clock-Adjust Register. In order to minimize the effects of trun)fjt 2129 2563 122 0 (cation)fjt 300 2504 1731 19 (and roundoff errors, bits 16-31 are set to zeros if the sign of the update is positive and ones )fjt 2031 2504 219 1 (if negative.)fjt 300 2446 1928 16 (In addition, the update is also divided by a weighting factor \(described later\) and added to th)fjt 2228 2446 22 0 (e)fjt 300 2388 1146 6 (Drift-Compensation Register. At adjustment intervals of 2)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 1446 2412 227 0 (CLOCK.ADJ)fjt /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 1673 2388 561 4 ( seconds a correction consist)fjt 2234 2388 17 0 (-)fjt 300 2330 1950 15 (ing of two components is computed. The first \(phase\) component consists of the value of the)fjt 300 2271 1950 11 (Clock-Adjust Register shifted right CLOCK.PHASE bits, which is then subtracted from the)fjt 300 2213 1934 12 (Clock-Adjust Register. The second \(frequency\) component consists of the value of the Drift-Com)fjt 2234 2213 17 0 (-)fjt 300 2155 1950 12 (pensation Register shifted right by the quantity CLOCK.FREQ - CLOCK.UPDATE. The sum of)fjt 300 2097 1938 15 (the phase and frequency components is the correction, which is then added to the Clock Register)fjt 2238 2097 13 0 (.)fjt 300 2038 1365 10 (Operation continues in this way until a new correction is introduced.)fjt 300 1919 1900 16 (For the ultimate stability of about a millisecond per day in the absence of outside updates, it)fjt 2200 1919 50 1 ( is)fjt 300 1861 1898 15 (necessary to reduce the influence of the frequency component once the clock has been running w)fjt 2198 1861 53 0 (ith)fjt 300 1803 1950 17 (low offsets for some time. This is done only in the case of crystal oscillators and using the)fjt 300 1744 1950 13 (Compliance Register, which contains an exponential average of all prior updates. The average is)fjt 300 1686 1681 13 (computed by first shifting the update left eight bits for efficient scaling, then subtractin)fjt 1981 1686 269 2 (g the contents)fjt 300 1628 1950 13 (of the Compliance Register, then shifting the result right CLOCK.TRACK bits and finally adding)fjt 300 1570 752 5 (the result to the Compliance Register.)fjt 300 1450 1912 15 (When the update is added to the Drift Compensation Register, the value in the Compliance Regist)fjt 2212 1450 39 0 (er)fjt 300 1392 1889 18 (is copied to a temporary and the low-order bit set to one. Both the update and temporary are shif)fjt 2189 1392 61 0 (ted)fjt 300 1334 1950 13 (left together until the bitwise AND of the temporary and the mask ~CLOCK.MASK become)fjt 300 1276 1931 15 (nonzero. The parameters in Table 7 have been selected so that, under good conditions with update)fjt 2231 1276 19 0 (s)fjt 300 1217 1807 18 (in the order of a few milliseconds, a precision of a millisecond per day \(about .01 ppm or 10)fjt /txscale 1000 3 mul 72 div def /tyscale 1000 3 mul 72 div def sf 2107 1241 35 0 (-8)fjt /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def sf 2141 1217 109 1 (\), can)fjt 300 1159 1950 11 (be achieved. In the case of mains-frequency clocks the Compliance Register, CLOCK.TRACK,)fjt 300 1101 1203 6 (CLOCK.COMP and CLOCK.MASK variables are not used.)fjt 300 982 1950 13 (When mains-frequency oscillators must be used, the loop parameters must be adapted for the)fjt 300 923 1950 13 (relatively high jitter and wander characteristics of the regional power grid, in which diurnal)fjt 300 865 1950 13 (peak-to-peak phase excursions can exceed four seconds. Simulation of a loop with the parameters)fjt 300 807 1837 17 (of Figure 6 and the clock filter described in Section 4 results in a transient response similar )fjt 2137 807 113 1 (to the)fjt 300 749 1950 11 (crystal-stabilized case, but with somewhat smaller time constants. When presented with actual)fjt 300 690 1936 15 (phase-offset data from the U.S. Eastern, U.S. Western and West German power grids and for typica)fjt 2236 690 14 0 (l)fjt 300 632 1864 18 (summer days when the jitter and wander are the largest, the residual errors are in the order of a)fjt 2164 632 86 1 ( few)fjt 300 574 1950 14 (tens of milliseconds, but seldom more than 100 ms. With mains-frequency oscillators it is not)fjt 300 516 1822 14 (possible to increase the polling interval above a minute or so without significant increase i)fjt 2122 516 128 1 (n loop)fjt 300 457 1853 13 (error or degradation of transient response, so the polling interval peer.hpoll is always clamp)fjt 2153 457 97 1 (ed at)fjt 300 399 341 0 (NTP.MINPOLL.)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 3374 2624 3374 2624 2825 -75 2825 np mto lto lto lto clip np /tface 4 def 4 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2979 230 0 (RFC-1119)fjt 1024 2979 504 2 (Network Time Protocol)fjt 1882 2979 369 1 (September 1989)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 474 2624 474 2624 -75 -75 -75 np mto lto lto lto clip np /tface 4 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 279 100 0 (Mills)fjt 2065 279 186 1 (Page 39)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np %End page showpage svobj restore gr gs /svobj save def %Begin page UserSoP greset -75 3374 2624 3374 2624 -75 -75 -75 np mto lto lto lto clip np /tface 8 def 8 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2841 1865 15 (Care is required in the implementation to insure monotonicity of the Clock Register and to pres)fjt 2165 2841 86 0 (erve)fjt 300 2782 1950 13 (the highest precision while minimizing the propagation of roundoff errors. Since all of the)fjt 300 2724 1834 11 (multiply/divide operations can be approximated by bitwise-shift operations, it is not necess)fjt 2134 2724 117 1 (ary to)fjt 300 2666 1831 12 (implement a full multiply/divide capability in hardware or software. In the various implement)fjt 2131 2666 119 0 (ations)fjt 300 2608 1950 15 (of NTP for many Unix-based systems it has been the common experience that the single most)fjt 300 2549 1818 13 (important factor affecting local-clock stability is the matching of the phase and frequency )fjt 2118 2549 116 0 (coeffi)fjt 2234 2549 17 0 (-)fjt 300 2491 1843 13 (cients to the particular kernel implementation. It is vital that these coefficients be engin)fjt 2143 2491 108 0 (eered)fjt 300 2433 1859 15 (according to the model values, for otherwise the phase-lock loop can fail to track normal oscil)fjt 2159 2433 91 0 (lator)fjt 300 2375 827 5 (variations and can even become unstable.)fjt /tface 5 def 5 encfont sf 300 2276 83 0 (5.5.)fjt (s)16 (t)29 (n)27 (e)43 (m)16 (t)26 (s)30 (u)13 (j)29 (d)35 (A)12 ( )27 (e)27 (s)26 (a)30 (h)32 (P)12 ( )44 (m)18 (r)29 (o)16 (f)13 (i)29 (n)30 (u)29 (n)30 (o)35 (N)12 ( )0 29 383 2276 fet /tface 8 def sf 300 2184 1950 12 (When the magnitude of a correction exceeds the maximum aperture CLOCK.MAX, the possibility)fjt 300 2125 1806 17 (exists that the clock is so far out of synchronization with the reference source that the best a)fjt 2106 2125 144 1 (ction is)fjt 300 2067 1850 13 (an immediate and wholesale replacement of Clock Register contents, rather than a graduated sle)fjt 2150 2067 100 0 (wing)fjt 300 2009 1879 16 (as described above. If this happens, the Clock-Adjust Register is set to zero, but the other regis)fjt 2179 2009 72 0 (ters)fjt 300 1951 1813 13 (remain undisturbed. In addition, as described previously, the clear procedure is called to pu)fjt 2113 1951 137 1 (rge the)fjt 300 1892 1772 15 (clock filters and estimation variables for all peers. In practice, the necessity to do this is)fjt 2072 1892 178 2 ( rare and)fjt 300 1834 1855 15 (usually occurs when the local host or reference source is rebooted, for example. This is fortu)fjt 2155 1834 95 0 (nate,)fjt 300 1776 1950 16 (since step changes in the clock can result in the clock apparently running backward, as well as)fjt 300 1718 1624 9 (incorrect delay and offset measurements of the synchronization mechanism itself.)fjt 300 1620 1950 10 (Considerable experience with the Internet environment suggests the values of CLOCK.MAX)fjt 300 1562 1848 15 (tabulated in Table 7 as appropriate. In practice, these values are exceeded with a single time-s)fjt 2148 1562 102 0 (erver)fjt 300 1504 1878 14 (source only under conditions of the most extreme congestion or when multiple failures of node)fjt 2178 1504 72 1 (s or)fjt 300 1445 1950 15 (links have occurred. The most common case when the maximum is exceeded is when the time-server)fjt 300 1387 1950 17 (source is changed and the time indicated by the new and old sources exceeds the maximum due to)fjt 300 1329 1889 13 (systematic errors in the primary reference source or large differences in the synchronizing p)fjt 2189 1329 61 0 (ath)fjt 300 1271 1950 11 (delays. It is recommended that implementations include provisions to tailor CLOCK.MAX for)fjt (e)25 (h)14 (t)25 ( )25 (g)26 (n)14 (i)14 (t)22 (a)14 (l)25 (o)14 (i)25 (v)25 ( )14 (t)26 (u)25 (o)25 (h)14 (t)14 (i)36 (w)25 ( )26 (d)22 (e)19 (s)23 (a)22 (e)17 (r)22 (c)25 (n)14 (i)25 ( )22 (e)26 (b)25 ( )25 (n)22 (a)22 (c)25 ( )37 (X)36 (A)44 (M)13 (.)36 (K)34 (C)36 (O)31 (L)33 (C)25 ( )14 (t)23 (a)25 (h)14 (t)25 ( )14 (t)25 (n)26 (u)25 (o)40 (m)22 (a)25 ( )23 (e)25 (h)31 (T)25 ( )13 (.)20 (s)25 (n)26 (o)14 (i)14 (t)23 (a)25 (u)15 (t)14 (i)20 (s)25 ( )22 (c)14 (i)17 (f)15 (i)22 (c)23 (e)25 (p)20 (s)0 85 300 1212 fet 300 1154 1931 14 (monotonicity requirement depends on the Clock Register increment. For an increment of 10 ms, a)fjt 2231 1154 19 0 (s)fjt 300 1096 1818 17 (used in many workstations, the value shown in Table 7 can be increased by a factor of five.)fjt /tface 5 def sf 300 997 83 0 (5.6.)fjt (e)43 (m)13 (i)28 (T)13 ( )30 (d)29 (n)27 (a)13 ( )26 (e)16 (t)27 (a)35 (D)12 ( )30 (g)29 (n)13 (i)30 (n)12 (i)27 (a)16 (t)29 (n)13 (i)27 (a)40 (M)13 ( )0 26 383 997 fet /tface 8 def sf 300 905 1950 14 (Conversion from NTP format to the common date and time formats used by application programs)fjt 300 846 1801 15 (is simplified if the internal local-clock format uses separate date and time registers. The time )fjt 2101 846 149 0 (register)fjt 300 788 1909 18 (is designed to roll over at 24 hours, give or take a leap second as determined by the leap-indicat)fjt 2209 788 42 0 (or)fjt 300 730 1878 12 (bits, with its overflows \(underflows\) incrementing \(decrementing\) the date register. The date )fjt 2178 730 72 0 (and)fjt 300 672 1938 14 (time registers then indicate the number of days and seconds since some previous reference time)fjt 2238 672 13 0 (,)fjt 300 613 899 5 (but uncorrected for intervening leap seconds.)fjt 300 516 1788 18 (On the day prior to the insertion of a leap second the leap-indicator bits are set at the primary)fjt 2088 516 162 1 ( servers,)fjt 300 457 1950 16 (presumably by manual means. Subsequently, these bits show up at the local host and are passed to)fjt 300 399 1928 16 (the local-clock procedure. This causes the modulus of the time register, which is the length of th)fjt 2228 399 22 0 (e)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 3374 2624 3374 2624 2825 -75 2825 np mto lto lto lto clip np /tface 4 def 4 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2979 230 0 (RFC-1119)fjt 1024 2979 504 2 (Network Time Protocol)fjt 1882 2979 369 1 (September 1989)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 474 2624 474 2624 -75 -75 -75 np mto lto lto lto clip np /tface 4 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 279 100 0 (Mills)fjt 2065 279 186 1 (Page 40)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np %End page showpage svobj restore gr gs /svobj save def %Begin page UserSoP greset -75 3374 2624 3374 2624 -75 -75 -75 np mto lto lto lto clip np /tface 8 def 8 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2841 1950 15 (current day, to be increased or decreased by one second as appropriate. On the day following)fjt 300 2782 1892 18 (insertion the bits are turned off at the primary servers. While it is possible to turn the bits )fjt 2192 2782 58 0 (off)fjt 300 2724 1828 14 (automatically, the procedure suggested here insures that all clocks have rolled over and will )fjt 2128 2724 123 1 (not be)fjt 300 2666 1717 14 (reset incorrectly to the previous day as the result of possible corrections near the instant)fjt 2017 2666 233 2 ( of rollover.)fjt 300 2577 1950 15 (Lack of a comprehensive mechanism to administer the leap bits in the primary time servers is)fjt 300 2519 1950 10 (presently an awkward problem better suited to a comprehensive network-management mechanism)fjt 300 2460 1883 15 (yet to be developed. As a practical matter and unless specific provisions have been made otherw)fjt 2183 2460 68 0 (ise,)fjt 300 2402 1950 12 (currently manufactured radio clocks have no provisions for leap seconds, automatic, manual or)fjt 300 2344 1773 13 (otherwise. Therefore, the only possible solution is to disable the radio clock immediately f)fjt 2073 2344 177 0 (ollowing)fjt 300 2286 1887 14 (leap insertion/deletion and to wait some hours for the radio clock to regain synchronization bef)fjt 2187 2286 64 0 (ore)fjt 300 2227 279 1 (re-enabling it.)fjt /tface 5 def 5 encfont sf 300 2136 42 0 (6.)fjt (s)16 (t)29 (n)27 (e)43 (m)30 (g)29 (d)27 (e)13 (l)37 (w)30 (o)29 (n)27 (k)27 (c)35 (A)11 ( )0 16 350 2136 fet /tface 8 def sf 300 2046 1950 13 (Many people contributed to the contents of this document, which was thoroughly debated by)fjt 300 1988 1950 11 (electronic mail and debugged using prototype implementations written by Louis Mamakos and)fjt 300 1930 1934 16 (Michael Petry of the University of Maryland for the Unix 4.3bsd operating system and by the autho)fjt 2234 1930 17 0 (r)fjt 300 1872 1950 14 (for the Fuzzball operating system [43]. Among the most fervent of the many contributors were)fjt 300 1813 1950 13 (Marion Hakanson of Oregon State University and Dennis Ferguson of the University of Toronto,)fjt 300 1755 1868 13 (who meticulously tested the several beta-test prototype versions and ruthlessly smoked out the b)fjt 2168 1755 82 0 (ugs,)fjt 300 1697 756 6 (both in the code and the specification.)fjt /tface 5 def sf 300 1605 42 0 (7.)fjt (s)27 (e)27 (c)29 (n)27 (e)18 (r)27 (e)15 (f)27 (e)35 (R)13 ( )0 11 350 1605 fet /tface 8 def sf 300 1514 38 0 (1.)fjt 375 1514 340 3 (Blair, B.E. \(Ed.\). )fjt /tface 10 def 10 encfont sf 715 1514 934 5 (Time and Frequency Theory and Fundamentals)fjt /tface 8 def sf 1649 1514 601 4 (. National Bureau of Standards)fjt 375 1456 1104 6 (Monograph 140, U.S. Department of Commerce, 1974.)fjt 300 1363 38 0 (2.)fjt /tface 10 def sf 375 1363 526 2 (Data Encryption Standard)fjt /tface 8 def sf 901 1363 1349 7 (. Federal Information Processing Standards Publication 46. National)fjt 375 1305 1190 7 (Bureau of Standards, U.S. Department of Commerce, 1977.)fjt 300 1212 38 0 (3.)fjt 375 1212 1540 10 (Vass, E.R. OMEGA navigation system: present status and plans 1977-1980. )fjt /tface 10 def sf 1915 1212 336 2 (Navigation 25, 1)fjt /tface 8 def sf 375 1154 291 1 (\(Spring 1978\).)fjt 300 1061 38 0 (4.)fjt 375 1061 1540 13 (Lamport, L., Time, clocks and the ordering of events in a distributed system. )fjt /tface 10 def sf 1915 1061 336 2 (Comm. ACM 21,)fjt /tface 8 def sf 375 1003 470 3 (7 \(July 1978\), 558-565.)fjt 300 910 38 0 (5.)fjt 375 910 1875 10 (Time and Frequency Dissemination Services. NBS Special Publication 432, U.S. Department)fjt 375 852 410 2 (of Commerce, 1979.)fjt 300 759 38 0 (6.)fjt 375 759 1622 10 (Lindsay, W.C., and A.V. Kantak. Network synchronization of random signals. )fjt /tface 10 def sf 1997 759 254 1 (IEEE Trans.)fjt 375 701 553 2 (Communications COM-28, )fjt /tface 8 def sf 928 701 581 3 (8 \(August 1980\), 1260-1266.)fjt 300 608 38 0 (7.)fjt 375 608 1619 11 (Braun, W.B. Short term frequency effects in networks of coupled oscillators. )fjt /tface 10 def sf 1994 608 256 1 (IEEE Trans.)fjt 375 550 528 1 (Communications COM-28)fjt /tface 8 def sf 903 550 13 0 (,)fjt /tface 10 def sf 915 550 13 1 ( )fjt /tface 8 def sf 928 550 581 3 (8 \(August 1980\), 1269-1275.)fjt 300 457 38 0 (8.)fjt (l)22 (a)26 (u)15 (t)25 (u)40 (m)25 ( )26 (d)25 (n)23 (a)25 ( )23 (e)26 (v)22 (a)15 (l)20 (s)17 (-)18 (r)23 (e)14 (t)21 (s)23 (a)39 (m)25 ( )18 (f)26 (o)25 ( )26 (d)15 (i)17 (r)26 (b)26 (y)26 (h)25 ( )23 (a)25 ( )18 (f)26 (o)25 ( )20 (s)15 (i)20 (s)26 (y)15 (l)23 (a)26 (n)23 (a)25 ( )14 (:)26 (n)26 (o)15 (i)15 (t)23 (a)23 (z)15 (i)26 (n)26 (o)17 (r)26 (h)23 (c)26 (n)26 (y)20 (s)25 ( )26 (k)18 (r)26 (o)37 (w)15 (t)23 (e)37 (N)25 ( )13 (.)37 (D)25 ( )14 (,)23 (a)17 (r)15 (t)15 (i)45 (M)0 82 375 457 fet 375 399 343 1 (synchronization. )fjt /tface 10 def sf 718 399 814 4 (IEEE Trans. Communications COM-28, )fjt /tface 8 def sf 1532 399 581 3 (8 \(August 1980\), 1245-1259.)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 3374 2624 3374 2624 2825 -75 2825 np mto lto lto lto clip np /tface 4 def 4 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2979 230 0 (RFC-1119)fjt 1024 2979 504 2 (Network Time Protocol)fjt 1882 2979 369 1 (September 1989)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 474 2624 474 2624 -75 -75 -75 np mto lto lto lto clip np /tface 4 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 279 100 0 (Mills)fjt 2065 279 186 1 (Page 41)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np %End page showpage svobj restore gr gs /svobj save def %Begin page UserSoP greset -75 3374 2624 3374 2624 -75 -75 -75 np mto lto lto lto clip np /tface 8 def 8 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2839 38 0 (9.)fjt 375 2839 1875 11 (Postel, J. User Datagram Protocol. DARPA Network Working Group Report RFC-768, USC)fjt 375 2781 893 4 (Information Sciences Institute, August 1980.)fjt 300 2684 63 0 (10.)fjt 375 2684 1875 10 (DES Modes of Operation. Federal Information Processing Standards Publication 81. National)fjt 375 2626 1407 8 (Bureau of Standards, U.S. Department of Commerce, December 1980.)fjt 300 2529 63 0 (11.)fjt 375 2529 1875 11 (Mills, D.L. Time Synchronization in DCNET Hosts. DARPA Internet Project Report IEN-173,)fjt 375 2471 801 3 (COMSAT Laboratories, February 1981.)fjt 300 2374 63 0 (12.)fjt 375 2374 1875 11 (Mills, D.L. DCNET Internet Clock Service. DARPA Network Working Group Report RFC-778,)fjt 375 2316 727 3 (COMSAT Laboratories, April 1981.)fjt 300 2219 63 0 (13.)fjt 375 2219 1875 13 (Su, Z. A specification of the Internet protocol \(IP\) timestamp option. DARPA Network Working)fjt 375 2161 1084 6 (Group Report RFC-781. SRI International, May 1981.)fjt 300 2065 63 0 (14.)fjt 375 2065 1875 9 (Defense Advanced Research Projects Agency. Internet Protocol. DARPA Network Working)fjt 375 2006 1570 8 (Group Report RFC-791, USC Information Sciences Institute, September 1981.)fjt 300 1910 63 0 (15.)fjt 375 1910 1875 9 (Defense Advanced Research Projects Agency. Internet Control Message Protocol. DARPA)fjt 375 1851 1875 9 (Network Working Group Report RFC-792, USC Information Sciences Institute, September)fjt 375 1793 113 0 (1981.)fjt 300 1696 63 0 (16.)fjt 375 1696 705 5 (Frank, R.L. History of LORAN-C. )fjt /tface 10 def 10 encfont sf 1080 1696 334 2 (Navigation 29, 1)fjt /tface 8 def sf 1414 1696 304 2 ( \(Spring 1982\).)fjt 300 1600 63 0 (17.)fjt 375 1600 1875 13 (Beser, J., and B.W. Parkinson. The application of NAVSTAR differential GPS in the civilian)fjt 375 1542 252 1 (community. )fjt /tface 10 def sf 627 1542 334 2 (Navigation 29, 2)fjt /tface 8 def sf 961 1542 339 2 ( \(Summer 1982\).)fjt 300 1445 63 0 (18.)fjt 375 1445 1859 11 (Postel, J. Daytime protocol. DARPA Network Working Group Report RFC-867, USC Infor)fjt 2234 1445 17 0 (-)fjt 375 1387 741 4 (mation Sciences Institute, May 1983.)fjt 300 1290 63 0 (19.)fjt 375 1290 1875 11 (Postel, J. Time protocol. DARPA Network Working Group Report RFC-868, USC Information)fjt 375 1232 590 3 (Sciences Institute, May 1983.)fjt 300 1135 63 0 (20.)fjt 375 1135 1875 10 (Mills, D.L. Internet Delay Experiments. DARPA Network Working Group Report RFC-889,)fjt 375 1077 760 3 (M/A-COM Linkabit, December 1983.)fjt 300 980 63 0 (21.)fjt 375 980 1875 10 (Mills, D.L. DCN local-network protocols. DARPA Network Working Group Report RFC-891,)fjt 375 922 760 3 (M/A-COM Linkabit, December 1983.)fjt 300 826 63 0 (22.)fjt 375 826 1875 15 (Gusella, R., and S. Zatti. TEMPO - A network time controller for a distributed Berkeley UNIX)fjt 375 767 163 1 (system. )fjt /tface 10 def sf 538 767 1279 6 (IEEE Distributed Processing Technical Committee Newsletter 6)fjt /tface 8 def sf 1817 767 434 3 (, NoSI-2 \(June 1984\),)fjt 375 709 291 3 (7-15. \(also in: )fjt /tface 10 def sf 666 709 582 3 (Proc. Summer 1984 USENIX)fjt /tface 8 def sf 1247 709 558 5 (, Salt Lake City, June 1984\))fjt 300 612 63 0 (23.)fjt 375 612 1766 12 (Halpern, J.Y., B. Simons, R. Strong and D. Dolly. Fault-tolerant clock synchronization. )fjt /tface 10 def sf 2141 612 109 0 (Proc.)fjt 375 554 1366 8 (Third Annual ACM Sympos. on Principles of Distributed Computing)fjt /tface 8 def sf 1741 554 461 3 (, August 1984, 89-102.)fjt 300 457 63 0 (24.)fjt 375 457 1766 12 (Lundelius, J., and N.A. Lynch. A new fault-tolerant algorithm for clock synchronization. )fjt /tface 10 def sf 2141 457 109 0 (Proc.)fjt 375 399 1366 8 (Third Annual ACM Sympos. on Principles of Distributed Computing)fjt /tface 8 def sf 1741 399 436 3 (, August 1984, 75-88.)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 3374 2624 3374 2624 2825 -75 2825 np mto lto lto lto clip np /tface 4 def 4 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2979 230 0 (RFC-1119)fjt 1024 2979 504 2 (Network Time Protocol)fjt 1882 2979 369 1 (September 1989)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 474 2624 474 2624 -75 -75 -75 np mto lto lto lto clip np /tface 4 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 279 100 0 (Mills)fjt 2065 279 186 1 (Page 42)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np %End page showpage svobj restore gr gs /svobj save def %Begin page UserSoP greset -75 3374 2624 3374 2624 -75 -75 -75 np mto lto lto lto clip np /tface 8 def 8 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2839 63 0 (25.)fjt 375 2839 1675 12 (Lamport, L., and P.M. Melliar-Smith. Synchronizing clocks in the presence of faults. )fjt /tface 10 def 10 encfont sf 2050 2839 200 1 (JACM 32,)fjt /tface 8 def sf 375 2781 492 3 (1 \(January 1985\), 52-78.)fjt 300 2690 63 0 (26.)fjt 375 2690 1875 12 (Gusella, R., and S. Zatti. The Berkeley UNIX 4.3BSD time synchronization protocol: protocol)fjt 375 2632 1875 9 (specification. Technical Report UCB/CSD 85/250, University of California, Berkeley, June)fjt 375 2574 113 0 (1985.)fjt 300 2483 63 0 (27.)fjt 375 2483 1548 12 (Marzullo, K., and S. Owicki. Maintaining the time in a distributed system. )fjt /tface 10 def sf 1923 2483 327 1 (ACM Operating)fjt 375 2425 401 3 (Systems Review 19, )fjt /tface 8 def sf 776 2425 420 3 (3 \(July 1985\), 44-54.)fjt 300 2334 63 0 (28.)fjt 375 2334 1875 10 (Mills, D.L. Algorithms for synchronizing network clocks. DARPA Network Working Group)fjt 375 2276 1127 5 (Report RFC-956, M/A-COM Linkabit, September 1985.)fjt 300 2185 63 0 (29.)fjt 375 2185 1875 10 (Mills, D.L. Experiments in network clock synchronization. DARPA Network Working Group)fjt 375 2127 1127 5 (Report RFC-957, M/A-COM Linkabit, September 1985.)fjt 300 2037 63 0 (30.)fjt 375 2037 1875 11 (Mills, D.L. Network Time Protocol \(NTP\). DARPA Network Working Group Report RFC-958,)fjt 375 1978 768 3 (M/A-COM Linkabit, September 1985.)fjt 300 1888 63 0 (31.)fjt 375 1888 1785 13 (Gusella, R., and S. Zatti. An election algorithm for a distributed clock synchronization prog)fjt 2160 1888 90 0 (ram.)fjt 375 1829 1783 9 (Technical Report UCB/CSD 86/275, University of California, Berkeley, December 1985.)fjt 300 1739 63 0 (32.)fjt 375 1739 387 3 (Jordan, E.C. \(Ed\). )fjt /tface 10 def sf 762 1739 988 6 (Reference Data for Engineers, Seventh Edition. )fjt /tface 8 def sf 1750 1739 500 4 (H.W. Sams & Co., New)fjt 375 1681 240 1 (York, 1985.)fjt 300 1590 63 0 (33.)fjt 375 1590 1875 10 (Schneider, F.B. A paradigm for reliable clock synchronization. Department of Computer)fjt 375 1532 1468 8 (Science Technical Report TR 86-735, Cornell University, February 1986.)fjt 300 1441 63 0 (34.)fjt 375 1441 1875 8 (Bell Communications Research. Digital Synchronization Network Plan. Technical Advisory)fjt 375 1383 742 3 (TA-NPL-000436, 1 November 1986.)fjt 300 1292 63 0 (35.)fjt 375 1292 1875 11 (Tripathi, S.K., and S.H. Chang. ETempo: a clock synchronization algorithm for hierarchical)fjt 375 1234 1875 10 (LANs - implementation and measurements. Systems Research Center Technical Report TR-86-)fjt 375 1176 683 4 (48, University of Maryland, 1986.)fjt 300 1085 63 0 (36.)fjt 375 1085 1875 8 (Bell Communications Research. Digital Synchronization Network Plan. Technical Advisory)fjt 375 1027 742 3 (TA-NPL-000436, 1 November 1986.)fjt 300 936 63 0 (37.)fjt 375 936 630 5 (Bertsekas, D., and R. Gallager. )fjt /tface 10 def sf 1005 936 300 1 (Data Networks)fjt /tface 8 def sf 1305 936 885 5 (. Prentice-Hall, Englewood Cliffs, NJ, 1987.)fjt 300 846 63 0 (38.)fjt 375 846 1209 8 (Srikanth, T.K., and S. Toueg. Optimal clock synchronization. )fjt /tface 10 def sf 1584 846 186 1 (JACM 34)fjt /tface 8 def sf 1770 846 480 4 (, 3 \(July 1987\), 626-645.)fjt 300 755 63 0 (39.)fjt 375 755 1767 11 (Kopetz, H., and W. Ochsenreiter. Clock synchronization in distributed real-time systems. )fjt /tface 10 def sf 2142 755 108 0 (IEEE)fjt 375 697 497 3 (Trans. Computers C-36, )fjt /tface 8 def sf 872 697 531 3 (8 \(August 1987\), 933-939.)fjt 300 606 63 0 (40.)fjt 375 606 1770 10 (Rickert, N.W. Non Byzantine clock synchronization - a programming experiment. )fjt /tface 10 def sf 2145 606 105 0 (ACM)fjt 375 548 618 4 (Operating Systems Review 22, )fjt /tface 8 def sf 993 548 492 3 (1 \(January 1988\), 73-78.)fjt 300 457 63 0 (41.)fjt 375 457 1347 10 (Cole, R., and C. Foxcroft. An experiment in clock synchronisation. )fjt /tface 10 def sf 1722 457 516 3 (The Computer Journal 31)fjt /tface 8 def sf 2238 457 13 0 (,)fjt 375 399 375 2 (6 \(1988\), 496-502.)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 3374 2624 3374 2624 2825 -75 2825 np mto lto lto lto clip np /tface 4 def 4 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2979 230 0 (RFC-1119)fjt 1024 2979 504 2 (Network Time Protocol)fjt 1882 2979 369 1 (September 1989)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 474 2624 474 2624 -75 -75 -75 np mto lto lto lto clip np /tface 4 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 279 100 0 (Mills)fjt 2065 279 186 1 (Page 43)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np %End page showpage svobj restore gr gs /svobj save def %Begin page UserSoP greset -75 3374 2624 3374 2624 -75 -75 -75 np mto lto lto lto clip np /tface 8 def 8 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2839 63 0 (42.)fjt 375 2839 1875 11 (Mills, D.L. Network Time Protocol \(version 1\) - specification and implementation. DARPA)fjt 375 2781 1600 9 (Network Working Group Report RFC-1059, University of Delaware, July 1988.)fjt 300 2692 63 0 (43.)fjt 375 2692 500 4 (Mills, D.L. The fuzzball. )fjt /tface 10 def 10 encfont sf 875 2692 762 4 (Proc. ACM SIGCOMM 88 Symposium)fjt /tface 8 def sf 1637 2692 613 5 ( \(Palo Alto, CA, August 1988\),)fjt 375 2633 179 0 (115-122.)fjt 300 2544 63 0 (44.)fjt 375 2544 1859 11 (Mills, D.L. Internet time synchronization: the Network Time Protocol. Submitted for publica)fjt 2234 2544 17 0 (-)fjt 375 2486 90 0 (tion.)fjt 300 2397 63 0 (45.)fjt 375 2397 1875 11 (Abate, et al. AT&T's new approach to the synchronization of telecommunication networks.)fjt /tface 10 def sf 375 2338 667 2 (IEEE Communications Magazine)fjt /tface 8 def sf 1042 2338 417 3 ( \(April 1989\), 35-45.)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 3374 2624 3374 2624 2825 -75 2825 np mto lto lto lto clip np /tface 4 def 4 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2979 230 0 (RFC-1119)fjt 1024 2979 504 2 (Network Time Protocol)fjt 1882 2979 369 1 (September 1989)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 474 2624 474 2624 -75 -75 -75 np mto lto lto lto clip np /tface 4 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 279 100 0 (Mills)fjt 2065 279 186 1 (Page 44)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np %End page showpage svobj restore gr gs /svobj save def %Begin page UserSoP greset -75 3374 2624 3374 2624 -75 -75 -75 np mto lto lto lto clip np /tface 5 def 5 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2841 42 0 (8.)fjt (2)12 ( )30 (n)29 (o)13 (i)27 (s)18 (r)27 (e)29 (V)13 ( )15 (-)12 ( )16 (t)27 (a)43 (m)18 (r)30 (o)29 (F)12 ( )27 (a)16 (t)26 (a)35 (D)13 ( )31 (P)30 (T)35 (N)12 ( )13 (.)35 (A)12 ( )27 (x)13 (i)29 (d)30 (n)26 (e)30 (p)29 (p)35 (A)13 ( )0 40 350 2841 fet /tface 8 def 8 encfont sf 300 2752 1950 15 (The format of the NTP Message data area, which immediately follows the UDP header, is shown)fjt 300 2693 219 2 (in Figure 5)fjt 519 2693 792 7 (. Following is a description of its fields.)fjt 300 2601 1934 16 (Leap Indicator \(LI\): This is a two-bit code warning of an impending leap second to be in)fjt 2234 2601 17 0 (-)fjt 375 2541 1856 17 (serted/deleted in the last minute of the current day, with bit 0 and bit 1, respectively, coded a)fjt 2231 2541 19 0 (s)fjt 375 2481 163 0 (follows:)fjt 533 2389 50 0 (00)fjt 700 2389 226 1 (no warning)fjt 533 2329 50 0 (01)fjt 700 2329 531 4 (last minute has 61 seconds)fjt 533 2269 50 0 (10)fjt 700 2269 547 4 (last minute has 59 seconds\))fjt 533 2209 50 0 (11)fjt 700 2209 821 4 (alarm condition \(clock not synchronized\))fjt 300 2118 1840 13 (Version Number \(VN\): This is a three-bit integer indicating the NTP version number, currentl)fjt 2140 2118 110 1 (y two)fjt 375 2058 71 0 (\(2\).)fjt 300 1965 1694 13 (Mode: This is a three-bit integer indicating the mode, with values defined as follows:)fjt 533 1873 25 0 (0)fjt 700 1873 168 0 (reserved)fjt 533 1813 25 0 (1)fjt 700 1813 341 1 (symmetric active)fjt 533 1753 25 0 (2)fjt 700 1753 369 1 (symmetric passive)fjt 533 1693 25 0 (3)fjt 700 1693 110 0 (client)fjt 533 1633 25 0 (4)fjt 700 1633 121 0 (server)fjt 533 1573 25 0 (5)fjt 700 1573 191 0 (broadcast)fjt 533 1513 25 0 (6)fjt 700 1513 1044 7 (reserved for NTP control message \(see Appendix B\))fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset 225 1563 2324 1563 2324 410 225 410 np mto lto lto lto clip np greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset 730 1533 1791 1533 1791 442 730 442 np mto lto lto lto clip np 800 1413 801 1413 801 1338 800 1338 fa colmap 1 [0 0 0 ] put 1 sci gs eofill gr 800 1413 875 1413 875 1412 800 1412 fa gs eofill gr 800 1338 875 1338 875 1337 800 1337 fa gs eofill gr 875 1413 876 1413 876 1338 875 1338 fa gs eofill gr greset 730 1488 949 1488 949 1264 730 1264 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 814 1354 47 0 (LI)fjt greset 730 1533 1791 1533 1791 442 730 442 np mto lto lto lto clip np 875 1413 876 1413 876 1338 875 1338 fa colmap 1 [0 0 0 ] put 1 sci gs eofill gr 875 1413 950 1413 950 1412 875 1412 fa gs eofill gr 875 1338 950 1338 950 1337 875 1337 fa gs eofill gr 950 1413 951 1413 951 1338 950 1338 fa gs eofill gr greset 800 1488 1024 1488 1024 1264 800 1264 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 877 1354 72 0 (VN)fjt greset 730 1533 1791 1533 1791 442 730 442 np mto lto lto lto clip np 950 1413 951 1413 951 1338 950 1338 fa colmap 1 [0 0 0 ] put 1 sci gs eofill gr 950 1413 1050 1413 1050 1412 950 1412 fa gs eofill gr 950 1338 1050 1338 1050 1337 950 1337 fa gs eofill gr 1050 1413 1051 1413 1051 1338 1050 1338 fa gs eofill gr greset 875 1488 1124 1488 1124 1264 875 1264 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 935 1354 129 0 (Mode)fjt greset 730 1533 1791 1533 1791 442 730 442 np mto lto lto lto clip np 1500 1413 1501 1413 1501 1338 1500 1338 fa colmap 1 [0 0 0 ] put 1 sci gs eofill gr 1500 1413 1725 1413 1725 1412 1500 1412 fa gs eofill gr 1500 1338 1725 1338 1725 1337 1500 1337 fa gs eofill gr 1725 1413 1726 1413 1726 1338 1725 1338 fa gs eofill gr greset 1425 1488 1791 1488 1791 1264 1425 1264 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 1520 1354 185 0 (Precision)fjt greset 730 1533 1791 1533 1791 442 730 442 np mto lto lto lto clip np 800 1338 801 1338 801 1263 800 1263 fa colmap 1 [0 0 0 ] put 1 sci gs eofill gr 800 1338 1725 1338 1725 1337 800 1337 fa gs eofill gr 800 1263 1725 1263 1725 1262 800 1262 fa gs eofill gr 1725 1338 1726 1338 1726 1263 1725 1263 fa gs eofill gr greset 730 1413 1791 1413 1791 1189 730 1189 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 976 1279 573 2 (Synchronizing Distance \(32\))fjt greset 730 1533 1791 1533 1791 442 730 442 np mto lto lto lto clip np 1275 1413 1276 1413 1276 1338 1275 1338 fa colmap 1 [0 0 0 ] put 1 sci gs eofill gr 1275 1413 1500 1413 1500 1412 1275 1412 fa gs eofill gr 1275 1338 1500 1338 1500 1337 1275 1337 fa gs eofill gr 1500 1413 1501 1413 1501 1338 1500 1338 fa gs eofill gr greset 1200 1488 1574 1488 1574 1264 1200 1264 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 1347 1354 80 0 (Poll)fjt greset 730 1533 1791 1533 1791 442 730 442 np mto lto lto lto clip np 800 1263 801 1263 801 1188 800 1188 fa colmap 1 [0 0 0 ] put 1 sci gs eofill gr 800 1263 1725 1263 1725 1262 800 1262 fa gs eofill gr 800 1188 1725 1188 1725 1187 800 1187 fa gs eofill gr 1725 1263 1726 1263 1726 1188 1725 1188 fa gs eofill gr greset 730 1338 1791 1338 1791 1114 730 1114 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 955 1204 614 2 (Synchronizing Dispersion \(32\))fjt greset 730 1533 1791 1533 1791 442 730 442 np mto lto lto lto clip np 800 738 801 738 801 613 800 613 fa colmap 1 [0 0 0 ] put 1 sci gs eofill gr 800 738 1725 738 1725 737 800 737 fa gs eofill gr 800 613 1725 613 1725 612 800 612 fa gs eofill gr 1725 738 1726 738 1726 613 1725 613 fa gs eofill gr greset 730 813 1791 813 1791 539 730 539 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 1006 661 511 2 (Transmit Timestamp \(64\))fjt greset 730 1533 1791 1533 1791 442 730 442 np mto lto lto lto clip np 800 1113 801 1113 801 988 800 988 fa colmap 1 [0 0 0 ] put 1 sci gs eofill gr 800 1113 1725 1113 1725 1112 800 1112 fa gs eofill gr 800 988 1725 988 1725 987 800 987 fa gs eofill gr 1725 1113 1726 1113 1726 988 1725 988 fa gs eofill gr greset 730 1188 1791 1188 1791 914 730 914 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 996 1036 533 2 (Reference Timestamp \(64\))fjt greset 730 1533 1791 1533 1791 442 730 442 np mto lto lto lto clip np 800 988 801 988 801 863 800 863 fa colmap 1 [0 0 0 ] put 1 sci gs eofill gr 800 988 1725 988 1725 987 800 987 fa gs eofill gr 800 863 1725 863 1725 862 800 862 fa gs eofill gr 1725 988 1726 988 1726 863 1725 863 fa gs eofill gr greset 730 1063 1791 1063 1791 789 730 789 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 1002 911 520 2 (Originate Timestamp \(64\))fjt greset 730 1533 1791 1533 1791 442 730 442 np mto lto lto lto clip np 800 863 801 863 801 738 800 738 fa colmap 1 [0 0 0 ] put 1 sci gs eofill gr 800 863 1725 863 1725 862 800 862 fa gs eofill gr 800 738 1725 738 1725 737 800 737 fa gs eofill gr 1725 863 1726 863 1726 738 1725 738 fa gs eofill gr greset 730 938 1791 938 1791 664 730 664 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 1016 786 492 2 (Receive Timestamp \(64\))fjt greset 730 1533 1791 1533 1791 442 730 442 np mto lto lto lto clip np 1050 1413 1051 1413 1051 1338 1050 1338 fa colmap 1 [0 0 0 ] put 1 sci gs eofill gr 1050 1413 1275 1413 1275 1412 1050 1412 fa gs eofill gr 1050 1338 1275 1338 1275 1337 1050 1337 fa gs eofill gr 1275 1413 1276 1413 1276 1338 1275 1338 fa gs eofill gr greset 975 1488 1349 1488 1349 1264 975 1264 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 1084 1354 158 0 (Stratum)fjt greset 730 1533 1791 1533 1791 442 730 442 np mto lto lto lto clip np 800 1188 801 1188 801 1113 800 1113 fa colmap 1 [0 0 0 ] put 1 sci gs eofill gr 800 1188 1725 1188 1725 1187 800 1187 fa gs eofill gr 800 1113 1725 1113 1725 1112 800 1112 fa gs eofill gr 1725 1188 1726 1188 1726 1113 1725 1113 fa gs eofill gr greset 730 1263 1791 1263 1791 1039 730 1039 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 1015 1129 494 2 (Reference Identifier \(32\))fjt greset 730 1533 1791 1533 1791 442 730 442 np mto lto lto lto clip np greset 730 1533 907 1533 907 1343 730 1343 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 791 1429 25 0 (0)fjt greset 730 1533 1791 1533 1791 442 730 442 np mto lto lto lto clip np greset 1600 1533 1791 1533 1791 1345 1600 1345 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 1686 1429 50 0 (31)fjt greset 730 1533 1791 1533 1791 442 730 442 np mto lto lto lto clip np greset 950 1533 1167 1533 1167 1343 950 1343 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 1046 1429 25 0 (8)fjt greset 730 1533 1791 1533 1791 442 730 442 np mto lto lto lto clip np greset 1175 1533 1393 1533 1393 1345 1175 1345 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 1260 1429 50 0 (16)fjt greset 730 1533 1791 1533 1791 442 730 442 np mto lto lto lto clip np greset 1400 1533 1618 1533 1618 1345 1400 1345 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 1485 1429 50 0 (24)fjt greset 730 1533 1791 1533 1791 442 730 442 np mto lto lto lto clip np 800 613 801 613 801 488 800 488 fa colmap 1 [0 0 0 ] put 1 sci gs eofill gr 800 613 1725 613 1725 612 800 612 fa gs eofill gr 800 488 1725 488 1725 487 800 487 fa gs eofill gr 1725 613 1726 613 1726 488 1725 488 fa gs eofill gr greset 730 688 1791 688 1791 442 730 442 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 973 536 578 2 (Authenticator \(optional\) \(96\))fjt greset 730 1533 1791 1533 1791 442 730 442 np mto lto lto lto clip np greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset 225 559 2324 559 2324 298 225 298 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 961 400 629 4 (Figure 5. NTP Message Header)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 3374 2624 3374 2624 2825 -75 2825 np mto lto lto lto clip np /tface 4 def 4 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2979 230 0 (RFC-1119)fjt 1024 2979 504 2 (Network Time Protocol)fjt 1882 2979 369 1 (September 1989)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 474 2624 474 2624 -75 -75 -75 np mto lto lto lto clip np /tface 4 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 279 100 0 (Mills)fjt 2065 279 186 1 (Page 45)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np %End page showpage svobj restore gr gs /svobj save def %Begin page UserSoP greset -75 3374 2624 3374 2624 -75 -75 -75 np mto lto lto lto clip np /tface 8 def 8 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 533 2839 25 0 (7)fjt 700 2839 468 3 (reserved for private use)fjt 300 2742 1792 15 (Stratum: This is a eight-bit integer indicating the stratum level of the local clock, with values)fjt 2092 2742 158 1 ( defined)fjt 375 2682 217 1 (as follows:)fjt 533 2583 25 0 (0)fjt 700 2583 229 0 (unspecified)fjt 533 2523 25 0 (1)fjt 700 2523 720 4 (primary reference \(e.g., radio clock\))fjt 533 2463 117 0 (2-255)fjt 700 2463 612 3 (secondary reference \(via NTP\))fjt 375 2366 1608 13 (The values that can appear in this field range from zero to NTP.INFIN inclusive.)fjt 300 2260 1732 12 (Poll Interval: This is an eight-bit signed integer indicating the maximum interval between)fjt 2032 2260 218 1 ( successive)fjt 375 2200 1875 17 (messages, in seconds to the nearest power of two. The values that can appear in this field range)fjt 375 2140 1054 4 (from NTP.MINPOLL to NTP.MAXPOLL inclusive.)fjt 300 2034 1834 15 (Precision: This is an eight-bit signed integer indicating the precision of the local clock, in se)fjt 2134 2034 116 0 (conds)fjt 375 1974 556 5 (to the nearest power of two.)fjt 300 1867 1835 11 (Synchronizing Distance: This is a 32-bit fixed-point number indicating the estimated roundtrip)fjt 2135 1867 116 1 ( delay)fjt 375 1807 1820 14 (to the primary synchronizing source, in seconds with fraction point between bits 15 and 16.)fjt 300 1701 1851 11 (Synchronizing Dispersion: This is a 32-bit fixed-point number indicating the estimated dispe)fjt 2151 1701 100 0 (rsion)fjt 375 1641 1820 14 (to the primary synchronizing source, in seconds with fraction point between bits 15 and 16.)fjt 300 1534 1807 12 (Reference Clock Identifier: This is a 32-bit code identifying the particular reference clock)fjt 2107 1534 143 2 (. In the)fjt 375 1474 1772 14 (case of stratum 0 \(unspecified\) or stratum 1 \(primary reference\), this is a four-octet, left-just)fjt 2147 1474 104 0 (ified,)fjt 375 1414 1875 12 (zero-padded ASCII string. While not ennumerated as part of the NTP specification, the)fjt 375 1354 846 4 (following are suggested ASCII identifiers:)fjt 651 1225 1900 1225 1900 1224 651 1224 fa gs eofill gr 650 1296 1901 1296 1901 1295 650 1295 fa gs eofill gr 650 554 1901 554 1901 555 650 555 fa gs eofill gr 650 1296 651 1296 651 554 650 554 fa gs eofill gr 1901 1296 1900 1296 1900 554 1901 554 fa gs eofill gr 700 1235 158 0 (Stratum)fjt 978 1235 105 0 (Code)fjt 1255 1235 177 0 (Meaning)fjt 700 1165 25 0 (0)fjt 978 1165 105 0 (DCN)fjt 1255 1165 440 2 (DCN routing protocol)fjt 700 1105 25 0 (0)fjt 978 1105 111 0 (NIST)fjt 1255 1105 410 2 (NIST public modem)fjt 700 1045 25 0 (0)fjt 978 1045 86 0 (TSP)fjt 1255 1045 365 2 (TSP time protocol)fjt 700 985 25 0 (1)fjt 978 985 103 0 (GBR)fjt 1255 985 337 3 (GBR VLF radio )fjt 700 925 25 0 (1)fjt 978 925 163 0 (WWVB)fjt 1255 925 349 2 (WWVB LF radio)fjt 700 865 25 0 (1)fjt 978 865 130 0 (GOES)fjt 1255 865 409 2 (GOES UHF satellite)fjt 700 805 25 0 (1)fjt 978 805 92 0 (GPS)fjt 1255 805 370 2 (GPS UHF satellite)fjt 700 745 25 0 (1)fjt 978 745 105 0 (CHU)fjt 1255 745 296 2 (CHU HF radio)fjt 700 685 25 0 (1)fjt 978 685 100 0 (MSF)fjt 1255 685 291 2 (MSF HF radio)fjt 700 625 25 0 (1)fjt 978 625 130 0 (WWV)fjt 1255 625 321 2 (WWV HF radio)fjt 700 565 25 0 (1)fjt 978 565 166 0 (WWVH)fjt 1255 565 357 2 (WWVH HF radio)fjt 375 457 1802 15 (In the case of type 2 and greater \(secondary reference\) this is the four-octet Internet addres)fjt 2177 457 73 1 (s of)fjt 375 399 366 2 (the reference host.)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 3374 2624 3374 2624 2825 -75 2825 np mto lto lto lto clip np /tface 4 def 4 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2979 230 0 (RFC-1119)fjt 1024 2979 504 2 (Network Time Protocol)fjt 1882 2979 369 1 (September 1989)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 474 2624 474 2624 -75 -75 -75 np mto lto lto lto clip np /tface 4 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 279 100 0 (Mills)fjt 2065 279 186 1 (Page 46)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np %End page showpage svobj restore gr gs /svobj save def %Begin page UserSoP greset -75 3374 2624 3374 2624 -75 -75 -75 np mto lto lto lto clip np /tface 8 def 8 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2839 1911 17 (Reference Timestamp: This is the local time at which the local clock was last set or corrected, )fjt 2211 2839 39 0 (in)fjt 375 2779 496 2 (64-bit timestamp format.)fjt 300 2689 1950 16 (Originate Timestamp: This is the local time at which the request departed the client host for the)fjt 375 2629 808 5 (service host, in 64-bit timestamp format.)fjt 300 2539 1856 17 (Receive Timestamp: This is the local time at which the request arrived at the service host, in 6)fjt 2156 2539 94 0 (4-bit)fjt 375 2479 365 1 (timestamp format.)fjt 300 2389 1862 17 (Transmit Timestamp: This is the local time at which the reply departed the service host for the c)fjt 2162 2389 88 0 (lient)fjt 375 2329 655 4 (host, in 64-bit timestamp format.)fjt 300 2239 1931 10 (Authenticator \(optional\): When the NTP authentication mechanism is implemented, this contain)fjt 2231 2239 19 0 (s)fjt 375 2179 1061 6 (the authenticator information defined in Appendix C.)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 3374 2624 3374 2624 2825 -75 2825 np mto lto lto lto clip np /tface 4 def 4 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2979 230 0 (RFC-1119)fjt 1024 2979 504 2 (Network Time Protocol)fjt 1882 2979 369 1 (September 1989)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 474 2624 474 2624 -75 -75 -75 np mto lto lto lto clip np /tface 4 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 279 100 0 (Mills)fjt 2065 279 186 1 (Page 47)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np %End page showpage svobj restore gr gs /svobj save def %Begin page UserSoP greset -75 3374 2624 3374 2624 -75 -75 -75 np mto lto lto lto clip np /tface 5 def 5 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2841 42 0 (9.)fjt (s)27 (e)29 (g)27 (a)27 (s)27 (s)26 (e)41 (M)12 ( )13 (l)29 (o)19 (r)15 (t)30 (n)29 (o)35 (C)12 ( )32 (P)29 (T)35 (N)13 ( )13 (.)35 (B)12 ( )27 (x)13 (i)29 (d)30 (n)26 (e)30 (p)29 (p)35 (A)13 ( )0 33 350 2841 fet /tface 8 def 8 encfont sf 300 2751 1870 10 (In a comprehensive network-management environment, facilities are presumed available to perf)fjt 2170 2751 80 0 (orm)fjt 300 2692 1834 14 (routine NTP control and monitoring functions, such as setting the leap-indicator bits at the pr)fjt 2134 2692 116 0 (imary)fjt 300 2634 1913 10 (servers, adjusting the various system parameters and monitoring regular operations. Ordinaril)fjt 2213 2634 38 0 (y,)fjt 300 2576 1950 12 (these functions can be implemented using a network-management protocol such as SNMP and)fjt 300 2518 1950 14 (suitable extensions to the MIB database. However, in those cases where such facilities are not)fjt 300 2459 1860 12 (available, these functions can be implemented using special NTP control messages described he)fjt 2160 2459 90 0 (rein.)fjt 300 2401 1950 14 (These messages are intended for use only in systems where no other management facilities are)fjt 300 2343 1862 12 (available or appropriate, such as in dedicated-function bus peripherals. Support for these mess)fjt 2162 2343 88 0 (ages)fjt 300 2285 1103 9 (is not required in order to conform to this specification.)fjt 300 2192 1950 19 (The NTP Control Message has the value 6 specified in the mode field of the first octet of the NTP)fjt 300 2134 1950 17 (header and is formatted as shown below. The format of the data field is specific to each command)fjt 300 2075 1950 16 (or response; however, in most cases the format is designed to be constructed and viewed by humans)fjt 300 2017 1889 14 (and so is coded in free-form ASCII. This facilitates the specification and implementation of sim)fjt 2189 2017 61 0 (ple)fjt 300 1959 1950 12 (management tools in the absence of fully evolved network-management facilities. As in ordinary)fjt 300 1901 1892 15 (NTP messages, the authenticator field follows the data field. If the authenticator is used the d)fjt 2192 1901 58 0 (ata)fjt 300 1842 1914 17 (field is zero-padded to a 32-bit boundary, but the padding bits are not considered part of the da)fjt 2214 1842 36 0 (ta)fjt 300 1784 873 8 (field and are not included in the field count.)fjt 300 1691 1931 14 (IP hosts are not required to reassemble datagrams larger than 576 octets; however, some command)fjt 2231 1691 19 0 (s)fjt 300 1633 1950 15 (or responses may involve more data than will fit into a single datagram. Accordingly, a simple)fjt 300 1575 1898 15 (reassembly feature is included in which each octet of the message data is numbered starting w)fjt 2198 1575 53 0 (ith)fjt 300 1517 1791 17 (zero. As each fragment is transmitted the number of its first octet is inserted in the offset f)fjt 2091 1517 159 1 (ield and)fjt 300 1458 1917 18 (the number of octets is inserted in the count field. The more-data \(M\) bit is set in all fragmen)fjt 2217 1458 33 0 (ts)fjt 300 1400 297 2 (except the last.)fjt 300 1307 1925 12 (Most control functions involve sending a command and receiving a response, perhaps involvin)fjt 2225 1307 25 0 (g)fjt 300 1249 1876 14 (several fragments. The sender chooses a distinct, nonzero sequence number and sets the status f)fjt 2176 1249 75 0 (ield)fjt 300 1191 1785 15 (and R and E bits to zero. The responder interprets the opcode and additional information in)fjt 2085 1191 165 2 ( the data)fjt 300 1132 1865 19 (field, updates the status field, sets the R bit to one and returns the three 32-bit words of the he)fjt 2165 1132 86 0 (ader)fjt 300 1074 1806 15 (along with additional information in the data field. In case of invalid message format or c)fjt 2106 1074 144 0 (ontents)fjt 300 1016 1821 19 (the responder inserts a code in the status field, sets the R and E bits to one and, optionally, )fjt 2121 1016 130 0 (inserts)fjt 300 958 756 6 (a diagnostic message in the data field.)fjt 300 865 1898 13 (Some commands read or write system variables and peer variables for an association identified)fjt 2198 865 52 1 ( in)fjt 300 807 1925 15 (the command. Others read or write variables associated with a radio clock or other device directl)fjt 2225 807 25 0 (y)fjt 300 749 1889 13 (connected to a source of primary synchronization information. To identify which type of varia)fjt 2189 749 61 0 (ble)fjt 300 690 1699 13 (and association a 16-bit association identifier is used. System variables are indicated by )fjt 1999 690 251 1 (the identifier)fjt 300 632 1749 15 (zero. As each association is mobilized a unique, nonzero identifier is created for it. These )fjt 2049 632 201 0 (identifiers)fjt 300 574 1950 18 (are used in a cyclic fashion, so that the chance of using an old identifier which matches a newly)fjt 300 516 1878 14 (created association is remote. A management entity can request a list of current identifiers )fjt 2178 516 72 0 (and)fjt 300 457 1848 16 (subsequently use them to read and write variables for each association. An attempt to use an ex)fjt 2148 457 102 0 (pired)fjt 300 399 1803 13 (identifier results in an exception response, following which the list can be requested again.)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 3374 2624 3374 2624 2825 -75 2825 np mto lto lto lto clip np /tface 4 def 4 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2979 230 0 (RFC-1119)fjt 1024 2979 504 2 (Network Time Protocol)fjt 1882 2979 369 1 (September 1989)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 474 2624 474 2624 -75 -75 -75 np mto lto lto lto clip np /tface 4 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 279 100 0 (Mills)fjt 2065 279 186 1 (Page 48)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np %End page showpage svobj restore gr gs /svobj save def %Begin page UserSoP greset -75 3374 2624 3374 2624 -75 -75 -75 np mto lto lto lto clip np /tface 8 def 8 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2050 1892 13 (Some exception events, such as when a peer becomes reachable or unreachable, occur spontaneou)fjt 2192 2050 58 0 (sly)fjt 300 1992 1889 15 (and are not necessarily associated with a command. An implementation may elect to save the ev)fjt 2189 1992 61 0 (ent)fjt 300 1933 1887 16 (information for later retrieval or to send an asynchronous response \(called a trap\) or both. In c)fjt 2187 1933 63 0 (ase)fjt 300 1875 1950 17 (of a trap the IP address and port number is determined by a previous command and the sequence)fjt 300 1817 1886 14 (field is set as described below. Current status and summary information for the latest except)fjt 2186 1817 64 0 (ion)fjt 300 1759 1808 15 (event is returned in all normal responses. Bits in the status field indicate whether an except)fjt 2108 1759 143 1 (ion has)fjt 300 1700 1668 12 (occurred since the last response and whether more than one exception has occurred.)fjt 300 1610 1855 13 (Commands need not necessarily be sent by an NTP peer, so ordinary access-control procedures)fjt 2155 1610 95 1 ( may)fjt 300 1552 1950 11 (not apply; however, the optional mask/match mechanism suggested elsewhere in this document)fjt 300 1493 1892 17 (provides the capability to control access by mode number, so this could be used to limit access )fjt 2192 1493 58 0 (for)fjt 300 1435 1087 8 (control messages \(mode 6\) to selected address ranges. )fjt /tface 5 def 5 encfont sf 300 1344 83 0 (9.1.)fjt (t)27 (a)43 (m)18 (r)30 (o)29 (F)13 ( )27 (e)29 (g)27 (a)27 (s)26 (s)27 (e)41 (M)12 ( )13 (l)30 (o)18 (r)15 (t)30 (n)29 (o)35 (C)13 ( )32 (P)29 (T)35 (N)13 ( )0 27 383 1344 fet /tface 8 def sf 300 1255 1950 14 (The format of the NTP Control Message header, which immediately follows the UDP header, is)fjt 300 1196 367 3 (shown in Figure 6.)fjt 667 1196 1583 14 ( Following is a description of its fields. Bit positions marked as zero are reserved)fjt 300 1138 828 6 (and should always be transmitted as zero.)fjt 300 1046 1840 13 (Version Number \(VN\): This is a three-bit integer indicating the NTP version number, currentl)fjt 2140 1046 110 1 (y two)fjt 375 986 71 0 (\(2\).)fjt 300 892 1856 17 (Mode: This is a three-bit integer indicating the mode. It must have the value 6, indicating an )fjt 2156 892 94 0 (NTP)fjt 375 832 334 1 (control message.)fjt 300 739 1266 10 (Response Bit \(R\): Set to zero for commands, one for responses.)fjt 300 646 1379 12 (Error Bit \(E\): Set to zero for normal response, one for error response.)fjt 300 552 1230 12 (More Bit \(M\): Set to zero for last fragment, one for all others.)fjt 300 459 1898 13 (Operation Code \(Op\): This is a five-bit integer specifying the command function. Values curren)fjt 2198 459 53 0 (tly)fjt 375 399 602 3 (defined include the following:)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset 225 2978 2324 2978 2324 2151 225 2151 np mto lto lto lto clip np greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset 754 2948 1795 2948 1795 2182 754 2182 np mto lto lto lto clip np 800 2828 801 2828 801 2753 800 2753 fa colmap 1 [0 0 0 ] put 1 sci gs eofill gr 800 2828 875 2828 875 2827 800 2827 fa gs eofill gr 800 2753 875 2753 875 2752 800 2752 fa gs eofill gr 875 2828 876 2828 876 2753 875 2753 fa gs eofill gr greset 754 2903 949 2903 949 2679 754 2679 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 813 2770 50 0 (00)fjt greset 754 2948 1795 2948 1795 2182 754 2182 np mto lto lto lto clip np 875 2828 876 2828 876 2753 875 2753 fa colmap 1 [0 0 0 ] put 1 sci gs eofill gr 875 2828 950 2828 950 2827 875 2827 fa gs eofill gr 875 2753 950 2753 950 2752 875 2752 fa gs eofill gr 950 2828 951 2828 951 2753 950 2753 fa gs eofill gr greset 800 2903 1024 2903 1024 2679 800 2679 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 877 2770 72 0 (VN)fjt greset 754 2948 1795 2948 1795 2182 754 2182 np mto lto lto lto clip np 950 2828 951 2828 951 2753 950 2753 fa colmap 1 [0 0 0 ] put 1 sci gs eofill gr 950 2828 1050 2828 1050 2827 950 2827 fa gs eofill gr 950 2753 1050 2753 1050 2752 950 2752 fa gs eofill gr 1050 2828 1051 2828 1051 2753 1050 2753 fa gs eofill gr greset 875 2903 1124 2903 1124 2679 875 2679 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 987 2770 25 0 (6)fjt greset 754 2948 1795 2948 1795 2182 754 2182 np mto lto lto lto clip np 1275 2828 1276 2828 1276 2753 1275 2753 fa colmap 1 [0 0 0 ] put 1 sci gs eofill gr 1275 2828 1725 2828 1725 2827 1275 2827 fa gs eofill gr 1275 2753 1725 2753 1725 2752 1275 2752 fa gs eofill gr 1725 2828 1726 2828 1726 2753 1725 2753 fa gs eofill gr greset 1200 2903 1795 2903 1795 2679 1200 2679 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 1398 2770 203 1 (Sequence )fjt greset 754 2948 1795 2948 1795 2182 754 2182 np mto lto lto lto clip np 800 2753 801 2753 801 2678 800 2678 fa colmap 1 [0 0 0 ] put 1 sci gs eofill gr 800 2753 1275 2753 1275 2752 800 2752 fa gs eofill gr 800 2678 1275 2678 1275 2677 800 2677 fa gs eofill gr 1275 2753 1276 2753 1276 2678 1275 2678 fa gs eofill gr greset 754 2828 1349 2828 1349 2604 754 2604 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 976 2695 122 0 (Status)fjt greset 754 2948 1795 2948 1795 2182 754 2182 np mto lto lto lto clip np 1150 2828 1151 2828 1151 2753 1150 2753 fa colmap 1 [0 0 0 ] put 1 sci gs eofill gr 1150 2828 1275 2828 1275 2827 1150 2827 fa gs eofill gr 1150 2753 1275 2753 1275 2752 1150 2752 fa gs eofill gr 1275 2828 1276 2828 1276 2753 1275 2753 fa gs eofill gr greset 1075 2903 1349 2903 1349 2679 1075 2679 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 1182 2770 61 0 (Op)fjt greset 754 2948 1795 2948 1795 2182 754 2182 np mto lto lto lto clip np 800 2603 801 2603 801 2353 800 2353 fa colmap 1 [0 0 0 ] put 1 sci gs eofill gr 800 2603 1725 2603 1725 2602 800 2602 fa gs eofill gr 800 2353 1725 2353 1725 2352 800 2352 fa gs eofill gr 1725 2603 1726 2603 1726 2353 1725 2353 fa gs eofill gr greset 754 2678 1795 2678 1795 2279 754 2279 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 1042 2492 441 3 (Data \(468 octets max\))fjt greset 754 2948 1795 2948 1795 2182 754 2182 np mto lto lto lto clip np 1050 2828 1051 2828 1051 2753 1050 2753 fa colmap 1 [0 0 0 ] put 1 sci gs eofill gr 1050 2828 1150 2828 1150 2827 1050 2827 fa gs eofill gr 1050 2753 1150 2753 1150 2752 1050 2752 fa gs eofill gr 1150 2828 1151 2828 1151 2753 1150 2753 fa gs eofill gr greset 975 2903 1224 2903 1224 2679 975 2679 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 1056 2770 86 0 (REM)fjt greset 754 2948 1795 2948 1795 2182 754 2182 np mto lto lto lto clip np 800 2353 801 2353 801 2228 800 2228 fa colmap 1 [0 0 0 ] put 1 sci gs eofill gr 800 2353 1725 2353 1725 2352 800 2352 fa gs eofill gr 800 2228 1725 2228 1725 2227 800 2227 fa gs eofill gr 1725 2353 1726 2353 1726 2228 1725 2228 fa gs eofill gr greset 754 2428 1795 2428 1795 2182 754 2182 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 973 2276 578 2 (Authenticator \(optional\) \(96\))fjt greset 754 2948 1795 2948 1795 2182 754 2182 np mto lto lto lto clip np 1275 2753 1276 2753 1276 2678 1275 2678 fa colmap 1 [0 0 0 ] put 1 sci gs eofill gr 1275 2753 1725 2753 1725 2752 1275 2752 fa gs eofill gr 1275 2678 1725 2678 1725 2677 1275 2677 fa gs eofill gr 1725 2753 1726 2753 1726 2678 1725 2678 fa gs eofill gr greset 1200 2828 1795 2828 1795 2604 1200 2604 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 1350 2695 300 1 (Association ID)fjt greset 754 2948 1795 2948 1795 2182 754 2182 np mto lto lto lto clip np greset 754 2948 931 2948 931 2756 754 2756 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 816 2845 25 0 (0)fjt greset 754 2948 1795 2948 1795 2182 754 2182 np mto lto lto lto clip np greset 1600 2948 1795 2948 1795 2758 1600 2758 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 1688 2845 50 0 (31)fjt greset 754 2948 1795 2948 1795 2182 754 2182 np mto lto lto lto clip np greset 950 2948 1174 2948 1174 2758 950 2758 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 1050 2845 25 0 (8)fjt greset 754 2948 1795 2948 1795 2182 754 2182 np mto lto lto lto clip np greset 1175 2948 1399 2948 1399 2758 1175 2758 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 1263 2845 50 0 (16)fjt greset 754 2948 1795 2948 1795 2182 754 2182 np mto lto lto lto clip np greset 1400 2948 1599 2948 1599 2758 1400 2758 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 1475 2845 50 0 (24)fjt greset 754 2948 1795 2948 1795 2182 754 2182 np mto lto lto lto clip np 800 2678 801 2678 801 2603 800 2603 fa colmap 1 [0 0 0 ] put 1 sci gs eofill gr 800 2678 1275 2678 1275 2677 800 2677 fa gs eofill gr 800 2603 1275 2603 1275 2602 800 2602 fa gs eofill gr 1275 2678 1276 2678 1276 2603 1275 2603 fa gs eofill gr greset 754 2753 1349 2753 1349 2529 754 2529 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 975 2620 124 0 (Offset)fjt greset 754 2948 1795 2948 1795 2182 754 2182 np mto lto lto lto clip np 1275 2678 1276 2678 1276 2603 1275 2603 fa colmap 1 [0 0 0 ] put 1 sci gs eofill gr 1275 2678 1725 2678 1725 2677 1275 2677 fa gs eofill gr 1275 2603 1725 2603 1725 2602 1275 2602 fa gs eofill gr 1725 2678 1726 2678 1726 2603 1725 2603 fa gs eofill gr greset 1200 2753 1795 2753 1795 2529 1200 2529 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 1439 2620 122 0 (Count)fjt greset 754 2948 1795 2948 1795 2182 754 2182 np mto lto lto lto clip np 1275 2428 1276 2428 1276 2353 1275 2353 fa colmap 1 [0 0 0 ] put 1 sci gs eofill gr 1275 2428 1725 2428 1725 2427 1275 2427 fa gs eofill gr 1275 2353 1725 2353 1725 2352 1275 2352 fa gs eofill gr 1725 2428 1726 2428 1726 2353 1725 2353 fa gs eofill gr greset 1200 2503 1795 2503 1795 2279 1200 2279 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 1343 2370 314 1 (Padding \(zeros\))fjt greset 754 2948 1795 2948 1795 2182 754 2182 np mto lto lto lto clip np greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset 225 2300 2324 2300 2324 2036 225 2036 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 878 2141 794 5 (Figure 6. NTP Control Message Header)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 3374 2624 3374 2624 2825 -75 2825 np mto lto lto lto clip np /tface 4 def 4 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2979 230 0 (RFC-1119)fjt 1024 2979 504 2 (Network Time Protocol)fjt 1882 2979 369 1 (September 1989)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 474 2624 474 2624 -75 -75 -75 np mto lto lto lto clip np /tface 4 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 279 100 0 (Mills)fjt 2065 279 186 1 (Page 49)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np %End page showpage svobj restore gr gs /svobj save def %Begin page UserSoP greset -75 3374 2624 3374 2624 -75 -75 -75 np mto lto lto lto clip np /tface 8 def 8 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 533 1802 25 0 (0)fjt 700 1802 168 0 (reserved)fjt 533 1742 25 0 (1)fjt 700 1742 608 2 (read status command/response)fjt 533 1682 25 0 (2)fjt 700 1682 674 2 (read variables command/response)fjt 533 1622 25 0 (3)fjt 700 1622 691 2 (write variables command/response)fjt 533 1562 25 0 (4)fjt 700 1562 794 3 (read clock variables command/response)fjt 533 1502 25 0 (5)fjt 700 1502 811 3 (write clock variables command/response)fjt 533 1442 25 0 (6)fjt 700 1442 797 3 (set trap address/port command/response)fjt 533 1382 25 0 (7)fjt 700 1382 264 1 (trap response)fjt 533 1322 92 0 (8-31)fjt 700 1322 168 0 (reserved)fjt 300 1225 1901 14 (Sequence: This is a 16-bit integer indicating the sequence number of the command or response.)fjt 300 1117 1848 17 (Status: This is a 16-bit code indicating the current status of the system, peer or clock, with v)fjt 2148 1117 102 0 (alues)fjt 375 1057 818 5 (coded as described in following sections.)fjt 300 950 1400 10 (Association ID: This is a 16-bit integer identifying a valid association.)fjt 300 842 1706 17 (Offset: This is a 16-bit integer indicating the offset, in octets, of the first octet in the d)fjt 2006 842 165 1 (ata area.)fjt 300 734 1551 14 (Count: This is a 16-bit integer indicating the length of the data field, in octets.)fjt 300 627 1950 15 (Data: This contains the message data for the command or response. The maximum number of data)fjt 375 567 261 2 (octets is 468.)fjt 300 459 1931 10 (Authenticator \(optional\): When the NTP authentication mechanism is implemented, this contain)fjt 2231 459 19 0 (s)fjt 375 399 1061 6 (the authenticator information defined in Appendix C.)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset 225 2974 2324 2974 2324 1892 225 1892 np mto lto lto lto clip np greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset 779 2944 1789 2944 1789 1930 779 1930 np mto lto lto lto clip np 825 2824 826 2824 826 2724 825 2724 fa colmap 1 [0 0 0 ] put 1 sci gs eofill gr 825 2824 950 2824 950 2823 825 2823 fa gs eofill gr 825 2724 950 2724 950 2723 825 2723 fa gs eofill gr 950 2824 951 2824 951 2724 950 2724 fa gs eofill gr greset 779 2899 1024 2899 1024 2650 779 2650 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 864 2760 47 0 (LI)fjt greset 779 2944 1789 2944 1789 1930 779 1930 np mto lto lto lto clip np 825 2599 826 2599 826 2499 825 2499 fa colmap 1 [0 0 0 ] put 1 sci gs eofill gr 825 2599 1150 2599 1150 2598 825 2598 fa gs eofill gr 825 2499 1150 2499 1150 2498 825 2498 fa gs eofill gr 1150 2599 1151 2599 1151 2499 1150 2499 fa gs eofill gr greset 779 2674 1224 2674 1224 2425 779 2425 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 876 2535 222 1 (Peer Status)fjt greset 779 2944 1789 2944 1789 1930 779 1930 np mto lto lto lto clip np 825 2374 826 2374 826 2274 825 2274 fa colmap 1 [0 0 0 ] put 1 sci gs eofill gr 825 2374 1275 2374 1275 2373 825 2373 fa gs eofill gr 825 2274 1275 2274 1275 2273 825 2273 fa gs eofill gr 1275 2374 1276 2374 1276 2274 1275 2274 fa gs eofill gr greset 779 2449 1349 2449 1349 2200 779 2200 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 924 2310 253 1 (Clock Status)fjt greset 779 2944 1789 2944 1789 1930 779 1930 np mto lto lto lto clip np 825 2149 826 2149 826 2049 825 2049 fa colmap 1 [0 0 0 ] put 1 sci gs eofill gr 825 2149 1275 2149 1275 2148 825 2148 fa gs eofill gr 825 2049 1275 2049 1275 2048 825 2048 fa gs eofill gr 1275 2149 1276 2149 1276 2049 1275 2049 fa gs eofill gr greset 779 2224 1349 2224 1349 1975 779 1975 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 939 2085 223 1 (Error Code)fjt greset 779 2944 1789 2944 1789 1930 779 1930 np mto lto lto lto clip np 1275 2824 1276 2824 1276 2724 1275 2724 fa colmap 1 [0 0 0 ] put 1 sci gs eofill gr 1275 2824 1500 2824 1500 2823 1275 2823 fa gs eofill gr 1275 2724 1500 2724 1500 2723 1275 2723 fa gs eofill gr 1500 2824 1501 2824 1501 2724 1500 2724 fa gs eofill gr greset 1200 2899 1574 2899 1574 2650 1200 2650 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 1329 2766 116 0 (Event)fjt greset 779 2944 1789 2944 1789 1930 779 1930 np mto lto lto lto clip np 1275 2599 1276 2599 1276 2499 1275 2499 fa colmap 1 [0 0 0 ] put 1 sci gs eofill gr 1275 2599 1500 2599 1500 2598 1275 2598 fa gs eofill gr 1275 2499 1500 2499 1500 2498 1275 2498 fa gs eofill gr 1500 2599 1501 2599 1501 2499 1500 2499 fa gs eofill gr greset 1200 2674 1574 2674 1574 2425 1200 2425 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 1329 2541 116 0 (Event)fjt greset 779 2944 1789 2944 1789 1930 779 1930 np mto lto lto lto clip np 1275 2149 1276 2149 1276 2049 1275 2049 fa colmap 1 [0 0 0 ] put 1 sci gs eofill gr 1275 2149 1725 2149 1725 2148 1275 2148 fa gs eofill gr 1275 2049 1725 2049 1725 2048 1275 2048 fa gs eofill gr 1725 2149 1726 2149 1726 2049 1725 2049 fa gs eofill gr greset 1200 2224 1789 2224 1789 1975 1200 1975 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 1408 2085 185 0 (Reserved)fjt greset 779 2944 1789 2944 1789 1930 779 1930 np mto lto lto lto clip np greset 1025 2799 1524 2799 1524 2575 1025 2575 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 1135 2666 281 1 (System Status)fjt greset 779 2944 1789 2944 1789 1930 779 1930 np mto lto lto lto clip np greset 1025 2574 1524 2574 1524 2350 1025 2350 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 1101 2441 348 2 (Peer Status Word)fjt greset 779 2944 1789 2944 1789 1930 779 1930 np mto lto lto lto clip np greset 1025 2349 1524 2349 1524 2125 1025 2125 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 1149 2216 253 1 (Radio Status)fjt greset 779 2944 1789 2944 1789 1930 779 1930 np mto lto lto lto clip np greset 1025 2124 1524 2124 1524 1930 1025 1930 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 1156 1991 239 1 (Error Status)fjt greset 779 2944 1789 2944 1789 1930 779 1930 np mto lto lto lto clip np 1500 2824 1501 2824 1501 2724 1500 2724 fa colmap 1 [0 0 0 ] put 1 sci gs eofill gr 1500 2824 1725 2824 1725 2823 1500 2823 fa gs eofill gr 1500 2724 1725 2724 1725 2723 1500 2723 fa gs eofill gr 1725 2824 1726 2824 1726 2724 1725 2724 fa gs eofill gr greset 1425 2899 1789 2899 1789 2650 1425 2650 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 1554 2766 116 0 (Event)fjt greset 779 2944 1789 2944 1789 1930 779 1930 np mto lto lto lto clip np 1500 2599 1501 2599 1501 2499 1500 2499 fa colmap 1 [0 0 0 ] put 1 sci gs eofill gr 1500 2599 1725 2599 1725 2598 1500 2598 fa gs eofill gr 1500 2499 1725 2499 1725 2498 1500 2498 fa gs eofill gr 1725 2599 1726 2599 1726 2499 1725 2499 fa gs eofill gr greset 1425 2674 1789 2674 1789 2425 1425 2425 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 1554 2541 116 0 (Event)fjt greset 779 2944 1789 2944 1789 1930 779 1930 np mto lto lto lto clip np 1275 2374 1276 2374 1276 2274 1275 2274 fa colmap 1 [0 0 0 ] put 1 sci gs eofill gr 1275 2374 1725 2374 1725 2373 1275 2373 fa gs eofill gr 1275 2274 1725 2274 1725 2273 1275 2273 fa gs eofill gr 1725 2374 1726 2374 1726 2274 1725 2274 fa gs eofill gr greset 1200 2449 1789 2449 1789 2200 1200 2200 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 1383 2310 234 1 (Event Code)fjt greset 779 2944 1789 2944 1789 1930 779 1930 np mto lto lto lto clip np 950 2824 951 2824 951 2724 950 2724 fa colmap 1 [0 0 0 ] put 1 sci gs eofill gr 950 2824 1275 2824 1275 2823 950 2823 fa gs eofill gr 950 2724 1275 2724 1275 2723 950 2723 fa gs eofill gr 1275 2824 1276 2824 1276 2724 1275 2724 fa gs eofill gr greset 875 2899 1349 2899 1349 2650 875 2650 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 971 2760 282 2 (Clock Source )fjt greset 779 2944 1789 2944 1789 1930 779 1930 np mto lto lto lto clip np 1150 2599 1151 2599 1151 2499 1150 2499 fa colmap 1 [0 0 0 ] put 1 sci gs eofill gr 1150 2599 1275 2599 1275 2598 1150 2598 fa gs eofill gr 1150 2499 1275 2499 1275 2498 1150 2498 fa gs eofill gr 1275 2599 1276 2599 1276 2499 1275 2499 fa gs eofill gr greset 1075 2674 1349 2674 1349 2425 1075 2425 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 1152 2535 121 0 (Select)fjt greset 779 2944 1789 2944 1789 1930 779 1930 np mto lto lto lto clip np greset 779 2749 954 2749 954 2534 779 2534 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 840 2616 25 0 (0)fjt greset 779 2944 1789 2944 1789 1930 779 1930 np mto lto lto lto clip np greset 1075 2749 1284 2749 1284 2532 1075 2532 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 1167 2616 25 0 (6)fjt greset 779 2944 1789 2944 1789 1930 779 1930 np mto lto lto lto clip np greset 1200 2749 1413 2749 1413 2532 1200 2532 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 1294 2616 25 0 (8)fjt greset 779 2944 1789 2944 1789 1930 779 1930 np mto lto lto lto clip np greset 1400 2749 1610 2749 1610 2532 1400 2532 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 1480 2616 50 0 (12)fjt greset 779 2944 1789 2944 1789 1930 779 1930 np mto lto lto lto clip np greset 1600 2749 1789 2749 1789 2532 1600 2532 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 1684 2616 50 0 (15)fjt greset 779 2944 1789 2944 1789 1930 779 1930 np mto lto lto lto clip np greset 779 2944 957 2944 957 2757 779 2757 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 841 2841 25 0 (0)fjt greset 779 2944 1789 2944 1789 1930 779 1930 np mto lto lto lto clip np greset 875 2944 1083 2944 1083 2759 875 2759 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 967 2841 25 0 (2)fjt greset 779 2944 1789 2944 1789 1930 779 1930 np mto lto lto lto clip np greset 1200 2944 1409 2944 1409 2758 1200 2758 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 1292 2841 25 0 (8)fjt greset 779 2944 1789 2944 1789 1930 779 1930 np mto lto lto lto clip np greset 1425 2944 1633 2944 1633 2756 1425 2756 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 1505 2841 50 0 (12)fjt greset 779 2944 1789 2944 1789 1930 779 1930 np mto lto lto lto clip np greset 1600 2944 1789 2944 1789 2756 1600 2756 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 1685 2841 50 0 (15)fjt greset 779 2944 1789 2944 1789 1930 779 1930 np mto lto lto lto clip np greset 779 2524 959 2524 959 2309 779 2309 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 842 2391 25 0 (0)fjt greset 779 2944 1789 2944 1789 1930 779 1930 np mto lto lto lto clip np greset 1200 2524 1412 2524 1412 2309 1200 2309 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 1294 2391 25 0 (8)fjt greset 779 2944 1789 2944 1789 1930 779 1930 np mto lto lto lto clip np greset 1600 2524 1789 2524 1789 2309 1600 2309 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 1683 2391 50 0 (15)fjt greset 779 2944 1789 2944 1789 1930 779 1930 np mto lto lto lto clip np greset 779 2299 959 2299 959 2084 779 2084 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 842 2166 25 0 (0)fjt greset 779 2944 1789 2944 1789 1930 779 1930 np mto lto lto lto clip np greset 1200 2299 1409 2299 1409 2084 1200 2084 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 1292 2166 25 0 (8)fjt greset 779 2944 1789 2944 1789 1930 779 1930 np mto lto lto lto clip np greset 1600 2299 1789 2299 1789 2084 1600 2084 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 1684 2166 50 0 (15)fjt greset 779 2944 1789 2944 1789 1930 779 1930 np mto lto lto lto clip np greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset 225 2041 2324 2041 2324 1795 225 1795 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 967 1908 616 4 (Figure 7. Status Word Formats)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 3374 2624 3374 2624 2825 -75 2825 np mto lto lto lto clip np /tface 4 def 4 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2979 230 0 (RFC-1119)fjt 1024 2979 504 2 (Network Time Protocol)fjt 1882 2979 369 1 (September 1989)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 474 2624 474 2624 -75 -75 -75 np mto lto lto lto clip np /tface 4 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 279 100 0 (Mills)fjt 2065 279 186 1 (Page 50)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np %End page showpage svobj restore gr gs /svobj save def %Begin page UserSoP greset -75 3374 2624 3374 2624 -75 -75 -75 np mto lto lto lto clip np /tface 5 def 5 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2841 83 0 (9.2.)fjt (s)29 (d)18 (r)30 (o)45 (W)13 ( )27 (s)29 (u)16 (t)26 (a)16 (t)32 (S)13 ( )0 13 383 2841 fet /tface 8 def 8 encfont sf 300 2742 1853 14 (Status words indicate the present status of the system, associations and clock. They are design)fjt 2153 2742 97 1 (ed to)fjt 300 2684 1950 14 (be interpreted by network-monitoring programs and are in one of four 16-bit formats shown in)fjt 300 2626 755 6 (Figure 7 and described in this section.)fjt 1055 2626 1195 9 ( System and peer status words are associated with responses)fjt 300 2567 1920 14 (for all commands except the read clock variables, write clock variables and set trap address/po)fjt 2220 2567 30 0 (rt)fjt 300 2509 1950 12 (commands. The association identifier zero specifies the system status word, while a nonzero)fjt 300 2451 1831 13 (identifier specifies a particular peer association. The status word returned in response to read)fjt 2131 2451 119 1 ( clock)fjt 300 2393 1861 14 (variables and write clock variables commands indicates the state of the clock hardware and deco)fjt 2161 2393 89 0 (ding)fjt 300 2334 1896 15 (software. A special error status word is used to report malformed command fields or invalid valu)fjt 2196 2334 54 0 (es.)fjt /tface 5 def sf 300 2224 125 0 (9.2.1.)fjt (d)18 (r)29 (o)46 (W)12 ( )27 (s)30 (u)15 (t)27 (a)15 (t)33 (S)12 ( )44 (m)26 (e)16 (t)27 (s)26 (y)33 (S)12 ( )0 19 425 2224 fet /tface 8 def sf 300 2113 1870 18 (The system status word appears in the status field of the response to a read status or read varia)fjt 2170 2113 80 0 (bles)fjt 300 2054 1865 15 (command with a zero association identifier. The format of the system status word is as follow)fjt 2165 2054 33 0 (s:)fjt 300 1943 1934 16 (Leap Indicator \(LI\): This is a two-bit code warning of an impending leap second to be in)fjt 2234 1943 17 0 (-)fjt 375 1883 1856 17 (serted/deleted in the last minute of the current day, with bit 0 and bit 1, respectively, coded a)fjt 2231 1883 19 0 (s)fjt 375 1823 163 0 (follows:)fjt 533 1721 50 0 (00)fjt 700 1721 226 1 (no warning)fjt 533 1661 50 0 (01)fjt 700 1661 531 4 (last minute has 61 seconds)fjt 533 1601 50 0 (10)fjt 700 1601 547 4 (last minute has 59 seconds\))fjt 533 1541 50 0 (11)fjt 700 1541 821 4 (alarm condition \(clock not synchronized\))fjt 300 1441 1884 13 (Clock Source: This is a six-bit integer indicating the current synchronization source, with val)fjt 2184 1441 66 0 (ues)fjt 375 1381 348 2 (coded as follows:)fjt 533 1280 25 0 (0)fjt 700 1280 482 2 (unspecified or unknown)fjt 533 1220 25 0 (1)fjt 700 1220 634 5 (VLF \(band 4\) radio \(e.g., GBR\))fjt 533 1160 25 0 (2)fjt 700 1160 659 5 (LF \(band 5\) radio \(e.g., WWVB\))fjt 533 1100 25 0 (3)fjt 700 1100 936 7 (HF \(band 7\) radio \(e.g., CHU, MSF, WWV/H\))fjt 533 1040 25 0 (4)fjt 700 1040 836 6 (UHF \(band 9\) satellite \(e.g., GOES, GPS\))fjt 533 980 25 0 (5)fjt 700 980 529 4 (local net \(e.g., DCN, TSP\))fjt 533 920 25 0 (6)fjt 700 920 208 0 (UDP/NTP)fjt 533 860 25 0 (7)fjt 700 860 235 0 (UDP/TIME)fjt 533 800 25 0 (8)fjt 700 800 467 0 (eyeball-and-wristwatch)fjt 533 740 25 0 (9)fjt 700 740 609 3 (telephone modem \(e.g., NIST\))fjt 533 680 117 0 (10-63)fjt 700 680 168 0 (reserved)fjt 300 579 1845 14 (System Event Counter: This is a four-bit integer indicating the number of system exception e)fjt 2145 579 105 0 (vents)fjt 375 519 1875 17 (occuring since the last time the system status word was returned in a response or included in a)fjt 375 459 1875 16 (trap message. The counter is cleared when returned in the status field of a response and freezes)fjt 375 399 578 5 (when it reaches the value 15.)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 3374 2624 3374 2624 2825 -75 2825 np mto lto lto lto clip np /tface 4 def 4 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2979 230 0 (RFC-1119)fjt 1024 2979 504 2 (Network Time Protocol)fjt 1882 2979 369 1 (September 1989)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 474 2624 474 2624 -75 -75 -75 np mto lto lto lto clip np /tface 4 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 279 100 0 (Mills)fjt 2065 279 186 1 (Page 51)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np %End page showpage svobj restore gr gs /svobj save def %Begin page UserSoP greset -75 3374 2624 3374 2624 -75 -75 -75 np mto lto lto lto clip np /tface 8 def 8 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2839 1862 14 (System Event Code: This is a four-bit integer identifying the latest system exception event, )fjt 2162 2839 89 0 (with)fjt 375 2779 1249 8 (new values overwriting previous values, and coded as follows:)fjt 533 2684 25 0 (0)fjt 700 2684 229 0 (unspecified)fjt 533 2624 25 0 (1)fjt 700 2624 274 1 (system restart)fjt 533 2564 25 0 (2)fjt 700 2564 493 3 (system or hardware fault)fjt 533 2504 25 0 (3)fjt 700 2504 1225 8 (system new status word \(leap bits or synchronization change\))fjt 533 2444 25 0 (4)fjt 700 2444 1194 8 (system new clock source or stratum \(sys.peer or sys.stratum)fjt 700 2384 158 0 (change\))fjt 533 2324 25 0 (5)fjt 700 2324 1217 6 (system clock reset \(offset correction exceeds CLOCK.MAX\))fjt 533 2264 25 0 (6)fjt 700 2264 922 7 (system invalid time or date \(see Section 3.4.5\))fjt 533 2204 25 0 (7)fjt 700 2204 1084 7 (system clock exception \(see system clock status word\))fjt 533 2144 92 0 (8-15)fjt 700 2144 168 0 (reserved)fjt /tface 5 def 5 encfont sf 300 2050 125 0 (9.2.2.)fjt (d)18 (r)30 (o)45 (W)13 ( )26 (s)30 (u)15 (t)27 (a)16 (t)32 (S)13 ( )18 (r)27 (e)26 (e)33 (P)12 ( )0 17 425 2050 fet /tface 8 def sf 300 1952 1822 19 (A peer status word is returned in the status field of a response to a read status, read variables o)fjt 2122 1952 128 1 (r write)fjt 300 1894 1862 14 (variables command and appears also in the list of association identifers and status words retu)fjt 2162 1894 89 0 (rned)fjt 300 1835 1877 17 (by a read status command with a zero association identifier. The format of a peer status word i)fjt 2177 1835 73 1 (s as)fjt 300 1777 163 0 (follows:)fjt 300 1678 1950 16 (Peer Status: This is a six-bit code indicating the status of the peer determined by the packet)fjt 375 1618 810 5 (procedure, with bits assigned as follows:)fjt 533 1523 25 0 (0)fjt 700 1523 487 1 (configured \(peer.config\))fjt 533 1463 25 0 (1)fjt 700 1463 808 2 (authentication enabled \(peer.authenable\))fjt 533 1403 25 0 (2)fjt 700 1403 608 1 (authentication \(peer.authentic\))fjt 533 1343 25 0 (3)fjt 700 1343 591 3 (reachability okay \(peer.reach )fjt /tface 12 def /mpf false def sf 1291 1343 27 0 (\271)fjt /tface 8 def /mpf true def sf 1318 1343 54 1 ( 0\))fjt 533 1283 25 0 (4)fjt 700 1283 615 3 (sanity okay \(packet procedure\))fjt 533 1223 25 0 (5)fjt 700 1223 1159 5 (dispersion okay \(peer.dispersion < PEER.THRESHOLD\) )fjt 300 1129 1815 14 (Peer Selection \(Select\): This is a two-bit integer indicating the status of the peer determined)fjt 2115 1129 135 2 ( by the)fjt 375 1069 1126 6 (clock-selection procedure, with values coded as follows:)fjt 533 973 25 0 (0)fjt 700 973 157 0 (rejected)fjt 533 913 25 0 (1)fjt 700 913 1208 8 (selection candidate \(survivor of the pruned and truncated list)fjt 700 853 580 2 (sorted by stratum/dispersion\))fjt 533 793 25 0 (2)fjt 700 793 1233 8 (synchronization candidate \(survivor of the list sorted by delay)fjt 700 733 420 2 (less outlyer discards\))fjt 533 673 25 0 (3)fjt 700 673 403 2 (current clock source)fjt 300 579 1876 15 (Peer Event Counter: This is a four-bit integer indicating the number of peer exception events )fjt 2176 579 75 0 (that)fjt 375 519 1875 18 (occured since the last time the peer status word was returned in a response or included in a trap)fjt 375 459 1875 16 (message. The counter is cleared when returned in the status field of a response and freezes when)fjt 375 399 457 4 (it reaches the value 15.)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 3374 2624 3374 2624 2825 -75 2825 np mto lto lto lto clip np /tface 4 def 4 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2979 230 0 (RFC-1119)fjt 1024 2979 504 2 (Network Time Protocol)fjt 1882 2979 369 1 (September 1989)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 474 2624 474 2624 -75 -75 -75 np mto lto lto lto clip np /tface 4 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 279 100 0 (Mills)fjt 2065 279 186 1 (Page 52)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np %End page showpage svobj restore gr gs /svobj save def %Begin page UserSoP greset -75 3374 2624 3374 2624 -75 -75 -75 np mto lto lto lto clip np /tface 8 def 8 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2839 1892 15 (Peer Event Code: This is a four-bit integer identifying the latest peer exception event, with n)fjt 2192 2839 58 0 (ew)fjt 375 2779 1153 7 (values overwriting previous values, and coded as follows:)fjt 533 2686 25 0 (0)fjt 700 2686 229 0 (unspecified)fjt 533 2626 25 0 (1)fjt 700 2626 251 2 (peer IP error)fjt 533 2566 25 0 (2)fjt 700 2566 1283 8 (peer authentication failure \(peer.authentic bit was one now zero\))fjt 533 2506 25 0 (3)fjt 700 2506 1049 6 (peer unreachable \(peer.reach was nonzero now zero\))fjt 533 2446 25 0 (4)fjt 700 2446 999 6 (peer reachable \(peer.reach was zero now nonzero\))fjt 533 2386 25 0 (5)fjt 700 2386 979 7 (peer clock exception \(see peer clock status word\))fjt 533 2326 92 0 (6-15)fjt 700 2326 168 0 (reserved)fjt /tface 5 def 5 encfont sf 300 2235 125 0 (9.2.3.)fjt (d)18 (r)30 (o)45 (W)13 ( )27 (s)29 (u)16 (t)26 (a)16 (t)32 (S)13 ( )27 (k)26 (c)30 (o)13 (l)35 (C)12 ( )0 18 425 2235 fet /tface 8 def sf 300 2142 1892 18 (There are two ways a reference clock can be attached to a NTP service host, as an dedicated dev)fjt 2192 2142 58 0 (ice)fjt 300 2083 1950 16 (managed by the operating system and as a synthetic peer managed by NTP \(see Section 3.4.4\). As)fjt 300 2025 1889 16 (in the read status command, the association identifier is used to identify which one, zero for )fjt 2189 2025 61 0 (the)fjt 300 1967 1950 16 (system clock and nonzero for a peer clock. Only one system clock is supported by the protocol,)fjt 300 1909 1950 16 (although many peer clocks can be supported. A system or peer clock status word appears in the)fjt 300 1850 1925 16 (status field of the response to a read clock variables or write clock variables command. This wor)fjt 2225 1850 25 0 (d)fjt 300 1792 1938 16 (can be considered an extension of the system status word or the peer status word as appropriate)fjt 2238 1792 13 0 (.)fjt 300 1734 985 9 (The format of the clock status word is as follows:)fjt 300 1639 1870 14 (Clock Status: This is an eight-bit integer indicating the current clock status, with values code)fjt 2170 1639 80 1 (d as)fjt 375 1579 163 0 (follows:)fjt 533 1487 25 0 (0)fjt 700 1487 643 3 (clock operating within nominals)fjt 533 1427 25 0 (1)fjt 700 1427 267 1 (reply timeout)fjt 533 1367 25 0 (2)fjt 700 1367 332 2 (bad reply format)fjt 533 1307 25 0 (3)fjt 700 1307 526 3 (hardware or software fault)fjt 533 1247 25 0 (4)fjt 700 1247 380 1 (propagation failure)fjt 533 1187 25 0 (5)fjt 700 1187 487 4 (bad date format or value)fjt 533 1127 25 0 (6)fjt 700 1127 492 4 (bad time format or value)fjt 533 1067 117 0 (7-255)fjt 700 1067 168 0 (reserved)fjt 300 975 1819 14 (Clock Event Code: This is an eight-bit integer identifying the latest clock exception event, wi)fjt 2119 975 132 1 (th new)fjt 375 915 1875 14 (values overwriting previous values. When a change to any nonzero value occurs in the radio)fjt 375 855 1875 18 (status field, the radio status field is copied to the clock event code field and a system or peer)fjt 375 795 966 6 (clock exception event is declared as appropriate.)fjt /tface 5 def sf 300 701 125 0 (9.2.4.)fjt (d)19 (r)29 (o)45 (W)13 ( )27 (s)29 (u)16 (t)27 (a)15 (t)32 (S)13 ( )18 (r)30 (o)18 (r)18 (r)33 (E)12 ( )0 18 425 701 fet /tface 8 def sf 300 608 1782 19 (An error status word is returned in the status field of an error response as the result of invalid )fjt 2082 608 168 0 (message)fjt 300 549 1850 17 (format or contents. Its presence is indiated when the E \(error\) bit is set along with the respons)fjt 2150 549 100 1 (e \(R\))fjt 300 491 1394 12 (bit in the response. It consists of an eight-bit integer coded as follows:)fjt 533 399 25 0 (0)fjt 700 399 229 0 (unspecified)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 3374 2624 3374 2624 2825 -75 2825 np mto lto lto lto clip np /tface 4 def 4 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2979 230 0 (RFC-1119)fjt 1024 2979 504 2 (Network Time Protocol)fjt 1882 2979 369 1 (September 1989)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 474 2624 474 2624 -75 -75 -75 np mto lto lto lto clip np /tface 4 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 279 100 0 (Mills)fjt 2065 279 186 1 (Page 53)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np %End page showpage svobj restore gr gs /svobj save def %Begin page UserSoP greset -75 3374 2624 3374 2624 -75 -75 -75 np mto lto lto lto clip np /tface 8 def 8 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 533 2839 25 0 (1)fjt 700 2839 424 1 (authentication failure)fjt 533 2779 25 0 (2)fjt 700 2779 655 4 (invalid message length or format)fjt 533 2719 25 0 (3)fjt 700 2719 295 1 (invalid opcode)fjt 533 2659 25 0 (4)fjt 700 2659 614 2 (unknown association identifier)fjt 533 2599 25 0 (5)fjt 700 2599 479 2 (unknown variable name)fjt 533 2539 25 0 (6)fjt 700 2539 431 2 (invalid variable value)fjt 533 2479 25 0 (7)fjt 700 2479 540 1 (administratively prohibited)fjt 533 2419 117 0 (8-255)fjt 700 2419 168 0 (reserved)fjt /tface 5 def 5 encfont sf 300 2329 83 0 (9.3.)fjt (s)30 (d)29 (n)27 (a)43 (m)44 (m)29 (o)35 (C)13 ( )0 9 383 2329 fet /tface 8 def sf 300 2240 1928 16 (Commands consist of the header and optional data field shown in Figure 6. When present, the dat)fjt 2228 2240 22 0 (a)fjt 300 2181 1188 10 (field contains a list of identifiers or assignments in the form)fjt 781 2090 988 0 ([=],[=],...)fjt 300 1999 1950 18 (where is the ASCII name of a system or peer variable specified in Table 2 or Table 3)fjt 300 1940 1950 16 (and is expressed as a decimal, hexadecimal or string constant in the syntax of the C)fjt 300 1882 1950 13 (programming language. Where no ambiguity exists, the "sys." or "peer." prefixes shown in Table)fjt 300 1824 1925 15 (2 or Table 4 can be suppressed. Whitespace \(ASCII nonprinting format effectors\) can be added t)fjt 2225 1824 25 0 (o)fjt 300 1766 1936 13 (improve readability for simple monitoring programs that do not reformat the data field. Interne)fjt 2236 1766 14 0 (t)fjt 300 1707 1796 15 (addresses are represented as four octets in the form [n.n.n.n], where n is in decimal notation)fjt 2096 1707 154 2 ( and the)fjt 300 1649 1816 10 (brackets are optional. Timestamps, including reference, originate, receive and transmit val)fjt 2116 1649 135 1 (ues, as)fjt 300 1591 1771 15 (well as the logical clock, are represented in units of seconds and fractions, preferably in hex)fjt 2071 1591 179 0 (adecimal)fjt 300 1533 1765 13 (notation, while delay, offset, dispersion and distance values are represented in units of mil)fjt 2065 1533 185 0 (liseconds)fjt 300 1474 1858 12 (and fractions, preferably in decimal notation. All other values are represented as-is, preferab)fjt 2158 1474 92 1 (ly in)fjt 300 1416 346 1 (decimal notation.)fjt 300 1325 1950 14 (Implementations may define variables other than those listed in Table 2 or Table 3. Called)fjt 300 1267 1878 13 (extramural variables, these are distinguished by the inclusion of some character type other t)fjt 2178 1267 72 0 (han)fjt 300 1208 1834 17 (alphanumeric or "." in the name. For those commands that return a list of assignments in the res)fjt 2134 1208 116 0 (ponse)fjt 300 1150 1826 16 (data field, if the command data field is empty, it is expected that all available variables defi)fjt 2126 1150 124 1 (ned in)fjt 300 1092 1950 18 (Table 3 or Table 4 will be included in the response. For the read commands, if the command data)fjt 300 1034 1864 14 (field is nonempty, an implementation may choose to process this field to individually select w)fjt 2164 1034 86 0 (hich)fjt 300 975 554 4 (variables are to be returned.)fjt 300 884 757 4 (Commands are interpreted as follows:)fjt 300 791 1950 16 (Read Status \(1\): The command data field is empty or contains a list of identifiers separated by)fjt 375 731 1875 13 (commas. The command operates in two ways depending on the value of the association)fjt 375 671 1749 13 (identifier. If this identifier is nonzero, the response includes the peer identifier and status)fjt 2124 671 127 1 ( word.)fjt 375 611 1806 14 (Optionally, the response data field may contain other information, such as described in the R)fjt 2181 611 69 0 (ead)fjt 375 551 1875 12 (Variables command. If the association identifier is zero, the response includes the system)fjt 375 491 1709 14 (identifier \(0\) and status word, while the data field contains a list of binary-coded pairs)fjt 885 399 780 3 ( ,)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 3374 2624 3374 2624 2825 -75 2825 np mto lto lto lto clip np /tface 4 def 4 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2979 230 0 (RFC-1119)fjt 1024 2979 504 2 (Network Time Protocol)fjt 1882 2979 369 1 (September 1989)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 474 2624 474 2624 -75 -75 -75 np mto lto lto lto clip np /tface 4 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 279 100 0 (Mills)fjt 2065 279 186 1 (Page 54)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np %End page showpage svobj restore gr gs /svobj save def %Begin page UserSoP greset -75 3374 2624 3374 2624 -75 -75 -75 np mto lto lto lto clip np /tface 8 def 8 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 375 2839 846 5 (one for each currently defined association.)fjt 300 2694 1900 16 (Read Variables \(2\): The command data field is empty or contains a list of identifiers separated )fjt 2200 2694 50 0 (by)fjt 375 2634 1875 12 (commas. If the association identifier is nonzero, the response includes the requested peer)fjt 375 2574 1875 16 (identifier and status word, while the data field contains a list of peer variables and values as)fjt 375 2514 1836 15 (described above. If the association identifier is zero, the data field contains a list of syste)fjt 2211 2514 39 0 (m)fjt 375 2454 1875 16 (variables and values. If a peer has been selected as clock source, the response includes the peer)fjt 375 2394 1831 13 (identifier and status word; otherwise, the response includes the system identifier \(0\) and stat)fjt 2206 2394 44 0 (us)fjt 375 2334 128 1 (word. )fjt 300 2187 1873 15 (Write Variables \(3\): The command data field contains a list of assignments as described above. )fjt 2173 2187 78 0 (The)fjt 375 2127 1875 13 (variables are updated as indicated. The response is as described for the Read Variables)fjt 375 2067 209 0 (command.)fjt 300 1920 1851 16 (Read Clock Variables \(4\): The command data field is empty or contains a list of identifiers sepa)fjt 2151 1920 99 0 (rated)fjt 375 1860 1820 13 (by commas. The association identifier selects the system clock variables or peer clock variab)fjt 2195 1860 55 0 (les)fjt 375 1800 1875 15 (in the same way as in the Read Variables command. The response includes the requested clock)fjt 375 1740 1748 16 (identifier and status word and the data field contains a list of clock variables and values, inc)fjt 2123 1740 128 0 (luding)fjt 375 1680 1014 7 (the last timecode message received from the clock.)fjt 300 1532 1950 14 (Write Clock Variables \(5\): The command data field contains a list of assignments as described)fjt 375 1472 1875 15 (above. The clock variables are updated as indicated. The response is as described for the Read)fjt 375 1412 543 2 (Clock Variables command.)fjt 300 1265 1874 13 (Set Trap Address/Port \(6\): The command association identifier, status and data fields are igno)fjt 2174 1265 76 0 (red.)fjt 375 1205 1875 14 (The address and port number for subsequent trap messages are taken from the source address)fjt 375 1145 1758 15 (and port of the control message itself. The initial trap counter for trap response messages is)fjt 2133 1145 117 1 ( taken)fjt 375 1085 1875 13 (from the sequence field of the command. The response association identifier, status and data)fjt 375 1025 1875 11 (fields are not significant. Implementations should include sanity timeouts which prevent trap)fjt 375 965 1785 13 (transmissions if the monitoring program does not renew this information after a lengthy inte)fjt 2160 965 90 0 (rval.)fjt 300 818 1928 16 (Trap Response \(7\): This message is sent when a system, peer or clock exception event occurs. Th)fjt 2228 818 22 0 (e)fjt 375 758 1875 20 (opcode field is 7 and the R bit is set. The trap counter is incremented by one for each trap sent)fjt 375 698 1875 18 (and the sequence field set to that value. The trap message is sent using the IP address and port)fjt 375 638 1754 14 (fields established by the set trap address/port command. If a system trap the association ide)fjt 2129 638 121 0 (ntifier)fjt 375 578 1715 19 (field is set to zero and the status field contains the system status word. If a peer trap the ass)fjt 2090 578 160 0 (ociation)fjt 375 518 1861 16 (identifier field is set to that peer and the status field contains the peer status word. Optiona)fjt 2236 518 14 0 (l)fjt 375 458 1174 8 (ASCII-coded information can be included in the data field.)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 3374 2624 3374 2624 2825 -75 2825 np mto lto lto lto clip np /tface 4 def 4 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2979 230 0 (RFC-1119)fjt 1024 2979 504 2 (Network Time Protocol)fjt 1882 2979 369 1 (September 1989)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 474 2624 474 2624 -75 -75 -75 np mto lto lto lto clip np /tface 4 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 279 100 0 (Mills)fjt 2065 279 186 1 (Page 55)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np %End page showpage svobj restore gr gs /svobj save def %Begin page UserSoP greset -75 3374 2624 3374 2624 -75 -75 -75 np mto lto lto lto clip np /tface 5 def 5 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2841 69 0 (10.)fjt (s)27 (e)29 (u)27 (s)27 (s)12 (I)12 ( )30 (n)29 (o)13 (i)15 (t)27 (a)27 (c)13 (i)15 (t)30 (n)26 (e)30 (h)15 (t)30 (u)35 (A)12 ( )12 (.)35 (C)12 ( )27 (x)13 (i)29 (d)30 (n)27 (e)29 (p)30 (p)35 (A)12 ( )0 34 369 2841 fet /tface 8 def 8 encfont sf 300 2751 1859 12 (NTP robustness requirements are similar to those of other multiple-peer distributed protocols )fjt 2159 2751 91 0 (used)fjt 300 2692 1887 12 (for network routing, management and file access. These include protection from faulty implem)fjt 2187 2692 47 0 (en)fjt 2234 2692 17 0 (-)fjt 300 2634 1816 12 (tations, improper operation and possibly malicious replay attacks with or without data modifi)fjt 2116 2634 134 0 (cation.)fjt 300 2576 1840 12 (These requirements are especially stringent with distributed protocols, since damage due to fa)fjt 2140 2576 110 0 (ilures)fjt 300 2518 1870 11 (can propagate quickly throughout the network, devastating archives, routes and monitoring syst)fjt 2170 2518 80 0 (ems)fjt 300 2459 1902 16 (and even bring down major portions of the network in the fashion of the classic Internet Worm.)fjt 300 2367 1900 12 (The access-control mechanism suggested in Section 3.5 responds to these requirements by limiti)fjt 2200 2367 50 0 (ng)fjt 300 2308 1950 14 (access to trusted peers. The various sanity checks resist most replay and spoofing attacks by)fjt 300 2250 1864 15 (discarding old duplicates and using the originate timestamp as a one-time pad, since it is unli)fjt 2164 2250 86 0 (kely)fjt 300 2192 1898 15 (that even a synchronized peer can predict future timestamps with the precision required on the ba)fjt 2198 2192 52 0 (sis)fjt 300 2134 1925 12 (of past observations alone. In addition, the protocol environment resists jamming attacks b)fjt 2225 2134 25 0 (y)fjt 300 2075 1855 11 (employing redundant time servers and diverse network paths. Resistance to stochastic disrupt)fjt 2155 2075 96 0 (ions,)fjt 300 2017 1796 13 (actual or manufactured, are minimized by careful design of the filtering and selection algo)fjt 2096 2017 140 0 (rithms.)fjt 300 1924 1811 12 (However, it is possible that a determined intruder can disrupt timekeeping operations betwee)fjt 2111 1924 139 1 (n peers)fjt 300 1866 1819 14 (by subtle modifications of NTP message data, such as falsifying header fields or certain times)fjt 2119 1866 131 0 (tamps.)fjt 300 1808 1887 14 (In cases where protection from even these types of attacks is required, a specifically enginee)fjt 2187 1808 64 0 (red)fjt (l)22 (a)22 (c)13 (i)25 (p)25 (y)31 (T)25 ( )12 (.)25 (y)17 (r)22 (a)19 (s)19 (s)22 (e)22 (c)22 (e)25 (n)25 ( )20 (s)13 (i)25 ( )20 (s)22 (e)25 (u)25 (q)13 (i)26 (n)25 (h)22 (c)22 (e)14 (t)25 ( )23 (c)14 (i)25 (h)25 (p)22 (a)17 (r)25 (g)26 (o)14 (t)25 (p)25 (y)17 (r)22 (c)25 ( )25 (n)26 (o)25 ( )25 (d)22 (e)20 (s)22 (a)25 (b)25 ( )39 (m)20 (s)14 (i)25 (n)22 (a)25 (h)23 (c)22 (e)39 (m)25 ( )25 (n)25 (o)14 (i)14 (t)23 (a)22 (c)14 (i)14 (t)25 (n)22 (e)26 (h)14 (t)25 (u)22 (a)17 (-)22 (e)25 (g)23 (a)19 (s)20 (s)22 (e)39 (m)0 88 300 1750 fet 300 1691 1898 12 (mechanisms involve the use of cryptographic certificates, algorithms and key media, together w)fjt 2198 1691 53 0 (ith)fjt 300 1633 1950 12 (secure media databases and key-management protocols. Ongoing research efforts in this area are)fjt 300 1575 1900 13 (directed toward developing a standard methodology that can be used with many protocols, includi)fjt 2200 1575 50 0 (ng)fjt 300 1517 1815 13 (NTP. However, while it may eventually be the case that ubiquitous, widely applicable authent)fjt 2115 1517 135 0 (ication)fjt 300 1458 1950 12 (methodology may be adopted by the Internet community and effectively overtake the mechanism)fjt 300 1400 1886 13 (described here, it does not appear that specific standards and implementations will happen wit)fjt 2186 1400 64 0 (hin)fjt 300 1342 901 7 (the lifetime of this particular version of NTP.)fjt 300 1249 1950 12 (The NTP authentication mechanism described here is intended for interim use until specific)fjt 300 1191 1938 12 (standards and implementations operating at the network level or transport level are available)fjt 2238 1191 13 0 (.)fjt 300 1132 1861 15 (Support for this mechanism is not required in order to conform to the NTP specification itself.)fjt 2161 1132 89 1 ( The)fjt 300 1074 1950 12 (mechanism, which operates at the application level, is designed to protect against unauthorized)fjt 300 1016 1881 10 (message-stream modification and misrepresentation of source by insuring that unbroken, authe)fjt 2181 1016 53 0 (nti)fjt 2234 1016 17 0 (-)fjt 300 958 1878 13 (cated paths exist between a trusted, stratum-one server in a particular synchronization subnet )fjt 2178 958 72 0 (and)fjt 300 899 1878 15 (all other servers in that subnet. It employs a crypto-checksum, computed by the sender and chec)fjt 2178 899 72 0 (ked)fjt 300 841 1889 13 (by the receiver, together with a set of predistributed algorithms and cryptographic keys indexed)fjt 2189 841 62 1 ( by)fjt 300 783 1820 16 (a key identifier included in the message. However, there are no provisions in NTP itself to dis)fjt 2120 783 130 0 (tribute)fjt 300 725 1891 12 (or maintain the certificates, algorithms or keys. These quantities may occasionally be chang)fjt 2191 725 60 0 (ed,)fjt 300 666 1828 14 (which may result in inconsistent key information while rekeying is in progress. The nature o)fjt 2128 666 123 1 (f NTP)fjt 300 608 1740 15 (itself is quite tolerant to such disruptions, so no particular provisions are included to deal )fjt 2040 608 211 1 (with them.)fjt 300 457 1851 16 (The intent of the authentication mechanism is to provide a framework that can be used in conjun)fjt 2151 457 100 0 (ction)fjt 300 399 1950 12 (with selected mode combinations to build specific plans to manage clockworking communities and)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 3374 2624 3374 2624 2825 -75 2825 np mto lto lto lto clip np /tface 4 def 4 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2979 230 0 (RFC-1119)fjt 1024 2979 504 2 (Network Time Protocol)fjt 1882 2979 369 1 (September 1989)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 474 2624 474 2624 -75 -75 -75 np mto lto lto lto clip np /tface 4 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 279 100 0 (Mills)fjt 2065 279 186 1 (Page 56)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np %End page showpage svobj restore gr gs /svobj save def %Begin page UserSoP greset -75 3374 2624 3374 2624 -75 -75 -75 np mto lto lto lto clip np /tface 8 def 8 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2841 1950 14 (implement policy as necessary. It can be selectively enabled or disabled on a per-peer basis)fjt 300 2782 1950 14 (\(peer.authenable and peer.authentic bits\). There is no specific plan proposed to manage the use of)fjt 300 2724 1909 13 (such schemes; although several possibilities are immediately obvious. In one scenario a group )fjt 2209 2724 42 0 (of)fjt 300 2666 1950 15 (time servers peers among themselves using symmetric modes and shares one secret key, say key 1,)fjt 300 2608 1950 13 (while another group of servers peers among themselves using symmetric modes and shares another)fjt 300 2549 1950 18 (secret key, say key 2. Now, assume by policy it is decided that selected servers in group 1 can)fjt 300 2491 1950 16 (provide synchronization to group 2, but not the other way around. The selected servers in group 1)fjt 300 2433 1936 16 (are given key 2, but operated only in server mode, so cannot accept synchronization from group 2)fjt 2236 2433 14 0 (;)fjt 300 2375 1928 13 (however, group 2 has authenticated access to group-1 servers. Many other scenarios are possibl)fjt 2228 2375 22 0 (e)fjt 300 2316 934 6 (with suitable combinations of modes and keys.)fjt 300 2229 1886 13 (A packet format and crypto-checksum procedure appropriate for NTP is specified in the follow)fjt 2186 2229 64 0 (ing)fjt 300 2171 1934 12 (sections. The cryptographic information is carried in an authenticator which follows the \(un)fjt 2234 2171 17 0 (-)fjt 300 2113 1950 11 (modified\) NTP header fields. The crypto-checksum procedure uses the Data Encryption Standard)fjt 300 2054 1876 14 (\(DES\) [2]; however, only the DES encryption algorithm is used and the decryption algorithm is)fjt 2176 2054 74 1 ( not)fjt 300 1996 1839 11 (necessary. This feature is specifically targeted toward governmental sensitivities on the exp)fjt 2139 1996 111 1 (ort of)fjt 300 1938 1950 12 (cryptographic technology, since the DES decryption algorithm need not be included in NTP)fjt 300 1880 1843 14 (software distributions and thus cannot be extracted and used in other applications to avoid me)fjt 2143 1880 108 0 (ssage)fjt 300 1821 309 1 (data disclosure.)fjt /tface 5 def 5 encfont sf 300 1733 111 0 (10.1.)fjt (m)26 (s)13 (i)30 (n)26 (a)30 (h)27 (c)26 (e)41 (M)12 ( )29 (n)30 (o)13 (i)15 (t)27 (a)27 (c)12 (i)16 (t)29 (n)27 (e)30 (h)15 (t)30 (u)35 (A)12 ( )31 (P)30 (T)35 (N)12 ( )0 29 411 1733 fet /tface 8 def sf 300 1646 1831 14 (When it is created and possibly at other times, each association is allocated variables ident)fjt 2131 1646 119 0 (ifying)fjt 300 1587 1873 11 (the certificate authority, encryption algorithm, cryptographic key and possibly other data. )fjt 2173 1587 78 0 (The)fjt 300 1529 1757 14 (specific procedures to allocate and initialize these variables are beyond the scope of this )fjt 2057 1529 176 0 (specifica)fjt 2234 1529 17 0 (-)fjt 300 1471 1859 15 (tion, as are the association of the identifiers and keys and the management and distribution o)fjt 2159 1471 91 1 (f the)fjt 300 1413 1950 14 (keys themselves. For example and consistency with the conventions of Section 3.3, a set of)fjt 300 1354 1324 8 (appropriate peer and packet variables might include the following:)fjt 300 1265 1864 11 (Key Identifier \(sys.keyid, peer.keyid, pkt.keyid\): This is an integer identifying the cryptogra)fjt 2164 1265 86 0 (phic)fjt 375 1205 1875 12 (key used to generate the message-authentication code as described below. The system variable)fjt 375 1145 1859 13 (sys.keyid is used for active associations. The peer.keyid variable is initialized at zero \(un)fjt 2234 1145 17 0 (-)fjt 375 1085 1767 12 (specified\) when the association is mobilized. For purposes of authentication an unassigned )fjt 2142 1085 108 0 (value)fjt 375 1025 700 4 (is interpreted as zero \(unspecified\).)fjt 300 935 1928 17 (Cryptographic Keys \(sys.key\): These are a set of 64-bit DES keys. Each key is constructed as in th)fjt 2228 935 22 0 (e)fjt 375 875 1875 13 (Berkeley Unix distributions, which consists of eight octets, where the seven low-order bits of)fjt 375 815 1875 15 (each octet correspond to the DES bits 1-7 and the high-order bit corresponds to the DES)fjt 375 755 1812 14 (odd-parity bit 8. By convention, the unspecified key 0 \(zero\), consisting of eight odd-parity z)fjt 2187 755 64 0 (ero)fjt 375 695 1875 13 (octets, is used for testing and presumed known throughout the NTP community. The remaining)fjt 375 635 1220 9 (keys are distributed using methods outside the scope of NTP.)fjt 300 545 1947 10 (Crypto-Checksum \(pkt.check\): This is a crypto-checksum computed by the encryption procedure.)fjt 300 457 1850 13 (The authenticator field consists of two subfields, one consisting of the pkt.keyid variable an)fjt 2150 457 100 1 (d the)fjt 300 399 1950 14 (other the pkt.check variable computed by the encrypt procedure, which is called by the transmit)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 3374 2624 3374 2624 2825 -75 2825 np mto lto lto lto clip np /tface 4 def 4 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2979 230 0 (RFC-1119)fjt 1024 2979 504 2 (Network Time Protocol)fjt 1882 2979 369 1 (September 1989)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 474 2624 474 2624 -75 -75 -75 np mto lto lto lto clip np /tface 4 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 279 100 0 (Mills)fjt 2065 279 186 1 (Page 57)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np %End page showpage svobj restore gr gs /svobj save def %Begin page UserSoP greset -75 3374 2624 3374 2624 -75 -75 -75 np mto lto lto lto clip np /tface 8 def 8 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2439 1889 15 (procedure described in Section 3.4.1, and by the decrypt procedure, which is called by the rece)fjt 2189 2439 61 0 (ive)fjt 300 2381 1911 15 (procedure described in Sectio 3.4.2. Its presence is revealed by the fact the total datagram leng)fjt 2211 2381 39 0 (th)fjt 300 2322 1950 15 (according to the UDP header is longer than the NTP message length, which includes the header)fjt 300 2264 1950 14 (plus the data field, if present. For authentication purposes, the NTP message is zero-padded if)fjt 300 2206 1843 16 (necessary to a 64-bit boundary, although the padding bits are not considered part of the NTP me)fjt 2143 2206 108 0 (ssage)fjt 300 2148 987 7 (itself. The authenticator format shown in Figure 8)fjt 1287 2148 963 9 ( has 96 bits, including a 32-bit key identifier and)fjt 300 2089 1851 12 (64-bit crypto-checksum, and is aligned on a 32-bit boundary for efficient computation. Addit)fjt 2151 2089 100 0 (ional)fjt 300 2031 1833 10 (information required in some implementations, such as certificate authority and encryption)fjt 2133 2031 101 1 ( algo)fjt 2234 2031 17 0 (-)fjt 300 1973 1950 16 (rithm, can be inserted between the \(padded\) NTP message and the key identifier, as long as the)fjt 300 1915 1776 12 (alignment conditions are met. Like the authenticator itself, this information is not includ)fjt 2076 1915 175 2 (ed in the)fjt 300 1856 1931 13 (crupto-checksum. Use of these data are beyond the scope of this specification. These convention)fjt 2231 1856 19 0 (s)fjt 300 1798 1445 11 (may be changed in future as the result of other standardization activities.)fjt /tface 5 def 5 encfont sf 300 1710 111 0 (10.2.)fjt (s)27 (e)18 (r)30 (u)29 (d)27 (e)27 (c)29 (o)19 (r)32 (P)12 ( )29 (n)30 (o)13 (i)15 (t)27 (a)27 (c)12 (i)16 (t)29 (n)27 (e)30 (h)15 (t)30 (u)35 (A)12 ( )31 (P)30 (T)35 (N)12 ( )0 30 411 1710 fet /tface 8 def sf 300 1623 1864 12 (When authentication is implemented there are two additional procedures added to those descr)fjt 2164 1623 86 0 (ibed)fjt 300 1564 1950 12 (in Section 3.4. One of these \(encrypt\) constructs the crypto-checksum in transmitted messages,)fjt 300 1506 1936 14 (while the other \(decrypt\) checks this quantity in received messages. The procedures use a varian)fjt 2236 1506 14 0 (t)fjt 300 1448 1862 15 (of the cipher-block chaining method described in [10] as applied to DES. In principal, the proce)fjt 2162 1448 89 0 (dure)fjt 300 1390 1938 14 (is independent of DES and requires only that the encryption algorithm operate on 64-bit blocks)fjt 2238 1390 13 0 (.)fjt 300 1331 1950 14 (While the NTP authentication mechanism specifies the use of DES, other algorithms could be used)fjt 300 1273 433 2 (by prior arrangement.)fjt 300 1186 1854 12 (For ordinary NTP messages the encryption procedure operates as follows. If authentication i)fjt 2154 1186 97 1 (s not)fjt 300 1127 1925 12 (enabled \(peer.authenable set to zero\), the procedure simply exits. Otherwise, a 64-bit temporar)fjt 2225 1127 25 0 (y)fjt 300 1069 1851 16 (variable is initialized to zero. For each of the 64-bit NTP header and data words not includin)fjt 2151 1069 99 1 (g the)fjt 300 1011 1786 12 (authenticator or additional information and proceeding from the beginning of the header, th)fjt 2086 1011 164 1 (e header)fjt 300 953 1950 14 (word is XORed with the temporary variable and the variable then encrypted using the DES)fjt 300 894 1815 17 (algorithm. If the association is active \(modes 1, 3, 5\) the key is determined by the system v)fjt 2115 894 135 0 (ariable)fjt 300 836 1928 16 (sys.keyid. If the association is passive \(modes 2, 4\) the key is determined by the peer variabl)fjt 2228 836 22 0 (e)fjt (e)25 (h)14 (t)25 ( )12 (,)25 (y)14 (l)14 (l)22 (a)25 (n)13 (i)28 (F)25 ( )13 (.)22 (e)19 (s)14 (i)36 (w)16 (r)22 (e)25 (h)14 (t)25 (o)25 ( )16 (\))25 (o)17 (r)22 (e)22 (z)16 (\()25 ( )25 (y)22 (e)25 (k)25 ( )14 (t)14 (l)25 (u)22 (a)16 (f)22 (e)25 (d)25 ( )22 (e)25 (h)14 (t)25 ( )25 (d)25 (n)22 (a)25 ( )22 (e)25 (n)25 (o)25 ( )25 (o)14 (t)25 ( )14 (t)22 (e)19 (s)25 ( )19 (s)14 (i)25 ( )22 (c)14 (i)13 (t)25 (n)22 (e)25 (h)14 (t)25 (u)22 (a)13 (.)16 (r)22 (e)22 (e)25 (p)25 ( )17 (f)13 (i)25 ( )25 (d)14 (i)25 (y)22 (e)25 (k)13 (.)16 (r)22 (e)23 (e)25 (p)0 93 300 778 fet 300 720 1844 13 (authenticator is constructed using the chosen key for pkt.keyid and temporary variable for pkt.c)fjt 2144 720 107 0 (heck.)fjt 300 632 1837 14 (For ordinary messages the decryption procedure operates as follows. If the peer is not confi)fjt 2137 632 114 0 (gured)fjt 300 574 1863 15 (\(peer.config bit set to zero\) and the message data includes the authenticator, which is placed a)fjt 2163 574 87 1 (t the)fjt 300 516 1865 18 (end of the NTP message itself, the peer.authenable bit is set to one; otherwise, it is set to zer)fjt 2165 516 85 1 (o. If)fjt 300 457 1950 16 (peer.config is set to one, no change to peer.authenable is made. If peer.authenable is set to zero)fjt 300 399 1903 15 (following this step, the procedure simply exits. Then, if the message data does not include t)fjt 2203 399 47 0 (he)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset 225 2979 2324 2979 2324 2552 225 2552 np mto lto lto lto clip np greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset 779 2949 1820 2949 1820 2583 779 2583 np mto lto lto lto clip np 825 2754 826 2754 826 2629 825 2629 fa colmap 1 [0 0 0 ] put 1 sci gs eofill gr 825 2754 1750 2754 1750 2753 825 2753 fa gs eofill gr 825 2629 1750 2629 1750 2628 825 2628 fa gs eofill gr 1750 2754 1751 2754 1751 2629 1750 2629 fa gs eofill gr greset 779 2829 1820 2829 1820 2583 779 2583 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 1057 2677 461 1 (Crypto-Checksum \(64\))fjt greset 779 2949 1820 2949 1820 2583 779 2583 np mto lto lto lto clip np greset 779 2949 974 2949 974 2755 779 2755 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 850 2846 25 0 (0)fjt greset 779 2949 1820 2949 1820 2583 779 2583 np mto lto lto lto clip np greset 1625 2949 1820 2949 1820 2755 1625 2755 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 1713 2846 50 0 (31)fjt greset 779 2949 1820 2949 1820 2583 779 2583 np mto lto lto lto clip np greset 975 2949 1199 2949 1199 2755 975 2755 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 1075 2846 25 0 (8)fjt greset 779 2949 1820 2949 1820 2583 779 2583 np mto lto lto lto clip np greset 1200 2949 1424 2949 1424 2755 1200 2755 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 1288 2846 50 0 (16)fjt greset 779 2949 1820 2949 1820 2583 779 2583 np mto lto lto lto clip np greset 1425 2949 1649 2949 1649 2755 1425 2755 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 1513 2846 50 0 (24)fjt greset 779 2949 1820 2949 1820 2583 779 2583 np mto lto lto lto clip np 825 2829 826 2829 826 2754 825 2754 fa colmap 1 [0 0 0 ] put 1 sci gs eofill gr 825 2829 1750 2829 1750 2828 825 2828 fa gs eofill gr 825 2754 1750 2754 1750 2753 825 2753 fa gs eofill gr 1750 2829 1751 2829 1751 2754 1750 2754 fa gs eofill gr greset 779 2904 1820 2904 1820 2680 779 2680 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 1099 2771 376 2 (Key Identifier \(32\))fjt greset 779 2949 1820 2949 1820 2583 779 2583 np mto lto lto lto clip np greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset 225 2701 2324 2701 2324 2443 225 2443 np mto lto lto lto clip np /tface 8 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 964 2543 622 3 (Figure 8. Authenticator Format)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 3374 2624 3374 2624 2825 -75 2825 np mto lto lto lto clip np /tface 4 def 4 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2979 230 0 (RFC-1119)fjt 1024 2979 504 2 (Network Time Protocol)fjt 1882 2979 369 1 (September 1989)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 474 2624 474 2624 -75 -75 -75 np mto lto lto lto clip np /tface 4 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 279 100 0 (Mills)fjt 2065 279 186 1 (Page 58)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np %End page showpage svobj restore gr gs /svobj save def %Begin page UserSoP greset -75 3374 2624 3374 2624 -75 -75 -75 np mto lto lto lto clip np /tface 8 def 8 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2841 1744 13 (authenticator fields, the peer.authentic bit is set to zero and the procedure exits. Otherwise,)fjt 2044 2841 207 2 ( the packet)fjt 300 2782 1925 13 (variable pkt.keyid is copied to the peer variable peer.keyid and the crypto-checksum is compute)fjt 2225 2782 25 0 (d)fjt 300 2724 1886 16 (using that variable. The peer.authentic bit is set to one if peer.keyid is nonzero and the checks)fjt 2186 2724 64 0 (um)fjt 300 2666 1560 13 (matches the pkt.check field following this step; otherwise the bit is set to zero.)fjt 300 2579 1950 16 (For NTP control messages the peer variables are not used. If a command message is received with)fjt 300 2520 1815 14 (an authenticator field, the crypto-checksum is computed as in the decrypt procedure and the re)fjt 2115 2520 136 0 (sponse)fjt 300 2462 1950 13 (message includes the authenticator field as computed by the encrypt procedure. If the received)fjt 300 2404 1812 17 (authenticator is correct the key for the response is the same as in the command; otherwise, the )fjt 2112 2404 138 0 (default)fjt 300 2346 1950 17 (key \(zero\) is used. Commands causing a change to the peer data base, such as the write variables)fjt 300 2287 1950 11 (and set trap address/port commands, must be correctly authenticated; however, the remaining)fjt 300 2229 1761 11 (commands are normally not authenticated in order to minimize the encryption overhead.)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 3374 2624 3374 2624 2825 -75 2825 np mto lto lto lto clip np /tface 4 def 4 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2979 230 0 (RFC-1119)fjt 1024 2979 504 2 (Network Time Protocol)fjt 1882 2979 369 1 (September 1989)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 474 2624 474 2624 -75 -75 -75 np mto lto lto lto clip np /tface 4 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 279 100 0 (Mills)fjt 2065 279 186 1 (Page 59)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np %End page showpage svobj restore gr gs /svobj save def %Begin page UserSoP greset -75 3374 2624 3374 2624 -75 -75 -75 np mto lto lto lto clip np /tface 5 def 5 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2841 69 0 (11.)fjt (.)27 (s)29 (n)30 (o)12 (i)27 (s)18 (r)27 (e)30 (V)12 ( )27 (s)29 (u)30 (o)12 (i)27 (v)27 (e)18 (r)32 (P)13 ( )43 (m)30 (o)18 (r)15 (f)13 ( )27 (s)26 (e)27 (c)30 (n)26 (e)19 (r)26 (e)16 (f)15 (f)13 (i)35 (D)13 ( )12 (.)35 (D)13 ( )27 (x)12 (i)30 (d)29 (n)27 (e)30 (p)29 (p)35 (A)13 ( )0 48 369 2841 fet /tface 8 def 8 encfont sf 300 2749 1950 16 (The original NTP, later called NTP Version 0, was described in RFC-958 [30], while the most recent)fjt 300 2691 1950 15 (prior NTP Version 1 was described in RFC-1059 [42]. The Version-2 description has been split into)fjt 300 2633 1865 12 (two documents, this one defining the architecture and specifying the protocol and algorithms,)fjt 2165 2633 85 1 ( and)fjt 300 2575 1950 11 (another [44] describing the service model, algorithmic analysis and operating experience. In)fjt 300 2516 1950 12 (previous versions [30], [42] these two objectives were combined in one document. Differences)fjt 300 2458 1950 15 (between NTP Version 2 and previous versions are described in this Appendix. Due to known bugs)fjt 300 2400 1819 11 (in very old implementations, continued support for Version-0 implementations is not recomm)fjt 2119 2400 132 0 (ended.)fjt 300 2342 1898 12 (It is recommended that new implementations follow the guidelines below when interoperating w)fjt 2198 2342 53 0 (ith)fjt 300 2283 556 1 (Version-1 implementations.)fjt 300 2186 38 0 (1.)fjt 375 2186 1875 11 (Version 1 supports no modes other than symmetric-active and symmetric-passive, which are)fjt 375 2128 1875 13 (determined by inspecting the port-number fields of the UDP packet header as described in)fjt 375 2070 1853 17 (Section 3.3 above. The low-order three bits of the first octet, specified as zero in Version 1, ar)fjt 2228 2070 22 0 (e)fjt 375 2011 1834 12 (used for the mode field in Version 2. Version-2 implementations interoperating with Version)fjt 2209 2011 42 0 (-1)fjt 375 1953 1875 15 (implementations should operate in a passive mode only and use the value one in the version)fjt 375 1895 1790 12 (number \(pkt.version\) field and zero in the mode \(pkt.mode\) field in transmitted messages.)fjt 300 1798 38 0 (2.)fjt 375 1798 1875 14 (Version 1 does not support the NTP control message described in Appendix B. Certain old)fjt 375 1739 682 6 (versions of the Unix NTP daemon )fjt /tface 10 def 10 encfont sf 1057 1739 89 0 (ntpd)fjt /tface 8 def sf 1146 1739 1104 9 ( use the high-order bits of the stratum field \(pkt.stratum\))fjt 375 1681 1875 14 (for control and monitoring purposes. While these bits are never set during normal Version-1 or)fjt 375 1623 1875 12 (Version-2 operations, new implementations may use the NTP reserved mode 6 described in)fjt 375 1565 1875 14 (Appendix B and/or private reserved mode 7 for special purposes, such as remote control and)fjt 375 1506 1799 16 (monitoring, and in such cases the format of the packet following the first octet can be arbitr)fjt 2174 1506 76 0 (ary.)fjt 375 1448 1875 11 (While there is no guarantee that different implementations can interoperate using private)fjt 375 1390 1801 13 (reserved mode 7, it is recommended that vanilla ASCII format be used whenever possible.)fjt 300 1292 38 0 (3.)fjt 375 1292 1859 12 (Version 1 does not support authentication. The key identifiers, cryptographic keys and proce)fjt 2234 1292 17 0 (-)fjt 375 1234 1875 14 (dures described in Appendix C are new to Version 2, along with the corresponding variables,)fjt 375 1176 1875 13 (procedures and authenticator fields. In the NTP message described in Appendix A and NTP)fjt 375 1118 1875 14 (control message described in Appendix B the format and contents of the header fields are)fjt 375 1059 1875 11 (independent of the authentication mechanism and the authenticator itself follows the header)fjt 375 1001 1216 8 (fields, so that previous versions will ignore the authenticator.)fjt 300 904 38 0 (4.)fjt 375 904 1875 13 (In Version 1 the synchronizing dispersion \(pkt.dispersion\) field of the NTP header was called)fjt 375 846 1792 13 (the estimated drift rate, but not used in the protocol or timekeeping procedures. Implementat)fjt 2167 846 83 0 (ions)fjt 375 788 1811 15 (of the Version-1 protocol typically set this field to the current value of the Drift Compensat)fjt 2186 788 64 0 (ion)fjt 375 729 1817 15 (Register, which is a signed quantity. In a Version 2 implementation apparent large values in t)fjt 2192 729 58 0 (his)fjt 375 671 1859 11 (field may affect the order considered in the clock-selection procedure. Version-2 implementa)fjt 2234 671 17 0 (-)fjt 375 613 1820 11 (tions interoperating with older implementations should assume this field is zero, regardless)fjt 2195 613 55 1 ( of)fjt 375 555 369 2 (its actual contents.)fjt 300 457 38 0 (5.)fjt (n)26 (u)25 ( )25 (o)14 (t)25 ( )22 (e)25 (u)26 (d)25 ( )19 (s)25 (n)26 (o)14 (i)14 (t)25 (p)25 (u)17 (r)19 (s)14 (i)26 (d)25 ( )25 (d)14 (i)25 (o)25 (v)23 (a)25 ( )25 (o)14 (t)25 ( )25 (d)22 (e)26 (n)25 (g)14 (i)19 (s)23 (e)25 (d)25 ( )19 (s)26 (k)22 (c)23 (e)25 (h)23 (c)25 ( )25 (y)15 (t)14 (i)25 (n)23 (a)20 (s)25 ( )14 (l)22 (a)17 (r)23 (e)25 (v)23 (e)20 (s)25 ( )19 (s)23 (e)14 (t)23 (a)17 (r)25 (o)26 (p)17 (r)25 (o)23 (c)25 (n)14 (i)25 ( )26 (2)25 ( )25 (n)26 (o)14 (i)20 (s)17 (r)22 (e)37 (V)0 84 375 457 fet (-)0 1 2234 457 fet 375 399 1839 12 (synchronized, duplicate or bogus timestamp information. The leap-indicator bits are set to sho)fjt 2214 399 36 0 (w)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 3374 2624 3374 2624 2825 -75 2825 np mto lto lto lto clip np /tface 4 def 4 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2979 230 0 (RFC-1119)fjt 1024 2979 504 2 (Network Time Protocol)fjt 1882 2979 369 1 (September 1989)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 474 2624 474 2624 -75 -75 -75 np mto lto lto lto clip np /tface 4 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 279 100 0 (Mills)fjt 2065 279 186 1 (Page 60)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np %End page showpage svobj restore gr gs /svobj save def %Begin page UserSoP greset -75 3374 2624 3374 2624 -75 -75 -75 np mto lto lto lto clip np /tface 8 def 8 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 375 2841 1859 17 (the unsynchronized state if updates are not received from a reference source for a full day or i)fjt 2234 2841 17 0 (f)fjt 375 2782 1875 13 (the reference source has not received updates for a full day. Some Version-1 implementations)fjt 375 2724 1693 10 (could claim valid synchronization indefinitely following loss of the reference source.)fjt 300 2635 38 0 (6.)fjt 375 2635 1792 13 (The clock-selection procedure of Version 2 is considerably refined as the result of accumul)fjt 2167 2635 83 0 (ated)fjt 375 2577 1875 10 (experience with the Version-1 implementation. Additional sanity checks are included for)fjt 375 2519 1841 16 (authentication, range bounds and to avoid use of very old data. The candidate list is sorted twic)fjt 2216 2519 35 0 (e,)fjt 375 2460 1836 14 (once to select a relatively few robust candidates from a potentially large population of unru)fjt 2211 2460 39 0 (ly)fjt 375 2402 1875 16 (peers and again to order the resulting list by measurement quality. As in Version 1, The final)fjt 375 2344 1691 11 (selection procedure repeatedly casts out outlyers on the basis of weighted dispersion.)fjt 300 2255 38 0 (7.)fjt 375 2255 1875 14 (The local-clock procedure of Version 2 is considerably improved over Version 1 as the result)fjt 375 2196 1875 14 (of analysis, simulation and experience. Checks have been added to warn that the oscillator has)fjt 375 2138 1875 14 (gone too long without update from a reference source. The Compliance Register has been added)fjt 375 2080 1875 14 (to improve frequency stability to the order of a millisecond per day. The various parameters)fjt 375 2022 1875 13 (were retuned for optimum loop stability using measured data over typical Internet paths and)fjt 375 1963 680 3 (with typical local-clock hardware.)fjt 300 1874 38 0 (8.)fjt 375 1874 1875 13 (Problems in the timekeeping calculations of Version 1 with high-speed LANs were found and)fjt 375 1816 1875 14 (corrected. These were caused by jitter due to small differences in clock rates and different)fjt 375 1758 1861 12 (precisions between the peers. Subtle bugs in the Version-1 reachability and polling-rate contro)fjt 2236 1758 14 0 (l)fjt 375 1699 1875 13 (were found and corrected. The peer.valid and sys.hold variables were added to avoid instabilities)fjt 375 1641 1875 13 (when the reference source changes rapidly due to large dispersive delays under conditions of)fjt 375 1583 1875 10 (severe network congestion. The peer.config, peer.authenable and peer.authentic bits were added)fjt 375 1525 1068 6 (to control special features and simplify configuration.)fjt 300 1348 466 1 (Security considerations)fjt 375 1288 897 7 (see Section 3.5 and Section 10 \(Appendix C\))fjt 300 1198 339 1 (Author's address)fjt 375 1138 295 2 (David L. Mills)fjt 375 1078 693 2 (Electrical Engineering Department)fjt 375 1018 467 2 (University of Delaware)fjt 375 958 387 2 (Newark, DE 19716)fjt 375 898 449 2 (Phone \(302\) 451-8247)fjt 375 838 452 1 (EMail mills@udel.edu)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 3374 2624 3374 2624 2825 -75 2825 np mto lto lto lto clip np /tface 4 def 4 encfont colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 2979 230 0 (RFC-1119)fjt 1024 2979 504 2 (Network Time Protocol)fjt 1882 2979 369 1 (September 1989)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np greset -75 474 2624 474 2624 -75 -75 -75 np mto lto lto lto clip np /tface 4 def colmap 1 [0 0 0 ] put 1 sci /tszabs false def /txscale 1200 3 mul 72 div def /tyscale 1200 3 mul 72 div def /trotate 0 def /halign 0 def /valign 0 def /tunder false def sf 300 279 100 0 (Mills)fjt 2065 279 186 1 (Page 61)fjt greset -300 3599 2850 3599 2850 -301 -300 -301 np mto lto lto lto clip np %End page showpage svobj restore gr gs /svobj save def %Begin page UserSoP svobj restore gr end grestore %%Trailer %%Pages: 61 %%EOF