![Page 1: Scalable NDN Forwarding Concepts, Issues and Principles](https://reader036.vdocuments.mx/reader036/viewer/2022062323/56815c47550346895dca4798/html5/thumbnails/1.jpg)
1
Scalable NDN Forwarding Concepts, Issues and
PrinciplesAuthors: Haowei Yuan, Tian Song, and Patrick CrowleyPublisher: ICCCN 2012Presenter: Chai-Yi ChuDate: 2013/05/22
![Page 2: Scalable NDN Forwarding Concepts, Issues and Principles](https://reader036.vdocuments.mx/reader036/viewer/2022062323/56815c47550346895dca4798/html5/thumbnails/2.jpg)
2
Introduction The NDN Forwarding Plane The CCNx Performance Study Issues in Scalable NDN Forwarding Design Principles
Outline
![Page 3: Scalable NDN Forwarding Concepts, Issues and Principles](https://reader036.vdocuments.mx/reader036/viewer/2022062323/56815c47550346895dca4798/html5/thumbnails/3.jpg)
3
An NDN software prototype, CCNx. Present an experimental evaluation of the current
CCNx implementation. Description of the major data structures and algorithms
used in CCNx. Analyze and simplify the packet forwarding operations
in CCNx and NDN.
Introduction
![Page 4: Scalable NDN Forwarding Concepts, Issues and Principles](https://reader036.vdocuments.mx/reader036/viewer/2022062323/56815c47550346895dca4798/html5/thumbnails/4.jpg)
4
Decides what to do for each incoming packet. Can be divided into multiple layers based on the
functions:1. The strategy layer
Selects forwarding strategies and impacts the forwarding decisions.
2. The data forwarding layer Packet forwarding, pending Interest management and
temporary content storing.3. The transport layer
Handles network communication.
The NDN Forwarding Plane
![Page 5: Scalable NDN Forwarding Concepts, Issues and Principles](https://reader036.vdocuments.mx/reader036/viewer/2022062323/56815c47550346895dca4798/html5/thumbnails/5.jpg)
5
![Page 6: Scalable NDN Forwarding Concepts, Issues and Principles](https://reader036.vdocuments.mx/reader036/viewer/2022062323/56815c47550346895dca4798/html5/thumbnails/6.jpg)
6
Study was conducted in the Open Network Laboratory (ONL)
The CCNx implementation evaluated in this work is ccnx-0.4.0, released on September 15, 2011.◦ compiled using gcc-4.4.1 with optimization level -O4.◦The core component, ccnd, is configured with all default
environment variable values.◦ The Content Store size is set at the default value of 50, 000
The CCNx Performance Study
![Page 7: Scalable NDN Forwarding Concepts, Issues and Principles](https://reader036.vdocuments.mx/reader036/viewer/2022062323/56815c47550346895dca4798/html5/thumbnails/7.jpg)
7
![Page 8: Scalable NDN Forwarding Concepts, Issues and Principles](https://reader036.vdocuments.mx/reader036/viewer/2022062323/56815c47550346895dca4798/html5/thumbnails/8.jpg)
8
To generate CCNx traffic, the built-in ccncatchunks2 and our ccndelphi programs are used as the client program and server program.◦ ccncatchunks2: generates a sequence of Interest packets to
fetch a large file.◦ ccndelphi: generates Data packets with random payloads,
and it is designed to send back Data packets as soon as possible.
![Page 9: Scalable NDN Forwarding Concepts, Issues and Principles](https://reader036.vdocuments.mx/reader036/viewer/2022062323/56815c47550346895dca4798/html5/thumbnails/9.jpg)
9
Throughput values are sampled every 1 second. For each experimental configuration, we select top 20 throughput values to compute the average peak throughput and calculate a 90% confidence interval.
Two experimental configurations were used for measuring CCNx router peak throughput:1. every client requests a different file
ccnx:/i/chunk, i = 0…15, chunk starts with value 0 and increases by 1 for each generated Interest request.
2. all clients request the same file ccnx:/0/chunk
![Page 10: Scalable NDN Forwarding Concepts, Issues and Principles](https://reader036.vdocuments.mx/reader036/viewer/2022062323/56815c47550346895dca4798/html5/thumbnails/10.jpg)
10
![Page 11: Scalable NDN Forwarding Concepts, Issues and Principles](https://reader036.vdocuments.mx/reader036/viewer/2022062323/56815c47550346895dca4798/html5/thumbnails/11.jpg)
11
![Page 12: Scalable NDN Forwarding Concepts, Issues and Principles](https://reader036.vdocuments.mx/reader036/viewer/2022062323/56815c47550346895dca4798/html5/thumbnails/12.jpg)
12
Use Gprof to profile the saturated ccnd daemon.◦ ccnd daemon, which implements the packet forwarding plane.◦more than 60% of the time was taken by unctions related to
packet name decoding.◦ ccn_skeleton_decode function, which is the lowest level
packet decoding function, takes 35.46%.
![Page 13: Scalable NDN Forwarding Concepts, Issues and Principles](https://reader036.vdocuments.mx/reader036/viewer/2022062323/56815c47550346895dca4798/html5/thumbnails/13.jpg)
13
![Page 14: Scalable NDN Forwarding Concepts, Issues and Principles](https://reader036.vdocuments.mx/reader036/viewer/2022062323/56815c47550346895dca4798/html5/thumbnails/14.jpg)
14
The logical FIB and PIT share a hash table named Name Prefix Hash Table (NPHT), which indexes the Propagating Entries(PEs) and Forwarding Info Entries (FIEs).◦ the structures storing detailed pending Interest information
and forwarding information Each bucket in the NPHT has pointers pointing to PEs
and FIEs
Issues in Scalable NDN Forwarding
![Page 15: Scalable NDN Forwarding Concepts, Issues and Principles](https://reader036.vdocuments.mx/reader036/viewer/2022062323/56815c47550346895dca4798/html5/thumbnails/15.jpg)
15
The Propagating Hash Table (PHT) is keyed by the nonce field◦which is unique for each Interest packet. ◦ Stores all the nonce field of the Interest packets presented in
PIT (in the form of PEs).
![Page 16: Scalable NDN Forwarding Concepts, Issues and Principles](https://reader036.vdocuments.mx/reader036/viewer/2022062323/56815c47550346895dca4798/html5/thumbnails/16.jpg)
16
For Content Store, each Data packet is assigned a unique accession number
The cached Data packets are stored in an array named Content Array (CA) indexed by the accession numbers.
Old but popular Data packet whose accession number is out of the range that CA supports. ◦These packets are stored in the Straggler Hash Table (SHT)
to save space
![Page 17: Scalable NDN Forwarding Concepts, Issues and Principles](https://reader036.vdocuments.mx/reader036/viewer/2022062323/56815c47550346895dca4798/html5/thumbnails/17.jpg)
17
Two data structures summarize the Content Store, namely
1. Content Hash Table (CHT) ◦ a hash table keyed by the Data packet full name
2. Content Skip List (CSL)◦ a standard implementation of the skip list data structure
![Page 18: Scalable NDN Forwarding Concepts, Issues and Principles](https://reader036.vdocuments.mx/reader036/viewer/2022062323/56815c47550346895dca4798/html5/thumbnails/18.jpg)
18
![Page 19: Scalable NDN Forwarding Concepts, Issues and Principles](https://reader036.vdocuments.mx/reader036/viewer/2022062323/56815c47550346895dca4798/html5/thumbnails/19.jpg)
19
![Page 20: Scalable NDN Forwarding Concepts, Issues and Principles](https://reader036.vdocuments.mx/reader036/viewer/2022062323/56815c47550346895dca4798/html5/thumbnails/20.jpg)
20
![Page 21: Scalable NDN Forwarding Concepts, Issues and Principles](https://reader036.vdocuments.mx/reader036/viewer/2022062323/56815c47550346895dca4798/html5/thumbnails/21.jpg)
21
![Page 22: Scalable NDN Forwarding Concepts, Issues and Principles](https://reader036.vdocuments.mx/reader036/viewer/2022062323/56815c47550346895dca4798/html5/thumbnails/22.jpg)
22
Simplified Data Structures and Operational Flows
![Page 23: Scalable NDN Forwarding Concepts, Issues and Principles](https://reader036.vdocuments.mx/reader036/viewer/2022062323/56815c47550346895dca4798/html5/thumbnails/23.jpg)
23
![Page 24: Scalable NDN Forwarding Concepts, Issues and Principles](https://reader036.vdocuments.mx/reader036/viewer/2022062323/56815c47550346895dca4798/html5/thumbnails/24.jpg)
24
Key Issues to Be Solved◦ Exact string matching with fast updates
In PIT & CS◦ Longest prefix matching for variable-length and unbounded
names In FIB
◦ Large-scale flow maintenance similar to IP network per-flow monitoring {name, incoming interfaceID, outgoing interfaceID}
![Page 25: Scalable NDN Forwarding Concepts, Issues and Principles](https://reader036.vdocuments.mx/reader036/viewer/2022062323/56815c47550346895dca4798/html5/thumbnails/25.jpg)
25
![Page 26: Scalable NDN Forwarding Concepts, Issues and Principles](https://reader036.vdocuments.mx/reader036/viewer/2022062323/56815c47550346895dca4798/html5/thumbnails/26.jpg)
26
![Page 27: Scalable NDN Forwarding Concepts, Issues and Principles](https://reader036.vdocuments.mx/reader036/viewer/2022062323/56815c47550346895dca4798/html5/thumbnails/27.jpg)
27
Aim for constant-time operations URL-format for Optimization◦ names in NDN have a format similar to HTTP URLs
Simple Data Structures for Fast Updates◦ include hash tables, d-left hash tables and counting bloom
filters. Efficient Packet Encoding/Decoding◦ a complicated XML format to encode packets
develop a quickly and efficiently packet decoding algorithm Different Content Store Policies
Design Principles