CSEC 10 Oct 2004CPN’04 Workshop1 Experience using Coloured Petri Nets to Model TCP’s Connection Management Procedures Bing Han and Jonathan Billington.

Slides:



Advertisements
Similar presentations
Modelling and Analysis of the CES Protocol of H.245 Lin Liu and Jonathan Billington Computer Systems Engineering Centre University of South Australia.
Advertisements

Introduction 1 Lecture 13 Transport Layer (Transmission Control Protocol) slides are modified from J. Kurose & K. Ross University of Nevada – Reno Computer.
TCP/IP Christopher Zacky. lolwut Decimal Numbers.
1 Transport Protocols & TCP CSE 3213 Fall April 2015.
TCP - Part I Relates to Lab 5. First module on TCP which covers packet format, data transfer, and connection management.
Transmission Control Protocol (TCP)
Guide to TCP/IP, Third Edition
1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach 4 th edition. Jim Kurose, Keith Ross Addison-Wesley, July A note on the use.
Data Communications and Computer Networks Chapter 3 CS 3830 Lecture 16 Omar Meqdadi Department of Computer Science and Software Engineering University.
TCP & UDP - Protocol Details Yen-Cheng Chen
1 TCP - Part I Relates to Lab 5. First module on TCP which covers packet format, data transfer, and connection management.
1 CS 4396 Computer Networks Lab Transmission Control Protocol (TCP) Part I.
8. Transport Protocol and UDP 8.1 Transport protocol : End-to-end protocol –IP: Host to host packet delivery –Transport: Process to process communication.
Chapter 5: TCP/IP and OSI Business Data Communications, 5e.
5/6/2015© 2010 Raymond P. Jefferis IIILect Transport Layer.
CP476 Internet Computing TCP/IP 1 Lecture 3. TCP / IP Objective: A in-step look at TCP/IP Purposes and operations Header specifications Implementations.
Provides a reliable unicast end-to-end byte stream over an unreliable internetwork.
BZUPAGES.COM 1 User Datagram Protocol - UDP RFC 768, Protocol 17 Provides unreliable, connectionless on top of IP Minimal overhead, high performance –No.
Transport Layer – TCP (Part1) Dr. Sanjay P. Ahuja, Ph.D. Fidelity National Financial Distinguished Professor of CIS School of Computing, UNF.
Copyright 1999, S.D. Personick. All Rights Reserved. Telecommunications Networking II Lecture 32 Transmission Control Protocol (TCP) Ref: Tanenbaum pp:
EEC-484/584 Computer Networks Lecture 12 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.
TCP© Dr. Ayman Abdel-Hamid, CS4254 Spring CS4254 Computer Network Architecture and Programming Dr. Ayman A. Abdel-Hamid Computer Science Department.
EEC-484/584 Computer Networks Lecture 14 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.
EEC-484/584 Computer Networks Lecture 12 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.
EEC-484/584 Computer Networks Lecture 14 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.
Chapter 4 : TCP/IP and OSI Business Data Communications, 4e.
Sweep-line Analysis of DCCP Connection Management Somsak Vanit-Anunchai Jonathan Billington Guy Edward Gallasch 25 th October 2006.
William Stallings Data and Computer Communications 7 th Edition (Selected slides used for lectures at Bina Nusantara University) Transport Layer.
CSEC Experimenting with Progress Mappings for the Sweep-Line Analysis of the Internet Open Trading Protocol Guy Edward Gallasch, Chun Ouyang, Jonathan.
1 ELEN 602 Lecture 15 More on IP TCP. 2 byte stream Send buffer segments Receive buffer byte stream Application ACKs Transmitter Receiver TCP Streams.
EEC-484/584 Computer Networks Lecture 6 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.
University of South Australia CPN’05 Oct Enhancing the CES Protocol and its Verification Lin Liu 1,2 and Jonathan Billington 2 1 School of Computer.
Gursharan Singh Tatla Transport Layer 16-May
1 Lab 3 Transport Layer T.A. Youngjoo Han. 2 Transport Layer  Providing logical communication b/w application processes running on different hosts 
The Transport Layer.
Protocols and the TCP/IP Suite
6.1. Transport Control Protocol (TCP) It is the most widely used transport protocol in the world. Provides reliable end to end connection between two hosts.
TCOM 509 – Internet Protocols (TCP/IP) Lecture 04_b Transport Protocols - TCP Instructor: Dr. Li-Chuan Chen Date: 09/22/2003 Based in part upon slides.
Microsoft Windows Server 2003 TCP/IP Protocols and Services Technical Reference Slide: 1 Lesson 13 Transmission Control Protocol (TCP) Connections.
Transport Layer: TCP and UDP
TCP : Transmission Control Protocol Computer Network System Sirak Kaewjamnong.
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 2.5 Internetworking Chapter 25 (Transport Protocols, UDP and TCP, Protocol Port Numbers)
TCP1 Transmission Control Protocol (TCP). TCP2 Outline Transmission Control Protocol.
1 TCP: Reliable Transport Service. 2 Transmission Control Protocol (TCP) Major transport protocol used in Internet Heavily used Completely reliable transfer.
3 June Paris Seminar Modelling and Analysis of TCP’s Connection Management Procedures Jonathan Billington and Bing Han Computer Systems Engineering.
Chapter 4 : TCP/IP and OSI Business Data Communications, 4e.
Department of Electronic Engineering City University of Hong Kong EE3900 Computer Networks Protocols and Architecture Slide 1 Use of Standard Protocols.
Guide to TCP/IP Fourth Edition
Data Communications and Networks Chapter 6 – IP, UDP and TCP ICT-BVF8.1- Data Communications and Network Trainer: Dr. Abbes Sebihi.
11 CS716 Advanced Computer Networks By Dr. Amir Qayyum.
1 Transmission Control Protocol (TCP) RFC: Introduction The TCP is intended to provide a reliable process-to-process communication service in a.
Two Transport Protocols Available Transmission Control Protocol (TCP) User Datagram Protocol (UDP) Provides unreliable transfer Requires minimal – Overhead.
3. END-TO-END PROTOCOLS (PART 1) Rocky K. C. Chang Department of Computing The Hong Kong Polytechnic University 22 March
Advanced Computer Networks
Review of TCP/IP.
The Transport Layer Implementation Services Functions Protocols
TCP Selective Acknowledgement Options
Fast Retransmit For sliding windows flow control we waited for a timer to expire before beginning retransmission of a packet TCP uses an additional mechanism.
Transport Control Protocol
5. End-to-end protocols (part 1)
TCP.
TCP - Part I Karim El Defrawy
CS 5565 Network Architecture and Protocols
Transport Control Protocol
Figure 3-23: Transmission Control Protocol (TCP) (Study Figure)
TCP - Part I Relates to Lab 5. First module on TCP which covers packet format, data transfer, and connection management.
Transport Protocols: TCP Segments, Flow control and Connection Setup
Transport Protocols: TCP Segments, Flow control and Connection Setup
Transport Layer 9/22/2019.
Presentation transcript:

