Computer Networks: A Systems Approach
book.systemsapproach.org
book.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.
Besides it being open source, it's kind of exciting that it has some coverage of topics like virtual networks, SDN, advanced congestion control, etc..
* https://www.oreilly.com/library/view/ethernet-the-definitive...
Not bagging on the book, by the way - just trying to establish whether it's worth reading through, as I'm already somewhat familiar with network protocols but would be interested in systems/cybernetics insights into networking.
The pedagogical structure of the book makes it a solid follow-up to a standard undergrad OS class, IIRC. It's been ten years since I've read it, though, so YMMV.
https://github.com/SystemsApproach/book
There are instructions in the README to build epub, html and other formats (including a giant manpage).