TCP Congestion Control

Post new topic   This topic is locked: you cannot edit posts or make replies.    DD-WRT Forum Index -> Broadcom SoC based Hardware
Goto page Previous  1, 2, 3, 4, 5, 6, 7  Next
Author Message
gene
DD-WRT Guru


Joined: 28 Dec 2007
Posts: 619

PostPosted: Wed Feb 09, 2011 16:37    Post subject: Reply with quote
oxygenx wrote:
In fact i am teaching the data communication class at my university. i know how to explain it in a proper manner
really ? Back in the day I was in school, I remember me teaching myself and some stuffy prof taking credit for something he did not do. You are no more teaching here than you are at a university. I see no evidence of your teaching skills. It amazes me that someone can say..."go read this" and then claim they are teaching. Teaching requires the ability to take a complex subject and explain it in a digestible manner to someone who does not already have an understanding of the subject matter. A teacher DOES NOT declare themselves a teacher, a student does. The professors I had in school I call teacher are the ones that I learned from, they are not the ones that simply handed out reading assignments. Get over yourself. You have not enlightened anyone here of anything, and you presume to call on yourself to hand out reading assignments. I'm just a bit too busy to take reading assignments from a legend-in-his-own-mind. My profession is a software engineer, not network administrator, my CTO decided I was also going to be the network admin as well due to demonstrated ability. Speculating(not throwing "bullshit") is how software engineers ultimately provide you net admins with a job - its also how improvements are written into all the software you use. enough of you .... BTW, since you are supposedly at some school, why don't you take a social communications class while you are there as was previously suggested ?
_________________
1 WRT160N v3 - remote AP WPA2 Personal Aes dd-wrt-mini-trailed CPU OC400,
2 wrt54G v3(BCM4712 chip rev 1, corerev=7)- AP WPA2 Personal Aes dd-wrt-mini-generic CPU OC228,
1 wrt54gs v6 - remote AP WPA2 Personal Aes dd-wrt-micro CPU OC228 ,
3 WAP54g v3 - repeater, client Bridge, repeater bridge dd-wrt-micro CPU OC225,
1 NetGear WNR2000 v3 AP Atheros AR7241 ver 1 rev 1.1 (0x0101) Trailed build CPU OC360
DD-WRT usually the most current BS builds and less frequently lately EKO builds(because of new BS rules that eliminated EKO builds I used).
Sponsor
oxygenx
DD-WRT Guru


Joined: 11 Nov 2007
Posts: 566

PostPosted: Wed Feb 09, 2011 18:24    Post subject: Reply with quote
gene wrote:
You are no more teaching here than you are at a university. I see no evidence of your teaching skills. It amazes me that someone can say..."go read this" and then claim they are teaching. Teaching requires the ability to take a complex subject and explain it in a digestible manner to someone who does not already have an understanding of the subject matter.

Thats true. So thats how it usually works:

Teacher explains how A works, concludes the impact B of it.
Than students ask: I didnt get A, can you explain again? So the Teacher explains A again.

or "Would C be better instead of A?" So A vs. C is discussed.

So i explained briefly how congestion works (lets call this A) in one of the first posts and why it has no impact if the algo is switched on a router (lets call this B).

Then you came with... I imagine congestion control works like that (totally wrong) and conclude that it has an impact.

now lets translate it back:
Student: "I imagine A works like that (total bullshit) and conclude from that, that your statement B is wrong! what do say about this?"

what would you expect as answer from the prof instead of "Read A again"

_________________
Router: WNDR3300 (wl0: n-Only 5Ghz, WPA2-AES, wl1: g-Only, WPA-Mixed-Mixed)
WDS Node 1: WNDR3300 (wl0: n-Only 5Ghz, WPA2-AES, WDS-connected Router, wl1: g-Only WPA-Mixed-Mixed)
WDS Node 2: WRT54GL (g-Only, WPA-Mixed-Mixed WDS-connected to Router)
Modem: Cisco EPC3202
clients: Notebook 1, D-Link 323, PS3 Slim, Kathrein UFC960 connected to WDS Node 1 via Gigabit Switch. Notebook 2, Deskjet 6980 connected to WDS Node 2
Shoreguy
DD-WRT User


