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 RFCdescribes 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 RFC1305 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.
RFC1305 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 RFCmay 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.
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[]
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
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[]
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", RFC1305, UDEL, March 1992.
11. Author's Address
Dan R. Gowin Vitro a Tracor Company 5001 N. St. Rd. 37 (BUS) Bloomington, IN 47404-1626