Post on 20-Mar-2020
Named Data Networking
Patrick Crowley Networking Research Seminar 2/4/2013
Goals for today
• Introduce Named Data Network (NDN)
– What is it?
– How does it work?
– What is scalable NDN forwarding?
• Recent highlights
– Papers
– Demonstrations
Named Data Networking: Core Idea
Modern communication consists of
requests for named data
Today’s networks are based on
host-to-host connections
NDN is a general-purpose network protocol
built on requests for named data
NDN Team
• Project launch: 9/1/2010, part of NSF FIA Program
• Research Areas: Architecture, Routing, Security, Applications, Scalable Forwarding
PARC: Van Jacobson, Jim Thornton, Ersin Uzun
University of California, Los Angeles: Jeff Burke, D. Estrin, Lixia Zhang
University of Arizona: Beichuan Zhang
University of California, Irvine: Gene Tsudik
University of California, San Diego: Kim Claffy, Dmitri Krioukov
Colorado State University: Dan Massey, Christos Papadopoulos
University of Illinois, Urbana-Champaign: Tarek Abdelzaher
University of Memphis: Lan Wang
Northeastern University: Edmund Yeh
Washington University: Patrick Crowley
Named Data Networking • Leverages the strengths of the Internet, addresses weaknesses
– Layers efficiently atop Ethernet, UDP, TCP, …
• Naturally accommodates
– Mobile devices
– Wireless and other broadcast-based link types
– Data authentication and security, privacy, anonymity
– Policy-based forwarding, routing with loops
• With NDN, we aim to show that
– Communication is more secure
– Infrastructure is more efficiently utilized
– Applications are simpler
Two Packet Types
• No addresses
• Publishers bind names to data; receivers verify
NDN Interest Forwarding
1. Do I have this data?
2. Is a request already pending?
3. Which next hop might lead to the source?
Enterprise
Network
Inte
rnet
NDN Forwarding Illustrated
Emit Interest: xkcd.com/949/1 1
1
I: xkcd.com/949/1
Enterprise
Network
Inte
rnet
NDN Forwarding Illustrated
Emit Interest: xkcd.com/949/1 1
1
2
Interest packet arrives
1. Do my buffers contain
xkcd.com/949/1 ?
2. Is a pending request for it in flight?
3. Where should I forward the interest?
Add arriving interface to the pending
interest list.
Interest arrives at switch
2
I: xkcd.com/949/1
Enterprise
Network
Inte
rnet
NDN Forwarding Illustrated
Emit Interest: xkcd.com/949/1 1
2
3
Interest arrives at switch
1
2
Interest arrives at gateway
3
Interest packet arrives
1. Do my buffers contain
xkcd.com/949/1 ?
2. Is a pending request for it in flight?
3. Where should I forward the interest?
Add arriving interface to the pending
interest list.
I: xkcd.com/949/1
Enterprise
Network
Inte
rnet
NDN Forwarding Illustrated
Emit Interest: xkcd.com/949/1 1
2
3
Interest arrives at switch
1
2
Interest arrives at gateway
4 Laptop moves to WiFi
3
4
Enterprise
Network
Inte
rnet
NDN Forwarding Illustrated
Emit Interest: xkcd.com/949/1 1
2
3
Interest arrives at switch
1
2
Interest arrives at gateway
4 Laptop moves to WiFi
5 Data arrives
3
4
5
Data packet arrives
1. Store data packet in buffer.
2. Send packet out any matching
interfaces on the pending interest list.
3. Remove pending entries.
Enterprise
Network
Inte
rnet
NDN Forwarding Illustrated
Emit Interest: xkcd.com/949/1 1
2
3
Interest arrives at switch
1
2
Interest arrives at gateway
4 Laptop moves to WiFi
5 Data arrives
Interest resent 6
3
4
5
I: xkcd.com/949/1
Interest packet arrives
1. Do my buffers contain
xkcd.com/949/1? Yes, send it.
2. Is a pending request for it in flight?
3. Where should I forward the interest?
Add arriving interface to the pending
interest list.
Finished!
6
Internet
IP Nodes and Routes
wustl.edu
128.252.0.0/16
google.com
74.125.0.0/16
xkcd.com
72.26.192.0/19
hosted by voxel.net
Forwarding logic in IP
1. Extract destination
address
2. Find longest matching
prefix in route table
3. Forward packet out
matching interface
Internet
IP Nodes and Routes
wustl.edu
128.252.0.0/16
google.com
74.125.0.0/16
xkcd.com
72.26.192.0/19
hosted by voxel.net
1 2
3 4
Matching
Prefix
Link
128.252/16 1
72.26.192/19 2
74.125/16 3
Internet
NDN Nodes and Routes
wustl.edu
128.252.0.0/16
google.com
74.125.0.0/16
xkcd.com
72.26.192.0/19
hosted by voxel.net
1 2
3 4
Matching
Prefix
Link
wustl.edu 1
xkcd.com 2, 3
google.com 1, 3, 4
Questions
• Can NDN efficiently
support host-to-host
patterns?
• Can NDN efficiently
support user-specific
data and services?
• Can you count clicks
and ad impressions in
NDN?
• Can you efficiently
route all those
names?
• Can you scale the
forwarding plane?
• Can you prove
security and privacy
properties?
Yes! Stay Tuned!
Goals of NDN Forwarding Research
• Develop fast, scalable NDN node prototypes
– Fast: 1 Gbps+ in SW, 10 Gbps+ in HW
– Scalable: Many names, Names of arb. length
• Help inform NDN protocol design
– “If you do X, then it won’t be fast/scalable”
• Compare favorably with the competition
Why is this an issue?
IPv4 NDN
Forwarding key Address Name
Key length 32 bits Variable, no bound
Forwarding rules LPM LPM
Rule length <=32 bits Variable, no bound
Per-packet READ Yes Yes
Per-packet WRITE No Yes
NDN forwarding requires lookups of variable-length
names in large prefix tables that must support per-
packet updates.
Papers (with Haowei & Tian)
• Comparing NDN to HTTP – Performance Measurement of Name-Centric Content Distribution
Methods (ANCS 2011)
– Experimental Evaluation of Content Distribution with NDN and HTTP (INFOCOM 2013)
• Scalable NDN Forwarding – Scalable NDN Forwarding: Concepts, Issues and Principles (Best
paper award, ICCCN 2012)
• Named-based LPM – Scalable Name-Based Packet Forwarding: From Millions to
Billions (in review, SIGCOMM 2013)
Demo Context
• First presented at GENI Engineering Conference (Los Angeles, 14 Mar 2012)
– Emerging Networks Consortium Meeting, Palo Alto (4/12)
– CCNx Community Day, Inria, FR (9/12)
– Dagstuhl Information-Centric Networking Seminar (9/12)
• Full video is available
– ~32 minutes, 150MB
– http://www.arl.wustl.edu/~pcrowley/NDN_GEC13_demo.mp4
NDN Live Demonstration Goals
Demo Feature Realization
Large-scale, wide-area operation All 4 US time zones,
~300 machines
Mix of content distribution and interactive apps 4 distinct services
Visualization of both app-level and net-level activity Visualization Web
App
Demonstrate both steady-state and react-to-change
modes
Drop links during app
sessions
Something IP+HTTP cannot do Scalable video
streaming, multi-path
routing
Kansas
Houston
Salt Lake City Washington DC
Atlanta
NEU
WashU
UIUC
Memphis
ColoState
PARC
UCLA
UCI
CAIDA/UCSD Arizona
NDN Testbed Context
Between SPPs: I2, udp
SPPs and campuses: I2, udp
Campuses and clients: Internet, tcp
GENI SPPs in I2 PoPs
Campus NDN nodes
NDN clients on EC2
NDN Testbed & Live Visualization
NDN Gateway routers at 10 project sites GENI SPPs at I2 Pops
Client hosts homed
off gateway routers. 20-30
per router for demonstration
Link bandwidth (kb/s)
shown on interactive
monitoring map
On-site laptop homed
off UCLA gateway
Demo Phase 1: Interactive App
• Live interactive chat
Demo Phase 2: Video Streaming
• One client homed off each of 10 gateways
• Each client retrieving the same mpeg file
• Only one copy of data on any link
• Automatic multi-path route switching
• On-site client shows video delivery
Server load
constant as client
count grows
Demo Phase 3: Robo-Chat
• Each of 10 campus nodes had ~30 EC2 chat
clients
– Approx. 300 client machines
• All participate in one serverless chat room
• Robo-servers feed text into chat
Demo Phase 4: File Transfer
• Presentation laptop retrieves a file from
repository homed off WashU gateway
• Illustrates multi-path routing and strategy
layer
– Robust under link/route outage
– Reacts in the forwarding plane, not routing plane
– One, uninterrupted file transfer
Demo Phase 5: Live Audio/Video
• Delivery of live audio and video from studio
across town at UCLA
– Jeff Burke’s Center for Research in Engineering,
Media and Performance
• Server at studio homed off REMAP gateway
• Laptop on-site homed off UCLA gateway
How did we do it?
• Machines & Infrastructure – Mixture of machines we own and machines we rented
• Code: only project code was used – CCNx
– NDN team applications & tools
• Visualization & experiment scripts – All available at github.com
• Used Open Network Lab as development sandbox
Software at github.com
• NDN Map
– https://github.com/WU-ARL/ndnmap
– git clone https://WU-ARL@github.com/WU-ARL/ndnmap.git
• Robot-chat scripts
– https://github.com/WU-ARL/ndndemos
– git clone https://WU-ARL@github.com/WU-ARL/ndndemos.git
• Built demo in
ONL – ~100 nodes
• Once we
understood its
behavior, we
moved to wide-
area
• onl.wustl.edu
• Free for all to
use!
ONL-based Experimental Setup
Conclusion • NDN is a fun project, with many interesting
opportunities
• Interest from industry & academia is high, and
growing
• In 2013, we will demo bigger & better scenarios
pcrowley@wustl.edu