Ping goes to hell when network is under load. I am really tired of it.

maseck

Junior Member
Dec 15, 2014
1
0
0
I posted this on reddit since I didn't feel like creating an account somewhere more appropriate.

http://www.np.reddit.com/r/techsupp...goes_to_hell_when_network_is_under_load_i_am/

Pings jump to around 500-1000 ms.

Normal Trace route:

Code:
    traceroute to xkcd.com (107.6.106.82), 30 hops max, 60 byte packets
 1  192.168.1.1 (192.168.1.1)  1.296 ms  1.270 ms  1.391 ms
 2  10.4.50.1 (10.4.50.1)  43.871 ms  46.585 ms  47.993 ms
 3  P0-3.BLTMMD-LCR-04.verizon-gni.net (130.81.135.100)  51.978 ms  52.880 ms  54.876 ms
 4  so-6-0-3-0.PHIL-BB-RTR2.verizon-gni.net (130.81.28.82)  98.234 ms  69.680 ms  69.905 ms
 5  0.xe-3-0-1.XL4.IAD8.ALTER.NET (152.63.3.69)  70.264 ms  71.498 ms  73.137 ms
 6  TenGigE0-7-0-3.GW1.IAD8.ALTER.NET (152.63.35.157)  79.092 ms TenGigE0-7-0-2.GW1.IAD8.ALTER.NET (152.63.35.153)  59.607 ms TenGigE0-7-0-1.GW1.IAD8.ALTER.NET (152.63.35.149)  59.907 ms
 7  teliasonera-gw.customer.alter.net (152.179.50.234)  63.288 ms  63.736 ms  67.101 ms
 8  ash-bb3-link.telia.net (80.91.252.88)  66.695 ms ash-bb3-link.telia.net (80.91.252.92)  68.048 ms  70.283 ms
 9  nyk-bb2-link.telia.net (213.155.131.236)  68.523 ms nyk-bb1-link.telia.net (213.155.131.226)  69.995 ms nyk-bb1-link.telia.net (213.155.131.238)  71.476 ms
