1 / 22

NFD forwarding pipelines

NFD forwarding pipelines. Junxiao Shi, 2014-01-27. Overview. Forwarding consists of pipelines and strategies Pipeline: a series of steps that operate on a packet or a PIT entry Strategy: a decision maker on whether, when, and where to forward an Interest. Pipelines. incoming Interest

xerxes
Download Presentation

NFD forwarding pipelines

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. NFD forwarding pipelines Junxiao Shi, 2014-01-27

  2. Overview • Forwarding consists of pipelines and strategies • Pipeline: a series of steps that operate on a packet or a PIT entry • Strategy: a decision maker on whether, when, and where to forward an Interest

  3. Pipelines • incoming Interest • Interest loop • outgoing Interest • Interest rebuff • Interest unsatisfied • incoming Data • Data unsolicited • outgoing Data • PIT delete

  4. Legend in diagrams pipeline building block strategy tables feature face feature

  5. incoming Interest outgoing Interest Interest unsatisfied Interest loop Interest rebuff strategy API broadcast strategy original strategy best route strategy incoming Data outgoing Data Data unsolicited PIT delete

  6. incoming Interest pipeline Interest loop Y detect loop insert InRecord cancel unsatisfy / straggler timers receive Interest PIT insert CS lookup app-chosen nexthops? FIB lookup dispatch to strategy Y Y foreach nexthop outgoing Data outgoing Interest

  7. forward according to app-chosen nexthops • Given incoming Interest, if its local control header contains nexthops chosen by application, forward to these nexthops • Strategy is not used; outgoing Interest pipeline is still used

  8. dispatch incoming Interest to strategy • Given FIB entry and incoming Interest, determine which strategy should process this Interest, and trigger that strategy

  9. outgoing Interest pipeline set PIT unsatisfy timer send Interest pick Interest insert OutRecord timer event Interest unsatisfied

  10. pick outgoing Interest packet • Given PIT entry and nexthop, decide the guiders onthe outgoing Interest • Nonce and InterestLifetimecome from an InRecord with longest remaining lifetime, however InRecord with same Face as the nexthop cannot be used • InterestLifetime is carried from the original packet without deducting the time elapsed • Scope is the most relaxed among all unexpired InRecords

  11. Interest rebuff pipeline • Process an Interest that has been decided that it has nowhere to go set PIT unsatisfy timer timer event Interest unsatisfied

  12. Interest loop pipeline • Process an Interest that has been considered looped • This pipeline is currently empty, which means Interest packet is dropped. NACK support could be added here

  13. Interest unsatisfied pipeline invoke PIT unsatisfied callback cancel strategy timers PIT delete

  14. incoming Data pipeline receive Data PIT match Data unsolicited PIT delete timer event Y foreach PIT entry CS insert cancel unsatisfy / straggler timers mark PIT satisfied set PIT straggler timer foreach pending downstream outgoing Data invoke PIT satisfy callback

  15. outgoing Data pipeline traffic manager send Data

  16. Pass-through traffic manager • Goal: provide a traffic manager that does nothing and merely passes Data packet to the next step

  17. Data unsolicited pipeline accept to cache? Y CS insert

  18. PIT delete pipeline cancel strategy timers PIT delete

  19. strategy API • Provide APIs between strategy and other parts of forwarder • triggers: call into strategy • actions: call from strategy • attributes: information exposed to strategy

  20. broadcast strategy • Provide a strategy that sends Interest to all nexthops in FIB entry

  21. original strategy • Provide a strategy that sends Interest to the fastest nexthop in FIB entry, and use incremental adjustment to determine RTO • aka ccnd strategy

  22. best route strategy • Provide a strategy that sends Interest to the first nexthopin FIB entry

More Related