The Stack Overflow podcast is back! Listen to an interview with our new CEO.
10

What happens at the time-out is actually pretty clear from the drawing... The congestion window size drops back to its original value of 1 and slow start is run again. The specifics of how a TCP stack will handle congestion events depend on what variant you are using. This drawing looks like an example of the TCP Reno algorithm. When seeing 3 duplicate ...


10

Weighted Fair Queueing (WFQ) is as the name implies a queueing algorithm. Queueing is used when there is congestion on an interface. This is usually detected through that the Transmit Ring (TX-Ring) is full. This means that the interface is busy sending packets. Queuing does not take place unless there is congestion on the interface. In some cases the size ...


10

This sounds like some form of "bufferbloat", probably on the part of the DSLAM/LNS that's performing the 6Mb rate limiting. It might be your CPE box, but that's a little less likely.


9

I would verify where the latency is occurring. Use a tool such as MTR which checks the latency at each hop. MTR combines ping statistics for each hop with a trace route, and can greatly help narrow down this type of problem. On a linux box the command would be mtr 8.8.8.8, there is also a windows version of this tool. The output will show you where the ...


8

The concept of a token bucket is generic/universal, but the implementations for QoS may use different token units to control traffic flow at a specified rate. In Cisco traffic policing (the most basic QoS token bucket technique), the token bucket size is specified in bytes (each token is one byte). For example, if you want to police traffic at a rate of ...


8

First of all, don't believe everything you read on the Internet ;-) Sometimes algorithms (or the way they are physically implemented) don't fit neatly into a theoretical category. What you call it is less important than understanding what it does. The whole point of WFQ (or any other scheduling algorithm) is to share the limited link bandwidth among the ...


6

Congestion control enforced by TCP clients is not there to protect the network, it's simply to try determine the maximum network resource that is reliably available for that specific client at that point in time. As TCP is a reliable protocol (acknowledging each packet) any packet loss (for example caused by congestion) will result in the TCP connection ...


6

Think of RED as an arbitrary curve in a coordinate system. Y is probability of drop X is how congested you are (for example how full egress buffers are) Operator could add 5 points there X=40%, Y=0% X=50%, Y=5% X=60%, Y=20% X=70%, Y=40% X=90%, Y=100% Then you'd draw lines to the points to form the curve, to get exact Y (drop probability) for every X (...


6

You're referring to 'Fast Retransmit' in the TCP Reno implementation. It is basically an assumption. RFC 2001, TCP Slow Start, Congestion Avoidance, Fast Retransmit, and Fast Recovery Algorithms covers this: Since TCP does not know whether a duplicate ACK is caused by a lost segment or just a reordering of segments, it waits for a small number of ...


5

In short: Flow control makes sure that the receiver is never overloaded with more data it can handle whereas congestion control is used to avoid congesting the network between sender and receiver. Flow control: each ACK the receiver sends to the sender includes the current size of the receive window, which states how many more bytes fit into the receive ...


5

Check the DSL line statistics. (interleaved vs. fastpath, error counters, etc.) The test at a different location tested a different line, maybe on a different DSLAM. This suggests the ISP infrastructure isn't to blame. It strongly suggests your DSL line is at fault. Possibly the DSLAM itself is congested, but it's highly unlikely for you to be the one to ...


5

How does my policy manage to shape traffic to the requested size without dropping packets? ... Tunnel traffic remains 10Mbps and still a few packets in queue but no drops… Your C-class FTP and D-class FTPs are getting handled exactly as you asked for in your well-written CBWFQ policy. The fact that you see some packets in the queues means that the ...


4

This is my interpretation of TCP Vegas for your questions. Other scholars here could correct this or augment it. Q1. "The change of the modified slow-start is that the window is increased every other RTT..., but what is the meaning of other RTT?" A1. During SlowStart, the cwin (congestion window) is increased every other RTT, meaning this is in ...


4

What will happen if the sender decides not to listen to the congestion control messages and continues sending packets at a high rate anyway? I would argue that a sender refusing to abide by congestion control algorithms is attempting a DoS attack. To me, it's akin to saying "I don't care if you're getting too much data, out of order, and with missing ...


4

The Ethernet connections are full duplex, and in this sense there shouldn't be usually problem on a path from end user to switch, and in most of the time, from switch to ADSL router. However, depending on your end user traffic patterns (applications, time, and so on), the bandwidth available on both upstream and downstream of your ADSL service may be ...


4

The Window Size field in each TCP header indicates the amount of empty space, in bytes, remaining in the receive buffer. The field is 16 bits in TCP, but with the Windows Scale option, values larger than 65535 can be used. Windows scale option increases the Window Size from 16 bit to 30 bit. Instead of changing the field size, however, the header still holds ...


4

Errors in transmission are detected in TCP layer. The receiving TCP layer discards the damaged segment, forcing the sender to sent the segment again.


4

In theory, the answer is yes, but based on your diagram and description, the practical answer is NO. The problem is you can control your outbound traffic, but you have little control over your inbound traffic. For a webserver, traffic loads are very asymmetrical, and the vast amount of traffic is inbound. You can control inbound traffic only to the point ...


4

The first thing to realize is that the TCP window size and the round-trip time (RTT) limit the throughput: no more than one window size per RTT can be transported. Essentially, with a large RTT (latency) you need a larger window for the same throughput than with a smaller RTT. If you can't increase the window you can't utilize the full bandwidth. This is ...


3

This is to be expected if your routers are filling the buffers. If you are using ping to test this, understand that ping has the lowest priority. Depending on your traffic mix, you may want to use QoS to define which traffic gets priority. ICMP should be on the bottom of the list, so ping should still not give you a good number when it is under load.


3

High re-transmission percentage is a definitive sign of something being wrong. But unfortunately it isn't always a direct sign that congestion is the issue. If you could provide some packet captures, that would help us help you determine what the problem is. I would also suggest running sets of 1000 pings throughout the day. Look at the resulting Round ...


3

Anytime I have cases where a customer is experiencing network latency, the first thing to do is check each individual connection in the network. Usually there is one device where a bottleneck is occurring. If its a low use network, I would completely disable QoS on everything except the internet connected device(as QoS will slow down traffic in a ...


3

I recommend reading RFC 1122 "Requirements for Internet Hosts -- Communication Layers", section 4.2.3.2 "When to Send an ACK Segment", and follow up from there. https://tools.ietf.org/html/rfc1122 Jonathan.


2

Another thing to look at would be the connection between your switch and the DSL modem. The symptoms you are describing almost sound like there is a duplex mismatch between the two. Another way to rule out the switch is to remove the switch entirely and test the connection with one machine attached directly to the DSL modem.


2

There are many ways of addressing this and which one you choose can be dependent on the situation. Let me go over some of the more common ones. Quality of Service (aka QoS) - this could include rate limits, policing, marking traffic, etc. Depending on the capabilities of the device in use, this can take on a number of forms. Storm Control - depending on ...


2

There are a few ways of setting a limit on single user bandwidth consumption. It isn’t very common for an individual to seriously affect your entire network unless they genuinely have malicious intent. Along with technical suggestions, it is also worth adding in administrative ones, too. Access Control: Limit who has access to your machines and what gets ...


2

It sounds like Scapy might be what you're looking for. Here's an example of how to change the TTL in a packet.


2

The above issue was resolved and I was able to reproduce the same figure. The authors specified that for TCP they were using 100 packets as the limit of buffer. And I was using 467 packets as buffer depth. This was the only difference which when corrected gave the results as the author has obtained. No other setting was needed. All default settings were ...


Only top voted, non community-wiki answers of a minimum length are eligible