DCNET Internet Clock Service (RFC0778)
Original Publication Date: 1981-Apr-01
Included in the Prior Art Database: 2019-Feb-14
Internet Society Requests For Comment (RFCs)
DCNET Internet Clock Service D.L. Mills, COMSAT Laboratories 18 April 1981
Following is a description of the Internet Clock Service (ICS) provided by all DCNET hosts. The service, intended primarily for clock synchronization and one-way delay measurements with cooperating internet hosts, is provided using the Timestamp and Timestamp Reply messages of the proposed Internet Control Message Protocol (ICMP). In addition, in order to maintain compatability with present systems, this service will be provided for a limited time using the Echo and Echo Reply messages of the Gateway-Gateway Protocol (GGP). It should be understood that ICMP and GGP datagrams are normally considered tightly bound to the Internet Protocol (IP) itself and not directly accessable to the user on a TOPS-20 system, for example. These datagrams are treated somewhat differently from user datagrams in gateways and DCNET hosts in that certain internal queueing mechanisms are bypassed. Thus, they can be a useful tool in providing the most accurate and stable time reference. The prime motivation for this note is to promote the development of this service in other internet hosts and gateways so that the feasibility for its use thoughout the community can be assessed.
ICS Datagrams and Timestamps
At present, the ICS is provided using either ICMP or GGP datagrams. The only difference between these is that ICMP uses protocol number 1 and GGP uses protocol number 3. In the following these will be referred to interchangably as ICS datagrams. ICS datagrams include an internet header followed by an ICS header in the following format:
DCNET Internet Clock Service PAGE 2
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Code | Sequence | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Originate Timestamp | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Receive Timestamp | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Transmit Timestamp | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
ICS Datagram Format
The originator fills in all three timestamp fields just before the datagram is forwarded to the net. Each of these fields contain the local time at origination. Although the last two are redundant, they allow roundtrip delay measurements to be made using remote hosts without timestamping facilities. The "Type" field can be either 8 (GGP Echo) or 13 (ICMP Timestamp). The "Code" field should be zero. The "Sequence" field can contain either zero or an optional sequence number provided by the user. The length of the datagram is thus 36 octets inclusive of the 20-octet internet header and exclusive of the local-network leader.
The host or gateway receiving an ICS datagram fills in the "Receive Timestamp" field just as the datagram is received from the net and the "Transmit Timestamp" just as it is for...