Computer Networking: Principles, Protocols, and Practice
Free

Computer Networking: Principles, Protocols, and Practice

By Olivier Bonaventure
Free
Book Description

This textbook came from a frustration of its main author. Many authors chose to write a textbook because there are no textbooks in their field or because they are not satisfied with the existing textbooks. This frustration has produced several excellent textbooks in the networking community.



The frustrations that motivated this book are different. When the main author started to teach networking in the late 1990s, students were already Internet users, but their usage was limited. Students were still using reference textbooks and spent time in the library. Today’s students are completely different. They are avid and experimented web users who find lots of information on the web. This is a positive attitude since they are probably more curious than their predecessors. Thanks to the information that is available on the Internet, they can check or obtain additional information about the topics explained by their teachers. This abundant information creates several challenges for a teacher. Until the end of the nineteenth century, a teacher was by definition more knowledgeable than his students and it was very difficult for the students to verify the lessons given by their teachers. Today, given the amount of information available at the fingertips of each student through the Internet, verifying a lesson or getting more information about a given topic is sometimes only a few clicks away. Websites such as wikipedia provide lots of information on various topics and students often consult them. Unfortunately, the organisation of the information on these websites is not well suited to allow students to learn from them. Furthermore, there are huge differences in the quality and depth of the information that is available for different topics.



The second reason is that the computer networking community is a strong participant in the open-source movement. Today, there are high-quality and widely used open-source implementations for most networking protocols. This includes the TCP/IP implementations that are part of linux, freebsd or the uIP stack running on 8bits controllers, but also servers such as bind, unbound, apache or sendmail and implementations of routing protocols such as xorp or quagga. Furthermore, the documents that define almost all of the Internet protocols have been developed within the Internet Engineering Task Force (IETF) using an open process. The IETF publishes its protocol specifications in the publicly available RFC and new proposals are described in Internet drafts.



This open textbook aims to fill the gap between the open-source implementations and the open-source network specifications by providing a detailed but pedagogical description of the key principles that guide the operation of the Internet. The book is released under a creative commons licence. Such an open-source license is motivated by two reasons. The first is that we hope that this will allow many students to use the book to learn computer networks. The second is that I hope that other teachers will reuse, adapt and improve it. Time will tell if it is possible to build a community of contributors to improve and develop the book further. As a starting point, the first release contains all the material for a one-semester first upper undergraduate or a graduate networking course.



The current HTML version of the book is at http://cnp3book.info.ucl.ac.be/1st/html/index.html. A draft for the 2nd edition is available.

Table of Contents
  • Computer Networking : Principles, Protocols and Practice
  • Preface
    • Preface
    • About the author
  • Introduction
  • Services and protocols
  • The reference models
    • The reference models
    • The five layers reference model
    • The TCP/IP reference model
    • The OSI reference model
  • Organisation of the book
  • The application Layer
  • Principles
    • Principles
    • The peer-to-peer model
  • The transport services
  • Application-level protocols
    • Application-level protocols
    • The Domain Name System
    • Electronic mail
      • Electronic mail
      • The Simple Mail Transfer Protocol
      • The Post Office Protocol
    • The HyperText Transfer Protocol
  • Writing simple networked applications
  • Summary
  • Exercises
    • Exercises
    • The Domain Name System
    • Internet email protocols
    • The HyperText Transfer Protocol
  • Principles of a reliable transport protocol
    • Principles of a reliable transport protocol
    • Reliable data transfer on top of a perfect network service
    • Reliable data transfer on top of an imperfect network service
      • Reliable data transfer on top of an imperfect network service
      • Go-back-n and selective repeat
      • Connection establishment and release
  • The User Datagram Protocol
  • The Transmission Control Protocol
    • The Transmission Control Protocol
    • TCP connection establishment
    • TCP connection release
    • TCP reliable data transfer
      • TCP reliable data transfer
      • Segment transmission strategies
      • TCP windows
      • TCP's retransmission timeout
      • Advanced retransmission strategies
      • TCP congestion control
  • Exercises
    • Exercises
    • Principles
  • Practice
    • Practice
    • Packet trace analysis
      • Packet trace analysis
      • Emulating a network with netkit
  • The network layer
    • The network layer
    • Principles
      • Principles
      • Organisation of the network layer
      • The control plane
    • Internet Protocol
      • Internet Protocol
      • IP version 4
      • ICMP version 4
      • IP version 6
      • ICMP version 6
      • Middleboxes
    • Routing in IP networks
      • Routing in IP networks
      • Intradomain routing
      • Interdomain routing
    • Summary
    • Exercises
      • Exercises
      • Principles
      • Practice
  • The datalink layer and the Local Area Networks
    • The datalink layer and the Local Area Networks
    • Principles
      • Principles
      • Framing
      • Error detection
    • Medium Access Control
      • Medium Access Control
      • Static allocation methods
      • ALOHA
      • Carrier Sense Multiple Access
      • Carrier Sense Multiple Access with Collision Detection
      • Carrier Sense Multiple Access with Collision Avoidance
      • Deterministic Medium Access Control algorithms
    • Datalink layer technologies
      • Datalink layer technologies
      • The Point-to-Point Protocol
      • Ethernet
      • 802.11 wireless networks
    • Summary
    • Exercises
  • Glossary
  • Bibliography
    No review for this book yet, be the first to review.
      No comment for this book yet, be the first to comment
      You May Also Like
      Also Available On
      App store smallGoogle play small
      Categories
      Curated Lists
      • Pattern Recognition and Machine Learning (Information Science and Statistics)
        by Christopher M. Bishop
        Data mining
        by I. H. Witten
        The Elements of Statistical Learning: Data Mining, Inference, and Prediction
        by Various
        See more...
      • CK-12 Chemistry
        by Various
        Concept Development Studies in Chemistry
        by John Hutchinson
        An Introduction to Chemistry - Atoms First
        by Mark Bishop
        See more...
      • Microsoft Word - How to Use Advanced Algebra II.doc
        by Jonathan Emmons
        Advanced Algebra II: Activities and Homework
        by Kenny Felder
        de2de
        by
        See more...
      • The Sun Who Lost His Way
        by
        Tania is a Detective
        by Kanika G
        Firenze_s-Light
        by
        See more...
      • Java 3D Programming
        by Daniel Selman
        The Java EE 6 Tutorial
        by Oracle Corporation
        JavaKid811
        by
        See more...