SlideShare une entreprise Scribd logo
1  sur  24
Presented By
                                 Abhijit Bagchi (IT/2008/32)
                            Bikash Chandra Pal (IT/2008/07)
                                Soumya Sarkar (IT/2008/14)
Under The Guidance of Prof Moumita Deb
• Basics of Congestion     Retransmission
C   • Congestion a             Algorithm(TCP
                               Reno)
      Catastrophe?
o   • Basics Strategy to •     Issues in wireless
      combat congestion        Network.
n   • Congestion window •      TCP New Reno
    • Slow Start Phase     •   TCP Vegas .
t   • Congestion           •   TCP Westwood.
      Avoidance Phase •        Proposed Algorithm
e   • Congestion           •   Future Works
      Detection Phase
n   • Illustration of
      Congestion Control
t   • Fast Retransmit
s   • Fast Recovery
    • Adaptive
Basics of Congestion

A network is considered
congested when too many
packets try to access the
same router’s buffer, resulting
in a large amount of packets
being dropped.
Congestion a catastrophe?


• Impact of congestion may be
  temporary but if not handled it will
  be catastrophic .

• A congestive collapse effects
  network stability, throughput and
  fair resource allocation to network
  users

• Congestion control in a TCP/IP
  based internet is complex and
  challenging and over the years a lot
  of effort and resources have been
  dedicated to the research in this
  area.
Basic Strategy to Combat Congestion



• In case of network congestion TCP limits sender transmission
  rate to reduce load in the path between sender and receiver

• TCP employs a window-based scheme to control the
  transmission rate where size of the window directly impacts
  transmission

• Acknowledgements are used to pace the transmission of
  packets by the sender
Congestion Window


 Congestion Window (cwnd) is a variable held by the TCP source
  for each connection




Cwnd is set based on the perceived level of Congestion in the
  network
Slow Start Phase


• When a new connection is established the congestion window is
  initialized to one MSS(Maximum Segment Size)

•    Each time an ACK is received, the congestion window is
    increased by one MSS.

•   The sender can transmit up to the minimum of the congestion
    window and the advertised receiver window size.

• Thus, the size of congestion window increases exponentially
  until a threshold value is reached
Slow Start Phase(contd..)


The sender keeps track of a variable called ssthresh (slow start
threshold) When cwnd reaches this threshold slow start ends and
next phase starts
Congestion Avoidance Phase


• Every connection       is   associated   with   a   threshold
  value(ssthresh) .

• When cwnd reaches the due threshold, congestion
  avoidance (additive increase) algorithm takes over.

• In this phase the window size increases linearly until timeout
  occurs or duplicate acknowledgement is received
Congestion Detection Phase


• Congestion may be detected via either timeout or reception
  of duplicate acknowledgement packets

• If detection by timeout then, ssthresh=0.5 X window size and
  a new slow start phase starts with cwnd=1MSS

• If detection by 3 duplicate acknowledgement then,
  ssthresh=0.5 X window size and cwnd=ssthresh and a new
  congestion avoidance phase starts

• This is called Multiplicative decrease where in either case the
  ssthresh variable is reinitialized to half the current cwnd
Illustrations of Congestion Control
Fast Retransmit

• Hence congestion avoidance algorithm was later modified

• It is assumed that if there is just a reordering of the segments,
  there will be only one or two duplicate ACKs before the
  reordered segment is processed, which will then generate a
  new ACK .

• If more than 3 ACK is received for same segment the sender
  sends that particular segment even before its timer expires
Fast Recovery

• 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.


• It is an improvement that allows high throughput under
  moderate congestion, especially for large windows.

• It was added with Tcp Reno , another variant of Tcp
Adaptive Retransmission Algorithm


tout   calculated as a function of RTT

Send packet and keep timestamp ts

When ACK arrives, record timestamp ta

                             SampleRTT=ts – ta

   EstimatedRTT=α EstimatedRTT + (1 – α) SampleRTT(0.8<α<0.9)

                        tout=ß × EstimatedRTT (ß=2)
