Presentation is loading. Please wait.

Presentation is loading. Please wait.

Named Data Networking – A Future Internet Architecture

Similar presentations


Presentation on theme: "Named Data Networking – A Future Internet Architecture"— Presentation transcript:

1 Named Data Networking – A Future Internet Architecture
Zilong Ye, Ph.D.

2 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

3 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

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

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

6 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;

7 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?

8 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

9 Indirect Routing

10 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;

11 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;

12 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;

13 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;

14 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;

15 Direct Routing

16 Map-and-Encap Routing

17 Map-and-Encap Routing

18 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

19 Hyperbolic Routing (Ideal)

20 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;

21 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)

22 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”;

23 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?

24 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 , Oct 2010. How to improve embed? How to improve routing? How to get the coordinate?

25 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;

26 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;

27 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

28 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;

29 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?

30 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;

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

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

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

34 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;


Download ppt "Named Data Networking – A Future Internet Architecture"

Similar presentations


Ads by Google