Network Working Group:                                          D. Gowin
Request for Comments: 1708                                   Vitro Corp.
Category: Informational                                     October 1994


                          NTP PICS PROFORMA
               For the Network Time Protocol Version 3

Status of this Memo

  This memo provides information for the Internet community.  This memo
  does not specify an Internet standard of any kind.  Distribution of
  this memo is unlimited.

Abstract

  This RFC describes a PICS Proforma translated into an Internet
  acceptable form.  The Original document was developed according to
  ISO 9646 for conformance test purposes.  This document is intended
  for both developers and users of the NTP (Network Time Protocol).
  This document contains specific information and performance
  characteristics for the use of NTP within the context of Internet
  usage.  It is suggested, that users wishing to use the
  synchronization capabilities of the Internet abide by the
  characteristics set within this document.

  For more information please contact Dr. David Mills at [email protected]
  or review RFC 1305 for more information.

1.  INTRODUCTION

  To evaluate conformance of a particular implementation, it is
  necessary to have a statement of the capabilities and options that
  have been implemented for a given protocol.  Such a statement is
  called a Protocol Implementation Conformance Statement (PICS).

2.  SCOPE

  This document provides the PICS proforma for the Network Time
  Protocol (NTP) in compliance with the relevant requirements, and in
  accordance with the relevant guidance, given in ISO/IEC 9646-2.

3.  REFERENCE DOCUMENTS

    ISO/IEC 9646-1 1990, Information technology - Open systems
                   interconnection - Conformance testing
                   methodology and framework - Part 1: General
                   concepts.



Gowin                                                           [Page 1]

RFC 1708                   NTP PICS Proforma                October 1994


    ISO/IEC 9646-2 1990, Information technology - Open systems
                   interconnection - Conformance testing
                   methodology and framework - Part 2: Abstract
                   test suite specification.

    RFC 1305       Network Time Protocol (Version 3) -
                   Specification, Implementation and Analysis -
                   David L. Mills, University of Delaware -
                   March 1992.

4.  DEFINITIONS

  This document uses the following terms defined in ISO/IEC 9646-1:

    a) PICS proforma;

    b) Protocol Implementation Conformance Statement (PICS);

    c) Static conformance review.

4.1 SPECIAL SYMBOLS

  The additional symbols have been identified for use in this document:

         m    Mandatory field/function

         o.#  Optional field/function

         c#   Conditional field/function

         #    Refers to a note # below the table

         x    Prohibited use

         n/a  Not applicable

         Y[]  Indicates the item is implemented

         N[]  Indicates the item is not implemented

5.  INSTRUCTIONS FOR COMPLETION OF PICS

  The supplier of a protocol implementation which is claimed to conform
  to NTP version 3 is required to complete a copy of the PICS proforma
  provided in this document and is required to provide the information
  necessary to identify both the supplier and the implementation.





Gowin                                                           [Page 2]

RFC 1708                   NTP PICS Proforma                October 1994


6.  COPYRIGHT

  Copyright release for PICS proforma.  Users of this RFC may freely
  reproduce the PICS proforma in this document so that it can be used
  for its intended purpose and may further publish the completed PICS.

7.  IMPLEMENTATION IDENTIFICATION

  +=======================================+=======================+
  |           SUPPLIER                    |                       |
  |                                       |                       |
  +---------------------------------------+-----------------------+
  |                                       |                       |
  |      CONTACT POINT FOR                |                       |
  |    QUERIES ABOUT THE PICS             |                       |
  |                                       |                       |
  +---------------------------------------+-----------------------+
  |                                       |                       |
  |     IMPLEMENTATION NAME               |                       |
  |          AND VERSION                  |                       |
  |                                       |                       |
  +---------------------------------------+-----------------------+
  |                                       |                       |
  |      OTHER INFORMATION                |                       |
  |      NECESSARY FOR FULL               |                       |
  |     IDENTIFICATION - e.g.             |                       |
  |       NAME AND VERSION                |                       |
  |      FOR MACHINES AND/OR              |                       |
  |      OPERATING SYSTEMS;               |                       |
  |          SYSTEM NAME                  |                       |
  |                                       |                       |
  |                                       |                       |
  |                                       |                       |
  +=======================================+=======================+