Joined: 29 Jan 2009
Posts: 183
Location: Miami Beach

PostPosted: Thu Feb 10, 2011 4:10    Post subject: So let me get this straight... Reply with quote
For anyone skipping to Page 6, I made a movie out of the prior 5.99 pages in order to encapsulate this conversation. ...enjoy.

http://www.xtranormal.com/watch/11093291

As I fell asleep 4096 times making it, I doubt I captured it word for word...

_________________
Home/Office
Miami Beach
Atlantic Broadband
Motorola SB6121

e4200v1
Slione
DD-WRT User


Joined: 05 Dec 2007
Posts: 215
Location: Michigan

PostPosted: Thu Feb 10, 2011 4:19    Post subject: Reply with quote
Shocked Laughing Laughing
_________________
WRT1900AC v1-build r30731
Searinox
DD-WRT Novice


Joined: 22 Dec 2010
Posts: 43

PostPosted: Thu Feb 10, 2011 20:52    Post subject: Reply with quote
Before this thing turns into some kinda internet meme.......... is there a telnet command to tweak this congestion on builds that don't have it in the UI?
JstJo
DD-WRT Novice


Joined: 18 Nov 2010
Posts: 6

PostPosted: Fri Feb 11, 2011 0:21    Post subject: Re: So let me get this straight... Reply with quote
Shoreguy wrote:
As I fell asleep 4096 times making it, I doubt I captured it word for word...

That's funny and sums it up very well! Laughing
crashfly
DD-WRT Guru


Joined: 24 Feb 2009
Posts: 2026
Location: Sol System > Earth > USA > Arkansas

PostPosted: Fri Feb 11, 2011 0:59    Post subject: Reply with quote
Searinox wrote:
Before this thing turns into some kinda internet meme.......... is there a telnet command to tweak this congestion on builds that don't have it in the UI?

It has to be done "manually" through the kernel.

To get a better feel for this, here is an older topic to see how modify those settings: http://www.dd-wrt.com/phpBB2/viewtopic.php?t=28816

_________________
E3000 22200M KongVPN K26
WRT600n v1.1 refirb mega 18767 BS K24 NEWD2 [not used]
WRT54G v2 16214 BS K24 [access point]

Try Dropbox for syncing files - get 2.5gb online for free by signing up.

Read! Peacock thread
*PLEASE* upgrade PAST v24SP1 or no support.
frater
DD-WRT Guru


Joined: 07 Jun 2006
Posts: 2777

PostPosted: Fri Feb 11, 2011 1:22    Post subject: Re: So let me get this straight... Reply with quote
Shoreguy wrote:
For anyone skipping to Page 6, I made a movie out of the prior 5.99 pages in order to encapsulate this conversation. ...enjoy.

http://www.xtranormal.com/watch/11093291

As I fell asleep 4096 times making it, I doubt I captured it word for word...
That IS FUNNY...
I was laughing my ass off.
As for the rest of this thread.... I'm outa here!

_________________
Asus RT16N + OTRW
Kingston 4GB USB-disk 128 MB swap + 1.4GB ext3 on /opt + 2 GB ext3 on /mnt
Copperjet 1616 modem in ZipB-config
Asterisk, pixelserv & Pound running on router
Another Asus RT16N as WDS-bridge

DD-WRT v24-sp2 vpn (c) 2010 NewMedia-NET GmbH
Release: 12/16/10 (SVN revision: 15758M)
Masterman
DD-WRT Guru


Joined: 24 Aug 2009
Posts: 2070
Location: South Florida

PostPosted: Fri Feb 11, 2011 16:52    Post subject: Reply with quote
Why do the majority of my threads end up in a flame war?

BTW, that video is f*cking classic! Laughing

