Skip to main content
Log in

Modelling and analysing the functional behaviour of TCP’s connection management procedures

  • Special Section CPN 04/05
  • Published:
International Journal on Software Tools for Technology Transfer Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Allman, M., Paxson, V., Stevens, W.: TCP Congestion Control. Request for Comments 2581, IETF (1999)

  2. 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)

  3. Braden, R.: Requirements for Internet Host—Communication Layers. RFC 1122, IETF (1989)

  4. Cassandras C.G. and Lafortune S. (1999). Introduction to Discrete Event Systems. Kluwer, Boston

    MATH  Google Scholar 

  5. CCITT.: Interface between DTE and DCE for Terminals Operating in the Packet Mode on Public Data Networks. ITU Recommendation X.25 (1977)

  6. Cerf, V.G.: Specification of TCP Internet Transmission Control Program, TCP (Version 2). Available from DARPA/IPTO (1977)

  7. Cerf, V.G., Dalal Y.K., Sunshine, C.A.: Specification of Internet Transmission Control Program. INWG Note 72 (1974)

  8. Cerf, V.G., Postel, J.B.: Specification of Internet Transmission Control Program, TCP (Version 3). Available from USC/ISI. (1978)

  9. 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)

  10. Clarke E.M. and Wing J.M. (1996). Formal methods: state of the art and future directions. ACM Comput. Surv. 28(4): 626–643

    Article  Google Scholar 

  11. Comer D.E. (2000). Internetworking with TCP/IP: Principles, Protocols, Architecture. vol 1. Prentice Hall, Upper Saddle River

    Google Scholar 

  12. Floyd, S.: HighSpeed TCP for Large Congestion Windows. RFC 3649, IETF (2003)

  13. Floyd, S., Henderson, T.: The NewReno Modification to TCP’s Fast Recovery Algorithm. RFC 2582, IETF (1999)

  14. Gallasch G.E., Han B. and Billington J. (2005). Sweep-line analysis of TCP connection management. Lecture Notes in Computer Science 3785: 156–172

    Article  Google Scholar 

  15. Gordon, S.: Verification of the WAP transaction layer using coloured Petri nets. Ph.D. Thesis. University of South Australia, Australia (2001)

  16. Hailpern, B.: Verifying concurrent processes using temporal logic. Technical Report 195, Computer Systems Lab, Stanford University, USA (1980)

  17. Han, B.: Formal Specification of the TCP service and verification of TCP connection management. Ph.D. Thesis. University of South Australia, Australia (2004)

  18. 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)

  19. 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)

  20. 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)

  21. 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)

  22. Jacobson, V., Braden, R.: TCP Extensions for Long-Delay Paths. RFC 1072, IETF (1988)

  23. Jacobson, V., Braden, R., Borman, D.: TCP Extensions for High Performance. RFC 1323, IETF (1992)

  24. Jacobson, V., Braden, R., Zhang, L.: TCP Extension for High-Speed Paths. RFC 1185, IETF (1990)

  25. Jensen K. (1997). Coloured Petri Nets: Basic Concepts, Analysis Methods and Practical Use, Volume 1, Basic Concepts. Springer, Berlin

    Google Scholar 

  26. Jensen K. (1997). Coloured Petri Nets: Basic Concepts, Analysis Methods and Practical Use, Volume 2, Analysis Methods. Springer, Berlin

    Google Scholar 

  27. Jensen K. (1997). Coloured Petri Nets: Basic Concepts, Analysis Methods and Practical Use, Volume 3, Practical Use. Springer, Berlin

    Google Scholar 

  28. Kohler, E., Handley, M., Floyd, S.: Datagram Congestion Control Protocol. RFC 4340, IETF (2006)

  29. 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

    Article  MATH  Google Scholar 

  30. 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)

  31. 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)

  32. Lynch, N.: Distributed Algorithms. Morgan Kaufmann Publishers, (1996)

  33. Martin J., Nilsson A. and Rhee I. (2003). Delay based congestion avoidance for TCP. IEEE/ACM Trans. Network. 11(3): 356–369

    Article  Google Scholar 

  34. 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)

  35. Military Standard Transmission Control Protocol: MIL-STD-1778 (1983)

  36. Murphy, S.L.: Service specification and protocol construction for a layered architecture. Ph.D. Thesis. University of Maryland, USA (1990)

  37. 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

    Article  Google Scholar 

  38. 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)

  39. Paxson, V.: Known TCP Implementation Problems. RFC 2525, IETF (1999)

  40. Postel, J.: Transmission Control Protocol Version 4 (1979)

  41. Postel, J.: DoD Standard Transmission Control Protocol. RFC 761, IETF (1980)

  42. Postel, J.: Internet Protocol—DARPA Internet Program, Protocol Specification. RFC 791, IETF (1981)

  43. Postel, J.: Transmission Control Protocol. RFC 793, IETF (1981)

  44. 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)

  45. 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)

  46. Sidhu, D.P., Blumer, T.P.: Some problems with the specification of the military standard transmission control protocol. RFC 964, IETF (1985)

  47. Smith, M.A.: Formal verification of communication protocols. In: Formal Description Techniques IX: Theory, Applications and Tools. pp. 129–144. Chapman & Hall, London (1996)

  48. Smith, M.A.: Formal verification of TCP and T/TCP. Ph.D. Thesis, M.I.T., USA (1997)

  49. Stallings, W.: Department of Defense (DOD) Protocol Standards. Vol. 3. Howard W. Sams & Company (1978)

  50. Stevens W.R. (1994). TCP/IP Illustrated, Vol.1: The Protocols. Addison-Wesley, Reading

    MATH  Google Scholar 

  51. Stewart, R., et al.: Stream Control Transmission Protocol. RFC 2960, IETF (2000)

  52. Sunshine C.A. and Dalal Y.K. (1978). Connection management in transport protocols. Compu. Netw. 2(6): 454–473

    Google Scholar 

  53. Symons, F.J.W.: Modelling and analysis of communication protocols using numerical Petri nets. Ph.D. Thesis. University of Essex (1978)

  54. Tanenbaum, A.S:. Computer Networks, 4th edn. Prentice Hall (2003)

  55. Tomlinson, R.S.: Selecting sequence numbers. In: Proceedings of ACM SIGCOM/SIGOPS Interprocess Communications Workshop. pp. 11–23, Santa Monica, California (1975)

  56. University of Aarhus: Design/CPN Online. Web site: http://www.daimi.au.dk/designCPN (2003)

  57. University of Aarhus: CPNTools Online. Web site: http://www.daimi.au.dk/CPNTools (2005)

  58. WAP Forum: Wireless Application Protocol Architecture Specification. Web site: http://www.wapforum.org.

  59. Wright G.R. and Stevens W.R. (1995). TCP/IP Illustrated, Vol. 2: The Implementation. Addison-Wesley, Reading

    Google Scholar 

  60. WAP Forum: Wireless Application Protocol Wireless Transaction Protocol Specification. Web site: http://www. wapforum.org (2000)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Jonathan Billington.

Additional information

The majority of this article was written while Dr. Han was at the University of South Australia.

Rights and permissions

Reprints 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

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10009-007-0034-1

Keywords

Navigation