Named Data Networking – A Future Internet Architecture

Slides:



Advertisements
Similar presentations
Scalable Content-Addressable Network Lintao Liu
Advertisements

Scribe: A Large-Scale and Decentralized Application-Level Multicast Infrastructure Miguel Castro, Peter Druschel, Anne-Marie Kermarrec, and Antony L. T.
CMPE 150- Introduction to Computer Networks 1 CMPE 150 Fall 2005 Lecture 22 Introduction to Computer Networks.
Slide Set 15: IP Multicast. In this set What is multicasting ? Issues related to IP Multicast Section 4.4.
Internet Networking Spring 2002
1 Computer Networks Routing Algorithms. 2 IP Packet Delivery Two Processes are required to accomplish IP packet delivery: –Routing discovering and selecting.
Delivery, Forwarding, and Routing
EECC694 - Shaaban #1 lec #7 Spring The OSI Reference Model Network Layer.
DOMAIN NAME SYSTEM. Introduction  There are several applications that follow client server paradigm.  The client/server programs can be divided into.
1 CS 4396 Computer Networks Lab Dynamic Routing Protocols - II OSPF.
Chapter 22 Network Layer: Delivery, Forwarding, and Routing
DNS (Domain Name System) Protocol On the Internet, the DNS associates various sorts of information with domain names. A domain name is a meaningful and.
1 Computer Communication & Networks Lecture 22 Network Layer: Delivery, Forwarding, Routing (contd.)
Chapter 17 Domain Name System
Routing protocols Basic Routing Routing Information Protocol (RIP) Open Shortest Path First (OSPF)
Chapter 29 Domain Name System (DNS) Allows users to reference computer names via symbolic names translates symbolic host names into associated IP addresses.
Chord: A Scalable Peer-to-peer Lookup Protocol for Internet Applications Xiaozhou Li COS 461: Computer Networks (precept 04/06/12) Princeton University.
Chapter 22 Network Layer: Delivery, Forwarding, and Routing Part 5 Multicasting protocol.
© J. Liebeherr, All rights reserved 1 Multicast Routing.
Multimedia & Mobile Communications Lab.
Copyright 1999, S.D. Personick. All Rights Reserved. Telecommunications Networking II Lecture 34 Routing Algorithms Ref: Tanenbaum pp ;
1 Computer Communication & Networks Lecture 21 Network Layer: Delivery, Forwarding, Routing Waleed.
CS 6401 Overlay Networks Outline Overlay networks overview Routing overlays Resilient Overlay Networks Content Distribution Networks.
Routing Algorithms and IP Addressing Routing Algorithms must be ▪ Correctness ▪ Simplicity ▪ Robustness ▪ Stability ▪ Fairness ▪ Optimality.
LOOKING UP DATA IN P2P SYSTEMS Hari Balakrishnan M. Frans Kaashoek David Karger Robert Morris Ion Stoica MIT LCS.
Computer Networks22-1 Network Layer Delivery, Forwarding, and Routing.
1 Chapter 4: Internetworking (IP Routing) Dr. Rocky K. C. Chang 16 March 2004.
Multi-protocol Label Switching
Domain Name System: DNS To identify an entity, TCP/IP protocols use the IP address, which uniquely identifies the Connection of a host to the Internet.
1 Relates to Lab 4. This module covers link state routing and the Open Shortest Path First (OSPF) routing protocol. Dynamic Routing Protocols II OSPF.
+ Dynamic Routing Protocols 2 nd semester
1 Computer Networks Chapter 5. Network layer The network layer is concerned with getting packets from the source all the way to the destination. Getting.
Authors: Jiang Xie, Ian F. Akyildiz
Computer Networks Routing Algorithms.
Dynamic Routing Protocols II OSPF
Instructor Materials Chapter 5: Dynamic Routing
Chapter 25 Domain Name System.
Notes Onur Ascigil, Vasilis Sourlas, Ioannis Psaras, and George Pavlou
NDN (Named Data Networking)
(How the routers’ tables are filled in)
IMPLEMENTING NAME RESOLUTION USING DNS
ICMP ICMP – Internet Control Message Protocol
What Are Routers? Routers are an intermediate system at the network layer that is used to connect networks together based on a common network layer protocol.
Forwarding and Routing IP Packets
Routing Protocols and Concepts
Link-State Routing Protocols
CS4470 Computer Networking Protocols
Internet Networking recitation #4
Internet Networking recitation #12
Net 323: NETWORK Protocols
Net 323 D: Networks Protocols
Subject Name: Computer Communication Networks Subject Code: 10EC71
THE NETWORK LAYER.
Routing: Distance Vector Algorithm
Routing.
Chapter 5: Dynamic Routing
ECE 544 Protocol Design Project 2016
UNIT III ROUTING.
Routing in Packet Networks Shortest Path Routing
Link-State Routing Protocols
Switch controller: Routing
Link-State Routing Protocols
Delivery, Forwarding, and Routing of IP Packets
COMPUTER NETWORKS PRESENTATION
EE 122: Intra-domain routing: Distance Vector
Computer Networks Presentation
Dynamic Routing Protocols part3 B
Computer Networks Protocols
Routing.
Chapter 1 Introduction Networking Architecture Overview.
Presentation transcript:

