or
Sign in to turn on 1-Click ordering.
or
Amazon Prime Free Trial required. Sign up when you check out. Learn More
More Buying Choices
Have one to sell? Sell yours here
Linux Networking Architecture
 
See larger image
 
Tell the Publisher!
I'd like to read this book on Kindle

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.

Linux Networking Architecture [Paperback]

Klaus Wehrle (Author), Frank Pahlke (Author), Hartmut Ritter (Author), Daniel Muller (Author), Marc Bechler (Author)
3.7 out of 5 stars  See all reviews (7 customer reviews)

List Price: $80.00
Price: $64.13 & this item ships for FREE with Super Saver Shipping. Details
You Save: $15.87 (20%)
  Special Offers Available
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
In Stock.
Ships from and sold by Amazon.com. Gift-wrap available.
Only 2 left in stock--order soon (more on the way).
Want it delivered Monday, January 30? Choose One-Day Shipping at checkout. Details
Textbook Student FREE Two-Day Shipping for Students. Learn more


Book Description

0131777203 978-0131777200 May 9, 2004

This unique Linux networking tutorial/reference by experts provides readers with a practical overview and understanding of the implementation of networking protocols in the Linux kernel. The book shows how networking behavior and protocols can be implemented within the Linux operating system. The book provides an introduction to the Linux kernel, mainly focusing on the upcoming kernel version 2.4 but also valid for version 2.2 kernels. The organization of the book follows the TCP/IP layering model, beginning with the kernel's network device drivers, continuing with link-layer protocols such as PPP, and finally giving a description of all core protocols of the TCP/IP protocol family. Additional supplementary protocols such as RSVP, IP Security, and Mobile IP are also covered.


Special Offers and Product Promotions

  • Buy $50 in qualifying physical textbooks, get $5 in Amazon MP3 Credit. Here's how (restrictions apply)

Frequently Bought Together

Linux Networking Architecture + Understanding Linux Network Internals + Understanding the Linux Kernel, Third Edition
Price For All Three: $132.24

Show availability and shipping details

Buy the selected items together
  • In Stock.
    Ships from and sold by Amazon.com.
    This item ships for FREE with Super Saver Shipping. Details

  • Understanding Linux Network Internals $37.79

    In Stock.
    Ships from and sold by Amazon.com.
    This item ships for FREE with Super Saver Shipping. Details

  • Understanding the Linux Kernel, Third Edition $30.32

    In Stock.
    Ships from and sold by Amazon.com.
    This item ships for FREE with Super Saver Shipping. Details



Editorial Reviews

From the Back Cover

Written to give students and professionals the basics required to implement network functionality in the Linux kernel, this book also addresses everyone who wants to deepen their understanding of network specific processes in an operating system. This book introduces the key components and mechanisms of the Linux kernel and the designs of communication systems.

The Linux Networking Architecture is a detailed description of the network subsystem in the newer versions of the Linux kernel. It explains how protocols work and establishes important concepts of the Linux network architecture from device drivers to application interfaces. In addition to central issues such as PPP, IP, firewalls, routing, TCP, NAT, UDP, and sockets, the book discusses more recent protocols and extensions such as PPPoE used in DSL access technologies, the Bluetooth® driver, and quality-of-service support.

Features

All core protocols of the TCP/IP protocol family are covered, with additional treatment of supplementary protocols such as RSVP, Mobile IP and IP Security.

Each chapter contains:

  • A conceptual introduction to the corresponding protocol
  • Discussion of how the protocol's functionality is configured and administered
  • Explanation of data structures, algorithms, and programming interfaces

Interface design is explained with a view to which design principles to use when protocols should be implemented.

The informational appendix further facilitates working with Linux, for instance, debugging in the Linux kernel.

Excerpt. © Reprinted by permission. All rights reserved.

This book deals with the architecture of the network subsystem in the Linux kernel. The idea for this book was born at the Institute of Telematics at the University of Karlsruhe, Germany, where the Linux~kernel has been used in many research projects and its network functionality is modified or enhanced, respectively, in a targeted way. For instance, new services and protocols were developed for the next-generation Internet, and their behavior was studied. In addition, existing protocols, such as the TCP transport protocol, were modified to improve their behavior and adapt them to the new situation in the Internet.