_________________
Optware, the Right Way
Asus RT-AC68U
Asus RT-N66U
Asus RT-N10
Asus RT-N12
Asus RT-N16 x5
Asus WL520gU
Engenious ECB350
Linksys WRT600Nv1.1
Linksys WRT610Nv1
Linksys E2000
Netgear WNDR3300
SonicWall NSA220W
SonicWall TZ215W
SonicWall TZ205W
SonicWall TZ105W
bytehd
DD-WRT Novice


Joined: 26 Jun 2007
Posts: 6

PostPosted: Tue Mar 08, 2011 4:50    Post subject: Reply with quote
Quote:
"changing it on a router is completely useless"


Quote:
"endpoint are units called that "consume" or "create" packets.that does not apply for a router doing nat.
It's true it modifies the packet,
but still it does not create it.
that's only point where congestion control is applied."


Looks like someone is confused with his own words here.
So which is it?
"changing it on a router is completely useless"
or
"that's only point where congestion control is applied"

First off,
Congestion control is applied to a router and an endpoint.
Thats why dd-wrt and Linux have 8 user-selectable algorithms.
Windows XP has no selection. Svr 2008 has 2.
Takeaway: A router with 2 interfaces is an endpoint to devices A and B communicating through it.

Second,
Changing it (we assume he means the congestion algorthm) does make a difference on a router,
as the router IS the endpoint for the sending AND receiving devices.
An endpoint does not send directly to the other endpoint, bypassing the router altogether.
The router manages its own flows to its connected endpoints in its routing table, true.
But the router doesnt just pass all packets through it without any regard for the acks coming
back from the endpoints it is connecting. The router itself can also get overwhelmed.
If the router connecting the sending endpoint is too busy, it sends endpoint A the NACK,
then endpoint A throttles back based on its algorithm.
Takeaway: The router is part of the link.

Third,
Packets are CREATED on routers ON EVERY SINGLE PACKET.
If a interface receives a packet bound for an address on another interface that the router knows about,
(or uses the default gateway), the router creates that outbound packet with the data from the incoming packet in the buffer of the outgoing interface.

Here is how it works:
A typical dd-wrt box has 4 LAN ports, 1 WAN port and a wireless radio.
There are maximums for mac addresses, tcp ports, udp ports etc
all these parameters are set by the sysctl linux command
some are exposed in the GUI, or just SSH into the box to change/view them yourself

Fourth,
This is ALWAYS complicated on an internet facing router.
Now the Congestion Control is applied to all router interfaces at boot up, using sysctl
(CONFIG_DEFAULT_TCP_CONG I think)
But above the network layer, on a router, we are all talking about IPTABLES running NAT here.
Endpoint A talking THROUGH dd-wrt to your uTorrent XP box doesnt just talk straight to the XP box' interface.

Every interface in a Linux box has incoming, outgoing and forwarded packets.
Its easy to think of it this way: You run Firefox on Linux,
Then you click http://www.oxyisanidiot.com and your IP stack creates the first outgoing
SYN packet, then the standard TCP 3-packet connection is established, then the endpoints talk.

If you were to do a TCP dump on the interfaces, you would see this traffic.

If you read IPTables docs, you will see that there are filter, mangle and other "tables"
the router uses to move packets around.
You will notice that ONE INTERFACE has IN, OUT and FORWARD flow destinations
IN = packet came in on the interface
OUT=we are sending the packet out the interface
LOCAL= from OSI Stack above (the app)
FORWARD= packet originated on one interface bound for another

Basic example: Did you notice that you can SEND AND RECEIVE packets with only one network card?
Amazing huh?
In IPTables, these are referred to as "tables"

The only thing we cant do (yet), is change the CC algorithm per interface. That would be to put Westwood on the Radio.