Named Data Networking – A Future Internet Architecture Zilong Ye, Ph.D. zye5@calstatela.edu

Background: ICN basic (1) Information Centric Networking (ICN) basic concept A new Internet architecture (current Internet is based on IP) Value is on “what,” not “where” the contents are actually stored Named Data Networking (NDN) or Content-Centric Networking (CCN), are prominent representatives for ICN. Therefore, NDN/CCN will be used in the following pages. Communication is driven by “consumers of data”  PULL-based Packets: Interest and Data On-path/symmetric routing Data packets follow the same path as Interest packets (in reverse order) Data packets may be cached everywhere along the delivery path Copyright 2010 FUJITSU LIMITED

Background: ICN basic (2) Forwarding engine with 3 data structures [1]: Forwarding Information Base (FIB) : for forwarding Interest messages Pending Interest Table (PIT): stores all the Interests that a router has forwarded but not satisfied yet. Each PIT entry records the data name carried in the Internet, together with its incoming and outgoing interface(s). Content store (CS) for short term storage / Repo for long term storage (not shown In the left figure) Copyright 2010 FUJITSU LIMITED

Background: ICN basic (3) Forwarding Process: On Interest Packet [1] When an Interest packet arrives, an NDN router first checks the Content Store for matching data; if it exists the router returns the Data packet on the interface from which the Interest came. Otherwise the router looks up the name in its PIT, and if a matching entry exists, it simply records the incoming interface of this Interest in the PIT entry. In the absence of a matching PIT entry, the router will forward the Interest toward the data producer(s) based on information in the FIB. When a router receives Interests for the same name from multiple downstream nodes, it forwards only the first one upstream toward the data producer(s). The FIB itself is populated by a name-prefix based routing protocol, and can have multiple output interfaces for each prefix.

Background: ICN basic (4) Forwarding Process: On Data Packet [1] When a Data packet arrives, an NDN router finds the matching PIT entry and forwards the data to all downstream interfaces listed in that PIT entry. It then removes that PIT entry, and caches the Data in the Content Store. Data packets always take the reverse path of Interests, and, in the absence of packet losses, one Interest packet results in one Data packet on each link, providing flow balance.

NDN Routing Initial deployment: Long-term deployment: Practical Ideal Extend OSPF; Extend BGP; Long-term deployment: ISP-based aggregation: FIB size proportional to the number of ISPs; Similar to provider-assigned IP, but unbounded in size; How to map user-selected names to provider-assigned names; (in-direct routing) Name-based routing (direct routing) Hyperbolic routing in Name Space: Assuming routers can be assigned coordinates in a name-based metric space, they can compute the name-space distances between their directly connected neighbors and the destination name in the Interest packet; Practical Ideal Ref: Zhang et. al, “NDN Project”, 2010;