Issues of Wireless Networks


• In wireless network, current TCP network cannot recognize
  packet loss from congestion or from fading radio signals

• This results in unnecessary shrinking of congestion window
  which results in degradation of performance

• However via significant research certain techniques have been
  discovered to solve these problems
TCP New Reno
• New Reno is a slight modification over Tcp Reno. It is able to detect
  multiple packet losses

• Like Reno, New-Reno also enters into fast-retransmit when it receives
  multiple duplicate packets, however It differs from Reno in that it doesn’t
  exit fast-recovery until all the data which was outstanding at the time it
  entered fast recovery is acknowledged

• Thus it over comes the problem faced by Reno of reducing the cwnd
  multiples times

• Disadvantage:-New-Reno suffers from the fact that its take one RTT to
  detect each packet loss. When the ACK for the first retransmitted segment
  is received only then can we deduce which other segment was lost.
TCP Vegas
• TCP Vegas emphasizes on packet delay rather than on packet loss.
• Vegas sets Base RTT to the smallest measured RTT, and the
  expected throughput is computed according to
          Expected throughput =window size/ Base RTT .
          Actual throughput= window size/ current RTT.
• Vegas Calculates the difference in throughputs
          Diff=ӀActual throughput-Expected Throughputӏ      .
• If Diff < α, Vegas increases the window size linearly during the next
  RTT. If Diff > β, then Vegas decreases the window size linearly
  during the next RTT. Otherwise, it leaves the window size
  unchanged.
TCP Vegas(Contd.)




Disadvantage:-Since Vegas changes the window size linearly , it may not be utilizing bandwidth
properly
Tcp Westwood

• In TCP Westwood the sender continuously computes the
  connection BandWidth Estimate (BWE) which is defined as the
  share of bottleneck bandwidth used by the connection.

• After a packet loss indication, the sender resets the congestion
  window and the slow start threshold based on BWE. More
  precisely,
                   cwnd=BWE x RTT.

• Disadvantage :- TCPW performs poorly when random packet
   loss rate exceeds a few percent
Tcp Westwood (cont..)
Proposed Algorithm


• We would first set the baseRTT to minimum of
  measured round-trip times
• Calculate the
        Expected ACK rate(e)=cwnd/baseRTT;
        Actual ACK rate(a)=cwnd/RTT;
• Compare the Actual throughput with the expected
  throughput .
Proposed Algorithm(contd.)

• If (e==a)||(e<a) then , cwnd =BWE x RTT

• Else cwnd= β x (BWE x RTT) where 0< β< 1

• Bandwidth Estimate(BWE)=dk /tk-t(k-1)
   where dk=data sent between tk-t(k-1)
             interval.
Future Works
• In this project we intend to simulate the devised algorithm via
  ns 2.34 simulator and find out results in various test cases

• This test case results will be compared with existing values to
  come to a proper conclusion about the merits of this
  algorithm
Congestion control in tcp

Contenu connexe

Tendances

Multicastingand multicast routing protocols
Multicastingand multicast routing protocolsMulticastingand multicast routing protocols
Multicastingand multicast routing protocolsIffat Anjum
 
Classification of routing protocols
Classification of routing protocolsClassification of routing protocols
Classification of routing protocolsMenaga Selvaraj
 
Congestion control
Congestion controlCongestion control
Congestion controlNithin Raj
 
Unicasting , Broadcasting And Multicasting New
Unicasting , Broadcasting And Multicasting NewUnicasting , Broadcasting And Multicasting New
Unicasting , Broadcasting And Multicasting Newtechbed
 
Leaky Bucket & Tocken Bucket - Traffic shaping
Leaky Bucket & Tocken Bucket - Traffic shapingLeaky Bucket & Tocken Bucket - Traffic shaping
Leaky Bucket & Tocken Bucket - Traffic shapingVimal Dewangan
 
TCP protocol flow control
TCP protocol flow control TCP protocol flow control
TCP protocol flow control anuragjagetiya
 
