Hacker News new | past | comments | ask | show | jobs | submit login
Computer Networks: A Systems Approach (systemsapproach.org)
254 points by Ballu on Feb 12, 2021 | hide | past | favorite | 23 comments



I read this book during my systems and advanced networking courses at ETH Zurich years ago. As a hard copy, it is an impressively heavy compendium of knowledge but very relevant to everyone that even remotely touches networking on a daily basis. I remember it to be quite a pleasant read, despite being very technical and crazy long (could also be that I just like the topic).


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.


I have also read Kurose and Ross (and other books) but this is another classic of the field and definitely recommended.

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..


If anyone wants to get into the weeds of Ethernet specifically, O'Reilly has a good book on the subject that has more detail than you'll ever want to know about (short of reading the IEEE standards directly):

* https://www.oreilly.com/library/view/ethernet-the-definitive...


I had never heard of this book. It’s really incredible. I’m curious as to how people think about the “systems” approach to networking vs the traditional.


What is the traditional approach, overly focusing on layers?


This is a great book and one I constantly reference. The newest editions drop clock-based framing like ATM, but whenever I need to go back to looking at what's on the wire or considering what considerations were made in design or convention, I reach for this one!


Wow, this is a new one for me. Definitely on my reading list. Thanks for sharing this!


I'm confused. What makes this a "systems approach"? I've scanned through the index and a few chapters but it doesn't appear to be applying a systems/cybernetic approach to network engineering, unless I've missed something. Is it because it covers the whole stack in a systematic way?

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.


We used the book in my undergrad networking course, and I liked it quite a bit. It's "systems" in the catchall "lower-ish-level computing" sense of "systems-level programming," rather than the "systems theory" sense.

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.


I agree with this comment. I don't understand what specifically makes this a "system approach".


It takes a bottom up approach rather than top-down, and gives you all the gory details as opposed to bird's eye view of things. I would take it as that. System is an almost useless word other than implying a "lower level" view.


"system" actually has a ton of meaning, it's just been co-opted to mean "hardware" in software circles. It means a collective object that is greater than the sum of its parts.


Maybe as opposed to a theoretical treatment? In academia, there is a dichotomy in CS research between systems and theory, which may have been what they were getting at.


I love this book! It's a great read for anyone who wants to build networked computer systems. I like how it focuses on network design and implementation in terms of the practical problems it solves, which helped me understand why the world's networking protocols were built the way they were.


Could use a pdf release next to the web version


Too bad there is no free ebook version.


It's available under the CC BY 4.0 license, you can find the source here:

https://github.com/SystemsApproach/book

There are instructions in the README to build epub, html and other formats (including a giant manpage).



Amazing books, but I'm not sure it is a good idea with such huge pictures (3462 × 2176px thumbnails), even though it of course is simpler than adding multiple sizes etc. RIP mobile users.

https://sdn.systemsapproach.org/_images/Slide20.png


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.


Seems an ideal use case for SVG.


Looks like it might be a direct PowerPoint export. They might be open to suggestions from someone who has to manage large numbers of slides/images in the context of a teaching environment.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: