Presentation is loading. Please wait.

Presentation is loading. Please wait.

Application Layer Overlays IS250 Spring 2010 John Chuang.

Similar presentations


Presentation on theme: "Application Layer Overlays IS250 Spring 2010 John Chuang."— Presentation transcript:

1 Application Layer Overlays IS250 Spring 2010 John Chuang

2 2  The Internet infrastructure, based on TCP/IP, provides: -Global reachability -Reliable end-to-end transport  Highly successful in supporting one-to-one (unicast) communication  But there are some limitations: -Difficult to deploy new network services (e.g., IP multicast, IP anycast, QoS, IPv6) -Lack of support for one-to-many (multicast) or even many-to- many (“peer-to-peer”) communication -End hosts have no control over what goes on in the network (e.g., no source routing or user-directed routing) Application Layer Overlay

3 John Chuang3 Application Layer Overlay  One strategy: build an overlay network at the application layer  End hosts gain control over topology formation, routing, to meet specific application needs  New applications and services can be deployed without changes to the TCP/IP infrastructure

4 John Chuang4 Overlay Networks  Logical topology  Self-organized  Dynamic  Application specific Application layer overlay Network layer

5 John Chuang5 Early Examples  Domain Name Service (DNS)  6bone: IPv6 over IPv4  Mbone: multicast over unicast IP  X-Bone http://www.mbone.cl.cam.ac.uk/mbone/mbone-small.gif http://graphics.stanford.edu/papers/mbone/morepix/world-6bone.jpeg

6 John Chuang6 Some Overlay Networks  Web Caching and Content Distribution Networks (CDNs)  Application Layer Multicast (ALM)  User Directed Routing -Anonymous Routing -Resilient overlay network  Peer-to-Peer (P2P) -Unstructured P2P: gnutella, FreeNet, kazaa,… -Structured P2P: Distributed Hash Tables (DHTs)

7 John Chuang7 Web Caching  Improves download latency, content availability by storing local copy of popular web objects  Web caches are L7 boxes web server client proxy cache network caches reverse proxy cache

8 John Chuang8 Content Delivery Networks  Clients are intelligently redirected to nearest CDN server to download publisher content  IP anycast (if it exists) could accomplish this easily…  In the absence of IP anycast, companies like Akamai constructs CDNs as application layer overlay networks web server client CDN servers

9 John Chuang9 publisher DNS publisher client Nearest replica Method 1: DNS Redirect Local DNS Step 1: client queries DNS for IP address of www.publisher.com; based on client’s IP address, reconfigured publisher DNS returns IP address of replica closest to client

10 John Chuang10 publisher DNS publisher client Nearest replica Method 1: DNS Redirect Local DNS Step 2: client contacts replica for object

11 John Chuang11 Local DNS publisher client CDN server Method 2: URL Redirect CDN DNS Step 1: client queries DNS for IP address of www.publisher.com

12 John Chuang12 Local DNS publisher client CDN server Method 2: URL Redirect CDN DNS Step 2: client contacts publisher; publisher returns HTML with embedded objects’ URLs pointing to best CDN server

13 John Chuang13 Local DNS publisher client CDN server Method 2: URL Redirect CDN DNS Step 3: client queries DNS for IP address of CDN server

14 John Chuang14 Local DNS publisher client CDN server Method 2: URL Redirect CDN DNS Step 4: client contacts CDN server; CDN server returns embedded objs

15 John Chuang15 Some Overlay Networks  Web Caching and Content Distribution Networks (CDNs)  Application Layer Multicast (ALM)  User Directed Routing -Anonymous Routing -Resilient overlay network  Peer-to-Peer (P2P) -Unstructured P2P: gnutella, FreeNet, kazaa,… -Structured P2P: Distributed Hash Tables (DHTs)

16 John Chuang16 IP Multicast  Network routers must implement IP Multicast to construct delivery tree and forward packets to multicast group receivers server client routers

17 John Chuang17 Application Layer Multicast  End hosts self-organize to construct multicast delivery tree; messages sent using IP unicast  Sacrifice some efficiency (latency stretch) for deployability  Various systems: ESM, Overcast, Promise, Scattercast, SplitStream, Yoid, … server client routers

