[net.ham-radio.packet] How and Why to build an Echo Host

KPETERSEN@SIMTEL20.ARPA (11/09/85)

From: John Nagle <hao!hplabs!fortune!wdl1!jbn@seismo.CSS.GOV>
      		How to Build an Echo Host, and Why

     One useful device for the network software implementor working
without access to a big network is an echo host.  An echo host (in the
IP world) receives datagrams, interchanges the source and destination
IP addresses, recomputes the IP checksum, and sends them out again.

     This is a useful device to have around.  It's a mirror.  If you
try to make a connection to it, you end up with a connection to
yourself.  You can exercise protocols with only one copy of your
development system yet actually generate traffic over the network
hardware.  Especially useful are echo hosts that introduce errors and
delays.  With these, one can find out if your transport protocol
really works.

     There are several echo hosts on the ARPANET; they all have names
with "ECHO" in them.  You can TELNET or FTP to them, but you end up
connected back to yourself.  Some of them are far away, and allow
testing over satellite links.  Some fragment IP datagrams.  Some have
limited bandwidth.  These are good for exercising an implementation.

     It is left as an exercise to the reader to implement echo host
software for the IBM PC, starting from the MIT package.  Such a device
would be excellent for testing out TCP implementations to make sure
that the hard cases really work, especially if error insertion (change
one bit in every Nth packet), delay (hold all packets N seconds before
returning), and congestion (if more than N packets are in the delay
queue, send back a Source Quench and/or drop one) are provided.

				John Nagle