1 #6 in Mid-Term  Most answered:  many users thru the same bottleneck -> increased queueing delay -> increased e2e latency  Possible reasons behind.

Slides:



Advertisements
Similar presentations
CSCI-1680 Transport Layer II Based partly on lecture notes by David Mazières, Phil Levis, John Jannotti Rodrigo Fonseca.
Advertisements

1 Computer Networks: A Systems Approach, 5e Larry L. Peterson and Bruce S. Davie Chapter 5 End-to-End Protocols Copyright © 2010, Elsevier Inc. All rights.
Congestion Control Reasons: - too many packets in the network and not enough buffer space S = rate at which packets are generated R = rate at which receivers.
Slide Set 13: TCP. In this set.... TCP Connection Termination TCP State Transition Diagram Flow Control How does TCP control its sliding window ?
CS 6401 Transport Control Protocol Outline TCP objectives revisited TCP basics New algorithms for RTO calculation.
Computer Networks Chapter 5: End-to-End Protocols
1 Chapter 5 End-to-End Protocols Outline 5.1 UDP 5.2 TCP 5.3 Remote Procedure Call.
1 TCP Congestion Control. 2 TCP Segment Structure source port # dest port # 32 bits application data (variable length) sequence number acknowledgement.
8. Transport Protocol and UDP 8.1 Transport protocol : End-to-end protocol –IP: Host to host packet delivery –Transport: Process to process communication.
1 Reliable Byte-Stream (TCP) Outline Connection Establishment/Termination Sliding Window Revisited Flow Control Adaptive Timeout.
6-May-154/598N: Computer Networks End-to-End Protocols Underlying best-effort network –drop messages –re-orders messages –delivers duplicate copies of.
CSE Computer Networks Prof. Aaron Striegel Department of Computer Science & Engineering University of Notre Dame Lecture 14 – February 23, 2010.
ECE 4450:427/527 - Computer Networks Spring 2015
 TCP connection set up  TCP connection tear-down  Sliding window revisited  Triggering transmission.
Fundamentals of Computer Networks ECE 478/578 Lecture #21: TCP Window Mechanism Instructor: Loukas Lazos Dept of Electrical and Computer Engineering University.
School of Information Technologies TCP Congestion Control NETS3303/3603 Week 9.
Introduction to Congestion Control
Computer Networks: TCP Congestion Control 1 TCP Congestion Control Lecture material taken from “Computer Networks A Systems Approach”, Third Ed.,Peterson.
Congestion Control and Resource Allocation
Spring 2002CS 4611 Congestion Control Outline Queuing Discipline Reacting to Congestion Avoiding Congestion.
Spring 2003CS 4611 Congestion Control Outline Queuing Discipline Reacting to Congestion Avoiding Congestion.
ACN: Congestion Control1 Congestion Control and Resource Allocation.
Spring 2003CS 4611 Reliable Byte-Stream (TCP) Outline Connection Establishment/Termination Sliding Window Revisited Flow Control Adaptive Timeout.
Advanced Computer Networks: TCP Congestion Control 1 TCP Congestion Control Lecture material taken from “Computer Networks A Systems Approach”, Fourth.
TCP. Learning objectives Reliable Transport in TCP TCP flow and Congestion Control.
Spring 2002CS 4611 Reliable Byte-Stream (TCP) Outline Connection Establishment/Termination Sliding Window Revisited Flow Control Adaptive Timeout.
CONGESTION CONTROL and RESOURCE ALLOCATION. Definition Resource Allocation : Process by which network elements try to meet the competing demands that.
TCP Transport Control Protocol Information management 2 Groep T Leuven – Information department 2/35 Introduction UDP provides the connection.
1 Internet Engineering University of ilam Dr. Mozafar Bag-Mohammadi Transport Layer.
Link Scheduling & Queuing COS 461: Computer Networks
1 Lecture 14 High-speed TCP connections Wraparound Keeping the pipeline full Estimating RTT Fairness of TCP congestion control Internet resource allocation.
1 Introduction to Computer Networks University of ilam Dr. Mozafar Bag-Mohammadi Transport Layer.
CS640: Introduction to Computer Networks Aditya Akella Lecture 20 - Queuing and Basics of QoS.
TCP: Transmission Control Protocol Part II : Protocol Mechanisms Computer Network System Sirak Kaewjamnong Semester 1st, 2004.
1 CS 4396 Computer Networks Lab TCP – Part II. 2 Flow Control Congestion Control Retransmission Timeout TCP:
Spring 2009CSE Congestion Control Outline Resource Allocation Queuing TCP Congestion Control.
1 Reliable Byte-Stream (TCP) Outline Connection Establishment/Termination Sliding Window Revisited Flow Control Adaptive Timeout.
TCP. TCP ACK generation [RFC 1122, RFC 2581] Event at Receiver Arrival of in-order segment with expected seq #. All data up to expected seq # already.
CS 6401 Congestion Control in TCP Outline Overview of RENO TCP Reacting to Congestion SS/AIMD example.
Transport Layer: Sliding Window Reliability
Spring Computer Networks1 Congestion Control Sections 6.1 – 6.4 Outline Preliminaries Queuing Discipline Reacting to Congestion Avoiding Congestion.
1 Reliable Byte-Stream (TCP) Outline Connection Establishment/Termination Sliding Window Revisited Flow Control Adaptive Timeout.
Ilam University Dr. Mozafar Bag-Mohammadi 1 Transport Layer.
Peer-to-Peer Networks 13 Internet – The Underlay Network
1 End-to-End Protocols UDP TCP –Connection Establishment/Termination –Sliding Window Revisited –Flow Control –Congestion Control –Adaptive Timeout.
 Last Class  Resource Allocation  This Class  Chapter 6.3. ~ 6.4.  TCP congestion control.