8.  NETWORK TIME PROTOCOL PICS PROFORMA

8.1  DATA FORMATS

  Item No.    NTP Requirements     Reference     Status    Support
  =================================================================
  8.1.01      64 bit time
              stamp                  3.1           m       Y[] N[]








Gowin                                                           [Page 3]

RFC 1708                   NTP PICS Proforma                October 1994


8.2 STATE VARIABLES AND PARAMETERS

8.2.1 COMMON VARIABLES

  Item No.    NTP Requirements     Reference     Status    Support
  =================================================================
  8.2.1.01    Peer Address           3.2.1         m       Y[] N[]
  8.2.1.02    Peer Port              3.2.1         m       Y[] N[]
  8.2.1.03    Host Address           3.2.1         m       Y[] N[]
  8.2.1.04    Host Port              3.2.1         m       Y[] N[]
  8.2.1.05    Leap Indicator         3.2.1         m       Y[] N[]
  8.2.1.06    Mode                   3.2.1         m       Y[] N[]
  8.2.1.07    Stratum                3.2.1         m       Y[] N[]
  8.2.1.08    Poll                   3.2.1         m       Y[] N[]
  8.2.1.09    Precision              3.2.1         m       Y[] N[]
  8.2.1.10    Root Delay             3.2.1         m       Y[] N[]
  8.2.1.11    Root Dispersion        3.2.1         m       Y[] N[]
  8.2.1.12    Reference Clock
              Identifier             3.2.1         m       Y[] N[]
  8.2.1.13    Reference
              Timestamp              3.2.1         m       Y[] N[]
  8.2.1.14    Originate
              Timestamp              3.2.1         m       Y[] N[]
  8.2.1.15    Receive
              Timestamp              3.2.1         m       Y[] N[]
  8.2.1.16    Transmit
              Timestamp              3.2.1         m       Y[] N[]

8.2.2 SYSTEM VARIABLES

  Item No.    NTP Requirements     Reference     Status    Support
  =================================================================
  8.2.2.01    Local Clock            3.2.2         m       Y[] N[]
  8.2.2.02    Clock Source           3.2.2         m       Y[] N[]

8.2.3 PEER VARIABLES

  Item No.    NTP Requirements     Reference     Status    Support
  =================================================================
  8.2.3.01    Configured Bit         3.2.3         m       Y[] N[]
  8.2.3.02    Update Timestamp       3.2.3         m       Y[] N[]
  8.2.3.03    Reachability
              Register               3.2.3         m       Y[] N[]
  8.2.3.04    Peer Timer             3.2.3         m       Y[] N[]







Gowin                                                           [Page 4]

RFC 1708                   NTP PICS Proforma                October 1994


8.2.4 PACKET VARIABLES

  Item No.    NTP Requirements     Reference     Status    Support
  =================================================================
  8.2.4.01    Version Number         3.2.4         m       Y[] N[]

8.2.5 CLOCK FILTER VARIABLES

  Item No.    NTP Requirements     Reference     Status    Support
  =================================================================
  8.2.5.01    Filter Register        3.2.5         m       Y[] N[]
  8.2.5.02    Valid Data
              Counter                3.2.5         m       Y[] N[]
  8.2.5.03    Offset                 3.2.5         m       Y[] N[]
  8.2.5.04    Delay                  3.2.5         m       Y[] N[]
  8.2.5.05    Dispersion             3.2.5         m       Y[] N[]

8.2.6 AUTHENTICATION VARIABLES

  Item No.    NTP Requirements     Reference     Status    Support
  =================================================================
  8.2.6.01    Authentication
              Enable Bit             3.2.6         c1      Y[] N[]
  8.2.6.02    Authenticated
              Bit                    3.2.6         c1      Y[] N[]
  8.2.6.03    Key Identifier         3.2.6         c1      Y[] N[]
  8.2.6.04    Cryptographic
              Keys                   3.2.6         c1      Y[] N[]
  8.2.6.05    Crypto Checksum        3.2.6         c1      Y[] N[]

    c1:   IF authentication is used THEN m ELSE o.

