Re: [chrony-dev] chrony report of IP for PPS

[ Thread Index | Date Index | More chrony.tuxfamily.org/chrony-dev Archives ]


Thanks for clarifying this for me. Still seems a bit odd, but I guess if you
are just going to use 4 bytes, overlaps will occur.



William G. Unruh   |  Canadian Institute for|     Tel: +1(604)822-3273
Physics&Astronomy  |     Advanced Research  |     Fax: +1(604)822-5324
UBC, Vancouver,BC  |   Program in Cosmology |     unruh@xxxxxxxxxxxxxx
Canada V6T 1Z1     |      and Gravity       |  www.theory.physics.ubc.ca/

On Tue, 29 Mar 2016, Dale R. Worley wrote:

Bill Unruh <unruh@xxxxxxxxxxxxxx> writes:
I just noticed that chronyc reports an ID of 80.80.83.45 for PPS0
That is actually a valid IP address for some network in Barcelona Spain.(It is
also the ascii for PPS0) It makes me uncomfortable using a valid IP for the
report, when for other servers it uses the actual valid IP.

I think this is a pattern that was inherited from ntpd.  The ntpd status
reports show a "ref id" for non-server sources that is always a 4
character string, and I suspect that that is an interpretation of a
4-byte magic value of a field in the protocol which usually carries an
IP address.  So it might be hard to change this hack without
restructuring some part of the NTP protocol.

Ah, it's laid out in RFC 5905 section 7.3:

  Reference ID (refid): 32-bit code identifying the particular server
  or reference clock.  The interpretation depends on the value in the
  stratum field.  For packet stratum 0 (unspecified or invalid), this
  is a four-character ASCII [RFC1345] string, called the "kiss code",
  used for debugging and monitoring purposes.  For stratum 1 (reference
  clock), this is a four-octet, left-justified, zero-padded ASCII
  string assigned to the reference clock.  The authoritative list of
  Reference Identifiers is maintained by IANA; however, any string
  beginning with the ASCII character "X" is reserved for unregistered
  experimentation and development.  The identifiers in Figure 12 have
  been used as ASCII identifiers:

    +------+----------------------------------------------------------+
    | ID   | Clock Source                                             |
    +------+----------------------------------------------------------+
    | GOES | Geosynchronous Orbit Environment Satellite               |
    | GPS  | Global Position System                                   |
    | GAL  | Galileo Positioning System                               |
    | PPS  | Generic pulse-per-second                                 |
    | IRIG | Inter-Range Instrumentation Group                        |
    | WWVB | LF Radio WWVB Ft. Collins, CO 60 kHz                     |
    | DCF  | LF Radio DCF77 Mainflingen, DE 77.5 kHz                  |
    | HBG  | LF Radio HBG Prangins, HB 75 kHz                         |
    | MSF  | LF Radio MSF Anthorn, UK 60 kHz                          |
    | JJY  | LF Radio JJY Fukushima, JP 40 kHz, Saga, JP 60 kHz       |
    | LORC | MF Radio LORAN C station, 100 kHz                        |
    | TDF  | MF Radio Allouis, FR 162 kHz                             |
    | CHU  | HF Radio CHU Ottawa, Ontario                             |
    | WWV  | HF Radio WWV Ft. Collins, CO                             |
    | WWVH | HF Radio WWVH Kauai, HI                                  |
    | NIST | NIST telephone modem                                     |
    | ACTS | NIST telephone modem                                     |
    | USNO | USNO telephone modem                                     |
    | PTB  | European telephone modem                                 |
    +------+----------------------------------------------------------+

See also http://www.iana.org/assignments/ntp-parameters/ntp-parameters.xhtml#ntp-parameters-1

                    Figure 12: Reference Identifiers

  Above stratum 1 (secondary servers and clients): this is the
  reference identifier of the server and can be used to detect timing
  loops.  If using the IPv4 address family, the identifier is the four-
  octet IPv4 address.  If using the IPv6 address family, it is the
  first four octets of the MD5 hash of the IPv6 address.  Note that,
  when using the IPv6 address family on an NTPv4 server with a NTPv3
  client, the Reference Identifier field appears to be a random value
  and a timing loop might not be detected.

Whether the refid is an address or a special code is determined by the
stratum number.

Dale

--
To unsubscribe email chrony-dev-request@xxxxxxxxxxxxxxxxxxxx with "unsubscribe" in the subject.
For help email chrony-dev-request@xxxxxxxxxxxxxxxxxxxx with "help" in the subject.
Trouble?  Email listmaster@xxxxxxxxxxxxxxxxxxxx.


--
To unsubscribe email chrony-dev-request@xxxxxxxxxxxxxxxxxxxx with "unsubscribe" in the subject.
For help email chrony-dev-request@xxxxxxxxxxxxxxxxxxxx with "help" in the subject.
Trouble?  Email listmaster@xxxxxxxxxxxxxxxxxxxx.


Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/