If you've ever wondered how Linux carries out the complicated tasks
assigned to it by the IP protocols -- or if you just want to learn about
modern networking through real-life examples -- Understanding Linux
Network Internals is for you. Like the popular O'Reilly book,
Understanding the Linux Kernel, this book clearly explains the
underlying concepts and teaches you how to follow the actual C code that
implements it. Although some background in the TCP/IP protocols is
helpful, you can learn a great deal from this text about the protocols
themselves and their uses. And if you already have a base knowledge of
C, you can use the book's code walkthroughs to figure out exactly what
this sophisticated part of the Linux kernel is doing. Part of the
difficulty in understanding networks -- and implementing them -- is that
the tasks are broken up and performed at many different times by
different pieces of code. One of the strengths of this book is to
integrate the pieces and reveal the relationships between far-flung
functions and data structures. Understanding Linux Network Internals is
both a big-picture discussion and a no-nonsense guide to the details of
Linux networking. Topics include:Key problems with networking Network
interface card (NIC) device drivers System initialization Layer 2
(link-layer) tasks and implementation Layer 3 (IPv4) tasks and
implementation Neighbor infrastructure and protocols (ARP) Bridging
Routing ICMP Author Christian Benvenuti, an operating system designer
specializing in networking, explains much more than how Linux code
works. He shows the purposes of major networking features and the
trade-offs involved in choosing one solution over another. A large
number of flowcharts and other diagrams enhance the book's
understandability.
Download Link