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