Transmission Control Protocol A Reliable, Connection-Oriented, Byte-Stream Service Lab 9.

Slides:



Advertisements
Similar presentations
Slide Set 14: TCP Congestion Control. In this set... We begin Chapter 6 but with 6.3. We will cover Sections 6.3 and 6.4. Mainly deals with congestion.
Advertisements

Simulation-based Comparison of Tahoe, Reno, and SACK TCP Kevin Fall & Sally Floyd Presented: Heather Heiman September 10, 2002.
TCP Vegas: New Techniques for Congestion Detection and Control.
24-1 Chapter 24. Congestion Control and Quality of Service (part 1) 23.1 Data Traffic 23.2 Congestion 23.3 Congestion Control 23.4 Two Examples.
1 Transport Protocols & TCP CSE 3213 Fall April 2015.
Prentice HallHigh Performance TCP/IP Networking, Hassan-Jain Chapter 2 TCP/IP Fundamentals.
EE 4272Spring, 2003 Chapter 17 Transport Protocols Connection-Oriented Transport Protocol  Under Reliable Network Service  Design Issues  Under Unreliable.
Transport Layer – TCP (Part2) Dr. Sanjay P. Ahuja, Ph.D. Fidelity National Financial Distinguished Professor of CIS School of Computing, UNF.
Guide to TCP/IP, Third Edition
TCP: Transmission Control Protocol Overview Connection set-up and termination Interactive Bulk transfer Timers Improvements.
Transport Layer – TCP (Part1) Dr. Sanjay P. Ahuja, Ph.D. Fidelity National Financial Distinguished Professor of CIS School of Computing, UNF.
ECE 4450:427/527 - Computer Networks Spring 2015
Computer Networks: TCP Congestion Control 1 TCP Congestion Control Lecture material taken from “Computer Networks A Systems Approach”, Fourth Edition,Peterson.
1 TCP CSE May TCP Services Flow control Connection establishment and termination Congestion control 2.
Performance analysis and Capacity planning of Home LAN Mobile Networks Lab 4
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.
Computer Networks: TCP Congestion Control 1 TCP Congestion Control Lecture material taken from “Computer Networks A Systems Approach”, Third Ed.,Peterson.
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 Lecture 9: TCP and Congestion Control Slides adapted from: Congestion slides for Computer Networks: A Systems Approach (Peterson and Davis) Chapter 3.
CSEE W4140 Networking Laboratory Lecture 7: TCP congestion control Jong Yul Kim
Computer Networks : TCP Congestion Control1 TCP Congestion Control.
Networks : TCP Congestion Control1 TCP Congestion Control.
Networks : TCP Congestion Control1 TCP Congestion Control Presented by Bob Kinicki.
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.
EE 4272Spring, 2003 Chapter 17 Transport Protocols Connection-Oriented Transport Protocol  Reliable Network Service: Design Issues  Unreliable Network.
The Transport Layer.
TCP: flow and congestion control. Flow Control Flow Control is a technique for speed-matching of transmitter and receiver. Flow control ensures that a.
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?
3: Transport Layer3b-1 Principles of Congestion Control Congestion: r informally: “too many sources sending too much data too fast for network to handle”
COMT 4291 Communications Protocols and TCP/IP COMT 429.
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.
1 Transport Protocols (continued) Relates to Lab 5. UDP and TCP.
TCP1 Transmission Control Protocol (TCP). TCP2 Outline Transmission Control Protocol.
Transport Layer Moving Segments. Transport Layer Protocols Provide a logical communication link between processes running on different hosts as if directly.
1 TCP: Reliable Transport Service. 2 Transmission Control Protocol (TCP) Major transport protocol used in Internet Heavily used Completely reliable transfer.
Copyright 2008 Kenneth M. Chipps Ph.D. Controlling Flow Last Update
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.
Transport Layer 3-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March
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.
Spring 2009CSE Congestion Control Outline Resource Allocation Queuing TCP Congestion Control.
1 TCP - Part II. 2 What is Flow/Congestion/Error Control ? Flow Control: Algorithms to prevent that the sender overruns the receiver with information.
TCP OVER ADHOC NETWORK. TCP Basics TCP (Transmission Control Protocol) was designed to provide reliable end-to-end delivery of data over unreliable networks.
ECE 4110 – Internetwork Programming
CS 6401 Congestion Control in TCP Outline Overview of RENO TCP Reacting to Congestion SS/AIMD example.
Guide to TCP/IP Fourth Edition
1 End-to-End Protocols User Datagram Protocol (UDP) Transmission Control Protocol(TCP)
© Janice Regan, CMPT 128, CMPT 371 Data Communications and Networking Congestion Control 0.
IT 424 Networks2 IT 424 Networks2 Ack.: Slides are adapted from the slides of the book: “Computer Networking” – J. Kurose, K. Ross Chapter 3: Transport.
TCP/IP1 Address Resolution Protocol Internet uses IP address to recognize a computer. But IP address needs to be translated to physical address (NIC).
Transmission Control Protocol (TCP) TCP Flow Control and Congestion Control CS 60008: Internet Architecture and Protocols Department of CSE, IIT Kharagpur.
CSEN 404 Transport Layer II Amr El Mougy Lamia AlBadrawy.
Data Network Designing and Evaluation
Performance Evaluation of Ethernet Networks under different Scenarios Lab 6
TCP - Part II Relates to Lab 5. This is an extended module that covers TCP flow control, congestion control, and error control in TCP.
By, Nirnimesh Ghose, Master of Science,
9.6 TCP Congestion Control
Introduction to Networks
Introduction to Opnet Mobile Networks Introduction to Opnet
TCP - Part II Relates to Lab 5. This is an extended module that covers TCP flow control, congestion control, and error control in TCP.
ECE 4450:427/527 - Computer Networks Spring 2017
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.
The University of Adelaide, School of Computer Science
Congestion Control in TCP
CS4470 Computer Networking Protocols
Congestion Control in TCP
TCP flow and congestion control
Presentation transcript:

