Understanding Linux Network Internals
O'Reilly, 1st Edition, 2005
This book gives a great overview of the linux networking internals. In particular, it describes what happens during frame transmission and reception in great detail. I like this book because it gives the big picture along and ties it with the actual code.
What can you learn? (among other things)
What is an sk_buff and how to manipulate it.
- How NAPI and non-NAPI drivers process packets in 2.6.x kernels.
How netif_rx, netif_rx_schedule, netif_rx_action, and netif_receive_skb work.
- Where are the IP netfilter hooks.
- How the bridging code works and where it puts netfilter hooks.