/
NFD Forwarding with NACK NFD Forwarding with NACK

NFD Forwarding with NACK - PowerPoint Presentation

pasty-toler
pasty-toler . @pasty-toler
Follow
383 views
Uploaded On 2016-10-23

NFD Forwarding with NACK - PPT Presentation

Junxiao Shi 20150719 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 ID: 479607

record nack field strategy nack record strategy field pit pipeline amp nacked face send forwarding const duplicate outgoing interest entry ptr incoming

Share:

Link:

Embed:

Download Presentation from below link

Download Presentation The PPT/PDF document "NFD Forwarding with NACK" 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-07-19Slide2

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 in-record and out-record

short-term solution before #2000Slide4

Forwarding Pipelines

(copied from nack_20140731.pptx)

4

WARNING: does not support multi-access groupSlide5

Interest Loop pipeline

Keep this simple for now: unconditionally send NACK-Duplicate when duplicate Nonce is detected.

In the future, strategy could be invoked, because duplicate Nonce may be multi-path arrival instead of loop.

outgoing NACK

reason=DuplicateSlide6

Incoming NACK pipeline

PIT match

receive NACK

trigger strategy: after receive NACK

(drop)

mark out-record as NACKedNhas out-record?Y(drop)NY6Slide7

Outgoing NACK pipeline

send NACK

strategy action: send NACK

mark in-record as

NACKed

has in-record?(drop)NY7Slide8

NACKed field in PIT in-record

A

NACKed

field is added to PIT in-record.

This field is cleared in Incoming Interest pipeline.

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

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.9Slide10

StrategiesSlide11

Best Route strategy

after receive NACK trigger:

if any out-record in PIT entry is not yet

NACKed

, abort these steps

combine NackReasons remembered in all out-records (according to #3032 rules)send NACK to all downstreamsSlide12

Broadcast (or Multicast) strategy

TODO, should be similar to best-route

see #3011Slide13

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.