18 John Chuang18 Some Overlay Networks  Web Caching and Content Distribution Networks (CDNs)  Application Layer Multicast (ALM)  User Directed Routing -Anonymous Routing -Resilient overlay network  Peer-to-Peer (P2P) -Unstructured P2P: gnutella, FreeNet, kazaa,… -Structured P2P: Distributed Hash Tables (DHTs)

19 John Chuang19 IP Source Route  IP source route allows end hosts to exercise some degree of route control  However, many ISPs turned off IP source routing option for security reasons server client routers default route IP source route

20 John Chuang20 User Directed Routing  Some applications would benefit from having some degree of control over route selection -Resiliency: e.g., resilient overlay network (RON), Detour -Anonymity: onion routing, MIX-nets, … server client routers

21 John Chuang21 Onion Routing  Application layer overlay for anonymous routing -Existence of communication between Alice and Bob not revealed to any 3rd party  Alice constructs onion where message is successively encrypted with keys of intermediate routing nodes  Each intermediate node ‘peels’ one layer of onion and forward to next node  Example system: Tor http://tor.eff.org/overview.html.en

22 John Chuang22 Some Overlay Networks  Web Caching and Content Distribution Networks (CDNs)  Application Layer Multicast (ALM)  User Directed Routing -Anonymous Routing -Resilient overlay network  Peer-to-Peer (P2P) -Unstructured P2P: gnutella, FreeNet, kazaa,… -Structured P2P: Distributed Hash Tables (DHTs)

23 John Chuang23 P2P  Self-organized overlay network to support distributed storage, search and retrieval of content -The killer-app: free music and movies  Individual peers contribute resources -Content -Network management (e.g., forwarding query messages)  Desirable properties: -Scalability -Performance (latency, recall) -Robustness -Anonymity, censorship-resistance  Design challenges: -Dynamic membership -Various forms of attacks -Free-riding behavior

24 John Chuang24 P2P File-Sharing Networks  1 st generation: centralized index -e.g., Napster  2 nd generation: decentralized indices -e.g., Gnutella v0.4, Freenet  3 rd generation: hierarchical -e.g., FastTrack (KaZaA, Grokster, Morpheus), eDonkey2000, Gnutella v0.6  4 th generation: -Structured topologies using DHTs, e.g., eMule, Overnet, BitTorrent -Parallel downloads, e.g., BitTorrent, Avalanche -Darknets, e.g., WASTE for small-scale “F2F” networks

25 John Chuang25 Napster  Maintains a centralized index that maps files to machines  How to find a file -Query the index system  return a list of peers that store the requested file -Transfer the file directly from peer(s)  Advantage: -Simplicity: easy to implement sophisticated search engines on top of the index system  Disadvantage: -Single point of failure A B C D E F m1 m2 m3 m4 m5 m6 m1 A m2 B m3 C m4 D m5 E m6 F E? m5 E? E Slide adapted from Ion Stoica, Nicolas Christin

26 John Chuang26 Gnutella (v0.4)  Flood the request  How to find a file: -Send request to all neighbors -Neighbors recursively propagate the request -Eventually a machine that has the file receives the request, and it sends back the answer  Advantages: -Totally decentralized, highly robust  Disadvantages: -The entire network can be swamped with a request -Can be alleviated using TTLs, but can then fail to locate files (and still high resource usage) A B C D E F m1 m2 m3 m4 m5 m6 E? E Assume: m1’s neighbors are m2 and m3; m3’s neighbors are m4 and m5;… Slide adapted from Ion Stoica, Nicolas Christin

27 John Chuang27 Hierarchical Networks  Use two-level hierarchy -Some nodes are elected as “super nodes” or “ultra-peers” -Each ultra-peer serves as centralized index for a portion of the network -If an ultra-peer does not know where to find an item, query is forwarded to other ultra-peers  Advantage: -Reduce the amount of network traffic compared to “naïve” flooding  Disadvantage: -Ultra-peers vulnerable to attacks -Potential convergence problems when ultra-peers leave abruptly  Used in FastTrack (KaZaA, Grokster, Morpheus), eDonkey2000, Gnutella v0.6 A B C D E F m1 m2 m3 m4 F? F Assume red nodes are ultra-peers Slide adapted from Ion Stoica, Nicolas Christin

28 John Chuang28 Structured Topologies  Gnutella and KaZaA topologies are unstructured -Neighbor selection largely random -No guarantee that a file can be located, even if it exists in the network  Distributed hash tables (DHTs) offer to solve this problem by constructing highly structured topologies

