arXiv is now an independent nonprofit! Learn more
License: arXiv.org perpetual non-exclusive license
arXiv:2609.29563v1 [cs.AR] 28 Aug 2026

Certified Bank-Aware Fast-Path Coverage for
Hardware-Constrained NDN Forwarding Lookup

Extended Preprint: Algorithms, Combinatorial Structure, and Design-Space Characterization

Amirreza Khorasanian

Electrical Engineering Student, ECE Department, University of Tehran

akh5793@gmail.com

August 2026

Abstract

Named Data Networking (NDN) replaces address-based forwarding with longest-prefix lookup over variable-length hierarchical names. This creates a difficult fit with bounded hardware fast paths: parser depth is finite, trie state consumes scarce memory, memory can be banked, and a shallow match is correct only when it preserves the action of the true longest-prefix match (LPM).

We formulate the problem as certified fast-path coverage. An offline mapper chooses a prefix-closed set of parser-visible trie nodes and a separate set of action-equivalence certificates under a shared object-equivalent budget. A certificate relates a selected shallow FIB prefix to a deeper true-LPM class carrying the same forwarding action; applying the shortcut requires a sound class guard, and all uncertain traffic falls back to an exact path. We present BPC-Greedy, a feasibility-filtered, certificate-aware placement heuristic, and BPC-Portfolio, a multi-strategy wrapper spanning exact-heavy, repair-based, and shallow-shortcut constructions.

This extended preprint develops the algorithmic and combinatorial structure that was compressed in the conference-format manuscript. In particular, it shows that (i) prefix placement is a tree-closure knapsack problem with reusable ancestor cost, (ii) for a fixed selected prefix set and uniform certificate cost, certificate selection is exactly solved by a top-kk rule because candidate certificate classes partition eligible trace traffic, (iii) bank assignment is a separate load-partition feasibility layer, and (iv) the difficult coupling arises because changing the selected prefix set changes both the deepest hardware match and the certificate opportunity set. We also describe the exact memory-only dynamic program, the bank-repair local search, and every branch of the portfolio.

On a synthetic parser-depth sweep and a 50k replay of public NDN testbed names under a reproducible synthetic forwarding-action snapshot, modeled certified coverage increases from 46.48% for the best exact-prefix-only bank-aware baseline to 64.06% at total budget M=48M=48. These numbers characterize placement opportunity under the stated model; the current evaluator uses the known true LPM as an oracle-style guard, certificate-table bank traffic is not modeled, and no claim is made about synthesized latency, area, or throughput. The extended analysis makes these boundaries explicit and identifies a natural next problem: jointly synthesizing cheap one-sided guards for high-value action-equivalent classes.

Preprint note. This manuscript extends the conference-format version with additional algorithmic analysis, worked examples, implementation correspondence, and explicit discussion of architectural boundaries. The reported numerical results are unchanged.

1 Introduction

Named Data Networking (NDN) replaces host-address-based forwarding with name-based forwarding [1, 2]. Instead of routing toward fixed-width destination addresses, an NDN forwarder processes Interests for hierarchical names such as /edu/ucla/video/lecture/seg5. This naming model enables content-centric retrieval, in-network caching, and Interest aggregation, but it also changes the forwarding lookup problem: the router must parse a variable number of components and compute longest-prefix matches over a hierarchical namespace.

Hardware pipelines, by contrast, are intentionally bounded. They expose finite parser depth, fixed stage counts, finite memory capacity, restricted memory bandwidth, and constrained update paths. A fast-path design must therefore answer a question that is partly algorithmic and partly architectural: which forwarding decisions are worth representing in hardware, and which of those decisions can be accepted without changing the exact forwarding action?

A naive answer is to store popular exact FIB prefixes. This is safe, but it can spend one object per exact-LPM class and additionally pay structural trie-closure cost. A more aggressive answer is to store a shallower prefix that covers a large subtree. That is cheap, but potentially wrong: the subtree may contain deeper prefixes whose forwarding actions override the shallow action. The central tension is therefore not merely compression; it is semantics-preserving compression.

We study this tension through action-equivalence certificates. If a selected shallow prefix ss and a deeper true-LPM class tt have the same forwarding action, then using ss is semantically safe for traffic whose exact class is tt. The certificate records this relation. A separate sound guard is required to prove that the current packet belongs to tt; packets that cannot be certified fall back. This makes the accepted fast path conservative by construction.

The main algorithm, BPC-Greedy, does not first optimize exact-prefix placement and then bolt certificates on afterward. Instead, when it considers adding a prefix closure, it evaluates the certificate-aware marginal gain of that closure. A shallow prefix can therefore be selected even when its own exact-LPM traffic is modest, provided it enables high-weight same-action descendant classes. BPC-Portfolio then treats several structurally different heuristics as complementary search biases and returns the best feasible candidate.

The extended preprint focuses on the combinatorial structure underlying this mapper. Its main additions are:

  • •

    a precise decomposition into tree-closure placement, certificate selection, bank assignment, and budget splitting;

  • •

    an exact dynamic program for the memory-only prefix-closed subproblem and an explanation of the bank-repair local search;

  • •

    a proof that top-kk certificate selection is optimal for fixed SS under the current unit-cost trace model;

  • •

    a detailed account of why the full objective is nevertheless nonseparable: adding a prefix changes the deepest selected match and therefore changes which certificate pairs exist;

  • •

    a visual and algorithmic explanation of the BPC-Portfolio branches;

  • •

    a more explicit account of the oracle guard, the bank abstraction, and the path toward guard-aware physical cost models.

