Rigorous specification for TCP, UDP, and Sockets

Peter Sewell Peter.Sewell at cl.cam.ac.uk
Mon Mar 28 11:38:32 PST 2005


[apologies to anyone who has seen this on the end-to-end list]


Our recent technical reports may be of interest to BSD TCP/IP developers:

  TCP, UDP, and Sockets: rigorous and experimentally-validated
  behavioural specification.

  Volume 1: Overview               UCAM-CL-TR-624
  Volume 2: The Specification      UCAM-CL-TR-625

They are available from <http://www.cl.cam.ac.uk/users/pes20/Netsem/index.html>
together with the summary paper:

  Rigorous specification and conformance testing techniques for
  network protocols, as applied to TCP, UDP, and Sockets.


These give a detailed and precise specification of the behaviour of
three common TCP/IP stacks - versions of FreeBSD, Linux, and Windows
XP - as seen from socket calls and the wire interface.  The
specification has been validated through extensive testing (primarily
against FreeBSD for the TCP aspects).  It models the actual observed
behaviour, bugs and all, rather than an idealisation of the RFCs.

The specification is annotated for the non-specialist reader, and we
hope that it will be useful as an informal reference for stack
implementors and for sockets users (supplementing the existing RFCs
and books), as well as supporting automated conformance testing.  Our
techniques may be useful in the development of new protocols and
extensions.

We would greatly appreciate feedback, on both content and usability.


Peter, for the Netsem team:

  Steve Bishop, Matthew Fairbairn, Michael Norrish, Peter Sewell,
  Michael Smith, Keith Wansbrough




More information about the freebsd-net mailing list