NIP / iStack
NSDI '24 · USENIXPDF
A future internet architecture

Named Data Networking Bringing Named Data Networking into the OS kernel

NDN forwards by name rather than address and keeps per-packet state in the data plane. iStack takes NDN into the OS kernel for the first time while staying compatible with the existing address-based stack and socket interfaces.

Tianlong Li · Tian Song · Yating Yang

Beijing Institute of Technology

The paper NSDI '24

iStack

iStack: A General and Stateful Name-based Protocol Stack for Named Data Networking

A kernel stack that brings NDN name resolution, per-packet state and address interfaces together without changing how applications use the network.

Venue

NSDI '24

Stack

in-kernel

Focus

NDN

Tianlong Li · Tian Song · Yating Yang

Beijing Institute of Technology

USENIX page
iStack · NSDI '24 · Beijing Institute of TechnologyNIP / 01
Reported resultsValues are reported in the NSDI '24 paper abstract. See the paper for the testbed, hardware and comparison methodology.
6.50 Gbps
Forwarding throughput
16.25×
Over the NDN-testbed forwarder
46.08%
Lower latency for cached packets

01 / Research pillars

Four things the kernel had to relearn

Putting NDN into a general-purpose OS is not a matter of moving a userspace forwarder into the kernel; it is a matter of repositioning names, state and address interfaces.

PREFIX LOOKUP LONGEST MATCH / /nip/docs /nip/istack /nip/notes /docs/architecture NAME /nip/istack/docs NRS / 02

01

In-kernel name resolution

Forwarding and local delivery share one name resolution architecture, keeping lookups on the kernel data path.

Read the design
ADDRESS SPACE NAME SPACE MACIPPORT FACE name / state NDN TWO LAYERS / ONE ABSTRACTION FACES / 03

02

Two-layer face system

A face abstraction over MAC, IP and port lets name semantics sit on top of the existing kernel network architecture.

Read the design
USER KERNEL / iStack APPLICATIONSconsumer / producerSOCKET APIsocket-likeNAME RESOLUTIONforwarding + demuxFACESMAC / IP / portNICaddress-basedSTACK / 01

03

Socket-compatible interfaces

Applications keep their socket programming model while NDN capabilities are introduced incrementally.

Read the design
NSDI '24 / REPORTED RESULTS iStack 6.50 Gbps 16.25 SPEEDUP 46.08 % LOWER EVAL / 04

04

Measured gains

6.50 Gbps throughput, a 16.25× speedup and 46.08% lower cached-packet latency form the paper's core evidence.

Read the design

02 / Inside the kernel

One name.The whole data path.

iStack puts name resolution, per-packet state and address abstraction into one kernel stack. Interest and Data travel the same path, carrying different state.

  1. 01

    Resolve the name, then choose a direction

    One name resolution architecture serves both network-layer forwarding and local packet demultiplexing.

  2. 02

    Let address interfaces speak in names

    The two-layer face system folds MAC, IP and port into one abstraction without asking devices to understand NDN.

  3. 03

    Keep state on the data path

    PIT, CS and FIB form the core of per-packet state; compact data structures keep the memory cost in check.

iStack / data plane NSDI '24
  • USER
    01Applications
  • KERNEL
    02Socket-compatible API
  • KERNEL
    03Name resolution
  • KERNEL
    04PIT · CS · FIB
  • KERNEL
    05Two-layer faces
  • LINK
    06NIC & network
Interest→PIT→FIB→FaceData ← CS

Per-packet state, compactly organised

The PIT tracks pending Interests, the CS caches Data, and the FIB maps name prefixes to faces.

Address interfaces, name semantics

MAC, IP and port remain the reality of devices and links; faces bring them under name semantics.

6.50

03 / Evaluation

The numbers are the argument.

iStack set out to show not only that NDN can run in the kernel, but that it can run at usable performance. These results come from the NSDI '24 paper.

Read the evaluation
6.50 Gbps
Forwarding throughput
16.25×
Over the NDN-testbed forwarder
46.08%
Lower latency for cached packets

Values are reported in the paper abstract. Testbed setup, hardware and comparison details are in the paper itself.

The paper / NSDI '24

Tianlong Li · Tian Song · Yating Yang
Beijing Institute of Technology

iStack is the first NDN protocol stack implemented inside the OS kernel. It combines in-kernel name resolution, a two-layer face system and socket-compatible interfaces, keeping per-packet state and name-based forwarding on the kernel data path while preserving the existing network stack model.

iStack / USENIX NSDI '24

Start here

Read the stack. Then put it to work.

Start with the project overview, or open the NSDI '24 paper and PDF directly.