8.2.7 PARAMETER VALUES

  Item No.    NTP Requirements     Reference     Status    Support
  =================================================================
  8.2.7.01    Version Number = 3     3.2.7         c1      Y[] N[]
  8.2.7.02    NTP Port = 123         3.2.7         c1      Y[] N[]
  8.2.7.03    Max Stratum = 15       3.2.7         c1      Y[] N[]
  8.2.7.04    Max Clock Age =
              86,400 sec.            3.2.7         c1      Y[] N[]
  8.2.7.05    Max Skew = 1 sec.      3.2.7         c1      Y[] N[]
  8.2.7.06    Max Distance = 1 sec.  3.2.7         c1      Y[] N[]
  8.2.7.07    Min Polling Interval =
              6(64 sec.)             3.2.7         c1      Y[] N[]
  8.2.7.08    Max Polling Interval =
              10(1024 sec.)          3.2.7         c1      Y[] N[]
  8.2.7.09    Min Select Clock = 1   3.2.7         c1      Y[] N[]



Gowin                                                           [Page 5]

RFC 1708                   NTP PICS Proforma                October 1994


  8.2.7.10    Max Select Clock = 10  3.2.7         c1      Y[] N[]
  8.2.7.11    Min Dispersion =
              0.01 sec.              3.2.7         c1      Y[] N[]
  8.2.7.12    Max Dispersion =
              16 sec.                3.2.7         c1      Y[] N[]
  8.2.7.13    Reachability Reg
              Size = 8               3.2.7         c1      Y[] N[]
  8.2.7.14    Filter Size = 8        3.2.7         c1      Y[] N[]
  8.2.7.15    Filter Weight = 1/2    3.2.7         c1      Y[] N[]
  8.2.7.16    Select Weight = 3/4    3.2.7         c1      Y[] N[]

    c1:   IF implementation is intended for use on the Internet
          THEN m ELSE o.

8.2.8 MODES OF OPERATION

  Item No.    NTP Requirements     Reference     Status    Support
  =================================================================
  8.2.8.01    Symmetric Active       3.3           o.1     Y[] N[]
  8.2.8.02    Symmetric Passive      3.3           o.1     Y[] N[]
  8.2.8.03    Client                 3.3           o.1     Y[] N[]
  8.2.8.04    Server                 3.3           o.1     Y[] N[]
  8.2.8.05    Broadcast              3.3           o.1     Y[] N[]

    o.1:At least one mode must be implemented.

8.2.9 EVENT PROCESSING

8.2.9.1 TRANSMIT PROCEDURE

  Item No.    NTP Requirements     Reference     Status    Support
  =================================================================
  8.2.9.1.01  Transmit Procedure     3.4.2         m       Y[] N[]
  8.2.9.1.02  Authentication         3.4.2         o       Y[] N[]

8.2.9.2 RECEIVE PROCEDURE

  Item No.    NTP Requirements     Reference     Status    Support
  =================================================================
  8.2.9.2.01  Receive Procedure      3.4.3         m       Y[] N[]
  8.2.9.2.02  Control Messages       3.4.3         o.1     Y[] N[]
  8.2.9.2.03  Authentication         3.4.3         o       Y[] N[]

    o.1:If implemented then section 8.6 must be completed.







Gowin                                                           [Page 6]

RFC 1708                   NTP PICS Proforma                October 1994


8.2.9.3 PACKET PROCEDURE

  Item No.    NTP Requirements     Reference     Status    Support
  =================================================================
  8.2.9.3.01  Packet Procedure       3.4.4         m       Y[] N[]
  8.2.9.3.02  Authentication         3.4.4         o       Y[] N[]

8.2.9.4 CLOCK UPDATE PROCEDURE

  Item No.    NTP Requirements     Reference     Status    Support
  =================================================================
  8.2.9.4.01  Clock Update           3.4.5         m       Y[] N[]

8.2.9.5 PRIMARY CLOCK PROCEDURE

  Item No.    NTP Requirements     Reference     Status    Support
  =================================================================
  8.2.9.5.01  Primary Clock          3.4.6         m       Y[] N[]