CSEC 10 Oct 2004CPN’04 Workshop1 Experience using Coloured Petri Nets to Model TCP’s Connection Management Procedures Bing Han and Jonathan Billington Computer Systems Engineering Centre School of Electrical and Information Engineering University of South Australia Copyright 2004

CSEC 10 Oct 2004CPN’04 Workshop2 Outline Motivation Related Work TCP Connection Management Modelling Scope and Assumptions TCP Connection Management CPN Discussion of Modelling Approaches Conclusions

CSEC 10 Oct 2004CPN’04 Workshop3 Motivation TCP is a complex protocol, designed over 20 years ago to provide a reliable data transfer service. The operation of TCP was originally specified in RFC 793 using narrative descriptions, message sequence diagrams and a FSM diagram. The original specification was then improved and modified in a number of RFCs (1122,2525,2581…). The number of bugs reported in TCP in RFC 2525 spans 60 pages. TCP is used as the basis of new protocols, e.g. DCCP

CSEC 10 Oct 2004CPN’04 Workshop4 Related Work ( ) 1.Sunshine and Dalal (1978): Connection Management in Transport Protocols. Computer Networks. 2.Schwabe (1981): Formal Specification and Verification of a Connection Establishment Protocol. In Proc. Of the 7 th Symposium on Data Communications. 3.Kurose and Yemini (1982): The Specification and Verification of a Connection Establishment Protocol using Temporal Logic. Protocol Specification, Testing and Verification. 4.Lin (1986): Modelling a Transport Layer Protocol using First-order Logic. In Proc. Of the ACM SIGCOMM Conf. on Communications Architecture and Protocols. 1.Sunshine and Dalal (1978): Connection Management in Transport Protocols. Computer Networks. 2.Schwabe (1981): Formal Specification and Verification of a Connection Establishment Protocol. In Proc. Of the 7 th Symposium on Data Communications. 3.Kurose and Yemini (1982): The Specification and Verification of a Connection Establishment Protocol using Temporal Logic. Protocol Specification, Testing and Verification. 4.Lin (1986): Modelling a Transport Layer Protocol using First-order Logic. In Proc. Of the ACM SIGCOMM Conf. on Communications Architecture and Protocols. Early work on modelling TCP Connection Management is mainly confined to the connection establishment procedure and is based on early versions of TCP, to which continuing changes were made.

