|
| | | |
On Defining the Service Provided by TCP
Billington, J. and Han, B.
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 Interconnections 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 their 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 believed this is the firs time this has been achieved. |
Cite as: Billington, J. and Han, B. (2003). On Defining the Service Provided by TCP. In Proc. Twenty-Sixth Australasian Computer Science Conference (ACSC2003), Adelaide, Australia. CRPIT, 16. Oudshoorn, M. J., Ed. ACS. 129-138. |
(from crpit.com)
(local if available)
|
|