Abstract
The transmission control protocol (TCP) is the most widely used transport protocol in the Internet. It provides a reliable data transfer service to many applications. In this paper, Coloured Petri Nets are used to model TCP’s connection management procedures. The model is created to verify TCP’s functional correctness (e.g. the absence of deadlocks and livelocks). We discuss different modelling approaches to motivate the approach taken. The paper defines the termination property of TCP’s connection management procedures, including the notions of desired and acceptable terminal states. Finally, we analyse TCP’s connection management procedures operating over re-ordering non-lossy and lossy channels. This is done incrementally and considers 11 different configurations. The analysis provides some insights into TCP’s behaviour where in certain circumstances the protocol fails to establish or terminate successfully.
Similar content being viewed by others
References
Allman, M., Paxson, V., Stevens, W.: TCP Congestion Control. Request for Comments 2581, IETF (1999)
Billington, J., Gallasch, G., Han, B.: A Coloured Petri net approach to protocol verification. In: Lectures on Concurrency and Petri Nets: Advances in Petri Nets of Lecture Notes in Computer Science 3098, pp. 210–290. Springer, Heidelberg (2004)
Braden, R.: Requirements for Internet Host—Communication Layers. RFC 1122, IETF (1989)
Cassandras C.G. and Lafortune S. (1999). Introduction to Discrete Event Systems. Kluwer, Boston
CCITT.: Interface between DTE and DCE for Terminals Operating in the Packet Mode on Public Data Networks. ITU Recommendation X.25 (1977)
Cerf, V.G.: Specification of TCP Internet Transmission Control Program, TCP (Version 2). Available from DARPA/IPTO (1977)
Cerf, V.G., Dalal Y.K., Sunshine, C.A.: Specification of Internet Transmission Control Program. INWG Note 72 (1974)
Cerf, V.G., Postel, J.B.: Specification of Internet Transmission Control Program, TCP (Version 3). Available from USC/ISI. (1978)
Christensen, S., Kristensen, L.M., Mailund, T.: A sweep-line method for state space exploration. Lecture Notes in Computer Science 2031, pp. 450–464, Springer, Berlin (2001)
Clarke E.M. and Wing J.M. (1996). Formal methods: state of the art and future directions. ACM Comput. Surv. 28(4): 626–643
Comer D.E. (2000). Internetworking with TCP/IP: Principles, Protocols, Architecture. vol 1. Prentice Hall, Upper Saddle River
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 (1999)
Gallasch G.E., Han B. and Billington J. (2005). Sweep-line analysis of TCP connection management. Lecture Notes in Computer Science 3785: 156–172
Gordon, S.: Verification of the WAP transaction layer using coloured Petri nets. Ph.D. Thesis. University of South Australia, Australia (2001)
Hailpern, B.: Verifying concurrent processes using temporal logic. Technical Report 195, Computer Systems Lab, Stanford University, USA (1980)
Han, B.: Formal Specification of the TCP service and verification of TCP connection management. Ph.D. Thesis. University of South Australia, Australia (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). pp. 590–595, Orlando, Florida (2001)
Han, B., Billington, J.: Validating TCP connection management. In: Proceedings of the Workshop on Software Engineering and Formal Methods, Adelaide, Australia. vol. 12 of Conferences in Research and Practice in Information Technology. 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. pp. 57–76 (2004)
Han B., Billington J.: Termination properties of TCP’s connection management procedures. In: Proceedings 26th International Conference Application and Theory of Petri Nets and Other Models of Concurrency. Lecture Notes in Computer Science 3536, pp. 228–249 (2005)
Jacobson, V., Braden, R.: TCP Extensions for Long-Delay Paths. RFC 1072, IETF (1988)
Jacobson, V., Braden, R., Borman, D.: TCP Extensions for High Performance. RFC 1323, IETF (1992)
Jacobson, V., Braden, R., Zhang, L.: TCP Extension for High-Speed Paths. RFC 1185, IETF (1990)
Jensen K. (1997). Coloured Petri Nets: Basic Concepts, Analysis Methods and Practical Use, Volume 1, Basic Concepts. Springer, Berlin
Jensen K. (1997). Coloured Petri Nets: Basic Concepts, Analysis Methods and Practical Use, Volume 2, Analysis Methods. Springer, Berlin
Jensen K. (1997). Coloured Petri Nets: Basic Concepts, Analysis Methods and Practical Use, Volume 3, Practical Use. Springer, Berlin
Kohler, E., Handley, M., Floyd, S.: Datagram Congestion Control Protocol. RFC 4340, IETF (2006)
Kristensen L.M., Christensen S. and Jensen K. (1998). The practitioner’s guide to coloured Petri nets. Int. J. Softwa. Tools Techno. Transf. (STTT) 2(2): 98–132
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 (1982)
Lin, H.P.: Modelling a transport layer protocol using first-order logic. In: Proceedings of the ACM SIGCOMM Conference on Communications Architecture and Protocols. pp. 92–100 (1986)
Lynch, N.: Distributed Algorithms. Morgan Kaufmann Publishers, (1996)
Martin J., Nilsson A. and Rhee I. (2003). Delay based congestion avoidance for TCP. IEEE/ACM Trans. Network. 11(3): 356–369
Mehrpour, H., Karbowiak, A.E.: Modelling and analysis of DOD TCP/IP protocol using numerical Petri nets. In Proceedings IEEE Region 10 Conference on Computer Communication Systems. pp. 617–622, Hong Kong (1990)
Military Standard Transmission Control Protocol: MIL-STD-1778 (1983)
Murphy, S.L.: Service specification and protocol construction for a layered architecture. Ph.D. Thesis. University of Maryland, USA (1990)
Murphy S.L. and Shankar A.U. (1991). Connection management for the transport layer: service specification and protocol verification. IEEE Trans. Commun. 39(12): 1762–1775
Musser, D.R.: Abstract data type specifications in the Affirm system. In: Proceedings of the Specifications of Reliable Software Conference. pp. 47–57. IEEE (1979)
Paxson, V.: Known TCP Implementation Problems. RFC 2525, IETF (1999)
Postel, J.: Transmission Control Protocol Version 4 (1979)
Postel, J.: DoD Standard Transmission Control Protocol. RFC 761, IETF (1980)
Postel, J.: Internet Protocol—DARPA Internet Program, Protocol Specification. RFC 791, IETF (1981)
Postel, J.: Transmission Control Protocol. RFC 793, IETF (1981)
Schwabe, D.: Formal specification and verification of a connection establishment protocol. In: Proceedings of the 7th Symposium on Data Communications. pp. 11–26 ACM Press, New York (1981)
Schwabe, D.: Formal techniques for specification and verification of protocols. Ph.D. 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 (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. Ph.D. Thesis, M.I.T., USA (1997)
Stallings, W.: Department of Defense (DOD) Protocol Standards. Vol. 3. Howard W. Sams & Company (1978)
Stevens W.R. (1994). TCP/IP Illustrated, Vol.1: The Protocols. Addison-Wesley, Reading
Stewart, R., et al.: Stream Control Transmission Protocol. RFC 2960, IETF (2000)
Sunshine C.A. and Dalal Y.K. (1978). Connection management in transport protocols. Compu. Netw. 2(6): 454–473
Symons, F.J.W.: Modelling and analysis of communication protocols using numerical Petri nets. Ph.D. Thesis. University of Essex (1978)
Tanenbaum, A.S:. Computer Networks, 4th edn. Prentice Hall (2003)
Tomlinson, R.S.: Selecting sequence numbers. In: Proceedings of ACM SIGCOM/SIGOPS Interprocess Communications Workshop. pp. 11–23, Santa Monica, California (1975)
University of Aarhus: Design/CPN Online. Web site: http://www.daimi.au.dk/designCPN (2003)
University of Aarhus: CPNTools Online. Web site: http://www.daimi.au.dk/CPNTools (2005)
WAP Forum: Wireless Application Protocol Architecture Specification. Web site: http://www.wapforum.org.
Wright G.R. and Stevens W.R. (1995). TCP/IP Illustrated, Vol. 2: The Implementation. Addison-Wesley, Reading
WAP Forum: Wireless Application Protocol Wireless Transaction Protocol Specification. Web site: http://www. wapforum.org (2000)
Author information
Authors and Affiliations
Corresponding author
Additional information
The majority of this article was written while Dr. Han was at the University of South Australia.
Rights and permissions
About this article
Cite this article
Billington, J., Han, B. Modelling and analysing the functional behaviour of TCP’s connection management procedures. Int J Softw Tools Technol Transfer 9, 269–304 (2007). https://doi.org/10.1007/s10009-007-0034-1
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10009-007-0034-1