Scalability Issues The biggest routing table ICN routing Challenges 4*10^5 entries ICN routing 10^12 objects Challenges How to compress or aggregate? How to synchronize?

Scalable Routing Indirect routing using a name resolution system Use fast name resolution to obtain the locator Use the locator to forward packets Direct named-based routing Use the name of the object to forward packets

Indirect Routing

Domain Name System (DNS) Public database system for mapping (and reverse mapping) of domain names to IP addresses (); Four components: (1) Domain name space: define the name hierarchy and associate data to the leaf of hierarchy; (2) DNS protocol: fetch the requested information; (3) Name server: Store domain name space and respond to incoming queries; Authoritative name server; Caching name server; (4) Resolver: resolve questions with answers; Caching resolvers: iterative querying; Stub resolvers: recursive querying;

Domain Name System (DNS) Iterative query: Caching resolver; discover the existing mapping with minimal knowledge; Select one name server based on the referral; Terminate until resource record (RR) received or not exist; Recursive query; Stub resolver; Access to one or more caching resolver; Iterative on behalf of the stub resolver; Return RR exist or not;

Domain Name System (DNS) Scalable: Hierarchical structure: Root name server; Top Level Domain (TLD) name server; Second Level Domain (SLD) name server; Distributed properties: Replicate authoritative name servers all over the world; Achieve load balancing and failure resilience; Caching resolver: The caching resolver will return an answer if it has a cached version, prevent duplicate queries from reaching higher-layer name server;

NDN based DNS (NDNS) Namespace: DNS protocol: Name server: similar Lower case DNS protocol: Packet format; Do NOT need to send query to a specific name server; Name server: similar Resolver: Caching resolver towards less significant;

NDNS Iterative Query Challenges: NDNS: Request for data in root zone should be different from the request for SLD zone data; Requests from different end-users towards the root server asking for “.com” referrals should have the same name; NDNS: Instead of asking a name, ask for data in a specific zone; Each question to different zones is different, even for the same name domain; Each step of the iterative query progressively specializes the question;

Direct Routing

Map-and-Encap Routing

Map-and-Encap Routing

Aggregation Name-based aggregation Topology-based aggregation Divide the network into different clusters, based on (1) physical connection; (2) resource they can provide; (3) different domain; (4) different policy Perform the name aggregation in each cluster Form a hierarchical structure Notice: (1) Topology information is naturally used in routing; (2) Topology is naturally hierarchical and aggregatable

Hyperbolic Routing (Ideal)

Network Coordinate System ISP as anchor nodes; A new name/object can join the system by contacting or referring to a subset (at least two) of the existing nodes in the system, and calculate its coordinates; Scalable; Ref: F. Dabek. al, “Vivaldi: A Decentralized Network Coordinate System”, ACM SIGCOMM 2004;

Hyperbolic Routing in IP A mapping from routers to nodes in a hyperbolic space Each router is assigned a coordinate in a hyperbolic space; Each router only contains its own and its neighbors’ coordinate information, which is scalable; Greedy Forwarding (GF) algorithm: Interest packet contains the destination’s coordinate Calculate the distance from each neighbor to the destination using hyperbolic distance; Select the neighbor that is the closest to the destination for forwarding Interest packet; Terminate when (1) the current router is the closest or (2) the next neighbor is the same as one of the previous nodes; The hyperbolic routes are close to the shortest paths using Dijkstra algorithm in real topology; C: (1, 4) A: (1, 1) D: (3, 2) C D: (3, 2) B: (3, 1) C: (1, 4) D A: (1, 1) B: (3, 1) C: (1, 4) DD < AD B: (3, 1) A: (1, 1) D: (3, 2) A B BD < CD Interest: go to “D” (3, 2)

Benefits Highly scalable because each router only needs to store its own coordinate and its neighbors’ coordinates; Highly efficient because each router only needs to exchange their coordinates instead of link state; Very fast and simple computing in each router; Lead to an intelligent forwarding plane, which is consistent with UCLA’s ICN’14 paper “On the role of routing in NDN”;