Transmission Control Protocol A Reliable, Connection-Oriented, Byte-Stream Service Lab 9

Lab Objective This lab is designed to demonstrate the congestion control algorithms implemented by the Transmission Control Protocol (TCP). The lab provides a number of scenarios to simulate these algorithms. You will compare the performance of the algorithms through the analysis of the simulation results.

Lab Overview The Internet’s TCP guarantees the reliable, in- order delivery of a stream of bytes. It includes a flow-control mechanism for the byte streams that allows the receiver to limit how much data the sender can transmit at a given time. In addition, TCP implements a highly tuned congestion-control mechanism. The idea of this mechanism is to throttle how fast TCP sends data to keep the sender from overloading the network.

Congestion Window The idea of TCP congestion control is for each source to determine how much capacity is available in the network, so that it knows how many packets it can safely have in transit. It maintains a state variable for each connection, called the congestion window, which is used by the source to limit how much data it is allowed to have in transit at a given time.

Additive Increase Multiplicative decrease TCP uses a mechanism, called additive increase/multiplicative decrease, that decreases the congestion window when the level of congestion goes up and increases the congestion window when the level of congestion goes down. TCP interprets timeouts as a sign of congestion. Each time a timeout occurs, the source sets the congestion window to half of its previous value. This halving corresponds to the multiplicative decrease part of the mechanism. The congestion window is not allowed to fall below the size of a single packet (the TCP maximum segment size, or MSS). Every time the source successfully sends a congestion window’s worth of packets, it adds the equivalent of one packet to the congestion window; this is the additive increase part of the mechanism.

Slow Start, Fast Retransmit TCP uses a mechanism called slow start to increase the congestion window “rapidly” from a cold start in TCP connections. It increases the congestion window exponentially, rather than linearly. Finally, TCP utilizes a mechanism called fast retransmit and fast recovery. Fast retransmit is a heuristic that sometimes triggers the retransmission of a dropped packet sooner than the regular timeout mechanism.

Lab Overview In this lab you will set up a network that utilizes TCP as its end-to-end transmission protocol and analyze the size of the congestion window with different mechanisms.

No Drop Scenario New Project Scenario name “no_drop” – Create “empty scenario” – Select “Choose from Maps”, Choose “USA” Add to project workspace – Application Config – Profile Config – ip32_Cloud

