Lab 03 / Linux & networking

Follow the path.

From a socket to the wire, or a CPU to its memory. Explore the boundaries hidden behind a simple application operation.

Interactive packet and NUMA models

Outbound TCP, simplified

Configuration changes restart the path. Documentation-only IP addresses; no packets are sent.

TCP10.0.0.24:42100203.0.113.10:443
Conntrack: UNTRACKEDState: ready
  1. 01

    Application socket

    A process writes bytes to a TCP socket. We follow one illustrative segment, not a complete TCP exchange.

    current
  2. 02

    TCP transport

  3. 03

    Route lookup

  4. 04

    OUTPUT: conntrack

  5. 05

    OUTPUT: filter

  6. 06

    POSTROUTING: SNAT

  7. 07

    Network interface

  8. 08

    Destination response

  9. 09

    Return to the socket

Application prepared a TCP write.

Packet model assumptions

This is a simplified, locally generated IPv4 TCP path, not a Linux kernel emulator. Conntrack and firewall hooks are represented in conceptual order; real priorities, namespaces, routing changes, and offload vary by configuration.

The return path combines multiple hooks. TCP handshake, loss, reassembly, retransmission, TLS, and real network timings are omitted. NAT is optional and not required for every network.

Reference: Netfilter hooks

NUMA model assumptions

Two symmetric nodes, fixed hypothetical access costs, no caches or memory-level parallelism. Time = accesses × latency; 1 ms = 1,000,000 ns.

These are estimates, not measured hardware characteristics. Memory bandwidth, prefetching, IRQ placement, contention, page migration, and scheduler behavior are not simulated.

Reference: Linux NUMA memory policy

Search the notebook

Search articles, projects, and experiments. Everything stays on your device.

palash / notebook

A small doorway into the site. No shell, no remote execution.

Welcome. Type help to find your way around.

lab →experience →contact →Ctrl / Cmd + K