Welcome to the website for An Introduction to Computer Networks, a free and open general-purpose computer-networking textbook, complete with diagrams and exercises. It covers the LAN, internetworking and transport layers, focusing primarily on TCP/IP. Particular attention is paid to congestion; other special topics include queuing, real-time traffic, network management, security, mininet and the ns simulator.
The book is suitable as the primary text for an undergraduate or introductory graduate course in computer networking, as a supplemental text for a wide variety of network-related courses, and as a reference work.
It is released under the Creative Commons license Attribution-NonCommercial-NoDerivs, though note that some commercial use is allowed (see the preface for licensing details).
As of the end of July 2020 I am pleased to introduce the second edition. The first version of the second edition, 2.0.1, is essentially identical to the final release of the first edition, 1.9.21, except that the chapters have been divided into more manageable size; see the discussion in the preface for more. Here are the versions for the second edition:
The last version of the first edition, 1.9.21, is available in the following forms:
A comment form is now available. Let me know what you think!
In the html versions the per-chapter table-of-contents sidebar is now collapsible, for better use of screen space on smaller devices. Unfortunately, this has broken the search feature. Repairs are underway, but progress has been slow.
See the preface for more information on the unicode issues that have led to the unicode-safer versions above.
Edition 1.0 of the book is permanently available as Online html, Zipped html, pdf and epub although most users are more likely to want the current version above.