NDN-Trace A A PATH TRA RACING UT UTILITY Y FOR R NDN NDN SIHAM - - PowerPoint PPT Presentation

ndn trace
SMART_READER_LITE
LIVE PREVIEW

NDN-Trace A A PATH TRA RACING UT UTILITY Y FOR R NDN NDN SIHAM - - PowerPoint PPT Presentation

NDN-Trace A A PATH TRA RACING UT UTILITY Y FOR R NDN NDN SIHAM KHOUSSI, DAVIDE PESAVENTO , LOTFI BENMOHAMED, ABDELLA BATTOU NATIONA NA ONAL L INS NSTITUTE OF OF STAND NDARDS DS AND ND TECHNOL NOLOG OGY (NI NIST) NDN vs IP IP


slide-1
SLIDE 1

NDN-Trace

A A PATH TRA RACING UT UTILITY Y FOR R NDN NDN

SIHAM KHOUSSI, DAVIDE PESAVENTO, LOTFI BENMOHAMED, ABDELLA BATTOU NA NATIONA ONAL L INS NSTITUTE OF OF STAND NDARDS DS AND ND TECHNOL NOLOG OGY (NI NIST)

slide-2
SLIDE 2

NDN vs IP

IP traceroute

  • Usually UDP or ICMP echo request
  • Leverages ICMP “Time Exceeded” error
  • Iterative process with gradually increasing TTL

Some NDN features make path tracing more challenging

  • Multiple paths
  • Forwarding strategies
  • Content store

ICN '17, Berlin, Germany

2

slide-3
SLIDE 3

NDN-Trace goals

1. Trace the path that an Interest for a given name would take

  • One Interest, one Data, one path
  • => single-path tracing

2. Explore path diversity in prefix reachability

  • => multi-path tracing

q Measure round-trip time q Tracing can terminate at a cache (CS) or at a content producer q Traced name can be anything q No packet format or forwarder modifications

ICN '17, Berlin, Germany

3

slide-4
SLIDE 4

Existing proposals

Contrace [draft-asaeda-icnrg-contrace-02] (2017)

  • Custom CCNx packets for trace request/reply
  • PIT entries are not consumed by returning data
  • No RTT to intermediate routers

ICN Traceroute [draft-mastorakis-icnrg-icntraceroute-01] (2017)

  • Iterative discovery with increasing HopLimit
  • Introduces PathSteering header
  • No mechanism that guarantees all paths are explored

Traceroute for NDN [shannigrahi-NDN-0055] (2017)

  • Similar approach
  • Does not measure RTTs
  • No distinction between single- and multi-path
  • Cannot trace content in caches

ICN '17, Berlin, Germany

4

slide-5
SLIDE 5

NDN-Trace: components

Client application

  • run by the user
  • sends the initial trace request
  • displays the discovered path(s) once the tracing session is completed

Trace daemon

  • processes trace requests and replies
  • registers the “/Trace” name prefix
  • measures RTT

Forwarding strategy

  • installed by the daemon for the “/Trace” prefix
  • handles trace request forwarding
  • performs Content Store lookups on behalf of the daemon

ICN '17, Berlin, Germany

5

slide-6
SLIDE 6

NDN-Trace: naming

/Trace/<P1>/<P2>/<NameToTrace>/<TraceNonce>/<FaceId>

  • P1: single- or multi-path tracing
  • P2: termination condition (application/cache/any)
  • TraceNonce: prevents aggregation of different tracing sessions in the same

PIT entry

  • FaceId: id of the outgoing Interest, used to steer the request toward a

specific next hop

ICN '17, Berlin, Germany

6

slide-7
SLIDE 7

NDN-Trace: operations

NFD 2 NFD 3

Client Daemon I1 Daemon

NFD 4

Daemon Daemon I2 I4 I3 I4 I3 I2 I1 I3 I4

NFD 1 NFD 2

Client Daemon D4 Daemon Daemon Daemon D3 D2 D1 D2 D1 D3 D4 D1

NFD 1

D2

NFD 3 NFD 4

ICN '17, Berlin, Germany

7

slide-8
SLIDE 8

NDN-Trace: the tool

Public-domain C++ implementation

  • Client program ndntrace
  • Trace daemon ndntraced
  • Uses ndn-cxx library version 0.5.1 (with one very minor modification)

We’re actively working on a second, improved version https://github.com/usnistgov/ndntrace

ICN '17, Berlin, Germany

8

slide-9
SLIDE 9

Discussion and future work

Get rid of the custom forwarding strategy

  • Add Content Store management API to NFD
  • Leverage NDNLP’s NextHopFaceId field

Effect of regular strategies on chosen path

  • An Interest for /P can be forwarded differently than /Trace/P
  • Integrate tracing capabilities into existing strategies
  • Composable strategies
  • Integrate tracing into the forwarder itself

Naming scheme vs. packet field for tracing

  • PathSteering TLVs, path labels, …
  • How to reliably explore different paths?

ICN '17, Berlin, Germany

9

slide-10
SLIDE 10

Backup slides

ICN '17, Berlin, Germany

10

slide-11
SLIDE 11

Measuring RTT

!1 : time Interest arrives at trace daemon from NFD !2 : time Interest (for upstream) is sent to NFD %&

' = !2 - !1

!3 : time Data arrives at trace daemon from NFD !4 : time Data (for downstream) is sent to NFD %&

* = !4 - !3

0 1 & ,1 ,2 -1 ./,12

to/from -2

./,13 %/,12

4

.5,3 !3 !2 !6 !7 &

,3

1

,2

  • 3
  • 2

ICN '17, Berlin, Germany

11