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 3 AppsRoutingRepo NFD Links and Tunnels Libraries
“Hello World” App Overview 4 CSU HUB ProducerConsumer Route: /csu/hello UCLA HUB UCLA 1 UCLA 2 CSU 1 Consumer Route: /csu Route: /csu/hello Route: /
Hello World Walkthrough 5
Outline Part 1: “Hello World” application with PyNDN2 Part 2: Implementing a new forwarding strategy 6
NDN Components 7 AppsRoutingRepo NFD Links and Tunnels Libraries
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 8 After receive Interest Before satisfy Interest Before expire Interest Strategy callbacks Strategy callback
Random Load Balancer Randomly select a nexthop Stateless 9 CSU HUB ConsumerProducer UCLA HUB UCLA 1 UCLA 2 CSU 1 Producer Route: /ucla Route: / Route: /ucla/hello
Random Load Balancer Walkthrough 10
Delay-based Weighting Remember RTT from each next hop to bias future Interests towards faster paths 11 CSU HUB ConsumerProducer UCLA HUB UCLA 1 UCLA 2 CSU 1 Producer Route: /ucla Route: / Route: /ucla/hello Delay: 2s
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: / (see README.md) Extra credit: try extending “Hello World” and implementing the weighted load balancer o See README-ext.md 13