What Is Not Covered
For lack of space, I had to select a subset of the Linux networking features to cover. No selection would make everyone happy, but I
think I covered the core of the networking code, and with the knowledge you can gain with this book, you will find it easier to study on
your own any other networking feature of the kernel.
In this book, I decided to focus on the networking code, from the interface between device drivers and the protocol handlers, up to the
interface between the IPv4 and L4 protocols. Instead of covering all of the features with a compromise on quality, I preferred to keep
quality as the first goal, and to select the subset of features that would represent the best start for a journey into the kernel networking
implementation.
Here is a partial list of the features I could not cover for lack of space:
Internet Protocol Version 6 (IPv6)
Even though I do not cover IPv6 in the book, the description of IPv4 can help you a lot in understanding the IPv6
implementation. The two protocols share naming conventions for functions and often for variables. Their interface to Netfilter
is also similar.
IP Security protocol
The kernel provides a generic infrastructure for cryptography along with a collection of both ciphers and digest algorithms.
The first interface to the cryptographic layer was synchronous, but the latest improvements are adding an asynchronous
interface to allow Linux to take advantage of hardware cards that can offload the work from the CPU.
The protocols of the IPsec suiteAuthentication Header (AH), EncapsulatingSecurity Payload (ESP), and IP Compression
(IPcomp)are implemented in the kernel and make use of the cryptographic layer.
IP multicast and IP multicast routing
Multicast functionality was implemented to conform to versions 2 and 3 of the Internet Group Management Protocol (IGMP).
Multicast routing support is also present, conforming to versions 1 and 2 of Protocol Independent Multicast (PIM).
Transport layer (L4) protocols
Several L4 protocols are implemented in the Linux kernel. Besides the two well-known ones, UDP and TCP, Linux has the
newer Stream Control Transmission Protocol (SCTP). A good description of the implementation of those protocols would
require a new book of this size, all on its own.
Traffic Control
This is the Quality of Service (QoS) layer of Linux, another interesting and powerful component of the kernel's networking
code. Traffic control is implemented as a general infrastructure and as a collection of traffic classifiers and queuing
disciplines. I briefly describe it and the interface it provides to the main transmission routine in Chapter 11 . A great deal of
documentation is available at http://lartc.org .
Netfilter
The firewall code infrastructure and its extensions (including the various NAT flavors) is not covered in the book, but I
describe its interaction with most of the networking features I cover. At the Netfilter home page, http://www.netfilter.org , you
This document was created by an unregistered ChmMagic, please go to http://www.bisenter.com to register it. Thanks .