Transport Layer in Computer Networks (TCP / UDP / SCTP)
Transport Layer in Computer Networks (TCP / UDP / SCTP)Transport Layer in Computer Networks (TCP / UDP / SCTP)
Transport Layer in Computer Networks (TCP / UDP / SCTP)Hamidreza Bolhasani
 
Congestion on computer network
Congestion on computer networkCongestion on computer network
Congestion on computer networkDisi Dc
 
Streaming Stored Video- Computer Networking
Streaming Stored Video- Computer Networking  Streaming Stored Video- Computer Networking
Streaming Stored Video- Computer Networking Mahbubur Rahman
 
Routing algorithm
Routing algorithmRouting algorithm
Routing algorithmBushra M
 
Multiple Access Protocal
Multiple Access ProtocalMultiple Access Protocal
Multiple Access Protocaltes31
 
C6 Réseaux : Introduction au routage
C6 Réseaux : Introduction au routageC6 Réseaux : Introduction au routage
C6 Réseaux : Introduction au routagePRONETIS
 
Mobile transport layer
Mobile transport layerMobile transport layer
Mobile transport layerVikram Nandini
 
Types of Load distributing algorithm in Distributed System
Types of Load distributing algorithm in Distributed SystemTypes of Load distributing algorithm in Distributed System
Types of Load distributing algorithm in Distributed SystemDHIVYADEVAKI
 
Flow control in Computer Network
Flow control in Computer NetworkFlow control in Computer Network
Flow control in Computer NetworkAhtesham Ullah khan
 

Tendances (20)

Congestion control
Congestion controlCongestion control
Congestion control
 
Multicastingand multicast routing protocols
Multicastingand multicast routing protocolsMulticastingand multicast routing protocols
Multicastingand multicast routing protocols
 
Delay , Loss & Throughput
Delay , Loss & ThroughputDelay , Loss & Throughput
Delay , Loss & Throughput
 
Classification of routing protocols
Classification of routing protocolsClassification of routing protocols
Classification of routing protocols
 
Congestion control
Congestion controlCongestion control
Congestion control
 
Unicasting , Broadcasting And Multicasting New
Unicasting , Broadcasting And Multicasting NewUnicasting , Broadcasting And Multicasting New
Unicasting , Broadcasting And Multicasting New
 
Leaky Bucket & Tocken Bucket - Traffic shaping
Leaky Bucket & Tocken Bucket - Traffic shapingLeaky Bucket & Tocken Bucket - Traffic shaping
Leaky Bucket & Tocken Bucket - Traffic shaping
 
GO BACK N PROTOCOL
GO BACK N PROTOCOLGO BACK N PROTOCOL
GO BACK N PROTOCOL
 
Routing algorithms
Routing algorithmsRouting algorithms
Routing algorithms
 
TCP protocol flow control
TCP protocol flow control TCP protocol flow control
TCP protocol flow control
 
Transport Layer in Computer Networks (TCP / UDP / SCTP)
Transport Layer in Computer Networks (TCP / UDP / SCTP)Transport Layer in Computer Networks (TCP / UDP / SCTP)
Transport Layer in Computer Networks (TCP / UDP / SCTP)
 
Congestion on computer network
Congestion on computer networkCongestion on computer network
Congestion on computer network
 
Streaming Stored Video- Computer Networking
Streaming Stored Video- Computer Networking  Streaming Stored Video- Computer Networking
Streaming Stored Video- Computer Networking
 
Routing algorithm
Routing algorithmRouting algorithm
Routing algorithm
 
Go Back N ARQ
Go  Back N ARQGo  Back N ARQ
Go Back N ARQ
 
Multiple Access Protocal
Multiple Access ProtocalMultiple Access Protocal
Multiple Access Protocal
 
C6 Réseaux : Introduction au routage
C6 Réseaux : Introduction au routageC6 Réseaux : Introduction au routage
C6 Réseaux : Introduction au routage
 