Application Configuration Edit Attributes  Add row Add “FTP_Application” – Description  Edit FTP

Profile Configuration Edit Attributes – Add row – Add Profile “FTP profile”

“West” Subnet Double click west subnet Add: – Ethernet_server – ethernet4_slip8_gtwy, – connect using 100baseT Add FTP_Application on Server Supported Sevices Edit Server Address to Server_West Expand TCP parameters: – Disable Fast Retransmit and Fast Recovery

East Subnet Double click east subnet Add: – Ethernet_wrkstation – ethernet4_slip8_gtwy, – connect using 100baseT Add FTP_Profile on Client Profile Edit Client Address to Client_East Edit Application: Destination Preferences – Set Symbolic Name to FTP Server – Edit Actual Name – assign Server_West to the Name column

Connecting Subnets Using two PPP_DS3 bidirectional links connect the East subnet to the IP Cloud and the West subnet to the IP Cloud.

Choose Statistics Right-click on Server_West – Choose Individual Statistics – Choose TCP Connection ⇒ Congestion Window Size (bytes) and Sent Segment Sequence Number. – Right-click on the Congestion Window Size (bytes) statistic ⇒ Choose Change Collection Mode ⇒ In the dialog box check Advanced ⇒ From the drop- down menu, assign all values to Capture mode as shown ⇒ Click OK. – Similarly for Sent Segment Sequence Number Run Simulation for 10 minutes

Duplicate Scenario In the network we just created we assumed a perfect network with no discarded packets. Also, we disabled the fast retransmit and fast recovery techniques in TCP. To analyze the effects of discarded packets and those congestion-control techniques, we will create two additional scenarios.

With fast retransmit, TCP performs a retransmission of what appears to be the missing segment, without waiting for a retransmission timer to expire. After fast retransmit sends what appears to be the missing segment, congestion avoidance but not slow start is performed. This is the fast recovery algorithm.

Drop_NoFast Scenario Select Duplicate Scenario from the Scenarios menu and give it the name Drop_NoFast ⇒ Click OK. In the new scenario, right-click on the IP Cloud ⇒ Edit Attributes ⇒ Assign 0.05% to the Packet Discard Ratio attribute. Click OK and then save your project

Drop_Fast Scenario select Duplicate Scenario from the Scenarios menu and give it the name Drop_Fast. In the Drop_Fast scenario, right-click on Server_ West, which is inside the West subnet ⇒ Edit Attributes ⇒ Expand the TCP Parameters hierarchy ⇒ Enable the Fast Retransmit attribute ⇒ Assign Reno to the Fast Recovery attribute. Click OK and then save your project.

Running all simulations To run the simulation for the three scenarios simultaneously: – Go to the Scenarios menu ⇒ Select Manage Scenarios. – Change the values under the Results column to (or

view and analyze Results Expand the Object Statistics hierarchy for Drop_noFast Scenario – select the following two results: Congestion Window Size (bytes) and Sent Segment Sequence Number. To zoom in on the details in the graph, click and drag your mouse to draw a rectangle, as shown.

Notice the Segment Sequence Number is almost flat with every drop in the congestion window.

Compare Results select Compare Results – Sent Segment Sequence Number. – Click Show. After zooming in, the resulting graph should resemble the one below

Answer the following Questions in Lab Report Why does the Segment Sequence Number remain unchanged (indicated by a horizontal line in the graphs) with every drop in the congestion window? Analyze the graph that compares the Segment Sequence numbers of the three scenarios. Why does the Drop_NoFast scenario have the slowest growth in sequence numbers? In the Drop_NoFast scenario, obtain the overlaid graph that compares Sent Segment Sequence Number with Received Segment ACK Number for Server_West. Explain the graph.

Lab Task Create another scenario as a duplicate of the Drop_Fast scenario. Name the new scenario Drop_Fast_Buffer. In the new scenario, edit the attributes of the Client_East node and assign to its Receiver Buffer (bytes) attribute (one of the TCP Parameters). Generate a graph that shows how the Congestion Window Size (bytes) of Server_West gets affected by the increase in the receiver buffer (compare the congestion window size graph from the Drop_Fast scenario with the corresponding graph from the Drop_Fast_Buffer scenario.)