Fifth,
There is a difference between Congestion Avoidance and Congestion Control
vegas is the loser either way because it fails on back pressure.
Here is an evaluation of Vegas, New Tahoe and Westwood+
http://www.google.com/url?sa=t&source=web&cd=1&sqi=2&ved=0CBcQFjAA&url=http%3A%2F%2Fciteseerx.ist.psu.edu%2Fviewdoc%2Fdownload%3Fdoi%3D10.1.1.141.4439%26rep%3Drep1%26type%3Dpdf&ei=2qd1TbOkDY6D0QHUkpTYBg&usg=AFQjCNEE6O-0ldpYhIRPNvzBejdWu9hXKg

In the article, these algorithms were compared with back traffic.
The evaluation was this: timing single streams (Youtube, FTP) with varying levels of "back traffic"
We all know what that is (ESP ON OUR OWN IN-HOUSE NETWORKS):
The ability to watch a video stream and run bitorrent AT THE SAME TIME.
There is no such intelligence on an endpoint (aka, the endpoint NEVER sees back traffic on a network it is sharing because the the traffic is NOT bound for it.)
In other words, your endpoint will wonder why its packets are being acked slower and slower, but will never know because its not the router getting swamped.
The router is the router and manages its own interfaces with congestion control as well.
Do you actually think ONLY the endpoints are doing CControl ONLY to each other, and all the other shared traffic at your ISP
just lets yours and only yours through? NO! all the other traffic AFFECTS your throughput on a shared medium.


Sixth,
NONE OF THIS MATTERS unless everyone is using either
1) the same algorthm EVERYWHERE along all hops between endpoints on every interface
2) an algorithm that plays nice with another algorthm.

Seventh,
Brainslayer added Westwood+
That algorithm is best for wireless connections!
but according to oxymoron:
"changing it on a router is completely useless"

Indeed why would BS code all this, because after all, "changing it on a router is completely useless"
No, its not.
Every Linux stack runs an algorithm on every interface.
dd-wrt is a linux box running TCP/IP.
Period.
If you guys want a good ref for high-performance networking see ntop
http://luca.ntop.org/IM2009_Tutorial.pdf

Nice try "teach"
Time to go back to skool...

"The prisoners refer to him by the nickname "85", after his IQ score, which annoys him"
oxygenx
DD-WRT Guru


Joined: 11 Nov 2007
Posts: 566

PostPosted: Tue Mar 08, 2011 7:01    Post subject: Reply with quote
i didnt not read it all, it was just too long. just one thing to point out: In the time you wrote that, you could instead got a book (i mentioned some in a earlier post) and read how tcp congestion control works. than you wouldn't have wrote that.
_________________
Router: WNDR3300 (wl0: n-Only 5Ghz, WPA2-AES, wl1: g-Only, WPA-Mixed-Mixed)
WDS Node 1: WNDR3300 (wl0: n-Only 5Ghz, WPA2-AES, WDS-connected Router, wl1: g-Only WPA-Mixed-Mixed)
WDS Node 2: WRT54GL (g-Only, WPA-Mixed-Mixed WDS-connected to Router)
Modem: Cisco EPC3202
clients: Notebook 1, D-Link 323, PS3 Slim, Kathrein UFC960 connected to WDS Node 1 via Gigabit Switch. Notebook 2, Deskjet 6980 connected to WDS Node 2
crashfly
DD-WRT Guru


Joined: 24 Feb 2009
Posts: 2026
Location: Sol System > Earth > USA > Arkansas

PostPosted: Tue Mar 08, 2011 17:43    Post subject: Reply with quote
oxygenx wrote:
i didnt not read it all, it was just too long. just one thing to point out: In the time you wrote that, you could instead got a book (i mentioned some in a earlier post) and read how tcp congestion control works. than you wouldn't have wrote that.
And instead of misleading everyone else on what *you* think, you could give some proof. You have none that you can show us. You still spout bullshit until you give proof.
_________________
E3000 22200M KongVPN K26
WRT600n v1.1 refirb mega 18767 BS K24 NEWD2 [not used]
WRT54G v2 16214 BS K24 [access point]