10  nyk-b5-link.telia.net (213.155.131.137)  72.956 ms nyk-b5-link.telia.net (213.155.135.79)  76.573 ms  78.042 ms
11  internap-ic-305784-nyk-b5.c.telia.net (213.248.66.102)  58.533 ms  59.575 ms  61.295 ms
12  border3.pc1-bbnet1.ext1.nym.pnap.net (216.52.95.21)  62.883 ms border4.pc1-bbnet1.ext1.nym.pnap.net (216.52.95.22)  64.584 ms  64.839 ms
13  inapvoxcust-1661.ext1.nym.net (63.251.26.30)  67.939 ms  69.669 ms inapvoxcust-1662.border4.ext1.nym.pnap.net (63.251.26.42)  68.270 ms
14  0.te1-2.tsr1.lga11.us.voxel.net (173.231.161.97)  69.155 ms  68.478 ms 107.6.106.82 (107.6.106.82)  70.333 ms
Watching a youtube video in my browser on my laptop (not the computer I'm tracing from):

Code:
traceroute to xkcd.com (107.6.106.82), 30 hops max, 60 byte packets
 1  192.168.1.1 (192.168.1.1)  1.480 ms  1.448 ms  1.429 ms
 2  10.4.50.1 (10.4.50.1)  389.704 ms  389.906 ms  389.890 ms
 3  P0-3.BLTMMD-LCR-04.verizon-gni.net (130.81.135.100)  390.233 ms  396.160 ms  396.155 ms
 4  so-6-0-3-0.PHIL-BB-RTR2.verizon-gni.net (130.81.28.82)  401.820 ms  402.649 ms  403.335 ms
 5  0.xe-3-0-1.XL4.IAD8.ALTER.NET (152.63.3.69)  427.890 ms  427.886 ms  427.871 ms
 6  TenGigE0-5-0-0.GW1.IAD8.ALTER.NET (152.63.33.253)  413.811 ms TenGigE0-5-1-0.GW1.IAD8.ALTER.NET (152.63.38.250)  261.001 ms TenGigE0-5-0-0.GW1.IAD8.ALTER.NET (152.63.33.253)  261.441 ms
 7  teliasonera-gw.customer.alter.net (152.179.50.234)  272.313 ms  329.717 ms  329.678 ms
 8  ash-bb3-link.telia.net (62.115.134.53)  361.117 ms ash-bb4-link.telia.net (62.115.134.61)  361.114 ms ash-bb4-link.telia.net (213.155.133.232)  361.099 ms
 9  nyk-bb2-link.telia.net (62.115.137.67)  361.553 ms nyk-bb2-link.telia.net (62.115.137.65)  368.907 ms nyk-bb2-link.telia.net (213.155.134.128)  361.045 ms
10  nyk-b5-link.telia.net (213.155.131.137)  361.029 ms nyk-b5-link.telia.net (213.155.135.19)  361.015 ms nyk-b5-link.telia.net (213.155.130.245)  285.839 ms
11  internap-ic-305784-nyk-b5.c.telia.net (213.248.66.102)  286.050 ms  286.416 ms  287.019 ms
12  border4.pc2-bbnet2.ext1.nym.pnap.net (216.52.95.77)  287.155 ms border4.pc1-bbnet1.ext1.nym.pnap.net (216.52.95.22)  287.633 ms border4.pc2-bbnet2.ext1.nym.pnap.net (216.52.95.77)  703.098 ms
13  inapvoxcust-1661.ext1.nym.net (63.251.26.30)  718.890 ms inapvoxcust-1662.border4.ext1.nym.pnap.net (63.251.26.42)  718.510 ms  718.841 ms
14  0.te1-2.tsr1.lga11.us.voxel.net (173.231.161.97)  720.197 ms  720.185 ms  721.759 ms
15  107.6.106.82 (107.6.106.82)  720.806 ms  721.103 ms  721.435 ms
Computer specs: All of them
Router: ASUS RT-N13U
Westell A90-210015-04 Westell 2100
ISP: verizon DSL: 3 mbps
I just want to add a note. Using my laptop, I couldn't reproduce the effect of the twitch stream stopping and starting constantly.
Is there a way to stop this madness.
I just want to note that loading even minimal web pages becomes unbearably slow.
 
Last edited:

unixwizzard

Senior member
Jan 17, 2013
205
0
76
what you are experiencing is what happens anytime a network is "under load"..

especially if one is using a connection with a download speed of 3mbps and being you have Verizon then your upstream speed is 384-768 kbps.

more than anything, that slow upstream speed is why you are seeing what you are seeing.

the only way to "stop the madness" as you say, is to switch to a service that offers better transfer rates.
 

azazel1024

Senior member
Jan 6, 2014
901
2
76
Yup. Connection is too slow. Even something like a 360p youtube video is probably going to take 1-2Mbps and some upstream bandwidth too. That does not leave a whole lot left over. Depending on what settings you are using for some things, it is going to max quality...so youtube is probably trying to slurp your entire bandwidth and that is a MIGHTY tiny straw to try to slurp through.

There isn't really a solution for a connection that slow other than to get a faster connection. QoS could maybe help a smidge, but that would be like putting a bandaid on a sucking cheast wound.
 

kevnich2

Platinum Member
Apr 10, 2004
2,465
8
76
pings (ICMP) are low priority on the network when other traffic is going through. With your connection speed, videos are likely taking up all available bandwidth so ICMP is the last in line. There's really nothing you can do to fix that besides getting a faster connection.

You can do QOS but I don't see the point for your situation other than putting a rule in that video sites have lower priority than general web browsing but this will depend on your router to see if it's even capable of doing QOS in this fashion.

You're consuming all the available bandwidth watching video, QOS or not.
 
Feb 25, 2011
16,984
1,616
126
pings (ICMP) are low priority on the network when other traffic is going through. With your connection speed, videos are likely taking up all available bandwidth so ICMP is the last in line. There's really nothing you can do to fix that besides getting a faster connection.

You can do QOS but I don't see the point for your situation other than putting a rule in that video sites have lower priority than general web browsing but this will depend on your router to see if it's even capable of doing QOS in this fashion.

You're consuming all the available bandwidth watching video, QOS or not.

When most people complain about ping, they're talking about lag in games.

We used to have a 1.5Mb DSL connection. *shudder* When my housemate watched Netflix, my ping time in most MMOs would go from 75ms to 500+ms. QoS kept it around 100.
 

VirtualLarry

No Lifer
Aug 25, 2001
56,570
10,202
126
Does that modem / router have a "TurboTCP" option? I know that the Westell 327W wireless router / DSL modem combo unit does. I would suggest getting one of those, and setting that option to "Enabled". It helps a lot with web browsing.

What it does, is prioritize ACKs.

Edit: If you can't get cable where you are, then I would get a Westell 327W and enable that option, and try it. Shouldn't cost you more than $10-20 on CL.
 
Feb 25, 2011
16,984
1,616
126
Does that modem / router have a "TurboTCP" option? I know that the Westell 327W wireless router / DSL modem combo unit does. I would suggest getting one of those, and setting that option to "Enabled". It helps a lot with web browsing.

What it does, is prioritize ACKs.

Edit: If you can't get cable where you are, then I would get a Westell 327W and enable that option, and try it. Shouldn't cost you more than $10-20 on CL.

That's a ten year old ADSL modem.

The "TurboTCP" function is just a brand name for a specific QoS (Quality of Service) implementation.

Prioritizing TCP traffic over, say, UDP, would tend to create more reliable data transmission at the expense of, say, video streaming (which is usually UDP.) The video protocols will handle it better because they buffer.

But a more modern router would tend to have a beefier processor, etc., and would be preferable, even if it cost more. (Would also presumably support faster connection standards, have more features, route packets faster, possibly be compatible with third-party firware, etc.)
 

VirtualLarry

No Lifer
Aug 25, 2001
56,570
10,202
126
But a more modern router would tend to have a beefier processor, etc., and would be preferable, even if it cost more. (Would also presumably support faster connection standards, have more features, route packets faster, possibly be compatible with third-party firware, etc.)

But why would you need a beefier processor for a 3Mbit ADSL line? It's not like the router is getting overloaded due to PPS (packets per second) issues. It's that the line is congested. Which TurboTCP can help with. It's a fairly cheap fix attempt, if the OP can't change to a cable provider.
 
Feb 25, 2011
16,984
1,616
126
But why would you need a beefier processor for a 3Mbit ADSL line? It's not like the router is getting overloaded due to PPS (packets per second) issues. It's that the line is congested. Which TurboTCP can help with. It's a fairly cheap fix attempt, if the OP can't change to a cable provider.

It's not just overall bandwidth, it's traffic, type of traffic, quantity of small packets, number of clients, and the services you expect the router to perform. Moreover, while a lot of low end routers support fancy features like QoS (or 'lite' versions thereof that aren't very configurable) they usually don't have the CPU power to actually implement those features well - it's targeted at people who won't know the difference. QoS requires the router to actually analyze the packets, not just route them - it's a lot more work. Content filtering is even more work beyond that.

Or better yet, they support features on paper but they're so buggy they're unusable. (I was talking to a guy yesterday who was setting up his mom's new router over the weekend. Apparently they SAY they support port forwarding, and will let you configure it, but according the manufacturer's support line... no. They do not support port forwarding. That feature is known to not work.)

I've had several cheap modem/routers like that provided by my ISP over the years, I buried them all. One cooked itself to death a couple weeks after I started using BitTorrent. The next couple needed to be rebooted every couple days because they would run out of RAM. And at no time prior to 2013 did I ever have an internet connection faster than 1.5Mbps download.

I splurged in 2007. My first "fancy" router eventually wore out, but my answer to that was to replace it with something better, not something worse. Recommending a ten year old router when most of them are lucky to survive for five years is just bad mojo. Recommending a completely inadequate piece of hardware because it's cheap is borderline malpractice. It's $20, but it's probably $20 down the tubes.

You should read The Captain Samuel Vimes "Boots" Theory of Socioeconomic Unfairness. And take it to heart. Better to buy one good one four double the price than four bad ones for quadruple the price.

CHEAP-CRAP-LOGO2.jpg
 
Last edited:

VirtualLarry

No Lifer
Aug 25, 2001
56,570
10,202
126
I was speaking from real-life experience. I was on Verizon DSL 3Mbit for a long time, and I never had any issues like the OP. I was using a Westell 327W. Call it "cheap crap" all you want, but as far as Verizon DSL goes, it works well, and is inexpensive used. TurboTCP works, and allows one to web browse decently, while large downloads are going on in the background.
 

VirtualLarry

No Lifer
Aug 25, 2001
56,570
10,202
126
Recommending a completely inadequate piece of hardware because it's cheap is borderline malpractice. It's $20, but it's probably $20 down the tubes.
I'm not recommending it because it's cheap, I'm recommending it because it works well, I've owned one or two of them, it was designed to work with Verizon DSL. The fact that it's cheap used is one more reason to try one. If you want a new one, if they're still available from Verizon, they're probably $100-130.

Edit: They're all over ebay, from around $10 to $30. Try to get one that is labeled Verizon.
 
Last edited:

inachu

Platinum Member
Aug 22, 2014
2,387
2
41
It would help to buy a gaming router.
In my case I bought the Apple airport extreme AC wifi router and our network is perfect now at home.
 

inachu

Platinum Member
Aug 22, 2014
2,387
2
41
It's not just overall bandwidth, it's traffic, type of traffic, quantity of small packets, number of clients, and the services you expect the router to perform. Moreover, while a lot of low end routers support fancy features like QoS (or 'lite' versions thereof that aren't very configurable) they usually don't have the CPU power to actually implement those features well - it's targeted at people who won't know the difference. QoS requires the router to actually analyze the packets, not just route them - it's a lot more work. Content filtering is even more work beyond that.

Or better yet, they support features on paper but they're so buggy they're unusable. (I was talking to a guy yesterday who was setting up his mom's new router over the weekend. Apparently they SAY they support port forwarding, and will let you configure it, but according the manufacturer's support line... no. They do not support port forwarding. That feature is known to not work.)

I've had several cheap modem/routers like that provided by my ISP over the years, I buried them all. One cooked itself to death a couple weeks after I started using BitTorrent. The next couple needed to be rebooted every couple days because they would run out of RAM. And at no time prior to 2013 did I ever have an internet connection faster than 1.5Mbps download.

I splurged in 2007. My first "fancy" router eventually wore out, but my answer to that was to replace it with something better, not something worse. Recommending a ten year old router when most of them are lucky to survive for five years is just bad mojo. Recommending a completely inadequate piece of hardware because it's cheap is borderline malpractice. It's $20, but it's probably $20 down the tubes.

You should read The Captain Samuel Vimes "Boots" Theory of Socioeconomic Unfairness. And take it to heart. Better to buy one good one four double the price than four bad ones for quadruple the price.

CHEAP-CRAP-LOGO2.jpg

Very true! I learned that the hard way.
Even the D-link extreme which is a mid range quality router was not enough for me.
 
Feb 25, 2011
16,984
1,616
126
I'm not recommending it because it's cheap, I'm recommending it because it works well, I've owned one or two of them, it was designed to work with Verizon DSL. The fact that it's cheap used is one more reason to try one. If you want a new one, if they're still available from Verizon, they're probably $100-130.

Edit: They're all over ebay, from around $10 to $30. Try to get one that is labeled Verizon.

They have 6MB of RAM. D:
 

inachu

Platinum Member
Aug 22, 2014
2,387
2
41
They have 6MB of RAM. D:




Reminds me of the Linksys WRT series routers that had that bug that if you turned on logging and if the logging on the wifi router got filled up then the firewall would be disabled until you cleared out the logs.

6 megs!!!! LOL... #sad :thumbsdown:
 
Feb 25, 2011
16,984
1,616
126
Reminds me of the Linksys WRT series routers that had that bug that if you turned on logging and if the logging on the wifi router got filled up then the firewall would be disabled until you cleared out the logs.

6 megs!!!! LOL... #sad :thumbsdown:
My old Actiontecs (that couldn't keep up with BitTorrent) had 12.

My current router has 256. (although 32MB get eaten by the file system).
 

alpineranger

Senior member
Feb 3, 2001
701
0
76
There are actually a few different phenomena at play here.

One is the relationship between system utilization and average response time (approximates latency) from basic queueing theory. Exponential and asymptotically approaching infinity as system utilization reaches 100%. Even for nontechnical people, this result is easy to see in highway congestion. Bottom line, for reasonable latency, it is important to ensure that except for brief transients, traffic over the bottleneck link does not exceed a threshold much lower than the full capacity of that link.

The second (and secondary) concern particularly affects the TCP traffic for things like web browsing, but not ICMP traffic and certain other data which would use UDP. In this case, the high bandwidth delay product results in very slow effective TCP transfers due to high latency in the TCP control loop. TCP is generally well behaved by itself, but multiple tcp streams in particular make it such that you will have repeated and significant time segments in which the aggregate sending windows result in overwhelming the bottleneck link's capacity. Bottom line, the more independent tcp streams you have at any given time, the more conservative you want to be in your QoS parameters to ensure good latency, and the more important it is to have traffic shaping turned on at all.

The point about ICMP packets being low priority is actually not a factor in this particular case, since the bottleneck link is between the LAN gateway (192.168.1.1) and the ISP's IP edge device (10.4.50.1). In actuality, there is usually a large non IP aggregation layer here but in practice the limit is almost always on the CPE (cable / dsl modem). I have not seen any consumer grade equipment that does any traffic prioritization by default (there is a big performance penalty for doing so in software). All IP traffic would be treated equally.
 

Gryz

Golden Member
Aug 28, 2010
1,551
204
106
I never understand these discussions. I'm probably just too stupid. Maybe someone can enlighten me.

When talking about congestion, people always bring up QoS. But I don't think they really mean Quality of Service. As far as I always understood, QoS is where one router (or a host) sets the IP-Precedence bits in the IPv4 header (to a non-zero value). Other routers in the path (downstream from the router that sets the precedence-bits) will use different queuing-priorities, depending on how they interpret those bits.

That's QoS. What people usually seem to be talking about is Priority Queueing. Or some related form of Priority Queuing. Your router makes a local decision which packets to send out first, when it has more than one packet in the output-queue. Note, a resulting attribute of this is that priority-queuing can only have local effect. And only in one direction. E.g. if you do priority-queuing on your own router at home, you can impact traffic flowing from your house to your ISP. But you can not impact traffic flowing from your ISP to your home.

Or am I missing something ?

If you want QoS in the scenario the OP describes you need:
1) your router to recognize the UDP packets that your PC sends back to YT as acks
2) your router sets the IP-Precedence bits. To a value your ISP will understand
3) your ISP need to not reset the IP-Precedence bits.
4) YouTube needs to recognize the IP-Precedence bits. And sets the same value in the packets they send to you.
5) Your ISP needs to understand what these bits means.
6) Your ISP needs to honor the IP-Precedence bits. And prioritize traffic on the last mile.

