/
NFD Forwarding with NFD Forwarding with

NFD Forwarding with - PowerPoint Presentation

pasty-toler
pasty-toler . @pasty-toler
Follow
411 views
Uploaded On 2016-06-10

NFD Forwarding with - PPT Presentation

Nack Junxiao Shi 20150924 Overview A forwarder sends a Nack to its downstream in response to an Interest when it determines that no Data can be returned This document describes necessary changes to support ID: 356345

strategy nack face record nack strategy record face send amp field pipeline drop access multi duplicate nacked interest const

Share:

Link:

Embed:

Download Presentation from below link

Download Presentation The PPT/PDF document "NFD Forwarding with" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.


Presentation Transcript

Slide1

NFD Forwarding with Nack

Junxiao Shi,

2015-09-24Slide2

Overview

A forwarder sends a

Nack

to its downstream in response to an Interest when it determines that no Data can be returned.

This document describes necessary changes to support

Nack

.Slide3

API summary

f

orwarding

p

ipelines

void onIncomingNack(Face& face, const Nack& nack)// entered upon incoming NACKvoid onOutgoingNack(const Nack& nack, Face& outFace)// entered when strategy wants to send a NACKstrategy APIvirtual void afterReceiveNack(const Face& inFace, const Nack& nack, shared_ptr<fib::Entry> fibEntry, shared_ptr<pit::Entry> pitEntry)void sendNack(shared_ptr<pit::Entry> pitEntry, shared_ptr<Face> outFace, const NackHeader& header);PITNACKed field on out-record

short-term solution before #2000Slide4

Forwarding Pipelines

4

WARNING: does not support multi-access

faceSlide5

Interest Loop pipeline

Keep this simple for now: unconditionally send

Nack

-Duplicate when duplicate Nonce is detected.

Don't enter outgoing

Nack pipeline: in-record isn't inserted yet.In the future, strategy could be invoked, because duplicate Nonce may be multi-path arrival instead of loop.reason=Duplicatesend Nackis multi-access face?(drop)NYSlide6

Incoming Nack pipeline

PIT match

receive

Nack

trigger strategy: after receive

Nack(drop)mark out-record as NackedNhas out-record with correct Nonce?Y(drop)NY6is multi-access face?NY(drop)Slide7

Outgoing Nack

pipeline

send

Nack

strategy action: send

Nackerase in-recordhas in-record?(drop)NY7is multi-access face?NY(drop)Slide8

Nacked field in PIT out-record

A

Nacked

field is added to PIT out-record.

This field is cleared in Outgoing Interest pipeline.

This field is set to the reason code in Incoming Nack pipeline.The purpose of this field is to help forwarding strategy make decisions.8Slide9

StrategiesSlide10

Best Route strategy

after receive Interest trigger:

if the Interest is to be rejected, send

Nack-NoRoute

to the downstreamSlide11

Best Route strategy

after receive

Nack

trigger:

all out-records

Nacked => send Nacks to all downstreamsone out-record not Nacked, which is also a downstream => send Nack to this downstream (#3033 note-10)otherwise => continue waitingNackReason on outgoing Nack: least severeCongestion < Duplicate < NoRouteSlide12

Multicast strategy

TODO, should be similar to best-routeSlide13

Access strategy

TODO, should try alternate paths upon NACKSlide14

NCC strategy

NCC is designed to mimic

ccnd

0.7.2 which does not support network layer NACK. This strategy will keep unchanged.