Annotation of embedaddon/ntp/html/ntpdsim_new.html, revision 1.1.1.1

1.1       misho       1: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
                      2: 
                      3: <html>
                      4: 
                      5:        <head>
                      6:                <meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
                      7:                <meta name="generator" content="HTML Tidy, see www.w3.org">
                      8:                <title>ntpdsim - Network Time Protocol (NTP) Simulator</title>
                      9:                <link href="scripts/style.css" type="text/css" rel="stylesheet">
                     10:        </head>
                     11: 
                     12:        <body>
                     13:                <h3><tt>ntpdsim</tt> - Network Time Protocol (NTP) Simulator</h3>
                     14:                <img src="pic/oz2.gif" alt="gif" align="left"><a href="http://www.eecis.udel.edu/%7emills/pictures.html">from <i>The Wizard of Oz</i>, L. Frank Baum</a>
                     15:                <p>All in a row.</p>
                     16:                <p>Last update: <csobj format="ShortTime" h="25" locale="00000409" region="0" t="DateTime" w="61">15:56</csobj> UTC <csobj format="LongDate" h="25" locale="00000409" region="0" t="DateTime" w="250">Sunday, March 02, 2008</csobj></p>
                     17:                <br clear="left">
                     18:                <h4>Related Links</h4>
                     19:                <script type="text/javascript" language="javascript" src="scripts/manual.txt"></script>
                     20:                <h4>Table of Contents</h4>
                     21:                <ul>
                     22:                        <li><a href="#description">Description</a><br>
                     23:                        <li><a href="#configuration">Configuration</a>
                     24:                        <li><a href="#sample">Sample Configuration File</a>
                     25:                </ul>
                     26:                <h4 id="description">Description</h4>
                     27:                <p>The ntpdsim program is used to simulate and study the behavior of an NTP daemon that derives its time from a number of different simulated time sources (servers). Each simulated server can be configured to have a different time offset, frequency offset, propagation delay, processing delay, network jitter and oscillator wander.</p>
                     28:                <p>The ntpdsim program runs all the same selection, mitigation, and discipline
                     29:                        algorithms as the actual ntpd daemon at the client. (It actually
                     30:                        uses the same code). However, the input/output routines and servers are simulated.
                     31:                        That is, instead of sending the client messages over the network
                     32:                        to the actual servers, the client messages are intercepted by the ntpdsim
                     33:                        program, which then generates the replies to those messages. The reply messages
                     34:                        are carefully &quot;inserted&quot; into the input queue of the client at the right time
                     35:                        according to the specified server properties (like propagation delay).</p>
                     36:                <p>Each simulated server runs according to a specified script that describes the server properties at a particular time. Each script consists of a series of consecutive acts. Each act runs for a particular duration and specifies the frequency offset, propagation delay, processing delay, network jitter and oscillator wander of the server for that duration. Once the duration of an act expires, the simulated server reconfigures itself according to the properties specified in the next act.</p>
                     37:                <h4 id="configuration">Configuration</h4>
                     38:                <p>The ntpdsim program is configured by providing a configuration file at startup. The crux of the simulator configuration is specified using a <tt>simulate</tt> command, the syntax of which is given below. Note that all time quantities are in seconds and all frequency quantities are in parts per million (PPM):</p>
                     39:                <p>&lt;<i>simulate_command</i>&gt; ::= <tt>simulate</tt> { &lt;<i>init_statement_list</i>&gt; &lt;<i>server_list</i>&gt; }<br>
                     40:                &lt;<i>init_statement_list</i>&gt; ::= &lt;init_statement_list&gt; &lt;init_statement&gt; | &lt;init_statement&gt;<br>
                     41:                &lt;<i>init_statement</i>&gt; ::= <tt>beep_delay</tt> = &lt;number&gt; | <tt>simulation_duration</tt> = &lt;number&gt;<br>
                     42:                &lt;<i>server_list</i>&gt; ::= &lt;<i>server_list</i>&gt; &lt;server&gt; | &lt;server&gt;<br>
                     43:                &lt;<i>server_list</i>&gt; ::= <tt>server</tt> = &lt;address&gt; { <tt>server_offset</tt> = &lt;number&gt; &lt;act_list&gt; }<br>
                     44:                &lt;<i>act_list</i>&gt; ::= &lt;<i>act_list</i>&gt; &lt;<i>act</i>&gt; | &lt;<i>act</i>&gt;<br>
                     45:                &lt;<i>act</i>&gt; ::= <tt>duration</tt> = &lt;number&gt; { &lt;<i>act_stmt_list</i>&gt; }<br>
                     46:                &lt;<i>act_stmt_list</i>&gt; ::= &lt;<i>act_stmt_list</i>&gt; &lt;<i>act_stmt</i>&gt; | &lt;<i>act_stmt</i>&gt;<br>
                     47:                &lt;<i>act_stmt</i>&gt; ::= <tt>freq_offset</tt> = &lt;number&gt; | <tt>wander</tt> = &lt;number&gt; | <tt>jitter</tt> = &lt;number&gt; | <tt>prop_delay</tt> = &lt;number&gt; | <tt>proc_delay</tt> = &lt;number&gt;</p>
                     48:                <p>In addition to the simulate command, other standard NTP configuration commands can be specified. These commands have the same meaning as in the ntpd configuration. Note that newlines are <b>not</b> significant within the simulate command even though they are used to mark the end of a normal NTP configuration command.</p>
                     49:                <h4 id="sample">Sample Configuration File</h4>
                     50:                <p>A sample ntpdsim configuration file is given below. It specifies two simulated servers, each of which has two acts.</p>
                     51:        <pre>
                     52:     # Client configuration 
                     53:     disable kernel
                     54:     server pogo
                     55:     driftfile ./ntp.drift
                     56:     statsdir ./ntpstats/
                     57:     filegen loopstats type day enable
                     58:     filegen peerstats type day enable
                     59: 
                     60:     # Simulation configuration
                     61:     simulate {
                     62:         simulation_duration = 86400
                     63:         beep_delay = 3600
                     64: 
                     65:         # Server 1
                     66:        server = louie.udel.edu {
                     67:            server_offset = 0 
                     68:             duration = 50000 {
                     69:                freq_offset = 400
                     70:                wander = 1.0
                     71:                jitter = 0.001
                     72:                prop_delay = 0.001
                     73:                proc_delay = 0.001
                     74:            }
                     75:             duration = 6400 {
                     76:                freq_offset = 200
                     77:                wander = 1.0
                     78:                jitter = 0.001
                     79:                prop_delay = 0.001
                     80:                proc_delay = 0.001
                     81:            }
                     82:        }
                     83: 
                     84:         # Server 2
                     85:        server = baldwin.udel.edu {
                     86:            server_offset = 0.02
                     87:            duration = 10000 {
                     88:                freq_offset = 400
                     89:                wander = 1.0
                     90:                jitter = 0.001
                     91:                prop_delay = 0.5
                     92:                proc_delay = 0.001
                     93:            }
                     94:            duration = 60000 {
                     95:                freq_offset = 200
                     96:                wander = 1.0
                     97:                jitter = 0.05
                     98:                prop_delay = 0.005
                     99:                proc_delay = 0.001
                    100:            }
                    101:        }
                    102:     }
                    103:   </pre>
                    104:                <hr>
                    105:                <address><a href="mailto:skamboj@udel.edu">Sachin Kamboj</a></address>
                    106:                <script type="text/javascript" language="javascript" src="scripts/footer.txt"></script>
                    107:        </body>
                    108: 
                    109: </html>

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>