8.2.9.6 INITIALIZATION PROCEDURES

  Item No.    NTP Requirements     Reference     Status    Support
  =================================================================
  8.2.9.6.01  Initialization         3.4.7.1       m       Y[] N[]
  8.2.9.6.02  Authentication         3.4.7.1       o       Y[] N[]

8.2.9.7 INITIALIZATION INSTANTIATION PROCEDURE

  Item No.    NTP Requirements     Reference     Status    Support
  =================================================================
  8.2.9.7.01  Initialization
              Instantiation          3.4.7.2       m       Y[] N[]
  8.2.9.7.02  Authentication         3.4.7.2       o       Y[] N[]

8.2.9.8 RECEIVE INSTANTIATION PROCEDURE

  Item No.    NTP Requirements     Reference     Status    Support
  =================================================================
  8.2.9.8.01  Receive Instantiation  3.4.7.3       m       Y[] N[]
  8.2.9.8.02  Authentication         3.4.7.3       o       Y[] N[]

8.2.9.9 PRIMARY CLOCK INSTANTIATION PROCEDURE

  Item No.    NTP Requirements     Reference     Status    Support
  =================================================================
  8.2.9.9.01  Clock Instantiation    3.4.7.4       m       Y[] N[]





Gowin                                                           [Page 7]

RFC 1708                   NTP PICS Proforma                October 1994


8.2.9.10 CLEAR PROCEDURE

  Item No.    NTP Requirements     Reference     Status    Support
  =================================================================
  8.2.9.10.01 Clear Proc.            3.4.8         m       Y[] N[]

8.2.9.11 POLL UPDATE PROCEDURE

  Item No.    NTP Requirements     Reference     Status    Support
  =================================================================
  8.2.9.11.01 Poll Update            3.4.9         m       Y[] N[]

8.2.9.12 SYNCHRONIZATION DISTANCE PROCEDURE

  Item No.    NTP Requirements     Reference     Status    Support
  =================================================================
  8.2.9.12.01 Distance Proc.         3.5           m       Y[] N[]

8.3 FILTERING AND SELECTION ALGORITHMS

8.3.1 CLOCK FILTER PROCEDURE

  Item No.    NTP Requirements     Reference     Status    Support
  =================================================================
  8.3.1.01    Clock Filter           4.1           o       Y[] N[]

8.3.2 CLOCK SELECTION PROCEDURE

  Item No.    NTP Requirements     Reference     Status    Support
  =================================================================
  8.3.2.01    Clock Selection
              Procedure              4.2           o       Y[] N[]
  8.3.2.02    Intersection Algorithm 4.2.1         c1      Y[] N[]
  8.3.2.03    Clustering Algorithm   4.2.2         c1      Y[] N[]

    c1: IF Clock Selection Procedure implemented THEN m ELSE o.

8.4 LOCAL CLOCKS

  Item No.    NTP Requirements     Reference     Status    Support
  =================================================================
  8.4.01      Logical Clock          5             m       Y[] N[]









Gowin                                                           [Page 8]

RFC 1708                   NTP PICS Proforma                October 1994


8.4.1 FUZZBALL LOCAL CLOCK IMPLEMENTATIONS

8.4.1.1 CRYSTAL OSCILLATOR BASED IMPLEMENTATION PARAMETER VALUES

  Item No.    NTP Requirements     Reference     Status    Support
  =================================================================
  8.4.1.1.01  Adjustment Interval =
              4 sec.                 5.1           c1      Y[] N[]
  8.4.1.1.02  PPS Timeout = 60 sec.  5.1           c1      Y[] N[]
  8.4.1.1.02  Step Timeout =
              900 sec.               5.1           c1      Y[] N[]
  8.4.1.1.02  Maximum Aperture =
              q128 ms                5.1           c1      Y[] N[]
  8.4.1.1.03  Frequency Weight = 16  5.1           c1      Y[] N[]
  8.4.1.1.04  Phase Weight = 8       5.1           c1      Y[] N[]
  8.4.1.1.05  Compliance Weight = 13 5.1           c1      Y[] N[]
  8.4.1.1.06  Compliance Maximum = 4 5.1           c1      Y[] N[]
  8.4.1.1.07  Compliance
              Multiplier = 4         5.1           c1      Y[] N[]

    c1:IF implementing a fuzzball using a crystal oscillator
            based local clock THEN m ELSE o.