Try Dropbox for syncing files - get 2.5gb online for free by signing up.

Read! Peacock thread
*PLEASE* upgrade PAST v24SP1 or no support.
oxygenx
DD-WRT Guru


Joined: 11 Nov 2007
Posts: 566

PostPosted: Tue Mar 08, 2011 18:42    Post subject: Reply with quote
I did that.

I explained how congestion control works and by that why it's only applied on the tcp sender. it can be easily proven by the books and rfcs.

phuque99 confirmed how it works by the mean of the actual linux code. everybody who is familiar with C can look it up, too.

other people in this thread are also supporting it by stating "i changed something, now it feels better"; a clear placebo effect. no one can give actual numbers which show an improvment. in fact every person can test the impact of changing the tcp algo on a middle node itself by measuring the tcp speed. e.g. with my tcp measurement tool flowgrind or something else like netperf.

_________________
Router: WNDR3300 (wl0: n-Only 5Ghz, WPA2-AES, wl1: g-Only, WPA-Mixed-Mixed)
WDS Node 1: WNDR3300 (wl0: n-Only 5Ghz, WPA2-AES, WDS-connected Router, wl1: g-Only WPA-Mixed-Mixed)
WDS Node 2: WRT54GL (g-Only, WPA-Mixed-Mixed WDS-connected to Router)
Modem: Cisco EPC3202
clients: Notebook 1, D-Link 323, PS3 Slim, Kathrein UFC960 connected to WDS Node 1 via Gigabit Switch. Notebook 2, Deskjet 6980 connected to WDS Node 2
basmaf
DD-WRT Guru


Joined: 24 Feb 2011
Posts: 1074

PostPosted: Thu Apr 07, 2011 21:46    Post subject: Reply with quote
@ oxygenx

Youre right that CC is applied at the tcp sender

BUT.....

I suggest to scroll a bit more down in the RFC 2581.
In almost every step of the process "ack" is addressed
According to your explanation TCP packets are only acked by receiver.

Small example | Start a stream from You-tube.
No router between PC and Server will perform any Congestion Control.
Since CC is only applied in the sender
Are you mad?

A TCP packet is always sent by a Host
Since a router is also a host.....
Small surprise your pc is also a router Layer 3 remember.

TCP connections are between hosts period
each packet between host is acknowledged
When "acked" it has reached its destination
Then it forwards it to the next host. Forward = Send CC can assess connection again.

I expect a teacher in data to have a bit more knowledge since ack nack is explained in every basic ip training
So if I was you I would read a bit more and have a teacher explain it once more till it sinks in.

Conclusion.

CC is only applied on sending "HOST"

Packet has reached destination when it reaches next host.
(Source and destination are changed in the IP header,
Destination > Source & "Next Host"> Destination)

Packet is sent from a new "SOURCE"
CC can be applied again.

So Changing avoidance algorithm can have influence on connection.

A bit of self reflection wouldn't hurt.



If there are any typos English isn't native language
Smile
crashfly
DD-WRT Guru


Joined: 24 Feb 2009
Posts: 2026
Location: Sol System > Earth > USA > Arkansas

PostPosted: Thu Apr 07, 2011 22:28    Post subject: Reply with quote
Thank you for that explanation basmaf. It makes what we were trying to say so much clearer.
_________________
E3000 22200M KongVPN K26
WRT600n v1.1 refirb mega 18767 BS K24 NEWD2 [not used]
WRT54G v2 16214 BS K24 [access point]

Try Dropbox for syncing files - get 2.5gb online for free by signing up.

Read! Peacock thread
*PLEASE* upgrade PAST v24SP1 or no support.
Goto page Previous  1, 2, 3, 4, 5, 6, 7  Next Display posts from previous:    Page 6 of 7
Post new topic   This topic is locked: you cannot edit posts or make replies.    DD-WRT Forum Index -> Broadcom SoC based Hardware All times are GMT

Navigation

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You can attach files in this forum
You can download files in this forum