I find that all very unlikely.

People seem to think that if you configure your router with QoS, or to be more precise, with different priorities for different applications/packettypes, then your ISPs router magically suddenly knows what traffic to prioritize. What protocol would be used for that ? Not RSVP for sure. Not MPLS-TE. What ? How do you all envision this works ? I am really curious.

In theory you could do some form of traffic-shaping. But I hardly ever hear people talk about traffic shaping.

Traffic shaping is e.g. when your router looks at all TCP-flows going through. It will change, drop or delay TCP acks, to influence the speed at which the other side of the conversation sends traffic to you. E.g. suppose you have an FTP-over-TCP and a Voice-over-TCP connection. And your whole link is full (congested). Your router could delay TCP-acks in the FTP-stream, which will make the other side think/notice there is congestion. And it will slow down.

Do any home-routers support this ? I did a little googling, but I didn't find any indications they do.

The best way to solve congestion would be if your ISP's router did proper priority-queuing. I think some ISPs do. I suspect my ISP does it. There are a few fact that always suprise me. 1) when I use TeamSpeak or Skype, and my link is congested, voicecome still keeps working fine. No dropped connectons, no stuttering, nothing. This couldn't happen if nothing special was done. 2) Torrents are prioritized over Usenet. Or, what I suspect: Usenet is at the bottom of priorities. When I download something from Usenet, I get 100% utilization of my adsl-link (as seen on the router's statistics page). Then when I start a torrent, link-utilization stays at 100%. But in my applications, I can see that Usenet download-speed has dropped significantly (towards 0%), and Torrent utilization is close to my full bandwidth. It must be something my ISP is doing. (Note, I use my ISP's Usenet server).

So again, when people talk about QoS:
1) I always wonder if they mean true QoS, or just priority-queuing
2) I always wonder if priority-queuing on your home-router can actually solve these common congestion problems
3) I always wonder if any home router actually implements true QoS
4) I always wonder if any ISP would honor true QoS
5) I always wonder if any home router can do traffic shaping of TCP traffic
6) I always wonder if traffic shaping would also work for non-TCP traffic

Anyone here who can enlighten me ?
 

azazel1024

Senior member
Jan 6, 2014
901
2
76
Priority queueing can still help things. As pointed out earlier, if ack packets get higher priority on outgoing while the upstream is congested, that can help relieve things downstream too. No, there is no real way to help downstream if the downstream is totally blocked up, but if the UPSTREAM is also blocked up, the downstream will also be effected as ACK packets begin to take to long to get sent out, so downstream data packets end up getting held up or retransmitted to you.

So QoS/priority Queueing can help some. The issue is still that the connection is too small for what you are trying to do with it, but there are some things that can have some limited impact to improve some services. Think of it more like turning the emergency lights on the packets while stuck in a high way of traffic (but with no shoulder). All the other traffic is slowed even more moving out of the way of the police car, but the police car at least probably can move through the traffic a little faster.

Actually if you have a rather large pipe, then even if it is 100% utilized by something, small traffic demands won't result in greatly increased latency. Sure, the bandwidth is reduced for each TCP stream as you only have a pipe that is so large. However, at, say, 75Mbps if a single ack packet has to get sent out, that is a MUCH smaller delay than if a fully utilized 1Mbps connection was being used...by a factor of 75 and that ACK packet also takes up 1/75th of the pipe that it would on a 1Mbps connection too!