Refer to caption
Figure 1: Running example. A shallow selected prefix may safely stand in for some deeper exact-LPM classes but not others. Certificates encode same-action relations; they do not relax correctness.

2 NDN Lookup and a Running Example

An NDN forwarder maintains multiple data structures, including a Content Store (CS), Pending Interest Table (PIT), and Forwarding Information Base (FIB) [3, 4]. This paper isolates the FIB lookup subproblem. Each FIB prefix pp has an action a⁡(p)a(p), representing an outgoing face or next-hop set.

Consider the FIB in Fig. 1. The shallow prefix /edu/ucla and deeper prefix /edu/ucla/video both map to action A, whereas /edu/ucla/repo maps to B. Therefore the same shallow state is safe for one descendant class and unsafe for another.

A trace provides workload weight. For example, suppose 65 Interests have true LPM /edu/ucla/video, 20 have true LPM /edu/ucla/repo, and 15 have true LPM /edu/wustl. The FIB determines what forwarding semantics exist; the trace determines how often each semantic class is exercised. The mapper uses both.

3 Model and Notation

Let TT be a weighted trace of Interest names. Each name x=(c1,…,cℓ⁡(x))x=(c_{1},\ldots,c_{\ell(x)}) has weight w⁡(x)w(x). Let PP be the FIB prefixes embedded in a prefix trie with node set VV. We write p⪯xp\preceq x when prefix pp matches xx component-wise.

The exact forwarding class is

LPM⁡(x)=arg⁡maxp∈P,p⪯x​|p|.\operatorname{LPM}(x)=\arg\max_{p\in P,\;p\preceq x}|p|. (1)

with exact action a⋆​(x)=a⁡(LPM⁡(x))a^{\star}(x)=a(\operatorname{LPM}(x)).

The mapper selects a parser-visible, prefix-closed set S⊆VS\subseteq V. Structural closure nodes may belong to SS without being FIB entries. Only S∩PS\cap P carries actions. With parser depth DD, the deepest selected match is

HW⁡(x,S)=arg⁡maxs∈S,s⪯x,|s|≤D​|s|.\operatorname{HW}(x,S)=\arg\max_{s\in S,\;s\preceq x,\;|s|\leq D}|s|. (2)

If no selected node matches, HW(x,S)=⊥\operatorname{HW}(x,S)=\bot.

Let KK be a set of certificates. A certificate (s,t)(s,t) requires

s∈S∩P,t∈P,s⪯t,a⁡(s)=a⁡(t).s\in S\cap P,\qquad t\in P,\qquad s\preceq t,\qquad a(s)=a(t). (3)

The target tt need not be selected and certificates themselves have no prefix-closure requirement. This is important: the purpose of a certificate is precisely to avoid storing every deeper target as selected trie state.

The object-equivalent budget is

|S|+γ​|K|≤M,|S|+\gamma|K|\leq M, (4)

where γ\gamma is the normalized certificate cost. The main experiment uses γ=1\gamma=1 as a reference normalization, not as a measured equality of silicon area.

Selected trie state is assigned to BB abstract banks. If b⁡(s)b(s) is the bank of selected node ss and λ⁡(s)\lambda(s) is its modeled load, then

∑s∈S:b⁡(s)=jλ(s)≤C,j=1,…,B.\sum_{s\in S:b(s)=j}\lambda(s)\leq C,\qquad j=1,\ldots,B. (5)

In the current implementation, λ⁡(s)\lambda(s) is the trace-derived true-LPM count for action-bearing FIB nodes and zero for structural closure nodes. Certificates are not charged bank load. Section 9.3 discusses why this is a feasibility proxy rather than a runtime memory model.

A target-class guard gt​(x)g_{t}(x) must satisfy the one-sided soundness condition

gt​(x)=1⇒LPM⁡(x)=t.g_{t}(x)=1\;\Rightarrow\;\operatorname{LPM}(x)=t. (6)

False negatives are allowed: a guard may decline to certify a packet and send it to fallback. False positives are not allowed because they could change the forwarding action.

A packet is certified when either the selected match is exact or a stored same-action certificate is accompanied by a sound target-class guard:

