Hello Bobd,
as the IETF is a wild unruly group, there are not any standard
'reference implementations' that you can test against. Things are
getting more formal now, but my statement is certainly true for the
evolution of IP/ICMP/UDP/TCP.
You ask about publicly available test procedures. In a word, there are
none defined by the IETF/IESG/IAB. Sorry. But all is not so bleak ;)
The current best practice is to carefully read and analyze the
standards and the existing publicly available implementations such as
in NetBSD or OpenBSD, (also compare old versions to new versions and
find out what the motivation for differences are). Once you clearly
understand the matter, you can implement your own. IP, UDP, and ICMP
are easily done, TCP is a little harder.
Once you have your own implementation (and it interacts with itself),
you can test it against the existing implementations. You will observe
that depending on which implementation you test against, performance
behaviour will vary. This tells you that you have some leeway in how
you want to implement your stuff. Make sure to carefully analyze the
state machines and traffic you accept and generate in terms of 'MUST'
and 'MUST NOT' statements in the standards documents.
There is however some advice and tools available for testing your
implementation. They are not a 'standard' but rather FYI documentation
of the IETF. Let me give you a list:
FYI0033 RFC2398 Some Testing Tools for TCP Implementors
This includes a list of 11 or so tools that you can use to test your
TCP (and sometimes UDP / IP) performance.
http://www.rfc-editor.org/cgi-bin/rfcdoctype.pl?loc=FYI&letsgo=33&type=ftp&file_format=txt
FYI0002 RFC1470 FYI on a network management tool catalog: Tools for
Monitoring and Debugging TCP/IP Internets and Interconnected Devices
This contains literally tons of tools that you can use to test many
aspects of
your protocol implementation. Not all of them may still be available,
but I am sure you'll get something...
http://www.rfc-editor.org/cgi-bin/rfcdoctype.pl?loc=FYI&letsgo=2&type=ftp&file_format=txt
Caveats for TCP implementations:
ftp://ftp.isi.edu/in-notes/rfc2525.txt
My personal advice for TCP: Keep it as small and simple as you dare
to. Do none of the optional stuff in a first run.
Good luck with your efforts, and please do not hesitate to ask for
clarification if you need it!
Philip Lynx
p.s. drjmetz: 5,6,7 refer to STD0005 STD0006 STD0007 respectively, and
are currently RFC 792 (ICMP), RFC 793 (TCP) and RFC 0768 (UDP). |
Clarification of Answer by
philip_lynx-ga
on
28 Jul 2002 02:54 PDT
Hi Bobd,
do you need any more data or feedback? If yes, please do not hesitate
to ask for it. You are paying for this, after all ;-) Or, if you are
happy with the answer as-is, I would very much appreciate your rating.
Thank you very much,
Philip Lynx
|