Co-author of the book here. Thanks for the comment. I agree, it does seem surprising to miss NAT. I opened an issue (which we will address at some point): https://github.com/SystemsApproach/book/issues/75
Saving it for another post. It is actually just as controversial as there was a lot of work to improve convergence times in standard IP routing at the same time.
Part of what we're arguing in this article is that there is no good answer today because of the assumption that TCP was good enough. Homa is challenging that assumption (as many others have tried before). My view is that if you want something better than TCP for RPC today, QUIC is the best thing available, as discussed here: https://systemsapproach.substack.com/p/quic-is-not-a-tcp-rep...
What you run over that for your RPC is a matter of taste - gRPC is certainly popular, and can be run over QUIC.
How many times has Intel tried and failed to enter the networking business? I’m keen to hear more about this story but it sure seems like they’ve decided they can do much aside from CPUs at this point.
Author of the post here. Good comments. I was being deliberately provocative in the title to make a point. As I note in the article, it may or may not turn out that QUIC replaces TCP; the main point is that we didn't need a "TCP replacement" as much as we needed something new to meet the requirements of RPC (and HTTP in particular) and QUIC is doing that nicely. It may turn out that is all we need and TCP disappears, but as you say, there are reasons to doubt that including the extent to which TCP is baked in to existing systems.
Thanks for pointing this out, it is an issue we need to fix. It's because we produce so many formats (including print) that it's hard to get this exactly right, but I believe we can find a better compromise.
I wanted to thank the folks here for pointing out a few issues that we (the authors of the books) hadn't noticed, particular around the meaning of "A Systems Approach". Our definition of the Systems Approach is now on https://www.systemsapproach.org/ -
The "Systems Approach" refers to the field of design and implementation of computer systems. The term is used commonly by computer science researchers and practitioners who study the issues that arise when building complex computing systems such as operating systems, networks, distributed applications, etc. The key to the systems approach is a "big picture" view – you need to look at how the components of a system interact with each other to achieve an overall result, rather than simply optimizing each component. In the networking context, that often means going beyond the traditional layered view to see how an issue is best tackled in a way that might touch several layers. The Systems Approach has a strong focus on real-world implementation, with the Internet being the obvious example of a widely-deployed, complex networking system.