Understanding Linux Network Internals

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.

Table of Contents
Part I: General Background
Chapter 1. Introduction
Chapter 2. Critical Data Structures
Chapter 3. User-Space-to-Kernel Interface

Part II: System Initialization
Chapter 4. Notification Chains
Chapter 5. Network Device Initialization
Chapter 6. The PCI Layer and Network Interface Cards
Chapter 7. Kernel Infrastructure for Component Initialization
Chapter 8. Device Registration and Initialization

Part III: Transmission and Reception
Chapter 9. Interrupts and Network Drivers
Chapter 10. Frame Reception
Chapter 11. Frame Transmission
Chapter 12. General and Reference Material About Interrupts
Chapter 13. Protocol Handlers

Part IV: Bridging
Chapter 14. Bridging: Concepts
Chapter 15. Bridging: The Spanning Tree Protocol
Chapter 16. Bridging: Linux Implementation
Chapter 17. Bridging: Miscellaneous Topics

Part V: Internet Protocol Version 4 (IPv4)
Chapter 18. Internet Protocol Version 4 (IPv4): Concepts
Chapter 19. Internet Protocol Version 4 (IPv4): Linux Foundations and Features
Chapter 20. Internet Protocol Version 4 (IPv4): Forwarding and Local Delivery
Chapter 21. Internet Protocol Version 4 (IPv4): Transmission
Chapter 22. Internet Protocol Version 4 (IPv4): Handling Fragmentation
Chapter 23. Internet Protocol Version 4 (IPv4): Miscellaneous Topics
Chapter 24. Layer Four Protocol and Raw IP Handling
Chapter 25. Internet Control Message Protocol (ICMPv4)

Part VI: Neighboring Subsystem
Chapter 26. Neighboring Subsystem: Concepts
Chapter 27. Neighboring Subsystem: Infrastructure
Chapter 28. Neighboring Subsystem: Address Resolution Protocol (ARP)
Chapter 29. Neighboring Subsystem: Miscellaneous Topics

Part VII: Routing
Chapter 30. Routing: Concepts
Chapter 31. Routing: Advanced
Chapter 32. Routing: Li nux Implementation
Chapter 33. Routing: The Routing Cache
Chapter 34. Routing: Routing Tables
Chapter 35. Routing: Lookups
Chapter 36. Routing: Miscellaneous Topics

Book Details

  • Paperback: 1066 pages
  • Publisher: O’Reilly Media (December 2005)
  • Language: English
  • ISBN-10: 0596002556
  • ISBN-13: 978-0596002558
Download [20.8 MiB]

You may also like...

Leave a Reply