mTCP Ping



Ping is a simple utility commonly found on systems using TCP/IP. Ping allows you to do a basic check to see if a remote system is alive and responding to TCP/IP, even if it is not accepting connections on specific ports. Ping is also useful for measuring how "far away" a remote system seems to be - lower reported numbers are an indication of short round trip packet times.

This version of ping is designed for the early IBM PCs and similar machines. It requires a minimal amount of memory to run, and it uses some tricks to get more accurate timestamps than DOS normally allows for.

Here is the detailed readme for ping: ping.txt

And here is a screen shot of ping testing the response time to www.brutman.com:

mTCP Ping screen shot

Pinging to my local router (192.168.2.1) and then www.brutman.com


(A note about the screen shot - it was taken on a Windows XP system running a special build of DOSBox that has networking support. This is the best way to get screen captures. Your results on real hardware will be similar.)

Note the reported times. Normal timer resolution under DOS is limited to 55 milliseconds. This is how fast the BIOS timer clicks, and it works out to about 18 times a second.

Ping can measure time down to 0.85 milliseconds.  To do this it reprograms the hardware timer to generate interrupts faster, and then only passes the correct number of interrupts to the BIOS code.  This way BIOS keeps correct track of the time and everything else works as it should, while Ping can get 1 millisecond accuracy while it needs it.


Download!

Ping is included with the other mTCP based applications. They can be downloaded from the main mTCP page here.



Created July 31st, 2008, Last updated July 29th, 2011
(C)opyright Michael B. Brutman, mbbrutman@gmail.com