On the downstream, similar thing, you have a loaded 75Mbps pipe, if you spin up a 5Mbps Netflix stream, the TCP stream is losing only a small mount to the Netflix UDP video stream and it only takes a small amount longer for various packets to come in. Now with a 3Mbps downstream pipe, if you even tried to bring up a 300Kbps email download while the connection was being 100% utilized by streaming youtube videos...that is going to cause a lot more havoc.

Priority Queueing/QoS CAN help with things, but it is a bandaid on an amputation a lot of times. Oh, sometimes it can do wonders, but it does not cure the underlying issue. It can make gaming be bearable maybe, but then you are nailing some other service that now has greatly increased latency or a much smaller pipe to work with (then again, maybe the service that has greatly increase latency or a smaller pipe can tolerate that a lot more gracefully. Perhaps you don't mind that your YT video got bumped down to 360p...but now you only have 40mS latency in your game, where as before you were doing fine with 480p streaming, but had 600ms of latency gaming).
 

Gryz

Golden Member
Aug 28, 2010
1,551
204
106
Thanks for your reply.
Priority queueing can still help things. As pointed out earlier, if ack packets get higher priority on outgoing while the upstream is congested, that can help relieve things downstream too.
But by how much ?
Let me try to compute it.

TCP MSS is often 1500 these days. I just checked with WireShark, and on my Windows-7 box, it's 1500.
TCP Acknowledgements are 40 bytes.
Let's assume we talk ADSL here. ADSL has (relatively) a lot of overhead. Especially for acks. So it is potentially the worst case.
How many bytes does a TCP data-packet take on average ? Data + IP header + TCP header = 1500 bytes. Add 8 bytes PPP header plus 8 bytes AAL5 header. That's 1516/48= 31.58 atm-cells. So a TCP data packet takes 32 cells. (An ATM cell is 53 bytes, 5 bytes cellheader and 48 bytes payload).
A TCP ack takes 40 bytes. Plus 8 bytes PPP header plus 8 bytes AAL5 header. Is 56 bytes. That doesn't fit in one cell, so you'll need 2 cells.

Now most TCP implementations will send 1 ack for every 2 data packets received. That means we can receive 64 cells data-packets, and we only need to send 2 cells with an ack. That means that the ratio between downstream and upstream needs to be 32:1 at worst.

In other words, if you have a 4 Mbps downstream ADSL, you need only 128 Kbps upstream for the acks. Any bandwidth you have more than 128 Kbps can be used for things like Skype, gaming, etc.

My conclusion: prioritizing acks in the upstream is going to have very little impact on downstream traffic. Unless your downstream/upstream is way out of balance. (Aka more than 32:1. I think even 10:1 is uncommon. I have long/bad copperwires, and I have 6.5 Mbps down/768Kbps up. Which is only 8.3:1. Far from 32:1).

No, there is no real way to help downstream if the downstream is totally blocked up
Good. We agree here.
Although the situation can still be improved if 1) your router did traffic shaping on acks, or 2) your ISP would configure their DSLAM or CMTS with some form of priority-queuing.

but if the UPSTREAM is also blocked up, the downstream will also be effected as ACK packets begin to take to long to get sent out, so downstream data packets end up getting held up or retransmitted to you.
As I showed, that won't happen unless downstream and upstream are severely out of balance (32:1 or more).

So QoS/priority Queueing can help some.
On the downstream path, yes. On the upstream path, the effect will be much smaller. Unless you use an application that has relatively large upstream. And even then, you need something on the downstream path, or else you'll still experience congestion.

Think of it more like turning the emergency lights on the packets while stuck in a high way of traffic (but with no shoulder). ..<snip>
No need for simplified analogies. I know how to read an RFC. Please be more specific.

