Named Data Networking Writing NDN Applications and Forwarding Strategies 1 Outline • Part 1: “Hello World” application with PyNDN2 • Part 2: Implementing a forwarding strategy 2 NDN Components Apps Routing Repo Libraries NFD Links and Tunnels 3 “Hello World” App Overview Route: /csu UCLA HUB CSU HUB Route: /csu/hello Route: / UCLA 1 UCLA 2 CSU 1 Route: /csu/hello Consumer Consumer Producer 4 Hello World Walkthrough 5 Outline • Part 1: “Hello World” application with PyNDN2 • Part 2: Implementing a new forwarding strategy 6 NDN Components Apps Routing Repo Libraries NFD Links and Tunnels 7 Forwarding Strategies • Closed control loop o Decision for Interest forwarding o Feedback when • Data arrives or Interest expires o Can store states. • One strategy per namespace o Local to the node o Configured via management commands Strategy callback After receive Interest Before expire Interest Strategy callbacks Before satisfy Interest 8 Random Load Balancer Route: /ucla UCLA HUB Route: /ucla/hello CSU HUB Route: /ucla/hello Route: / UCLA 1 UCLA 2 CSU 1 Producer Producer Consumer • Randomly select a nexthop • Stateless 9 Random Load Balancer Walkthrough 10 Delay-based Weighting UCLA HUB Route: /ucla/hello UCLA 1 Producer Delay: 2s Route: /ucla Route: /ucla/hello CSU HUB Route: / UCLA 2 CSU 1 Producer Consumer • Remember RTT from each next hop to bias future Interests towards faster paths 11 Weighted Load Balancer Walkthrough 12 Now what? • Implement the “Hello World” application and random load balancer strategy yourself • Download step-by-step guide and code: https://github.com/dibenede/ndn-tutorial-gec21 / (see README.md) • Extra credit: try extending “Hello World” and implementing the weighted load balancer o See README-ext.md 13
© Copyright 2025 Paperzz