zerowalker
Occasional Visitor
As question says,
I don't really fully understand this, but from reading around it seems it's like this in a nutshell.
TCP allows a maximum of 64kb data to be sent without knowing if it got through.
That's too low nowadays so they added a Shift factor to increase it to 1mb or something i think.
And Window Size (along with the scaling factor?) is determined by the client and host dynamically by the latency or something.
That all make sense, what doesn't make sense to me is why the OS (at least Windows) use some algorithm for this,
or if that algorithm is to prevent something (which i don't get either).
There's CTCP and CUBIC for example.
Now here is the issue with that, i recently learned of Bufferbloat, a thing i knew about but not that it was a "bug" if you will.
Basically if you use your connection heavily (especially upload) your latency goes haywire.
I thought this was just because there's only that much stuff the line and all hardware etc can handle.
Which apparently is not always the case.
So, to go back to the CTCP stuff, i noticed i had a really bad Bufferbloat, even though i got 100/100 fiber.
So i first thought i had to tweak around with the router, it didn't have any real effect.
I then connected directly to my PC, same issue, i then played around with my NIC settings to no avail.
So eventually i went to the advanced TCP Settings in Windows, and the thing that solved it for me was turning of Auto Tuning.
This limits the window size to 64kb, the scale is simple turned off.
Now, i don't know if it's really the Auto Tuning itself, of if it's the algorithm that's used along with it.
Cause in Windows 10 (which i use) you can't disable the algorithm, you have to disable the entire Auto Tuning.
(It sucks, there's a ton of stuff you can't change anymore in there).
"It's called congestionprovider", think congestion is what it tries to prevent, but as said before, didn't get what that was.
So now i was wondering, i am guessing the OS/NIC etc, doesn't really have a clue what's going on and only simply handles the packets and run it's algorithm stuff based on the information.
Can't the Router do the Auto Tuning, or force a size/scale?
Cause as the packets go through, simply writing some bits should be easy enough right?
Well that was a ton of rant about shirt i don't understand haha, enjoy;P!
I don't really fully understand this, but from reading around it seems it's like this in a nutshell.
TCP allows a maximum of 64kb data to be sent without knowing if it got through.
That's too low nowadays so they added a Shift factor to increase it to 1mb or something i think.
And Window Size (along with the scaling factor?) is determined by the client and host dynamically by the latency or something.
That all make sense, what doesn't make sense to me is why the OS (at least Windows) use some algorithm for this,
or if that algorithm is to prevent something (which i don't get either).
There's CTCP and CUBIC for example.
Now here is the issue with that, i recently learned of Bufferbloat, a thing i knew about but not that it was a "bug" if you will.
Basically if you use your connection heavily (especially upload) your latency goes haywire.
I thought this was just because there's only that much stuff the line and all hardware etc can handle.
Which apparently is not always the case.
So, to go back to the CTCP stuff, i noticed i had a really bad Bufferbloat, even though i got 100/100 fiber.
So i first thought i had to tweak around with the router, it didn't have any real effect.
I then connected directly to my PC, same issue, i then played around with my NIC settings to no avail.
So eventually i went to the advanced TCP Settings in Windows, and the thing that solved it for me was turning of Auto Tuning.
This limits the window size to 64kb, the scale is simple turned off.
Now, i don't know if it's really the Auto Tuning itself, of if it's the algorithm that's used along with it.
Cause in Windows 10 (which i use) you can't disable the algorithm, you have to disable the entire Auto Tuning.
(It sucks, there's a ton of stuff you can't change anymore in there).
"It's called congestionprovider", think congestion is what it tries to prevent, but as said before, didn't get what that was.
So now i was wondering, i am guessing the OS/NIC etc, doesn't really have a clue what's going on and only simply handles the packets and run it's algorithm stuff based on the information.
Can't the Router do the Auto Tuning, or force a size/scale?
Cause as the packets go through, simply writing some bits should be easy enough right?
Well that was a ton of rant about shirt i don't understand haha, enjoy;P!