NFD forwarding pipelines Junxiao Shi, 2015-07-02 1.

Slides:



Advertisements
Similar presentations
IP Forwarding Relates to Lab 3.
Advertisements

Delivery and Forwarding of
Protocol Strategies.
Interest NACK Junxiao Shi, Introduction Interest NACK, aka "negative acknowledgement", is sent from upstream to downstream to inform that.
CPIT 102 CPIT 102 CHAPTER 1 COLLABORATING on DOCUMENTS.
Copyright 2008 Kenneth M. Chipps Ph.D. Cisco CCNA Exploration CCNA 2 Routing Protocols and Concepts Chapter 4 Distance Vector Routing Protocols.
© 2006 Cisco Systems, Inc. All rights reserved. MPLS v2.2—2-1 Label Assignment and Distribution Introducing Typical Label Distribution in Frame-Mode MPLS.
1 Spring Semester 2007, Dept. of Computer Science, Technion Internet Networking recitation #4 Mobile Ad-Hoc Networks AODV Routing.
4-1 Network layer r transport segment from sending to receiving host r on sending side encapsulates segments into datagrams r on rcving side, delivers.
CS335 Networking & Network Administration Tuesday, May 11, 2010.
IPv6 Mobility David Bush. Correspondent Node Operation DEF: Correspondent node is any node that is trying to communicate with a mobile node. This node.
Delivery, Forwarding, and Routing
TCP/IP Protocol Suite 1 Chapter 6 Upon completion you will be able to: Delivery, Forwarding, and Routing of IP Packets Understand the different types of.
NFD forwarding pipelines Junxiao Shi,
NFD forwarding pipelines Junxiao Shi,
1 IP Forwarding Relates to Lab 3. Covers the principles of end-to-end datagram delivery in IP networks.
TCP/IP Protocol Suite 1 Chapter 6 Upon completion you will be able to: Delivery, Forwarding, and Routing of IP Packets Understand the different types of.
Hash, Don’t Cache: Fast Packet Forwarding for Enterprise Edge Routers Minlan Yu Princeton University Joint work with Jennifer.
Computer Networks Layering and Routing Dina Katabi
Lecture Week 8 The Routing Table: A Closer Look
Forwarding Hint in NFD Junxiao Shi,
Route Selection in Cisco Routers. Route Selection One of the intriguing aspects of Cisco routers, especially for those new to routing, is how the router.
1 Internet Protocol: Forwarding IP Datagrams Chapter 7.
M. Menelaou CCNA2 DYNAMIC ROUTING. M. Menelaou DYNAMIC ROUTING Dynamic routing protocols can help simplify the life of a network administrator Routing.
© Janice Regan, CMPT 128, CMPT 371 Data Communications and Networking BGP, Flooding, Multicast routing.
Dead Nonce List Junxiao Shi Bug 1953: persistent loop with short InterestLifetime A B C Interest Nonce=204 lifetime=150 delay=100 delay=20.
1 IP Forwarding Relates to Lab 3. Covers the principles of end-to-end datagram delivery in IP networks.
Access Strategy Junxiao Shi, Problem 2.
NFD forwarding pipelines Junxiao Shi,
CMPT 471 Networking II Address Resolution IPv4 ARP RARP 1© Janice Regan, 2012.
Interest NACK Junxiao Shi, Introduction Interest NACK, aka "negative acknowledgement", is sent from upstream to downstream to inform that.
1 Network Layer Lecture 13 Imran Ahmed University of Management & Technology.
Chapter 6 Delivery and Forwarding of IP Packets
Authors: Haowei Yuan, Tian Song, and Patrick Crowley Publisher: ICCCN 2012 Presenter: Chai-Yi Chu Date: 2013/05/22 1.
Delivery, Forwarding, and Routing of IP Packets
The Routing Table Last Update Copyright Kenneth M. Chipps Ph.D.
Interest NACK Junxiao Shi, Introduction Interest NACK, aka "negative acknowledgement", is sent from upstream to downstream to inform that.
NFD Permanent Face Junxiao Shi, Outline what is a permanent face necessity and benefit of having permanent faces guarantees provided by.
NFD tables conceptual structure and algorithms Junxiao Shi,
CS 4396 Computer Networks Lab IP Multicast - Fundamentals.
Authors: Matteo Varvello, Diego Perino, and Leonardo Linguaglossa Publisher: NOMEN 2013 (The 2nd IEEE International Workshop on Emerging Design Choices.
AODV: Introduction Reference: C. E. Perkins, E. M. Royer, and S. R. Das, “Ad hoc On-Demand Distance Vector (AODV) Routing,” Internet Draft, draft-ietf-manet-aodv-08.txt,
NFD Tunnel Authentication Junxiao Shi,
Duplicate Suppression on Multicast Face Junxiao Shi
Routing and Routing Protocols
1 Version 3.1 Module 6 Routed & Routing Protocols.
A Framework for Reliable Routing in Mobile Ad Hoc Networks Zhenqiang Ye Srikanth V. Krishnamurthy Satish K. Tripathi.
Describe basic routing concepts. Routers Interconnect Networks Router is responsible for forwarding packets from network to network, from the original.
RIP Routing Protocol. 2 Routing Recall: There are two parts to routing IP packets: 1. How to pass a packet from an input interface to the output interface.
NFD forwarding pipelines Junxiao Shi,
NFD forwarding pipelines Junxiao Shi,
1 Group Communications: Reverse Path Multicast Dr. Rocky K. C. Chang 19 March, 2002.
1 An SDL Tutorial Two primary elements: –Structure –Identifies the various components of the system, and the communication paths among them. –Components:
Theory of Computation Automata Theory Dr. Ayman Srour.
Fast Forwarding for NDN Won So Ashok Narayanan Mark Stapp Cisco Systems IETF ICNRG, 31/7/2013, Berlin.
NFD forwarding pipelines Junxiao Shi,
Chapter 3 Part 1 Switching and Bridging
Access Strategy Junxiao Shi,
NFD forwarding pipelines
Chapter 6 Delivery & Forwarding of IP Packets
CS4470 Computer Networking Protocols
CCNA 2 v3.1 Module 6 Routing and Routing Protocols
Chapter 4: Access Control Lists (ACLs)
Improving the Freshness of NDN Forwarding States
Delivery and Routing of IP Packets
Delivery and Forwarding of
Chapter 3 Part 3 Switching and Bridging
Delivery, Forwarding, and Routing of IP Packets
Networking and Network Protocols (Part2)
IP Forwarding Relates to Lab 3.
Presentation transcript:

NFD forwarding pipelines Junxiao Shi,

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 2

Pipelines incoming Interest ContentStore miss ContentStore hit Interest loop outgoing Interest Interest reject Interest unsatisfied Interest finalize incoming Data Data unsolicited outgoing Data 3

Legend in diagrams 4 building block pipeline tables feature strategy face feature

5 incoming Interest incoming Data outgoing Interest outgoing Data strategy API ncc strategy broadcast strategy Interest reject Interest unsatisfied Interest loop best route strategy Data unsolicited Interest finalize ContentStore miss ContentStore hit access strategy

Pipelines Overall Workflow 6 incoming Interest incoming Data outgoing Interest outgoing Data after receive Interest Interest reject Interest unsatisfied Interest loop Data unsolicited before satisfy Interest before expire Interest unsatisfy timer straggler timer Interest finalize ContentStore miss ContentStore hit

incoming Interest pipeline 7 CS lookup PIT insert cancel unsatisfy & straggler timer Y receive Interest detect duplicate Nonce Interest loop Y is pending? Y violates /localhost? Y (drop) ContentStore miss ContentStore hit N N N N

detect duplicate Nonce If any InRecord or OutRecord contains the same Nonce as the incoming Interest, or the Name and Nonce of the incoming Interest appear in Dead Nonce List, a duplicate Nonce is detected. If the duplicate Nonce is found in InRecord only, this is a multi-path arrival, and not a loop. If the duplicate Nonce is found in OutRecord or Dead Nonce Table, this is either a multi-path arrival or a loop, and these two reasons are indistinguishable. Nonce is later recorded on an InRecord. 8

Interest loop pipeline Process an Interest that has been considered looped This pipeline is currently empty, which means Interest packet is dropped. NACK could be added here 9

ContentStore miss pipeline This pipeline is entered when an incoming Interest is pending (so ContentStore lookup is unnecessary), or is miss from ContentStore This pipeline will start forwarding the Interest 10

ContentStore miss pipeline 11 FIB lookup dispatch to strategy insert InRecord set PIT unsatisfy timer Interest unsatisfied timer event in producer region? has Selected Delegation ? FIB lookup with SelectedDelegation choose and set SelectedDelegation Y N N Y

set PIT unsatisfy timer Given PIT entry, set an unsatisfy timer which fires when InterestLifetime expires for all unexpired InRecords When the unsatisfy timer fires, Interest unsatisfied pipeline is entered 12

determine whether in producer region Input: routerName: the router's Name, from configuration interest Algorithm: 1.if the Interest does not have a Link object, return true and abort these steps 2.let delegationName be the first delegation Name in the Link object 3.if delegationName is a prefix of routerName, return true and abort these steps 4.let delegationName be the next delegation Name in the Link object, goto step 3 5.return false 13

FIB lookup with SelectedDelegation Given an Interest with Link object and SelectedDelegation, perform a FIB lookup using the delegation Name indexed by SelectedDelegation. 14

choose and set SelectedDelegation Input: interest, with Link but without SelectedDelegation Algorithm: 1.sort delegations by increasing Preference 2.let delegationName be the first delegation Name 3.lookup FIB with delegationName 4.if a match is found, insert SelectedDelegation field onto the Interest with the index of this delegation, return the match, and abort these steps 5.let delegationName be the next delegation Name, goto step 3 6.lookup FIB with Interest Name 15

16 outgoing Data set PIT straggler timer timer event Interest finalize ContentStore hit pipeline

dispatch incoming Interest to strategy Given FIB entry and incoming Interest, determine which strategy should process this Interest, and trigger that strategy 17

outgoing Interest pipeline 18 insert OutRecord pick Interest send Interest violates /localhost? Y (drop) violates /localhop? (drop) Y NN

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 The last incoming Interest is picked This is a simple choice until we understand the effect of guiders better 19

Interest reject pipeline Process an Interest that has been decided that it has nowhere to go 20 set PIT straggler timer timer event cancel unsatisfy & straggler timer Interest finalize

Interest unsatisfied pipeline 21 invoke PIT unsatisfied callback Interest finalize

Interest finalize pipeline 22 PIT delete Dead Nonce List insert need Dead Nonce List insert? Y N

Dead Nonce List insert Dead Nonce List insertion is needed if: Interest is unsatisified, OR Interest has MustBeFresh=yes and Data FreshnessPeriod is shorter than 6 seconds Nonces in OutRecords are inserted to Dead Nonce List. 23

incoming Data pipeline 24 PIT match receive Data Y CS insert outgoing Data cancel unsatisfy & straggler timer mark PIT satisfied set PIT straggler timer foreach PIT entry foreach pending downstream Data unsolicited timer event violates /localhost? Y (drop) invoke PIT satisfy callback Interest finalize Dead Nonce List insert need Dead Nonce List insert? Y N N N

set PIT straggler timer Given PIT entry, set a straggler timer which fires after a short time T straggler = 100ms When the straggler timer fires, PIT entry is deleted The purpose of retaining PIT entry for a short time is to facilitate loop detection and to collect measurement for non-fastest upstreams 25

Data unsolicited pipeline 26 accept to cache? Y CS insert N

outgoing Data pipeline 27 traffic managersend Data violates /localhost? Y (drop) N

Pass-through traffic manager Provide a traffic manager that does nothing and merely passes Data packet to the next step 28