CSEC 10 Oct 2004CPN’04 Workshop5 Related Work ( ) 1.Mehrpour and Karbowiak (1990): Modelling and Analysis of DOD TCP/IP Protocol Using Numerical Petri Nets. In Proc. IEEE Region 10 conf. on Computer Communication Systems. 2.Murphy (1990): Service Specification and Protocol Construction for a Layered Architecture. PhD Thesis, University of Maryland, USA. 3.Murphy and Shankar (1991): Connection Management for the Transport Layer: Service Specification and Protocol Verification. IEEE Transactions on Communications. 4.Smith (1996): Formal Verification of Communication Protocols. Formal Description Techniques IX: Theory, Applications and Tools. 5.Smith (1997): Formal Verification of TCP and T/TCP. PhD Thesis, MIT, USA. 1.Mehrpour and Karbowiak (1990): Modelling and Analysis of DOD TCP/IP Protocol Using Numerical Petri Nets. In Proc. IEEE Region 10 conf. on Computer Communication Systems. 2.Murphy (1990): Service Specification and Protocol Construction for a Layered Architecture. PhD Thesis, University of Maryland, USA. 3.Murphy and Shankar (1991): Connection Management for the Transport Layer: Service Specification and Protocol Verification. IEEE Transactions on Communications. 4.Smith (1996): Formal Verification of Communication Protocols. Formal Description Techniques IX: Theory, Applications and Tools. 5.Smith (1997): Formal Verification of TCP and T/TCP. PhD Thesis, MIT, USA. Work in the 1990’s considers both the connection establishment and release procedures of TCP or a similar transport protocol. However, none of the work models TCP in sufficient detail to faithfully reflect the official TCP specification RFC 793 and 1122.

CSEC 10 Oct 2004CPN’04 Workshop6 Related Work ( ) 1.Han and Billington (2001): An Analysis of TCP Connection Management using Coloured Petri Nets. In Proc. 5 th World Multi- conference on Systemics, Cybernetics and Informatics. 2.Han and Billington (2002): Validating TCP Connection Management. In Proc. Workshop on Software Engineering and Formal Methods. 3.Billington, Gallasch and Han (2004): A Coloured Petri Net Approach to Protocol Verification. Lectures on Concurrency and Petri Nets: Advances in Petri Nets, LNCS 3098, pp Han and Billington (2001): An Analysis of TCP Connection Management using Coloured Petri Nets. In Proc. 5 th World Multi- conference on Systemics, Cybernetics and Informatics. 2.Han and Billington (2002): Validating TCP Connection Management. In Proc. Workshop on Software Engineering and Formal Methods. 3.Billington, Gallasch and Han (2004): A Coloured Petri Net Approach to Protocol Verification. Lectures on Concurrency and Petri Nets: Advances in Petri Nets, LNCS 3098, pp Over the last few years, we have used Coloured Petri Nets to formally specify and analyse TCP Connection Management based on the official TCP specification.

