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 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 believe this is the first time this has been achieved.
[1]
Kurt Jensen,et al.
Coloured Petri nets (2nd ed.): basic concepts, analysis methods and practical use: volume 1
,
1996
.
[2]
Jonathan Billington,et al.
Abstract Specification of the ISO Transport Service Definition using Labelled Numerical Petri Nets
,
1983,
Protocol Specification, Testing, and Verification.
[3]
Luigi Logrippo,et al.
The importance of the service concept in the design of data communications protocols
,
1985,
PSTV.
[4]
Marshall T. Rose,et al.
ISO transport arrives on top of the TCP
,
1986,
RFC.
[5]
Yanick Pouffary,et al.
ISO Transport Service on top of TCP (ITOT)
,
1997,
RFC.
[6]
Sandra L. Murphy,et al.
Connection management for the transport layer: service specification and protocol verification
,
1991,
IEEE Trans. Commun..