In the course of these research projects, it has been found that the Linux kernel is very suitable for studying new network functionalities, because it features a stable and extensive implementation of the TCP/IP protocol family. The freely available source code allows us to modify and enhance the functionality of protocol instances easily. In addition, the enhancement of the kernel functionality is very elegantly supported by the principle of the kernel modules. However, many studies and theses in this field showed that familiarization with the Linux network architecture, which is required before you can modify the behavior of a protocol instance, demands considerable work and time. Unfortunately, this is mainly due to the facts that the network subsystem of the Linux kernel is poorly documented and that there is no material that would explain and summarize the basic concepts.

Although there are a few books that deal with the Linux kernel architecture and introduce its basic concepts, none of these books includes a full discussion of the network implementation. This situation may be due to the following two reasons:

  • The network subsystem in the Linux kernel is very complex. As mentioned above, it implements a large number of protocols, which is probably one good reason for the enormous success of Linux. Both BoCe00 and BBDK+Ol mention that the description of all these protocols and their concepts would actually fill an entire book. Well, you are reading such a book now, and, as you can see, it has eventually turned out to be quite a large volume, although it describes only part of the network functionality, in addition to the basic concepts of the Linux network architecture.
  • Operating-system developers normally deal with the classical topics of system architecture—for example, the management of memories, processes, and devices, or the synchronization of parallel activities in a system-rather than with the handling of network packets. As you go along in this book, you will surely notice that it has been written not by system developers, but by computer-science specialists and communication engineers.

While considering the facts that there was little documentation covering the Linux network architecture and that students had to familiarize themselves with it over and over again, we had the idea of creating a simple documentation of the Linux network architecture ourselves. Another wish that eventually led to the more extensive concept of this book was a stronger discussion of important communication issues: design and implementation of network protocols in real-world systems. Networking courses teach students the most important concepts and standards in the field of telecommunication, but the design and implementation of network functionality (mainly of network protocols) by use of computer-science concepts has enjoyed little attention in teaching efforts, despite the fact that this knowledge could have been used often within the scope of studies and theses. The authors consider the description of the implementation of the Linux network architecture and its structure, interfaces, and applied concepts a step towards strengthening the informatics component in networking classes.

The authors hope that this book will help to make the processes and structures of the Linux network architecture easier to understand, and, above all, that our readers will have fun dealing with it and perhaps learn a few things about the networking concept and its practical implementation.

The content of this book corresponds to our knowledge of the Linux network architecture. This knowledge is neither comprehensive nor exhaustive. Nevertheless, we have tried to represent the processes and structures of the Linux network architecture in a fashion as easily understandable and detailed as possible. We are thankful for all hints, suggestions for improvement, ideas, and comments, and we will try to consider them in later editions. Updated information about the Linux network architecture and this book is available online at http://www.Linux-netzwerkarchitektur.de.

ORGANIZATION OF THIS BOOK

Chapter 1 will deal intensively with the motivation behind Linux in general and the Linux network architecture in particular; Chapter 2 is an introduction into the basic mechanisms and components of the Linux kernel. To keep the volume of this book manageable, we will discuss only those components that are important for understanding the Linux network architecture. With regard to the other components of the Linux kernel, we refer our readers to other books (e.g., BBDK+01).

Chapter 3 is an introduction to the general architecture of communication systems and the functionality of protocols and protocol instances. It includes an introduction to the popular TCP/IP and ISO/OSI layering models.

Chapters 4 and 5 discuss fundamental concepts of the Linux network architecture, including the representation and management of network packets in the Linux kernel, (see Socket Buffers-Chapter 4) and the concept of network devices (Chapter 5). "Network devices form the links between the protocol instances on the higher layers and hide the particularities of the respective network adapters behind a uniform interface.

Chapter 6 gives an overview of the activity forms in the Linux network architecture and the flow of transmit and receive processes. In addition, this chapter introduces the interface to the higher-layer protocol instances.

Chapters 7 through 12 discuss protocols and mechanisms of the data link layer. More specifically, it describes the SLIP, PPP, and PPP-over-Ethernet protocols and how the ATM and Bluetooth network technologies are supported in Linux. Finally, we will describe how a Linux computer can be used as a transparent bridge.

