Computer Networks: A Systems Approach – Open Textbook Library

Reviewed by Godmar Back, Associate Professor, Virginia Tech on 12/30/21

Comprehensiveness

rating:
4
see less

This book covers networks from a systems perspective, focusing on the design principles underlying the construction of large networks, their protocols and the applications they support. It provides a comprehensive coverage of the protocols and technology in use today as well as a discussion of several historically relevant protocols and applications.

However, there are areas that could use more depth in my opinion, such as the IPv4/IPv6 transition, NAT, and modern web applications, to pick three.

Content Accuracy

rating:
5

The information in the book is accurate from my perspective. It is also unbiased. The primary author has made multiple seminal contributions to the field of networking that, aside from their technical merit, contributed to consensus and community building.

Moreover, the book includes “perspectives” at the end of each chapter in which the authors discuss their view of recent developments. These perspectives nicely augment and complement the factual descriptions provided by the rest of the text.

Relevance/Longevity

rating:
4

The 2019 update includes a discussion of several recent developments (such as QUIC, TCP/BBR, or blockchains).

Some discussion that provides only historical context could be shortened, especially regarding technologies that were never widely deployed (e.g., IP multicast).

Clarity

rating:
5

The book is well written and easily accessible. It is targeted at undergraduates in a 3rd or 4th year networking course, but could be used in a 1st graduate level course as well.

The bottom-up approach that starts with the lower layers of the networking stack makes some forward references necessary, which is unavoidable. Overall, the textbook focuses on explaining problems and then outlining the fundamental ideas underlying their solutions – rather than restricting itself to a description of only the solutions themselves.

Consistency

rating:
4

Overall, the book is well written and certainly internally consistent.

A possible point of improvement would be rethink the inclusion of fragment written in a C-like language – this evokes a level of detail with respect to using the book’s description for an actual implementation that it doesn’t otherwise have.

Modularity

rating:
4

The book is modular, devoting chapters to the layers used in networking (link layer, network layer, transport layer, etc.) as well as devoting chapters to cross-cutting issues such as security, multimedia, data representation, and so on. The size of each chapter/section is about right for the level of detail provided. I would feel comfortable assigning it to students.

Organization/Structure/Flow

rating:
5

The table of contents makes it clear where to read about which topic. Because of the nature of certain topics, some subjects could be covered at multiple levels (e.g. reliable data transmission is both a link layer and a transport layer issue, routing/forwarding occurs primarily at the network layer, but also for overlay networks or switched Ethernet.) The book strikes a good balance in sorting these topics and is certain to highlight connections and relationships.

Interface

rating:
4

This book is created and maintained using the Sphinx toolchain and is available as HTML, PDF, and ePub format. I read the HTML version and examined the PDF version, which results in professional quality documents that are full-text searchable and easily navigable. The authors use illustrations frequently and to good effect.

Unfortunately, some of the URLs embedded were broken (e.g., https://blockstack.org/whitepaper.pdf)

Grammatical Errors

rating:
5

Perhaps unsurprisingly, aside from the (infrequent) typo, I wasn’t able to spot any mistakes.

Cultural Relevance

rating:
5

The emergence of the Internet has had profound cultural impact, and this book tells its story.

Comments

The book comes with 5 (online) companion books that dive even deeper into some of the topics the book covers.

It is also open for contributions by anybody, which could further improve its content and relevance in the future.