When packets are sent to the Internet, they travel through several routers. The first one is your router at home, which uses a broadband protocol, e.g., VDSL or cable, to transfer the packets to your telecom switch. After that, the packets travel to their destination through the highspeed Internet backbone, which is usually much faster than your connection to the Internet.
So, the first (and most common) bottleneck is between your router at home and its counterpart in your telecom switch, i.e., within the first few hops. You can check this by using tracert.
1 <1 ms <1 ms <1 ms p20030.....EAFBA1C.dip0.t-ipconnect.de [2003:...:25a9]
2 11 ms 10 ms 10 ms 2003:0:8601:e000::1
3 19 ms 19 ms 19 ms 2003:0:1307:400e::1
4 16 ms 16 ms 17 ms 2003:0:1307:400e::2
5 15 ms 15 ms 16 ms 2a01:4a0:1338:3::2
6 20 ms 39 ms 26 ms 2a01:4f8:0:3::339
7 21 ms 21 ms 22 ms ex9k2.dc10.fsn1.hetzner.com [2a01:4f8:0:3::1ae]
8 21 ms 21 ms 21 ms cfos.de [2a01:4f8:191:6353::2]
This is an example from my home. Hop 1 is my local router, which has very little delay because it is connected to my computer via Ethernet cable. The biggest delay is caused from hop 1 to hop 2 and hop 2 to hop 3. Somewhere between hop 1 and 3 is the VDSL connection to my ISP. After hop 3 the rest of the path is again very fast.
All routers have to buffer packets if they receive them faster than they can send them out. When Windows sends packets to the Internet, they are first stored in the router’s buffer, since the local network is far faster than the Internet upstream connection. Then the router sends the packets relatively slowly to the next hop via VDSL. Newly received packets are always stored at the end of the buffer and are sent only when all packets in front of them are transmitted.
If a substantial part of your Internet bandwidth is utilized, this causes the typical delays (of up to a second).
cFosSpeed measures this delay and controls the speed at which packets are sent to the router in order to keep the buffer in the router almost empty without sacrificing sending speed. On the other hand, cFosSpeed will prioritize packets where it knows that their tramsmission is time-critical, like remote console or game data. This process is traditionally called Traffic Shaping.
The buffer of the telecom switch will be filled if a remote server, which sends a web page to you, sends too much data too quickly. Responses from other sites on the Internet are put at the end of the switch’s buffer and have to wait until all other data in the buffer is transmitted to you. This causes delay, this time in receive direction. cFosSpeed is the only software for Windows that can keep the buffer at the telecom switch as empty as possible, and hence reducing delay. We call this part of Traffic Shaping “Receiver Shaping”.