It is important to lay a foundation before you attempt to build a computer network. If you are looking to build a computer network that has the potential to grow to global proportions and to support diverse applications, you must first learn what available technologies would help you to reach your specific goals. "Foundation," Chapter 1 of the book Computer Networks, Fifth Edition, will teach you what materials you will need to construct a network from scratch -- it will explore the requirements that different applications and communities place on the network, introduce the idea of network architecture, examine the key elements in the implementation of computer networks, and identify the key metrics that are used to evaluate the performance of computer networks.
Download the Computer Networks PDF, or continue reading the summary below, of Chapter 1: "Foundation," from Computer Networks, Fifth Edition, by Larry L. Peterson and Bruce S. Davie (Morgan Kaufmann, 2012).
About the book: Computer Networks, Fifth Edition, teaches the key principles of computer networks, using the Internet as a primary example to explain protocols and networking technologies. The book encourages readers to think, through a number of perspectives, about how a network can fit into a larger, complex system of interaction.
About the authors: Author Larry Peterson is the Robert E. Kahn Professor of Computer Science and director of the Princeton-hosted PlanetLab Consortium. His research focuses on the design and implementation of networked systems.
Author Bruce Davie is a visiting lecturer at MIT and chief service provider architect at Nicira Networks. As a Fellow at Cisco Systems, he led a team of architects responsible for Multiprotocol Label Switching and IP Quality of Service. He is also an active participant in the Internet Engineering Task Force (IETF) and is currently SIGCOMM chair.
Applications over your network
A network must provide connectivity among a set of computers. While some networks look to limit the amount of machines that are connected, others attempt to grow as large as a global wide area network (WAN). Chapter 1 of Computer Networks, Fifth Edition hopes to explain why networks are designed the way they are to help readers better understand how to build a network from the ground up. This book chapter seeks to address how to build a network that supports application diversity.
Network requirements in the age of application proliferation
Efficiency is the key requirement of computer networks, which is why networks employ packet switching as their main strategy. However, it is too simplistic to view a computer network as simply delivering packets among a collection of computers; a network should be thought of as providing the means for a set of application processes that are distributed over those computers. Keep in mind that defined useful channels involve both understanding the applications' requirements and recognizing the limitations of the underlying technology. The challenge is to fill the gap between what the application needs and what the technology can provide.
Networks do not remain fixed and must be able to evolve to accommodate technological changes, and people must be able to manage them. Designing a network to meet those requirements is not easy. The most basic requirements for a network are that they must provide general, cost-effective, fair and robust connectivity among a large number of computers.
Network architectures are general blueprints that guide the design and implementation of networks. Abstraction is hiding details behind a well-defined interface. The idea of abstraction is to make a model that can capture an important aspect of the system, but the challenge is to identify abstractions that simultaneously provide a service that proves useful in a large number of situations. Abstractions naturally lead to layering; the idea is, you start with the services the underlying hardware offers, and then add a sequence of layers, each of which provides a higher level of service. Layering helps IT professionals build a network into more manageable components.
Implementing network software
One thing that has made the Internet such a success is the fact that software running in general-purpose computers provides so much of its functionality, thus new functionality can be added readily. As a result, new applications and services can show up in a heartbeat. Knowing how to implement network software is an essential part of understanding computer networks. Specific instructions and visuals for both the client and the server can be found in Chapter 1: Foundation.
Computer networks are expected to perform well. It is important to understand the various factors that impact network performance. Network performance is measured by bandwidth and latency. The bandwidth is given by the number of bits that can be transmitted over the network in a certain period of time. Latency is how long it takes a message to travel from one end of a network to the other and is measured in time. Using equations found in this chapter, you can properly assess the performance of your computer LAN or WAN network.
©2012 Elsevier Inc. All rights reserved. Printed with permission from Morgan Kaufmann, a division of Elsevier. Copyright 2012. For more information on this title and other similar books, please visit www.mkp.com.
This was first published in June 2012