Mobile transport layer
Mobile transport layerMobile transport layer
Mobile transport layer
 
Types of Load distributing algorithm in Distributed System
Types of Load distributing algorithm in Distributed SystemTypes of Load distributing algorithm in Distributed System
Types of Load distributing algorithm in Distributed System
 
Flow control in Computer Network
Flow control in Computer NetworkFlow control in Computer Network
Flow control in Computer Network
 

Similaire à Congestion control in tcp

Computer network (13)
Computer network (13)Computer network (13)
Computer network (13)NYversity
 
Lecture 19 22. transport protocol for ad-hoc
Lecture 19 22. transport protocol for ad-hoc Lecture 19 22. transport protocol for ad-hoc
Lecture 19 22. transport protocol for ad-hoc Chandra Meena
 
TCP Theory
TCP TheoryTCP Theory
TCP Theorysoohyunc
 
congestion control data communication.pdf
congestion control data communication.pdfcongestion control data communication.pdf
congestion control data communication.pdfnqck82120b
 
Designing TCP-Friendly Window-based Congestion Control
Designing TCP-Friendly Window-based Congestion ControlDesigning TCP-Friendly Window-based Congestion Control
Designing TCP-Friendly Window-based Congestion Controlsoohyunc
 
Tcp congestion control
Tcp congestion controlTcp congestion control
Tcp congestion controlAbdo sayed
 
Tcp congestion control (1)
Tcp congestion control (1)Tcp congestion control (1)
Tcp congestion control (1)Abdo sayed
 
chapter 3.2 TCP.pptx
chapter 3.2 TCP.pptxchapter 3.2 TCP.pptx
chapter 3.2 TCP.pptxTekle12
 
High Performance Networking with Advanced TCP
High Performance Networking with Advanced TCPHigh Performance Networking with Advanced TCP
High Performance Networking with Advanced TCPDilum Bandara
 
NetWork Design Question2.) How does TCP prevent Congestion Dicuss.pdf
NetWork Design Question2.) How does TCP prevent Congestion Dicuss.pdfNetWork Design Question2.) How does TCP prevent Congestion Dicuss.pdf
NetWork Design Question2.) How does TCP prevent Congestion Dicuss.pdfoptokunal1
 
Comparison of TCP congestion control mechanisms Tahoe, Newreno and Vegas
Comparison of TCP congestion control mechanisms Tahoe, Newreno and VegasComparison of TCP congestion control mechanisms Tahoe, Newreno and Vegas
Comparison of TCP congestion control mechanisms Tahoe, Newreno and VegasIOSR Journals
 

Similaire à Congestion control in tcp (20)

Computer network (13)
Computer network (13)Computer network (13)
Computer network (13)
 
Lecture 19 22. transport protocol for ad-hoc
Lecture 19 22. transport protocol for ad-hoc Lecture 19 22. transport protocol for ad-hoc
Lecture 19 22. transport protocol for ad-hoc
 
Part9-congestion.pptx
Part9-congestion.pptxPart9-congestion.pptx
Part9-congestion.pptx
 
Lect9 (1)
Lect9 (1)Lect9 (1)
Lect9 (1)
 
Lect9
Lect9Lect9
Lect9
 
NE #1.pptx
NE #1.pptxNE #1.pptx
NE #1.pptx
 
TCP Theory
TCP TheoryTCP Theory
TCP Theory
 
congestion control data communication.pdf
congestion control data communication.pdfcongestion control data communication.pdf
congestion control data communication.pdf
 
Tieu luan qo s
Tieu luan qo sTieu luan qo s
Tieu luan qo s
 
TCP_Congestion_Control.ppt
TCP_Congestion_Control.pptTCP_Congestion_Control.ppt
TCP_Congestion_Control.ppt
 
Designing TCP-Friendly Window-based Congestion Control
Designing TCP-Friendly Window-based Congestion ControlDesigning TCP-Friendly Window-based Congestion Control
Designing TCP-Friendly Window-based Congestion Control
 