Actually if you have a rather large pipe, then even if it is 100% utilized by something, small traffic demands won't result in greatly increased latency.
Latency isn't a result of 100% utilization. It's a result of queue-depth. And FIFO scheduling. And even tail-drop behaviour. With proper queueing and drop-strategies, you can still guarantee low latency for some applications, while maintining (close to) 100% line utilization.

Sure, the bandwidth is reduced for each TCP stream as you only have a pipe that is so large. However, at, say, 75Mbps if a single ack packet has to get sent out, that is a MUCH smaller delay than if a fully utilized 1Mbps connection was being used...by a factor of 75 and that ACK packet also takes up 1/75th of the pipe that it would on a 1Mbps connection too!
Not sure what your point is. Speed itself does not change the problem. It might help if the application itself has a maximum bandwidth (e.g. when you watch a video). But not when applications try to maximize their bandwidth (e.g. most download protocols).

On the downstream, similar thing, you have a loaded 75Mbps pipe, if you spin up a 5Mbps Netflix stream, the TCP stream is losing only a small mount to the Netflix UDP video stream and it only takes a small amount longer for various packets to come in. Now with a 3Mbps downstream pipe, if you even tried to bring up a 300Kbps email download while the connection was being 100% utilized by streaming youtube videos...that is going to cause a lot more havoc.
That depends. First of all, it's only a 10% change in available bandwidth. Second of all, email does not try to download at a certain speed, it tries to get the maximum (of its fair share), just like all tcp-based protocols. In your example, when Netflix and your email (a big TCP download) conflict, Netflix will probably not back off, but email will. Result: email not a problem for Netflix. Third of all, email isn't interactive, so it doesn't matter if it takes 1 second or 100 seconds to download.

But I understand what problem you try to describe here.
I still don't see how my router at home can influence downstream traffic. And everyone on this forum (and in other conversations) always says: "just configure your router with QoS, problem solved". I can't believe that's true.

Priority Queueing/QoS CAN help with things, but it is a bandaid on an amputation a lot of times. Oh, sometimes it can do wonders, but it does not cure the underlying issue.
I think it does. If you do proper priority-queueing. In both directions. My ISP seems to do something, and it already helps a lot. I can game (e.g. play a MMO) without any noticable problems, while I have my downstream fully utilized by downloads. This has not always been the case. But it seems to be since a year or 2-3.

It can make gaming be bearable maybe, but then you are nailing some other service that now has greatly increased latency or a much smaller pipe to work with (then again, maybe the service that has greatly increase latency or a smaller pipe can tolerate that a lot more gracefully. Perhaps you don't mind that your YT video got bumped down to 360p...but now you only have 40mS latency in your game, where as before you were doing fine with 480p streaming, but had 600ms of latency gaming).
Gaming usually uses very little bandwidth. So does voice-com. In the order of 64k (with proper codexes, etc) or less. It is my believe that low-bandwidth services should be able to get all the priority they want. And downloads get the lowest priority.
The odd one out is video. Many people believe video needs highest priority. I disagree. Because video is/can be buffered. I really don't care if my YT or Netflix packets get lowest priority, have some drops, and have 200ms delays. A few seconds of buffering takes care of that. As long as they get 80-90% of the bandwidth.

But still, I do not understand how people can tell the OP that his situation will improve by fiddling with his home-router. I think it can only be solved if his ISP does something on their router (DSLAM or CTMS or fibre-router or whatever is the last step before his house). Only the downsteam path. People discuss which home-router to buy. Please explain.
 
Last edited:

inachu

Platinum Member
Aug 22, 2014
2,387
2
41
Thanks for your reply.

But by how much ?
Let me try to compute it.

TCP MSS is often 1500 these days. I just checked with WireShark, and on my Windows-7 box, it's 1500.
TCP Acknowledgements are 40 bytes.
Let's assume we talk ADSL here. ADSL has (relatively) a lot of overhead. Especially for acks. So it is potentially the worst case.
How many bytes does a TCP data-packet take on average ? Data + IP header + TCP header = 1500 bytes. Add 8 bytes PPP header plus 8 bytes AAL5 header. That's 1516/48= 31.58 atm-cells. So a TCP data packet takes 32 cells. (An ATM cell is 53 bytes, 5 bytes cellheader and 48 bytes payload).
A TCP ack takes 40 bytes. Plus 8 bytes PPP header plus 8 bytes AAL5 header. Is 56 bytes. That doesn't fit in one cell, so you'll need 2 cells.

Now most TCP implementations will send 1 ack for every 2 data packets received. That means we can receive 64 cells data-packets, and we only need to send 2 cells with an ack. That means that the ratio between downstream and upstream needs to be 32:1 at worst.

In other words, if you have a 4 Mbps downstream ADSL, you need only 128 Kbps upstream for the acks. Any bandwidth you have more than 128 Kbps can be used for things like Skype, gaming, etc.

My conclusion: prioritizing acks in the upstream is going to have very little impact on downstream traffic. Unless your downstream/upstream is way out of balance. (Aka more than 32:1. I think even 10:1 is uncommon. I have long/bad copperwires, and I have 6.5 Mbps down/768Kbps up. Which is only 8.3:1. Far from 32:1).

Good. We agree here.
Although the situation can still be improved if 1) your router did traffic shaping on acks, or 2) your ISP would configure their DSLAM or CMTS with some form of priority-queuing.

