The Life of a Network Packet in Linux

The Life of a Network Packet in Linux

A practical guide from <span>write()</span> to <span>recv()</span>. You ran <span>curl http://example.com</span>, and now you see some HTML in the terminal, but what actually happened? Linux takes your bytes through a series of defined steps: selecting a path, finding the neighbor’s MAC address, queuing the packet for the network interface card (NIC) to send, and then … Read more

Performance Optimization of the Linux Network Stack: A Complete Link from Packet Reception to Application Layer

The Ultimate Pursuit of Network Performance: In the era of cloud-native and 5G, network performance directly determines the user experience and commercial value of applications. This article delves into the Linux 5.15.4 kernel network subsystem, revealing the secrets of performance optimization from hardware interrupts to application layer reception, aiding in the construction of high-performance network … Read more

Linux Networking Subsystem – NAPI

Linux Networking Subsystem - NAPI

NAPI NAPI is the event handling mechanism used by the Linux networking stack. Today, the term “NAPI” no longer represents any specific meaning [1]. In basic operations, devices notify the host of new events via interrupts. The host then schedules a NAPI instance to handle these events. Additionally, devices can poll for events through NAPI … Read more

Monitoring and Tuning the Linux Networking Stack: Receiving Data (1) – Network Device Initialization

Monitoring and Tuning the Linux Networking Stack: Receiving Data (1) - Network Device Initialization

Monitoring and Tuning the Linux Networking Stack: Receiving Data In Brief This blog post explains how computers running the Linux kernel receive packets and how to monitor and tune various components of the networking stack as packets flow from the network to user-space programs. Update: We have published a corresponding article: “Monitoring and Tuning the … Read more