Jump to content

Congestion Control

- - - - -

  • Please log in to reply
8 replies to this topic

#1
Apprentice123

Apprentice123

    Programming Expert

  • Members
  • PipPipPipPipPipPip
  • 430 posts
How is the congestion control, when the buffer is finite, in an exchange of packets between sender and recipient?

#2
Apprentice123

Apprentice123

    Programming Expert

  • Members
  • PipPipPipPipPipPip
  • 430 posts
What would be the congestion control ? The sender should limit the rate at which it sends traffic to your connection so as to take control of congestion?

#3
dargueta

dargueta

    Writes binary right handed and hex left handed

  • Moderators
  • 4,720 posts
  • Programming Language:C, Java, C++, PHP, Python, Perl, Assembly, Bash, Others
  • Learning:JavaScript
Dropping packets is usually the way it works, though that's more of the router's job. Is there any reason why you replied to your own question?
sudo rm -rf /

#4
Apprentice123

Apprentice123

    Programming Expert

  • Members
  • PipPipPipPipPipPip
  • 430 posts

dargueta said:

Dropping packets is usually the way it works, though that's more of the router's job. Is there any reason why you replied to your own question?

I asked if what I think is correct

#5
dargueta

dargueta

    Writes binary right handed and hex left handed

  • Moderators
  • 4,720 posts
  • Programming Language:C, Java, C++, PHP, Python, Perl, Assembly, Bash, Others
  • Learning:JavaScript
That's not really the way it works. The server is supposed to ignore/delay requests as necessary to throttle the traffic back.
sudo rm -rf /

#6
Apprentice123

Apprentice123

    Programming Expert

  • Members
  • PipPipPipPipPipPip
  • 430 posts

dargueta said:

That's not really the way it works. The server is supposed to ignore/delay requests as necessary to throttle the traffic back.

Is there any algorithm to control congestion?

#7
dargueta

dargueta

    Writes binary right handed and hex left handed

  • Moderators
  • 4,720 posts
  • Programming Language:C, Java, C++, PHP, Python, Perl, Assembly, Bash, Others
  • Learning:JavaScript
FIFO, I guess. Keep a queue of queries of some predetermined size, and send an error message back to the ones that don't fit in the queue.
sudo rm -rf /

#8
zoranh

zoranh

    Programming Professional

  • Members
  • PipPipPipPipPip
  • 207 posts
Limiting send rate is typically implemented using Leaky Bucket algorithm. In that case, sender is responsible to ensure that bucket does not overflow, or otherwise data will be lost. This algorithm is not perfect, because it still does not guarantee that congestion will not occur.

If congestion occurs at receiver (e.g. it is a server with many socket connections), then control can be implemented there - receiver is expected to control amount of data sent by the remote node. For example, receiver sends allowed amount of data to each of the senders, and senders may not send more than that until ordered so.

#9
Apprentice123

Apprentice123

    Programming Expert

  • Members
  • PipPipPipPipPipPip
  • 430 posts

zoranh said:

Limiting send rate is typically implemented using Leaky Bucket algorithm. In that case, sender is responsible to ensure that bucket does not overflow, or otherwise data will be lost. This algorithm is not perfect, because it still does not guarantee that congestion will not occur.

If congestion occurs at receiver (e.g. it is a server with many socket connections), then control can be implemented there - receiver is expected to control amount of data sent by the remote node. For example, receiver sends allowed amount of data to each of the senders, and senders may not send more than that until ordered so.

OK. The best control is to use end-to-end ? In which, TCP reduces the window size according to the packet loss ?
See if my thinking is correct:
If a TCP sender realizes there is little congestion on the path between him and the recipient will increase its sending rate, if realize exist congestion on the way will reduce its sending rate. Was that it?




1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users