Download Hyperbolic Routing in NDN World

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Peering wikipedia , lookup

Computer network wikipedia , lookup

RapidIO wikipedia , lookup

Lag wikipedia , lookup

Zero-configuration networking wikipedia , lookup

Deep packet inspection wikipedia , lookup

Serial digital interface wikipedia , lookup

Wake-on-LAN wikipedia , lookup

Cracking of wireless networks wikipedia , lookup

Recursive InterNetwork Architecture (RINA) wikipedia , lookup

Multiprotocol Label Switching wikipedia , lookup

Airborne Networking wikipedia , lookup

UniPro protocol stack wikipedia , lookup

IEEE 1355 wikipedia , lookup

Routing wikipedia , lookup

Routing in delay-tolerant networking wikipedia , lookup

Transcript
Named Data Networking – A
Future Internet Architecture
Zilong Ye, Ph.D.
[email protected]
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
2
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)
3
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.
4
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.
5
NDN Routing
• Initial deployment:
– Extend OSPF;
– Extend BGP;
• Long-term deployment:
– ISP-based aggregation:
Practical
• 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; (indirect routing)
• Name-based routing (direct routing)
– Hyperbolic routing in Name Space:
Ideal
• 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;
Ref: Zhang et. al, “NDN Project”, 2010;
Scalability Issues
• The biggest routing table
– 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:
– 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:
– 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;
C
C: (1, 4)
A: (1, 1)
D: (3, 2)
• 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;
D: (3, 2)
B: (3, 1)
C: (1, 4)
D
A: (1, 1)
B: (3, 1)
C: (1, 4)
A
BD < CD
Interest:
go to “D” (3, 2)
DD < AD
B
B: (3, 1)
A: (1, 1)
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
How to get coordinate?
Router
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?
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?
• 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
Interest: A  D
GF: red interface because CD < BD
SF: green interface because θ2< θ1
Path distance: SF < GF because AB+BD < AC+CD
How to get coordinate?
• Use the NDNS;
– 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
How to get coordinate?
Router
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:
– 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;