Univ. of TehranIntroduction to Computer Network1 An Introduction Computer Networks An Introduction to Computer Networks University of Tehran Dept. of EE.
11 CS716 Advanced Computer Networks By Dr. Amir Qayyum.
Univ. of TehranIntroduction to Computer Network1 An Introduction Computer Networks An Introduction to Computer Networks University of Tehran Dept. of EE.
Chapter 5 TCP Sequence Numbers & TCP Transmission Control
Chapter 3 outline 3.1 transport-layer services
Transport Control Protocol
Chapter 5 TCP Sliding Window
Chapter 5 TCP Transmission Control
The University of Adelaide, School of Computer Science
The University of Adelaide, School of Computer Science
So far, On the networking side, we looked at mechanisms to links hosts using direct linked networks and then forming a network of these networks. We introduced.
TCP Overview Connection-oriented Byte-stream Full duplex
Transport Control Protocol
Ilam University Dr. Mozafar Bag-Mohammadi
Transmission Control Protocol (TCP) Part II Neil Tang 11/21/2008
State Transition Diagram
If both sources send full windows, we may get congestion collapse
Congestion Control Reasons:
Advanced Computer Networks
CSS432 End-to-End Protocols Textbook Ch5.1 – 5.2
The University of Adelaide, School of Computer Science
Introduction to Computer Networks
Transport Layer: Congestion Control
Introduction to Computer Networks
Presentation transcript:

1 #6 in Mid-Term  Most answered:  many users thru the same bottleneck -> increased queueing delay -> increased e2e latency  Possible reasons behind much delay  queueing delay on a bottleneck link  retransmission delay due to packet losses  server located far away; increased prop delay  server located on a slow network; increased tx delay  server overload  How to detect a bottleneck?  traceroute  comparison with other downlaods  assume a role of a network manager: more info available

 Last Class  TCP connection set up  TCP connection tear-down  Sliding window revisited  This Class  Triggering transmission

3 Triggering Transmission  TCP has to decide when to tx

4 TCP Send Buffer TCP Sending Application LastByteAcked LastByteSent LastByteWritten

5 Triggering Transmission  TCP has to decide when to tx  When it has more than MSS  When it is told “PUSH”  When a timer expires * Without worrying about flow control