CSEC 10 Oct 2004CPN’04 Workshop7 Contributions Modelling Configuration Differences Modelling Identical Entities Modular Organisation Hierarchical Construction TCP model extended by including retransmissions and lossy channels. Discuss different modelling approaches.

CSEC 10 Oct 2004CPN’04 Workshop8 TCP Segment Format

CSEC 10 Oct 2004CPN’04 Workshop9 Normal Connection Establishment

CSEC 10 Oct 2004CPN’04 Workshop10 Simultaneous Connection Establishment

CSEC 10 Oct 2004CPN’04 Workshop11 Normal Connection Release

CSEC 10 Oct 2004CPN’04 Workshop12 Simultaneous Connection Release

CSEC 10 Oct 2004CPN’04 Workshop13 Modelling Scope and Assumptions Connection Management procedures. Five user commands: active open, passive open, send, close and abort. Security and precedence are always met. Single connection instance No sequence number wrap Receive buffer is big enough Data related modelling Receive, Status Security and Precedence Source Port Destination port Modular arithmetic Window field and Window related variables Data related modelling Receive, Status Security and Precedence Source Port Destination port Modular arithmetic Window field and Window related variables omit

CSEC 10 Oct 2004CPN’04 Workshop14 TCP and its Environment The basic idea of modelling TCP is that we consider two peer TCP entities, communicating over the Internet Protocol (IP) as well as interacting with their application processes.

CSEC 10 Oct 2004CPN’04 Workshop15 Top Level Page: TCP Overview User Commands TCP Segments Transmission Control Block

CSEC 10 Oct 2004CPN’04 Workshop16 User Commands color COMMAND = with A_Open | P_Open | Send | Close | Abort;

CSEC 10 Oct 2004CPN’04 Workshop17 Modelling Transmission Control Block color STATE = with CLOSED | LISTEN | SYN_SENT | SYN_RCVD | EST | CLOSE_WAIT | LAST_ACK | FIN_WAIT_1| FIN_WAIT_2 | CLOSING | TIME_WAIT; color SV = record RCV_NXT: Int * SND_NXT: Int * SND_UNA: Int * ISS: Int; color LISTENstat = with lis | cls; color TCB = product STATE * SV * LISTENstat; color STATE = with CLOSED | LISTEN | SYN_SENT | SYN_RCVD | EST | CLOSE_WAIT | LAST_ACK | FIN_WAIT_1| FIN_WAIT_2 | CLOSING | TIME_WAIT; color SV = record RCV_NXT: Int * SND_NXT: Int * SND_UNA: Int * ISS: Int; color LISTENstat = with lis | cls; color TCB = product STATE * SV * LISTENstat; The Transmission Control Block is modelled as a triple comprising TCP state, a set of state variables and a listen status.

