home *** CD-ROM | disk | FTP | other *** search
/ Handbook of Infosec Terms 2.0 / Handbook_of_Infosec_Terms_Version_2.0_ISSO.iso / text / rfcs / rfc0778.txt < prev    next >
Text File  |  1996-05-07  |  10KB  |  80 lines

  1. RFC 778 
  2.  
  3.  
  4.  
  5.                 DCNET Internet Clock Service               D.L. Mills, COMSAT Laboratories                        18 April 1981 
  6.  
  7.  Introduction 
  8.  
  9.      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. 
  10.  
  11. ICS Datagrams and Timestamps 
  12.  
  13.      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: 
  14.  DCNET Internet Clock Service                        PAGE   2 
  15.  
  16.  
  17.  
  18.  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                      | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
  19.  
  20.                        ICS Datagram Format 
  21.  
  22.      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. 
  23.  
  24.      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 forwarded back to the sender.  It also sets the "Type" field to 0 (GGP Echo Reply), if the original value was 8, or 14  (ICMP  Timestamp  Reply),  if  it was 13.  The remaining fields are unchanged. 
  25.  
  26.      The timestamp values are in milliseconds from  midnight UT and are stored right-justified in the 32-bit fields shown above.  Ordinarily,  all  time  calculations  are  performed modulo-24 hours in milliseconds.  This provides a convenient match to those operating systems  which  maintain  a  system clock  in ticks past midnight.  The specified timestamp unit of milliseconds is consistent with the accuracy of  existing radio  clocks  and  the  errors expected in the timestamping process itself. 
  27.  
  28. Delay Measurements 
  29.  
  30.      Delay measurements can be made with any DCNET  host  by simply sending an ICS datagram in the above format to it and processing the reply.  Let t1, t2 and t3 represent the three timestamp  fields  of  the reply in order and t4 the time of arrival at the original sender.  Then the delays,  exclusive of  internal  processing  within  the DCNET host, are simply (t2 - t1) to the DCNET host, (t4 - t3) for  the  return  and 
  31.  DCNET Internet Clock Service                        PAGE   3 
  32.  
  33.  
  34.  
  35. (t2 - t1) + (t4 - t3)  for the roundtrip.  Note that, in the case of the roundtrip, the clock offsets between the sending host and DCNET host cancel. 
  36.  
  37.      Although ICS datagrams are returned by all DCNET  hosts regardless  of  other connections that may be in use by that host at any given time, the most useful host  will  probably be   the   COMSAT-WWV   virtual  host  at  internet  address [29,0,9,2], which is also the  internet  echo  virtual  host formerly  called  COMSAT-ECH.  This virtual host is resident in  the  COMSAT-GAT  physical  host  at   internet   address [29,0,1,2], which is connected to the ARPANET via the COMSAT Gateway, Clarksburg SIMP and a 4800-bps line to  IMP  71  at BBN.    The  roundtrip  delay  via  this  path  between  the COMSAT-GAT  host  and  the  BBN  Gateway  is  typically  550 milliseconds as the ICS datagram flies. 
  38.  
  39.      As in the case of all DCNET hosts,  if  the  COMSAT-WWV virtual  host  is  down  (in  this case possible only if the Spectracom radio clock is down or misbehaving) a  "host  not reachable"   GGP   datagram   is   returned.    In   unusual circumstances a "net not reachable" or "source  quench"  GGP datagram  could  be  returned.   Note that the references to "GGP" here will be read "ICMP" at  some  appropriate  future time. 
  40.  
  41. Local Offset Corrections 
  42.  
  43.      All DCNET timestamps are  referenced  to  a  designated virtual  host  called  COMSAT-WWV (what else?) with internet address [29,0,9,2].  This host is equipped with a Spectracom radio  clock  which  normally provides WWVB time and date to within a millisecond.  The clock  synchronization  mechanism provides  offset  and  drift  corrections  for  other  hosts relative to this host; however, offsets up to an appreciable fraction  of  a second routinely occur due to the difficulty of tracking with power-line  clocks  in  some  machines.   A table  of  the  current  offsets  can  be obtained using the following procedure. 
  44.  
  45. 1.  Connect  to  COMSAT-GAT   host   at   internet   address     [29,0,1,2] using TELNET and local echo. 
  46.  
  47. 2.  Send the command SET HOST HOST.  A table with  one  line     per DCNET host should be returned.  Note the entry under     the "Offset" column for the WWV host.  This contains the     offset  in  milliseconds  that  should  be  added to all     timestamps  generated  by  either  the   COMSAT-GAT   or     COMSAT-WWV  hosts to yield the correct time as broadcast     by WWVB. 
  48.  
  49. 3.  Send the command SET WWV SHOW.  A  summary  of  datagram     traffic  is  returned  along with an entry labelled "NBS 
  50.  DCNET Internet Clock Service                        PAGE   4 
  51.  
  52.  
  53.  
  54.     time." The string  following  this  is  the  last  reply     received from the Spectracom unit in the format: 
  55.  
  56.                   <code>  DDD HH:MM:SS  TZ=00 
  57.  
  58.     where <code> is normally <SP> in case the WWVB signal is     being  received  correctly  or ? in case it is not.  The     DDD represents the day of the year and HH:MM:SS the time     past   UT   midnight.   The  two  digits  following  TZ=     represent the time zone, here 00 for UT. 
  59.  
  60. 4.  Close the connection (please!). 
  61.  
  62.  REFERENCES 
  63.  
  64. [1]  ICMP 
  65.  
  66.    Postel, J., "Internet Control Message Protocol", RFC 777,    USC/Information Sciences Institute, April 1981. 
  67.  
  68. [2]  GGP 
  69.  
  70.    Strazisar, V., "How to Build a Gateway", IEN 109, Bolt    Beranek and Newman, August 1979. 
  71.  DCNET Internet Clock Service                        PAGE   5 
  72.  
  73.  
  74.  
  75. Following is a specification of  the  ICS  header  in  PDP11 code: 
  76.  
  77. ; ; GGP/ICMP Header ;  .       =       0 GH.TYP:  .BLKB   1               ;Message type GC.RPY   =       0               ;Echo reply GC.UPD   =       1               ;Routing update GC.ACK   =       2               ;Positive acknowledgment GC.DNR   =       3               ;Destination unreachable GC.SQN   =       4               ;Source quench GC.RDR   =       5               ;Redirect GC.ECH   =       10              ;Echo GC.STA   =       11              ;Net interface status GC.NAK   =       12              ;Negative acknowledgment GC.TIM   =       15              ;Timestamp GC.TRP   =       16              ;Timestamp Reply GH.COD:  .BLKB   1               ;Message code GH.SEQ:  .BLKW   1               ;Sequence number GH.HDR   =       .               ;Beginning of original                                  ;internet header GH.ORG:  .BLKW   2               ;Originating timestamp GH.REC:  .BLKW   2               ;Received timestamp GH.XMT:  .BLKW   2               ;Transmitted timestamp GH.LEN   =       .               ;End of timestamp header 
  78.  
  79.      Note that all  PDP11  word  fields  (.BLKW  above)  are "byte-swapped,"  that  is, the order of byte transmission is the high-order byte followed by the low-order  byte  of  the PDP11 word. 
  80.