NFD forwarding pipelines Junxiao Shi 2014 01 29
- Slides: 19
NFD forwarding pipelines Junxiao Shi, 2014 -01 -29 1
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 2
Pipelines • incoming Interest • Interest loop • outgoing Interest • Interest rebuff • Interest unsatisfied • incoming Data • Data unsolicited • outgoing Data 3
Legend in diagrams pipeline building block strategy tables feature face feature 4
incoming Interest loop incoming Data unsolicited strategy API broadcast strategy original strategy best route strategy outgoing Interest rebuff Interest unsatisfied outgoing Data 5
incoming Interest pipeline Interest loop Y receive Interest PIT insert CS lookup Y outgoing Data detect loop insert In. Record appchosen nexthops ? Y FIB lookup foreach nexthop cancel unsatisfy & straggler timer dispatch to strategy outgoing Interest 6
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 7
dispatch incoming Interest to strategy • Given FIB entry and incoming Interest, determine which strategy should process this Interest, and trigger that strategy 8
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 9
outgoing Interest pipeline pick Interest insert Out. Record set PIT unsatisfy timer send Interest timer event Interest unsatisfied 10
pick outgoing Interest packet • Given PIT entry and nexthop, decide the guiders on the outgoing Interest • Nonce and Interest. Lifetime come from an In. Record with longest remaining lifetime, however In. Record with same Face as the nexthop cannot be used • Interest. Lifetime is carried from the original packet without deducting the time elapsed • Scope is the most relaxed among all unexpired In. Records • The last incoming Interest is picked • This is a simple choice until we understand the effect of guiders better 11
set PIT unsatisfy timer • Given PIT entry, set an unsatisfy timer which fires when Interest. Lifetime expires for all unexpired In. Records • When the unsatisfy timer fires, Interest unsatisfied pipeline is entered 12
Interest rebuff pipeline • Process an Interest that has been decided that it has nowhere to go set PIT straggler timer event PIT delete 13
Interest unsatisfied pipeline invoke PIT unsatisfied callback PIT delete 14
incoming Data pipeline receive Data PIT match Data unsolicited PIT delete timer event Y CS insert foreach cancel unsatisfy PIT entry & straggler timer invoke PIT satisfy callback mark PIT satisfied foreach pending downstream set PIT straggler timer outgoing Data 15
set PIT straggler timer • Given PIT entry, set a straggler timer which fires after a short time • Tstraggler = 100 ms • When the straggler timer fires, PIT entry is deleted • The purpose of retaining PIT entry for a short time is to facilitate loop detection and to collect measurement for non-fastest upstreams 16
Data unsolicited pipeline accept to cache? Y CS insert 17
outgoing Data pipeline traffic manager send Data 18
Pass-through traffic manager • Provide a traffic manager that does nothing and merely passes Data packet to the next step 19
- Updm pipelines
- Westwood pipelines
- Edge-to-core-to-cloud data pipelines
- Ammonia pipelines
- Pipelines
- Teppco pipeline map
- Good features to track
- Shi
- Ni hao ni jiao shenme mingzi
- Me katakana
- Qingkai shi
- August shi
- Dr margaret shi
- Emperor qin quotes
- How did shi huangdi deal with people who opposed him?
- Imperador qin shi huang
- Lim yun
- Provebs 16:18
- Unit 6 lesson 3
- Shi sheng ling