You are here

Organisation of the book

28 January, 2015 - 14:43

This document is organised according to the TCP/IP reference model and follows a top-down approach. Most of the classical networking textbooks chose a bottom-up approach, i.e. they first explained all the electrical and optical details of the physical layer then moved to the datalink layer. This approach worked well during the infancy of computer networks and until the late 1990s. At that time, most students were not users of computer networks and it was useful to explain computer networks by building the corresponding protocols from the simplest, in the physical layer, up to the application layer. Today, all students are active users of Internet applications, and starting to learn computer networking by looking at bits is not very motivating. Starting from [KuroseRoss09], many textbooks and teachers have chosen a top-down approach. This approach starts from applications such as email and web that students already know and explores the different layers, starting from the application layer. This approach works quite well with today’s students. The traditional bottom-up approach could in fact be considered as an engineering approach as it starts from the simple network that allows the exchange of bits, and explains how to combine different protocols and mechanisms to build the most complex applications. The top-down approach could on the other hand be considered as a scientific approach. Like biologists, it starts from an existing (manbuilt) system and explores it layer by layer.

Besides the top-down versus bottom-up organisation, computer networking books can either aim at having an in-depth coverage of a small number of topics, or at having a limited coverage of a wide range of topics. Covering a wide range of topics is interesting for introductory courses or for students who do not need a detailed knowledge of computer networks. It allows the students to learn a little about everything and then start from this basic knowledge later if they need to understand computer networking in more detail. This books chose to cover, in detail, a smaller number of topics than other textbooks. This is motivated by the fact that computer networks often need to be pushed to their limits. Understanding the details of the main networking protocols is important to be able to fully grasp how a network behaves or extend it to provide innovative services 1.

The book is organised as follows: We first describe the application layer in chapter The application Layer. Given the large number of Internet-based applications, it is of course impossible to cover them all in detail. Instead we focus on three types of Internet-based applications. We first study the Domain Name System (DNS) and then explain some of the protocols involved in the exchange of electronic mail. The discussion of the application layer ends with a description of the key protocols of the world wide web.

All these applications rely on the transport layer that is explained in chapter The transport layer. This is a key layer in today’s networks as it contains all the mechanisms necessary to provide a reliable delivery of data over an unreliable network. We cover the transport layer by first developing a simple reliable transport layer protocol and then explain the details of the TCP and UDP protocols used in TCP/IP networks.

After the transport layer, we analyse the network layer in chapter The network layer. This is also a very important layer as it is responsible for the delivery of packets from any source to any destination through intermediate routers. In the network layer, we describe the two possible organisations of the network layer and the routing protocols based on link-state and distance vectors. Then we explain in detail the IPv4, IPv6, RIP, OSPF and BGP protocols that are actually used in today’s Internet.

The last chapter of the book is devoted to the datalink layer. In chapter The datalink layer and the Local Area Networks, we begin by explaining the principles of the datalink layers on point-to-point links. Then, we focus on the Local Area Networks. We first describe the Medium Access Control algorithms that allow multiple hosts to share one transmission medium. We consider both opportunistic and deterministic techniques. We then explain in detail two types of LANs that are important from a deployment viewpoint today : Ethernet and WiFi.