Hyperbolic Routing in NDN World Name Router Router Coordinate How to get coordinate? How to embed: NMRH How to route: HGCN How to improve embed? How to improve route?

Challenges How to map routers to the hyperbolic space? [NMRH13] - F. Papadopoulos, C. Psomas, and D. Krioukov. Network Mapping by Replaying Hyperbolic Growth, IEEE/ACM Transactions on Networking, 2014. How accurate is hyperbolic routing? How to assess the accuracy (e.g., using which matrics)? [HGCN10] - D. Krioukov, F. Papadopoulos, M. Kitsak, A. Vahdat, and M. Boguna;. Hyperbolic Geometry of Complex Networks, Physical Review E, v. 82, p. 036106, Oct 2010. How to improve embed? How to improve routing? How to get the coordinate?

HyperMap Embedding Algorithm How to improve embed? NMRH (or HyperMap): Centralized; A decentralized algorithm similar to Vivaldi algorithm Only contact a subset of existing nodes in the system; Dynamic, scalable, robust; HyperMap Embedding Algorithm y O x Ref: F. Dabek. al, “Vivaldi: A Decentralized Network Coordinate System”, ACM SIGCOMM 2004;

How to improve embed? Hierarchical or multi-level coordinates: Each router is assigned with multiple coordinates, corresponding to different network level; AS-level coordinates for BGP routing; 2nd-level coordinates for IGP routing; 3rd-level or even more for more detailed routing; Hierarchical routing;

How to improve routing? Slope-based Forwarding (SF): Greedy Forwarding (GF): Forward the packet to the neighbor that is the closest to the destination; Limitation: all neighbors are farther to the destination than the current router. Slope-based Forwarding (SF): Forward the packet to the neighbor that has the smallest θ θ = ( 𝑦 𝑛 − 𝑦 𝑐 )/( 𝑥 𝑛 − 𝑥 𝑐 ) ( 𝑦 𝑑 − 𝑦 𝑐 )/( 𝑥 𝑑 − 𝑦 𝑐 ) GF A C SF θ1 B θ2 D Path distance: SF < GF because AB+BD < AC+CD SF: green interface because θ2< θ1 GF: red interface because CD < BD Interest: A  D

How to get coordinate? Use the NDNS; Pros: accurate; Extend the current NDNS to include coordinate information; object | routable prefix | coordinate The caching resolver send the iterative query to the NDNS and get the coordinate of the destination; Pros: accurate; Only when all the tokens can be resolved; Cons: long latency due to iterative query;

Hyperbolic Routing in NDN World Name Router Router Coordinate How to get coordinate? How to embed: NMRH How to route: HGCN How to improve embed? How to improve route? Name Coordinate Further thought: any possibility for hyperbolic route based on name, e.g., in a name space?

How to map name to coordinate directly? Use clustering algorithm to predict the coordinate The client side will track and maintain a history of data set of (object name, coordinate); Online clustering algorithm: Use k-means to find the cluster based on the name distance (Def: the minimum hops to convert name1 to name2); For an incoming name, find the first n clusters that it is likely belonging to; Use these clusters’ coordinate (or the most common coordinate among members of the cluster) to guide routing; Pros: low latency; Cons: not very accurate;

Mobility in ICN Mobility in consumer side: Mobility in producer side: Retransmit Interest; Usually efficient because of caching in NDN; Mobility in producer side: Update the routing table takes long; Interest pollution because the consumer do not know whether it is a failure or mobility issue; CCNx: replace IP; NDN: incremental;

Mobility Support in Content Centric Networks Direct exchange for location update: Both ends send their new name to the previous locations; A serious problem when both ends moves; Indirect exchange for location update: Query to the Rendezvous for location update; Rendezvous: A server that keeps track of the location information of all clients; Long delay;

Direct Exchange for Update Location Interest forwarding scheme: Do not require a new hierarchical name; Smaller handoff delay;

Indirect Exchange for Update Location NDN Mobility: Use NDNS to keep the mapping from stable identifier (content name) to locator (forwarding hint); First query the DNS and get the forwarding hint, then send the interest;