Computer Networking : Principles, Protocols and Practice

Fri, 06/18/2010 - 22:38 by Olivier Bonaventure • Categories:

Computer Networking : Principles, Protocols and Practice (aka CNP3) is an ongoing effort to develop an open-source networking textbook that could be used for an in-depth undergraduate or graduate networking courses.

The first edition of the textbook uses the top-down approach initially proposed by Jim Kurose and Keith Ross for their Computer Networks textbook published by Addison Wesley. CNP3 is distributed under a creative commons license.

A second edition is being developed on and

First edition of the textbook

The book contains the following chapters :

  • The Introduction explains the importance of services in computer networks and the OSI and TCP/IP reference models.
  • The Application layer chapter explains the application layer and describes the operation of the Domain Name System, Internet email and the worldwide web
  • The Transport layer chapter provides first a detailed explanation of the mechanisms that are used to provide a reliable transport service above an unreliable network service. Then, it discusses in details the operations of the UDP and TCP protocols including the TCP congestion control scheme.
  • The Network layer chapter describes first the principles of the network layer, including link state routing and distance vector routing. Then, the operation of the RIP, OSPF and BGP protocols is discussed in details.
  • The Datalink layer and Local Area Networks describes first the basic principles of Local Area Networks with the main Medium Access Control algorithms. Then, Ethernet and WiFi are explained in more details.
  • A detailed Bibliography with links to relevant networking books, papers and RFCs.

The book can also be downloaded in pdfand epub format suitable for a tablet reader or ipad. It is also available on iTunes.


A online bibliography that contains the bibtex references of the citations from the book is being developed on mendeley at

The bibliography is being e expanded through the CNP3 blog that presents recent articles and documents that could be of interest to students who have studied networking by using the textbook.


A set of slides with animations has been developed for CNP3. The slides were designed by using Apple's Keynote (version 2008). The slides have been exported in powerpoint and pdf formats for non-Keynote users.

  1. Introduction : Keynote, pdf, powerpoint, slideshare
  2. Application layer : Keynote, pdf, powerpoint, slideshare
  3. Transport layer : Keynote, pdf, powerpoint, slideshare
  4. Network layer : Keynote, pdf, powerpoint, slideshare
  5. Datalink layer and Local Area Networks : Keynote, pdf, powerpoint, slideshare

Discussion groups

Two discussion groups have been created for students having questions about the content of the textbook.

Textbook adoption

The textbook is already used as a reference for the following courses:


Computer Networking : Principles, Protocols and Practice is lead by Olivier Bonaventure. Mickael Hoerdt, Laurent Vanbever and Virginie van den Schriek contributed to the exercices. Pierre Reinbold created the icons and Nipaul Long redraw some of the figures in SVG format.

How to contribute ?

Like any open-source project, the future of Computer Networking Principles, Protocols and Practice will depend on its contributors. The development of the textbook is managed at . You can contribute to the project by :

The source code of the entire code is managed by subversion. You can browse it from

You can follow the update of the book on its dedicated facebook page.

Creative Commons LicenseThis work is licensed under a Creative Commons Attribution 3.0 Unported License.