Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: Best “Full-Stack” Developer Reference on Linux Networking?
1 point by vbtemp on June 3, 2023 | hide | past | favorite | 1 comment
Most generally, I'm a developer of distributed systems. Usually these take the form of TCP/IP (and other non-IP) network overlays, and from a programming point-of-view using basic user-space level TCP or UDP sockets is sufficient for my goals.

At recent jobs, however, these have been taking place at a much lower level and requiring a deep knowledge of networking in the Linux kernel. I've found the transition difficult and also have found it difficult to find a unified reference for all things Linux networking. The ones I find are either too basic or targeted for SysAdmins.

What I would love to find is something in the style of a Beej's Guide to socket programming (https://beej.us/guide/bgnet/) but covering the following:

1. Overview of Linux networking, including firewalls and routing tables.

2. The lifecycle of a packet through the kernel from coming in "over the wire" through delivery to an application socket (and vice versa).

3. An overview of network interfaces, virtual network interfaces, and the utilities to set them up, tear them down, and configure them. Also covering things like TUN/TAP devices, VLANs, PVLANs, network namespaces, etc (targeted for developers).

4. An overview of all the linux tools to shape traffic (queuing disciplines, etc) and measure network performance.

I have cursory understandings of each of these, and have had such a hard time finding a universal reference (again, the same way Beej's Guide is the de-facto reference for socket programming). Many books that seem to cover the topic are decade(s) old. Thanks for any help.




Your question is too overarching and hence what you look for is distributed over various books/documentation/sites.

However you might find the following a good starting point;

1) Understanding the Linux Network Internals by Christian Benvenuti.

2) Linux Kernel Networking: Implementation and Theory by Rami Rosen.

3) The documentation in Linux Kernel itself and its various Howtos.




Consider applying for YC's W25 batch! Applications are open till Nov 12.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: