Quoting Charles Swiger <[email protected]>:
If you'd like to consider things at layer 3, note that IPv4 normally has a 20-byte header size, and IPv6 has a 40-byte header. For large packets, the difference in protocol overhead is not very significant-- about 1%-- but for a 56-byte NTPv4 packet, using IPv6 means sending about 125% as many bits over the wire as sending the same payload via IPv4.

If other factors are held equal, IPv4 is always going to perform better than IPv6 for NTP because smaller packets mean shorter transmit/receive times and thus reduced latency for NTP polls.

(There's nothing magical about protocol overhead, except perhaps pretending that there isn't a difference. :-)

But is it a difference that matters?

Typical NTP packet sizes in bytes:

v4: 14(ethernet) + 20(IPv4) + 8(UDP) + 48(NTP) = 90 bytes
v6: 14(ethernet) + 40(IPv6) + 8(UDP) + 48(NTP) = 110 bytes

At 100Mbit, these take 7.2us(v4) and 8.8us(v6) to transmit (I'm ignoring preamble and inter-packet gap)

At 1G, these take 720ns and 880ns to transmit.

Compare that 3.2us round-trip difference at 100M to the other sources of measurement error:

Typical LAN jitter (counting switch and OS buffers in this category) is in the 10's to 100's of us. Interrupt latency jitter is in the 1us-10us range. I believe a typical default NIC interrupt coalescing setting is in the 3us range.

Additionally, the extra latency due to additional size is both a static offset and a symmetrical offset. NTP already accounts for those, it has trouble with varying and asymmetric offsets.
_______________________________________________
pool mailing list
[email protected]
http://lists.ntp.org/listinfo/pool

Reply via email to