3 June 2005 1 Paris Seminar Modelling and Analysis of TCP’s Connection Management Procedures Jonathan Billington and Bing Han Computer Systems Engineering.

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

PROTOCOL VERIFICATION & PROTOCOL VALIDATION. Protocol Verification Communication Protocols should be checked for correctness, robustness and performance,
TCP - Part I Relates to Lab 5. First module on TCP which covers packet format, data transfer, and connection management.
Ensuring the Reliability of Data Delivery © 2004 Cisco Systems, Inc. All rights reserved. Establishing a TCP Connection INTRO v2.0—6-1.
1 CS 4396 Computer Networks Lab Transmission Control Protocol (TCP) Part I.
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.
Chapter 7 – Transport Layer Protocols
TCP/IP Protocol Suite 1 Chapter 13 Upon completion you will be able to: Stream Control Transmission Protocol Be able to name and understand the services.
A CHAT CLIENT-SERVER MODULE IN JAVA BY MAHTAB M HUSSAIN MAYANK MOHAN ISE 582 FALL 2003 PROJECT.
Sweep-line Analysis of DCCP Connection Management Somsak Vanit-Anunchai Jonathan Billington Guy Edward Gallasch 25 th October 2006.
Software Engineering, COMP201 Slide 1 Protocol Engineering Protocol Specification using CFSM model Lecture 30.
CSCE 515: Computer Network Programming Chin-Tser Huang University of South Carolina.
Modeling State-Dependent Objects Using Colored Petri Nets
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.
CSEC 10 Oct 2004CPN’04 Workshop1 Experience using Coloured Petri Nets to Model TCP’s Connection Management Procedures Bing Han and Jonathan Billington.
Toward Formal Modelling and Analysis of SCTP Connection Managment Somsak Vanit-Anunchai School of Telecommunication Engineering Institute of Engineering.
TCP: Software for Reliable Communication. Spring 2002Computer Networks Applications Internet: a Collection of Disparate Networks Different goals: Speed,
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.
 The Open Systems Interconnection model (OSI model) is a product of the Open Systems Interconnection effort at the International Organization for Standardization.
