ndn trace
play

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


  1. 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)

  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 2 ICN '17, Berlin, Germany

  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 3 ICN '17, Berlin, Germany

  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 4 ICN '17, Berlin, Germany

  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 5 ICN '17, Berlin, Germany

  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 6 ICN '17, Berlin, Germany

  7. NDN-Trace: operations Daemon I3 Client Daemon Daemon NFD 3 I3 I1 I1 I2 I2 I4 I3 Daemon NFD 1 NFD 2 I4 I4 NFD 4 Daemon D1 Client Daemon Daemon D1 NFD 3 D4 D4 D3 D3 D2 D1 Daemon NFD 1 NFD 2 D2 D2 NFD 4 7 ICN '17, Berlin, Germany

  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 8 ICN '17, Berlin, Germany

  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? 9 ICN '17, Berlin, Germany

  10. Backup slides 10 ICN '17, Berlin, Germany

  11. Measuring RTT 0 1 & ,1 ,2 -1 ! 3 ! 2 . /,12 . /,13 to/from -2 . 5,3 4 % /,12 ! 6 ! 7 ! 1 : time Interest arrives at trace daemon from NFD , 3 - 3 ! 2 : time Interest (for upstream) is sent to NFD ' = ! 2 - ! 1 % & 0 1 & ! 3 : time Data arrives at trace daemon from NFD , 2 - 2 ! 4 : time Data (for downstream) is sent to NFD * = ! 4 - ! 3 % & 11 ICN '17, Berlin, Germany

Recommend


More recommend