Overview of NFD Beichuan Zhang The University Of Arizona What is - - PowerPoint PPT Presentation

overview of nfd
SMART_READER_LITE
LIVE PREVIEW

Overview of NFD Beichuan Zhang The University Of Arizona What is - - PowerPoint PPT Presentation

Overview of NFD Beichuan Zhang The University Of Arizona What is NFD A new NDN Forwarder, implementing the NDN protocol. Apps, tools, routing, L i b r NFD a r y Links and Tunnels 1 Why NFD To support the new TLV packet format To


slide-1
SLIDE 1

Overview of NFD

Beichuan Zhang The University Of Arizona

slide-2
SLIDE 2

What is NFD

A new NDN Forwarder, implementing the NDN protocol.

1

Links and Tunnels NFD Apps, tools, routing, … L i b r a r y

slide-3
SLIDE 3

Why NFD

To support the new TLV packet format To facilitate research and experimentation

  • Modularity and extensibility
  • Allow easy experimentation with new protocol features,

algorithms, and applications

  • Reasonable performance

To provide free, open-source NDN implementation for the community

2

slide-4
SLIDE 4

Development Platform

Base

  • C++, waf build framework, Boost library

In-project library

  • ndn-cxx

Documentation

  • Doxygen for API documentation
  • Sphinx for overall documentation
  • Redmine Wiki for volatile docs and user-generated

documentation

3

slide-5
SLIDE 5

Development Model

Continuous Integration:

  • Redmine, Jenkins, Travis-CI

4

slide-6
SLIDE 6

Who did it

Credits to all NFD developers UCLA:

  • Alexander Afanasyev, Ilya Moiseenko, Yingdi Yu, Wentao Shang, Lixia Zhang

Arizona:

  • Junxiao Shi, Yi Huang, Jerald Abraham, Beichuan Zhang

Colorado State:

  • Steve DiBenedetto, Chengyu Fan, Christos Papadopoulos

WashU:

  • Haowei Yuan, Hila Ben Abraham, Patrick Crowley,

Memphis:

  • Syed Obaid Amin, Vince Lehman, Lan Wang

UPMC:

  • Davide Pesavento, Giulio Grassi, Giovanni Pau,

BIT:

  • Hang Zhang, Tian Song,

5

slide-7
SLIDE 7

Release Schedule

Initial public release (version 0.2.0)

  • On August 25th, 2014
  • Extensive documentation set, including NFD Developer’s

Guide.

  • Target platforms: OSX, Ubuntu
  • Known to work on: RedHat, Gentoo, FreeBSD, Raspberry Pi,

OpenWRT Future releases

  • ~ Every 3 months
  • Evolve together with the protocol spec.
  • New features, new platforms
  • Performance improvements

6

slide-8
SLIDE 8

Major Pieces

7

Core Management Forwarding Faces RIB Manager Tables: PIT, FIB, CS ndn- cxx library pipelines Strategies Tools

slide-9
SLIDE 9

Core

Hash computation routines

  • city hash

Basic logger

  • multiple log levels
  • log level can be configured for individual module

Configuration file

  • Boost INFO format

DNS resolver

  • async and sync resolution helpers

8

slide-10
SLIDE 10

Tables

In the initial release, mostly follow the CCNx 0.7 design

  • To ensure all functionality is there
  • But make it easier to adopt new designs in the future
  • Name Prefix Hash Table (NPHT) for combined PIT and FIB, plus

new Measurement and StrategyChoice tables.

  • SkipList for CS implementation

Notable changes

  • Distinct Measurements table to keep track strategy-specific

measurement information

  • StrategyChoice table to record per-namespace strategy choices
  • PIT and Measurement entries can store strategy-related

information

  • FIB is separated from RIB, and RIB management moved to a

separate process

9

slide-11
SLIDE 11

Faces

Face abstraction

  • Receive and send Interest and Data packets
  • Unicast vs. multicast
  • Local vs. remote

Initial release:

  • TCP, UDP, Unix socket, Ethernet, Websocket

10

slide-12
SLIDE 12

Forwarding

Packet processing is broken into a number of small “pipelines”

  • E.g., incoming Interest, Interest loop, outgoing Interest,

Interest reject, Interest unsatisfied, etc. A strategy provides a set of callback functions at different stages of packet processing

  • per namespace, local to the node, extended PIT/FIB

structures, new StrategyChoice and Measurements tables.

  • can be configured via management commands
  • Initial release: best route, broadcast, client control,

ccnx.

11

slide-13
SLIDE 13

Management

NFD provides APIs for authorized programs to configure and manage the forwarder

  • Interest/Data exchange

Face management

  • creation, destroy

Prefix and strategy management

  • Prefix registration
  • FIB add/remove/modify
  • Strategy selection

Status and statistics retrieval

12

slide-14
SLIDE 14

Tools

nfd-start/nfd-stop

  • Helpers to start/stop the forwarder

nfdc

  • change parameters at run time via management

interface nfd-status, nfd-status-http-server

  • Read status and statistics via management interface,

serve it as simple HTML page over HTTP Auto configuration

  • Use DHCP and DNS to find a local or remote gateway

13

slide-15
SLIDE 15

More information

http://named-data.net/doc/NFD/current/ Tutorial at ICN conference Feedbacks, suggestions, and contributions are welcome.

14