Gursharan Singh Tatla Transport Layer 16-May
TCP/IP suit 4th Edition by Behrouz A Forouzan. 2 Internet Computing (CS-413)
THE OSI MODEL KUDIRAT FAWEHINMI COSC 541.
What Can IP Do? Deliver datagrams to hosts – The IP address in a datagram header identify a host IP treats a computer as an endpoint of communication Best.
Process-to-Process Delivery:
Chapter 16 Stream Control Transmission Protocol (SCTP)
TRANSPORT LAYER T.Najah Al-Subaie Kingdom of Saudi Arabia Prince Norah bint Abdul Rahman University College of Computer Since and Information System NET331.
Cheng/Dillon-Software Engineering: Formal Methods Model Checking.
TCP : Transmission Control Protocol Computer Network System Sirak Kaewjamnong.
University of the Western Cape Chapter 12: The Transport Layer.
TCP1 Transmission Control Protocol (TCP). TCP2 Outline Transmission Control Protocol.
Lecture91 Administrative Things r Return homework # 1 r Review some problems in homework # 1 r Questions about grading? Yona r WebCT for CSE245 is working!
1 TCP: Reliable Transport Service. 2 Transmission Control Protocol (TCP) Major transport protocol used in Internet Heavily used Completely reliable transfer.
Fundamentals of Proxying. Proxy Server Fundamentals  Proxy simply means acting on someone other’s behalf  A Proxy acts on behalf of the client or user.
Chapter 15 – Part 2 Networks The Internal Operating System The Architecture of Computer Hardware and Systems Software: An Information Technology Approach.
Critical Path Analysis of TCP Transactions Authors:Paul Barford (University of Wisconsin-Madison) Mark Crovella (University of Boston) Member, IEEE Source:IEEE/ACM.
Chapter 24 Transport Control Protocol (TCP) Layer 4 protocol Responsible for reliable end-to-end transmission Provides illusion of reliable network to.
1 Client-Server Interaction. 2 Functionality Transport layer and layers below –Basic communication –Reliability Application layer –Abstractions Files.
Silberschatz, Galvin and Gagne  Operating System Concepts UNIT II Operating System Services.
Protocol Specification Prof Pallapa. Venkataram Department of Electrical Communication Engineering Indian Institute of Science Bangalore – , India.
- Manvitha Potluri. Client-Server Communication It can be performed in two ways 1. Client-server communication using TCP 2. Client-server communication.
Department of Electronic Engineering City University of Hong Kong EE3900 Computer Networks Protocols and Architecture Slide 1 Use of Standard Protocols.
Connection Establishment and Termination. Tcpdump tcpdump is a common packet analyzer that runs under the command line. It allows the user to intercept.
AN OVERVIEW Rocky K. C. Chang13 Sept The web 2.
5. The Transport Layer 5.1 Role of Transport Layer It bridge the gab between applications and the network layer. Provides reliable cost-effective data.
The Internet Book. Chapter 16 3 A Packet Switching System Can Be Overrun Packet switching allows multiple computers to communicate without delay. –Requires.
Stream Control Transmission Protocol
Chapter 16 - TCP: Software For Reliable Communication Introduction A Packet Switching System Can Be Overrun (merging highways) TCP Helps IP Guarantee Delivery.
1 Computer Communication & Networks Lecture 23 & 24 Transport Layer: UDP and TCP Waleed Ejaz
McGraw-Hill Chapter 23 Process-to-Process Delivery: UDP, TCP Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
INF3190 – Home Exam 2. Goal The goal of this exercise is to provide network layer reliability for the monitoring/administration tool presented in “home.
Page 1 8/29/2001 Reachability Analysis CFSM: Communicating Finite State Machines C1 C2 +A+A Sender 2 1 -R-R +R+R -A-A Receiver 2 1 CFSM Communicating Finite.
11 CS716 Advanced Computer Networks By Dr. Amir Qayyum.
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
IST 201 Chapter 11 Lecture 2. Ports Used by TCP & UDP Keep track of different types of transmissions crossing the network simultaneously. Combination.
By, Nirnimesh Ghose, Master of Science,
5. End-to-end protocols (part 1)
CS 5565 Network Architecture and Protocols
Transport Layer Unit 5.
Process-to-Process Delivery:
CS 5565 Network Architecture and Protocols
CS4470 Computer Networking Protocols
Chapter 5 TCP Control Flow
Advanced Computer Networks
Computer Networks Topic :User datagram protocol Transmission Control Protocol -Hemashree S( )
Process-to-Process Delivery: UDP, TCP
Transport Layer 9/22/2019.
Presentation transcript:

3 June Paris Seminar Modelling and Analysis of TCP’s Connection Management Procedures Jonathan Billington and Bing Han Computer Systems Engineering Centre University of South Australia

3 June 2005Paris Seminar2 Motivation  Finding design flaws of complex protocols such as TCP is an important and difficult research problem.  Design flaws: – Specification rather than implementation – Including: deadlocks, livelocks, sequence inconsistency, dead code, and so on …  Important problem – TCP provides a reliable data transfer service to many Internet applications. – TCP is used as the basis of new protocols, e.g. DCCP  Difficult problem – TCP is a complex protocol. – The operation of TCP was originally specified in RFC 793 using narrative descriptions, message sequence diagrams, a FSM diagram and pseudo code.

3 June 2005Paris Seminar3 Outline  Research Scope – TCP Connection Management – Desired properties: Termination Absence of deadlocks  Approach – Modelling approach – Analysis approach  Analysis Results

3 June 2005Paris Seminar4 TCP and its Environment Two peer TCP entities communicate over the Internet Protocol (IP) as well as interacting with their application processes.

3 June 2005Paris Seminar5 TCP Segment Format

3 June 2005Paris Seminar6 Normal Connection Establishment

3 June 2005Paris Seminar7 Simultaneous Connection Establishment

3 June 2005Paris Seminar8 Normal Connection Release (Graceful Close)

3 June 2005Paris Seminar9 Simultaneous Connection Release

3 June 2005Paris Seminar10 TCP State Variables  SND_NXT (send next) – Stores the sequence number of the next segment to be sent.  RCV_NXT (receive next) – Stores the sequence number of the next segment to be received.  SND_UNA (send unacknowledged) – Records the sequence number of the earliest segment that has been sent but has yet to be acknowledged.  ISS (initial send sequence number) – The first sequence number sent in a connection.

