Skip to content
Third edition of the Computer Networking: Principles, Protocols and Practice ebook
Python Shell Makefile CSS
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
_static added _static dir Apr 8, 2019
examples/time_protocol add the ability tostart the Time Protocol server as an unpriviledged … Sep 16, 2019
exercises Fixed typos and missing scripts Nov 11, 2019
locale Translated using Weblate (French) Nov 8, 2019
pkt TCP congestion control update (theory) Nov 10, 2019
principles Fixes to enabled pdf generation Nov 11, 2019
protocols Fixes to enabled pdf generation Nov 11, 2019
util Added extension for interactive syllabux Sep 12, 2019
.gitignore Updated sharing and reference model sections Oct 7, 2019
.transifex.yaml First attempt to use transifex for translation Apr 15, 2019
.travis-requirements.txt Fixed missing figure and typos Oct 7, 2019
.travis.yml Updated sharing and reference model sections Oct 7, 2019
AUTHORS Inginious exercises for reliability section Sep 11, 2019
BUILD.md Added directives for translation (#15) Oct 21, 2019
README.md Added directives for translation (#15) Oct 21, 2019
bibliography.rst Fixed typos and missing scripts Nov 11, 2019
cc-by.png update travis.yml Apr 5, 2019
cnp3.png update travis.yml Apr 5, 2019
conf.py Fixed typos and missing scripts Nov 11, 2019
glossary.rst Fixed the small issues introduced by the two PR by Francois Michel Sep 16, 2019
index.rst New exercises on TCP congestion control and packetdrill scripts Nov 11, 2019
links.rst first commit Apr 5, 2019
travis.sh First pass at including the network layer chapter Sep 12, 2019
wordlist.dict TCP congestion control update (theory) Nov 10, 2019

README.md

Computer Networking : Principles, Protocols and Practice, 3rd Edition

Build Status Translation Status

This is the current draft for the third edition of the Computer Networking : Principles, Protocols and Practice open-source ebook. This draft will be updated on a regular basis. The objective is to finalise this third edition by the end of 2019.

(c) Olivier Bonaventure, UCLouvain, Belgium https://perso.uclouvain.be/olivier.bonaventure

All the files in this subversion repository are licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License.

You can find the source files for the two previous editions and their history on https://github.com/obonaventure/cnp3

You can access a build of the interactive e-book through http://beta.computer-networking.info

See BUILD.md if you want to build the e-book yourself.

How to contribute

Contributions to the e-book are more than welcome. We welcome contributions with new or improved text, new or improved figures, new open exercises, new multiple choice questions, ... Here are a few guidelines to help you prepare your contributions to the e-book.

Updating existing sections

This is the simplest way to contribute. If you spot a small error, a typo or would like to clarify a few sentences, feel free to update the text directly on gituhb and create a pull request. When doing so, remember that there are a few guidelines that we try to follow:

  • We use American English spelling. There are automated travis tests that will automatically verify that your pull-request passes the spell check. If not, update your pull request. If you introduce a new word that is not recognized by the standard directory, you can either add it as a spelling directive in the file where is appears (see e.g. the bottom of the bibliography.rst file) or include it in the wordlist.dict file which contains the new words that are used in different files.
  • When citing references, please update the file bibliography.rst. Please use the same style as the one used in the file and add an hyperlink to the paper title that points to a stable URL, e.g. a DOI
  • Make sure that your update builds correctly using sphinx. You can check the result of the travis tests of your pull request on github.

Proposing new sections

If you would like to add several sections or chapters to recover some topics that are important and are missing from the e-book, please start a discussion on the cnp3 mailing list. The e-book evolves over time and we sometime remove sections/chapters as the networking technology evolves. We do not attempt at covering all possible networking technologies.

Updating figures

There is unfortunately some diversity among the figures of the e-book. Some have been drawn using powerpoint, other were drawn using inkscape. If you plan to draw new figures, please try to use tikz or mscgen if possible. Thanks to sphinxcontrib-tikz and sphinxcontrib-mscgen, these figures are written directly in the text, which makes it easier to update them than using graphical drawing tools.

Proposing new translations

If you would like to make the e-book available in a language you are fluent in, please first introduce you by starting a discussion on the cnp3 mailing list. Then, register on Weblate to start translating. The translations are made paragraph per paragraph and can be done collaboratively. They are periodically pushed into the repository via a pull-request.

You can’t perform that action at this time.