Upgrade to Pro — share decks privately, control downloads, hide ads and more …

αRoute: A Name Based Routing Scheme for Information Centric Networks

αRoute: A Name Based Routing Scheme for Information Centric Networks

One of the crucial building blocks for Information Centric Networking (ICN) is a name based routing scheme that can route directly on content names instead of IP addresses. However, moving the address space from IP addresses to content
names brings scalability issues to a whole new level, due to two reasons. First, name aggregation is not as trivial a task as the IP address aggregation in BGP routing. Second, the number of addressable contents in the Internet is several orders of magnitude higher than the number of IP addresses. With the current size of the Internet, name based, anycast routing is very challenging specially when routing efficiency is of prime importance. We propose a novel name-based routing scheme (αRoute) for ICN that offers efficient bandwidth usage, guaranteed content lookup
and scalable routing table size.

Shihabur Rahman Chowdhury

April 15, 2013
Tweet

More Decks by Shihabur Rahman Chowdhury

Other Decks in Research

Transcript

  1. Route: A Name Based Routing Scheme
    for Information Centric Networks
    Reaz Ahmed*, Md. Faizul Bari*, Shihabur R. Chowdhury*,
    Md. Golam Rabbani*, Raouf Boutaba*, and Bertrand Mathieu
    Presented By: Shihabur R. Chowdhury
    *David R. Cheriton School of Computer Science, University of Waterloo
    +Orange Labs

    View Slide

  2. Outline
    2
     Background
     Information Centric Networks (ICN)
     Challenges in ICN
     Contribution Summary
     Route DHT
     Partitioning
     Routing
     Mapping
     Content Lookup
     Conclusion

    View Slide

  3. Background
    3
     Information Centric Networking (ICN)
     Also known as “Content Centric or Content Based
    Networking”, “Named Data Networking” etc.
     Contents are communication endpoints rather than hosts
     Host to content binding is transparent to the end users
     Why ICN?
     Internet usage is becoming more “content oriented”
    rather than “host oriented”
     More video streaming traffic than ssh traffic
     Efficient content distribution is through ad-hoc patches
     CDN, P2P file sharing etc.
     Little knowledge about the underlying network

    View Slide

  4. Related Works
    4
     TRIAD proposed to avoid DNS lookup and use object
    names to route to object sources [2000]
     DONA improved on TRIAD and proposed a secure
    and hierarchical name based routing architecture
    [2007]
     Named Data Networking project at PARC initiated to
    develop a protocol specification for ICN [2009]
     A number of projects are working on different ICN
    architectures
     PSIRP, 4WARD, SAIL, COMET, PURSUIT, NetInf,
    CONVERGENCE

    View Slide

  5. Challenges in ICN
     Content Naming
     How to uniquely and securely assign identifiers to
    contents ?
     Routing
     How to route content request based on content names ?
     Routing Scalability
     Routing table size
     O(n) is very expensive, n ~ 1012 (even more).
     Content names are hard to aggregate
     Network traffic
     How to efficiently serve content requests ?
    5

    View Slide

  6. Contribution Summary
     We address the routing scalability issue in ICN
     We propose Route, a name based Distributed Hash
    Table (DHT) to route based on content names
     Route provides
     Logarithmic routing table size and content lookup hops
     We also propose an algorithm for mapping Route to
    a physical network
    6

    View Slide

  7. Route DHT
    7
     Three important issues in a DHT design
     How to partition the name (or key) space among the
    DHT nodes?
     How to route a get or put query between the DHT nodes?
     How to map a logical DHT overlay topology to the
    underlying physical network?

    View Slide

  8. Route: Partitioning
    {lord_of_the_rings.avi, book1.pdf, img_001.jpg, www.rocket.com….}
    8

    View Slide

  9. Route DHT: Partitioning (cont..)
     We treat the names as unordered set of
    alphanumeric characters
     book1.pdf => {b, o, k, 1, p, d, f}
     We build a partitioning tree
     Each level takes partitioning decisions based on
    presence/absence of a subset of characters
     The final partitions are mutually exclusive
    9

    View Slide

  10. Route: Partitioning (cont..)
     A subset of the alphabet, Si
    is assigned at each level i
     Example: Initially we have only one node and a partitioning set S1
    = {r,c}
    }
    ,
    {
    1
    c
    r
    S 
    10

    View Slide

  11. Route: Partitioning (cont..)
     There are possible character presence combination at each node at level i.
     Each character presence combination may form the edges to nodes in level
    i + 1
     The root has at most 22 = 4 children.
     We assign another partitioning set, S2
    = {e} to level 2 nodes.
    |
    |
    2 i
    S
    c
    r
    rc c
    r c
    r
    }
    {
    2
    e
    S 
    }
    ,
    {
    1
    c
    r
    S 
    11

    View Slide

  12. Route: Partitioning (cont..)
     Each node in level 2 has at most 21 = 2 children
     For S3
    = {k, t}, each node in level 2 will have at most 22 = 4 children
     And so on
    c
    r
    rc c
    r c
    r
    }
    ,
    {
    3
    t
    k
    S 
    }
    {
    2
    e
    S 
    }
    ,
    {
    1
    c
    r
    S 
    e e e e e e e e
    kt
    t
    k
    t
    k
    t
    k
    kt
    t
    k
    t
    k
    t
    k
    kt
    t
    k
    t
    k
    t
    k
    kt
    t
    k
    t
    k
    t
    k
    12

    View Slide

  13. Route: Partitioning (cont..)
     Leaf nodes are labeled with concatenation of all the labels on root to leaf path
     These concatenated labels represent a partition
     Labels of the leaf nodes are assigned to the DHT nodes
    c
    r
    }
    ,
    {
    3
    t
    k
    S 
    }
    {
    2
    e
    S 
    }
    ,
    {
    1
    c
    r
    S 
    e
    t
    k
    t
    k
    e
    c
    r
    13
    Names that have c and k but not r, e and t

    View Slide

  14. Route: Partitioning (cont..)
    Logical node
    Indexing node
    c
    r
    rc c
    r c
    r
    }
    ,
    {
    3
    t
    k
    S 
    }
    {
    2
    e
    S 
    }
    ,
    {
    1
    c
    r
    S 
    e e e e e e e e
    kt
    t
    k
    t
    k
    t
    k
    kt
    t
    k
    t
    k
    t
    k
    kt
    t
    k
    t
    k
    t
    k
    kt
    t
    k
    t
    k
    t
    k
    Responsible for names
    Matching the pattern
    t
    ek
    c
    r
    14

    View Slide

  15. Route: Routing
    t
    ek
    c
    r
    rocket.jpg does not
    Match pattern.
    Where to forward?
    15

    View Slide

  16. Route: Routing (cont..)
    2
    5 7
    6
    Logical node (no physical existence)
    Indexing node (DHT nodes)
    c
    r
    rc c
    r c
    r
    }
    ,
    {
    3
    t
    k
    S 
    }
    {
    2
    e
    S 
    }
    ,
    {
    1
    c
    r
    S 
    e e e e e e e e
    kt
    t
    k
    t
    k
    t
    k
    kt
    t
    k
    t
    k
    t
    k
    kt
    t
    k
    t
    k
    t
    k
    kt
    t
    k
    t
    k
    t
    k
    t
    k
    e
    c
    r 

    16
     Each node has a set of logical neighbors
     Neighbor list of a leaf node is determined by taking all possible
    character presence combination of each sub-label from root to node
    path
    t
    k
    e
    c
    r 
     t
    k
    e
    rc 

    t
    k
    e
    c
    r 

    t
    k
    e
    c
    r 

    t
    k
    e
    c
    r 

    kt
    e
    c
    r 

    t
    k
    e
    c
    r 

    t
    k
    e
    c
    r 

    t
    k
    e
    c
    r 

    t
    k
    e
    c
    r 

    View Slide

  17. Route: Routing (cont..)
    3
    4
    1
    2
    5 7
    6
    Logical node (no physical existence)
    Indexing node (DHT nodes)
    c
    r
    rc c
    r c
    r
    }
    ,
    {
    3
    t
    k
    S 
    }
    {
    2
    e
    S 
    }
    ,
    {
    1
    c
    r
    S 
    e e e e e e e e
    kt
    t
    k
    t
    k
    t
    k
    kt
    t
    k
    t
    k
    t
    k
    kt
    t
    k
    t
    k
    t
    k
    kt
    t
    k
    t
    k
    t
    k
    t
    k
    e
    c
    r 

    17
     If a leaf node corresponding to a pattern does not exist then select
    the leaf node having longest matched prefix with the pattern’s
    representative string
    t
    k
    e
    c
    r 
     t
    k
    e
    rc 

    t
    k
    e
    c
    r 

    t
    k
    e
    c
    r 

    t
    k
    e
    c
    r 

    kt
    e
    c
    r 

    t
    k
    e
    c
    r 

    t
    k
    e
    c
    r 

    t
    k
    e
    c
    r 

    t
    k
    e
    c
    r 

    View Slide

  18. Route: Routing (cont..)
    c
    r
    rc c
    r c
    r
    }
    ,
    {
    3
    t
    k
    S 
    }
    {
    2
    e
    S 
    }
    ,
    {
    1
    c
    r
    S 
    e e e e e e e e
    kt
    t
    k
    t
    k
    t
    k
    kt
    t
    k
    t
    k
    t
    k
    kt
    t
    k
    t
    k
    t
    k
    kt
    t
    k
    t
    k
    t
    k
    18
    Logical node
    Indexing node
    Logical link
    Physical link

    View Slide

  19. Route: Mapping
     Route DHT nodes have almost equal number of
    logical neighbors.
     i.e., overlay graph is regular
     Underlay graph is the Internet graph (AS level). It is
    reported to be power law distributed.
     Underlay graph nodes have tier ranking.
     Embedding a regular overlay graph on a power law
    distributed graph is hard.
    19

    View Slide

  20. Route: Mapping (cont..)
     Mapping Algorithm
     Initiated by a central naming authority, similar to ICANN
    in current Internet naming.
     The partition tree, T is initially grown based on some
    corpus.
     The partitioning sets at each level are selected based on
    character frequency in the corpus.
     The central authority assigns partitions to Tier-I ASs only.
    20

    View Slide

  21. Route : Mapping (cont..)
     Initially the tree is grown to support the number of Tier-I ASs only
     Partitions are assigned to Tier-I ASs along with possible next levels of extensions.
    21
    Tier-1
    Logical node
    Indexing node
    rc
    c
    r c
    r c
    r

    View Slide

  22. Route: Mapping (cont..)
     Tier-I ASs extend their partition with additional levels in the tree
     The extended partitions are assigned to Tier-II AS.
    22
    Tier-1
    Tier-2
    Logical node
    Indexing node
    rc
    c
    r c
    r c
    r
    t t t t t
    t

    View Slide

  23. Route: Mapping
    23
     Conflict Resolution
    t
    k
    e
    c
    r 
     kt
    e
    c
    r 

    t
    k
    e
    c
    r 
     t
    k
    e
    rc 

    View Slide

  24. Route: Content Lookup
    A node, n
    receives a
    content request
    The content name is
    transformed to
    matching pattern, p
    n forwards p to a node
    m, responsible for
    pattern q. Forwarding
    continues until
    destination is found or
    n looks up in routing
    table to find a pattern q
    that has longest prefix
    match with p
    m contains an
    index, indicating
    the content’s
    actual location
    Request is redirected
    to the content’s actual
    location
    24
    www.rocket.com rcekt
    p 
    n
    q
    p
    n
    q
    p
    Content is in r
    r

    View Slide

  25. Conclusion
     Routing in the Internet based on content name is
    challenging due to the large volume of contents
     Proposed Route, a name based DHT that can route
    using content names
     Route provides guaranteed content lookup using
    logarithmic size routing table
     Also proposed a mapping algorithm that maps the
    DHT to physical network and assigns loads to
    network elements proportionally to their capacity.
    25

    View Slide

  26. Questions?
    26

    View Slide

  27. Backup Slide
    27
    Logical node (no physical existence)
    Indexing node (DHT nodes)
    c
    r
    rc c
    r c
    r
    }
    ,
    {
    3
    t
    k
    S 
    }
    {
    2
    e
    S 
    }
    ,
    {
    1
    c
    r
    S 
    e e e e e e e e
    kt
    t
    k
    t
    k
    t
    k
    kt
    t
    k
    t
    k
    t
    k
    kt
    t
    k
    t
    k
    t
    k
    kt
    t
    k
    t
    k
    t
    k

    View Slide