Training Workbook Template
Total Page:16
File Type:pdf, Size:1020Kb
Setting up and Operating a PERT Technical Session 1
Training Workbook Technical Session 1 Technical Session 1 Training Workbook
Issue 1.0
© DANTE 2007
All trademarks are acknowledged.
Every effort has been made to ensure that the information contained in this document is true and correct at the time of going to press. However, the networks, systems, products, processes, specifications and content in general described in this document are subject to continuous development and DANTE is entitled to change them at any time and to expand on them. DANTE cannot accept liability for any loss or damage of any nature whatsoever arising or resulting from the use of or reliance on information or particulars in this document.
All names and other data used in examples are fictitious.
The information contained in this document is of a general nature. Should you require further advice for your particular business requirements, please refer to the contact details below.
No part of this document may be reproduced by any means, other than with the express written permission of the copyright holder.
DANTE refers to Delivery of Advanced Network Technology to Europe Limited or any of its wholly owned subsidiaries. Table of Contents
Table of Contents...... 3 Table of Slides...... 4 Introduction...... 6 Aim of the Workbook...... 7 Course Objectives...... 8 Course Outline...... 9 Module 6 – Network Performance and User Expectations...... 10 Module 7 – Bulk Transfers Under TCP...... 34 Case Study: Finding out how to Tune Your Laptop’s TCP Stack...... 46 Case Study: Explore Performance Over two Contrasting Paths...... 75
© DANTE 2007 Page 3 of 77 Table of Slides What Factors Shape User Expectations?...... 11 Users’ Perception of Performance...... 12 The ‘Wizard Gap’...... 13 What Factors Really Shape Performance?...... 14 One-Way Delay (1)...... 15 One-Way Delay (2)...... 16 One-Way Delay (3)...... 17 Improving Delay...... 18 Round Trip Time (1)...... 19 Round Trip Time (2)...... 20 Round Trip Time (3)...... 21 Delay Variation: An Example...... 22 Delay Variation: Definition and Implications...... 23 Packet Reordering (1)...... 24 Packet Reordering (2)...... 25 Packet Loss (1)...... 26 Packet Loss (2)...... 27 Packet Loss (3)...... 28 Packet Loss (4)...... 29 Packet Loss (5)...... 30 Maximum Transmission Unit (1)...... 31 Maximum Transmission Unit (2)...... 32 Maximum Transmission Unit (3)...... 33 Overview of Bulk Transfers...... 35 Window-Based Transmission...... 36 How Does Window-Based Transmission Work?...... 37 The Sliding Window...... 38 Window Size and Throughput...... 39 Links, Paths and Pipes...... 40 Window Size Calculation...... 41 How is the Window Size Determined?...... 42 Window Size and Performance...... 43 Tuning Your Host for Maximum Transmission Rates (1)...... 44
Page 4 of 77 © DANTE 2007 Tuning Your Host for Maximum Transmission Rates (2)...... 45 The Goals of Early TCP (1)...... 47 The Goals of Early TCP (2)...... 48 ‘Congestion Collapse’ in the Late 1980s...... 49 Why did Congestion Collapse Occur?...... 50 Why did Congestion Collapse Occur? (2)...... 51 Introduction of Congestion Controls...... 52 Avoiding Congestion: the Congestion Window...... 53 Slow Start...... 54 Congestion Collapse Fixed...... 55 Digression: Self-Clocking...... 56 Congestion Avoidance and the Slow Start Threshold...... 57 Slow start, the Slow Start Threshold and Congestion Avoidance: an Example...58 Dealing with Congestion: Principles...... 59 TCP’s Response to Congestion...... 60 Fast Retransmit and Fast Recovery...... 61 The Window Closes Aggressively in Response to Retransmission Timeout...... 62 The Window Closes Less in Response to Duplicate ACKs...... 63 Problems with TCP Congestion Control...... 64 Trouble With the Elephants (1)...... 65 Trouble With the Elephants (2)...... 66 High-Speed TCP Variants...... 67 Explicit Congestion Control Protocols (1)...... 68 Explicit Congestion Control Protocols (2)...... 69 Implicit Congestion Control Protocols (1)...... 70 Implicit Congestion Control Protocols (2)...... 71 Network Tuning for Better Congestion Control (1)...... 72 Network Tuning for Better Congestion Control (2)...... 73 Network Tuning for Better Congestion Control (3)...... 74
© DANTE 2007 Page 5 of 77 Technical Session 1: Training Workbook Module 7 – Bulk Transfers Under TCP
Introduction
Page 6 of 77 © DANTE 2007 Technical Session 1: Training Workbook Module 7 – Bulk Transfers Under TCP
Aim of the Workbook
This workbook is designed for use in conjunction with the Technical Session 1 workshop.
The course is structured so that the facilitator presents functionality using slides. Where relevant and possible, the participants then have the opportunity to complete exercises to consolidate their learning. A training environment has been set up with training data provided, allowing participants to practice in a safe environment.
The aim of the workbook is to be a working document, reinforcing the information presented by the facilitator. Each delegate will have a copy of this workbook, which can be taken away and can be referred to at a later date. It is not designed to provide a detailed explanation of all aspects of a technology or application.
For further information about GÉANT2 training courses, mail [email protected].
© DANTE 2007 Page 7 of 77 Technical Session 1: Training Workbook Module 7 – Bulk Transfers Under TCP
Course Objectives
By the end of this course, you will be able to:
Describe the rationale for and the structure and ethos of a federated PERT.
Set up local PERTs within a federated PERT structure.
Describe the methodologies used to investigate performance issues.
Use a variety of tools to investigate performance issues.
You will also have the opportunity to provide feedback about the evolution of the PERT and its systems.
Page 8 of 77 © DANTE 2007 Technical Session 1: Training Workbook Module 7 – Bulk Transfers Under TCP
Course Outline
First Technical Session
Module 6 – Network Performance and User Expectations
Module 7 – Bulk Transfers Under TCP
© DANTE 2007 Page 9 of 77 Technical Session 1: Training Workbook Module 7 – Bulk Transfers Under TCP
Module 6 – Network Performance and User Expectations
Page 10 of 77 © DANTE 2007 Technical Session 1: Training Workbook Module 7 – Bulk Transfers Under TCP
What Factors Shape User Expectations?
Notes:
© DANTE 2007 Page 11 of 77 Technical Session 1: Training Workbook Module 7 – Bulk Transfers Under TCP
Users’ Perception of Performance
Notes:
Page 12 of 77 © DANTE 2007 Technical Session 1: Training Workbook Module 7 – Bulk Transfers Under TCP
The ‘Wizard Gap’
Notes:
© DANTE 2007 Page 13 of 77 Technical Session 1: Training Workbook Module 7 – Bulk Transfers Under TCP
What Factors Really Shape Performance?
Notes:
Page 14 of 77 © DANTE 2007 Technical Session 1: Training Workbook Module 7 – Bulk Transfers Under TCP
One-Way Delay (1)
Notes:
© DANTE 2007 Page 15 of 77 Technical Session 1: Training Workbook Module 7 – Bulk Transfers Under TCP
One-Way Delay (2)
Notes:
Page 16 of 77 © DANTE 2007 Technical Session 1: Training Workbook Module 7 – Bulk Transfers Under TCP
One-Way Delay (3)
Notes:
© DANTE 2007 Page 17 of 77 Technical Session 1: Training Workbook Module 7 – Bulk Transfers Under TCP
Improving Delay
Notes:
Page 18 of 77 © DANTE 2007 Technical Session 1: Training Workbook Module 7 – Bulk Transfers Under TCP
Round Trip Time (1)
Notes:
© DANTE 2007 Page 19 of 77 Technical Session 1: Training Workbook Module 7 – Bulk Transfers Under TCP
Round Trip Time (2)
Notes:
Page 20 of 77 © DANTE 2007 Technical Session 1: Training Workbook Module 7 – Bulk Transfers Under TCP
Round Trip Time (3)
Notes:
© DANTE 2007 Page 21 of 77 Technical Session 1: Training Workbook Module 7 – Bulk Transfers Under TCP
Delay Variation: An Example
Notes:
Page 22 of 77 © DANTE 2007 Technical Session 1: Training Workbook Module 7 – Bulk Transfers Under TCP
Delay Variation: Definition and Implications
Notes:
© DANTE 2007 Page 23 of 77 Technical Session 1: Training Workbook Module 7 – Bulk Transfers Under TCP
Packet Reordering (1)
Notes:
Page 24 of 77 © DANTE 2007 Technical Session 1: Training Workbook Module 7 – Bulk Transfers Under TCP
Packet Reordering (2)
Notes:
© DANTE 2007 Page 25 of 77 Technical Session 1: Training Workbook Module 7 – Bulk Transfers Under TCP
Packet Loss (1)
Notes:
Page 26 of 77 © DANTE 2007 Technical Session 1: Training Workbook Module 7 – Bulk Transfers Under TCP
Packet Loss (2)
Notes:
© DANTE 2007 Page 27 of 77 Technical Session 1: Training Workbook Module 7 – Bulk Transfers Under TCP
Packet Loss (3)
Notes:
Page 28 of 77 © DANTE 2007 Technical Session 1: Training Workbook Module 7 – Bulk Transfers Under TCP
Packet Loss (4)
Notes:
© DANTE 2007 Page 29 of 77 Technical Session 1: Training Workbook Module 7 – Bulk Transfers Under TCP
Packet Loss (5)
Notes:
Page 30 of 77 © DANTE 2007 Technical Session 1: Training Workbook Module 7 – Bulk Transfers Under TCP
Maximum Transmission Unit (1)
Notes:
© DANTE 2007 Page 31 of 77 Technical Session 1: Training Workbook Module 7 – Bulk Transfers Under TCP
Maximum Transmission Unit (2)
Notes:
Page 32 of 77 © DANTE 2007 Technical Session 1: Training Workbook Module 7 – Bulk Transfers Under TCP
Maximum Transmission Unit (3)
Notes:
© DANTE 2007 Page 33 of 77 Technical Session 1: Training Workbook Module 7 – Bulk Transfers Under TCP
Module 7 – Bulk Transfers Under TCP
Page 34 of 77 © DANTE 2007 Technical Session 1: Training Workbook Module 7 – Bulk Transfers Under TCP
Overview of Bulk Transfers
Notes:
© DANTE 2007 Page 35 of 77 Technical Session 1: Training Workbook Module 7 – Bulk Transfers Under TCP
Window-Based Transmission
Notes:
Page 36 of 77 © DANTE 2007 Technical Session 1: Training Workbook Module 7 – Bulk Transfers Under TCP
How Does Window-Based Transmission Work?
Notes:
© DANTE 2007 Page 37 of 77 Technical Session 1: Training Workbook Module 7 – Bulk Transfers Under TCP
The Sliding Window
Notes:
Page 38 of 77 © DANTE 2007 Technical Session 1: Training Workbook Module 7 – Bulk Transfers Under TCP
Window Size and Throughput
Notes:
© DANTE 2007 Page 39 of 77 Technical Session 1: Training Workbook Module 7 – Bulk Transfers Under TCP
Links, Paths and Pipes
Notes:
Page 40 of 77 © DANTE 2007 Technical Session 1: Training Workbook Module 7 – Bulk Transfers Under TCP
Window Size Calculation
Notes:
© DANTE 2007 Page 41 of 77 Technical Session 1: Training Workbook Module 7 – Bulk Transfers Under TCP
How is the Window Size Determined?
Notes:
Page 42 of 77 © DANTE 2007 Technical Session 1: Training Workbook Module 7 – Bulk Transfers Under TCP
Window Size and Performance
Notes:
© DANTE 2007 Page 43 of 77 Technical Session 1: Training Workbook Module 7 – Bulk Transfers Under TCP
Tuning Your Host for Maximum Transmission Rates (1)
Notes:
Page 44 of 77 © DANTE 2007 Technical Session 1: Training Workbook Module 7 – Bulk Transfers Under TCP
Tuning Your Host for Maximum Transmission Rates (2)
Notes:
© DANTE 2007 Page 45 of 77 Technical Session 1: Training Workbook Module 7 – Bulk Transfers Under TCP
Case Study: Finding out how to Tune Your Laptop’s TCP Stack
Firstly, check your computer’s current configuration.
Examine the information in the PERT Knowledge Base (PERT KB) about your operating system. (see http://kb.pert.geant2.net/PERTKB/EndSystemTuning). Using this information, find out how much throughput you can expect on a path with 100ms RTT in the best case (transmit and receive).
How would you tune your laptop to sustain 100Mbps at 120ms RTT (send and receive)?
Page 46 of 77 © DANTE 2007 Technical Session 1: Training Workbook Module 7 – Bulk Transfers Under TCP
The Goals of Early TCP (1)
Notes:
© DANTE 2007 Page 47 of 77 Technical Session 1: Training Workbook Module 7 – Bulk Transfers Under TCP
The Goals of Early TCP (2)
Notes:
Page 48 of 77 © DANTE 2007 Technical Session 1: Training Workbook Module 7 – Bulk Transfers Under TCP
‘Congestion Collapse’ in the Late 1980s
Notes:
© DANTE 2007 Page 49 of 77 Technical Session 1: Training Workbook Module 7 – Bulk Transfers Under TCP
Why did Congestion Collapse Occur?
Notes:
Page 50 of 77 © DANTE 2007 Technical Session 1: Training Workbook Module 7 – Bulk Transfers Under TCP
Why did Congestion Collapse Occur? (2)
Notes:
© DANTE 2007 Page 51 of 77 Technical Session 1: Training Workbook Module 7 – Bulk Transfers Under TCP
Introduction of Congestion Controls
Notes:
Page 52 of 77 © DANTE 2007 Technical Session 1: Training Workbook Module 7 – Bulk Transfers Under TCP
Avoiding Congestion: the Congestion Window
Notes:
© DANTE 2007 Page 53 of 77 Technical Session 1: Training Workbook Module 7 – Bulk Transfers Under TCP
Slow Start
Notes:
Page 54 of 77 © DANTE 2007 Technical Session 1: Training Workbook Module 7 – Bulk Transfers Under TCP
Congestion Collapse Fixed
Notes:
© DANTE 2007 Page 55 of 77 Technical Session 1: Training Workbook Module 7 – Bulk Transfers Under TCP
Digression: Self-Clocking
Notes:
Page 56 of 77 © DANTE 2007 Technical Session 1: Training Workbook Module 7 – Bulk Transfers Under TCP
Congestion Avoidance and the Slow Start Threshold
Notes:
© DANTE 2007 Page 57 of 77 Technical Session 1: Training Workbook Module 7 – Bulk Transfers Under TCP
Slow start, the Slow Start Threshold and Congestion Avoidance: an Example
Notes:
Page 58 of 77 © DANTE 2007 Technical Session 1: Training Workbook Module 7 – Bulk Transfers Under TCP
Dealing with Congestion: Principles
Notes:
© DANTE 2007 Page 59 of 77 Technical Session 1: Training Workbook Module 7 – Bulk Transfers Under TCP
TCP’s Response to Congestion
Notes:
Page 60 of 77 © DANTE 2007 Technical Session 1: Training Workbook Module 7 – Bulk Transfers Under TCP
Fast Retransmit and Fast Recovery
Notes:
© DANTE 2007 Page 61 of 77 Technical Session 1: Training Workbook Module 7 – Bulk Transfers Under TCP
The Window Closes Aggressively in Response to Retransmission Timeout
Notes:
Page 62 of 77 © DANTE 2007 Technical Session 1: Training Workbook Module 7 – Bulk Transfers Under TCP
The Window Closes Less in Response to Duplicate ACKs
Notes:
© DANTE 2007 Page 63 of 77 Technical Session 1: Training Workbook Module 7 – Bulk Transfers Under TCP
Problems with TCP Congestion Control
Notes:
Page 64 of 77 © DANTE 2007 Technical Session 1: Training Workbook Module 7 – Bulk Transfers Under TCP
Trouble With the Elephants (1)
Notes:
© DANTE 2007 Page 65 of 77 Technical Session 1: Training Workbook Module 7 – Bulk Transfers Under TCP
Trouble With the Elephants (2)
Notes:
Page 66 of 77 © DANTE 2007 Technical Session 1: Training Workbook Module 7 – Bulk Transfers Under TCP
High-Speed TCP Variants
Notes:
© DANTE 2007 Page 67 of 77 Technical Session 1: Training Workbook Module 7 – Bulk Transfers Under TCP
Explicit Congestion Control Protocols (1)
Notes:
Page 68 of 77 © DANTE 2007 Technical Session 1: Training Workbook Module 7 – Bulk Transfers Under TCP
Explicit Congestion Control Protocols (2)
Notes:
© DANTE 2007 Page 69 of 77 Technical Session 1: Training Workbook Module 7 – Bulk Transfers Under TCP
Implicit Congestion Control Protocols (1)
Notes:
Page 70 of 77 © DANTE 2007 Technical Session 1: Training Workbook Module 7 – Bulk Transfers Under TCP
Implicit Congestion Control Protocols (2)
Notes:
© DANTE 2007 Page 71 of 77 Technical Session 1: Training Workbook Module 7 – Bulk Transfers Under TCP
Network Tuning for Better Congestion Control (1)
Notes:
Page 72 of 77 © DANTE 2007 Technical Session 1: Training Workbook Module 7 – Bulk Transfers Under TCP
Network Tuning for Better Congestion Control (2)
Notes:
© DANTE 2007 Page 73 of 77 Technical Session 1: Training Workbook Module 7 – Bulk Transfers Under TCP
Network Tuning for Better Congestion Control (3)
Notes:
Page 74 of 77 © DANTE 2007 Technical Session 1: Training Workbook Module 7 – Bulk Transfers Under TCP
Case Study: Explore Performance Over two Contrasting Paths
1a) Assume a path with constant RTT and constant packet loss rate p << 1 with periodic loss, i.e. every sequence of 1/p packets of size MSS is followed by one lost packet. Calculate the average throughput during congestion avoidance if the receiver acknowledges every packet.
Hint: the congestion window oscillates between the maximum value W and W/2 in a "sawtooth" pattern with period W/2 RTT. The throughput is given by T = data per cycle/time of cycle and can be expressed as a function of p, RTT and MSS.
Solution: T = MSS/RTT * sqrt(3/(2*p))
1b) Compare the result to that of a window-limited transfer T = window/RTT
2) Give an intuitive explanation why a short path can tolerate much higher loss rates than a long path.
© DANTE 2007 Page 75 of 77 Technical Session 1: Training Workbook Module 7 – Bulk Transfers Under TCP
Page 76 of 77 © DANTE 2007 DANTE Limited Tel: +44 (0) 1223 371300 City House Fax: +44 (0) 1223 371371 126 – 130 Hills Road Web: www.DANTE.net Cambridge CB2 1PQ UK