Interest NACK Junxiao Shi, 2014-07-31 1. Introduction Interest NACK, aka "negative acknowledgement", is sent from upstream to downstream to inform that.

Slides:



Advertisements
Similar presentations
Universidade do Minho A Framework for Multi-Class Based Multicast Routing TNC 2002 Maria João Nicolau, António Costa, Alexandre Santos {joao, costa,
Advertisements

Neighbor Discovery for IPv6 Mangesh Kaushikkar. Overview Introduction Terminology Protocol Overview Message Formats Conceptual Model of a Host.
NDN in Local Area Networks Junxiao Shi The University of Arizona
Interest NACK Junxiao Shi, Introduction Interest NACK, aka "negative acknowledgement", is sent from upstream to downstream to inform that.
Congestion Control Created by M Bateman, A Ruddle & C Allison As part of the TCP View project.
Packet Leashes: Defense Against Wormhole Attacks Authors: Yih-Chun Hu (CMU), Adrian Perrig (CMU), David Johnson (Rice)
The Structure of Networks with emphasis on information and social networks T-214-SINE Summer 2011 Chapter 8 Ýmir Vigfússon.
Internet Networking Spring 2006 Tutorial 12 Web Caching Protocols ICP, CARP.
Internet Indirection Infrastructure Ion Stoica UC Berkeley.
MOBILITY SUPPORT IN IPv6
1 Spring Semester 2007, Dept. of Computer Science, Technion Internet Networking recitation #13 Web Caching Protocols ICP, CARP.
Internet Networking Spring 2002 Tutorial 13 Web Caching Protocols ICP, CARP.
Chapter 19 Binding Protocol Addresses (ARP) Chapter 20 IP Datagrams and Datagram Forwarding.
Delivery, Forwarding, and Routing
NFD forwarding pipelines Junxiao Shi,
NFD forwarding pipelines Junxiao Shi,
The Structure of Networks with emphasis on information and social networks T-214-SINE Summer 2011 Chapter 8 Ýmir Vigfússon.
Switching Techniques Student: Blidaru Catalina Elena.
Forwarding Hint in NFD Junxiao Shi,
Introduction to IT and Communications Technology Justin Champion C208 – 3292 Ethernet Switching CE
Adaptive flow control via Interest Aggregation in CCN by Dojun Byun, Byoung-joon, Myeong-Wuk Jang Samsung Electronics, Advanced Institute of Technology.
1 Multi-Protocol Label Switching (MPLS). 2 MPLS Overview A forwarding scheme designed to speed up IP packet forwarding (RFC 3031) Idea: use a fixed length.
Section 4 : The OSI Network Layer CSIS 479R Fall 1999 “Network +” George D. Hickman, CNI, CNE.
Dead Nonce List Junxiao Shi Bug 1953: persistent loop with short InterestLifetime A B C Interest Nonce=204 lifetime=150 delay=100 delay=20.
Common Devices Used In Computer Networks
Traffic Management - OpenFlow Switch on the NetFPGA platform Chun-Jen Chung( ) Sriram Gopinath( )
NDNLPv2 Junxiao Shi, Outline This document recalls the history of NDN link protocols, presents the format of NDNLPv2, describes its semantics,
Access Strategy Junxiao Shi, Problem 2.
NFD forwarding pipelines Junxiao Shi,
Concerns about designating the MAG as a Default Router James Kempf NETLMM Interim Sept. 27, 2006.
Quick-Start for TCP and IP draft-ietf-tsvwg-quickstart-02.txt A.Jain, S. Floyd, M. Allman, and P. Sarolahti TSVWG, March 2006 This and earlier presentations::
Multicast Routing Algorithms n Multicast routing n Flooding and Spanning Tree n Forward Shortest Path algorithm n Reversed Path Forwarding (RPF) algorithms.
University of the Western Cape Chapter 12: The Transport Layer.
Interest NACK Junxiao Shi, Introduction Interest NACK, aka "negative acknowledgement", is sent from upstream to downstream to inform that.
Sami Al-wakeel 1 Data Transmission and Computer Networks The Switching Networks.
Switching breaks up large collision domains into smaller ones Collision domain is a network segment with two or more devices sharing the same Introduction.
NFD forwarding pipelines Junxiao Shi,
1 Countering DoS Through Filtering Omar Bashir Communications Enabling Technologies
Bob Knowledge Plane -- Scaling of the WHY App Bob Braden, ISI 24 Sept 03.
NFD Permanent Face Junxiao Shi, Outline what is a permanent face necessity and benefit of having permanent faces guarantees provided by.
© 2008 Cisco Systems, Inc. All rights reserved.Cisco ConfidentialPresentation_ID 1 Chapter 6: Static Routing Routing and Switching Essentials.
William Stallings Data and Computer Communications
Multimedia & Mobile Communications Lab.
Duplicate Suppression on Multicast Face Junxiao Shi
Lecture 20 Page 1 Advanced Network Security Basic Approaches to DDoS Defense Advanced Network Security Peter Reiher August, 2014.
SIP working group IETF#70 Essential corrections Keith Drage.
Networking Named Content Van Jacobson, Diana K. Smetters, James D. Thornton, Michael F. Plass, Nicholas H. Briggs, Rebecca L. Braynard.
Chapter 24 Transport Control Protocol (TCP) Layer 4 protocol Responsible for reliable end-to-end transmission Provides illusion of reliable network to.
Introducing a New Concept in Networking Fluid Networking S. Wood Nov Copyright 2006 Modern Systems Research.
Firewalls A brief introduction to firewalls. What does a Firewall do? Firewalls are essential tools in managing and controlling network traffic Firewalls.
Data Communication 1 Frame Relay n X.25 l Provides extensive error checking and flow control l station-to-station checking at the data link layer l Error.
1 Switching and Forwarding Sections Connecting More Than Two Hosts Multi-access link: Ethernet, wireless –Single physical link, shared by multiple.
NFD forwarding pipelines Junxiao Shi,
NFD forwarding pipelines Junxiao Shi,
22.1 Network Layer Delivery, Forwarding, and Routing.
Improving Security Over Ipv6 Authentication Header Protocol using IP Traceback and TTL Devon Thomas, Alex Isaac, Majdi Alharthi, Ali Albatainah & Abdelshakour.
Protocols and layering Network protocols and software Layered protocol suites The OSI 7 layer model Common network design issues and solutions.
NFD forwarding pipelines Junxiao Shi,
Chapter 3 Part 1 Switching and Bridging
Data Link Layer Flow Control.
Topics discussed in this section:
Access Strategy Junxiao Shi,
Packet Leashes: Defense Against Wormhole Attacks
Packet Switching Datagram Approach Virtual Circuit Approach
NFD forwarding pipelines
Switching Techniques In large networks there might be multiple paths linking sender and receiver. Information may be switched as it travels through various.
Internet Networking recitation #12
Switching Techniques.
Lecture: Interconnection Networks
1 Multi-Protocol Label Switching (MPLS). 2 MPLS Overview A forwarding scheme designed to speed up IP packet forwarding (RFC 3031) Idea: use a fixed length.
Presentation transcript:

Interest NACK Junxiao Shi,

Introduction Interest NACK, aka "negative acknowledgement", is sent from upstream to downstream to inform that Data could not be retrieved in response to an Interest. Interest NACK is useful in forwarding strategy as a explicit signal, for congestion control and other purposes. This document is a proposal for including Interest NACK in NDN-TLV packet format, and in NFD forwarding pipelines. 2

Interest NACK vs Application NACK Interest NACK generated by network router to signal unavailability of Data on a certain router / path generated by producer app to signal unavailability of Data from this producer, but other producers may have the Data (topic of this proposal) Application NACK generated by producer app to indicate non- existence of Data, and other producers cannot have the Data signed by producer (not in this proposal) 3 for long-lived Interest: Interest accepted, will answer in 5 minutes – will this work?

Semantics 4

Interest NACK An Interest NACK is a packet sent by upstream to inform the downstream that Data cannot be retrieved or delivered in response to an Interest. An Interest NACK contains an Interest and a reason code. Minimally, Name + Selectors + reason code. Only Name + reason code is insufficient to match the PIT entry. 5

Interest in Interest NACK The Interest in an Interest NACK is the Interest that triggers the Interest NACK. After an Interest packet is forwarded from downstream to upstream, the upstream can either return a Data, or return an Interest NACK that contains this Interest. On each point to point link, with absence of packet loss, there is a flow balance between Interests vs Data + Interest NACKs. 6

Reason in Interest NACK The reason code in an Interest NACK indicates why the upstream wants to send an Interest NACK in response to the enclosed Interest. Commonly used reason codes include Duplicate, Congestion, NoData, Busy, etc (defined in this section) 7

Reason: Duplicate An Interest NACK with reason code Duplicate informs the downstream that the Interest is a duplicate, because the combination of Name and Nonce is previously seen by the upstream. This means either the Interest is looped, or the Interest has reached the upstream via another path. 8

Reason: Congestion An Interest NACK with reason code Congestion informs the downstream that there is a congestion on the forwarding path of the Interest. The congestion can occur on the link between downstream and upstream, or on the path from upstream toward the content source(s). The congestion can occur in either direction. 9

Reason: NoData An Interest NACK with reason code NoData informs the downstream that the upstream has no route to forward the Interest. 10

Reason: Busy An Interest NACK with reason code Busy informs the downstream that the Interest has reached a producer, but the producer is too busy to handle this Interest. 11

Possible extensions for Congestion and Busy Congestion and Busy reasons both request the downstream to send less Interests. The percentage of Interest rate to be decreased should be made explicit as an additional field in the Interest NACK packet. Multiple Interests should be aggregated in a single Interest NACK packet. 12

Interest NACK in a multi- access group Currently it's unclear who Interest NACK could operate in a network layer multi-access group. This proposal does not allow Interest NACKs to be transmitted on a multi-access face. but multi-access support is important: Laptop doesn't know whether an Ethernet outlet is point-to-point (L3 switch) or multi-access (HUB) In multi-access group, NACK is subject to suppression, similar to Data – NACK can wait longer than Data, and sending NACK is cancelled if either Data or NACK is sent by other participant. However, a node who wants to send NACK doesn't know how quick can Data be generated. Its knowledge is no better than the consumer, so we can just let the consumer wait the guessed timeout. 13

Packet Format 14

Option 1: new TLV 0 InterestNack ::= INTEREST-NACK-TYPE TLV-LENGTH Interest NackCode NackCode ::= NACK-CODE-TYPE TLV-LENGTH nonNegativeInteger 15

Option 1: new TLV 0 Advantage Processing path of Interest NACK is different from Interest or Data processing path. Having a different top-level type allows simpler classifier. A unique type ensures Interest NACKs won't confuse routers and apps that don't understand them. Drawback A new packet type is defined. 16

Option 2: Interest with extra field Interest ::= INTEREST-TYPE TLV-LENGTH Name Selectors? Nonce Scope? InterestLifetime? NackCode? When NackCode is present, it's an Interest NACK packet. When NackCode is omitted, it's an Interest packet. 17

Option 2: Interest with extra field Advantage On some platforms, it's probably more efficient to convert between Interest and Interest NACK. Drawback A router or app that doesn't understand Interest NACK may confuse this as an Interest, and return Data to the sender of this NACK Router won't return Data due to duplicate Nonce, but app might. For routers, merely sending back the Interest is a form of NACK – but there's no reason code. 18

Option 3: Data with new ContentType Interest NACK is represented as a Data. ContentType=NACK Name=/ /NACK/ / Alternatively, ContentType=NACK Name=/ payload=Selectors? NackCode Note: ContentType=NACK means Interest NACK here; in CCNx, it means Application NACK. 19

Option 3: Data with new ContentType Advantage If Data satisfies Interest, Flow balance between Interest and Data is maintained. Routers who don't understand Interest NACK can still forward them. Drawback This Data doesn't always satisfy Interest, due to Min/MaxSuffixComponen ts selectors Data may unexpectedly satisfy other Interests (with shorter Name) Apps who don't understand Interest NACK are confused 20

Option 4: Interest under separate prefix Interest NACK is encoded as an Interest toward downstream's prefix. /localhop/ /NACK/ / Data response is optional. 21

Option 4: Interest under separate prefix Advantage No new packet type. Routers and apps who don't understand Interest NACK are unaffected. Drawback If classified at network layer: Name-based classification is expensive. If processed by a control module: Dispatching to application layer control module is expensive. Data response is useless; not sending it violates flow balance. 22

The Choice Option 3 is eliminated first, because the Data cannot always satisfy Interest, thus its benefits cannot be achieved. Option 4 is also eliminated due to its overhead. Option 1 is preferred over option 2, because it allows easier packet classification of Interest NACK, which needs a processing path that is different from Interest or Data; it also won't confuse a router or app that does not understand Interest NACK. 23

Should Interest NACK be signed? A signed Interest NACK assures downstream that the NACK comes from the authentic upstream, given that the public key is pre-shared. Signing has significant computation cost that is unaffordable in forwarding plane. If Interest NACK is unsigned, what could malicious nodes gain? 24

Gain of malicious node on bogus NACK Interest NACK is a hop-by-hop message that says "I cannot retrieve this Data". On a point-to-point link, a malicious node gains nothing for sending bogus Interest NACK. If a malicious node sends a bogus Interest NACK, other nodes will send less Interests toward it. Suppose Interest NACK must be signed, the malicious node can achieve the same effect by not sending anything. Generally, the situation is unfavorable to the malicious node, because it stops the traffic flow into the malicious node. 25

Gain of malicious node on bogus NACK On a (link layer) multi-access media, a malicious node can waste network resource and cause congestions by sending bogus Interest NACK. A malicious node could send a bogus Interest NACK on behalf of current upstream; address spoofing is needed to appear as a legitimate upstream. This won't prevent the legitimate upstream from returning Data. That returned Data would also be accepted by the downstream. However, this bogus Interest NACK triggers the downstream to explore alternate paths, which increases network usage on alternate paths, and possibly cause congestion on those alternate paths. This problem can be fixed by standard techniques of preventing Ethernet/IP address spoofing, eg. port-MAC-IP binding. 26

Interest NACK is unsigned Signing has significant computation cost. A malicious node gains nothing by sending bogus Interest NACK on a point-to-point link. A malicious node can cause congestion by sending bogus Interest NACK on a link layer multi-access media, but this attack must be used together with address spoofing. Standard techniques against address spoofing can prevent this attack. Therefore, signing is unnecessary for Interest NACK. may not apply to multi-access group 27

Forwarding Pipelines WARNING: does not support multi-access group 28

Incoming NACK pipeline PIT match receive NACK trigger strategy: after receive NACK (drop) mark out-record as NACKed N has out- record? Y (drop) N Y 29

Outgoing NACK pipeline send NACK strategy action: send NACK mark in-record as NACKed has in- record? (drop) N Y 30

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. 31

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. 32