xref: /freebsd/contrib/ntp/html/ntpdsim.html (revision 74bf4e164ba5851606a27d4feff27717452583e5)
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
3<html>
4
5    <head>
6        <meta name="generator" content="HTML Tidy, see www.w3.org">
7        <title>ntpdsim - Network Time Protocol (NTP) simulator</title>
8        <link href="scripts/style.css" type="text/css" rel="stylesheet">
9    </head>
10
11    <body>
12        <h3><tt>ntpdsim</tt> - Network Time Protocol (NTP) simulator</h3>
13        <img src="pic/alice47.gif" alt="gif" align="left"><a href="http://www.eecis.udel.edu/%7emills/pictures.html">from <i>Alice's Adventures in Wonderland</i>, Lewis Carroll</a>
14        <p>The mushroom knows all the command line options.</p>
15        <p>Last update: <csobj format="ShortTime" h="25" locale="00000409" region="0" t="DateTime" w="99">03:16 AM</csobj> UTC <csobj format="LongDate" h="25" locale="00000409" region="0" t="DateTime" w="270">Monday, October 13, 2003</csobj></p>
16        <br clear="left">
17        <h4>Related Links</h4>
18        <script type="text/javascript" language="javascript" src="scripts/links7.txt"></script>
19        <h4>Table of Contents</h4>
20        <ul>
21            <li class="inline"><a href="#synop">Synopsis</a><br>
22            <li class="inline"><a href="#descr">Description</a><br>
23            <li class="inline"><a href="#cmd">Command Line Oprionts</a>
24            <li class="inline"><a href="#files">Files</a>
25        </ul>
26        <hr>
27        <h4 id="synop">Synopsis</h4>
28        <tt>ntpdsim [ -B <i>bdly</i> ] [ -C <i>snse</i> ] [ -O <i>clk_time</i> ] [ -S <i>sim_time</i> ] [ -T <i>ferr</i> ] [ -W <i>fsne</i> ] [ -Y </tt><i><tt>ndly</tt></i><tt> ] [ -X </tt><i><tt>pdly</tt></i><tt> ]</tt>
29        <h4 id="descr">Description</h4>
30        <p>The <tt>ntpdsim</tt> program is an adaptation of the <tt>ntpd</tt> operating system daemon. The program operates as a discrete time simulator using specified systematic and random driving sources. It includes all the mitigation and discipline algorithms of the actual daemon, but with the packet I/O and system clock algorithms driven by simulation. Most functions of the real <tt>ntpd</tt> remain intact, including the monitoring, statistics recording, trace and host name resolution features. Further information on the simulator is on the <a href="http://www.eecis.udel.edu/~mills/ntpsim.html">NTP Discrete Event Simulator</a> page.</p>
31        <p>The simulator is most useful to study NTP behavior in response to time and/or frequency transients under specific conditions of network jitter and oscillator wander. For this purpose the daemon can be driven by pseudorandom jitter and wander sample sequences characteristic of real networks and oscillators. The jitter generator produces samples from a Poisson distribution, while the wander generator produces samples from a Guassian distribution.</p>
32        <p>The easiest way to use this program is to create a <tt>ntpstats</tt> directory, configuration file <tt>ntp.conf</tt> and frequency file <tt>ntp.drift</tt> and test shell <tt>test.sh</tt> in the base directory. The <tt>ntp.drift</tt> file and <tt>ntpstats</tt> directory can be empty to start. The <tt>test.sh</tt> script can contain something like</p>
33        <pre>rm ./ntpstats/*
34ntpdsim -O 0.1 -C .001 -T 400 -W 1 -c ./ntp.conf,
35</pre>
36        <p>which starts the simulator with a time offset 100 ms, network jitter 1 ms, frequency offset 400 PPM and oscillator wander 1 PPM/s. These parameters represent typical conditions with modern workstations on a Ethernet LAN. The ntp.conf file should contain something like</p>
37        <pre>disable kernel
38server pogo
39driftfile ./ntp.drift
40statsdir ./ntpstats/
41filegen loopstats type day enable
42filegen peerstats type day enable
43</pre>
44        <h4 id="cmd">Command Line Options</h4>
45        <dl>
46            <dt>Most of the <tt>ntpd</tt> command line options apply also to <tt>ntpdsim</tt>. In addition, the following command line options apply to <tt>ntpdsim.</tt>
47            <dt><tt>-B <i>bdly</i></tt>
48            <dd>Specify beep delay (3600) s.
49            <dt><tt>-C <i>snse</i></tt>
50            <dd>Specify network jitter parameter (0) s.
51            <dt><tt>-O <i>clk_time</i></tt>
52            <dd>Specify initial time offset (0) s.
53            <dt><tt>-S <i>sim_time</i></tt>
54            <dd>Specify simulation duration (86400) s.
55            <dt><tt>-T <i>ferr</i></tt>
56            <dd>Specify initial frequency offset (0) PPM.
57            <dt><tt>-W <i>fnse</i></tt>
58            <dd>Specify oscillator wander parameter (0) PPM/s.
59            <dt><tt>-Y <i>ndly</i></tt>
60            <dd>Specify network propagation delay (.001) s.
61            <dt><tt>-Z <i>pdly</i></tt>
62            <dd>Specify server processing delay (.001) s.
63        </dl>
64        <h4 id="files">Files</h4>
65        <tt>/etc/ntp.conf</tt> - the default name of the configuration file<br>
66        <tt>/etc/ntp.drift</tt> - the default name of the drift file<br>
67        <tt>/etc/ntp.keys</tt> - the default name of the key file
68        <hr>
69        <script type="text/javascript" language="javascript" src="scripts/footer.txt"></script>
70    </body>
71
72</html>