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 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. 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: drg508@crane-ns.nwscc.sea06.navy.MIL Gowin [Page 13]