echoping/SRC/DETAILS

99 lines
3.8 KiB
Plaintext
Raw Normal View History

2000-04-13 09:19:23 +00:00
Some details about echoping
------------
echo service:
echoping assumes the remote host accepts such connections. Experience show that
most Internet routers do and many hosts also. However, some Unices are not
shipped with this service enabled and, anyway, the administrator is always
free to close it (I think they shouldn't). echoping has therefore less chance
to succeed than ping or bing. (On a typical Unix box, "echo" service is
configured in /etc/inetd.conf but see the CERT advisory
<http://www.cert.org/advisories/CA-96.01.UDP_service_denial.html>.)
What does it measure?
echoping simply shows the elapsed time, including the time to set up the TCP
connection and to transfer the data (but excluding the time for the
- possible - DNS call). Therefore, it is unsuitable to physical
line raw throughput measures (unlike bing). On the other end, the action it
performs are close from a HTTP request and it is meaningful to use it
(carefully) to measure Web performances.
UDP and inetd:
With UDP servers you can have surprises: the first test is quite often
much slower since inetd has to launch the process. After that, the process
stays a while so the next texts run faster.
A nice example:
There are many, many traps when measuring something on the Internet. Just one
example: 'echoping -w 0 -n 4 a-sunOS-machine' and you'll see the first test
succeed in a very short time (if you are close from the machine) and all of
the others take a much longer time (one second). With '-w 1' (wait one second
between tests, the default), everything works fine: it seems the sockets on
SunOS need time to recover :-)
A graphical interface:
If you have the Perl/Tk <http://pubweb.bnl.gov/~ptk/> package, you can use a
(quite rough) windowing interface, "echoping.ptk". To use it, you should
define FLUSH_OUTPUT at the beginning of echoping.c (this seems to work
on only a few Unices, including DEC's OSF/1). This interface has not yet
been updated for echoping 2's new features (like HTTP support).
To measure performances on the Internet you can also see:
Unix:
- bing, a bandwidth measurement tool <ftp://ftp.lip6.fr/pub/networking>
- ping, probably available with your system
- traceroute, idem (otherwise, see <ftp://ftp.ee.lbl.gov/>)
- ttcp, the best measurement tool but it needs some control over the
two machines <ftp://ftp.arl.mil/pub/ttcp> (nothing to do with
the T/TCP protocol)
- treno (evaluates available bandwidth for TCP)
<http://www.psc.edu/~pscnoc/treno_info.html>
- spray is a tool which I dont't know very well. It is available on some
machines (Sun, OSF/1).
I've also heard of but never tried:
- NetPerf <http://www.cup.hp.com/netperf/NetperfPage.html>
- a suite of Bandwidth Measuring programs from gnn@netcom.com
<ftp://ftp.netcom.com/~ftp/gnn/bwmeas-0.3.tar.Z>. These are several
programs that measure bandwidth and jitter over several kinds of
IPC links, including TCP and UDP.
Macintosh:
- TCP Watcher, a very nice "swiss-army knife" tool, to test ping, DNS, echo.
It includes an echo server. Available on Info-Mac in "comm/tcp".
MS-Windows:
(I have little knowledge of that environment and I tested nothing.)
- WSNUTIL. Seems to be an echo client and server.
<http://www.ccs.org/winsock/xref-e.html#echo_clients>
Windows-NT :
echo and other services can (apparently) be provided within
'Simple TCP/IP Services' which
can be enabled through the Network Control Panel
Web clients:
- You can ping or traceroute on the Web. See
<http://hplyot.obspm.fr/cgi-bin/nph-traceroute> or
<http://www.fr.net/internet/>.
Use all of them with care, the result is not obvious to interpret.
And don't forget to read RFC 1470 ("Tools for Monitoring and Debugging
TCP/IP Internets and Interconnected Devices"), specially its "Benchmark"
section and the Richard Stevens' books (all of them), published by
Addison-Wesley.