Abstract
The Transmission Control Protocol (TCP) is the most widely used transport protocol in the Internet, providing a reliable data transfer service to many applications. This paper analyses TCP’s Connection Management procedures for correct termination and absence of deadlocks. The protocol is assumed to be operating over a reordering lossless channel and is modelled using Coloured Petri nets. The following connection management scenarios are examined using state space analysis: client-server and simultaneous opening; orderly release; and abortion. The results demonstrate that TCP terminates correctly for client-server and simultaneous connection establishment, orderly release after the connection is established and aborting of connections. However, we discover a deadlock when connection release is initiated before the connection has been fully established when operating over a reordering lossless channel.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Allman, M., Paxson, V., Stevens, W.: TCP Congestion Control. Request for Comments 2581, IETF (April 1999)
Billington, J., Gallasch, G., Han, B.: A Coloured Petri Net Approach to Protocol Verification. In: Desel, J., Reisig, W., Rozenberg, G. (eds.) Lectures on Concurrency and Petri Nets. LNCS, vol. 3098, pp. 210–290. Springer, Heidelberg (2004)
Braden, R.: Requirements for Internet Host — Communication Layers. RFC 1122, IETF (October 1989)
Cerf, V.G.: Specification of TCP Internet Transmission Control Program, TCP (Version 2), available from DARPA/IPTO (March 1977)
Cerf, V.G., Dalal, Y.K., Sunshine, C.A.: Specification of Internet Transmission Control Program. INWG Note 72 (December 1974)
Cerf, V.G., Postel, J.B.: Specification of Internet Transmission Control Program, TCP (Version 3), available from USC/ISI (January 1978)
Christensen, S., Kristensen, L.M., Mailund, T.: A Sweep-line Method for State Space Exploration. In: Margaria, T., Yi, W. (eds.) TACAS 2001. LNCS, vol. 2031, pp. 450–464. Springer, Heidelberg (2001)
Floyd, S.: HighSpeed TCP for Large Congestion Windows. RFC 3649, IETF (2003)
Floyd, S., Henderson, T.: The NewReno Modification to TCP’s Fast Recovery Algorithm. RFC 2582, IETF (April 1999)
Hailpern, B.: Verifying Concurrent Processes Using Temporal Logic. Technical Report 195, Computer Systems Lab, Stanford University, U.S.A (1980)
Han, B.: Formal Specification of the TCP Service and Verification of TCP Connection Management. PhD Thesis, University of South Australia, Australia (December 2004)
Han, B., Billington, J.: An Analysis of TCP Connection Management Using Coloured Petri nets. In: Proceedings of the 5th World Multi-Conference on Systemics, Cybernetics and Informatics (SCI 2001), Orlando, Florida, July 2001, pp. 590–595 (2001)
Han, B., Billington, J.: Validating TCP Connection Management. In: Proceedings of the Workshop on Software Engineering and Formal Methods, Adelaide, Australia, June 2002. Conferences in Research and Practice in Information Technology, vol. 12, pp. 47–55 (2002)
Han, B., Billington, J.: Experience using Coloured Petri Nets to Model TCP’s Connection Management Procedures. In: Proceedings of the 5th Workshop and Tutorial on Practical Use of Coloured Petri Nets and the CPN tools, Aarhus, Denmark, October 2004, pp. 57–76 (2004)
Jacobson, V., Braden, R.: TCP Extensions for Long-Delay Paths. RFC 1072, IETF (October 1988)
Jacobson, V., Braden, R., Borman, D.: TCP Extensions for High Performance. RFC 1323, IETF (May 1992)
Jacobson, V., Braden, R., Zhang, L.: TCP Extension for High-Speed Paths. RFC 1185, IETF (October 1990)
Jensen, K.: Coloured Petri Nets: Basic Concepts, Analysis Methods and Practical Use. Basic Concepts, vol. 1. Springer, Berlin (1997)
Kohler, E., Handley, M., Floyd, S.: Datagram Congestion Control Protocol. Internet Draft draft-ietf-dccp-spec-08.txt, IETF (October 2004)
Kurose, J.F., Yemini, Y.: The Specification and Verification of a Connection Establishment Protocol Using Temporal Logic. In: Protocol Specification, Testing, and Verification, pp. 43–62. North-Holland Publishing Company, Amsterdam (1982)
Lin, H.P.: Modelling a Transport Layer Protocol using First-order Logic. In: Proc. of the ACM SIGCOMM Conference on Communications Architecture and Protocols, September 1986, pp. 92–100 (1986)
Lynch, N.: Distributed Algorithms. Morgan Kaufmann Publishers, Inc., San Francisco (1996)
Martin, J., Nilsson, A., Rhee, I.: Delay Based Congestion Avoidance for TCP. IEEE/ACM Transactions on Networking 11(3), 356–369 (2003)
Mehrpour, H., Karbowiak, A.E.: Modelling and Analysis of DOD TCP/IP Protocol Using Numerical Petri Nets. In: Proc. IEEE Region 10 Conf. on Computer Communication Systems, Hong Kong, September 1990, pp. 617–622 (1990)
Military Standard Transmission Control Protocol. MIL-STD-1778 (August 1983)
Murphy, S.L.: Service Specification and Protocol Construction for a Layered Architecture. PhD Thesis, University of Maryland, USA (May 1990)
Murphy, S.L., Shankar, A.U.: Connection Management for the Transport Layer: Service Specification and Protocol Verification. IEEE Transactions on Communications 39(12), 1762–1775 (1991)
Musser, D.R.: Abstract Data Type Specifications in the Affirm System. In: Proc. Specifications of Reliable Software Conference, pp. 47–57. IEEE, Los Alamitos (1979)
Paxson, V.: Known TCP Implementation Problems. RFC 2525, IETF (March 1999)
Postel, J.: Transmission Control Protocol, Version 4 (February 1979)
Postel, J.: DoD Standard Transmission Control Protocol. RFC 761, IETF (January 1980)
Postel, J.: Transmission Control Protocol. RFC 793, IETF (September 1981)
Schwabe, D.: Formal Specification and Verification of a Connection Establishment Protocol. In: Proc. of the Seventh Symposium on Data Communications, pp. 11–26. ACM Press, New York (1981)
Schwabe, D.: Formal Techniques for Specification and Verification of Protocols. PhD Thesis, Report CSD 810401, Computer Science Department, University of California at Los Angeles (1981)
Sidhu, D.P., Blumer, T.P.: Some Problems with the Specification of the Military Standard Transmission Control Protocol. RFC 964, IETF (November 1985)
Smith, M.A.: Formal Verification of Communication Protocols. In: Formal Description Techniques IX: Theory, Applications and Tools, pp. 129–144. Chapman & Hall, London (1996)
Smith, M.A.: Formal Verification of TCP and T/TCP. PhD Thesis, M.I.T., USA (September 1997)
Stallings, W.: Department of Defense (DOD) Protocol Standards, vol. 3. Howard W. Sams & Company (1978)
Stewart, R.: etc. Stream Control Transmission Protocol. RFC 2960, IETF (October 2000)
Sunshine, C.A., Dalal, Y.K.: Connection Management in Transport Protocols. Computer Networks 2(6), 454–473 (1978)
Symons, F.J.W.: Modelling and Analysis of Communication Protocols Using Numerical Petri Nets. PhD Thesis, University of Essex (May 1978)
Tomlinson, R.S.: Selecting Sequence Numbers. In: Proc. of ACM SIGCOM/SIGOPS Interprocess Communications Workshop, Santa Monica, California, March 1975, pp. 11–23 (1975)
University of Aarhus. Design/CPN Online. Web site (2003), http://www.daimi.au.dk/designCPN
Wright, G.R., Stevens, W.R.: TCP/IP Illustrated. The Implementation, vol. 2. Addison-Wesley, Reading (1995)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Han, B., Billington, J. (2005). Termination Properties of TCP’s Connection Management Procedures. In: Ciardo, G., Darondeau, P. (eds) Applications and Theory of Petri Nets 2005. ICATPN 2005. Lecture Notes in Computer Science, vol 3536. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11494744_14
Download citation
DOI: https://doi.org/10.1007/11494744_14
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-26301-2
Online ISBN: 978-3-540-31559-9
eBook Packages: Computer ScienceComputer Science (R0)