3 June 2005Paris Seminar11 Our Approach Model TCP Connection Management using CPNs Define desired properties using ML Configure the CPN model Generate the state spaces Automatically check the terminal states using ML

3 June 2005Paris Seminar12 Top Level Page: TCP Overview

3 June 2005Paris Seminar13 Level 1 Level 2 Level 3 Level 4 1. Overview 2. Event Processing 3. User Commands Segment Processing Retransmissions 4. Command Pages State Pages Model Statistics Hierarchical Levels: 4 CPN Pages: 19 Places: 6 Substitution transitions: 19 Executable transitions: 97

3 June 2005Paris Seminar14 Desired Properties (Termination) Successful Abort Successful Abort Successful Release Successful Release Successful Establishment Successful Establishment Proper Establishment Proper Establishment

3 June 2005Paris Seminar15 Desired Terminal State for Establishment Successful Establishment Proper Establishment

3 June 2005Paris Seminar16 Acceptable Terminal State for Establishment

3 June 2005Paris Seminar17 CPN Model Configurations – Some Examples ConfigurationInitial Marking A C_S Opening D C_S Opening & Closing E Sim. Opening & Closing

3 June 2005Paris Seminar18 Analysis Results of Model 1: No Loss, No Retrans  Reordering channel with no loss  No retransmission  Run on a machine with 2.6GHz Pentium CPU and 1GB RAM. ConfigTime|V||A|TMsDLs ABCDEFGHIJKABCDEFGHIJK

3 June 2005Paris Seminar19 Initial Marking 1 User_1: 1`A_Open++1`Close User_2: 1`P_Open++1`Close H1_H2: empty H2_H1: empty TCB 1: 1`{CLOSED,{RCV_NXT=0,SND_NXT=0,SND_UNA=0,ISS=10},cls} TCB 2: 1`{CLOSED,{RCV_NXT=0,SND_NXT=0,SND_UNA=0,ISS=20},cls }

3 June 2005Paris Seminar20 Dead Marking 95 User_1: empty User_2: empty H1_H2: empty H2_H1: empty TCB 1: 1`{FIN_W2,{RCV_NXT=21,SND_NXT=12,SND_UNA=12,ISS=10},cls} TCB 2: 1`{CLOSING,{RCV_NXT=12,SND_NXT=22,SND_UNA=21,ISS=20},lis }

3 June 2005Paris Seminar21 A Reachability Graph Path to the Deadlock of Config.D

3 June 2005Paris Seminar22 Connection Release Fails

3 June 2005Paris Seminar23 Analysis Results of Model 2 (Configuration D) Config Dhh:mm:ss|V||A|TMsDLs (0,0,0,1) (0,1,0,0) (1,0,0,0) (0,1,0,1) (0,0,1,0) (1,1,0,0) (1,0,0,1) (0,0,1,1) (0,1,1,0) (1,1,0,1) (1,0,1,0) (0,1,1,1) (1,0,1,1) 00:00:01 00:00:02 00:00:11 00:00:15 00:00:16 00:00:28 00:04:26 00:05:07 00:07:16 00:14:34 00:48:  Reordering channel with no loss  Retransmissions  Run on a machine with 2.6GHz Pentium CPU and 1GB RAM.

3 June 2005Paris Seminar24 Analysis Results of Model 2 (Configuration E) Config Ehh:mm:ss|V||A|TMsDLs (0,0,0,1) (0,1,0,0) (1,0,0,0) (0,0,1,0) (0,1,0,1) 00:00:48 00:06:26 00:22:50 00:25:25 09:10:

3 June 2005Paris Seminar25 Conclusions  Over a reordering channel without loss, TCP terminates correctly in the following scenarios: – Client-server connection establishment – Simultaneous connection establishment – Orderly release after the connection is established – Aborting of connections  However, TCP can deadlock when the user releases the connection before it is established, i.e., while the TCP entity is in SYN_RCVD.  Retransmissions of the FIN in state FIN_WAIT_1 or CLOSING removes these deadlocks.

3 June 2005Paris Seminar26 Configuration: 1`A_Open++1`Close and 1`P_Open Nodes: 28 Arcs: 37 DMs: 4

3 June 2005Paris Seminar27 Configuration: 1`A_Open and 1`P_Open++1`Close Nodes: 25 Arcs: 33 DMs: 3