Network Working Group:
Request for Comments: 1708
Category: Informational
D. Gowin
Vitro Corp.
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 Mills@udel.edu 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.
     
     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.

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[]

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[]

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[]
   
   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.

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[]
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[]

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.

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[]

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.

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.

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: drg508@crane-ns.nwscc.sea06.navy.MIL