Tcp(no ip) review part1
Tcp(no ip) review part1Tcp(no ip) review part1
Tcp(no ip) review part1
 
Tcp congestion control
Tcp congestion controlTcp congestion control
Tcp congestion control
 
Tcp congestion control (1)
Tcp congestion control (1)Tcp congestion control (1)
Tcp congestion control (1)
 
chapter 3.2 TCP.pptx
chapter 3.2 TCP.pptxchapter 3.2 TCP.pptx
chapter 3.2 TCP.pptx
 
High Performance Networking with Advanced TCP
High Performance Networking with Advanced TCPHigh Performance Networking with Advanced TCP
High Performance Networking with Advanced TCP
 
NetWork Design Question2.) How does TCP prevent Congestion Dicuss.pdf
NetWork Design Question2.) How does TCP prevent Congestion Dicuss.pdfNetWork Design Question2.) How does TCP prevent Congestion Dicuss.pdf
NetWork Design Question2.) How does TCP prevent Congestion Dicuss.pdf
 
Transport layer
Transport layerTransport layer
Transport layer
 
Tcp congestion avoidance
Tcp congestion avoidanceTcp congestion avoidance
Tcp congestion avoidance
 
Comparison of TCP congestion control mechanisms Tahoe, Newreno and Vegas
Comparison of TCP congestion control mechanisms Tahoe, Newreno and VegasComparison of TCP congestion control mechanisms Tahoe, Newreno and Vegas
Comparison of TCP congestion control mechanisms Tahoe, Newreno and Vegas
 

Dernier

The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGSujit Pal
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 

Dernier (20)

The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 

