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.
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.