6 Silly Window Syndrome  When AdvertisedWindow < MSS  if sender transmits aggressively

7 Silly Window SenderReceiver ACK opens win=10 ACK opens win=1000 data=10 data=1000 ACK data=10

8 Silly Window Syndrome  When AdvertisedWindow < MSS  if sender transmits aggressively  How to avoid it?  not to introduce a small segment  receiver waits till MSS space is available before advertizing a window open from zero

9 Then what about Telnet?  What should we do when we have only a few bytes to send?  use a clock-based timer or self-clocking  Nagle’s Algorithm if available data and window >= MSS send a full segment else if unACKed data in flight buffer new data till a new ACK else send all the new data now

10 Adaptive Retransmission  RTT estimation EstRTT = a X EstRTT + (1-a) x SampleRTT TO = 2 x EstRTT  Karn/Patridge Algorithm SampleRTT for those segments sent only once  Jacobson/Karels Algorithm  Take the variance of SampleRTT into consideration Diff = SampleRTT – EstRTT EstRTT = EstRTT + (b x Diff) Dev = Dev + b(|Diff|-Dev) TO = A x EstRTT + B x Dev

11 TCP Header Destination Port NumberSource Port Number Sequence Number Urgent Pointer Acknowledgement Number Header Length ReservedWindow Size TCP Checksum URGURG ACKACK PSHPSH RSTRST SYNSYN FINFIN

12 TCP Extension  TCP 32-bit Sequence Number  Add a 32-bit timestamp  TCP 16-bit Window Size  Add a scaling factor  Timestamp  course timer granularity = 500ms  Add a system clock to the data pkt

13 Keeping the pipe full  Time until 32-bit number space wraps around  1.5 Mbps – 6.4 hr  100 Mbps – 13 min  1.2 Gbps – 28 sec  Window size for 100 ms RTT  1.5 Mbps – 18 KB  100 Mbps – 1.2 MB  1.2 Gbps – 14.8 MB

14 Alternative Design Choices  TCP is not a panacea for all applications  Consider  Explicit connection setup/tear-down  Byte-stream vs message-stream  window-based vs rate-based

15 Congestion Control  End-to-end approach in detecting congestion  No ack for some time  Duplicate acks  Network-assisted approach  Routers provide explicit feedback  IBM SNA, DEC DECnet, ATM ABR, TCP ECN

16 Scheduling vs. Drop Policies  Schduling policy  determines the order in which packets are transmitted  FIFO, Priority Queueing, Fair Queueing  Drop policy  determines which packets to drop  Tail drop (drop-tail), RED

17 FIFO

18 Priority Queueing  Main idea: mark each packet with a priority  Routers implement multiple FIFO queues  Packets in a queue with the highest priority are served first  Problem?  Bad people mark their packets with a high priority  High-priority queue can starve out all other queues

19 Fair Queueing  Main idea: maintain a separate queue per flow to isolate. Round-robin Service

20  Calculate F i =max(F i-1, A i ) + P i and process packets with lowest F i first  F i : expected finish time if done bit-by-bit  A i : arrival time of packet i  P i : # of bit-rounds for packet i Currently served Which packet should finish first, blue or yellow?

21 Time Bit-round Yellow should be served first! FFF

22 FQ and WFQ  FQ  Sources are not aware of FQ  WFQ  It assigns different weights to queues  It can assign queue not per flow, but per class  How do you assign fair weights?  Both are work-conserving  Never idle when there is work to do

23 senderreceiver At what rate to send? How do you figure out the bottleneck bandwidth?

24 Sending rate increases linearly TIME RTT Additive increase

25 What about doubling each time? TIME RTT Cwnd=1Cwnd=2Cwnd=4Cwnd=8 Multiplicative increase

26 When to stop increasing?  Finite world, finite beginning  ssthresh = set to an arbitrary large number (65KB)  Sender rate exceeds RcvWindow  Only transmit min(cwnd, RcvWindow)  Packets start to be dropped at the bottleneck  Sending rate exceeds bottleneck b/w  Another user shares the bottleneck  Contention for shared resource