On Wed, Mar 24, 2021 at 6:23 PM Keith Moore <moore@xxxxxxxxxxxxxxxxxxxx> wrote:
Not sure I agree that TCP was optimized for file transfer - certainly a transport that's optimized for file transfer doesn't need to ensure strict ordering of all messages sent from one peer to another as long as they get reassembled in correct order when the file is written. Otherwise, I agree.
Keith
The slow start parameters are.
Sure, you can use TCP for many things, but if you are making an HTTP GET request, slow start on send is doing the exact opposite of what you would want (and often with parameters chosen for 1980s line speeds).
But HTTP didn't exist when TCP was invented. There was terminal connection mode, then proto-FTP emerged out of terminal mode and then email from proto-FTP.
My bigger point though is that don't try to make QUIC all things to all people. It is better to hyper-optimise QUIC to Web browsing and write a different transport for Web Services, a different protocol for real time media, etc. etc.
Well to be fair, there was a lot of concern about congestive collapse of the internet back then. Considering we were all novices back in the 80's, zillions of people rolling their own transport could have been a real mess. And of course targeting a small handful of kernels is a lot easier than convincing a zoo of different transports that they really ought to be doing this or that new bit of new research.
Mike