Behaviour of TCP in congestion control

download Behaviour of TCP in congestion control

of 25

Transcript of Behaviour of TCP in congestion control

  • 8/13/2019 Behaviour of TCP in congestion control

    1/25

    S

    Behavior of TCP in Congestion

    Control Mechanism using VLCmedia player

    Group project by Abhishek Reddy YeruvaVijay Krishna Nadimpalli

    Namratha S Kolli

    Presented by Abhishek Reddy Yeruva

    AdvisorProf. Jedidiah R.Crandall

  • 8/13/2019 Behaviour of TCP in congestion control

    2/25

    Project Objectives

    S Record congestion control using TCP connection in

    VLC.S Record the effect of Iperf during the VLC streaming

    process.

    SRecord the packets sent by the server and receivedby the client in the process at various values of Iperfand bandwidths and study the behavior of TCP.

  • 8/13/2019 Behaviour of TCP in congestion control

    3/25

    RoadMap

    S TCP

    S Background Information

    S Helpful Commands

    S Network Requirements

    S Design

    S Working

    S Results

    S Analysis

    S Conclusion

    S References

  • 8/13/2019 Behaviour of TCP in congestion control

    4/25

    Transmission Control Protocol(TCP)

    S Reliable

    S Full-Duplex

    S Flow-control mechanism for byte-streams

    S Supports a de-multiplexing mechanism, just like UDP

  • 8/13/2019 Behaviour of TCP in congestion control

    5/25

    TCP : Slow Start

    S Source starts out by setting Congestion Windowto one packet.

    S When the ACK for this packet arrives, TCP adds 1to Congestion Window and then sends twopackets. Upon receiving the corresponding two

    ACKs, TCP increments Congestion Window by

    2one for each ACK and next sends fourpackets.

    S The end result is that TCP effectively doubles thenumber of packets it has in transit every RTT(

    Round Trip Time). Image source : Computer Networks A Systems

  • 8/13/2019 Behaviour of TCP in congestion control

    6/25

    TCP: Fast Retransmission

    S Every time when a data packet arrives atthe receiving side, the receiver responds

    with an acknowledgment, even if thissequence number has already beenacknowledged.

    S When a packet arrives out of order that

    is, TCP cannot yet acknowledge the datathe packet contains because earlier datahas not yet arrived TCP resends thesame acknowledgment it sent the last time.

    Image source : Computer Networks A Systems

  • 8/13/2019 Behaviour of TCP in congestion control

    7/25

    Network Congestion

    S Occurs when a link or node is carrying so much data that itsquality of service deteriorates

    S Typical Effects: Queuing Delay, Packet loss, Blocking of newconnections

    S Congestion Control:

    - Process of controlling traffic entry (or) flow of packets ina network

    - Various algorithms as mentioned previously are used

    for Congestion Control

  • 8/13/2019 Behaviour of TCP in congestion control

    8/25

    Iperf Command

    S Network testing tool that can create TCP and UDPdata streams

    S Measures the throughput of a network carrying thosestreams.

  • 8/13/2019 Behaviour of TCP in congestion control

    9/25

    Iperf : Example

    S To introduce the traffic on the link between router 2 androuter 3, we

    S Assume router 2 to be the server which receives the tcppackets sent from router 3

    iperf s u

    S Assuming the router 3 to be the client we use the

    following iperf command:iperf c 192.168.58.254 b 0.16m t 245

    c indicates client, b indicates bandwidth, t indicatestime and the time is given as 245 which is the total timeof the video and 192.168.58.254 is the IP address of the

    router 2 on eth2

  • 8/13/2019 Behaviour of TCP in congestion control

    10/25

    Network Requirements

    S 3 Routers, a Client and a Server.

    S During streaming, we congest a particular link between two of therouters by using Iperf in order to generate some traffic and create acongestion in the link.

    S VLC media player acts as the tool for streaming the media file fromthe server and also capturing the file at the client.

    S VLC media player is used as it provides various options forstreaming a file on various transmission protocols such as TCP,UDP, RTP etc.

    S VLC also acts as client and server.

  • 8/13/2019 Behaviour of TCP in congestion control

    11/25

    Design Setup

    (Diagram provided by instructor to class in 2011 CS-585 class)

  • 8/13/2019 Behaviour of TCP in congestion control

    12/25

    Working: Step 1

    S 5 Virtual Machines (VMs)

    - VLC Media player running on the server- VLC Media player running on the client- Three routers

    S For easy setup,

    - created one VM and installed Ubuntu server edition- cloned it using the command

    VboxManage clonevdi ubuntu1.vdi ubuntu2.vdi

  • 8/13/2019 Behaviour of TCP in congestion control

    13/25

    Working: Step 2

    SClient routes through the 3 routers to establish a connectionwith the Server.

    S Each router is a part of 2 subnets.

    S Each router has 3 interfaces- eth0 for Network Address Translation(NAT)- eth1 and eth2 for local host adapters

  • 8/13/2019 Behaviour of TCP in congestion control

    14/25

    Working: Step 3

    SStart the iperf on router 2 and then on router 3 afterstreaming the video on server and client.

    S Simultaneously record TCP dumps

    S Interrupt TCP dump record after media streaming is done

    S Analyze

  • 8/13/2019 Behaviour of TCP in congestion control

    15/25

    Working: Step 4

    S Record the number of the packets sent by the VLC on

    port 8080 which is the TCP datasudo tcpdump r dumpfile nnn port 8080 | wc l

    S Record the Iperf packets which is the number of TCP

    packets and number of ARP packets.sudo tcpdump r dumpfile nnn port not 8080 | wc l

  • 8/13/2019 Behaviour of TCP in congestion control

    16/25

    Results

    S A spreadsheet has been recorded containing thedetails obtained at the server, all the routers and theclient. These values were recorded for various valuesof the Iperf values at 0KB, 20KB, 40KB, 60KB, 80KB,100KB.

    S The results depict the graphs obtained by plotting theIperf values and the number of packets obtained duringthe stream:

  • 8/13/2019 Behaviour of TCP in congestion control

    17/25

    Results(contd.)

    Iperf=0 KB Iperf=20 KB

  • 8/13/2019 Behaviour of TCP in congestion control

    18/25

    Results(contd.)

    Iperf=40 KB Iperf=60 KB

  • 8/13/2019 Behaviour of TCP in congestion control

    19/25

    Results(contd.)

    Iperf=80 KB Iperf=100 KB

  • 8/13/2019 Behaviour of TCP in congestion control

    20/25

    Analysis of Results

    S Increase in the sparsity of dots in the graphs with increase ofIperf value

    S Indicates decrease in the number of packets of VLCtransmitted with the increase in the Iperf value

    S The gaps show that there was no activity in that period

    S Reason: Congestion in the network

    S Congestion increases with increasing Iperf value

  • 8/13/2019 Behaviour of TCP in congestion control

    21/25

    Conclusion

    S As the Iperf value increases the congestion in the network

    increases and lesser number or percentage of VLC packetsare transmitted.

    S The sender will never transmit more unacknowledged datathan the size of its congestion window, so plotting the

    "unacknowledged" data can give a good approximation ofcongestion window.

  • 8/13/2019 Behaviour of TCP in congestion control

    22/25

    Conclusions(contd.)

    Iperf=100 KBIperf=80 KB

    Sample plots obtained by plotting the unacknowledged data from thestreaming processes at Iperf valued at 80 KB and 100 KB.

  • 8/13/2019 Behaviour of TCP in congestion control

    23/25

    Conclusions(contd.)

    S The lower bound on the unacknowledged data isdecreasing which means that the size of congestionwindow is decreasing.

    S It is evident that as the Iperf value or say as thecongestion on a link in the network increases (because ofincrease in Iperf) the streaming of a video from the serverto the client becomes really difficult as a result of whichwe see a bad video stream at the clients side.

  • 8/13/2019 Behaviour of TCP in congestion control

    24/25

  • 8/13/2019 Behaviour of TCP in congestion control

    25/25

    Questions