apples ping und die sequence number

versehentlich hab ich nen “dauerping” in einem terminal fenster laufen lassen. dabei ist mir folgendes aufgefallen:

die icqm squence number wird ja bekanntermassen immer um eins erhoeht. da das feld im header des netzwerkpaketes nur 16 bits hat (ICMPv4), kann die sequence number auch nur bis 65535 (2 hoch 16) hoch gezaehlt werden und faengt dann wieder bei 0 an. sieht dann auf der kommandozeile so aus:

[...]
64 bytes from xx.xx.xx.xx: icmp_seq=65535 ttl=53 time=27.358 ms
64 bytes from xx.xx.xx.xx: icmp_seq=0 ttl=53 time=26.542 ms
[...]

soweit ok. wenns dann zwischendurch einen timeout gibt, dann schauts so aus:

[...]
64 bytes from xx.xx.xx.xx: icmp_seq=6602 ttl=53 time=32.182 ms
64 bytes from xx.xx.xx.xx: icmp_seq=6603 ttl=53 time=30.298 ms
64 bytes from xx.xx.xx.xx: icmp_seq=6604 ttl=53 time=27.390 ms
Request timeout for icmp_seq 6605
Request timeout for icmp_seq 6606
Request timeout for icmp_seq 6607
[...]
Request timeout for icmp_seq 6645
Request timeout for icmp_seq 6646
Request timeout for icmp_seq 6647
64 bytes from xx.xx.xx.xx: icmp_seq=6648 ttl=53 time=32.965 ms
64 bytes from xx.xx.xx.xx: icmp_seq=6649 ttl=53 time=30.784 ms
64 bytes from xx.xx.xx.xx: icmp_seq=6650 ttl=53 time=43.238 ms
[...]

also beim timeout brav weiter gezaehlt. ist ja schliesslich auch der timeout fuer ein icmp paket mit einer bestimmten sequence number.

komisch wirds dann bei den timeouts, wenn die magischen 65535 ein oder mehrmals ueberschritten sind. da faengt das prograemmchen naemlich nur bei den antworten brav wieder von 0 an und bei den timeouts zaehlts stur weiter.. ohne zu “nullen”. hier ein beispiel, bei dem der zaehler schon ein paar runden hinter sich hat:

[...]
64 bytes from xx.xx.xx.xx: icmp_seq=64162 ttl=53 time=26.932 ms
64 bytes from xx.xx.xx.xx: icmp_seq=64163 ttl=53 time=27.545 ms
64 bytes from xx.xx.xx.xx: icmp_seq=64164 ttl=53 time=27.130 ms
Request timeout for icmp_seq 981669
Request timeout for icmp_seq 981670
Request timeout for icmp_seq 981671
[...]
Request timeout for icmp_seq 981694
Request timeout for icmp_seq 981695
Request timeout for icmp_seq 981696
64 bytes from xx.xx.xx.xx: icmp_seq=64193 ttl=53 time=27.935 ms
64 bytes from xx.xx.xx.xx: icmp_seq=64194 ttl=53 time=27.289 ms
64 bytes from xx.xx.xx.xx: icmp_seq=64195 ttl=53 time=27.292 ms
[...]

ich wuerde einfach mal sagen, dass das ein bug ist. 99,9999999% der nutzer wird das auch nicht interessieren. und stoeren wirds wohl nur die perfektionisten. 😉

falls jemand bei apple nen bug melden will: osx 10.8.4

Author: sd

Leave a Reply

Your email address will not be published. Required fields are marked *