8.4.1.2 MAIN SYSTEM CLOCK IMPLEMENTATION PARAMETER VALUES

  Item No.    NTP Requirements     Reference     Status    Support
  =================================================================
  8.4.1.2.01  Adjustment
              Interval = 1 sec.      5.1           c1      Y[] N[]
  8.4.1.2.02  PPS Timeout = 60 sec.  5.1           c1      Y[] N[]
  8.4.1.2.02  Step Timeout =
              900 sec.               5.1           c1      Y[] N[]
  8.4.1.2.02  Maximum Aperture =
              q512 ms                5.1           c1      Y[] N[]
  8.4.1.2.03  Frequency Weight = 16  5.1           c1      Y[] N[]
  8.4.1.2.04  Phase Weight = 9       5.1           c1      Y[] N[]
  8.4.1.2.05  Compliance Weight = 13 5.1           c1      Y[] N[]
  8.4.1.2.06  Compliance Maximum = 4 5.1           c1      Y[] N[]
  8.4.1.2.07  Compliance
              Multiplier = 4         5.1           c1      Y[] N[]

    c1:IF implementing a fuzzball using a main system clock
            THEN m ELSE o.








Gowin                                                           [Page 9]

RFC 1708                   NTP PICS Proforma                October 1994


8.4.2 PHASE ADJUSTMENT

  Item No.   NTP Requirements      Reference     Status    Support
  =================================================================
  8.4.2.01   Gradual Phase
             Adjustment              5.2           m      Y[] N[]
  8.4.2.02   Step Phase Adjustment   5.3           m      Y[] N[]

8.5 NTP DATA FORMAT

  Item No.   NTP Requirements      Reference     Status    Support
  =================================================================
  8.5.01     Leap Indicator
             is a 2 bit code       App. A          m       Y[] N[]
  8.5.02     Version Number
             is a 3 bit integer    App. A          m       Y[] N[]
  8.5.03     Mode
             is a 3 bit integer    App. A          m       Y[] N[]
  8.5.04     Stratum is an 8
             bit integer           App. A          m       Y[] N[]
  8.5.05     Poll is an 8 bit
             signed integer        App. A          m       Y[] N[]
  8.5.06     Precision is an
             8 bit signed integer  App. A          m       Y[] N[]
  8.5.07     Root Delay is a 32 bit signed
             fixed-point number    App. A          m       Y[] N[]
  8.5.08     Root Dispersion is a 32 bit
             fixed-point number    App. A          m       Y[] N[]
  8.5.09     Reference Identifier is a 4
             octet, left justified, zero
             padded ASCII string   App. A          m       Y[] N[]
  8.5.10     Reference Timestamp is a 64
             bit timestamp format  App. A          m       Y[] N[]
  8.5.11     Originate Timestamp is a 64
             bit timestamp format  App. A          m       Y[] N[]
  8.5.12     Receive Timestamp is a 64
             bit timestamp format  App. A          m       Y[] N[]
  8.5.13     Transmit Timestamp is a 64
             bit timestamp  format App. A          m       Y[] N[]
  8.5.14     Authenticator 96 bits App. A          o       Y[] N[]











Gowin                                                          [Page 10]

RFC 1708                   NTP PICS Proforma                October 1994


8.6 NTP Control Messages

