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.
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", 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
Phone: (812) 336-2299 x379
Fax: (812) 333-0415