1 Reliability & Flow Control Some slides are from lectures by Nick Mckeown, Ion Stoica, Frans Kaashoek, Hari Balakrishnan, and Sam Madden Prof. Dina Katabi.

Slides:



Advertisements
Similar presentations
Primitives for Achieving Reliability 3035/GZ01 Networked Systems Kyle Jamieson Department of Computer Science University College London.
Advertisements

Cs/ee 143 Communication Networks Chapter 6 Internetworking Text: Walrand & Parekh, 2010 Steven Low CMS, EE, Caltech.
Computer Networks Transport Layer. Topics F Introduction (6.1)  F Connection Issues ( ) F TCP (6.4)
Fundamentals of Computer Networks ECE 478/578 Lecture #20: Transmission Control Protocol Instructor: Loukas Lazos Dept of Electrical and Computer Engineering.
1 CS492B Project #2 TCP Tutorial # Jin Hyun Ju.
Winter 2008CS244a Handout #61 CS244a: An Introduction to Computer Networks Handout 6: The Transport Layer, Transmission Control Protocol (TCP), and User.
TCP Congestion Control Dina Katabi & Sam Madden nms.csail.mit.edu/~dina 6.033, Spring 2014.
1 Link Layer & Network Layer Some slides are from lectures by Nick Mckeown, Ion Stoica, Frans Kaashoek, Hari Balakrishnan, and Sam Madden Prof. Dina Katabi.
Transport Layer 3-1 Transport Layer r To learn about transport layer protocols in the Internet: m TCP: connection-oriented protocol m Reliability protocol.
L10: Protocols and Layering Dina Katabi Spring Some slides are from lectures by Nick Mckeown, Ion Stoica, Frans Kaashoek,
1 An Introduction to Computer Networks Some slides are from lectures by Nick Mckeown, Ion Stoica, Frans Kaashoek, Hari Balakrishnan, and Sam Madden Prof.
Computer Networks Transport Layer. Topics F Introduction  F Connection Issues F TCP.
1 Link Layer & Network Layer Some slides are from lectures by Nick Mckeown, Ion Stoica, Frans Kaashoek, Hari Balakrishnan, and Sam Madden Prof. Dina Katabi.
CS335 Networking & Network Administration Tuesday, April 20, 2010.
L13: Sharing in network systems Dina Katabi Spring Some slides are from lectures by Nick Mckeown, Ion Stoica, Frans.
1 K. Salah Module 6.1: TCP Flow and Congestion Control Connection establishment & Termination Flow Control Congestion Control QoS.
TCP. Learning objectives Reliable Transport in TCP TCP flow and Congestion Control.
Lect-1: IntroductionComputer Networks : An Introduction to Computer Networks Handout #1: Introduction Additional Reading Text book: Chaps.
5/12/05CS118/Spring051 A Day in the Life of an HTTP Query 1.HTTP Brower application Socket interface 3.TCP 4.IP 5.Ethernet 2.DNS query 6.IP router 7.Running.
3-1 Transport services and protocols r provide logical communication between app processes running on different hosts r transport protocols run in end.
Transport Layer TCP and UDP IS250 Spring 2010
Lect3..ppt - 09/12/04 CIS 4100 Systems Performance and Evaluation Lecture 3 by Zornitza Genova Prodanoff.
1 Transport Layer Computer Networks. 2 Where are we?
CIS 725 Wireless networks. Low bandwidth High error rates.
Network Technologies (TCP/IP Suite) Tahir Azim
Wireless TCP Prasun Dewan Department of Computer Science University of North Carolina
SMUCSE 4344 transport layer. SMUCSE 4344 transport layer end-to-end protocols –transport code runs only on endpoint hosts encapsulates network communications.
Fundamentals of Computer Networks ECE 478/578 Lecture #19: Transport Layer Instructor: Loukas Lazos Dept of Electrical and Computer Engineering University.
TCP1 Transmission Control Protocol (TCP). TCP2 Outline Transmission Control Protocol.
L11: Link and Network layer Dina Katabi Spring Some slides are from lectures by Nick Mckeown, Ion Stoica, Frans Kaashoek,
The Transmission Control Protocol (TCP) Application Services (Telnet, FTP, , WWW) Reliable Stream Transport (TCP) Connectionless Packet Delivery.
Transport Layer Moving Segments. Transport Layer Protocols Provide a logical communication link between processes running on different hosts as if directly.
1 Introduction to Transmission Data Sirak Kaewjamnong.
1 Mao W07 Midterm Review EECS 489 Computer Networks Z. Morley Mao Monday Feb 19, 2007 Acknowledgement: Some.
COP 5611 Operating Systems Spring 2010 Dan C. Marinescu Office: HEC 439 B Office hours: M-Wd 2:00-3:00 PM.
Networking Fundamentals. Basics Network – collection of nodes and links that cooperate for communication Nodes – computer systems –Internal (routers,
CSCI 465 D ata Communications and Networks Lecture 27 Martin van Bommel CSCI 465 Data Communications & Networks 1.
81 Sidevõrgud IRT 0020 loeng okt Avo Ots telekommunikatsiooni õppetool, TTÜ raadio- ja sidetehnika inst.
Ασύρματες και Κινητές Επικοινωνίες Ενότητα # 11: Mobile Transport Layer Διδάσκων: Βασίλειος Σύρης Τμήμα: Πληροφορικής.
ECE 4110 – Internetwork Programming
Transport Protocols.
TCP continued. Discussion – TCP Throughput TCP will most likely generate the saw tooth type of traffic. – A rough estimate is that the congestion window.
Transport Layer: Sliding Window Reliability
Networks, Part 2 March 7, Networks End to End Layer  Build upon unreliable Network Layer  As needed, compensate for latency, ordering, data.
1 Advanced Transport Protocol Design Nguyen Multimedia Communications Laboratory March 23, 2005.
1 End-to-End Protocols User Datagram Protocol (UDP) Transmission Control Protocol(TCP)
© Janice Regan, CMPT 128, CMPT 371 Data Communications and Networking Principles of reliable data transfer 0.
L11: Protocols and Network layer Frans Kaashoek Spring Some slides are from lectures by Nick Mckeown, Ion Stoica,Dina.
IP1 The Underlying Technologies. What is inside the Internet? Or What are the key underlying technologies that make it work so successfully? –Packet Switching.
A Transport Layer Approach for Improving End-to-End Performance and Robustness Using Redundant Paths Min Zhang, Junwen Lai, Arvind Krishnamurthy, Larry.
L9: Intro Network Systems Dina Katabi Spring Some slides are from lectures by Nick Mckeown, Ion Stoica, Frans Kaashoek,
McGraw-Hill Chapter 23 Process-to-Process Delivery: UDP, TCP Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
TCP/IP1 Address Resolution Protocol Internet uses IP address to recognize a computer. But IP address needs to be translated to physical address (NIC).
Lecture Topics: 11/29 IP UDP TCP DNS. Homework 9 Write a simple web server –not as hard as it sounds Specification out tonight Skeleton code out by tomorrow.
11 CS716 Advanced Computer Networks By Dr. Amir Qayyum.
1 TCP ProtocolsLayer name DNSApplication TCP, UDPTransport IPInternet (Network ) WiFi, Ethernet Link (Physical)
Computer Networking Lecture 16 – Reliable Transport.
Ch 3. Transport Layer Myungchul Kim
1 Flow & Congestion Control Some slides are from lectures by Nick Mckeown, Ion Stoica, Frans Kaashoek, Hari Balakrishnan, and Sam Madden Prof. Dina Katabi.
TCP over Wireless PROF. MICHAEL TSAI 2016/6/3. TCP Congestion Control (TCP Tahoe) Only ACK correctly received packets Congestion Window Size: Maximum.
Distributed Systems 11. Transport Layer
COP 5611 Operating Systems Spring 2010
Reliable Transport I: Concepts
Computer Networks Bhushan Trivedi, Director, MCA Programme, at the GLS Institute of Computer Technology, Ahmadabad.
Introduction of Transport Protocols
Advanced Computer Networks
Distributed Systems CS
Computer Networks Protocols
Review of Internet Protocols Transport Layer
Distributed Systems CS
Presentation transcript:

1 Reliability & Flow Control Some slides are from lectures by Nick Mckeown, Ion Stoica, Frans Kaashoek, Hari Balakrishnan, and Sam Madden Prof. Dina Katabi Read 7.E

2 Previous Lecture  How the link layer delivers data over a link  How the network layer performs routing and forwarding  Hierarchical Routing and Addressing

3 Hierarchical Routing  Internet: collection of domains/networks  Inside a domain: Route over a graph of routers  Between domains: Route over a graph of domains  Address: concatenation of “Domain Id”, “Node Id” domain-1 domain-2 domain-3 Interior router Border router

4 Hierarchical Routing Advantage  scalable  Smaller tables  Smaller messages  Delegation  Each domain can run its own routing protocol Disadvantage  Mobility is difficult  Address depends on geographic location  Sup-optimal paths  E.g., in the figure, the shortest path between the two machines should traverse the yellow domain. But hierarchical routing goes directly between the green and blue domains, then finds the local destination  path traverses more routers.

5 This Lecture  Transport Layer  Reliable data transmission  Flow Control  Multiplexing

6 Review of the Transport Layer DinaNick Athena.MIT.edu Leland.Stanford.edu Network Layer Link Layer Application Layer Transport Layer O.S. HD HD HD HDHD HD HeaderDataHeaderData

7 Layering Network Link Transport The 4-layer Internet model Application HTTP, FTP IP TCP Ethernet End-to-End Layer

8  Network layer provides best-effort service  Loss, delay, jitter, duplicates, reordering, …  Not convenient for applications  Transport layer builds on the best effort service to provide applications with a convenient environment  Reliability: at least once at most once  Performance: flow and congestion control  Ordering  Data integrity (checksum)  Timeliness (remove jitter)  Also transport provides multiplexing between multiple applications Transport Layer

9 This Lecture  Transport Layer  Reliable data transmission  Flow Control  Multiplexing

10 At Least Once  Sender persistently sends until it receives an ack  How long should the timeout be?  Fixed is bad. RTT changes depending on congestion Pick a values that’s too big and it will wait too long to retransmit a packet, Pick a value too small, and it will unnecessarily retransmit packets.  Adapt the estimate of RTT  adaptive timeout Timeout and Retransmission an RTT Host AHost B Data 1 Data 2 ACK Host AHost B Data 1 X

11 RTT Measurements (collected by Caida)

12 Adaptive Timeout  Samples S 1, S 2, S 3,..  Algorithm  EstimatedRTT = T 0  EstimatedRTT = α S + (1- α ) EstimatedRTT  where 0 ≤ α ≤ 1  What values should one pick for α and T 0 ?  Adaptive timeout is also hard

13 Different Approach: NACK  Minimize reliance on timer  Add sequence numbers to packets  Send a Nack when the receiver finds a hole in the sequence numbers  Difficulties  Reordering  Cannot eliminate acks, because we need to ack the last packet Host AHost B D1 D2 D3 D1 D3 X D2 D4 Nack-2

14 At Most Once  Suppress duplicates  Packets must have ids to allow the receiver to distinguish a duplicate from a new packet  Receiver should keep track of which packet ids have been delivered to applications  To simplify tracking, senders pick monotonically increasing packet ids, i.e., sequence numbers  Receiver delivers packets to application in order. It keeps track of the largest id delivered so far

15 This Lecture  Transport Layer  Reliable data transmission  Flow Control  Multiplexing

16 How fast should the sender sends?  Waiting for acks is too slow  Throughput is one packet/RTT  Say packet is 500B  RTT 100ms   Throughput = 40Kb/s, Awful!  Overlap pkt transmission Host AHost B Data 1 Data 2 ACK

17 Send a window of packets  Assume the receiver is the bottleneck  Maybe because the receiver is a slow machine  Receiver needs to tell the sender when and how much it can send  The window advances once all previous packets are acked  too slow Host AHost B Send? OK, 3 pkts Idle

18 Sliding Window  Senders advances the window whenever it receives an ack  sliding window  But what is the right value for the window? Host AHost B Send? OK, 3 pkts Idle

19 The Right Window Size  Note that  if W/RTT < Bottleneck Capacity  under utilization  If W/RTT > Bottleneck Capacity  Large queues

20 This Lecture  Transport Layer  Reliable data transmission  Flow Control  Multiplexing

21 Multiplexing by Transport App A1A1 A2A2 B1B1 B2B2 TCP Transport Layer Multiple applications run on the same machine but use different ports Network Layer P1DP2D P1D H DP2D D H D H P1D H Application Layer