As I showed, that won't happen unless downstream and upstream are severely out of balance (32:1 or more).

On the downstream path, yes. On the upstream path, the effect will be much smaller. Unless you use an application that has relatively large upstream. And even then, you need something on the downstream path, or else you'll still experience congestion.

No need for simplified analogies. I know how to read an RFC. Please be more specific.

Latency isn't a result of 100% utilization. It's a result of queue-depth. And FIFO scheduling. And even tail-drop behaviour. With proper queueing and drop-strategies, you can still guarantee low latency for some applications, while maintining (close to) 100% line utilization.

Not sure what your point is. Speed itself does not change the problem. It might help if the application itself has a maximum bandwidth (e.g. when you watch a video). But not when applications try to maximize their bandwidth (e.g. most download protocols).

That depends. First of all, it's only a 10% change in available bandwidth. Second of all, email does not try to download at a certain speed, it tries to get the maximum (of its fair share), just like all tcp-based protocols. In your example, when Netflix and your email (a big TCP download) conflict, Netflix will probably not back off, but email will. Result: email not a problem for Netflix. Third of all, email isn't interactive, so it doesn't matter if it takes 1 second or 100 seconds to download.

But I understand what problem you try to describe here.
I still don't see how my router at home can influence downstream traffic. And everyone on this forum (and in other conversations) always says: "just configure your router with QoS, problem solved". I can't believe that's true.

I think it does. If you do proper priority-queueing. In both directions. My ISP seems to do something, and it already helps a lot. I can game (e.g. play a MMO) without any noticable problems, while I have my downstream fully utilized by downloads. This has not always been the case. But it seems to be since a year or 2-3.

Gaming usually uses very little bandwidth. So does voice-com. In the order of 64k (with proper codexes, etc) or less. It is my believe that low-bandwidth services should be able to get all the priority they want. And downloads get the lowest priority.
The odd one out is video. Many people believe video needs highest priority. I disagree. Because video is/can be buffered. I really don't care if my YT or Netflix packets get lowest priority, have some drops, and have 200ms delays. A few seconds of buffering takes care of that. As long as they get 80-90% of the bandwidth.

But still, I do not understand how people can tell the OP that his situation will improve by fiddling with his home-router. I think it can only be solved if his ISP does something on their router (DSLAM or CTMS or fibre-router or whatever is the last step before his house). Only the downsteam path. People discuss which home-router to buy. Please explain.




But that's not the shape of my router. ~ Sting

The better the cpu for the router the faster the i/o and less lag.
Go buy a $20 router and a $280 router.
If your network performance is the same while testing both it is your DSL that is your problem.
 

azazel1024

Senior member
Jan 6, 2014
901
2
76
Thanks for your reply.

But by how much ?
Let me try to compute it.

TCP MSS is often 1500 these days. I just checked with WireShark, and on my Windows-7 box, it's 1500.
TCP Acknowledgements are 40 bytes.
Let's assume we talk ADSL here. ADSL has (relatively) a lot of overhead. Especially for acks. So it is potentially the worst case.
How many bytes does a TCP data-packet take on average ? Data + IP header + TCP header = 1500 bytes. Add 8 bytes PPP header plus 8 bytes AAL5 header. That's 1516/48= 31.58 atm-cells. So a TCP data packet takes 32 cells. (An ATM cell is 53 bytes, 5 bytes cellheader and 48 bytes payload).
A TCP ack takes 40 bytes. Plus 8 bytes PPP header plus 8 bytes AAL5 header. Is 56 bytes. That doesn't fit in one cell, so you'll need 2 cells.

Now most TCP implementations will send 1 ack for every 2 data packets received. That means we can receive 64 cells data-packets, and we only need to send 2 cells with an ack. That means that the ratio between downstream and upstream needs to be 32:1 at worst.

In other words, if you have a 4 Mbps downstream ADSL, you need only 128 Kbps upstream for the acks. Any bandwidth you have more than 128 Kbps can be used for things like Skype, gaming, etc.

My conclusion: prioritizing acks in the upstream is going to have very little impact on downstream traffic. Unless your downstream/upstream is way out of balance. (Aka more than 32:1. I think even 10:1 is uncommon. I have long/bad copperwires, and I have 6.5 Mbps down/768Kbps up. Which is only 8.3:1. Far from 32:1).

Good. We agree here.
Although the situation can still be improved if 1) your router did traffic shaping on acks, or 2) your ISP would configure their DSLAM or CMTS with some form of priority-queuing.

As I showed, that won't happen unless downstream and upstream are severely out of balance (32:1 or more).

On the downstream path, yes. On the upstream path, the effect will be much smaller. Unless you use an application that has relatively large upstream. And even then, you need something on the downstream path, or else you'll still experience congestion.

No need for simplified analogies. I know how to read an RFC. Please be more specific.

Latency isn't a result of 100% utilization. It's a result of queue-depth. And FIFO scheduling. And even tail-drop behaviour. With proper queueing and drop-strategies, you can still guarantee low latency for some applications, while maintining (close to) 100% line utilization.

Not sure what your point is. Speed itself does not change the problem. It might help if the application itself has a maximum bandwidth (e.g. when you watch a video). But not when applications try to maximize their bandwidth (e.g. most download protocols).