certified(x,S,K)={1,HW⁡(x,S)=LPM⁡(x),1,∃t:(HW⁡(x,S),t)∈K∧gt​(x)=1,0,otherwise.\operatorname{certified}(x,S,K)=\begin{cases}1,&\operatorname{HW}(x,S)=\operatorname{LPM}(x),\\ 1,&\exists t:(\operatorname{HW}(x,S),t)\in K\land g_{t}(x)=1,\\ 0,&\text{otherwise.}\end{cases} (7)

The primary metric is

Cov⁡(T,S,K)=∑x∈Tw⁡(x)​certified⁡(x,S,K)∑x∈Tw⁡(x).\operatorname{Cov}(T,S,K)=\frac{\sum_{x\in T}w(x)\operatorname{certified}(x,S,K)}{\sum_{x\in T}w(x)}. (8)

4 Combinatorial Anatomy of the Placement Problem

The full mapper is easier to understand when decomposed into four coupled layers: tree closure, certificate choice, bank partitioning, and budget splitting. Fig. 2 summarizes the decomposition.

4.1 Prefix closure creates reusable path cost

Let clD⁡(v)\operatorname{cl}_{D}(v) denote the parser-visible ancestor closure of candidate FIB prefix vv. The incremental object cost of adding vv to a current selection SS is

cS​(v)=|clD⁡(v)∖S|.c_{S}(v)=|\operatorname{cl}_{D}(v)\setminus S|. (9)
Refer to caption
Figure 2: Combinatorial decomposition. Certificate selection is easy once SS is fixed; the difficulty is that changing SS changes closure cost, deepest selected matches, certificate opportunities, and bank feasibility.

This is not a fixed item cost. If some ancestors are already selected, the same deep prefix becomes cheaper.

Lemma 1 (Ancestor reuse). If S⊆S′S\subseteq S^{\prime}, then cS′​(v)≤cS​(v)c_{S^{\prime}}(v)\leq c_{S}(v) for every candidate vv.

Proof. Because S⊆S′S\subseteq S^{\prime}, removing S′S^{\prime} from the same closure can only remove at least as many already-present nodes as removing SS. □\square

This tiny observation has a large algorithmic consequence: a static ranking such as “traffic divided by depth” cannot capture the true marginal cost. Previously selected ancestors create reuse, and the greedy score must be recomputed after every commit.

4.2 Memory-only exact placement is a tree-knapsack dynamic program

The repository contains an exact dynamic program, PCT-DP, for the memory-only prefix-closed subproblem. For a selected node vv, let Fv​(k)F_{v}(k) be the maximum exact-LPM weight obtainable from the subtree of vv with kk selected nodes, conditioned on selecting vv (the root is free). If wvw_{v} is vv’s FIB weight or zero for a structural node, then the recurrence is a tree convolution:

Fv​(k)=wv+max⁡∑i=1rk1+⋯+kr=k−1⁡max⁡{0,Fui​(ki)}.F_{v}(k)=w_{v}+\max_{k_{1}+\cdots+k_{r}=k-1}\sum_{i=1}^{r}\max\{0,F_{u_{i}}(k_{i})\}. (10)

where u1,…,uru_{1},\ldots,u_{r} are children of vv and the zero option means not selecting a child subtree. The implementation realizes this recurrence by repeatedly merging child budget tables.

PCT-DP is useful conceptually because it separates two facts. Prefix closure alone is structured enough for exact dynamic programming on a tree; adding bank assignment and certificate-aware state-dependent value destroys that clean one-dimensional budget structure.

4.3 For fixed SS, certificate selection is exactly top-kk

Fix selected state SS and parser depth DD. Every trace packet has a unique deepest selected match s=HW⁡(x,S)s=\operatorname{HW}(x,S) and a unique true LPM t=LPM⁡(x)t=\operatorname{LPM}(x). If s≠ts\neq t and a⁡(s)=a⁡(t)a(s)=a(t), the packet contributes to exactly one candidate pair (s,t)(s,t).

Define the weight of a pair as

qS(s,t)=∑x∈T:HW⁡(x,S)=s,LPM⁡(x)=tw(x),q_{S}(s,t)=\sum_{x\in T:\;\operatorname{HW}(x,S)=s,\;\operatorname{LPM}(x)=t}w(x), (11)

for action-valid pairs only.

Proposition 1 (Optimal certificate selection for fixed SS). Under uniform certificate cost and a budget of at most mCm_{C} certificates, selecting the mCm_{C} pairs with largest qS​(s,t)q_{S}(s,t) maximizes certificate hits for the fixed prefix set SS.

Proof. Each eligible trace packet contributes to exactly one pair because both HW⁡(x,S)\operatorname{HW}(x,S) and LPM⁡(x)\operatorname{LPM}(x) are unique. Therefore the traffic covered by distinct certificate pairs is disjoint, and total certificate hits are the sum of selected pair weights. Under equal cost, the maximum-weight subset of cardinality mCm_{C} is exactly the top-mCm_{C} weights. □\square

This is one of the useful structural simplifications in the implementation. The certificate subproblem does not require another approximate solver once SS is known.

4.4 The hard coupling: SS changes the certificate universe

Although fixed-SS certificate choice is simple, qSq_{S} itself changes when SS changes. If a deeper selected prefix is added, the deepest selected match for some packets moves from an ancestor ss to the newly selected prefix s′s^{\prime}. Existing pairs (s,t)(s,t) can disappear, new pairs (s′,t)(s^{\prime},t) can appear, and some traffic can become exact. Thus certificate value is not an independent item value attached permanently to a FIB node.

This is why BPC-Greedy evaluates a candidate by replaying its joint exact-plus-certificate effect. The relevant marginal gain is

Δ⁡(v∣S)=CertifiedHits⁡(T,S∪clD⁡(v),KS∪clD⁡(v)⋆)−CertifiedHits⁡(T,S,KS⋆),\Delta(v\mid S)=\operatorname{CertifiedHits}(T,S\cup\operatorname{cl}_{D}(v),K^{\star}_{S\cup\operatorname{cl}_{D}(v)})-\operatorname{CertifiedHits}(T,S,K^{\star}_{S}), (12)

where KS⋆K^{\star}_{S} is the optimal top-mCm_{C} certificate set for fixed SS.

4.5 Bank assignment is a separate load-partition problem

For a candidate selected set, the implementation sorts selected nodes by decreasing λ⁡(s)\lambda(s) and places each next item into the currently least-loaded bank, then checks Eq. (5). This is an LPT-style load-balancing heuristic. BankRepairOnly adds a local repair layer that can remove low-density selected leaves when memory or bank constraints are violated.

The bank layer therefore acts as a feasibility filter on a selected prefix set; it is not part of the certificate top-kk proof and it is not a simulation of the packet lookup schedule.

4.6 The generalized optimum contains exact-only placement as a special case

Proposition 2 (Model-level dominance of the generalized feasible region). Let OPTexact\mathrm{OPT}_{\mathrm{exact}} be the best feasible coverage with K=∅K=\emptyset, and let OPTcert\mathrm{OPT}_{\mathrm{cert}} be the optimum of the generalized model with certificates allowed under the same resource semantics. Then OPTcert≥OPTexact\mathrm{OPT}_{\mathrm{cert}}\geq\mathrm{OPT}_{\mathrm{exact}}.

Proof. Every exact-only feasible solution remains feasible in the generalized problem by choosing the same SS, bb and K=∅K=\emptyset. □\square

This is a statement about the optimization model, not the heuristic. BPC-Greedy has no approximation guarantee and can in principle miss a better exact-only construction; BPC-Portfolio partly mitigates that risk by explicitly including exact-heavy candidates.

5 Algorithms

5.1 Exact and bank-aware baselines

TopK. A popularity-only sanity baseline ranks FIB prefixes by trace weight without reasoning about bank pressure or certificate opportunities. It is intentionally simple and is not the headliner baseline.

PCT-DP. The exact memory-only dynamic program described above maximizes exact-prefix weight subject to parser depth, budget, and prefix closure. It serves as a useful oracle for small/memory-only settings.

BankGreedy. BankGreedy scores a candidate using its exact FIB-weight gain divided by missing closure cost plus a bank-balance penalty. Candidates that cannot be feasibly assigned to banks are skipped.

BankRepairOnly. The main exact-only hardware baseline begins from BankGreedy and performs conservative local search. For each candidate closure, if the trial exceeds the node budget or bank capacity, the algorithm repeatedly removes low-density selected leaves that are not part of the new closure. Restricting removal to leaves preserves prefix closure. Density is

ρ⁡(v)=FIBWeight⁡(v)max⁡{λ⁡(v),1}.\rho(v)=\frac{\operatorname{FIBWeight}(v)}{\max\{\lambda(v),1\}}. (13)

The repaired trial is accepted only when it is feasible and improves exact-prefix value.

5.2 BPC-Greedy

BPC-Greedy is the main proposed heuristic. The released code and raw logs retain the historical label BPC-Repair; the final name BPC-Greedy matches the current behavior because a bank-infeasible BPC trial is skipped rather than repaired.

The outer loop tries certificate budget options mC∈Ωm_{C}\in\Omega. For each split,

mP=M−γ​mC.m_{P}=M-\gamma m_{C}. (14)

The inner greedy loop starts from S=∅S=\emptyset and evaluates every parser-visible FIB prefix. For candidate vv, it computes missing closure Δv=clD⁡(v)∖S\Delta_{v}=\operatorname{cl}_{D}(v)\setminus S, rejects a trial exceeding mPm_{P}, rejects a bank-infeasible trial, exactly chooses the top-mCm_{C} certificate pairs for the trial, and measures the resulting increase in certified hits.

Algorithm 1 BankRepairOnly: exact-prefix local repair
1: S←BankGreedy​(M,D,B,C)S\leftarrow\textsc{BankGreedy}(M,D,B,C)
2: repeat
3:   Sb​e​s​t←SS_{best}\leftarrow S
4:   for all parser-visible FIB candidates vv do
5:    R←S∪clD⁡(v)R\leftarrow S\cup\operatorname{cl}_{D}(v)
6:    while |R|>M|R|>M do
7:      remove lowest-density selected leaf not in clD⁡(v)\operatorname{cl}_{D}(v)
8:    end while
9:    while RR is bank-infeasible do
10:      remove lowest-density selected leaf not in clD⁡(v)\operatorname{cl}_{D}(v)
11:    end while
12:    if RR is feasible and exact value improves then
13:      Sb​e​s​t←RS_{best}\leftarrow R
14:    end if
15:   end for
16:   S←Sb​e​s​tS\leftarrow S_{best}
17: until no improvement
18: return SS

The implemented score is

score⁡(v∣S)=Δ⁡(v∣S)|Δv|+0.15​bankPenalty+ε.\operatorname{score}(v\mid S)=\frac{\Delta(v\mid S)}{|\Delta_{v}|+0.15\,\operatorname{bankPenalty}+\varepsilon}. (15)

The coefficient 0.15 is heuristic; no approximation ratio is claimed. The best positive-gain trial is committed, the certificate set is recomputed, and the process repeats until no feasible positive-gain candidate remains. Finally, the best budget split is retained.

5.3 Why BPC is not “exact greedy + certificates”

This distinction is central. An exact-first heuristic scores a prefix by traffic for which that prefix is itself the true LPM. BPC scores a prefix by the total safe traffic enabled after certificates are recomputed. A shallow prefix can therefore win even if it has little direct exact traffic.

For example, consider a selected candidate ss with three descendant true-LPM classes t1,t2,t3t_{1},t_{2},t_{3} of weights 40, 25, and 20, with actions A, A, B while a⁡(s)=Aa(s)=A. With two certificate slots, ss can enable 65 certificate hits through (s,t1)(s,t_{1}) and (s,t2)(s,t_{2}), while t3t_{3} remains fallback. Exact-only scoring would not see this value unless it stores t1t_{1} and t2t_{2} themselves.

5.4 BPC-Portfolio as multi-bias search

BPC-Portfolio evaluates structurally different candidate generators under the same final validation. Fig. 3 shows the branches.

Algorithm 2 BPC-Greedy
1: trie GG, trace TT, total budget MM, parser depth DD, banks BB, capacity CC, certificate cost γ\gamma, split set Ω\Omega
2: b​e​s​t←best\leftarrow empty feasible solution
3: for all mC∈Ωm_{C}\in\Omega do
4:   mP←M−γ​mCm_{P}\leftarrow M-\gamma m_{C}; S←∅S\leftarrow\emptyset
5:   evaluate current certified hits with top-mCm_{C} certificates
6:   repeat
7:    b​e​s​t​C​a​n​d​i​d​a​t​e←∅bestCandidate\leftarrow\emptyset
8:    for all parser-visible FIB prefixes vv do
9:      Δv←clD⁡(v)∖S\Delta_{v}\leftarrow\operatorname{cl}_{D}(v)\setminus S
10:      S′←S∪ΔvS^{\prime}\leftarrow S\cup\Delta_{v}
11:      if |S′|>mP|S^{\prime}|>m_{P} or S′S^{\prime} is bank-infeasible then
12:       continue
13:      end if
14:      K′←K^{\prime}\leftarrow top-mCm_{C} action-valid pairs induced by S′S^{\prime}
15:      g​a​i​n←CertifiedHits⁡(T,S′,K′)−CertifiedHits⁡(T,S,K)gain\leftarrow\operatorname{CertifiedHits}(T,S^{\prime},K^{\prime})-\operatorname{CertifiedHits}(T,S,K)
16:      if g​a​i​n>0gain>0 then
17:       score trial using Eq. (15)
18:      end if
19:      retain highest-scoring trial
20:    end for
21:    if no positive-gain trial exists then
22:      break
23:    end if
24:    commit best trial and recompute top-mCm_{C} certificates
25:   until no improvement
26:   update best if this split has higher certified coverage
27: end for
28: return best

BPC-Greedy branch. Jointly values prefix closures by certificate-aware marginal safe coverage. This is the branch selected by the portfolio in every reported real-name configuration.

BankRepair+Cert. Reserves mCm_{C} certificate slots, uses BankRepairOnly to construct a strong exact-prefix solution under the reduced prefix budget mPm_{P}, then adds the best certificates available to that fixed SS. Certificates do not influence which prefixes are selected.

ExactGreedy+Cert. Sorts FIB prefixes by exact trace weight, greedily inserts closures while they fit the prefix budget, then attaches certificates. This branch intentionally favors concentrated exact-LPM traffic.

ShallowShortcut+Cert. Sorts candidates primarily by shallow depth and secondarily by descendant FIB-weight mass. It deliberately seeks cheap ancestors that may act as certificate anchors for large same-action regions. It is the most shortcut-biased portfolio branch.

Refer to caption
Figure 3: BPC-Portfolio is a robust multi-strategy wrapper, not a separate forwarding mechanism. Each branch represents a different search bias; all candidates are validated under the same budget, closure, parser, certificate, and bank rules.

The portfolio uses lexicographic tie-breaking: higher certified coverage, then higher exact prefix value, then fewer selected nodes.

5.5 Complexity and why the current implementation is expensive

Let n=|PD|n=|P_{D}| be the parser-visible FIB prefix count, N=|T|N=|T| the trace size, hh maximum relevant name depth, r=|Ω|r=|\Omega| the number of budget splits, and II the number of committed greedy rounds. A straightforward candidate evaluation scans the trace to compute certificate-aware coverage and performs a bank assignment for the trial. Ignoring small constants, a conservative implementation-level bound is

O⁡(r​I​n​(N​h+|S|​log⁡|S|)),O\!\left(rIn\left(Nh+|S|\log|S|\right)\right), (16)

which explains why the full 50k BPC sweep is an offline design-space exploration rather than a runtime algorithm.

Several speedups are natural: cache ancestor closures, precompute exact LPM labels, maintain certificate-pair counts incrementally, use lazy-greedy upper bounds, prune dominated budget splits, and compress action-homogeneous regions. These are algorithm-engineering opportunities rather than changes to the semantic model.

6 The Guard Abstraction and the Next Architectural Problem

The guard is the most important unresolved architectural component. The current trace evaluator knows t=LPM⁡(x)t=\operatorname{LPM}(x) and therefore instantiates gt​(x)g_{t}(x) oracle-style. This is useful for measuring placement opportunity, but it does not establish that a low-cost runtime guard exists.

The key distinction is that a practical guard need not solve full multi-class LPM. It may be a conservative one-sided classifier. Full LPM asks which of many possible prefixes is deepest. A guard for target class tt asks only whether there is sufficient evidence to safely certify tt; uncertainty is allowed to fall back.

Refer to caption
Figure 4: One-sided guard interpretation. A useful future guard can conservatively certify an easy subset of a profitable exact-LPM class without classifying every packet.
Table 1: Implementation correspondence.
Concept File/function Role
Trie and exact semantics ndnhw/trie.py path insertion, exact lpm(), deepest selected match, ancestor closure
Memory-only exact DP ndnhw/pct_dp.py::pct_dp exact prefix-closed dynamic program without banks/certificates
Bank greedy ndnhw/bank_greedy.py exact-value greedy with closure and bank feasibility
Exact local repair ndnhw/bank_repair.py add closure, remove low-density leaves until memory/bank feasible
Certificate semantics ndnhw/certificates.py same-action pair counts, top-kk selection, exact/certificate/fallback classification
BPC-Greedy ndnhw/cert_bank_repair.py certificate-aware prefix selection across budget splits
Portfolio ndnhw/cert_bank_portfolio.py evaluates BPC, repair, exact-heavy, and shallow-heavy constructions
Real-name experiment experiments/run_v044_trace_replay_parallel.py deterministic sampling, parallel sweep, CSV/metadata export

This suggests a stronger future optimization. Rather than using a constant γ\gamma, assign every potential certificate a physical cost cs,tc_{s,t} that includes metadata, guard bits, and expected access cost:

|S|+∑(s,t)∈Kcs,t≤M.|S|+\sum_{(s,t)\in K}c_{s,t}\leq M. (17)

The algorithmic target becomes: find high-traffic action-equivalent classes with cheap one-sided signatures. This directly connects semantic opportunity to implementable hardware cost.

7 Implementation Correspondence and Reproducibility

The implementation is a Python package plus experiment drivers. Table 1 maps the mathematical concepts to the released code structure used for the experiments.

The trace construction first inserts FIB prefixes, then inserts observed Interest paths, then replays every Interest against the full FIB trie to obtain its true LPM. The resulting true-LPM counts become FIB weights and, in the current bank model, access-load proxies. The repository test suite contains 13 automated tests covering trie/name behavior, certificate logic, bank repair, bank oracle cases, BPC, portfolio, PIT behavior, DP metrics, and structured traces.

The reported real-name run uses deterministic sample seed 1. Raw per-configuration rows, summary CSVs, metadata JSON, and source totals are preserved. In the final sweep, all 18 BPC-Portfolio winners report source BPC-Repair, i.e., the legacy code label for the BPC-Greedy branch.

Table 2: Main real-name experiment configuration.
Parameter Value
sample size / seed 50,000 / 1
matched Interests 49,961
parser-visible matched Interests at D=8D=8 34,076
parser depth D=8D=8
object budgets M∈{16,32,48}M\in\{16,32,48\}
bank counts B∈{1,2,4}B\in\{1,2,4\}
bank regimes fixed-total, fixed-per-bank
certificate cost γ=1.0\gamma=1.0
headliner methods BankRepairOnly, BPC-Greedy, BPC-Portfolio

8 Evaluation Methodology

8.1 Workloads

We use two complementary workloads. First, a synthetic structured trace isolates parser visibility: 1,200 Interests, 48 FIB prefixes, seed 7, and Zipf parameter α=1.1\alpha=1.1. Second, we replay public NDN testbed names from the TNTech-NGIN dataset [5]. The combined public data contains 265,925 names; the reported run samples 50,000 with seed 1, of which 49,961 have a matched FIB LPM.

The public packet traces do not contain a complete forwarding-state snapshot. We therefore derive a pruned FIB from observed prefixes at depths 1–4 and assign each retained prefix an action class from its first name component. This yields 143 FIB prefixes and six synthetic action classes; the sampled trie contains 14,976 nodes. At D=8D=8, 34,076 matched Interests are parser-visible. The experiment is therefore a real-name replay under a reproducible synthetic forwarding-action snapshot, not a replay of a live router’s routing state.

8.2 Configuration

The two bank regimes separate different abstract capacity assumptions. In fixed-total, increasing BB partitions fixed total capacity. In fixed-per-bank, each bank retains fixed capacity, so total capacity grows with BB.

8.3 Metrics

Certified coverage counts exact hits plus accepted same-action certificate hits. All remaining traffic falls back. The would-be unsafe rate is the subset of fallback that matches selected shallow state but is neither exact nor certified. Prefix-bank feasibility is reported separately.

Refer to caption
Figure 5: Parser visibility on the 1,200-Interest synthetic sweep.
Table 3: Main modeled coverage, fallback (FB), and would-be unsafe (WU) rates; percentages.
BankRepairOnly BPC-Portfolio
MM Cov. FB WU Cov. FB WU
16 23.36 76.64 35.04 39.45 60.55 28.70
32 36.45 63.55 31.66 55.26 44.74 12.88
48 46.48 53.52 21.63 64.06 35.94 4.04

9 Results

9.1 Parser depth is a first-order constraint

Fig. 5 shows the synthetic parser sweep. Parser-visible traffic rises from 36.83% at D=6D=6 to 91.92% at D=8D=8, reaching 100% at D=10D=10. This effect occurs before placement: a prefix or certificate cannot help a packet whose necessary name structure is not visible to the bounded parser.

9.2 Certificate-aware placement increases modeled coverage

At M=16M=16, the best exact-only BankRepairOnly coverage is 23.36%, while BPC-Portfolio reaches 39.45%. At M=32M=32, the values are 36.45% and 55.26%. At M=48M=48, coverage rises from 46.48% to 64.06%, an absolute gain of 17.58 percentage points (approximately 37.8% relative).

The selected BPC states at M=16,32,48M=16,32,48 contain respectively 4, 8, and 16 trie nodes with certificate budgets 12, 24, and 32. At M=48M=48, the normalized budget is therefore

16+1⋅32=48.16+1\cdot 32=48. (18)

This split should not be read as a physical claim that one certificate occupies exactly the same number of bits as one trie node; γ=1\gamma=1 is the reference normalization used in this experiment.

Refer to caption
Figure 6: Modeled certified coverage on the 50k real-name replay under the synthetic action snapshot. BankRepairOnly is the best exact-only result across tested bank settings at each budget.

9.3 The bank results require careful interpretation

Fig. 7 reproduces the bank-model sensitivity at M=48M=48. Exact-only coverage is strongly affected by the tested regime, whereas BPC remains at 64.06% because its selected prefix state is small enough to be feasible in every tested setting.

This result is intentionally interpreted conservatively. The current bank model has three important simplifications:

  1. 1.

    only selected trie nodes are assigned bank load; certificate metadata and guard accesses are not;

  2. 2.

    a shallow selected node is charged its trace-derived true-LPM load, not all descendant packets that may logically use it through certificates;

  3. 3.

    the bank assignment is an offline feasibility partition; runtime addressing, parallel probing, arbitration, and deepest-match reduction across banks are not simulated.

Consequently, the bank experiments are best viewed as one abstract resource-pressure dimension of the placement study. A bank-free sensitivity run and a concrete certificate-table datapath are natural follow-up evaluations; their results cannot be inferred from the present CSVs without rerunning the mapper.

Refer to caption
Figure 7: Bank-model sensitivity at M=48M=48. The flat BPC curve is a property of the current prefix-load proxy and selected state, not evidence of physical bank insensitivity.

10 When Certificates Are Most Valuable

Certificates are most attractive in nearly action-homogeneous regions: a shallow prefix shares its action with several high-traffic deeper LPM classes, but the subtree contains enough conflicting exceptions that blindly collapsing the whole subtree would be incorrect.

Suppose ss has action A and descendants t1,t2,t3,t4t_{1},t_{2},t_{3},t_{4} with actions A, A, A, B and traffic weights 30, 20, 15, 2. Storing ss plus three same-action certificates can potentially cover 65 units of descendant traffic while leaving the conflicting B class to fallback. By contrast, if every descendant has action A, a separate FIB-compression stage could potentially collapse the region more directly; if almost every descendant has a different action, certificate opportunity is small.

This motivates a useful future value model:

value⁡(s,t)≈traffic safely certified for ​tcertificate bits+guard cost+expected access cost.\operatorname{value}(s,t)\approx\frac{\text{traffic safely certified for }t}{\text{certificate bits}+\text{guard cost}+\text{expected access cost}}. (19)

The most interesting classes are not merely same-action classes; they are high-traffic same-action classes that admit cheap one-sided guards.

11 Related Work

High-speed NDN forwarding has been explored in software forwarders such as NFD and NDN-DPDK [4, 6], specialized name lookup structures [7, 8, 9], FPGA FIB lookup engines [10], programmable-switch systems such as Vision and Pegasus [11, 12], and probabilistic summaries such as adaptive prefix Bloom filters [13]. These systems demonstrate concrete fast paths on different execution substrates.

Our question is complementary: given a workload and explicit abstract resource budgets, which exact-LPM classes are safely representable by selected trie state plus semantics-preserving shortcuts? The focus is therefore offline placement and design-space characterization rather than an end-to-end forwarding datapath.

12 Limitations and Research Directions

The strongest limitations are architectural rather than algorithmic bookkeeping.

Oracle-style guard. The evaluator uses the known true LPM to instantiate the target-class guard. A practical design must replace this oracle with a bounded, sound implementation. The promising direction is not necessarily another complete LPM engine, but cheap one-sided signatures that certify profitable classes and reject uncertainty to fallback.

Synthetic forwarding actions. Public traces provide real names but not a complete live FIB snapshot. The first-component action assignment creates broad equivalence regions and can favor certificate opportunities. Action-model sensitivity and live forwarding-state snapshots are necessary before making claims about operational routing policies.

Bank abstraction. Prefix load is a true-LPM-derived proxy; certificates and guards carry no bank load; runtime bank lookup is not modeled. The current results therefore do not establish memory-system throughput.

Normalized certificate cost. The main result uses γ=1\gamma=1. A physical model should derive certificate and guard cost from bits, area, access energy, and bandwidth rather than treating all metadata objects as equal.

No RTL/calibrated performance. There is no synthesis, place-and-route, cycle timing, power, area, or calibrated throughput result. The contribution is an offline placement formulation and opportunity characterization.

Algorithmic scaling. Naive certificate-aware candidate evaluation repeatedly scans the trace. Incremental counts, lazy evaluation, subtree compression, and guard-aware pruning are promising engineering improvements.

13 Conclusion

This work reframes bounded NDN forwarding lookup as a combinatorial placement problem with a strict semantic boundary: a fast-path decision is accepted only when it preserves the exact forwarding action. Prefix closure produces reusable tree cost; exact memory-only placement admits dynamic programming; fixed-state certificate selection collapses to an exact top-kk problem; bank feasibility adds a load-partition layer; and the full difficulty comes from coupling these pieces because changing selected state changes the deepest hardware match and therefore the certificate universe.

BPC-Greedy exploits this coupling by scoring prefix closures using certificate-aware marginal safe coverage, while BPC-Portfolio hedges among certificate-aware, exact-heavy, repair-based, and shallow-heavy search biases. On the reported real-name replay under a reproducible synthetic action snapshot, the resulting placement increases modeled certified coverage from 46.48% to 64.06% at M=48M=48.

The most important next step is now sharply defined: move from oracle certificates to implementable guarded certificates. In algorithmic terms, the next problem is to discover and co-optimize cheap, one-sided signatures for high-value action-equivalent classes, together with their physical storage, bank traffic, and latency. That extension would connect the placement opportunity exposed here to a complete hardware datapath.

Appendix A Worked Microexample

Consider FIB prefixes s,t1,t2,t3s,t_{1},t_{2},t_{3} with s⪯tis\preceq t_{i}, actions

a⁡(s)=A,a⁡(t1)=A,a⁡(t2)=A,a⁡(t3)=B,a(s)=A,\qquad a(t_{1})=A,\qquad a(t_{2})=A,\qquad a(t_{3})=B,

and exact-LPM trace weights 40, 25, and 20 for t1,t2,t3t_{1},t_{2},t_{3}. Assume selecting ss requires one new trie node and the certificate budget is two.

With S={s}S=\{s\}, the candidate certificate weights are

qS​(s,t1)=40,qS​(s,t2)=25,q_{S}(s,t_{1})=40,\qquad q_{S}(s,t_{2})=25,

while (s,t3)(s,t_{3}) is invalid because actions differ. Top-2 certificate selection therefore certifies 65 packets. If another selected node s′s^{\prime} deeper in the t1t_{1} branch is later added, packets formerly contributing to (s,t1)(s,t_{1}) may instead become exact or contribute to a new pair (s′,t1)(s^{\prime},t_{1}). This illustrates why certificate selection is trivial for fixed SS but prefix selection is not.

Appendix B Implementation-Level Pseudocode for Certificate Evaluation

The evaluator logically performs the following classification for each trace Interest:

selected_match = deepest_selected_match(name, S)
true_lpm = lpm(name)
if selected_match == true_lpm:
exact_hit
elif (selected_match, true_lpm) in chosen_certificates:
certificate_hit
else:
fallback

The second branch is where the current offline evaluator uses the trace-known true LPM as the guard oracle. A physical implementation must replace that membership test with a sound runtime guard.

Appendix C Why Certificates Are Not Prefix-Closed

Prefix closure applies to SS, because SS represents explicit trie state. The certificate set KK is metadata over semantic relations. A target tt can remain completely unselected while (s,t)(s,t) is stored, provided s∈S∩Ps\in S\cap P, s⪯ts\preceq t, and a⁡(s)=a⁡(t)a(s)=a(t). Requiring certificate targets to be selected would defeat the main storage advantage of the construction.

References

  • [1] Named Data Networking Project. NDN Architecture Overview. https://named-data.net/project/archoverview/, 2026. Accessed Jul. 2026.
  • [2] Named Data Networking Project. NDN Packet Format Specification. https://docs.named-data.net/NDN-packet-spec/current/, 2026. Accessed Jul. 2026.
  • [3] Zhuo Li, Yaping Xu, Beichuan Zhang, Liu Yan, and Kaihua Liu. Packet forwarding in named data networking requirements and survey of solutions. IEEE Communications Surveys & Tutorials, 21(2):1950–1987, 2019.
  • [4] Alexander Afanasyev, Junxiao Shi, Beichuan Zhang, Lixia Zhang, et al. NFD Developer’s Guide. Technical Report NDN-0021, Named Data Networking Project, 2021. Revision 11.
  • [5] Sankalpa Timilsina, Davide Pesavento, Junxiao Shi, Susmit Shannigrahi, and Lotfi Benmohamed. Capture and analysis of traffic traces on a wide-area NDN testbed. In Proceedings of the 10th ACM Conference on Information-Centric Networking (ICN), pages 101–108, 2023. Dataset: https://github.com/tntech-ngin/ndn-traffic-traces.
  • [6] Junxiao Shi, Davide Pesavento, and Lotfi Benmohamed. NDN-DPDK: NDN forwarding at 100 Gbps on commodity hardware. In Proceedings of the 7th ACM Conference on Information-Centric Networking (ICN), pages 30–40, 2020.
  • [7] Yi Wang, Huichen Dai, Junchen Jiang, Keqiang He, Wei Meng, and Bin Liu. Parallel name lookup for named data networking. In IEEE Global Telecommunications Conference (GLOBECOM), pages 1–5, 2011.
  • [8] Yi Wang, Keqiang He, Huichen Dai, Wei Meng, Junchen Jiang, Bin Liu, and Yan Chen. Scalable name lookup in NDN using effective name component encoding. In IEEE International Conference on Distributed Computing Systems (ICDCS), pages 688–697, 2012.
  • [9] Won So, Ashok Narayanan, and David Oran. Named data networking on a router: Fast and DoS-resistant forwarding with hash tables. In Proceedings of the Ninth ACM/IEEE Symposium on Architectures for Networking and Communications Systems (ANCS), pages 215–226, 2013.
  • [10] Weiwen Yu and Derek Pao. Hardware accelerator for FIB lookup in named data networking. Microprocessors and Microsystems, 71:102877, 2019.
  • [11] Junji Takemasa, Yuki Koizumi, and Toru Hasegawa. Vision: Toward 10 Tbps NDN forwarding with billion prefixes by programmable switches. In Proceedings of the 8th ACM Conference on Information-Centric Networking (ICN), pages 13–19, 2021.
  • [12] Xingguo Long, Kun Huang, Rongwei Yang, Qingguo Dai, and Zhenyu Li. Pegasus: A high-speed NDN router with programmable switches and server clusters. In Proceedings of the 10th ACM Conference on Information-Centric Networking (ICN), pages 12–18, 2023.
  • [13] Wei Quan, Changqiao Xu, Jianfeng Guan, Hongke Zhang, and Luigi Alfredo Grieco. Scalable name lookup with adaptive prefix bloom filter for named data networking. IEEE Communications Letters, 18(1):102–105, 2014.