Understanding Linux Network Internals

Understanding Linux Network Internals

5.0 1
by Christian Benvenuti
     
 

View All Available Formats & Editions

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

Overview

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.

Product Details

ISBN-13:
9780596002558
Publisher:
O'Reilly Media, Incorporated
Publication date:
03/01/2005
Pages:
1066
Sales rank:
618,715
Product dimensions:
7.00(w) x 9.19(h) x 1.90(d)

Meet the Author

Christian Benvenuti received his masters degree in Computer Science at the University of Bologna in Italy. He collaborated for a few years with the International Center for Theoretical Physics (ICTP) in Trieste, where he developed ad-hoc software based on the Linux kernel, was a scientific consultant for a project on remote collaboration, and served as an instructor for several training sessions on networking. The trainings, held mainly in Europe, Africa, and South America wereall based on Linux systems and addressed to scientists from developing countries, where the ICTP has been promoting Linux for many years. He occasionally collaborates with a non-profit organization founded by ICTP members, Collaborium.org, to continue promoting Linux on developing countries.In the past few years he worked as a software engineer for Cisco Systems in the Silicon Valley, where he focused on Layer two switching, high availability, and network security.

Customer Reviews

Average Review:

Write a Review

and post it to your social network

     

Most Helpful Customer Reviews

See all customer reviews >

Understanding Linux Network Internals 5 out of 5 based on 0 ratings. 1 reviews.
Guest More than 1 year ago
Are you a newcomer who already has some knowledge of networking? If you are, then this book is for you! Author Christian Benvenuti, has done an outstanding job of writing practical guide that represents a good starting point for anyone willing to learn more about the Linux kernal internals. Benvenuti, begins by introducing you to the basic knowledge you need to understand the rest of the book comfortably. Then, the author will show you how and when network devices are initialized and registered with the kernal. He also puts into context all of the features that can influence the path of a packet inside the kernal, and to give you an idea of the big picture. Next, he looks at the link layer or L2 counterpart of routing: bridging. The author continues by explaining the main drawbacks of version 4 of the IP protocol and shows you how IPv6 tries to address them. He also discusses how the router and the application host know who each other are. Finally, he introduces the routing process, and how it plays a central role in the Linux networking code. In this most excellent book, the author shows you how Linux carries out the complicated tasks assigned to it by the IP protocols. More importantly, one of the strengths of this book is that it integrates the pieces and shows you the relationships between far flung functions and data structures.