8.6.1 NTP Control Message Header Format

  Item No.   NTP Requirements      Reference     Status    Support
  =================================================================
  8.6.1.01   Leap Indicator
             is a 2 bit code       App. B.1        c1      Y[] N[]
  8.6.1.02   Version Number
             is a 3 bit integer    App. B.1        c1      Y[] N[]
  8.6.1.03   Mode is a 3 bit
             integer               App. B.1        c1      Y[] N[]
  8.6.1.04   Response bit is
             a 1 Bit field         App. B.1        c1      Y[] N[]
  8.6.1.05   Error bit is a 1
             bit field             App. B.1        c1      Y[] N[]
  8.6.1.06   More bit is a 1
             bit field             App. B.1        c1      Y[] N[]

  Item No.   NTP Requirements      Reference     Status    Support
  =================================================================
  8.6.1.07   Operation Code
             is a 5 bit integer    App. B.1        c1      Y[] N[]
  8.6.1.08   Sequence is a 16
             bit integer           App. B.1        c1      Y[] N[]
  8.6.1.09   Status is a 16
             bit code              App. B.1        c1      Y[] N[]
  8.6.1.10   Association ID
             is a 16 bit integer   App. B.1        c1      Y[] N[]
  8.6.1.11   Offset is a 16
             bit integer           App. B.1        c1      Y[] N[]
  8.6.1.12   Count is a 16
             bit integer           App. B.1        c1      Y[] N[]
  8.6.1.13   Data is a
             maximum of 468 octets App. B.1        c1      Y[] N[]
  8.6.1.14   Authenticator
             96 bits               App. B.1        c1      Y[] N[]

    c1: IF control messages are used THEN m ELSE o.












Gowin                                                          [Page 11]

RFC 1708                   NTP PICS Proforma                October 1994


8.6.1.1 NTP Control Message Required Values

  Item No.   NTP Requirements      Reference     Status    Support
  =================================================================
  8.6.1.1.01 Leap Indicator = 00   App. B.1        c1      Y[] N[]
  8.6.1.1.02 Version Number = 3    App. B.1        c1      Y[] N[]
  8.6.1.1.03 Mode = 6              App. B.1        c1      Y[] N[]

    c1:IF control messages are used THEN m ELSE o.

8.6.2 System Words

8.6.2.1 System Status Word

  Item No.   NTP Requirements      Reference     Status    Support
  =================================================================
  8.6.2.1.01 Leap Indicator
             is a 2 bit code       App.B.2.1       c1      Y[] N[]
  8.6.2.1.02 Clock Source is
             a 6 bit integer       App.B.2.1       c1      Y[] N[]
  8.6.2.1.03 System Event Counter
             is a 4 bit integer    App.B.2.1       c1      Y[] N[]
  8.6.2.1.04 System Event Code
             is a 4 bit integer    App.B.2.1       c1      Y[] N[]

    c1:IF control messages are used THEN m ELSE o.

8.6.2.2 Peer Status Word

  Item No.   NTP Requirements      Reference     Status    Support
  =================================================================
  8.6.2.2.01 Peer Status is a
             5 bit code            App.B.2.2       c1      Y[] N[]
  8.6.2.2.02 Peer Selection
             is a 3 bitinteger     App.B.2.2       c1      Y[] N[]
  8.6.2.2.03 Peer Event Counter
             is a 4 bit integer    App.B.2.2       c1      Y[] N[]
  8.6.2.2.04 Peer Event Code
             is a 4 bit integer    App.B.2.2       c1      Y[] N[]

    c1:IF control messages are used THEN m ELSE o.










Gowin                                                          [Page 12]

RFC 1708                   NTP PICS Proforma                October 1994


8.6.2.3 Clock Status Word

  Item No.   NTP Requirements      Reference     Status    Support
  =================================================================
  8.6.2.3.01 Clock Status is
             an 8 bit integer      App.B.2.3       c1      Y[] N[]
  8.6.2.3.02 Clock Event Code
             is an 8 bit integer   App.B.2.3       c1      Y[] N[]

    c1:IF control messages are used THEN m ELSE o.

8.6.2.4 Error Status Word

  Item No.   NTP Requirements      Reference     Status    Support
  =================================================================
  8.6.2.4.01 Error Status is
             an 8 bit integer      App.B.2.4       c1      Y[] N[]

    c1:IF control messages are used THEN m ELSE o.

9.  Security Considerations

  Security issues are not discussed in this memo

10.  References

  [1] Mills. D., "Network Time Protocol Version 3 - Specification,
      Implementation and Analysis", RFC 1305, UDEL, March 1992.

11.  Author's Address

  Dan R. Gowin
  Vitro a Tracor Company
  5001 N. St. Rd. 37 (BUS)
  Bloomington, IN 47404-1626

  Phone: (812) 336-2299 x379
  Fax: (812) 333-0415
  EMail: [email protected]












Gowin                                                          [Page 13]