nfd forwarding pipelines

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

Upload: xerxes

Post on 23-Feb-2016

75 views

Category:

Documents


0 download

DESCRIPTION

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 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: NFD  forwarding pipelines

1

NFD forwarding pipelines

Junxiao Shi, 2014-01-27

Page 2: NFD  forwarding pipelines

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

Page 3: NFD  forwarding pipelines

3

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

Page 4: NFD  forwarding pipelines

4

Legend in diagrams

building block

pipeline

tables feature

strategy

face feature

Page 5: NFD  forwarding pipelines

5

incoming Interest

incoming Data

outgoing Interest

outgoing Data

strategy API

original strategy

broadcast strategy

Interest rebuff

Interest unsatisfied

Interest loop

PIT delete

best route strategy

Data unsolicited

Page 6: NFD  forwarding pipelines

6

incoming Interest pipeline

CS lookup

outgoing Data

PIT insert cancel unsatisfy / straggler timers

app-chosen

nexthops?

FIB lookup dispatch to strategy

outgoing Interest

Y Y

receive Interest detect loop

Interest loop

Y

insert InRecord

foreachnexthop

Page 7: NFD  forwarding pipelines

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

Page 8: NFD  forwarding pipelines

8

dispatch incoming Interest to strategy• Given FIB entry and incoming Interest, determine which strategy

should process this Interest, and trigger that strategy

Page 9: NFD  forwarding pipelines

9

outgoing Interest pipeline

insert OutRecordpick Interest send Interestset PIT

unsatisfy timer

Interest unsatisfied

timer event

Page 10: NFD  forwarding pipelines

10

pick outgoing Interest packet• Given PIT entry and nexthop, decide the guiders on the outgoing

Interest• Nonce and InterestLifetime come 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

Page 11: NFD  forwarding pipelines

11

Interest rebuff pipeline• Process an Interest that has been decided that it has nowhere to go

set PIT unsatisfy timer

Interest unsatisfied

timer event

Page 12: NFD  forwarding pipelines

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

Page 13: NFD  forwarding pipelines

13

Interest unsatisfied pipeline

invoke PIT unsatisfied callback

cancel strategy timers PIT delete

Page 14: NFD  forwarding pipelines

14

incoming Data pipeline

PIT match

receive Data

Y

CS insert

outgoing Data

invoke PIT satisfy callback

cancel unsatisfy / straggler timers

mark PIT satisfied

set PIT straggler timer

foreachPIT entry

foreachpendingdownstream

Data unsolicited PIT delete

timer event

Page 15: NFD  forwarding pipelines

15

outgoing Data pipeline

traffic manager send Data

Page 16: NFD  forwarding pipelines

16

Pass-through traffic manager• Goal: provide a traffic manager that does nothing and merely passes

Data packet to the next step

Page 17: NFD  forwarding pipelines

17

Data unsolicited pipeline

accept to cache?

Y

CS insert

Page 18: NFD  forwarding pipelines

18

PIT delete pipeline

cancel strategy timers PIT delete

Page 19: NFD  forwarding pipelines

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

Page 20: NFD  forwarding pipelines

20

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

Page 21: NFD  forwarding pipelines

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

Page 22: NFD  forwarding pipelines

22

best route strategy• Provide a strategy that sends Interest to the first nexthop in FIB entry