application layer overlays

36
Application Layer Overlays IS250 Spring 2010 John Chuang

Upload: belden

Post on 06-Jan-2016

24 views

Category:

Documents


4 download

DESCRIPTION

Application Layer Overlays. IS250 Spring 2010 John Chuang. Application Layer Overlay. The Internet infrastructure, based on TCP/IP, provides: Global reachability Reliable end-to-end transport Highly successful in supporting one-to-one (unicast) communication - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Application Layer Overlays

Application Layer Overlays

IS250Spring 2010

John Chuang

Page 2: Application Layer Overlays

John Chuang 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

Page 3: Application Layer Overlays

John Chuang 3

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

Page 4: Application Layer Overlays

John Chuang 4

Overlay Networks Logical topology Self-organized

Dynamic Application specific

Application layer overlay

Network layer

Page 5: Application Layer Overlays

John Chuang 5

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.gifhttp://graphics.stanford.edu/papers/mbone/morepix/world-6bone.jpeg

Page 6: Application Layer Overlays

John Chuang 6

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)

Page 7: Application Layer Overlays

John Chuang 7

Web Caching Improves download latency, content availability by storing local copy of popular web objects

Web caches are L7 boxes

web serverclient

proxycache

networkcaches

reverse proxycache

Page 8: Application Layer Overlays

John Chuang 8

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 serverclient

CDN servers

Page 9: Application Layer Overlays

John Chuang 9

publisher DNS

publisher

client

Nearestreplica

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 DNSreturns IP address of replica closest to client

Page 10: Application Layer Overlays

John Chuang 10

publisher DNS

publisher

client

Nearestreplica

Method 1: DNS Redirect

Local DNS

Step 2: client contacts replica for object

Page 11: Application Layer Overlays

John Chuang 11

Local DNS

publisher

client

CDN server

Method 2: URL Redirect

CDN DNS

Step 1: client queries DNS for IP address of www.publisher.com

Page 12: Application Layer Overlays

John Chuang 12

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

Page 13: Application Layer Overlays

John Chuang 13

Local DNS

publisher

client

CDN server

Method 2: URL Redirect

CDN DNS

Step 3: client queries DNS for IP address of CDN server

Page 14: Application Layer Overlays

John Chuang 14

Local DNS

publisher

client

CDN server

Method 2: URL Redirect

CDN DNS

Step 4: client contacts CDN server;CDN server returns embedded objs

Page 15: Application Layer Overlays

John Chuang 15

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)

Page 16: Application Layer Overlays

John Chuang 16

IP Multicast Network routers must implement IP Multicast to construct delivery tree and forward packets to multicast group receivers

serverclient

routers

Page 17: Application Layer Overlays

John Chuang 17

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, …

serverclient

routers

Page 18: Application Layer Overlays

John Chuang 18

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)

Page 19: Application Layer Overlays

John Chuang 19

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

serverclient

routers

default route

IP sourc

e

route

Page 20: Application Layer Overlays

John Chuang 20

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, …

serverclient

routers

Page 21: Application Layer Overlays

John Chuang 21

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

Page 22: Application Layer Overlays

John Chuang 22

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)

Page 23: Application Layer Overlays

John Chuang 23

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

Page 24: Application Layer Overlays

John Chuang 24

P2P File-Sharing Networks

1st generation: centralized index- e.g., Napster

2nd generation: decentralized indices- e.g., Gnutella v0.4, Freenet

3rd generation: hierarchical- e.g., FastTrack (KaZaA, Grokster, Morpheus), eDonkey2000, Gnutella v0.6

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

Page 25: Application Layer Overlays

John Chuang 25

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

AB

C

D

E

F

m1m2

m3

m4

m5

m6

m1 Am2 Bm3 Cm4 Dm5 Em6 F

E?

m5

E?E

Slide adapted from Ion Stoica, Nicolas Christin

Page 26: Application Layer Overlays

John Chuang 26

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)

AB

C

D

E

F

m1m2

m3

m4

m5

m6

E?

E?

E?E?

E

Assume: m1’s neighbors are m2 and m3; m3’s neighbors are m4 and m5;…

Slide adapted from Ion Stoica, Nicolas Christin

Page 27: Application Layer Overlays

John Chuang 27

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

EF

m1 m2

m3

m4

F?

F?

F?F

Assume red nodes are ultra-peers

Slide adapted from Ion Stoica, Nicolas Christin

Page 28: Application Layer Overlays

John Chuang 28

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

Page 29: Application Layer Overlays

John Chuang 29

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.

Page 30: Application Layer Overlays

John Chuang 30

DHT Example: Chord

Associate each node and item to a unique identifier in a one-dimensional space (0..2m)

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 + 2i

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

Page 31: Application Layer Overlays

John Chuang 31

Chord Example Assume m = 3, i.e., an identifier space 0..7

Node n1:(1) joins

01

2

34

5

6

7

i id+2i succ0 2 11 3 12 5 1

Finger Table

Slide adapted from Ion Stoica, Nicolas Christin

Page 32: Application Layer Overlays

John Chuang 32

Chord Example

01

2

34

5

6

7

i id+2i succ0 2 21 3 12 5 1

Finger Table

i id+2i succ0 3 11 4 12 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

Page 33: Application Layer Overlays

John Chuang 33

Chord Example

01

2

34

5

6

7

i id+2i succ0 2 21 3 62 5 6

Finger Table

i id+2i succ0 3 61 4 62 6 6

Finger Table

i id+2i succ0 1 11 2 22 4 6

Finger Table

i id+2i succ0 7 01 0 02 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

Page 34: Application Layer Overlays

John Chuang 34

Insertion

Items inserted: f1:(7), f2:(1)

01

2

34

5

6

7 i id+2i succ0 2 21 3 62 5 6

Finger Table

i id+2i succ0 3 61 4 62 6 6

Finger Table

i id+2i succ0 1 11 2 22 4 6

Finger Table

7

Items 1

Items

i id+2i succ0 7 01 0 02 2 2

Finger Table

Slide adapted from Ion Stoica, Nicolas Christin

Page 35: Application Layer Overlays

John Chuang 35

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

01

2

34

5

6

7 i id+2i succ0 2 21 3 62 5 6

Finger Table

i id+2i succ0 3 61 4 62 6 6

Finger Table

i id+2i succ0 1 11 2 22 4 6

Finger Table

7

Items 1

Items

i id+2i succ0 7 01 0 02 2 2

Finger Table

query(7)

Slide adapted from Ion Stoica, Nicolas Christin

Page 36: Application Layer Overlays

John Chuang 36

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