That depends. First of all, it's only a 10% change in available bandwidth. Second of all, email does not try to download at a certain speed, it tries to get the maximum (of its fair share), just like all tcp-based protocols. In your example, when Netflix and your email (a big TCP download) conflict, Netflix will probably not back off, but email will. Result: email not a problem for Netflix. Third of all, email isn't interactive, so it doesn't matter if it takes 1 second or 100 seconds to download.

But I understand what problem you try to describe here.
I still don't see how my router at home can influence downstream traffic. And everyone on this forum (and in other conversations) always says: "just configure your router with QoS, problem solved". I can't believe that's true.

I think it does. If you do proper priority-queueing. In both directions. My ISP seems to do something, and it already helps a lot. I can game (e.g. play a MMO) without any noticable problems, while I have my downstream fully utilized by downloads. This has not always been the case. But it seems to be since a year or 2-3.

Gaming usually uses very little bandwidth. So does voice-com. In the order of 64k (with proper codexes, etc) or less. It is my believe that low-bandwidth services should be able to get all the priority they want. And downloads get the lowest priority.
The odd one out is video. Many people believe video needs highest priority. I disagree. Because video is/can be buffered. I really don't care if my YT or Netflix packets get lowest priority, have some drops, and have 200ms delays. A few seconds of buffering takes care of that. As long as they get 80-90% of the bandwidth.

But still, I do not understand how people can tell the OP that his situation will improve by fiddling with his home-router. I think it can only be solved if his ISP does something on their router (DSLAM or CTMS or fibre-router or whatever is the last step before his house). Only the downsteam path. People discuss which home-router to buy. Please explain.

First off, you can do traffic shaping on the inbound stuff, not just the outbound. For the inbalance, yes, that would matter if the uplink is being used ONLY for ACK packets. If it is being utilized for something else that is taking up your uplink, especially all of it, then yeah, ACK packets will be delayed because they have to wait their turn in the queue if there are other things.

Small pipe means they have to wait longer in the queue, unless you prioritize those packets to go out first and delay other packets. If your tiny uplink is not being used for anything, then sure, ack packets will not be delayed going out and it will not delay things coming back in.

Your router can reduce TCP traffic inbound to make way for other TCP traffic. I've done it a number of times on different routers by setting bandwidth caps to different clients within the network (specific MAC or IPs). It has generally lead to a slight reduction in maximum downlink and uplink, but it generally works perfectly fine. Same thing happens with QoS on a router, you typically get a very small (around 10%) hit to maximum throughput on the link, but prioritization works a lot better.

HOWEVER, when you have a really litty bitty pipe, it is still band-aiding the problem when you need a full on transplant. It can help with some things, it can even completely fix some issues, but it will make other things worse while you are doing it. There is no free lunch. With good QoS on a router, you might get lag free gaming, but your torrenting, or netflix or whatever else is going to get a lot worse while you are doing it. It doesn't magically give you a bigger pipe, but it can help put the things down the straw in the order you care more about (in either direction).
 

Gryz

Golden Member
Aug 28, 2010
1,551
204
106
Too bad nobody else bothered to replay.

I see people recommending certain brands and types of routers, because they are supposed to fix congestion. I don't understand how that is supposed to work. I can't believe it actually works. And nobody can convince me.

I'm stubborn, and will keep believing that brand X over brand Y home-router can't solve common downstream congestion problems.

====
Reply to your last reply:

Well, I don't believe that priority-queuing upstream traffic over your uplink is going to make any difference. Even when bandwidth is asymmetrical. Even when bandwidth it limited. As I calculated for you, upstream acks have only 1/32nd of the bandwidth requirment of downstream traffic. If you have only half a Mbps upstream, that's enough to keep 16 Mbps downstream going. With that ratio, you're not gonna do much to impact your downstream traffic. If downloads are congesting your downstream bandwidth, the only solution is to do something on the ISP's router.

I check the documentation of my router. (Fritzbox by AVM). It's supposed to be a high-end home-router, with many software features. It does have a form of priority-queuing that can be configured by the end-user. However, the manual clearly states that it only works on upstream packets and upstream congestion.

I agree that more bandwidth can solve the problem. But only when the congestion is caused by an application that sends packets at a fixed speed. Like real-time video. If a YT-video congests your downstream-link, QoS or priority-queuing isn't gonna help much. YouTube should be sending at a slower speed (and thus lower resolution or lower quality). More bandwidth might just push it enough to work.

However, when congestion is caused by other applications (like downloads, Usenet, torrents), those applications usually try to maximize their use of the bandwidth. And they will push to the limit. Even if you get 10x more bandwidth, most download protocols keep doing that. (As you surely know, it's a feature of TCP itself to push for max bandwidth). And your 10x more bandwidth will still cause congestion and problems.

QoS or priority-queuing on the ISP's router can fix that. My ISP does that. My Skype and gaming works (almost) perfectly even when my pipe is full with torrents or usenet. It really does.
 
Last edited:

RU482

Lifer
Apr 9, 2000
12,689
3
81
I feel your pain. I've got 5 people in my house, 3 of which are gamers, 2 that stream video occasionally. I'm on a promo deal that is too good to not go with....$9.95mo for 15/1 advertised (typically tests out at about 25/4). Expires in Feb, at which point I'll migrate to the ~$59.99 50/15 service.