In: Conferences in Research and Practice in Information Technology, Vol. 16, pages 129-138. 2003. 26th Australasian Computer Science Conference, 4-7 February 2003, Adelaide, Australia.
Abstract: The Transmission Control Protocol (TCP) is an important transport layer protocol providing a reliable data transfer service to support many applications running over the Internet such as the World Wide Web. It is therefore important to define the intent of TCP. This is achieved by describing the services it is intended to provide in an abstract way, known as a service definition. Several attempts have been made to define the services provided by TCP, however, they are all inadequate in various ways. In particular, most of them follow the applications interface defined in the TCP Request for Comments (RFC 793) too closely, making them rather implementation specific. The aim of our work is to provide an appropriately abstract definition of the TCP service, following the guidance of the Open Systems Interconnection service conventions, and to make it as general and as complete as possible. We define the service in terms of a set of 15 service primitives and th! eir sequences, for TCP's main features of connection establishment, data transfer, urgent data transfer, orderly connection release, and aborting connections. The choice of primitives is discussed in terms of their relationship with the Interface Definition of RFC 793. We formalise the TCP service using Coloured Petri Nets, and from it generate the global sequences of service primitives for TCP's Connection Management services (including aborts). We believe this is the first time this has been achieved.
Keywords: TCP; Service Definition; Finite State Automata; Coloured Petri Nets.
Back to the Petri Nets Bibliography