29 John Chuang29 Distributed Hash Table (DHT)  Applications: distributed search (e.g., p2p, CDNs, cooperative caching), application layer overlays for multicast, anycast, etc.  Similar to traditional hash table data structure, except data is stored in distributed peer nodes -Each node is analogous to a bucket in a hash table -Put(), Get() interface like a regular hash table: -put(id, item); -item = get(id);  Designed to scale to large numbers of nodes and to handle continual node arrivals, departures, or failures.  Various DHT designs: -CAN, Chord, Kademlia, Pastry, Tapestry, Viceroy, etc.

30 John Chuang30 DHT Example: Chord  Associate each node and item to a unique identifier in a one-dimensional space (0..2 m )  Each node x maintains a finger table -Fingers are neighbors -i-th entry in finger table is the first node that succeeds or equals x + 2 i  An item identified by id is stored on the successor node of id  Properties -Routing table size O(log(N)), where N is the total number of nodes -Guarantees that a file (if it exists) is found in O(log(N)) steps Slide adapted from Ion Stoica, Nicolas Christin

31 John Chuang31 Chord Example  Assume m = 3, i.e., an identifier space 0..7  Node n1:(1) joins 0 1 2 3 4 5 6 7 i id+2 i succ 0 2 1 1 3 1 2 5 1 Finger Table Slide adapted from Ion Stoica, Nicolas Christin

32 John Chuang32 Chord Example 0 1 2 3 4 5 6 7 i id+2 i succ 0 2 2 1 3 1 2 5 1 Finger Table i id+2 i succ 0 3 1 1 4 1 2 6 1 Finger Table  Assume m = 3, i.e., an identifier space 0..7  Node n1:(1) joins  Node n2:(2) joins Slide adapted from Ion Stoica, Nicolas Christin

33 John Chuang33 Chord Example 0 1 2 3 4 5 6 7 i id+2 i succ 0 2 2 1 3 6 2 5 6 Finger Table i id+2 i succ 0 3 6 1 4 6 2 6 6 Finger Table i id+2 i succ 0 1 1 1 2 2 2 4 6 Finger Table i id+2 i succ 0 7 0 1 0 0 2 2 2 Finger Table  Assume m = 3, i.e., an identifier space 0..7  Node n1:(1) joins  Node n2:(2) joins  Nodes n3:(0), n4:(6) join Slide adapted from Ion Stoica, Nicolas Christin

34 John Chuang34 Insertion  Items inserted: f1:(7), f2:(1) 0 1 2 3 4 5 6 7 i id+2 i succ 0 2 2 1 3 6 2 5 6 Finger Table i id+2 i succ 0 3 6 1 4 6 2 6 6 Finger Table i id+2 i succ 0 1 1 1 2 2 2 4 6 Finger Table 7 Items 1 i id+2 i succ 0 7 0 1 0 0 2 2 2 Finger Table Slide adapted from Ion Stoica, Nicolas Christin

35 John Chuang35 Query  Upon receiving a query for item id, a node -Checks if item is cached locally -If not, forwards the query to the largest node in its successor table that does not exceed id 0 1 2 3 4 5 6 7 i id+2 i succ 0 2 2 1 3 6 2 5 6 Finger Table i id+2 i succ 0 3 6 1 4 6 2 6 6 Finger Table i id+2 i succ 0 1 1 1 2 2 2 4 6 Finger Table 7 Items 1 i id+2 i succ 0 7 0 1 0 0 2 2 2 Finger Table query(7) Slide adapted from Ion Stoica, Nicolas Christin

36 John Chuang36 Summary  Difficult to deploy new network services at network layer  Response: build overlay network at the application layer -End hosts gain control over topology formation, routing, to meet specific application needs -New applications and services can be deployed without changes to the TCP/IP infrastructure  Many flavors of application layer overlay networks: -Web Caching and Content Distribution Networks (CDNs) -Application Layer Multicast (ALM) -Anonymous Routing (Tor) -Resilient overlay network (RON) -P2P file-sharing networks -Distributed Hash Tables (DHTs) -…


Download ppt "Application Layer Overlays IS250 Spring 2010 John Chuang."

Similar presentations


Ads by Google