CSEC 10 Oct 2004CPN’04 Workshop18 Modelling TCP Segments color CTLbit = with SYN | RST | ACK | FIN; color ACKflag = with on | off; color SEG_CTL= product CTLbit * ACKflag; color SEG = record SEQ: Int * ACK: Int * CTL: SEG_CTL; fun SYNseg(v:SV): SEG = { SEQ=#ISS(v), ACK=0, CTL=(SYN,off)}; color CTLbit = with SYN | RST | ACK | FIN; color ACKflag = with on | off; color SEG_CTL= product CTLbit * ACKflag; color SEG = record SEQ: Int * ACK: Int * CTL: SEG_CTL; fun SYNseg(v:SV): SEG = { SEQ=#ISS(v), ACK=0, CTL=(SYN,off)}; TCP segment modelled by a record of sequence number, acknowledgement number, segment type and an ACK flag.

CSEC 10 Oct 2004CPN’04 Workshop19 Modular Organisation CLOSED LISTEN SYN_SENT SYN_RECEIVED ESTABLISHED FIN_WAIT_1 FIN_WAIT_2 CLOSE_WAIT CLOSING LAST_ACK TIME_WAIT CLOSED LISTEN SYN_SENT SYN_RECEIVED ESTABLISHED FIN_WAIT_1 FIN_WAIT_2 CLOSE_WAIT CLOSING LAST_ACK TIME_WAIT Connection Establishment Data Transfer Connection Release Connection Establishment Data Transfer Connection Release How should the specification/model be organised? User Commands Segment Arrivals Internal Timeout User Commands Segment Arrivals Internal Timeout Phase-based approach State-based approach Event Processing approach

CSEC 10 Oct 2004CPN’04 Workshop20 State-based Hierarchy Page

CSEC 10 Oct 2004CPN’04 Workshop21 Combined State/Event Processing Structure The CPN model contains a declarations page and 19 CPN pages. The 19 CPN pages are organised into 4 hierarchical levels: –1 st level: TCP Overview –2 nd level: Event Processing –3 rd level: User Commands Segment Processing Retransmissions –4 th level: Command Pages State Pages

CSEC 10 Oct 2004CPN’04 Workshop22 Level 1 Level 2 Level 3 Level 4 Overview Event Processing User Commands Segment Processing Retransmissions Command Pages State Pages

CSEC 10 Oct 2004CPN’04 Workshop23 Event Processing Page Each substitution transition models the processing of a kind of event

CSEC 10 Oct 2004CPN’04 Workshop24 User Command Processing Each substitution transition models the processing of a kind of command

CSEC 10 Oct 2004CPN’04 Workshop25 Segment Processing Page Each substitution transition models segment processing for a particular state

CSEC 10 Oct 2004CPN’04 Workshop26 Segment Processing Page (Alternative) Each substitution transition models the processing of part of a segment for all states

CSEC 10 Oct 2004CPN’04 Workshop27 Retransmissions Page Retransmission Counter

CSEC 10 Oct 2004CPN’04 Workshop28 Comparison of Approaches PlacesSubstitution Transitions Executable Transitions Length of Declarations Functions State- Based Model lines8 Event- Based Model lines23 Model in this paper lines10

CSEC 10 Oct 2004CPN’04 Workshop29 Modelling Identical Protocol Entities with Page Instances Almost halves number of transitions Reduces the time of –syntax checking –switching from the editor to the simulator –switching to the occurrence graph analyser Saves time and effort in debugging and maintaining the model Instantiating different values of parameters of otherwise identical protocol entities, e.g. –Initial sequence numbers –Initial states –Maximum number of retransmissions BenefitsProblems

CSEC 10 Oct 2004CPN’04 Workshop30 Two Ways of Modelling Initial Sequence Numbers Static Dynamic (CLOSED, {RCV_NXT=0, SND_NXT=0, SND_UNA=0, ISS=ISS_tcp2}, cls) (CLOSED, {RCV_NXT=0, SND_NXT=0, SND_UNA=0, ISS=ISS_tcp2}, cls) (CLOSED, {RCV_NXT=0, SND_NXT=0, SND_UNA=0, ISS=ISS()}, cls) (CLOSED, {RCV_NXT=0, SND_NXT=0, SND_UNA=0, ISS=ISS()}, cls) ISS() is a random number function ISS_tcp2 is a constant

CSEC 10 Oct 2004CPN’04 Workshop31 Conclusions Created a CPN of TCP Connection Management –Attempts to capture TCP’s behaviour as defined in the official TCP specification (RFCs 793 and 1122) –Includes retransmissions for SYN, SYNACK and FIN –Considers lossy (or lossless) re-ordering medium Different modelling approaches are discussed –modular organisation (phase, state, event) –modelling identical protocol entities with different initial parameters (e.g. initial sequence numbers). Future –Precedence and security –Data transfer –Further analysis (including Old duplicates)