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

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

Embed Size (px)

Citation preview

Page 1: NFD forwarding pipelines Junxiao Shi, 2014-01-27 1

1

NFD forwarding pipelines

Junxiao Shi, 2014-01-27

Page 2: NFD forwarding pipelines Junxiao Shi, 2014-01-27 1

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 Junxiao Shi, 2014-01-27 1

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 Junxiao Shi, 2014-01-27 1

4

Legend in diagrams

building block

pipeline

tables feature

strategy

face feature

Page 5: NFD forwarding pipelines Junxiao Shi, 2014-01-27 1

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 Junxiao Shi, 2014-01-27 1

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 Interestdetect loop

Interest loop

Y

insert InRecord

foreachnexthop

Page 7: NFD forwarding pipelines Junxiao Shi, 2014-01-27 1

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 Junxiao Shi, 2014-01-27 1

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 Junxiao Shi, 2014-01-27 1

9

outgoing Interest pipeline

insert OutRecordpick Interest send Interestset PIT

unsatisfy timer

Interest unsatisfied

timer event

Page 10: NFD forwarding pipelines Junxiao Shi, 2014-01-27 1

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 Junxiao Shi, 2014-01-27 1

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 Junxiao Shi, 2014-01-27 1

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 Junxiao Shi, 2014-01-27 1

13

Interest unsatisfied pipeline

invoke PIT unsatisfied callback

cancel strategy timers PIT delete

Page 14: NFD forwarding pipelines Junxiao Shi, 2014-01-27 1

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 Junxiao Shi, 2014-01-27 1

15

outgoing Data pipeline

traffic manager send Data

Page 16: NFD forwarding pipelines Junxiao Shi, 2014-01-27 1

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 Junxiao Shi, 2014-01-27 1

17

Data unsolicited pipeline

accept to cache?

Y

CS insert

Page 18: NFD forwarding pipelines Junxiao Shi, 2014-01-27 1

18

PIT delete pipeline

cancel strategy timers PIT delete

Page 19: NFD forwarding pipelines Junxiao Shi, 2014-01-27 1

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 Junxiao Shi, 2014-01-27 1

20

broadcast strategy

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

Page 21: NFD forwarding pipelines Junxiao Shi, 2014-01-27 1

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 Junxiao Shi, 2014-01-27 1

22

best route strategy

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