[e2e] lifetime record of a UDP packet ?
olav.kvittem at uninett.no
Mon Mar 13 07:18:25 PDT 2017
Not very serious - just for old-timer entertainment ;-)
I was doing a UDP measurement stream with timestamped and sequence
On analyzing the stream I found a packet arriving 6737 seconds late -
i.e. 1 hour 52 minutes.
Is that oldest packet seen on The Internet or not ?-)
Did it beat the trip time of the IP over Avian Carriers experiment ?-).
I had naively set my reordering window to 10 seconds..
It turned out that there was maintenance on an optical link on the path,
so the link was taken down
at the exact time of this event.
Rerouting happened in about 50ms of the link going down and that was fine.
So where did the packet spend the time ?
An explanation might be that the packet was residing in an output
buffer in the router in front of the link
until it was up again and then sent on the link!
I rule out local clock errors on the measurement devices, as these are
NTP-controlled Linux systems and that it also happened to an
independent pair of measurement nodes thorough the same router.
So this looks like a router bug to me - ref RFC 1918 below.
Accordingly the maximum lifetime with initial TTL 64 should be 64 seconds.
I would guess that the router should be flushing the queue at some point
during the event.
However the router is old and out of support so we are not reporting it.
>From the Rude/Crude log :
ID=2 SEQ=1087254 SRC=126.96.36.199:3002 DST=188.8.131.52:10001
Tx=1488765681.242718 Rx=1488765681.254802 SIZE=64
ID=2 SEQ=413544 SRC=184.108.40.206:3002 DST=220.127.116.11:10001
Tx=1488758944.142720 Rx=1488765681.260987 SIZE=64
ID=2 SEQ=1087255 SRC=18.104.22.168:3002 DST=22.214.171.124:10001
Tx=1488765681.252718 Rx=1488765681.264785 SIZE=64
Tx, RX is Unix time for transmit and receive respectively
RFC 1918 :
5.3.1 Time to Live (TTL)
The Time-to-Live (TTL) field of the IP header is defined to be a
timer limiting the lifetime of a datagram. It is an 8-bit field and
the units are seconds. Each router (or other module) that handles a
packet MUST decrement the TTL by at least one, even if the elapsed
time was much less than a second. Since this is very often the case,
the TTL is effectively a hop count limit on how far a datagram can
propagate through the Internet.
More information about the end2end-interest