Precept 2: TCP Congestion Control Review

Slides:



Advertisements
Similar presentations
Introduction 1 Lecture 13 Transport Layer (Transmission Control Protocol) slides are modified from J. Kurose & K. Ross University of Nevada – Reno Computer.
Advertisements

Different TCP Flavors CSCI 780, Fall TCP Congestion Control Slow-start Congestion Avoidance Congestion Recovery Tahoe, Reno, New-Reno SACK.
1 Transport Protocols & TCP CSE 3213 Fall April 2015.
Transport Layer1 TCP: Overview RFCs: 793, 1122, 1323, 2018, 2581 r reliable, in-order byte steam: m no “message boundaries” r pipelined: m TCP congestion.
TCP EE122 Discussion 10/31/11. TCP Flow Control Keep sender from overwhelming receiver Data not necessarily pushed to app layer ACK Adv_Win: 300 R Push.
1 TCP - Part II. 2 What is Flow/Congestion/Error Control ? Flow Control: Algorithms to prevent that the sender overruns the receiver with information.
1 TCP CSE May TCP Services Flow control Connection establishment and termination Congestion control 2.
School of Information Technologies TCP Congestion Control NETS3303/3603 Week 9.
1 Spring Semester 2007, Dept. of Computer Science, Technion Internet Networking recitation #11 TCP Eiffel (RFC 3522)
Transport Layer 3-1 outline r TCP m segment structure m reliable data transfer m flow control m congestion control.
Transport Layer 3-1 Fast Retransmit r time-out period often relatively long: m long delay before resending lost packet r detect lost segments via duplicate.
Transport Layer3-1 Congestion Control. Transport Layer3-2 Principles of Congestion Control Congestion: r informally: “too many sources sending too much.
Transport Layer 3-1 Outline r TCP m Congestion control m Flow control.
Communication Networks Recitation 12: TCP Rehearsal.
CSEE W4140 Networking Laboratory Lecture 7: TCP flow control and congestion control Jong Yul Kim
CSCE 515: Computer Network Programming Chin-Tser Huang University of South Carolina.
1 Spring Semester 2007, Dept. of Computer Science, Technion Internet Networking recitation #7 TCP New Reno Vs. Reno.
1 Internet Networking Spring 2002 Tutorial 10 TCP NewReno.
Transport Layer 3-1 Transport Layer r To learn about transport layer protocols in the Internet: m TCP: connection-oriented protocol m Reliability protocol.
CSCE 515: Computer Network Programming Chin-Tser Huang University of South Carolina.
CSEE W4140 Networking Laboratory Lecture 7: TCP congestion control Jong Yul Kim
1 Internet Networking Spring 2006 Tutorial 10 The Eifel Detection Algorithm for TCP RFC 3522.
1 Internet Networking Spring 2004 Tutorial 10 TCP NewReno.
Networks : TCP Congestion Control1 TCP Congestion Control.
Networks : TCP Congestion Control1 TCP Congestion Control Presented by Bob Kinicki.
1 K. Salah Module 6.1: TCP Flow and Congestion Control Connection establishment & Termination Flow Control Congestion Control QoS.
Copyright © 2005 Department of Computer Science CPSC 641 Winter Tutorial: TCP 101 The Transmission Control Protocol (TCP) is the protocol that sends.
TCP: flow and congestion control. Flow Control Flow Control is a technique for speed-matching of transmitter and receiver. Flow control ensures that a.
Transport Layer3-1 TCP sender (simplified) NextSeqNum = InitialSeqNum SendBase = InitialSeqNum loop (forever) { switch(event) event: data received from.
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.
TCP CS 168 Discussion Week 6 Many thanks to past EE 122 GSIs.
Transport over Wireless Networks Myungchul Kim
Copyright © Lopamudra Roychoudhuri
1 TCP - Part II Relates to Lab 5. This is an extended module that covers TCP data transport, and flow control, congestion control, and error control in.
Lab The network simulator ns The network simulator ns Allows us to watch evolution of parameters like cwnd and ssthresh Allows us to watch evolution of.
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:
1 TCP Timeout And Retransmission Chapter 21 TCP sets a timeout when it sends data and if data is not acknowledged before timeout expires it retransmits.
1 TCP - Part II. 2 What is Flow/Congestion/Error Control ? Flow Control: Algorithms to prevent that the sender overruns the receiver with information.
Transport Layer3-1 Transport Layer Our lives begin to end, the day we become silent about things that matter.
1 Computer Networks Congestion Avoidance. 2 Recall TCP Sliding Window Operation.
Internet Networking recitation #11
ECE 4110 – Internetwork Programming
Fall 2004FSU CIS 5930 Internet Protocols1 TCP – Data Exchange Reading: Section 24.4.
Transport Layer3-1 Chapter 3 outline r 3.1 Transport-layer services r 3.2 Multiplexing and demultiplexing r 3.3 Connectionless transport: UDP r 3.4 Principles.
Transport Layer3-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach 5 th edition. Jim Kurose, Keith Ross Addison-Wesley, April 2009.
TCP as a Reliable Transport. How things can go wrong… Lost packets Corrupted packets Reordered packets …Malicious packets…
Transmission Control Protocol (TCP) TCP Flow Control and Congestion Control CS 60008: Internet Architecture and Protocols Department of CSE, IIT Kharagpur.
TCP over Wireless PROF. MICHAEL TSAI 2016/6/3. TCP Congestion Control (TCP Tahoe) Only ACK correctly received packets Congestion Window Size: Maximum.
Window Control Adjust transmission rate by changing Window Size
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.
TCP - Part II Relates to Lab 5. This is an extended module that covers TCP flow control, congestion control, and error control in TCP.
Transmission Control Protocol (TCP) Retransmission and Time-Out
Transport Layer CS 381 3/7/2017.
Chapter 3 outline 3.1 transport-layer services
Introduction to Networks
COMP 431 Internet Services & Protocols
Introduction to Congestion Control
Chapter 5 TCP Transmission Control
TCP - Part II Relates to Lab 5. This is an extended module that covers TCP flow control, congestion control, and error control in TCP.
TCP.
PUSH Flag A notification from the sender to the receiver to pass all the data the receiver has to the receiving application. Some implementations of TCP.
CS4470 Computer Networking Protocols
CS4470 Computer Networking Protocols
Transport Layer: Congestion Control
Computer Networks: Transmission Control Protocol (TCP)
TCP flow and congestion control
TCP continued.
TCP: Transmission Control Protocol Part II : Protocol Mechanisms
Presentation transcript:

Precept 2: TCP Congestion Control Review

TCP Basics Q1: The size of the TCP Receive window never changes throughout the duration of the connection? True or false:

TCP Basics Q1: The size of the TCP Receive window never changes throughout the duration of the connection? True or false: FALSE. RcvWindow is used to give the sender an idea of how much free buffer space is available at the receiver. Thus as the amount of unacknowledged TCP data varies the RcvWindow also changes.

TCP Basis Q2: Suppose host A is sending a large file to host B over a TCP connection. The number of unacknowledged bytes that A sends cannot exceed the size of the advertised receiver buffer. TRUE. TCP is not permitted to overflow the allocated receiver buffer. Hence when the sender can not send any more data RcvWindow would be 0 and hence all the buffer would have unacknowledged

TCP Basis Q2: Suppose host A is sending a large file to host B over a TCP connection. The number of unacknowledged bytes that A sends cannot exceed the size of the advertised receiver buffer. TRUE. TCP is not permitted to overflow the allocated receiver buffer. Hence when the sender can not send any more data RcvWindow would be 0 and hence all the buffer would have unacknowledged

Sender’s Window Q3: A TCP connection is using a window size of 10 000 bytes, and the previous acknowledgment number was 22 001. It receives a segment with acknowledgment number 24 001. Draw a diagram to show the situation of the window before and after.

Q3: A TCP connection is using a window size of 10 000 bytes, and the previous acknowledgment number was 22 001. It receives a segment with acknowledgment number 24 001. Draw a diagram to show the situation of the window before and after. Before acknowledgement 22000 24000 26000 28000 30000 32000 34000 36000

Q3: A TCP connection is using a window size of 10 000 bytes, and the previous acknowledgment number was 22 001. It receives a segment with acknowledgment number 24 001. Draw a diagram to show the situation of the window before and after. Before acknowledgement 22000 24000 26000 28000 30000 32000 34000 36000

Q3: A TCP connection is using a window size of 10 000 bytes, and the previous acknowledgment number was 22 001. It receives a segment with acknowledgment number 24 001. Draw a diagram to show the situation of the window before and after. Before acknowledgement 22000 24000 26000 28000 30000 32000 34000 36000 After acknowledgement 22000 24000 26000 28000 30000 32000 34000 36000

Q3: A TCP connection is using a window size of 10 000 bytes, and the previous acknowledgment number was 22 001. It receives a segment with acknowledgment number 24 001. Draw a diagram to show the situation of the window before and after. Before acknowledgement 22000 24000 26000 28000 30000 32000 34000 36000 After acknowledgement 22000 24000 26000 28000 30000 32000 34000 36000

Q4: TCP waits until it has received three duplicate ACKs before performing a fast retransmit. Why do you think the TCP designers chose not to perform a fast retransmit after the first duplicate ACK for a segment is received? Answer: Packets can arrive out of order from the IP layer. So whenever an out of order packet would be received it would generate a duplicate ACK and if we perform retransmission after the first duplicate ACK it would lead the sender to introduce too many redundant packets in the network.

Q5: Identify the interval of time when TCP slow start is operating. TCP slowstart is operating in the intervals [1,6] and [23,26] Q5: Identify the interval of time when TCP slow start is operating.

TCP congestion avoidance is operating in the intervals [6,16] and [17,22] Q6: Identify the interval of time when TCP congestion avoidance is operation.

After the 16th transmission round, packet loss is recognized by a triple duplicate ACK. If there was a timeout, the congestion window size would have dropped to 1. Q7: After the 16th transmission round, is segment loss detected by a triple duplicate ACK or by a timeout?

After the 22nd transmission round, segment loss is detected due to timeout, the TCP enters slow start, and hence the congestion window size is set to 1. Q8: After the 22nd transmission round, is segment loss detected by a triple duplicate ACK or by a timeout?

The threshold is initially 32, since it is at this window size that slow start stops and congestion avoidance begins. Q9: What is the initial value of ssthresh at the first transmission round?

Q10: What is the value of ssthresh at the 18th transmission round? The threshold is set to half the value of the congestion window when packet loss is detected. When loss is detected during transmission round 16, the congestion windows size is 42. Hence the threshold is 21 during the 18th transmission round. Q10: What is the value of ssthresh at the 18th transmission round?

Q11: What is the value of ssthresh at the 24th transmission round? The threshold is set to half the value of the congestion window when packet loss is detected. When loss is detected during transmission round 22, the congestion windows size is 26. Hence the threshold is 13 during the 24th transmission round. Q11: What is the value of ssthresh at the 24th transmission round?

Q12: During what transmission round is the 70th segment sent? During the 1st transmission round, packet 1 is sent; packet 2-3 are sent in the 2nd transmission round; packets 4-7 are sent in the 3rd transmission round; packets 8-15 are sent in the 4th transmission round; packets 16-31 are sent in the 5th transmission round; packets 32-63 are sent in the 6th transmission round; packets 64 – 96 are sent in the 7th transmission round. Thus packet 70 is sent in the 7th transmission round Q12: During what transmission round is the 70th segment sent?