RFC 1708

NTP PICS PROFORMA - For the Network Time Protocol Version 3

๐Ÿ“… published October 1994, from ietf

NTP PICS PROFORMA ๐ŸŽ€

For the Network Time Protocol Version 3 ยท Part 1 of 3 ๐ŸŒธ

  • Request for Comments: 1708 โœจ
  • Network Working Group: D. Gowin, Vitro Corp. ๐Ÿ’…
  • Category: Informational ๐Ÿฆ‹
  • Date: October 1994 ๐Ÿ“
  • Obsoletes / Updates: none listed in the title block ๐Ÿซถ

Status of this Memo โœจ

Okay so this memo is giving information for the Internet community ๐Ÿฆ‹. It does not specify an Internet standard of any kind, so it's not a spec you're forced to follow ๐Ÿ’œ. Distribution of this memo is unlimited, so share it with your whole group chat ๐ŸŒˆ.

Abstract ๐ŸŽ€

This RFC describes a PICS Proforma that's been translated into an Internet-friendly form ๐Ÿ’–. The original was built under ISO 9646 for conformance test purposes ๐Ÿงช. This doc is for both the developers and the users of NTP (Network Time Protocol) ๐Ÿซถ. It has specific info and performance characteristics for using NTP on the Internet ๐ŸŒ, and it suggests that people who want to use the synchronization capabilities of the Internet follow the characteristics set in here โœจ.

For more info, reach out to Dr. David Mills at Mills@udel.edu or check out RFC 1305 ๐Ÿ’Œ.

1. INTRODUCTION โœจ

Bestie, to check whether a particular implementation actually conforms, you need a statement of the capabilities and options it has implemented for a given protocol ๐Ÿ“‹. That statement is called a Protocol Implementation Conformance Statement (PICS) ๐Ÿ’….

2. SCOPE ๐ŸŒธ

This doc gives the PICS proforma for the Network Time Protocol (NTP), in line with the relevant requirements and following the relevant guidance from 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 ๐Ÿ”ฃ

These extra symbols are used in this document, so keep them handy ๐ŸŒˆ:

          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 ๐Ÿ“

Okay, so if you're the supplier of a protocol implementation that claims to conform to NTP version 3, you are required to fill out a copy of the PICS proforma from this document ๐Ÿ’…. You're also required to give the info that identifies both you (the supplier) and your implementation ๐Ÿซถ.

Copyright release for the PICS proforma. Users of this RFC can freely reproduce the PICS proforma in this document so it can be used for its intended purpose, and they may also publish the completed PICS ๐ŸŒธ.

7. IMPLEMENTATION IDENTIFICATION ๐Ÿชช

Here's the form for identifying your implementation ๐Ÿ’–. It covers the supplier, the contact point for PICS queries, the implementation name and version, and any other info needed for full 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 ๐Ÿ•ฐ๏ธ

This is the actual checklist, bestie ๐Ÿ‘‘. Each item has a status and a support column, and the symbols are explained in 4.1 ๐Ÿ’….

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 ๐Ÿ“ฅ

okay so this is the receive checklist ๐Ÿ’… item 8.2.9.2.02 is the one with the o.1 note, and that note is in the table block below, so read it there ๐Ÿซถ

   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 ๐ŸŽ€

the packet procedure checklist, bestie ๐Ÿฆ‹

   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 ๐ŸŒธ

just the one item here, and it's a big one ๐Ÿ‘‘

   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 ๐Ÿงš

also one item, very main character ๐Ÿ’–

   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 โœจ

startup vibes, the setup crew ๐ŸŒˆ

   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 ๐Ÿ“

the instantiation part of setup ๐Ÿง

   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 ๐Ÿ’œ

receive plus instantiation, two in one ๐Ÿ”ฅ

   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 โญ

same energy as the last one, but for the primary clock ๐Ÿ’…

   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 ๐Ÿซง

clearing the slate, bestie ๐ŸŒธ

   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 ๐Ÿฆ‹

the poll update checklist is giving very organised energy ๐Ÿ“‹

   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 ๐ŸŒˆ

last one in this group, and it's a whole vibe โœจ

   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 ๐ŸŽ€

this is where the algorithms get picky, so read the c1 note carefully ๐Ÿ™ˆ

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 ๐Ÿงš

three items and a note that depends on whether the clock selection procedure is implemented ๐Ÿ”ฎ

   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 โฐ

the local clocks section is where the fuzzball stuff lives ๐Ÿชฉ

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

8.4.1 FUZZBALL LOCAL CLOCK IMPLEMENTATIONS ๐Ÿ’

two flavours here: crystal oscillator and main system clock ๐Ÿ’…

8.4.1.1 CRYSTAL OSCILLATOR BASED IMPLEMENTATION PARAMETER VALUES ๐Ÿ”ฅ

this is a big parameter table, so grab a snack ๐Ÿ“

   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 ๐ŸŒŸ

same vibe as the crystal one, but with the main system clock 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 ๐ŸŽ€

gradual versus step, both are on the list ๐Ÿฆ‹

   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 ๐Ÿงพ

this is the field-by-field breakdown, so every width matters ๐Ÿ’…

   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 ๐Ÿฆ‹

control messages, the header and the words that go with them ๐Ÿ’–

8.6.1 NTP Control Message Header Format ๐Ÿงš

the header is basically the ID card of a control message ๐Ÿชช

   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 ๐ŸŽ€

the required values, which are a little more fixed than the rest ๐Ÿ”’

   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 ๐ŸŒธ

the system words, two of them, both with their own tables ๐Ÿง

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 โญ

last one in the set, and it's got its own little fields ๐Ÿซถ

   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 ๐ŸŽ€

okay so the clock status word has a little table of its own, and it's giving neat little checklist energy ๐Ÿ’… Here it is:

   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.

So there are two items here ๐Ÿฆ‹. Item 8.6.2.3.01 is the Clock Status, an 8 bit integer. Item 8.6.2.3.02 is the Clock Event Code, also an 8 bit integer. Both point back to App.B.2.3, and both have that c1 status. The c1 condition is the fun part: if control messages are used, the item is m, and if they aren't, it's o ๐Ÿงš

8.6.2.4 Error Status Word ๐Ÿ’œ

next up is the error status word, which is just one item but still super important ๐Ÿซถ

   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.

So item 8.6.2.4.01 is the Error Status, which is an 8 bit integer. It points to App.B.2.4 and uses that same c1 condition from before, so the same rule applies: m when control messages are used, o otherwise ๐ŸŒธ

9. Security Considerations ๐Ÿ”ฅ

Security issues are not discussed in this memo. ๐Ÿ™ˆ Not one word, bestie, so please don't assume this document covers any of it.

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
๐Ÿ“ฆ where this page comes from