Congestion control in tcp

  • 1. Presented By Abhijit Bagchi (IT/2008/32) Bikash Chandra Pal (IT/2008/07) Soumya Sarkar (IT/2008/14) Under The Guidance of Prof Moumita Deb
  • 2. • Basics of Congestion Retransmission C • Congestion a Algorithm(TCP Reno) Catastrophe? o • Basics Strategy to • Issues in wireless combat congestion Network. n • Congestion window • TCP New Reno • Slow Start Phase • TCP Vegas . t • Congestion • TCP Westwood. Avoidance Phase • Proposed Algorithm e • Congestion • Future Works Detection Phase n • Illustration of Congestion Control t • Fast Retransmit s • Fast Recovery • Adaptive
  • 3. Basics of Congestion A network is considered congested when too many packets try to access the same router’s buffer, resulting in a large amount of packets being dropped.
  • 4. Congestion a catastrophe? • Impact of congestion may be temporary but if not handled it will be catastrophic . • A congestive collapse effects network stability, throughput and fair resource allocation to network users • Congestion control in a TCP/IP based internet is complex and challenging and over the years a lot of effort and resources have been dedicated to the research in this area.
  • 5. Basic Strategy to Combat Congestion • In case of network congestion TCP limits sender transmission rate to reduce load in the path between sender and receiver • TCP employs a window-based scheme to control the transmission rate where size of the window directly impacts transmission • Acknowledgements are used to pace the transmission of packets by the sender
  • 6. Congestion Window Congestion Window (cwnd) is a variable held by the TCP source for each connection Cwnd is set based on the perceived level of Congestion in the network
  • 7. Slow Start Phase • When a new connection is established the congestion window is initialized to one MSS(Maximum Segment Size) • Each time an ACK is received, the congestion window is increased by one MSS. • The sender can transmit up to the minimum of the congestion window and the advertised receiver window size. • Thus, the size of congestion window increases exponentially until a threshold value is reached
  • 8. Slow Start Phase(contd..) The sender keeps track of a variable called ssthresh (slow start threshold) When cwnd reaches this threshold slow start ends and next phase starts
  • 9. Congestion Avoidance Phase • Every connection is associated with a threshold value(ssthresh) . • When cwnd reaches the due threshold, congestion avoidance (additive increase) algorithm takes over. • In this phase the window size increases linearly until timeout occurs or duplicate acknowledgement is received
  • 10. Congestion Detection Phase • Congestion may be detected via either timeout or reception of duplicate acknowledgement packets • If detection by timeout then, ssthresh=0.5 X window size and a new slow start phase starts with cwnd=1MSS • If detection by 3 duplicate acknowledgement then, ssthresh=0.5 X window size and cwnd=ssthresh and a new congestion avoidance phase starts • This is called Multiplicative decrease where in either case the ssthresh variable is reinitialized to half the current cwnd
  • 12. Fast Retransmit • Hence congestion avoidance algorithm was later modified • It is assumed that if there is just a reordering of the segments, there will be only one or two duplicate ACKs before the reordered segment is processed, which will then generate a new ACK . • If more than 3 ACK is received for same segment the sender sends that particular segment even before its timer expires
  • 13. Fast Recovery • 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. • It is an improvement that allows high throughput under moderate congestion, especially for large windows. • It was added with Tcp Reno , another variant of Tcp
  • 14. Adaptive Retransmission Algorithm tout calculated as a function of RTT Send packet and keep timestamp ts When ACK arrives, record timestamp ta SampleRTT=ts – ta EstimatedRTT=α EstimatedRTT + (1 – α) SampleRTT(0.8<α<0.9) tout=ß × EstimatedRTT (ß=2)
  • 15. Issues of Wireless Networks • In wireless network, current TCP network cannot recognize packet loss from congestion or from fading radio signals • This results in unnecessary shrinking of congestion window which results in degradation of performance • However via significant research certain techniques have been discovered to solve these problems
  • 16. TCP New Reno • New Reno is a slight modification over Tcp Reno. It is able to detect multiple packet losses • Like Reno, New-Reno also enters into fast-retransmit when it receives multiple duplicate packets, however It differs from Reno in that it doesn’t exit fast-recovery until all the data which was outstanding at the time it entered fast recovery is acknowledged • Thus it over comes the problem faced by Reno of reducing the cwnd multiples times • Disadvantage:-New-Reno suffers from the fact that its take one RTT to detect each packet loss. When the ACK for the first retransmitted segment is received only then can we deduce which other segment was lost.
  • 17. TCP Vegas • TCP Vegas emphasizes on packet delay rather than on packet loss. • Vegas sets Base RTT to the smallest measured RTT, and the expected throughput is computed according to Expected throughput =window size/ Base RTT . Actual throughput= window size/ current RTT. • Vegas Calculates the difference in throughputs Diff=ӀActual throughput-Expected Throughputӏ . • If Diff < α, Vegas increases the window size linearly during the next RTT. If Diff > β, then Vegas decreases the window size linearly during the next RTT. Otherwise, it leaves the window size unchanged.
  • 18. TCP Vegas(Contd.) Disadvantage:-Since Vegas changes the window size linearly , it may not be utilizing bandwidth properly
  • 19. Tcp Westwood • In TCP Westwood the sender continuously computes the connection BandWidth Estimate (BWE) which is defined as the share of bottleneck bandwidth used by the connection. • After a packet loss indication, the sender resets the congestion window and the slow start threshold based on BWE. More precisely, cwnd=BWE x RTT. • Disadvantage :- TCPW performs poorly when random packet loss rate exceeds a few percent
  • 21. Proposed Algorithm • We would first set the baseRTT to minimum of measured round-trip times • Calculate the Expected ACK rate(e)=cwnd/baseRTT; Actual ACK rate(a)=cwnd/RTT; • Compare the Actual throughput with the expected throughput .
  • 22. Proposed Algorithm(contd.) • If (e==a)||(e<a) then , cwnd =BWE x RTT • Else cwnd= β x (BWE x RTT) where 0< β< 1 • Bandwidth Estimate(BWE)=dk /tk-t(k-1) where dk=data sent between tk-t(k-1) interval.
  • 23. Future Works • In this project we intend to simulate the devised algorithm via ns 2.34 simulator and find out results in various test cases • This test case results will be compared with existing values to come to a proper conclusion about the merits of this algorithm