Our discussion of the TCP/IP protocols starts with an overview of the TCP/IP protocol family in Chapter 13. We will begin with a brief history of the Internet, then give an overview of the different protocols within the TCP/IP protocol family. Chapter 14 will deal with the Internet Protocol and its mechanisms in detail. In addition, it introduces the IP options and the ICMP protocol. Chapters 15 through 23 discuss the following protocols and mechanisms on the network layer: ARP, routing, multicasting, traffic control, firewalls, connection tracking, NAT, KIDS, and IPv6.

Chapters 24 and 25 describe the TCP and UDP transport protocols, respectively. We will close our discussion of the kernel with an explanation of the socket interface, in Chapter 26, then end with a short overview of the programming of network functionality on the application level.

The appendix includes additional information and introduces tools facilitating your work with the Linux network architecture. The issues dealt with include the LXR source code browser, debugging work in the Linux kernel, and tools you can use to manage and monitor the Linux network architecture.

ADDITIONAL SOURCES OF INFORMATION

This section lists a few useful sources of information where you can find additional information about the Linux network architecture.

Magazines

  • The Linux Magazine (http://www.Linux-mag.com) is probably the best-known Linux magazine. It features articles about all issues that are of interest when you deal with Linux. Of special interest is the Kernel Corner column, which regularly publishes articles about the architecture and implementation of components of the Linux kernel-most of them by developers themselves.
  • Linux Focus (http://www.linuxfocus.org) is an online magazine publishing articles in many different languages. It also includes a Kernel Corner.
  • The Linux Gazette (http://www.linuxgazette.com) is another online magazine dedicated to Linux.

Useful Links in the World Wide Web

  • Linux Headquarters: http://www.linuxhq.com
  • Linux Documentation Project: http://www.linuxdoc.org
  • Linux Weekly News: http://www.lwn.net

Other Information

  • Howtos include a lot of information about different Linux issues. Most deal with the configuration and installation of various Linux functionalities. Especially for the Linux kernel, there are also a few howto documents—for example, how to use locks in the kernel RUSSOOb, and general information on hacking in the Linux kernel RUSSOOC. Of course, we should not forget to mention the networking howto, which includes a wealth of tips and information about configuring the network functionality in Linux Drak00.
  • The source code of the current kernels is found at ftp. kernel .org. There are also mirrors of this FTP server, a list of which can be found at http://www.kernel.org/mirrors/.
  • Information about components and drivers of the Linux kernel are also included directly in the source code of a kernel version, in the Documentation subdirectory. In addition, the file Documentation/kernel-docs.txt includes a list of current information about the Linux kernel—for example, documentation, links, and books. (It's worth taking a look at this file!)

CONVENTIONS USED IN THIS BOOK

This book uses the following typographical conventions t...


Product Details

  • Paperback: 648 pages
  • Publisher: Prentice Hall (May 9, 2004)
  • Language: English
  • ISBN-10: 0131777203
  • ISBN-13: 978-0131777200
  • Product Dimensions: 9.4 x 7.1 x 1.1 inches
  • Shipping Weight: 2.5 pounds (View shipping rates and policies)
  • Average Customer Review: 3.7 out of 5 stars  See all reviews (7 customer reviews)
  • Amazon Best Sellers Rank: #1,298,367 in Books (See Top 100 in Books)

 

Customer Reviews

7 Reviews
5 star:
 (1)
4 star:
 (4)
3 star:
 (1)
2 star:
 (1)
1 star:    (0)
 
 
 
 
 
Average Customer Review
3.7 out of 5 stars (7 customer reviews)
 
 
 
 
Share your thoughts with other customers:
Most Helpful Customer Reviews

13 of 15 people found the following review helpful:
2.0 out of 5 stars poor translation from German, but great code walkthrough, May 25, 2005
By 
science-buff (Fremont, CA, USA) - See all my reviews
This review is from: Linux Networking Architecture (Paperback)
This book is marred by pretty bad translation from the original German edition. It takes a while to figure out that the translator is more an English major struggling with intricate computer science terminologies than a fellow programmer. For example, device "base address" is translated to device "basic address" in chapter 5, multiple times; "re-compile the entire kernel" miraculously becomes "retranslate the entire kernel" in chapter 2.

There are also quite a bit of misleading typos. Like "ip_input()" appears multiple times in the discussion of chapter 14, although no such function exists in the code. Actually, the correct term should have been "ip_input.c" - referring to a file, not a function.

It is a major triumph for a German book on Linux network stack to be translated to English by a major publisher; my guess is the German version is well written and well received. This probably means that the English translation/editing is the main culprit.

Other than the cryptic translation and typos, the book does quite detailed code walkthroughs in the Linux network stack. It traces the function calls as an incoming packet enters the Linux kernel from the device driver, and as an outgoing packet propagates down from the higher protocols. The stack uses a lot of function pointers and this makes reading the code quite difficult unless a book like this tells you what function the pointer is pointing to. This, I feel, is the redeeming feature of the book, especially when you are diving deep into the code. There are a bit of code insights described here and there throughout the book, but generally such passages are few and far between, amidst the voluminous mechanical description of who calls who in the code; nothing compares to the kind of insights in Robert Love's "Linux Kernel Development" book.

I would suggest that you look at the "Linux TCP/IP Stack" book by Herbert first, then try this one if you really need help tracing the code.

Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


7 of 7 people found the following review helpful:
4.0 out of 5 stars Fair Introduction to the Linux Network Code, August 30, 2006
Amazon Verified Purchase(What's this?)
This review is from: Linux Networking Architecture (Paperback)
I found this book to be a useful introduction to the Linux TCP/IP stack but the book could be better.

It was not the translation that I found to be problematic in this book. I found the flaws in translation to be at worst a minor annoyance and at times even amusing. I have two major problems with this book. First, I found the book to be poorly organized. Second, too much of the book is devoted to describing individual functions and data structures and not enough of the book is devoted to how the various pieces fit together and interact.

The book is organized more-or-less based on the network layers. This is a logical organization but it means the reader must take detours through chapters on SLIP, ATM, and Bluetooth which are hardly the mainstream protocols that most readers are interested in. The chapter on PPP often referred back to material in the SLIP chapter, making it hard to just skip this chapter. ARP is covered after a description of IPv4. Later in the chapter on Packet Filters and Firewalls several pages are devoted to ipchains as implemented in version 2.2 of the Linux kernel which was replaced by the netfilter architecture that is currently in use.

In spite of these flaws I found this book to be a useful guide to understanding the Linux networking software. The book is thorough, covering everything from transparent bridging to sockets programming. The appendices provide useful supplemental material on navigating the source code, tools and commands for network operation, and some code examples.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


6 of 7 people found the following review helpful:
4.0 out of 5 stars Excellent but needs to be updated to cover the 2.6 kernel, June 13, 2005
This review is from: Linux Networking Architecture (Paperback)
I did not give this book a 5-star rating only because it does not cover the latest 2.6 kernel. There are quite a few changes in the networking subsystem, nevertheless, there are lot of useful information in this book.

The books covers all protocols (not only TCP/IP). It provides the theoretical background along with the step-by-step technical explanation of the implementation code in Linux.

It covers the Linux implementation of SLIP, PPP, PPP over Ethernet, ATM, Bluetooth, Bridges, TCP/IP, ARP, NAT and even Ipv6.

It is a must to read for anyone interested in Linux Networking and the TCP/IP implementation in Linux.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No

Share your thoughts with other customers: Create your own review
 
 
 
Most Recent Customer Reviews





Only search this product's reviews



What Other Items Do Customers Buy After Viewing This Item?


Tags Customers Associate with This Product

 (What's this?)
Click on a tag to find related items, discussions, and people.
 
(2)

Your tags: Add your first tag
 

Sell a Digital Version of This Book in the Kindle Store

If you are a publisher or author and hold the digital rights to a book, you can sell a digital version of it in our Kindle Store. Learn more

Customer Discussions

This product's forum
Discussion Replies Latest Post
No discussions yet

Ask questions, Share opinions, Gain insight
Start a new discussion
Topic:
First post:
Prompts for sign-in
 


Active discussions in related forums
Search Customer Discussions
Search all Amazon discussions
   
Related forums



So You'd Like to...


Create a guide


Look for Similar Items by Category


Look for Similar Items by Subject