diff options
Diffstat (limited to 'usr.sbin/timed/SMM.doc')
-rw-r--r-- | usr.sbin/timed/SMM.doc/timed/Makefile | 12 | ||||
-rw-r--r-- | usr.sbin/timed/SMM.doc/timed/date | 53 | ||||
-rw-r--r-- | usr.sbin/timed/SMM.doc/timed/loop | 54 | ||||
-rw-r--r-- | usr.sbin/timed/SMM.doc/timed/spell.ok | 34 | ||||
-rw-r--r-- | usr.sbin/timed/SMM.doc/timed/time | 53 | ||||
-rw-r--r-- | usr.sbin/timed/SMM.doc/timed/timed.ms | 462 | ||||
-rw-r--r-- | usr.sbin/timed/SMM.doc/timed/unused | 53 | ||||
-rw-r--r-- | usr.sbin/timed/SMM.doc/timedop/Makefile | 8 | ||||
-rw-r--r-- | usr.sbin/timed/SMM.doc/timedop/timed.ms | 279 |
9 files changed, 0 insertions, 1008 deletions
diff --git a/usr.sbin/timed/SMM.doc/timed/Makefile b/usr.sbin/timed/SMM.doc/timed/Makefile deleted file mode 100644 index 9afa6c6..0000000 --- a/usr.sbin/timed/SMM.doc/timed/Makefile +++ /dev/null @@ -1,12 +0,0 @@ -# @(#)Makefile 8.1 (Berkeley) 6/8/93 -# $FreeBSD$ - -DIR= smm/12.timed -SRCS= timed.ms -MACROS= -ms -PRINTER=Pdp - -paper.${PRINTER}: ${SRCS} - ${SOELIM} ${SRCS} | ${TBL} | ${ROFF} > ${.TARGET} - -.include <bsd.doc.mk> diff --git a/usr.sbin/timed/SMM.doc/timed/date b/usr.sbin/timed/SMM.doc/timed/date deleted file mode 100644 index e4e4d58..0000000 --- a/usr.sbin/timed/SMM.doc/timed/date +++ /dev/null @@ -1,53 +0,0 @@ -.\" Copyright (c) 1986, 1993 -.\" The Regents of the University of California. All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. All advertising materials mentioning features or use of this software -.\" must display the following acknowledgement: -.\" This product includes software developed by the University of -.\" California, Berkeley and its contributors. -.\" 4. Neither the name of the University nor the names of its contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" @(#)date 8.1 (Berkeley) 6/8/93 -.\" -.ft B -.TS -center; -ce | ce | ce | ce -| c | c | c | s | -| c s s s |. -Byte 1 Byte 2 Byte 3 Byte 4 -= -Type Version No. Sequence No. -_ -Seconds of Time to Set -_ -Microseconds of Time to Set -_ -Machine Name -_ -\&. . . -_ -.TE -.ft R diff --git a/usr.sbin/timed/SMM.doc/timed/loop b/usr.sbin/timed/SMM.doc/timed/loop deleted file mode 100644 index 11ccb4d..0000000 --- a/usr.sbin/timed/SMM.doc/timed/loop +++ /dev/null @@ -1,54 +0,0 @@ -.\" Copyright (c) 1986, 1993 -.\" The Regents of the University of California. All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. All advertising materials mentioning features or use of this software -.\" must display the following acknowledgement: -.\" This product includes software developed by the University of -.\" California, Berkeley and its contributors. -.\" 4. Neither the name of the University nor the names of its contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" @(#)loop 8.1 (Berkeley) 6/8/93 -.\" -.ft B -.TS -center; -ce | ce | ce | ce -| c | c | c | s | -| c | c s s | -| c s s s |. -Byte 1 Byte 2 Byte 3 Byte 4 -= -Type Version No. Sequence No. -_ -Hop Count ( unused ) -_ -( unused ) -_ -Machine Name -_ -\&. . . -_ -.TE -.ft R diff --git a/usr.sbin/timed/SMM.doc/timed/spell.ok b/usr.sbin/timed/SMM.doc/timed/spell.ok deleted file mode 100644 index 8ecfe15..0000000 --- a/usr.sbin/timed/SMM.doc/timed/spell.ok +++ /dev/null @@ -1,34 +0,0 @@ -ACK -ADJTIME -Adjtime -CS -CSELT -Candidature -DATEACK -DoD -Gusella -MASTERACK -MASTERREQ -MASTERUP -MSITE -MSITEREQ -Protocol''SMM:22 -Riccardo -SETDATE -SETDATEREQ -SETTIME -SLAVEUP -SMM:22 -Stefano -TRACEOFF -TRACEON -TSP -Timedc -UDP -USENIX -Zatti -candidature -ce -daemon -daemons -timedc diff --git a/usr.sbin/timed/SMM.doc/timed/time b/usr.sbin/timed/SMM.doc/timed/time deleted file mode 100644 index 619d171..0000000 --- a/usr.sbin/timed/SMM.doc/timed/time +++ /dev/null @@ -1,53 +0,0 @@ -.\" Copyright (c) 1986, 1993 -.\" The Regents of the University of California. All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. All advertising materials mentioning features or use of this software -.\" must display the following acknowledgement: -.\" This product includes software developed by the University of -.\" California, Berkeley and its contributors. -.\" 4. Neither the name of the University nor the names of its contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" @(#)time 8.1 (Berkeley) 6/8/93 -.\" -.ft B -.TS -center; -ce | ce | ce | ce -| c | c | c | s | -| c s s s |. -Byte 1 Byte 2 Byte 3 Byte 4 -= -Type Version No. Sequence No. -_ -Seconds of Adjustment -_ -Microseconds of Adjustment -_ -Machine Name -_ -\&. . . -_ -.TE -.ft R diff --git a/usr.sbin/timed/SMM.doc/timed/timed.ms b/usr.sbin/timed/SMM.doc/timed/timed.ms deleted file mode 100644 index 412399a..0000000 --- a/usr.sbin/timed/SMM.doc/timed/timed.ms +++ /dev/null @@ -1,462 +0,0 @@ -.\" $FreeBSD$ -.\" -.\" Copyright (c) 1986, 1993 -.\" The Regents of the University of California. All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. All advertising materials mentioning features or use of this software -.\" must display the following acknowledgement: -.\" This product includes software developed by the University of -.\" California, Berkeley and its contributors. -.\" 4. Neither the name of the University nor the names of its contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" @(#)timed.ms 8.1 (Berkeley) 6/8/93 -.\" -.TL -The Berkeley -.UX -.br -Time Synchronization Protocol -.AU -Riccardo Gusella, Stefano Zatti, and James M. Bloom -.AI -Computer Systems Research Group -Computer Science Division -Department of Electrical Engineering and Computer Science -University of California, Berkeley -Berkeley, CA 94720 -.FS -This work was sponsored by the Defense Advanced Research Projects Agency -(DoD), monitored by the Naval Electronics Systems -Command under contract No. N00039-84-C-0089, and by the Italian CSELT -Corporation. -The views and conclusions contained in this document are those of the -authors and should not be interpreted as representing official policies, -either expressed or implied, of the Defense Research Projects Agency, -of the US Government, or of CSELT. -.FE -.LP -.OH 'The Berkeley UNIX Time Synchronization Protocol''SMM:12-%' -.EH 'SMM:12-%''The Berkeley UNIX Time Synchronization Protocol' -.SH -Introduction -.PP -The Time Synchronization Protocol (TSP) -has been designed for specific use by the program \fItimed\fP, -a local area network clock synchronizer for -the UNIX 4.3BSD operating -system. -Timed is built on the DARPA UDP protocol [4] and -is based on a master slave scheme. -.PP -TSP serves a dual purpose. -First, it supports messages for the synchronization of the clocks -of the various hosts in a local area network. -Second, it supports messages for the election that occurs -among slave time daemons when, for any reason, the master disappears. -The synchronization mechanism and the election procedure -employed by the program timed are described -in other documents [1,2,3]. -.PP -Briefly, the synchronization software, which works in a -local area network, consists of a collection of \fItime daemons\fP -(one per machine) and is based on a master-slave -structure. -The present implementation keeps processor clocks synchronized -within 20 milliseconds. -A \fImaster time daemon\fP measures the time -difference between the clock of the machine on which it -is running and those of all other machines. The current implementation -uses ICMP \fITime Stamp Requests\fP [5] to measure the clock difference -between machines. -The master computes the \fInetwork time\fP as the average of the -times provided by nonfaulty clocks.\** -.FS -A clock is considered to be faulty when its value -is more than a small specified -interval apart from the majority of the clocks -of the machines on the same network. -See [1,2] for more details. -.FE -It then sends to each \fIslave time daemon\fP the -correction that should be performed on the clock of its machine. -This process is repeated periodically. -Since the correction is expressed as a time difference rather than an -absolute time, transmission delays do not interfere with synchronization. -When a machine comes up and joins the network, -it starts a slave time daemon, which -will ask the master for the correct time and will reset the machine's clock -before any user activity can begin. -The time daemons therefore maintain a single network time in spite of -the drift of clocks away from each other. -.PP -Additionally, a time daemon on gateway machines may run as -a \fIsubmaster\fP. -A submaster time daemon functions as a slave on one network that -already has a master and as master on other networks. -In addition, a submaster is responsible for propagating broadcast -packets from one network to the other. -.PP -To ensure that service provided is continuous and reliable, -it is necessary to implement an election algorithm that will elect a -new master should the machine running the current master crash, the master -terminate (for example, because of a run-time error), or the network be -partitioned. -Under our algorithm, slaves are able to realize when the master has -stopped functioning and to elect a new master from among themselves. -It is important to note that since the failure of the master results -only in a gradual divergence of clock values, the election -need not occur immediately. -.PP -All the communication occurring among time daemons uses the TSP -protocol. -While some messages need not be sent in a reliable way, -most communication in TSP requires reliability not provided by the underlying -protocol. -Reliability is achieved by the use of acknowledgements, sequence numbers, and -retransmission when message losses occur. -When a message that requires acknowledgment is not acknowledged after -multiple attempts, -the time daemon that has sent the message will assume that the -addressee is down. -This document will not describe the details of how reliability is -implemented, but will only point out when -a message type requires a reliable transport mechanism. -.PP -The message format in TSP is the same for all message types; -however, in some instances, one or more fields are not used. -The next section describes the message format. -The following sections describe -in detail the different message types, their use and the contents -of each field. NOTE: The message format is likely to change in -future versions of timed. -.sp 2 -.SH -Message Format -.PP -All fields are based upon 8-bit bytes. Fields should be sent in -network byte order if they are more than one byte long. -The structure of a TSP message is the following: -.IP 1) -A one byte message type. -.IP 2) -A one byte version number, specifying the protocol version which the -message uses. -.IP 3) -A two byte sequence number to be used for recognizing duplicate messages -that occur when messages are retransmitted. -.IP 4) -Eight bytes of packet specific data. This field contains two 4 byte time -values, a one byte hop count, or may be unused depending on the type -of the packet. -.IP 5) -A zero-terminated string of up to 256 \s-2ASCII\s+2 characters with the name of -the machine sending the message. -.PP -The following charts describe the message types, -show their fields, and explain their usages. -For the purpose of the following discussion, a time daemon can -be considered to be in -one of three states: slave, master, or candidate for election to master. -Also, the term \fIbroadcast\fP refers to -the sending of a message to all active time daemons. -.sp 1 -.SH -Adjtime Message -.so time -.LP -Type: TSP_ADJTIME (1) -.sp 1 -.PP -The master sends this message to a slave to communicate -the difference between -the clock of the slave and -the network time the master has just computed. -The slave will accordingly -adjust the time of its machine. -This message requires an acknowledgment. -.sp 1 -.SH -Acknowledgment Message -.so unused -.LP -Type: TSP_ACK (2) -.sp 1 -.PP -Both the master and the slaves use this message for -acknowledgment only. -It is used in several different contexts, for example -in reply to an Adjtime message. -.sp 1 -.SH -Master Request Message -.so unused -.LP -Type: TSP_MASTERREQ (3) -.sp 1 -.PP -A newly-started time daemon broadcasts this message to -locate a master. No other action is implied by this packet. -It requires a Master Acknowledgment. -.sp 1 -.SH -Master Acknowledgement -.so unused -.LP -Type: TSP_MASTERACK (4) -.sp 1 -.PP -The master sends this message to acknowledge the Master Request message -and the Conflict Resolution Message. -.sp 1 -.SH -Set Network Time Message -.so date -.LP -Type: TSP_SETTIME (5) -.sp 1 -.PP -The master sends this message to slave time daemons to set their time. -This packet is sent to newly started time daemons and when the network -date is changed. -It contains the master's time as an approximation of the network time. -It requires an acknowledgment. -The next -synchronization round will eliminate the small time difference -caused by the random delay in the communication channel. -.sp 1 -.SH -Master Active Message -.so unused -.LP -Type: TSP_MASTERUP (6) -.sp 1 -.PP -The master broadcasts this message to -solicit the names of the active slaves. -Slaves will reply with a Slave Active message. -.sp 1 -.SH -Slave Active Message -.so unused -.LP -Type: TSP_SLAVEUP (7) -.sp 1 -.PP -A slave sends this message to the master in answer to a Master Active message. -This message is also sent when a new slave starts up to inform the master that -it wants to be synchronized. -.sp 1 -.SH -Master Candidature Message -.so unused -.LP -Type: TSP_ELECTION (8) -.sp 1 -.PP -A slave eligible to become a master broadcasts this message when its election -timer expires. -The message declares that the slave wishes to become the new master. -.sp 1 -.SH -Candidature Acceptance Message -.so unused -.LP -Type: TSP_ACCEPT (9) -.sp 1 -.PP -A slave sends this message to accept the candidature of the time daemon -that has broadcast an Election message. -The candidate will add the slave's name to the list of machines that it -will control should it become the master. -.sp 1 -.SH -Candidature Rejection Message -.so unused -.LP -Type: TSP_REFUSE (10) -.sp 1 -.PP -After a slave accepts the candidature of a time daemon, it will reply -to any election messages from other slaves -with this message. -This rejects any candidature other than the first received. -.sp 1 -.SH -Multiple Master Notification Message -.so unused -.LP -Type: TSP_CONFLICT (11) -.sp 1 -.PP -When two or more masters reply to a Master Request message, the slave -uses this message to inform one of them that more than one master exists. -.sp 1 -.SH -Conflict Resolution Message -.so unused -.LP -Type: TSP_RESOLVE (12) -.sp 1 -.PP -A master which has been informed of the existence of other masters -broadcasts this message to determine who the other masters are. -.sp 1 -.SH -Quit Message -.so unused -.LP -Type: TSP_QUIT (13) -.sp 1 -.PP -This message is sent by the master in three different contexts: -1) to a candidate that broadcasts a Master Candidature message, -2) to another master when notified of its existence, -3) to another master if a loop is detected. -In all cases, the recipient time daemon will become a slave. -This message requires an acknowledgement. -.sp 1 -.SH -Set Date Message -.so date -.LP -Type: TSP_SETDATE (22) -.sp 1 -.PP -The program \fIdate\fP\|(1) sends this message to the local time daemon -when a super-user wants to set the network date. -If the local time daemon is the master, it will set the date; -if it is a slave, it will communicate the desired date to the master. -.sp 1 -.SH -Set Date Request Message -.so date -.LP -Type: TSP_SETDATEREQ (23) -.sp 1 -.PP -A slave that has received a Set Date message will communicate the -desired date to the master using this message. -.sp 1 -.SH -Set Date Acknowledgment Message -.so unused -.LP -Type: TSP_DATEACK (16) -.sp 1 -.PP -The master sends this message to a slave in acknowledgment of a -Set Date Request Message. -The same message is sent by the local time daemon to the program -\fIdate(1)\fP to confirm that the network date has been set by the -master. -.sp 1 -.SH -Start Tracing Message -.so unused -.LP -Type: TSP_TRACEON (17) -.sp 1 -.PP -The controlling program \fItimedc\fP sends this message to the local -time daemon to start the recording in a system file of -all messages received. -.sp 1 -.SH -Stop Tracing Message -.so unused -.LP -Type: TSP_TRACEOFF (18) -.sp 1 -.PP -\fITimedc\fP sends this message to the local -time daemon to stop the recording of -messages received. -.sp 1 -.SH -Master Site Message -.so unused -.LP -Type: TSP_MSITE (19) -.sp 1 -.PP -\fITimedc\fP sends this message to the local time daemon to find out -where the master is running. -.sp 1 -.SH -Remote Master Site Message -.so unused -.LP -Type: TSP_MSITEREQ (20) -.sp 1 -.PP -A local time daemon broadcasts this message to find the location -of the master. -It then uses the Acknowledgement message to -communicate this location to \fItimedc\fP. -.sp 1 -.SH -Test Message -.so unused -.LP -Type: TSP_TEST (21) -.sp 1 -.PP -For testing purposes, \fItimedc\fP sends this message to a slave -to cause its election timer to expire. NOTE: \fItimed\fP -is not normally compiled to support this. -.sp 1 -.SH -.SH -Loop Detection Message -.so loop -.LP -Type: TSP_LOOP (24) -.sp 1 -.PP -This packet is initiated by all masters occasionally to attempt to detect loops. -All submasters forward this packet onto the networks over which they are master. -If a master receives a packet it sent out initially, -it knows that a loop exists and tries to correct the problem. -.SH -References -.IP 1. -R. Gusella and S. Zatti, -\fITEMPO: A Network Time Controller for Distributed Berkeley UNIX System\fP, -USENIX Summer Conference Proceedings, Salt Lake City, June 1984. -.IP 2. -R. Gusella and S. Zatti, \fIClock Synchronization in a Local Area Network\fP, -University of California, Berkeley, Technical Report, \fIto appear\fP. -.IP 3. -R. Gusella and S. Zatti, -\fIAn Election Algorithm for a Distributed Clock Synchronization Program\fP, -University of California, Berkeley, CS Technical Report #275, Dec. 1985. -.IP 4. -Postel, J., \fIUser Datagram Protocol\fP, RFC 768. -Network Information Center, SRI International, Menlo Park, California, -August 1980. -.IP 5. -Postel, J., \fIInternet Control Message Protocol\fP, RFC 792. -Network Information Center, SRI International, Menlo Park, California, -September 1981. diff --git a/usr.sbin/timed/SMM.doc/timed/unused b/usr.sbin/timed/SMM.doc/timed/unused deleted file mode 100644 index adadfc3..0000000 --- a/usr.sbin/timed/SMM.doc/timed/unused +++ /dev/null @@ -1,53 +0,0 @@ -.\" Copyright (c) 1986, 1993 -.\" The Regents of the University of California. All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. All advertising materials mentioning features or use of this software -.\" must display the following acknowledgement: -.\" This product includes software developed by the University of -.\" California, Berkeley and its contributors. -.\" 4. Neither the name of the University nor the names of its contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" @(#)unused 8.1 (Berkeley) 6/8/93 -.\" -.ft B -.TS -center; -ce | ce | ce | ce -| c | c | c | s | -| c s s s |. -Byte 1 Byte 2 Byte 3 Byte 4 -= -Type Version No. Sequence No. -_ -( unused ) -_ -( unused ) -_ -Machine Name -_ -\&. . . -_ -.TE -.ft R diff --git a/usr.sbin/timed/SMM.doc/timedop/Makefile b/usr.sbin/timed/SMM.doc/timedop/Makefile deleted file mode 100644 index 7d52a32..0000000 --- a/usr.sbin/timed/SMM.doc/timedop/Makefile +++ /dev/null @@ -1,8 +0,0 @@ -# @(#)Makefile 8.1 (Berkeley) 6/8/93 -# $FreeBSD$ - -DIR= smm/11.timedop -SRCS= timed.ms -MACROS= -ms - -.include <bsd.doc.mk> diff --git a/usr.sbin/timed/SMM.doc/timedop/timed.ms b/usr.sbin/timed/SMM.doc/timedop/timed.ms deleted file mode 100644 index feea0b5..0000000 --- a/usr.sbin/timed/SMM.doc/timedop/timed.ms +++ /dev/null @@ -1,279 +0,0 @@ -.\" Copyright (c) 1986, 1993 -.\" The Regents of the University of California. All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. All advertising materials mentioning features or use of this software -.\" must display the following acknowledgement: -.\" This product includes software developed by the University of -.\" California, Berkeley and its contributors. -.\" 4. Neither the name of the University nor the names of its contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" @(#)timed.ms 8.1 (Berkeley) 6/8/93 -.\" -.TL -Timed Installation and Operation Guide -.AU -Riccardo Gusella, Stefano Zatti, James M. Bloom -.AI -Computer Systems Research Group -Computer Science Division -Department of Electrical Engineering and Computer Science -University of California, Berkeley -Berkeley, CA 94720 -.AU -Kirk Smith -.AI -Engineering Computer Network -Department of Electrical Engineering -Purdue University -West Lafayette, IN 47906 -.FS -This work was sponsored by the Defense Advanced Research Projects Agency -(DoD), monitored by the Naval Electronics Systems -Command under contract No. N00039-84-C-0089, and by the CSELT -Corporation of Italy. -The views and conclusions contained in this document are those of the -authors and should not be interpreted as representing official policies, -either expressed or implied, of the Defense Research Projects Agency, -of the US Government, or of CSELT. -.FE -.LP -.EH 'SMM:11-%''Timed Installation and Operation' -.OH 'Timed Installation and Operation''SMM:11-%' -.SH -Introduction -.PP -The clock synchronization service for -the UNIX 4.3BSD operating system is composed of a collection of -time daemons (\fItimed\fP) running on the machines in a local -area network. -The algorithms implemented by the service is based on a master-slave scheme. -The time daemons communicate with each other using the -\fITime Synchronization Protocol\fP (TSP) which -is built on the DARPA UDP protocol and described in detail in [4]. -.PP -A time daemon has a twofold function. -First, it supports the synchronization of the clocks -of the various hosts in a local area network. -Second, it starts (or takes part in) the election that occurs -among slave time daemons when, for any reason, the master disappears. -The synchronization mechanism and the election procedure -employed by the program \fItimed\fP are described -in other documents [1,2,3]. -The next paragraphs are a brief overview of how the time daemon works. -This document is mainly concerned with the administrative and technical -issues of running \fItimed\fP at a particular site. -.PP -A \fImaster time daemon\fP measures the time -differences between the clock of the machine on which it -is running and those of all other machines. -The master computes the \fInetwork time\fP as the average of the -times provided by nonfaulty clocks.\** -.FS -A clock is considered to be faulty when its value -is more than a small specified -interval apart from the majority of the clocks -of the other machines [1,2]. -.FE -It then sends to each \fIslave time daemon\fP the -correction that should be performed on the clock of its machine. -This process is repeated periodically. -Since the correction is expressed as a time difference rather than an -absolute time, transmission delays do not interfere with -the accuracy of the synchronization. -When a machine comes up and joins the network, -it starts a slave time daemon which -will ask the master for the correct time and will reset the machine's clock -before any user activity can begin. -The time daemons are able to maintain a single network time in spite of -the drift of clocks away from each other. -The present implementation keeps processor clocks synchronized -within 20 milliseconds. -.PP -To ensure that the service provided is continuous and reliable, -it is necessary to implement an election algorithm to elect a -new master should the machine running the current master crash, the master -terminate (for example, because of a run-time error), or -the network be partitioned. -Under our algorithm, slaves are able to realize when the master has -stopped functioning and to elect a new master from among themselves. -It is important to note that, since the failure of the master results -only in a gradual divergence of clock values, the election -need not occur immediately. -.PP -The machines that are gateways between distinct local area -networks require particular care. -A time daemon on such machines may act as a \fIsubmaster\fP. -This artifact depends on the current inability of -transmission protocols to broadcast a message on a network -other than the one to which the broadcasting machine is connected. -The submaster appears as a slave on one network, and as a master -on one or more of the other networks to which it is connected. -.PP -A submaster classifies each network as one of three types. -A \fIslave network\fP is a network on which the submaster acts as a slave. -There can only be one slave network. -A \fImaster network\fP is a network on which the submaster acts as a master. -An \fIignored network\fP is any other network which already has a valid master. -The submaster tries periodically to become master on an ignored -network, but gives up immediately if a master already exists. -.SH -Guidelines -.PP -While the synchronization algorithm is quite general, the election -one, requiring a broadcast mechanism, puts constraints on -the kind of network on which time daemons can run. -The time daemon will only work on networks with broadcast capability -augmented with point-to-point links. -Machines that are only connected to point-to-point, -non-broadcast networks may not use the time daemon. -.PP -If we exclude submasters, there will normally be, at most, one master time -daemon in a local area internetwork. -During an election, only one of the slave time daemons -will become the new master. -However, because of the characteristics of its machine, -a slave can be prevented from becoming the master. -Therefore, a subset of machines must be designated as potential -master time daemons. -A master time daemon will require CPU resources -proportional to the number of slaves, in general, more than -a slave time daemon, so it may be advisable to limit master time -daemons to machines with more powerful processors or lighter loads. -Also, machines with inaccurate clocks should not be used as masters. -This is a purely administrative decision: an organization may -well allow all of its machines to run master time daemons. -.PP -At the administrative level, a time daemon on a machine -with multiple network interfaces, may be told to ignore all -but one network or to ignore one network. -This is done with the \fI\-n network\fP and \fI\-i network\fP -options respectively at start-up time. -Typically, the time daemon would be instructed to ignore all but -the networks belonging to the local administrative control. -.PP -There are some limitations to the current -implementation of the time daemon. -It is expected that these limitations will be removed in future releases. -The constant NHOSTS in /usr/src/etc/timed/globals.h limits the -maximum number of machines that may be directly controlled by one -master time daemon. -The current maximum is 29 (NHOSTS \- 1). -The constant must be changed and the program recompiled if a site wishes to -run \fItimed\fP on a larger (inter)network. -.PP -In addition, there is a \fIpathological situation\fP to -be avoided at all costs, that might occur when -time daemons run on multiply-connected local area networks. -In this case, as we have seen, time daemons running on gateway machines -will be submasters and they will act on some of those -networks as master time daemons. -Consider machines A and B that are both gateways between -networks X and Y. -If time daemons were started on both A and B without constraints, it would be -possible for submaster time daemon A to be a slave on network X -and the master on network Y, while submaster time daemon B is a slave on -network Y and the master on network X. -This \fIloop\fP of master time daemons will not function properly -or guarantee a unique time on both networks, and will cause -the submasters to use large amounts of system resources in the form -of network bandwidth and CPU time. -In fact, this kind of \fIloop\fP can also be generated with more -than two master time daemons, -when several local area networks are interconnected. -.SH -Installation -.PP -In order to start the time daemon on a given machine, -the following lines should be -added to the \fIlocal daemons\fP section in the file \fI/etc/rc.local\fP: -.sp 2 -.in 1i -.nf -if [ -f /etc/timed ]; then - /etc/timed \fIflags\fP & echo -n ' timed' >/dev/console -fi -.fi -.in -1i -.sp -.LP -In any case, they must appear after the network -is configured via ifconfig(8). -.PP -Also, the file \fI/etc/services\fP should contain the following -line: -.sp 2 -.ti 1i -timed 525/udp timeserver -.sp -.LP -The \fIflags\fP are: -.IP "-n network" 13 -to consider the named network. -.IP "-i network" -to ignore the named network. -.IP -t -to place tracing information in \fI/usr/adm/timed.log\fP. -.IP -M -to allow this time daemon to become a master. -A time daemon run without this option will be forced in the state of -slave during an election. -.SH -Daily Operation -.PP -\fITimedc(8)\fP is used to control the operation of the time daemon. -It may be used to: -.IP \(bu -measure the differences between machines' clocks, -.IP \(bu -find the location where the master \fItimed\fP is running, -.IP \(bu -cause election timers on several machines to expire at the same time, -.IP \(bu -enable or disable tracing of messages received by \fItimed\fP. -.LP -See the manual page on \fItimed\fP\|(8) and \fItimedc\fP\|(8) -for more detailed information. -.PP -The \fIdate(1)\fP command can be used to set the network date. -In order to set the time on a single machine, the \fI-n\fP flag -can be given to date(1). -.bp -.SH -References -.IP 1. -R. Gusella and S. Zatti, -\fITEMPO: A Network Time Controller for Distributed Berkeley UNIX System\fP, -USENIX Summer Conference Proceedings, Salt Lake City, June 1984. -.IP 2. -R. Gusella and S. Zatti, \fIClock Synchronization in a Local Area Network\fP, -University of California, Berkeley, Technical Report, \fIto appear\fP. -.IP 3. -R. Gusella and S. Zatti, -\fIAn Election Algorithm for a Distributed Clock Synchronization Program\fP, -University of California, Berkeley, CS Technical Report #275, Dec. 1985. -.IP 4. -R. Gusella and S. Zatti, -\fIThe Berkeley UNIX 4.3BSD Time Synchronization Protocol\fP, -UNIX Programmer's Manual, 4.3 Berkeley Software Distribution, Volume 2c. |